CONTRACT_ABIS
const CONTRACT_ABIS: object;
Defined in: packages/synapse-sdk/src/utils/constants.ts:29
Contract ABIs
Type Declaration
Section titled “Type Declaration”readonly ERC20: readonly [{ inputs: readonly [{ indexed: true; name: "owner"; type: "address"; }, { indexed: true; name: "spender"; type: "address"; }, { indexed: false; name: "value"; type: "uint256"; }]; name: "Approval"; type: "event";}, { inputs: readonly [{ indexed: true; name: "from"; type: "address"; }, { indexed: true; name: "to"; type: "address"; }, { indexed: false; name: "value"; type: "uint256"; }]; name: "Transfer"; type: "event";}, { inputs: readonly [{ name: "owner"; type: "address"; }, { name: "spender"; type: "address"; }]; name: "allowance"; outputs: readonly [{ type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ name: "spender"; type: "address"; }, { name: "amount"; type: "uint256"; }]; name: "approve"; outputs: readonly [{ type: "bool"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ name: "account"; type: "address"; }]; name: "balanceOf"; outputs: readonly [{ type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "decimals"; outputs: readonly [{ type: "uint8"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "name"; outputs: readonly [{ type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "symbol"; outputs: readonly [{ type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "totalSupply"; outputs: readonly [{ type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ name: "recipient"; type: "address"; }, { name: "amount"; type: "uint256"; }]; name: "transfer"; outputs: readonly [{ type: "bool"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ name: "sender"; type: "address"; }, { name: "recipient"; type: "address"; }, { name: "amount"; type: "uint256"; }]; name: "transferFrom"; outputs: readonly [{ type: "bool"; }]; stateMutability: "nonpayable"; type: "function";}] = erc20Abi;
ERC20 ABI - minimal interface needed for balance and approval operations
ERC20_PERMIT
Section titled “ERC20_PERMIT”readonly ERC20_PERMIT: readonly [{ inputs: readonly [{ name: "owner"; type: "address"; }]; name: "nonces"; outputs: readonly [{ name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "version"; outputs: readonly [{ name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}] = erc20PermitAbi;
Minimal ERC20Permit ABI - for reading nonces() and version()
MULTICALL3
Section titled “MULTICALL3”readonly MULTICALL3: readonly [{ inputs: readonly [{ components: readonly [{ name: "target"; type: "address"; }, { name: "allowFailure"; type: "bool"; }, { name: "callData"; type: "bytes"; }]; name: "calls"; type: "tuple[]"; }]; name: "aggregate3"; outputs: readonly [{ components: readonly [{ name: "success"; type: "bool"; }, { name: "returnData"; type: "bytes"; }]; name: "returnData"; type: "tuple[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getCurrentBlockTimestamp"; outputs: readonly [{ internalType: "uint256"; name: "timestamp"; type: "uint256"; }]; stateMutability: "view"; type: "function";}] = multicall3Abi;
Multicall3 ABI - for batching multiple contract calls into a single RPC request
PAYMENTS
Section titled “PAYMENTS”readonly PAYMENTS: readonly [{ inputs: readonly []; stateMutability: "nonpayable"; type: "constructor";}, { inputs: readonly []; name: "COMMISSION_MAX_BPS"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "NETWORK_FEE"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "UPGRADE_INTERFACE_VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: ""; type: "address"; }, { internalType: "address"; name: ""; type: "address"; }]; name: "accounts"; outputs: readonly [{ internalType: "uint256"; name: "funds"; type: "uint256"; }, { internalType: "uint256"; name: "lockupCurrent"; type: "uint256"; }, { internalType: "uint256"; name: "lockupRate"; type: "uint256"; }, { internalType: "uint256"; name: "lockupLastSettledAt"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "address"; name: "validator"; type: "address"; }, { internalType: "uint256"; name: "commissionRateBps"; type: "uint256"; }, { internalType: "address"; name: "serviceFeeRecipient"; type: "address"; }]; name: "createRail"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "deposit"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }]; name: "depositWithPermit"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "uint256"; name: "rateAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "lockupAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "maxLockupPeriod"; type: "uint256"; }]; name: "depositWithPermitAndApproveOperator"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }, { internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint8"; name: "v"; type: "uint8"; }, { internalType: "bytes32"; name: "r"; type: "bytes32"; }, { internalType: "bytes32"; name: "s"; type: "bytes32"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "uint256"; name: "rateAllowanceIncrease"; type: "uint256"; }, { internalType: "uint256"; name: "lockupAllowanceIncrease"; type: "uint256"; }]; name: "depositWithPermitAndIncreaseOperatorApproval"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "owner"; type: "address"; }]; name: "getAccountInfoIfSettled"; outputs: readonly [{ internalType: "uint256"; name: "fundedUntilEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "currentFunds"; type: "uint256"; }, { internalType: "uint256"; name: "availableFunds"; type: "uint256"; }, { internalType: "uint256"; name: "currentLockupRate"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "getRail"; outputs: readonly [{ components: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "address"; name: "validator"; type: "address"; }, { internalType: "uint256"; name: "paymentRate"; type: "uint256"; }, { internalType: "uint256"; name: "lockupPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "lockupFixed"; type: "uint256"; }, { internalType: "uint256"; name: "settledUpTo"; type: "uint256"; }, { internalType: "uint256"; name: "endEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "commissionRateBps"; type: "uint256"; }, { internalType: "address"; name: "serviceFeeRecipient"; type: "address"; }]; internalType: "struct Payments.RailView"; name: ""; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "payee"; type: "address"; }, { internalType: "address"; name: "token"; type: "address"; }]; name: "getRailsForPayeeAndToken"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "bool"; name: "isTerminated"; type: "bool"; }, { internalType: "uint256"; name: "endEpoch"; type: "uint256"; }]; internalType: "struct Payments.RailInfo[]"; name: ""; type: "tuple[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "payer"; type: "address"; }, { internalType: "address"; name: "token"; type: "address"; }]; name: "getRailsForPayerAndToken"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "bool"; name: "isTerminated"; type: "bool"; }, { internalType: "uint256"; name: "endEpoch"; type: "uint256"; }]; internalType: "struct Payments.RailInfo[]"; name: ""; type: "tuple[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "getRateChangeQueueSize"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; name: "hasCollectedFees"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "uint256"; name: "rateAllowanceIncrease"; type: "uint256"; }, { internalType: "uint256"; name: "lockupAllowanceIncrease"; type: "uint256"; }]; name: "increaseOperatorApproval"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "initialize"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "period"; type: "uint256"; }, { internalType: "uint256"; name: "lockupFixed"; type: "uint256"; }]; name: "modifyRailLockup"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "newRate"; type: "uint256"; }, { internalType: "uint256"; name: "oneTimePayment"; type: "uint256"; }]; name: "modifyRailPayment"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: ""; type: "address"; }, { internalType: "address"; name: ""; type: "address"; }, { internalType: "address"; name: ""; type: "address"; }]; name: "operatorApprovals"; outputs: readonly [{ internalType: "bool"; name: "isApproved"; type: "bool"; }, { internalType: "uint256"; name: "rateAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "lockupAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "rateUsage"; type: "uint256"; }, { internalType: "uint256"; name: "lockupUsage"; type: "uint256"; }, { internalType: "uint256"; name: "maxLockupPeriod"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "owner"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "proxiableUUID"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "renounceOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "bool"; name: "approved"; type: "bool"; }, { internalType: "uint256"; name: "rateAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "lockupAllowance"; type: "uint256"; }, { internalType: "uint256"; name: "maxLockupPeriod"; type: "uint256"; }]; name: "setOperatorApproval"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "untilEpoch"; type: "uint256"; }]; name: "settleRail"; outputs: readonly [{ internalType: "uint256"; name: "totalSettledAmount"; type: "uint256"; }, { internalType: "uint256"; name: "totalNetPayeeAmount"; type: "uint256"; }, { internalType: "uint256"; name: "totalOperatorCommission"; type: "uint256"; }, { internalType: "uint256"; name: "finalSettledEpoch"; type: "uint256"; }, { internalType: "string"; name: "note"; type: "string"; }]; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "settleTerminatedRailWithoutValidation"; outputs: readonly [{ internalType: "uint256"; name: "totalSettledAmount"; type: "uint256"; }, { internalType: "uint256"; name: "totalNetPayeeAmount"; type: "uint256"; }, { internalType: "uint256"; name: "totalOperatorCommission"; type: "uint256"; }, { internalType: "uint256"; name: "finalSettledEpoch"; type: "uint256"; }, { internalType: "string"; name: "note"; type: "string"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "terminateRail"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newOwner"; type: "address"; }]; name: "transferOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newImplementation"; type: "address"; }, { internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "upgradeToAndCall"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "withdraw"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "withdrawTo"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "token"; type: "address"; }, { indexed: true; internalType: "address"; name: "owner"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "lockupCurrent"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "lockupRate"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "lockupLastSettledAt"; type: "uint256"; }]; name: "AccountLockupSettled"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "token"; type: "address"; }, { indexed: true; internalType: "address"; name: "from"; type: "address"; }, { indexed: true; internalType: "address"; name: "to"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "amount"; type: "uint256"; }, { indexed: false; internalType: "bool"; name: "usedPermit"; type: "bool"; }]; name: "DepositRecorded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "uint64"; name: "version"; type: "uint64"; }]; name: "Initialized"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "token"; type: "address"; }, { indexed: true; internalType: "address"; name: "client"; type: "address"; }, { indexed: true; internalType: "address"; name: "operator"; type: "address"; }, { indexed: false; internalType: "bool"; name: "approved"; type: "bool"; }, { indexed: false; internalType: "uint256"; name: "rateAllowance"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "lockupAllowance"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "maxLockupPeriod"; type: "uint256"; }]; name: "OperatorApprovalUpdated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "previousOwner"; type: "address"; }, { indexed: true; internalType: "address"; name: "newOwner"; type: "address"; }]; name: "OwnershipTransferred"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "payer"; type: "address"; }, { indexed: true; internalType: "address"; name: "payee"; type: "address"; }, { indexed: false; internalType: "address"; name: "token"; type: "address"; }, { indexed: false; internalType: "address"; name: "operator"; type: "address"; }, { indexed: false; internalType: "address"; name: "validator"; type: "address"; }, { indexed: false; internalType: "address"; name: "serviceFeeRecipient"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "commissionRateBps"; type: "uint256"; }]; name: "RailCreated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RailFinalized"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "oldLockupPeriod"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "newLockupPeriod"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "oldLockupFixed"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "newLockupFixed"; type: "uint256"; }]; name: "RailLockupModified"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "netPayeeAmount"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "operatorCommission"; type: "uint256"; }]; name: "RailOneTimePaymentProcessed"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "oldRate"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "newRate"; type: "uint256"; }]; name: "RailRateModified"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "totalSettledAmount"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "totalNetPayeeAmount"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "operatorCommission"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "settledUpTo"; type: "uint256"; }]; name: "RailSettled"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "by"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "endEpoch"; type: "uint256"; }]; name: "RailTerminated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "implementation"; type: "address"; }]; name: "Upgraded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "token"; type: "address"; }, { indexed: true; internalType: "address"; name: "from"; type: "address"; }, { indexed: true; internalType: "address"; name: "to"; type: "address"; }, { indexed: false; internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "WithdrawRecorded"; type: "event";}, { inputs: readonly [{ internalType: "address"; name: "target"; type: "address"; }]; name: "AddressEmptyCode"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "maxSettlementEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "blockNumber"; type: "uint256"; }]; name: "CannotModifyTerminatedRailBeyondEndEpoch"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "maxAllowedEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedEpoch"; type: "uint256"; }]; name: "CannotSettleFutureEpochs"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "requiredBlock"; type: "uint256"; }, { internalType: "uint256"; name: "currentBlock"; type: "uint256"; }]; name: "CannotSettleTerminatedRailBeforeMaxEpoch"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "actual"; type: "uint256"; }]; name: "CommissionRateTooHigh"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "oldLockup"; type: "uint256"; }, { internalType: "uint256"; name: "currentLockup"; type: "uint256"; }]; name: "CurrentLockupLessThanOldLockup"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "implementation"; type: "address"; }]; name: "ERC1967InvalidImplementation"; type: "error";}, { inputs: readonly []; name: "ERC1967NonPayable"; type: "error";}, { inputs: readonly []; name: "FailedCall"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "from"; type: "address"; }, { internalType: "address"; name: "token"; type: "address"; }, { internalType: "uint256"; name: "currentLockup"; type: "uint256"; }, { internalType: "uint256"; name: "lockupReduction"; type: "uint256"; }]; name: "InsufficientCurrentLockup"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "required"; type: "uint256"; }, { internalType: "uint256"; name: "actual"; type: "uint256"; }]; name: "InsufficientFundsForOneTimePayment"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "available"; type: "uint256"; }, { internalType: "uint256"; name: "required"; type: "uint256"; }]; name: "InsufficientFundsForSettlement"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "available"; type: "uint256"; }, { internalType: "uint256"; name: "required"; type: "uint256"; }]; name: "InsufficientLockupForSettlement"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "required"; type: "uint256"; }, { internalType: "uint256"; name: "sent"; type: "uint256"; }]; name: "InsufficientNativeTokenForBurn"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "available"; type: "uint256"; }, { internalType: "uint256"; name: "requested"; type: "uint256"; }]; name: "InsufficientUnlockedFunds"; type: "error";}, { inputs: readonly []; name: "InvalidInitialization"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "nextRateChangeUntilEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "processedEpoch"; type: "uint256"; }]; name: "InvalidRateChangeQueueState"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "actualPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "actualLockupFixed"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedLockupFixed"; type: "uint256"; }]; name: "InvalidTerminatedRailModification"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "account"; type: "address"; }, { internalType: "uint256"; name: "lockupCurrent"; type: "uint256"; }, { internalType: "uint256"; name: "fundsCurrent"; type: "uint256"; }]; name: "LockupExceedsFundsInvariant"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "actualLockupFixed"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedLockupFixed"; type: "uint256"; }]; name: "LockupFixedIncreaseNotAllowedDueToInsufficientFunds"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "expectedLockup"; type: "uint256"; }, { internalType: "uint256"; name: "actualLockup"; type: "uint256"; }]; name: "LockupInconsistencyDuringRailFinalization"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "bool"; name: "isSettled"; type: "bool"; }, { internalType: "uint256"; name: "currentRate"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedRate"; type: "uint256"; }]; name: "LockupNotSettledRateChangeNotAllowed"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "actualLockupPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedLockupPeriod"; type: "uint256"; }]; name: "LockupPeriodChangeNotAllowedDueToInsufficientFunds"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }, { internalType: "address"; name: "operator"; type: "address"; }, { internalType: "uint256"; name: "maxAllowedPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "requestedPeriod"; type: "uint256"; }]; name: "LockupPeriodExceedsOperatorMaximum"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "paymentRate"; type: "uint256"; }, { internalType: "uint256"; name: "lockupRate"; type: "uint256"; }]; name: "LockupRateInconsistent"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "from"; type: "address"; }, { internalType: "uint256"; name: "lockupRate"; type: "uint256"; }, { internalType: "uint256"; name: "oldRate"; type: "uint256"; }]; name: "LockupRateLessThanOldRate"; type: "error";}, { inputs: readonly []; name: "MissingServiceFeeRecipient"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "required"; type: "uint256"; }, { internalType: "uint256"; name: "sent"; type: "uint256"; }]; name: "MustSendExactNativeAmount"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "sent"; type: "uint256"; }]; name: "NativeTokenNotAccepted"; type: "error";}, { inputs: readonly []; name: "NativeTokenNotSupported"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "to"; type: "address"; }, { internalType: "uint256"; name: "amount"; type: "uint256"; }]; name: "NativeTransferFailed"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "expectedSettledUpTo"; type: "uint256"; }, { internalType: "uint256"; name: "actualSettledUpTo"; type: "uint256"; }]; name: "NoProgressInSettlement"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "allowedClient"; type: "address"; }, { internalType: "address"; name: "allowedOperator"; type: "address"; }, { internalType: "address"; name: "caller"; type: "address"; }]; name: "NotAuthorizedToTerminateRail"; type: "error";}, { inputs: readonly []; name: "NotInitializing"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "available"; type: "uint256"; }, { internalType: "uint256"; name: "required"; type: "uint256"; }]; name: "OneTimePaymentExceedsLockup"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "caller"; type: "address"; }]; name: "OnlyRailClientAllowed"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "caller"; type: "address"; }]; name: "OnlyRailOperatorAllowed"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expectedFrom"; type: "address"; }, { internalType: "address"; name: "expectedOperator"; type: "address"; }, { internalType: "address"; name: "expectedTo"; type: "address"; }, { internalType: "address"; name: "caller"; type: "address"; }]; name: "OnlyRailParticipantAllowed"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "allowed"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedUsage"; type: "uint256"; }]; name: "OperatorLockupAllowanceExceeded"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "from"; type: "address"; }, { internalType: "address"; name: "operator"; type: "address"; }]; name: "OperatorNotApproved"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "allowed"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedUsage"; type: "uint256"; }]; name: "OperatorRateAllowanceExceeded"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "owner"; type: "address"; }]; name: "OwnableInvalidOwner"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "account"; type: "address"; }]; name: "OwnableUnauthorizedAccount"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "PermitRecipientMustBeMsgSender"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RailAlreadyTerminated"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RailInactiveOrSettled"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RailNotTerminated"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RateChangeNotAllowedOnTerminatedRail"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "nextUntilEpoch"; type: "uint256"; }]; name: "RateChangeQueueNotEmpty"; type: "error";}, { inputs: readonly []; name: "ReentrancyGuardReentrantCall"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "token"; type: "address"; }]; name: "SafeERC20FailedOperation"; type: "error";}, { inputs: readonly []; name: "UUPSUnauthorizedCallContext"; type: "error";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }]; name: "UUPSUnsupportedProxiableUUID"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "attempted"; type: "uint256"; }]; name: "ValidatorModifiedAmountExceedsMaximum"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "allowedStart"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedStart"; type: "uint256"; }]; name: "ValidatorSettledBeforeSegmentStart"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "allowedEnd"; type: "uint256"; }, { internalType: "uint256"; name: "attemptedEnd"; type: "uint256"; }]; name: "ValidatorSettledBeyondSegmentEnd"; type: "error";}, { inputs: readonly [{ internalType: "string"; name: "varName"; type: "string"; }]; name: "ZeroAddressNotAllowed"; type: "error";}] = abis.paymentsAbi;
Payments contract ABI - based on fws-payments contract
PDP_VERIFIER
Section titled “PDP_VERIFIER”readonly PDP_VERIFIER: readonly [{ inputs: readonly []; stateMutability: "nonpayable"; type: "constructor";}, { inputs: readonly []; name: "BURN_ACTOR"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "EXTRA_DATA_MAX_SIZE"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "FIL_USD_PRICE_FEED_ID"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "LEAF_SIZE"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "MAX_ENQUEUED_REMOVALS"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "MAX_PIECE_SIZE_LOG2"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "NO_CHALLENGE_SCHEDULED"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "NO_PROVEN_EPOCH"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "PYTH"; outputs: readonly [{ internalType: "contract IPyth"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "RANDOMNESS_PRECOMPILE"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "SECONDS_IN_DAY"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "UPGRADE_INTERFACE_VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { components: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; internalType: "struct Cids.Cid[]"; name: "pieceData"; type: "tuple[]"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "addPieces"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "estimatedGasFee"; type: "uint256"; }]; name: "calculateProofFee"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "claimDataSetStorageProvider"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "listenerAddr"; type: "address"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "createDataSet"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "dataSetLive"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "deleteDataSet"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256[]"; name: "leafIndexs"; type: "uint256[]"; }]; name: "findPieceIds"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "pieceId"; type: "uint256"; }, { internalType: "uint256"; name: "offset"; type: "uint256"; }]; internalType: "struct IPDPTypes.PieceIdAndOffset[]"; name: ""; type: "tuple[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getActivePieceCount"; outputs: readonly [{ internalType: "uint256"; name: "activeCount"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "offset"; type: "uint256"; }, { internalType: "uint256"; name: "limit"; type: "uint256"; }]; name: "getActivePieces"; outputs: readonly [{ components: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; internalType: "struct Cids.Cid[]"; name: "pieces"; type: "tuple[]"; }, { internalType: "uint256[]"; name: "pieceIds"; type: "uint256[]"; }, { internalType: "uint256[]"; name: "rawSizes"; type: "uint256[]"; }, { internalType: "bool"; name: "hasMore"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getChallengeFinality"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getChallengeRange"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getDataSetLastProvenEpoch"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getDataSetLeafCount"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getDataSetListener"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getDataSetStorageProvider"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }, { internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getFILUSDPrice"; outputs: readonly [{ internalType: "uint64"; name: ""; type: "uint64"; }, { internalType: "int32"; name: ""; type: "int32"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getNextChallengeEpoch"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getNextDataSetId"; outputs: readonly [{ internalType: "uint64"; name: ""; type: "uint64"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getNextPieceId"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }]; name: "getPieceCid"; outputs: readonly [{ components: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; internalType: "struct Cids.Cid"; name: ""; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }]; name: "getPieceLeafCount"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "epoch"; type: "uint256"; }]; name: "getRandomness"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "getScheduledRemovals"; outputs: readonly [{ internalType: "uint256[]"; name: ""; type: "uint256[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "_challengeFinality"; type: "uint256"; }]; name: "initialize"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "migrate"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "challengeEpoch"; type: "uint256"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "nextProvingPeriod"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "owner"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }]; name: "pieceChallengable"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }]; name: "pieceLive"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "address"; name: "newStorageProvider"; type: "address"; }]; name: "proposeDataSetStorageProvider"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { components: readonly [{ internalType: "bytes32"; name: "leaf"; type: "bytes32"; }, { internalType: "bytes32[]"; name: "proof"; type: "bytes32[]"; }]; internalType: "struct IPDPTypes.Proof[]"; name: "proofs"; type: "tuple[]"; }]; name: "provePossession"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { inputs: readonly []; name: "proxiableUUID"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "renounceOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }, { internalType: "uint256[]"; name: "pieceIds"; type: "uint256[]"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "schedulePieceDeletions"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newOwner"; type: "address"; }]; name: "transferOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newImplementation"; type: "address"; }, { internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "upgradeToAndCall"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "string"; name: "version"; type: "string"; }, { indexed: false; internalType: "address"; name: "implementation"; type: "address"; }]; name: "ContractUpgraded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "storageProvider"; type: "address"; }]; name: "DataSetCreated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "deletedLeafCount"; type: "uint256"; }]; name: "DataSetDeleted"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "DataSetEmpty"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "uint64"; name: "version"; type: "uint64"; }]; name: "Initialized"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "challengeEpoch"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "leafCount"; type: "uint256"; }]; name: "NextProvingPeriod"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "previousOwner"; type: "address"; }, { indexed: true; internalType: "address"; name: "newOwner"; type: "address"; }]; name: "OwnershipTransferred"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: false; internalType: "uint256[]"; name: "pieceIds"; type: "uint256[]"; }, { components: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; indexed: false; internalType: "struct Cids.Cid[]"; name: "pieceCids"; type: "tuple[]"; }]; name: "PiecesAdded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: false; internalType: "uint256[]"; name: "pieceIds"; type: "uint256[]"; }]; name: "PiecesRemoved"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { components: readonly [{ internalType: "uint256"; name: "pieceId"; type: "uint256"; }, { internalType: "uint256"; name: "offset"; type: "uint256"; }]; indexed: false; internalType: "struct IPDPTypes.PieceIdAndOffset[]"; name: "challenges"; type: "tuple[]"; }]; name: "PossessionProven"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "bytes"; name: "reason"; type: "bytes"; }]; name: "PriceOracleFailure"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "fee"; type: "uint256"; }, { indexed: false; internalType: "uint64"; name: "price"; type: "uint64"; }, { indexed: false; internalType: "int32"; name: "expo"; type: "int32"; }]; name: "ProofFeePaid"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "setId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "oldStorageProvider"; type: "address"; }, { indexed: true; internalType: "address"; name: "newStorageProvider"; type: "address"; }]; name: "StorageProviderChanged"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "implementation"; type: "address"; }]; name: "Upgraded"; type: "event";}, { inputs: readonly [{ internalType: "address"; name: "target"; type: "address"; }]; name: "AddressEmptyCode"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "implementation"; type: "address"; }]; name: "ERC1967InvalidImplementation"; type: "error";}, { inputs: readonly []; name: "ERC1967NonPayable"; type: "error";}, { inputs: readonly []; name: "FailedCall"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "idx"; type: "uint256"; }, { internalType: "string"; name: "msg"; type: "string"; }]; name: "IndexedError"; type: "error";}, { inputs: readonly []; name: "InvalidInitialization"; type: "error";}, { inputs: readonly []; name: "NotInitializing"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "owner"; type: "address"; }]; name: "OwnableInvalidOwner"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "account"; type: "address"; }]; name: "OwnableUnauthorizedAccount"; type: "error";}, { inputs: readonly []; name: "UUPSUnauthorizedCallContext"; type: "error";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }]; name: "UUPSUnsupportedProxiableUUID"; type: "error";}] = abis.pdpVerifierAbi;
PDPVerifier contract ABI - core PDP verification functions
SERVICE_PROVIDER_REGISTRY
Section titled “SERVICE_PROVIDER_REGISTRY”readonly SERVICE_PROVIDER_REGISTRY: readonly [{ inputs: readonly []; stateMutability: "nonpayable"; type: "constructor";}, { inputs: readonly []; name: "BURN_ACTOR"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "MAX_CAPABILITIES"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "MAX_CAPABILITY_KEY_LENGTH"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "MAX_CAPABILITY_VALUE_LENGTH"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "REGISTRATION_FEE"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "UPGRADE_INTERFACE_VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "activeProductTypeProviderCount"; outputs: readonly [{ internalType: "uint256"; name: "count"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "activeProviderCount"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "bytes"; name: "productData"; type: "bytes"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "addProduct"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "providerAddress"; type: "address"; }]; name: "addressToProviderId"; outputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "decodePDPOffering"; outputs: readonly [{ components: readonly [{ internalType: "string"; name: "serviceURL"; type: "string"; }, { internalType: "uint256"; name: "minPieceSizeInBytes"; type: "uint256"; }, { internalType: "uint256"; name: "maxPieceSizeInBytes"; type: "uint256"; }, { internalType: "bool"; name: "ipniPiece"; type: "bool"; }, { internalType: "bool"; name: "ipniIpfs"; type: "bool"; }, { internalType: "uint256"; name: "storagePricePerTibPerMonth"; type: "uint256"; }, { internalType: "uint256"; name: "minProvingPeriodInEpochs"; type: "uint256"; }, { internalType: "string"; name: "location"; type: "string"; }, { internalType: "contract IERC20"; name: "paymentTokenAddress"; type: "address"; }]; internalType: "struct ServiceProviderRegistryStorage.PDPOffering"; name: ""; type: "tuple"; }]; stateMutability: "pure"; type: "function";}, { inputs: readonly []; name: "eip712Domain"; outputs: readonly [{ internalType: "bytes1"; name: "fields"; type: "bytes1"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "version"; type: "string"; }, { internalType: "uint256"; name: "chainId"; type: "uint256"; }, { internalType: "address"; name: "verifyingContract"; type: "address"; }, { internalType: "bytes32"; name: "salt"; type: "bytes32"; }, { internalType: "uint256[]"; name: "extensions"; type: "uint256[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ components: readonly [{ internalType: "string"; name: "serviceURL"; type: "string"; }, { internalType: "uint256"; name: "minPieceSizeInBytes"; type: "uint256"; }, { internalType: "uint256"; name: "maxPieceSizeInBytes"; type: "uint256"; }, { internalType: "bool"; name: "ipniPiece"; type: "bool"; }, { internalType: "bool"; name: "ipniIpfs"; type: "bool"; }, { internalType: "uint256"; name: "storagePricePerTibPerMonth"; type: "uint256"; }, { internalType: "uint256"; name: "minProvingPeriodInEpochs"; type: "uint256"; }, { internalType: "string"; name: "location"; type: "string"; }, { internalType: "contract IERC20"; name: "paymentTokenAddress"; type: "address"; }]; internalType: "struct ServiceProviderRegistryStorage.PDPOffering"; name: "pdpOffering"; type: "tuple"; }]; name: "encodePDPOffering"; outputs: readonly [{ internalType: "bytes"; name: ""; type: "bytes"; }]; stateMutability: "pure"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "uint256"; name: "offset"; type: "uint256"; }, { internalType: "uint256"; name: "limit"; type: "uint256"; }]; name: "getActiveProvidersByProductType"; outputs: readonly [{ components: readonly [{ components: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { components: readonly [{ internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProviderInfo"; name: "providerInfo"; type: "tuple"; }, { components: readonly [{ internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProduct"; name: "product"; type: "tuple"; }]; internalType: "struct ServiceProviderRegistryStorage.ProviderWithProduct[]"; name: "providers"; type: "tuple[]"; }, { internalType: "bool"; name: "hasMore"; type: "bool"; }]; internalType: "struct ServiceProviderRegistryStorage.PaginatedProviders"; name: "result"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "offset"; type: "uint256"; }, { internalType: "uint256"; name: "limit"; type: "uint256"; }]; name: "getAllActiveProviders"; outputs: readonly [{ internalType: "uint256[]"; name: "providerIds"; type: "uint256[]"; }, { internalType: "bool"; name: "hasMore"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getNextProviderId"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "getPDPService"; outputs: readonly [{ components: readonly [{ internalType: "string"; name: "serviceURL"; type: "string"; }, { internalType: "uint256"; name: "minPieceSizeInBytes"; type: "uint256"; }, { internalType: "uint256"; name: "maxPieceSizeInBytes"; type: "uint256"; }, { internalType: "bool"; name: "ipniPiece"; type: "bool"; }, { internalType: "bool"; name: "ipniIpfs"; type: "bool"; }, { internalType: "uint256"; name: "storagePricePerTibPerMonth"; type: "uint256"; }, { internalType: "uint256"; name: "minProvingPeriodInEpochs"; type: "uint256"; }, { internalType: "string"; name: "location"; type: "string"; }, { internalType: "contract IERC20"; name: "paymentTokenAddress"; type: "address"; }]; internalType: "struct ServiceProviderRegistryStorage.PDPOffering"; name: "pdpOffering"; type: "tuple"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "getProduct"; outputs: readonly [{ internalType: "bytes"; name: "productData"; type: "bytes"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "string[]"; name: "keys"; type: "string[]"; }]; name: "getProductCapabilities"; outputs: readonly [{ internalType: "bool[]"; name: "exists"; type: "bool[]"; }, { internalType: "string[]"; name: "values"; type: "string[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "string"; name: "key"; type: "string"; }]; name: "getProductCapability"; outputs: readonly [{ internalType: "bool"; name: "exists"; type: "bool"; }, { internalType: "string"; name: "value"; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "getProvider"; outputs: readonly [{ components: readonly [{ internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "address"; name: "payee"; type: "address"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "description"; type: "string"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProviderInfo"; name: "info"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "providerAddress"; type: "address"; }]; name: "getProviderByAddress"; outputs: readonly [{ components: readonly [{ internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "address"; name: "payee"; type: "address"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "description"; type: "string"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProviderInfo"; name: "info"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getProviderCount"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "providerAddress"; type: "address"; }]; name: "getProviderIdByAddress"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "uint256"; name: "offset"; type: "uint256"; }, { internalType: "uint256"; name: "limit"; type: "uint256"; }]; name: "getProvidersByProductType"; outputs: readonly [{ components: readonly [{ components: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { components: readonly [{ internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProviderInfo"; name: "providerInfo"; type: "tuple"; }, { components: readonly [{ internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }, { internalType: ...; name: ...; type: ...; }]; internalType: "struct ServiceProviderRegistryStorage.ServiceProduct"; name: "product"; type: "tuple"; }]; internalType: "struct ServiceProviderRegistryStorage.ProviderWithProduct[]"; name: "providers"; type: "tuple[]"; }, { internalType: "bool"; name: "hasMore"; type: "bool"; }]; internalType: "struct ServiceProviderRegistryStorage.PaginatedProviders"; name: "result"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "initialize"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "isProviderActive"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "provider"; type: "address"; }]; name: "isRegisteredProvider"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "string"; name: "newVersion"; type: "string"; }]; name: "migrate"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "owner"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "string"; name: "key"; type: "string"; }]; name: "productCapabilities"; outputs: readonly [{ internalType: "string"; name: "value"; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "productTypeProviderCount"; outputs: readonly [{ internalType: "uint256"; name: "count"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "providerHasProduct"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "providerProducts"; outputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "bytes"; name: "productData"; type: "bytes"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "providers"; outputs: readonly [{ internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "address"; name: "payee"; type: "address"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "description"; type: "string"; }, { internalType: "bool"; name: "isActive"; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "proxiableUUID"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "payee"; type: "address"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "description"; type: "string"; }, { internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "bytes"; name: "productData"; type: "bytes"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "registerProvider"; outputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "removeProduct"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "removeProvider"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "renounceOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newOwner"; type: "address"; }]; name: "transferOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ components: readonly [{ internalType: "string"; name: "serviceURL"; type: "string"; }, { internalType: "uint256"; name: "minPieceSizeInBytes"; type: "uint256"; }, { internalType: "uint256"; name: "maxPieceSizeInBytes"; type: "uint256"; }, { internalType: "bool"; name: "ipniPiece"; type: "bool"; }, { internalType: "bool"; name: "ipniIpfs"; type: "bool"; }, { internalType: "uint256"; name: "storagePricePerTibPerMonth"; type: "uint256"; }, { internalType: "uint256"; name: "minProvingPeriodInEpochs"; type: "uint256"; }, { internalType: "string"; name: "location"; type: "string"; }, { internalType: "contract IERC20"; name: "paymentTokenAddress"; type: "address"; }]; internalType: "struct ServiceProviderRegistryStorage.PDPOffering"; name: "pdpOffering"; type: "tuple"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "updatePDPServiceWithCapabilities"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { internalType: "bytes"; name: "productData"; type: "bytes"; }, { internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "updateProduct"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "description"; type: "string"; }]; name: "updateProviderInfo"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newImplementation"; type: "address"; }, { internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "upgradeToAndCall"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "string"; name: "version"; type: "string"; }, { indexed: false; internalType: "address"; name: "implementation"; type: "address"; }]; name: "ContractUpgraded"; type: "event";}, { anonymous: false; inputs: readonly []; name: "EIP712DomainChanged"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "uint64"; name: "version"; type: "uint64"; }]; name: "Initialized"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "previousOwner"; type: "address"; }, { indexed: true; internalType: "address"; name: "newOwner"; type: "address"; }]; name: "OwnershipTransferred"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }, { indexed: true; internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { indexed: false; internalType: "string"; name: "serviceUrl"; type: "string"; }, { indexed: false; internalType: "address"; name: "serviceProvider"; type: "address"; }, { indexed: false; internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { indexed: false; internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "ProductAdded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }, { indexed: true; internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }]; name: "ProductRemoved"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }, { indexed: true; internalType: "enum ServiceProviderRegistryStorage.ProductType"; name: "productType"; type: "uint8"; }, { indexed: false; internalType: "string"; name: "serviceUrl"; type: "string"; }, { indexed: false; internalType: "address"; name: "serviceProvider"; type: "address"; }, { indexed: false; internalType: "string[]"; name: "capabilityKeys"; type: "string[]"; }, { indexed: false; internalType: "string[]"; name: "capabilityValues"; type: "string[]"; }]; name: "ProductUpdated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderInfoUpdated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "serviceProvider"; type: "address"; }, { indexed: true; internalType: "address"; name: "payee"; type: "address"; }]; name: "ProviderRegistered"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderRemoved"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "implementation"; type: "address"; }]; name: "Upgraded"; type: "event";}, { inputs: readonly [{ internalType: "address"; name: "target"; type: "address"; }]; name: "AddressEmptyCode"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "implementation"; type: "address"; }]; name: "ERC1967InvalidImplementation"; type: "error";}, { inputs: readonly []; name: "ERC1967NonPayable"; type: "error";}, { inputs: readonly []; name: "FailedCall"; type: "error";}, { inputs: readonly []; name: "InvalidInitialization"; type: "error";}, { inputs: readonly []; name: "NotInitializing"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "owner"; type: "address"; }]; name: "OwnableInvalidOwner"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "account"; type: "address"; }]; name: "OwnableUnauthorizedAccount"; type: "error";}, { inputs: readonly []; name: "UUPSUnauthorizedCallContext"; type: "error";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }]; name: "UUPSUnsupportedProxiableUUID"; type: "error";}] = abis.serviceProviderRegistryAbi;
ServiceProviderRegistry ABI - for provider management
SESSION_KEY_REGISTRY
Section titled “SESSION_KEY_REGISTRY”readonly SESSION_KEY_REGISTRY: readonly [{ inputs: readonly [{ internalType: "address"; name: "user"; type: "address"; }, { internalType: "address"; name: "signer"; type: "address"; }, { internalType: "bytes32"; name: "permission"; type: "bytes32"; }]; name: "authorizationExpiry"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "signer"; type: "address"; }, { internalType: "uint256"; name: "expiry"; type: "uint256"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }]; name: "login"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address payable"; name: "signer"; type: "address"; }, { internalType: "uint256"; name: "expiry"; type: "uint256"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }]; name: "loginAndFund"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "signer"; type: "address"; }, { internalType: "bytes32[]"; name: "permissions"; type: "bytes32[]"; }]; name: "revoke"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}] = abis.sessionKeyRegistryAbi;
SessionKeyRegistry ABI - for session key management
WARM_STORAGE
Section titled “WARM_STORAGE”readonly WARM_STORAGE: readonly [{ inputs: readonly [{ internalType: "address"; name: "_pdpVerifierAddress"; type: "address"; }, { internalType: "address"; name: "_paymentsContractAddress"; type: "address"; }, { internalType: "address"; name: "_usdfcTokenAddress"; type: "address"; }, { internalType: "address"; name: "_filCDNBeneficiaryAddress"; type: "address"; }, { internalType: "contract ServiceProviderRegistry"; name: "_serviceProviderRegistry"; type: "address"; }, { internalType: "contract SessionKeyRegistry"; name: "_sessionKeyRegistry"; type: "address"; }]; stateMutability: "nonpayable"; type: "constructor";}, { inputs: readonly []; name: "UPGRADE_INTERFACE_VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "VERSION"; outputs: readonly [{ internalType: "string"; name: ""; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "addApprovedProvider"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "totalBytes"; type: "uint256"; }]; name: "calculateRatesPerEpoch"; outputs: readonly [{ internalType: "uint256"; name: "storageRate"; type: "uint256"; }, { internalType: "uint256"; name: "cacheMissRate"; type: "uint256"; }, { internalType: "uint256"; name: "cdnRate"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint64"; name: "_maxProvingPeriod"; type: "uint64"; }, { internalType: "uint256"; name: "_challengeWindowSize"; type: "uint256"; }]; name: "configureProvingPeriod"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "dataSetCreated"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: ""; type: "uint256"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "dataSetDeleted"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "eip712Domain"; outputs: readonly [{ internalType: "bytes1"; name: "fields"; type: "bytes1"; }, { internalType: "string"; name: "name"; type: "string"; }, { internalType: "string"; name: "version"; type: "string"; }, { internalType: "uint256"; name: "chainId"; type: "uint256"; }, { internalType: "address"; name: "verifyingContract"; type: "address"; }, { internalType: "bytes32"; name: "salt"; type: "bytes32"; }, { internalType: "uint256[]"; name: "extensions"; type: "uint256[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }]; name: "extsload"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }, { internalType: "uint256"; name: "size"; type: "uint256"; }]; name: "extsloadStruct"; outputs: readonly [{ internalType: "bytes32[]"; name: ""; type: "bytes32[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "filCDNBeneficiaryAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getEffectiveRates"; outputs: readonly [{ internalType: "uint256"; name: "serviceFee"; type: "uint256"; }, { internalType: "uint256"; name: "spPayment"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "epoch"; type: "uint256"; }]; name: "getProvingPeriodForEpoch"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getServicePrice"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "pricePerTiBPerMonthNoCDN"; type: "uint256"; }, { internalType: "uint256"; name: "pricePerTiBPerMonthWithCDN"; type: "uint256"; }, { internalType: "address"; name: "tokenAddress"; type: "address"; }, { internalType: "uint256"; name: "epochsPerMonth"; type: "uint256"; }]; internalType: "struct FilecoinWarmStorageService.ServicePricing"; name: "pricing"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint64"; name: "_maxProvingPeriod"; type: "uint64"; }, { internalType: "uint256"; name: "_challengeWindowSize"; type: "uint256"; }, { internalType: "address"; name: "_filCDNControllerAddress"; type: "address"; }, { internalType: "string"; name: "_name"; type: "string"; }, { internalType: "string"; name: "_description"; type: "string"; }]; name: "initialize"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "epoch"; type: "uint256"; }]; name: "isEpochProven"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "_viewContract"; type: "address"; }]; name: "migrate"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "challengeEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "leafCount"; type: "uint256"; }, { internalType: "bytes"; name: ""; type: "bytes"; }]; name: "nextProvingPeriod"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "owner"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "paymentsContractAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "pdpVerifierAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "firstAdded"; type: "uint256"; }, { components: readonly [{ internalType: "bytes"; name: "data"; type: "bytes"; }]; internalType: "struct Cids.Cid[]"; name: "pieceData"; type: "tuple[]"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "piecesAdded"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256[]"; name: "pieceIds"; type: "uint256[]"; }, { internalType: "bytes"; name: "extraData"; type: "bytes"; }]; name: "piecesScheduledRemove"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: ""; type: "uint256"; }, { internalType: "uint256"; name: ""; type: "uint256"; }, { internalType: "uint256"; name: "challengeCount"; type: "uint256"; }]; name: "possessionProven"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "proxiableUUID"; outputs: readonly [{ internalType: "bytes32"; name: ""; type: "bytes32"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "address"; name: "terminator"; type: "address"; }, { internalType: "uint256"; name: "endEpoch"; type: "uint256"; }]; name: "railTerminated"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "uint256"; name: "index"; type: "uint256"; }]; name: "removeApprovedProvider"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "renounceOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "serviceCommissionBps"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "serviceProviderRegistry"; outputs: readonly [{ internalType: "contract ServiceProviderRegistry"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "sessionKeyRegistry"; outputs: readonly [{ internalType: "contract SessionKeyRegistry"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "_viewContract"; type: "address"; }]; name: "setViewContract"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "address"; name: "oldServiceProvider"; type: "address"; }, { internalType: "address"; name: "newServiceProvider"; type: "address"; }, { internalType: "bytes"; name: ""; type: "bytes"; }]; name: "storageProviderChanged"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "terminateCDNService"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "terminateService"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newController"; type: "address"; }]; name: "transferFilCDNController"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newOwner"; type: "address"; }]; name: "transferOwnership"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "newCommissionBps"; type: "uint256"; }]; name: "updateServiceCommission"; outputs: readonly []; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "newImplementation"; type: "address"; }, { internalType: "bytes"; name: "data"; type: "bytes"; }]; name: "upgradeToAndCall"; outputs: readonly []; stateMutability: "payable"; type: "function";}, { inputs: readonly []; name: "usdfcTokenAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }, { internalType: "uint256"; name: "proposedAmount"; type: "uint256"; }, { internalType: "uint256"; name: "fromEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "toEpoch"; type: "uint256"; }, { internalType: "uint256"; name: ""; type: "uint256"; }]; name: "validatePayment"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "modifiedAmount"; type: "uint256"; }, { internalType: "uint256"; name: "settleUpto"; type: "uint256"; }, { internalType: "string"; name: "note"; type: "string"; }]; internalType: "struct IValidator.ValidationResult"; name: "result"; type: "tuple"; }]; stateMutability: "nonpayable"; type: "function";}, { inputs: readonly []; name: "viewContractAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "endEpoch"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }]; name: "CDNPaymentTerminated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "caller"; type: "address"; }, { indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }]; name: "CDNServiceTerminated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "string"; name: "version"; type: "string"; }, { indexed: false; internalType: "address"; name: "implementation"; type: "address"; }]; name: "ContractUpgraded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "pdpRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }, { indexed: false; internalType: "address"; name: "payer"; type: "address"; }, { indexed: false; internalType: "address"; name: "serviceProvider"; type: "address"; }, { indexed: false; internalType: "address"; name: "payee"; type: "address"; }, { indexed: false; internalType: "string[]"; name: "metadataKeys"; type: "string[]"; }, { indexed: false; internalType: "string[]"; name: "metadataValues"; type: "string[]"; }]; name: "DataSetCreated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: true; internalType: "address"; name: "oldServiceProvider"; type: "address"; }, { indexed: true; internalType: "address"; name: "newServiceProvider"; type: "address"; }]; name: "DataSetServiceProviderChanged"; type: "event";}, { anonymous: false; inputs: readonly []; name: "EIP712DomainChanged"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "periodsFaulted"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "deadline"; type: "uint256"; }]; name: "FaultRecord"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "address"; name: "oldController"; type: "address"; }, { indexed: false; internalType: "address"; name: "newController"; type: "address"; }]; name: "FilCDNControllerChanged"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "string"; name: "name"; type: "string"; }, { indexed: false; internalType: "string"; name: "description"; type: "string"; }]; name: "FilecoinServiceDeployed"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "uint64"; name: "version"; type: "uint64"; }]; name: "Initialized"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "previousOwner"; type: "address"; }, { indexed: true; internalType: "address"; name: "newOwner"; type: "address"; }]; name: "OwnershipTransferred"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "endEpoch"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "pdpRailId"; type: "uint256"; }]; name: "PDPPaymentTerminated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: false; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "originalAmount"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "modifiedAmount"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "faultedEpochs"; type: "uint256"; }]; name: "PaymentArbitrated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: true; internalType: "uint256"; name: "pieceId"; type: "uint256"; }, { indexed: false; internalType: "string[]"; name: "keys"; type: "string[]"; }, { indexed: false; internalType: "string[]"; name: "values"; type: "string[]"; }]; name: "PieceAdded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderApproved"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderUnapproved"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "railId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "newRate"; type: "uint256"; }]; name: "RailRateUpdated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "caller"; type: "address"; }, { indexed: true; internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "pdpRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { indexed: false; internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }]; name: "ServiceTerminated"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "implementation"; type: "address"; }]; name: "Upgraded"; type: "event";}, { anonymous: false; inputs: readonly [{ indexed: true; internalType: "address"; name: "viewContract"; type: "address"; }]; name: "ViewContractSet"; type: "event";}, { inputs: readonly [{ internalType: "address"; name: "target"; type: "address"; }]; name: "AddressEmptyCode"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "address"; name: "expectedPayer"; type: "address"; }, { internalType: "address"; name: "expectedPayee"; type: "address"; }, { internalType: "address"; name: "caller"; type: "address"; }]; name: "CallerNotPayerOrPayee"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "CallerNotPayments"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "windowStart"; type: "uint256"; }, { internalType: "uint256"; name: "nowBlock"; type: "uint256"; }]; name: "ChallengeWindowTooEarly"; type: "error";}, { inputs: readonly [{ internalType: "enum Errors.CommissionType"; name: "commissionType"; type: "uint8"; }, { internalType: "uint256"; name: "max"; type: "uint256"; }, { internalType: "uint256"; name: "actual"; type: "uint256"; }]; name: "CommissionExceedsMaximum"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "DataSetNotFoundForRail"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "DataSetNotRegistered"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "DataSetPaymentAlreadyTerminated"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pdpEndEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "currentBlock"; type: "uint256"; }]; name: "DataSetPaymentBeyondEndEpoch"; type: "error";}, { inputs: readonly []; name: "DivisionByZero"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "string"; name: "key"; type: "string"; }]; name: "DuplicateMetadataKey"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "implementation"; type: "address"; }]; name: "ERC1967InvalidImplementation"; type: "error";}, { inputs: readonly []; name: "ERC1967NonPayable"; type: "error";}, { inputs: readonly []; name: "ExtraDataRequired"; type: "error";}, { inputs: readonly []; name: "FailedCall"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "FilCDNPaymentAlreadyTerminated"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "FilCDNServiceNotConfigured"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "minExpected"; type: "uint256"; }, { internalType: "uint256"; name: "actual"; type: "uint256"; }]; name: "InvalidChallengeCount"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "minAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "actual"; type: "uint256"; }]; name: "InvalidChallengeEpoch"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "maxProvingPeriod"; type: "uint256"; }, { internalType: "uint256"; name: "challengeWindowSize"; type: "uint256"; }]; name: "InvalidChallengeWindowSize"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "InvalidDataSetId"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "fromEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "toEpoch"; type: "uint256"; }]; name: "InvalidEpochRange"; type: "error";}, { inputs: readonly []; name: "InvalidInitialization"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "InvalidSignature"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "expectedLength"; type: "uint256"; }, { internalType: "uint256"; name: "actualLength"; type: "uint256"; }]; name: "InvalidSignatureLength"; type: "error";}, { inputs: readonly []; name: "MaxProvingPeriodZero"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "metadataArrayCount"; type: "uint256"; }, { internalType: "uint256"; name: "pieceCount"; type: "uint256"; }]; name: "MetadataArrayCountMismatch"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "keysLength"; type: "uint256"; }, { internalType: "uint256"; name: "valuesLength"; type: "uint256"; }]; name: "MetadataKeyAndValueLengthMismatch"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "index"; type: "uint256"; }, { internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "length"; type: "uint256"; }]; name: "MetadataKeyExceedsMaxLength"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "index"; type: "uint256"; }, { internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "length"; type: "uint256"; }]; name: "MetadataValueExceedsMaxLength"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "periodDeadline"; type: "uint256"; }, { internalType: "uint256"; name: "nowBlock"; type: "uint256"; }]; name: "NextProvingPeriodAlreadyCalled"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "NoPDPPaymentRail"; type: "error";}, { inputs: readonly []; name: "NotInitializing"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "OldServiceProviderMismatch"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "OnlyFilCDNControllerAllowed"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "OnlyPDPVerifierAllowed"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "expected"; type: "address"; }, { internalType: "address"; name: "actual"; type: "address"; }]; name: "OnlySelf"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "owner"; type: "address"; }]; name: "OwnableInvalidOwner"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "account"; type: "address"; }]; name: "OwnableUnauthorizedAccount"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pdpEndEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "cdnEndEpoch"; type: "uint256"; }]; name: "PaymentRailsNotFinalized"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "ProofAlreadySubmitted"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderAlreadyApproved"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "provider"; type: "address"; }, { internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderNotApproved"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "ProviderNotInApprovedList"; type: "error";}, { inputs: readonly [{ internalType: "address"; name: "provider"; type: "address"; }]; name: "ProviderNotRegistered"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "ProvingNotStarted"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "deadline"; type: "uint256"; }, { internalType: "uint256"; name: "nowBlock"; type: "uint256"; }]; name: "ProvingPeriodPassed"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "RailNotAssociated"; type: "error";}, { inputs: readonly []; name: "ServiceContractMustTerminateRail"; type: "error";}, { inputs: readonly [{ internalType: "uint256"; name: "maxAllowed"; type: "uint256"; }, { internalType: "uint256"; name: "keysLength"; type: "uint256"; }]; name: "TooManyMetadataKeys"; type: "error";}, { inputs: readonly []; name: "UUPSUnauthorizedCallContext"; type: "error";}, { inputs: readonly [{ internalType: "bytes32"; name: "slot"; type: "bytes32"; }]; name: "UUPSUnsupportedProxiableUUID"; type: "error";}, { inputs: readonly [{ internalType: "uint8"; name: "v"; type: "uint8"; }]; name: "UnsupportedSignatureV"; type: "error";}, { inputs: readonly [{ internalType: "enum Errors.AddressField"; name: "field"; type: "uint8"; }]; name: "ZeroAddress"; type: "error";}] = abis.filecoinWarmStorageServiceAbi;
Warm Storage ABI - write functions and service provider management View methods are in the WARM_STORAGE_VIEW contract
WARM_STORAGE_VIEW
Section titled “WARM_STORAGE_VIEW”readonly WARM_STORAGE_VIEW: readonly [{ inputs: readonly [{ internalType: "contract FilecoinWarmStorageService"; name: "_service"; type: "address"; }]; stateMutability: "nonpayable"; type: "constructor";}, { inputs: readonly []; name: "challengeWindow"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "payer"; type: "address"; }]; name: "clientDataSetIDs"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "payer"; type: "address"; }]; name: "clientDataSets"; outputs: readonly [{ internalType: "uint256[]"; name: "dataSetIds"; type: "uint256[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "filCDNControllerAddress"; outputs: readonly [{ internalType: "address"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "getAllDataSetMetadata"; outputs: readonly [{ internalType: "string[]"; name: "keys"; type: "string[]"; }, { internalType: "string[]"; name: "values"; type: "string[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }]; name: "getAllPieceMetadata"; outputs: readonly [{ internalType: "string[]"; name: "keys"; type: "string[]"; }, { internalType: "string[]"; name: "values"; type: "string[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getApprovedProviders"; outputs: readonly [{ internalType: "uint256[]"; name: "providerIds"; type: "uint256[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getChallengesPerProof"; outputs: readonly [{ internalType: "uint64"; name: ""; type: "uint64"; }]; stateMutability: "pure"; type: "function";}, { inputs: readonly [{ internalType: "address"; name: "client"; type: "address"; }]; name: "getClientDataSets"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "pdpRailId"; type: "uint256"; }, { internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }, { internalType: "address"; name: "payer"; type: "address"; }, { internalType: "address"; name: "payee"; type: "address"; }, { internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "uint256"; name: "commissionBps"; type: "uint256"; }, { internalType: "uint256"; name: "clientDataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pdpEndEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "uint256"; name: "cdnEndEpoch"; type: "uint256"; }]; internalType: "struct FilecoinWarmStorageService.DataSetInfo[]"; name: "infos"; type: "tuple[]"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "getDataSet"; outputs: readonly [{ components: readonly [{ internalType: "uint256"; name: "pdpRailId"; type: "uint256"; }, { internalType: "uint256"; name: "cacheMissRailId"; type: "uint256"; }, { internalType: "uint256"; name: "cdnRailId"; type: "uint256"; }, { internalType: "address"; name: "payer"; type: "address"; }, { internalType: "address"; name: "payee"; type: "address"; }, { internalType: "address"; name: "serviceProvider"; type: "address"; }, { internalType: "uint256"; name: "commissionBps"; type: "uint256"; }, { internalType: "uint256"; name: "clientDataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pdpEndEpoch"; type: "uint256"; }, { internalType: "uint256"; name: "providerId"; type: "uint256"; }, { internalType: "uint256"; name: "cdnEndEpoch"; type: "uint256"; }]; internalType: "struct FilecoinWarmStorageService.DataSetInfo"; name: "info"; type: "tuple"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "string"; name: "key"; type: "string"; }]; name: "getDataSetMetadata"; outputs: readonly [{ internalType: "bool"; name: "exists"; type: "bool"; }, { internalType: "string"; name: "value"; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "leafCount"; type: "uint256"; }]; name: "getDataSetSizeInBytes"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "pure"; type: "function";}, { inputs: readonly []; name: "getMaxProvingPeriod"; outputs: readonly [{ internalType: "uint64"; name: ""; type: "uint64"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "getPDPConfig"; outputs: readonly [{ internalType: "uint64"; name: "maxProvingPeriod"; type: "uint64"; }, { internalType: "uint256"; name: "challengeWindowSize"; type: "uint256"; }, { internalType: "uint256"; name: "challengesPerProof"; type: "uint256"; }, { internalType: "uint256"; name: "initChallengeWindowStart"; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "pieceId"; type: "uint256"; }, { internalType: "string"; name: "key"; type: "string"; }]; name: "getPieceMetadata"; outputs: readonly [{ internalType: "bool"; name: "exists"; type: "bool"; }, { internalType: "string"; name: "value"; type: "string"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "providerId"; type: "uint256"; }]; name: "isProviderApproved"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "nextPDPChallengeWindowStart"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }, { internalType: "uint256"; name: "periodId"; type: "uint256"; }]; name: "provenPeriods"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "provenThisPeriod"; outputs: readonly [{ internalType: "bool"; name: ""; type: "bool"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "provingActivationEpoch"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "setId"; type: "uint256"; }]; name: "provingDeadline"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "railId"; type: "uint256"; }]; name: "railToDataSet"; outputs: readonly [{ internalType: "uint256"; name: ""; type: "uint256"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly []; name: "service"; outputs: readonly [{ internalType: "contract FilecoinWarmStorageService"; name: ""; type: "address"; }]; stateMutability: "view"; type: "function";}, { inputs: readonly [{ internalType: "uint256"; name: "dataSetId"; type: "uint256"; }]; name: "ProvingPeriodNotInitialized"; type: "error";}] = abis.filecoinWarmStorageServiceStateViewAbi;
Warm Storage View contract ABI - read-only view methods separated from main contract These methods were moved from the main Warm Storage contract to reduce contract size