665 lines
36 KiB
JSON
665 lines
36 KiB
JSON
|
|
{
|
||
|
|
"_format": "hh-sol-artifact-1",
|
||
|
|
"contractName": "GenericStateChannelManager",
|
||
|
|
"sourceName": "contracts/channels/GenericStateChannelManager.sol",
|
||
|
|
"abi": [
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "_admin",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "_challengeWindowSeconds",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "constructor"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "ECDSAInvalidSignature",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "length",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ECDSAInvalidSignatureLength",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "s",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ECDSAInvalidSignatureS",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "ReentrancyGuardReentrantCall",
|
||
|
|
"type": "error"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "newAdmin",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "AdminChanged",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "nonce",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "stateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "newDeadline",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ChallengeSubmitted",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "oldWindow",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "newWindow",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ChallengeWindowUpdated",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "stateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "cooperative",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ChannelClosed",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": true,
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "depositA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"indexed": false,
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "depositB",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "ChannelOpened",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [],
|
||
|
|
"name": "Paused",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"anonymous": false,
|
||
|
|
"inputs": [],
|
||
|
|
"name": "Unpaused",
|
||
|
|
"type": "event"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "admin",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "stateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "nonce",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vA",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vB",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rB",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sB",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "challengeClose",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "challengeWindowSeconds",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "stateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "nonce",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vA",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vB",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rB",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sB",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "closeChannelCooperative",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "finalizeClose",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "fundChannel",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "payable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getChannel",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"components": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantB",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "depositA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "depositB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "enum IGenericStateChannelManager.ChannelStatus",
|
||
|
|
"name": "status",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "disputeNonce",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "disputeStateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "disputeBalanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "disputeBalanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "disputeDeadline",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"internalType": "struct IGenericStateChannelManager.Channel",
|
||
|
|
"name": "",
|
||
|
|
"type": "tuple"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "getChannelCount",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantA",
|
||
|
|
"type": "address"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantB",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getChannelId",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "index",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "getChannelIdByIndex",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "participantB",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "openChannel",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "payable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "pause",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "paused",
|
||
|
|
"outputs": [
|
||
|
|
{
|
||
|
|
"internalType": "bool",
|
||
|
|
"name": "",
|
||
|
|
"type": "bool"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"stateMutability": "view",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "address",
|
||
|
|
"name": "newAdmin",
|
||
|
|
"type": "address"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "setAdmin",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "newWindow",
|
||
|
|
"type": "uint256"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "setChallengeWindow",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "channelId",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "stateHash",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "nonce",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceA",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint256",
|
||
|
|
"name": "balanceB",
|
||
|
|
"type": "uint256"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vA",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sA",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "uint8",
|
||
|
|
"name": "vB",
|
||
|
|
"type": "uint8"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "rB",
|
||
|
|
"type": "bytes32"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"internalType": "bytes32",
|
||
|
|
"name": "sB",
|
||
|
|
"type": "bytes32"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"name": "submitClose",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"inputs": [],
|
||
|
|
"name": "unpause",
|
||
|
|
"outputs": [],
|
||
|
|
"stateMutability": "nonpayable",
|
||
|
|
"type": "function"
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"stateMutability": "payable",
|
||
|
|
"type": "receive"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"bytecode": "0x60803461010557601f6115f938819003918201601f19168301916001600160401b0383118484101761010a5780849260409485528339810103126101055780516001600160a01b0381169190829003610105576020015190600160005580156100d357811561008e57600180546001600160a01b0319169190911790556002556040516114d890816101218239f35b60405162461bcd60e51b815260206004820152601560248201527f7a65726f206368616c6c656e67652077696e646f7700000000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600a6024820152693d32b9379030b236b4b760b11b6044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fdfe60a0604052600436101561001b575b361561001957600080fd5b005b60003560e01c806301c1aa0d14610d875780630eb8fe7a14610d6957806310df54a014610c0f5780631822c82414610a605780631986aabd14610a4257806323ebfda7146108fc5780632abb5e9d1461068d5780633f4ba83a146106345780634e46c77d1461051d5780634fc543ff146104b15780635c975abb1461048b57806368bfec8814610374578063704b6c02146102d15780637b0aed3d146102905780638456cb5914610231578063e2d002d9146101095763f851a4400361000e5734610104576000366003190112610104576001546040516001600160a01b039091168152602090f35b600080fd5b60203660031901126101045760043561012a60ff60015460a01c1615610f84565b8060005260046020526040600020610154600160ff60048401541661014e81610e22565b14611041565b600381019182546101fb5760018201546001600160a01b039081169390338590036101c25760026040917fa0c2857a854ce2667c00caeabe4e2d455b2a2479ef1448c39d8ac759b41f7d77936101ab341515610fb9565b3490558554169401548151908152346020820152a4005b60405162461bcd60e51b81526020600482015260116024820152703737ba103830b93a34b1b4b830b73a102160791b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e48199d5b99195960921b6044820152606490fd5b3461010457600036600319011261010457600154610259336001600160a01b03831614610eaa565b60ff60a01b1916600160a01b176001557f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752600080a1005b34610104576040366003190112610104576102a9610e94565b602435906001600160a01b0382168203610104576020916102c991611078565b604051908152f35b34610104576020366003190112610104576102ea610e94565b600154906001600160a01b03906103043383851614610eaa565b16908115610342576001600160a01b03191681176001557f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c600080a2005b60405162461bcd60e51b815260206004820152600a6024820152693d32b9379030b236b4b760b11b6044820152606490fd5b346101045761038236610e42565b908a928a9489989a968998610395611299565b8660005260046020528c60406000209b8c9a60048c01549a60ff8c166103ba81610e22565b6001146103c690611041565b60028d015460038e01546103d991610f00565b6103e38585610f00565b146103ed90610f0d565b600160a01b600190038d54169e8f90600101608052600160a01b6001900360805154169161041a9c61116c565b60ff1916600317906004015561042f916112bc565b608051546104479083906001600160a01b03166112bc565b60405192835260208301526040820152606081016001905260807f3534302235bb30aabab0ca52d64cc358fa351c1ca2e17595dcaec40660f3624c91a26001600055005b3461010457600036600319011261010457602060ff60015460a01c166040519015158152f35b34610104576020366003190112610104576004356005548110156104e8576104da602091610ff4565b90546040519160031b1c8152f35b60405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606490fd5b3461010457602036600319011261010457600435610539611299565b80600052600460205260406000206004810190815490610567600260ff841661056181610e22565b14610f47565b600981015442106106015760ff1990911660031790915580546007820180547f3534302235bb30aabab0ca52d64cc358fa351c1ca2e17595dcaec40660f3624c9360809390916006916001600160a01b03916105c49183166112bc565b600183015416916105db60088201938454906112bc565b015491549054906040519283526020830152604082015260006060820152a26001600055005b60405162461bcd60e51b815260206004820152600b60248201526a3bb4b73237bb9037b832b760a91b6044820152606490fd5b346101045760003660031901126101045760015461065c336001600160a01b03831614610eaa565b60ff60a01b19166001557fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933600080a1005b6020366003190112610104576106a1610e94565b6106b360ff60015460a01c1615610f84565b6001600160a01b031680156108c457338114610890576106d4341515610fb9565b60
|
||
|
|
"deployedBytecode": "0x60a0604052600436101561001b575b361561001957600080fd5b005b60003560e01c806301c1aa0d14610d875780630eb8fe7a14610d6957806310df54a014610c0f5780631822c82414610a605780631986aabd14610a4257806323ebfda7146108fc5780632abb5e9d1461068d5780633f4ba83a146106345780634e46c77d1461051d5780634fc543ff146104b15780635c975abb1461048b57806368bfec8814610374578063704b6c02146102d15780637b0aed3d146102905780638456cb5914610231578063e2d002d9146101095763f851a4400361000e5734610104576000366003190112610104576001546040516001600160a01b039091168152602090f35b600080fd5b60203660031901126101045760043561012a60ff60015460a01c1615610f84565b8060005260046020526040600020610154600160ff60048401541661014e81610e22565b14611041565b600381019182546101fb5760018201546001600160a01b039081169390338590036101c25760026040917fa0c2857a854ce2667c00caeabe4e2d455b2a2479ef1448c39d8ac759b41f7d77936101ab341515610fb9565b3490558554169401548151908152346020820152a4005b60405162461bcd60e51b81526020600482015260116024820152703737ba103830b93a34b1b4b830b73a102160791b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e48199d5b99195960921b6044820152606490fd5b3461010457600036600319011261010457600154610259336001600160a01b03831614610eaa565b60ff60a01b1916600160a01b176001557f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e752600080a1005b34610104576040366003190112610104576102a9610e94565b602435906001600160a01b0382168203610104576020916102c991611078565b604051908152f35b34610104576020366003190112610104576102ea610e94565b600154906001600160a01b03906103043383851614610eaa565b16908115610342576001600160a01b03191681176001557f7ce7ec0b50378fb6c0186ffb5f48325f6593fcb4ca4386f21861af3129188f5c600080a2005b60405162461bcd60e51b815260206004820152600a6024820152693d32b9379030b236b4b760b11b6044820152606490fd5b346101045761038236610e42565b908a928a9489989a968998610395611299565b8660005260046020528c60406000209b8c9a60048c01549a60ff8c166103ba81610e22565b6001146103c690611041565b60028d015460038e01546103d991610f00565b6103e38585610f00565b146103ed90610f0d565b600160a01b600190038d54169e8f90600101608052600160a01b6001900360805154169161041a9c61116c565b60ff1916600317906004015561042f916112bc565b608051546104479083906001600160a01b03166112bc565b60405192835260208301526040820152606081016001905260807f3534302235bb30aabab0ca52d64cc358fa351c1ca2e17595dcaec40660f3624c91a26001600055005b3461010457600036600319011261010457602060ff60015460a01c166040519015158152f35b34610104576020366003190112610104576004356005548110156104e8576104da602091610ff4565b90546040519160031b1c8152f35b60405162461bcd60e51b815260206004820152600d60248201526c6f7574206f6620626f756e647360981b6044820152606490fd5b3461010457602036600319011261010457600435610539611299565b80600052600460205260406000206004810190815490610567600260ff841661056181610e22565b14610f47565b600981015442106106015760ff1990911660031790915580546007820180547f3534302235bb30aabab0ca52d64cc358fa351c1ca2e17595dcaec40660f3624c9360809390916006916001600160a01b03916105c49183166112bc565b600183015416916105db60088201938454906112bc565b015491549054906040519283526020830152604082015260006060820152a26001600055005b60405162461bcd60e51b815260206004820152600b60248201526a3bb4b73237bb9037b832b760a91b6044820152606490fd5b346101045760003660031901126101045760015461065c336001600160a01b03831614610eaa565b60ff60a01b19166001557fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d16933600080a1005b6020366003190112610104576106a1610e94565b6106b360ff60015460a01c1615610f84565b6001600160a01b031680156108c457338114610890576106d4341515610fb9565b6003546000199182821461087a57600182016003556040516106f581610ee3565b3381528160208201523460408201526000606082015260016080820152600060a0820152600060c0820152600060e082015260006101008201526000610120820152826000526004602052600961012060406000209260018060a01b038151166bffffffffffffffffffffffff60a01b9081865416178555600185019060018060a01b036020840151169082541617905560408101516002850155606081015160038501556004840160808201516107ac81610e22565b6107b581610e22565b60ff8019835416911617905560a0810151600585015560c0810151600685015560e0810151600785015561010081015160088501550151910155600554
|
||
|
|
"linkReferences": {},
|
||
|
|
"deployedLinkReferences": {}
|
||
|
|
}
|