Files
smom-dbis-138/artifacts/contracts/ccip/CCIPRouter.sol/CCIPRouter.json

589 lines
30 KiB
JSON
Raw Normal View History

{
"_format": "hh-sol-artifact-1",
"contractName": "CCIPRouter",
"sourceName": "contracts/ccip/CCIPRouter.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_feeToken",
"type": "address"
},
{
"internalType": "uint256",
"name": "_baseFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_dataFeePerByte",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "AddressEmptyCode",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "AddressInsufficientBalance",
"type": "error"
},
{
"inputs": [],
"name": "FailedInnerCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint64",
"name": "sourceChainSelector",
"type": "uint64"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum IRouterClient.TokenAmountType",
"name": "amountType",
"type": "uint8"
}
],
"indexed": false,
"internalType": "struct IRouterClient.TokenAmount[]",
"name": "tokenAmounts",
"type": "tuple[]"
}
],
"name": "MessageReceived",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "receiver",
"type": "bytes"
},
{
"indexed": false,
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum IRouterClient.TokenAmountType",
"name": "amountType",
"type": "uint8"
}
],
"indexed": false,
"internalType": "struct IRouterClient.TokenAmount[]",
"name": "tokenAmounts",
"type": "tuple[]"
},
{
"indexed": false,
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"indexed": false,
"internalType": "bytes",
"name": "extraArgs",
"type": "bytes"
}
],
"name": "MessageSent",
"type": "event"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
}
],
"name": "addSupportedChain",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
},
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "addSupportedToken",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "admin",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "baseFee",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"components": [
{
"internalType": "bytes",
"name": "receiver",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum IRouterClient.TokenAmountType",
"name": "amountType",
"type": "uint8"
}
],
"internalType": "struct IRouterClient.TokenAmount[]",
"name": "tokenAmounts",
"type": "tuple[]"
},
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "bytes",
"name": "extraArgs",
"type": "bytes"
}
],
"internalType": "struct IRouterClient.EVM2AnyMessage",
"name": "message",
"type": "tuple"
}
],
"name": "ccipSend",
"outputs": [
{
"internalType": "bytes32",
"name": "messageId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "fees",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "dataFeePerByte",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "feeToken",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
},
{
"components": [
{
"internalType": "bytes",
"name": "receiver",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
},
{
"components": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "enum IRouterClient.TokenAmountType",
"name": "amountType",
"type": "uint8"
}
],
"internalType": "struct IRouterClient.TokenAmount[]",
"name": "tokenAmounts",
"type": "tuple[]"
},
{
"internalType": "address",
"name": "feeToken",
"type": "address"
},
{
"internalType": "bytes",
"name": "extraArgs",
"type": "bytes"
}
],
"internalType": "struct IRouterClient.EVM2AnyMessage",
"name": "message",
"type": "tuple"
}
],
"name": "getFee",
"outputs": [
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "destinationChainSelector",
"type": "uint64"
}
],
"name": "getSupportedTokens",
"outputs": [
{
"internalType": "address[]",
"name": "tokens",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "receivedMessages",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "chainSelector",
"type": "uint64"
}
],
"name": "removeSupportedChain",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "sentMessages",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
}
],
"name": "supportedChains",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "supportedTokens",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "_baseFee",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "_dataFeePerByte",
"type": "uint256"
}
],
"name": "updateFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdrawFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "withdrawNativeFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"stateMutability": "payable",
"type": "receive"
}
],
"bytecode": "0x60a0346100a357601f61115d38819003918201601f19168301916001600160401b038311848410176100a8578084926060946040528339810103126100a3578051906001600160a01b03821682036100a35760406020820151910151916080526004556005553360018060a01b0319600654161760065560405161109e90816100bf82396080518181816104f801528181610904015281816109630152610abc0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063212315b714610a8f57806349afd5d814610a715780634d9fb4f614610a22578063576e9e5214610a015780635e318e0714610933578063647846a5146108ee5780636db79437146108ba5780636ef25c3a1461089c578063769dd8d31461083b57806382e3702d1461080a5780638f28397014610778578063a5c25d6714610607578063c1aac1041461029c578063f69f81511461026b578063f851a44014610242578063f9c3f33214610203578063fb5c3312146101b15763fbca3b740361000e57346101ac576020806003193601126101ac576001600160401b03610108610b3c565b1660005260038152604060002060405190818382549182815201908192600052846000209060005b8682821061018f57868661014682880383610b6d565b604051928392818401908285525180915260408401929160005b82811061016f57505050500390f35b83516001600160a01b031685528695509381019392810192600101610160565b83546001600160a01b031685529093019260019283019201610130565b600080fd5b346101ac5760203660031901126101ac576001600160401b036101d2610b3c565b6101e760018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19166001179055005b346101ac5760203660031901126101ac576001600160401b03610224610b3c565b166000526002602052602060ff604060002054166040519015158152f35b346101ac5760003660031901126101ac576006546040516001600160a01b039091168152602090f35b346101ac5760203660031901126101ac576004356000526001602052602060ff604060002054166040519015158152f35b6102a536610c04565b906001600160401b03811660005260026020526102c960ff60406000205416610e08565b815151156105c2576102db8282610e77565b806104f6575b825161035d609c6020860151926040519384914660208401526001600160401b0360c01b8860c01b1660408401523360601b604884015261032c815180926020605c87019101610f0c565b8201610342825180936020605c85019101610f0c565b0142605c82015243607c82015203607c810184520182610b6d565b602081519101209182600052600060205260ff604060002054166104b1578260005260006020526040600020600160ff198254161790558351936020810151906040810151906103dc608060018060a01b03606084015116920151936103ce6040519960a08b5260a08b0190610f2f565b9089820360208b0152610f2f565b8781036040890152602080845192838152019301906000905b80821061045757505050868061044888947f3e9ab9625e2124db7ba80fa471e9750c5ab5b060d19ff325020b0f00fcdc489794606060409c015282810360808401526001600160401b0333981696610f2f565b0390a482519182526020820152f35b825180516001600160a01b031686526020808201519087015260400151929491929091600282101561049b57606081600193604060209401520195019201906103f5565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f43434950526f757465723a206475706c6963617465206d6573736167650000006044820152606490fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316806105855750803410156102e15760405162461bcd60e51b815260206004820152602960248201527f43434950526f757465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152608490fd5b6040516323b872dd60e01b6020820152336024820152306044820152606480820184905281526105bd916105b882610b52565b610f54565b6102e1565b60405162461bcd60e51b815260206004820152601a60248201527f43434950526f757465723a20656d7074792072656365697665720000000000006044820152606490fd5b346101ac5760403660031901126101ac57610620610b3c565b6001600160a01b03906024803583811692908390036101ac5761064884600654163314610dc3565b821561073a576001600160401b031660005260039060209160036020526040600020926000928454935b8481106106ca5750505050680100000000000000008110156106b45761069d91600182018155610d95565b909283549160031b92831b921b1916179055600080f35b634e487b7160e01b600052604160045260246000fd5b86886106d68389610d95565b905490871b1c16146106ea57600101610672565b60405162461bcd60e51b8152600481018490526023818401527f43434950526f757465723a20746f6b656e20616c726561647920737570706f726044820152621d195960ea1b60648201526084
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063212315b714610a8f57806349afd5d814610a715780634d9fb4f614610a22578063576e9e5214610a015780635e318e0714610933578063647846a5146108ee5780636db79437146108ba5780636ef25c3a1461089c578063769dd8d31461083b57806382e3702d1461080a5780638f28397014610778578063a5c25d6714610607578063c1aac1041461029c578063f69f81511461026b578063f851a44014610242578063f9c3f33214610203578063fb5c3312146101b15763fbca3b740361000e57346101ac576020806003193601126101ac576001600160401b03610108610b3c565b1660005260038152604060002060405190818382549182815201908192600052846000209060005b8682821061018f57868661014682880383610b6d565b604051928392818401908285525180915260408401929160005b82811061016f57505050500390f35b83516001600160a01b031685528695509381019392810192600101610160565b83546001600160a01b031685529093019260019283019201610130565b600080fd5b346101ac5760203660031901126101ac576001600160401b036101d2610b3c565b6101e760018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19166001179055005b346101ac5760203660031901126101ac576001600160401b03610224610b3c565b166000526002602052602060ff604060002054166040519015158152f35b346101ac5760003660031901126101ac576006546040516001600160a01b039091168152602090f35b346101ac5760203660031901126101ac576004356000526001602052602060ff604060002054166040519015158152f35b6102a536610c04565b906001600160401b03811660005260026020526102c960ff60406000205416610e08565b815151156105c2576102db8282610e77565b806104f6575b825161035d609c6020860151926040519384914660208401526001600160401b0360c01b8860c01b1660408401523360601b604884015261032c815180926020605c87019101610f0c565b8201610342825180936020605c85019101610f0c565b0142605c82015243607c82015203607c810184520182610b6d565b602081519101209182600052600060205260ff604060002054166104b1578260005260006020526040600020600160ff198254161790558351936020810151906040810151906103dc608060018060a01b03606084015116920151936103ce6040519960a08b5260a08b0190610f2f565b9089820360208b0152610f2f565b8781036040890152602080845192838152019301906000905b80821061045757505050868061044888947f3e9ab9625e2124db7ba80fa471e9750c5ab5b060d19ff325020b0f00fcdc489794606060409c015282810360808401526001600160401b0333981696610f2f565b0390a482519182526020820152f35b825180516001600160a01b031686526020808201519087015260400151929491929091600282101561049b57606081600193604060209401520195019201906103f5565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f43434950526f757465723a206475706c6963617465206d6573736167650000006044820152606490fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316806105855750803410156102e15760405162461bcd60e51b815260206004820152602960248201527f43434950526f757465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152608490fd5b6040516323b872dd60e01b6020820152336024820152306044820152606480820184905281526105bd916105b882610b52565b610f54565b6102e1565b60405162461bcd60e51b815260206004820152601a60248201527f43434950526f757465723a20656d7074792072656365697665720000000000006044820152606490fd5b346101ac5760403660031901126101ac57610620610b3c565b6001600160a01b03906024803583811692908390036101ac5761064884600654163314610dc3565b821561073a576001600160401b031660005260039060209160036020526040600020926000928454935b8481106106ca5750505050680100000000000000008110156106b45761069d91600182018155610d95565b909283549160031b92831b921b1916179055600080f35b634e487b7160e01b600052604160045260246000fd5b86886106d68389610d95565b905490871b1c16146106ea57600101610672565b60405162461bcd60e51b8152600481018490526023818401527f43434950526f757465723a20746f6b656e20616c726561647920737570706f726044820152621d195960ea1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601660248201527521a1a4a82937baba32b91d103d32b937903a37b5b2b760511b6044820152606490fd5b346101ac5760203660031901126101ac576004356001600160a01b03818116918290036101ac576107af6006549182163314610dc3565b81156107c5576001600160a01b03191617600655005b60405162461bcd60e51b815260206004820152601860248201527f43434950526f757465723a207a65726f2061
"linkReferences": {},
"deployedLinkReferences": {}
}