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_DENOMINATOR";  outputs: readonly [{     internalType: "uint256";     name: "";     type: "uint256";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [];  name: "NETWORK_FEE_NUMERATOR";  outputs: readonly [{     internalType: "uint256";     name: "";     type: "uint256";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "address";     name: "owner";     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: "contract IERC20";     name: "token";     type: "address";  }];  name: "auctionInfo";  outputs: readonly [{     internalType: "uint88";     name: "startPrice";     type: "uint88";   }, {     internalType: "uint168";     name: "startTime";     type: "uint168";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "address";     name: "recipient";     type: "address";   }, {     internalType: "uint256";     name: "requested";     type: "uint256";  }];  name: "burnForFees";  outputs: readonly [];  stateMutability: "payable";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC20";     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: "contract IERC20";     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: "contract IERC3009";     name: "token";     type: "address";   }, {     internalType: "address";     name: "to";     type: "address";   }, {     internalType: "uint256";     name: "amount";     type: "uint256";   }, {     internalType: "uint256";     name: "validAfter";     type: "uint256";   }, {     internalType: "uint256";     name: "validBefore";     type: "uint256";   }, {     internalType: "bytes32";     name: "nonce";     type: "bytes32";   }, {     internalType: "uint8";     name: "v";     type: "uint8";   }, {     internalType: "bytes32";     name: "r";     type: "bytes32";   }, {     internalType: "bytes32";     name: "s";     type: "bytes32";  }];  name: "depositWithAuthorization";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC3009";     name: "token";     type: "address";   }, {     internalType: "address";     name: "to";     type: "address";   }, {     internalType: "uint256";     name: "amount";     type: "uint256";   }, {     internalType: "uint256";     name: "validAfter";     type: "uint256";   }, {     internalType: "uint256";     name: "validBefore";     type: "uint256";   }, {     internalType: "bytes32";     name: "nonce";     type: "bytes32";   }, {     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: "depositWithAuthorizationAndApproveOperator";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC3009";     name: "token";     type: "address";   }, {     internalType: "address";     name: "to";     type: "address";   }, {     internalType: "uint256";     name: "amount";     type: "uint256";   }, {     internalType: "uint256";     name: "validAfter";     type: "uint256";   }, {     internalType: "uint256";     name: "validBefore";     type: "uint256";   }, {     internalType: "bytes32";     name: "nonce";     type: "bytes32";   }, {     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: "depositWithAuthorizationAndIncreaseOperatorApproval";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";        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: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "uint256";     name: "offset";     type: "uint256";   }, {     internalType: "uint256";     name: "limit";     type: "uint256";  }];  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: "results";     type: "tuple[]";   }, {     internalType: "uint256";     name: "nextOffset";     type: "uint256";   }, {     internalType: "uint256";     name: "total";     type: "uint256";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "address";     name: "payer";     type: "address";   }, {     internalType: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "uint256";     name: "offset";     type: "uint256";   }, {     internalType: "uint256";     name: "limit";     type: "uint256";  }];  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: "results";     type: "tuple[]";   }, {     internalType: "uint256";     name: "nextOffset";     type: "uint256";   }, {     internalType: "uint256";     name: "total";     type: "uint256";  }];  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: "contract IERC20";     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 [{     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: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "address";     name: "client";     type: "address";   }, {     internalType: "address";     name: "operator";     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 [{     internalType: "contract IERC20";     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: "totalNetworkFee";     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: "settleTerminatedRailWithoutValidation";  outputs: readonly [{     internalType: "uint256";     name: "totalSettledAmount";     type: "uint256";   }, {     internalType: "uint256";     name: "totalNetPayeeAmount";     type: "uint256";   }, {     internalType: "uint256";     name: "totalOperatorCommission";     type: "uint256";   }, {     internalType: "uint256";     name: "totalNetworkFee";     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: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "uint256";     name: "amount";     type: "uint256";  }];  name: "withdraw";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  inputs: readonly [{     internalType: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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: "DepositRecorded";  type: "event";}, {  anonymous: false;  inputs: readonly [{     indexed: true;     internalType: "contract IERC20";     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: "uint256";     name: "railId";     type: "uint256";   }, {     indexed: true;     internalType: "address";     name: "payer";     type: "address";   }, {     indexed: true;     internalType: "address";     name: "payee";     type: "address";   }, {     indexed: false;     internalType: "contract IERC20";     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";   }, {     indexed: false;     internalType: "uint256";     name: "networkFee";     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: "networkFee";     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: "contract IERC20";     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: "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: "contract IERC20";     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: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "address";     name: "from";     type: "address";   }, {     internalType: "uint256";     name: "currentLockup";     type: "uint256";   }, {     internalType: "uint256";     name: "lockupReduction";     type: "uint256";  }];  name: "InsufficientCurrentLockup";  type: "error";}, {  inputs: readonly [{     internalType: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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 [{     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: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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: "contract IERC20";     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 [{     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: "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: "uint256";     name: "x";     type: "uint256";   }, {     internalType: "uint256";     name: "y";     type: "uint256";   }, {     internalType: "uint256";     name: "denominator";     type: "uint256";  }];  name: "PRBMath_MulDiv_Overflow";  type: "error";}, {  inputs: readonly [{     internalType: "UD60x18";     name: "x";     type: "uint256";  }];  name: "PRBMath_UD60x18_Exp2_InputTooBig";  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 [{     internalType: "address";     name: "expected";     type: "address";   }, {     internalType: "address";     name: "actual";     type: "address";  }];  name: "SignerMustBeMsgSender";  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: "contract IERC20";     name: "token";     type: "address";   }, {     internalType: "uint256";     name: "available";     type: "uint256";   }, {     internalType: "uint256";     name: "requested";     type: "uint256";  }];  name: "WithdrawAmountExceedsAccumulatedFees";  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: "EXTRA_DATA_MAX_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: "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";   }, {     internalType: "address";     name: "listenerAddr";     type: "address";   }, {     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: "payable";  type: "function";}, {  inputs: readonly [{     internalType: "uint256";     name: "setId";     type: "uint256";  }];  name: "calculateProofFee";  outputs: readonly [{     internalType: "uint256";     name: "";     type: "uint256";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "uint256";     name: "rawSize";     type: "uint256";  }];  name: "calculateProofFeeForSize";  outputs: readonly [{     internalType: "uint256";     name: "";     type: "uint256";  }];  stateMutability: "view";  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 [];  name: "feeEffectiveTime";  outputs: readonly [{     internalType: "uint64";     name: "";     type: "uint64";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [];  name: "feePerTiB";  outputs: readonly [{     internalType: "uint96";     name: "";     type: "uint96";  }];  stateMutability: "view";  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 [{     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 [];  name: "proposedFeePerTiB";  outputs: readonly [{     internalType: "uint96";     name: "";     type: "uint96";  }];  stateMutability: "view";  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: "uint256";     name: "newFeePerTiB";     type: "uint256";  }];  name: "updateProofFee";  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: "uint256";     name: "currentFee";     type: "uint256";   }, {     indexed: false;     internalType: "uint256";     name: "newFee";     type: "uint256";   }, {     indexed: false;     internalType: "uint256";     name: "effectiveTime";     type: "uint256";  }];  name: "FeeUpdateProposed";  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: true;     internalType: "uint256";     name: "setId";     type: "uint256";   }, {     indexed: false;     internalType: "uint256";     name: "fee";     type: "uint256";  }];  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: "uint256";        name: "providerId";        type: "uint256";      }, {        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";     }];     internalType: "struct ServiceProviderRegistry.ServiceProviderInfoView";     name: "info";     type: "tuple";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "address";     name: "providerAddress";     type: "address";  }];  name: "getProviderByAddress";  outputs: readonly [{     components: readonly [{        internalType: "uint256";        name: "providerId";        type: "uint256";      }, {        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";     }];     internalType: "struct ServiceProviderRegistry.ServiceProviderInfoView";     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: "uint256";     name: "providerId";     type: "uint256";  }];  name: "getProviderPayee";  outputs: readonly [{     internalType: "address";     name: "payee";     type: "address";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [{     internalType: "uint256[]";     name: "providerIds";     type: "uint256[]";  }];  name: "getProvidersByIds";  outputs: readonly [{     components: readonly [{        internalType: "uint256";        name: "providerId";        type: "uint256";      }, {        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";     }];     internalType: "struct ServiceProviderRegistry.ServiceProviderInfoView[]";     name: "providerInfos";     type: "tuple[]";   }, {     internalType: "bool[]";     name: "validIds";     type: "bool[]";  }];  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[]";   }, {     internalType: "string";     name: "origin";     type: "string";  }];  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[]";   }, {     internalType: "string";     name: "origin";     type: "string";  }];  name: "loginAndFund";  outputs: readonly [];  stateMutability: "payable";  type: "function";}, {  inputs: readonly [{     internalType: "address";     name: "signer";     type: "address";   }, {     internalType: "bytes32[]";     name: "permissions";     type: "bytes32[]";   }, {     internalType: "string";     name: "origin";     type: "string";  }];  name: "revoke";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  anonymous: false;  inputs: readonly [{     indexed: true;     internalType: "address";     name: "identity";     type: "address";   }, {     indexed: false;     internalType: "address";     name: "signer";     type: "address";   }, {     indexed: false;     internalType: "uint256";     name: "expiry";     type: "uint256";   }, {     indexed: false;     internalType: "bytes32[]";     name: "permissions";     type: "bytes32[]";   }, {     indexed: false;     internalType: "string";     name: "origin";     type: "string";  }];  name: "AuthorizationsUpdated";  type: "event";}] = 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: "contract IERC20Metadata";     name: "_usdfc";     type: "address";   }, {     internalType: "address";     name: "_filBeamBeneficiaryAddress";     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 [{     components: readonly [{        internalType: "address";        name: "nextImplementation";        type: "address";      }, {        internalType: "uint96";        name: "afterEpoch";        type: "uint96";     }];     internalType: "struct FilecoinWarmStorageService.PlannedUpgrade";     name: "plannedUpgrade";     type: "tuple";  }];  name: "announcePlannedUpgrade";  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: "";     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: "filBeamBeneficiaryAddress";  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: "contract IERC20";        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: "_filBeamControllerAddress";     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: "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: "uint256";     name: "cdnAmount";     type: "uint256";   }, {     internalType: "uint256";     name: "cacheMissAmount";     type: "uint256";  }];  name: "settleFilBeamPaymentRails";  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: "uint256";     name: "dataSetId";     type: "uint256";   }, {     internalType: "uint256";     name: "cdnAmountToAdd";     type: "uint256";   }, {     internalType: "uint256";     name: "cacheMissAmountToAdd";     type: "uint256";  }];  name: "topUpCDNPaymentRails";  outputs: readonly [];  stateMutability: "nonpayable";  type: "function";}, {  inputs: readonly [{     internalType: "address";     name: "newController";     type: "address";  }];  name: "transferFilBeamController";  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: "contract IERC20Metadata";     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: "totalCdnLockup";     type: "uint256";   }, {     indexed: false;     internalType: "uint256";     name: "totalCacheMissLockup";     type: "uint256";  }];  name: "CDNPaymentRailsToppedUp";  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: "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: "FilBeamControllerChanged";  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";   }, {     components: readonly [{        internalType: "bytes";        name: "data";        type: "bytes";     }];     indexed: false;     internalType: "struct Cids.Cid";     name: "pieceCid";     type: "tuple";   }, {     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 [{     components: readonly [{        internalType: "address";        name: "nextImplementation";        type: "address";      }, {        internalType: "uint96";        name: "afterEpoch";        type: "uint96";     }];     indexed: false;     internalType: "struct FilecoinWarmStorageService.PlannedUpgrade";     name: "plannedUpgrade";     type: "tuple";  }];  name: "UpgradeAnnounced";  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: "enum Errors.AddressField";     name: "field";     type: "uint8";  }];  name: "AddressAlreadySet";  type: "error";}, {  inputs: readonly [{     internalType: "address";     name: "target";     type: "address";  }];  name: "AddressEmptyCode";  type: "error";}, {  inputs: readonly [{     internalType: "uint256";     name: "dataSetId";     type: "uint256";  }];  name: "CDNPaymentAlreadyTerminated";  type: "error";}, {  inputs: readonly [{     internalType: "uint256";     name: "dataSetId";     type: "uint256";  }];  name: "CacheMissPaymentAlreadyTerminated";  type: "error";}, {  inputs: readonly [{     internalType: "uint256";     name: "dataSetId";     type: "uint256";   }, {     internalType: "address";     name: "expectedPayer";     type: "address";   }, {     internalType: "address";     name: "caller";     type: "address";  }];  name: "CallerNotPayer";  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: "uint256";     name: "clientDataSetId";     type: "uint256";  }];  name: "ClientDataSetAlreadyRegistered";  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: "FilBeamServiceNotConfigured";  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: "uint256";     name: "length";     type: "uint256";  }];  name: "InvalidServiceDescriptionLength";  type: "error";}, {  inputs: readonly [{     internalType: "uint256";     name: "length";     type: "uint256";  }];  name: "InvalidServiceNameLength";  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 [{     internalType: "uint256";     name: "dataSetId";     type: "uint256";  }];  name: "InvalidTopUpAmount";  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: "OnlyFilBeamControllerAllowed";  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: "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";  }];  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";   }, {     internalType: "uint256";     name: "clientDataSetId";     type: "uint256";  }];  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: "filBeamControllerAddress";  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 [{     internalType: "uint256";     name: "offset";     type: "uint256";   }, {     internalType: "uint256";     name: "limit";     type: "uint256";  }];  name: "getApprovedProviders";  outputs: readonly [{     internalType: "uint256[]";     name: "providerIds";     type: "uint256[]";  }];  stateMutability: "view";  type: "function";}, {  inputs: readonly [];  name: "getApprovedProvidersLength";  outputs: readonly [{     internalType: "uint256";     name: "count";     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: "dataSetId";        type: "uint256";     }];     internalType: "struct FilecoinWarmStorageService.DataSetInfoView[]";     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: "dataSetId";        type: "uint256";     }];     internalType: "struct FilecoinWarmStorageService.DataSetInfoView";     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 [{     internalType: "uint256";     name: "dataSetId";     type: "uint256";  }];  name: "getDataSetStatus";  outputs: readonly [{     internalType: "enum FilecoinWarmStorageService.DataSetStatus";     name: "status";     type: "uint8";  }];  stateMutability: "view";  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 [];  name: "nextUpgrade";  outputs: readonly [{     internalType: "address";     name: "nextImplementation";     type: "address";   }, {     internalType: "uint96";     name: "afterEpoch";     type: "uint96";  }];  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 [];  name: "serviceCommissionBps";  outputs: readonly [{     internalType: "uint256";     name: "";     type: "uint256";  }];  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