ton-provider-system 0.2.4 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +292 -203
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -1
- package/dist/index.d.ts +26 -1
- package/dist/index.js +292 -204
- package/dist/index.js.map +1 -1
- package/package.json +17 -19
package/dist/index.d.cts
CHANGED
|
@@ -992,6 +992,8 @@ declare class HealthChecker {
|
|
|
992
992
|
private logger;
|
|
993
993
|
private results;
|
|
994
994
|
private highestSeqno;
|
|
995
|
+
/** Rolling window of recent valid seqnos per network (for outlier-robust blocksBehind). */
|
|
996
|
+
private seqnoSamples;
|
|
995
997
|
private rateLimiter;
|
|
996
998
|
constructor(config?: Partial<HealthCheckConfig>, logger?: Logger, rateLimiter?: RateLimiterManager);
|
|
997
999
|
/**
|
|
@@ -1046,6 +1048,18 @@ declare class HealthChecker {
|
|
|
1046
1048
|
*/
|
|
1047
1049
|
markOffline(providerId: string, network: Network, error?: string): void;
|
|
1048
1050
|
private getResultKey;
|
|
1051
|
+
/**
|
|
1052
|
+
* Record a valid seqno sample and return an outlier-robust freshness baseline
|
|
1053
|
+
* (median of recent samples for the network). Using the median instead of the
|
|
1054
|
+
* raw maximum prevents a single provider that reports an inflated seqno from
|
|
1055
|
+
* poisoning `blocksBehind` for every other (healthy) provider. See P2-2.
|
|
1056
|
+
*/
|
|
1057
|
+
private recordSeqnoAndGetBaseline;
|
|
1058
|
+
/**
|
|
1059
|
+
* Detect a "non-JSON response" error (e.g. an HTML error page returned by a
|
|
1060
|
+
* misbehaving gateway), used to decide whether to re-discover an Orbs endpoint.
|
|
1061
|
+
*/
|
|
1062
|
+
private isNonJsonResponseError;
|
|
1049
1063
|
/**
|
|
1050
1064
|
* Get endpoint URL for a provider (handles dynamic providers like Orbs)
|
|
1051
1065
|
*/
|
|
@@ -1724,6 +1738,17 @@ declare function isValidHttpUrl(str: string): boolean;
|
|
|
1724
1738
|
* Validate that a string is a valid WebSocket URL.
|
|
1725
1739
|
*/
|
|
1726
1740
|
declare function isValidWsUrl(str: string): boolean;
|
|
1741
|
+
/**
|
|
1742
|
+
* Redact credentials from an endpoint URL so it is safe to log.
|
|
1743
|
+
*
|
|
1744
|
+
* Masks (a) sensitive query-param values (`apikey`, `api_key`, `key`, `token`,
|
|
1745
|
+
* `secret`, `password`), (b) credential-like path segments while preserving
|
|
1746
|
+
* structural ones (`api`, `v2`, `v3`, `jsonRPC`, `rpc`, `public`, …), and
|
|
1747
|
+
* (c) a credential-like leading host label (e.g. a QuickNode subdomain key).
|
|
1748
|
+
*
|
|
1749
|
+
* For logging only — never use the result to make requests.
|
|
1750
|
+
*/
|
|
1751
|
+
declare function redactUrl(url: string): string;
|
|
1727
1752
|
|
|
1728
1753
|
/**
|
|
1729
1754
|
* Unified Provider System - Timeout Utilities
|
|
@@ -2059,4 +2084,4 @@ declare class GenericProvider extends BaseProvider {
|
|
|
2059
2084
|
*/
|
|
2060
2085
|
declare function createProvider(provider: ResolvedProvider): BaseProvider;
|
|
2061
2086
|
|
|
2062
|
-
export { type ApiVersion, ApiVersionSchema, BaseProvider, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ChainstackProvider, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, GenericProvider, GetBlockProvider, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, OnFinalityProvider, OrbsProvider, type ProviderConfig, ProviderConfigSchema, type ProviderEndpoints, ProviderError, type ProviderHealthResult, ProviderManager, type ProviderManagerOptions, type ProviderManagerState, ProviderRegistry, ProviderSelector, type ProviderState, type ProviderStatus, type ProviderType, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, QuickNodeProvider, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TatumProvider, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, TonCenterProvider, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProvider, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, getTonClientWithRateLimit, isApiVersion, isChainstackUrl, isNetwork, isOrbsUrl, isProviderType, isQuickNodeUrl, isRateLimitError, isTimeoutError, isTonCenterUrl, isValidHttpUrl, isValidWsUrl, loadBuiltinConfig, loadConfig, loadConfigFromData, loadConfigFromUrl, mergeConfigs, mergeWithDefaults, normalizeV2Endpoint, parseProviderConfig, parseRpcConfig, resetNodeAdapter, resolveAllProviders, resolveEndpoints, resolveKeyPlaceholder, resolveProvider, sleep, toV2Base, toV3Base, withRetry, withTimeout, withTimeoutAndRetry, withTimeoutFn };
|
|
2087
|
+
export { type ApiVersion, ApiVersionSchema, BaseProvider, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ChainstackProvider, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, GenericProvider, GetBlockProvider, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, OnFinalityProvider, OrbsProvider, type ProviderConfig, ProviderConfigSchema, type ProviderEndpoints, ProviderError, type ProviderHealthResult, ProviderManager, type ProviderManagerOptions, type ProviderManagerState, ProviderRegistry, ProviderSelector, type ProviderState, type ProviderStatus, type ProviderType, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, QuickNodeProvider, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TatumProvider, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, TonCenterProvider, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProvider, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, getTonClientWithRateLimit, isApiVersion, isChainstackUrl, isNetwork, isOrbsUrl, isProviderType, isQuickNodeUrl, isRateLimitError, isTimeoutError, isTonCenterUrl, isValidHttpUrl, isValidWsUrl, loadBuiltinConfig, loadConfig, loadConfigFromData, loadConfigFromUrl, mergeConfigs, mergeWithDefaults, normalizeV2Endpoint, parseProviderConfig, parseRpcConfig, redactUrl, resetNodeAdapter, resolveAllProviders, resolveEndpoints, resolveKeyPlaceholder, resolveProvider, sleep, toV2Base, toV3Base, withRetry, withTimeout, withTimeoutAndRetry, withTimeoutFn };
|
package/dist/index.d.ts
CHANGED
|
@@ -992,6 +992,8 @@ declare class HealthChecker {
|
|
|
992
992
|
private logger;
|
|
993
993
|
private results;
|
|
994
994
|
private highestSeqno;
|
|
995
|
+
/** Rolling window of recent valid seqnos per network (for outlier-robust blocksBehind). */
|
|
996
|
+
private seqnoSamples;
|
|
995
997
|
private rateLimiter;
|
|
996
998
|
constructor(config?: Partial<HealthCheckConfig>, logger?: Logger, rateLimiter?: RateLimiterManager);
|
|
997
999
|
/**
|
|
@@ -1046,6 +1048,18 @@ declare class HealthChecker {
|
|
|
1046
1048
|
*/
|
|
1047
1049
|
markOffline(providerId: string, network: Network, error?: string): void;
|
|
1048
1050
|
private getResultKey;
|
|
1051
|
+
/**
|
|
1052
|
+
* Record a valid seqno sample and return an outlier-robust freshness baseline
|
|
1053
|
+
* (median of recent samples for the network). Using the median instead of the
|
|
1054
|
+
* raw maximum prevents a single provider that reports an inflated seqno from
|
|
1055
|
+
* poisoning `blocksBehind` for every other (healthy) provider. See P2-2.
|
|
1056
|
+
*/
|
|
1057
|
+
private recordSeqnoAndGetBaseline;
|
|
1058
|
+
/**
|
|
1059
|
+
* Detect a "non-JSON response" error (e.g. an HTML error page returned by a
|
|
1060
|
+
* misbehaving gateway), used to decide whether to re-discover an Orbs endpoint.
|
|
1061
|
+
*/
|
|
1062
|
+
private isNonJsonResponseError;
|
|
1049
1063
|
/**
|
|
1050
1064
|
* Get endpoint URL for a provider (handles dynamic providers like Orbs)
|
|
1051
1065
|
*/
|
|
@@ -1724,6 +1738,17 @@ declare function isValidHttpUrl(str: string): boolean;
|
|
|
1724
1738
|
* Validate that a string is a valid WebSocket URL.
|
|
1725
1739
|
*/
|
|
1726
1740
|
declare function isValidWsUrl(str: string): boolean;
|
|
1741
|
+
/**
|
|
1742
|
+
* Redact credentials from an endpoint URL so it is safe to log.
|
|
1743
|
+
*
|
|
1744
|
+
* Masks (a) sensitive query-param values (`apikey`, `api_key`, `key`, `token`,
|
|
1745
|
+
* `secret`, `password`), (b) credential-like path segments while preserving
|
|
1746
|
+
* structural ones (`api`, `v2`, `v3`, `jsonRPC`, `rpc`, `public`, …), and
|
|
1747
|
+
* (c) a credential-like leading host label (e.g. a QuickNode subdomain key).
|
|
1748
|
+
*
|
|
1749
|
+
* For logging only — never use the result to make requests.
|
|
1750
|
+
*/
|
|
1751
|
+
declare function redactUrl(url: string): string;
|
|
1727
1752
|
|
|
1728
1753
|
/**
|
|
1729
1754
|
* Unified Provider System - Timeout Utilities
|
|
@@ -2059,4 +2084,4 @@ declare class GenericProvider extends BaseProvider {
|
|
|
2059
2084
|
*/
|
|
2060
2085
|
declare function createProvider(provider: ResolvedProvider): BaseProvider;
|
|
2061
2086
|
|
|
2062
|
-
export { type ApiVersion, ApiVersionSchema, BaseProvider, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ChainstackProvider, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, GenericProvider, GetBlockProvider, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, OnFinalityProvider, OrbsProvider, type ProviderConfig, ProviderConfigSchema, type ProviderEndpoints, ProviderError, type ProviderHealthResult, ProviderManager, type ProviderManagerOptions, type ProviderManagerState, ProviderRegistry, ProviderSelector, type ProviderState, type ProviderStatus, type ProviderType, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, QuickNodeProvider, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TatumProvider, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, TonCenterProvider, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProvider, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, getTonClientWithRateLimit, isApiVersion, isChainstackUrl, isNetwork, isOrbsUrl, isProviderType, isQuickNodeUrl, isRateLimitError, isTimeoutError, isTonCenterUrl, isValidHttpUrl, isValidWsUrl, loadBuiltinConfig, loadConfig, loadConfigFromData, loadConfigFromUrl, mergeConfigs, mergeWithDefaults, normalizeV2Endpoint, parseProviderConfig, parseRpcConfig, resetNodeAdapter, resolveAllProviders, resolveEndpoints, resolveKeyPlaceholder, resolveProvider, sleep, toV2Base, toV3Base, withRetry, withTimeout, withTimeoutAndRetry, withTimeoutFn };
|
|
2087
|
+
export { type ApiVersion, ApiVersionSchema, BaseProvider, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ChainstackProvider, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, GenericProvider, GetBlockProvider, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, OnFinalityProvider, OrbsProvider, type ProviderConfig, ProviderConfigSchema, type ProviderEndpoints, ProviderError, type ProviderHealthResult, ProviderManager, type ProviderManagerOptions, type ProviderManagerState, ProviderRegistry, ProviderSelector, type ProviderState, type ProviderStatus, type ProviderType, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, QuickNodeProvider, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TatumProvider, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, TonCenterProvider, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProvider, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, getTonClientWithRateLimit, isApiVersion, isChainstackUrl, isNetwork, isOrbsUrl, isProviderType, isQuickNodeUrl, isRateLimitError, isTimeoutError, isTonCenterUrl, isValidHttpUrl, isValidWsUrl, loadBuiltinConfig, loadConfig, loadConfigFromData, loadConfigFromUrl, mergeConfigs, mergeWithDefaults, normalizeV2Endpoint, parseProviderConfig, parseRpcConfig, redactUrl, resetNodeAdapter, resolveAllProviders, resolveEndpoints, resolveKeyPlaceholder, resolveProvider, sleep, toV2Base, toV3Base, withRetry, withTimeout, withTimeoutAndRetry, withTimeoutFn };
|