# sp-registry

## Namespaces

| Namespace | Description |
| ------ | ------ |
| [activeProviderCount](/reference/filoz/synapse-core/sp-registry/namespaces/activeprovidercount/toc/) | - |
| [activeProviderCountCall](/reference/filoz/synapse-core/sp-registry/namespaces/activeprovidercountcall/toc/) | - |
| [addProduct](/reference/filoz/synapse-core/sp-registry/namespaces/addproduct/toc/) | - |
| [addProductCall](/reference/filoz/synapse-core/sp-registry/namespaces/addproductcall/toc/) | - |
| [addProductSync](/reference/filoz/synapse-core/sp-registry/namespaces/addproductsync/toc/) | - |
| [getApprovedPDPProviders](/reference/filoz/synapse-core/sp-registry/namespaces/getapprovedpdpproviders/toc/) | - |
| [getPDPProvider](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpprovider/toc/) | - |
| [getPDPProviderByAddress](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpproviderbyaddress/toc/) | - |
| [getPDPProviderCall](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpprovidercall/toc/) | - |
| [getPDPProviders](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpproviders/toc/) | - |
| [getPDPProvidersByIds](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpprovidersbyids/toc/) | - |
| [getPDPProvidersCall](/reference/filoz/synapse-core/sp-registry/namespaces/getpdpproviderscall/toc/) | - |
| [getProviderCount](/reference/filoz/synapse-core/sp-registry/namespaces/getprovidercount/toc/) | - |
| [getProviderCountCall](/reference/filoz/synapse-core/sp-registry/namespaces/getprovidercountcall/toc/) | - |
| [getProviderIdByAddress](/reference/filoz/synapse-core/sp-registry/namespaces/getprovideridbyaddress/toc/) | - |
| [getProviderIdByAddressCall](/reference/filoz/synapse-core/sp-registry/namespaces/getprovideridbyaddresscall/toc/) | - |
| [getProvidersByProductType](/reference/filoz/synapse-core/sp-registry/namespaces/getprovidersbyproducttype/toc/) | - |
| [getProvidersByProductTypeCall](/reference/filoz/synapse-core/sp-registry/namespaces/getprovidersbyproducttypecall/toc/) | - |
| [getProviderWithProduct](/reference/filoz/synapse-core/sp-registry/namespaces/getproviderwithproduct/toc/) | - |
| [getProviderWithProductCall](/reference/filoz/synapse-core/sp-registry/namespaces/getproviderwithproductcall/toc/) | - |
| [isProviderActive](/reference/filoz/synapse-core/sp-registry/namespaces/isprovideractive/toc/) | - |
| [isProviderActiveCall](/reference/filoz/synapse-core/sp-registry/namespaces/isprovideractivecall/toc/) | - |
| [isRegisteredProvider](/reference/filoz/synapse-core/sp-registry/namespaces/isregisteredprovider/toc/) | - |
| [isRegisteredProviderCall](/reference/filoz/synapse-core/sp-registry/namespaces/isregisteredprovidercall/toc/) | - |
| [registerProvider](/reference/filoz/synapse-core/sp-registry/namespaces/registerprovider/toc/) | - |
| [registerProviderCall](/reference/filoz/synapse-core/sp-registry/namespaces/registerprovidercall/toc/) | - |
| [registerProviderSync](/reference/filoz/synapse-core/sp-registry/namespaces/registerprovidersync/toc/) | - |
| [removeProduct](/reference/filoz/synapse-core/sp-registry/namespaces/removeproduct/toc/) | - |
| [removeProductCall](/reference/filoz/synapse-core/sp-registry/namespaces/removeproductcall/toc/) | - |
| [removeProductSync](/reference/filoz/synapse-core/sp-registry/namespaces/removeproductsync/toc/) | - |
| [removeProvider](/reference/filoz/synapse-core/sp-registry/namespaces/removeprovider/toc/) | - |
| [removeProviderCall](/reference/filoz/synapse-core/sp-registry/namespaces/removeprovidercall/toc/) | - |
| [removeProviderSync](/reference/filoz/synapse-core/sp-registry/namespaces/removeprovidersync/toc/) | - |
| [updateProduct](/reference/filoz/synapse-core/sp-registry/namespaces/updateproduct/toc/) | - |
| [updateProductCall](/reference/filoz/synapse-core/sp-registry/namespaces/updateproductcall/toc/) | - |
| [updateProductSync](/reference/filoz/synapse-core/sp-registry/namespaces/updateproductsync/toc/) | - |
| [updateProviderInfo](/reference/filoz/synapse-core/sp-registry/namespaces/updateproviderinfo/toc/) | - |
| [updateProviderInfoCall](/reference/filoz/synapse-core/sp-registry/namespaces/updateproviderinfocall/toc/) | - |
| [updateProviderInfoSync](/reference/filoz/synapse-core/sp-registry/namespaces/updateproviderinfosync/toc/) | - |

