1459 lines
70 KiB
JSON
1459 lines
70 KiB
JSON
{
|
|
"kind": "aere-compute-market-v3-artifact",
|
|
"contract": "AereComputeMarketV3",
|
|
"source": "contracts/depin/AereComputeMarketV3.sol",
|
|
"sourceSha256": "0x6db4d53dffb0afd79cfb41f973ac4d2ca82589ab7bdd206296b66b4c72dd4fe4",
|
|
"solc": "0.8.23+commit.f704f362",
|
|
"optimizer": {
|
|
"enabled": true,
|
|
"runs": 1
|
|
},
|
|
"evmVersion": "paris",
|
|
"abi": [
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "zkVerifier",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "arbiter",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "governance",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "pinnedProofSelector",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"stateMutability": "nonpayable",
|
|
"type": "constructor"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ArbitrationTimeoutNotPassed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadBond",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadDeadline",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadFalconKey",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadPublicValues",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadResult",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadReward",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadSpec",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadVKey",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadValue",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "BadWindow",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DeadlineNotPassed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "DeadlinePassed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "InlineResultNotAllowed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotArbiter",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotGovernance",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotJobProvider",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotPQCAuthorized",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotPQCJob",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "NotRequester",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "OffchainResultNotAllowed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PQCSigNotAllowed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "length",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "ProofTooShort",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ResultMismatch",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "SettlementGraceOpen",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "TokenNotAllowed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "TransferFailed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "VerifierHasNoCode",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "WindowClosed",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "WindowOpen",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "got",
|
|
"type": "bytes4"
|
|
},
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "expected",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"name": "WrongProofSelector",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "WrongStatus",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ZeroAddress",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ZeroProofSelector",
|
|
"type": "error"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "providerWon",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "DisputeResolved",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "DisputeTimedOut",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "providerBond",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "JobClaimed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "bond",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "recomputedResultHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "JobDisputed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "bondReturned",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "JobPaid",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "enum AereComputeMarketV3.Mode",
|
|
"name": "mode",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "specHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint64",
|
|
"name": "deadline",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "pqcSettlement",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "JobPosted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "JobRefunded",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "challenger",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "uint256",
|
|
"name": "slashedProviderBond",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "JobSlashed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "settlementDigest",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "PQCSettlementAuthorized",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "string",
|
|
"name": "uri",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "ResultReferenced",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes",
|
|
"name": "result",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "ResultSubmitted",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bytes32",
|
|
"name": "zkProgramVKey",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "ResultVerifiedZK",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"anonymous": false,
|
|
"inputs": [
|
|
{
|
|
"indexed": true,
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"indexed": false,
|
|
"internalType": "bool",
|
|
"name": "allowed",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "TokenAllowed",
|
|
"type": "event"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ARBITER",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ARBITRATION_TIMEOUT",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "FALCON512_PRECOMPILE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "GOVERNANCE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PINNED_PROOF_SELECTOR",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes4",
|
|
"name": "",
|
|
"type": "bytes4"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "PQC_SETTLEMENT_GRACE",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "SETTLEMENT_DOMAIN",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "ZK_VERIFIER",
|
|
"outputs": [
|
|
{
|
|
"internalType": "contract ISP1Verifier",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "pqcSig",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "acceptResult",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "cancelJob",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "challengeResultHashOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "challengerBondOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "challengerOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "falconPubKey",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "claimJob",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "recomputedResultHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "dispute",
|
|
"outputs": [],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "falconPubKeyOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "pqcSig",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "finalize",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "getJob",
|
|
"outputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "providerBond",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "specHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "zkProgramVKey",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum AereComputeMarketV3.Mode",
|
|
"name": "mode",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "enum AereComputeMarketV3.Status",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "pqcSettlement",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "offchainResult",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "deadline",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "challengeWindow",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "submittedAt",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "disputedAt",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"internalType": "struct AereComputeMarketV3.Job",
|
|
"name": "",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "isSolvent",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [],
|
|
"name": "jobCount",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "jobs",
|
|
"outputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "requester",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "providerBond",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "specHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "zkProgramVKey",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum AereComputeMarketV3.Mode",
|
|
"name": "mode",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "enum AereComputeMarketV3.Status",
|
|
"name": "status",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "pqcSettlement",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "offchainResult",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "deadline",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "challengeWindow",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "submittedAt",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "disputedAt",
|
|
"type": "uint64"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"components": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "reward",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "providerBond",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "specHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "zkProgramVKey",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "enum AereComputeMarketV3.Mode",
|
|
"name": "mode",
|
|
"type": "uint8"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "deadline",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "uint64",
|
|
"name": "challengeWindow",
|
|
"type": "uint64"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "pqcSettlement",
|
|
"type": "bool"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "offchainResult",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"internalType": "struct AereComputeMarketV3.JobParams",
|
|
"name": "p",
|
|
"type": "tuple"
|
|
}
|
|
],
|
|
"name": "postJob",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "payable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "reclaimExpired",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "reclaimUnsettled",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "requiredBondOf",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"name": "resolveByTimeout",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "providerWon",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "resolveDispute",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "bool",
|
|
"name": "allowed",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"name": "setTokenAllowed",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "provider",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "address",
|
|
"name": "token",
|
|
"type": "address"
|
|
},
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "amount",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"name": "settlementDigest",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "",
|
|
"type": "bytes32"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "result",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "submitResult",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes32",
|
|
"name": "resultHash",
|
|
"type": "bytes32"
|
|
},
|
|
{
|
|
"internalType": "string",
|
|
"name": "uri",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"name": "submitResultRef",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "id",
|
|
"type": "uint256"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "publicValues",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "proofBytes",
|
|
"type": "bytes"
|
|
},
|
|
{
|
|
"internalType": "bytes",
|
|
"name": "pqcSig",
|
|
"type": "bytes"
|
|
}
|
|
],
|
|
"name": "submitResultZK",
|
|
"outputs": [],
|
|
"stateMutability": "nonpayable",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "tokenAllowed",
|
|
"outputs": [
|
|
{
|
|
"internalType": "bool",
|
|
"name": "",
|
|
"type": "bool"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
},
|
|
{
|
|
"inputs": [
|
|
{
|
|
"internalType": "address",
|
|
"name": "",
|
|
"type": "address"
|
|
}
|
|
],
|
|
"name": "totalLiabilities",
|
|
"outputs": [
|
|
{
|
|
"internalType": "uint256",
|
|
"name": "",
|
|
"type": "uint256"
|
|
}
|
|
],
|
|
"stateMutability": "view",
|
|
"type": "function"
|
|
}
|
|
],
|
|
"bytecode": "0x610100346200016c57601f62002e7438819003918201601f191683019291906001600160401b03841183851017620001715781608092849260409687528339810103126200016c57620000528162000187565b90620000616020820162000187565b60606200007085840162000187565b920151926001600160e01b03198416908185036200016c5760016000556001600160a01b038181169290831590811562000160575b811562000154575b5062000143571562000132573b15620001215760805260c05260e05260a05251612cd790816200019d8239608051818181611060015281816117f50152611864015260a05181818161101a01526117c0015260c0518181816113700152611b1d015260e051818181611fa8015261205b0152f35b84516362d4176d60e11b8152600490fd5b855163689b914560e11b8152600490fd5b865163d92e233d60e01b8152600490fd5b905085161538620000ad565b858116159150620000a5565b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200016c5756fe6080604052600436101561001257600080fd5b6000803560e01c806301bb9baa146120d257806305b93aa8146120a857806309c71c031461208a578063146278341461204557806315f6901214611f7a578063180aedf314611e755780631cbd0a8814611e585780631d5ca2a614611e2f5780631dffa3dc14611d6f57806334b25ee214611b0157806338b51ce114611a4e57806349875db2146119625780634b4ed009146116955780634c5d8a0f1461167757806355219d5a14611638578063582e05791461160e5780636138cc34146114995780636f1df0ad1461141b57806371641548146113d85780637d2224dd1461139f578063904cae5c1461135a57806390cd6e4c146113305780639d3625301461108f5780639ded39521461104a578063bbde791c14611004578063bf22c45714610d76578063cbe5a82014610754578063d8170f6a146106fe578063d905812714610537578063de847ff8146103e9578063e2e27d0d1461027e578063e4358a071461024b578063e9bd8333146101b35763f103e5ac1461019357600080fd5b346101b057806003193601126101b057602060405162093a808152f35b80fd5b50346101b0576101c23661226a565b906101cb6125a4565b82845260016020526040842080546001600160a01b031633036102395760ff600882015460081c166008811015610225576003036102135761020c936126d4565b6001815580f35b604051638e78f0cb60e01b8152600490fd5b634e487b7160e01b86526021600452602486fd5b6040516371ced2cf60e11b8152600490fd5b50346101b05760203660031901126101b057602090600435815260048252604060018060a01b0391205416604051908152f35b50346101b05760603660031901126101b0576004356001600160401b036024356044358281116103e5576102b690369060040161223d565b91908486526001602052604086209060018060a01b0360018301541633036103d3576008820180549060ff8260081c1660088110156103bf576002036102135760ff821660038110156103bf576001146102135760ff8260181c16156103ad57868260201c16421161039b578415610389577fc9fba5916f7698c486c0e394045ebcf81f5c5b9afdc147e75fbe0345daeaa4bc9661030061036a9387600661038398015561ff00191617825542169061248a565b60405193849384526040602085015260408401916124b3565b0390a280f35b604051632acfffb560e21b8152600490fd5b60405163387b2e5560e11b8152600490fd5b60405163225d57bd60e11b8152600490fd5b634e487b7160e01b8a52602160045260248afd5b60405163c226996b60e01b8152600490fd5b8480fd5b5060403660031901126101b0576024356004356104046125a4565b8083526020916001835260408420600881019081549060ff8260081c16600881101561052357600303610213576001600160401b0392610450606084901c851660a085901c861661242b565b42101561051157600482015434036104ff5761040060099361ff0019161790550190421660018060401b031982541617905581845260048352604084203360018060a01b0319825416179055600583523460408520556006835280604085205583805260098352604084206104c634825461242b565b9055604051923484528301527febb63c39fa23825a2b6693e874eb75decb0654826ca930034c7ec8ed3a98fb2c60403393a36001815580f35b604051630bba69fb60e01b8152600490fd5b604051632f23cfcd60e01b8152600490fd5b634e487b7160e01b88526021600452602488fd5b50346101b0576020806003193601126106fa57600435906105566125a4565b8183526001815260408320916008830180549260ff8460081c1660088110156106e6576004036102135760018060401b036009860154166212750081018091116106d05742106106be57600080516020612c42833981519152918387526004825260018060a01b0395866040892054169060058452604089205490888a60038301958187549760048601926106008454966002890154169f8060018a0154169854169e61ff0019161790555555878b52600586528a6040812055898b526009865260408b2061062686825461241e565b9055610632838261242b565b8b80526009875261064860408d2091825461241e565b9055610655858a8c61265f565b806106ae575b50508061069e575b505084847f71283df932d260173eb1200efe17661526933e57f46bdc5d3a1029b9e8eb880a84604051858152a3604051908152a46001815580f35b6106a79161262a565b3880610663565b6106b79161262a565b388061065b565b604051636771cb5f60e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b87526021600452602487fd5b5080fd5b50346101b05760a03660031901126101b0576001600160a01b03602435818116810361074f57604435918216820361074f57602091610747916084359160643591600435612532565b604051908152f35b600080fd5b506101403660031901126101b05761076a6125a4565b60243515610c1e5760643515610d64576107826124e0565b426001600160401b039091161115610d5257600360a43510156101b05760a435600103610d115760843515610cff57604435610ced575b6001600160a01b036107c961250c565b16610b045760243534036104ff575b6007546000198114610af057600181016007556107f361250c565b6107fb612522565b610124351515610124350361074f576108126124e0565b61081a6124f6565b9160405193610828856122d7565b338552602085018790526001600160a01b0316604085015260243560608501526080840186905260643560a085015260c0840186905260843560e085015261087660a43561010086016124d4565b600161012085018190529015156101408501526101243515156101608501526001600160401b0391821661018085015291166101a08301526101c082018490526101e0820184905282845260208181526040808620845181546001600160a01b03199081166001600160a01b0392831617835593860151948201805485169582169590951790945590840151600282018054909316931692909217905560608201516003808301919091556080830151600483015560a0830151600583015560c0830151600683015560e0830151600783015561010083015190811015610adc57600882015461012084015160088110156106e6579284926009926020989562ff00006101406001990151151560101b1663ff000000610160880151151560181b169161ff008a8d1b8b60601b036101808a01518e1b169460ff8c60601b8d60a01b036101a08c015160601b169716908c8060a01b031916179160081b16171717171760088201556109f7858060401b036101c0850151166008830161248a565b01906101e0848060401b0391015116838060401b0319825416179055818060a01b03610a2161250c565b1681526009845260408120610a39602435825461242b565b90558160a43503610ac8575b610a4d61250c565b610a556124e0565b90610a5e612522565b604051926024358452610a7588850160a435612223565b6064356040850152858060401b0316606084015215156080830152838060a01b031690847f7fed077780cd3b25ffef7cf7803445684b9a3a8bfabe02fee03ff0b0119573b360a03393a455604051908152f35b828152600384526044356040822055610a45565b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b82526011600452602482fd5b6001600160a01b03610b1461250c565b168152600860205260ff60408220541615610cc457346104ff57602460206001600160a01b03610b4261250c565b16604051928380926370a0823160e01b82523060048301525afa908115610cb9578291610c87575b506001600160a01b03610b7b61250c565b1690604051916323b872dd60e01b60208401523360248401523060448401526024356064840152606483528260a081011060018060401b0360a085011117610c715782610bd09160a060249501604052612aaf565b60206001600160a01b03610be261250c565b16604051938480926370a0823160e01b82523060048301525afa918215610c66578392610c30575b50610c18906024359261241e565b146107d8575b604051630e4567b160e31b8152600490fd5b9091506020813d602011610c5e575b81610c4c6020938361230e565b8101031261074f575190610c18610c0a565b3d9150610c3f565b6040513d85823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b90506020813d602011610cb1575b81610ca26020938361230e565b8101031261074f575138610b6a565b3d9150610c95565b6040513d84823e3d90fd5b6024610cce61250c565b60405163094403b760e41b81526001600160a01b039091166004820152fd5b60405163c2fb134f60e01b8152600490fd5b60405163e2aad27160e01b8152600490fd5b6001600160401b03610d216124f6565b1615610d40576044356107b95760405163c2fb134f60e01b8152600490fd5b604051632a0c9bb560e11b8152600490fd5b60405163710e1ce560e01b8152600490fd5b60405163bc6a309f60e01b8152600490fd5b50346101b05760203660031901126101b057806040916101e08351610d9a816122d7565b82815282602082015282858201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152826101a0820152826101c082015201526004358152600160205220604051610e10816122d7565b81546001600160a01b03908116825260018301548116602083015260028301541660408201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015491610e7f60ff841661010084016124d4565b600860ff84821c161015610fee578260ff6102009460081c1661012084015260ff8160101c16151561014084015260ff8160181c16151561016084015260018060401b038160201c1661018084015260018060401b038160601c166101a084015260018060401b039060a01c166101c0830152600960018060401b03910154166101e08201526040519060018060a01b03815116825260018060a01b03602082015116602083015260018060a01b036040820151166040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610f7f610100820151610100840190612223565b610f93610120820151610120840190612230565b6101408181015115159083015261016080820151151590830152610180808201516001600160401b03908116918401919091526101a0808301518216908401526101c0808301518216908401526101e0918201511690820152f35b634e487b7160e01b600052602160045260246000fd5b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506110993661226a565b916110a26125a4565b8084526001926020928484526040862090600882019283549160ff8360081c1660088110156103bf578803610213576001600160401b039280881c8416421161039b5760ff8116600381101561131c57890361130b57895b34036104ff5760101c60ff16156112f15761038182148015906112c8575b6112b65785895260028752604089209282116112a257819061113a845461229d565b601f8111611252575b508990601f83116001146111f3578a926111e8575b5050600019600383901b1c191690871b1790555b80850180546001600160a01b03191633179055346004909101819055815461ff001916610200179091556111cb575b7f76fd1071bb2e8e5da7695a00bf50a2ba73ff07ba5f83b6a36729fdb0d290587e604051923484523393a3815580f35b83805260098252604084206111e134825461242b565b905561119b565b013590503880611158565b848b52888b208a945091601f1984168c5b8b82821061123c5750508411611222575b505050811b01905561116c565b0135600019600384901b60f8161c19169055388080611215565b8385013586558d97909501949283019201611204565b909150838a52878a20601f840160051c810191898510611298575b84939291601f8c920160051c01915b82811061128a575050611143565b8c81558594508b910161127c565b909150819061126d565b634e487b7160e01b89526041600452602489fd5b604051633347f13160e11b8152600490fd5b5081156112dd576009813560f81c1415611118565b634e487b7160e01b89526032600452602489fd5b5090501561116c57604051633347f13160e11b8152600490fd5b868a526003885260408a20546110fa565b634e487b7160e01b8b52602160045260248bfd5b50346101b05760203660031901126101b05760406020916004358152600683522054604051908152f35b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b05760203660031901126101b0576020906040906001600160a01b036113c76121fe565b168152600983522054604051908152f35b50346101b05760203660031901126101b0576114036040611417926004358152600260205220612331565b6040519182916020835260208301906123f9565b0390f35b50346101b05761142a3661226a565b906114336125a4565b828452600160205260408420600881015460ff8160081c1660088110156106e65760030361021357611478906001600160401b03606082901c81169160a01c1661242b565b42106114875761020c936126d4565b60405163a4229fab60e01b8152600490fd5b50346101b05760203660031901126101b0576004356114b66125a4565b80825260016020526040822080546001600160a01b0390811633036102395760088201805460ff8160081c1660088110156106e6576003036102135760ff8160101c16156115fc5761151c6001600160401b03606083901c81169060a084901c1661242b565b62093a8081018091116106d05742106115e7576106009061ff001916179055600382019182549260026004830192878454948187600185015416955555019183835416875260096020526040872061157586825461241e565b9055801515806115c9575b61158e86338787541661265f565b6115b9575b5050541691604051918252600080516020612c4283398151915260203393a46001815580f35b6115c29161262a565b3880611593565b8780526009602052604088206115e083825461241e565b9055611580565b60405160016205e19f60e41b03198152600490fd5b604051637bd63fd560e11b8152600490fd5b50346101b05760203660031901126101b05760406020916004358152600383522054604051908152f35b50346101b05760203660031901126101b05760209060ff906040906001600160a01b036116636121fe565b168152600884522054166040519015158152f35b50346101b057806003193601126101b0576020600754604051908152f35b50346101b05760803660031901126101b0576024356001600160401b0381116106fa576116c690369060040161223d565b906044356001600160401b03811161190d576116e690369060040161223d565b906064356001600160401b03811161195e5761170690369060040161223d565b9390926117116125a4565b60043587526001602052604087209260018060a01b038060018601541633036103d357600885015460ff8160081c16600881101561131c576002036102135760ff8116600381101561131c576001036102135760201c6001600160401b0316421161039b576040880361194c57604084898101031261192f57600585015484350361194c576020840135600686015560048310611933578260041161192f576001600160e01b031982358116907f000000000000000000000000000000000000000000000000000000000000000016808203611911575050908891600786015498817f0000000000000000000000000000000000000000000000000000000000000000163b1561190d578961186061184e946040519788968795869563020a49e360e51b875260048701526060602487015260648601908c6124b3565b848103600319016044860152916124b3565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa8015611902576118d5575b5061020c946020604051920135825260208201527f2e1b996230923d7501d3a4c54ba05b52dd0e74b208c3fa9c0f2e0ae3e1902973604060043592a26004356126d4565b6001600160401b0381116118ee5760405261020c611891565b634e487b7160e01b87526041600452602487fd5b6040513d89823e3d90fd5b8380fd5b6044925060405191632b1b430160e01b835260048301526024820152fd5b8880fd5b60405163422e17ef60e01b815260048101849052602490fd5b604051633060511b60e11b8152600490fd5b8580fd5b50346101b0576119713661226a565b8284526001602052604084209160018060a01b0360018401541633036103d357600883019283549160ff8360081c166008811015610523576002036102135760ff83166003811015610523576001146102135760ff8360181c16611a3c576001600160401b0392602081901c8416421161039b577ff65712e4997e89efb84614c500905f156904ca98e8ef172ccce8525b91d505999560069461030061036a9361038396611a20368b89612453565b60208151910120988991015561ff00191617825542169061248a565b60405163bbd10e7160e01b8152600490fd5b50346101b057602090816003193601126101b0576001600160a01b03611a726121fe565b169081611a915760409047925b81526009845220541115604051908152f35b6040516370a0823160e01b8152306004820152908382602481865afa8015611af4578190611ac4575b6040925092611a7f565b50908381813d8311611aed575b611adb818361230e565b810103126106fa579060409151611aba565b503d611ad1565b50604051903d90823e3d90fd5b50346101b05760403660031901126101b057611b1b612214565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303611d5d57611b536125a4565b600435825260016020526040822060ff600882015460081c166008811015611d4957600403610213576004358352600460205260018060a01b03604084205416906005602052604084209081549060038101549160048201549160018060a01b036002820154169560018060a01b03600183015416958960018060a01b038454169181600386015581600486015555878a52600960205260408a20611bf987825461241e565b9055611c05848661242b565b8a80526009602052611c1c60408c2091825461241e565b90558815611cc6575050600801805461ff001916610500179055611c4183858761265f565b81611cb7575b80611ca7575b506040519182526020820152600080516020612c82833981519152604060043592a45b60405190151581527f5a87909bff68caaaaf0b3fd9c74eeccc928832f879315e5c6fb7a73612f26c0c602060043592a26001815580f35b611cb1908461262a565b38611c4d565b611cc1828561262a565b611c47565b6008909201805461ff001916610700179055959294509092611cea9290919061265f565b80611d39575b5080611d2a575b6040519081527fd55e4bfec83a785390aded3a9bfcc350dcb5a67382a1f71f1aeecabf07fa2a94602060043592a3611c70565b611d34818361262a565b611cf7565b611d43908361262a565b38611cf0565b634e487b7160e01b84526021600452602484fd5b60405163665b32d360e11b8152600490fd5b50346101b05760203660031901126101b057600435611d8c6125a4565b80825260016020526040822080546001600160a01b0390811633036102395760088201805460ff8160081c1660088110156106e657600103610213576106009061ff00191617905560026003830192858454945501818154168552600960205260408520611dfb84825461241e565b9055611e0b83338484541661265f565b541691604051918252600080516020612c4283398151915260203393a46001815580f35b50346101b057806003193601126101b0576020604051600080516020612c628339815191528152f35b50346101b057806003193601126101b0576020604051610ae18152f35b50346101b05760203660031901126101b057604061020091600435815260016020522060018060a01b036009818354169282600182015416926002820154166003820154600483015460058401549060068501549260078601549460088701549660018060401b03988991015416986040519a8b5260208b015260408a01526060890152608088015260a087015260c086015260e0850152611f1e610100850160ff8316612223565b611f32610120850160ff8360081c16612230565b60ff8160101c16151561014085015260ff8160181c161515610160850152818160201c16610180850152818160601c166101a085015260a01c166101c08301526101e0820152f35b50346101b05760403660031901126101b057611f946121fe565b611f9c612214565b906001600160a01b03907f00000000000000000000000000000000000000000000000000000000000000008216330361203357169081156120215760207f9a8e30a8658b96ab3f034ce4bac6806278b4aee5880ccdd1ac35e4ed5bb31d239183855260088252604085209015159060ff1981541660ff8316179055604051908152a280f35b60405163d92e233d60e01b8152600490fd5b604051632d5be4cb60e21b8152600490fd5b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b057806003193601126101b0576020604051621275008152f35b50346101b05760203660031901126101b05760406020916004358152600583522054604051908152f35b50346101b0576020806003193601126106fa576004356120f06125a4565b808352600182526040832080549091906001600160a01b03908116330361023957600883019081549160ff8360081c166008811015610523576002036102135782861c6001600160401b03164211156121ec57610600600080516020612c428339815191529361ff00191617905560038401600281549588600482018181549555550190828254168852600987526040882061218d87825461241e565b9055801515806121cf575b6121a687338686541661265f565b6121bf575b505416936040519384523393a46001815580f35b6121c9903361262a565b386121ab565b88805260098852604089206121e583825461241e565b9055612198565b6040516302eb354360e41b8152600490fd5b600435906001600160a01b038216820361074f57565b60243590811515820361074f57565b906003821015610fee5752565b906008821015610fee5752565b9181601f8401121561074f578235916001600160401b03831161074f576020838186019501011161074f57565b90604060031983011261074f5760043591602435906001600160401b03821161074f576122999160040161223d565b9091565b90600182811c921680156122cd575b60208310146122b757565b634e487b7160e01b600052602260045260246000fd5b91607f16916122ac565b61020081019081106001600160401b03821117610c7157604052565b604081019081106001600160401b03821117610c7157604052565b601f909101601f19168101906001600160401b03821190821017610c7157604052565b906040519182600082546123448161229d565b908184526020946001916001811690816000146123b45750600114612375575b5050506123739250038361230e565b565b600090815285812095935091905b81831061239c5750506123739350820101388080612364565b85548884018501529485019487945091830191612383565b9250505061237394925060ff191682840152151560051b820101388080612364565b60005b8381106123e95750506000910152565b81810151838201526020016123d9565b90602091612412815180928185528580860191016123d6565b601f01601f1916010190565b919082039182116106d057565b919082018092116106d057565b6001600160401b038111610c7157601f01601f191660200190565b92919261245f82612438565b9161246d604051938461230e565b82948184528183011161074f578281602093846000960137010152565b8054600160a01b600160e01b03191660a09290921b600160a01b600160e01b0316919091179055565b908060209392818452848401376000828201840152601f01601f1916010190565b6003821015610fee5752565b60c4356001600160401b038116810361074f5790565b60e4356001600160401b038116810361074f5790565b6004356001600160a01b038116810361074f5790565b61010435801515810361074f5790565b93919290604051936020850195600080516020612c628339815191528752466040870152306060870152608086015260018060a01b0380921660a08601521660c084015260e083015261010090818301528152610120810181811060018060401b03821117610c715760405251902090565b6002600054146125b5576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b3d15612625573d9061260b82612438565b91612619604051938461230e565b82523d6000602084013e565b606090565b811561265b57600080809381935af16126416125fa565b501561264957565b6040516312171d8360e31b8152600490fd5b5050565b82156126cf576001600160a01b039081169081612689575050600080809381935af16126416125fa565b60405163a9059cbb60e01b60208201529216602483015260448083019390935291815260808101916001600160401b03831182841017610c715761237392604052612aaf565b505050565b909160018060a01b0392836001820154169360028201541694600382019081549160048401908154926008860196888b8b8a549960ff8b60101c1660001461282c57928961275895936127319360066127529f9997015493612532565b998a918c600052600260205261274a6040600020612331565b933691612453565b91612889565b1561281b57610500604096897ffa098250c8076c215e57e37e1daacbd822ef0c9d9e2dd35b12aa849327a35ef16020600080516020612c828339815191529b8b51908152a25b61ff001916179055600091828092555587815260096020528381206127c484825461241e565b905581151590816127fd575b506127dc83888a61265f565b6127ee575b82519182526020820152a4565b6127f8818761262a565b6127e1565b808086925260096020522061281383825461241e565b9055386127d0565b604051628f3e5b60e61b8152600490fd5b505050505061285057600080516020612c828339815191529561050060409661279e565b60405163187b766d60e21b8152600490fd5b908151811015612873570160200190565b634e487b7160e01b600052603260045260246000fd5b92919092610381815103612aa75781516028946028821115612a9d5760271982019182116106d05761ffff8211612a9d5760408051606081016001600160401b03811182821017610c7157825260288152602095868201938336863760005b8a8110612a7157506128f986612438565b906129068551928361230e565b86825261291287612438565b828a019390601f190136853760005b888110612a3957505088999a50849896979851878101918252878152612946816122f3565b85519687958987019a61ffff60f01b9060f01b168b525190816022880161296c926123d6565b8501905191826022830161297f926123d6565b019051918260228301612991926123d6565b01036002810183526022016129a6908361230e565b51928391838084018781985192839101916129c0926123d6565b8301905191828583016129d2926123d6565b0103808352016129e2908261230e565b51905a9160009291610ae18493fa906129f96125fa565b9082612a2d575b5081612a0a575090565b80915051601f101561287357603f01516001600160f81b031916600160f81b1490565b81511015915038612a00565b8c810190818e116106d0576001916001600160f81b031990612a5b9085612862565b511660001a612a6a8287612862565b5301612921565b6001906001600160f81b0319612a878286612862565b511660001a612a968287612862565b53016128e8565b5060009450505050565b506000925050565b60018060a01b031690612b0e604051612ac7816122f3565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1612b086125fa565b91612ba4565b805191821591848315612b80575b505050905015612b295750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126106fa578201519081151582036101b0575080388084612b1c565b91929015612c065750815115612bb8575090565b3b15612bc15790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612c195750805190602001fd5b60405162461bcd60e51b815260206004820152908190612c3d9060248301906123f9565b0390fdfee257c770e48715cd6ce3834146a7d7b04bd626423802ecde7a2346d3c0b985ddd7b83be88f1aae552e9a9057ff5cd5e79aeeaef816dc27cc937777c9cc00ec9ccfb74f7ba842154e916641e0845c97af0df986b664065dd84c41603c75bdd3ada2646970667358221220feb6e6bddf943e06df7a1310f42db4a158b9a4dbc1d623fce6a11f9cec873fca64736f6c63430008170033",
|
|
"deployedBytecode": "0x6080604052600436101561001257600080fd5b6000803560e01c806301bb9baa146120d257806305b93aa8146120a857806309c71c031461208a578063146278341461204557806315f6901214611f7a578063180aedf314611e755780631cbd0a8814611e585780631d5ca2a614611e2f5780631dffa3dc14611d6f57806334b25ee214611b0157806338b51ce114611a4e57806349875db2146119625780634b4ed009146116955780634c5d8a0f1461167757806355219d5a14611638578063582e05791461160e5780636138cc34146114995780636f1df0ad1461141b57806371641548146113d85780637d2224dd1461139f578063904cae5c1461135a57806390cd6e4c146113305780639d3625301461108f5780639ded39521461104a578063bbde791c14611004578063bf22c45714610d76578063cbe5a82014610754578063d8170f6a146106fe578063d905812714610537578063de847ff8146103e9578063e2e27d0d1461027e578063e4358a071461024b578063e9bd8333146101b35763f103e5ac1461019357600080fd5b346101b057806003193601126101b057602060405162093a808152f35b80fd5b50346101b0576101c23661226a565b906101cb6125a4565b82845260016020526040842080546001600160a01b031633036102395760ff600882015460081c166008811015610225576003036102135761020c936126d4565b6001815580f35b604051638e78f0cb60e01b8152600490fd5b634e487b7160e01b86526021600452602486fd5b6040516371ced2cf60e11b8152600490fd5b50346101b05760203660031901126101b057602090600435815260048252604060018060a01b0391205416604051908152f35b50346101b05760603660031901126101b0576004356001600160401b036024356044358281116103e5576102b690369060040161223d565b91908486526001602052604086209060018060a01b0360018301541633036103d3576008820180549060ff8260081c1660088110156103bf576002036102135760ff821660038110156103bf576001146102135760ff8260181c16156103ad57868260201c16421161039b578415610389577fc9fba5916f7698c486c0e394045ebcf81f5c5b9afdc147e75fbe0345daeaa4bc9661030061036a9387600661038398015561ff00191617825542169061248a565b60405193849384526040602085015260408401916124b3565b0390a280f35b604051632acfffb560e21b8152600490fd5b60405163387b2e5560e11b8152600490fd5b60405163225d57bd60e11b8152600490fd5b634e487b7160e01b8a52602160045260248afd5b60405163c226996b60e01b8152600490fd5b8480fd5b5060403660031901126101b0576024356004356104046125a4565b8083526020916001835260408420600881019081549060ff8260081c16600881101561052357600303610213576001600160401b0392610450606084901c851660a085901c861661242b565b42101561051157600482015434036104ff5761040060099361ff0019161790550190421660018060401b031982541617905581845260048352604084203360018060a01b0319825416179055600583523460408520556006835280604085205583805260098352604084206104c634825461242b565b9055604051923484528301527febb63c39fa23825a2b6693e874eb75decb0654826ca930034c7ec8ed3a98fb2c60403393a36001815580f35b604051630bba69fb60e01b8152600490fd5b604051632f23cfcd60e01b8152600490fd5b634e487b7160e01b88526021600452602488fd5b50346101b0576020806003193601126106fa57600435906105566125a4565b8183526001815260408320916008830180549260ff8460081c1660088110156106e6576004036102135760018060401b036009860154166212750081018091116106d05742106106be57600080516020612c42833981519152918387526004825260018060a01b0395866040892054169060058452604089205490888a60038301958187549760048601926106008454966002890154169f8060018a0154169854169e61ff0019161790555555878b52600586528a6040812055898b526009865260408b2061062686825461241e565b9055610632838261242b565b8b80526009875261064860408d2091825461241e565b9055610655858a8c61265f565b806106ae575b50508061069e575b505084847f71283df932d260173eb1200efe17661526933e57f46bdc5d3a1029b9e8eb880a84604051858152a3604051908152a46001815580f35b6106a79161262a565b3880610663565b6106b79161262a565b388061065b565b604051636771cb5f60e01b8152600490fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b87526021600452602487fd5b5080fd5b50346101b05760a03660031901126101b0576001600160a01b03602435818116810361074f57604435918216820361074f57602091610747916084359160643591600435612532565b604051908152f35b600080fd5b506101403660031901126101b05761076a6125a4565b60243515610c1e5760643515610d64576107826124e0565b426001600160401b039091161115610d5257600360a43510156101b05760a435600103610d115760843515610cff57604435610ced575b6001600160a01b036107c961250c565b16610b045760243534036104ff575b6007546000198114610af057600181016007556107f361250c565b6107fb612522565b610124351515610124350361074f576108126124e0565b61081a6124f6565b9160405193610828856122d7565b338552602085018790526001600160a01b0316604085015260243560608501526080840186905260643560a085015260c0840186905260843560e085015261087660a43561010086016124d4565b600161012085018190529015156101408501526101243515156101608501526001600160401b0391821661018085015291166101a08301526101c082018490526101e0820184905282845260208181526040808620845181546001600160a01b03199081166001600160a01b0392831617835593860151948201805485169582169590951790945590840151600282018054909316931692909217905560608201516003808301919091556080830151600483015560a0830151600583015560c0830151600683015560e0830151600783015561010083015190811015610adc57600882015461012084015160088110156106e6579284926009926020989562ff00006101406001990151151560101b1663ff000000610160880151151560181b169161ff008a8d1b8b60601b036101808a01518e1b169460ff8c60601b8d60a01b036101a08c015160601b169716908c8060a01b031916179160081b16171717171760088201556109f7858060401b036101c0850151166008830161248a565b01906101e0848060401b0391015116838060401b0319825416179055818060a01b03610a2161250c565b1681526009845260408120610a39602435825461242b565b90558160a43503610ac8575b610a4d61250c565b610a556124e0565b90610a5e612522565b604051926024358452610a7588850160a435612223565b6064356040850152858060401b0316606084015215156080830152838060a01b031690847f7fed077780cd3b25ffef7cf7803445684b9a3a8bfabe02fee03ff0b0119573b360a03393a455604051908152f35b828152600384526044356040822055610a45565b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b82526011600452602482fd5b6001600160a01b03610b1461250c565b168152600860205260ff60408220541615610cc457346104ff57602460206001600160a01b03610b4261250c565b16604051928380926370a0823160e01b82523060048301525afa908115610cb9578291610c87575b506001600160a01b03610b7b61250c565b1690604051916323b872dd60e01b60208401523360248401523060448401526024356064840152606483528260a081011060018060401b0360a085011117610c715782610bd09160a060249501604052612aaf565b60206001600160a01b03610be261250c565b16604051938480926370a0823160e01b82523060048301525afa918215610c66578392610c30575b50610c18906024359261241e565b146107d8575b604051630e4567b160e31b8152600490fd5b9091506020813d602011610c5e575b81610c4c6020938361230e565b8101031261074f575190610c18610c0a565b3d9150610c3f565b6040513d85823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b90506020813d602011610cb1575b81610ca26020938361230e565b8101031261074f575138610b6a565b3d9150610c95565b6040513d84823e3d90fd5b6024610cce61250c565b60405163094403b760e41b81526001600160a01b039091166004820152fd5b60405163c2fb134f60e01b8152600490fd5b60405163e2aad27160e01b8152600490fd5b6001600160401b03610d216124f6565b1615610d40576044356107b95760405163c2fb134f60e01b8152600490fd5b604051632a0c9bb560e11b8152600490fd5b60405163710e1ce560e01b8152600490fd5b60405163bc6a309f60e01b8152600490fd5b50346101b05760203660031901126101b057806040916101e08351610d9a816122d7565b82815282602082015282858201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152826101a0820152826101c082015201526004358152600160205220604051610e10816122d7565b81546001600160a01b03908116825260018301548116602083015260028301541660408201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015491610e7f60ff841661010084016124d4565b600860ff84821c161015610fee578260ff6102009460081c1661012084015260ff8160101c16151561014084015260ff8160181c16151561016084015260018060401b038160201c1661018084015260018060401b038160601c166101a084015260018060401b039060a01c166101c0830152600960018060401b03910154166101e08201526040519060018060a01b03815116825260018060a01b03602082015116602083015260018060a01b036040820151166040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e0830152610f7f610100820151610100840190612223565b610f93610120820151610120840190612230565b6101408181015115159083015261016080820151151590830152610180808201516001600160401b03908116918401919091526101a0808301518216908401526101c0808301518216908401526101e0918201511690820152f35b634e487b7160e01b600052602160045260246000fd5b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160e01b0319168152602090f35b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b506110993661226a565b916110a26125a4565b8084526001926020928484526040862090600882019283549160ff8360081c1660088110156103bf578803610213576001600160401b039280881c8416421161039b5760ff8116600381101561131c57890361130b57895b34036104ff5760101c60ff16156112f15761038182148015906112c8575b6112b65785895260028752604089209282116112a257819061113a845461229d565b601f8111611252575b508990601f83116001146111f3578a926111e8575b5050600019600383901b1c191690871b1790555b80850180546001600160a01b03191633179055346004909101819055815461ff001916610200179091556111cb575b7f76fd1071bb2e8e5da7695a00bf50a2ba73ff07ba5f83b6a36729fdb0d290587e604051923484523393a3815580f35b83805260098252604084206111e134825461242b565b905561119b565b013590503880611158565b848b52888b208a945091601f1984168c5b8b82821061123c5750508411611222575b505050811b01905561116c565b0135600019600384901b60f8161c19169055388080611215565b8385013586558d97909501949283019201611204565b909150838a52878a20601f840160051c810191898510611298575b84939291601f8c920160051c01915b82811061128a575050611143565b8c81558594508b910161127c565b909150819061126d565b634e487b7160e01b89526041600452602489fd5b604051633347f13160e11b8152600490fd5b5081156112dd576009813560f81c1415611118565b634e487b7160e01b89526032600452602489fd5b5090501561116c57604051633347f13160e11b8152600490fd5b868a526003885260408a20546110fa565b634e487b7160e01b8b52602160045260248bfd5b50346101b05760203660031901126101b05760406020916004358152600683522054604051908152f35b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b05760203660031901126101b0576020906040906001600160a01b036113c76121fe565b168152600983522054604051908152f35b50346101b05760203660031901126101b0576114036040611417926004358152600260205220612331565b6040519182916020835260208301906123f9565b0390f35b50346101b05761142a3661226a565b906114336125a4565b828452600160205260408420600881015460ff8160081c1660088110156106e65760030361021357611478906001600160401b03606082901c81169160a01c1661242b565b42106114875761020c936126d4565b60405163a4229fab60e01b8152600490fd5b50346101b05760203660031901126101b0576004356114b66125a4565b80825260016020526040822080546001600160a01b0390811633036102395760088201805460ff8160081c1660088110156106e6576003036102135760ff8160101c16156115fc5761151c6001600160401b03606083901c81169060a084901c1661242b565b62093a8081018091116106d05742106115e7576106009061ff001916179055600382019182549260026004830192878454948187600185015416955555019183835416875260096020526040872061157586825461241e565b9055801515806115c9575b61158e86338787541661265f565b6115b9575b5050541691604051918252600080516020612c4283398151915260203393a46001815580f35b6115c29161262a565b3880611593565b8780526009602052604088206115e083825461241e565b9055611580565b60405160016205e19f60e41b03198152600490fd5b604051637bd63fd560e11b8152600490fd5b50346101b05760203660031901126101b05760406020916004358152600383522054604051908152f35b50346101b05760203660031901126101b05760209060ff906040906001600160a01b036116636121fe565b168152600884522054166040519015158152f35b50346101b057806003193601126101b0576020600754604051908152f35b50346101b05760803660031901126101b0576024356001600160401b0381116106fa576116c690369060040161223d565b906044356001600160401b03811161190d576116e690369060040161223d565b906064356001600160401b03811161195e5761170690369060040161223d565b9390926117116125a4565b60043587526001602052604087209260018060a01b038060018601541633036103d357600885015460ff8160081c16600881101561131c576002036102135760ff8116600381101561131c576001036102135760201c6001600160401b0316421161039b576040880361194c57604084898101031261192f57600585015484350361194c576020840135600686015560048310611933578260041161192f576001600160e01b031982358116907f000000000000000000000000000000000000000000000000000000000000000016808203611911575050908891600786015498817f0000000000000000000000000000000000000000000000000000000000000000163b1561190d578961186061184e946040519788968795869563020a49e360e51b875260048701526060602487015260648601908c6124b3565b848103600319016044860152916124b3565b03917f0000000000000000000000000000000000000000000000000000000000000000165afa8015611902576118d5575b5061020c946020604051920135825260208201527f2e1b996230923d7501d3a4c54ba05b52dd0e74b208c3fa9c0f2e0ae3e1902973604060043592a26004356126d4565b6001600160401b0381116118ee5760405261020c611891565b634e487b7160e01b87526041600452602487fd5b6040513d89823e3d90fd5b8380fd5b6044925060405191632b1b430160e01b835260048301526024820152fd5b8880fd5b60405163422e17ef60e01b815260048101849052602490fd5b604051633060511b60e11b8152600490fd5b8580fd5b50346101b0576119713661226a565b8284526001602052604084209160018060a01b0360018401541633036103d357600883019283549160ff8360081c166008811015610523576002036102135760ff83166003811015610523576001146102135760ff8360181c16611a3c576001600160401b0392602081901c8416421161039b577ff65712e4997e89efb84614c500905f156904ca98e8ef172ccce8525b91d505999560069461030061036a9361038396611a20368b89612453565b60208151910120988991015561ff00191617825542169061248a565b60405163bbd10e7160e01b8152600490fd5b50346101b057602090816003193601126101b0576001600160a01b03611a726121fe565b169081611a915760409047925b81526009845220541115604051908152f35b6040516370a0823160e01b8152306004820152908382602481865afa8015611af4578190611ac4575b6040925092611a7f565b50908381813d8311611aed575b611adb818361230e565b810103126106fa579060409151611aba565b503d611ad1565b50604051903d90823e3d90fd5b50346101b05760403660031901126101b057611b1b612214565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303611d5d57611b536125a4565b600435825260016020526040822060ff600882015460081c166008811015611d4957600403610213576004358352600460205260018060a01b03604084205416906005602052604084209081549060038101549160048201549160018060a01b036002820154169560018060a01b03600183015416958960018060a01b038454169181600386015581600486015555878a52600960205260408a20611bf987825461241e565b9055611c05848661242b565b8a80526009602052611c1c60408c2091825461241e565b90558815611cc6575050600801805461ff001916610500179055611c4183858761265f565b81611cb7575b80611ca7575b506040519182526020820152600080516020612c82833981519152604060043592a45b60405190151581527f5a87909bff68caaaaf0b3fd9c74eeccc928832f879315e5c6fb7a73612f26c0c602060043592a26001815580f35b611cb1908461262a565b38611c4d565b611cc1828561262a565b611c47565b6008909201805461ff001916610700179055959294509092611cea9290919061265f565b80611d39575b5080611d2a575b6040519081527fd55e4bfec83a785390aded3a9bfcc350dcb5a67382a1f71f1aeecabf07fa2a94602060043592a3611c70565b611d34818361262a565b611cf7565b611d43908361262a565b38611cf0565b634e487b7160e01b84526021600452602484fd5b60405163665b32d360e11b8152600490fd5b50346101b05760203660031901126101b057600435611d8c6125a4565b80825260016020526040822080546001600160a01b0390811633036102395760088201805460ff8160081c1660088110156106e657600103610213576106009061ff00191617905560026003830192858454945501818154168552600960205260408520611dfb84825461241e565b9055611e0b83338484541661265f565b541691604051918252600080516020612c4283398151915260203393a46001815580f35b50346101b057806003193601126101b0576020604051600080516020612c628339815191528152f35b50346101b057806003193601126101b0576020604051610ae18152f35b50346101b05760203660031901126101b057604061020091600435815260016020522060018060a01b036009818354169282600182015416926002820154166003820154600483015460058401549060068501549260078601549460088701549660018060401b03988991015416986040519a8b5260208b015260408a01526060890152608088015260a087015260c086015260e0850152611f1e610100850160ff8316612223565b611f32610120850160ff8360081c16612230565b60ff8160101c16151561014085015260ff8160181c161515610160850152818160201c16610180850152818160601c166101a085015260a01c166101c08301526101e0820152f35b50346101b05760403660031901126101b057611f946121fe565b611f9c612214565b906001600160a01b03907f00000000000000000000000000000000000000000000000000000000000000008216330361203357169081156120215760207f9a8e30a8658b96ab3f034ce4bac6806278b4aee5880ccdd1ac35e4ed5bb31d239183855260088252604085209015159060ff1981541660ff8316179055604051908152a280f35b60405163d92e233d60e01b8152600490fd5b604051632d5be4cb60e21b8152600490fd5b50346101b057806003193601126101b0576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101b057806003193601126101b0576020604051621275008152f35b50346101b05760203660031901126101b05760406020916004358152600583522054604051908152f35b50346101b0576020806003193601126106fa576004356120f06125a4565b808352600182526040832080549091906001600160a01b03908116330361023957600883019081549160ff8360081c166008811015610523576002036102135782861c6001600160401b03164211156121ec57610600600080516020612c428339815191529361ff00191617905560038401600281549588600482018181549555550190828254168852600987526040882061218d87825461241e565b9055801515806121cf575b6121a687338686541661265f565b6121bf575b505416936040519384523393a46001815580f35b6121c9903361262a565b386121ab565b88805260098852604089206121e583825461241e565b9055612198565b6040516302eb354360e41b8152600490fd5b600435906001600160a01b038216820361074f57565b60243590811515820361074f57565b906003821015610fee5752565b906008821015610fee5752565b9181601f8401121561074f578235916001600160401b03831161074f576020838186019501011161074f57565b90604060031983011261074f5760043591602435906001600160401b03821161074f576122999160040161223d565b9091565b90600182811c921680156122cd575b60208310146122b757565b634e487b7160e01b600052602260045260246000fd5b91607f16916122ac565b61020081019081106001600160401b03821117610c7157604052565b604081019081106001600160401b03821117610c7157604052565b601f909101601f19168101906001600160401b03821190821017610c7157604052565b906040519182600082546123448161229d565b908184526020946001916001811690816000146123b45750600114612375575b5050506123739250038361230e565b565b600090815285812095935091905b81831061239c5750506123739350820101388080612364565b85548884018501529485019487945091830191612383565b9250505061237394925060ff191682840152151560051b820101388080612364565b60005b8381106123e95750506000910152565b81810151838201526020016123d9565b90602091612412815180928185528580860191016123d6565b601f01601f1916010190565b919082039182116106d057565b919082018092116106d057565b6001600160401b038111610c7157601f01601f191660200190565b92919261245f82612438565b9161246d604051938461230e565b82948184528183011161074f578281602093846000960137010152565b8054600160a01b600160e01b03191660a09290921b600160a01b600160e01b0316919091179055565b908060209392818452848401376000828201840152601f01601f1916010190565b6003821015610fee5752565b60c4356001600160401b038116810361074f5790565b60e4356001600160401b038116810361074f5790565b6004356001600160a01b038116810361074f5790565b61010435801515810361074f5790565b93919290604051936020850195600080516020612c628339815191528752466040870152306060870152608086015260018060a01b0380921660a08601521660c084015260e083015261010090818301528152610120810181811060018060401b03821117610c715760405251902090565b6002600054146125b5576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b3d15612625573d9061260b82612438565b91612619604051938461230e565b82523d6000602084013e565b606090565b811561265b57600080809381935af16126416125fa565b501561264957565b6040516312171d8360e31b8152600490fd5b5050565b82156126cf576001600160a01b039081169081612689575050600080809381935af16126416125fa565b60405163a9059cbb60e01b60208201529216602483015260448083019390935291815260808101916001600160401b03831182841017610c715761237392604052612aaf565b505050565b909160018060a01b0392836001820154169360028201541694600382019081549160048401908154926008860196888b8b8a549960ff8b60101c1660001461282c57928961275895936127319360066127529f9997015493612532565b998a918c600052600260205261274a6040600020612331565b933691612453565b91612889565b1561281b57610500604096897ffa098250c8076c215e57e37e1daacbd822ef0c9d9e2dd35b12aa849327a35ef16020600080516020612c828339815191529b8b51908152a25b61ff001916179055600091828092555587815260096020528381206127c484825461241e565b905581151590816127fd575b506127dc83888a61265f565b6127ee575b82519182526020820152a4565b6127f8818761262a565b6127e1565b808086925260096020522061281383825461241e565b9055386127d0565b604051628f3e5b60e61b8152600490fd5b505050505061285057600080516020612c828339815191529561050060409661279e565b60405163187b766d60e21b8152600490fd5b908151811015612873570160200190565b634e487b7160e01b600052603260045260246000fd5b92919092610381815103612aa75781516028946028821115612a9d5760271982019182116106d05761ffff8211612a9d5760408051606081016001600160401b03811182821017610c7157825260288152602095868201938336863760005b8a8110612a7157506128f986612438565b906129068551928361230e565b86825261291287612438565b828a019390601f190136853760005b888110612a3957505088999a50849896979851878101918252878152612946816122f3565b85519687958987019a61ffff60f01b9060f01b168b525190816022880161296c926123d6565b8501905191826022830161297f926123d6565b019051918260228301612991926123d6565b01036002810183526022016129a6908361230e565b51928391838084018781985192839101916129c0926123d6565b8301905191828583016129d2926123d6565b0103808352016129e2908261230e565b51905a9160009291610ae18493fa906129f96125fa565b9082612a2d575b5081612a0a575090565b80915051601f101561287357603f01516001600160f81b031916600160f81b1490565b81511015915038612a00565b8c810190818e116106d0576001916001600160f81b031990612a5b9085612862565b511660001a612a6a8287612862565b5301612921565b6001906001600160f81b0319612a878286612862565b511660001a612a968287612862565b53016128e8565b5060009450505050565b506000925050565b60018060a01b031690612b0e604051612ac7816122f3565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1612b086125fa565b91612ba4565b805191821591848315612b80575b505050905015612b295750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b9193818094500103126106fa578201519081151582036101b0575080388084612b1c565b91929015612c065750815115612bb8575090565b3b15612bc15790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612c195750805190602001fd5b60405162461bcd60e51b815260206004820152908190612c3d9060248301906123f9565b0390fdfee257c770e48715cd6ce3834146a7d7b04bd626423802ecde7a2346d3c0b985ddd7b83be88f1aae552e9a9057ff5cd5e79aeeaef816dc27cc937777c9cc00ec9ccfb74f7ba842154e916641e0845c97af0df986b664065dd84c41603c75bdd3ada2646970667358221220feb6e6bddf943e06df7a1310f42db4a158b9a4dbc1d623fce6a11f9cec873fca64736f6c63430008170033",
|
|
"immutables": {
|
|
"ZK_VERIFIER": {
|
|
"type": "contract ISP1Verifier",
|
|
"positions": [
|
|
{
|
|
"length": 32,
|
|
"start": 4192
|
|
},
|
|
{
|
|
"length": 32,
|
|
"start": 6133
|
|
},
|
|
{
|
|
"length": 32,
|
|
"start": 6244
|
|
}
|
|
]
|
|
},
|
|
"PINNED_PROOF_SELECTOR": {
|
|
"type": "bytes4",
|
|
"positions": [
|
|
{
|
|
"length": 32,
|
|
"start": 4122
|
|
},
|
|
{
|
|
"length": 32,
|
|
"start": 6080
|
|
}
|
|
]
|
|
},
|
|
"ARBITER": {
|
|
"type": "address",
|
|
"positions": [
|
|
{
|
|
"length": 32,
|
|
"start": 4976
|
|
},
|
|
{
|
|
"length": 32,
|
|
"start": 6941
|
|
}
|
|
]
|
|
},
|
|
"GOVERNANCE": {
|
|
"type": "address",
|
|
"positions": [
|
|
{
|
|
"length": 32,
|
|
"start": 8104
|
|
},
|
|
{
|
|
"length": 32,
|
|
"start": 8283
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"note": "runtime code of a deployment = deployedBytecode with each immutable written at its positions as a 32-byte word (addresses right-aligned, bytes4 left-aligned); compare with eth_getCode"
|
|
}
|