From 44f17c14c1aba33a6869866a8a9b29ebb1d81b72 Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Fri, 1 Sep 2023 18:58:55 -0400 Subject: [PATCH] deployer touchup; deploy script --- .gitignore | 1 + bin/deploy.sh | 2 ++ bin/reset.sh | 21 +++++++++++++++++++++ foundry.toml | 1 + script/Deploy.sol | 14 ++++++++++++++ src/VaultDeployer.sol | 3 +++ 6 files changed, 42 insertions(+) create mode 100755 bin/deploy.sh create mode 100755 bin/reset.sh create mode 100644 script/Deploy.sol diff --git a/.gitignore b/.gitignore index 897b3d1..607e855 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ cache/ out/ .idea/ +.env diff --git a/bin/deploy.sh b/bin/deploy.sh new file mode 100755 index 0000000..e89ffdb --- /dev/null +++ b/bin/deploy.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash +forge script script/Deploy.sol --fork-url http://localhost:8545 --broadcast diff --git a/bin/reset.sh b/bin/reset.sh new file mode 100755 index 0000000..4e5d60d --- /dev/null +++ b/bin/reset.sh @@ -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 diff --git a/foundry.toml b/foundry.toml index 202ffde..16189a3 100644 --- a/foundry.toml +++ b/foundry.toml @@ -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/' diff --git a/script/Deploy.sol b/script/Deploy.sol new file mode 100644 index 0000000..68fcd84 --- /dev/null +++ b/script/Deploy.sol @@ -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(); + } +} diff --git a/src/VaultDeployer.sol b/src/VaultDeployer.sol index f91b52a..39d05ba 100644 --- a/src/VaultDeployer.sol +++ b/src/VaultDeployer.sol @@ -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 ); } }