@@ -5,9 +5,7 @@ import { Script, console } from "forge-std/Script.sol";
55import { PoolsNFT } from "src/PoolsNFT.sol " ;
66import { PoolsNFTLens } from "src/PoolsNFTLens.sol " ;
77import { GRETH } from "src/GRETH.sol " ;
8- import { GRAI} from "src/GRAI.sol " ;
98import { GrinderAI } from "src/GrinderAI.sol " ;
10- import { TransparentUpgradeableProxy } from "lib/openzeppelin-contracts/contracts/proxy/transparent/TransparentUpgradeableProxy.sol " ;
119import { Agent } from "src/Agent.sol " ;
1210import { AgentsNFT } from "src/AgentsNFT.sol " ;
1311import { RegistryArbitrum } from "src/registries/RegistryArbitrum.sol " ;
@@ -25,9 +23,11 @@ import { Strategy1FactoryArbitrum } from "src/strategies/arbitrum/strategy1/Stra
2523// $ forge script script/arbitrum/DeployArbitrum.s.sol:DeployArbitrumScript --slow --broadcast --verify --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY
2624
2725// Verify:
28- // $ forge verify-contract 0xfC7a86Ab7c0E48F26F3aEe7382eBc6fe313956Db src/PoolsNFT.sol:PoolsNFT --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY
26+ // $ forge verify-contract 0x2915F020C1eAF94dfaCa576914dA829231178a13 src/PoolsNFT.sol:PoolsNFT --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY
2927
30- // $ forge verify-contract 0xae4312A2E0D15550B0cD9889B2aF56a520589E53 src/GRETH.sol:GRETH --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY --constructor-args $(cast abi-encode "constructor(address,address)" "0xfC7a86Ab7c0E48F26F3aEe7382eBc6fe313956Db" "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1")
28+ // $ forge verify-contract 0x80140D46F7491C26d02938759D7Dc345e73080Ea src/PoolsNFTLens.sol:PoolsNFTLens --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY --constructor-args $(cast abi-encode "constructor(address)" "0x2915F020C1eAF94dfaCa576914dA829231178a13")
29+
30+ // $ forge verify-contract 0x5399084C72671555D7576E2A0842b250A7C05b92 src/GRETH.sol:GRETH --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY --constructor-args $(cast abi-encode "constructor(address,address)" "0x2915F020C1eAF94dfaCa576914dA829231178a13" "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1")
3131
3232// $ forge verify-contract 0x8BCC8B5Cd7e9E0138896A82E6Db7b55b283EbBcB src/registries/RegistryArbitrum.sol:RegistryArbitrum --chain-id 42161 --verifier-url "https://api.arbiscan.io/api" --etherscan-api-key $ARBITRUMSCAN_API_KEY --constructor-args $(cast abi-encode "constructor(address)" "0xfC7a86Ab7c0E48F26F3aEe7382eBc6fe313956Db")
3333
@@ -53,9 +53,7 @@ contract DeployArbitrumScript is Script {
5353
5454 GRETH public grETH;
5555
56- GRAI public grAI;
5756 GrinderAI public grinderAI;
58- TransparentUpgradeableProxy public proxyGrinderAI;
5957
6058 RegistryArbitrum public registry;
6159
@@ -79,14 +77,9 @@ contract DeployArbitrumScript is Script {
7977
8078 grETH = new GRETH (address (poolsNFT), wethArbitrum);
8179
82- grinderAI = new GrinderAI ();
83- grAI = new GRAI (lzEndpointArbitrum, address (grinderAI));
80+ grinderAI = new GrinderAI (address (poolsNFT));
8481
8582 poolsNFT.init (address (poolsNFTLens), address (grETH), address (grinderAI));
86- grinderAI.init (address (poolsNFT), address (grAI));
87-
88- agent = new Agent ();
89- agentsNFT = new AgentsNFT (address (poolsNFT), address (agent));
9083
9184 registry = new RegistryArbitrum (address (poolsNFT));
9285
@@ -95,18 +88,52 @@ contract DeployArbitrumScript is Script {
9588
9689 poolsNFT.setStrategyFactory (address (factory1));
9790
91+ // agent = new Agent();
92+ // agentsNFT = new AgentsNFT(address(poolsNFT), address(agent));
9893
9994 console.log ("PoolsNFT: " , address (poolsNFT));
10095 console.log ("PoolsNFTLens: " , address (poolsNFTLens));
10196 console.log ("GRETH: " , address (grETH));
10297 console.log ("GrinderAI: " , address (grinderAI));
103- console.log ("GRAI: " , address (grAI));
10498 console.log ("RegistryArbitrum: " , address (registry));
10599 console.log ("Strategy1: " , address (strategy1));
106100 console.log ("Strategy1Factory: " , address (factory1));
101+ // console.log("Agent: ", address(agent));
102+ // console.log("AgentsNFT: ", address(agentsNFT));
103+
104+ vm.stopBroadcast ();
105+ }
106+ }
107+
108+ // Test purposes:
109+ // $ forge script script/arbitrum/DeployArbitrum.s.sol:DeployAgentsArbitrumScript
110+
111+ // Mainnet deploy command: (without verification)
112+ // $ forge script script/arbitrum/DeployArbitrum.s.sol:DeployAgentsArbitrumScript --slow --broadcast
113+
114+ contract DeployAgentsArbitrumScript is Script {
115+
116+ PoolsNFT public poolsNFT = PoolsNFT (payable (address (0 )));
117+
118+ Agent public agent;
119+ AgentsNFT public agentsNFT;
120+
121+ function run () public {
122+ uint256 deployerPrivateKey = vm.envUint ("DEPLOYER_PRIVATE_KEY " );
123+
124+ address deployer = vm.addr (deployerPrivateKey);
125+ console.log ("Deployer: " , deployer);
126+
127+ vm.createSelectFork ("arbitrum " );
128+ vm.startBroadcast (deployerPrivateKey);
129+
130+ require (address (poolsNFT) != address (0 ), "NOT INSTANTIATED POOLSNFT " );
131+ agent = new Agent ();
132+ agentsNFT = new AgentsNFT (address (poolsNFT), address (agent));
133+
107134 console.log ("Agent: " , address (agent));
108135 console.log ("AgentsNFT: " , address (agentsNFT));
109-
136+
110137 vm.stopBroadcast ();
111138 }
112139}
0 commit comments