mirror of
https://github.com/0glabs/0g-storage-node.git
synced 2025-01-23 21:46:17 +00:00
1171 lines
86 KiB
JSON
1171 lines
86 KiB
JSON
{
|
|
"_format": "hh-sol-artifact-1",
|
|
"contractName": "PoraMine",
|
|
"sourceName": "contracts/miner/Mine.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": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "computeWorkerContext",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "poraTarget",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "subtaskDigest",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "maxShards",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct WorkerContext",
|
|
"name": "answer",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"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": [
|
|
{
|
|
"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"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "getSubtaskDigest",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "grantRole",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "role",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "account",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "hasRole",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"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": [],
|
|
"name": "nSubtasks",
|
|
"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"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "subtaskDigest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"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": [
|
|
{
|
|
"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": "uint256",
|
|
"name": "nSubtasks_",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "setNumSubtasks",
|
|
"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": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "to",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "minerId",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "transferBeneficial",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162003c9f38038062003c9f833981016040819052620000349162000052565b6001811615608052600281161560a052600416151560c0526200006c565b6000602082840312156200006557600080fd5b5051919050565b60805160a05160c051613be7620000b8600039600081816104c301528181611abc0152612f130152600081816104f3015261169501526000818161058001526116580152613be76000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637bba7d6111610151578063ae722e82116100c3578063b776a51211610087578063b776a512146105f9578063ca15c87314610602578063d547741f14610615578063dddc61a814610628578063e282e27b14610631578063ffbc9bd01461063857600080fd5b8063ae722e82146105a2578063b0628ee0146105b5578063b15d20da146105c8578063b4988fd0146105dd578063b4a93283146105f057600080fd5b806391d148541161011557806391d148541461053b5780639dc787a21461054e578063a217fddf14610557578063a82791821461055f578063ad08fdfb14610568578063adaa7a0f1461057b57600080fd5b80637bba7d61146104be5780637eca5688146104e557806382975fe7146104ee5780638c0bca06146105155780639010d07c1461052857600080fd5b80632f2ff15d116101ea57806339cd53ee116101ae57806339cd53ee146104405780633baebb751461046957806348f614411461047c5780635bdca85514610485578063704d3c961461049857806378203ab6146104ab57600080fd5b80632f2ff15d146103f557806331223ba714610408578063331f3b9c14610411578063343aad821461041a57806336568abe1461042d57600080fd5b806316a4be6f1161023157806316a4be6f146102de578063228cb73314610309578063248a9ca314610334578063296beba7146103665780632a02573b146103e257600080fd5b806301ffc9a71461026e578063047c13f5146102965780630c655e1f146102ab578063158ef93e146102be5780631600c624146102cb575b600080fd5b61028161027c36600461333d565b610640565b60405190151581526020015b60405180910390f35b6102a96102a4366004613395565b61066b565b005b6102a96102b93660046133c8565b610787565b6000546102819060ff1681565b6102a96102d93660046133c8565b6108e2565b600a546102f1906001600160401b031681565b6040516001600160401b03909116815260200161028d565b60045461031c906001600160a01b031681565b6040516001600160a01b03909116815260200161028d565b6103586103423660046133c8565b6000908152600160208190526040909120015490565b60405190815260200161028d565b6103796103743660046133c8565b610952565b60408051825180518252602080820151818401528184015183850152606080830151818501526080808401519085015260a0928301519284019290925284015160c08301529183015160e08201529101516001600160401b03166101008201526101200161028d565b6102a96103f03660046133e1565b610bcf565b6102a96104033660046133fc565b610cd5565b610358600b5481565b61035860065481565b60035461031c906001600160a01b031681565b6102a961043b3660046133fc565b610d00565b61031c61044e3660046133c8565b600e602052600090815260409020546001600160a01b031681565b6102a96104773660046136fe565b610d7e565b610358600d5481565b6102a96104933660046133c8565b611020565b6102a96104a63660046133c8565b61104d565b6103586104b9366004613743565b6110bb565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035860085481565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035861052336600461376e565b611208565b61031c6105363660046137b2565b611408565b6102816105493660046133fc565b611427565b61035860105481565b610358600081565b610358600c5481565b6102a96105763660046133c8565b611452565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b6102a96105b03660046137d4565b61148c565b6102a96105c3366004613810565b611957565b610358600080516020613b9283398151915281565b6102a96105eb36600461383a565b611a17565b610358600f5481565b61035860075481565b6103586106103660046133c8565b611b43565b6102a96106233660046133fc565b611b5a565b61035860095481565b60006102f1565b610281611b80565b60006001600160e01b03198216635a05180f60e01b1480610665575061066582611c26565b92915050565b600061067860014361388c565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b03161561072d5760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b600080516020613b9283398151915261079f81611c5b565b600082116107f95760405162461bcd60e51b815260206004820152602160248201527f4e756d626572206f66207375627461736b732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610724565b600360009054906101000a90046001600160a01b03166001600160a01b031663f06820546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610870919061389f565b82106108dc5760405162461bcd60e51b815260206004820152603560248201527f4e756d626572206f66207375627461736b73206d757374206265206c657373206044820152740e8d0c2dc40c4d8dec6d6e640e0cae440cae0dec6d605b1b6064820152608401610724565b50601055565b600080516020613b928339815191526108fa81611c5b565b61010082111561094c5760405162461bcd60e51b815260206004820152601d60248201527f746172676574206d696e6520626c6f636b206d757374203c3d203235360000006044820152606401610724565b50600655565b604080516101408101825260006080820181815260a0830182905260c0830182905260e08301829052610100830182905261012083018290528252602082018190529181018290526060810191909152816109e85760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6000828152600e60205260409020546001600160a01b031680610a4d5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b600a546001600160401b0316606083015260035460408051635a325a9f60e11b815290516001600160a01b039092169163b464b53e9160048082019260c09290919082900301816000875af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906138b8565b80835260105460a09091015160405160009291610af8918790602001918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b1b9190613947565b9050600081846000015160200151610b33919061395b565b90508043111580610b4e5750600654610b4c824361388c565b115b15610b5b57505050919050565b835160a001516040805160208082019390935283408183015281518082038301815260609091018252805192019190912090850152600b548451511115610ba7578351610ba790611c68565b600754610bb590600261396e565b600c541015610bc757600d5460208501525b505050919050565b600080516020613b92833981519152610be781611c5b565b6000826001600160401b031611610c405760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f006044820152606401610724565b610c4b60018361398d565b82166001600160401b0316600014610cb15760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b6064820152608401610724565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b60008281526001602081905260409091200154610cf181611c5b565b610cfb8383611cf8565b505050565b6001600160a01b0381163314610d705760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610724565b610d7a8282611d1a565b5050565b815160a082015114610dd25760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e67206469676573740000000000006044820152606401610724565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610e455760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e65000000000000006044820152606401610724565b600754610e5390600261396e565b600c5410610ea35760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e73000000006044820152606401610724565b6000610100610eb46104008261396e565b610ebe91906139ad565b610100610ecd6104008261396e565b610ed791906139ad565b8360600151610ee691906139ad565b610ef0919061396e565b6060840151909150610f029082611d3c565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7591906139d8565b90506000610100610f89610400600461396e565b610f9391906139ad565b8560800151610fa2919061395b565b90508082600001516001600160801b0316108015610fcd57508082602001516001600160801b031610155b6110195760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e74657874206469676573740000006044820152606401610724565b5050505050565b600080516020613b9283398151915261103881611c5b565b6008829055600b54600003610d7a5750600755565b600080516020613b9283398151915261106581611c5b565b600082116110b55760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f0000006044820152606401610724565b50600955565b6000806010548460a00151846040516020016110e1929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c6111049190613947565b90506000818560200151611118919061395b565b905080431161117c5760405162461bcd60e51b815260206004820152602a60248201527f4561726c696572207468616e206578706563746564207375627461736b20737460448201526930b93a10313637b1b59760b11b6064820152608401610724565b600654611189824361388c565b11156111ce5760405162461bcd60e51b8152602060048201526014602482015273135a5b9948191958591b1a5b9948195e18d9595960621b6044820152606401610724565b60a0850151604080516020810192909252824090820152606001604051602081830303815290604052805190602001209250505092915050565b604082015160009061125c5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d70747900000000000000006044820152606401610724565b6000604051806080016040528085604001518152602001856020015181526020018481526020016112908660600151611f80565b90529050600061129f82611fe8565b905060006112b0610400604061396e565b6112be61040061010061396e565b6112c891906139ad565b6112d5610400600461396e565b6112e361040061010061396e565b6112ed91906139ad565b6112f791906139ad565b8660a001516113069190613947565b90506113106132e1565b611318613300565b6113278860e001518486612060565b9250905061010061133b610400600461396e565b61134591906139ad565b8860a00151611354919061396e565b611391826040516020016113689190613a32565b604051602081830303815290604052805190602001208a606001516121dd90919063ffffffff16565b61139b919061395b565b8860800151146113ed5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e000000000000006044820152606401610724565b6113fc8860a0015185846122e3565b98975050505050505050565b60008281526002602052604081206114209083612456565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020613b9283398151915261146a81611c5b565b600f8290556000611479612462565b905080600d541115610cfb57600d555050565b60408101516114d65760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6040808201516000908152600e60205220546001600160a01b03168061153e5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015611589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ad91906138b8565b90506115b881611c68565b60006115c88285604001516110bb565b90506115d48483610d7e565b600a5460608501516001600160401b03909116906115f190612489565b111561164e5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b6064820152608401610724565b6116566132e1565b7f00000000000000000000000000000000000000000000000000000000000000001561168c57611685856124d3565b9050611693565b5060e08401515b7f00000000000000000000000000000000000000000000000000000000000000001561171c5760006116c58683612582565b90508360400151811461171a5760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f7400000000000000006044820152606401610724565b505b6117246132e1565b905060006117328684611208565b90506000611751856060015188606001516127f590919063ffffffff16565b9050604081600d5461176391906139ad565b901b8211156117b45760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c69747900000000006044820152606401610724565b60008281526005602052604090205460ff16156118135760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d6974746564000000000000006044820152606401610724565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061184c6104008061396e565b6118589061040061396e565b61186390600861396e565b61186d91906139ad565b896080015161187c91906139ad565b6040808b015190516001600160e01b031960e085901b16815260048101929092526001600160a01b038a1660248301526044820152606401600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b5050506040808901518751600c5460808c015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38451600b55600c80546001919060009061194990849061395b565b909155505050505050505050565b6000818152600e60205260409020546001600160a01b031633146119bd5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e6572496400000000006044820152606401610724565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff1615611a765760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401610724565b6000805460ff19166001178155611a9390611a8e3390565b611cf8565b611aab600080516020613b9283398151915233611cf8565b611ab7836000196139ad565b600d557f000000000000000000000000000000000000000000000000000000000000000015611ae757600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff191660201790556001601055565b600081815260026020526040812061066590612935565b60008281526001602081905260409091200154611b7681611c5b565b610cfb8383611d1a565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc91906138b8565b9050600b5481600001511180611c205750600754611c1b90600261396e565b600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061066557506301ffc9a760e01b6001600160e01b0319831614610665565b611c65813361293f565b50565b600b5481511015611cc95760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b6064820152608401610724565b600b548151118015611cdd57506000600b54115b15611c6557611cea612998565b6000600c5560085460075550565b611d0282826129d8565b6000828152600260205260409020610cfb9082612a43565b611d248282612a58565b6000828152600260205260409020610cfb9082612abf565b610100611d4b6104008061396e565b611d579061040061396e565b611d6290600861396e565b611d6c91906139ad565b8251611d789190613947565b15611dc55760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e65640000006044820152606401610724565b602082015182518291611dd79161395b565b1115611e1d5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b6044820152606401610724565b6000611e2883612489565b610100611e376104008061396e565b611e439061040061396e565b611e4f9061040061396e565b611e5a90600861396e565b611e6491906139ad565b611e6e919061396e565b90508083602001511115611ebc5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b6044820152606401610724565b6000611ec88383612ad4565b90508084602001511015611f175760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b6044820152606401610724565b83606001518460400151166001600160401b0316600014611f7a5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f0000000000006044820152606401610724565b50505050565b60008160000151826020015183604001518460600151604051602001611fcb949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611ff0613300565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152825190830151604084015160608501516106659385939092909160806001612aea565b612068613300565b6120706132e1565b600061207b84612ba9565b90506120a9816040612090610400600461396e565b61209a91906139ad565b6120a4908861396e565b612bc5565b60005b6080811015612136576120c0826001612bc5565b8681608081106120d2576120d2613a63565b60200201518251188382608081106120ec576120ec613a63565b602002015286600182016080811061210657612106613a63565b602002015182600160200201511883826001016080811061212957612129613a63565b60200201526002016120ac565b506121c981604061214a610400600461396e565b61215491906139ad565b600188612164610400604061396e565b61217261040061010061396e565b61217c91906139ad565b612189610400600461396e565b61219761040061010061396e565b6121a191906139ad565b6121ab91906139ad565b6121b5919061388c565b6121bf919061388c565b6120a4919061396e565b6121d281612ba9565b925050935093915050565b6000806101006121ef6104008261396e565b6121f991906139ad565b846020015161220891906139ad565b6122129084613947565b604085015160608601516020870151929350831617906101006122376104008261396e565b61224191906139ad565b612254906001600160401b03841661396e565b11156122a25760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e64000000006044820152606401610724565b6101006122b16104008261396e565b6122bb91906139ad565b6122ce906001600160401b03831661396e565b85516122da919061395b565b95945050505050565b60006122ed613300565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528451908501516123539183918891906000608081612aea565b905061235d61331e565b608060006020612370610400600461396e565b61237a91906139ad565b61238590602061396e565b61239090608061395b565b9050601c8301601f8401602085016060860160e0870160e1880160f089018c600c87538b51865260208c015160208701525b888a101561242a5760808a01995060ff8a1684538960081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050888a0361241057600182535b60408660d58a6009600019fa61242557600080fd5b6123c2565b50505050505050508260016008811061244557612445613a63565b602002015198975050505050505050565b60006114208383612c8b565b6000600f54600003612475575060001990565b600f54612484906000196139ad565b905090565b606081015160009019815b6001600160401b038216156124c4576124ae60018361398d565b90911690806124bc81613a79565b915050612494565b600160ff9091161b9392505050565b6124db6132e1565b60408083015160c08401516080850151925161250b93906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e0840180515190911883525190600090612541610400600461396e565b61254b91906139ad565b905081836020600184030281015b8082101561257857602080842093810180519094189201918252612559565b5050505050919050565b6000805b6020612595610400600461396e565b61259f91906139ad565b8110156125ed5761010060208202840120808483608081106125c3576125c3613a63565b6020020181815250505060206101006125dc91906139ad565b6125e6908261395b565b9050612586565b5060006125fd60206101006139ad565b90505b602061260f610400600461396e565b61261991906139ad565b8110156126ec5760005b6020612632610400600461396e565b61263c91906139ad565b8110156126e357600084826080811061265757612657613a63565b6020020151905060008561266b858561395b565b6080811061267b5761267b613a63565b60200201519050818160405160200161269e929190918252602082015260400190565b604051602081830303815290604052805190602001208684608081106126c6576126c6613a63565b6020020152506126dc9050600183901b8261395b565b9050612623565b5060011b612600565b5081516126f76132e1565b9250600061010061270b610400600461396e565b61271591906139ad565b856080015161272491906139ad565b905060005b856101000151518110156127eb57600080612745600285613947565b60000361277557849150876101000151838151811061276657612766613a63565b6020026020010151905061279a565b876101000151838151811061278c5761278c613a63565b602002602001015191508490505b60408051602081018490529081018290526060016040516020818303038152906040528051906020012094506002846127d391906139ad565b935050506001816127e4919061395b565b9050612729565b5090949350505050565b6000806101006128076104008061396e565b6128139061040061396e565b61281f9061040061396e565b61282a90600861396e565b61283491906139ad565b8311612840578261287c565b61010061284f6104008061396e565b61285b9061040061396e565b6128679061040061396e565b61287290600861396e565b61287c91906139ad565b9050600061288985612489565b61289390856139ad565b905060006101006128a66104008061396e565b6128b29061040061396e565b6128be9061040061396e565b6128c990600861396e565b6128d391906139ad565b82116128df578161291b565b6101006128ee6104008061396e565b6128fa9061040061396e565b6129069061040061396e565b61291190600861396e565b61291b91906139ad565b905061292b81604085901b6139ad565b9695505050505050565b6000610665825490565b6129498282611427565b610d7a5761295681612cb5565b612961836020612cc7565b604051602001612972929190613abc565b60408051601f198184030181529082905262461bcd60e51b825261072491600401613b31565b600c54600090156129c55760006010600d54901c90506129bd81600654600c54612e62565b9150506129cf565b506001600160f01b035b611c6581612f11565b6129e28282611427565b610d7a5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611420836001600160a01b038416612ff6565b612a628282611427565b15610d7a5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611420836001600160a01b038416613045565b6000818310612ae35781611420565b5090919050565b612af2613300565b600c6000612aff8561313f565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f5909401825293945091869184016009600019fa612b9b57600080fd5b505050979650505050505050565b612bb1613300565b815181526020918201519181019190915290565b612bcd61331e565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa56020808301919091527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6040830152835160608301908152908401516080830152601c820190600c601f840153604060e0840153600160f084015360005b84811015612c715760408260d5856009600019fa612c6957600080fd5b600101612c4c565b505050606081015183526080015160209092019190915250565b6000826000018281548110612ca257612ca2613a63565b9060005260206000200154905092915050565b60606106656001600160a01b03831660145b60606000612cd683600261396e565b612ce190600261395b565b6001600160401b03811115612cf857612cf861341f565b6040519080825280601f01601f191660200182016040528015612d22576020820181803683370190505b509050600360fc1b81600081518110612d3d57612d3d613a63565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d6c57612d6c613a63565b60200101906001600160f81b031916908160001a9053506000612d9084600261396e565b612d9b90600161395b565b90505b6001811115612e13576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612dcf57612dcf613a63565b1a60f81b828281518110612de557612de5613a63565b60200101906001600160f81b031916908160001a90535060049490941c93612e0c81613b64565b9050612d9e565b5083156114205760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610724565b6000808060001985870985870292508281108382030391505080600003612e9c57838281612e9257612e92613931565b0492505050611420565b808411612ea857600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015612f3a5750565b600d5460095460109190911c9060008184612f5660018361388c565b612f60908661396e565b612f6a919061395b565b612f7491906139ad565b9050612f8183600261396e565b811115612f9657612f9383600261396e565b90505b612fa16002846139ad565b811015612fb657612fb36002846139ad565b90505b6001600160f01b03811115612fcf57506001600160f01b035b601081901b600d556000612fe1612462565b905080600d54111561101957600d5550505050565b600081815260018301602052604081205461303d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610665565b506000610665565b6000818152600183016020526040812054801561312e57600061306960018361388c565b855490915060009061307d9060019061388c565b90508181146130e257600086600001828154811061309d5761309d613a63565b90600052602060002001549050808760000184815481106130c0576130c0613a63565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806130f3576130f3613b7b565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610665565b6000915050610665565b5092915050565b613147613300565b6201000082101561318b57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b6401000000008210156131cb57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916613173565b680100000000000000008210156131e5576131738261327b565b600160801b821015613235576001600160401b038216604083901c6132098261327b565b6001600160c01b031916835261321e8161327b565b6001600160c01b0319166020840152506132769050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b6044820152606401610724565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60006020828403121561334f57600080fd5b81356001600160e01b03198116811461142057600080fd5b80356001600160a01b038116811461327657600080fd5b80356001600160401b038116811461327657600080fd5b600080604083850312156133a857600080fd5b6133b183613367565b91506133bf6020840161337e565b90509250929050565b6000602082840312156133da57600080fd5b5035919050565b6000602082840312156133f357600080fd5b6114208261337e565b6000806040838503121561340f57600080fd5b823591506133bf60208401613367565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156134585761345861341f565b60405290565b60006080828403121561347057600080fd5b604051608081018181106001600160401b03821117156134925761349261341f565b806040525080915082358152602083013560208201526134b46040840161337e565b60408201526134c56060840161337e565b60608201525092915050565b600082601f8301126134e257600080fd5b6040516110008082018281106001600160401b03821117156135065761350661341f565b6040528301818582111561351957600080fd5b845b8281101561353357803582526020918201910161351b565b509195945050505050565b600082601f83011261354f57600080fd5b813560206001600160401b038083111561356b5761356b61341f565b8260051b604051601f19603f830116810181811084821117156135905761359061341f565b6040529384528581018301938381019250878511156135ae57600080fd5b83870191505b848210156135cd578135835291830191908301906135b4565b979650505050505050565b600061116082840312156135eb57600080fd5b6135f3613435565b905081358152602082013560208201526040820135604082015261361a836060840161345e565b606082015260e082013560808201526101008083013560a083015261012083013560c083015261364e8461014085016134d1565b60e08301526111408301356001600160401b0381111561366d57600080fd5b6136798582860161353e565b82840152505092915050565b600060c0828403121561369757600080fd5b60405160c081018181106001600160401b03821117156136b9576136b961341f565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b60008060e0838503121561371157600080fd5b82356001600160401b0381111561372757600080fd5b613733858286016135d8565b9250506133bf8460208501613685565b60008060e0838503121561375657600080fd5b6137608484613685565b9460c0939093013593505050565b6000806040838503121561378157600080fd5b82356001600160401b0381111561379757600080fd5b6137a3858286016135d8565b95602094909401359450505050565b600080604083850312156137c557600080fd5b50508035926020909101359150565b6000602082840312156137e657600080fd5b81356001600160401b038111156137fc57600080fd5b613808848285016135d8565b949350505050565b6000806040838503121561382357600080fd5b61382c83613367565b946020939093013593505050565b60008060006060848603121561384f57600080fd5b8335925061385f60208501613367565b915061386d60408501613367565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561066557610665613876565b6000602082840312156138b157600080fd5b5051919050565b600060c082840312156138ca57600080fd5b60405160c081018181106001600160401b03821117156138ec576138ec61341f565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261395657613956613931565b500690565b8082018082111561066557610665613876565b600081600019048311821515161561398857613988613876565b500290565b6001600160401b0382811682821603908082111561313857613138613876565b6000826139bc576139bc613931565b500490565b80516001600160801b038116811461327657600080fd5b6000604082840312156139ea57600080fd5b604051604081018181106001600160401b0382111715613a0c57613a0c61341f565b604052613a18836139c1565b8152613a26602084016139c1565b60208201529392505050565b60408101818360005b6002811015613a5a578151835260209283019290910190600101613a3b565b50505092915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103613a8f57613a8f613876565b60010192915050565b60005b83811015613ab3578181015183820152602001613a9b565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613af4816017850160208801613a98565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b25816028840160208801613a98565b01602801949350505050565b6020815260008251806020840152613b50816040850160208701613a98565b601f01601f19169190910160400192915050565b600081613b7357613b73613876565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a2646970667358221220ccc6c7f6d4a0b6f384a55faeb5900dbafda6125c47c15ba3c2f8b14f046e640a64736f6c63430008100033",
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102695760003560e01c80637bba7d6111610151578063ae722e82116100c3578063b776a51211610087578063b776a512146105f9578063ca15c87314610602578063d547741f14610615578063dddc61a814610628578063e282e27b14610631578063ffbc9bd01461063857600080fd5b8063ae722e82146105a2578063b0628ee0146105b5578063b15d20da146105c8578063b4988fd0146105dd578063b4a93283146105f057600080fd5b806391d148541161011557806391d148541461053b5780639dc787a21461054e578063a217fddf14610557578063a82791821461055f578063ad08fdfb14610568578063adaa7a0f1461057b57600080fd5b80637bba7d61146104be5780637eca5688146104e557806382975fe7146104ee5780638c0bca06146105155780639010d07c1461052857600080fd5b80632f2ff15d116101ea57806339cd53ee116101ae57806339cd53ee146104405780633baebb751461046957806348f614411461047c5780635bdca85514610485578063704d3c961461049857806378203ab6146104ab57600080fd5b80632f2ff15d146103f557806331223ba714610408578063331f3b9c14610411578063343aad821461041a57806336568abe1461042d57600080fd5b806316a4be6f1161023157806316a4be6f146102de578063228cb73314610309578063248a9ca314610334578063296beba7146103665780632a02573b146103e257600080fd5b806301ffc9a71461026e578063047c13f5146102965780630c655e1f146102ab578063158ef93e146102be5780631600c624146102cb575b600080fd5b61028161027c36600461333d565b610640565b60405190151581526020015b60405180910390f35b6102a96102a4366004613395565b61066b565b005b6102a96102b93660046133c8565b610787565b6000546102819060ff1681565b6102a96102d93660046133c8565b6108e2565b600a546102f1906001600160401b031681565b6040516001600160401b03909116815260200161028d565b60045461031c906001600160a01b031681565b6040516001600160a01b03909116815260200161028d565b6103586103423660046133c8565b6000908152600160208190526040909120015490565b60405190815260200161028d565b6103796103743660046133c8565b610952565b60408051825180518252602080820151818401528184015183850152606080830151818501526080808401519085015260a0928301519284019290925284015160c08301529183015160e08201529101516001600160401b03166101008201526101200161028d565b6102a96103f03660046133e1565b610bcf565b6102a96104033660046133fc565b610cd5565b610358600b5481565b61035860065481565b60035461031c906001600160a01b031681565b6102a961043b3660046133fc565b610d00565b61031c61044e3660046133c8565b600e602052600090815260409020546001600160a01b031681565b6102a96104773660046136fe565b610d7e565b610358600d5481565b6102a96104933660046133c8565b611020565b6102a96104a63660046133c8565b61104d565b6103586104b9366004613743565b6110bb565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035860085481565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b61035861052336600461376e565b611208565b61031c6105363660046137b2565b611408565b6102816105493660046133fc565b611427565b61035860105481565b610358600081565b610358600c5481565b6102a96105763660046133c8565b611452565b6102817f000000000000000000000000000000000000000000000000000000000000000081565b6102a96105b03660046137d4565b61148c565b6102a96105c3366004613810565b611957565b610358600080516020613b9283398151915281565b6102a96105eb36600461383a565b611a17565b610358600f5481565b61035860075481565b6103586106103660046133c8565b611b43565b6102a96106233660046133fc565b611b5a565b61035860095481565b60006102f1565b610281611b80565b60006001600160e01b03198216635a05180f60e01b1480610665575061066582611c26565b92915050565b600061067860014361388c565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b03161561072d5760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b600080516020613b9283398151915261079f81611c5b565b600082116107f95760405162461bcd60e51b815260206004820152602160248201527f4e756d626572206f66207375627461736b732063616e6e6f74206265207a65726044820152606f60f81b6064820152608401610724565b600360009054906101000a90046001600160a01b03166001600160a01b031663f06820546040518163ffffffff1660e01b8152600401602060405180830381865afa15801561084c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610870919061389f565b82106108dc5760405162461bcd60e51b815260206004820152603560248201527f4e756d626572206f66207375627461736b73206d757374206265206c657373206044820152740e8d0c2dc40c4d8dec6d6e640e0cae440cae0dec6d605b1b6064820152608401610724565b50601055565b600080516020613b928339815191526108fa81611c5b565b61010082111561094c5760405162461bcd60e51b815260206004820152601d60248201527f746172676574206d696e6520626c6f636b206d757374203c3d203235360000006044820152606401610724565b50600655565b604080516101408101825260006080820181815260a0830182905260c0830182905260e08301829052610100830182905261012083018290528252602082018190529181018290526060810191909152816109e85760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6000828152600e60205260409020546001600160a01b031680610a4d5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b600a546001600160401b0316606083015260035460408051635a325a9f60e11b815290516001600160a01b039092169163b464b53e9160048082019260c09290919082900301816000875af1158015610aaa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ace91906138b8565b80835260105460a09091015160405160009291610af8918790602001918252602082015260400190565b6040516020818303038152906040528051906020012060001c610b1b9190613947565b9050600081846000015160200151610b33919061395b565b90508043111580610b4e5750600654610b4c824361388c565b115b15610b5b57505050919050565b835160a001516040805160208082019390935283408183015281518082038301815260609091018252805192019190912090850152600b548451511115610ba7578351610ba790611c68565b600754610bb590600261396e565b600c541015610bc757600d5460208501525b505050919050565b600080516020613b92833981519152610be781611c5b565b6000826001600160401b031611610c405760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f006044820152606401610724565b610c4b60018361398d565b82166001600160401b0316600014610cb15760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f776572206f60448201526233101960e91b6064820152608401610724565b50600a805467ffffffffffffffff19166001600160401b0392909216919091179055565b60008281526001602081905260409091200154610cf181611c5b565b610cfb8383611cf8565b505050565b6001600160a01b0381163314610d705760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610724565b610d7a8282611d1a565b5050565b815160a082015114610dd25760405162461bcd60e51b815260206004820152601a60248201527f496e636f6e73697374656e74206d696e696e67206469676573740000000000006044820152606401610724565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4708160a0015103610e455760405162461bcd60e51b815260206004820152601960248201527f456d707479206469676573742063616e206e6f74206d696e65000000000000006044820152606401610724565b600754610e5390600261396e565b600c5410610ea35760405162461bcd60e51b815260206004820152601c60248201527f45706f63682068617320656e6f756768207375626d697373696f6e73000000006044820152606401610724565b6000610100610eb46104008261396e565b610ebe91906139ad565b610100610ecd6104008261396e565b610ed791906139ad565b8360600151610ee691906139ad565b610ef0919061396e565b6060840151909150610f029082611d3c565b60035460c0840151604051630fab20e160e31b815260048101919091526000916001600160a01b031690637d590708906024016040805180830381865afa158015610f51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f7591906139d8565b90506000610100610f89610400600461396e565b610f9391906139ad565b8560800151610fa2919061395b565b90508082600001516001600160801b0316108015610fcd57508082602001516001600160801b031610155b6110195760405162461bcd60e51b815260206004820152601d60248201527f496e76616c6964207365616c656420636f6e74657874206469676573740000006044820152606401610724565b5050505050565b600080516020613b9283398151915261103881611c5b565b6008829055600b54600003610d7a5750600755565b600080516020613b9283398151915261106581611c5b565b600082116110b55760405162461bcd60e51b815260206004820152601d60248201527f41646a75737420726174696f206d757374206265206e6f6e2d7a65726f0000006044820152606401610724565b50600955565b6000806010548460a00151846040516020016110e1929190918252602082015260400190565b6040516020818303038152906040528051906020012060001c6111049190613947565b90506000818560200151611118919061395b565b905080431161117c5760405162461bcd60e51b815260206004820152602a60248201527f4561726c696572207468616e206578706563746564207375627461736b20737460448201526930b93a10313637b1b59760b11b6064820152608401610724565b600654611189824361388c565b11156111ce5760405162461bcd60e51b8152602060048201526014602482015273135a5b9948191958591b1a5b9948195e18d9595960621b6044820152606401610724565b60a0850151604080516020810192909252824090820152606001604051602081830303815290604052805190602001209250505092915050565b604082015160009061125c5760405162461bcd60e51b815260206004820152601860248201527f4d696e65722049442063616e6e6f7420626520656d70747900000000000000006044820152606401610724565b6000604051806080016040528085604001518152602001856020015181526020018481526020016112908660600151611f80565b90529050600061129f82611fe8565b905060006112b0610400604061396e565b6112be61040061010061396e565b6112c891906139ad565b6112d5610400600461396e565b6112e361040061010061396e565b6112ed91906139ad565b6112f791906139ad565b8660a001516113069190613947565b90506113106132e1565b611318613300565b6113278860e001518486612060565b9250905061010061133b610400600461396e565b61134591906139ad565b8860a00151611354919061396e565b611391826040516020016113689190613a32565b604051602081830303815290604052805190602001208a606001516121dd90919063ffffffff16565b61139b919061395b565b8860800151146113ed5760405162461bcd60e51b815260206004820152601960248201527f496e636f727265637420726563616c6c20706f736974696f6e000000000000006044820152606401610724565b6113fc8860a0015185846122e3565b98975050505050505050565b60008281526002602052604081206114209083612456565b9392505050565b60009182526001602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600080516020613b9283398151915261146a81611c5b565b600f8290556000611479612462565b905080600d541115610cfb57600d555050565b60408101516114d65760405162461bcd60e51b81526020600482015260166024820152754d696e657249642063616e6e6f74206265207a65726f60501b6044820152606401610724565b6040808201516000908152600e60205220546001600160a01b03168061153e5760405162461bcd60e51b815260206004820152601b60248201527f4d696e6572496420646f6573206e6f74207265676973746572656400000000006044820152606401610724565b60035460408051635a325a9f60e11b815290516000926001600160a01b03169163b464b53e9160048083019260c0929190829003018187875af1158015611589573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ad91906138b8565b90506115b881611c68565b60006115c88285604001516110bb565b90506115d48483610d7e565b600a5460608501516001600160401b03909116906115f190612489565b111561164e5760405162461bcd60e51b815260206004820152602660248201527f457863656564696e672074686520616c6c6f776564206e756d626572206f662060448201526573686172647360d01b6064820152608401610724565b6116566132e1565b7f00000000000000000000000000000000000000000000000000000000000000001561168c57611685856124d3565b9050611693565b5060e08401515b7f00000000000000000000000000000000000000000000000000000000000000001561171c5760006116c58683612582565b90508360400151811461171a5760405162461bcd60e51b815260206004820152601860248201527f496e636f6e73697374656e74206d65726b6c6520726f6f7400000000000000006044820152606401610724565b505b6117246132e1565b905060006117328684611208565b90506000611751856060015188606001516127f590919063ffffffff16565b9050604081600d5461176391906139ad565b901b8211156117b45760405162461bcd60e51b815260206004820152601b60248201527f446f206e6f7420726561636820746172676574207175616c69747900000000006044820152606401610724565b60008281526005602052604090205460ff16156118135760405162461bcd60e51b815260206004820152601960248201527f416e7377657220686173206265656e207375626d6974746564000000000000006044820152606401610724565b6000828152600560205260409020805460ff191660011790556004546001600160a01b031663b7a3c04c61010061184c6104008061396e565b6118589061040061396e565b61186390600861396e565b61186d91906139ad565b896080015161187c91906139ad565b6040808b015190516001600160e01b031960e085901b16815260048101929092526001600160a01b038a1660248301526044820152606401600060405180830381600087803b1580156118ce57600080fd5b505af11580156118e2573d6000803e3d6000fd5b5050506040808901518751600c5460808c015184519182526020820152919350917ffedd8f58059af8fd54b4394c01ea8d07cac041988be3b5a822fb779f9c8de3a4910160405180910390a38451600b55600c80546001919060009061194990849061395b565b909155505050505050505050565b6000818152600e60205260409020546001600160a01b031633146119bd5760405162461bcd60e51b815260206004820152601b60248201527f53656e64657220646f6573206e6f74206f776e206d696e6572496400000000006044820152606401610724565b6000818152600e602052604080822080546001600160a01b0319166001600160a01b03861690811790915590519091339184917f9a26a8e7fd42c501b452c02016def8048e3ea28c2bf15127a9b5e2029d989bf191a45050565b60005460ff1615611a765760405162461bcd60e51b8152602060048201526024808201527f5a67496e697469616c697a61626c653a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608401610724565b6000805460ff19166001178155611a9390611a8e3390565b611cf8565b611aab600080516020613b9283398151915233611cf8565b611ab7836000196139ad565b600d557f000000000000000000000000000000000000000000000000000000000000000015611ae757600019600d555b600380546001600160a01b039384166001600160a01b03199182161790915560048054929093169116179055506064600655600a600781905560088190556014600955805467ffffffffffffffff191660201790556001601055565b600081815260026020526040812061066590612935565b60008281526001602081905260409091200154611b7681611c5b565b610cfb8383611d1a565b600080600360009054906101000a90046001600160a01b03166001600160a01b031663b464b53e6040518163ffffffff1660e01b815260040160c0604051808303816000875af1158015611bd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfc91906138b8565b9050600b5481600001511180611c205750600754611c1b90600261396e565b600c54105b91505090565b60006001600160e01b03198216637965db0b60e01b148061066557506301ffc9a760e01b6001600160e01b0319831614610665565b611c65813361293f565b50565b600b5481511015611cc95760405162461bcd60e51b815260206004820152602560248201527f496e7465726e616c206572726f723a2065706f6368206e756d62657220646563604482015264726561736560d81b6064820152608401610724565b600b548151118015611cdd57506000600b54115b15611c6557611cea612998565b6000600c5560085460075550565b611d0282826129d8565b6000828152600260205260409020610cfb9082612a43565b611d248282612a58565b6000828152600260205260409020610cfb9082612abf565b610100611d4b6104008061396e565b611d579061040061396e565b611d6290600861396e565b611d6c91906139ad565b8251611d789190613947565b15611dc55760405162461bcd60e51b815260206004820152601d60248201527f537461727420706f736974696f6e206973206e6f7420616c69676e65640000006044820152606401610724565b602082015182518291611dd79161395b565b1115611e1d5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e6765206f766572666c6f7760581b6044820152606401610724565b6000611e2883612489565b610100611e376104008061396e565b611e439061040061396e565b611e4f9061040061396e565b611e5a90600861396e565b611e6491906139ad565b611e6e919061396e565b90508083602001511115611ebc5760405162461bcd60e51b81526020600482015260156024820152744d696e696e672072616e676520746f6f206c6f6e6760581b6044820152606401610724565b6000611ec88383612ad4565b90508084602001511015611f175760405162461bcd60e51b8152602060048201526016602482015275135a5b9a5b99c81c985b99d9481d1bdbc81cda1bdc9d60521b6044820152606401610724565b83606001518460400151166001600160401b0316600014611f7a5760405162461bcd60e51b815260206004820152601a60248201527f4d61736b656420626974732073686f756c64206265207a65726f0000000000006044820152606401610724565b50505050565b60008160000151826020015183604001518460600151604051602001611fcb949392919093845260208401929092526001600160401b03908116604084015216606082015260800190565b604051602081830303815290604052805190602001209050919050565b611ff0613300565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b602080830191909152825190830151604084015160608501516106659385939092909160806001612aea565b612068613300565b6120706132e1565b600061207b84612ba9565b90506120a9816040612090610400600461396e565b61209a91906139ad565b6120a4908861396e565b612bc5565b60005b6080811015612136576120c0826001612bc5565b8681608081106120d2576120d2613a63565b60200201518251188382608081106120ec576120ec613a63565b602002015286600182016080811061210657612106613a63565b602002015182600160200201511883826001016080811061212957612129613a63565b60200201526002016120ac565b506121c981604061214a610400600461396e565b61215491906139ad565b600188612164610400604061396e565b61217261040061010061396e565b61217c91906139ad565b612189610400600461396e565b61219761040061010061396e565b6121a191906139ad565b6121ab91906139ad565b6121b5919061388c565b6121bf919061388c565b6120a4919061396e565b6121d281612ba9565b925050935093915050565b6000806101006121ef6104008261396e565b6121f991906139ad565b846020015161220891906139ad565b6122129084613947565b604085015160608601516020870151929350831617906101006122376104008261396e565b61224191906139ad565b612254906001600160401b03841661396e565b11156122a25760405162461bcd60e51b815260206004820152601c60248201527f526563616c6c20706f736974696f6e206f7574206f6620626f756e64000000006044820152606401610724565b6101006122b16104008261396e565b6122bb91906139ad565b6122ce906001600160401b03831661396e565b85516122da919061395b565b95945050505050565b60006122ed613300565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa581527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6020808301919091528451908501516123539183918891906000608081612aea565b905061235d61331e565b608060006020612370610400600461396e565b61237a91906139ad565b61238590602061396e565b61239090608061395b565b9050601c8301601f8401602085016060860160e0870160e1880160f089018c600c87538b51865260208c015160208701525b888a101561242a5760808a01995060ff8a1684538960081c835380518552602081015160208601526040810151604086015260608101516060860152608081019050888a0361241057600182535b60408660d58a6009600019fa61242557600080fd5b6123c2565b50505050505050508260016008811061244557612445613a63565b602002015198975050505050505050565b60006114208383612c8b565b6000600f54600003612475575060001990565b600f54612484906000196139ad565b905090565b606081015160009019815b6001600160401b038216156124c4576124ae60018361398d565b90911690806124bc81613a79565b915050612494565b600160ff9091161b9392505050565b6124db6132e1565b60408083015160c08401516080850151925161250b93906020019283526020830191909152604082015260600190565b60408051808303601f19018152919052805160209182012060e0840180515190911883525190600090612541610400600461396e565b61254b91906139ad565b905081836020600184030281015b8082101561257857602080842093810180519094189201918252612559565b5050505050919050565b6000805b6020612595610400600461396e565b61259f91906139ad565b8110156125ed5761010060208202840120808483608081106125c3576125c3613a63565b6020020181815250505060206101006125dc91906139ad565b6125e6908261395b565b9050612586565b5060006125fd60206101006139ad565b90505b602061260f610400600461396e565b61261991906139ad565b8110156126ec5760005b6020612632610400600461396e565b61263c91906139ad565b8110156126e357600084826080811061265757612657613a63565b6020020151905060008561266b858561395b565b6080811061267b5761267b613a63565b60200201519050818160405160200161269e929190918252602082015260400190565b604051602081830303815290604052805190602001208684608081106126c6576126c6613a63565b6020020152506126dc9050600183901b8261395b565b9050612623565b5060011b612600565b5081516126f76132e1565b9250600061010061270b610400600461396e565b61271591906139ad565b856080015161272491906139ad565b905060005b856101000151518110156127eb57600080612745600285613947565b60000361277557849150876101000151838151811061276657612766613a63565b6020026020010151905061279a565b876101000151838151811061278c5761278c613a63565b602002602001015191508490505b60408051602081018490529081018290526060016040516020818303038152906040528051906020012094506002846127d391906139ad565b935050506001816127e4919061395b565b9050612729565b5090949350505050565b6000806101006128076104008061396e565b6128139061040061396e565b61281f9061040061396e565b61282a90600861396e565b61283491906139ad565b8311612840578261287c565b61010061284f6104008061396e565b61285b9061040061396e565b6128679061040061396e565b61287290600861396e565b61287c91906139ad565b9050600061288985612489565b61289390856139ad565b905060006101006128a66104008061396e565b6128b29061040061396e565b6128be9061040061396e565b6128c990600861396e565b6128d391906139ad565b82116128df578161291b565b6101006128ee6104008061396e565b6128fa9061040061396e565b6129069061040061396e565b61291190600861396e565b61291b91906139ad565b905061292b81604085901b6139ad565b9695505050505050565b6000610665825490565b6129498282611427565b610d7a5761295681612cb5565b612961836020612cc7565b604051602001612972929190613abc565b60408051601f198184030181529082905262461bcd60e51b825261072491600401613b31565b600c54600090156129c55760006010600d54901c90506129bd81600654600c54612e62565b9150506129cf565b506001600160f01b035b611c6581612f11565b6129e28282611427565b610d7a5760008281526001602081815260408084206001600160a01b0386168086529252808420805460ff19169093179092559051339285917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9190a45050565b6000611420836001600160a01b038416612ff6565b612a628282611427565b15610d7a5760008281526001602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000611420836001600160a01b038416613045565b6000818310612ae35781611420565b5090919050565b612af2613300565b600c6000612aff8561313f565b8a516020808d0151835184830151604080516001600160e01b031960e08b901b168187015260248101969096526044860193909352606485018f9052608485018e905260a485018d905260c485018c90526001600160c01b031991821660e48601521660ec84015287151560f81b60f4840152805160d58185038101825260f5909401825293945091869184016009600019fa612b9b57600080fd5b505050979650505050505050565b612bb1613300565b815181526020918201519181019190915290565b612bcd61331e565b7f48c9bdf267e6096a3ba7ca8485ae67bb2bf894fe72f36e3cf1361d5f3af54fa56020808301919091527fd182e6ad7f520e511f6c3e2b8c68059b6bbd41fbabd9831f79217e1319cde05b6040830152835160608301908152908401516080830152601c820190600c601f840153604060e0840153600160f084015360005b84811015612c715760408260d5856009600019fa612c6957600080fd5b600101612c4c565b505050606081015183526080015160209092019190915250565b6000826000018281548110612ca257612ca2613a63565b9060005260206000200154905092915050565b60606106656001600160a01b03831660145b60606000612cd683600261396e565b612ce190600261395b565b6001600160401b03811115612cf857612cf861341f565b6040519080825280601f01601f191660200182016040528015612d22576020820181803683370190505b509050600360fc1b81600081518110612d3d57612d3d613a63565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110612d6c57612d6c613a63565b60200101906001600160f81b031916908160001a9053506000612d9084600261396e565b612d9b90600161395b565b90505b6001811115612e13576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110612dcf57612dcf613a63565b1a60f81b828281518110612de557612de5613a63565b60200101906001600160f81b031916908160001a90535060049490941c93612e0c81613b64565b9050612d9e565b5083156114205760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610724565b6000808060001985870985870292508281108382030391505080600003612e9c57838281612e9257612e92613931565b0492505050611420565b808411612ea857600080fd5b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b7f000000000000000000000000000000000000000000000000000000000000000015612f3a5750565b600d5460095460109190911c9060008184612f5660018361388c565b612f60908661396e565b612f6a919061395b565b612f7491906139ad565b9050612f8183600261396e565b811115612f9657612f9383600261396e565b90505b612fa16002846139ad565b811015612fb657612fb36002846139ad565b90505b6001600160f01b03811115612fcf57506001600160f01b035b601081901b600d556000612fe1612462565b905080600d54111561101957600d5550505050565b600081815260018301602052604081205461303d57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610665565b506000610665565b6000818152600183016020526040812054801561312e57600061306960018361388c565b855490915060009061307d9060019061388c565b90508181146130e257600086600001828154811061309d5761309d613a63565b90600052602060002001549050808760000184815481106130c0576130c0613a63565b6000918252602080832090910192909255918252600188019052604090208390555b85548690806130f3576130f3613b7b565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610665565b6000915050610665565b5092915050565b613147613300565b6201000082101561318b57600882811c66ffffffffffffff169083901b67ffffffffffffff00161760f01b5b6001600160c01b031916815260006020820152919050565b6401000000008210156131cb57600882811b63ff00ff001662ff00ff9184901c9190911617601081811b91901c1760e01b6001600160e01b031916613173565b680100000000000000008210156131e5576131738261327b565b600160801b821015613235576001600160401b038216604083901c6132098261327b565b6001600160c01b031916835261321e8161327b565b6001600160c01b0319166020840152506132769050565b60405162461bcd60e51b8152602060048201526016602482015275626c616b65326220696e70757420746f6f206c6f6e6760501b6044820152606401610724565b919050565b65ff000000ff00600882811b91821664ff000000ff9390911c92831617601090811b67ff000000ff0000009290921666ff000000ff0000939093169290921790911c17602081811b6bffffffffffffffff000000001691901c63ffffffff161760c01b90565b6040518061100001604052806080906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b60006020828403121561334f57600080fd5b81356001600160e01b03198116811461142057600080fd5b80356001600160a01b038116811461327657600080fd5b80356001600160401b038116811461327657600080fd5b600080604083850312156133a857600080fd5b6133b183613367565b91506133bf6020840161337e565b90509250929050565b6000602082840312156133da57600080fd5b5035919050565b6000602082840312156133f357600080fd5b6114208261337e565b6000806040838503121561340f57600080fd5b823591506133bf60208401613367565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156134585761345861341f565b60405290565b60006080828403121561347057600080fd5b604051608081018181106001600160401b03821117156134925761349261341f565b806040525080915082358152602083013560208201526134b46040840161337e565b60408201526134c56060840161337e565b60608201525092915050565b600082601f8301126134e257600080fd5b6040516110008082018281106001600160401b03821117156135065761350661341f565b6040528301818582111561351957600080fd5b845b8281101561353357803582526020918201910161351b565b509195945050505050565b600082601f83011261354f57600080fd5b813560206001600160401b038083111561356b5761356b61341f565b8260051b604051601f19603f830116810181811084821117156135905761359061341f565b6040529384528581018301938381019250878511156135ae57600080fd5b83870191505b848210156135cd578135835291830191908301906135b4565b979650505050505050565b600061116082840312156135eb57600080fd5b6135f3613435565b905081358152602082013560208201526040820135604082015261361a836060840161345e565b606082015260e082013560808201526101008083013560a083015261012083013560c083015261364e8461014085016134d1565b60e08301526111408301356001600160401b0381111561366d57600080fd5b6136798582860161353e565b82840152505092915050565b600060c0828403121561369757600080fd5b60405160c081018181106001600160401b03821117156136b9576136b961341f565b8060405250809150823581526020830135602082015260408301356040820152606083013560608201526080830135608082015260a083013560a08201525092915050565b60008060e0838503121561371157600080fd5b82356001600160401b0381111561372757600080fd5b613733858286016135d8565b9250506133bf8460208501613685565b60008060e0838503121561375657600080fd5b6137608484613685565b9460c0939093013593505050565b6000806040838503121561378157600080fd5b82356001600160401b0381111561379757600080fd5b6137a3858286016135d8565b95602094909401359450505050565b600080604083850312156137c557600080fd5b50508035926020909101359150565b6000602082840312156137e657600080fd5b81356001600160401b038111156137fc57600080fd5b613808848285016135d8565b949350505050565b6000806040838503121561382357600080fd5b61382c83613367565b946020939093013593505050565b60008060006060848603121561384f57600080fd5b8335925061385f60208501613367565b915061386d60408501613367565b90509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561066557610665613876565b6000602082840312156138b157600080fd5b5051919050565b600060c082840312156138ca57600080fd5b60405160c081018181106001600160401b03821117156138ec576138ec61341f565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a08201528091505092915050565b634e487b7160e01b600052601260045260246000fd5b60008261395657613956613931565b500690565b8082018082111561066557610665613876565b600081600019048311821515161561398857613988613876565b500290565b6001600160401b0382811682821603908082111561313857613138613876565b6000826139bc576139bc613931565b500490565b80516001600160801b038116811461327657600080fd5b6000604082840312156139ea57600080fd5b604051604081018181106001600160401b0382111715613a0c57613a0c61341f565b604052613a18836139c1565b8152613a26602084016139c1565b60208201529392505050565b60408101818360005b6002811015613a5a578151835260209283019290910190600101613a3b565b50505092915050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff8103613a8f57613a8f613876565b60010192915050565b60005b83811015613ab3578181015183820152602001613a9b565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613af4816017850160208801613a98565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351613b25816028840160208801613a98565b01602801949350505050565b6020815260008251806020840152613b50816040850160208701613a98565b601f01601f19169190910160400192915050565b600081613b7357613b73613876565b506000190190565b634e487b7160e01b600052603160045260246000fdfeb9d69e0ca90be54a40811e436234a7f7908b87ff2bec27e64f878b166da8e8e5a2646970667358221220ccc6c7f6d4a0b6f384a55faeb5900dbafda6125c47c15ba3c2f8b14f046e640a64736f6c63430008100033",
|
|
"linkReferences": {},
|
|
"deployedLinkReferences": {}
|
|
}
|