From 9266cfc96c460166aed7d893f85cbf04858b0b33 Mon Sep 17 00:00:00 2001 From: Jack Chuma Date: Thu, 20 Nov 2025 09:41:21 -0500 Subject: [PATCH] deploy updated CBMulticall to Base and Mainnet --- mainnet/2025-11-20-deploy-cb-multicall/.env | 2 + .../2025-11-20-deploy-cb-multicall/Makefile | 21 ++++++++ .../2025-11-20-deploy-cb-multicall/README.md | 25 +++++++++ .../addresses.json | 3 ++ .../foundry.toml | 21 ++++++++ .../1/run-1763649491942.json | 47 ++++++++++++++++ .../8453/run-1763649543610.json | 53 +++++++++++++++++++ .../script/DeployCBMulticall.s.sol | 42 +++++++++++++++ 8 files changed, 214 insertions(+) create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/.env create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/Makefile create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/README.md create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/addresses.json create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/foundry.toml create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json create mode 100644 mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol diff --git a/mainnet/2025-11-20-deploy-cb-multicall/.env b/mainnet/2025-11-20-deploy-cb-multicall/.env new file mode 100644 index 00000000..5d7ad662 --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/.env @@ -0,0 +1,2 @@ +OP_COMMIT=594bc933a38425f745b46399a3619bcdeb74965d +BASE_CONTRACTS_COMMIT=6cf8b2d8ec971806977b437dbbad54a23ecd085f diff --git a/mainnet/2025-11-20-deploy-cb-multicall/Makefile b/mainnet/2025-11-20-deploy-cb-multicall/Makefile new file mode 100644 index 00000000..f727401e --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/Makefile @@ -0,0 +1,21 @@ +include ../../Makefile +include ../.env +include .env + +ifndef LEDGER_ACCOUNT +override LEDGER_ACCOUNT = 0 +endif + +RPC_URL = $(L2_RPC_URL) + +deploy: +ifndef VERIFIER_API_KEY + $(error VERIFIER_API_KEY is not set) +endif + forge script script/DeployCBMulticall.s.sol:DeployCBMulticallScript \ + --rpc-url ${RPC_URL} \ + --broadcast \ + --verify \ + --verifier-api-key ${VERIFIER_API_KEY} \ + --ledger --hd-paths "m/44'/60'/$(LEDGER_ACCOUNT)'/0/0" \ + -vvvv diff --git a/mainnet/2025-11-20-deploy-cb-multicall/README.md b/mainnet/2025-11-20-deploy-cb-multicall/README.md new file mode 100644 index 00000000..2dcaffb1 --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/README.md @@ -0,0 +1,25 @@ +# Deploy CBMulticall to Mainnet and Base + +Status: [EXECUTED](https://etherscan.io/tx/0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339) +Status: [EXECUTED](https://basescan.org/tx/0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe) + +## Description + +This task deploys an updated version of the `CBMulticall` contract. + +## Procedure + +### 1. Update repo: + +```bash +cd contract-deployments +git pull +cd mainnet/2025-11-20-deploy-cb-multicall +make deps +``` + +### 2. Run the script: + +```bash +make deploy +``` diff --git a/mainnet/2025-11-20-deploy-cb-multicall/addresses.json b/mainnet/2025-11-20-deploy-cb-multicall/addresses.json new file mode 100644 index 00000000..ae09d676 --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/addresses.json @@ -0,0 +1,3 @@ +{ + "cbMulticall": "0xA8B8CA1d6F0F5Ce63dCEA9121A01b302c5801303" +} \ No newline at end of file diff --git a/mainnet/2025-11-20-deploy-cb-multicall/foundry.toml b/mainnet/2025-11-20-deploy-cb-multicall/foundry.toml new file mode 100644 index 00000000..9f427a97 --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/foundry.toml @@ -0,0 +1,21 @@ +[profile.default] +src = 'src' +out = 'out' +libs = ['lib'] +broadcast = 'records' +fs_permissions = [{ access = "read-write", path = "./" }] +optimizer = true +optimizer_runs = 999999 +solc_version = "0.8.15" +evm_version = "prague" +via-ir = false +remappings = [ + '@eth-optimism-bedrock/=lib/optimism/packages/contracts-bedrock/', + '@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts', + '@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts', + '@rari-capital/solmate/=lib/solmate/', + '@base-contracts/=lib/base-contracts', + 'solady/=lib/solady/src/', +] + +# See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json b/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json new file mode 100644 index 00000000..bd27420f --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/1/run-1763649491942.json @@ -0,0 +1,47 @@ +{ + "transactions": [ + { + "hash": "0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339", + "transactionType": "CREATE2", + "contractName": "CBMulticall", + "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", + "function": null, + "arguments": null, + "transaction": { + "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x14f784", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", + "nonce": "0x39", + "chainId": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x75ebfb", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0xee77ad0fbda687a02f0dcd62ca9089906b7f5ba22089a22fc76ff8932471e339", + "transactionIndex": "0x4f", + "blockHash": "0xcc65b34737daff6fa783e62cf3f8f7bbef1d726f08f924253cecef2a87e46188", + "blockNumber": "0x16bc87c", + "gasUsed": "0xf2dfd", + "effectiveGasPrice": "0x2e0db9dc", + "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763649491942, + "chain": 1, + "commit": "8c49b9d" +} \ No newline at end of file diff --git a/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json b/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json new file mode 100644 index 00000000..56c22f9f --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/records/DeployCBMulticall.s.sol/8453/run-1763649543610.json @@ -0,0 +1,53 @@ +{ + "transactions": [ + { + "hash": "0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe", + "transactionType": "CREATE2", + "contractName": "CBMulticall", + "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", + "function": null, + "arguments": null, + "transaction": { + "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x14f784", + "value": "0x0", + "input": "0x000000000000000000000000000000000000000000000000000000000000000160a060405234801561001057600080fd5b503060805260805161110d610030600039600061085a015261110d6000f3fe60806040526004361061010e5760003560e01c80634d2301cc116100a557806386d516e811610074578063bce38bd711610059578063bce38bd7146102a3578063c3077fa9146102b6578063ee82ac5e146102c957600080fd5b806386d516e814610275578063a8b0574e1461028857600080fd5b80634d2301cc1461020757806372425d9d1461023c57806382ad56cb1461024f578063858cc8321461026257600080fd5b80633408e470116100e15780633408e470146101ac578063399542e9146101bf5780633e64a696146101e157806342cbb15c146101f457600080fd5b80630f28c97d14610113578063174dea7114610135578063252dba421461015557806327e86d6e14610176575b600080fd5b34801561011f57600080fd5b50425b6040519081526020015b60405180910390f35b610148610143366004610cb2565b6102e8565b60405161012c9190610deb565b610168610163366004610cb2565b6104bc565b60405161012c929190610e05565b34801561018257600080fd5b50437fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0140610122565b3480156101b857600080fd5b5046610122565b6101d26101cd366004610e8d565b610662565b60405161012c93929190610ee7565b3480156101ed57600080fd5b5048610122565b34801561020057600080fd5b5043610122565b34801561021357600080fd5b50610122610222366004610f0f565b73ffffffffffffffffffffffffffffffffffffffff163190565b34801561024857600080fd5b5044610122565b61014861025d366004610cb2565b61067d565b610148610270366004610cb2565b610841565b34801561028157600080fd5b5045610122565b34801561029457600080fd5b5060405141815260200161012c565b6101486102b1366004610e8d565b610a72565b6101d26102c4366004610cb2565b610c47565b3480156102d557600080fd5b506101226102e4366004610f45565b4090565b6060818067ffffffffffffffff81111561030457610304610f5e565b60405190808252806020026020018201604052801561034a57816020015b6040805180820190915260008152606060208201528152602001906001900390816103225790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061038057610380610f8d565b90506020028101906103929190610fbc565b925060408301356103a66020850185610f0f565b73ffffffffffffffffffffffffffffffffffffffff16816103ca6060870187610ffa565b6040516103d892919061105f565b60006040518083038185875af1925050503d8060008114610415576040519150601f19603f3d011682016040523d82523d6000602084013e61041a565b606091505b50602080850191909152901515808452908501351761048b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8186848151811061049e5761049e610f8d565b60209081029190910101525050600101610351565b50505092915050565b436060828067ffffffffffffffff8111156104d9576104d9610f5e565b60405190808252806020026020018201604052801561050c57816020015b60608152602001906001900390816104f75790505b5091503660005b8281101561065857600087878381811061052f5761052f610f8d565b9050602002810190610541919061106f565b92506105506020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166105736020850185610ffa565b60405161058192919061105f565b6000604051808303816000865af19150503d80600081146105be576040519150601f19603f3d011682016040523d82523d6000602084013e6105c3565b606091505b508684815181106105d6576105d6610f8d565b602090810291909101015290508061064f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060448201526064015b60405180910390fd5b50600101610513565b5050509250929050565b4380406060610672868686610a72565b905093509350939050565b6060818067ffffffffffffffff81111561069957610699610f5e565b6040519080825280602002602001820160405280156106df57816020015b6040805180820190915260008152606060208201528152602001906001900390816106b75790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061071557610715610f8d565b905060200281019061072791906110a3565b92506107366020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff166107596040850185610ffa565b60405161076792919061105f565b6000604051808303816000865af19150503d80600081146107a4576040519150601f19603f3d011682016040523d82523d6000602084013e6107a9565b606091505b50602080840191909152901515808352908401351761081a577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b8085838151811061082d5761082d610f8d565b6020908102919091010152506001016106e6565b606073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108b2576040517fb25caa5100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b818067ffffffffffffffff8111156108cc576108cc610f5e565b60405190808252806020026020018201604052801561091257816020015b6040805180820190915260008152606060208201528152602001906001900390816108ea5790505b5091503660005b828110156104b35760408051808201909152600081526060602082015286868381811061094857610948610f8d565b905060200281019061095a91906110a3565b92506109696020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff1661098c6040850185610ffa565b60405161099a92919061105f565b600060405180830381855af49150503d80600081146109d5576040519150601f19603f3d011682016040523d82523d6000602084013e6109da565b606091505b506020808401919091529015158083529084013517610a4b577f08c379a000000000000000000000000000000000000000000000000000000000600052602060045260176024527f4d756c746963616c6c333a2063616c6c206661696c656400000000000000000060445260646000fd5b80858381518110610a5e57610a5e610f8d565b602090810291909101015250600101610919565b6060818067ffffffffffffffff811115610a8e57610a8e610f5e565b604051908082528060200260200182016040528015610ad457816020015b604080518082019091526000815260606020820152815260200190600190039081610aac5790505b5091503660005b82811015610c3d57604080518082019091526000815260606020820152868683818110610b0a57610b0a610f8d565b9050602002810190610b1c919061106f565b9250610b2b6020840184610f0f565b73ffffffffffffffffffffffffffffffffffffffff16610b4e6020850185610ffa565b604051610b5c92919061105f565b6000604051808303816000865af19150503d8060008114610b99576040519150601f19603f3d011682016040523d82523d6000602084013e610b9e565b606091505b506020830152151581528715610c16578051610c16576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4d756c746963616c6c333a2063616c6c206661696c65640000000000000000006044820152606401610646565b80858381518110610c2957610c29610f8d565b602090810291909101015250600101610adb565b5050509392505050565b6000806060610c5860018686610662565b919790965090945092505050565b60008083601f840112610c7857600080fd5b50813567ffffffffffffffff811115610c9057600080fd5b6020830191508360208260051b8501011115610cab57600080fd5b9250929050565b60008060208385031215610cc557600080fd5b823567ffffffffffffffff811115610cdc57600080fd5b610ce885828601610c66565b90969095509350505050565b6000815180845260005b81811015610d1a57602081850181015186830182015201610cfe565b81811115610d2c576000602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082825180855260208086019550808260051b84010181860160005b84811015610dde578583037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001895281518051151584528401516040858501819052610dca81860183610cf4565b9a86019a9450505090830190600101610d7c565b5090979650505050505050565b602081526000610dfe6020830184610d5f565b9392505050565b600060408201848352602060408185015281855180845260608601915060608160051b870101935082870160005b82811015610e7f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0888703018452610e6d868351610cf4565b95509284019290840190600101610e33565b509398975050505050505050565b600080600060408486031215610ea257600080fd5b83358015158114610eb257600080fd5b9250602084013567ffffffffffffffff811115610ece57600080fd5b610eda86828701610c66565b9497909650939450505050565b838152826020820152606060408201526000610f066060830184610d5f565b95945050505050565b600060208284031215610f2157600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114610dfe57600080fd5b600060208284031215610f5757600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81833603018112610ff057600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261102f57600080fd5b83018035915067ffffffffffffffff82111561104a57600080fd5b602001915036819003821315610cab57600080fd5b8183823760009101908152919050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112610ff057600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1833603018112610ff057600080fdfea26469706673582212209f691a293497bb27165763d864578342dbe9be7a828bb879a64afb9af27e455564736f6c634300080f0033", + "nonce": "0x5", + "chainId": "0x2105" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "status": "0x1", + "cumulativeGasUsed": "0x155a275", + "logs": [], + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "transactionHash": "0x72cde5253bf654c9b706e21fe42f05ce1ab5fdffc6c68c881ecb6c43da27ecbe", + "transactionIndex": "0x59", + "blockHash": "0xd4ce43423d7c645a34987ee8a9df2e77c571e73e87a2146ec067ca01dc9d4b84", + "blockNumber": "0x24a6582", + "gasUsed": "0xf2dfd", + "effectiveGasPrice": "0x9920a6", + "from": "0x644e3dedb0e4f83bfcf8f9992964d240224b74dc", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "contractAddress": "0xa8b8ca1d6f0f5ce63dcea9121a01b302c5801303", + "l1BaseFeeScalar": "0x8dd", + "l1BlobBaseFee": "0x10", + "l1BlobBaseFeeScalar": "0x101c12", + "l1Fee": "0xaebcbe09", + "l1GasPrice": "0x3021b464", + "l1GasUsed": "0x7c1e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1763649543610, + "chain": 8453, + "commit": "8c49b9d" +} \ No newline at end of file diff --git a/mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol b/mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol new file mode 100644 index 00000000..fe415d21 --- /dev/null +++ b/mainnet/2025-11-20-deploy-cb-multicall/script/DeployCBMulticall.s.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.15; + +import {Script, console} from "forge-std/Script.sol"; + +import {CBMulticall} from "@base-contracts/src/utils/CBMulticall.sol"; + +contract DeployCBMulticallScript is Script { + bytes32 public constant SALT = bytes32(uint256(1)); + + CBMulticall cbMulticall; + + function run() public { + vm.startBroadcast(); + cbMulticall = new CBMulticall{salt: SALT}(); + console.log("CBMulticall deployed at: ", address(cbMulticall)); + vm.stopBroadcast(); + + string memory obj = "root"; + string memory json = vm.serializeAddress(obj, "cbMulticall", address(cbMulticall)); + vm.writeJson(json, "addresses.json"); + + _postCheck(); + } + + function _postCheck() internal view { + vm.assertEq( + address(cbMulticall), + vm.computeCreate2Address({salt: SALT, initCodeHash: _initCodeHash(), deployer: CREATE2_FACTORY}), + "The cbMulticall address does not match the one computed by `vm.computeCreate2Address`" + ); + } + + function _initCode() private view returns (bytes memory) { + bytes memory args = ""; + return abi.encodePacked(vm.getCode("CBMulticall.sol:CBMulticall"), args); + } + + function _initCodeHash() private view returns (bytes32) { + return keccak256(_initCode()); + } +}