diff --git a/ccv/chains/evm/gobindings/generated/latest/create2_factory/create2_factory.go b/ccv/chains/evm/gobindings/generated/latest/create2_factory/create2_factory.go index 275840d14d..1123198f55 100644 --- a/ccv/chains/evm/gobindings/generated/latest/create2_factory/create2_factory.go +++ b/ccv/chains/evm/gobindings/generated/latest/create2_factory/create2_factory.go @@ -29,8 +29,8 @@ var ( ) var CREATE2FactoryMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"allowList\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"applyAllowListUpdates\",\"inputs\":[{\"name\":\"removes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"adds\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"computeAddress\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"createAndCall\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"calls\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAndTransferOwnership\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getAllowList\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"typeAndVersion\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"CallerAdded\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"CallerRemoved\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ContractDeployed\",\"inputs\":[{\"name\":\"contractAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferRequested\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"CallFailed\",\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"result\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"CallerNotAllowed\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"CannotTransferToSelf\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2EmptyBytecode\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2FailedDeployment\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2InsufficientBalance\",\"inputs\":[{\"name\":\"balance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"MustBeProposedOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OnlyCallableByOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnerCannotBeZero\",\"inputs\":[]}]", - Bin: "0x6080604052346101d75761132f80380380610019816101f2565b9283398101906020818303126101d7578051906001600160401b0382116101d7570181601f820112156101d7578051916001600160401b0383116101dc578260051b9160208061006a8186016101f2565b8096815201938201019182116101d757602001915b8183106101b7578333156101a657600180546001600160a01b031916331790556100a960206101f2565b60008152600036813760005b8151811015610124576001906100dd6001600160a01b036100d68386610217565b5116610259565b6100e8575b016100b5565b818060a01b036100f88285610217565b51167f50c35a67b454d38c20800d5b55e320f58f4c9c86a28d8ab20f03045d1a38d99a600080a26100e2565b8260005b8151811015610197576001906101506001600160a01b036101498386610217565b5116610357565b61015b575b01610128565b818060a01b0361016b8285610217565b51167ff7762e85af7b409451f9a76004c5f755642902434eb11351ae67eb9746888b69600080a2610155565b604051610f7790816103b88239f35b639b15e16f60e01b60005260046000fd5b82516001600160a01b03811681036101d75781526020928301920161007f565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b038111838210176101dc57604052565b805182101561022b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b805482101561022b5760005260206000200190600090565b600081815260036020526040902054801561035057600019810181811161033a5760025460001981019190821161033a578181036102e9575b50505060025480156102d357600019016102ad816002610241565b8154906000199060031b1b19169055600255600052600360205260006040812055600190565b634e487b7160e01b600052603160045260246000fd5b6103226102fa61030b936002610241565b90549060031b1c9283926002610241565b819391549060031b91821b91600019901b19161790565b90556000526003602052604060002055388080610292565b634e487b7160e01b600052601160045260246000fd5b5050600090565b806000526003602052604060002054156000146103b157600254680100000000000000008110156101dc5761039861030b8260018594016002556002610241565b9055600254906000526003602052604060002055600190565b5060009056fe6080604052600436101561001257600080fd5b60003560e01c8063181f5a77146108305780633e4b9f7a1461079e57806354c8a4f3146105ef57806379ba50971461050657806381b72a66146103c45780638da5cb5b14610372578063a7cd63b714610284578063e4a9848d146101775763f2fde38b1461007f57600080fd5b346101725760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043573ffffffffffffffffffffffffffffffffffffffff8116809103610172576100d7610b3e565b33811461014857807fffffffffffffffffffffffff0000000000000000000000000000000000000000600054161760005573ffffffffffffffffffffffffffffffffffffffff600154167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae1278600080a3005b7fdad89dca0000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b346101725760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff8111610172576101c6903690600401610a40565b906044359167ffffffffffffffff831161017257366023840112156101725782600401356101f381610a6e565b9361020160405195866108b1565b8185526024602086019260051b820101903682116101725760248101925b82841061025457602061023688602435888a610b89565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b833567ffffffffffffffff8111610172576020916102798392602436918701016109f1565b81520193019261021f565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610172576040518060206002549283815201809260026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9060005b81811061035c57505050816103039103826108b1565b6040519182916020830190602084525180915260408301919060005b81811061032d575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff1684528594506020938401939092019160010161031f565b82548452602090930192600192830192016102ed565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101725760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff811161017257610413903690600401610a40565b60443573ffffffffffffffffffffffffffffffffffffffff81168091036101725760209260409283519261044785856108b1565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0850160005b8181106104f75750509173ffffffffffffffffffffffffffffffffffffffff93916104ef938651907ff2fde38b00000000000000000000000000000000000000000000000000000000898301526024820152602481526104d26044826108b1565b6104db84610aee565b526104e583610aee565b5060243591610b89565b915191168152f35b60608682018901528701610471565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760005473ffffffffffffffffffffffffffffffffffffffff811633036105c5577fffffffffffffffffffffffff00000000000000000000000000000000000000006001549133828416176001551660005573ffffffffffffffffffffffffffffffffffffffff3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f02b543c60000000000000000000000000000000000000000000000000000000060005260046000fd5b346101725760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff81116101725761063e903690600401610a0f565b6024359067ffffffffffffffff82116101725761067761066561067f933690600401610a0f565b949092610670610b3e565b3691610a86565b923691610a86565b60005b825181101561070d57806106b773ffffffffffffffffffffffffffffffffffffffff6106b060019487610b2a565b5116610d45565b6106c2575b01610682565b73ffffffffffffffffffffffffffffffffffffffff6106e18286610b2a565b51167f50c35a67b454d38c20800d5b55e320f58f4c9c86a28d8ab20f03045d1a38d99a600080a26106bc565b5060005b815181101561079c578061074673ffffffffffffffffffffffffffffffffffffffff61073f60019486610b2a565b5116610f0a565b610751575b01610711565b73ffffffffffffffffffffffffffffffffffffffff6107708285610b2a565b51167ff7762e85af7b409451f9a76004c5f755642902434eb11351ae67eb9746888b69600080a261074b565b005b346101725760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff8111610172576055600b6107f360209336906004016109f1565b838151910120604051906040820152602435848201523081520160ff81532073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610172576108ad604080519061087181836108b1565b601482527f43524541544532466163746f727920312e372e3000000000000000000000000060208301525191829160208352602083019061095b565b0390f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116108f257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919082519283825260005b8481106109a55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201610966565b9291926109c682610921565b916109d460405193846108b1565b829481845281830111610172578281602093846000960137010152565b9080601f8301121561017257816020610a0c933591016109ba565b90565b9181601f840112156101725782359167ffffffffffffffff8311610172576020808501948460051b01011161017257565b9181601f840112156101725782359167ffffffffffffffff8311610172576020838186019501011161017257565b67ffffffffffffffff81116108f25760051b60200190565b9291610a9182610a6e565b93610a9f60405195866108b1565b602085848152019260051b810191821161017257915b818310610ac157505050565b823573ffffffffffffffffffffffffffffffffffffffff8116810361017257815260209283019201610ab5565b805115610afb5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015610afb5760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff600154163303610b5f57565b7f2b5c74de0000000000000000000000000000000000000000000000000000000060005260046000fd5b33600052600360205260406000205415610cff57610ba89136916109ba565b805115610cd5576020815191016000f59073ffffffffffffffffffffffffffffffffffffffff82168015610cab577f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf600080a260005b8151811015610ca657600080610c148385610b2a565b5160208151910182875af13d15610c9e573d90610c3082610921565b91610c3e60405193846108b1565b82523d6000602084013e5b15610c575750600101610bfe565b90610c9a6040519283927f5c0dee5d000000000000000000000000000000000000000000000000000000008452600484015260406024840152604483019061095b565b0390fd5b606090610c49565b505090565b7f741752c20000000000000000000000000000000000000000000000000000000060005260046000fd5b7f4ca249dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fe7557a52000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8054821015610afb5760005260206000200190600090565b6000818152600360205260409020548015610f03577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111610ed457600254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211610ed457818103610e65575b5050506002548015610e36577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610df3816002610d2d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055600255600052600360205260006040812055600190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b610ebc610e76610e87936002610d2d565b90549060031b1c9283926002610d2d565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90556000526003602052604060002055388080610dba565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5050600090565b80600052600360205260406000205415600014610f6457600254680100000000000000008110156108f257610f4b610e878260018594016002556002610d2d565b9055600254906000526003602052604060002055600190565b5060009056fea164736f6c634300081a000a", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"allowList\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"acceptOwnership\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"applyAllowListUpdates\",\"inputs\":[{\"name\":\"removes\",\"type\":\"address[]\",\"internalType\":\"address[]\"},{\"name\":\"adds\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"computeAddress\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"createAndCall\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"calls\",\"type\":\"bytes[]\",\"internalType\":\"bytes[]\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"createAndTransferOwnership\",\"inputs\":[{\"name\":\"creationCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getAllowList\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address[]\",\"internalType\":\"address[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"owner\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"transferOwnership\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"typeAndVersion\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"CallerAdded\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"CallerRemoved\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ContractDeployed\",\"inputs\":[{\"name\":\"contractAddress\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferRequested\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"OwnershipTransferred\",\"inputs\":[{\"name\":\"from\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"to\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"CallFailed\",\"inputs\":[{\"name\":\"index\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"result\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"type\":\"error\",\"name\":\"CallerNotAllowed\",\"inputs\":[{\"name\":\"caller\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"CannotTransferToSelf\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2EmptyBytecode\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"FailedDeployment\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InsufficientBalance\",\"inputs\":[{\"name\":\"balance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"MustBeProposedOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OnlyCallableByOwner\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"OwnerCannotBeZero\",\"inputs\":[]}]", + Bin: "0x6080604052346101d75761134580380380610019816101f2565b9283398101906020818303126101d7578051906001600160401b0382116101d7570181601f820112156101d7578051916001600160401b0383116101dc578260051b9160208061006a8186016101f2565b8096815201938201019182116101d757602001915b8183106101b7578333156101a657600180546001600160a01b031916331790556100a960206101f2565b60008152600036813760005b8151811015610124576001906100dd6001600160a01b036100d68386610217565b5116610259565b6100e8575b016100b5565b818060a01b036100f88285610217565b51167f50c35a67b454d38c20800d5b55e320f58f4c9c86a28d8ab20f03045d1a38d99a600080a26100e2565b8260005b8151811015610197576001906101506001600160a01b036101498386610217565b5116610357565b61015b575b01610128565b818060a01b0361016b8285610217565b51167ff7762e85af7b409451f9a76004c5f755642902434eb11351ae67eb9746888b69600080a2610155565b604051610f8d90816103b88239f35b639b15e16f60e01b60005260046000fd5b82516001600160a01b03811681036101d75781526020928301920161007f565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6040519190601f01601f191682016001600160401b038111838210176101dc57604052565b805182101561022b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b805482101561022b5760005260206000200190600090565b600081815260036020526040902054801561035057600019810181811161033a5760025460001981019190821161033a578181036102e9575b50505060025480156102d357600019016102ad816002610241565b8154906000199060031b1b19169055600255600052600360205260006040812055600190565b634e487b7160e01b600052603160045260246000fd5b6103226102fa61030b936002610241565b90549060031b1c9283926002610241565b819391549060031b91821b91600019901b19161790565b90556000526003602052604060002055388080610292565b634e487b7160e01b600052601160045260246000fd5b5050600090565b806000526003602052604060002054156000146103b157600254680100000000000000008110156101dc5761039861030b8260018594016002556002610241565b9055600254906000526003602052604060002055600190565b5060009056fe6080604052600436101561001257600080fd5b60003560e01c8063181f5a77146108305780633e4b9f7a1461079e57806354c8a4f3146105ef57806379ba50971461050657806381b72a66146103c45780638da5cb5b14610372578063a7cd63b714610284578063e4a9848d146101775763f2fde38b1461007f57600080fd5b346101725760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043573ffffffffffffffffffffffffffffffffffffffff8116809103610172576100d7610b3e565b33811461014857807fffffffffffffffffffffffff0000000000000000000000000000000000000000600054161760005573ffffffffffffffffffffffffffffffffffffffff600154167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae1278600080a3005b7fdad89dca0000000000000000000000000000000000000000000000000000000060005260046000fd5b600080fd5b346101725760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff8111610172576101c6903690600401610a40565b906044359167ffffffffffffffff831161017257366023840112156101725782600401356101f381610a6e565b9361020160405195866108b1565b8185526024602086019260051b820101903682116101725760248101925b82841061025457602061023688602435888a610b89565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b833567ffffffffffffffff8111610172576020916102798392602436918701016109f1565b81520193019261021f565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610172576040518060206002549283815201809260026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9060005b81811061035c57505050816103039103826108b1565b6040519182916020830190602084525180915260408301919060005b81811061032d575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff1684528594506020938401939092019160010161031f565b82548452602090930192600192830192016102ed565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261017257602073ffffffffffffffffffffffffffffffffffffffff60015416604051908152f35b346101725760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff811161017257610413903690600401610a40565b60443573ffffffffffffffffffffffffffffffffffffffff81168091036101725760209260409283519261044785856108b1565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0850160005b8181106104f75750509173ffffffffffffffffffffffffffffffffffffffff93916104ef938651907ff2fde38b00000000000000000000000000000000000000000000000000000000898301526024820152602481526104d26044826108b1565b6104db84610aee565b526104e583610aee565b5060243591610b89565b915191168152f35b60608682018901528701610471565b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760005473ffffffffffffffffffffffffffffffffffffffff811633036105c5577fffffffffffffffffffffffff00000000000000000000000000000000000000006001549133828416176001551660005573ffffffffffffffffffffffffffffffffffffffff3391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f02b543c60000000000000000000000000000000000000000000000000000000060005260046000fd5b346101725760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff81116101725761063e903690600401610a0f565b6024359067ffffffffffffffff82116101725761067761066561067f933690600401610a0f565b949092610670610b3e565b3691610a86565b923691610a86565b60005b825181101561070d57806106b773ffffffffffffffffffffffffffffffffffffffff6106b060019487610b2a565b5116610d5b565b6106c2575b01610682565b73ffffffffffffffffffffffffffffffffffffffff6106e18286610b2a565b51167f50c35a67b454d38c20800d5b55e320f58f4c9c86a28d8ab20f03045d1a38d99a600080a26106bc565b5060005b815181101561079c578061074673ffffffffffffffffffffffffffffffffffffffff61073f60019486610b2a565b5116610f20565b610751575b01610711565b73ffffffffffffffffffffffffffffffffffffffff6107708285610b2a565b51167ff7762e85af7b409451f9a76004c5f755642902434eb11351ae67eb9746888b69600080a261074b565b005b346101725760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101725760043567ffffffffffffffff81116101725773ffffffffffffffffffffffffffffffffffffffff6055600b61080860209436906004016109f1565b848151910120604051906040820152602435858201523081520160ff81532016604051908152f35b346101725760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610172576108ad604080519061087181836108b1565b601482527f43524541544532466163746f727920312e372e3000000000000000000000000060208301525191829160208352602083019061095b565b0390f35b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176108f257604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b67ffffffffffffffff81116108f257601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b919082519283825260005b8481106109a55750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b80602080928401015182828601015201610966565b9291926109c682610921565b916109d460405193846108b1565b829481845281830111610172578281602093846000960137010152565b9080601f8301121561017257816020610a0c933591016109ba565b90565b9181601f840112156101725782359167ffffffffffffffff8311610172576020808501948460051b01011161017257565b9181601f840112156101725782359167ffffffffffffffff8311610172576020838186019501011161017257565b67ffffffffffffffff81116108f25760051b60200190565b9291610a9182610a6e565b93610a9f60405195866108b1565b602085848152019260051b810191821161017257915b818310610ac157505050565b823573ffffffffffffffffffffffffffffffffffffffff8116810361017257815260209283019201610ab5565b805115610afb5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015610afb5760209160051b010190565b73ffffffffffffffffffffffffffffffffffffffff600154163303610b5f57565b7f2b5c74de0000000000000000000000000000000000000000000000000000000060005260046000fd5b33600052600360205260406000205415610d1557610ba89136916109ba565b805115610ceb576020815191016000f5903d1519821516610cdf5773ffffffffffffffffffffffffffffffffffffffff82168015610cb5577f8ffcdc15a283d706d38281f500270d8b5a656918f555de0913d7455e3e6bc1bf600080a260005b8151811015610cb057600080610c1e8385610b2a565b5160208151910182875af13d15610ca8573d90610c3a82610921565b91610c4860405193846108b1565b82523d6000602084013e5b15610c615750600101610c08565b90610ca46040519283927f5c0dee5d000000000000000000000000000000000000000000000000000000008452600484015260406024840152604483019061095b565b0390fd5b606090610c53565b505090565b7fb06ebf3d0000000000000000000000000000000000000000000000000000000060005260046000fd5b6040513d6000823e3d90fd5b7f4ca249dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fe7557a52000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b8054821015610afb5760005260206000200190600090565b6000818152600360205260409020548015610f19577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8101818111610eea57600254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211610eea57818103610e7b575b5050506002548015610e4c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01610e09816002610d43565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055600255600052600360205260006040812055600190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b610ed2610e8c610e9d936002610d43565b90549060031b1c9283926002610d43565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90556000526003602052604060002055388080610dd0565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b5050600090565b80600052600360205260406000205415600014610f7a57600254680100000000000000008110156108f257610f61610e9d8260018594016002556002610d43565b9055600254906000526003602052604060002055600190565b5060009056fea164736f6c634300081a000a", } var CREATE2FactoryABI = CREATE2FactoryMetaData.ABI diff --git a/ccv/chains/evm/gobindings/generated/latest/token_pool_factory/token_pool_factory.go b/ccv/chains/evm/gobindings/generated/latest/token_pool_factory/token_pool_factory.go index a17191e403..338db1ca48 100644 --- a/ccv/chains/evm/gobindings/generated/latest/token_pool_factory/token_pool_factory.go +++ b/ccv/chains/evm/gobindings/generated/latest/token_pool_factory/token_pool_factory.go @@ -54,8 +54,8 @@ type TokenPoolFactoryRemoteTokenPoolInfo struct { } var TokenPoolFactoryMetaData = &bind.MetaData{ - ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"tokenAdminRegistry\",\"type\":\"address\",\"internalType\":\"contract ITokenAdminRegistry\"},{\"name\":\"tokenAdminModule\",\"type\":\"address\",\"internalType\":\"contract RegistryModuleOwnerCustom\"},{\"name\":\"rmnProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"ccipRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"lockBox\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deployTokenAndTokenPool\",\"inputs\":[{\"name\":\"remoteTokenPools\",\"type\":\"tuple[]\",\"internalType\":\"struct TokenPoolFactory.RemoteTokenPoolInfo[]\",\"components\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"remotePoolAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remotePoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"poolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteTokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"rateLimiterConfig\",\"type\":\"tuple\",\"internalType\":\"struct RateLimiter.Config\",\"components\":[{\"name\":\"isEnabled\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"capacity\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"rate\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]}]},{\"name\":\"localTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"localPoolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"tokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"tokenPoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deployTokenPoolWithExistingToken\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"localTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"localPoolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenPools\",\"type\":\"tuple[]\",\"internalType\":\"struct TokenPoolFactory.RemoteTokenPoolInfo[]\",\"components\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"remotePoolAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remotePoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"poolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteTokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"rateLimiterConfig\",\"type\":\"tuple\",\"internalType\":\"struct RateLimiter.Config\",\"components\":[{\"name\":\"isEnabled\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"capacity\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"rate\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]}]},{\"name\":\"tokenPoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"poolAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"typeAndVersion\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"RemoteChainConfigUpdated\",\"inputs\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"indexed\":true,\"internalType\":\"uint64\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"Create2EmptyBytecode\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2FailedDeployment\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"Create2InsufficientBalance\",\"inputs\":[{\"name\":\"balance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidZeroAddress\",\"inputs\":[]}]", - Bin: "0x6101203461015c57601f6117fd38819003918201601f19168301916001600160401b038311848410176101615780849260a09460405283398101031261015c5780516001600160a01b038116919082810361015c5760208201516001600160a01b0381169182820361015c5761007760408501610177565b92610090608061008960608801610177565b9601610177565b9515908115610153575b508015610142575b8015610131575b8015610120575b61010f5760805260a05260c05260e05261010052604051611671908161018c82396080518161028c015260a05181610207015260c0518181816111720152611546015260e05181818161115001526115240152610100518161112e0152f35b63f6b2911f60e01b60005260046000fd5b506001600160a01b038516156100b0565b506001600160a01b038416156100a9565b506001600160a01b038316156100a2565b9050153861009a565b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361015c5756fe60c080604052600436101561001357600080fd5b600090813560e01c908163111233601461057857508063181f5a77146104f957632e1ab66c1461004257600080fd5b3461045d5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d5760043567ffffffffffffffff811161046b576100919036906004016106cf565b6100996106bf565b916044359060028210156104f55760643567ffffffffffffffff81116104f1576100c7903690600401610859565b916084359367ffffffffffffffff85116104ed576100ec610178953690600401610700565b93909261017160405160208101906101678161013b3360a43586906034927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000091835260601b1660208201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107b2565b51902096876115c0565b9788610a5b565b9173ffffffffffffffffffffffffffffffffffffffff821690813b1561045d576040517fc630948d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152818160248183875af18015610460576104dd575b509073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561048f578280916024604051809481937f96ea2f7a0000000000000000000000000000000000000000000000000000000083528760048401525af18015610484579083916104c8575b505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561048f576040517f156194da000000000000000000000000000000000000000000000000000000008152826004820152838160248183865af180156104a8579084916104b3575b5050803b1561048f576040517f4e847fc700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015286166024820152838160448183865af180156104a857908491610493575b5050803b1561048f576040517fddadfa8e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201523360248201529083908290604490829084905af180156104845790839161046f575b5050803b1561046b578180916024604051809481937ff2fde38b0000000000000000000000000000000000000000000000000000000083523360048401525af1801561046057610448575b50506040805173ffffffffffffffffffffffffffffffffffffffff928316815292909116602083015290f35b0390f35b6104538280926107b2565b61045d5780610418565b80fd5b6040513d84823e3d90fd5b5080fd5b81610479916107b2565b61046b5781386103cd565b6040513d85823e3d90fd5b8280fd5b8161049d916107b2565b61048f578238610360565b6040513d86823e3d90fd5b816104bd916107b2565b61048f5782386102f6565b816104d2916107b2565b61046b578138610273565b816104e7916107b2565b386101ee565b8680fd5b8580fd5b8480fd5b503461045d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d575061044460405161053a6040826107b2565b601681527f546f6b656e506f6f6c466163746f727920312e352e31000000000000000000006020820152604051918291602083526020830190610816565b823461045d5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d576004359173ffffffffffffffffffffffffffffffffffffffff8316830361046b576105d16106bf565b9160443590600282101561045d5760643567ffffffffffffffff811161046b576105ff9036906004016106cf565b9290916084359067ffffffffffffffff821161045d57602061067b89898989898961062d3660048c01610700565b60a4358a87019081523360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015290969195610672816034840161013b565b51902096610a5b565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b359073ffffffffffffffffffffffffffffffffffffffff821682036106ba57565b600080fd5b6024359060ff821682036106ba57565b9181601f840112156106ba5782359167ffffffffffffffff83116106ba576020808501948460051b0101116106ba57565b9181601f840112156106ba5782359167ffffffffffffffff83116106ba57602083818601950101116106ba57565b6060810190811067ffffffffffffffff82111761074a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761074a57604052565b610100810190811067ffffffffffffffff82111761074a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761074a57604052565b60005b8381106108065750506000910152565b81810151838201526020016107f6565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610852815180928187528780880191016107f3565b0116010190565b81601f820112156106ba5780359067ffffffffffffffff821161074a57604051926108ac601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016602001856107b2565b828452602083830101116106ba57816000926020809301838601378301015290565b67ffffffffffffffff811161074a5760051b60200190565b604051906108f38261072e565b60006040838281528260208201520152565b35906fffffffffffffffffffffffffffffffff821682036106ba57565b80511561092f5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101561092f5760209160051b010190565b906020808351928381520192019060005b8181106109905750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610983565b939594906109fb60809460ff73ffffffffffffffffffffffffffffffffffffffff9586809516895216602088015260a0604088015260a0870190610972565b9616606085015216910152565b9473ffffffffffffffffffffffffffffffffffffffff610a48819560ff60a0989b9a96848097168b521660208a015260c060408a015260c0890190610972565b9816606087015216608085015216910152565b9693979297959095608052600060a052610a766080516108ce565b95610a8460405197886107b2565b60805187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610ab56080516108ce565b0160a0515b818110611573575050604051610acf81610795565b60a05181526060602082015260606040820152604051610aee81610779565b60a051815260a051602082015260a051604082015260a051606082015260a0516080820152606082015260a0516080820152606060a0820152606060c0820152610b366108e6565b60e0919091015260a051604096905b6080518110156110dc57600581901b8b0135368c90037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4101811215611070576101c0818d0136031261107057885190610b9d82610795565b808d013567ffffffffffffffff811681036110705782528c81016020013567ffffffffffffffff811161107057818e610bdc8d93369084840101610859565b602086015201013567ffffffffffffffff8111611070577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0828f8d610c2860a095369085850101610859565b90870152013603011261107057895160e0828f610c4484610779565b610c52606083830101610699565b8452610c62608083830101610699565b60208501528d610c7660a084840101610699565b90850152610c8860c083830101610699565b60608501520101359060ff82168203611070578e8161010093608086940152606086015201013560028110156110705760808301528c8101610120013567ffffffffffffffff811161107057818e610ce861014093369084840101610859565b60a08601520101359067ffffffffffffffff82116110705760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea08f93610d358491369083880101610859565b9460c08701958652013603011261107057806101608f928d5193610d588561072e565b0101358015158103611070578f91610d8b926101a0928552610d7f61018083830101610905565b60208601520101610905565b8b82015260e083015260a08201515115611076575b5060208101515115610e70575b8851610db98a826107b2565b6001815260a0515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b018110610e5f575090600192916020820151610dfe82610922565b52610e0881610922565b5067ffffffffffffffff8251169160e060a0820151910151918c5193610e2d85610779565b845260208401528b8301528060608301526080820152610e4d828c61095e565b52610e58818b61095e565b5001610b45565b806060602080938501015201610dc1565b8881015160608201519060a0830151602081805181010312611070576020015173ffffffffffffffffffffffffffffffffffffffff8116810361107057608084015190600282101561103f5773ffffffffffffffffffffffffffffffffffffffff8d610f9892610fbe96600160209660a0515060a0515014600014610ff45760808101518351610f3d9461013b9390929091899160ff16610f1183836107b2565b60a0805183525136813788858501511692896060818388015116960151169551998a9816908801610a08565b8d5192839181610f5681850197888151938492016107f3565b8301610f6a825180938580850191016107f3565b0101037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107b2565b51902073ffffffffffffffffffffffffffffffffffffffff60608401515116908a611644565b73ffffffffffffffffffffffffffffffffffffffff8a519116602082015260208152610fea8a826107b2565b6020820152610dad565b6080810151835161103a9461013b93909290919060ff168961101681846107b2565b60a080518452513681378881818787015116950151169451988997169087016109bc565b610f3d565b7f4e487b710000000000000000000000000000000000000000000000000000000060a051526021600452602460a051fd5b60a05180fd5b6110a590516020815191012073ffffffffffffffffffffffffffffffffffffffff60608401515116908a611644565b73ffffffffffffffffffffffffffffffffffffffff8a5191166020820152602081526110d18a826107b2565b60a082015238610da0565b50919493985091949660a05150600286101561103f5760206111eb93819260016111f099146000146114fc578a5161119a919061013b9061111d86826107b2565b60a080518252513681378d519485937f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000928a8801610a08565b6111bd878b519889968588013785019183830160a05181528151948592016107f3565b0101037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836107b2565b6115c0565b8251909273ffffffffffffffffffffffffffffffffffffffff84169290916020919061121c83826107b2565b60a08051825251368137843b15611070578351927fe8a1da17000000000000000000000000000000000000000000000000000000008452604484018560048601528251809152816064860193019060a0515b8181106114de575050507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160248501528251908183528083019281808460051b83010195019360a051915b84831061137457505050505050818060a05192038160a051875af1801561136857611356575b50813b15611070578051917ff2fde38b0000000000000000000000000000000000000000000000000000000083523360048401528260248160a0519360a051905af190811561134b5750611335575090565b60a051611341916107b2565b60a0516110705790565b513d60a051823e3d90fd5b60a051611362916107b2565b386112e3565b82513d60a051823e3d90fd5b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301835284875191610120810167ffffffffffffffff84511682528b83850151916101208585015282518091526101408401856101408360051b87010194019160a0515b81811061148f5750505050839260c0608061140e88958561147f9660019b01519086830390870152610816565b9461144b606082015160608601906fffffffffffffffffffffffffffffffff60408092805115158552826020820151166020860152015116910152565b01519101906fffffffffffffffffffffffffffffffff60408092805115158552826020820151166020860152015116910152565b98019301930191949392906112bd565b929596809194506114cb867ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec08a60019699030188528851610816565b960194019101908e928b969594926113e1565b825167ffffffffffffffff168552938301939183019160010161126e565b8a51909161156e919061013b9061151386846107b2565b60a080518452513681378d519485937f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000928987016109bc565b61119a565b60209060409a989a5161158581610779565b60a05181526060838201526060604082015261159f6108e6565b60608201526115ac6108e6565b608082015282828c01015201989698610aba565b9080511561161a576020815191016000f59073ffffffffffffffffffffffffffffffffffffffff8216156115f057565b7f741752c20000000000000000000000000000000000000000000000000000000060005260046000fd5b7f4ca249dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b90605592600b92604051926040840152602083015281520160ff8153209056fea164736f6c634300081a000a", + ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"tokenAdminRegistry\",\"type\":\"address\",\"internalType\":\"contract ITokenAdminRegistry\"},{\"name\":\"tokenAdminModule\",\"type\":\"address\",\"internalType\":\"contract RegistryModuleOwnerCustom\"},{\"name\":\"rmnProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"ccipRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"lockBox\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deployTokenAndTokenPool\",\"inputs\":[{\"name\":\"remoteTokenPools\",\"type\":\"tuple[]\",\"internalType\":\"struct TokenPoolFactory.RemoteTokenPoolInfo[]\",\"components\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"remotePoolAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remotePoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"poolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteTokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"rateLimiterConfig\",\"type\":\"tuple\",\"internalType\":\"struct RateLimiter.Config\",\"components\":[{\"name\":\"isEnabled\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"capacity\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"rate\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]}]},{\"name\":\"localTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"localPoolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"tokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"tokenPoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"deployTokenPoolWithExistingToken\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"localTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"localPoolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenPools\",\"type\":\"tuple[]\",\"internalType\":\"struct TokenPoolFactory.RemoteTokenPoolInfo[]\",\"components\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"remotePoolAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remotePoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"name\":\"poolType\",\"type\":\"uint8\",\"internalType\":\"enum TokenPoolFactory.PoolType\"},{\"name\":\"remoteTokenAddress\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"remoteTokenInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"rateLimiterConfig\",\"type\":\"tuple\",\"internalType\":\"struct RateLimiter.Config\",\"components\":[{\"name\":\"isEnabled\",\"type\":\"bool\",\"internalType\":\"bool\"},{\"name\":\"capacity\",\"type\":\"uint128\",\"internalType\":\"uint128\"},{\"name\":\"rate\",\"type\":\"uint128\",\"internalType\":\"uint128\"}]}]},{\"name\":\"tokenPoolInitCode\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"salt\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"poolAddress\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"typeAndVersion\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"string\",\"internalType\":\"string\"}],\"stateMutability\":\"view\"},{\"type\":\"event\",\"name\":\"RemoteChainConfigUpdated\",\"inputs\":[{\"name\":\"remoteChainSelector\",\"type\":\"uint64\",\"indexed\":true,\"internalType\":\"uint64\"},{\"name\":\"remoteChainConfig\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"struct TokenPoolFactory.RemoteChainConfig\",\"components\":[{\"name\":\"remotePoolFactory\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRouter\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteRMNProxy\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteLockBox\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"remoteTokenDecimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"Create2EmptyBytecode\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"FailedDeployment\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InsufficientBalance\",\"inputs\":[{\"name\":\"balance\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"needed\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"InvalidZeroAddress\",\"inputs\":[]}]", + Bin: "0x6101203461015c57601f61182938819003918201601f19168301916001600160401b038311848410176101615780849260a09460405283398101031261015c5780516001600160a01b038116919082810361015c5760208201516001600160a01b0381169182820361015c5761007760408501610177565b92610090608061008960608801610177565b9601610177565b9515908115610153575b508015610142575b8015610131575b8015610120575b61010f5760805260a05260c05260e0526101005260405161169d908161018c82396080518161028c015260a05181610207015260c0518181816111720152611546015260e05181818161115001526115240152610100518161112e0152f35b63f6b2911f60e01b60005260046000fd5b506001600160a01b038516156100b0565b506001600160a01b038416156100a9565b506001600160a01b038316156100a2565b9050153861009a565b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361015c5756fe60c080604052600436101561001357600080fd5b600090813560e01c908163111233601461057857508063181f5a77146104f957632e1ab66c1461004257600080fd5b3461045d5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d5760043567ffffffffffffffff811161046b576100919036906004016106cf565b6100996106bf565b916044359060028210156104f55760643567ffffffffffffffff81116104f1576100c7903690600401610859565b916084359367ffffffffffffffff85116104ed576100ec610178953690600401610700565b93909261017160405160208101906101678161013b3360a43586906034927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000091835260601b1660208201520190565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107b2565b51902096876115c0565b9788610a5b565b9173ffffffffffffffffffffffffffffffffffffffff821690813b1561045d576040517fc630948d00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152818160248183875af18015610460576104dd575b509073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561048f578280916024604051809481937f96ea2f7a0000000000000000000000000000000000000000000000000000000083528760048401525af18015610484579083916104c8575b505073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803b1561048f576040517f156194da000000000000000000000000000000000000000000000000000000008152826004820152838160248183865af180156104a8579084916104b3575b5050803b1561048f576040517f4e847fc700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff858116600483015286166024820152838160448183865af180156104a857908491610493575b5050803b1561048f576040517fddadfa8e00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851660048201523360248201529083908290604490829084905af180156104845790839161046f575b5050803b1561046b578180916024604051809481937ff2fde38b0000000000000000000000000000000000000000000000000000000083523360048401525af1801561046057610448575b50506040805173ffffffffffffffffffffffffffffffffffffffff928316815292909116602083015290f35b0390f35b6104538280926107b2565b61045d5780610418565b80fd5b6040513d84823e3d90fd5b5080fd5b81610479916107b2565b61046b5781386103cd565b6040513d85823e3d90fd5b8280fd5b8161049d916107b2565b61048f578238610360565b6040513d86823e3d90fd5b816104bd916107b2565b61048f5782386102f6565b816104d2916107b2565b61046b578138610273565b816104e7916107b2565b386101ee565b8680fd5b8580fd5b8480fd5b503461045d57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d575061044460405161053a6040826107b2565b601681527f546f6b656e506f6f6c466163746f727920312e352e31000000000000000000006020820152604051918291602083526020830190610816565b823461045d5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045d576004359173ffffffffffffffffffffffffffffffffffffffff8316830361046b576105d16106bf565b9160443590600282101561045d5760643567ffffffffffffffff811161046b576105ff9036906004016106cf565b9290916084359067ffffffffffffffff821161045d57602061067b89898989898961062d3660048c01610700565b60a4358a87019081523360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082015290969195610672816034840161013b565b51902096610a5b565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b359073ffffffffffffffffffffffffffffffffffffffff821682036106ba57565b600080fd5b6024359060ff821682036106ba57565b9181601f840112156106ba5782359167ffffffffffffffff83116106ba576020808501948460051b0101116106ba57565b9181601f840112156106ba5782359167ffffffffffffffff83116106ba57602083818601950101116106ba57565b6060810190811067ffffffffffffffff82111761074a57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761074a57604052565b610100810190811067ffffffffffffffff82111761074a57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761074a57604052565b60005b8381106108065750506000910152565b81810151838201526020016107f6565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602093610852815180928187528780880191016107f3565b0116010190565b81601f820112156106ba5780359067ffffffffffffffff821161074a57604051926108ac601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016602001856107b2565b828452602083830101116106ba57816000926020809301838601378301015290565b67ffffffffffffffff811161074a5760051b60200190565b604051906108f38261072e565b60006040838281528260208201520152565b35906fffffffffffffffffffffffffffffffff821682036106ba57565b80511561092f5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b805182101561092f5760209160051b010190565b906020808351928381520192019060005b8181106109905750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101610983565b939594906109fb60809460ff73ffffffffffffffffffffffffffffffffffffffff9586809516895216602088015260a0604088015260a0870190610972565b9616606085015216910152565b9473ffffffffffffffffffffffffffffffffffffffff610a48819560ff60a0989b9a96848097168b521660208a015260c060408a015260c0890190610972565b9816606087015216608085015216910152565b9693979297959095608052600060a052610a766080516108ce565b95610a8460405197886107b2565b60805187527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610ab56080516108ce565b0160a0515b818110611573575050604051610acf81610795565b60a05181526060602082015260606040820152604051610aee81610779565b60a051815260a051602082015260a051604082015260a051606082015260a0516080820152606082015260a0516080820152606060a0820152606060c0820152610b366108e6565b60e0919091015260a051604096905b6080518110156110dc57600581901b8b0135368c90037ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe4101811215611070576101c0818d0136031261107057885190610b9d82610795565b808d013567ffffffffffffffff811681036110705782528c81016020013567ffffffffffffffff811161107057818e610bdc8d93369084840101610859565b602086015201013567ffffffffffffffff8111611070577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0828f8d610c2860a095369085850101610859565b90870152013603011261107057895160e0828f610c4484610779565b610c52606083830101610699565b8452610c62608083830101610699565b60208501528d610c7660a084840101610699565b90850152610c8860c083830101610699565b60608501520101359060ff82168203611070578e8161010093608086940152606086015201013560028110156110705760808301528c8101610120013567ffffffffffffffff811161107057818e610ce861014093369084840101610859565b60a08601520101359067ffffffffffffffff82116110705760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffea08f93610d358491369083880101610859565b9460c08701958652013603011261107057806101608f928d5193610d588561072e565b0101358015158103611070578f91610d8b926101a0928552610d7f61018083830101610905565b60208601520101610905565b8b82015260e083015260a08201515115611076575b5060208101515115610e70575b8851610db98a826107b2565b6001815260a0515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08b018110610e5f575090600192916020820151610dfe82610922565b52610e0881610922565b5067ffffffffffffffff8251169160e060a0820151910151918c5193610e2d85610779565b845260208401528b8301528060608301526080820152610e4d828c61095e565b52610e58818b61095e565b5001610b45565b806060602080938501015201610dc1565b8881015160608201519060a0830151602081805181010312611070576020015173ffffffffffffffffffffffffffffffffffffffff8116810361107057608084015190600282101561103f5773ffffffffffffffffffffffffffffffffffffffff8d610f9892610fbe96600160209660a0515060a0515014600014610ff45760808101518351610f3d9461013b9390929091899160ff16610f1183836107b2565b60a0805183525136813788858501511692896060818388015116960151169551998a9816908801610a08565b8d5192839181610f5681850197888151938492016107f3565b8301610f6a825180938580850191016107f3565b0101037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352826107b2565b51902073ffffffffffffffffffffffffffffffffffffffff60608401515116908a61165a565b73ffffffffffffffffffffffffffffffffffffffff8a519116602082015260208152610fea8a826107b2565b6020820152610dad565b6080810151835161103a9461013b93909290919060ff168961101681846107b2565b60a080518452513681378881818787015116950151169451988997169087016109bc565b610f3d565b7f4e487b710000000000000000000000000000000000000000000000000000000060a051526021600452602460a051fd5b60a05180fd5b6110a590516020815191012073ffffffffffffffffffffffffffffffffffffffff60608401515116908a61165a565b73ffffffffffffffffffffffffffffffffffffffff8a5191166020820152602081526110d18a826107b2565b60a082015238610da0565b50919493985091949660a05150600286101561103f5760206111eb93819260016111f099146000146114fc578a5161119a919061013b9061111d86826107b2565b60a080518252513681378d519485937f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000928a8801610a08565b6111bd878b519889968588013785019183830160a05181528151948592016107f3565b0101037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018452836107b2565b6115c0565b8251909273ffffffffffffffffffffffffffffffffffffffff84169290916020919061121c83826107b2565b60a08051825251368137843b15611070578351927fe8a1da17000000000000000000000000000000000000000000000000000000008452604484018560048601528251809152816064860193019060a0515b8181106114de575050507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8483030160248501528251908183528083019281808460051b83010195019360a051915b84831061137457505050505050818060a05192038160a051875af1801561136857611356575b50813b15611070578051917ff2fde38b0000000000000000000000000000000000000000000000000000000083523360048401528260248160a0519360a051905af190811561134b5750611335575090565b60a051611341916107b2565b60a0516110705790565b513d60a051823e3d90fd5b60a051611362916107b2565b386112e3565b82513d60a051823e3d90fd5b9091929394957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe082820301835284875191610120810167ffffffffffffffff84511682528b83850151916101208585015282518091526101408401856101408360051b87010194019160a0515b81811061148f5750505050839260c0608061140e88958561147f9660019b01519086830390870152610816565b9461144b606082015160608601906fffffffffffffffffffffffffffffffff60408092805115158552826020820151166020860152015116910152565b01519101906fffffffffffffffffffffffffffffffff60408092805115158552826020820151166020860152015116910152565b98019301930191949392906112bd565b929596809194506114cb867ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec08a60019699030188528851610816565b960194019101908e928b969594926113e1565b825167ffffffffffffffff168552938301939183019160010161126e565b8a51909161156e919061013b9061151386846107b2565b60a080518452513681378d519485937f0000000000000000000000000000000000000000000000000000000000000000927f0000000000000000000000000000000000000000000000000000000000000000928987016109bc565b61119a565b60209060409a989a5161158581610779565b60a05181526060838201526060604082015261159f6108e6565b60608201526115ac6108e6565b608082015282828c01015201989698610aba565b90805115611630576020815191016000f5903d15198215166116245773ffffffffffffffffffffffffffffffffffffffff8216156115fa57565b7fb06ebf3d0000000000000000000000000000000000000000000000000000000060005260046000fd5b6040513d6000823e3d90fd5b7f4ca249dc0000000000000000000000000000000000000000000000000000000060005260046000fd5b60559173ffffffffffffffffffffffffffffffffffffffff93600b92604051926040840152602083015281520160ff815320169056fea164736f6c634300081a000a", } var TokenPoolFactoryABI = TokenPoolFactoryMetaData.ABI diff --git a/chains/evm/.gas-snapshot b/chains/evm/.gas-snapshot index 7d265dacd4..b6964965d4 100644 --- a/chains/evm/.gas-snapshot +++ b/chains/evm/.gas-snapshot @@ -46,10 +46,10 @@ CCVConfigValidation_validateDefaultAndMandatedCCVs:test_validateDefaultAndMandat CCVConfigValidation_validateDefaultAndMandatedCCVs:test_validateDefaultAndMandatedCCVs_OnlyMandatedProvided() (gas: 7620) CREATE2Factory_applyAllowListUpdates:test_applyAllowListUpdates() (gas: 56082) CREATE2Factory_applyAllowListUpdates:test_applyAllowListUpdates_SkipEmitWhen_NoOp() (gas: 29778) -CREATE2Factory_createAndCall:test_createAndCall_MultipleCalls() (gas: 252966) -CREATE2Factory_createAndCall:test_createAndCall_NoCalls() (gas: 237052) -CREATE2Factory_createAndCall:test_createAndCall_SingleCall() (gas: 248832) -CREATE2Factory_createAndTransferOwnership:test_createAndTransferOwnership() (gas: 247292) +CREATE2Factory_createAndCall:test_createAndCall_MultipleCalls() (gas: 253018) +CREATE2Factory_createAndCall:test_createAndCall_NoCalls() (gas: 237104) +CREATE2Factory_createAndCall:test_createAndCall_SingleCall() (gas: 248884) +CREATE2Factory_createAndTransferOwnership:test_createAndTransferOwnership() (gas: 247322) CommitteeVerifier_applyAllowlistUpdates:test_applyAllowlistUpdates_AsAllowlistAdmin() (gas: 93115) CommitteeVerifier_applyAllowlistUpdates:test_applyAllowlistUpdates_AsOwner() (gas: 94697) CommitteeVerifier_applyDestChainConfigUpdates:test_applyDestChainConfigUpdates() (gas: 47127) @@ -448,13 +448,13 @@ TokenAdminRegistry_removeRegistryModule:test_removeRegistryModule() (gas: 55228) TokenAdminRegistry_setPool:test_setPool() (gas: 36792) TokenAdminRegistry_setPool:test_setPool_ZeroAddressRemovesPool() (gas: 31885) TokenAdminRegistry_transferAdminRole:test_transferAdminRole() (gas: 50684) -TokenPoolFactory_createTokenPool:test_createTokenPoolLockRelease_ExistingToken_predict() (gas: 15886349) -TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool() (gas: 8835960) -TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool() (gas: 17507830) -TokenPoolFactory_createTokenPool:test_createTokenPool_RemoteTokenHasDifferentDecimals() (gas: 17515524) -TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict() (gas: 17891482) -TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain() (gas: 8642495) -TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool() (gas: 8832478) +TokenPoolFactory_createTokenPool:test_createTokenPoolLockRelease_ExistingToken_predict() (gas: 15892845) +TokenPoolFactory_createTokenPool:test_createTokenPool_BurnFromMintTokenPool() (gas: 8836028) +TokenPoolFactory_createTokenPool:test_createTokenPool_ExistingRemoteToken_AndPredictPool() (gas: 17514378) +TokenPoolFactory_createTokenPool:test_createTokenPool_RemoteTokenHasDifferentDecimals() (gas: 17522072) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingRemoteContracts_predict() (gas: 17898100) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithNoExistingTokenOnRemoteChain() (gas: 8642599) +TokenPoolFactory_createTokenPool:test_createTokenPool_WithRemoteTokenAndRemotePool() (gas: 8832546) TokenPoolV2_applyCCVConfigUpdates:test_applyCCVConfigUpdate() (gas: 137479) TokenPoolV2_applyCustomBlockConfirmationConfigUpdates:test_applyCustomBlockConfirmationConfigUpdates() (gas: 153600) TokenPoolV2_applyFee:test_applyFee_CustomFinality() (gas: 80909) diff --git a/chains/evm/contracts/CREATE2Factory.sol b/chains/evm/contracts/CREATE2Factory.sol index 619c4a51c4..9a9f9f57f3 100644 --- a/chains/evm/contracts/CREATE2Factory.sol +++ b/chains/evm/contracts/CREATE2Factory.sol @@ -6,8 +6,8 @@ import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/I import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {Create2} from "@openzeppelin/contracts@5.3.0/utils/Create2.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice A contract for deploying and configuring contracts via CREATE2. /// @dev This contract is used to deploy static, user-facing contracts (e.g. proxies) diff --git a/chains/evm/contracts/FeeQuoter.sol b/chains/evm/contracts/FeeQuoter.sol index 696d7e4217..ccfbec3714 100644 --- a/chains/evm/contracts/FeeQuoter.sol +++ b/chains/evm/contracts/FeeQuoter.sol @@ -12,7 +12,7 @@ import {Pool} from "./libraries/Pool.sol"; import {USDPriceWith18Decimals} from "./libraries/USDPriceWith18Decimals.sol"; import {AuthorizedCallers} from "@chainlink/contracts/src/v0.8/shared/access/AuthorizedCallers.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice The FeeQuoter contract responsibility is to: /// - Store the current gas price in USD for a given destination chain. diff --git a/chains/evm/contracts/Router.sol b/chains/evm/contracts/Router.sol index ec40c95e90..94bdc6f565 100644 --- a/chains/evm/contracts/Router.sol +++ b/chains/evm/contracts/Router.sol @@ -16,7 +16,7 @@ import {CallWithExactGas} from "@chainlink/contracts/src/v0.8/shared/call/CallWi import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @title Router /// @notice This is the entry point for the end user wishing to send data across chains. diff --git a/chains/evm/contracts/applications/CCIPReceiver.sol b/chains/evm/contracts/applications/CCIPReceiver.sol index 9375c64132..c765b1ad65 100644 --- a/chains/evm/contracts/applications/CCIPReceiver.sol +++ b/chains/evm/contracts/applications/CCIPReceiver.sol @@ -6,7 +6,7 @@ import {IAny2EVMMessageReceiverV2} from "../interfaces/IAny2EVMMessageReceiverV2 import {Client} from "../libraries/Client.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; /// @title CCIPReceiver - Base contract for CCIP applications that can receive messages. abstract contract CCIPReceiver is IAny2EVMMessageReceiverV2, IERC165 { diff --git a/chains/evm/contracts/ccvs/VersionedVerifierResolver.sol b/chains/evm/contracts/ccvs/VersionedVerifierResolver.sol index 09bb3e18dc..082a8779d8 100644 --- a/chains/evm/contracts/ccvs/VersionedVerifierResolver.sol +++ b/chains/evm/contracts/ccvs/VersionedVerifierResolver.sol @@ -6,7 +6,7 @@ import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/I import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice Resolves and returns the appropriate verifier contract for the given outbound / inbound traffic. /// @dev On source, the destChainSelector of a message is used to determine the verifier implementation to apply. diff --git a/chains/evm/contracts/ccvs/components/BaseVerifier.sol b/chains/evm/contracts/ccvs/components/BaseVerifier.sol index 3c03e454a4..94f47b938d 100644 --- a/chains/evm/contracts/ccvs/components/BaseVerifier.sol +++ b/chains/evm/contracts/ccvs/components/BaseVerifier.sol @@ -10,8 +10,8 @@ import {Client} from "../../libraries/Client.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; abstract contract BaseVerifier is ICrossChainVerifierV1, ITypeAndVersion { using EnumerableSet for EnumerableSet.AddressSet; diff --git a/chains/evm/contracts/ccvs/components/SignatureQuorumValidator.sol b/chains/evm/contracts/ccvs/components/SignatureQuorumValidator.sol index ca4fac0feb..05d1d39efa 100644 --- a/chains/evm/contracts/ccvs/components/SignatureQuorumValidator.sol +++ b/chains/evm/contracts/ccvs/components/SignatureQuorumValidator.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.4; import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; contract SignatureQuorumValidator is Ownable2StepMsgSender { using EnumerableSet for EnumerableSet.AddressSet; diff --git a/chains/evm/contracts/executor/Executor.sol b/chains/evm/contracts/executor/Executor.sol index 83644ee5ac..ba17c5e90f 100644 --- a/chains/evm/contracts/executor/Executor.sol +++ b/chains/evm/contracts/executor/Executor.sol @@ -7,7 +7,7 @@ import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice The Executor configures the supported destination chains and CCV limits for an executor. contract Executor is IExecutor, Ownable2StepMsgSender { diff --git a/chains/evm/contracts/interfaces/ICrossChainVerifierV1.sol b/chains/evm/contracts/interfaces/ICrossChainVerifierV1.sol index d634b01e50..4c22f7f6c7 100644 --- a/chains/evm/contracts/interfaces/ICrossChainVerifierV1.sol +++ b/chains/evm/contracts/interfaces/ICrossChainVerifierV1.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.0; import {Client} from "../libraries/Client.sol"; import {MessageV1Codec} from "../libraries/MessageV1Codec.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; interface ICrossChainVerifierV1 is IERC165 { /// @notice Verification of the message, in any way the OffRamp wants. This could be using a signature, a quorum diff --git a/chains/evm/contracts/interfaces/IPool.sol b/chains/evm/contracts/interfaces/IPool.sol index 553f8fcc41..26063d06c8 100644 --- a/chains/evm/contracts/interfaces/IPool.sol +++ b/chains/evm/contracts/interfaces/IPool.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.0; import {Pool} from "../libraries/Pool.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; /// @notice Shared public interface for multiple V1 pool types. /// Each pool type handles a different child token model e.g. lock/unlock, mint/burn. diff --git a/chains/evm/contracts/offRamp/OffRamp.sol b/chains/evm/contracts/offRamp/OffRamp.sol index 905a7f1ba5..e8812ffcc0 100644 --- a/chains/evm/contracts/offRamp/OffRamp.sol +++ b/chains/evm/contracts/offRamp/OffRamp.sol @@ -19,9 +19,9 @@ import {MessageV1Codec} from "../libraries/MessageV1Codec.sol"; import {Pool} from "../libraries/Pool.sol"; import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; -import {IERC20} from "@openzeppelin/contracts@5.0.2/token/ERC20/IERC20.sol"; -import {ERC165Checker} from "@openzeppelin/contracts@5.0.2/utils/introspection/ERC165Checker.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC20} from "@openzeppelin/contracts@5.3.0/token/ERC20/IERC20.sol"; +import {ERC165Checker} from "@openzeppelin/contracts@5.3.0/utils/introspection/ERC165Checker.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; contract OffRamp is ITypeAndVersion, Ownable2StepMsgSender { using ERC165Checker for address; diff --git a/chains/evm/contracts/onRamp/OnRamp.sol b/chains/evm/contracts/onRamp/OnRamp.sol index a3a5eff0d4..a97d8801c4 100644 --- a/chains/evm/contracts/onRamp/OnRamp.sol +++ b/chains/evm/contracts/onRamp/OnRamp.sol @@ -23,8 +23,8 @@ import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; // TODO post process hooks? contract OnRamp is IEVM2AnyOnRampClient, ITypeAndVersion, Ownable2StepMsgSender { diff --git a/chains/evm/contracts/pools/TokenPool.sol b/chains/evm/contracts/pools/TokenPool.sol index 8c6dddab68..d0de43a49b 100644 --- a/chains/evm/contracts/pools/TokenPool.sol +++ b/chains/evm/contracts/pools/TokenPool.sol @@ -15,8 +15,8 @@ import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {IERC20Metadata} from "@openzeppelin/contracts@4.8.3/token/ERC20/extensions/IERC20Metadata.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice Base abstract class with common functions for all token pools. /// A token pool serves as isolated place for holding tokens and token specific logic diff --git a/chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol b/chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol index 026a6a1cb3..fd2b2d0656 100644 --- a/chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol +++ b/chains/evm/contracts/pools/USDC/CCTPMessageTransmitterProxy.sol @@ -6,7 +6,7 @@ import {ITokenMessenger} from "./interfaces/ITokenMessenger.sol"; import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/ITypeAndVersion.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @title CCTP Message Transmitter Proxy /// @notice A proxy contract for handling messages transmitted via the Cross Chain Transfer Protocol (CCTP). diff --git a/chains/evm/contracts/pools/USDC/SiloedUSDCTokenPool.sol b/chains/evm/contracts/pools/USDC/SiloedUSDCTokenPool.sol index f90a9e5bae..a1b8e7a84d 100644 --- a/chains/evm/contracts/pools/USDC/SiloedUSDCTokenPool.sol +++ b/chains/evm/contracts/pools/USDC/SiloedUSDCTokenPool.sol @@ -7,7 +7,7 @@ import {SiloedLockReleaseTokenPool} from "../SiloedLockReleaseTokenPool.sol"; import {AuthorizedCallers} from "@chainlink/contracts/src/v0.8/shared/access/AuthorizedCallers.sol"; import {IBurnMintERC20} from "@chainlink/contracts/src/v0.8/shared/token/ERC20/IBurnMintERC20.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @dev The flag used to indicate that the source pool data is coming from a chain that does not have CCTP Support, /// and so the lock release pool should be used. The BurnMintWithLockReleaseTokenPool uses this flag as its source pool diff --git a/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndCall.t.sol b/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndCall.t.sol index a7a03131b4..88b9a93fb5 100644 --- a/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndCall.t.sol +++ b/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndCall.t.sol @@ -6,8 +6,6 @@ import {IOwnable} from "@chainlink/contracts/src/v0.8/shared/interfaces/IOwnable import {CREATE2Factory} from "../../CREATE2Factory.sol"; import {CREATE2FactorySetup, Storage} from "./CREATE2FactorySetup.t.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; - contract CREATE2Factory_createAndCall is CREATE2FactorySetup { function test_createAndCall_NoCalls() public { address predictedAddress = s_create2Factory.computeAddress(getStorageCreationCode(1), SALT); @@ -65,9 +63,11 @@ contract CREATE2Factory_createAndCall is CREATE2FactorySetup { s_create2Factory.createAndCall(getStorageCreationCode(1), SALT, new bytes[](0)); } - function test_createAndCall_RevertWhen_Create2FailedDeployment() public { + function test_createAndCall_RevertWhen_Create2FailedDeployment_Storage_InvalidValue() public { vm.startPrank(s_allowedCaller); - vm.expectRevert(abi.encodeWithSelector(Create2.Create2FailedDeployment.selector)); + + vm.expectRevert(abi.encodeWithSelector(Storage.InvalidValue.selector)); + s_create2Factory.createAndCall(getStorageCreationCode(0), SALT, new bytes[](0)); } diff --git a/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndTransferOwnership.t.sol b/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndTransferOwnership.t.sol index 270b58abe0..02c7c21daa 100644 --- a/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndTransferOwnership.t.sol +++ b/chains/evm/contracts/test/CREATE2Factory/CREATE2Factory.createAndTransferOwnership.t.sol @@ -4,9 +4,7 @@ pragma solidity ^0.8.24; import {IOwnable} from "@chainlink/contracts/src/v0.8/shared/interfaces/IOwnable.sol"; import {CREATE2Factory} from "../../CREATE2Factory.sol"; -import {CREATE2FactorySetup} from "./CREATE2FactorySetup.t.sol"; - -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; +import {CREATE2FactorySetup, Storage} from "./CREATE2FactorySetup.t.sol"; contract CREATE2Factory_createAndTransferOwnership is CREATE2FactorySetup { function test_createAndTransferOwnership() public { @@ -31,9 +29,11 @@ contract CREATE2Factory_createAndTransferOwnership is CREATE2FactorySetup { s_create2Factory.createAndTransferOwnership(getStorageCreationCode(1), SALT, OWNER); } - function test_createAndTransferOwnership_RevertWhen_Create2FailedDeployment() public { + function test_createAndTransferOwnership_RevertWhen_Create2FailedDeployment_Storage_InvalidValue() public { vm.startPrank(s_allowedCaller); - vm.expectRevert(abi.encodeWithSelector(Create2.Create2FailedDeployment.selector)); + + vm.expectRevert(abi.encodeWithSelector(Storage.InvalidValue.selector)); + s_create2Factory.createAndTransferOwnership(getStorageCreationCode(0), SALT, OWNER); } } diff --git a/chains/evm/contracts/test/applications/ImmutableExample/ImmutableExample.t.sol b/chains/evm/contracts/test/applications/ImmutableExample/ImmutableExample.t.sol index 3d7a246e8b..725fec84a9 100644 --- a/chains/evm/contracts/test/applications/ImmutableExample/ImmutableExample.t.sol +++ b/chains/evm/contracts/test/applications/ImmutableExample/ImmutableExample.t.sol @@ -7,7 +7,7 @@ import {Client} from "../../../libraries/Client.sol"; import {RouterSetup} from "../../Router/RouterSetup.t.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {ERC165Checker} from "@openzeppelin/contracts@5.0.2/utils/introspection/ERC165Checker.sol"; +import {ERC165Checker} from "@openzeppelin/contracts@5.3.0/utils/introspection/ERC165Checker.sol"; contract CCIPClientExample_sanity is RouterSetup { function test_ImmutableExamples() public { diff --git a/chains/evm/contracts/test/ccvs/components/BaseVerifier/BaseVerifier.supportsInterface.t.sol b/chains/evm/contracts/test/ccvs/components/BaseVerifier/BaseVerifier.supportsInterface.t.sol index 65230c5705..4c716400ae 100644 --- a/chains/evm/contracts/test/ccvs/components/BaseVerifier/BaseVerifier.supportsInterface.t.sol +++ b/chains/evm/contracts/test/ccvs/components/BaseVerifier/BaseVerifier.supportsInterface.t.sol @@ -5,7 +5,7 @@ import {ICrossChainVerifierV1} from "../../../../interfaces/ICrossChainVerifierV import {BaseVerifierSetup} from "./BaseVerifierSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract BaseVerifier_getStorageLocation is BaseVerifierSetup { function test_supportsInterface() public view { diff --git a/chains/evm/contracts/test/helpers/MultiTokenPool.sol b/chains/evm/contracts/test/helpers/MultiTokenPool.sol index e6405044af..c5f023f60a 100644 --- a/chains/evm/contracts/test/helpers/MultiTokenPool.sol +++ b/chains/evm/contracts/test/helpers/MultiTokenPool.sol @@ -10,8 +10,8 @@ import {RateLimiter} from "../../libraries/RateLimiter.sol"; import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice This contract is a proof of concept and should NOT be used in production. abstract contract MultiTokenPool is IPoolV1, Ownable2StepMsgSender { diff --git a/chains/evm/contracts/test/helpers/receivers/LogMessageDataReceiver.sol b/chains/evm/contracts/test/helpers/receivers/LogMessageDataReceiver.sol index 0d550ed287..48073b65c6 100644 --- a/chains/evm/contracts/test/helpers/receivers/LogMessageDataReceiver.sol +++ b/chains/evm/contracts/test/helpers/receivers/LogMessageDataReceiver.sol @@ -6,7 +6,7 @@ import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/I import {Client} from "../../../libraries/Client.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; /// @dev A contract that logs the data of a CCIP message received contract LogMessageDataReceiver is IAny2EVMMessageReceiver, ITypeAndVersion, IERC165 { diff --git a/chains/evm/contracts/test/helpers/receivers/MaybeRevertMessageReceiver.sol b/chains/evm/contracts/test/helpers/receivers/MaybeRevertMessageReceiver.sol index 7530507047..736895a8f5 100644 --- a/chains/evm/contracts/test/helpers/receivers/MaybeRevertMessageReceiver.sol +++ b/chains/evm/contracts/test/helpers/receivers/MaybeRevertMessageReceiver.sol @@ -3,8 +3,8 @@ pragma solidity ^0.8.24; import {IAny2EVMMessageReceiver} from "../../../interfaces/IAny2EVMMessageReceiver.sol"; import {Client} from "../../../libraries/Client.sol"; -import {IERC20} from "@openzeppelin/contracts@5.0.2/token/ERC20/IERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC20} from "@openzeppelin/contracts@5.3.0/token/ERC20/IERC20.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract MaybeRevertMessageReceiver is IAny2EVMMessageReceiver, IERC165 { error ReceiveRevert(); diff --git a/chains/evm/contracts/test/mocks/MockPoolV2.sol b/chains/evm/contracts/test/mocks/MockPoolV2.sol index 128110746c..be25abbe8e 100644 --- a/chains/evm/contracts/test/mocks/MockPoolV2.sol +++ b/chains/evm/contracts/test/mocks/MockPoolV2.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.24; import {IPoolV2} from "../../interfaces/IPoolV2.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract MockPoolV2 { address[] internal s_requiredCCVs; diff --git a/chains/evm/contracts/test/mocks/MockRouter.sol b/chains/evm/contracts/test/mocks/MockRouter.sol index 4652e1d0d7..b871b0a526 100644 --- a/chains/evm/contracts/test/mocks/MockRouter.sol +++ b/chains/evm/contracts/test/mocks/MockRouter.sol @@ -11,7 +11,7 @@ import {CallWithExactGas} from "@chainlink/contracts/src/v0.8/shared/call/CallWi import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/utils/SafeERC20.sol"; -import {ERC165Checker} from "@openzeppelin/contracts@5.0.2/utils/introspection/ERC165Checker.sol"; +import {ERC165Checker} from "@openzeppelin/contracts@5.3.0/utils/introspection/ERC165Checker.sol"; contract MockCCIPRouter is IRouter, IRouterClient { using SafeERC20 for IERC20; diff --git a/chains/evm/contracts/test/mocks/MockVerifier.sol b/chains/evm/contracts/test/mocks/MockVerifier.sol index 181beff36f..e0f0865079 100644 --- a/chains/evm/contracts/test/mocks/MockVerifier.sol +++ b/chains/evm/contracts/test/mocks/MockVerifier.sol @@ -7,7 +7,7 @@ import {ICrossChainVerifierV1} from "../../interfaces/ICrossChainVerifierV1.sol" import {Client} from "../../libraries/Client.sol"; import {MessageV1Codec} from "../../libraries/MessageV1Codec.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract MockVerifier is ICrossChainVerifierResolver, ICrossChainVerifierV1 { bytes private s_verifierResult; diff --git a/chains/evm/contracts/test/offRamp/OffRamp/OffRamp._getCCVsForMessage.t.sol b/chains/evm/contracts/test/offRamp/OffRamp/OffRamp._getCCVsForMessage.t.sol index 1266ddf375..6e6d389787 100644 --- a/chains/evm/contracts/test/offRamp/OffRamp/OffRamp._getCCVsForMessage.t.sol +++ b/chains/evm/contracts/test/offRamp/OffRamp/OffRamp._getCCVsForMessage.t.sol @@ -7,8 +7,8 @@ import {ITokenAdminRegistry} from "../../../interfaces/ITokenAdminRegistry.sol"; import {MessageV1Codec} from "../../../libraries/MessageV1Codec.sol"; import {OffRampSetup} from "./OffRampSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; contract OffRamp__getCCVsForMessage is OffRampSetup { using EnumerableSet for EnumerableSet.AddressSet; diff --git a/chains/evm/contracts/test/offRamp/OffRamp/OffRamp.executeSingleMessage.t.sol b/chains/evm/contracts/test/offRamp/OffRamp/OffRamp.executeSingleMessage.t.sol index 7449f68d2e..f4a4883884 100644 --- a/chains/evm/contracts/test/offRamp/OffRamp/OffRamp.executeSingleMessage.t.sol +++ b/chains/evm/contracts/test/offRamp/OffRamp/OffRamp.executeSingleMessage.t.sol @@ -13,7 +13,7 @@ import {MessageV1Codec} from "../../../libraries/MessageV1Codec.sol"; import {OffRamp} from "../../../offRamp/OffRamp.sol"; import {OffRampSetup} from "./OffRampSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract OffRamp_executeSingleMessage is OffRampSetup { function setUp() public virtual override { diff --git a/chains/evm/contracts/test/offRamp/OffRamp/OffRampSetup.t.sol b/chains/evm/contracts/test/offRamp/OffRamp/OffRampSetup.t.sol index c4c500e1fd..11d485edb4 100644 --- a/chains/evm/contracts/test/offRamp/OffRamp/OffRampSetup.t.sol +++ b/chains/evm/contracts/test/offRamp/OffRamp/OffRampSetup.t.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.24; import {IAny2EVMMessageReceiverV2} from "../../../interfaces/IAny2EVMMessageReceiverV2.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; import {OffRamp} from "../../../offRamp/OffRamp.sol"; import {BaseTest} from "../../BaseTest.t.sol"; diff --git a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.distributeFees.t.sol b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.distributeFees.t.sol index 3aafcfd50c..e17cd09f09 100644 --- a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.distributeFees.t.sol +++ b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.distributeFees.t.sol @@ -8,7 +8,7 @@ import {OnRamp} from "../../../onRamp/OnRamp.sol"; import {OnRampSetup} from "./OnRampSetup.t.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract OnRamp_distributeFees is OnRampSetup { address internal s_verifier = makeAddr("verifier"); diff --git a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getCCVsForPool.t.sol b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getCCVsForPool.t.sol index 870f432d00..6659926a41 100644 --- a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getCCVsForPool.t.sol +++ b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getCCVsForPool.t.sol @@ -9,7 +9,7 @@ import {OnRampHelper} from "../../helpers/OnRampHelper.sol"; import {MockPoolV2} from "../../mocks/MockPoolV2.sol"; import {OnRampSetup} from "./OnRampSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract OnRamp_getCCVsForPool is OnRampSetup { OnRampHelper internal s_OnRampHelper; diff --git a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getReceipts.t.sol b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getReceipts.t.sol index c812fe8e96..8c1a722ec5 100644 --- a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getReceipts.t.sol +++ b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.getReceipts.t.sol @@ -13,7 +13,7 @@ import {Pool} from "../../../libraries/Pool.sol"; import {OnRamp} from "../../../onRamp/OnRamp.sol"; import {OnRampSetup} from "./OnRampSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract OnRamp_getReceipts is OnRampSetup { uint32 internal constant EXECUTOR_DEST_GAS = BASE_EXEC_GAS_COST + GAS_LIMIT; diff --git a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.lockOrBurnSingleToken.t.sol b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.lockOrBurnSingleToken.t.sol index 3e863a20b4..ace1df8659 100644 --- a/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.lockOrBurnSingleToken.t.sol +++ b/chains/evm/contracts/test/onRamp/OnRamp/OnRamp.lockOrBurnSingleToken.t.sol @@ -11,7 +11,7 @@ import {OnRamp} from "../../../onRamp/OnRamp.sol"; import {OnRampHelper} from "../../helpers/OnRampHelper.sol"; import {OnRampSetup} from "./OnRampSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract OnRamp_lockOrBurnSingleToken is OnRampSetup { OnRampHelper internal s_onRampHelper; diff --git a/chains/evm/contracts/test/pools/LockReleaseTokenPool/LockReleaseTokenPool.supportsInterface.t.sol b/chains/evm/contracts/test/pools/LockReleaseTokenPool/LockReleaseTokenPool.supportsInterface.t.sol index bba7aa79bd..3ba0838434 100644 --- a/chains/evm/contracts/test/pools/LockReleaseTokenPool/LockReleaseTokenPool.supportsInterface.t.sol +++ b/chains/evm/contracts/test/pools/LockReleaseTokenPool/LockReleaseTokenPool.supportsInterface.t.sol @@ -5,7 +5,7 @@ import {IPoolV1} from "../../../interfaces/IPool.sol"; import {LockReleaseTokenPoolSetup} from "./LockReleaseTokenPoolSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract LockReleaseTokenPool_supportsInterface is LockReleaseTokenPoolSetup { function test_SupportsInterface() public view { diff --git a/chains/evm/contracts/test/pools/TokenPool/TokenPool.supportsInterface.t.sol b/chains/evm/contracts/test/pools/TokenPool/TokenPool.supportsInterface.t.sol index b72b832ced..478f24b30c 100644 --- a/chains/evm/contracts/test/pools/TokenPool/TokenPool.supportsInterface.t.sol +++ b/chains/evm/contracts/test/pools/TokenPool/TokenPool.supportsInterface.t.sol @@ -6,7 +6,7 @@ import {IPoolV2} from "../../../interfaces/IPoolV2.sol"; import {Pool} from "../../../libraries/Pool.sol"; import {TokenPoolV2Setup} from "./TokenPoolV2Setup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract TokenPoolV2_supportsInterface is TokenPoolV2Setup { function test_supportsInterface() public view { diff --git a/chains/evm/contracts/test/pools/USDC/USDCSetup.t.sol b/chains/evm/contracts/test/pools/USDC/USDCSetup.t.sol index f7874e079e..003f65ea7d 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCSetup.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCSetup.t.sol @@ -15,7 +15,7 @@ import {MockUSDCTokenMessenger} from "../../mocks/MockUSDCTokenMessenger.sol"; import {BurnMintERC20} from "@chainlink/contracts/src/v0.8/shared/token/ERC20/BurnMintERC20.sol"; import {IBurnMintERC20} from "@chainlink/contracts/src/v0.8/shared/token/ERC20/IBurnMintERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCSetup is BaseTest { struct USDCMessage { diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPool/USDCTokenPool.supportsInterface.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPool/USDCTokenPool.supportsInterface.t.sol index 223762bfba..75f85c0ab0 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPool/USDCTokenPool.supportsInterface.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPool/USDCTokenPool.supportsInterface.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.24; import {IPoolV1} from "../../../../interfaces/IPool.sol"; import {USDCTokenPoolSetup} from "./USDCTokenPoolSetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPool_supportsInterface is USDCTokenPoolSetup { function test_SupportsInterface() public view { diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.constructor.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.constructor.t.sol index a8034e098b..3dd7f5355f 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.constructor.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.constructor.t.sol @@ -7,7 +7,7 @@ import {USDCTokenPoolProxy} from "../../../../pools/USDC/USDCTokenPoolProxy.sol" import {USDCSetup} from "../USDCSetup.t.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPoolProxy_constructor is USDCSetup { address internal s_legacyCctpV1Pool = makeAddr("legacyCctpV1Pool"); diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.lockOrBurn.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.lockOrBurn.t.sol index aa5db65bae..7903834cd1 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.lockOrBurn.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.lockOrBurn.t.sol @@ -9,7 +9,7 @@ import {USDCTokenPoolProxy} from "../../../../pools/USDC/USDCTokenPoolProxy.sol" import {USDCTokenPoolProxySetup} from "./USDCTokenPoolProxySetup.t.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPoolProxy_lockOrBurn is USDCTokenPoolProxySetup { address internal s_sender = makeAddr("sender"); diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.releaseOrMint.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.releaseOrMint.t.sol index 0e74e747d3..b7e063be9e 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.releaseOrMint.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.releaseOrMint.t.sol @@ -11,7 +11,7 @@ import {USDCTokenPool} from "../../../../pools/USDC/USDCTokenPool.sol"; import {USDCTokenPoolProxy} from "../../../../pools/USDC/USDCTokenPoolProxy.sol"; import {USDCTokenPoolProxySetup} from "./USDCTokenPoolProxySetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPoolProxy_releaseOrMint is USDCTokenPoolProxySetup { address internal s_sender = makeAddr("sender"); diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updateLockReleasePoolAddresses.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updateLockReleasePoolAddresses.t.sol index 9df09129fe..c12980ae92 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updateLockReleasePoolAddresses.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updateLockReleasePoolAddresses.t.sol @@ -6,7 +6,7 @@ import {IPoolV1} from "../../../../interfaces/IPool.sol"; import {USDCTokenPoolProxy} from "../../../../pools/USDC/USDCTokenPoolProxy.sol"; import {USDCTokenPoolProxySetup} from "./USDCTokenPoolProxySetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPoolProxy_updateLockReleasePoolAddresses is USDCTokenPoolProxySetup { address internal s_newLockReleasePool1 = makeAddr("newLockReleasePool1"); diff --git a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updatePoolAddresses.t.sol b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updatePoolAddresses.t.sol index 9727012419..83356bf1a0 100644 --- a/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updatePoolAddresses.t.sol +++ b/chains/evm/contracts/test/pools/USDC/USDCTokenPoolProxy/USDCTokenPoolProxy.updatePoolAddresses.t.sol @@ -5,7 +5,7 @@ import {IPoolV1} from "../../../../interfaces/IPool.sol"; import {USDCTokenPoolProxy} from "../../../../pools/USDC/USDCTokenPoolProxy.sol"; import {USDCTokenPoolProxySetup} from "./USDCTokenPoolProxySetup.t.sol"; -import {IERC165} from "@openzeppelin/contracts@5.0.2/utils/introspection/IERC165.sol"; +import {IERC165} from "@openzeppelin/contracts@5.3.0/utils/introspection/IERC165.sol"; contract USDCTokenPoolProxy_updatePoolAddresses is USDCTokenPoolProxySetup { address internal s_newCctpV1Pool = makeAddr("newCctpV1Pool"); diff --git a/chains/evm/contracts/test/tokenAdminRegistry/RegistryModuleOwnerCustom/RegistryModuleOwnerCustom.registerAccessControlDefaultAdmin.t.sol b/chains/evm/contracts/test/tokenAdminRegistry/RegistryModuleOwnerCustom/RegistryModuleOwnerCustom.registerAccessControlDefaultAdmin.t.sol index 96ba547bcd..6d9faf1164 100644 --- a/chains/evm/contracts/test/tokenAdminRegistry/RegistryModuleOwnerCustom/RegistryModuleOwnerCustom.registerAccessControlDefaultAdmin.t.sol +++ b/chains/evm/contracts/test/tokenAdminRegistry/RegistryModuleOwnerCustom/RegistryModuleOwnerCustom.registerAccessControlDefaultAdmin.t.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.0; import {RegistryModuleOwnerCustom} from "../../../tokenAdminRegistry/RegistryModuleOwnerCustom.sol"; import {TokenAdminRegistry} from "../../../tokenAdminRegistry/TokenAdminRegistry.sol"; -import {AccessControl} from "@openzeppelin/contracts@5.0.2/access/AccessControl.sol"; +import {AccessControl} from "@openzeppelin/contracts@5.3.0/access/AccessControl.sol"; import {RegistryModuleOwnerCustomSetup} from "./RegistryModuleOwnerCustomSetup.t.sol"; diff --git a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.constructor.t.sol b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.constructor.t.sol index 84fc0f69d0..0d71b1af5a 100644 --- a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.constructor.t.sol +++ b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.constructor.t.sol @@ -7,7 +7,7 @@ import {RegistryModuleOwnerCustom} from "../../../tokenAdminRegistry/RegistryMod import {TokenPoolFactory} from "../../../tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol"; import {TokenPoolFactorySetup} from "./TokenPoolFactorySetup.t.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; +import {Create2} from "@openzeppelin/contracts@5.3.0/utils/Create2.sol"; contract TokenPoolFactory_constructor is TokenPoolFactorySetup { using Create2 for bytes32; diff --git a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.createTokenPool.t.sol b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.createTokenPool.t.sol index c57276b7fe..567c551eee 100644 --- a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.createTokenPool.t.sol +++ b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.createTokenPool.t.sol @@ -19,7 +19,7 @@ import {TokenPoolFactory} from "../../../tokenAdminRegistry/TokenPoolFactory/Tok import {TokenPoolFactorySetup} from "./TokenPoolFactorySetup.t.sol"; import {IERC20Metadata} from "@openzeppelin/contracts@4.8.3/token/ERC20/extensions/IERC20Metadata.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; +import {Create2} from "@openzeppelin/contracts@5.3.0/utils/Create2.sol"; contract TokenPoolFactory_createTokenPool is TokenPoolFactorySetup { using Create2 for bytes32; diff --git a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactorySetup.t.sol b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactorySetup.t.sol index cdb0743530..68ba909a63 100644 --- a/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactorySetup.t.sol +++ b/chains/evm/contracts/test/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactorySetup.t.sol @@ -6,7 +6,7 @@ import {RegistryModuleOwnerCustom} from "../../../tokenAdminRegistry/RegistryMod import {FactoryBurnMintERC20} from "../../../tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol"; import {TokenPoolFactory} from "../../../tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol"; import {TokenAdminRegistrySetup} from "../TokenAdminRegistry/TokenAdminRegistrySetup.t.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; +import {Create2} from "@openzeppelin/contracts@5.3.0/utils/Create2.sol"; contract TokenPoolFactorySetup is TokenAdminRegistrySetup { using Create2 for bytes32; diff --git a/chains/evm/contracts/tokenAdminRegistry/RegistryModuleOwnerCustom.sol b/chains/evm/contracts/tokenAdminRegistry/RegistryModuleOwnerCustom.sol index 4f2ff532d6..4cf8159a94 100644 --- a/chains/evm/contracts/tokenAdminRegistry/RegistryModuleOwnerCustom.sol +++ b/chains/evm/contracts/tokenAdminRegistry/RegistryModuleOwnerCustom.sol @@ -6,7 +6,7 @@ import {IOwner} from "../interfaces/IOwner.sol"; import {ITokenAdminRegistry} from "../interfaces/ITokenAdminRegistry.sol"; import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/ITypeAndVersion.sol"; -import {AccessControl} from "@openzeppelin/contracts@5.0.2/access/AccessControl.sol"; +import {AccessControl} from "@openzeppelin/contracts@5.3.0/access/AccessControl.sol"; contract RegistryModuleOwnerCustom is ITypeAndVersion { error CanOnlySelfRegister(address admin, address token); diff --git a/chains/evm/contracts/tokenAdminRegistry/TokenAdminRegistry.sol b/chains/evm/contracts/tokenAdminRegistry/TokenAdminRegistry.sol index a9e90f0c77..0cdaf801e0 100644 --- a/chains/evm/contracts/tokenAdminRegistry/TokenAdminRegistry.sol +++ b/chains/evm/contracts/tokenAdminRegistry/TokenAdminRegistry.sol @@ -7,7 +7,7 @@ import {ITypeAndVersion} from "@chainlink/contracts/src/v0.8/shared/interfaces/I import {Ownable2StepMsgSender} from "@chainlink/contracts/src/v0.8/shared/access/Ownable2StepMsgSender.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice This contract stores the token pool configuration for all CCIP enabled tokens. It works /// on a self-serve basis, where tokens can be registered without intervention from the CCIP owner. diff --git a/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol b/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol index 18fdc4a988..2980cb30c0 100644 --- a/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol +++ b/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/FactoryBurnMintERC20.sol @@ -13,7 +13,7 @@ import {ERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/ERC20.sol"; import {IERC20} from "@openzeppelin/contracts@4.8.3/token/ERC20/IERC20.sol"; import {ERC20Burnable} from "@openzeppelin/contracts@4.8.3/token/ERC20/extensions/ERC20Burnable.sol"; import {IERC165} from "@openzeppelin/contracts@4.8.3/utils/introspection/IERC165.sol"; -import {EnumerableSet} from "@openzeppelin/contracts@5.0.2/utils/structs/EnumerableSet.sol"; +import {EnumerableSet} from "@openzeppelin/contracts@5.3.0/utils/structs/EnumerableSet.sol"; /// @notice A basic ERC20 compatible token contract with burn and minting roles. /// @dev The constructor has been modified to support the deployment pattern used by a factory contract. diff --git a/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol b/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol index 7c65aec994..fecf1b7555 100644 --- a/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol +++ b/chains/evm/contracts/tokenAdminRegistry/TokenPoolFactory/TokenPoolFactory.sol @@ -10,7 +10,7 @@ import {TokenPool} from "../../pools/TokenPool.sol"; import {RegistryModuleOwnerCustom} from "../RegistryModuleOwnerCustom.sol"; import {FactoryBurnMintERC20} from "./FactoryBurnMintERC20.sol"; -import {Create2} from "@openzeppelin/contracts@5.0.2/utils/Create2.sol"; +import {Create2} from "@openzeppelin/contracts@5.3.0/utils/Create2.sol"; /// @notice A contract for deploying new tokens and token pools, and configuring them with the token admin registry. /// @dev At the end of the transaction, the ownership transfer process will begin, but the user must accept the diff --git a/chains/evm/gobindings/generation/generated-wrapper-dependency-versions-do-not-edit.txt b/chains/evm/gobindings/generation/generated-wrapper-dependency-versions-do-not-edit.txt index b1fd1ac257..aa71439cde 100644 --- a/chains/evm/gobindings/generation/generated-wrapper-dependency-versions-do-not-edit.txt +++ b/chains/evm/gobindings/generation/generated-wrapper-dependency-versions-do-not-edit.txt @@ -8,7 +8,7 @@ ccip_reader_tester: ../solc/ccip/CCIPReaderTester/CCIPReaderTester.sol/CCIPReade cctp_message_transmitter_proxy: ../solc/ccip/CCTPMessageTransmitterProxy/CCTPMessageTransmitterProxy.sol/CCTPMessageTransmitterProxy.abi.json ../solc/ccip/CCTPMessageTransmitterProxy/CCTPMessageTransmitterProxy.sol/CCTPMessageTransmitterProxy.bin 317cfccc1928e3a2db5558ff1d88acd0216894eb00aa97082418297fa63201be cctp_verifier: ../solc/ccip/CCTPVerifier/CCTPVerifier.sol/CCTPVerifier.abi.json ../solc/ccip/CCTPVerifier/CCTPVerifier.sol/CCTPVerifier.bin c67608c2f595670b07dd25c2e3074a86a0293fd5999eaf06b459db0af3ba6ab0 committee_verifier: ../solc/ccip/CommitteeVerifier/CommitteeVerifier.sol/CommitteeVerifier.abi.json ../solc/ccip/CommitteeVerifier/CommitteeVerifier.sol/CommitteeVerifier.bin 6c46e531d480c60f1bb369e8619c4fccd29bf0ef3794766ff1d7611ed690602b -create2_factory: ../solc/ccip/CREATE2Factory/CREATE2Factory.sol/CREATE2Factory.abi.json ../solc/ccip/CREATE2Factory/CREATE2Factory.sol/CREATE2Factory.bin f1a46dd13dc167ef79d910c2edc6b09af1a97d9fa830322b3a5a5aa90cc87005 +create2_factory: ../solc/ccip/CREATE2Factory/CREATE2Factory.sol/CREATE2Factory.abi.json ../solc/ccip/CREATE2Factory/CREATE2Factory.sol/CREATE2Factory.bin 4a60979c0e9f72d15864f81198c07d66aabd8dc3aef3c6f465f0263945cb24b2 don_id_claimer: ../solc/ccip/DonIDClaimer/DonIDClaimer.sol/DonIDClaimer.abi.json ../solc/ccip/DonIDClaimer/DonIDClaimer.sol/DonIDClaimer.bin 2ef6cba2f8e258c9d6f2dd55f8d2fc59ae5f686af609ed7d298e8ae9c3923448 erc20_lock_box: ../solc/ccip/ERC20LockBox/ERC20LockBox.sol/ERC20LockBox.abi.json ../solc/ccip/ERC20LockBox/ERC20LockBox.sol/ERC20LockBox.bin 47c6dd37468f224895201c0f135706ca2b26476c06f37e0fe0b6c022885da565 ether_sender_receiver: ../solc/ccip/EtherSenderReceiver/EtherSenderReceiver.sol/EtherSenderReceiver.abi.json ../solc/ccip/EtherSenderReceiver/EtherSenderReceiver.sol/EtherSenderReceiver.bin 2917f8f44c1cebc5a475b03c7fb91f9ee6e45905b2c2f559d98de8d5621e286a @@ -42,7 +42,7 @@ siloed_lock_release_token_pool: ../solc/ccip/SiloedLockReleaseTokenPool/SiloedLo siloed_usdc_token_pool: ../solc/ccip/SiloedUSDCTokenPool/SiloedUSDCTokenPool.sol/SiloedUSDCTokenPool.abi.json ../solc/ccip/SiloedUSDCTokenPool/SiloedUSDCTokenPool.sol/SiloedUSDCTokenPool.bin c1fe2af3e9d72e83d00cab34115b7287bdf40f6298b7a849a4bb521a62abb1c9 token_admin_registry: ../solc/ccip/TokenAdminRegistry/TokenAdminRegistry.sol/TokenAdminRegistry.abi.json ../solc/ccip/TokenAdminRegistry/TokenAdminRegistry.sol/TokenAdminRegistry.bin 086268b9df56e089a69a96ce3e4fd03a07a00a1c8812ba9504e31930a5c3ff1d token_pool: ../solc/ccip/TokenPool/TokenPool.sol/TokenPool.abi.json ../solc/ccip/TokenPool/TokenPool.sol/TokenPool.bin c5d5058600cad43aeaac8142778b2022cd9e18fd2b47048c1f546c3c2d585c0f -token_pool_factory: ../solc/ccip/TokenPoolFactory/TokenPoolFactory.sol/TokenPoolFactory.abi.json ../solc/ccip/TokenPoolFactory/TokenPoolFactory.sol/TokenPoolFactory.bin 860ea0bf00eeaf62e567b6b9ec148859db023bc52001558823688066b9a64dfb +token_pool_factory: ../solc/ccip/TokenPoolFactory/TokenPoolFactory.sol/TokenPoolFactory.abi.json ../solc/ccip/TokenPoolFactory/TokenPoolFactory.sol/TokenPoolFactory.bin 7ff197dc7b2df562ab734a81aac39dadffba033a63b3a3543d61289bdc01c1e5 usdc_reader_tester: ../solc/ccip/USDCReaderTester/USDCReaderTester.sol/USDCReaderTester.abi.json ../solc/ccip/USDCReaderTester/USDCReaderTester.sol/USDCReaderTester.bin 7622b1e42bc9c3933c51607d765d8463796c615155596929e554a58ed68b263d usdc_token_pool: ../solc/ccip/USDCTokenPool/USDCTokenPool.sol/USDCTokenPool.abi.json ../solc/ccip/USDCTokenPool/USDCTokenPool.sol/USDCTokenPool.bin f0aff7efe35023f975f22e2f07f646f442ff8c4aa8108b5104eb168d061bdc69 usdc_token_pool_cctp_v2: ../solc/ccip/USDCTokenPoolCCTPV2/USDCTokenPoolCCTPV2.sol/USDCTokenPoolCCTPV2.abi.json ../solc/ccip/USDCTokenPoolCCTPV2/USDCTokenPoolCCTPV2.sol/USDCTokenPoolCCTPV2.bin 042b0e1c44afcaa645876e1eafc2a68e0353924559625339ed8cc6d99e6306db diff --git a/chains/evm/package.json b/chains/evm/package.json index 6cf20ffef7..66eba515a5 100644 --- a/chains/evm/package.json +++ b/chains/evm/package.json @@ -51,7 +51,7 @@ "@changesets/cli": "^2.29.7", "@changesets/get-github-info": "^0.6.0", "@openzeppelin/contracts-4.8.3": "npm:@openzeppelin/contracts@4.8.3", - "@openzeppelin/contracts-5.0.2": "npm:@openzeppelin/contracts@5.0.2", + "@openzeppelin/contracts-5.3.0": "npm:@openzeppelin/contracts@5.3.0", "semver": "^7.7.2" }, "devDependencies": { diff --git a/chains/evm/pnpm-lock.yaml b/chains/evm/pnpm-lock.yaml index 841e0e11c7..d7b264144c 100644 --- a/chains/evm/pnpm-lock.yaml +++ b/chains/evm/pnpm-lock.yaml @@ -23,9 +23,9 @@ importers: '@openzeppelin/contracts-4.8.3': specifier: npm:@openzeppelin/contracts@4.8.3 version: '@openzeppelin/contracts@4.8.3' - '@openzeppelin/contracts-5.0.2': - specifier: npm:@openzeppelin/contracts@5.0.2 - version: '@openzeppelin/contracts@5.0.2' + '@openzeppelin/contracts-5.3.0': + specifier: npm:@openzeppelin/contracts@5.3.0 + version: '@openzeppelin/contracts@5.3.0' semver: specifier: ^7.7.2 version: 7.7.2 @@ -277,6 +277,9 @@ packages: '@openzeppelin/contracts@5.1.0': resolution: {integrity: sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA==} + '@openzeppelin/contracts@5.3.0': + resolution: {integrity: sha512-zj/KGoW7zxWUE8qOI++rUM18v+VeLTTzKs/DJFkSzHpQFPD/jKKF0TrMxBfGLl3kpdELCNccvB3zmofSzm4nlA==} + '@pnpm/config.env-replace@1.1.0': resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} engines: {node: '>=12.22.0'} @@ -1729,6 +1732,8 @@ snapshots: '@openzeppelin/contracts@5.1.0': {} + '@openzeppelin/contracts@5.3.0': {} + '@pnpm/config.env-replace@1.1.0': {} '@pnpm/network.ca-file@1.0.2': diff --git a/chains/evm/remappings.txt b/chains/evm/remappings.txt index 216035a66e..5abdd9626b 100644 --- a/chains/evm/remappings.txt +++ b/chains/evm/remappings.txt @@ -2,4 +2,4 @@ forge-std/=node_modules/@chainlink/contracts/src/v0.8/vendor/forge-std/src/ @chainlink/contracts/=node_modules/@chainlink/contracts/ @openzeppelin/contracts@4.8.3=node_modules/@openzeppelin/contracts-4.8.3 -@openzeppelin/contracts@5.0.2=node_modules/@openzeppelin/contracts-5.0.2 \ No newline at end of file +@openzeppelin/contracts@5.3.0=node_modules/@openzeppelin/contracts-5.3.0 \ No newline at end of file