7 txs
48 calls
constructor
constructor(address _router, address _ccipClient)
functions
allowedPeer
viewfunction allowedPeer(uint64, address) view returns (bool)
calculateCcSendMintBudgetFeeAndMessage
viewfunction calculateCcSendMintBudgetFeeAndMessage(uint64 destinationChainSelector, address messageReceiver, uint112 value, bytes extraArgs) view returns (uint256 fee, tuple evm2AnyMessage)
calculateCCSendTokenFeeAndMessage
viewfunction calculateCCSendTokenFeeAndMessage(uint64 destinationChainSelector, address messageReceiver, address sender, address recipient, uint256 value, bytes extraArgs) view returns (uint256 fee, tuple evm2AnyMessage)
ccipClient
viewfunction ccipClient() view returns (address)
getFeeAndMessage
viewfunction getFeeAndMessage(uint64 destinationChainSelector, address messageReceiver, bytes extraArgs, bytes data) view returns (uint256 fee, tuple evm2AnyMessage)
getRouter
viewfunction getRouter() view returns (address)
owner
viewfunction owner() view returns (address)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
acceptOwnership
nonpayablefunction acceptOwnership()
ccipReceive
nonpayablefunction ccipReceive(tuple message)
sendMintBudgetToChain
payablefunction sendMintBudgetToChain(uint64 destinationChainSelector, address messageReceiver, uint112 value, bytes extraArgs) payable returns (bytes32 messageId)
sendTokenToChain
payablefunction sendTokenToChain(uint64 destinationChainSelector, address messageReceiver, address recipient, uint256 value, bytes extraArgs) payable returns (bytes32 messageId)
setAllowedPeer
nonpayablefunction setAllowedPeer(uint64 chainSelector, address messager, bool allowed)
transferOwnership
nonpayablefunction transferOwnership(address to)
events
AllowedPeer
event AllowedPeer(uint64 chainSelector, address messager, bool allowed)
CCReceive
event CCReceive(bytes32 indexed messageID, bytes messageData)
CCSendMintBudget
event CCSendMintBudget(bytes32 indexed messageID, bytes messageData)
CCSendToken
event CCSendToken(bytes32 indexed messageID, bytes messageData)
OwnershipTransferred
event OwnershipTransferred(address indexed from, address indexed to)
OwnershipTransferRequested
event OwnershipTransferRequested(address indexed from, address indexed to)
errors
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
InsufficientFee
error InsufficientFee(uint256 required, uint256 actual)
InvalidRouter
error InvalidRouter(address router)
NotInAllowListed
error NotInAllowListed(uint64 chainSelector, address messager)
creation bytecode
0x60a06040523480156200001157600080fd5b5060405162001c5d38038062001c5d8339810160408190526200003491620001ee565b33806000846001600160a01b03811662000069576040516335fdcccd60e21b8152600060048201526024015b60405180910390fd5b6001600160a01b039081166080528216620000c75760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000604482015260640162000060565b600080546001600160a01b0319166001600160a01b0384811691909117909155811615620000fa57620000fa8162000126565b5050600280546001600160a01b0319166001600160a01b03939093169290921790915550620002269050565b336001600160a01b03821603620001805760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640162000060565b600180546001600160a01b0319166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b80516001600160a01b0381168114620001e957600080fd5b919050565b600080604083850312156200020257600080fd5b6200020d83620001d1565b91506200021d60208401620001d1565b90509250929050565b6080516119ff6200025e600039600081816102b00152818161098101528181610b0b01528181610ce20152610dd001526119ff6000f3fe6080604052600436106100dd5760003560e01c806354e6ca701161007f5780638da5cb5b116100595780638da5cb5b146102635780639c363f8b14610281578063b0f479a1146102a1578063f2fde38b146102d457600080fd5b806354e6ca70146101f657806379ba50971461022e57806385572ffb1461024357600080fd5b806314f9dfbb116100bb57806314f9dfbb1461017457806319c45564146101a25780631b6341ca146101c35780632b396ed0146101e357600080fd5b806301ffc9a7146100e2578063024135f614610117578063045e3af214610139575b600080fd5b3480156100ee57600080fd5b506101026100fd366004611152565b6102f4565b60405190151581526020015b60405180910390f35b34801561012357600080fd5b506101376101323660046111cd565b61038d565b005b34801561014557600080fd5b5061010261015436600461121b565b600360209081526000928352604080842090915290825290205460ff1681565b34801561018057600080fd5b5061019461018f36600461129b565b610416565b60405161010e92919061143b565b6101b56101b036600461145c565b61050b565b60405190815260200161010e565b3480156101cf57600080fd5b506101946101de3660046114df565b610668565b6101b56101f136600461129b565b610760565b34801561020257600080fd5b50600254610216906001600160a01b031681565b6040516001600160a01b03909116815260200161010e565b34801561023a57600080fd5b506101376108b8565b34801561024f57600080fd5b5061013761025e366004611575565b610976565b34801561026f57600080fd5b506000546001600160a01b0316610216565b34801561028d57600080fd5b5061019461029c3660046116c1565b6109ee565b3480156102ad57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610216565b3480156102e057600080fd5b506101376102ef36600461174e565b610b8f565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f85572ffb00000000000000000000000000000000000000000000000000000000148061038757507fffffffff0000000000000000000000000000000000000000000000000000000082167f01ffc9a700000000000000000000000000000000000000000000000000000000145b92915050565b610395610ba0565b67ffffffffffffffff831660008181526003602090815260408083206001600160a01b03871680855290835292819020805460ff1916861515908117909155815194855291840192909252908201527fe897bd60162c3b4a2b1db646658f212d1338043268b8e8544c54f34a224a24f19060600160405180910390a1505050565b60006104536040518060a0016040528060608152602001606081526020016060815260200160006001600160a01b03168152602001606081525090565b6002546040517f7f2bbc0e0000000000000000000000000000000000000000000000000000000081526dffffffffffffffffffffffffffff871660048201526000916001600160a01b031690637f2bbc0e90602401600060405180830381865afa1580156104c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104ed919081019061176b565b90506104fc88888787856109ee565b92509250509550959350505050565b67ffffffffffffffff861660009081526003602090815260408083206001600160a01b038916845290915281205460ff166105795760405163a0280ae760e01b815267ffffffffffffffff881660048201526001600160a01b03871660248201526044015b60405180910390fd5b6002546040517fb85764f50000000000000000000000000000000000000000000000000000000081523360048201526001600160a01b03878116602483015260448201879052600092169063b85764f5906064016000604051808303816000875af11580156105ec573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610614919081019061176b565b90506106238888868685610bfc565b9150817f33025ba6b00deb9d8b01d53d63796788e0e248ae9499e54610fe38bce2444e588260405161065591906117e2565b60405180910390a2509695505050505050565b60006106a56040518060a0016040528060608152602001606081526020016060815260200160006001600160a01b03168152602001606081525090565b6002546040517f881fe0540000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152888116602483015260448201889052600092169063881fe05490606401600060405180830381865afa158015610718573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610740919081019061176b565b905061074f8a8a8787856109ee565b925092505097509795505050505050565b67ffffffffffffffff851660009081526003602090815260408083206001600160a01b038816845290915281205460ff166107c95760405163a0280ae760e01b815267ffffffffffffffff871660048201526001600160a01b0386166024820152604401610570565b6002546040517fa2ae87fa0000000000000000000000000000000000000000000000000000000081526dffffffffffffffffffffffffffff861660048201526000916001600160a01b03169063a2ae87fa906024016000604051808303816000875af115801561083d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610865919081019061176b565b90506108748787868685610bfc565b9150817ffded04ddd0bd554dd80207f5cf62753799df9161f2d830a74804c9adc4b0c741826040516108a691906117e2565b60405180910390a25095945050505050565b6001546001600160a01b031633146109125760405162461bcd60e51b815260206004820152601660248201527f4d7573742062652070726f706f736564206f776e6572000000000000000000006044820152606401610570565b600080543373ffffffffffffffffffffffffffffffffffffffff19808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109da576040517fd7f73334000000000000000000000000000000000000000000000000000000008152336004820152602401610570565b6109eb6109e6826118a2565b610e7f565b50565b6000610a2b6040518060a0016040528060608152602001606081526020016060815260200160006001600160a01b03168152602001606081525090565b6040805160a081019091526001600160a01b03871660c08201528060e0810160408051808303601f190181529181529082526020808301879052815160008082529181018352929091019190610aa3565b6040805180820190915260008082526020820152815260200190600190039081610a7c5790505b50815260200160006001600160a01b0316815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152506040516320487ded60e01b81529091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320487ded90610b42908a90859060040161194f565b602060405180830381865afa158015610b5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b839190611972565b91509550959350505050565b610b97610ba0565b6109eb81610fce565b6000546001600160a01b03163314610bfa5760405162461bcd60e51b815260206004820152601660248201527f4f6e6c792063616c6c61626c65206279206f776e6572000000000000000000006044820152606401610570565b565b6040805160a081019091526001600160a01b03851660c082015260009081908060e0810160408051808303601f190181529181529082526020808301879052815160008082529181018352929091019190610c79565b6040805180820190915260008082526020820152815260200190600190039081610c525790505b50815260200160006001600160a01b0316815260200186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052509390945250506040516320487ded60e01b8152929350916001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691506320487ded90610d1a908b90869060040161194f565b602060405180830381865afa158015610d37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d5b9190611972565b905080341015610da0576040517fa458261b00000000000000000000000000000000000000000000000000000000815260048101829052346024820152604401610570565b6040517f96f4e9f90000000000000000000000000000000000000000000000000000000081526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906396f4e9f9908390610e09908c90879060040161194f565b60206040518083038185885af1158015610e27573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610e4c9190611972565b92506000610e5a823461198b565b1115610e7457610e74610e6d823461198b565b3390611084565b505095945050505050565b60008160400151806020019051810190610e9991906119ac565b60208084015167ffffffffffffffff1660009081526003825260408082206001600160a01b0385168352909252205490915060ff16610f0c57602082015160405163a0280ae760e01b815267ffffffffffffffff90911660048201526001600160a01b0382166024820152604401610570565b60025460608301516040517ff6ec1c4d0000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163f6ec1c4d91610f58916004016117e2565b600060405180830381600087803b158015610f7257600080fd5b505af1158015610f86573d6000803e3d6000fd5b5050505081600001517fa76e8bfca7bc12668a76418f51e4b6a884e03734335e3ad93d4d6355af6497708360600151604051610fc291906117e2565b60405180910390a25050565b336001600160a01b038216036110265760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c660000000000000000006044820152606401610570565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383811691821790925560008054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b804710156110c0576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610570565b6000826001600160a01b03168260405160006040518083038185875af1925050503d806000811461110d576040519150601f19603f3d011682016040523d82523d6000602084013e611112565b606091505b505090508061114d576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006020828403121561116457600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461119457600080fd5b9392505050565b803567ffffffffffffffff811681146111b357600080fd5b919050565b6001600160a01b03811681146109eb57600080fd5b6000806000606084860312156111e257600080fd5b6111eb8461119b565b925060208401356111fb816111b8565b91506040840135801515811461121057600080fd5b809150509250925092565b6000806040838503121561122e57600080fd5b6112378361119b565b91506020830135611247816111b8565b809150509250929050565b60008083601f84011261126457600080fd5b50813567ffffffffffffffff81111561127c57600080fd5b60208301915083602082850101111561129457600080fd5b9250929050565b6000806000806000608086880312156112b357600080fd5b6112bc8661119b565b945060208601356112cc816111b8565b935060408601356dffffffffffffffffffffffffffff811681146112ef57600080fd5b9250606086013567ffffffffffffffff81111561130b57600080fd5b61131788828901611252565b969995985093965092949392505050565b60005b8381101561134357818101518382015260200161132b565b50506000910152565b60008151808452611364816020860160208601611328565b601f01601f19169290920160200192915050565b6000815160a0845261138d60a085018261134c565b9050602080840151858303828701526113a6838261134c565b60408681015188830389830152805180845290850195509092506000918401905b808310156113f957855180516001600160a01b03168352850151858301529484019460019290920191908301906113c7565b506060870151945061141660608901866001600160a01b03169052565b60808701519450878103608089015261142f818661134c565b98975050505050505050565b8281526040602082015260006114546040830184611378565b949350505050565b60008060008060008060a0878903121561147557600080fd5b61147e8761119b565b9550602087013561148e816111b8565b9450604087013561149e816111b8565b935060608701359250608087013567ffffffffffffffff8111156114c157600080fd5b6114cd89828a01611252565b979a9699509497509295939492505050565b600080600080600080600060c0888a0312156114fa57600080fd5b6115038861119b565b96506020880135611513816111b8565b95506040880135611523816111b8565b94506060880135611533816111b8565b93506080880135925060a088013567ffffffffffffffff81111561155657600080fd5b6115628a828b01611252565b989b979a50959850939692959293505050565b60006020828403121561158757600080fd5b813567ffffffffffffffff81111561159e57600080fd5b820160a0818503121561119457600080fd5b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156115e9576115e96115b0565b60405290565b60405160a0810167ffffffffffffffff811182821017156115e9576115e96115b0565b604051601f8201601f1916810167ffffffffffffffff8111828210171561163b5761163b6115b0565b604052919050565b600067ffffffffffffffff82111561165d5761165d6115b0565b50601f01601f191660200190565b600082601f83011261167c57600080fd5b813561168f61168a82611643565b611612565b8181528460208386010111156116a457600080fd5b816020850160208301376000918101602001919091529392505050565b6000806000806000608086880312156116d957600080fd5b6116e28661119b565b945060208601356116f2816111b8565b9350604086013567ffffffffffffffff8082111561170f57600080fd5b61171b89838a01611252565b9095509350606088013591508082111561173457600080fd5b506117418882890161166b565b9150509295509295909350565b60006020828403121561176057600080fd5b8135611194816111b8565b60006020828403121561177d57600080fd5b815167ffffffffffffffff81111561179457600080fd5b8201601f810184136117a557600080fd5b80516117b361168a82611643565b8181528560208385010111156117c857600080fd5b6117d9826020830160208601611328565b95945050505050565b602081526000611194602083018461134c565b600082601f83011261180657600080fd5b8135602067ffffffffffffffff821115611822576118226115b0565b611830818360051b01611612565b82815260069290921b8401810191818101908684111561184f57600080fd5b8286015b84811015611897576040818903121561186c5760008081fd5b6118746115c6565b813561187f816111b8565b81528185013585820152835291830191604001611853565b509695505050505050565b600060a082360312156118b457600080fd5b6118bc6115ef565b823581526118cc6020840161119b565b6020820152604083013567ffffffffffffffff808211156118ec57600080fd5b6118f83683870161166b565b6040840152606085013591508082111561191157600080fd5b61191d3683870161166b565b6060840152608085013591508082111561193657600080fd5b50611943368286016117f5565b60808301525092915050565b67ffffffffffffffff831681526040602082015260006114546040830184611378565b60006020828403121561198457600080fd5b5051919050565b8181038181111561038757634e487b7160e01b600052601160045260246000fd5b6000602082840312156119be57600080fd5b8151611194816111b856fea2646970667358221220dc9777e91fa9a5081d3e25d3494b66f9df273dd58ffdf246bf971f3ab05d5f3464736f6c6343000818003300000000000000000000000034b03cb9086d7d758ac55af71584f81a598759fe00000000000000000000000023ae4fd8e7844cdbc97775496ebd0e8248656028