mds1 / multicall

Multicall: Aggregate multiple constant function call results into one
https://multicall3.com
MIT License
933 stars 161 forks source link

Deploy official Multicall3 on meter.io #141

Closed xiaohanzhu closed 1 year ago

xiaohanzhu commented 1 year ago

Chain Name

Meter

Chain ID

82

RPC URL

https://rpc.meter.io

Block Explorer URL

https://scan.meter.io

Deployment Funds

Yes

xiaohanzhu commented 1 year ago

Meter uses randomized nonce for EOA addresses. The deployment address may be different from other chains. In addition, chainID is required for signing transactions

mds1 commented 1 year ago

Can you explain more on how the randomized nonce works? Also, if the address will be different as a result, I'd prefer to have someone else deploy it and I can still add it to the deploy log—the rationale here is that (1) if the address will be different, it doesn't matter who deploys it, and (2) that way we ensure the deployer account with nonce 0 is preserved in case it becomes possible to get the same address in the future.

This is what we did for zkSync—someone deployed it at the same address on both zkSync mainnet and testnet, and I added that to the deploy file

xiaohanzhu commented 1 year ago

Talked with our devs. The randomized nonce means if you use rpc requesting the next nonce, you will receive a random number (we don't maintain nonce in each EOA account.). However, you could actually use any nonce as long as the tx hash is new. You could force the tx nonce to a number (like 0) when sending the tx. In that case, you will still be able to deploy to the same address as other chains. For example, deploy with Remix and use metamask to customize the nonce to 0. Hope this is clear.

xiaohanzhu commented 1 year ago

Can you explain more on how the randomized nonce works? Also, if the address will be different as a result, I'd prefer to have someone else deploy it and I can still add it to the deploy log—the rationale here is that (1) if the address will be different, it doesn't matter who deploys it, and (2) that way we ensure the deployer account with nonce 0 is preserved in case it becomes possible to get the same address in the future.

This is what we did for zkSync—someone deployed it at the same address on both zkSync mainnet and testnet, and I added that to the deploy file

Could you deploy it on your end so that it will have the same address as other networks? Thanks a lot

mds1 commented 1 year ago

Will do, do you mind funding the deployer account? Just went to deploy since the above request says it's funded, but it appears the balance is 0:

https://scan.meter.io/address/0x05f32b3cc3888453ff71b01135b34ff8e41263f2

$ cast balance 0x05f32B3cC3888453ff71B01135B34FF8e41263F2 --rpc-url https://rpc.meter.io
0
xiaohanzhu commented 1 year ago

Will do, do you mind funding the deployer account? Just went to deploy since the above request says it's funded, but it appears the balance is 0:

https://scan.meter.io/address/0x05f32b3cc3888453ff71b01135b34ff8e41263f2

$ cast balance 0x05f32B3cC3888453ff71B01135B34FF8e41263F2 --rpc-url https://rpc.meter.io
0

Sorry, should be there now. Both on mainnet and testnet. Thank you!

mds1 commented 1 year ago

Done, thanks!