2067 lines
214 KiB
JSON
Raw Normal View History

{
"address": "0xAB03b6a58C5262f530D54146DA2a552B1C0F7648",
"abi": [
{
"inputs": [
{
"components": [
{
"components": [
{
"internalType": "uint8",
"name": "repairRewardPercentage",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "maxNumberOfSlashes",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "slashCriterion",
"type": "uint16"
},
{
"internalType": "uint8",
"name": "slashPercentage",
"type": "uint8"
}
],
"internalType": "struct CollateralConfig",
"name": "collateral",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "period",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timeout",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "downtime",
"type": "uint8"
},
{
"internalType": "string",
"name": "zkeyHash",
"type": "string"
},
{
"internalType": "uint8",
"name": "downtimeProduct",
"type": "uint8"
}
],
"internalType": "struct ProofConfig",
"name": "proofs",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint8",
"name": "maxReservations",
"type": "uint8"
}
],
"internalType": "struct SlotReservationsConfig",
"name": "reservations",
"type": "tuple"
}
],
"internalType": "struct MarketplaceConfig",
"name": "configuration",
"type": "tuple"
},
{
"internalType": "contract IERC20",
"name": "token_",
"type": "address"
},
{
"internalType": "contract IGroth16Verifier",
"name": "verifier",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
}
],
"name": "ProofSubmitted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "RequestCancelled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "RequestFailed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "RequestFulfilled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"name": "SlotFilled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"name": "SlotFreed",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"indexed": false,
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"name": "SlotReservationsFull",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"components": [
{
"internalType": "uint64",
"name": "slots",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "slotSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proofProbability",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateral",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "maxSlotLoss",
"type": "uint64"
}
],
"indexed": false,
"internalType": "struct Ask",
"name": "ask",
"type": "tuple"
},
{
"indexed": false,
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
}
],
"name": "StorageRequested",
"type": "event"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"name": "canReserveSlot",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "configuration",
"outputs": [
{
"components": [
{
"components": [
{
"internalType": "uint8",
"name": "repairRewardPercentage",
"type": "uint8"
},
{
"internalType": "uint8",
"name": "maxNumberOfSlashes",
"type": "uint8"
},
{
"internalType": "uint16",
"name": "slashCriterion",
"type": "uint16"
},
{
"internalType": "uint8",
"name": "slashPercentage",
"type": "uint8"
}
],
"internalType": "struct CollateralConfig",
"name": "collateral",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "period",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "timeout",
"type": "uint256"
},
{
"internalType": "uint8",
"name": "downtime",
"type": "uint8"
},
{
"internalType": "string",
"name": "zkeyHash",
"type": "string"
},
{
"internalType": "uint8",
"name": "downtimeProduct",
"type": "uint8"
}
],
"internalType": "struct ProofConfig",
"name": "proofs",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint8",
"name": "maxReservations",
"type": "uint8"
}
],
"internalType": "struct SlotReservationsConfig",
"name": "reservations",
"type": "tuple"
}
],
"internalType": "struct MarketplaceConfig",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
},
{
"components": [
{
"components": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"internalType": "struct G1Point",
"name": "a",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "uint256",
"name": "real",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "imag",
"type": "uint256"
}
],
"internalType": "struct Fp2Element",
"name": "x",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "real",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "imag",
"type": "uint256"
}
],
"internalType": "struct Fp2Element",
"name": "y",
"type": "tuple"
}
],
"internalType": "struct G2Point",
"name": "b",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"internalType": "struct G1Point",
"name": "c",
"type": "tuple"
}
],
"internalType": "struct Groth16Proof",
"name": "proof",
"type": "tuple"
}
],
"name": "fillSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "rewardRecipient",
"type": "address"
},
{
"internalType": "address",
"name": "collateralRecipient",
"type": "address"
}
],
"name": "freeSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
}
],
"name": "freeSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
}
],
"name": "getActiveSlot",
"outputs": [
{
"components": [
{
"components": [
{
"internalType": "address",
"name": "client",
"type": "address"
},
{
"components": [
{
"internalType": "uint64",
"name": "slots",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "slotSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proofProbability",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateral",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "maxSlotLoss",
"type": "uint64"
}
],
"internalType": "struct Ask",
"name": "ask",
"type": "tuple"
},
{
"components": [
{
"internalType": "string",
"name": "cid",
"type": "string"
},
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"internalType": "struct Content",
"name": "content",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
}
],
"internalType": "struct Request",
"name": "request",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"internalType": "struct Marketplace.ActiveSlot",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
}
],
"name": "getChallenge",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
}
],
"name": "getHost",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
}
],
"name": "getPointer",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "getRequest",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "client",
"type": "address"
},
{
"components": [
{
"internalType": "uint64",
"name": "slots",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "slotSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proofProbability",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateral",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "maxSlotLoss",
"type": "uint64"
}
],
"internalType": "struct Ask",
"name": "ask",
"type": "tuple"
},
{
"components": [
{
"internalType": "string",
"name": "cid",
"type": "string"
},
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"internalType": "struct Content",
"name": "content",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
}
],
"internalType": "struct Request",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
}
],
"name": "isProofRequired",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
},
{
"internalType": "Periods.Period",
"name": "period",
"type": "uint256"
}
],
"name": "markProofAsMissing",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
}
],
"name": "missingProofs",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "myRequests",
"outputs": [
{
"internalType": "RequestId[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "mySlots",
"outputs": [
{
"internalType": "SlotId[]",
"name": "",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "requestEnd",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "requestExpiry",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "requestState",
"outputs": [
{
"internalType": "enum RequestState",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "client",
"type": "address"
},
{
"components": [
{
"internalType": "uint64",
"name": "slots",
"type": "uint64"
},
{
"internalType": "uint256",
"name": "slotSize",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "duration",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "proofProbability",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "reward",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "collateral",
"type": "uint256"
},
{
"internalType": "uint64",
"name": "maxSlotLoss",
"type": "uint64"
}
],
"internalType": "struct Ask",
"name": "ask",
"type": "tuple"
},
{
"components": [
{
"internalType": "string",
"name": "cid",
"type": "string"
},
{
"internalType": "bytes32",
"name": "merkleRoot",
"type": "bytes32"
}
],
"internalType": "struct Content",
"name": "content",
"type": "tuple"
},
{
"internalType": "uint256",
"name": "expiry",
"type": "uint256"
},
{
"internalType": "bytes32",
"name": "nonce",
"type": "bytes32"
}
],
"internalType": "struct Request",
"name": "request",
"type": "tuple"
}
],
"name": "requestStorage",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "uint256",
"name": "slotIndex",
"type": "uint256"
}
],
"name": "reserveSlot",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "slotId",
"type": "bytes32"
}
],
"name": "slotState",
"outputs": [
{
"internalType": "enum SlotState",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
},
{
"components": [
{
"components": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"internalType": "struct G1Point",
"name": "a",
"type": "tuple"
},
{
"components": [
{
"components": [
{
"internalType": "uint256",
"name": "real",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "imag",
"type": "uint256"
}
],
"internalType": "struct Fp2Element",
"name": "x",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "real",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "imag",
"type": "uint256"
}
],
"internalType": "struct Fp2Element",
"name": "y",
"type": "tuple"
}
],
"internalType": "struct G2Point",
"name": "b",
"type": "tuple"
},
{
"components": [
{
"internalType": "uint256",
"name": "x",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "y",
"type": "uint256"
}
],
"internalType": "struct G1Point",
"name": "c",
"type": "tuple"
}
],
"internalType": "struct Groth16Proof",
"name": "proof",
"type": "tuple"
}
],
"name": "submitProof",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "token",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "SlotId",
"name": "id",
"type": "bytes32"
}
],
"name": "willProofBeRequired",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
}
],
"name": "withdrawFunds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "RequestId",
"name": "requestId",
"type": "bytes32"
},
{
"internalType": "address",
"name": "withdrawRecipient",
"type": "address"
}
],
"name": "withdrawFunds",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"transactionHash": "0x843fa3e4fa0998932d199d36a84f826b98b438df57b270650e9bb9f4a1555d4d",
"receipt": {
"to": null,
"from": "0x3A39904B71595608524274BFD8c20FCfd9e77236",
"contractAddress": "0xAB03b6a58C5262f530D54146DA2a552B1C0F7648",
"transactionIndex": 0,
"gasUsed": "3845908",
"logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"blockHash": "0x82f6fa49bc02de898ea985aeddf904c8cee2a758e81e8f003f79a13ced079979",
"transactionHash": "0x843fa3e4fa0998932d199d36a84f826b98b438df57b270650e9bb9f4a1555d4d",
"logs": [],
"blockNumber": 2222689,
"cumulativeGasUsed": "3845908",
"status": 1,
"byzantium": true
},
"args": [
{
"collateral": {
"repairRewardPercentage": 10,
"maxNumberOfSlashes": 2,
"slashCriterion": 2,
"slashPercentage": 20
},
"proofs": {
"period": 120,
"timeout": 30,
"downtime": 64,
"downtimeProduct": 67,
"zkeyHash": "afc470031923f60982f36932686665a55b88c4ef4ee4b7ae21e6dc6685cfae4b"
},
"reservations": {
"maxReservations": 3
}
},
"0x34a22f3911De437307c6f4485931779670f78764",
"0x02dd582726F7507D7d0F8bD8bf8053d3006F9092"
],
"numDeployments": 6,
"solcInputHash": "6c0b1ecc717fd79335563520a885156c",
"metadata": "{\"compiler\":{\"version\":\"0.8.23+commit.f704f362\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"repairRewardPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"maxNumberOfSlashes\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"slashCriterion\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"slashPercentage\",\"type\":\"uint8\"}],\"internalType\":\"struct CollateralConfig\",\"name\":\"collateral\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"period\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeout\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"downtime\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"zkeyHash\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"downtimeProduct\",\"type\":\"uint8\"}],\"internalType\":\"struct ProofConfig\",\"name\":\"proofs\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"maxReservations\",\"type\":\"uint8\"}],\"internalType\":\"struct SlotReservationsConfig\",\"name\":\"reservations\",\"type\":\"tuple\"}],\"internalType\":\"struct MarketplaceConfig\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"internalType\":\"contract IERC20\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"contract IGroth16Verifier\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"SlotId\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"ProofSubmitted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"name\":\"RequestCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"name\":\"RequestFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"}],\"name\":\"RequestFulfilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slotIndex\",\"type\":\"uint256\"}],\"name\":\"SlotFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slotIndex\",\"type\":\"uint256\"}],\"name\":\"SlotFreed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slotIndex\",\"type\":\"uint256\"}],\"name\":\"SlotReservationsFull\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"slots\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"slotSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proofProbability\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"reward\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"collateral\",\"type\":\"uint256\"},{\"internalType\":\"uint64\",\"name\":\"maxSlotLoss\",\"type\":\"uint64\"}],\"indexed\":false,\"internalType\":\"struct Ask\",\"name\":\"ask\",\"type\":\"tuple\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"StorageRequested\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"RequestId\",\"name\":\"requestId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"slotIndex\"
"bytecode": "0x60c06040523480156200001157600080fd5b506040516200454b3803806200454b833981016040819052620000349162000571565b602083015180516040850151516001805460ff191660ff909216919091179055608052816101004311620000af5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420626c6f636b206865696768740000000000000060448201526064015b60405180910390fd5b81516002908155602083015160035560408301516004805460ff191660ff9092169190911790556060830151839190600590620000ed908262000724565b50608091909101516004909101805460ff191660ff928316179055600780546001600160a01b0319166001600160a01b0393841617905590841660a0528451516064911611159050620001835760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b606483600001516060015160ff161115620001e15760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b82516060810151602090910151606491620001fc91620007f0565b60ff1611156200024f5760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d20736c617368696e67206578636565647320313030250000006044820152606401620000a6565b82518051600f805460208085015160408087015160609788015160ff9081166401000000000260ff60201b1961ffff90931662010000029290921664ffffff0000199482166101000261ffff199097169882169890981795909517929092169590951717835580880151805160109081559181015160115593840151601280549190931660ff19919091161790915592820151869391929190601390620002f7908262000724565b50608091909101516004909101805460ff1990811660ff938416179091556040939093015151600692909201805490931691161790555062000822915050565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171562000372576200037262000337565b60405290565b604051606081016001600160401b038111828210171562000372576200037262000337565b604051608081016001600160401b038111828210171562000372576200037262000337565b604051601f8201601f191681016001600160401b0381118282101715620003ed57620003ed62000337565b604052919050565b805160ff811681146200040757600080fd5b919050565b600060a082840312156200041f57600080fd5b620004296200034d565b905081518152602080830151818301526200044760408401620003f5565b604083015260608301516001600160401b03808211156200046757600080fd5b818501915085601f8301126200047c57600080fd5b81518181111562000491576200049162000337565b620004a5601f8201601f19168501620003c2565b91508082528684828501011115620004bc57600080fd5b60005b81811015620004dc578381018501518382018601528401620004bf565b50600084828401015250806060850152505050620004fd60808301620003f5565b608082015292915050565b6000602082840312156200051b57600080fd5b604051602081016001600160401b038111828210171562000540576200054062000337565b6040529050806200055183620003f5565b905292915050565b80516001600160a01b03811681146200040757600080fd5b6000806000606084860312156200058757600080fd5b83516001600160401b03808211156200059f57600080fd5b9085019081870360c0811215620005b557600080fd5b620005bf62000378565b6080821215620005ce57600080fd5b620005d86200039d565b9150620005e584620003f5565b8252620005f560208501620003f5565b6020830152604084015161ffff811681146200061057600080fd5b60408301526200062360608501620003f5565b6060830152908152608083015190828211156200063f57600080fd5b6200064d898386016200040c565b6020820152620006618960a0860162000508565b604082015295506200067a925050506020850162000559565b91506200068a6040850162000559565b90509250925092565b600181811c90821680620006a857607f821691505b602082108103620006c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200071f576000816000526020600020601f850160051c81016020861015620006fa5750805b601f850160051c820191505b818110156200071b5782815560010162000706565b5050505b505050565b81516001600160401b0381111562000740576200074062000337565b620007588162000751845462000693565b84620006cf565b602080601f831160018114620007905760008415620007775750858301515b600019600386901b1c1916600185901b1785556200071b565b600085815260208120601f198616915b82811015620007c157888601518255948401946001909101908401620007a0565b5085821015620007e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff81811683
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c80636e2b54ee116100ee578063be5cdc4811610097578063e8aa0a0711610071578063e8aa0a07146103ed578063f752196b14610400578063fb1e61ca14610420578063fc0c546a1461044057600080fd5b8063be5cdc48146103a7578063c0cc4add146103c7578063c5d43351146103da57600080fd5b8063a3a0807e116100c8578063a3a0807e14610361578063a6af384b14610374578063b396dc791461038757600080fd5b80636e2b54ee146103335780639777b72c14610346578063a29c29a41461034e57600080fd5b80634641dce61161015b5780635da73835116101355780635da73835146102b257806362d48e13146102c75780636b00c8cf146102da5780636c70bee91461031e57600080fd5b80634641dce6146102575780634802f44b1461027c57806359cc89ed1461029f57600080fd5b80630aefaabe1161018c5780630aefaabe1461020e578063329b5a0b14610221578063458d2bf11461024457600080fd5b806302fa8e65146101b357806305b90773146101d957806308695fcd146101f9575b600080fd5b6101c66101c136600461312e565b610466565b6040519081526020015b60405180910390f35b6101ec6101e736600461312e565b6104dd565b6040516101d0919061315d565b61020c610207366004613177565b6105ef565b005b61020c61021c3660046131ae565b610745565b6101c661022f36600461312e565b60009081526017602052604090206005015490565b6101c661025236600461312e565b610922565b61026a61026536600461312e565b61093b565b60405160ff90911681526020016101d0565b61028f61028a366004613177565b61094e565b60405190151581526020016101d0565b61020c6102ad366004613203565b6109d7565b6102ba610d3e565b6040516101d0919061323a565b61020c6102d5366004613177565b610d65565b6103066102e836600461312e565b6000908152601860205260409020600501546001600160a01b031690565b6040516001600160a01b0390911681526020016101d0565b610326610e62565b6040516101d091906132c4565b61020c61034136600461312e565b611016565b6102ba611023565b61020c61035c36600461312e565b611042565b61028f61036f36600461312e565b6110b2565b61020c61038236600461336d565b6110e7565b61039a61039536600461312e565b61143c565b6040516101d09190613476565b6103ba6103b536600461312e565b611625565b6040516101d091906134a8565b61028f6103d536600461312e565b6116f3565b61020c6103e83660046134bc565b611706565b61020c6103fb3660046134ec565b611b6b565b6101c661040e36600461312e565b6000908152600a602052604090205490565b61043361042e36600461312e565b611ca0565b6040516101d0919061351a565b7f0000000000000000000000000000000000000000000000000000000000000000610306565b60008181526017602052604081206004015481610482846104dd565b9050600081600481111561049857610498613147565b14806104b5575060018160048111156104b3576104b3613147565b145b156104c1575092915050565b6104d5826104d0600142613543565b611e57565b949350505050565b60008181526016602052604081205482906001600160a01b031661053a5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064015b60405180910390fd5b600083815260176020526040812090815460ff16600481111561055f5761055f613147565b14801561057c575060008481526017602052604090206005015442115b1561058b5760029250506105e9565b6001815460ff1660048111156105a3576105a3613147565b14806105c457506000815460ff1660048111156105c2576105c2613147565b145b80156105d35750806004015442115b156105e25760039250506105e9565b5460ff1691505b50919050565b60016105fa83611625565b600581111561060b5761060b613147565b146106585760405162461bcd60e51b815260206004820152601960248201527f536c6f74206e6f7420616363657074696e672070726f6f6673000000000000006044820152606401610531565b6106628282611e6f565b6000828152601860209081526040808320600181015484526016909252909120600f5461ffff62010000909104166106a6856000908152600a602052604090205490565b6106b0919061356c565b60000361073f57600f5460068201546000916064916106da91640100000000900460ff1690613580565b6106e49190613597565b9050808360040160008282546106fa9190613543565b9091555050600f546000868152600a6020526040902054610100820460ff169162010000900461ffff169061072f9190613597565b1061073d5761073d8561209c565b505b50505050565b826000808281526018602052604090205460ff16600581111561076a5761076a613147565b036107a65760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b600084815260186020526040902060058101546001600160a01b031633146108105760405162461bcd60e51b815260206004820152601960248201527f536c6f742066696c6c656420627920
"devdoc": {
"kind": "dev",
"methods": {
"fillSlot(bytes32,uint256,((uint256,uint256),((uint256,uint256),(uint256,uint256)),(uint256,uint256)))": {
"params": {
"proof": "Groth16 proof procing possession of the slot data.",
"requestId": "RequestId identifying the request containing the slot to fill.",
"slotIndex": "Index of the slot in the request."
}
},
"freeSlot(bytes32)": {
"details": "The host that filled the slot must have initiated the transaction (msg.sender). This overload allows `rewardRecipient` and `collateralRecipient` to be optional.",
"params": {
"slotId": "id of the slot to free"
}
},
"freeSlot(bytes32,address,address)": {
"params": {
"collateralRecipient": "address to refund collateral to",
"rewardRecipient": "address to send rewards to",
"slotId": "id of the slot to free"
}
},
"getChallenge(bytes32)": {
"params": {
"id": "Slot's ID for which the challenge should be calculated"
},
"returns": {
"_0": "Challenge for current Period that should be used for generation of proofs"
}
},
"getPointer(bytes32)": {
"details": "For more information see [timing of storage proofs](https://github.com/codex-storage/codex-research/blob/41c4b4409d2092d0a5475aca0f28995034e58d14/design/storage-proof-timing.md)",
"params": {
"id": "Slot's ID for which the pointer should be calculated"
},
"returns": {
"_0": "Uint8 pointer that is stable over current Period, ie an integer offset [0-255] of the last 256 blocks, pointing to a block that remains constant for the entire Period's duration."
}
},
"isProofRequired(bytes32)": {
"params": {
"id": "Slot's ID for which the proof requirements should be checked. If the Slot's state is other than Filled, `false` is always returned."
},
"returns": {
"_0": "bool indicating if proof is required for current period"
}
},
"missingProofs(bytes32)": {
"returns": {
"_0": "Number of missed proofs since Slot was Filled"
}
},
"willProofBeRequired(bytes32)": {
"details": "for more info about downtime see [timing of storage proofs](https://github.com/codex-storage/codex-research/blob/41c4b4409d2092d0a5475aca0f28995034e58d14/design/storage-proof-timing.md#pointer-downtime)",
"params": {
"id": "SlotId for which the proof requirements should be checked. If the Slot's state is other than Filled, `false` is always returned."
},
"returns": {
"_0": "bool"
}
},
"withdrawFunds(bytes32)": {
"details": "Request must be cancelled, failed or finished, and the transaction must originate from the depositor address.",
"params": {
"requestId": "the id of the request"
}
},
"withdrawFunds(bytes32,address)": {
"details": "Request must be expired, must be in RequestState.New, and the transaction must originate from the depositer address.",
"params": {
"requestId": "the id of the request",
"withdrawRecipient": "address to return the remaining funds to"
}
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {
"fillSlot(bytes32,uint256,((uint256,uint256),((uint256,uint256),(uint256,uint256)),(uint256,uint256)))": {
"notice": "Fills a slot. Reverts if an invalid proof of the slot data is provided."
},
"freeSlot(bytes32)": {
"notice": "Frees a slot, paying out rewards and returning collateral for finished or cancelled requests to the host that has filled the slot."
},
"freeSlot(bytes32,address,address)": {
"notice": "Frees a slot, paying out rewards and returning collateral for finished or cancelled requests."
},
"willProofBeRequired(bytes32)": {
"notice": "Proof Downtime specifies part of the Period when the proof is not required even if the proof should be required. This function returns true if the pointer is in downtime (hence no proof required now) and at the same time the proof will be required later on in the Period."
},
"withdrawFunds(bytes32)": {
"notice": "Withdraws remaining storage request funds back to the client that deposited them."
},
"withdrawFunds(bytes32,address)": {
"notice": "Withdraws storage request funds to the provided address."
}
},
"version": 1
},
"storageLayout": {
"storage": [
{
"astId": 5646,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_reservations",
"offset": 0,
"slot": "0",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_struct(AddressSet)1902_storage)"
},
{
"astId": 5649,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_config",
"offset": 0,
"slot": "1",
"type": "t_struct(SlotReservationsConfig)2226_storage"
},
{
"astId": 4910,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_config",
"offset": 0,
"slot": "2",
"type": "t_struct(ProofConfig)2223_storage"
},
{
"astId": 4913,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_verifier",
"offset": 0,
"slot": "7",
"type": "t_contract(IGroth16Verifier)2412"
},
{
"astId": 4949,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_slotStarts",
"offset": 0,
"slot": "8",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_uint256)"
},
{
"astId": 4954,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_probabilities",
"offset": 0,
"slot": "9",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_uint256)"
},
{
"astId": 4959,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_missed",
"offset": 0,
"slot": "10",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_uint256)"
},
{
"astId": 4967,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_received",
"offset": 0,
"slot": "11",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_mapping(t_userDefinedValueType(Period)4767,t_bool))"
},
{
"astId": 4975,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_missing",
"offset": 0,
"slot": "12",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_mapping(t_userDefinedValueType(Period)4767,t_bool))"
},
{
"astId": 5790,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_requestsPerClient",
"offset": 0,
"slot": "13",
"type": "t_mapping(t_address,t_struct(Bytes32Set)1781_storage)"
},
{
"astId": 5795,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_slotsPerHost",
"offset": 0,
"slot": "14",
"type": "t_mapping(t_address,t_struct(Bytes32Set)1781_storage)"
},
{
"astId": 3039,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_config",
"offset": 0,
"slot": "15",
"type": "t_struct(MarketplaceConfig)2202_storage"
},
{
"astId": 3045,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_requests",
"offset": 0,
"slot": "22",
"type": "t_mapping(t_userDefinedValueType(RequestId)5494,t_struct(Request)5509_storage)"
},
{
"astId": 3051,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_requestContexts",
"offset": 0,
"slot": "23",
"type": "t_mapping(t_userDefinedValueType(RequestId)5494,t_struct(RequestContext)3075_storage)"
},
{
"astId": 3057,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_slots",
"offset": 0,
"slot": "24",
"type": "t_mapping(t_userDefinedValueType(SlotId)5496,t_struct(Slot)3092_storage)"
},
{
"astId": 3060,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_marketplaceTotals",
"offset": 0,
"slot": "25",
"type": "t_struct(MarketplaceTotals)4762_storage"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_array(t_bytes32)dyn_storage": {
"base": "t_bytes32",
"encoding": "dynamic_array",
"label": "bytes32[]",
"numberOfBytes": "32"
},
"t_bool": {
"encoding": "inplace",
"label": "bool",
"numberOfBytes": "1"
},
"t_bytes32": {
"encoding": "inplace",
"label": "bytes32",
"numberOfBytes": "32"
},
"t_contract(IGroth16Verifier)2412": {
"encoding": "inplace",
"label": "contract IGroth16Verifier",
"numberOfBytes": "20"
},
"t_enum(RequestState)5535": {
"encoding": "inplace",
"label": "enum RequestState",
"numberOfBytes": "1"
},
"t_enum(SlotState)5542": {
"encoding": "inplace",
"label": "enum SlotState",
"numberOfBytes": "1"
},
"t_mapping(t_address,t_struct(Bytes32Set)1781_storage)": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => struct EnumerableSet.Bytes32Set)",
"numberOfBytes": "32",
"value": "t_struct(Bytes32Set)1781_storage"
},
"t_mapping(t_bytes32,t_uint256)": {
"encoding": "mapping",
"key": "t_bytes32",
"label": "mapping(bytes32 => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_mapping(t_userDefinedValueType(Period)4767,t_bool)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(Period)4767",
"label": "mapping(Periods.Period => bool)",
"numberOfBytes": "32",
"value": "t_bool"
},
"t_mapping(t_userDefinedValueType(RequestId)5494,t_struct(Request)5509_storage)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(RequestId)5494",
"label": "mapping(RequestId => struct Request)",
"numberOfBytes": "32",
"value": "t_struct(Request)5509_storage"
},
"t_mapping(t_userDefinedValueType(RequestId)5494,t_struct(RequestContext)3075_storage)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(RequestId)5494",
"label": "mapping(RequestId => struct Marketplace.RequestContext)",
"numberOfBytes": "32",
"value": "t_struct(RequestContext)3075_storage"
},
"t_mapping(t_userDefinedValueType(SlotId)5496,t_mapping(t_userDefinedValueType(Period)4767,t_bool))": {
"encoding": "mapping",
"key": "t_userDefinedValueType(SlotId)5496",
"label": "mapping(SlotId => mapping(Periods.Period => bool))",
"numberOfBytes": "32",
"value": "t_mapping(t_userDefinedValueType(Period)4767,t_bool)"
},
"t_mapping(t_userDefinedValueType(SlotId)5496,t_struct(AddressSet)1902_storage)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(SlotId)5496",
"label": "mapping(SlotId => struct EnumerableSet.AddressSet)",
"numberOfBytes": "32",
"value": "t_struct(AddressSet)1902_storage"
},
"t_mapping(t_userDefinedValueType(SlotId)5496,t_struct(Slot)3092_storage)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(SlotId)5496",
"label": "mapping(SlotId => struct Marketplace.Slot)",
"numberOfBytes": "32",
"value": "t_struct(Slot)3092_storage"
},
"t_mapping(t_userDefinedValueType(SlotId)5496,t_uint256)": {
"encoding": "mapping",
"key": "t_userDefinedValueType(SlotId)5496",
"label": "mapping(SlotId => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_string_storage": {
"encoding": "bytes",
"label": "string",
"numberOfBytes": "32"
},
"t_struct(AddressSet)1902_storage": {
"encoding": "inplace",
"label": "struct EnumerableSet.AddressSet",
"members": [
{
"astId": 1901,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_inner",
"offset": 0,
"slot": "0",
"type": "t_struct(Set)1587_storage"
}
],
"numberOfBytes": "64"
},
"t_struct(Ask)5524_storage": {
"encoding": "inplace",
"label": "struct Ask",
"members": [
{
"astId": 5511,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slots",
"offset": 0,
"slot": "0",
"type": "t_uint64"
},
{
"astId": 5513,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slotSize",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 5515,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "duration",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 5517,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "proofProbability",
"offset": 0,
"slot": "3",
"type": "t_uint256"
},
{
"astId": 5519,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "reward",
"offset": 0,
"slot": "4",
"type": "t_uint256"
},
{
"astId": 5521,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "collateral",
"offset": 0,
"slot": "5",
"type": "t_uint256"
},
{
"astId": 5523,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "maxSlotLoss",
"offset": 0,
"slot": "6",
"type": "t_uint64"
}
],
"numberOfBytes": "224"
},
"t_struct(Bytes32Set)1781_storage": {
"encoding": "inplace",
"label": "struct EnumerableSet.Bytes32Set",
"members": [
{
"astId": 1780,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_inner",
"offset": 0,
"slot": "0",
"type": "t_struct(Set)1587_storage"
}
],
"numberOfBytes": "64"
},
"t_struct(CollateralConfig)2212_storage": {
"encoding": "inplace",
"label": "struct CollateralConfig",
"members": [
{
"astId": 2205,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "repairRewardPercentage",
"offset": 0,
"slot": "0",
"type": "t_uint8"
},
{
"astId": 2207,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "maxNumberOfSlashes",
"offset": 1,
"slot": "0",
"type": "t_uint8"
},
{
"astId": 2209,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slashCriterion",
"offset": 2,
"slot": "0",
"type": "t_uint16"
},
{
"astId": 2211,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slashPercentage",
"offset": 4,
"slot": "0",
"type": "t_uint8"
}
],
"numberOfBytes": "32"
},
"t_struct(Content)5529_storage": {
"encoding": "inplace",
"label": "struct Content",
"members": [
{
"astId": 5526,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "cid",
"offset": 0,
"slot": "0",
"type": "t_string_storage"
},
{
"astId": 5528,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "merkleRoot",
"offset": 0,
"slot": "1",
"type": "t_bytes32"
}
],
"numberOfBytes": "64"
},
"t_struct(MarketplaceConfig)2202_storage": {
"encoding": "inplace",
"label": "struct MarketplaceConfig",
"members": [
{
"astId": 2195,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "collateral",
"offset": 0,
"slot": "0",
"type": "t_struct(CollateralConfig)2212_storage"
},
{
"astId": 2198,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "proofs",
"offset": 0,
"slot": "1",
"type": "t_struct(ProofConfig)2223_storage"
},
{
"astId": 2201,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "reservations",
"offset": 0,
"slot": "6",
"type": "t_struct(SlotReservationsConfig)2226_storage"
}
],
"numberOfBytes": "224"
},
"t_struct(MarketplaceTotals)4762_storage": {
"encoding": "inplace",
"label": "struct Marketplace.MarketplaceTotals",
"members": [
{
"astId": 4759,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "received",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 4761,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "sent",
"offset": 0,
"slot": "1",
"type": "t_uint256"
}
],
"numberOfBytes": "64"
},
"t_struct(ProofConfig)2223_storage": {
"encoding": "inplace",
"label": "struct ProofConfig",
"members": [
{
"astId": 2214,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "period",
"offset": 0,
"slot": "0",
"type": "t_uint256"
},
{
"astId": 2216,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "timeout",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 2218,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "downtime",
"offset": 0,
"slot": "2",
"type": "t_uint8"
},
{
"astId": 2220,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "zkeyHash",
"offset": 0,
"slot": "3",
"type": "t_string_storage"
},
{
"astId": 2222,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "downtimeProduct",
"offset": 0,
"slot": "4",
"type": "t_uint8"
}
],
"numberOfBytes": "160"
},
"t_struct(Request)5509_storage": {
"encoding": "inplace",
"label": "struct Request",
"members": [
{
"astId": 5498,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "client",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 5501,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "ask",
"offset": 0,
"slot": "1",
"type": "t_struct(Ask)5524_storage"
},
{
"astId": 5504,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "content",
"offset": 0,
"slot": "8",
"type": "t_struct(Content)5529_storage"
},
{
"astId": 5506,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "expiry",
"offset": 0,
"slot": "10",
"type": "t_uint256"
},
{
"astId": 5508,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "nonce",
"offset": 0,
"slot": "11",
"type": "t_bytes32"
}
],
"numberOfBytes": "384"
},
"t_struct(RequestContext)3075_storage": {
"encoding": "inplace",
"label": "struct Marketplace.RequestContext",
"members": [
{
"astId": 3063,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "state",
"offset": 0,
"slot": "0",
"type": "t_enum(RequestState)5535"
},
{
"astId": 3065,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slotsFilled",
"offset": 0,
"slot": "1",
"type": "t_uint256"
},
{
"astId": 3068,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "fundsToReturnToClient",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 3070,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "startedAt",
"offset": 0,
"slot": "3",
"type": "t_uint256"
},
{
"astId": 3072,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "endsAt",
"offset": 0,
"slot": "4",
"type": "t_uint256"
},
{
"astId": 3074,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "expiresAt",
"offset": 0,
"slot": "5",
"type": "t_uint256"
}
],
"numberOfBytes": "192"
},
"t_struct(Set)1587_storage": {
"encoding": "inplace",
"label": "struct EnumerableSet.Set",
"members": [
{
"astId": 1582,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_values",
"offset": 0,
"slot": "0",
"type": "t_array(t_bytes32)dyn_storage"
},
{
"astId": 1586,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "_indexes",
"offset": 0,
"slot": "1",
"type": "t_mapping(t_bytes32,t_uint256)"
}
],
"numberOfBytes": "64"
},
"t_struct(Slot)3092_storage": {
"encoding": "inplace",
"label": "struct Marketplace.Slot",
"members": [
{
"astId": 3078,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "state",
"offset": 0,
"slot": "0",
"type": "t_enum(SlotState)5542"
},
{
"astId": 3081,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "requestId",
"offset": 0,
"slot": "1",
"type": "t_userDefinedValueType(RequestId)5494"
},
{
"astId": 3084,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "filledAt",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 3086,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "slotIndex",
"offset": 0,
"slot": "3",
"type": "t_uint256"
},
{
"astId": 3089,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "currentCollateral",
"offset": 0,
"slot": "4",
"type": "t_uint256"
},
{
"astId": 3091,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "host",
"offset": 0,
"slot": "5",
"type": "t_address"
}
],
"numberOfBytes": "192"
},
"t_struct(SlotReservationsConfig)2226_storage": {
"encoding": "inplace",
"label": "struct SlotReservationsConfig",
"members": [
{
"astId": 2225,
"contract": "contracts/Marketplace.sol:Marketplace",
"label": "maxReservations",
"offset": 0,
"slot": "0",
"type": "t_uint8"
}
],
"numberOfBytes": "32"
},
"t_uint16": {
"encoding": "inplace",
"label": "uint16",
"numberOfBytes": "2"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
},
"t_uint64": {
"encoding": "inplace",
"label": "uint64",
"numberOfBytes": "8"
},
"t_uint8": {
"encoding": "inplace",
"label": "uint8",
"numberOfBytes": "1"
},
"t_userDefinedValueType(Period)4767": {
"encoding": "inplace",
"label": "Periods.Period",
"numberOfBytes": "32"
},
"t_userDefinedValueType(RequestId)5494": {
"encoding": "inplace",
"label": "RequestId",
"numberOfBytes": "32"
},
"t_userDefinedValueType(SlotId)5496": {
"encoding": "inplace",
"label": "SlotId",
"numberOfBytes": "32"
}
}
}
}