# serviceProviderRegistryAbi

> `const` **serviceProviderRegistryAbi**: readonly \[\{ `inputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"constructor"`; \}, \{ `inputs`: readonly \[\]; `name`: `"MAX_CAPABILITIES"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"MAX_CAPABILITY_KEY_LENGTH"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"MAX_CAPABILITY_VALUE_LENGTH"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"REGISTRATION_FEE"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"UPGRADE_INTERFACE_VERSION"`; `outputs`: readonly \[\{ `internalType`: `"string"`; `name`: `""`; `type`: `"string"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"VERSION"`; `outputs`: readonly \[\{ `internalType`: `"string"`; `name`: `""`; `type`: `"string"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"activeProductTypeProviderCount"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"count"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"activeProviderCount"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"capabilityValues"`; `type`: `"bytes[]"`; \}\]; `name`: `"addProduct"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"providerAddress"`; `type`: `"address"`; \}\]; `name`: `"addressToProviderId"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"nextImplementation"`; `type`: `"address"`; \}, \{ `internalType`: `"uint96"`; `name`: `"afterEpoch"`; `type`: `"uint96"`; \}\]; `internalType`: `"struct ServiceProviderRegistry.PlannedUpgrade"`; `name`: `"plannedUpgrade"`; `type`: `"tuple"`; \}\]; `name`: `"announcePlannedUpgrade"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"eip712Domain"`; `outputs`: readonly \[\{ `internalType`: `"bytes1"`; `name`: `"fields"`; `type`: `"bytes1"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"version"`; `type`: `"string"`; \}, \{ `internalType`: `"uint256"`; `name`: `"chainId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"address"`; `name`: `"verifyingContract"`; `type`: `"address"`; \}, \{ `internalType`: `"bytes32"`; `name`: `"salt"`; `type`: `"bytes32"`; \}, \{ `internalType`: `"uint256[]"`; `name`: `"extensions"`; `type`: `"uint256[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"offset"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"limit"`; `type`: `"uint256"`; \}\]; `name`: `"getAllActiveProviders"`; `outputs`: readonly \[\{ `internalType`: `"uint256[]"`; `name`: `"providerIds"`; `type`: `"uint256[]"`; \}, \{ `internalType`: `"bool"`; `name`: `"hasMore"`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"getAllProductCapabilities"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}, \{ `internalType`: `"string[]"`; `name`: `"keys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"values"`; `type`: `"bytes[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"getNextProviderId"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"keys"`; `type`: `"string[]"`; \}\]; `name`: `"getProductCapabilities"`; `outputs`: readonly \[\{ `internalType`: `"bytes[]"`; `name`: `"values"`; `type`: `"bytes[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"getProvider"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProviderInfo"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `internalType`: `"struct ServiceProviderRegistry.ServiceProviderInfoView"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"providerAddress"`; `type`: `"address"`; \}\]; `name`: `"getProviderByAddress"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProviderInfo"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `internalType`: `"struct ServiceProviderRegistry.ServiceProviderInfoView"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"getProviderCount"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"providerAddress"`; `type`: `"address"`; \}\]; `name`: `"getProviderIdByAddress"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `""`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"getProviderPayee"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"getProviderWithProduct"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProviderInfo"`; `name`: `"providerInfo"`; `type`: `"tuple"`; \}, \{ `components`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProduct"`; `name`: `"product"`; `type`: `"tuple"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"productCapabilityValues"`; `type`: `"bytes[]"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ProviderWithProduct"`; `name`: `""`; `type`: `"tuple"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256[]"`; `name`: `"providerIds"`; `type`: `"uint256[]"`; \}\]; `name`: `"getProvidersByIds"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProviderInfo"`; `name`: `"info"`; `type`: `"tuple"`; \}\]; `internalType`: `"struct ServiceProviderRegistry.ServiceProviderInfoView[]"`; `name`: `"providerInfos"`; `type`: `"tuple[]"`; \}, \{ `internalType`: `"bool[]"`; `name`: `"validIds"`; `type`: `"bool[]"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"bool"`; `name`: `"onlyActive"`; `type`: `"bool"`; \}, \{ `internalType`: `"uint256"`; `name`: `"offset"`; `type`: `"uint256"`; \}, \{ `internalType`: `"uint256"`; `name`: `"limit"`; `type`: `"uint256"`; \}\]; `name`: `"getProvidersByProductType"`; `outputs`: readonly \[\{ `components`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProviderInfo"`; `name`: `"providerInfo"`; `type`: `"tuple"`; \}, \{ `components`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ServiceProduct"`; `name`: `"product"`; `type`: `"tuple"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"productCapabilityValues"`; `type`: `"bytes[]"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.ProviderWithProduct[]"`; `name`: `"providers"`; `type`: `"tuple[]"`; \}, \{ `internalType`: `"bool"`; `name`: `"hasMore"`; `type`: `"bool"`; \}\]; `internalType`: `"struct ServiceProviderRegistryStorage.PaginatedProviders"`; `name`: `"result"`; `type`: `"tuple"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"initialize"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"isProviderActive"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"provider"`; `type`: `"address"`; \}\]; `name`: `"isRegisteredProvider"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"newVersion"`; `type`: `"string"`; \}\]; `name`: `"migrate"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"nextUpgrade"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"nextImplementation"`; `type`: `"address"`; \}, \{ `internalType`: `"uint96"`; `name`: `"afterEpoch"`; `type`: `"uint96"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"owner"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `""`; `type`: `"address"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string"`; `name`: `"key"`; `type`: `"string"`; \}\]; `name`: `"productCapabilities"`; `outputs`: readonly \[\{ `internalType`: `"bytes"`; `name`: `"value"`; `type`: `"bytes"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"productTypeProviderCount"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"count"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"providerHasProduct"`; `outputs`: readonly \[\{ `internalType`: `"bool"`; `name`: `""`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"providerProducts"`; `outputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"providers"`; `outputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"bool"`; `name`: `"isActive"`; `type`: `"bool"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"proxiableUUID"`; `outputs`: readonly \[\{ `internalType`: `"bytes32"`; `name`: `""`; `type`: `"bytes32"`; \}\]; `stateMutability`: `"view"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}, \{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}, \{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"capabilityValues"`; `type`: `"bytes[]"`; \}\]; `name`: `"registerProvider"`; `outputs`: readonly \[\{ `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `stateMutability`: `"payable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"removeProduct"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"removeProvider"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\]; `name`: `"renounceOwnership"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"newOwner"`; `type`: `"address"`; \}\]; `name`: `"transferOwnership"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `internalType`: `"bytes[]"`; `name`: `"capabilityValues"`; `type`: `"bytes[]"`; \}\]; `name`: `"updateProduct"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"string"`; `name`: `"name"`; `type`: `"string"`; \}, \{ `internalType`: `"string"`; `name`: `"description"`; `type`: `"string"`; \}\]; `name`: `"updateProviderInfo"`; `outputs`: readonly \[\]; `stateMutability`: `"nonpayable"`; `type`: `"function"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"newImplementation"`; `type`: `"address"`; \}, \{ `internalType`: `"bytes"`; `name`: `"data"`; `type`: `"bytes"`; \}\]; `name`: `"upgradeToAndCall"`; `outputs`: readonly \[\]; `stateMutability`: `"payable"`; `type`: `"function"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `false`; `internalType`: `"string"`; `name`: `"version"`; `type`: `"string"`; \}, \{ `indexed`: `false`; `internalType`: `"address"`; `name`: `"implementation"`; `type`: `"address"`; \}\]; `name`: `"ContractUpgraded"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\]; `name`: `"EIP712DomainChanged"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `false`; `internalType`: `"uint64"`; `name`: `"version"`; `type`: `"uint64"`; \}\]; `name`: `"Initialized"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"address"`; `name`: `"previousOwner"`; `type`: `"address"`; \}, \{ `indexed`: `true`; `internalType`: `"address"`; `name`: `"newOwner"`; `type`: `"address"`; \}\]; `name`: `"OwnershipTransferred"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `indexed`: `true`; `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `indexed`: `false`; `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `indexed`: `false`; `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `indexed`: `false`; `internalType`: `"bytes[]"`; `name`: `"capabilityValues"`; `type`: `"bytes[]"`; \}\]; `name`: `"ProductAdded"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `indexed`: `true`; `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"ProductRemoved"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `indexed`: `true`; `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}, \{ `indexed`: `false`; `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `indexed`: `false`; `internalType`: `"string[]"`; `name`: `"capabilityKeys"`; `type`: `"string[]"`; \}, \{ `indexed`: `false`; `internalType`: `"bytes[]"`; `name`: `"capabilityValues"`; `type`: `"bytes[]"`; \}\]; `name`: `"ProductUpdated"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"ProviderInfoUpdated"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}, \{ `indexed`: `true`; `internalType`: `"address"`; `name`: `"serviceProvider"`; `type`: `"address"`; \}, \{ `indexed`: `true`; `internalType`: `"address"`; `name`: `"payee"`; `type`: `"address"`; \}\]; `name`: `"ProviderRegistered"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"uint256"`; `name`: `"providerId"`; `type`: `"uint256"`; \}\]; `name`: `"ProviderRemoved"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `components`: readonly \[\{ `internalType`: `"address"`; `name`: `"nextImplementation"`; `type`: `"address"`; \}, \{ `internalType`: `"uint96"`; `name`: `"afterEpoch"`; `type`: `"uint96"`; \}\]; `indexed`: `false`; `internalType`: `"struct ServiceProviderRegistry.PlannedUpgrade"`; `name`: `"plannedUpgrade"`; `type`: `"tuple"`; \}\]; `name`: `"UpgradeAnnounced"`; `type`: `"event"`; \}, \{ `anonymous`: `false`; `inputs`: readonly \[\{ `indexed`: `true`; `internalType`: `"address"`; `name`: `"implementation"`; `type`: `"address"`; \}\]; `name`: `"Upgraded"`; `type`: `"event"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"target"`; `type`: `"address"`; \}\]; `name`: `"AddressEmptyCode"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"implementation"`; `type`: `"address"`; \}\]; `name`: `"ERC1967InvalidImplementation"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\]; `name`: `"ERC1967NonPayable"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\]; `name`: `"FailedCall"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"enum ServiceProviderRegistryStorage.ProductType"`; `name`: `"productType"`; `type`: `"uint8"`; \}\]; `name`: `"InsufficientCapabilitiesForProduct"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\]; `name`: `"InvalidInitialization"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\]; `name`: `"NotInitializing"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"owner"`; `type`: `"address"`; \}\]; `name`: `"OwnableInvalidOwner"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"address"`; `name`: `"account"`; `type`: `"address"`; \}\]; `name`: `"OwnableUnauthorizedAccount"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\]; `name`: `"UUPSUnauthorizedCallContext"`; `type`: `"error"`; \}, \{ `inputs`: readonly \[\{ `internalType`: `"bytes32"`; `name`: `"slot"`; `type`: `"bytes32"`; \}\]; `name`: `"UUPSUnsupportedProxiableUUID"`; `type`: `"error"`; \}\]

Defined in: [packages/synapse-core/src/abis/generated.ts:4407](https://github.com/FilOzone/synapse-sdk/blob/7fdc04df4e3c52366a9f0cd55da4c05e20b2ed82/packages/synapse-core/src/abis/generated.ts#L4407)

- [__View Contract on Filecoin Mainnet Filfox__](https://filfox.info/en/address/0xf55dDbf63F1b55c3F1D4FA7e339a68AB7b64A5eB)
- [__View Contract on Filecoin Calibration Filscan__](https://calibration.filscan.io/address/0x839e5c9988e4e9977d40708d0094103c0839Ac9D)