589 lines
30 KiB
JSON
589 lines
30 KiB
JSON
{
|
|
"_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": "0x60a0346100a357601f61115d38819003918201601f19168301916001600160401b038311848410176100a8578084926060946040528339810103126100a3578051906001600160a01b03821682036100a35760406020820151910151916080526004556005553360018060a01b0319600654161760065560405161109e90816100bf82396080518181816104f801528181610904015281816109630152610abc0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063212315b714610a8f57806349afd5d814610a715780634d9fb4f614610a22578063576e9e5214610a015780635e318e0714610933578063647846a5146108ee5780636db79437146108ba5780636ef25c3a1461089c578063769dd8d31461083b57806382e3702d1461080a5780638f28397014610778578063a5c25d6714610607578063c1aac1041461029c578063f69f81511461026b578063f851a44014610242578063f9c3f33214610203578063fb5c3312146101b15763fbca3b740361000e57346101ac576020806003193601126101ac576001600160401b03610108610b3c565b1660005260038152604060002060405190818382549182815201908192600052846000209060005b8682821061018f57868661014682880383610b6d565b604051928392818401908285525180915260408401929160005b82811061016f57505050500390f35b83516001600160a01b031685528695509381019392810192600101610160565b83546001600160a01b031685529093019260019283019201610130565b600080fd5b346101ac5760203660031901126101ac576001600160401b036101d2610b3c565b6101e760018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19166001179055005b346101ac5760203660031901126101ac576001600160401b03610224610b3c565b166000526002602052602060ff604060002054166040519015158152f35b346101ac5760003660031901126101ac576006546040516001600160a01b039091168152602090f35b346101ac5760203660031901126101ac576004356000526001602052602060ff604060002054166040519015158152f35b6102a536610c04565b906001600160401b03811660005260026020526102c960ff60406000205416610e08565b815151156105c2576102db8282610e77565b806104f6575b825161035d609c6020860151926040519384914660208401526001600160401b0360c01b8860c01b1660408401523360601b604884015261032c815180926020605c87019101610f0c565b8201610342825180936020605c85019101610f0c565b0142605c82015243607c82015203607c810184520182610b6d565b602081519101209182600052600060205260ff604060002054166104b1578260005260006020526040600020600160ff198254161790558351936020810151906040810151906103dc608060018060a01b03606084015116920151936103ce6040519960a08b5260a08b0190610f2f565b9089820360208b0152610f2f565b8781036040890152602080845192838152019301906000905b80821061045757505050868061044888947f3e9ab9625e2124db7ba80fa471e9750c5ab5b060d19ff325020b0f00fcdc489794606060409c015282810360808401526001600160401b0333981696610f2f565b0390a482519182526020820152f35b825180516001600160a01b031686526020808201519087015260400151929491929091600282101561049b57606081600193604060209401520195019201906103f5565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f43434950526f757465723a206475706c6963617465206d6573736167650000006044820152606490fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316806105855750803410156102e15760405162461bcd60e51b815260206004820152602960248201527f43434950526f757465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152608490fd5b6040516323b872dd60e01b6020820152336024820152306044820152606480820184905281526105bd916105b882610b52565b610f54565b6102e1565b60405162461bcd60e51b815260206004820152601a60248201527f43434950526f757465723a20656d7074792072656365697665720000000000006044820152606490fd5b346101ac5760403660031901126101ac57610620610b3c565b6001600160a01b03906024803583811692908390036101ac5761064884600654163314610dc3565b821561073a576001600160401b031660005260039060209160036020526040600020926000928454935b8481106106ca5750505050680100000000000000008110156106b45761069d91600182018155610d95565b909283549160031b92831b921b1916179055600080f35b634e487b7160e01b600052604160045260246000fd5b86886106d68389610d95565b905490871b1c16146106ea57600101610672565b60405162461bcd60e51b8152600481018490526023818401527f43434950526f757465723a20746f6b656e20616c726561647920737570706f726044820152621d195960ea1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601660248201527521a1a4a82937baba32b91d103d32b937903a37b5b2b760511b6044820152606490fd5b346101ac5760203660031901126101ac576004356001600160a01b03818116918290036101ac576107af6006549182163314610dc3565b81156107c5576001600160a01b03191617600655005b60405162461bcd60e51b815260206004820152601860248201527f43434950526f757465723a207a65726f206164647265737300000000000000006044820152606490fd5b346101ac5760203660031901126101ac576004356000526000602052602060ff604060002054166040519015158152f35b346101ac5760403660031901126101ac57610854610b3c565b6001600160401b0360243591166000526003602052604060002080548210156101ac5760209161088391610d95565b905460405160039290921b1c6001600160a01b03168152f35b346101ac5760003660031901126101ac576020600454604051908152f35b346101ac5760403660031901126101ac576108e060018060a01b03600654163314610dc3565b600480359055602435600555005b346101ac5760003660031901126101ac576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101ac5760203660031901126101ac57600654600435906001600160a01b03908116610961338214610dc3565b7f0000000000000000000000000000000000000000000000000000000000000000821690816109bc57505060008080938193600654168282156109b3575bf1156109a757005b6040513d6000823e3d90fd5b506108fc61099f565b9150916040519163a9059cbb60e01b6020840152602483015260448201526044815260808101918183106001600160401b038411176106b45761001992604052610f54565b346101ac576020610a1a610a1436610c04565b90610e77565b604051908152f35b346101ac5760203660031901126101ac576001600160401b03610a43610b3c565b610a5860018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19169055005b346101ac5760003660031901126101ac576020600554604051908152f35b346101ac5760003660031901126101ac576006546001600160a01b0390811690610aba338314610dc3565b7f000000000000000000000000000000000000000000000000000000000000000016610af75760008080809347908282156109b357f1156109a757005b60405162461bcd60e51b815260206004820152601c60248201527f43434950526f757465723a206e6f74206e617469766520746f6b656e000000006044820152606490fd5b600435906001600160401b03821682036101ac57565b60a081019081106001600160401b038211176106b457604052565b90601f801991011681019081106001600160401b038211176106b457604052565b6001600160401b0381116106b457601f01601f191660200190565b81601f820112156101ac57803590610bc082610b8e565b92610bce6040519485610b6d565b828452602083830101116101ac57816000926020809301838601378301015290565b35906001600160a01b03821682036101ac57565b90604060031981818501126101ac576001600160401b03936004803586811681036101ac579560248035948286116101ac5760a09086860301126101ac57855195610c4e87610b52565b858401358381116101ac578585610c6792890101610ba9565b8752818601358381116101ac578585610c8292890101610ba9565b6020908189015260448701358481116101ac578701866023820112156101ac578581013591858311610d8157835194610cc0828560051b0187610b6d565b83865281860190806060809602850101938a85116101ac578101915b848310610d1c57505050505050860152610cf860648501610bf0565b606086015260848401359081116101ac57610d14930101610ba9565b608082015290565b85838c03126101ac578651908682018281108b821117610d6c578852610d4184610bf0565b82528484013585830152878401359060028210156101ac578286928a8a950152815201920191610cdc565b634e487b7160e01b600090815260418d528490fd5b84604188634e487b7160e01b600052526000fd5b8054821015610dad5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b15610dca57565b60405162461bcd60e51b815260206004820152601660248201527521a1a4a82937baba32b91d1037b7363c9030b236b4b760511b6044820152606490fd5b15610e0f57565b60405162461bcd60e51b815260206004820152601f60248201527f43434950526f757465723a20636861696e206e6f7420737570706f72746564006044820152606490fd5b91908201809211610e6157565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03909291921660005260206002602052604091610ea260ff60406000205416610e08565b6004546020850151519060059160055490818102918183041490151715610e6157610ecc91610e54565b936000945b818701518051871015610f01576001916103e88780610ef9948b891b01015101510490610e54565b950194610ed1565b509450505092505090565b60005b838110610f1f5750506000910152565b8181015183820152602001610f0f565b90602091610f4881518092818552858086019101610f0c565b601f01601f1916010190565b60018060a01b031690610f9e600080836020829551910182875af13d15610ffd573d90610f8082610b8e565b91610f8e6040519384610b6d565b82523d84602084013e5b84611005565b908151918215159283610fce575b505050610fb65750565b60249060405190635274afe760e01b82526004820152fd5b819293509060209181010312610ff9576020015190811591821503610ff65750388080610fac565b80fd5b5080fd5b606090610f98565b9061102c575080511561101a57805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061105f575b61103d575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561103556fea2646970667358221220472078a2cb48b7472027d03d80253825bd95bbd3da5d59f573baab840e29ff6c64736f6c63430008160033",
|
|
"deployedBytecode": "0x6080604052600436101561001b575b361561001957600080fd5b005b60003560e01c8063212315b714610a8f57806349afd5d814610a715780634d9fb4f614610a22578063576e9e5214610a015780635e318e0714610933578063647846a5146108ee5780636db79437146108ba5780636ef25c3a1461089c578063769dd8d31461083b57806382e3702d1461080a5780638f28397014610778578063a5c25d6714610607578063c1aac1041461029c578063f69f81511461026b578063f851a44014610242578063f9c3f33214610203578063fb5c3312146101b15763fbca3b740361000e57346101ac576020806003193601126101ac576001600160401b03610108610b3c565b1660005260038152604060002060405190818382549182815201908192600052846000209060005b8682821061018f57868661014682880383610b6d565b604051928392818401908285525180915260408401929160005b82811061016f57505050500390f35b83516001600160a01b031685528695509381019392810192600101610160565b83546001600160a01b031685529093019260019283019201610130565b600080fd5b346101ac5760203660031901126101ac576001600160401b036101d2610b3c565b6101e760018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19166001179055005b346101ac5760203660031901126101ac576001600160401b03610224610b3c565b166000526002602052602060ff604060002054166040519015158152f35b346101ac5760003660031901126101ac576006546040516001600160a01b039091168152602090f35b346101ac5760203660031901126101ac576004356000526001602052602060ff604060002054166040519015158152f35b6102a536610c04565b906001600160401b03811660005260026020526102c960ff60406000205416610e08565b815151156105c2576102db8282610e77565b806104f6575b825161035d609c6020860151926040519384914660208401526001600160401b0360c01b8860c01b1660408401523360601b604884015261032c815180926020605c87019101610f0c565b8201610342825180936020605c85019101610f0c565b0142605c82015243607c82015203607c810184520182610b6d565b602081519101209182600052600060205260ff604060002054166104b1578260005260006020526040600020600160ff198254161790558351936020810151906040810151906103dc608060018060a01b03606084015116920151936103ce6040519960a08b5260a08b0190610f2f565b9089820360208b0152610f2f565b8781036040890152602080845192838152019301906000905b80821061045757505050868061044888947f3e9ab9625e2124db7ba80fa471e9750c5ab5b060d19ff325020b0f00fcdc489794606060409c015282810360808401526001600160401b0333981696610f2f565b0390a482519182526020820152f35b825180516001600160a01b031686526020808201519087015260400151929491929091600282101561049b57606081600193604060209401520195019201906103f5565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f43434950526f757465723a206475706c6963617465206d6573736167650000006044820152606490fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316806105855750803410156102e15760405162461bcd60e51b815260206004820152602960248201527f43434950526f757465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152608490fd5b6040516323b872dd60e01b6020820152336024820152306044820152606480820184905281526105bd916105b882610b52565b610f54565b6102e1565b60405162461bcd60e51b815260206004820152601a60248201527f43434950526f757465723a20656d7074792072656365697665720000000000006044820152606490fd5b346101ac5760403660031901126101ac57610620610b3c565b6001600160a01b03906024803583811692908390036101ac5761064884600654163314610dc3565b821561073a576001600160401b031660005260039060209160036020526040600020926000928454935b8481106106ca5750505050680100000000000000008110156106b45761069d91600182018155610d95565b909283549160031b92831b921b1916179055600080f35b634e487b7160e01b600052604160045260246000fd5b86886106d68389610d95565b905490871b1c16146106ea57600101610672565b60405162461bcd60e51b8152600481018490526023818401527f43434950526f757465723a20746f6b656e20616c726561647920737570706f726044820152621d195960ea1b6064820152608490fd5b60405162461bcd60e51b815260206004820152601660248201527521a1a4a82937baba32b91d103d32b937903a37b5b2b760511b6044820152606490fd5b346101ac5760203660031901126101ac576004356001600160a01b03818116918290036101ac576107af6006549182163314610dc3565b81156107c5576001600160a01b03191617600655005b60405162461bcd60e51b815260206004820152601860248201527f43434950526f757465723a207a65726f206164647265737300000000000000006044820152606490fd5b346101ac5760203660031901126101ac576004356000526000602052602060ff604060002054166040519015158152f35b346101ac5760403660031901126101ac57610854610b3c565b6001600160401b0360243591166000526003602052604060002080548210156101ac5760209161088391610d95565b905460405160039290921b1c6001600160a01b03168152f35b346101ac5760003660031901126101ac576020600454604051908152f35b346101ac5760403660031901126101ac576108e060018060a01b03600654163314610dc3565b600480359055602435600555005b346101ac5760003660031901126101ac576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101ac5760203660031901126101ac57600654600435906001600160a01b03908116610961338214610dc3565b7f0000000000000000000000000000000000000000000000000000000000000000821690816109bc57505060008080938193600654168282156109b3575bf1156109a757005b6040513d6000823e3d90fd5b506108fc61099f565b9150916040519163a9059cbb60e01b6020840152602483015260448201526044815260808101918183106001600160401b038411176106b45761001992604052610f54565b346101ac576020610a1a610a1436610c04565b90610e77565b604051908152f35b346101ac5760203660031901126101ac576001600160401b03610a43610b3c565b610a5860018060a01b03600654163314610dc3565b166000908152600260205260409020805460ff19169055005b346101ac5760003660031901126101ac576020600554604051908152f35b346101ac5760003660031901126101ac576006546001600160a01b0390811690610aba338314610dc3565b7f000000000000000000000000000000000000000000000000000000000000000016610af75760008080809347908282156109b357f1156109a757005b60405162461bcd60e51b815260206004820152601c60248201527f43434950526f757465723a206e6f74206e617469766520746f6b656e000000006044820152606490fd5b600435906001600160401b03821682036101ac57565b60a081019081106001600160401b038211176106b457604052565b90601f801991011681019081106001600160401b038211176106b457604052565b6001600160401b0381116106b457601f01601f191660200190565b81601f820112156101ac57803590610bc082610b8e565b92610bce6040519485610b6d565b828452602083830101116101ac57816000926020809301838601378301015290565b35906001600160a01b03821682036101ac57565b90604060031981818501126101ac576001600160401b03936004803586811681036101ac579560248035948286116101ac5760a09086860301126101ac57855195610c4e87610b52565b858401358381116101ac578585610c6792890101610ba9565b8752818601358381116101ac578585610c8292890101610ba9565b6020908189015260448701358481116101ac578701866023820112156101ac578581013591858311610d8157835194610cc0828560051b0187610b6d565b83865281860190806060809602850101938a85116101ac578101915b848310610d1c57505050505050860152610cf860648501610bf0565b606086015260848401359081116101ac57610d14930101610ba9565b608082015290565b85838c03126101ac578651908682018281108b821117610d6c578852610d4184610bf0565b82528484013585830152878401359060028210156101ac578286928a8a950152815201920191610cdc565b634e487b7160e01b600090815260418d528490fd5b84604188634e487b7160e01b600052526000fd5b8054821015610dad5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b15610dca57565b60405162461bcd60e51b815260206004820152601660248201527521a1a4a82937baba32b91d1037b7363c9030b236b4b760511b6044820152606490fd5b15610e0f57565b60405162461bcd60e51b815260206004820152601f60248201527f43434950526f757465723a20636861696e206e6f7420737570706f72746564006044820152606490fd5b91908201809211610e6157565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03909291921660005260206002602052604091610ea260ff60406000205416610e08565b6004546020850151519060059160055490818102918183041490151715610e6157610ecc91610e54565b936000945b818701518051871015610f01576001916103e88780610ef9948b891b01015101510490610e54565b950194610ed1565b509450505092505090565b60005b838110610f1f5750506000910152565b8181015183820152602001610f0f565b90602091610f4881518092818552858086019101610f0c565b601f01601f1916010190565b60018060a01b031690610f9e600080836020829551910182875af13d15610ffd573d90610f8082610b8e565b91610f8e6040519384610b6d565b82523d84602084013e5b84611005565b908151918215159283610fce575b505050610fb65750565b60249060405190635274afe760e01b82526004820152fd5b819293509060209181010312610ff9576020015190811591821503610ff65750388080610fac565b80fd5b5080fd5b606090610f98565b9061102c575080511561101a57805190602001fd5b604051630a12f52160e11b8152600490fd5b8151158061105f575b61103d575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561103556fea2646970667358221220472078a2cb48b7472027d03d80253825bd95bbd3da5d59f573baab840e29ff6c64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|