@elsoul/erpc-sdk 0.4.0 → 0.6.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.d.cts CHANGED
@@ -139,12 +139,14 @@ declare class CloudCatalogClient {
139
139
  }
140
140
 
141
141
  declare const DEFAULT_ENDPOINT = "https://edge.erpc.global";
142
+ declare const DEFAULT_AVALANCHE_ENDPOINT = "https://ava-rpc.erpc.global";
142
143
  declare const DEFAULT_ACCOUNT_ENDPOINT = "https://solana-rpc.erpc.global";
143
144
  declare const DEFAULT_USER_ENDPOINT = "https://user-api.erpc.global";
144
145
  declare const DEFAULT_TIMEOUT_MS = 30000;
145
146
  interface ErpcClientConfig {
146
147
  readonly accountEndpoint?: string;
147
148
  readonly apiKey: string;
149
+ readonly avalancheEndpoint?: string;
148
150
  readonly endpoint?: string;
149
151
  readonly fetch?: typeof globalThis.fetch;
150
152
  readonly headers?: Readonly<Record<string, string>>;
@@ -224,6 +226,23 @@ declare class PriceClient {
224
226
  streamPriceUpdates(options: PriceStreamOptions, sendOptions?: RpcSendOptions): AsyncGenerator<PriceStreamEvent, void, undefined>;
225
227
  }
226
228
 
229
+ interface HttpTransportConfig {
230
+ readonly apiKey: string;
231
+ readonly endpoint: URL;
232
+ readonly fetch: typeof globalThis.fetch;
233
+ readonly headers: Readonly<Record<string, string>>;
234
+ readonly maxBatchSize?: number;
235
+ readonly timeoutMs: number;
236
+ }
237
+ declare class HttpJsonRpcTransport {
238
+ #private;
239
+ readonly endpoint: string;
240
+ readonly maxBatchSize: number;
241
+ constructor(config: HttpTransportConfig);
242
+ request<TResult>(method: string, params?: JsonRpcParams, options?: RpcSendOptions): Promise<TResult>;
243
+ batch<TResult extends readonly unknown[]>(calls: readonly RpcBatchCall[], options?: RpcSendOptions): Promise<TResult>;
244
+ }
245
+
227
246
  interface JsonRpcTransport {
228
247
  readonly endpoint: string;
229
248
  readonly maxBatchSize: number;
@@ -368,6 +387,177 @@ interface EthereumClient {
368
387
  readonly rpc: RpcNamespace<EthereumRpcSchema>;
369
388
  }
370
389
 
390
+ interface AvalancheEncodingParams {
391
+ readonly encoding?: string;
392
+ }
393
+ interface AvalancheUtxoParams extends AvalancheEncodingParams {
394
+ readonly addresses: readonly string[];
395
+ readonly limit?: number | string;
396
+ readonly sourceChain?: string;
397
+ readonly startIndex?: Readonly<Record<string, JsonValue>>;
398
+ }
399
+ interface AvalancheAvaxSchema {
400
+ readonly getAtomicTx: RpcMethodSpec<AvalancheEncodingParams & {
401
+ readonly txID: string;
402
+ }, JsonValue>;
403
+ readonly getAtomicTxStatus: RpcMethodSpec<{
404
+ readonly txID: string;
405
+ }, JsonValue>;
406
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams & {
407
+ readonly sourceChain: string;
408
+ }, JsonValue>;
409
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
410
+ readonly tx: string;
411
+ }, JsonValue>;
412
+ }
413
+ interface AvalancheXChainSchema {
414
+ readonly buildGenesis: RpcMethodSpec<AvalancheEncodingParams & {
415
+ readonly genesisData: Readonly<Record<string, JsonValue>>;
416
+ readonly networkId: number | string;
417
+ }, JsonValue>;
418
+ readonly getAllBalances: RpcMethodSpec<{
419
+ readonly address: string;
420
+ }, JsonValue>;
421
+ readonly getAssetDescription: RpcMethodSpec<{
422
+ readonly assetID: string;
423
+ }, JsonValue>;
424
+ readonly getBalance: RpcMethodSpec<{
425
+ readonly address: string;
426
+ readonly assetID: string;
427
+ }, JsonValue>;
428
+ readonly getBlockByHeight: RpcMethodSpec<AvalancheEncodingParams & {
429
+ readonly height: number | string;
430
+ }, JsonValue>;
431
+ readonly getHeight: RpcMethodSpec<undefined, JsonValue>;
432
+ readonly getTx: RpcMethodSpec<AvalancheEncodingParams & {
433
+ readonly txID: string;
434
+ }, JsonValue>;
435
+ readonly getTxFee: RpcMethodSpec<undefined, JsonValue>;
436
+ readonly getTxStatus: RpcMethodSpec<{
437
+ readonly txID: string;
438
+ }, JsonValue>;
439
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams, JsonValue>;
440
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
441
+ readonly tx: string;
442
+ }, JsonValue>;
443
+ }
444
+ interface AvalanchePChainSchema {
445
+ readonly getAllValidatorsAt: RpcMethodSpec<{
446
+ readonly height: number | string;
447
+ }, JsonValue>;
448
+ readonly getBalance: RpcMethodSpec<{
449
+ readonly addresses?: readonly string[];
450
+ }, JsonValue>;
451
+ readonly getBlockchainStatus: RpcMethodSpec<{
452
+ readonly blockchainID?: string;
453
+ }, JsonValue>;
454
+ readonly getBlockchains: RpcMethodSpec<undefined, JsonValue>;
455
+ readonly getCurrentSupply: RpcMethodSpec<undefined, JsonValue>;
456
+ readonly getCurrentValidators: RpcMethodSpec<{
457
+ readonly nodeIDs?: readonly string[];
458
+ readonly subnetID?: string;
459
+ }, JsonValue>;
460
+ readonly getFeeConfig: RpcMethodSpec<undefined, JsonValue>;
461
+ readonly getFeeState: RpcMethodSpec<undefined, JsonValue>;
462
+ readonly getHeight: RpcMethodSpec<undefined, JsonValue>;
463
+ readonly getMinStake: RpcMethodSpec<undefined, JsonValue>;
464
+ readonly getRewardUTXOs: RpcMethodSpec<AvalancheEncodingParams & {
465
+ readonly txID?: string;
466
+ }, JsonValue>;
467
+ readonly getStake: RpcMethodSpec<AvalancheEncodingParams & {
468
+ readonly addresses?: readonly string[];
469
+ readonly validatorsOnly?: boolean;
470
+ }, JsonValue>;
471
+ readonly getStakingAssetID: RpcMethodSpec<{
472
+ readonly subnetID?: string;
473
+ }, JsonValue>;
474
+ readonly getSubnets: RpcMethodSpec<{
475
+ readonly ids?: readonly string[];
476
+ }, JsonValue>;
477
+ readonly getTimestamp: RpcMethodSpec<undefined, JsonValue>;
478
+ readonly getTotalStake: RpcMethodSpec<{
479
+ readonly subnetID?: string;
480
+ }, JsonValue>;
481
+ readonly getTx: RpcMethodSpec<AvalancheEncodingParams & {
482
+ readonly txID: string;
483
+ }, JsonValue>;
484
+ readonly getTxStatus: RpcMethodSpec<{
485
+ readonly txID: string;
486
+ }, JsonValue>;
487
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams, JsonValue>;
488
+ readonly getValidatorFeeConfig: RpcMethodSpec<undefined, JsonValue>;
489
+ readonly getValidatorFeeState: RpcMethodSpec<undefined, JsonValue>;
490
+ readonly getValidatorsAt: RpcMethodSpec<{
491
+ readonly height: number | string;
492
+ readonly subnetID?: string;
493
+ }, JsonValue>;
494
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
495
+ readonly tx: string;
496
+ }, JsonValue>;
497
+ readonly sampleValidators: RpcMethodSpec<{
498
+ readonly size: number | string;
499
+ readonly subnetID?: string;
500
+ }, JsonValue>;
501
+ readonly validatedBy: RpcMethodSpec<{
502
+ readonly blockchainID: string;
503
+ }, JsonValue>;
504
+ readonly validates: RpcMethodSpec<{
505
+ readonly subnetID: string;
506
+ }, JsonValue>;
507
+ }
508
+ interface AvalancheProposerVmSchema {
509
+ readonly getCurrentEpoch: RpcMethodSpec<undefined, JsonValue>;
510
+ readonly getProposedHeight: RpcMethodSpec<undefined, JsonValue>;
511
+ }
512
+ interface AvalancheInfoSchema {
513
+ readonly upgrades: RpcMethodSpec<undefined, JsonValue>;
514
+ }
515
+ interface AvalancheIndexSchema {
516
+ readonly getContainerByID: RpcMethodSpec<AvalancheEncodingParams & {
517
+ readonly id: string;
518
+ }, JsonValue>;
519
+ readonly getContainerByIndex: RpcMethodSpec<AvalancheEncodingParams & {
520
+ readonly index: number | string;
521
+ }, JsonValue>;
522
+ readonly getContainerRange: RpcMethodSpec<AvalancheEncodingParams & {
523
+ readonly numToFetch: number | string;
524
+ readonly startIndex: number | string;
525
+ }, JsonValue>;
526
+ readonly getIndex: RpcMethodSpec<AvalancheEncodingParams & {
527
+ readonly containerID: string;
528
+ }, JsonValue>;
529
+ readonly getLastAccepted: RpcMethodSpec<AvalancheEncodingParams, JsonValue>;
530
+ readonly isAccepted: RpcMethodSpec<AvalancheEncodingParams & {
531
+ readonly containerID: string;
532
+ }, JsonValue>;
533
+ }
534
+ declare const AVALANCHE_AVAX_METHODS: readonly ["avax.getAtomicTx", "avax.getAtomicTxStatus", "avax.getUTXOs", "avax.issueTx"];
535
+ declare const AVALANCHE_X_CHAIN_METHODS: readonly ["avm.buildGenesis", "avm.getAllBalances", "avm.getAssetDescription", "avm.getBalance", "avm.getBlockByHeight", "avm.getHeight", "avm.getTx", "avm.getTxFee", "avm.getTxStatus", "avm.getUTXOs", "avm.issueTx"];
536
+ declare const AVALANCHE_P_CHAIN_METHODS: readonly ["platform.getAllValidatorsAt", "platform.getBalance", "platform.getBlockchainStatus", "platform.getBlockchains", "platform.getCurrentSupply", "platform.getCurrentValidators", "platform.getFeeConfig", "platform.getFeeState", "platform.getHeight", "platform.getMinStake", "platform.getRewardUTXOs", "platform.getStake", "platform.getStakingAssetID", "platform.getSubnets", "platform.getTimestamp", "platform.getTotalStake", "platform.getTx", "platform.getTxStatus", "platform.getUTXOs", "platform.getValidatorFeeConfig", "platform.getValidatorFeeState", "platform.getValidatorsAt", "platform.issueTx", "platform.sampleValidators", "platform.validatedBy", "platform.validates"];
537
+ declare const AVALANCHE_PROPOSER_VM_METHODS: readonly ["proposervm.getCurrentEpoch", "proposervm.getProposedHeight"];
538
+ declare const AVALANCHE_INFO_METHODS: readonly ["info.upgrades"];
539
+ declare const AVALANCHE_INDEX_METHODS: readonly ["index.getContainerByID", "index.getContainerByIndex", "index.getContainerRange", "index.getIndex", "index.getLastAccepted", "index.isAccepted"];
540
+ interface AvalancheIndexClient {
541
+ readonly cChainBlocks: RpcNamespace<AvalancheIndexSchema>;
542
+ readonly pChainBlocks: RpcNamespace<AvalancheIndexSchema>;
543
+ readonly xChainBlocks: RpcNamespace<AvalancheIndexSchema>;
544
+ readonly xChainTransactions: RpcNamespace<AvalancheIndexSchema>;
545
+ }
546
+ interface AvalancheClient extends EthereumClient {
547
+ readonly avax: RpcNamespace<AvalancheAvaxSchema>;
548
+ readonly index: AvalancheIndexClient;
549
+ readonly info: RpcNamespace<AvalancheInfoSchema>;
550
+ readonly pChain: RpcNamespace<AvalanchePChainSchema>;
551
+ readonly proposerVm: RpcNamespace<AvalancheProposerVmSchema>;
552
+ readonly xChain: RpcNamespace<AvalancheXChainSchema>;
553
+ }
554
+ interface AvalancheIndexTransports {
555
+ readonly cChainBlocks: HttpJsonRpcTransport;
556
+ readonly pChainBlocks: HttpJsonRpcTransport;
557
+ readonly xChainBlocks: HttpJsonRpcTransport;
558
+ readonly xChainTransactions: HttpJsonRpcTransport;
559
+ }
560
+
371
561
  type SolanaCommitment = 'confirmed' | 'finalized' | 'processed';
