deployer touchup; deploy script
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
cache/
|
||||
out/
|
||||
.idea/
|
||||
.env
|
||||
|
||||
2
bin/deploy.sh
Executable file
2
bin/deploy.sh
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
forge script script/Deploy.sol --fork-url http://localhost:8545 --broadcast
|
||||
21
bin/reset.sh
Executable file
21
bin/reset.sh
Executable file
@@ -0,0 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
#cd ../server
|
||||
#pwd
|
||||
#db-migrate down
|
||||
#db-migrate up
|
||||
#cd ../contract
|
||||
|
||||
anvil -f arbitrum_ankr &
|
||||
ANVIL_PID=$!
|
||||
sleep 2
|
||||
forge script script/Deploy.sol --fork-url http://localhost:8545 --broadcast
|
||||
|
||||
trap_ctrlc() {
|
||||
echo
|
||||
kill $ANVIL_PID
|
||||
}
|
||||
|
||||
trap trap_ctrlc INT
|
||||
|
||||
# wait for all background processes to terminate
|
||||
wait
|
||||
@@ -18,3 +18,4 @@ gas_reports_ignore = []
|
||||
arbitrum_alchemy='https://arb-mainnet.g.alchemy.com/v2/L0eaUwWEoWzszCK9EhqHdl_p7VHStkaC'
|
||||
arbitrum_ankr='https://rpc.ankr.com/arbitrum/056ed471570655a3bb77cf31b9e3576658d63d2acb88911f84e7acaf211b55ac'
|
||||
arbitrum_publicnode='https://arbitrum-one.publicnode.com'
|
||||
arbitrum_quicknode='https://muddy-methodical-sheet.arbitrum-mainnet.discover.quiknode.pro/9e24248720b067953db96d462c8dd131a0a234b0/'
|
||||
|
||||
14
script/Deploy.sol
Normal file
14
script/Deploy.sol
Normal file
@@ -0,0 +1,14 @@
|
||||
// SPDX-License-Identifier: UNLICENSED
|
||||
pragma solidity =0.7.6;
|
||||
|
||||
import "forge-std/Script.sol";
|
||||
import "../src/VaultDeployer.sol";
|
||||
|
||||
contract Deploy is Script {
|
||||
function run() external {
|
||||
uint256 deployerPrivateKey = vm.envUint("PRIVATE_KEY");
|
||||
vm.startBroadcast(deployerPrivateKey);
|
||||
VaultDeployer deployer = new VaultDeployer{salt:keccak256(abi.encode(1))}();
|
||||
vm.stopBroadcast();
|
||||
}
|
||||
}
|
||||
@@ -10,11 +10,14 @@ contract VaultDeployer {
|
||||
address owner;
|
||||
}
|
||||
|
||||
event VaultCreated( address deployer, address owner );
|
||||
|
||||
Parameters public parameters;
|
||||
|
||||
function deployVault(address owner) public returns (address vault) {
|
||||
parameters = Parameters(owner);
|
||||
vault = address(new Vault{salt: keccak256(abi.encode(owner))}());
|
||||
delete parameters;
|
||||
emit VaultCreated( address(this), owner );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user