SPRegistryService
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:37
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SPRegistryService(provider, registryAddress): SPRegistryService;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:45
Constructor for SPRegistryService
Parameters
Section titled “Parameters”Parameter | Type |
---|---|
provider | Provider |
registryAddress | string |
Returns
Section titled “Returns”SPRegistryService
Methods
Section titled “Methods”activeProviderCount()
Section titled “activeProviderCount()”activeProviderCount(): Promise<number>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:339
Get number of active providers
Returns
Section titled “Returns”Promise
<number
>
Active provider count
addPDPProduct()
Section titled “addPDPProduct()”addPDPProduct( signer, pdpOffering,capabilities): Promise<TransactionResponse>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:354
Add PDP product to provider
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Provider’s signer |
pdpOffering | PDPOffering | PDP offering details |
capabilities | Record <string , string > | Optional capability keys |
Returns
Section titled “Returns”Transaction response
getActiveProvidersByProductType()
Section titled “getActiveProvidersByProductType()”getActiveProvidersByProductType(productType): Promise<ProviderInfo[]>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:275
Get active providers by product type (handles pagination internally)
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
productType | 0 | Product type to filter by |
Returns
Section titled “Returns”List of providers with specified product type
getAllActiveProviders()
Section titled “getAllActiveProviders()”getAllActiveProviders(): Promise<ProviderInfo[]>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:243
Get all active providers (handles pagination internally)
Returns
Section titled “Returns”List of all active providers
getPDPService()
Section titled “getPDPService()”getPDPService(providerId): Promise< | null| PDPServiceInfo>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:425
Get PDP service info for a provider
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
providerId | number | Provider ID |
Returns
Section titled “Returns”Promise
<
| null
| PDPServiceInfo
>
PDP service info or null if not found
getProvider()
Section titled “getProvider()”getProvider(providerId): Promise<null | ProviderInfo>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:177
Get provider information by ID
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
providerId | number | Provider ID |
Returns
Section titled “Returns”Promise
<null
| ProviderInfo
>
Provider info with decoded products
getProviderByAddress()
Section titled “getProviderByAddress()”getProviderByAddress(address): Promise<null | ProviderInfo>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:203
Get provider information by address
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
address | string | Provider address |
Returns
Section titled “Returns”Promise
<null
| ProviderInfo
>
Provider info with decoded products
getProviderCount()
Section titled “getProviderCount()”getProviderCount(): Promise<number>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:329
Get total number of providers
Returns
Section titled “Returns”Promise
<number
>
Total provider count
getProviderIdByAddress()
Section titled “getProviderIdByAddress()”getProviderIdByAddress(address): Promise<number>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:233
Get provider ID by address
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
address | string | Provider address |
Returns
Section titled “Returns”Promise
<number
>
Provider ID (0 if not found)
getProviders()
Section titled “getProviders()”getProviders(providerIds): Promise<ProviderInfo[]>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:474
Get multiple providers by IDs using Multicall3 for efficiency
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
providerIds | number [] | Array of provider IDs |
Returns
Section titled “Returns”Array of provider info
isProviderActive()
Section titled “isProviderActive()”isProviderActive(providerId): Promise<boolean>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:310
Check if provider is active
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
providerId | number | Provider ID |
Returns
Section titled “Returns”Promise
<boolean
>
Whether provider is active
isRegisteredProvider()
Section titled “isRegisteredProvider()”isRegisteredProvider(address): Promise<boolean>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:320
Check if address is a registered provider
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
address | string | Address to check |
Returns
Section titled “Returns”Promise
<boolean
>
Whether address is registered
providerHasProduct()
Section titled “providerHasProduct()”providerHasProduct(providerId, productType): Promise<boolean>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:462
Check if provider has a specific product type
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
providerId | number | Provider ID |
productType | 0 | Product type to check |
Returns
Section titled “Returns”Promise
<boolean
>
Whether provider has the product
registerProvider()
Section titled “registerProvider()”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
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Signer to register as provider |
info | ProviderRegistrationInfo | Provider registration information |
Returns
Section titled “Returns”Transaction response containing the provider ID
Example
Section titled “Example”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 eventconst 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()
Section titled “removeProduct()”removeProduct(signer, productType): Promise<TransactionResponse>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:415
Remove product from provider
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Provider’s signer |
productType | 0 | Type of product to remove |
Returns
Section titled “Returns”Transaction response
removeProvider()
Section titled “removeProvider()”removeProvider(signer): Promise<TransactionResponse>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:165
Remove provider registration
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Provider’s signer |
Returns
Section titled “Returns”Transaction response
updatePDPProduct()
Section titled “updatePDPProduct()”updatePDPProduct( signer, pdpOffering,capabilities): Promise<TransactionResponse>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:385
Update PDP product with capabilities
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Provider’s signer |
pdpOffering | PDPOffering | Updated PDP offering |
capabilities | Record <string , string > | Updated capability key-value pairs |
Returns
Section titled “Returns”Transaction response
updateProviderInfo()
Section titled “updateProviderInfo()”updateProviderInfo( signer, name,description): Promise<TransactionResponse>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:151
Update provider information
Parameters
Section titled “Parameters”Parameter | Type | Description |
---|---|---|
signer | Signer | Provider’s signer |
name | string | New name |
description | string | New description |
Returns
Section titled “Returns”Transaction response
create()
Section titled “create()”static create(provider, registryAddress): Promise<SPRegistryService>;
Defined in: packages/synapse-sdk/src/sp-registry/service.ts:53
Create a new SPRegistryService instance
Parameters
Section titled “Parameters”Parameter | Type |
---|---|
provider | Provider |
registryAddress | string |
Returns
Section titled “Returns”Promise
<SPRegistryService
>