451 lines
22 KiB
JSON
451 lines
22 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "CCIPRelayRouter",
|
|
"sourceName": "contracts/relay/CCIPRelayRouter.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "AccessControlBadConfirmation",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "neededRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "AccessControlUnauthorizedAccount",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "BridgeAuthorized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "BridgeRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint64",
|
|
"name": "sourceChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "MessageRelayed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "RELAYER_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "authorizeBridge",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "authorizedBridges",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "relayer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRelayerRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "sourceChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "sender",
|
|
"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": "struct IRouterClient.Any2EVMMessage",
|
|
"name": "message",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "relayMessage",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "bridge",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeBridge",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "relayer",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRelayerRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x6080604052346100225761001233610027565b50604051610b8f90816100b88239f35b600080fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166100b357818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146107aa57508063142b7b37146107815780631e0af67e14610758578063248a9ca3146107295780632f2ff15d146106ea57806336568abe146106a35780634910b8611461063d5780636fc063be146105fe5780637c61a9e9146101fc57806391d14854146101af578063926d7d7f14610186578063a217fddf1461016a578063d547741f146101295763e53595ee146100b957600080fd5b34610124576020366003190112610124576100d26107fd565b6100da6108b2565b6001600160a01b031660008181526001602081905260408220805460ff191690911790557f6cf28439a2daab1b265097227212a5b71e0a76f9ed85e3f815b5a6c3e218eb7f9080a2005b600080fd5b3461012457604036600319011261012457610168600435610148610813565b908060005260006020526101636001604060002001546108ec565b6109b0565b005b3461012457600036600319011261012457602060405160008152f35b34610124576000366003190112610124576020604051600080516020610b3a8339815191528152f35b34610124576040366003190112610124576101c8610813565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461012457600319604036820112610124576102166107fd565b9067ffffffffffffffff602435116101245760a0602435360391820112610124573360009081527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040902054600080516020610b3a8339815191529060ff16156105e057506001600160a01b03821660009081526001602052604090205460ff161561058c576040516326099f8360e11b60208201526020602482015260243560040135604482015267ffffffffffffffff60248035013516602480350135036101245767ffffffffffffffff60248035013516606482015261034461031e61030d60446024350160243560040161083d565b60a0608486015260e485019161086f565b61033260646024350160243560040161083d565b8483036043190160a48601529061086f565b60221983016024356084013512156101245760243560846024350135019067ffffffffffffffff600483013511610124576060600483013502360360248301136101245790602083926043198482030160c485015260048301358152019060248101906000905b6004810135821061054157505050600091829103926103d2601f1994858101835282610890565b60208151910182875af1903d1561053b573d67ffffffffffffffff811161052557610408602060405193601f8401160183610890565b8152600060203d92013e5b156104d457602435606401359060221901811215610124576024350190600482013567ffffffffffffffff8111610124576024830190803603821361012457836080918101031261012457610469604491610829565b9261047660648201610829565b506040519360018060a01b031684520135602083015260018060a01b03169067ffffffffffffffff60248035013516907fe8a24346b3db974d4e88f1e64c2691b2cce9ee46f27b94cea6aba03fcd3b41e460406024356004013592a4005b60405162461bcd60e51b815260206004820152602360248201527f4343495052656c6179526f757465723a206363697052656365697665206661696044820152621b195960ea1b6064820152608490fd5b634e487b7160e01b600052604160045260246000fd5b50610413565b919350916001600160a01b0361055685610829565b168152602084013560208201526040840135600281101561012457604082015284936060918201939101916001909101906103ab565b60405162461bcd60e51b815260206004820152602660248201527f4343495052656c6179526f757465723a20627269646765206e6f7420617574686044820152651bdc9a5e995960d21b6064820152608490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610124576020366003190112610124576001600160a01b0361061f6107fd565b166000526001602052602060ff604060002054166040519015158152f35b34610124576020366003190112610124576106566107fd565b61065e6108b2565b6001600160a01b03166000818152600160205260408120805460ff191690557fa51e280c229bda83507b9d33a469bdc95e5551efce7040eece2deac16a5e67a79080a2005b34610124576040366003190112610124576106bc610813565b336001600160a01b038216036106d857610168906004356109b0565b60405163334bd91960e11b8152600490fd5b3461012457604036600319011261012457610168600435610709610813565b908060005260006020526107246001604060002001546108ec565b610ac0565b346101245760203660031901126101245760043560005260006020526020600160406000200154604051908152f35b34610124576020366003190112610124576101686107746107fd565b61077c6108b2565b610a25565b346101245760203660031901126101245761016861079d6107fd565b6107a56108b2565b610912565b34610124576020366003190112610124576004359063ffffffff60e01b821680920361012457602091637965db0b60e01b81149081156107ec575b5015158152f35b6301ffc9a760e01b149050836107e5565b600435906001600160a01b038216820361012457565b602435906001600160a01b038216820361012457565b35906001600160a01b038216820361012457565b9035601e198236030181121561012457016020813591019167ffffffffffffffff821161012457813603831361012457565b908060209392818452848401376000828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761052557604052565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156105e05750565b80600052600060205260406000203360005260205260ff60406000205416156105e05750565b6001600160a01b031660008181527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040812054909190600080516020610b3a8339815191529060ff16156109ab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146109ab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6001600160a01b031660008181527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040812054909190600080516020610b3a8339815191529060ff166109ab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146109ab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a460019056fee2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4a2646970667358221220c30173f478553656045db99744434f3c15677328c5796dd12ccee9671f61036f64736f6c63430008160033",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146107aa57508063142b7b37146107815780631e0af67e14610758578063248a9ca3146107295780632f2ff15d146106ea57806336568abe146106a35780634910b8611461063d5780636fc063be146105fe5780637c61a9e9146101fc57806391d14854146101af578063926d7d7f14610186578063a217fddf1461016a578063d547741f146101295763e53595ee146100b957600080fd5b34610124576020366003190112610124576100d26107fd565b6100da6108b2565b6001600160a01b031660008181526001602081905260408220805460ff191690911790557f6cf28439a2daab1b265097227212a5b71e0a76f9ed85e3f815b5a6c3e218eb7f9080a2005b600080fd5b3461012457604036600319011261012457610168600435610148610813565b908060005260006020526101636001604060002001546108ec565b6109b0565b005b3461012457600036600319011261012457602060405160008152f35b34610124576000366003190112610124576020604051600080516020610b3a8339815191528152f35b34610124576040366003190112610124576101c8610813565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461012457600319604036820112610124576102166107fd565b9067ffffffffffffffff602435116101245760a0602435360391820112610124573360009081527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040902054600080516020610b3a8339815191529060ff16156105e057506001600160a01b03821660009081526001602052604090205460ff161561058c576040516326099f8360e11b60208201526020602482015260243560040135604482015267ffffffffffffffff60248035013516602480350135036101245767ffffffffffffffff60248035013516606482015261034461031e61030d60446024350160243560040161083d565b60a0608486015260e485019161086f565b61033260646024350160243560040161083d565b8483036043190160a48601529061086f565b60221983016024356084013512156101245760243560846024350135019067ffffffffffffffff600483013511610124576060600483013502360360248301136101245790602083926043198482030160c485015260048301358152019060248101906000905b6004810135821061054157505050600091829103926103d2601f1994858101835282610890565b60208151910182875af1903d1561053b573d67ffffffffffffffff811161052557610408602060405193601f8401160183610890565b8152600060203d92013e5b156104d457602435606401359060221901811215610124576024350190600482013567ffffffffffffffff8111610124576024830190803603821361012457836080918101031261012457610469604491610829565b9261047660648201610829565b506040519360018060a01b031684520135602083015260018060a01b03169067ffffffffffffffff60248035013516907fe8a24346b3db974d4e88f1e64c2691b2cce9ee46f27b94cea6aba03fcd3b41e460406024356004013592a4005b60405162461bcd60e51b815260206004820152602360248201527f4343495052656c6179526f757465723a206363697052656365697665206661696044820152621b195960ea1b6064820152608490fd5b634e487b7160e01b600052604160045260246000fd5b50610413565b919350916001600160a01b0361055685610829565b168152602084013560208201526040840135600281101561012457604082015284936060918201939101916001909101906103ab565b60405162461bcd60e51b815260206004820152602660248201527f4343495052656c6179526f757465723a20627269646765206e6f7420617574686044820152651bdc9a5e995960d21b6064820152608490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b34610124576020366003190112610124576001600160a01b0361061f6107fd565b166000526001602052602060ff604060002054166040519015158152f35b34610124576020366003190112610124576106566107fd565b61065e6108b2565b6001600160a01b03166000818152600160205260408120805460ff191690557fa51e280c229bda83507b9d33a469bdc95e5551efce7040eece2deac16a5e67a79080a2005b34610124576040366003190112610124576106bc610813565b336001600160a01b038216036106d857610168906004356109b0565b60405163334bd91960e11b8152600490fd5b3461012457604036600319011261012457610168600435610709610813565b908060005260006020526107246001604060002001546108ec565b610ac0565b346101245760203660031901126101245760043560005260006020526020600160406000200154604051908152f35b34610124576020366003190112610124576101686107746107fd565b61077c6108b2565b610a25565b346101245760203660031901126101245761016861079d6107fd565b6107a56108b2565b610912565b34610124576020366003190112610124576004359063ffffffff60e01b821680920361012457602091637965db0b60e01b81149081156107ec575b5015158152f35b6301ffc9a760e01b149050836107e5565b600435906001600160a01b038216820361012457565b602435906001600160a01b038216820361012457565b35906001600160a01b038216820361012457565b9035601e198236030181121561012457016020813591019167ffffffffffffffff821161012457813603831361012457565b908060209392818452848401376000828201840152601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff82111761052557604052565b3360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205460ff16156105e05750565b80600052600060205260406000203360005260205260ff60406000205416156105e05750565b6001600160a01b031660008181527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040812054909190600080516020610b3a8339815191529060ff16156109ab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146109ab5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6001600160a01b031660008181527ffaf93c3d007e112089dc8351e013e6685ef67703975d0224b26fc45941d4f1f56020526040812054909190600080516020610b3a8339815191529060ff166109ab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146109ab57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a460019056fee2b7fb3b832174769106daebcfd6d1970523240dda11281102db9363b83b0dc4a2646970667358221220c30173f478553656045db99744434f3c15677328c5796dd12ccee9671f61036f64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|