412 lines
31 KiB
JSON
412 lines
31 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "CCIPSender",
|
|
"sourceName": "contracts/ccip/CCIPSender.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "_ccipRouter",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_oracleAggregator",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "_feeToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"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": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "DestinationAdded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "DestinationRemoved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "DestinationUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint64",
|
|
"name": "destinationChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "MessageSent",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "addDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "admin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "data",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "calculateFee",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ccipRouter",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract IRouterClient",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newAdmin",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "changeAdmin",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "destinationChains",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "destinations",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "enabled",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "feeToken",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getDestinationChains",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64[]",
|
|
"name": "",
|
|
"type": "uint64[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "oracleAggregator",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "removeDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "answer",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "roundId",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "sendOracleUpdate",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "chainSelector",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "receiver",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "updateDestination",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newFeeToken",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "updateFeeToken",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "newAggregator",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "updateOracleAggregator",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60a0346200013557601f6200176738819003918201601f19168301916001600160401b038311848410176200013a5780849260609460405283398101031262000135576200004d8162000150565b620000696040620000616020850162000150565b930162000150565b6001600160a01b039182168015620000f0576080528160018060a01b03199316836000541617600055168160025416176002553390600154161760015560405161160190816200016682396080518181816105de0152818161065601528181610753015281816108a10152818161090d0152818161098801528181611014015261108e0152f35b60405162461bcd60e51b815260206004820152601760248201527f4343495053656e6465723a207a65726f20726f757465720000000000000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001355756fe608080604052600436101561001357600080fd5b60e0600035811c9182630de229841461107b575081635322183714610ece578163647846a514610ea55781638dffe3f414610e7c5781638f28397014610e2c57816396c75c5e14610dd0578163abc343a714610c53578163b217be2414610ac9578163c69c8ccf1461049f578163c89245d51461044e578163ced719f314610284578163d17f7a0914610228578163e0620a941461013557508063f2c2af43146100f45763f851a440146100c657600080fd5b346100ef5760003660031901126100ef576001546040516001600160a01b039091168152602090f35b600080fd5b346100ef5760203660031901126100ef576004356004548110156100ef576001600160401b036101256020926111c2565b9190546040519260031b1c168152f35b346100ef5760403660031901126100ef577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e680906101706110bd565b6101786111ac565b916101c260018060a01b03610192816001541633146113b1565b6101b960ff6001600160401b03861694856000526003602052604060002054901c16611442565b841615156113f6565b60009081526003602052604090819020805468010000000000000000600160e01b0319169184901b68010000000000000000600160e01b03169190911790555b604080516001600160401b039290921682526001600160a01b03929092166020820152a1005b346100ef5760203660031901126100ef57610241611196565b6001546001600160a01b03919061025b90831633146113b1565b166102678115156113f6565b6bffffffffffffffffffffffff60a01b6000541617600055600080f35b346100ef5760403660031901126100ef5761029d6110bd565b906102a66111ac565b60015490916001600160a01b03916102c190831633146113b1565b818316916102d08315156113f6565b6001600160401b03928386169182600052600360205260ff604060002054851c166103fa576103679160405195610306876110d3565b84875260208701918252604087019460018652600052600360205260406000209651166001600160401b031987541617865551168490815490600160401b600160e01b039060401b16906001600160401b0363ffffffff60e01b0116179055565b51825460ff60e01b191690151590911b60ff60e01b1617905560045491600160401b8310156103e457610202816103c58560017f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db397016004556111c2565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152602660248201527f4343495053656e6465723a2064657374696e6174696f6e20616c72656164792060448201526565786973747360d01b6064820152608490fd5b346100ef5760203660031901126100ef57610467611196565b6001546001600160a01b03919061048190831633146113b1565b166bffffffffffffffffffffffff60a01b6002541617600255600080f35b60803660031901126100ef576104b36110bd565b6000546024906001600160a01b03163303610a85576001600160401b0392838316600052600360205261051b60ff604060002092604051936104f4856110d3565b5490878216855260018060a01b038260401c1660208601521c161515806040840152611218565b604051918035602084015260443560408401526064356060840152606083526105438361113f565b6020828101516040516001600160a01b03909116818301529081529061056882611109565b6040519061057582611124565b6000825260018060a01b03600254169160405193610592856110ee565b845285602085015260408401528160608401526040516105b181611124565b600081526080840152604051632bb74f2960e11b815291602083806105da878b600484016112b0565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa92831561071f57600093610a51575b50826107de575b50506002546001600160a01b031661072b57610652916040918251808095819463306ab04160e21b83528a600484016112b0565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561071f576020956106e4957f2b046eaedd72143b31efbfc1753f3e57682918353770498fae99edbc3d837596936000916106ef575b509586945b8860018060a01b039101511691604051938493845260408a85015216956040830190611270565b0390a3604051908152f35b610711915060403d604011610718575b610709818361115a565b810190611498565b50886106b8565b503d6106ff565b6040513d6000823e3d90fd5b506040805163306ab04160e21b8152918290819061074d9088600484016112b0565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561071f576020956106e4957f2b046eaedd72143b31efbfc1753f3e57682918353770498fae99edbc3d837596936000916107be575b509586946106bd565b6107d7915060403d60401161071857610709818361115a565b50886107b5565b8061084a57508134106107f457505b868061061e565b60849060296040519162461bcd60e51b8352602060048401528201527f4343495053656e6465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152fd5b6040516323b872dd60e01b60208201523383820152306044820152606480820185905281526108819161087c826110ee565b6114c6565b600254604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168483015290929116602083604481845afa92831561071f57600093610a1d575b50838301809311610a0857604051916000806020850163095ea7b360e01b9687825260018060a01b037f000000000000000000000000000000000000000000000000000000000000000016858801526044870152604486526109438661113f565b85519082865af1610952611538565b816109d9575b50806109cf575b1561096e575b505050506107ed565b6109c69361087c9160405191602083015260018060a01b037f0000000000000000000000000000000000000000000000000000000000000000169082015260006044820152604481526109c08161113f565b826114c6565b86808080610965565b50813b151561095f565b80518015925082156109ee575b50508b610958565b610a0192506020809183010191016114ae565b8b806109e6565b50634e487b7160e01b60009081526011600452fd5b9092506020813d602011610a49575b81610a396020938361115a565b810103126100ef575191896108e2565b3d9150610a2c565b9092506020813d602011610a7d575b81610a6d6020938361115a565b810103126100ef57519188610617565b3d9150610a60565b606490601b6040519162461bcd60e51b8352602060048401528201527f4343495053656e6465723a206f6e6c792061676772656761746f7200000000006044820152fd5b346100ef5760203660031901126100ef57610ae26110bd565b9060018092610afc60018060a01b036001541633146113b1565b6001600160401b038091169283600052610b2760ff6003926003602052604060002054901c16611442565b6000848152600360205260408120805460ff60e01b19169055945b610b74575b7f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad602085604051908152a1005b60045480861015610c4d578483610b8a886111c2565b905490851b1c1614610ba157509382019382610b42565b909193925060001994858201918211610c37576103c585610bc4610bd1946111c2565b905490861b1c16916111c2565b600454928315610c21577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad946020940191610c0b836111c2565b81939154921b1b19169055600455908380610b47565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b50610b47565b346100ef5760003660031901126100ef57604051806004549081835260208093019181848460046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b936000905b806003830110610d8857610ce095549184828210610d6f575b828210610d53575b828210610d37575b5010610d29575b509050939293038361115a565b604051928392818401908285525180915260408401929160005b828110610d0957505050500390f35b83516001600160401b031685528695509381019392810192600101610cfa565b60c01c815201859087610cd3565b600191946001600160401b038560801c16815201930184610ccc565b600191946001600160401b038560401c16815201930184610cc4565b600191946001600160401b038516815201930184610cbc565b9250925060016004918554906001600160401b03918281168252828160401c168b83015260809281841c16604083015260c01c60608201520194019201928492938792610ca3565b346100ef5760203660031901126100ef5760609060ff6001600160401b039182610df86110bd565b16600052600360205260406000205490604051938216845260018060a01b038260401c1660208501521c1615156040820152f35b346100ef5760203660031901126100ef57610e45611196565b600154906001600160a01b0390610e5f33838516146113b1565b1690610e6c8215156113f6565b6001600160a01b03191617600155005b346100ef5760003660031901126100ef576000546040516001600160a01b039091168152602090f35b346100ef5760003660031901126100ef576002546040516001600160a01b039091168152602090f35b346100ef5760403660031901126100ef57610ee76110bd565b906024356001600160401b03928382116100ef57366023830112156100ef57816004013591610f158361117b565b91610f23604051938461115a565b83835260209536602486850101116100ef5761101095600088878198602460ff9801838a01378701015281831660005260038652610f95604080600020815190610f6c826110d3565b54948516815260018060a01b039687958a8301958782861c1687521c1615159182910152611218565b5116926040519385850152848452610fac84611109565b604051610fb881611124565b6000815283600254169160405195610fcf876110ee565b86528686015260408501526060840152604051610feb81611124565b600081526080840152604051809581948293632bb74f2960e11b8452600484016112b0565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa90811561071f5760009161104e575b50604051908152f35b90508181813d8311611074575b611065818361115a565b810103126100ef575182611045565b503d61105b565b346100ef5760003660031901126100ef577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160401b03821682036100ef57565b606081019081106001600160401b038211176103e457604052565b60a081019081106001600160401b038211176103e457604052565b604081019081106001600160401b038211176103e457604052565b602081019081106001600160401b038211176103e457604052565b608081019081106001600160401b038211176103e457604052565b90601f801991011681019081106001600160401b038211176103e457604052565b6001600160401b0381116103e457601f01601f191660200190565b600435906001600160a01b03821682036100ef57565b602435906001600160a01b03821682036100ef57565b9060045482101561120257600460005260188260021c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b1561121f57565b60405162461bcd60e51b815260206004820152602360248201527f4343495053656e6465723a2064657374696e6174696f6e206e6f7420656e61626044820152621b195960ea1b6064820152608490fd5b919082519283825260005b84811061129c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161127b565b909291926001600160401b036040911682526020916040838201526112e1855160a0604084015260e0830190611270565b91838601516112ff603f199460609286868303016060870152611270565b604088015195858583030160808601528080885193848152019701936000936000915b84831061135d575050505050505060c0608061135a959660018060a01b0360608201511660a085015201519282850301910152611270565b90565b90919293949598818a5160018060a01b03815116835286810151878401520151600281101561139d57828201528201988401959493926001019190611322565b634e487b7160e01b88526021600452602488fd5b156113b857565b60405162461bcd60e51b815260206004820152601660248201527521a1a4a829b2b73232b91d1037b7363c9030b236b4b760511b6044820152606490fd5b156113fd57565b60405162461bcd60e51b815260206004820152601860248201527f4343495053656e6465723a207a65726f206164647265737300000000000000006044820152606490fd5b1561144957565b60405162461bcd60e51b815260206004820152602160248201527f4343495053656e6465723a2064657374696e6174696f6e206e6f7420666f756e6044820152601960fa1b6064820152608490fd5b91908260409103126100ef576020825192015190565b908160209103126100ef575180151581036100ef5790565b6000806114ef9260018060a01b03169360208151910182865af16114e8611538565b9083611568565b805190811515918261151d575b50506115055750565b60249060405190635274afe760e01b82526004820152fd5b61153092506020809183010191016114ae565b1538806114fc565b3d15611563573d906115498261117b565b91611557604051938461115a565b82523d6000602084013e565b606090565b9061158f575080511561157d57805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115c2575b6115a0575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561159856fea2646970667358221220a4a62fa234288440240d3aef71524aa12e90294f1a5977f5941d07b2c49b54cb64736f6c63430008160033",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60e0600035811c9182630de229841461107b575081635322183714610ece578163647846a514610ea55781638dffe3f414610e7c5781638f28397014610e2c57816396c75c5e14610dd0578163abc343a714610c53578163b217be2414610ac9578163c69c8ccf1461049f578163c89245d51461044e578163ced719f314610284578163d17f7a0914610228578163e0620a941461013557508063f2c2af43146100f45763f851a440146100c657600080fd5b346100ef5760003660031901126100ef576001546040516001600160a01b039091168152602090f35b600080fd5b346100ef5760203660031901126100ef576004356004548110156100ef576001600160401b036101256020926111c2565b9190546040519260031b1c168152f35b346100ef5760403660031901126100ef577f2dae8bd8211b67fa11381d1e0de2945698c5910d9ba2cabc120b161ea802e680906101706110bd565b6101786111ac565b916101c260018060a01b03610192816001541633146113b1565b6101b960ff6001600160401b03861694856000526003602052604060002054901c16611442565b841615156113f6565b60009081526003602052604090819020805468010000000000000000600160e01b0319169184901b68010000000000000000600160e01b03169190911790555b604080516001600160401b039290921682526001600160a01b03929092166020820152a1005b346100ef5760203660031901126100ef57610241611196565b6001546001600160a01b03919061025b90831633146113b1565b166102678115156113f6565b6bffffffffffffffffffffffff60a01b6000541617600055600080f35b346100ef5760403660031901126100ef5761029d6110bd565b906102a66111ac565b60015490916001600160a01b03916102c190831633146113b1565b818316916102d08315156113f6565b6001600160401b03928386169182600052600360205260ff604060002054851c166103fa576103679160405195610306876110d3565b84875260208701918252604087019460018652600052600360205260406000209651166001600160401b031987541617865551168490815490600160401b600160e01b039060401b16906001600160401b0363ffffffff60e01b0116179055565b51825460ff60e01b191690151590911b60ff60e01b1617905560045491600160401b8310156103e457610202816103c58560017f4db4426797acc64f4ffbac3f974c24bcf6fa22cc979a57405f1026a98b755db397016004556111c2565b9091906001600160401b038084549260031b9316831b921b1916179055565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152602660248201527f4343495053656e6465723a2064657374696e6174696f6e20616c72656164792060448201526565786973747360d01b6064820152608490fd5b346100ef5760203660031901126100ef57610467611196565b6001546001600160a01b03919061048190831633146113b1565b166bffffffffffffffffffffffff60a01b6002541617600255600080f35b60803660031901126100ef576104b36110bd565b6000546024906001600160a01b03163303610a85576001600160401b0392838316600052600360205261051b60ff604060002092604051936104f4856110d3565b5490878216855260018060a01b038260401c1660208601521c161515806040840152611218565b604051918035602084015260443560408401526064356060840152606083526105438361113f565b6020828101516040516001600160a01b03909116818301529081529061056882611109565b6040519061057582611124565b6000825260018060a01b03600254169160405193610592856110ee565b845285602085015260408401528160608401526040516105b181611124565b600081526080840152604051632bb74f2960e11b815291602083806105da878b600484016112b0565b03817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa92831561071f57600093610a51575b50826107de575b50506002546001600160a01b031661072b57610652916040918251808095819463306ab04160e21b83528a600484016112b0565b03917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561071f576020956106e4957f2b046eaedd72143b31efbfc1753f3e57682918353770498fae99edbc3d837596936000916106ef575b509586945b8860018060a01b039101511691604051938493845260408a85015216956040830190611270565b0390a3604051908152f35b610711915060403d604011610718575b610709818361115a565b810190611498565b50886106b8565b503d6106ff565b6040513d6000823e3d90fd5b506040805163306ab04160e21b8152918290819061074d9088600484016112b0565b038160007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561071f576020956106e4957f2b046eaedd72143b31efbfc1753f3e57682918353770498fae99edbc3d837596936000916107be575b509586946106bd565b6107d7915060403d60401161071857610709818361115a565b50886107b5565b8061084a57508134106107f457505b868061061e565b60849060296040519162461bcd60e51b8352602060048401528201527f4343495053656e6465723a20696e73756666696369656e74206e617469766520604482015268746f6b656e2066656560b81b6064820152fd5b6040516323b872dd60e01b60208201523383820152306044820152606480820185905281526108819161087c826110ee565b6114c6565b600254604051636eb1769f60e11b81523060048201526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081168483015290929116602083604481845afa92831561071f57600093610a1d575b50838301809311610a0857604051916000806020850163095ea7b360e01b9687825260018060a01b037f000000000000000000000000000000000000000000000000000000000000000016858801526044870152604486526109438661113f565b85519082865af1610952611538565b816109d9575b50806109cf575b1561096e575b505050506107ed565b6109c69361087c9160405191602083015260018060a01b037f0000000000000000000000000000000000000000000000000000000000000000169082015260006044820152604481526109c08161113f565b826114c6565b86808080610965565b50813b151561095f565b80518015925082156109ee575b50508b610958565b610a0192506020809183010191016114ae565b8b806109e6565b50634e487b7160e01b60009081526011600452fd5b9092506020813d602011610a49575b81610a396020938361115a565b810103126100ef575191896108e2565b3d9150610a2c565b9092506020813d602011610a7d575b81610a6d6020938361115a565b810103126100ef57519188610617565b3d9150610a60565b606490601b6040519162461bcd60e51b8352602060048401528201527f4343495053656e6465723a206f6e6c792061676772656761746f7200000000006044820152fd5b346100ef5760203660031901126100ef57610ae26110bd565b9060018092610afc60018060a01b036001541633146113b1565b6001600160401b038091169283600052610b2760ff6003926003602052604060002054901c16611442565b6000848152600360205260408120805460ff60e01b19169055945b610b74575b7f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad602085604051908152a1005b60045480861015610c4d578483610b8a886111c2565b905490851b1c1614610ba157509382019382610b42565b909193925060001994858201918211610c37576103c585610bc4610bd1946111c2565b905490861b1c16916111c2565b600454928315610c21577f3e56699e78729087a3e66cfc966bca0dc33f48d3b232219e8626bd4712949dad946020940191610c0b836111c2565b81939154921b1b19169055600455908380610b47565b634e487b7160e01b600052603160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b50610b47565b346100ef5760003660031901126100ef57604051806004549081835260208093019181848460046000527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b936000905b806003830110610d8857610ce095549184828210610d6f575b828210610d53575b828210610d37575b5010610d29575b509050939293038361115a565b604051928392818401908285525180915260408401929160005b828110610d0957505050500390f35b83516001600160401b031685528695509381019392810192600101610cfa565b60c01c815201859087610cd3565b600191946001600160401b038560801c16815201930184610ccc565b600191946001600160401b038560401c16815201930184610cc4565b600191946001600160401b038516815201930184610cbc565b9250925060016004918554906001600160401b03918281168252828160401c168b83015260809281841c16604083015260c01c60608201520194019201928492938792610ca3565b346100ef5760203660031901126100ef5760609060ff6001600160401b039182610df86110bd565b16600052600360205260406000205490604051938216845260018060a01b038260401c1660208501521c1615156040820152f35b346100ef5760203660031901126100ef57610e45611196565b600154906001600160a01b0390610e5f33838516146113b1565b1690610e6c8215156113f6565b6001600160a01b03191617600155005b346100ef5760003660031901126100ef576000546040516001600160a01b039091168152602090f35b346100ef5760003660031901126100ef576002546040516001600160a01b039091168152602090f35b346100ef5760403660031901126100ef57610ee76110bd565b906024356001600160401b03928382116100ef57366023830112156100ef57816004013591610f158361117b565b91610f23604051938461115a565b83835260209536602486850101116100ef5761101095600088878198602460ff9801838a01378701015281831660005260038652610f95604080600020815190610f6c826110d3565b54948516815260018060a01b039687958a8301958782861c1687521c1615159182910152611218565b5116926040519385850152848452610fac84611109565b604051610fb881611124565b6000815283600254169160405195610fcf876110ee565b86528686015260408501526060840152604051610feb81611124565b600081526080840152604051809581948293632bb74f2960e11b8452600484016112b0565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa90811561071f5760009161104e575b50604051908152f35b90508181813d8311611074575b611065818361115a565b810103126100ef575182611045565b503d61105b565b346100ef5760003660031901126100ef577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b600435906001600160401b03821682036100ef57565b606081019081106001600160401b038211176103e457604052565b60a081019081106001600160401b038211176103e457604052565b604081019081106001600160401b038211176103e457604052565b602081019081106001600160401b038211176103e457604052565b608081019081106001600160401b038211176103e457604052565b90601f801991011681019081106001600160401b038211176103e457604052565b6001600160401b0381116103e457601f01601f191660200190565b600435906001600160a01b03821682036100ef57565b602435906001600160a01b03821682036100ef57565b9060045482101561120257600460005260188260021c7f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b019260031b1690565b634e487b7160e01b600052603260045260246000fd5b1561121f57565b60405162461bcd60e51b815260206004820152602360248201527f4343495053656e6465723a2064657374696e6174696f6e206e6f7420656e61626044820152621b195960ea1b6064820152608490fd5b919082519283825260005b84811061129c575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161127b565b909291926001600160401b036040911682526020916040838201526112e1855160a0604084015260e0830190611270565b91838601516112ff603f199460609286868303016060870152611270565b604088015195858583030160808601528080885193848152019701936000936000915b84831061135d575050505050505060c0608061135a959660018060a01b0360608201511660a085015201519282850301910152611270565b90565b90919293949598818a5160018060a01b03815116835286810151878401520151600281101561139d57828201528201988401959493926001019190611322565b634e487b7160e01b88526021600452602488fd5b156113b857565b60405162461bcd60e51b815260206004820152601660248201527521a1a4a829b2b73232b91d1037b7363c9030b236b4b760511b6044820152606490fd5b156113fd57565b60405162461bcd60e51b815260206004820152601860248201527f4343495053656e6465723a207a65726f206164647265737300000000000000006044820152606490fd5b1561144957565b60405162461bcd60e51b815260206004820152602160248201527f4343495053656e6465723a2064657374696e6174696f6e206e6f7420666f756e6044820152601960fa1b6064820152608490fd5b91908260409103126100ef576020825192015190565b908160209103126100ef575180151581036100ef5790565b6000806114ef9260018060a01b03169360208151910182865af16114e8611538565b9083611568565b805190811515918261151d575b50506115055750565b60249060405190635274afe760e01b82526004820152fd5b61153092506020809183010191016114ae565b1538806114fc565b3d15611563573d906115498261117b565b91611557604051938461115a565b82523d6000602084013e565b606090565b9061158f575080511561157d57805190602001fd5b604051630a12f52160e11b8152600490fd5b815115806115c2575b6115a0575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561159856fea2646970667358221220a4a62fa234288440240d3aef71524aa12e90294f1a5977f5941d07b2c49b54cb64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|