mirror of
https://github.com/lens-protocol/core.git
synced 2026-01-07 21:34:03 -05:00
misc: Deployed new BONSAI currency
This commit is contained in:
@@ -174,7 +174,7 @@
|
||||
},
|
||||
{
|
||||
"symbol": "BONSAI",
|
||||
"addy": "0x9f98f838e3db42830ef488a92c8ed9671268000e"
|
||||
"addy": "0x2549f9Bbccdc5a65DDCeA45eF91dC9BdE30697c2"
|
||||
}
|
||||
],
|
||||
"Modules": {
|
||||
|
||||
File diff suppressed because one or more lines are too long
66
broadcast/DeployMockCurrency.s.sol/80002/run-1715952534.json
Normal file
66
broadcast/DeployMockCurrency.s.sol/80002/run-1715952534.json
Normal file
File diff suppressed because one or more lines are too long
71
script/DeployMockCurrency.s.sol
Normal file
71
script/DeployMockCurrency.s.sol
Normal file
@@ -0,0 +1,71 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity ^0.8.13;
|
||||
|
||||
import {ForkManagement} from 'script/helpers/ForkManagement.sol';
|
||||
import 'forge-std/Script.sol';
|
||||
|
||||
import {MockCurrency} from 'script/mocks/MockCurrency.sol';
|
||||
|
||||
contract DeployMockCurrency is Script, ForkManagement {
|
||||
using stdJson for string;
|
||||
|
||||
struct LensAccount {
|
||||
uint256 ownerPk;
|
||||
address owner;
|
||||
uint256 profileId;
|
||||
}
|
||||
|
||||
LensAccount deployer;
|
||||
LensAccount governance;
|
||||
LensAccount proxyAdmin;
|
||||
|
||||
string mnemonic;
|
||||
|
||||
function loadPrivateKeys() internal {
|
||||
if (isEnvSet('MNEMONIC')) {
|
||||
mnemonic = vm.envString('MNEMONIC');
|
||||
}
|
||||
|
||||
if (bytes(mnemonic).length == 0) {
|
||||
revert('Missing mnemonic');
|
||||
}
|
||||
|
||||
console.log('\n');
|
||||
|
||||
(deployer.owner, deployer.ownerPk) = deriveRememberKey(mnemonic, 0);
|
||||
console.log('\n- - - DEPLOYER: %s', deployer.owner);
|
||||
console.log('\n- - - DEPLOYER PK: %s', deployer.ownerPk);
|
||||
(governance.owner, governance.ownerPk) = deriveRememberKey(mnemonic, 1);
|
||||
console.log('\n- - - GOVERNANCE: %s', governance.owner);
|
||||
console.log('\n- - - GOVERNANCE PK: %s', governance.ownerPk);
|
||||
(proxyAdmin.owner, proxyAdmin.ownerPk) = deriveRememberKey(mnemonic, 2);
|
||||
console.log('\n- - - PROXYADMIN: %s', proxyAdmin.owner);
|
||||
console.log('\n- - - PROXYADMIN PK: %s', proxyAdmin.ownerPk);
|
||||
|
||||
console.log('\n');
|
||||
|
||||
console.log('Current block:', block.number);
|
||||
}
|
||||
|
||||
function deploy() internal {
|
||||
console.log('Deploying...');
|
||||
|
||||
string memory name = 'Bonsai';
|
||||
string memory symbol = 'BONSAI';
|
||||
|
||||
vm.startBroadcast(deployer.ownerPk);
|
||||
address mockCurrency = address(new MockCurrency(name, symbol));
|
||||
vm.stopBroadcast();
|
||||
|
||||
console.log('Deployed MockCurrency(%s, %s) at: %s', name, symbol, mockCurrency);
|
||||
}
|
||||
|
||||
function run(string memory targetEnv_) external {
|
||||
targetEnv = targetEnv_;
|
||||
loadJson();
|
||||
checkNetworkParams();
|
||||
loadBaseAddresses();
|
||||
loadPrivateKeys();
|
||||
deploy();
|
||||
}
|
||||
}
|
||||
16
script/mocks/MockCurrency.sol
Normal file
16
script/mocks/MockCurrency.sol
Normal file
@@ -0,0 +1,16 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
pragma solidity ^0.8.15;
|
||||
|
||||
import {ERC20} from '@openzeppelin/contracts/token/ERC20/ERC20.sol';
|
||||
|
||||
/**
|
||||
* @dev A simple mock currency to be used for testnet mocks.
|
||||
*/
|
||||
contract MockCurrency is ERC20 {
|
||||
constructor(string memory name, string memory symbol) ERC20(name, symbol) {}
|
||||
|
||||
function mint(address to, uint256 amount) external {
|
||||
_mint(to, amount);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user