ton-provider-system 0.1.1 → 0.1.3

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.d.cts CHANGED
@@ -1368,8 +1368,29 @@ declare class NodeAdapter {
1368
1368
  * Get TonClient instance
1369
1369
  *
1370
1370
  * Creates a new client if endpoint changed, otherwise returns cached.
1371
+ *
1372
+ * NOTE: Direct TonClient calls bypass rate limiting. For rate-limited operations,
1373
+ * use adapter methods (getAddressState, runGetMethod, etc.) or wrap your calls
1374
+ * with rate limit token acquisition.
1375
+ *
1376
+ * Example with rate limiting:
1377
+ * ```typescript
1378
+ * const endpoint = await adapter.manager.getEndpointWithRateLimit();
1379
+ * // Make your TonClient call
1380
+ * adapter.manager.reportSuccess(); // or reportError() on failure
1381
+ * ```
1371
1382
  */
1372
1383
  getClient(): Promise<TonClient>;
1384
+ /**
1385
+ * Get TonClient with rate limiting applied
1386
+ *
1387
+ * Acquires a rate limit token before returning the client.
1388
+ * Use this when you need to ensure rate limiting is respected.
1389
+ *
1390
+ * Note: This only acquires ONE token. For multiple operations,
1391
+ * you should acquire tokens before each operation or use adapter methods.
1392
+ */
1393
+ getClientWithRateLimit(timeoutMs?: number): Promise<TonClient>;
1373
1394
  /**
1374
1395
  * Reset client cache (forces new client creation)
1375
1396
  */
@@ -1416,8 +1437,45 @@ declare class NodeAdapter {
1416
1437
  declare function createNodeAdapter(manager: ProviderManager, logger?: Logger): NodeAdapter;
1417
1438
  /**
1418
1439
  * Get TonClient from ProviderManager (convenience function)
1440
+ *
1441
+ * WARNING: Direct TonClient API calls bypass rate limiting!
1442
+ * For rate-limited operations, use one of these approaches:
1443
+ *
1444
+ * 1. Use adapter methods (recommended):
1445
+ * ```typescript
1446
+ * const adapter = new NodeAdapter(manager);
1447
+ * const state = await adapter.getAddressState(address);
1448
+ * ```
1449
+ *
1450
+ * 2. Acquire rate limit tokens before operations:
1451
+ * ```typescript
1452
+ * await manager.getEndpointWithRateLimit(); // Acquire token
1453
+ * const result = await client.someMethod();
1454
+ * manager.reportSuccess(); // or reportError() on failure
1455
+ * ```
1456
+ *
1457
+ * 3. Use getTonClientWithRateLimit() for operations that need rate limiting
1419
1458
  */
1420
1459
  declare function getTonClient(manager: ProviderManager): Promise<TonClient>;
1460
+ /**
1461
+ * Get TonClient with rate limiting wrapper
1462
+ *
1463
+ * Returns a TonClient along with helper methods to ensure rate limiting.
1464
+ * Use this when you need to make multiple TonClient calls with rate limiting.
1465
+ *
1466
+ * Example:
1467
+ * ```typescript
1468
+ * const { client, withRateLimit } = await getTonClientWithRateLimit(manager);
1469
+ *
1470
+ * // Wrap your operations
1471
+ * const balance = await withRateLimit(() => client.getBalance(address));
1472
+ * const state = await withRateLimit(() => client.getContractState(address));
1473
+ * ```
1474
+ */
1475
+ declare function getTonClientWithRateLimit(manager: ProviderManager): Promise<{
1476
+ client: TonClient;
1477
+ withRateLimit: <T>(fn: () => Promise<T>) => Promise<T>;
1478
+ }>;
1421
1479
  /**
1422
1480
  * Get TonClient for network (one-shot convenience)
1423
1481
  */
@@ -1701,4 +1759,4 @@ declare function isTimeoutError(error: unknown): error is TimeoutError;
1701
1759
  */
1702
1760
  declare function isRateLimitError(error: unknown): boolean;
1703
1761
 
1704
- export { type ApiVersion, ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, 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, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, 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 };
1762
+ export { type ApiVersion, ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, 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, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, 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 };
package/dist/index.d.ts CHANGED
@@ -1368,8 +1368,29 @@ declare class NodeAdapter {
1368
1368
  * Get TonClient instance
1369
1369
  *
1370
1370
  * Creates a new client if endpoint changed, otherwise returns cached.
1371
+ *
1372
+ * NOTE: Direct TonClient calls bypass rate limiting. For rate-limited operations,
1373
+ * use adapter methods (getAddressState, runGetMethod, etc.) or wrap your calls
1374
+ * with rate limit token acquisition.
1375
+ *
1376
+ * Example with rate limiting:
1377
+ * ```typescript
1378
+ * const endpoint = await adapter.manager.getEndpointWithRateLimit();
1379
+ * // Make your TonClient call
1380
+ * adapter.manager.reportSuccess(); // or reportError() on failure
1381
+ * ```
1371
1382
  */
1372
1383
  getClient(): Promise<TonClient>;
1384
+ /**
1385
+ * Get TonClient with rate limiting applied
1386
+ *
1387
+ * Acquires a rate limit token before returning the client.
1388
+ * Use this when you need to ensure rate limiting is respected.
1389
+ *
1390
+ * Note: This only acquires ONE token. For multiple operations,
1391
+ * you should acquire tokens before each operation or use adapter methods.
1392
+ */
1393
+ getClientWithRateLimit(timeoutMs?: number): Promise<TonClient>;
1373
1394
  /**
1374
1395
  * Reset client cache (forces new client creation)
1375
1396
  */
@@ -1416,8 +1437,45 @@ declare class NodeAdapter {
1416
1437
  declare function createNodeAdapter(manager: ProviderManager, logger?: Logger): NodeAdapter;
1417
1438
  /**
1418
1439
  * Get TonClient from ProviderManager (convenience function)
1440
+ *
1441
+ * WARNING: Direct TonClient API calls bypass rate limiting!
1442
+ * For rate-limited operations, use one of these approaches:
1443
+ *
1444
+ * 1. Use adapter methods (recommended):
1445
+ * ```typescript
1446
+ * const adapter = new NodeAdapter(manager);
1447
+ * const state = await adapter.getAddressState(address);
1448
+ * ```
1449
+ *
1450
+ * 2. Acquire rate limit tokens before operations:
1451
+ * ```typescript
1452
+ * await manager.getEndpointWithRateLimit(); // Acquire token
1453
+ * const result = await client.someMethod();
1454
+ * manager.reportSuccess(); // or reportError() on failure
1455
+ * ```
1456
+ *
1457
+ * 3. Use getTonClientWithRateLimit() for operations that need rate limiting
1419
1458
  */
1420
1459
  declare function getTonClient(manager: ProviderManager): Promise<TonClient>;
1460
+ /**
1461
+ * Get TonClient with rate limiting wrapper
1462
+ *
1463
+ * Returns a TonClient along with helper methods to ensure rate limiting.
1464
+ * Use this when you need to make multiple TonClient calls with rate limiting.
1465
+ *
1466
+ * Example:
1467
+ * ```typescript
1468
+ * const { client, withRateLimit } = await getTonClientWithRateLimit(manager);
1469
+ *
1470
+ * // Wrap your operations
1471
+ * const balance = await withRateLimit(() => client.getBalance(address));
1472
+ * const state = await withRateLimit(() => client.getContractState(address));
1473
+ * ```
1474
+ */
1475
+ declare function getTonClientWithRateLimit(manager: ProviderManager): Promise<{
1476
+ client: TonClient;
1477
+ withRateLimit: <T>(fn: () => Promise<T>) => Promise<T>;
1478
+ }>;
1421
1479
  /**
1422
1480
  * Get TonClient for network (one-shot convenience)
1423
1481
  */
@@ -1701,4 +1759,4 @@ declare function isTimeoutError(error: unknown): error is TimeoutError;
1701
1759
  */
1702
1760
  declare function isRateLimitError(error: unknown): boolean;
1703
1761
 
1704
- export { type ApiVersion, ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, 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, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, 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 };
1762
+ export { type ApiVersion, ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, type HealthCheckConfig, HealthChecker, type Logger, type MasterchainInfo, type Network, type NetworkDefaults, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, 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, type RateLimitConfig, RateLimitError, type RateLimitState, RateLimiterManager, type ResolvedProvider, type RetryOptions, type RpcConfig, RpcConfigSchema, type SelectionConfig, type StateListener, TimeoutError, TokenBucketRateLimiter, type TonApiResponse, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, 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 };
package/dist/index.js CHANGED
@@ -1895,10 +1895,20 @@ var _ProviderManager = class _ProviderManager {
1895
1895
  this.rateLimiter = createRateLimiterManager(this.options.logger);
1896
1896
  for (const provider of this.registry.getAllProviders()) {
1897
1897
  const config2 = getRateLimitForType(provider.type);
1898
+ const minDelayMs = Math.ceil(1e3 / provider.rps * 1.1);
1899
+ let burstSize;
1900
+ if (provider.rps <= 3) {
1901
+ burstSize = 1;
1902
+ } else if (provider.rps <= 5) {
1903
+ burstSize = 2;
1904
+ } else {
1905
+ burstSize = Math.max(3, Math.ceil(provider.rps * 1.5));
1906
+ }
1898
1907
  this.rateLimiter.setConfig(provider.id, {
1899
1908
  ...config2,
1900
1909
  rps: provider.rps,
1901
- minDelayMs: Math.ceil(1e3 / provider.rps)
1910
+ minDelayMs,
1911
+ burstSize
1902
1912
  });
1903
1913
  }
1904
1914
  this.healthChecker = createHealthChecker(
@@ -2304,6 +2314,17 @@ var NodeAdapter = class {
2304
2314
  * Get TonClient instance
2305
2315
  *
2306
2316
  * Creates a new client if endpoint changed, otherwise returns cached.
2317
+ *
2318
+ * NOTE: Direct TonClient calls bypass rate limiting. For rate-limited operations,
2319
+ * use adapter methods (getAddressState, runGetMethod, etc.) or wrap your calls
2320
+ * with rate limit token acquisition.
2321
+ *
2322
+ * Example with rate limiting:
2323
+ * ```typescript
2324
+ * const endpoint = await adapter.manager.getEndpointWithRateLimit();
2325
+ * // Make your TonClient call
2326
+ * adapter.manager.reportSuccess(); // or reportError() on failure
2327
+ * ```
2307
2328
  */
2308
2329
  async getClient() {
2309
2330
  const endpoint = await this.manager.getEndpoint();
@@ -2329,6 +2350,19 @@ var NodeAdapter = class {
2329
2350
  this.logger.debug(`Created TonClient for ${network}`, { endpoint });
2330
2351
  return client;
2331
2352
  }
2353
+ /**
2354
+ * Get TonClient with rate limiting applied
2355
+ *
2356
+ * Acquires a rate limit token before returning the client.
2357
+ * Use this when you need to ensure rate limiting is respected.
2358
+ *
2359
+ * Note: This only acquires ONE token. For multiple operations,
2360
+ * you should acquire tokens before each operation or use adapter methods.
2361
+ */
2362
+ async getClientWithRateLimit(timeoutMs) {
2363
+ await this.manager.getEndpointWithRateLimit(timeoutMs);
2364
+ return this.getClient();
2365
+ }
2332
2366
  /**
2333
2367
  * Reset client cache (forces new client creation)
2334
2368
  */
@@ -2514,6 +2548,22 @@ async function getTonClient(manager) {
2514
2548
  const adapter = new NodeAdapter(manager);
2515
2549
  return adapter.getClient();
2516
2550
  }
2551
+ async function getTonClientWithRateLimit(manager) {
2552
+ const adapter = new NodeAdapter(manager);
2553
+ const client = await adapter.getClient();
2554
+ const withRateLimit = async (fn) => {
2555
+ await manager.getEndpointWithRateLimit();
2556
+ try {
2557
+ const result = await fn();
2558
+ manager.reportSuccess();
2559
+ return result;
2560
+ } catch (error) {
2561
+ manager.reportError(error);
2562
+ throw error;
2563
+ }
2564
+ };
2565
+ return { client, withRateLimit };
2566
+ }
2517
2567
  async function getTonClientForNetwork(network, configPath) {
2518
2568
  const manager = ProviderManager.getInstance({ configPath });
2519
2569
  if (!manager.isInitialized() || manager.getNetwork() !== network) {
@@ -2798,6 +2848,6 @@ async function createBrowserAdapterForNetwork(network, configPath, logger) {
2798
2848
  return new BrowserAdapter(manager, logger);
2799
2849
  }
2800
2850
 
2801
- export { ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, HealthChecker, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, ProviderConfigSchema, ProviderError, ProviderManager, ProviderRegistry, ProviderSelector, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, RateLimitError, RateLimiterManager, RpcConfigSchema, TimeoutError, TokenBucketRateLimiter, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, createProviderManager, createRateLimiter, createRateLimiterManager, createRegistry, createRegistryFromData, createRegistryFromFile, createSelector, createTimeoutController, detectNetworkFromEndpoint, fetchWithTimeout, getBaseUrl, getDefaultProvidersForNetwork, getEnvVar, getProviderManager, getProvidersForNetwork, getRateLimitForType, getTonClient, getTonClientForNetwork, 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 };
2851
+ export { ApiVersionSchema, BrowserAdapter, CHAINSTACK_RATE_LIMIT, ConfigError, DEFAULT_CONTRACT_TIMEOUT_MS, DEFAULT_HEALTH_CHECK_TIMEOUT_MS, DEFAULT_PROVIDERS, DEFAULT_PROVIDER_TIMEOUT_MS, DEFAULT_RATE_LIMIT, HealthChecker, NetworkSchema, NodeAdapter, ORBS_RATE_LIMIT, ProviderConfigSchema, ProviderError, ProviderManager, ProviderRegistry, ProviderSelector, ProviderTypeSchema, QUICKNODE_RATE_LIMIT, RateLimitError, RateLimiterManager, RpcConfigSchema, TimeoutError, TokenBucketRateLimiter, buildGetAddressBalanceUrl, buildGetAddressInfoUrl, buildGetAddressStateUrl, buildRestUrl, createBrowserAdapter, createBrowserAdapterForNetwork, createDefaultConfig, createDefaultRegistry, createEmptyConfig, createHealthChecker, createNodeAdapter, 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 };
2802
2852
  //# sourceMappingURL=index.js.map
2803
2853
  //# sourceMappingURL=index.js.map