[{"type":"constructor","inputs":[{"name":"router","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"ccipReceive","inputs":[{"name":"message","type":"tuple","internalType":"struct Client.Any2EVMMessage","components":[{"name":"messageId","type":"bytes32","internalType":"bytes32"},{"name":"sourceChainSelector","type":"uint64","internalType":"uint64"},{"name":"sender","type":"bytes","internalType":"bytes"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"destTokenAmounts","type":"tuple[]","internalType":"struct Client.EVMTokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"ccipSend","inputs":[{"name":"destinationChainSelector","type":"uint64","internalType":"uint64"},{"name":"message","type":"tuple","internalType":"struct Client.EVM2AnyMessage","components":[{"name":"receiver","type":"bytes","internalType":"bytes"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"tokenAmounts","type":"tuple[]","internalType":"struct Client.EVMTokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"name":"feeToken","type":"address","internalType":"address"},{"name":"extraArgs","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"getCCVsAndFinalityConfig","inputs":[{"name":"","type":"uint64","internalType":"uint64"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"requiredCCVs","type":"address[]","internalType":"address[]"},{"name":"optionalCCVs","type":"address[]","internalType":"address[]"},{"name":"optionalThreshold","type":"uint8","internalType":"uint8"},{"name":"allowedFinalityConfig","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"getFee","inputs":[{"name":"destinationChainSelector","type":"uint64","internalType":"uint64"},{"name":"message","type":"tuple","internalType":"struct Client.EVM2AnyMessage","components":[{"name":"receiver","type":"bytes","internalType":"bytes"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"tokenAmounts","type":"tuple[]","internalType":"struct Client.EVMTokenAmount[]","components":[{"name":"token","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}]},{"name":"feeToken","type":"address","internalType":"address"},{"name":"extraArgs","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"fee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRouter","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"i_weth","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWrappedNative"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"typeAndVersion","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"error","name":"InvalidRouter","inputs":[{"name":"router","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidToken","inputs":[{"name":"gotToken","type":"address","internalType":"address"},{"name":"expectedToken","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidTokenAmounts","inputs":[{"name":"gotAmounts","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"TokenAmountNotEqualToMsgValue","inputs":[{"name":"gotAmount","type":"uint256","internalType":"uint256"},{"name":"msgValue","type":"uint256","internalType":"uint256"}]}]