# Testing with local networks
PR: https://github.com/w3hc/gov-crosschain/pull/8
## Deploy with Supersim
Install [supersim](https://docs.optimism.io/app-developers/tutorials/supersim/getting-started/installation) and:
```bash
supersim fork --chains=op,base --interop.enabled
```
Then in another terminal,
Deploy the factories to `op` (chain A) through [Safe Singleton Deployer](https://github.com/safe-global/safe-singleton-factory):
```bash
forge script script/DeployFactories.s.sol --rpc-url op --broadcast
```
Deploy the factories to `base` (chain B):
```bash
forge script script/DeployFactories.s.sol --rpc-url base --broadcast
```
> [!NOTE]
> **Anyone can deploy to any compatible network!** ;)
Now deploy a DAO to `op` through the factory contracts with OP as home chain:
```bash
forge script script/DeployDAO.s.sol --rpc-url op --broadcast
```
And deploy the DAO to `base`:
```bash
forge script script/DeployDAO.s.sol --rpc-url base --broadcast
```
Call propose on `op`:
```bash
forge script script/AddMemberProposal.s.sol --rpc-url op --broadcast
```
Then follow the instructions:
- Alice votes
- Bob votes
- We execute the proposal
- We verify if Francis is a DAO member on chain A
- We generate a proof on chain A
- We claim the proof on chain B
- We verify if Francis is a DAO member on chain B
## Terminal output
```
➜ forge script script/DeployFactories.s.sol --rpc-url op --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.
== Return ==
govFactoryAddress: address 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
nftFactoryAddress: address 0x6363e1D1075D001857D213641bceF6605E3400dd
== Logs ==
Deploying factories on chain ID: 10
Using Safe Singleton Factory at: 0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7
GovFactory creation code length: 23672 bytes
Expected GovFactory address: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
GovFactory deployed at: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
NFTFactory creation code length: 22003 bytes
Expected NFTFactory address: 0x6363e1D1075D001857D213641bceF6605E3400dd
NFTFactory deployed at: 0x6363e1D1075D001857D213641bceF6605E3400dd
Verifying NFTFactory setup:
NFTFactory's GovFactory reference: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Next steps:
1. Deploy these same factories on the other chain using the same command
2. Use 'DeployWithFactory.s.sol' to deploy your DAO contracts on both chains
3. Update DeployWithFactory.s.sol with these factory addresses:
govFactoryAddress = 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b;
nftFactoryAddress = 0x6363e1D1075D001857D213641bceF6605E3400dd;
## Setting up 1 EVM.
==========================
Chain 10
Estimated gas price: 0.000427845 gwei
Estimated total gas used for script: 14475548
Estimated amount required: 0.00000619329083406 ETH
==========================
##### optimism
✅ [Success] Hash: 0x8778dd3a826ded33cf312304d829ca5ece5f9c6b1029a23f3fe798264b5b074c
Block: 133949481
Paid: 0.000000962347298613 ETH (5141211 gas * 0.000187183 gwei)
##### optimism
✅ [Success] Hash: 0x0a5297d2621ea4acbfa99cffadbec0a88b59daeecbe95af2c2b51ab5412252c4
Block: 133949481
Paid: 0.000000890354844983 ETH (4756601 gas * 0.000187183 gwei)
✅ Sequence #1 on optimism | Total Paid: 0.000001852702143596 ETH (9897812 gas * avg 0.000187183 gwei)
==========================
ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
Transactions saved to: /Users/ju/gov-crosschain/broadcast/DeployFactories.s.sol/10/run-latest.json
Sensitive values saved to: /Users/ju/gov-crosschain/cache/DeployFactories.s.sol/10/run-latest.json
gov-crosschain took 12s
➜ forge script script/DeployFactories.s.sol --rpc-url base --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.
== Return ==
govFactoryAddress: address 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
nftFactoryAddress: address 0x6363e1D1075D001857D213641bceF6605E3400dd
== Logs ==
Deploying factories on chain ID: 8453
Using Safe Singleton Factory at: 0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7
GovFactory creation code length: 23672 bytes
Expected GovFactory address: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
GovFactory deployed at: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
NFTFactory creation code length: 22003 bytes
Expected NFTFactory address: 0x6363e1D1075D001857D213641bceF6605E3400dd
NFTFactory deployed at: 0x6363e1D1075D001857D213641bceF6605E3400dd
Verifying NFTFactory setup:
NFTFactory's GovFactory reference: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Next steps:
1. Deploy these same factories on the other chain using the same command
2. Use 'DeployWithFactory.s.sol' to deploy your DAO contracts on both chains
3. Update DeployWithFactory.s.sol with these factory addresses:
govFactoryAddress = 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b;
nftFactoryAddress = 0x6363e1D1075D001857D213641bceF6605E3400dd;
## Setting up 1 EVM.
==========================
Chain 8453
Estimated gas price: 0.002025447 gwei
Estimated total gas used for script: 14475548
Estimated amount required: 0.000029319455269956 ETH
==========================
##### base
✅ [Success] Hash: 0x47227e11797582c7220a83623c3a8d0354d3eb8f040b3e3d301da13f6384f11d
Block: 28354197
Paid: 0.000004214985870534 ETH (4756601 gas * 0.000886134 gwei)
##### base
✅ [Success] Hash: 0xa920b17eb8af51fbae27833095ca753f8971d02d516c0b69a6cf88da33942122
Block: 28354197
Paid: 0.000004555801868274 ETH (5141211 gas * 0.000886134 gwei)
✅ Sequence #1 on base | Total Paid: 0.000008770787738808 ETH (9897812 gas * avg 0.000886134 gwei)
==========================
ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
Transactions saved to: /Users/ju/gov-crosschain/broadcast/DeployFactories.s.sol/8453/run-latest.json
Sensitive values saved to: /Users/ju/gov-crosschain/cache/DeployFactories.s.sol/8453/run-latest.json
gov-crosschain took 7s
➜ forge script script/DeployDAO.s.sol --rpc-url op --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.
== Return ==
nftAddress: address 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
govAddress: address 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
== Logs ==
Deploying DAO on chain ID: 10
Using HOME_CHAIN_ID: 10
Using GovFactory at: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Using NFTFactory at: 0x6363e1D1075D001857D213641bceF6605E3400dd
Deploying NFT...
NFT deployed at: 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
NFT owner is now: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Deploying Gov...
Gov deployed at: 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
Verifying NFT ownership...
Verified: Gov is the owner of NFT
Checking initial membership...
Alice ( 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 ) is member: true
Bob ( 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 ) is member: true
Deployment complete!
Run the same script on the other chain to get the same contract addresses!
Next steps:
1. Create a proposal on the home chain
2. Vote on the proposal
3. Execute the proposal
4. Generate proof for cross-chain sync
5. Submit proof to the foreign chain
## Setting up 1 EVM.
==========================
Chain 10
Estimated gas price: 0.000300133 gwei
Estimated total gas used for script: 10895207
Estimated amount required: 0.000003270011162531 ETH
==========================
##### optimism
✅ [Success] Hash: 0xfb56c83347adbe4b9434ac001bc010be89e61b1092d4da6d14e1849894a51a86
Block: 133949484
Paid: 0.000000491838212395 ETH (3745655 gas * 0.000131309 gwei)
##### optimism
✅ [Success] Hash: 0x0f342c33100114fb9f73b49b7c1c221fe9d788620f50c8b9e3748ea58fcadeca
Block: 133949484
Paid: 0.000000543918513211 ETH (4142279 gas * 0.000131309 gwei)
✅ Sequence #1 on optimism | Total Paid: 0.000001035756725606 ETH (7887934 gas * avg 0.000131309 gwei)
==========================
ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
Transactions saved to: /Users/ju/gov-crosschain/broadcast/DeployDAO.s.sol/10/run-latest.json
Sensitive values saved to: /Users/ju/gov-crosschain/cache/DeployDAO.s.sol/10/run-latest.json
gov-crosschain took 7s
➜ forge script script/DeployDAO.s.sol --rpc-url base --broadcast
[⠊] Compiling...
No files changed, compilation skipped
Script ran successfully.
== Return ==
nftAddress: address 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
govAddress: address 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
== Logs ==
Deploying DAO on chain ID: 8453
Using HOME_CHAIN_ID: 10
Using GovFactory at: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Using NFTFactory at: 0x6363e1D1075D001857D213641bceF6605E3400dd
Deploying NFT...
NFT deployed at: 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
NFT owner is now: 0x1E319F2b9867f688f13Ae289f483608DA2d4b51b
Deploying Gov...
Gov deployed at: 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
Verifying NFT ownership...
Verified: Gov is the owner of NFT
Checking initial membership...
Alice ( 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266 ) is member: true
Bob ( 0x70997970C51812dc3A010C7d01b50e0d17dc79C8 ) is member: true
Deployment complete!
Run the same script on the other chain to get the same contract addresses!
Next steps:
1. Create a proposal on the home chain
2. Vote on the proposal
3. Execute the proposal
4. Generate proof for cross-chain sync
5. Submit proof to the foreign chain
## Setting up 1 EVM.
==========================
Chain 8453
Estimated gas price: 0.001388871 gwei
Estimated total gas used for script: 10895207
Estimated amount required: 0.000015132037041297 ETH
==========================
##### base
✅ [Success] Hash: 0x925aac131dcedece233d4aef9a7bb277f261fbe8700bfe15f7294acd104ddcc2
Block: 28354200
Paid: 0.00000227597983896 ETH (3745655 gas * 0.000607632 gwei)
##### base
✅ [Success] Hash: 0x4551dbdd9e9423cf1610186f463504e6d796f732e70c2e5b6167043f3ced9638
Block: 28354200
Paid: 0.000002516981273328 ETH (4142279 gas * 0.000607632 gwei)
✅ Sequence #1 on base | Total Paid: 0.000004792961112288 ETH (7887934 gas * avg 0.000607632 gwei)
==========================
ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
Transactions saved to: /Users/ju/gov-crosschain/broadcast/DeployDAO.s.sol/8453/run-latest.json
Sensitive values saved to: /Users/ju/gov-crosschain/cache/DeployDAO.s.sol/8453/run-latest.json
gov-crosschain took 7s
➜ forge script script/AddMemberProposal.s.sol --rpc-url op --broadcast
[⠊] Compiling...
[⠘] Compiling 1 files with Solc 0.8.28
[⠃] Solc 0.8.28 finished in 2.83s
Compiler run successful!
Script ran successfully.
== Logs ==
Optimism Chain
Gov contract address: 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
NFT contract address: 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
=== CREATING PROPOSAL ===
This will create a proposal to add Francis as a member
Alice has delegated voting power to herself
Proposal created with ID: 96613317904084573406050114379566824536792336715395034167747589873286263706475
Proposal description: Add Francis as member - Proposal #5586
Description hash: 0xa6ce1c3b86f6519775a5b578714d0ecf61748967828283920244a1007eb0c189
Current proposal state: Pending (0)
Current NFT total supply: 2
Expected token ID for Francis: 2
Next steps:
1. Wait for the voting delay to pass (current delay: 0 blocks)
2. Have Alice vote on the proposal with this command:
cast send --rpc-url op --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "castVote(uint256,uint8)" 96613317904084573406050114379566824536792336715395034167747589873286263706475 1
3. Have Bob vote with this command:
cast send --rpc-url op --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "castVote(uint256,uint8)" 96613317904084573406050114379566824536792336715395034167747589873286263706475 1
4. Wait for the voting period to end (30 blocks)
5. Execute the proposal with this command:
cast send --rpc-url op --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "execute(address[],uint256[],bytes[],bytes32)" "[0x725236fbb802Dab972875835dB7c2bF706A9e7eB]" "[0]" "[0xd204c45e0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000018697066733a2f2f516d4672616e636973546f6b656e5552490000000000000000]" 0xa6ce1c3b86f6519775a5b578714d0ecf61748967828283920244a1007eb0c189
=== CROSS-CHAIN STEPS ===
1. Verify Francis owns NFT on Optimism with this command:
cast call --rpc-url op 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "ownerOf(uint256)" 2
2. Verify Base chain contracts are working:
cast call --rpc-url base 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "supportsInterface(bytes4)" 0x80ac58cd
cast call --rpc-url base 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "manifesto()"
3. Generate mint proof from Optimism with this command:
cast call --rpc-url op 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "generateMintProof(uint256)" 2
4. Claim membership on Base with this command:
cast send --rpc-url base --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "claimMint(bytes)" 0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000e0c92a8ebf29438b5a6d7c3680e71d57c1768967f68d9d01458943f862fc8d0000000000000000000000000000000000000000000000000000000000000018697066733a2f2f516d4672616e636973546f6b656e5552490000000000000000
5. Verify Francis owns the NFT on Base with this command:
cast call --rpc-url base 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "balanceOf(address)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
## Setting up 1 EVM.
==========================
Chain 10
Estimated gas price: 0.000208621 gwei
Estimated total gas used for script: 175286
Estimated amount required: 0.000000036568340606 ETH
==========================
##### optimism
✅ [Success] Hash: 0x36356175ce881f3b89bf588f5effca33a34a9a8bc4dd5fe0c65199e3bb39ae8b
Block: 133949487
Paid: 0.00000000478361793 ETH (52410 gas * 0.000091273 gwei)
##### optimism
✅ [Success] Hash: 0x9fa71444c074d0f6b0bba2635230b9b1168a1a33b931e618b723d298926a0c4a
Block: 133949487
Paid: 0.000000006517987476 ETH (71412 gas * 0.000091273 gwei)
✅ Sequence #1 on optimism | Total Paid: 0.000000011301605406 ETH (123822 gas * avg 0.000091273 gwei)
==========================
ONCHAIN EXECUTION COMPLETE & SUCCESSFUL.
Transactions saved to: /Users/ju/gov-crosschain/broadcast/AddMemberProposal.s.sol/10/run-latest.json
Sensitive values saved to: /Users/ju/gov-crosschain/cache/AddMemberProposal.s.sol/10/run-latest.json
gov-crosschain took 13s
➜ cast send --rpc-url op --private-key 0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "castVote(uint256,uint8)" 96613317904084573406050114379566824536792336715395034167747589873286263706475 1
blockHash 0x90604e4fc92054f89f840eb2c89db6f4862799e1349cec6a3181e4c9e4504d84
blockNumber 133949488
contractAddress
cumulativeGasUsed 83221
effectiveGasPrice 79912
from 0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266
gasUsed 83221
logs [{"address":"0x29097565c61a9e72a78cc7f34bc9ebf7e17949c9","topics":["0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4","0x000000000000000000000000f39fd6e51aad88f6f4ce6ab8827279cfffb92266"],"data":"0xd599333a14dcf7da13d8b7ddf395165eb4bad17c8f916603810e0658af69936b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x90604e4fc92054f89f840eb2c89db6f4862799e1349cec6a3181e4c9e4504d84","blockNumber":"0x7fbe830","blockTimestamp":"0x67ebaa74","transactionHash":"0x5b520c4f5ad5a75388929614ee9b8bf36f97c34ca71c89731f929035bfc2d613","transactionIndex":"0x0","logIndex":"0x0","removed":false}]
logsBloom 0x00008000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080000000000000100000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000200010000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
root
status 1 (success)
transactionHash 0x5b520c4f5ad5a75388929614ee9b8bf36f97c34ca71c89731f929035bfc2d613
transactionIndex 0
type 2
blobGasPrice 1
blobGasUsed
authorizationList
to 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
gov-crosschain took 10s
➜ cast send --rpc-url op --private-key 0x59c6995e998f97a5a0044966f0945389dc9e86dae88c7a8412f4603b6b78690d 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "castVote(uint256,uint8)" 96613317904084573406050114379566824536792336715395034167747589873286263706475 1
blockHash 0x918eb370daf46ca16218f410d89683c7500d09318118ebdc394738a0f551cdf3
blockNumber 133949489
contractAddress
cumulativeGasUsed 66121
effectiveGasPrice 69951
from 0x70997970C51812dc3A010C7d01b50e0d17dc79C8
gasUsed 66121
logs [{"address":"0x29097565c61a9e72a78cc7f34bc9ebf7e17949c9","topics":["0xb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4","0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"],"data":"0xd599333a14dcf7da13d8b7ddf395165eb4bad17c8f916603810e0658af69936b0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x918eb370daf46ca16218f410d89683c7500d09318118ebdc394738a0f551cdf3","blockNumber":"0x7fbe831","blockTimestamp":"0x67ebaa80","transactionHash":"0xc788afacb98bd9a338d777b2c77e9e04428ce71aa5950ce0a8c2421b363b3318","transactionIndex":"0x0","logIndex":"0x0","removed":false}]
logsBloom 0x00008000000000000002000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000800080000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000
root
status 1 (success)
transactionHash 0xc788afacb98bd9a338d777b2c77e9e04428ce71aa5950ce0a8c2421b363b3318
transactionIndex 0
type 2
blobGasPrice 1
blobGasUsed
authorizationList
to 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
gov-crosschain took 11s
➜ cast send --rpc-url op --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "execute(address[],uint256[],bytes[],bytes32)" "[0x725236fbb802Dab972875835dB7c2bF706A9e7eB]" "[0]" "[0xd204c45e0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000018697066733a2f2f516d4672616e636973546f6b656e5552490000000000000000]" 0xa6ce1c3b86f6519775a5b578714d0ecf61748967828283920244a1007eb0c189
blockHash 0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6
blockNumber 133949493
contractAddress
cumulativeGasUsed 336118
effectiveGasPrice 41019
from 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
gasUsed 336118
logs [{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc","0x0000000000000000000000000000000000000000000000000000000000000002"],"data":"0x","blockHash":"0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6","blockNumber":"0x7fbe835","blockTimestamp":"0x67ebaab0","transactionHash":"0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae","transactionIndex":"0x0","logIndex":"0x0","removed":false},{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockHash":"0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6","blockNumber":"0x7fbe835","blockTimestamp":"0x67ebaab0","transactionHash":"0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae","transactionIndex":"0x0","logIndex":"0x1","removed":false},{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0x3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc"],"data":"0x","blockHash":"0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6","blockNumber":"0x7fbe835","blockTimestamp":"0x67ebaab0","transactionHash":"0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae","transactionIndex":"0x0","logIndex":"0x2","removed":false},{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0xdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc"],"data":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001","blockHash":"0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6","blockNumber":"0x7fbe835","blockTimestamp":"0x67ebaab0","transactionHash":"0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae","transactionIndex":"0x0","logIndex":"0x3","removed":false},{"address":"0x29097565c61a9e72a78cc7f34bc9ebf7e17949c9","topics":["0x712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f"],"data":"0xd599333a14dcf7da13d8b7ddf395165eb4bad17c8f916603810e0658af69936b","blockHash":"0xf7abe607682b7f03ddc392bab72885a470e644ef0d10f3fbc9eec6fc5628bfd6","blockNumber":"0x7fbe835","blockTimestamp":"0x67ebaab0","transactionHash":"0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae","transactionIndex":"0x0","logIndex":"0x4","removed":false}]
logsBloom 0x04000000000000000000000000000000000020100000000000000000000000000000000000000200000010000000000000020000000000000000000000100000000000000000000000000008000000000000004000000000000000000000000000000000020000400040000000000800000800000000000000000010000000000000000000000000000000100000000000000000080000000000000000080000040000000020200000000100000000002000000000000000000020000000008000000002000000000010000000000000000000000000000000000000000020000000000000000000200000000000000000000000008000000000000000000000
root
status 1 (success)
transactionHash 0x44a870952abad9c25825b7a47e1608686d383396fec51d9cad345377101e9aae
transactionIndex 0
type 2
blobGasPrice 1
blobGasUsed
authorizationList
to 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9
gov-crosschain took 10s
➜ cast call --rpc-url op 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "ownerOf(uint256)" 2
0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc
gov-crosschain
➜ cast call --rpc-url base 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "supportsInterface(bytes4)" 0x80ac58cd
0x0000000000000000000000000000000000000000000000000000000000000001
gov-crosschain
➜ cast call --rpc-url base 0x29097565C61A9e72a78Cc7F34bC9eBf7E17949c9 "manifesto()"
0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000015516d496e697469616c4d616e69666573746f4349440000000000000000000000
gov-crosschain
➜ cast call --rpc-url op 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "generateMintProof(uint256)" 2
0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000e0c92a8ebf29438b5a6d7c3680e71d57c1768967f68d9d01458943f862fc8d0000000000000000000000000000000000000000000000000000000000000018697066733a2f2f516d4672616e636973546f6b656e5552490000000000000000
gov-crosschain
➜ cast send --rpc-url base --private-key 0x5de4111afa1a4b94908f83103eb1f1706367c2e68ca870fc3fb9a804cdab365a 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "claimMint(bytes)" 0x00000000000000000000000000000000000000000000000000000000000000020000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc000000000000000000000000000000000000000000000000000000000000008000e0c92a8ebf29438b5a6d7c3680e71d57c1768967f68d9d01458943f862fc8d0000000000000000000000000000000000000000000000000000000000000018697066733a2f2f516d4672616e636973546f6b656e5552490000000000000000
blockHash 0x2575f68d0a4703f32a1b4b84c0548e91e2b5934e43d172c5d3f4acfe4917a5ea
blockNumber 28354213
contractAddress
cumulativeGasUsed 235081
effectiveGasPrice 109103
from 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
gasUsed 235081
logs [{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc","0x0000000000000000000000000000000000000000000000000000000000000002"],"data":"0x","blockHash":"0x2575f68d0a4703f32a1b4b84c0548e91e2b5934e43d172c5d3f4acfe4917a5ea","blockNumber":"0x1b0a6a5","blockTimestamp":"0x67ebaaeb","transactionHash":"0x6c0adb6e63472ac8533ead86d54210384b4464303daa20a0e7fd112eb29ffa5e","transactionIndex":"0x0","logIndex":"0x0","removed":false},{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0xf8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockHash":"0x2575f68d0a4703f32a1b4b84c0548e91e2b5934e43d172c5d3f4acfe4917a5ea","blockNumber":"0x1b0a6a5","blockTimestamp":"0x67ebaaeb","transactionHash":"0x6c0adb6e63472ac8533ead86d54210384b4464303daa20a0e7fd112eb29ffa5e","transactionIndex":"0x0","logIndex":"0x1","removed":false},{"address":"0x725236fbb802dab972875835db7c2bf706a9e7eb","topics":["0x8c69750af7bc6e51d7f48a9e072634ce4e8ebacea59bbcb790ef0b9864be5417","0x0000000000000000000000000000000000000000000000000000000000000002","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc","0x0000000000000000000000003c44cdddb6a900fa2b585dd299e03d12fa4293bc"],"data":"0x","blockHash":"0x2575f68d0a4703f32a1b4b84c0548e91e2b5934e43d172c5d3f4acfe4917a5ea","blockNumber":"0x1b0a6a5","blockTimestamp":"0x67ebaaeb","transactionHash":"0x6c0adb6e63472ac8533ead86d54210384b4464303daa20a0e7fd112eb29ffa5e","transactionIndex":"0x0","logIndex":"0x2","removed":false}]
logsBloom 0x04000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000008000000000000000000000000000000000000000000000000020000400000000000000800000800000000000000000010000000000000000008000000000000100000000000000000080000000000000000000000000000000000200000000100000000002000000000000000000000000000008000000042000000000000000000000000000000000000000000000000000020000000000000000000200000000000000000000000008008000000000000000000
root
status 1 (success)
transactionHash 0x6c0adb6e63472ac8533ead86d54210384b4464303daa20a0e7fd112eb29ffa5e
transactionIndex 0
type 2
blobGasPrice 1
blobGasUsed
authorizationList
to 0x725236fbb802Dab972875835dB7c2bF706A9e7eB
gov-crosschain took 11s
➜ cast call --rpc-url base 0x725236fbb802Dab972875835dB7c2bF706A9e7eB "balanceOf(address)" 0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC
0x0000000000000000000000000000000000000000000000000000000000000001
```