Skip to content

SPRegistryService

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

new SPRegistryService(client): SPRegistryService

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

Constructor for SPRegistryService

ParameterType
clientClient<Transport, Chain>

SPRegistryService

activeProviderCount(): Promise<bigint>

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

Get number of active providers

Promise<bigint>

Active provider count


addPDPProduct(client, pdpOffering, capabilities): Promise<`0x${string}`>

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

Add PDP product to provider

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction
pdpOfferingPDPOfferingPDP offering details
capabilitiesRecord<string, string>Optional capability keys

Promise<`0x${string}`>

Transaction hash


getActiveProvidersByProductType(productType): Promise<object[]>

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

Get active providers by product type (handles pagination internally)

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

Get all active providers (handles pagination internally)

Promise<PDPProvider[]>

List of all active providers


getProvider(providerId): Promise<PDPProvider | null>

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

Get provider information by ID

ParameterTypeDescription
providerIdbigintProvider ID

Promise<PDPProvider | null>

Provider info with decoded products


getProviderByAddress(address): Promise<PDPProvider | null>

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

Get provider information by address

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

Get total number of providers

Promise<bigint>

Total provider count


getProviderIdByAddress(address): Promise<bigint>

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

Get provider ID by address

ParameterTypeDescription
address`0x${string}`Provider address

Promise<bigint>

Provider ID (0 if not found)


getProviders(providerIds): Promise<PDPProvider[]>

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

Get multiple providers by IDs using Multicall3 for efficiency

ParameterTypeDescription
providerIdsbigint[]Array of provider IDs

Promise<PDPProvider[]>

Array of provider info


isProviderActive(providerId): Promise<boolean>

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

Check if provider is active

ParameterTypeDescription
providerIdbigintProvider ID

Promise<boolean>

Whether provider is active


isRegisteredProvider(address): Promise<boolean>

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

Check if address is a registered provider

ParameterTypeDescription
address`0x${string}`Address to check

Promise<boolean>

Whether address is registered


registerProvider(client, info): Promise<`0x${string}`>

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

Register as a new service provider with optional PDP product

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction
infoProviderRegistrationInfoProvider registration information

Promise<`0x${string}`>

Transaction hash

const hash = await spRegistry.registerProvider(client, {
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(client, productType): Promise<`0x${string}`>

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

Remove product from provider

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction
productType0Type of product to remove

Promise<`0x${string}`>

Transaction hash


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

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

Remove provider registration

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction

Promise<`0x${string}`>

Transaction response


updatePDPProduct(client, pdpOffering, capabilities): Promise<`0x${string}`>

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

Update PDP product with capabilities

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction
pdpOfferingPDPOfferingUpdated PDP offering
capabilitiesRecord<string, string>Updated capability key-value pairs

Promise<`0x${string}`>

Transaction hash


updateProviderInfo(client, name, description): Promise<`0x${string}`>

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

Update provider information

ParameterTypeDescription
clientClient<Transport, Chain, Account>Client to use for the transaction
namestringNew name
descriptionstringNew description

Promise<`0x${string}`>

Transaction response


static create(client): Promise<SPRegistryService>

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

Create a new SPRegistryService instance

ParameterType
clientClient<Transport, Chain>

Promise<SPRegistryService>