mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2025-02-03 18:55:17 +00:00
1300 lines
84 KiB
JSON
1300 lines
84 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "PoraMineTest",
|
|
"sourceName": "contracts/test/PoraMineTest.sol",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "settings",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "beneficiary",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "NewMinerId",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "epochIndex",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "NewSubmission",
|
|
"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"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "from",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "UpdateMinerId",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DEFAULT_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PARAMS_ADMIN_ROLE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "epoch",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineStart",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "flowRoot",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "flowLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "blockDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "digest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"internalType": "struct MineContext",
|
|
"name": "context",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "basicCheck",
|
|
"outputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "beneficiaries",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "canSubmit",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "currentSubmissions",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "dataProofEnabled",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "difficultyAdjustRatio",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "fixedDifficulty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "flow",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"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": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "index",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getRoleMember",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getRoleMemberCount",
|
|
"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": "uint256",
|
|
"name": "difficulty",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "flow_",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "reward_",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "initialize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "initialized",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "lastMinedEpoch",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "maxShards",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "minDifficulty",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "pora",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "poraTarget",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "poraVersion",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "unsealedData",
|
|
"type": "bytes32[128]"
|
|
}
|
|
],
|
|
"name": "recoverMerkleRoot",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "renounceRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "beneficiary",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "seed",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "requestMinerId",
|
|
"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": [],
|
|
"name": "reward",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "sealDataEnabled",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "difficultyAdjustRatio_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setDifficultyAdjustRatio",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "maxShards_",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"name": "setMaxShards",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "minDifficulty_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setMinDifficulty",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "setMiner",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "_targetQuality",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setQuality",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "targetMineBlocks_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setTargetMineBlocks",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "targetSubmissions_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setTargetSubmissions",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "submit",
|
|
"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": [],
|
|
"name": "targetMineBlocks",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "targetSubmissions",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "targetSubmissionsNextEpoch",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "testAll",
|
|
"outputs": [],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "transferBeneficial",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "contextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "nonce",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "startPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "mineLength",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardId",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "shardMask",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct RecallRange",
|
|
"name": "range",
|
|
"type": "tuple"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "recallPosition",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "sealOffset",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "sealedContextDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "sealedData",
|
|
"type": "bytes32[128]"
|
|
},
|
|
{
|
|
"internalType": "bytes32[]",
|
|
"name": "merkleProof",
|
|
"type": "bytes32[]"
|
|
}
|
|
],
|
|
"internalType": "struct MineLib.PoraAnswer",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "unseal",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32[128]",
|
|
"name": "unsealedData",
|
|
"type": "bytes32[128]"
|
|
}
|
|
],
|
|
"stateMutability": "pure",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200368938038062003689833981016040819052620000349162000052565b60016004909117818116156080526002161560a05260c0526200006c565b6000602082840312156200006557600080fd5b5051919050565b60805160a05160c0516135d1620000b86000396000818161045f01528181611292015261162e01526000818161048f0152610fc40152600081816105130152610f8701526135d16000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806382975fe711610151578063b15d20da116100c3578063ca15c87311610087578063ca15c873146105d6578063d547741f146105e9578063dddc61a8146105fc578063e1498cf914610605578063e282e27b14610618578063ffbc9bd01461061f57600080fd5b8063b15d20da1461056e578063b4988fd014610583578063b4a9328314610596578063b51e03971461059f578063b776a512146105cd57600080fd5b8063a827918211610115578063a8279182146104f2578063ad08fdfb146104fb578063adaa7a0f1461050e578063ae722e8214610535578063aed7522414610548578063b0628ee01461055b57600080fd5b806382975fe71461048a5780639010d07c146104b157806391d14854146104c4578063967e3cdd146104d7578063a217fddf146104ea57600080fd5b8063343aad82116101ea57806359e7b5be116101ae57806359e7b5be146104015780635bdca855146104215780636e9bb60b14610434578063704d3c96146104475780637bba7d611461045a5780637eca56881461048157600080fd5b8063343aad821461039657806336568abe146103a957806339cd53ee146103bc5780633baebb75146103e557806348f61441146103f857600080fd5b8063228cb7331161023c578063228cb73314610301578063248a9ca31461032c5780632a02573b1461035e5780632f2ff15d1461037157806331223ba714610384578063331f3b9c1461038d57600080fd5b806301ffc9a714610279578063047c13f5146102a1578063158ef93e146102b65780631600c624146102c357806316a4be6f146102d6575b600080fd5b61028c610287366004612d4f565b610627565b60405190151581526020015b60405180910390f35b6102b46102af366004612da7565b610652565b005b60005461028c9060ff1681565b6102b46102d1366004612dda565b61076e565b600a546102e9906001600160401b031681565b6040516001600160401b039091168152602001610298565b600454610314906001600160a01b031681565b6040516001600160a01b039091168152602001610298565b61035061033a366004612dda565b6000908152600160208190526040909120015490565b604051908152602001610298565b6102b461036c366004612df3565b61078c565b6102b461037f366004612e0e565b610892565b610350600b5481565b61035060065481565b600354610314906001600160a01b031681565b6102b46103b7366004612e0e565b6108bd565b6103146103ca366004612dda565b600e602052600090815260409020546001600160a01b031681565b6102b46103f33660046130ae565b61093b565b610350600d5481565b61041461040f366004613146565b610bd2565b6040516102989190613182565b6102b461042f366004612dda565b610be3565b6103506104423660046131b4565b610c10565b6102b4610455366004612dda565b610c23565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b61035060085481565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6103146104bf3660046131fa565b610c91565b61028c6104d2366004612e0e565b610ca9565b6102b46104e5366004613146565b610cd4565b610350600081565b610350600c5481565b6102b4610509366004612dda565b610cff565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6102b4610543366004613146565b610d39565b610350610556366004613146565b6112c6565b6102b461056936600461321c565b6114c9565b61035060008051602061357c83398151915281565b6102b4610591366004613246565b611589565b610350600f5481565b6102b46105ad366004612dda565b6000908152600e6020526040902080546001600160a01b03191633179055565b61035060075481565b6103506105e4366004612dda565b6116b0565b6102b46105f7366004612e0e565b6116c7565b61035060095481565b6102b4610613366004612dda565b600d55565b60006102e9565b61028c6116ed565b60006001600160e01b03198216635a05180f60e01b148061064c575061064c82611788565b92915050565b600061065f600143613298565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b0316156107145760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b60008051602061357c833981519152610786816117bd565b50600655565b60008051602061357c8339815191526107a4816117bd565b6000826001600160401b0316116107fd5760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f00604482015260640161070b565b6108086001836132ab565b82166001600160401b031660001461086e5760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b606482015260840161070b565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b600082815260016020819052604090912001546108ae816117bd565b6108b883836117ca565b505050565b6001600160a01b038116331461092d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161070b565b61093782826117ec565b5050565b815160a08201511461098f5760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e6720646967657374000000000000604482015260640161070b565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610a025760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e6500000000000000604482015260640161070b565b600754600c5410610a555760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e7300000000604482015260640161070b565b6000610100610a66610400826132cb565b610a709190613300565b610100610a7f610400826132cb565b610a899190613300565b8360600151610a989190613300565b610aa291906132cb565b6060840151909150610ab4908261180e565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b27919061332b565b90506000610100610b3b61040060046132cb565b610b459190613300565b8560800151610b549190613385565b90508082600001516001600160801b0316108015610b7f57508082602001516001600160801b031610155b610bcb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e7465787420646967657374000000604482015260640161070b565b5050505050565b610bda612cf3565b61064c82611a52565b60008051602061357c833981519152610bfb816117bd565b6008829055600b546000036109375750600755565b6000610c1c8383611b01565b9392505050565b60008051602061357c833981519152610c3b816117bd565b60008211610c8b5760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f000000604482015260640161070b565b50600955565b6000828152600260205260408120610c1c9083611d74565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610cdf82611a52565b9050610ceb8282611b01565b50610cf4612cf3565b90506108b8826112c6565b60008051602061357c833981519152610d17816117bd565b600f8290556000610d26611d80565b905080600d5411156108b857600d555050565b6040810151610d835760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b604482015260640161070b565b6040808201516000908152600e60205220546001600160a01b031680610deb5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f7420726567697374657265640000000000604482015260640161070b565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a9190613398565b9050600b5481600001511015610ec05760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b606482015260840161070b565b600b548151118015610ed457506000600b54115b15610ef957600754600c541015610eed57610eed611da7565b6000600c556008546007555b610f03838261093b565b600a5460608401516001600160401b0390911690610f2090611db9565b1115610f7d5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b606482015260840161070b565b610f85612cf3565b7f000000000000000000000000000000000000000000000000000000000000000015610fbb57610fb484611a52565b9050610fc2565b5060e08301515b7f00000000000000000000000000000000000000000000000000000000000000001561104b576000610ff48583611b01565b9050826040015181146110495760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f740000000000000000604482015260640161070b565b505b611053612cf3565b90506000611060856112c6565b9050600061107f84606001518760600151611e0390919063ffffffff16565b9050604081600d546110919190613300565b901b8211156110e25760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c6974790000000000604482015260640161070b565b60008281526005602052604090205460ff16156111415760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d697474656400000000000000604482015260640161070b565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061117a610400806132cb565b611186906104006132cb565b6111919060086132cb565b61119b9190613300565b88608001516111aa9190613300565b6040808a015190516001600160e01b031960e085901b16815260048101929092526001600160a01b03891660248301526044820152606401600060405180830381600087803b1580156111fc57600080fd5b505af1158015611210573d6000803e3d6000fd5b5050506040808801518651600c5460808b015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38351600b55600c805460019190600090611277908490613385565b9091555050600754600c54101561129057505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006112be576112be84611f43565b505050505050565b604081015160009061131a5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d7074790000000000000000604482015260640161070b565b600060405180608001604052808460400151815260200184602001518152602001846000015181526020016113528560600151611f7c565b90529050600061136182611fe4565b9050600061137261040060106132cb565b6113806104006101006132cb565b61138a9190613300565b61139761040060046132cb565b6113a56104006101006132cb565b6113af9190613300565b6113b99190613300565b8560a001516113c89190613411565b90506113d2612cf3565b6113da612d12565b6113e98760e00151848661205c565b925090506101006113fd61040060046132cb565b6114079190613300565b8760a0015161141691906132cb565b6114538260405160200161142a9190613425565b6040516020818303038152906040528051906020012089606001516121dc90919063ffffffff16565b61145d9190613385565b8760800151146114af5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e00000000000000604482015260640161070b565b6114be8760a0015185846122e2565b979650505050505050565b6000818152600e60205260409020546001600160a01b0316331461152f5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e657249640000000000604482015260640161070b565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff16156115e85760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161070b565b6000805460ff19166001178155611605906116003390565b6117ca565b61161d60008051602061357c833981519152336117ca565b61162983600019613300565b600d557f00000000000000000000000000000000000000000000000000000000000000001561165957600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff19166020179055565b600081815260026020526040812061064c90612455565b600082815260016020819052604090912001546116e3816117bd565b6108b883836117ec565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117699190613398565b9050600b54816000015111806117825750600754600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061064c57506301ffc9a760e01b6001600160e01b031983161461064c565b6117c7813361245f565b50565b6117d482826124b8565b60008281526002602052604090206108b89082612523565b6117f68282612538565b60008281526002602052604090206108b8908261259f565b61010061181d610400806132cb565b611829906104006132cb565b6118349060086132cb565b61183e9190613300565b825161184a9190613411565b156118975760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e6564000000604482015260640161070b565b6020820151825182916118a991613385565b11156118ef5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b604482015260640161070b565b60006118fa83611db9565b610100611909610400806132cb565b611915906104006132cb565b611921906104006132cb565b61192c9060086132cb565b6119369190613300565b61194091906132cb565b9050808360200151111561198e5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b604482015260640161070b565b600061199a83836125b4565b905080846020015110156119e95760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b604482015260640161070b565b83606001518460400151166001600160401b0316600014611a4c5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f000000000000604482015260640161070b565b50505050565b611a5a612cf3565b60408083015160c084015160808501519251611a8a93906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e0840180515190911883525190600090611ac061040060046132cb565b611aca9190613300565b905081836020600184030281015b80821015611af757602080842093810180519094189201918252611ad8565b5050505050919050565b6000805b6020611b1461040060046132cb565b611b1e9190613300565b811015611b6c576101006020820284012080848360808110611b4257611b4261344d565b602002018181525050506020610100611b5b9190613300565b611b659082613385565b9050611b05565b506000611b7c6020610100613300565b90505b6020611b8e61040060046132cb565b611b989190613300565b811015611c6b5760005b6020611bb161040060046132cb565b611bbb9190613300565b811015611c62576000848260808110611bd657611bd661344d565b60200201519050600085611bea8585613385565b60808110611bfa57611bfa61344d565b602002015190508181604051602001611c1d929190918252602082015260400190565b60405160208183030381529060405280519060200120868460808110611c4557611c4561344d565b602002015250611c5b9050600183901b82613385565b9050611ba2565b5060011b611b7f565b508151611c76612cf3565b92506000610100611c8a61040060046132cb565b611c949190613300565b8560800151611ca39190613300565b905060005b85610100015151811015611d6a57600080611cc4600285613411565b600003611cf4578491508761010001518381518110611ce557611ce561344d565b60200260200101519050611d19565b8761010001518381518110611d0b57611d0b61344d565b602002602001015191508490505b6040805160208101849052908101829052606001604051602081830303815290604052805190602001209450600284611d529190613300565b93505050600181611d639190613385565b9050611ca8565b5090949350505050565b6000610c1c83836125ca565b6000600f54600003611d93575060001990565b600f54611da290600019613300565b905090565b611db76001600160f01b036125f4565b565b606081015160009019815b6001600160401b03821615611df457611dde6001836132ab565b9091169080611dec81613463565b915050611dc4565b600160ff9091161b9392505050565b600080610100611e15610400806132cb565b611e21906104006132cb565b611e2d906104006132cb565b611e389060086132cb565b611e429190613300565b8311611e4e5782611e8a565b610100611e5d610400806132cb565b611e69906104006132cb565b611e75906104006132cb565b611e809060086132cb565b611e8a9190613300565b90506000611e9785611db9565b611ea19085613300565b90506000610100611eb4610400806132cb565b611ec0906104006132cb565b611ecc906104006132cb565b611ed79060086132cb565b611ee19190613300565b8211611eed5781611f29565b610100611efc610400806132cb565b611f08906104006132cb565b611f14906104006132cb565b611f1f9060086132cb565b611f299190613300565b9050611f3981604085901b613300565b9695505050505050565b6000816020015143611f559190613298565b905060006010600d54901c90506000611f7182846006546126b0565b9050611a4c816125f4565b60008160000151826020015183604001518460600151604051602001611fc7949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611fec612d12565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528251908301516040840151606085015161064c938593909290916080600161275f565b612064612d12565b61206c612cf3565b60006120778461281e565b90506120a581604061208c61040060046132cb565b6120969190613300565b6120a090886132cb565b61283a565b60005b60808110156121355760408083208352822060208301528681608081106120d1576120d161344d565b60200201518251188382608081106120eb576120eb61344d565b60200201528660018201608081106121055761210561344d565b60200201518260016020020151188382600101608081106121285761212861344d565b60200201526002016120a8565b506121c881604061214961040060046132cb565b6121539190613300565b60018861216361040060106132cb565b6121716104006101006132cb565b61217b9190613300565b61218861040060046132cb565b6121966104006101006132cb565b6121a09190613300565b6121aa9190613300565b6121b49190613298565b6121be9190613298565b6120a091906132cb565b6121d18161281e565b925050935093915050565b6000806101006121ee610400826132cb565b6121f89190613300565b84602001516122079190613300565b6122119084613411565b60408501516060860151602087015192935083161790610100612236610400826132cb565b6122409190613300565b612253906001600160401b0384166132cb565b11156122a15760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e6400000000604482015260640161070b565b6101006122b0610400826132cb565b6122ba9190613300565b6122cd906001600160401b0383166132cb565b85516122d99190613385565b95945050505050565b60006122ec612d12565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152845190850151612352918391889190600060808161275f565b905061235c612d30565b60806000602061236f61040060046132cb565b6123799190613300565b6123849060206132cb565b61238f906080613385565b9050601c8301601f8401602085016060860160e0870160e1880160f089018c600c87538b51865260208c015160208701525b888a10156124295760808a01995060ff8a1684538960081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050888a0361240f57600182535b60408660d58a6009600019fa61242457600080fd5b6123c1565b5050505050505050826001600881106124445761244461344d565b602002015198975050505050505050565b600061064c825490565b6124698282610ca9565b610937576124768161285b565b61248183602061286d565b6040516020016124929291906134a6565b60408051601f198184030181529082905262461bcd60e51b825261070b9160040161351b565b6124c28282610ca9565b6109375760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610c1c836001600160a01b038416612a08565b6125428282610ca9565b156109375760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610c1c836001600160a01b038416612a57565b60008183106125c35781610c1c565b5090919050565b60008260000182815481106125e1576125e161344d565b9060005260206000200154905092915050565b600d5460095460109190911c9060008184612610600183613298565b61261a90866132cb565b6126249190613385565b61262e9190613300565b905061263b8360026132cb565b8111156126505761264d8360026132cb565b90505b61265b600284613300565b8110156126705761266d600284613300565b90505b6001600160f01b0381111561268957506001600160f01b035b601081901b600d55600061269b611d80565b905080600d541115610bcb57600d5550505050565b60008080600019858709858702925082811083820303915050806000036126ea578382816126e0576126e06132ea565b0492505050610c1c565b8084116126f657600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b612767612d12565b600c600061277485612b51565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f5909401825293945091869184016009600019fa61281057600080fd5b505050979650505050505050565b612826612d12565b815181526020918201519181019190915290565b60005b818110156108b857604080842084528320602084015260010161283d565b606061064c6001600160a01b03831660145b6060600061287c8360026132cb565b612887906002613385565b6001600160401b0381111561289e5761289e612e31565b6040519080825280601f01601f1916602001820160405280156128c8576020820181803683370190505b509050600360fc1b816000815181106128e3576128e361344d565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106129125761291261344d565b60200101906001600160f81b031916908160001a90535060006129368460026132cb565b612941906001613385565b90505b60018111156129b9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106129755761297561344d565b1a60f81b82828151811061298b5761298b61344d565b60200101906001600160f81b031916908160001a90535060049490941c936129b28161354e565b9050612944565b508315610c1c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161070b565b6000818152600183016020526040812054612a4f5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561064c565b50600061064c565b60008181526001830160205260408120548015612b40576000612a7b600183613298565b8554909150600090612a8f90600190613298565b9050818114612af4576000866000018281548110612aaf57612aaf61344d565b9060005260206000200154905080876000018481548110612ad257612ad261344d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612b0557612b05613565565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061064c565b600091505061064c565b5092915050565b612b59612d12565b62010000821015612b9d57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b640100000000821015612bdd57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916612b85565b68010000000000000000821015612bf757612b8582612c8d565b600160801b821015612c47576001600160401b038216604083901c612c1b82612c8d565b6001600160c01b0319168352612c3081612c8d565b6001600160c01b031916602084015250612c889050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b604482015260640161070b565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b600060208284031215612d6157600080fd5b81356001600160e01b031981168114610c1c57600080fd5b80356001600160a01b0381168114612c8857600080fd5b80356001600160401b0381168114612c8857600080fd5b60008060408385031215612dba57600080fd5b612dc383612d79565b9150612dd160208401612d90565b90509250929050565b600060208284031215612dec57600080fd5b5035919050565b600060208284031215612e0557600080fd5b610c1c82612d90565b60008060408385031215612e2157600080fd5b82359150612dd160208401612d79565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612e6a57612e6a612e31565b60405290565b60405160c081016001600160401b0381118282101715612e6a57612e6a612e31565b600060808284031215612ea457600080fd5b604051608081018181106001600160401b0382111715612ec657612ec6612e31565b80604052508091508235815260208301356020820152612ee860408401612d90565b6040820152612ef960608401612d90565b60608201525092915050565b600082601f830112612f1657600080fd5b6040516110008082018281106001600160401b0382111715612f3a57612f3a612e31565b60405283018185821115612f4d57600080fd5b845b82811015612f67578035825260209182019101612f4f565b509195945050505050565b600082601f830112612f8357600080fd5b813560206001600160401b0380831115612f9f57612f9f612e31565b8260051b604051601f19603f83011681018181108482111715612fc457612fc4612e31565b604052938452858101830193838101925087851115612fe257600080fd5b83870191505b848210156114be57813583529183019190830190612fe8565b6000611160828403121561301457600080fd5b61301c612e47565b90508135815260208201356020820152604082013560408201526130438360608401612e92565b606082015260e082013560808201526101008083013560a083015261012083013560c0830152613077846101408501612f05565b60e08301526111408301356001600160401b0381111561309657600080fd5b6130a285828601612f72565b82840152505092915050565b60008082840360e08112156130c257600080fd5b83356001600160401b038111156130d857600080fd5b6130e486828701613001565b93505060c0601f19820112156130f957600080fd5b50613102612e70565b6020840135815260408401356020820152606084013560408201526080840135606082015260a0840135608082015260c084013560a0820152809150509250929050565b60006020828403121561315857600080fd5b81356001600160401b0381111561316e57600080fd5b61317a84828501613001565b949350505050565b6110008101818360005b60808110156131ab57815183526020928301929091019060010161318c565b50505092915050565b60008061102083850312156131c857600080fd5b82356001600160401b038111156131de57600080fd5b6131ea85828601613001565b925050612dd18460208501612f05565b6000806040838503121561320d57600080fd5b50508035926020909101359150565b6000806040838503121561322f57600080fd5b61323883612d79565b946020939093013593505050565b60008060006060848603121561325b57600080fd5b8335925061326b60208501612d79565b915061327960408501612d79565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561064c5761064c613282565b6001600160401b03828116828216039080821115612b4a57612b4a613282565b60008160001904831182151516156132e5576132e5613282565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261330f5761330f6132ea565b500490565b80516001600160801b0381168114612c8857600080fd5b60006040828403121561333d57600080fd5b604051604081018181106001600160401b038211171561335f5761335f612e31565b60405261336b83613314565b815261337960208401613314565b60208201529392505050565b8082018082111561064c5761064c613282565b600060c082840312156133aa57600080fd5b60405160c081018181106001600160401b03821117156133cc576133cc612e31565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b600082613420576134206132ea565b500690565b60408101818360005b60028110156131ab57815183526020928301929091019060010161342e565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff810361347957613479613282565b60010192915050565b60005b8381101561349d578181015183820152602001613485565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134de816017850160208801613482565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161350f816028840160208801613482565b01602801949350505050565b602081526000825180602084015261353a816040850160208701613482565b601f01601f19169190910160400192915050565b60008161355d5761355d613282565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a26469706673582212207dfe6289fcd49d8a82e6fa3e2bcf5d9f45ab21398cf2040e4fc8f477572a0efe64736f6c63430008100033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102745760003560e01c806382975fe711610151578063b15d20da116100c3578063ca15c87311610087578063ca15c873146105d6578063d547741f146105e9578063dddc61a8146105fc578063e1498cf914610605578063e282e27b14610618578063ffbc9bd01461061f57600080fd5b8063b15d20da1461056e578063b4988fd014610583578063b4a9328314610596578063b51e03971461059f578063b776a512146105cd57600080fd5b8063a827918211610115578063a8279182146104f2578063ad08fdfb146104fb578063adaa7a0f1461050e578063ae722e8214610535578063aed7522414610548578063b0628ee01461055b57600080fd5b806382975fe71461048a5780639010d07c146104b157806391d14854146104c4578063967e3cdd146104d7578063a217fddf146104ea57600080fd5b8063343aad82116101ea57806359e7b5be116101ae57806359e7b5be146104015780635bdca855146104215780636e9bb60b14610434578063704d3c96146104475780637bba7d611461045a5780637eca56881461048157600080fd5b8063343aad821461039657806336568abe146103a957806339cd53ee146103bc5780633baebb75146103e557806348f61441146103f857600080fd5b8063228cb7331161023c578063228cb73314610301578063248a9ca31461032c5780632a02573b1461035e5780632f2ff15d1461037157806331223ba714610384578063331f3b9c1461038d57600080fd5b806301ffc9a714610279578063047c13f5146102a1578063158ef93e146102b65780631600c624146102c357806316a4be6f146102d6575b600080fd5b61028c610287366004612d4f565b610627565b60405190151581526020015b60405180910390f35b6102b46102af366004612da7565b610652565b005b60005461028c9060ff1681565b6102b46102d1366004612dda565b61076e565b600a546102e9906001600160401b031681565b6040516001600160401b039091168152602001610298565b600454610314906001600160a01b031681565b6040516001600160a01b039091168152602001610298565b61035061033a366004612dda565b6000908152600160208190526040909120015490565b604051908152602001610298565b6102b461036c366004612df3565b61078c565b6102b461037f366004612e0e565b610892565b610350600b5481565b61035060065481565b600354610314906001600160a01b031681565b6102b46103b7366004612e0e565b6108bd565b6103146103ca366004612dda565b600e602052600090815260409020546001600160a01b031681565b6102b46103f33660046130ae565b61093b565b610350600d5481565b61041461040f366004613146565b610bd2565b6040516102989190613182565b6102b461042f366004612dda565b610be3565b6103506104423660046131b4565b610c10565b6102b4610455366004612dda565b610c23565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b61035060085481565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6103146104bf3660046131fa565b610c91565b61028c6104d2366004612e0e565b610ca9565b6102b46104e5366004613146565b610cd4565b610350600081565b610350600c5481565b6102b4610509366004612dda565b610cff565b61028c7f000000000000000000000000000000000000000000000000000000000000000081565b6102b4610543366004613146565b610d39565b610350610556366004613146565b6112c6565b6102b461056936600461321c565b6114c9565b61035060008051602061357c83398151915281565b6102b4610591366004613246565b611589565b610350600f5481565b6102b46105ad366004612dda565b6000908152600e6020526040902080546001600160a01b03191633179055565b61035060075481565b6103506105e4366004612dda565b6116b0565b6102b46105f7366004612e0e565b6116c7565b61035060095481565b6102b4610613366004612dda565b600d55565b60006102e9565b61028c6116ed565b60006001600160e01b03198216635a05180f60e01b148061064c575061064c82611788565b92915050565b600061065f600143613298565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b0316156107145760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b60008051602061357c833981519152610786816117bd565b50600655565b60008051602061357c8339815191526107a4816117bd565b6000826001600160401b0316116107fd5760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f00604482015260640161070b565b6108086001836132ab565b82166001600160401b031660001461086e5760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b606482015260840161070b565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b600082815260016020819052604090912001546108ae816117bd565b6108b883836117ca565b505050565b6001600160a01b038116331461092d5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b606482015260840161070b565b61093782826117ec565b5050565b815160a08201511461098f5760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e6720646967657374000000000000604482015260640161070b565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610a025760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e6500000000000000604482015260640161070b565b600754600c5410610a555760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e7300000000604482015260640161070b565b6000610100610a66610400826132cb565b610a709190613300565b610100610a7f610400826132cb565b610a899190613300565b8360600151610a989190613300565b610aa291906132cb565b6060840151909150610ab4908261180e565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610b03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b27919061332b565b90506000610100610b3b61040060046132cb565b610b459190613300565b8560800151610b549190613385565b90508082600001516001600160801b0316108015610b7f57508082602001516001600160801b031610155b610bcb5760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e7465787420646967657374000000604482015260640161070b565b5050505050565b610bda612cf3565b61064c82611a52565b60008051602061357c833981519152610bfb816117bd565b6008829055600b546000036109375750600755565b6000610c1c8383611b01565b9392505050565b60008051602061357c833981519152610c3b816117bd565b60008211610c8b5760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f000000604482015260640161070b565b50600955565b6000828152600260205260408120610c1c9083611d74565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6000610cdf82611a52565b9050610ceb8282611b01565b50610cf4612cf3565b90506108b8826112c6565b60008051602061357c833981519152610d17816117bd565b600f8290556000610d26611d80565b905080600d5411156108b857600d555050565b6040810151610d835760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b604482015260640161070b565b6040808201516000908152600e60205220546001600160a01b031680610deb5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f7420726567697374657265640000000000604482015260640161070b565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015610e36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5a9190613398565b9050600b5481600001511015610ec05760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b606482015260840161070b565b600b548151118015610ed457506000600b54115b15610ef957600754600c541015610eed57610eed611da7565b6000600c556008546007555b610f03838261093b565b600a5460608401516001600160401b0390911690610f2090611db9565b1115610f7d5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b606482015260840161070b565b610f85612cf3565b7f000000000000000000000000000000000000000000000000000000000000000015610fbb57610fb484611a52565b9050610fc2565b5060e08301515b7f00000000000000000000000000000000000000000000000000000000000000001561104b576000610ff48583611b01565b9050826040015181146110495760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f740000000000000000604482015260640161070b565b505b611053612cf3565b90506000611060856112c6565b9050600061107f84606001518760600151611e0390919063ffffffff16565b9050604081600d546110919190613300565b901b8211156110e25760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c6974790000000000604482015260640161070b565b60008281526005602052604090205460ff16156111415760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d697474656400000000000000604482015260640161070b565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061117a610400806132cb565b611186906104006132cb565b6111919060086132cb565b61119b9190613300565b88608001516111aa9190613300565b6040808a015190516001600160e01b031960e085901b16815260048101929092526001600160a01b03891660248301526044820152606401600060405180830381600087803b1580156111fc57600080fd5b505af1158015611210573d6000803e3d6000fd5b5050506040808801518651600c5460808b015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38351600b55600c805460019190600090611277908490613385565b9091555050600754600c54101561129057505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006112be576112be84611f43565b505050505050565b604081015160009061131a5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d7074790000000000000000604482015260640161070b565b600060405180608001604052808460400151815260200184602001518152602001846000015181526020016113528560600151611f7c565b90529050600061136182611fe4565b9050600061137261040060106132cb565b6113806104006101006132cb565b61138a9190613300565b61139761040060046132cb565b6113a56104006101006132cb565b6113af9190613300565b6113b99190613300565b8560a001516113c89190613411565b90506113d2612cf3565b6113da612d12565b6113e98760e00151848661205c565b925090506101006113fd61040060046132cb565b6114079190613300565b8760a0015161141691906132cb565b6114538260405160200161142a9190613425565b6040516020818303038152906040528051906020012089606001516121dc90919063ffffffff16565b61145d9190613385565b8760800151146114af5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e00000000000000604482015260640161070b565b6114be8760a0015185846122e2565b979650505050505050565b6000818152600e60205260409020546001600160a01b0316331461152f5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e657249640000000000604482015260640161070b565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff16156115e85760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161070b565b6000805460ff19166001178155611605906116003390565b6117ca565b61161d60008051602061357c833981519152336117ca565b61162983600019613300565b600d557f00000000000000000000000000000000000000000000000000000000000000001561165957600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff19166020179055565b600081815260026020526040812061064c90612455565b600082815260016020819052604090912001546116e3816117bd565b6108b883836117ec565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611745573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117699190613398565b9050600b54816000015111806117825750600754600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061064c57506301ffc9a760e01b6001600160e01b031983161461064c565b6117c7813361245f565b50565b6117d482826124b8565b60008281526002602052604090206108b89082612523565b6117f68282612538565b60008281526002602052604090206108b8908261259f565b61010061181d610400806132cb565b611829906104006132cb565b6118349060086132cb565b61183e9190613300565b825161184a9190613411565b156118975760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e6564000000604482015260640161070b565b6020820151825182916118a991613385565b11156118ef5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b604482015260640161070b565b60006118fa83611db9565b610100611909610400806132cb565b611915906104006132cb565b611921906104006132cb565b61192c9060086132cb565b6119369190613300565b61194091906132cb565b9050808360200151111561198e5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b604482015260640161070b565b600061199a83836125b4565b905080846020015110156119e95760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b604482015260640161070b565b83606001518460400151166001600160401b0316600014611a4c5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f000000000000604482015260640161070b565b50505050565b611a5a612cf3565b60408083015160c084015160808501519251611a8a93906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e0840180515190911883525190600090611ac061040060046132cb565b611aca9190613300565b905081836020600184030281015b80821015611af757602080842093810180519094189201918252611ad8565b5050505050919050565b6000805b6020611b1461040060046132cb565b611b1e9190613300565b811015611b6c576101006020820284012080848360808110611b4257611b4261344d565b602002018181525050506020610100611b5b9190613300565b611b659082613385565b9050611b05565b506000611b7c6020610100613300565b90505b6020611b8e61040060046132cb565b611b989190613300565b811015611c6b5760005b6020611bb161040060046132cb565b611bbb9190613300565b811015611c62576000848260808110611bd657611bd661344d565b60200201519050600085611bea8585613385565b60808110611bfa57611bfa61344d565b602002015190508181604051602001611c1d929190918252602082015260400190565b60405160208183030381529060405280519060200120868460808110611c4557611c4561344d565b602002015250611c5b9050600183901b82613385565b9050611ba2565b5060011b611b7f565b508151611c76612cf3565b92506000610100611c8a61040060046132cb565b611c949190613300565b8560800151611ca39190613300565b905060005b85610100015151811015611d6a57600080611cc4600285613411565b600003611cf4578491508761010001518381518110611ce557611ce561344d565b60200260200101519050611d19565b8761010001518381518110611d0b57611d0b61344d565b602002602001015191508490505b6040805160208101849052908101829052606001604051602081830303815290604052805190602001209450600284611d529190613300565b93505050600181611d639190613385565b9050611ca8565b5090949350505050565b6000610c1c83836125ca565b6000600f54600003611d93575060001990565b600f54611da290600019613300565b905090565b611db76001600160f01b036125f4565b565b606081015160009019815b6001600160401b03821615611df457611dde6001836132ab565b9091169080611dec81613463565b915050611dc4565b600160ff9091161b9392505050565b600080610100611e15610400806132cb565b611e21906104006132cb565b611e2d906104006132cb565b611e389060086132cb565b611e429190613300565b8311611e4e5782611e8a565b610100611e5d610400806132cb565b611e69906104006132cb565b611e75906104006132cb565b611e809060086132cb565b611e8a9190613300565b90506000611e9785611db9565b611ea19085613300565b90506000610100611eb4610400806132cb565b611ec0906104006132cb565b611ecc906104006132cb565b611ed79060086132cb565b611ee19190613300565b8211611eed5781611f29565b610100611efc610400806132cb565b611f08906104006132cb565b611f14906104006132cb565b611f1f9060086132cb565b611f299190613300565b9050611f3981604085901b613300565b9695505050505050565b6000816020015143611f559190613298565b905060006010600d54901c90506000611f7182846006546126b0565b9050611a4c816125f4565b60008160000151826020015183604001518460600151604051602001611fc7949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611fec612d12565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528251908301516040840151606085015161064c938593909290916080600161275f565b612064612d12565b61206c612cf3565b60006120778461281e565b90506120a581604061208c61040060046132cb565b6120969190613300565b6120a090886132cb565b61283a565b60005b60808110156121355760408083208352822060208301528681608081106120d1576120d161344d565b60200201518251188382608081106120eb576120eb61344d565b60200201528660018201608081106121055761210561344d565b60200201518260016020020151188382600101608081106121285761212861344d565b60200201526002016120a8565b506121c881604061214961040060046132cb565b6121539190613300565b60018861216361040060106132cb565b6121716104006101006132cb565b61217b9190613300565b61218861040060046132cb565b6121966104006101006132cb565b6121a09190613300565b6121aa9190613300565b6121b49190613298565b6121be9190613298565b6120a091906132cb565b6121d18161281e565b925050935093915050565b6000806101006121ee610400826132cb565b6121f89190613300565b84602001516122079190613300565b6122119084613411565b60408501516060860151602087015192935083161790610100612236610400826132cb565b6122409190613300565b612253906001600160401b0384166132cb565b11156122a15760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e6400000000604482015260640161070b565b6101006122b0610400826132cb565b6122ba9190613300565b6122cd906001600160401b0383166132cb565b85516122d99190613385565b95945050505050565b60006122ec612d12565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152845190850151612352918391889190600060808161275f565b905061235c612d30565b60806000602061236f61040060046132cb565b6123799190613300565b6123849060206132cb565b61238f906080613385565b9050601c8301601f8401602085016060860160e0870160e1880160f089018c600c87538b51865260208c015160208701525b888a10156124295760808a01995060ff8a1684538960081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050888a0361240f57600182535b60408660d58a6009600019fa61242457600080fd5b6123c1565b5050505050505050826001600881106124445761244461344d565b602002015198975050505050505050565b600061064c825490565b6124698282610ca9565b610937576124768161285b565b61248183602061286d565b6040516020016124929291906134a6565b60408051601f198184030181529082905262461bcd60e51b825261070b9160040161351b565b6124c28282610ca9565b6109375760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000610c1c836001600160a01b038416612a08565b6125428282610ca9565b156109375760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610c1c836001600160a01b038416612a57565b60008183106125c35781610c1c565b5090919050565b60008260000182815481106125e1576125e161344d565b9060005260206000200154905092915050565b600d5460095460109190911c9060008184612610600183613298565b61261a90866132cb565b6126249190613385565b61262e9190613300565b905061263b8360026132cb565b8111156126505761264d8360026132cb565b90505b61265b600284613300565b8110156126705761266d600284613300565b90505b6001600160f01b0381111561268957506001600160f01b035b601081901b600d55600061269b611d80565b905080600d541115610bcb57600d5550505050565b60008080600019858709858702925082811083820303915050806000036126ea578382816126e0576126e06132ea565b0492505050610c1c565b8084116126f657600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b612767612d12565b600c600061277485612b51565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f5909401825293945091869184016009600019fa61281057600080fd5b505050979650505050505050565b612826612d12565b815181526020918201519181019190915290565b60005b818110156108b857604080842084528320602084015260010161283d565b606061064c6001600160a01b03831660145b6060600061287c8360026132cb565b612887906002613385565b6001600160401b0381111561289e5761289e612e31565b6040519080825280601f01601f1916602001820160405280156128c8576020820181803683370190505b509050600360fc1b816000815181106128e3576128e361344d565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106129125761291261344d565b60200101906001600160f81b031916908160001a90535060006129368460026132cb565b612941906001613385565b90505b60018111156129b9576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106129755761297561344d565b1a60f81b82828151811061298b5761298b61344d565b60200101906001600160f81b031916908160001a90535060049490941c936129b28161354e565b9050612944565b508315610c1c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e74604482015260640161070b565b6000818152600183016020526040812054612a4f5750815460018181018455600084815260208082209093018490558454848252828601909352604090209190915561064c565b50600061064c565b60008181526001830160205260408120548015612b40576000612a7b600183613298565b8554909150600090612a8f90600190613298565b9050818114612af4576000866000018281548110612aaf57612aaf61344d565b9060005260206000200154905080876000018481548110612ad257612ad261344d565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612b0557612b05613565565b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061064c565b600091505061064c565b5092915050565b612b59612d12565b62010000821015612b9d57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b640100000000821015612bdd57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916612b85565b68010000000000000000821015612bf757612b8582612c8d565b600160801b821015612c47576001600160401b038216604083901c612c1b82612c8d565b6001600160c01b0319168352612c3081612c8d565b6001600160c01b031916602084015250612c889050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b604482015260640161070b565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b600060208284031215612d6157600080fd5b81356001600160e01b031981168114610c1c57600080fd5b80356001600160a01b0381168114612c8857600080fd5b80356001600160401b0381168114612c8857600080fd5b60008060408385031215612dba57600080fd5b612dc383612d79565b9150612dd160208401612d90565b90509250929050565b600060208284031215612dec57600080fd5b5035919050565b600060208284031215612e0557600080fd5b610c1c82612d90565b60008060408385031215612e2157600080fd5b82359150612dd160208401612d79565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b0381118282101715612e6a57612e6a612e31565b60405290565b60405160c081016001600160401b0381118282101715612e6a57612e6a612e31565b600060808284031215612ea457600080fd5b604051608081018181106001600160401b0382111715612ec657612ec6612e31565b80604052508091508235815260208301356020820152612ee860408401612d90565b6040820152612ef960608401612d90565b60608201525092915050565b600082601f830112612f1657600080fd5b6040516110008082018281106001600160401b0382111715612f3a57612f3a612e31565b60405283018185821115612f4d57600080fd5b845b82811015612f67578035825260209182019101612f4f565b509195945050505050565b600082601f830112612f8357600080fd5b813560206001600160401b0380831115612f9f57612f9f612e31565b8260051b604051601f19603f83011681018181108482111715612fc457612fc4612e31565b604052938452858101830193838101925087851115612fe257600080fd5b83870191505b848210156114be57813583529183019190830190612fe8565b6000611160828403121561301457600080fd5b61301c612e47565b90508135815260208201356020820152604082013560408201526130438360608401612e92565b606082015260e082013560808201526101008083013560a083015261012083013560c0830152613077846101408501612f05565b60e08301526111408301356001600160401b0381111561309657600080fd5b6130a285828601612f72565b82840152505092915050565b60008082840360e08112156130c257600080fd5b83356001600160401b038111156130d857600080fd5b6130e486828701613001565b93505060c0601f19820112156130f957600080fd5b50613102612e70565b6020840135815260408401356020820152606084013560408201526080840135606082015260a0840135608082015260c084013560a0820152809150509250929050565b60006020828403121561315857600080fd5b81356001600160401b0381111561316e57600080fd5b61317a84828501613001565b949350505050565b6110008101818360005b60808110156131ab57815183526020928301929091019060010161318c565b50505092915050565b60008061102083850312156131c857600080fd5b82356001600160401b038111156131de57600080fd5b6131ea85828601613001565b925050612dd18460208501612f05565b6000806040838503121561320d57600080fd5b50508035926020909101359150565b6000806040838503121561322f57600080fd5b61323883612d79565b946020939093013593505050565b60008060006060848603121561325b57600080fd5b8335925061326b60208501612d79565b915061327960408501612d79565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561064c5761064c613282565b6001600160401b03828116828216039080821115612b4a57612b4a613282565b60008160001904831182151516156132e5576132e5613282565b500290565b634e487b7160e01b600052601260045260246000fd5b60008261330f5761330f6132ea565b500490565b80516001600160801b0381168114612c8857600080fd5b60006040828403121561333d57600080fd5b604051604081018181106001600160401b038211171561335f5761335f612e31565b60405261336b83613314565b815261337960208401613314565b60208201529392505050565b8082018082111561064c5761064c613282565b600060c082840312156133aa57600080fd5b60405160c081018181106001600160401b03821117156133cc576133cc612e31565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b600082613420576134206132ea565b500690565b60408101818360005b60028110156131ab57815183526020928301929091019060010161342e565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff810361347957613479613282565b60010192915050565b60005b8381101561349d578181015183820152602001613485565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134de816017850160208801613482565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161350f816028840160208801613482565b01602801949350505050565b602081526000825180602084015261353a816040850160208701613482565b601f01601f19169190910160400192915050565b60008161355d5761355d613282565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a26469706673582212207dfe6289fcd49d8a82e6fa3e2bcf5d9f45ab21398cf2040e4fc8f477572a0efe64736f6c63430008100033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|