2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"_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": [
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"indexed": true,
|
|
|
|
"internalType": "address",
|
2024-07-24 05:01:30 +00:00
|
|
|
"name": "sender",
|
2024-07-22 09:32:51 +00:00
|
|
|
"type": "address"
|
2024-07-24 05:01:30 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"name": "RoleGranted",
|
|
|
|
"type": "event"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"anonymous": false,
|
|
|
|
"inputs": [
|
|
|
|
{
|
|
|
|
"indexed": true,
|
|
|
|
"internalType": "bytes32",
|
|
|
|
"name": "role",
|
|
|
|
"type": "bytes32"
|
2024-07-22 09:32:51 +00:00
|
|
|
},
|
|
|
|
{
|
|
|
|
"indexed": true,
|
|
|
|
"internalType": "address",
|
2024-07-24 05:01:30 +00:00
|
|
|
"name": "account",
|
|
|
|
"type": "address"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"indexed": true,
|
|
|
|
"internalType": "address",
|
|
|
|
"name": "sender",
|
2024-07-22 09:32:51 +00:00
|
|
|
"type": "address"
|
|
|
|
}
|
|
|
|
],
|
2024-07-24 05:01:30 +00:00
|
|
|
"name": "RoleRevoked",
|
2024-07-22 09:32:51 +00:00
|
|
|
"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"
|
|
|
|
},
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"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": [],
|
2024-07-24 05:01:30 +00:00
|
|
|
"name": "maxShards",
|
2024-07-22 09:32:51 +00:00
|
|
|
"outputs": [
|
|
|
|
{
|
2024-07-24 05:01:30 +00:00
|
|
|
"internalType": "uint64",
|
2024-07-22 09:32:51 +00:00
|
|
|
"name": "",
|
2024-07-24 05:01:30 +00:00
|
|
|
"type": "uint64"
|
2024-07-22 09:32:51 +00:00
|
|
|
}
|
|
|
|
],
|
|
|
|
"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": [
|
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
|
|
|
{
|
2024-07-24 05:01:30 +00:00
|
|
|
"inputs": [
|
|
|
|
{
|
|
|
|
"internalType": "bytes32",
|
|
|
|
"name": "role",
|
|
|
|
"type": "bytes32"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"internalType": "address",
|
|
|
|
"name": "account",
|
|
|
|
"type": "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"name": "renounceRole",
|
2024-07-22 09:32:51 +00:00
|
|
|
"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"
|
|
|
|
},
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"inputs": [
|
|
|
|
{
|
|
|
|
"internalType": "bytes32",
|
|
|
|
"name": "role",
|
|
|
|
"type": "bytes32"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"internalType": "address",
|
|
|
|
"name": "account",
|
|
|
|
"type": "address"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"name": "revokeRole",
|
|
|
|
"outputs": [],
|
|
|
|
"stateMutability": "nonpayable",
|
|
|
|
"type": "function"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"inputs": [
|
|
|
|
{
|
|
|
|
"internalType": "uint64",
|
|
|
|
"name": "maxShards_",
|
|
|
|
"type": "uint64"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"name": "setMaxShards",
|
|
|
|
"outputs": [],
|
|
|
|
"stateMutability": "nonpayable",
|
|
|
|
"type": "function"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
2024-07-24 05:01:30 +00:00
|
|
|
{
|
|
|
|
"inputs": [
|
|
|
|
{
|
|
|
|
"internalType": "bytes4",
|
|
|
|
"name": "interfaceId",
|
|
|
|
"type": "bytes4"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"name": "supportsInterface",
|
|
|
|
"outputs": [
|
|
|
|
{
|
|
|
|
"internalType": "bool",
|
|
|
|
"name": "",
|
|
|
|
"type": "bool"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"stateMutability": "view",
|
|
|
|
"type": "function"
|
|
|
|
},
|
2024-07-22 09:32:51 +00:00
|
|
|
{
|
|
|
|
"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"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"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"
|
|
|
|
}
|
|
|
|
],
|
2024-07-24 05:01:30 +00:00
|
|
|
"bytecode": "0x60e06040523480156200001157600080fd5b506040516200377a3803806200377a833981016040819052620000349162000052565b60016004909117818116156080526002161560a05260c0526200006c565b6000602082840312156200006557600080fd5b5051919050565b60805160a05160c0516136c2620000b860003960008181610433015281816111cb01526115670152600081816104630152610efd0152600081816104c10152610ec001526136c26000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80637bba7d611161013b578063b0628ee0116100b8578063ca15c8731161007c578063ca15c8731461057b578063d547741f1461058e578063dddc61a8146105a1578063e1498cf9146105aa578063ffbc9bd0146105bd57600080fd5b8063b0628ee014610509578063b15d20da1461051c578063b4988fd014610531578063b51e039714610544578063b776a5121461057257600080fd5b8063a217fddf116100ff578063a217fddf146104ab578063a8279182146104b3578063adaa7a0f146104bc578063ae722e82146104e3578063aed75224146104f657600080fd5b80637bba7d611461042e5780637eca56881461045557806382975fe71461045e5780639010d07c1461048557806391d148541461049857600080fd5b8063331f3b9c116101c957806348f614411161018d57806348f61441146103cc57806359e7b5be146103d55780635bdca855146103f55780636e9bb60b14610408578063704d3c961461041b57600080fd5b8063331f3b9c14610361578063343aad821461036a57806336568abe1461037d57806339cd53ee146103905780633baebb75146103b957600080fd5b8063228cb73311610210578063228cb733146102d5578063248a9ca3146103005780632a02573b146103325780632f2ff15d1461034557806331223ba71461035857600080fd5b806301ffc9a71461024d578063047c13f514610275578063158ef93e1461028a5780631600c6241461029757806316a4be6f146102aa575b600080fd5b61026061025b366004612e40565b6105c5565b60405190151581526020015b60405180910390f35b610288610283366004612e98565b6105f0565b005b6000546102609060ff1681565b6102886102a5366004612ecb565b61070c565b600a546102bd906001600160401b031681565b6040516001600160401b03909116815260200161026c565b6004546102e8906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b61032461030e366004612ecb565b6000908152600160208190526040909120015490565b60405190815260200161026c565b610288610340366004612ee4565b61072a565b610288610353366004612eff565b610830565b610324600b5481565b61032460065481565b6003546102e8906001600160a01b031681565b61028861038b366004612eff565b61085b565b6102e861039e366004612ecb565b600e602052600090815260409020546001600160a01b031681565b6102886103c736600461319f565b6108d9565b610324600d5481565b6103e86103e3366004613237565b610b70565b60405161026c9190613273565b610288610403366004612ecb565b610b81565b6103246104163660046132a5565b610bae565b610288610429366004612ecb565b610bc1565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b61032460085481565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b6102e86104933660046132eb565b610c2f565b6102606104a6366004612eff565b610c47565b610324600081565b610324600c5481565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b6102886104f1366004613237565b610c72565b610324610504366004613237565b6111ff565b61028861051736600461330d565b611402565b61032460008051602061366d83398151915281565b61028861053f366004613337565b6114c2565b610288610552366004612ecb565b6000908152600e6020526040902080546001600160a01b03191633179055565b61032460075481565b610324610589366004612ecb565b6115e9565b61028861059c366004612eff565b611600565b61032460095481565b6102886105b8366004612ecb565b600d55565b610260611626565b60006001600160e01b03198216635a05180f60e01b14806105ea57506105ea826116c1565b92915050565b60006105fd600143613389565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b0316156106b25760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b60008051602061366d833981519152610724816116f6565b50600655565b60008051602061366d8339815191526107428161
|
|
|
|
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c80637bba7d611161013b578063b0628ee0116100b8578063ca15c8731161007c578063ca15c8731461057b578063d547741f1461058e578063dddc61a8146105a1578063e1498cf9146105aa578063ffbc9bd0146105bd57600080fd5b8063b0628ee014610509578063b15d20da1461051c578063b4988fd014610531578063b51e039714610544578063b776a5121461057257600080fd5b8063a217fddf116100ff578063a217fddf146104ab578063a8279182146104b3578063adaa7a0f146104bc578063ae722e82146104e3578063aed75224146104f657600080fd5b80637bba7d611461042e5780637eca56881461045557806382975fe71461045e5780639010d07c1461048557806391d148541461049857600080fd5b8063331f3b9c116101c957806348f614411161018d57806348f61441146103cc57806359e7b5be146103d55780635bdca855146103f55780636e9bb60b14610408578063704d3c961461041b57600080fd5b8063331f3b9c14610361578063343aad821461036a57806336568abe1461037d57806339cd53ee146103905780633baebb75146103b957600080fd5b8063228cb73311610210578063228cb733146102d5578063248a9ca3146103005780632a02573b146103325780632f2ff15d1461034557806331223ba71461035857600080fd5b806301ffc9a71461024d578063047c13f514610275578063158ef93e1461028a5780631600c6241461029757806316a4be6f146102aa575b600080fd5b61026061025b366004612e40565b6105c5565b60405190151581526020015b60405180910390f35b610288610283366004612e98565b6105f0565b005b6000546102609060ff1681565b6102886102a5366004612ecb565b61070c565b600a546102bd906001600160401b031681565b6040516001600160401b03909116815260200161026c565b6004546102e8906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b61032461030e366004612ecb565b6000908152600160208190526040909120015490565b60405190815260200161026c565b610288610340366004612ee4565b61072a565b610288610353366004612eff565b610830565b610324600b5481565b61032460065481565b6003546102e8906001600160a01b031681565b61028861038b366004612eff565b61085b565b6102e861039e366004612ecb565b600e602052600090815260409020546001600160a01b031681565b6102886103c736600461319f565b6108d9565b610324600d5481565b6103e86103e3366004613237565b610b70565b60405161026c9190613273565b610288610403366004612ecb565b610b81565b6103246104163660046132a5565b610bae565b610288610429366004612ecb565b610bc1565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b61032460085481565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b6102e86104933660046132eb565b610c2f565b6102606104a6366004612eff565b610c47565b610324600081565b610324600c5481565b6102607f000000000000000000000000000000000000000000000000000000000000000081565b6102886104f1366004613237565b610c72565b610324610504366004613237565b6111ff565b61028861051736600461330d565b611402565b61032460008051602061366d83398151915281565b61028861053f366004613337565b6114c2565b610288610552366004612ecb565b6000908152600e6020526040902080546001600160a01b03191633179055565b61032460075481565b610324610589366004612ecb565b6115e9565b61028861059c366004612eff565b611600565b61032460095481565b6102886105b8366004612ecb565b600d55565b610260611626565b60006001600160e01b03198216635a05180f60e01b14806105ea57506105ea826116c1565b92915050565b60006105fd600143613389565b60408051914060208301526bffffffffffffffffffffffff193360601b16908201526001600160c01b031960c084901b166054820152605c0160408051601f1981840301815291815281516020928301206000818152600e9093529120549091506001600160a01b0316156106b25760405162461bcd60e51b8152602060048201526016602482015275135a5b995c9259081a185cc81c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6000818152600e602052604080822080546001600160a01b0319166001600160a01b0387169081179091559051909183917fbfeb006f16aca8eb3d9953cf44db6b11b6f3041a313875dfa18f2e9d71bd309e9190a3505050565b60008051602061366d833981519152610724816116f6565b50600655565b60008051602061366d833981519152610742816116f6565b6000826001600160401b03161161079b5760405162461bcd60e51b815260206004820152601f60248201527f4d6178207368617264206e756d6265722063616e6e6f74206265207a65726f0060448201526064016106a9565b6107a660018361339c565b82166001600160401b031660001461080c5760405162461bcd60e51b815260206004820152602360248201527f4d6178207368617264206e756d626572206d75737420626520706f77657220
|
2024-07-22 09:32:51 +00:00
|
|
|
"linkReferences": {},
|
|
|
|
"deployedLinkReferences": {}
|
|
|
|
}
|