Skip to content

SPRegistryService

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

new SPRegistryService(provider, registryAddress): SPRegistryService;

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

Constructor for SPRegistryService

ParameterType
providerProvider
registryAddressstring

SPRegistryService

activeProviderCount(): Promise<number>;

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

Get number of active providers

Promise<number>

Active provider count


addPDPProduct(
signer,
pdpOffering,
capabilities): Promise<TransactionResponse>;

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

Add PDP product to provider

ParameterTypeDescription
signerSignerProvider’s signer
pdpOfferingPDPOfferingPDP offering details
capabilitiesRecord<string, string>Optional capability keys

Promise<TransactionResponse>

Transaction response


getActiveProvidersByProductType(productType): Promise<ProviderInfo[]>;

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

Get active providers by product type (handles pagination internally)

ParameterTypeDescription
productType0Product type to filter by

Promise<ProviderInfo[]>

List of providers with specified product type


getAllActiveProviders(): Promise<ProviderInfo[]>;

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

Get all active providers (handles pagination internally)

Promise<ProviderInfo[]>

List of all active providers


getPDPService(providerId): Promise<
| null
| PDPServiceInfo>;

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

Get PDP service info for a provider

ParameterTypeDescription
providerIdnumberProvider ID

Promise< | null | PDPServiceInfo>

PDP service info or null if not found


getProvider(providerId): Promise<null | ProviderInfo>;

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

Get provider information by ID

ParameterTypeDescription
providerIdnumberProvider ID

Promise<null | ProviderInfo>

Provider info with decoded products


getProviderByAddress(address): Promise<null | ProviderInfo>;

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

Get provider information by address

ParameterTypeDescription
addressstringProvider address

Promise<null | ProviderInfo>

Provider info with decoded products


getProviderCount(): Promise<number>;

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

Get total number of providers

Promise<number>

Total provider count


getProviderIdByAddress(address): Promise<number>;

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

Get provider ID by address

ParameterTypeDescription
addressstringProvider address

Promise<number>

Provider ID (0 if not found)


getProviders(providerIds): Promise<ProviderInfo[]>;

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

Get multiple providers by IDs using Multicall3 for efficiency

ParameterTypeDescription
providerIdsnumber[]Array of provider IDs

Promise<ProviderInfo[]>

Array of provider info


isProviderActive(providerId): Promise<boolean>;

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

Check if provider is active

ParameterTypeDescription
providerIdnumberProvider ID

Promise<boolean>

Whether provider is active


isRegisteredProvider(address): Promise<boolean>;

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

Check if address is a registered provider

ParameterTypeDescription
addressstringAddress to check

Promise<boolean>

Whether address is registered


providerHasProduct(providerId, productType): Promise<boolean>;

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

Check if provider has a specific product type

ParameterTypeDescription
providerIdnumberProvider ID
productType0Product type to check

Promise<boolean>

Whether provider has the product


registerProvider(signer, info): Promise<TransactionResponse>;

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

Register as a new service provider with optional PDP product

ParameterTypeDescription
signerSignerSigner to register as provider
infoProviderRegistrationInfoProvider registration information

Promise<TransactionResponse>

Transaction response containing the provider ID

const tx = await spRegistry.registerProvider(signer, {
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' }
})
// Wait for transaction and get provider ID from event
const receipt = await tx.wait()
const event = receipt.logs.find(log =>
log.topics[0] === ethers.id('ProviderRegistered(uint256,address,address)')
)
const providerId = event ? parseInt(event.topics[1], 16) : null

removeProduct(signer, productType): Promise<TransactionResponse>;

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

Remove product from provider

ParameterTypeDescription
signerSignerProvider’s signer
productType0Type of product to remove

Promise<TransactionResponse>

Transaction response


removeProvider(signer): Promise<TransactionResponse>;

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

Remove provider registration

ParameterTypeDescription
signerSignerProvider’s signer

Promise<TransactionResponse>

Transaction response


updatePDPProduct(
signer,
pdpOffering,
capabilities): Promise<TransactionResponse>;

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

Update PDP product with capabilities

ParameterTypeDescription
signerSignerProvider’s signer
pdpOfferingPDPOfferingUpdated PDP offering
capabilitiesRecord<string, string>Updated capability key-value pairs

Promise<TransactionResponse>

Transaction response


updateProviderInfo(
signer,
name,
description): Promise<TransactionResponse>;

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

Update provider information

ParameterTypeDescription
signerSignerProvider’s signer
namestringNew name
descriptionstringNew description

Promise<TransactionResponse>

Transaction response


static create(provider, registryAddress): Promise<SPRegistryService>;

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

Create a new SPRegistryService instance

ParameterType
providerProvider
registryAddressstring

Promise<SPRegistryService>