Skip to content

SPRegistryService

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:36

new SPRegistryService(options): SPRegistryService

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:45

Constructor for SPRegistryService

Parameter Type Description
options { client: Client<Transport, Chain, Account>; readClient?: Client<Transport, Chain>; } Options for the SPRegistryService
options.client Client<Transport, Chain, Account> Wallet client used for read and write operations
options.readClient? Client<Transport, Chain> -

SPRegistryService

activeProviderCount(): Promise<bigint>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:242

Get number of active providers

Promise<bigint>

Active provider count


addPDPProduct(options): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:255

Add PDP product to provider

Parameter Type Description
options { capabilities?: Record<string, string>; pdpOffering: PDPOffering; } Options for adding a PDP product
options.capabilities? Record<string, string> Optional capability keys
options.pdpOffering PDPOffering PDP offering details

Promise<`0x${string}`>

Transaction hash


getActiveProvidersByProductType(options): Promise<object[]>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:198

Get active providers by product type (handles pagination internally)

Parameter Type Description
options { productType: 0; } Options for provider filtering
options.productType 0 Product type to filter by

Promise<object[]>

List of providers with specified product type


getAllActiveProviders(): Promise<PDPProvider[]>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:181

Get all active providers (handles pagination internally)

Promise<PDPProvider[]>

List of all active providers


getProvider(options): Promise<OutputType>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:141

Get provider information by ID

Parameter Type Description
options { providerId: bigint; } Options for provider lookup
options.providerId bigint Provider ID

Promise<OutputType>

Provider info with decoded products


getProviderByAddress(options): Promise<OutputType>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:158

Get provider information by address

Parameter Type Description
options { address: `0x${string}`; } Options for provider lookup
options.address `0x${string}` Provider address

Promise<OutputType>

Provider info with decoded products


getProviderCount(): Promise<bigint>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:234

Get total number of providers

Promise<bigint>

Total provider count


getProviderIdByAddress(options): Promise<bigint | null>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:173

Get provider ID by address

Parameter Type Description
options { address: `0x${string}`; } Options for provider ID lookup
options.address `0x${string}` Provider address

Promise<bigint | null>

Provider ID, or null when the address is not registered


getProviders(options): Promise<PDPProvider[]>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:302

Get multiple providers by IDs using Multicall3 for efficiency

Parameter Type Description
options { providerIds: bigint[]; } Options for provider batch lookup
options.providerIds bigint[] Array of provider IDs

Promise<PDPProvider[]>

Array of provider info


isProviderActive(options): Promise<boolean>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:216

Check if provider is active

Parameter Type Description
options { providerId: bigint; } Options for provider status lookup
options.providerId bigint Provider ID

Promise<boolean>

Whether provider is active


isRegisteredProvider(options): Promise<boolean>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:226

Check if address is a registered provider

Parameter Type Description
options { address: `0x${string}`; } Options for provider registration lookup
options.address `0x${string}` Address to check

Promise<boolean>

Whether address is registered


registerProvider(options): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:99

Register as a new service provider with optional PDP product

Parameter Type Description
options ProviderRegistrationInfo ProviderRegistrationInfo

Promise<`0x${string}`>

Transaction hash Hash

const hash = await spRegistry.registerProvider({
  payee: '0x...', // Address that will receive payments
  name: 'My Storage Provider',
  description: 'High-performance storage service',
  pdpOffering: {
    serviceURL: 'https://provider.example.com',
    minPieceSizeInBytes: SIZE_CONSTANTS.KiB,
    maxPieceSizeInBytes: SIZE_CONSTANTS.GiB,
    // ... other PDP fields
  },
  capabilities: { 'region': 'us-east', 'tier': 'premium' }
})

console.log(hash)

removeProduct(options): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:286

Remove product from provider

Parameter Type Description
options { productType: 0; } Options for product removal
options.productType 0 Type of product to remove

Promise<`0x${string}`>

Transaction hash


removeProvider(): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:129

Remove provider registration

Promise<`0x${string}`>

Transaction response


updatePDPProduct(options): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:271

Update PDP product with capabilities

Parameter Type Description
options { capabilities?: Record<string, string>; pdpOffering: PDPOffering; } Options for updating a PDP product
options.capabilities? Record<string, string> Updated capability key-value pairs
options.pdpOffering PDPOffering Updated PDP offering

Promise<`0x${string}`>

Transaction hash


updateProviderInfo(options): Promise<`0x${string}`>

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:118

Update provider information

Parameter Type Description
options { description: string; name: string; } Options for provider info updates
options.description string New description
options.name string New name

Promise<`0x${string}`>

Transaction response


static create(options): SPRegistryService

Defined in: packages/synapse-sdk/src/sp-registry/service.ts:57

Create a new SPRegistryService instance

Parameter Type Description
options { account: `0x${string}` | Account; chain?: FilecoinChain; transport?: Transport; } Options for the SPRegistryService
options.account `0x${string}` | Account Viem account (required)
options.chain? FilecoinChain Filecoin chain (optional, defaults to DEFAULT_CHAIN)
options.transport? Transport Viem transport (optional, defaults to http())

SPRegistryService