Skip to content

SPRegistryService

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

new SPRegistryService(options): SPRegistryService

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

Constructor for SPRegistryService

ParameterTypeDescription
options{ client: Client<Transport, Chain, Account>; }Options for the SPRegistryService
options.clientClient<Transport, Chain, Account>Wallet client used for read and write operations

SPRegistryService

activeProviderCount(): Promise<bigint>

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

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:283

Add PDP product to provider

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

Promise<`0x${string}`>

Transaction hash


getActiveProvidersByProductType(options): Promise<object[]>

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

Get active providers by product type (handles pagination internally)

ParameterTypeDescription
options{ productType: 0; }Options for provider filtering
options.productType0Product 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:185

Get all active providers (handles pagination internally)

Promise<PDPProvider[]>

List of all active providers


getProvider(options): Promise<PDPProvider | null>

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

Get provider information by ID

ParameterTypeDescription
options{ providerId: bigint; }Options for provider lookup
options.providerIdbigintProvider ID

Promise<PDPProvider | null>

Provider info with decoded products


getProviderByAddress(options): Promise<PDPProvider | null>

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

Get provider information by address

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

Promise<PDPProvider | null>

Provider info with decoded products


getProviderCount(): Promise<bigint>

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

Get total number of providers

Promise<bigint>

Total provider count


getProviderIdByAddress(options): Promise<bigint>

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

Get provider ID by address

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

Promise<bigint>

Provider ID (0 if not found)


getProviders(options): Promise<PDPProvider[]>

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

Get multiple providers by IDs using Multicall3 for efficiency

ParameterTypeDescription
options{ providerIds: bigint[]; }Options for provider batch lookup
options.providerIdsbigint[]Array of provider IDs

Promise<PDPProvider[]>

Array of provider info


isProviderActive(options): Promise<boolean>

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

Check if provider is active

ParameterTypeDescription
options{ providerId: bigint; }Options for provider status lookup
options.providerIdbigintProvider ID

Promise<boolean>

Whether provider is active


isRegisteredProvider(options): Promise<boolean>

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

Check if address is a registered provider

ParameterTypeDescription
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:103

Register as a new service provider with optional PDP product

ParameterTypeDescription
options{ info: ProviderRegistrationInfo; }Options for provider registration
options.infoProviderRegistrationInfoProvider registration information

Promise<`0x${string}`>

Transaction hash

const hash = await spRegistry.registerProvider({
info: {
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:314

Remove product from provider

ParameterTypeDescription
options{ productType: 0; }Options for product removal
options.productType0Type of product to remove

Promise<`0x${string}`>

Transaction hash


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

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

Remove provider registration

Promise<`0x${string}`>

Transaction response


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

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

Update PDP product with capabilities

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

Promise<`0x${string}`>

Transaction hash


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

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

Update provider information

ParameterTypeDescription
options{ description: string; name: string; }Options for provider info updates
options.descriptionstringNew description
options.namestringNew name

Promise<`0x${string}`>

Transaction response


static create(options): SPRegistryService

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

Create a new SPRegistryService instance

ParameterTypeDescription
options{ account: Account; chain?: Chain; transport?: Transport; }Options for the SPRegistryService
options.accountAccountViem account (required)
options.chain?ChainFilecoin chain (optional, defaults to DEFAULT_CHAIN)
options.transport?TransportViem transport (optional, defaults to http())

SPRegistryService