372
562
  type SolanaEncoding = 'base58' | 'base64' | 'base64+zstd' | 'jsonParsed';
373
563
  type SolanaConfig = Readonly<Record<string, unknown>>;
@@ -843,8 +1033,12 @@ interface ErpcSolanaClient extends SolanaClient {
843
1033
  interface ErpcEthereumClient extends EthereumClient {
844
1034
  readonly subscriptions: EthereumSubscriptions;
845
1035
  }
1036
+ interface ErpcAvalancheClient extends AvalancheClient {
1037
+ readonly subscriptions: EthereumSubscriptions;
1038
+ }
846
1039
  interface ErpcClient {
847
1040
  readonly account: AccountClient;
1041
+ readonly avalanche: ErpcAvalancheClient;
848
1042
  readonly ethereum: ErpcEthereumClient;
849
1043
  readonly price: PriceClient;
850
1044
  readonly solana: ErpcSolanaClient;
@@ -918,4 +1112,4 @@ declare class ErpcBatchPolicyError extends ErpcError {
918
1112
  constructor(message: string);
919
1113
  }
920
1114
 
921
- export { AccountClient, type AddressTransaction, type AddressTransactionPage, type AddressTransactionsOptions, type AddressTransfer, type AddressTransferPage, type AddressTransfersOptions, type AnalyticsTimeBound, type AssetBatchRequest, type AssetListRequest, type AssetRequest, type BinaryUpdate, CloudCatalogClient, type CloudCredit, type CloudCreditAlertLevel, CloudCreditClient, type CloudOffering, type CloudOfferingBilling, type CloudOfferingCompute, type CloudOfferingSolana, type CloudResource, type CloudResourceKind, type CloudResourceMode, type CloudResourceStatus, type CloudResourceStatusBilling, CloudResourcesClient, DEFAULT_ACCOUNT_ENDPOINT, DEFAULT_ENDPOINT, DEFAULT_TIMEOUT_MS, DEFAULT_USER_ENDPOINT, ETHEREUM_RPC_METHODS, ETHEREUM_SUBSCRIPTION_METHODS, type EpochSummary, ErpcAbortedError, ErpcBatchPolicyError, type ErpcClient, type ErpcClientConfig, type ErpcCloudClient, type ErpcCloudClientConfig, type ErpcCloudRequestOptions, ErpcConfigError, ErpcError, type ErpcErrorCode, type ErpcEthereumClient, ErpcHttpError, ErpcInvalidResponseError, ErpcJsonRpcError, type ErpcPlan, type ErpcSolanaClient, ErpcTimeoutError, ErpcTransportError, type EthereumAddress, type EthereumBlockTag, type EthereumClient, type EthereumFilter, type EthereumObject, type EthereumRpcSchema, type EthereumSubscriptionSchema, EthereumSubscriptions, type EthereumTransactionRequest, type Hex, type IndexedAsset, type IndexedAssetList, type IndexedAssetProof, type JsonObject, type JsonPrimitive, type JsonRpcErrorObject, type JsonRpcFailure, type JsonRpcId, type JsonRpcParams, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccess, type JsonRpcTransport, type JsonValue, type LeaderSlot, type LeaderSlotsResult, type MonthlyApiKeyChainUsage, type MonthlyApiKeyMethodUsage, type MonthlyApiKeyUsage, type MonthlyApiKeyUsageEntry, type MonthlyApiKeyUsageParams, type NumericFilter, type ParsedPriceUpdate, PendingRpcBatchRequest, PendingRpcRequest, type PingMeasurement, type PriceAssetType, PriceClient, type PriceEncoding, type PriceFeedMetadata, type PricePoint, type PriceStreamEvent, type PriceStreamOptions, type PriceUpdateOptions, type PriceUpdateResponse, type PriorityFeeEstimate, type ProgramStatsBucket, type ProgramStatsOptions, type PublisherStakeCap, type PublisherStakeCapsResponse, type RpcBatchCall, type RpcMethodSpec, type RpcNamespace, type RpcNamespaceBase, type RpcNotification, type RpcNotificationListener, type RpcParams, type RpcResult, type RpcSendOptions, RpcSubscription, SOLANA_ANALYTICS_METHODS, SOLANA_DAS_METHODS, SOLANA_ENHANCED_SUBSCRIPTION_METHODS, SOLANA_HISTORY_METHODS, SOLANA_LEADER_METHODS, SOLANA_RPC_METHODS, type SlotStatsOptions, type SlotStatsRow, type SolanaAnalyticsSchema, type SolanaClient, type SolanaCommitment, type SolanaConfig, type SolanaContext, type SolanaContextResult, type SolanaDasSchema, type SolanaEncoding, type SolanaEnhancedSubscriptionSchema, type SolanaHistorySchema, type SolanaLeaderSchema, type SolanaRpcSchema, SolanaSubscriptions, type SubscriptionId, type SubscriptionListener, type TokenBalance, type TopProgramRow, type TopProgramsOptions, type TpsBucket, type TpsTimeseriesOptions, UsageClient, type ValidatorInformation, type ValidatorsInformationOptions, type ValidatorsInformationResult, createErpcClient, createErpcCloudClient };
1115
+ export { AVALANCHE_AVAX_METHODS, AVALANCHE_INDEX_METHODS, AVALANCHE_INFO_METHODS, AVALANCHE_PROPOSER_VM_METHODS, AVALANCHE_P_CHAIN_METHODS, AVALANCHE_X_CHAIN_METHODS, AccountClient, type AddressTransaction, type AddressTransactionPage, type AddressTransactionsOptions, type AddressTransfer, type AddressTransferPage, type AddressTransfersOptions, type AnalyticsTimeBound, type AssetBatchRequest, type AssetListRequest, type AssetRequest, type AvalancheAvaxSchema, type AvalancheClient, type AvalancheEncodingParams, type AvalancheIndexClient, type AvalancheIndexSchema, type AvalancheIndexTransports, type AvalancheInfoSchema, type AvalanchePChainSchema, type AvalancheProposerVmSchema, type AvalancheUtxoParams, type AvalancheXChainSchema, type BinaryUpdate, CloudCatalogClient, type CloudCredit, type CloudCreditAlertLevel, CloudCreditClient, type CloudOffering, type CloudOfferingBilling, type CloudOfferingCompute, type CloudOfferingSolana, type CloudResource, type CloudResourceKind, type CloudResourceMode, type CloudResourceStatus, type CloudResourceStatusBilling, CloudResourcesClient, DEFAULT_ACCOUNT_ENDPOINT, DEFAULT_AVALANCHE_ENDPOINT, DEFAULT_ENDPOINT, DEFAULT_TIMEOUT_MS, DEFAULT_USER_ENDPOINT, ETHEREUM_RPC_METHODS, ETHEREUM_SUBSCRIPTION_METHODS, type EpochSummary, ErpcAbortedError, type ErpcAvalancheClient, ErpcBatchPolicyError, type ErpcClient, type ErpcClientConfig, type ErpcCloudClient, type ErpcCloudClientConfig, type ErpcCloudRequestOptions, ErpcConfigError, ErpcError, type ErpcErrorCode, type ErpcEthereumClient, ErpcHttpError, ErpcInvalidResponseError, ErpcJsonRpcError, type ErpcPlan, type ErpcSolanaClient, ErpcTimeoutError, ErpcTransportError, type EthereumAddress, type EthereumBlockTag, type EthereumClient, type EthereumFilter, type EthereumObject, type EthereumRpcSchema, type EthereumSubscriptionSchema, EthereumSubscriptions, type EthereumTransactionRequest, type Hex, type IndexedAsset, type IndexedAssetList, type IndexedAssetProof, type JsonObject, type JsonPrimitive, type JsonRpcErrorObject, type JsonRpcFailure, type JsonRpcId, type JsonRpcParams, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccess, type JsonRpcTransport, type JsonValue, type LeaderSlot, type LeaderSlotsResult, type MonthlyApiKeyChainUsage, type MonthlyApiKeyMethodUsage, type MonthlyApiKeyUsage, type MonthlyApiKeyUsageEntry, type MonthlyApiKeyUsageParams, type NumericFilter, type ParsedPriceUpdate, PendingRpcBatchRequest, PendingRpcRequest, type PingMeasurement, type PriceAssetType, PriceClient, type PriceEncoding, type PriceFeedMetadata, type PricePoint, type PriceStreamEvent, type PriceStreamOptions, type PriceUpdateOptions, type PriceUpdateResponse, type PriorityFeeEstimate, type ProgramStatsBucket, type ProgramStatsOptions, type PublisherStakeCap, type PublisherStakeCapsResponse, type RpcBatchCall, type RpcMethodSpec, type RpcNamespace, type RpcNamespaceBase, type RpcNotification, type RpcNotificationListener, type RpcParams, type RpcResult, type RpcSendOptions, RpcSubscription, SOLANA_ANALYTICS_METHODS, SOLANA_DAS_METHODS, SOLANA_ENHANCED_SUBSCRIPTION_METHODS, SOLANA_HISTORY_METHODS, SOLANA_LEADER_METHODS, SOLANA_RPC_METHODS, type SlotStatsOptions, type SlotStatsRow, type SolanaAnalyticsSchema, type SolanaClient, type SolanaCommitment, type SolanaConfig, type SolanaContext, type SolanaContextResult, type SolanaDasSchema, type SolanaEncoding, type SolanaEnhancedSubscriptionSchema, type SolanaHistorySchema, type SolanaLeaderSchema, type SolanaRpcSchema, SolanaSubscriptions, type SubscriptionId, type SubscriptionListener, type TokenBalance, type TopProgramRow, type TopProgramsOptions, type TpsBucket, type TpsTimeseriesOptions, UsageClient, type ValidatorInformation, type ValidatorsInformationOptions, type ValidatorsInformationResult, createErpcClient, createErpcCloudClient };
package/dist/index.d.ts CHANGED
@@ -139,12 +139,14 @@ declare class CloudCatalogClient {
139
139
  }
140
140
 
141
141
  declare const DEFAULT_ENDPOINT = "https://edge.erpc.global";
142
+ declare const DEFAULT_AVALANCHE_ENDPOINT = "https://ava-rpc.erpc.global";
142
143
  declare const DEFAULT_ACCOUNT_ENDPOINT = "https://solana-rpc.erpc.global";
143
144
  declare const DEFAULT_USER_ENDPOINT = "https://user-api.erpc.global";
144
145
  declare const DEFAULT_TIMEOUT_MS = 30000;
145
146
  interface ErpcClientConfig {
146
147
  readonly accountEndpoint?: string;
147
148
  readonly apiKey: string;
149
+ readonly avalancheEndpoint?: string;
148
150
  readonly endpoint?: string;
149
151
  readonly fetch?: typeof globalThis.fetch;
150
152
  readonly headers?: Readonly<Record<string, string>>;
@@ -224,6 +226,23 @@ declare class PriceClient {
224
226
  streamPriceUpdates(options: PriceStreamOptions, sendOptions?: RpcSendOptions): AsyncGenerator<PriceStreamEvent, void, undefined>;
225
227
  }
226
228
 
229
+ interface HttpTransportConfig {
230
+ readonly apiKey: string;
231
+ readonly endpoint: URL;
232
+ readonly fetch: typeof globalThis.fetch;
233
+ readonly headers: Readonly<Record<string, string>>;
234
+ readonly maxBatchSize?: number;
235
+ readonly timeoutMs: number;
236
+ }
237
+ declare class HttpJsonRpcTransport {
238
+ #private;
239
+ readonly endpoint: string;
240
+ readonly maxBatchSize: number;
241
+ constructor(config: HttpTransportConfig);
242
+ request<TResult>(method: string, params?: JsonRpcParams, options?: RpcSendOptions): Promise<TResult>;
243
+ batch<TResult extends readonly unknown[]>(calls: readonly RpcBatchCall[], options?: RpcSendOptions): Promise<TResult>;
244
+ }
245
+
227
246
  interface JsonRpcTransport {
228
247
  readonly endpoint: string;
229
248
  readonly maxBatchSize: number;
@@ -368,6 +387,177 @@ interface EthereumClient {
368
387
  readonly rpc: RpcNamespace<EthereumRpcSchema>;
369
388
  }
370
389
 
390
+ interface AvalancheEncodingParams {
391
+ readonly encoding?: string;
392
+ }
393
+ interface AvalancheUtxoParams extends AvalancheEncodingParams {
394
+ readonly addresses: readonly string[];
395
+ readonly limit?: number | string;
396
+ readonly sourceChain?: string;
397
+ readonly startIndex?: Readonly<Record<string, JsonValue>>;
398
+ }
399
+ interface AvalancheAvaxSchema {
400
+ readonly getAtomicTx: RpcMethodSpec<AvalancheEncodingParams & {
401
+ readonly txID: string;
402
+ }, JsonValue>;
403
+ readonly getAtomicTxStatus: RpcMethodSpec<{
404
+ readonly txID: string;
405
+ }, JsonValue>;
406
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams & {
407
+ readonly sourceChain: string;
408
+ }, JsonValue>;
409
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
410
+ readonly tx: string;
411
+ }, JsonValue>;
412
+ }
413
+ interface AvalancheXChainSchema {
414
+ readonly buildGenesis: RpcMethodSpec<AvalancheEncodingParams & {
415
+ readonly genesisData: Readonly<Record<string, JsonValue>>;
416
+ readonly networkId: number | string;
417
+ }, JsonValue>;
418
+ readonly getAllBalances: RpcMethodSpec<{
419
+ readonly address: string;
420
+ }, JsonValue>;
421
+ readonly getAssetDescription: RpcMethodSpec<{
422
+ readonly assetID: string;
423
+ }, JsonValue>;
424
+ readonly getBalance: RpcMethodSpec<{
425
+ readonly address: string;
426
+ readonly assetID: string;
427
+ }, JsonValue>;
428
+ readonly getBlockByHeight: RpcMethodSpec<AvalancheEncodingParams & {
429
+ readonly height: number | string;
430
+ }, JsonValue>;
431
+ readonly getHeight: RpcMethodSpec<undefined, JsonValue>;
432
+ readonly getTx: RpcMethodSpec<AvalancheEncodingParams & {
433
+ readonly txID: string;
434
+ }, JsonValue>;
435
+ readonly getTxFee: RpcMethodSpec<undefined, JsonValue>;
436
+ readonly getTxStatus: RpcMethodSpec<{
437
+ readonly txID: string;
438
+ }, JsonValue>;
439
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams, JsonValue>;
440
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
441
+ readonly tx: string;
442
+ }, JsonValue>;
443
+ }
444
+ interface AvalanchePChainSchema {
445
+ readonly getAllValidatorsAt: RpcMethodSpec<{
446
+ readonly height: number | string;
447
+ }, JsonValue>;
448
+ readonly getBalance: RpcMethodSpec<{
449
+ readonly addresses?: readonly string[];
450
+ }, JsonValue>;
451
+ readonly getBlockchainStatus: RpcMethodSpec<{
452
+ readonly blockchainID?: string;
453
+ }, JsonValue>;
454
+ readonly getBlockchains: RpcMethodSpec<undefined, JsonValue>;
455
+ readonly getCurrentSupply: RpcMethodSpec<undefined, JsonValue>;
456
+ readonly getCurrentValidators: RpcMethodSpec<{
457
+ readonly nodeIDs?: readonly string[];
458
+ readonly subnetID?: string;
459
+ }, JsonValue>;
460
+ readonly getFeeConfig: RpcMethodSpec<undefined, JsonValue>;
461
+ readonly getFeeState: RpcMethodSpec<undefined, JsonValue>;
462
+ readonly getHeight: RpcMethodSpec<undefined, JsonValue>;
463
+ readonly getMinStake: RpcMethodSpec<undefined, JsonValue>;
464
+ readonly getRewardUTXOs: RpcMethodSpec<AvalancheEncodingParams & {
465
+ readonly txID?: string;
466
+ }, JsonValue>;
467
+ readonly getStake: RpcMethodSpec<AvalancheEncodingParams & {
468
+ readonly addresses?: readonly string[];
469
+ readonly validatorsOnly?: boolean;
470
+ }, JsonValue>;
471
+ readonly getStakingAssetID: RpcMethodSpec<{
472
+ readonly subnetID?: string;
473
+ }, JsonValue>;
474
+ readonly getSubnets: RpcMethodSpec<{
475
+ readonly ids?: readonly string[];
476
+ }, JsonValue>;
477
+ readonly getTimestamp: RpcMethodSpec<undefined, JsonValue>;
478
+ readonly getTotalStake: RpcMethodSpec<{
479
+ readonly subnetID?: string;
480
+ }, JsonValue>;
481
+ readonly getTx: RpcMethodSpec<AvalancheEncodingParams & {
482
+ readonly txID: string;
483
+ }, JsonValue>;
484
+ readonly getTxStatus: RpcMethodSpec<{
485
+ readonly txID: string;
486
+ }, JsonValue>;
487
+ readonly getUTXOs: RpcMethodSpec<AvalancheUtxoParams, JsonValue>;
488
+ readonly getValidatorFeeConfig: RpcMethodSpec<undefined, JsonValue>;
489
+ readonly getValidatorFeeState: RpcMethodSpec<undefined, JsonValue>;
490
+ readonly getValidatorsAt: RpcMethodSpec<{
491
+ readonly height: number | string;
492
+ readonly subnetID?: string;
493
+ }, JsonValue>;
494
+ readonly issueTx: RpcMethodSpec<AvalancheEncodingParams & {
495
+ readonly tx: string;
496
+ }, JsonValue>;
497
+ readonly sampleValidators: RpcMethodSpec<{
498
+ readonly size: number | string;
499
+ readonly subnetID?: string;
500
+ }, JsonValue>;
501
+ readonly validatedBy: RpcMethodSpec<{
502
+ readonly blockchainID: string;
503
+ }, JsonValue>;
504
+ readonly validates: RpcMethodSpec<{
505
+ readonly subnetID: string;
506
+ }, JsonValue>;
507
+ }
508
+ interface AvalancheProposerVmSchema {
509
+ readonly getCurrentEpoch: RpcMethodSpec<undefined, JsonValue>;
510
+ readonly getProposedHeight: RpcMethodSpec<undefined, JsonValue>;
511
+ }
512
+ interface AvalancheInfoSchema {
513
+ readonly upgrades: RpcMethodSpec<undefined, JsonValue>;
514
+ }
515
+ interface AvalancheIndexSchema {
516
+ readonly getContainerByID: RpcMethodSpec<AvalancheEncodingParams & {
517
+ readonly id: string;
518
+ }, JsonValue>;
519
+ readonly getContainerByIndex: RpcMethodSpec<AvalancheEncodingParams & {
520
+ readonly index: number | string;
521
+ }, JsonValue>;
522
+ readonly getContainerRange: RpcMethodSpec<AvalancheEncodingParams & {
523
+ readonly numToFetch: number | string;
524
+ readonly startIndex: number | string;
525
+ }, JsonValue>;
526
+ readonly getIndex: RpcMethodSpec<AvalancheEncodingParams & {
527
+ readonly containerID: string;
528
+ }, JsonValue>;
529
+ readonly getLastAccepted: RpcMethodSpec<AvalancheEncodingParams, JsonValue>;
530
+ readonly isAccepted: RpcMethodSpec<AvalancheEncodingParams & {
531
+ readonly containerID: string;
532
+ }, JsonValue>;
533
+ }
534
+ declare const AVALANCHE_AVAX_METHODS: readonly ["avax.getAtomicTx", "avax.getAtomicTxStatus", "avax.getUTXOs", "avax.issueTx"];
535
+ declare const AVALANCHE_X_CHAIN_METHODS: readonly ["avm.buildGenesis", "avm.getAllBalances", "avm.getAssetDescription", "avm.getBalance", "avm.getBlockByHeight", "avm.getHeight", "avm.getTx", "avm.getTxFee", "avm.getTxStatus", "avm.getUTXOs", "avm.issueTx"];
536
+ declare const AVALANCHE_P_CHAIN_METHODS: readonly ["platform.getAllValidatorsAt", "platform.getBalance", "platform.getBlockchainStatus", "platform.getBlockchains", "platform.getCurrentSupply", "platform.getCurrentValidators", "platform.getFeeConfig", "platform.getFeeState", "platform.getHeight", "platform.getMinStake", "platform.getRewardUTXOs", "platform.getStake", "platform.getStakingAssetID", "platform.getSubnets", "platform.getTimestamp", "platform.getTotalStake", "platform.getTx", "platform.getTxStatus", "platform.getUTXOs", "platform.getValidatorFeeConfig", "platform.getValidatorFeeState", "platform.getValidatorsAt", "platform.issueTx", "platform.sampleValidators", "platform.validatedBy", "platform.validates"];
537
+ declare const AVALANCHE_PROPOSER_VM_METHODS: readonly ["proposervm.getCurrentEpoch", "proposervm.getProposedHeight"];
538
+ declare const AVALANCHE_INFO_METHODS: readonly ["info.upgrades"];
539
+ declare const AVALANCHE_INDEX_METHODS: readonly ["index.getContainerByID", "index.getContainerByIndex", "index.getContainerRange", "index.getIndex", "index.getLastAccepted", "index.isAccepted"];
540
+ interface AvalancheIndexClient {
541
+ readonly cChainBlocks: RpcNamespace<AvalancheIndexSchema>;
542
+ readonly pChainBlocks: RpcNamespace<AvalancheIndexSchema>;
543
+ readonly xChainBlocks: RpcNamespace<AvalancheIndexSchema>;
544
+ readonly xChainTransactions: RpcNamespace<AvalancheIndexSchema>;
545
+ }
546
+ interface AvalancheClient extends EthereumClient {
547
+ readonly avax: RpcNamespace<AvalancheAvaxSchema>;
548
+ readonly index: AvalancheIndexClient;
549
+ readonly info: RpcNamespace<AvalancheInfoSchema>;
550
+ readonly pChain: RpcNamespace<AvalanchePChainSchema>;
551
+ readonly proposerVm: RpcNamespace<AvalancheProposerVmSchema>;
552
+ readonly xChain: RpcNamespace<AvalancheXChainSchema>;
553
+ }
554
+ interface AvalancheIndexTransports {
555
+ readonly cChainBlocks: HttpJsonRpcTransport;
556
+ readonly pChainBlocks: HttpJsonRpcTransport;
557
+ readonly xChainBlocks: HttpJsonRpcTransport;
558
+ readonly xChainTransactions: HttpJsonRpcTransport;
559
+ }
560
+
371
561
  type SolanaCommitment = 'confirmed' | 'finalized' | 'processed';
372
562
  type SolanaEncoding = 'base58' | 'base64' | 'base64+zstd' | 'jsonParsed';
373
563
  type SolanaConfig = Readonly<Record<string, unknown>>;
@@ -843,8 +1033,12 @@ interface ErpcSolanaClient extends SolanaClient {
843
1033
  interface ErpcEthereumClient extends EthereumClient {
844
1034
  readonly subscriptions: EthereumSubscriptions;
845
1035
  }
1036
+ interface ErpcAvalancheClient extends AvalancheClient {
1037
+ readonly subscriptions: EthereumSubscriptions;
1038
+ }
846
1039
  interface ErpcClient {
847
1040
  readonly account: AccountClient;
1041
+ readonly avalanche: ErpcAvalancheClient;
848
1042
  readonly ethereum: ErpcEthereumClient;
849
1043
  readonly price: PriceClient;
850
1044
  readonly solana: ErpcSolanaClient;
@@ -918,4 +1112,4 @@ declare class ErpcBatchPolicyError extends ErpcError {
918
1112
  constructor(message: string);
919
1113
  }
920
1114
 
921
- export { AccountClient, type AddressTransaction, type AddressTransactionPage, type AddressTransactionsOptions, type AddressTransfer, type AddressTransferPage, type AddressTransfersOptions, type AnalyticsTimeBound, type AssetBatchRequest, type AssetListRequest, type AssetRequest, type BinaryUpdate, CloudCatalogClient, type CloudCredit, type CloudCreditAlertLevel, CloudCreditClient, type CloudOffering, type CloudOfferingBilling, type CloudOfferingCompute, type CloudOfferingSolana, type CloudResource, type CloudResourceKind, type CloudResourceMode, type CloudResourceStatus, type CloudResourceStatusBilling, CloudResourcesClient, DEFAULT_ACCOUNT_ENDPOINT, DEFAULT_ENDPOINT, DEFAULT_TIMEOUT_MS, DEFAULT_USER_ENDPOINT, ETHEREUM_RPC_METHODS, ETHEREUM_SUBSCRIPTION_METHODS, type EpochSummary, ErpcAbortedError, ErpcBatchPolicyError, type ErpcClient, type ErpcClientConfig, type ErpcCloudClient, type ErpcCloudClientConfig, type ErpcCloudRequestOptions, ErpcConfigError, ErpcError, type ErpcErrorCode, type ErpcEthereumClient, ErpcHttpError, ErpcInvalidResponseError, ErpcJsonRpcError, type ErpcPlan, type ErpcSolanaClient, ErpcTimeoutError, ErpcTransportError, type EthereumAddress, type EthereumBlockTag, type EthereumClient, type EthereumFilter, type EthereumObject, type EthereumRpcSchema, type EthereumSubscriptionSchema, EthereumSubscriptions, type EthereumTransactionRequest, type Hex, type IndexedAsset, type IndexedAssetList, type IndexedAssetProof, type JsonObject, type JsonPrimitive, type JsonRpcErrorObject, type JsonRpcFailure, type JsonRpcId, type JsonRpcParams, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccess, type JsonRpcTransport, type JsonValue, type LeaderSlot, type LeaderSlotsResult, type MonthlyApiKeyChainUsage, type MonthlyApiKeyMethodUsage, type MonthlyApiKeyUsage, type MonthlyApiKeyUsageEntry, type MonthlyApiKeyUsageParams, type NumericFilter, type ParsedPriceUpdate, PendingRpcBatchRequest, PendingRpcRequest, type PingMeasurement, type PriceAssetType, PriceClient, type PriceEncoding, type PriceFeedMetadata, type PricePoint, type PriceStreamEvent, type PriceStreamOptions, type PriceUpdateOptions, type PriceUpdateResponse, type PriorityFeeEstimate, type ProgramStatsBucket, type ProgramStatsOptions, type PublisherStakeCap, type PublisherStakeCapsResponse, type RpcBatchCall, type RpcMethodSpec, type RpcNamespace, type RpcNamespaceBase, type RpcNotification, type RpcNotificationListener, type RpcParams, type RpcResult, type RpcSendOptions, RpcSubscription, SOLANA_ANALYTICS_METHODS, SOLANA_DAS_METHODS, SOLANA_ENHANCED_SUBSCRIPTION_METHODS, SOLANA_HISTORY_METHODS, SOLANA_LEADER_METHODS, SOLANA_RPC_METHODS, type SlotStatsOptions, type SlotStatsRow, type SolanaAnalyticsSchema, type SolanaClient, type SolanaCommitment, type SolanaConfig, type SolanaContext, type SolanaContextResult, type SolanaDasSchema, type SolanaEncoding, type SolanaEnhancedSubscriptionSchema, type SolanaHistorySchema, type SolanaLeaderSchema, type SolanaRpcSchema, SolanaSubscriptions, type SubscriptionId, type SubscriptionListener, type TokenBalance, type TopProgramRow, type TopProgramsOptions, type TpsBucket, type TpsTimeseriesOptions, UsageClient, type ValidatorInformation, type ValidatorsInformationOptions, type ValidatorsInformationResult, createErpcClient, createErpcCloudClient };
1115
+ export { AVALANCHE_AVAX_METHODS, AVALANCHE_INDEX_METHODS, AVALANCHE_INFO_METHODS, AVALANCHE_PROPOSER_VM_METHODS, AVALANCHE_P_CHAIN_METHODS, AVALANCHE_X_CHAIN_METHODS, AccountClient, type AddressTransaction, type AddressTransactionPage, type AddressTransactionsOptions, type AddressTransfer, type AddressTransferPage, type AddressTransfersOptions, type AnalyticsTimeBound, type AssetBatchRequest, type AssetListRequest, type AssetRequest, type AvalancheAvaxSchema, type AvalancheClient, type AvalancheEncodingParams, type AvalancheIndexClient, type AvalancheIndexSchema, type AvalancheIndexTransports, type AvalancheInfoSchema, type AvalanchePChainSchema, type AvalancheProposerVmSchema, type AvalancheUtxoParams, type AvalancheXChainSchema, type BinaryUpdate, CloudCatalogClient, type CloudCredit, type CloudCreditAlertLevel, CloudCreditClient, type CloudOffering, type CloudOfferingBilling, type CloudOfferingCompute, type CloudOfferingSolana, type CloudResource, type CloudResourceKind, type CloudResourceMode, type CloudResourceStatus, type CloudResourceStatusBilling, CloudResourcesClient, DEFAULT_ACCOUNT_ENDPOINT, DEFAULT_AVALANCHE_ENDPOINT, DEFAULT_ENDPOINT, DEFAULT_TIMEOUT_MS, DEFAULT_USER_ENDPOINT, ETHEREUM_RPC_METHODS, ETHEREUM_SUBSCRIPTION_METHODS, type EpochSummary, ErpcAbortedError, type ErpcAvalancheClient, ErpcBatchPolicyError, type ErpcClient, type ErpcClientConfig, type ErpcCloudClient, type ErpcCloudClientConfig, type ErpcCloudRequestOptions, ErpcConfigError, ErpcError, type ErpcErrorCode, type ErpcEthereumClient, ErpcHttpError, ErpcInvalidResponseError, ErpcJsonRpcError, type ErpcPlan, type ErpcSolanaClient, ErpcTimeoutError, ErpcTransportError, type EthereumAddress, type EthereumBlockTag, type EthereumClient, type EthereumFilter, type EthereumObject, type EthereumRpcSchema, type EthereumSubscriptionSchema, EthereumSubscriptions, type EthereumTransactionRequest, type Hex, type IndexedAsset, type IndexedAssetList, type IndexedAssetProof, type JsonObject, type JsonPrimitive, type JsonRpcErrorObject, type JsonRpcFailure, type JsonRpcId, type JsonRpcParams, type JsonRpcRequest, type JsonRpcResponse, type JsonRpcSuccess, type JsonRpcTransport, type JsonValue, type LeaderSlot, type LeaderSlotsResult, type MonthlyApiKeyChainUsage, type MonthlyApiKeyMethodUsage, type MonthlyApiKeyUsage, type MonthlyApiKeyUsageEntry, type MonthlyApiKeyUsageParams, type NumericFilter, type ParsedPriceUpdate, PendingRpcBatchRequest, PendingRpcRequest, type PingMeasurement, type PriceAssetType, PriceClient, type PriceEncoding, type PriceFeedMetadata, type PricePoint, type PriceStreamEvent, type PriceStreamOptions, type PriceUpdateOptions, type PriceUpdateResponse, type PriorityFeeEstimate, type ProgramStatsBucket, type ProgramStatsOptions, type PublisherStakeCap, type PublisherStakeCapsResponse, type RpcBatchCall, type RpcMethodSpec, type RpcNamespace, type RpcNamespaceBase, type RpcNotification, type RpcNotificationListener, type RpcParams, type RpcResult, type RpcSendOptions, RpcSubscription, SOLANA_ANALYTICS_METHODS, SOLANA_DAS_METHODS, SOLANA_ENHANCED_SUBSCRIPTION_METHODS, SOLANA_HISTORY_METHODS, SOLANA_LEADER_METHODS, SOLANA_RPC_METHODS, type SlotStatsOptions, type SlotStatsRow, type SolanaAnalyticsSchema, type SolanaClient, type SolanaCommitment, type SolanaConfig, type SolanaContext, type SolanaContextResult, type SolanaDasSchema, type SolanaEncoding, type SolanaEnhancedSubscriptionSchema, type SolanaHistorySchema, type SolanaLeaderSchema, type SolanaRpcSchema, SolanaSubscriptions, type SubscriptionId, type SubscriptionListener, type TokenBalance, type TopProgramRow, type TopProgramsOptions, type TpsBucket, type TpsTimeseriesOptions, UsageClient, type ValidatorInformation, type ValidatorsInformationOptions, type ValidatorsInformationResult, createErpcClient, createErpcCloudClient };