2024-08-07 18:58:31 +03:00
{
2025-02-25 09:52:04 +02:00
"address" : "0xfFaF679D5Cbfdd5Dbc9Be61C616ed115DFb597ed" ,
2024-08-07 18:58:31 +03:00
"abi" : [
{
"inputs" : [
{
"components" : [
{
"components" : [
{
"internalType" : "uint8" ,
"name" : "repairRewardPercentage" ,
"type" : "uint8"
} ,
{
"internalType" : "uint8" ,
"name" : "maxNumberOfSlashes" ,
"type" : "uint8"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint8" ,
"name" : "slashPercentage" ,
"type" : "uint8"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint8" ,
2025-02-25 09:52:04 +02:00
"name" : "validatorRewardPercentage" ,
2024-08-07 18:58:31 +03:00
"type" : "uint8"
}
] ,
"internalType" : "struct CollateralConfig" ,
"name" : "collateral" ,
"type" : "tuple"
} ,
{
"components" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "period" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "timeout" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint8" ,
"name" : "downtime" ,
"type" : "uint8"
} ,
2024-09-24 13:31:07 +03:00
{
"internalType" : "uint8" ,
"name" : "downtimeProduct" ,
"type" : "uint8"
2025-02-25 09:52:04 +02:00
} ,
{
"internalType" : "string" ,
"name" : "zkeyHash" ,
"type" : "string"
2024-08-07 18:58:31 +03:00
}
] ,
"internalType" : "struct ProofConfig" ,
"name" : "proofs" ,
"type" : "tuple"
2024-10-08 15:27:06 +03:00
} ,
{
"components" : [
{
"internalType" : "uint8" ,
"name" : "maxReservations" ,
"type" : "uint8"
}
] ,
"internalType" : "struct SlotReservationsConfig" ,
"name" : "reservations" ,
"type" : "tuple"
2025-02-25 09:52:04 +02:00
} ,
{
"internalType" : "uint64" ,
"name" : "requestDurationLimit" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"internalType" : "struct MarketplaceConfig" ,
2025-02-25 09:52:04 +02:00
"name" : "config" ,
2024-08-07 18:58:31 +03:00
"type" : "tuple"
} ,
{
"internalType" : "contract IERC20" ,
"name" : "token_" ,
"type" : "address"
} ,
{
"internalType" : "contract IGroth16Verifier" ,
"name" : "verifier" ,
"type" : "address"
}
] ,
"stateMutability" : "nonpayable" ,
"type" : "constructor"
} ,
2025-02-25 09:52:04 +02:00
{
"inputs" : [ ] ,
"name" : "Marketplace_AlreadyPaid" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_DurationExceedsLimit" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InsufficientCollateral" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InsufficientDuration" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InsufficientProofProbability" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InsufficientReward" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InsufficientSlots" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidCid" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidClientAddress" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidExpiry" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidMaxSlotLoss" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidSlot" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidSlotHost" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_InvalidState" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_MaximumSlashingTooHigh" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_NothingToWithdraw" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_RepairRewardPercentageTooHigh" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_RequestAlreadyExists" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_ReservationRequired" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_SlashPercentageTooHigh" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_SlotIsFree" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_SlotNotAcceptingProofs" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_SlotNotFree" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_StartNotBeforeExpiry" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_TransferFailed" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Marketplace_UnknownRequest" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Periods_InvalidSecondsPerPeriod" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_InsufficientBlockHeight" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_InvalidProof" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_PeriodNotEnded" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_ProofAlreadyMarkedMissing" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_ProofAlreadySubmitted" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_ProofNotMissing" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_ProofNotRequired" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "Proofs_ValidationTimedOut" ,
"type" : "error"
} ,
{
"inputs" : [ ] ,
"name" : "SlotReservations_ReservationNotAllowed" ,
"type" : "error"
} ,
2024-08-07 18:58:31 +03:00
{
"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 ,
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"name" : "SlotFilled" ,
"type" : "event"
} ,
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : true ,
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
"indexed" : false ,
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"name" : "SlotFreed" ,
"type" : "event"
} ,
2024-10-08 15:27:06 +03:00
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : true ,
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
"indexed" : false ,
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-10-08 15:27:06 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-10-08 15:27:06 +03:00
}
] ,
"name" : "SlotReservationsFull" ,
"type" : "event"
} ,
2024-08-07 18:58:31 +03:00
{
"anonymous" : false ,
"inputs" : [
{
"indexed" : false ,
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
"components" : [
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "proofProbability" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "pricePerBytePerSecond" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "collateralPerByte" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slots" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slotSize" ,
"type" : "uint64"
} ,
{
"internalType" : "uint64" ,
"name" : "duration" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint64" ,
"name" : "maxSlotLoss" ,
"type" : "uint64"
}
] ,
"indexed" : false ,
"internalType" : "struct Ask" ,
"name" : "ask" ,
"type" : "tuple"
} ,
{
"indexed" : false ,
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "expiry" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"name" : "StorageRequested" ,
"type" : "event"
} ,
2024-10-08 15:27:06 +03:00
{
"inputs" : [
{
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-10-08 15:27:06 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-10-08 15:27:06 +03:00
}
] ,
"name" : "canReserveSlot" ,
"outputs" : [
{
"internalType" : "bool" ,
"name" : "" ,
"type" : "bool"
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2024-08-07 18:58:31 +03:00
{
"inputs" : [ ] ,
2024-11-25 20:27:00 +02:00
"name" : "configuration" ,
2024-08-07 18:58:31 +03:00
"outputs" : [
{
"components" : [
{
"components" : [
{
"internalType" : "uint8" ,
"name" : "repairRewardPercentage" ,
"type" : "uint8"
} ,
{
"internalType" : "uint8" ,
"name" : "maxNumberOfSlashes" ,
"type" : "uint8"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint8" ,
"name" : "slashPercentage" ,
"type" : "uint8"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint8" ,
2025-02-25 09:52:04 +02:00
"name" : "validatorRewardPercentage" ,
2024-08-07 18:58:31 +03:00
"type" : "uint8"
}
] ,
"internalType" : "struct CollateralConfig" ,
"name" : "collateral" ,
"type" : "tuple"
} ,
{
"components" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "period" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "timeout" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint8" ,
"name" : "downtime" ,
"type" : "uint8"
} ,
2024-09-24 13:31:07 +03:00
{
"internalType" : "uint8" ,
"name" : "downtimeProduct" ,
"type" : "uint8"
2025-02-25 09:52:04 +02:00
} ,
{
"internalType" : "string" ,
"name" : "zkeyHash" ,
"type" : "string"
2024-08-07 18:58:31 +03:00
}
] ,
"internalType" : "struct ProofConfig" ,
"name" : "proofs" ,
"type" : "tuple"
2024-10-08 15:27:06 +03:00
} ,
{
"components" : [
{
"internalType" : "uint8" ,
"name" : "maxReservations" ,
"type" : "uint8"
}
] ,
"internalType" : "struct SlotReservationsConfig" ,
"name" : "reservations" ,
"type" : "tuple"
2025-02-25 09:52:04 +02:00
} ,
{
"internalType" : "uint64" ,
"name" : "requestDurationLimit" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"internalType" : "struct MarketplaceConfig" ,
"name" : "" ,
"type" : "tuple"
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2025-02-25 09:52:04 +02:00
{
"inputs" : [
{
"internalType" : "SlotId" ,
"name" : "slotId" ,
"type" : "bytes32"
}
] ,
"name" : "currentCollateral" ,
"outputs" : [
{
"internalType" : "uint256" ,
"name" : "" ,
"type" : "uint256"
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2024-08-07 18:58:31 +03:00
{
"inputs" : [
{
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"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"
} ,
2024-09-24 13:31:07 +03:00
{
"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"
} ,
2024-08-07 18:58:31 +03:00
{
"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" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "proofProbability" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "pricePerBytePerSecond" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "collateralPerByte" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slots" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slotSize" ,
"type" : "uint64"
} ,
{
"internalType" : "uint64" ,
"name" : "duration" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint64" ,
"name" : "maxSlotLoss" ,
"type" : "uint64"
}
] ,
"internalType" : "struct Ask" ,
"name" : "ask" ,
"type" : "tuple"
} ,
{
"components" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "bytes" ,
2024-08-07 18:58:31 +03:00
"name" : "cid" ,
2025-02-25 09:52:04 +02:00
"type" : "bytes"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "bytes32" ,
"name" : "merkleRoot" ,
"type" : "bytes32"
}
] ,
"internalType" : "struct Content" ,
"name" : "content" ,
"type" : "tuple"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "expiry" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "bytes32" ,
"name" : "nonce" ,
"type" : "bytes32"
}
] ,
"internalType" : "struct Request" ,
"name" : "request" ,
"type" : "tuple"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"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" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "proofProbability" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "pricePerBytePerSecond" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "collateralPerByte" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slots" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slotSize" ,
"type" : "uint64"
} ,
{
"internalType" : "uint64" ,
"name" : "duration" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint64" ,
"name" : "maxSlotLoss" ,
"type" : "uint64"
}
] ,
"internalType" : "struct Ask" ,
"name" : "ask" ,
"type" : "tuple"
} ,
{
"components" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "bytes" ,
2024-08-07 18:58:31 +03:00
"name" : "cid" ,
2025-02-25 09:52:04 +02:00
"type" : "bytes"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "bytes32" ,
"name" : "merkleRoot" ,
"type" : "bytes32"
}
] ,
"internalType" : "struct Content" ,
"name" : "content" ,
"type" : "tuple"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "expiry" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"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" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"name" : "markProofAsMissing" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
{
"inputs" : [
{
"internalType" : "SlotId" ,
"name" : "slotId" ,
"type" : "bytes32"
}
] ,
"name" : "missingProofs" ,
"outputs" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"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" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
{
"inputs" : [
{
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
}
] ,
"name" : "requestExpiry" ,
"outputs" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
}
] ,
"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" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "proofProbability" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "pricePerBytePerSecond" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
"internalType" : "uint256" ,
2025-02-25 09:52:04 +02:00
"name" : "collateralPerByte" ,
2024-08-07 18:58:31 +03:00
"type" : "uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slots" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
"name" : "slotSize" ,
"type" : "uint64"
} ,
{
"internalType" : "uint64" ,
"name" : "duration" ,
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "uint64" ,
"name" : "maxSlotLoss" ,
"type" : "uint64"
}
] ,
"internalType" : "struct Ask" ,
"name" : "ask" ,
"type" : "tuple"
} ,
{
"components" : [
{
2025-02-25 09:52:04 +02:00
"internalType" : "bytes" ,
2024-08-07 18:58:31 +03:00
"name" : "cid" ,
2025-02-25 09:52:04 +02:00
"type" : "bytes"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "bytes32" ,
"name" : "merkleRoot" ,
"type" : "bytes32"
}
] ,
"internalType" : "struct Content" ,
"name" : "content" ,
"type" : "tuple"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-08-07 18:58:31 +03:00
"name" : "expiry" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-08-07 18:58:31 +03:00
} ,
{
"internalType" : "bytes32" ,
"name" : "nonce" ,
"type" : "bytes32"
}
] ,
"internalType" : "struct Request" ,
"name" : "request" ,
"type" : "tuple"
}
] ,
"name" : "requestStorage" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2024-10-08 15:27:06 +03:00
{
"inputs" : [
{
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
2025-02-25 09:52:04 +02:00
"internalType" : "uint64" ,
2024-10-08 15:27:06 +03:00
"name" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"type" : "uint64"
2024-10-08 15:27:06 +03:00
}
] ,
"name" : "reserveSlot" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
} ,
2025-02-25 09:52:04 +02:00
{
"inputs" : [
{
"internalType" : "SlotId" ,
"name" : "slotId" ,
"type" : "bytes32"
}
] ,
"name" : "slotProbability" ,
"outputs" : [
{
"internalType" : "uint256" ,
"name" : "" ,
"type" : "uint256"
}
] ,
"stateMutability" : "view" ,
"type" : "function"
} ,
2024-08-07 18:58:31 +03:00
{
"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"
2024-09-24 13:31:07 +03:00
} ,
{
"inputs" : [
{
"internalType" : "RequestId" ,
"name" : "requestId" ,
"type" : "bytes32"
} ,
{
"internalType" : "address" ,
"name" : "withdrawRecipient" ,
"type" : "address"
}
] ,
"name" : "withdrawFunds" ,
"outputs" : [ ] ,
"stateMutability" : "nonpayable" ,
"type" : "function"
2024-08-07 18:58:31 +03:00
}
] ,
2025-02-25 09:52:04 +02:00
"transactionHash" : "0x89ee66ffd30b7f5d12bdce74907e5a04d49f558c2839f3d45e23bec149e4c4e8" ,
2024-08-07 18:58:31 +03:00
"receipt" : {
"to" : null ,
"from" : "0x3A39904B71595608524274BFD8c20FCfd9e77236" ,
2025-02-25 09:52:04 +02:00
"contractAddress" : "0xfFaF679D5Cbfdd5Dbc9Be61C616ed115DFb597ed" ,
2024-08-07 18:58:31 +03:00
"transactionIndex" : 0 ,
2025-02-25 09:52:04 +02:00
"gasUsed" : "4236077" ,
2024-08-07 18:58:31 +03:00
"logsBloom" : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" ,
2025-02-25 09:52:04 +02:00
"blockHash" : "0x54b28674a85560238c8917fb0abb59f4ff8930401556766c355fc4b48234eb7d" ,
"transactionHash" : "0x89ee66ffd30b7f5d12bdce74907e5a04d49f558c2839f3d45e23bec149e4c4e8" ,
2024-08-07 18:58:31 +03:00
"logs" : [ ] ,
2025-02-25 09:52:04 +02:00
"blockNumber" : 3013506 ,
"cumulativeGasUsed" : "4236077" ,
2024-08-07 18:58:31 +03:00
"status" : 1 ,
"byzantium" : true
} ,
"args" : [
{
"collateral" : {
"repairRewardPercentage" : 10 ,
"maxNumberOfSlashes" : 2 ,
2025-02-25 09:52:04 +02:00
"slashPercentage" : 20 ,
"validatorRewardPercentage" : 20
2024-08-07 18:58:31 +03:00
} ,
"proofs" : {
2024-11-26 11:43:22 +02:00
"period" : 120 ,
2024-08-07 18:58:31 +03:00
"timeout" : 30 ,
"downtime" : 64 ,
2024-09-24 13:31:07 +03:00
"downtimeProduct" : 67 ,
"zkeyHash" : "afc470031923f60982f36932686665a55b88c4ef4ee4b7ae21e6dc6685cfae4b"
2024-10-08 15:27:06 +03:00
} ,
"reservations" : {
"maxReservations" : 3
2025-02-25 09:52:04 +02:00
} ,
"requestDurationLimit" : 2592000
2024-08-07 18:58:31 +03:00
} ,
"0x34a22f3911De437307c6f4485931779670f78764" ,
2024-09-24 13:31:07 +03:00
"0x02dd582726F7507D7d0F8bD8bf8053d3006F9092"
2024-08-07 18:58:31 +03:00
] ,
2025-02-25 09:52:04 +02:00
"numDeployments" : 7 ,
"solcInputHash" : "62478d275926ca2a01e7974e918885d1" ,
"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\":\"uint8\",\"name\":\"slashPercentage\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"validatorRewardPercentage\",\"type\":\"uint8\"}],\"internalType\":\"struct CollateralConfig\",\"name\":\"collateral\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"period\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"timeout\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"downtime\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"downtimeProduct\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"zkeyHash\",\"type\":\"string\"}],\"internalType\":\"struct ProofConfig\",\"name\":\"proofs\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"maxReservations\",\"type\":\"uint8\"}],\"internalType\":\"struct SlotReservationsConfig\",\"name\":\"reservations\",\"type\":\"tuple\"},{\"internalType\":\"uint64\",\"name\":\"requestDurationLimit\",\"type\":\"uint64\"}],\"internalType\":\"struct MarketplaceConfig\",\"name\":\"config\",\"type\":\"tuple\"},{\"internalType\":\"contract IERC20\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"contract IGroth16Verifier\",\"name\":\"verifier\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"Marketplace_AlreadyPaid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_DurationExceedsLimit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InsufficientCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InsufficientDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InsufficientProofProbability\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InsufficientReward\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InsufficientSlots\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidCid\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidClientAddress\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidExpiry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidMaxSlotLoss\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidSlot\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidSlotHost\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_InvalidState\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_MaximumSlashingTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_NothingToWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_RepairRewardPercentageTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_RequestAlreadyExists\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_ReservationRequired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_SlashPercentageTooHigh\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_SlotIsFree\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_SlotNotAcceptingProofs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_SlotNotFree\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_StartNotBeforeExpiry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_TransferFailed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Marketplace_UnknownRequest\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Periods_InvalidSecondsPerPeriod\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Proofs_InsufficientBlockHeight\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Proofs_InvalidProof\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Proofs_PeriodNotEnded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Proofs_ProofAlreadyMarkedMissing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\" P r o o f s _ P r o o f A
"bytecode" : " 0 x 60 c 0 6040523480156200001157600080 f d 5 b 5060405162004e8438038062004 e 8483398101604081905262000034916200056 f 565 b 602083015180516040850151516001805460 f f 191660 f f 90921691909117905582906001600160401 b 0 38116600003620000815760405163015536 c 760e51 b 815260040160405180910390 f d 5 b 6001600160401 b 0 3166080526101004311620000 b 0 576040516338 f 5 f 66160e11 b 815260040160405180910390 f d 5 b 8151600280546020850151604086015160608701516001600160401 b 0 39586166001600160801 b 0 319909416939093176801000000000000000095909216949094021761 f f f f 60801 b 1916600160801 b 60 f f 9485160260 f f 60881 b 191617600160881 b 939091169290920291909117815560808301518391906003906200013890826200072 d 565 b 5050600480546001600160 a 0 1 b 0 319166001600160 a 0 1 b 0 393841617905550831660 a 0 5250825151606460 f f 909116111562000187576040516302 b d 816360e41 b 815260040160405180910390 f d 5 b 606483600001516040015160 f f 161115620001 b 5576040516354e5 e 0 a b 60e11 b 815260040160405180910390 f d 5 b 82516040810151602090910151606491620001 d 0 91620007 f 9565 b 60 f f 161115620001 f 3576040516317 f f 9 d 0 f 60e21 b 815260040160405180910390 f d 5 b 82518051600 b 805460208085015160408087015160609788015160 f f 90811663010000000263 f f 0 0 0 0 0 0 1992821662010000029290921663 f f f f 0 0 0 0 199482166101000261 f f f f 1990971698821698909817959095179290921695909517178355808801518051600 c 80549383015196830151978301518516600160881 b 0 260 f f 60881 b 1998909516600160801 b 0 29790971661 f f f f 60801 b 196001600160401 b 0 397881668010000000000000000026001600160801 b 0 31990951697909216969096179290921791909116939093171783556080820151869391929190600 d 90620002e090826200072 d 565 b 50505060408201515160038201805460 f f 191660 f f 909216919091179055606090910151600490910180546001600160401 b 0 319166001600160401 b 0 3909216919091179055506200082 b 915050565 b 634e487 b 7160e01 b 600052604160045260246000 f d 5 b 60405160 a 0 81016001600160401 b 0 3811182821017156200036 b 576200036 b 62000330565 b 60405290565 b 604051608081016001600160401 b 0 3811182821017156200036 b 576200036 b 62000330565 b 604051601 f 8201601 f 191681016001600160401 b 0 381118282101715620003 c 157620003 c 162000330565 b 604052919050565 b 805160 f f 81168114620003 d b 57600080 f d 5 b 919050565 b 80516001600160401 b 0 381168114620003 d b 57600080 f d 5 b 600060 a 0 82840312156200040 b 57600080 f d 5 b 6200041562000346565 b 90506200042282620003e0565 b 8152602062000433818401620003e0565 b 818301526200044560408401620003 c 9565 b 60408301526200045860608401620003 c 9565 b 606083015260808301516001600160401 b 0 3808211156200047857600080 f d 5 b 818501915085601 f 8301126200048 d 57600080 f d 5 b 815181811115620004 a 257620004 a 262000330565 b 620004 b 6601 f 8201601 f 1916850162000396565 b 91508082528684828501011115620004 c d 57600080 f d 5 b 60005 b 81811015620004 e d 578381018501518382018601528401620004 d 0 565 b 5060008482840101525080608085015250505092915050565 b 6000602082840312156200051957600080 f d 5 b 604051602081016001600160401 b 0 3811182821017156200053e576200053 e 62000330565 b 6040529050806200054 f 83620003 c 9565 b 905292915050565 b 80516001600160 a 0 1 b 0 381168114620003 d b 57600080 f d 5 b 6000806000606084860312156200058557600080 f d 5 b 83516001600160401 b 0 3808211156200059 d 57600080 f d 5 b 9085019081870360e0811215620005 b 357600080 f d 5 b 620005 b d 62000371565 b 6080821215620005 c c 57600080 f d 5 b 620005 d 662000371565 b 9150620005e384620003 c 9565 b 8252620005 f 360208501620003 c 9565 b 60208301526200060660408501620003 c 9565 b 60408301526200061960608501620003 c 9565 b 6060830152908152608083015190828211156200063557600080 f d 5 b 6200064389838601620003 f 8565 b 6020820152620006578960 a 0 860162000506565 b 60408201526200066 a 60 c 0 8501620003e0565 b 6060820152955062000683925050506020850162000557565 b 9150620006936040850162000557565 b 90509250925092565 b 600181811 c 90821680620006 b 157607 f 821691505 b 602082108103620006 d 257634e487 b 7160e01 b 600052602260045260246000 f d 5 b 50919050565 b 601 f 82111562000728576000816000526020600020601 f 850160051 c 81016020861015620007035750805 b 601 f 850160051 c 820191505 b 8181101562000724578281556001016200070 f 565 b 5050505 b 505050565 b 81516001600160401 b 0 381111562000749576200074962000330565 b 62000761816200075 a 84546200069 c 565 b 84620006 d 8565 b 602080601 f 831160018114620007995760008415620007805750858301515 b 600019600386901 b 1 c 1916600185901 b 17855562000724565 b 600085815260208120601 f 198616915 b 82811015620007 c a 57888601518255948401946001909101908401620007 a 9565 b 5085821015620007e95787850151600019600388901 b 60 f 8161 c 191681555 b 5050505050600190811 b 0 19055
"deployedBytecode" : " 0 x 608060405234801561001057600080 f d 5 b 50600436106101 c 45760003560e01 c 80636e2 b 54 e e 116100 f 9578063 c 0 c c 4 a d d 11610097578063e8 a a 0 a 0 711610071578063e8 a a 0 a 0 714610461578063 f 752196 b 14610474578063 f b 1e61 c a 1461049 d 578063 f c 0 c 546 a 146104 b d 57600080 f d 5 b 8063 c 0 c c 4 a d d 14610428578063 c 5 d 433511461043 b 578063 d 0 2 b b e 331461044e57600080 f d 5 b 8063 a 29 c 29 a 4116100 d 3578063 a 29 c 29 a 4146103 b 2578063 a 3 a 0 807e146103 c 5578063 b 396 d c 79146103e8578063 b e 5 c d c 481461040857600080 f d 5 b 80636e2 b 54 e e 146103845780639777 b 72 c 1461039757806399 b 6 d a 0 c 1461039 f 57600080 f d 5 b 8063329 b 5 a 0 b 1161016657806351 a 766421161014057806351 a 76642146103035780635 d a 73835146103165780636 b 0 0 c 8 c f 1461032 b 5780636 c 70 b e e 91461036 f 57600080 f d 5 b 8063329 b 5 a 0 b 14610298578063458 d 2 b f 1146102 c b 5780634641 d c e 6146102 d e 57600080 f d 5 b 806312827602116101 a 2578063128276021461022e5780631 d 873 c 1 b 14610241578063237 d 84821461025457806326 d 6 f 8341461026757600080 f d 5 b 806302 f a 8e65146101 c 957806305 b 90773146101 f 95780630 a e f a a b e 14610219575 b 600080 f d 5 b 6101 d c 6101 d 736600461380 a 565 b 6104e3565 b 6040516001600160401 b 0 390911681526020015 b 60405180910390 f 35 b 61020 c 61020736600461380 a 565 b 610573565 b 6040516101 f 0 9190613839565 b 61022 c 610227366004613868565 b 610696565 b 0 0 5 b 61022 c 61023 c 3660046138 c f 565 b 610829565 b 61022 c 61024 f 366004613912565 b 6108 f a 565 b 61022 c 6102623660046138 c f 565 b 610 d a 0 565 b 61028 a 61027536600461380 a 565 b 60009081526012602052604090206003015490565 b 6040519081526020016101 f 0 565 b 6101 d c 6102 a 636600461380 a 565 b 600090815260116020526040902060020154600160 c 0 1 b 90046001600160401 b 0 31690565 b 61028 a 6102 d 936600461380 a 565 b 610 f e c 565 b 6102 f 16102 e c 36600461380 a 565 b 611005565 b 60405160 f f 90911681526020016101 f 0 565 b 61028 a 61031136600461380 a 565 b 611018565 b 61031e61106 f 565 b 6040516101 f 0 9190613952565 b 61035761033936600461380 a 565 b 6000908152601260205260409020600401546001600160 a 0 1 b 0 31690565 b 6040516001600160 a 0 1 b 0 390911681526020016101 f 0 565 b 610377611096565 b 6040516101 f 0 91906139 d c 565 b 61022 c 61039236600461380 a 565 b 61120 d 565 b 61031e61121 a 565 b 61022 c 6103 a d 366004613 a a d 565 b 611239565 b 61022 c 6103 c 0 36600461380 a 565 b 61177 f 565 b 6103 d 86103 d 336600461380 a 565 b 6117 d 1565 b 60405190151581526020016101 f 0 565 b 6103 f b 6103 f 636600461380 a 565 b 61180 d 565 b 6040516101 f 0 9190613 b c b 565 b 61041 b 61041636600461380 a 565 b 611 a e f 565 b 6040516101 f 0 9190613 c 0 6565 b 6103 d 861043636600461380 a 565 b 611 b b d 565 b 61022 c 610449366004613 c 1 a 565 b 611 b d 0 565 b 6103 d 861045 c 3660046138 c f 565 b 612051565 b 61022 c 61046 f 366004613 c 3 f 565 b 6120 b d 565 b 6101 d c 61048236600461380 a 565 b 6000908152600660205260409020546001600160401 b 0 31690565 b 6104 b 0 6104 a b 36600461380 a 565 b 6121 e d 565 b 6040516101 f 0 9190613 c 6 d 565 b 7 f 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 610357565 b 600081815260116020526040812060020154600160801 b 90046001600160401 b 0 3168161050 f 84610573565 b 9050600081600481111561052557610525613823565 b 14806105425750600181600481111561054057610540613823565 b 145 b 1561054e575092915050565 b 61056 b 6001600160401 b 0 38316610566600142613 c 96565 b 612403565 b 949350505050565 b 60008181526010602052604081205482906001600160 a 0 1 b 0 3166105 a a 57604051635 e e b 253 d 60e11 b 815260040160405180910390 f d 5 b 600083815260116020526040812090815460 f f 1660048111156105 c f 576105 c f 613823565 b 14801561060e5750600084815260116020526040902060020154600160 c 0 1 b 90046001600160401 b 0 3166001600160401 b 0 316426001600160401 b 0 316115 b 1561061 d 576002925050610690565 b 6001815460 f f 16600481111561063557610635613823565 b 148061065657506000815460 f f 16600481111561065457610654613823565 b 145 b 801561067 a 575060028101546001600160401 b 0 3600160801 b 909104811642909116115 b 15610689576003925050610690565 b 5460 f f 1691505 b 50919050565 b 826000808281526012602052604090205460 f f 1660068111156106 b b 576106 b b 613823565 b 0 36106 d 957604051638 b 41 e c 7 f 60e01 b 815260040160405180910390 f d 5 b 600084815260126020526040902060048101546001600160 a 0 1 b 0 316331461072 d 576040517 f 57 a 6 f 4e900000000000000000000000000000000000000000000000000000000815260040160405180910390 f d 5 b 600061073886611 a e f 565 b 9050600481600681111561074e5761074 e 613823565 b 0 3610785576040517 f c 2 c b f 77700000000000000000000000000000000000000000000000000000000815260040160405180910390 f d 5 b 600281600681111561079957610799613823565 b 0 36107 b 3576107 a e 826001015487878761241 b 565 b 610821565 b 60058160068111156107 c 7576107 c 7613823565 b 0 36107 d c 576107 a e 8260010154878787612664565 b 60038160068111156107 f 0 576107 f 0 613823565 b 0 361
2024-08-07 18:58:31 +03:00
"devdoc" : {
"kind" : "dev" ,
"methods" : {
2025-02-25 09:52:04 +02:00
"fillSlot(bytes32,uint64,((uint256,uint256),((uint256,uint256),(uint256,uint256)),(uint256,uint256)))" : {
2024-09-24 13:31:07 +03:00
"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"
}
} ,
2024-08-07 18:58:31 +03:00
"withdrawFunds(bytes32)" : {
2024-10-21 11:00:46 +03:00
"details" : "Request must be cancelled, failed or finished, and the transaction must originate from the depositor address." ,
2024-08-07 18:58:31 +03:00
"params" : {
"requestId" : "the id of the request"
}
2024-09-24 13:31:07 +03:00
} ,
"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"
}
2024-08-07 18:58:31 +03:00
}
} ,
"version" : 1
} ,
"userdoc" : {
"kind" : "user" ,
"methods" : {
2025-02-25 09:52:04 +02:00
"fillSlot(bytes32,uint64,((uint256,uint256),((uint256,uint256),(uint256,uint256)),(uint256,uint256)))" : {
2024-09-24 13:31:07 +03:00
"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."
} ,
2024-08-07 18:58:31 +03:00
"withdrawFunds(bytes32)" : {
2024-09-24 13:31:07 +03:00
"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."
2024-08-07 18:58:31 +03:00
}
} ,
"version" : 1
} ,
"storageLayout" : {
"storage" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 6014 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2024-10-08 15:27:06 +03:00
"label" : "_reservations" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_struct(AddressSet)1902_storage)"
2024-10-08 15:27:06 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 6017 ,
2024-10-08 15:27:06 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_config" ,
"offset" : 0 ,
"slot" : "1" ,
2025-02-25 09:52:04 +02:00
"type" : "t_struct(SlotReservationsConfig)2228_storage"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5249 ,
2024-10-08 15:27:06 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_config" ,
"offset" : 0 ,
"slot" : "2" ,
2025-02-25 09:52:04 +02:00
"type" : "t_struct(ProofConfig)2225_storage"
2024-10-08 15:27:06 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5252 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_verifier" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "4" ,
"type" : "t_contract(IGroth16Verifier)2421"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5289 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_slotStarts" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "5" ,
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_uint64)"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5294 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_missed" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "6" ,
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_uint64)"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5302 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_received" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "7" ,
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_mapping(t_userDefinedValueType(Period)5079,t_bool))"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5310 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_missing" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "8" ,
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_mapping(t_userDefinedValueType(Period)5079,t_bool))"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 6159 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_requestsPerClient" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "9" ,
2024-08-07 18:58:31 +03:00
"type" : "t_mapping(t_address,t_struct(Bytes32Set)1781_storage)"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 6164 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_slotsPerHost" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "10" ,
2024-08-07 18:58:31 +03:00
"type" : "t_mapping(t_address,t_struct(Bytes32Set)1781_storage)"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3104 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_config" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "11" ,
"type" : "t_struct(MarketplaceConfig)2204_storage"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3110 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_requests" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "16" ,
"type" : "t_mapping(t_userDefinedValueType(RequestId)5823,t_struct(Request)5838_storage)"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3116 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_requestContexts" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "17" ,
"type" : "t_mapping(t_userDefinedValueType(RequestId)5823,t_struct(RequestContext)3140_storage)"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3122 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_slots" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "18" ,
"type" : "t_mapping(t_userDefinedValueType(SlotId)5825,t_struct(Slot)3158_storage)"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3125 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "_marketplaceTotals" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "19" ,
"type" : "t_struct(MarketplaceTotals)5072_storage"
2024-08-07 18:58:31 +03:00
}
] ,
"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"
} ,
2025-02-25 09:52:04 +02:00
"t_bytes_storage" : {
"encoding" : "bytes" ,
"label" : "bytes" ,
"numberOfBytes" : "32"
} ,
"t_contract(IGroth16Verifier)2421" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "contract IGroth16Verifier" ,
"numberOfBytes" : "20"
} ,
2025-02-25 09:52:04 +02:00
"t_enum(RequestState)5864" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "enum RequestState" ,
"numberOfBytes" : "1"
} ,
2025-02-25 09:52:04 +02:00
"t_enum(SlotState)5872" : {
2024-08-07 18:58:31 +03:00
"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"
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(Period)5079,t_bool)" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(Period)5079" ,
2024-08-07 18:58:31 +03:00
"label" : "mapping(Periods.Period => bool)" ,
"numberOfBytes" : "32" ,
"value" : "t_bool"
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(RequestId)5823,t_struct(Request)5838_storage)" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(RequestId)5823" ,
2024-08-07 18:58:31 +03:00
"label" : "mapping(RequestId => struct Request)" ,
"numberOfBytes" : "32" ,
2025-02-25 09:52:04 +02:00
"value" : "t_struct(Request)5838_storage"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(RequestId)5823,t_struct(RequestContext)3140_storage)" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(RequestId)5823" ,
2024-08-07 18:58:31 +03:00
"label" : "mapping(RequestId => struct Marketplace.RequestContext)" ,
"numberOfBytes" : "32" ,
2025-02-25 09:52:04 +02:00
"value" : "t_struct(RequestContext)3140_storage"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(SlotId)5825,t_mapping(t_userDefinedValueType(Period)5079,t_bool))" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(SlotId)5825" ,
2024-08-07 18:58:31 +03:00
"label" : "mapping(SlotId => mapping(Periods.Period => bool))" ,
"numberOfBytes" : "32" ,
2025-02-25 09:52:04 +02:00
"value" : "t_mapping(t_userDefinedValueType(Period)5079,t_bool)"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(SlotId)5825,t_struct(AddressSet)1902_storage)" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(SlotId)5825" ,
2024-10-08 15:27:06 +03:00
"label" : "mapping(SlotId => struct EnumerableSet.AddressSet)" ,
"numberOfBytes" : "32" ,
"value" : "t_struct(AddressSet)1902_storage"
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(SlotId)5825,t_struct(Slot)3158_storage)" : {
2024-10-08 15:27:06 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(SlotId)5825" ,
2024-08-07 18:58:31 +03:00
"label" : "mapping(SlotId => struct Marketplace.Slot)" ,
"numberOfBytes" : "32" ,
2025-02-25 09:52:04 +02:00
"value" : "t_struct(Slot)3158_storage"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_mapping(t_userDefinedValueType(SlotId)5825,t_uint64)" : {
2024-08-07 18:58:31 +03:00
"encoding" : "mapping" ,
2025-02-25 09:52:04 +02:00
"key" : "t_userDefinedValueType(SlotId)5825" ,
"label" : "mapping(SlotId => uint64)" ,
2024-08-07 18:58:31 +03:00
"numberOfBytes" : "32" ,
2025-02-25 09:52:04 +02:00
"value" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
"t_string_storage" : {
"encoding" : "bytes" ,
"label" : "string" ,
"numberOfBytes" : "32"
} ,
2024-10-08 15:27:06 +03:00
"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"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(Ask)5853_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Ask" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 5840 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "proofProbability" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint256"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5842 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "pricePerBytePerSecond" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "1" ,
"type" : "t_uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5844 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "collateralPerByte" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "2" ,
"type" : "t_uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5846 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "slots" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "3" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5848 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "slotSize" ,
"offset" : 8 ,
"slot" : "3" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5850 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "duration" ,
"offset" : 16 ,
"slot" : "3" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5852 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "maxSlotLoss" ,
2025-02-25 09:52:04 +02:00
"offset" : 24 ,
"slot" : "3" ,
2024-08-07 18:58:31 +03:00
"type" : "t_uint64"
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "128"
2024-08-07 18:58:31 +03:00
} ,
"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"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(CollateralConfig)2214_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct CollateralConfig" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 2207 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "repairRewardPercentage" ,
"offset" : 0 ,
"slot" : "0" ,
"type" : "t_uint8"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2209 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "maxNumberOfSlashes" ,
"offset" : 1 ,
"slot" : "0" ,
"type" : "t_uint8"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2211 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "slashPercentage" ,
2024-08-07 18:58:31 +03:00
"offset" : 2 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint8"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2213 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "validatorRewardPercentage" ,
"offset" : 3 ,
2024-08-07 18:58:31 +03:00
"slot" : "0" ,
"type" : "t_uint8"
}
] ,
"numberOfBytes" : "32"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(Content)5858_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Content" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 5855 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "cid" ,
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_bytes_storage"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5857 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "merkleRoot" ,
"offset" : 0 ,
"slot" : "1" ,
"type" : "t_bytes32"
}
] ,
"numberOfBytes" : "64"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(MarketplaceConfig)2204_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct MarketplaceConfig" ,
"members" : [
{
"astId" : 2195 ,
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "collateral" ,
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_struct(CollateralConfig)2214_storage"
2024-08-07 18:58:31 +03:00
} ,
{
"astId" : 2198 ,
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "proofs" ,
"offset" : 0 ,
"slot" : "1" ,
2025-02-25 09:52:04 +02:00
"type" : "t_struct(ProofConfig)2225_storage"
2024-10-08 15:27:06 +03:00
} ,
{
"astId" : 2201 ,
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "reservations" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "3" ,
"type" : "t_struct(SlotReservationsConfig)2228_storage"
} ,
{
"astId" : 2203 ,
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "requestDurationLimit" ,
"offset" : 0 ,
"slot" : "4" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "160"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_struct(MarketplaceTotals)5072_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Marketplace.MarketplaceTotals" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 5069 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "received" ,
"offset" : 0 ,
"slot" : "0" ,
"type" : "t_uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5071 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "sent" ,
"offset" : 0 ,
"slot" : "1" ,
"type" : "t_uint256"
}
] ,
"numberOfBytes" : "64"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(ProofConfig)2225_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct ProofConfig" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 2216 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "period" ,
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2218 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "timeout" ,
2025-02-25 09:52:04 +02:00
"offset" : 8 ,
"slot" : "0" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2220 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "downtime" ,
2025-02-25 09:52:04 +02:00
"offset" : 16 ,
"slot" : "0" ,
2024-08-07 18:58:31 +03:00
"type" : "t_uint8"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2222 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "downtimeProduct" ,
"offset" : 17 ,
"slot" : "0" ,
"type" : "t_uint8"
2024-09-24 13:31:07 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 2224 ,
2024-09-24 13:31:07 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "zkeyHash" ,
2024-09-24 13:31:07 +03:00
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "1" ,
"type" : "t_string_storage"
2024-08-07 18:58:31 +03:00
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "64"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_struct(Request)5838_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Request" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 5827 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "client" ,
"offset" : 0 ,
"slot" : "0" ,
"type" : "t_address"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5830 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "ask" ,
"offset" : 0 ,
"slot" : "1" ,
2025-02-25 09:52:04 +02:00
"type" : "t_struct(Ask)5853_storage"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5833 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "content" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "5" ,
"type" : "t_struct(Content)5858_storage"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5835 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "expiry" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "7" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 5837 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "nonce" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "8" ,
2024-08-07 18:58:31 +03:00
"type" : "t_bytes32"
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "288"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_struct(RequestContext)3140_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Marketplace.RequestContext" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 3128 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "state" ,
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_enum(RequestState)5864"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3131 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "fundsToReturnToClient" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "1" ,
"type" : "t_uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3133 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
2025-02-25 09:52:04 +02:00
"label" : "slotsFilled" ,
2024-08-07 18:58:31 +03:00
"offset" : 0 ,
"slot" : "2" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3135 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "startedAt" ,
2025-02-25 09:52:04 +02:00
"offset" : 8 ,
"slot" : "2" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3137 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "endsAt" ,
2025-02-25 09:52:04 +02:00
"offset" : 16 ,
"slot" : "2" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3139 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "expiresAt" ,
2025-02-25 09:52:04 +02:00
"offset" : 24 ,
"slot" : "2" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "96"
2024-08-07 18:58:31 +03:00
} ,
"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"
} ,
2025-02-25 09:52:04 +02:00
"t_struct(Slot)3158_storage" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "struct Marketplace.Slot" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 3143 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "state" ,
"offset" : 0 ,
"slot" : "0" ,
2025-02-25 09:52:04 +02:00
"type" : "t_enum(SlotState)5872"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3146 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "requestId" ,
"offset" : 0 ,
"slot" : "1" ,
2025-02-25 09:52:04 +02:00
"type" : "t_userDefinedValueType(RequestId)5823"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3149 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "filledAt" ,
"offset" : 0 ,
"slot" : "2" ,
2025-02-25 09:52:04 +02:00
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3151 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "slotIndex" ,
2025-02-25 09:52:04 +02:00
"offset" : 8 ,
"slot" : "2" ,
"type" : "t_uint64"
2024-08-07 18:58:31 +03:00
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3154 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "currentCollateral" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "3" ,
2024-08-07 18:58:31 +03:00
"type" : "t_uint256"
} ,
{
2025-02-25 09:52:04 +02:00
"astId" : 3157 ,
2024-08-07 18:58:31 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "host" ,
"offset" : 0 ,
2025-02-25 09:52:04 +02:00
"slot" : "4" ,
2024-08-07 18:58:31 +03:00
"type" : "t_address"
}
] ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "160"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_struct(SlotReservationsConfig)2228_storage" : {
2024-10-08 15:27:06 +03:00
"encoding" : "inplace" ,
"label" : "struct SlotReservationsConfig" ,
"members" : [
{
2025-02-25 09:52:04 +02:00
"astId" : 2227 ,
2024-10-08 15:27:06 +03:00
"contract" : "contracts/Marketplace.sol:Marketplace" ,
"label" : "maxReservations" ,
"offset" : 0 ,
"slot" : "0" ,
"type" : "t_uint8"
}
] ,
"numberOfBytes" : "32"
} ,
2024-08-07 18:58:31 +03:00
"t_uint256" : {
"encoding" : "inplace" ,
"label" : "uint256" ,
"numberOfBytes" : "32"
} ,
"t_uint64" : {
"encoding" : "inplace" ,
"label" : "uint64" ,
"numberOfBytes" : "8"
} ,
"t_uint8" : {
"encoding" : "inplace" ,
"label" : "uint8" ,
"numberOfBytes" : "1"
} ,
2025-02-25 09:52:04 +02:00
"t_userDefinedValueType(Period)5079" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "Periods.Period" ,
2025-02-25 09:52:04 +02:00
"numberOfBytes" : "8"
2024-08-07 18:58:31 +03:00
} ,
2025-02-25 09:52:04 +02:00
"t_userDefinedValueType(RequestId)5823" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "RequestId" ,
"numberOfBytes" : "32"
} ,
2025-02-25 09:52:04 +02:00
"t_userDefinedValueType(SlotId)5825" : {
2024-08-07 18:58:31 +03:00
"encoding" : "inplace" ,
"label" : "SlotId" ,
"numberOfBytes" : "32"
}
}
}
}