Files
smom-dbis-138/artifacts/contracts/bridge/adapters/non-evm/TronAdapter.sol/TronAdapter.json
2026-03-02 12:14:09 -08:00

702 lines
37 KiB
JSON

{
"_format": "hh-sol-artifact-1",
"contractName": "TronAdapter",
"sourceName": "contracts/bridge/adapters/non-evm/TronAdapter.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"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"
},
{
"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": [],
"name": "ReentrancyGuardReentrantCall",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
}
],
"name": "SafeERC20FailedOperation",
"type": "error"
},
{
"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"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "string",
"name": "txHash",
"type": "string"
}
],
"name": "TronBridgeConfirmed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "token",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"indexed": false,
"internalType": "string",
"name": "destination",
"type": "string"
}
],
"name": "TronBridgeInitiated",
"type": "event"
},
{
"inputs": [],
"name": "BRIDGE_OPERATOR_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "ORACLE_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "destination",
"type": "bytes"
},
{
"internalType": "bytes",
"name": "recipient",
"type": "bytes"
}
],
"name": "bridge",
"outputs": [
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
}
],
"stateMutability": "payable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "bridgeRequests",
"outputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "destinationData",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "enum IChainAdapter.BridgeStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "completedAt",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
}
],
"name": "cancelBridge",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "string",
"name": "txHash",
"type": "string"
}
],
"name": "confirmTransaction",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "destination",
"type": "bytes"
}
],
"name": "estimateFee",
"outputs": [
{
"internalType": "uint256",
"name": "fee",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
}
],
"name": "getBridgeStatus",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "address",
"name": "token",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "destinationData",
"type": "bytes"
},
{
"internalType": "bytes32",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "enum IChainAdapter.BridgeStatus",
"name": "status",
"type": "uint8"
},
{
"internalType": "uint256",
"name": "createdAt",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "completedAt",
"type": "uint256"
}
],
"internalType": "struct IChainAdapter.BridgeRequest",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getChainIdentifier",
"outputs": [
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"internalType": "string",
"name": "identifier",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [],
"name": "getChainType",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "pure",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
}
],
"name": "getRoleAdmin",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"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": [],
"name": "isActive",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "nonces",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "role",
"type": "bytes32"
},
{
"internalType": "address",
"name": "callerConfirmation",
"type": "address"
}
],
"name": "renounceRole",
"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": "bool",
"name": "_isActive",
"type": "bool"
}
],
"name": "setIsActive",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"name": "txHashes",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes",
"name": "destination",
"type": "bytes"
}
],
"name": "validateDestination",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "pure",
"type": "function"
}
],
"bytecode": "0x6080346200009957601f620017d838819003918201601f19168301916001600160401b038311848410176200009e578084926020946040528339810103126200009957516001600160a01b038116810362000099576200007b90600180556200006881620000b4565b50620000748162000134565b50620001d6565b50600160ff1960025416176002556040516115449081620002748239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200013057818052816020526040822081835260205260408220600160ff198254161790553391600080516020620017b88339815191528180a4600190565b5090565b6001600160a01b031660008181527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff16620001d157808352826020526040832082845260205260408320600160ff19825416179055600080516020620017b8833981519152339380a4600190565b505090565b6001600160a01b031660008181527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c160205260408120549091907f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff16620001d157808352826020526040832082845260205260408320600160ff19825416179055600080516020620017b8833981519152339380a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146110015750806307e2cea514610fc657806322f3e2d414610fa3578063248a9ca314610f745780632750fc7814610eed5780632b368ac214610ea15780632f2ff15d14610e6257806336568abe14610e1b5780634be40fd114610de057806360b4141114610d365780636cb4dfc014610cf857806370cf467114610aca5780637ecebe0014610a905780638d7514151461094c57806391d14854146108ff578063941b9682146108ab57806397e67c3b14610866578063a217fddf1461084a578063a8734a1314610770578063d046b4e2146105f8578063d547741f146105b75763f33ffba31461011157600080fd5b60803660031901126105b257610125611054565b6044356001600160401b0381116105b257610144903690600401611080565b916064356001600160401b0381116105b257610164903690600401611080565b50506002600154146105a057600260015560ff60025416156105685760243515610535576101933684846112aa565b3360005260056020526040600020805490600019821461051f5760018201905561021560a860405180933360601b60208301526bffffffffffffffffffffffff198760601b166034830152602435604883015285516101f9816068850160208a016111e4565b820190606882015242608882015203608881018452018261111e565b8051602090910120926001600160a01b0383166104bb57602435341061048357610268905b60405195610247876110e7565b3387526001600160a01b0385166020880152602435604088015236916112aa565b6060850152826080850152600160a08501524260c0850152600060e0850152826000526003602052604060002060018060a01b038551166bffffffffffffffffffffffff60a01b9081835416178255600182019060018060a01b03602088015116908254161790556040850151600282015560608501518051906001600160401b03821161046d5761030a8261030160038601546110ad565b60038601611239565b602090601f83116001146103fb5761033b9291600091836103f0575b50508160011b916000199060031b1c19161790565b60038201555b608085015160048201556005810160a086015160068110156103da5760209660079260e09260ff8019835416911617905560c081015160068501550151910155827fe0746b1ce1ed00f31dd46febbe55b4d731e9075ec5d48c298bb34cfb2eed4a1560405193602435855260408786015260018060a01b031693806103cb33956040830190611207565b0390a460018055604051908152f35b634e487b7160e01b600052602160045260246000fd5b015190503880610326565b9190600384016000526020600020906000935b601f1984168510610452576001945083601f19811610610439575b505050811b016003820155610341565b015160001960f88460031b161c19169055388080610429565b8181015183556020948501946001909301929091019061040e565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b604051906323b872dd60e01b60208301523360248301523060448301526024356064830152606482528160a08101106001600160401b0360a08401111761046d5760a082016040526102689161051a906001600160a01b0386166113fa565b61023a565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b600080fd5b346105b25760403660031901126105b2576105f66004356105d661106a565b908060005260006020526105f16001604060002001546112e1565b611385565b005b346105b2576020806003193601126105b257600435600052600381526040600020600581019060ff82541660068110156103da578015908115610765575b50156107305780546001600160a01b03908116338190036106f6576001830154821690816106a957505060008083600282959483955416910154908282156106a0575bf115610694575b805460ff1916600517905560405160018152f35b6040513d6000823e3d90fd5b506108fc610679565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b0384111761046d576106f1926040526113fa565b610680565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b600191501484610636565b346105b2576020806003193601126105b257600435600052600481526040600020906040519182600082546107a4816110ad565b93848452600191866001821691826000146108285750506001146107e9575b50506107d19250038361111e565b6107e5604051928284938452830190611207565b0390f35b85925060005281600020906000915b8583106108105750506107d1935082010185806107c3565b805483890185015287945086939092019181016107f8565b92509350506107d194915060ff191682840152151560051b82010185806107c3565b346105b25760003660031901126105b257602060405160008152f35b346105b25760003660031901126105b2576107e560405161088681611103565b60048152632a3937b760e11b6020820152604051918291602083526020830190611207565b346105b25760003660031901126105b2576107e56040516108cb81611103565b600c81526b151c9bdb8b53585a5b9b995d60a21b602082015260405191829160008352604060208401526040830190611207565b346105b25760403660031901126105b25761091861106a565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346105b2576020806003193601126105b257600060e060405161096e816110e7565b82815282848201528260408201526060808201528260808201528260a08201528260c0820152015260043560005260038152604060002090604051906109b3826110e7565b82546001600160a01b0390811683526001840154811682840190815260028501546040850190815291949092906109ec6003820161113f565b93606086019485526004820154946080870195865260ff6005840154169460a088019560068110156103da57610a81938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610a6f610100958660808a0152610120890190611207565b955160a08801525160c087019061122c565b5160e085015251908301520390f35b346105b25760203660031901126105b2576001600160a01b03610ab1611054565b1660005260056020526020604060002054604051908152f35b346105b25760403660031901126105b2576004356001600160401b036024358181116105b257610afe903690600401611080565b3360009081527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c160209081526040909120549193917f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff1615610cda57508460005260038152604060002090600582019182549260ff84169360068510156103da576001809503610ca45760029060ff19161790556007429101558560005260048152604060002092851161046d578491610bc583610bbf86546110ad565b86611239565b600091601f8411600114610c3f5750509080610bf792600091610c34575b508160011b916000199060031b1c19161790565b90555b816040519283928337810160008152039020907fb00868ea9b0ef453baf62515e1f72f8eca80ba7bbb573e14c7891e5b1372375d600080a3005b905084013587610be3565b60008581528181209492601f19841692905b838310610c8a5750505010610c70575b5050600183811b019055610bfa565b830135600019600386901b60f8161c191690558480610c61565b888601358755958601959481019489945091810191610c51565b60405162461bcd60e51b815260048101859052600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105b25760203660031901126105b2576004356001600160401b0381116105b257610d2a6020913690600401611080565b90506040519015158152f35b346105b25760203660031901126105b2576004356000526003602052604060002060018060a01b0390818154169160018201541690600281015492610d7d6003830161113f565b91610dd2600482015493610dc260ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a0152880190611207565b94608087015260a086019061122c565b60c084015260e08301520390f35b346105b25760003660031901126105b25760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b346105b25760403660031901126105b257610e3461106a565b336001600160a01b03821603610e50576105f690600435611385565b60405163334bd91960e11b8152600490fd5b346105b25760403660031901126105b2576105f6600435610e8161106a565b90806000526000602052610e9c6001604060002001546112e1565b611307565b346105b25760603660031901126105b257610eba611054565b506044356001600160401b0381116105b257610eda903690600401611080565b5050602060405166038d7ea4c680008152f35b346105b25760203660031901126105b2576004358015158091036105b2573360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610f555760ff801960025416911617600255600080f35b60405163e2517d3f60e01b815233600482015260006024820152604490fd5b346105b25760203660031901126105b25760043560005260006020526020600160406000200154604051908152f35b346105b25760003660031901126105b257602060ff600254166040519015158152f35b346105b25760003660031901126105b25760206040517f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef18152f35b346105b25760203660031901126105b2576004359063ffffffff60e01b82168092036105b257602091637965db0b60e01b8114908115611043575b5015158152f35b6301ffc9a760e01b1490508361103c565b600435906001600160a01b03821682036105b257565b602435906001600160a01b03821682036105b257565b9181601f840112156105b2578235916001600160401b0383116105b257602083818601950101116105b257565b90600182811c921680156110dd575b60208310146110c757565b634e487b7160e01b600052602260045260246000fd5b91607f16916110bc565b61010081019081106001600160401b0382111761046d57604052565b604081019081106001600160401b0382111761046d57604052565b90601f801991011681019081106001600160401b0382111761046d57604052565b90604051918260008254611152816110ad565b908184526020946001916001811690816000146111c25750600114611183575b5050506111819250038361111e565b565b600090815285812095935091905b8183106111aa5750506111819350820101388080611172565b85548884018501529485019487945091830191611191565b9250505061118194925060ff191682840152151560051b820101388080611172565b60005b8381106111f75750506000910152565b81810151838201526020016111e7565b90602091611220815180928185528580860191016111e4565b601f01601f1916010190565b9060068210156103da5752565b90601f811161124757505050565b6000916000526020600020906020601f850160051c83019410611285575b601f0160051c01915b82811061127a57505050565b81815560010161126e565b9092508290611265565b6001600160401b03811161046d57601f01601f191660200190565b9291926112b68261128f565b916112c4604051938461111e565b8294818452818301116105b2578281602093846000960137010152565b80600052600060205260406000203360005260205260ff6040600020541615610cda5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001461138057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146113805780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60018060a01b031690611444600080836020829551910182875af13d156114a3573d906114268261128f565b91611434604051938461111e565b82523d84602084013e5b846114ab565b908151918215159283611474575b50505061145c5750565b60249060405190635274afe760e01b82526004820152fd5b81929350906020918101031261149f57602001519081159182150361149c5750388080611452565b80fd5b5080fd5b60609061143e565b906114d257508051156114c057805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611505575b6114e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156114db56fea2646970667358221220e4b5dd5c41e19452fcb62357a29a8ead185a24fbe94746f159ed54220ed31c3664736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146110015750806307e2cea514610fc657806322f3e2d414610fa3578063248a9ca314610f745780632750fc7814610eed5780632b368ac214610ea15780632f2ff15d14610e6257806336568abe14610e1b5780634be40fd114610de057806360b4141114610d365780636cb4dfc014610cf857806370cf467114610aca5780637ecebe0014610a905780638d7514151461094c57806391d14854146108ff578063941b9682146108ab57806397e67c3b14610866578063a217fddf1461084a578063a8734a1314610770578063d046b4e2146105f8578063d547741f146105b75763f33ffba31461011157600080fd5b60803660031901126105b257610125611054565b6044356001600160401b0381116105b257610144903690600401611080565b916064356001600160401b0381116105b257610164903690600401611080565b50506002600154146105a057600260015560ff60025416156105685760243515610535576101933684846112aa565b3360005260056020526040600020805490600019821461051f5760018201905561021560a860405180933360601b60208301526bffffffffffffffffffffffff198760601b166034830152602435604883015285516101f9816068850160208a016111e4565b820190606882015242608882015203608881018452018261111e565b8051602090910120926001600160a01b0383166104bb57602435341061048357610268905b60405195610247876110e7565b3387526001600160a01b0385166020880152602435604088015236916112aa565b6060850152826080850152600160a08501524260c0850152600060e0850152826000526003602052604060002060018060a01b038551166bffffffffffffffffffffffff60a01b9081835416178255600182019060018060a01b03602088015116908254161790556040850151600282015560608501518051906001600160401b03821161046d5761030a8261030160038601546110ad565b60038601611239565b602090601f83116001146103fb5761033b9291600091836103f0575b50508160011b916000199060031b1c19161790565b60038201555b608085015160048201556005810160a086015160068110156103da5760209660079260e09260ff8019835416911617905560c081015160068501550151910155827fe0746b1ce1ed00f31dd46febbe55b4d731e9075ec5d48c298bb34cfb2eed4a1560405193602435855260408786015260018060a01b031693806103cb33956040830190611207565b0390a460018055604051908152f35b634e487b7160e01b600052602160045260246000fd5b015190503880610326565b9190600384016000526020600020906000935b601f1984168510610452576001945083601f19811610610439575b505050811b016003820155610341565b015160001960f88460031b161c19169055388080610429565b8181015183556020948501946001909301929091019061040e565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b604051906323b872dd60e01b60208301523360248301523060448301526024356064830152606482528160a08101106001600160401b0360a08401111761046d5760a082016040526102689161051a906001600160a01b0386166113fa565b61023a565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b600080fd5b346105b25760403660031901126105b2576105f66004356105d661106a565b908060005260006020526105f16001604060002001546112e1565b611385565b005b346105b2576020806003193601126105b257600435600052600381526040600020600581019060ff82541660068110156103da578015908115610765575b50156107305780546001600160a01b03908116338190036106f6576001830154821690816106a957505060008083600282959483955416910154908282156106a0575bf115610694575b805460ff1916600517905560405160018152f35b6040513d6000823e3d90fd5b506108fc610679565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b0384111761046d576106f1926040526113fa565b610680565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b600191501484610636565b346105b2576020806003193601126105b257600435600052600481526040600020906040519182600082546107a4816110ad565b93848452600191866001821691826000146108285750506001146107e9575b50506107d19250038361111e565b6107e5604051928284938452830190611207565b0390f35b85925060005281600020906000915b8583106108105750506107d1935082010185806107c3565b805483890185015287945086939092019181016107f8565b92509350506107d194915060ff191682840152151560051b82010185806107c3565b346105b25760003660031901126105b257602060405160008152f35b346105b25760003660031901126105b2576107e560405161088681611103565b60048152632a3937b760e11b6020820152604051918291602083526020830190611207565b346105b25760003660031901126105b2576107e56040516108cb81611103565b600c81526b151c9bdb8b53585a5b9b995d60a21b602082015260405191829160008352604060208401526040830190611207565b346105b25760403660031901126105b25761091861106a565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346105b2576020806003193601126105b257600060e060405161096e816110e7565b82815282848201528260408201526060808201528260808201528260a08201528260c0820152015260043560005260038152604060002090604051906109b3826110e7565b82546001600160a01b0390811683526001840154811682840190815260028501546040850190815291949092906109ec6003820161113f565b93606086019485526004820154946080870195865260ff6005840154169460a088019560068110156103da57610a81938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610a6f610100958660808a0152610120890190611207565b955160a08801525160c087019061122c565b5160e085015251908301520390f35b346105b25760203660031901126105b2576001600160a01b03610ab1611054565b1660005260056020526020604060002054604051908152f35b346105b25760403660031901126105b2576004356001600160401b036024358181116105b257610afe903690600401611080565b3360009081527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c160209081526040909120549193917f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff1615610cda57508460005260038152604060002090600582019182549260ff84169360068510156103da576001809503610ca45760029060ff19161790556007429101558560005260048152604060002092851161046d578491610bc583610bbf86546110ad565b86611239565b600091601f8411600114610c3f5750509080610bf792600091610c34575b508160011b916000199060031b1c19161790565b90555b816040519283928337810160008152039020907fb00868ea9b0ef453baf62515e1f72f8eca80ba7bbb573e14c7891e5b1372375d600080a3005b905084013587610be3565b60008581528181209492601f19841692905b838310610c8a5750505010610c70575b5050600183811b019055610bfa565b830135600019600386901b60f8161c191690558480610c61565b888601358755958601959481019489945091810191610c51565b60405162461bcd60e51b815260048101859052600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105b25760203660031901126105b2576004356001600160401b0381116105b257610d2a6020913690600401611080565b90506040519015158152f35b346105b25760203660031901126105b2576004356000526003602052604060002060018060a01b0390818154169160018201541690600281015492610d7d6003830161113f565b91610dd2600482015493610dc260ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a0152880190611207565b94608087015260a086019061122c565b60c084015260e08301520390f35b346105b25760003660031901126105b25760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b346105b25760403660031901126105b257610e3461106a565b336001600160a01b03821603610e50576105f690600435611385565b60405163334bd91960e11b8152600490fd5b346105b25760403660031901126105b2576105f6600435610e8161106a565b90806000526000602052610e9c6001604060002001546112e1565b611307565b346105b25760603660031901126105b257610eba611054565b506044356001600160401b0381116105b257610eda903690600401611080565b5050602060405166038d7ea4c680008152f35b346105b25760203660031901126105b2576004358015158091036105b2573360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff1615610f555760ff801960025416911617600255600080f35b60405163e2517d3f60e01b815233600482015260006024820152604490fd5b346105b25760203660031901126105b25760043560005260006020526020600160406000200154604051908152f35b346105b25760003660031901126105b257602060ff600254166040519015158152f35b346105b25760003660031901126105b25760206040517f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef18152f35b346105b25760203660031901126105b2576004359063ffffffff60e01b82168092036105b257602091637965db0b60e01b8114908115611043575b5015158152f35b6301ffc9a760e01b1490508361103c565b600435906001600160a01b03821682036105b257565b602435906001600160a01b03821682036105b257565b9181601f840112156105b2578235916001600160401b0383116105b257602083818601950101116105b257565b90600182811c921680156110dd575b60208310146110c757565b634e487b7160e01b600052602260045260246000fd5b91607f16916110bc565b61010081019081106001600160401b0382111761046d57604052565b604081019081106001600160401b0382111761046d57604052565b90601f801991011681019081106001600160401b0382111761046d57604052565b90604051918260008254611152816110ad565b908184526020946001916001811690816000146111c25750600114611183575b5050506111819250038361111e565b565b600090815285812095935091905b8183106111aa5750506111819350820101388080611172565b85548884018501529485019487945091830191611191565b9250505061118194925060ff191682840152151560051b820101388080611172565b60005b8381106111f75750506000910152565b81810151838201526020016111e7565b90602091611220815180928185528580860191016111e4565b601f01601f1916010190565b9060068210156103da5752565b90601f811161124757505050565b6000916000526020600020906020601f850160051c83019410611285575b601f0160051c01915b82811061127a57505050565b81815560010161126e565b9092508290611265565b6001600160401b03811161046d57601f01601f191660200190565b9291926112b68261128f565b916112c4604051938461111e565b8294818452818301116105b2578281602093846000960137010152565b80600052600060205260406000203360005260205260ff6040600020541615610cda5750565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054161560001461138057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146113805780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b60018060a01b031690611444600080836020829551910182875af13d156114a3573d906114268261128f565b91611434604051938461111e565b82523d84602084013e5b846114ab565b908151918215159283611474575b50505061145c5750565b60249060405190635274afe760e01b82526004820152fd5b81929350906020918101031261149f57602001519081159182150361149c5750388080611452565b80fd5b5080fd5b60609061143e565b906114d257508051156114c057805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611505575b6114e3575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156114db56fea2646970667358221220e4b5dd5c41e19452fcb62357a29a8ead185a24fbe94746f159ed54220ed31c3664736f6c63430008160033",
"linkReferences": {},
"deployedLinkReferences": {}
}