## Interfaces

| Interface | Description |
| ------ | ------ |
| [PDPOffering](/reference/filoz/synapse-core/sp-registry/interfaces/pdpoffering/) | PDP offering details (decoded from capability k/v pairs) |
| [PDPProvider](/reference/filoz/synapse-core/sp-registry/interfaces/pdpprovider/) | - |

## Type Aliases

| Type Alias | Description |
| ------ | ------ |
| [getProviderWithProductType](/reference/filoz/synapse-core/sp-registry/type-aliases/getproviderwithproducttype/) | - |
| [ProductType](/reference/filoz/synapse-core/sp-registry/type-aliases/producttype/) | - |
| [ProviderInfo](/reference/filoz/synapse-core/sp-registry/type-aliases/providerinfo/) | - |
| [ProviderWithProduct](/reference/filoz/synapse-core/sp-registry/type-aliases/providerwithproduct/) | - |

## Variables

| Variable | Description |
| ------ | ------ |
| [PRODUCTS](/reference/filoz/synapse-core/sp-registry/variables/products/) | Product types supported by the registry |

## Functions

| Function | Description |
| ------ | ------ |
| [activeProviderCount](/reference/filoz/synapse-core/sp-registry/functions/activeprovidercount/) | Get the number of active providers |
| [activeProviderCountCall](/reference/filoz/synapse-core/sp-registry/functions/activeprovidercountcall/) | Create a call to the activeProviderCount function |
| [addProduct](/reference/filoz/synapse-core/sp-registry/functions/addproduct/) | Add a product to the service provider |
| [addProductCall](/reference/filoz/synapse-core/sp-registry/functions/addproductcall/) | Create a call to the addProduct function |
| [addProductSync](/reference/filoz/synapse-core/sp-registry/functions/addproductsync/) | Add a product to the service provider and wait for confirmation |
| [extractAddProductEvent](/reference/filoz/synapse-core/sp-registry/functions/extractaddproductevent/) | Extracts the ProductAdded event from transaction logs |
| [extractRegisterProviderEvent](/reference/filoz/synapse-core/sp-registry/functions/extractregisterproviderevent/) | Extracts the ProviderRegistered event from transaction logs |
| [extractRemoveProductEvent](/reference/filoz/synapse-core/sp-registry/functions/extractremoveproductevent/) | Extracts the ProductRemoved event from transaction logs |
| [extractRemoveProviderEvent](/reference/filoz/synapse-core/sp-registry/functions/extractremoveproviderevent/) | Extracts the ProviderRemoved event from transaction logs |
| [extractUpdateProductEvent](/reference/filoz/synapse-core/sp-registry/functions/extractupdateproductevent/) | Extracts the ProductUpdated event from transaction logs |
| [extractUpdateProviderInfoEvent](/reference/filoz/synapse-core/sp-registry/functions/extractupdateproviderinfoevent/) | Extracts the ProviderInfoUpdated event from transaction logs |
| [getApprovedPDPProviders](/reference/filoz/synapse-core/sp-registry/functions/getapprovedpdpproviders/) | Get FilecoinWarmStorage approved PDP providers |
| [getPDPProvider](/reference/filoz/synapse-core/sp-registry/functions/getpdpprovider/) | Get PDP provider details |
| [getPDPProviderByAddress](/reference/filoz/synapse-core/sp-registry/functions/getpdpproviderbyaddress/) | Get PDP provider by address |
| [getPDPProviderCall](/reference/filoz/synapse-core/sp-registry/functions/getpdpprovidercall/) | Create a call to the getPDPProvider function |
| [getPDPProviders](/reference/filoz/synapse-core/sp-registry/functions/getpdpproviders/) | Get PDP providers with pagination |
| [getPDPProvidersByIds](/reference/filoz/synapse-core/sp-registry/functions/getpdpprovidersbyids/) | Get PDP providers by IDs |
| [getPDPProvidersCall](/reference/filoz/synapse-core/sp-registry/functions/getpdpproviderscall/) | Create a call to the getPDPProviders function |
| [getProviderCount](/reference/filoz/synapse-core/sp-registry/functions/getprovidercount/) | Get the total number of registered providers |
| [getProviderCountCall](/reference/filoz/synapse-core/sp-registry/functions/getprovidercountcall/) | Create a call to the getProviderCount function |
| [getProviderIdByAddress](/reference/filoz/synapse-core/sp-registry/functions/getprovideridbyaddress/) | Get provider ID by address |
| [getProviderIdByAddressCall](/reference/filoz/synapse-core/sp-registry/functions/getprovideridbyaddresscall/) | Create a call to the getProviderIdByAddress function |
| [getProvidersByProductType](/reference/filoz/synapse-core/sp-registry/functions/getprovidersbyproducttype/) | Get providers that offer a specific product type with pagination |
| [getProvidersByProductTypeCall](/reference/filoz/synapse-core/sp-registry/functions/getprovidersbyproducttypecall/) | Create a call to the getProvidersByProductType function |
| [getProviderWithProduct](/reference/filoz/synapse-core/sp-registry/functions/getproviderwithproduct/) | Get provider details with specific product information |
| [getProviderWithProductCall](/reference/filoz/synapse-core/sp-registry/functions/getproviderwithproductcall/) | Create a call to the getProviderWithProduct function |
| [isProviderActive](/reference/filoz/synapse-core/sp-registry/functions/isprovideractive/) | Check if a provider is active |
| [isProviderActiveCall](/reference/filoz/synapse-core/sp-registry/functions/isprovideractivecall/) | Create a call to the isProviderActive function |
| [isRegisteredProvider](/reference/filoz/synapse-core/sp-registry/functions/isregisteredprovider/) | Check if an address is a registered provider |
| [isRegisteredProviderCall](/reference/filoz/synapse-core/sp-registry/functions/isregisteredprovidercall/) | Create a call to the isRegisteredProvider function |
| [parsePDPProvider](/reference/filoz/synapse-core/sp-registry/functions/parsepdpprovider/) | Parse the contract output into a PDPProvider object |
| [parsePDPProviders](/reference/filoz/synapse-core/sp-registry/functions/parsepdpproviders/) | Parse the contract output into a PDPProvider array |
| [registerProvider](/reference/filoz/synapse-core/sp-registry/functions/registerprovider/) | Register a new service provider in the Service Provider Registry |
| [registerProviderCall](/reference/filoz/synapse-core/sp-registry/functions/registerprovidercall/) | Create a call to the registerProvider function |
| [registerProviderSync](/reference/filoz/synapse-core/sp-registry/functions/registerprovidersync/) | Register a new service provider and wait for confirmation |
| [removeProduct](/reference/filoz/synapse-core/sp-registry/functions/removeproduct/) | Remove a product from the service provider |
| [removeProductCall](/reference/filoz/synapse-core/sp-registry/functions/removeproductcall/) | Create a call to the removeProduct function |
| [removeProductSync](/reference/filoz/synapse-core/sp-registry/functions/removeproductsync/) | Remove a product from the service provider and wait for confirmation |
| [removeProvider](/reference/filoz/synapse-core/sp-registry/functions/removeprovider/) | Remove a service provider from the Service Provider Registry |
| [removeProviderCall](/reference/filoz/synapse-core/sp-registry/functions/removeprovidercall/) | Create a call to the removeProvider function |
| [removeProviderSync](/reference/filoz/synapse-core/sp-registry/functions/removeprovidersync/) | Remove a service provider and wait for confirmation |
| [updateProduct](/reference/filoz/synapse-core/sp-registry/functions/updateproduct/) | Update a product for the service provider |
| [updateProductCall](/reference/filoz/synapse-core/sp-registry/functions/updateproductcall/) | Create a call to the updateProduct function |
| [updateProductSync](/reference/filoz/synapse-core/sp-registry/functions/updateproductsync/) | Update a product for the service provider and wait for confirmation |
| [updateProviderInfo](/reference/filoz/synapse-core/sp-registry/functions/updateproviderinfo/) | Update provider information in the Service Provider Registry |
| [updateProviderInfoCall](/reference/filoz/synapse-core/sp-registry/functions/updateproviderinfocall/) | Create a call to the updateProviderInfo function |
| [updateProviderInfoSync](/reference/filoz/synapse-core/sp-registry/functions/updateproviderinfosync/) | Update provider information and wait for confirmation |