713 lines
39 KiB
JSON
713 lines
39 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "StellarAdapter",
|
|
"sourceName": "contracts/bridge/adapters/non-evm/StellarAdapter.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": "stellarTxHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "ledgerSequence",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "StellarBridgeConfirmed",
|
|
"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": "stellarAccount",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "StellarBridgeInitiated",
|
|
"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": "stellarTxHash",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "ledgerSequence",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "confirmStellarTransaction",
|
|
"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": "pure",
|
|
"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": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "stellarTxHashes",
|
|
"outputs": [
|
|
{
|
|
"internalType": "string",
|
|
"name": "",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "destination",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "validateDestination",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x6080346200009957601f6200192c38819003918201601f19168301916001600160401b038311848410176200009e578084926020946040528339810103126200009957516001600160a01b038116810362000099576200007b90600180556200006881620000b4565b50620000748162000134565b50620001d6565b50600160ff1960025416176002556040516116989081620002748239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166200013057818052816020526040822081835260205260408220600160ff1982541617905533916000805160206200190c8339815191528180a4600190565b5090565b6001600160a01b031660008181527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff16620001d157808352826020526040832082845260205260408320600160ff198254161790556000805160206200190c833981519152339380a4600190565b505090565b6001600160a01b031660008181527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c160205260408120549091907f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff16620001d157808352826020526040832082845260205260408320600160ff198254161790556000805160206200190c833981519152339380a460019056fe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146110fa5750806307e2cea5146110bf57806322f3e2d41461109c578063248a9ca31461106d5780632750fc7814610fe657806327aaa66714610d905780632b368ac214610d4a5780632f2ff15d14610d0b57806336568abe14610cc45780634be40fd114610c895780635eadd7ba14610bb357806360b4141114610b095780636cb4dfc014610ac45780637ecebe0014610a8a5780638d7514151461094657806391d14854146108f9578063941b9682146108a257806397e67c3b14610856578063a217fddf1461083a578063d046b4e2146106ce578063d547741f1461068d5763f33ffba31461011157600080fd5b60803660031901126106885761012561117a565b6044356001600160401b0381116106885761014490369060040161114d565b916064356001600160401b0381116106885761016490369060040161114d565b505060026001541461067657600260015560ff600254161561063e576024351561060b576040516301b2d37f60e61b8152602060048201526024810184905283836044830137600060448583010152602081604481601f19601f8901168101030181305afa9081156105ff576000916105d0575b501561058b576101e93684846113a3565b336000526005602052604060002080549060001982146105755760018201905561026b60a860405180933360601b60208301526bffffffffffffffffffffffff198760601b1660348301526024356048830152855161024f816068850160208a01611238565b8201906068820152426088820152036088810184520182611217565b8051602090910120926001600160a01b0383166105115760243534106104d9576102be905b6040519561029d876111e0565b3387526001600160a01b0385166020880152602435604088015236916113a3565b6060850152826080850152600160a08501524260c0850152600060e0850152826000526003602052604060002060018060a01b038551166bffffffffffffffffffffffff60a01b9081835416178255600182019060018060a01b03602088015116908254161790556040850151600282015560608501518051906001600160401b0382116104c3576103608261035760038601546111a6565b60038601611332565b602090601f831160011461045157610391929160009183610446575b50508160011b916000199060031b1c19161790565b60038201555b608085015160048201556005810160a086015160068110156104305760209660079260e09260ff8019835416911617905560c081015160068501550151910155827fb864f3646d9307a866ccfdb5fed4bb82ccf75ff2f0acd40283b00ed1efb8840460405193602435855260408786015260018060a01b031693806104213395604083019061125b565b0390a460018055604051908152f35b634e487b7160e01b600052602160045260246000fd5b01519050388061037c565b9190600384016000526020600020906000935b601f19841685106104a8576001945083601f1981161061048f575b505050811b016003820155610397565b015160001960f88460031b161c1916905538808061047f565b81810151835560209485019460019093019290910190610464565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b604051906323b872dd60e01b60208301523360248301523060448301526024356064830152606482528160a08101106001600160401b0360a0840111176104c35760a082016040526102be91610570906001600160a01b038616611564565b610290565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601760248201527f496e76616c6964205374656c6c617220616464726573730000000000000000006044820152606490fd5b6105f2915060203d6020116105f8575b6105ea8183611217565b810190611433565b386101d8565b503d6105e0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b600080fd5b34610688576040366003190112610688576106cc6004356106ac611190565b908060005260006020526106c760016040600020015461144b565b6114ef565b005b346106885760208060031936011261068857600435600052600381526040600020600581019060ff825416600681101561043057801590811561082f575b50156107fa5780546001600160a01b03908116338190036107c057600183015482169081610773575050600080836002829594839554169101549082821561076a575bf1156105ff575b805460ff1916600517905560405160018152f35b506108fc61074f565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b038411176104c3576107bb92604052611564565b610756565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b60019150148461070c565b3461068857600036600319011261068857602060405160008152f35b346106885760003660031901126106885761089e604051610876816111fc565b600781526629ba32b63630b960c91b602082015260405191829160208352602083019061125b565b0390f35b346106885760003660031901126106885761089e6040516108c2816111fc565b600f81526e14dd195b1b185c8b53585a5b9b995d608a1b60208201526040519182916000835260406020840152604083019061125b565b3461068857604036600319011261068857610912611190565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346106885760208060031936011261068857600060e0604051610968816111e0565b82815282848201528260408201526060808201528260808201528260a08201528260c0820152015260043560005260038152604060002090604051906109ad826111e0565b82546001600160a01b0390811683526001840154811682840190815260028501546040850190815291949092906109e660038201611280565b93606086019485526004820154946080870195865260ff6005840154169460a0880195600681101561043057610a7b938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610a69610100958660808a015261012089019061125b565b955160a08801525160c0870190611325565b5160e085015251908301520390f35b34610688576020366003190112610688576001600160a01b03610aab61117a565b1660005260056020526020604060002054604051908152f35b34610688576020366003190112610688576004356001600160401b03811161068857610aff610af9602092369060040161114d565b906113da565b6040519015158152f35b34610688576020366003190112610688576004356000526003602052604060002060018060a01b0390818154169160018201541690600281015492610b5060038301611280565b91610ba5600482015493610b9560ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a015288019061125b565b94608087015260a0860190611325565b60c084015260e08301520390f35b34610688576020806003193601126106885760043560005260048152604060002090604051918260008254610be7816111a6565b9384845260019186600182169182600014610c67575050600114610c28575b5050610c1492500383611217565b61089e60405192828493845283019061125b565b85925060005281600020906000915b858310610c4f575050610c1493508201018580610c06565b80548389018501528794508693909201918101610c37565b9250935050610c1494915060ff191682840152151560051b8201018580610c06565b346106885760003660031901126106885760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b3461068857604036600319011261068857610cdd611190565b336001600160a01b03821603610cf9576106cc906004356114ef565b60405163334bd91960e11b8152600490fd5b34610688576040366003190112610688576106cc600435610d2a611190565b90806000526000602052610d4560016040600020015461144b565b611471565b3461068857606036600319011261068857610d6361117a565b506044356001600160401b03811161068857610d8390369060040161114d565b5050602060405160648152f35b34610688576060366003190112610688576004356001600160401b0360243581811161068857610dc490369060040161114d565b3360009081527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c16020908152604090912054909492907f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff1615610fc857508260005260038552604060002093600585019485549560ff8716966006881015610430576001809803610f925760029060ff1916179055600742910155836000526004865260406000209083116104c357610e8a83610e8483546111a6565b83611332565b600094601f8411600114610f095750610edd83807fb7318b8a20707869239e30f3c728e4934d1c63059719b705dd0480945c86cf999697600091610efe575b508160011b916000199060031b1c19161790565b90555b816040519283928337810160008152039020926040516044358152a3005b905084013589610ec9565b601f198416958260005287600020916000905b89898310610f7a57505050847fb7318b8a20707869239e30f3c728e4934d1c63059719b705dd0480945c86cf99969710610f60575b5050600183811b019055610ee0565b830135600019600386901b60f8161c191690558680610f51565b86840135855593810193928301929190910190610f1c565b60405162461bcd60e51b8152600481018a9052600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461068857602036600319011261068857600435801515809103610688573360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561104e5760ff801960025416911617600255600080f35b60405163e2517d3f60e01b815233600482015260006024820152604490fd5b346106885760203660031901126106885760043560005260006020526020600160406000200154604051908152f35b3461068857600036600319011261068857602060ff600254166040519015158152f35b346106885760003660031901126106885760206040517f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef18152f35b34610688576020366003190112610688576004359063ffffffff60e01b821680920361068857602091637965db0b60e01b811490811561113c575b5015158152f35b6301ffc9a760e01b14905083611135565b9181601f84011215610688578235916001600160401b038311610688576020838186019501011161068857565b600435906001600160a01b038216820361068857565b602435906001600160a01b038216820361068857565b90600182811c921680156111d6575b60208310146111c057565b634e487b7160e01b600052602260045260246000fd5b91607f16916111b5565b61010081019081106001600160401b038211176104c357604052565b604081019081106001600160401b038211176104c357604052565b90601f801991011681019081106001600160401b038211176104c357604052565b60005b83811061124b5750506000910152565b818101518382015260200161123b565b9060209161127481518092818552858086019101611238565b601f01601f1916010190565b90604051918260008254611293816111a6565b9081845260209460019160018116908160001461130357506001146112c4575b5050506112c292500383611217565b565b600090815285812095935091905b8183106112eb5750506112c293508201013880806112b3565b855488840185015294850194879450918301916112d2565b925050506112c294925060ff191682840152151560051b8201013880806112b3565b9060068210156104305752565b90601f811161134057505050565b6000916000526020600020906020601f850160051c8301941061137e575b601f0160051c01915b82811061137357505050565b818155600101611367565b909250829061135e565b6001600160401b0381116104c357601f01601f191660200190565b9291926113af82611388565b916113bd6040519384611217565b829481845281830111610688578281602093846000960137010152565b6113e59136916113a3565b80516038810361142c571561141657602001516001600160f81b03191660b960f81b0161141157600190565b600090565b634e487b7160e01b600052603260045260246000fd5b5050600090565b90816020910312610688575180151581036106885790565b80600052600060205260406000203360005260205260ff6040600020541615610fc85750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146114ea57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114ea5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6000806115ae9260018060a01b03169360208151910182865af13d156115f7573d9061158f82611388565b9161159d6040519384611217565b82523d6000602084013e5b836115ff565b80519081151591826115dc575b50506115c45750565b60249060405190635274afe760e01b82526004820152fd5b6115ef9250602080918301019101611433565b1538806115bb565b6060906115a8565b90611626575080511561161457805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611659575b611637575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561162f56fea2646970667358221220a1dddf41f378ffd28caf545d59b331168b59738a5841e5a14a65acebe7b4355b64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146110fa5750806307e2cea5146110bf57806322f3e2d41461109c578063248a9ca31461106d5780632750fc7814610fe657806327aaa66714610d905780632b368ac214610d4a5780632f2ff15d14610d0b57806336568abe14610cc45780634be40fd114610c895780635eadd7ba14610bb357806360b4141114610b095780636cb4dfc014610ac45780637ecebe0014610a8a5780638d7514151461094657806391d14854146108f9578063941b9682146108a257806397e67c3b14610856578063a217fddf1461083a578063d046b4e2146106ce578063d547741f1461068d5763f33ffba31461011157600080fd5b60803660031901126106885761012561117a565b6044356001600160401b0381116106885761014490369060040161114d565b916064356001600160401b0381116106885761016490369060040161114d565b505060026001541461067657600260015560ff600254161561063e576024351561060b576040516301b2d37f60e61b8152602060048201526024810184905283836044830137600060448583010152602081604481601f19601f8901168101030181305afa9081156105ff576000916105d0575b501561058b576101e93684846113a3565b336000526005602052604060002080549060001982146105755760018201905561026b60a860405180933360601b60208301526bffffffffffffffffffffffff198760601b1660348301526024356048830152855161024f816068850160208a01611238565b8201906068820152426088820152036088810184520182611217565b8051602090910120926001600160a01b0383166105115760243534106104d9576102be905b6040519561029d876111e0565b3387526001600160a01b0385166020880152602435604088015236916113a3565b6060850152826080850152600160a08501524260c0850152600060e0850152826000526003602052604060002060018060a01b038551166bffffffffffffffffffffffff60a01b9081835416178255600182019060018060a01b03602088015116908254161790556040850151600282015560608501518051906001600160401b0382116104c3576103608261035760038601546111a6565b60038601611332565b602090601f831160011461045157610391929160009183610446575b50508160011b916000199060031b1c19161790565b60038201555b608085015160048201556005810160a086015160068110156104305760209660079260e09260ff8019835416911617905560c081015160068501550151910155827fb864f3646d9307a866ccfdb5fed4bb82ccf75ff2f0acd40283b00ed1efb8840460405193602435855260408786015260018060a01b031693806104213395604083019061125b565b0390a460018055604051908152f35b634e487b7160e01b600052602160045260246000fd5b01519050388061037c565b9190600384016000526020600020906000935b601f19841685106104a8576001945083601f1981161061048f575b505050811b016003820155610397565b015160001960f88460031b161c1916905538808061047f565b81810151835560209485019460019093019290910190610464565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f092dce6eaccccd2c6d2cadce8408aa8960831b6044820152606490fd5b604051906323b872dd60e01b60208301523360248301523060448301526024356064830152606482528160a08101106001600160401b0360a0840111176104c35760a082016040526102be91610570906001600160a01b038616611564565b610290565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601760248201527f496e76616c6964205374656c6c617220616464726573730000000000000000006044820152606490fd5b6105f2915060203d6020116105f8575b6105ea8183611217565b810190611433565b386101d8565b503d6105e0565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f4164617074657220696e61637469766560801b6044820152606490fd5b604051633ee5aeb560e01b8152600490fd5b600080fd5b34610688576040366003190112610688576106cc6004356106ac611190565b908060005260006020526106c760016040600020015461144b565b6114ef565b005b346106885760208060031936011261068857600435600052600381526040600020600581019060ff825416600681101561043057801590811561082f575b50156107fa5780546001600160a01b03908116338190036107c057600183015482169081610773575050600080836002829594839554169101549082821561076a575bf1156105ff575b805460ff1916600517905560405160018152f35b506108fc61074f565b915091600201546040519163a9059cbb60e01b86840152602483015260448201526044815260808101918183106001600160401b038411176104c3576107bb92604052611564565b610756565b60405162461bcd60e51b81526004810186905260126024820152712737ba103932b8bab2b9ba1039b2b73232b960711b6044820152606490fd5b60405162461bcd60e51b815260048101849052600d60248201526c10d85b9b9bdd0818d85b98d95b609a1b6044820152606490fd5b60019150148461070c565b3461068857600036600319011261068857602060405160008152f35b346106885760003660031901126106885761089e604051610876816111fc565b600781526629ba32b63630b960c91b602082015260405191829160208352602083019061125b565b0390f35b346106885760003660031901126106885761089e6040516108c2816111fc565b600f81526e14dd195b1b185c8b53585a5b9b995d608a1b60208201526040519182916000835260406020840152604083019061125b565b3461068857604036600319011261068857610912611190565b600435600052600060205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346106885760208060031936011261068857600060e0604051610968816111e0565b82815282848201528260408201526060808201528260808201528260a08201528260c0820152015260043560005260038152604060002090604051906109ad826111e0565b82546001600160a01b0390811683526001840154811682840190815260028501546040850190815291949092906109e660038201611280565b93606086019485526004820154946080870195865260ff6005840154169460a0880195600681101561043057610a7b938a918852600760068701549660c08c0197885201549660e08b019788526040519b8c9b828d525116908b0152511660408901525160608801525193610a69610100958660808a015261012089019061125b565b955160a08801525160c0870190611325565b5160e085015251908301520390f35b34610688576020366003190112610688576001600160a01b03610aab61117a565b1660005260056020526020604060002054604051908152f35b34610688576020366003190112610688576004356001600160401b03811161068857610aff610af9602092369060040161114d565b906113da565b6040519015158152f35b34610688576020366003190112610688576004356000526003602052604060002060018060a01b0390818154169160018201541690600281015492610b5060038301611280565b91610ba5600482015493610b9560ff600585015416916007600686015495015495604051998a99610100928b5260208b015260408a01528060608a015288019061125b565b94608087015260a0860190611325565b60c084015260e08301520390f35b34610688576020806003193601126106885760043560005260048152604060002090604051918260008254610be7816111a6565b9384845260019186600182169182600014610c67575050600114610c28575b5050610c1492500383611217565b61089e60405192828493845283019061125b565b85925060005281600020906000915b858310610c4f575050610c1493508201018580610c06565b80548389018501528794508693909201918101610c37565b9250935050610c1494915060ff191682840152151560051b8201018580610c06565b346106885760003660031901126106885760206040517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b3461068857604036600319011261068857610cdd611190565b336001600160a01b03821603610cf9576106cc906004356114ef565b60405163334bd91960e11b8152600490fd5b34610688576040366003190112610688576106cc600435610d2a611190565b90806000526000602052610d4560016040600020015461144b565b611471565b3461068857606036600319011261068857610d6361117a565b506044356001600160401b03811161068857610d8390369060040161114d565b5050602060405160648152f35b34610688576060366003190112610688576004356001600160401b0360243581811161068857610dc490369060040161114d565b3360009081527fa629f6981c2f6895a67dc766e8e03ff72d04a413d0d8773a3ca56e9e474032c16020908152604090912054909492907f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef19060ff1615610fc857508260005260038552604060002093600585019485549560ff8716966006881015610430576001809803610f925760029060ff1916179055600742910155836000526004865260406000209083116104c357610e8a83610e8483546111a6565b83611332565b600094601f8411600114610f095750610edd83807fb7318b8a20707869239e30f3c728e4934d1c63059719b705dd0480945c86cf999697600091610efe575b508160011b916000199060031b1c19161790565b90555b816040519283928337810160008152039020926040516044358152a3005b905084013589610ec9565b601f198416958260005287600020916000905b89898310610f7a57505050847fb7318b8a20707869239e30f3c728e4934d1c63059719b705dd0480945c86cf99969710610f60575b5050600183811b019055610ee0565b830135600019600386901b60f8161c191690558680610f51565b86840135855593810193928301929190910190610f1c565b60405162461bcd60e51b8152600481018a9052600e60248201526d496e76616c69642073746174757360901b6044820152606490fd5b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b3461068857602036600319011261068857600435801515809103610688573360009081527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604090205460ff161561104e5760ff801960025416911617600255600080f35b60405163e2517d3f60e01b815233600482015260006024820152604490fd5b346106885760203660031901126106885760043560005260006020526020600160406000200154604051908152f35b3461068857600036600319011261068857602060ff600254166040519015158152f35b346106885760003660031901126106885760206040517f68e79a7bf1e0bc45d0a330c573bc367f9cf464fd326078812f301165fbda4ef18152f35b34610688576020366003190112610688576004359063ffffffff60e01b821680920361068857602091637965db0b60e01b811490811561113c575b5015158152f35b6301ffc9a760e01b14905083611135565b9181601f84011215610688578235916001600160401b038311610688576020838186019501011161068857565b600435906001600160a01b038216820361068857565b602435906001600160a01b038216820361068857565b90600182811c921680156111d6575b60208310146111c057565b634e487b7160e01b600052602260045260246000fd5b91607f16916111b5565b61010081019081106001600160401b038211176104c357604052565b604081019081106001600160401b038211176104c357604052565b90601f801991011681019081106001600160401b038211176104c357604052565b60005b83811061124b5750506000910152565b818101518382015260200161123b565b9060209161127481518092818552858086019101611238565b601f01601f1916010190565b90604051918260008254611293816111a6565b9081845260209460019160018116908160001461130357506001146112c4575b5050506112c292500383611217565b565b600090815285812095935091905b8183106112eb5750506112c293508201013880806112b3565b855488840185015294850194879450918301916112d2565b925050506112c294925060ff191682840152151560051b8201013880806112b3565b9060068210156104305752565b90601f811161134057505050565b6000916000526020600020906020601f850160051c8301941061137e575b601f0160051c01915b82811061137357505050565b818155600101611367565b909250829061135e565b6001600160401b0381116104c357601f01601f191660200190565b9291926113af82611388565b916113bd6040519384611217565b829481845281830111610688578281602093846000960137010152565b6113e59136916113a3565b80516038810361142c571561141657602001516001600160f81b03191660b960f81b0161141157600190565b600090565b634e487b7160e01b600052603260045260246000fd5b5050600090565b90816020910312610688575180151581036106885790565b80600052600060205260406000203360005260205260ff6040600020541615610fc85750565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416156000146114ea57808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff6040842054166000146114ea5780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b6000806115ae9260018060a01b03169360208151910182865af13d156115f7573d9061158f82611388565b9161159d6040519384611217565b82523d6000602084013e5b836115ff565b80519081151591826115dc575b50506115c45750565b60249060405190635274afe760e01b82526004820152fd5b6115ef9250602080918301019101611433565b1538806115bb565b6060906115a8565b90611626575080511561161457805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611659575b611637575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561162f56fea2646970667358221220a1dddf41f378ffd28caf545d59b331168b59738a5841e5a14a65acebe7b4355b64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|