From 00646d7bdfb5b7f6ab682aa0a727f1b565ea2d0b Mon Sep 17 00:00:00 2001 From: sandybradley Date: Fri, 2 Aug 2024 22:00:05 +0200 Subject: [PATCH] feat: deploy --- script/FoldCaptiveStaking.s.sol | 25 +++++++++++++++++++++++++ script/deploy-fork.sh | 10 ++++++++++ script/deploy.sh | 12 ++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 script/FoldCaptiveStaking.s.sol create mode 100644 script/deploy-fork.sh create mode 100644 script/deploy.sh diff --git a/script/FoldCaptiveStaking.s.sol b/script/FoldCaptiveStaking.s.sol new file mode 100644 index 0000000..aa9a837 --- /dev/null +++ b/script/FoldCaptiveStaking.s.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.19; + +import "forge-std/Script.sol"; +import {FoldCaptiveStaking} from "src/FoldCaptiveStaking.sol"; + +contract FoldCaptiveStakingScript is Script { + INonfungiblePositionManager public positionManager = + INonfungiblePositionManager(0xC36442b4a4522E871399CD717aBDD847Ab11FE88); + IUniswapV3Pool public pool = IUniswapV3Pool(0x5eCEf3b72Cb00DBD8396EBAEC66E0f87E9596e97); + WETH public weth = WETH(payable(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2)); + ERC20 public fold = ERC20(0xd084944d3c05CD115C09d072B9F44bA3E0E45921); + + function run() public { + vm.startBroadcast(); + foldCaptiveStaking = + new FoldCaptiveStaking(address(positionManager), address(pool), address(weth), address(fold)); + + fold.transfer(address(foldCaptiveStaking), 1_000_000); + weth.transfer(address(foldCaptiveStaking), 1_000_000); + + foldCaptiveStaking.initialize(); + vm.stopBroadcast(); + } +} \ No newline at end of file diff --git a/script/deploy-fork.sh b/script/deploy-fork.sh new file mode 100644 index 0000000..7e23098 --- /dev/null +++ b/script/deploy-fork.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +source .env + +forge script script/FoldCaptiveStaking.s.sol:FoldCaptiveStakingScript \ + --chain-id 1 \ + --fork-url $RPC_MAINNET \ + --broadcast \ + --private-key $PRIVATE_KEY \ + -vvv \ No newline at end of file diff --git a/script/deploy.sh b/script/deploy.sh new file mode 100644 index 0000000..9217e69 --- /dev/null +++ b/script/deploy.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +source .env + +forge script script/FoldCaptiveStaking.s.sol:FoldCaptiveStakingScript \ + --chain-id 1 \ + --rpc-url $RPC_MAINNET \ + --broadcast \ + --private-key $PRIVATE_KEY \ + --verify \ + --etherscan-api-key $ETHERSCAN_API_KEY \ + -vvv \ No newline at end of file