# filecoinWarmStorageServiceStateViewAbi

```ts
const filecoinWarmStorageServiceStateViewAbi: readonly [{
  inputs: readonly [{
     internalType: "contract FilecoinWarmStorageService";
     name: "_service";
     type: "address";
  }];
  stateMutability: "nonpayable";
  type: "constructor";
}, {
  inputs: readonly [];
  name: "challengeWindow";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     type: "uint256";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "payer";
     type: "address";
  }];
  name: "clientDataSets";
  outputs: readonly [{
     internalType: "uint256[]";
     name: "dataSetIds";
     type: "uint256[]";
  }];
  stateMutability: "view";
  type: "function";
}, {
  inputs: readonly [{
     internalType: "address";
     name: "payer";
     type: "address";
   }, {
     internalType: "uint256";
     name: "nonce";
     type: "uint256";
  }];
  name: "clientNonces";
  outputs: readonly [{
     internalType: "uint256";
     name: "";
     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 [];
  name: "getCurrentPricingRates";
  outputs: readonly [{
     internalType: "uint256";
     name: "storagePrice";
     type: "uint256";
   }, {
     internalType: "uint256";
     name: "minimumRate";
     type: "uint256";
  }];
  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";
}];
```

Defined in: [packages/synapse-core/src/abis/generated.ts:3189](https://github.com/FilOzone/synapse-sdk/blob/1d6c4b9fe34534bf1087dfe41491b72be0b46858/packages/synapse-core/src/abis/generated.ts#L3189)

- [__View Contract on Filecoin Mainnet Filfox__](https://filfox.info/en/address/0x9e4e6699d8F67dFc883d6b0A7344Bd56F7E80B46)
- [__View Contract on Filecoin Calibration Filscan__](https://calibration.filscan.io/address/0xA5D87b04086B1d591026cCE10255351B5AA4689B)