648 lines
29 KiB
JSON
648 lines
29 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "BridgeVaultExtension",
|
|
"sourceName": "contracts/vault/BridgeVaultExtension.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"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "BridgeRecorded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "BridgeStatusUpdated",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "previousAdminRole",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "newAdminRole",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "RoleAdminChanged",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleGranted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "sender",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "RoleRevoked",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "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": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "bridgeHistory",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "bridgeRecords",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getAllBridgeHistory",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"internalType": "struct BridgeVaultExtension.BridgeRecord[]",
|
|
"name": "",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "getBridgeCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getBridgeHistory",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"internalType": "struct BridgeVaultExtension.BridgeRecord[]",
|
|
"name": "",
|
|
"type": "tuple[]"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getBridgeRecord",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "timestamp",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"internalType": "struct BridgeVaultExtension.BridgeRecord",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleAdmin",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "user",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "getUserBridgeCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"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": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "destinationChain",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "recipient",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "recordBridgeOperation",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "callerConfirmation",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "revokeRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "interfaceId",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "supportsInterface",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "messageId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum BridgeVaultExtension.BridgeStatus",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
}
|
|
],
|
|
"name": "updateBridgeStatus",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "userBridgeHistory",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60803461007257601f610ffe38819003918201601f19168301916001600160401b038311848410176100775780849260209460405283398101031261007257516001600160a01b0381168103610072578061005c6100629261008d565b5061010b565b50604051610e3290816101ac8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff1661010757818052816020526040822081835260205260408220600160ff198254161790553391600080516020610fde8339815191528180a4600190565b5090565b6001600160a01b031660008181527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260408120549091907f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff166101a657808352826020526040832082845260205260408320600160ff19825416179055600080516020610fde833981519152339380a4600190565b50509056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610988575080630ed6118814610932578063248a9ca3146109095780632509d30a146108865780632f2ff15d1461085d57806336568abe146108165780634be40fd1146107db578063645044211461070857806365145534146106e957806371bbb23f146104875780638e9c234a1461044f57806391d148541461040a5780639a5b10e01461036c578063a217fddf14610351578063cda219db1461021e578063cf4c815d146101e2578063d547741f146101a45763f20f4a23146100e957600080fd5b346101a057816003193601126101a057803591602435918083101561019c57610110610c69565b83855260016020528082862001541561016e57507f97ed9d84b17cab14ff4200e765d9126d7274000fa00bbbac0621925331bc4abf9161016a60209285875260018452610162836005838a2001610c51565b518092610a72565ba280f35b6020606492519162461bcd60e51b83528201526009602482015268139bdd08199bdd5b9960ba1b6044820152fd5b8480fd5b8280fd5b5090346101a057806003193601126101a0576101de91356101d960016101c86109f7565b938387528660205286200154610ce3565b610d87565b5080f35b50503461021a57602036600319011261021a5760209181906001600160a01b0361020a6109dc565b1681526003845220549051908152f35b5080fd5b5082903461021a576020918260031936011261034e576001600160a01b0392836102466109dc565b16825260039260038252858320948651808785829954938481520190875285872092875b878282106103385750505061028192500387610b6f565b61028b8651610be1565b94845b875181101561032757806102a46001928a610c31565b5187528180875261030b60ff60058d88818d2091818151976102c589610b3d565b84548952840154168d880152600283015481880152898301549067ffffffffffffffff821660608901521c1660808601528981015460a086015201541660c08301610c45565b610315828a610c31565b526103208189610c31565b500161028e565b8851806103348982610af4565b0390f35b855484526001958601958c95509301920161026a565b80fd5b50503461021a578160031936011261021a5751908152602090f35b5090346101a05760203660031901126101a0578061040060ff60056104089460e097610396610ba9565b50873581526001602052208451966103ad88610b3d565b8154885260018201546001600160a01b0390811660208a01526002830154878a0152600383015467ffffffffffffffff811660608b0152871c16608089015281015460a088015201541660c08501610c45565b518092610a95565bf35b50346101a057816003193601126101a0578160209360ff9261042a6109f7565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b50346101a05760203660031901126101a057359160025483101561034e5750610479602092610a0d565b91905490519160031b1c8152f35b5091903461021a5760a036600319011261021a5782356104a56109f7565b9160443560643567ffffffffffffffff948582168092036106e5576084356001600160a01b03818116918290036106e1576104de610c69565b86156106a957868952602092600184528a878b2001546106735789889188519361050785610b3d565b8385528087860192169b8c83528a86018a815260608701938a855260808801938985528d60a08a019742895260c08b0199818b52815260018d522098518955600189019151166bffffffffffffffffffffffff60a01b82541617905551600287015560038601925116825491600160401b600160e01b0390518c1b169163ffffffff60e01b1617179055518b83015551908a821015610660579060056105ad9201610c51565b600254600160401b908181101561064d578060016105ce9201600255610a0d565b929080549360031b60001994858b831b921b191617905589526003835285892080549182101561064d577f7d847f9631e2e95468b528e0b20a75e10d0ca14bf500ddcb739c411f3dbd25809798999a509061062e91600182018155610a5a565b819291549060031b9189831b921b19161790558351928352820152a380f35b634e487b7160e01b8a5260418b5260248afd5b634e487b7160e01b8a5260218b5260248afd5b865162461bcd60e51b8152808c01859052601060248201526f105b1c9958591e481c9958dbdc99195960821b6044820152606490fd5b855162461bcd60e51b81526020818c01526012602482015271125b9d985b1a59081b595cdcd859d948125160721b6044820152606490fd5b8880fd5b8680fd5b50503461021a578160031936011261021a576020906002549051908152f35b5090346101a057826003193601126101a057600280549061072882610be1565b93855b83811061073f578451806103348882610af4565b80876107bf60ff6005610753600196610a0d565b9054600391821b1c8552868b60209682885220918c519661077388610b3d565b83548852898060a01b03809385015416908801528a8301548d88015282015467ffffffffffffffff811660608801528c1c1660808601528781015460a086015201541660c08301610c45565b6107c98289610c31565b526107d48188610c31565b500161072b565b50503461021a578160031936011261021a57602090517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b5091903461021a578060031936011261021a576108316109f7565b90336001600160a01b0383160361084e57506101de919235610d87565b5163334bd91960e11b81528390fd5b5090346101a057806003193601126101a0576101de913561088160016101c86109f7565b610d09565b5090346101a05760203660031901126101a057806104089160e0948435815260016020522080549360018060a01b03908160018401541693600284015460ff60056003870154948701549601541695825198895260208901528188015267ffffffffffffffff821660608801521c16608085015260a084015260c0830190610a72565b50346101a05760203660031901126101a057816020936001923581528085522001549051908152f35b50503461021a578060031936011261021a5761094c6109dc565b6001600160a01b0316825260036020528082208054602435939084101561034e575060209261097a91610a5a565b90549060031b1c9051908152f35b925050346101a05760203660031901126101a0573563ffffffff60e01b81168091036101a05760209250637965db0b60e01b81149081156109cb575b5015158152f35b6301ffc9a760e01b149050386109c4565b600435906001600160a01b03821682036109f257565b600080fd5b602435906001600160a01b03821682036109f257565b600254811015610a445760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015610a445760005260206000200190600090565b906004821015610a7f5752565b634e487b7160e01b600052602160045260246000fd5b9060c080610af29380518452602081015160018060a01b0380911660208601526040820151604086015267ffffffffffffffff6060830151166060860152608082015116608085015260a081015160a08501520151910190610a72565b565b602090602060408183019282815285518094520193019160005b828110610b1c575050505090565b909192938260e082610b316001948951610a95565b01950193929101610b0e565b60e0810190811067ffffffffffffffff821117610b5957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610b5957604052565b67ffffffffffffffff8111610b595760051b60200190565b60405190610bb682610b3d565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b90610beb82610b91565b610bf86040519182610b6f565b8281528092610c09601f1991610b91565b019060005b828110610c1a57505050565b602090610c25610ba9565b82828501015201610c0e565b8051821015610a445760209160051b010190565b6004821015610a7f5752565b906004811015610a7f5760ff80198354169116179055565b3360009081527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260409020547f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615610cc55750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610cc55750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610d8257808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610d825780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea26469706673582212209df8606e1c477cdc818938cb48a864d34d45b8d90f13d154a64a44346fe1722e64736f6c634300081600332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
|
|
"deployedBytecode": "0x6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a714610988575080630ed6118814610932578063248a9ca3146109095780632509d30a146108865780632f2ff15d1461085d57806336568abe146108165780634be40fd1146107db578063645044211461070857806365145534146106e957806371bbb23f146104875780638e9c234a1461044f57806391d148541461040a5780639a5b10e01461036c578063a217fddf14610351578063cda219db1461021e578063cf4c815d146101e2578063d547741f146101a45763f20f4a23146100e957600080fd5b346101a057816003193601126101a057803591602435918083101561019c57610110610c69565b83855260016020528082862001541561016e57507f97ed9d84b17cab14ff4200e765d9126d7274000fa00bbbac0621925331bc4abf9161016a60209285875260018452610162836005838a2001610c51565b518092610a72565ba280f35b6020606492519162461bcd60e51b83528201526009602482015268139bdd08199bdd5b9960ba1b6044820152fd5b8480fd5b8280fd5b5090346101a057806003193601126101a0576101de91356101d960016101c86109f7565b938387528660205286200154610ce3565b610d87565b5080f35b50503461021a57602036600319011261021a5760209181906001600160a01b0361020a6109dc565b1681526003845220549051908152f35b5080fd5b5082903461021a576020918260031936011261034e576001600160a01b0392836102466109dc565b16825260039260038252858320948651808785829954938481520190875285872092875b878282106103385750505061028192500387610b6f565b61028b8651610be1565b94845b875181101561032757806102a46001928a610c31565b5187528180875261030b60ff60058d88818d2091818151976102c589610b3d565b84548952840154168d880152600283015481880152898301549067ffffffffffffffff821660608901521c1660808601528981015460a086015201541660c08301610c45565b610315828a610c31565b526103208189610c31565b500161028e565b8851806103348982610af4565b0390f35b855484526001958601958c95509301920161026a565b80fd5b50503461021a578160031936011261021a5751908152602090f35b5090346101a05760203660031901126101a0578061040060ff60056104089460e097610396610ba9565b50873581526001602052208451966103ad88610b3d565b8154885260018201546001600160a01b0390811660208a01526002830154878a0152600383015467ffffffffffffffff811660608b0152871c16608089015281015460a088015201541660c08501610c45565b518092610a95565bf35b50346101a057816003193601126101a0578160209360ff9261042a6109f7565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b50346101a05760203660031901126101a057359160025483101561034e5750610479602092610a0d565b91905490519160031b1c8152f35b5091903461021a5760a036600319011261021a5782356104a56109f7565b9160443560643567ffffffffffffffff948582168092036106e5576084356001600160a01b03818116918290036106e1576104de610c69565b86156106a957868952602092600184528a878b2001546106735789889188519361050785610b3d565b8385528087860192169b8c83528a86018a815260608701938a855260808801938985528d60a08a019742895260c08b0199818b52815260018d522098518955600189019151166bffffffffffffffffffffffff60a01b82541617905551600287015560038601925116825491600160401b600160e01b0390518c1b169163ffffffff60e01b1617179055518b83015551908a821015610660579060056105ad9201610c51565b600254600160401b908181101561064d578060016105ce9201600255610a0d565b929080549360031b60001994858b831b921b191617905589526003835285892080549182101561064d577f7d847f9631e2e95468b528e0b20a75e10d0ca14bf500ddcb739c411f3dbd25809798999a509061062e91600182018155610a5a565b819291549060031b9189831b921b19161790558351928352820152a380f35b634e487b7160e01b8a5260418b5260248afd5b634e487b7160e01b8a5260218b5260248afd5b865162461bcd60e51b8152808c01859052601060248201526f105b1c9958591e481c9958dbdc99195960821b6044820152606490fd5b855162461bcd60e51b81526020818c01526012602482015271125b9d985b1a59081b595cdcd859d948125160721b6044820152606490fd5b8880fd5b8680fd5b50503461021a578160031936011261021a576020906002549051908152f35b5090346101a057826003193601126101a057600280549061072882610be1565b93855b83811061073f578451806103348882610af4565b80876107bf60ff6005610753600196610a0d565b9054600391821b1c8552868b60209682885220918c519661077388610b3d565b83548852898060a01b03809385015416908801528a8301548d88015282015467ffffffffffffffff811660608801528c1c1660808601528781015460a086015201541660c08301610c45565b6107c98289610c31565b526107d48188610c31565b500161072b565b50503461021a578160031936011261021a57602090517f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15688152f35b5091903461021a578060031936011261021a576108316109f7565b90336001600160a01b0383160361084e57506101de919235610d87565b5163334bd91960e11b81528390fd5b5090346101a057806003193601126101a0576101de913561088160016101c86109f7565b610d09565b5090346101a05760203660031901126101a057806104089160e0948435815260016020522080549360018060a01b03908160018401541693600284015460ff60056003870154948701549601541695825198895260208901528188015267ffffffffffffffff821660608801521c16608085015260a084015260c0830190610a72565b50346101a05760203660031901126101a057816020936001923581528085522001549051908152f35b50503461021a578060031936011261021a5761094c6109dc565b6001600160a01b0316825260036020528082208054602435939084101561034e575060209261097a91610a5a565b90549060031b1c9051908152f35b925050346101a05760203660031901126101a0573563ffffffff60e01b81168091036101a05760209250637965db0b60e01b81149081156109cb575b5015158152f35b6301ffc9a760e01b149050386109c4565b600435906001600160a01b03821682036109f257565b600080fd5b602435906001600160a01b03821682036109f257565b600254811015610a445760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015610a445760005260206000200190600090565b906004821015610a7f5752565b634e487b7160e01b600052602160045260246000fd5b9060c080610af29380518452602081015160018060a01b0380911660208601526040820151604086015267ffffffffffffffff6060830151166060860152608082015116608085015260a081015160a08501520151910190610a72565b565b602090602060408183019282815285518094520193019160005b828110610b1c575050505090565b909192938260e082610b316001948951610a95565b01950193929101610b0e565b60e0810190811067ffffffffffffffff821117610b5957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610b5957604052565b67ffffffffffffffff8111610b595760051b60200190565b60405190610bb682610b3d565b8160c06000918281528260208201528260408201528260608201528260808201528260a08201520152565b90610beb82610b91565b610bf86040519182610b6f565b8281528092610c09601f1991610b91565b019060005b828110610c1a57505050565b602090610c25610ba9565b82828501015201610c0e565b8051821015610a445760209160051b010190565b6004821015610a7f5752565b906004811015610a7f5760ff80198354169116179055565b3360009081527f0d4654aaffc87c2c9a3fd6a99770bc308fad799420104834ddcca8973d00903960205260409020547f7045adfe67d5f94dbfddcdb901e44bef55baacabb398c7cddda1bfd7620b15689060ff1615610cc55750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610cc55750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610d8257808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610d825780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a460019056fea26469706673582212209df8606e1c477cdc818938cb48a864d34d45b8d90f13d154a64a44346fe1722e64736f6c63430008160033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|