@wormhole-foundation/sdk-evm 1.20.0 → 2.0.0-beta.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.
@@ -0,0 +1,14 @@
1
+ import { Balances, Chain, Network } from "@wormhole-foundation/sdk-connect";
2
+ export declare class GoldRushClient {
3
+ private key;
4
+ constructor(key: string);
5
+ supportsChain(network: Network, chain: Chain): boolean;
6
+ getBalances(network: Network, chain: Chain, walletAddr: string): Promise<Balances>;
7
+ }
8
+ export declare class AlchemyClient {
9
+ private key;
10
+ constructor(key: string);
11
+ supportsChain(network: Network, chain: Chain): boolean;
12
+ getBalances(network: Network, chain: Chain, walletAddr: string): Promise<Balances>;
13
+ }
14
+ //# sourceMappingURL=indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAgC5E,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IAIvB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAKtC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAazF;AA6BD,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IAIvB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAKtC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAsBzF"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ // Covalent GoldRush indexer
3
+ // https://goldrush.dev/docs/api-reference/overview
4
+ //
5
+ // We don't use the official @covalenthq/client-sdk client for this because it's over 1MB and all we need
6
+ // is a small subset of one endpoint. This is how you know this code isn't AI slop.
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.AlchemyClient = exports.GoldRushClient = void 0;
9
+ const GOLD_RUSH_CHAINS = {
10
+ Mainnet: {
11
+ Ethereum: 'eth-mainnet',
12
+ Polygon: 'matic-mainnet',
13
+ Bsc: 'bsc-mainnet',
14
+ Optimism: 'optimism-mainnet',
15
+ Base: 'base-mainnet',
16
+ Gnosis: 'gnosis-mainnet',
17
+ Worldchain: 'world-mainnet',
18
+ Aurora: 'aurora-mainnet',
19
+ Sei: 'sei-mainnet',
20
+ Ink: 'ink-mainnet',
21
+ Solana: 'solana-mainnet',
22
+ },
23
+ Testnet: {
24
+ Ethereum: 'eth-sepolia',
25
+ Polygon: 'polygon-amoy-testnet',
26
+ Bsc: 'bsc-testnet',
27
+ Optimism: 'optimism-sepolia',
28
+ Base: 'base-sepolia-testnet',
29
+ Gnosis: 'gnosis-testnet',
30
+ Worldchain: 'world-sepolia-testnet',
31
+ Aurora: 'aurora-testnet',
32
+ Unichain: 'unichain-sepolia-testnet',
33
+ Berachain: 'berachain-testnet',
34
+ Ink: 'ink-sepolia-testnet',
35
+ },
36
+ Devnet: {},
37
+ };
38
+ class GoldRushClient {
39
+ key;
40
+ constructor(key) {
41
+ this.key = key;
42
+ }
43
+ supportsChain(network, chain) {
44
+ const endpoint = GOLD_RUSH_CHAINS[network][chain];
45
+ return endpoint !== undefined;
46
+ }
47
+ async getBalances(network, chain, walletAddr) {
48
+ const endpoint = GOLD_RUSH_CHAINS[network][chain];
49
+ if (!endpoint)
50
+ throw new Error('Chain not supported by GoldRush indexer');
51
+ const { data } = await (await fetch(`https://api.covalenthq.com/v1/${endpoint}/address/${walletAddr}/balances_v2/?key=${this.key}`)).json();
52
+ const bals = {};
53
+ for (let item of data.items) {
54
+ bals[item.contract_address] = BigInt(item.balance);
55
+ }
56
+ return bals;
57
+ }
58
+ }
59
+ exports.GoldRushClient = GoldRushClient;
60
+ const ALCHEMY_CHAINS = {
61
+ Mainnet: {
62
+ Ethereum: 'eth-mainnet',
63
+ Base: 'base-mainnet',
64
+ Arbitrum: 'arb-mainnet',
65
+ Optimism: 'opt-mainnet',
66
+ Polygon: 'polygon-mainnet',
67
+ Worldchain: 'worldchain-mainnet',
68
+ Ink: 'ink-mainnet',
69
+ Unichain: 'unichain-mainnet',
70
+ Berachain: 'berachain-mainnet',
71
+ },
72
+ Testnet: {
73
+ Ethereum: 'eth-sepolia',
74
+ Base: 'base-sepolia',
75
+ Arbitrum: 'arb-sepolia',
76
+ Optimism: 'opt-sepolia',
77
+ Polygon: 'polygon-amoy',
78
+ Worldchain: 'worldchain-sepolia',
79
+ Ink: 'ink-sepolia',
80
+ Unichain: 'unichain-sepolia',
81
+ Berachain: 'berachain-bartio',
82
+ Monad: 'monad-testnet',
83
+ },
84
+ Devnet: {},
85
+ };
86
+ class AlchemyClient {
87
+ key;
88
+ constructor(key) {
89
+ this.key = key;
90
+ }
91
+ supportsChain(network, chain) {
92
+ const endpoint = ALCHEMY_CHAINS[network][chain];
93
+ return endpoint !== undefined;
94
+ }
95
+ async getBalances(network, chain, walletAddr) {
96
+ const endpoint = ALCHEMY_CHAINS[network][chain];
97
+ if (!endpoint)
98
+ throw new Error('Chain not supported by Alchemy indexer');
99
+ const { result } = await (await fetch(`https://${endpoint}.g.alchemy.com/v2/${this.key}`, {
100
+ method: 'POST',
101
+ headers: { 'Content-Type': 'application/json' },
102
+ body: JSON.stringify({
103
+ jsonrpc: "2.0",
104
+ id: 1,
105
+ method: "alchemy_getTokenBalances",
106
+ params: [walletAddr]
107
+ })
108
+ })).json();
109
+ const bals = {};
110
+ for (let item of result.tokenBalances) {
111
+ bals[item.contractAddress] = BigInt(parseInt(item.balance, 16));
112
+ }
113
+ return bals;
114
+ }
115
+ }
116
+ exports.AlchemyClient = AlchemyClient;
117
+ //# sourceMappingURL=indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { PlatformContext } from '@wormhole-foundation/sdk-connect';
3
3
  import type { Provider } from 'ethers';
4
4
  import * as ethers_contracts from './ethers-contracts/index.js';
5
5
  import { EvmChain } from './chain.js';
6
- import type { AnyEvmAddress, EvmChains, EvmPlatformType } from './types.js';
6
+ import type { AnyEvmAddress, EvmChains, EvmPlatformType, IndexerAPIKeys } from './types.js';
7
7
  /**
8
8
  * @category EVM
9
9
  */
@@ -16,9 +16,9 @@ export declare class EvmPlatform<N extends Network> extends PlatformContext<N, E
16
16
  static nativeTokenId<N extends Network, C extends EvmChains>(network: N, chain: C): TokenId<C>;
17
17
  static isNativeTokenId<N extends Network, C extends EvmChains>(network: N, chain: C, tokenId: TokenId<C>): boolean;
18
18
  static isSupportedChain(chain: Chain): boolean;
19
- static getDecimals(chain: Chain, rpc: Provider, token: AnyEvmAddress): Promise<number>;
20
- static getBalance(chain: Chain, rpc: Provider, walletAddr: string, token: AnyEvmAddress): Promise<bigint | null>;
21
- static getBalances(chain: Chain, rpc: Provider, walletAddr: string, tokens: AnyEvmAddress[]): Promise<Balances>;
19
+ static getDecimals(_network: Network, _chain: Chain, rpc: Provider, token: AnyEvmAddress): Promise<number>;
20
+ static getBalance(_network: Network, _chain: Chain, rpc: Provider, walletAddr: string, token: AnyEvmAddress): Promise<bigint | null>;
21
+ static getBalances(network: Network, chain: Chain, rpc: Provider, walletAddr: string, indexers?: IndexerAPIKeys): Promise<Balances>;
22
22
  static sendWait(chain: Chain, rpc: Provider, stxns: SignedTx[]): Promise<TxHash[]>;
23
23
  static getLatestBlock(rpc: Provider): Promise<number>;
24
24
  static getLatestFinalizedBlock(rpc: Provider): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAQhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5E;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;IAC7B,OAAO,CAAC,UAAU,CACb;gBAEO,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAOlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ;IAqB/C,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EACzD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC;IAMb,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO;IAMV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC;WAUL,UAAU,CACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAUZ,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EAAE,GACtB,OAAO,CAAC,QAAQ,CAAC;WAaP,QAAQ,CACnB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBP,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;WAG9C,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAavD,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAKvE,MAAM,CAAC,sBAAsB,CAC3B,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,MAAM,GACd,gBAAgB,CAAC,mBAAmB;CASxC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAQhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5F;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;IAC7B,OAAO,CAAC,UAAU,CACb;gBAEO,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAOlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ;IAqB/C,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EACzD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC;IAMb,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO;IAMV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CACtB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC;WAUL,UAAU,CACrB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAUZ,WAAW,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,QAAQ,CAAC;WA0BP,QAAQ,CACnB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBP,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;WAG9C,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAavD,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAKvE,MAAM,CAAC,sBAAsB,CAC3B,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,MAAM,GACd,gBAAgB,CAAC,mBAAmB;CASxC"}
@@ -30,6 +30,7 @@ const ethers_contracts = __importStar(require("./ethers-contracts/index.js"));
30
30
  const address_js_1 = require("./address.js");
31
31
  const chain_js_1 = require("./chain.js");
32
32
  const types_js_1 = require("./types.js");
33
+ const indexer_js_1 = require("./indexer.js");
33
34
  /**
34
35
  * @category EVM
35
36
  */
@@ -76,27 +77,39 @@ class EvmPlatform extends sdk_connect_1.PlatformContext {
76
77
  const platform = (0, sdk_connect_1.chainToPlatform)(chain);
77
78
  return platform === EvmPlatform._platform;
78
79
  }
79
- static async getDecimals(chain, rpc, token) {
80
+ static async getDecimals(_network, _chain, rpc, token) {
80
81
  if ((0, sdk_connect_1.isNative)(token))
81
82
  return sdk_connect_1.decimals.nativeDecimals(EvmPlatform._platform);
82
83
  const tokenContract = EvmPlatform.getTokenImplementation(rpc, new address_js_1.EvmAddress(token).toString());
83
84
  return Number(await tokenContract.decimals());
84
85
  }
85
- static async getBalance(chain, rpc, walletAddr, token) {
86
+ static async getBalance(_network, _chain, rpc, walletAddr, token) {
86
87
  if ((0, sdk_connect_1.isNative)(token))
87
88
  return rpc.getBalance(walletAddr);
88
89
  const tokenImpl = EvmPlatform.getTokenImplementation(rpc, new address_js_1.EvmAddress(token).toString());
89
90
  return tokenImpl.balanceOf(walletAddr);
90
91
  }
91
- static async getBalances(chain, rpc, walletAddr, tokens) {
92
- const balancesArr = await Promise.all(tokens.map(async (token) => {
93
- const balance = await this.getBalance(chain, rpc, walletAddr, token);
94
- const address = (0, sdk_connect_1.isNative)(token)
95
- ? 'native'
96
- : new address_js_1.EvmAddress(token).toString();
97
- return { [address]: balance };
98
- }));
99
- return balancesArr.reduce((obj, item) => Object.assign(obj, item), {});
92
+ static async getBalances(network, chain, rpc, walletAddr, indexers) {
93
+ if (indexers) {
94
+ if (indexers.goldRush) {
95
+ const goldRush = new indexer_js_1.GoldRushClient(indexers.goldRush);
96
+ if (goldRush.supportsChain(network, chain)) {
97
+ const balances = await goldRush.getBalances(network, chain, walletAddr);
98
+ balances['native'] = await rpc.getBalance(walletAddr);
99
+ return balances;
100
+ }
101
+ }
102
+ if (indexers.alchemy) {
103
+ const alchemy = new indexer_js_1.AlchemyClient(indexers.alchemy);
104
+ if (alchemy.supportsChain(network, chain)) {
105
+ const balances = await alchemy.getBalances(network, chain, walletAddr);
106
+ balances['native'] = await rpc.getBalance(walletAddr);
107
+ return balances;
108
+ }
109
+ }
110
+ throw new Error(`Chain ${chain} not supported by the indexers provided`);
111
+ }
112
+ throw new Error(`Can't get all EVM balances without an indexer. Use getBalance to make individual calls instead.`);
100
113
  }
101
114
  static async sendWait(chain, rpc, stxns) {
102
115
  const txhashes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -79,4 +79,8 @@ export declare const addValue: (txReq: TransactionRequest, value: bigint) => {
79
79
  blobs?: import("ethers").BlobLike[] | null | undefined;
80
80
  kzg?: import("ethers").KzgLibrary | null | undefined;
81
81
  };
82
+ export type IndexerAPIKeys = {
83
+ goldRush?: string;
84
+ alchemy?: string;
85
+ };
82
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;KAEK;AACL,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,eAAO,MAAM,OAAO,UAAW,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;CAG7D,CAAC;AACH,eAAO,MAAM,UAAU,UAAW,kBAAkB,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;CAGnE,CAAC;AACH,eAAO,MAAM,QAAQ,UAAW,kBAAkB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;CAG/D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;KAEK;AACL,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,eAAO,MAAM,OAAO,UAAW,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;CAG7D,CAAC;AACH,eAAO,MAAM,UAAU,UAAW,kBAAkB,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;CAGnE,CAAC;AACH,eAAO,MAAM,QAAQ,UAAW,kBAAkB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;CAG/D,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAE3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { Balances, Chain, Network } from "@wormhole-foundation/sdk-connect";
2
+ export declare class GoldRushClient {
3
+ private key;
4
+ constructor(key: string);
5
+ supportsChain(network: Network, chain: Chain): boolean;
6
+ getBalances(network: Network, chain: Chain, walletAddr: string): Promise<Balances>;
7
+ }
8
+ export declare class AlchemyClient {
9
+ private key;
10
+ constructor(key: string);
11
+ supportsChain(network: Network, chain: Chain): boolean;
12
+ getBalances(network: Network, chain: Chain, walletAddr: string): Promise<Balances>;
13
+ }
14
+ //# sourceMappingURL=indexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.d.ts","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAgC5E,qBAAa,cAAc;IACzB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IAIvB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAKtC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAazF;AA6BD,qBAAa,aAAa;IACxB,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IAIvB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAKtC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;CAsBzF"}
@@ -0,0 +1,112 @@
1
+ // Covalent GoldRush indexer
2
+ // https://goldrush.dev/docs/api-reference/overview
3
+ //
4
+ // We don't use the official @covalenthq/client-sdk client for this because it's over 1MB and all we need
5
+ // is a small subset of one endpoint. This is how you know this code isn't AI slop.
6
+ const GOLD_RUSH_CHAINS = {
7
+ Mainnet: {
8
+ Ethereum: 'eth-mainnet',
9
+ Polygon: 'matic-mainnet',
10
+ Bsc: 'bsc-mainnet',
11
+ Optimism: 'optimism-mainnet',
12
+ Base: 'base-mainnet',
13
+ Gnosis: 'gnosis-mainnet',
14
+ Worldchain: 'world-mainnet',
15
+ Aurora: 'aurora-mainnet',
16
+ Sei: 'sei-mainnet',
17
+ Ink: 'ink-mainnet',
18
+ Solana: 'solana-mainnet',
19
+ },
20
+ Testnet: {
21
+ Ethereum: 'eth-sepolia',
22
+ Polygon: 'polygon-amoy-testnet',
23
+ Bsc: 'bsc-testnet',
24
+ Optimism: 'optimism-sepolia',
25
+ Base: 'base-sepolia-testnet',
26
+ Gnosis: 'gnosis-testnet',
27
+ Worldchain: 'world-sepolia-testnet',
28
+ Aurora: 'aurora-testnet',
29
+ Unichain: 'unichain-sepolia-testnet',
30
+ Berachain: 'berachain-testnet',
31
+ Ink: 'ink-sepolia-testnet',
32
+ },
33
+ Devnet: {},
34
+ };
35
+ export class GoldRushClient {
36
+ key;
37
+ constructor(key) {
38
+ this.key = key;
39
+ }
40
+ supportsChain(network, chain) {
41
+ const endpoint = GOLD_RUSH_CHAINS[network][chain];
42
+ return endpoint !== undefined;
43
+ }
44
+ async getBalances(network, chain, walletAddr) {
45
+ const endpoint = GOLD_RUSH_CHAINS[network][chain];
46
+ if (!endpoint)
47
+ throw new Error('Chain not supported by GoldRush indexer');
48
+ const { data } = await (await fetch(`https://api.covalenthq.com/v1/${endpoint}/address/${walletAddr}/balances_v2/?key=${this.key}`)).json();
49
+ const bals = {};
50
+ for (let item of data.items) {
51
+ bals[item.contract_address] = BigInt(item.balance);
52
+ }
53
+ return bals;
54
+ }
55
+ }
56
+ const ALCHEMY_CHAINS = {
57
+ Mainnet: {
58
+ Ethereum: 'eth-mainnet',
59
+ Base: 'base-mainnet',
60
+ Arbitrum: 'arb-mainnet',
61
+ Optimism: 'opt-mainnet',
62
+ Polygon: 'polygon-mainnet',
63
+ Worldchain: 'worldchain-mainnet',
64
+ Ink: 'ink-mainnet',
65
+ Unichain: 'unichain-mainnet',
66
+ Berachain: 'berachain-mainnet',
67
+ },
68
+ Testnet: {
69
+ Ethereum: 'eth-sepolia',
70
+ Base: 'base-sepolia',
71
+ Arbitrum: 'arb-sepolia',
72
+ Optimism: 'opt-sepolia',
73
+ Polygon: 'polygon-amoy',
74
+ Worldchain: 'worldchain-sepolia',
75
+ Ink: 'ink-sepolia',
76
+ Unichain: 'unichain-sepolia',
77
+ Berachain: 'berachain-bartio',
78
+ Monad: 'monad-testnet',
79
+ },
80
+ Devnet: {},
81
+ };
82
+ export class AlchemyClient {
83
+ key;
84
+ constructor(key) {
85
+ this.key = key;
86
+ }
87
+ supportsChain(network, chain) {
88
+ const endpoint = ALCHEMY_CHAINS[network][chain];
89
+ return endpoint !== undefined;
90
+ }
91
+ async getBalances(network, chain, walletAddr) {
92
+ const endpoint = ALCHEMY_CHAINS[network][chain];
93
+ if (!endpoint)
94
+ throw new Error('Chain not supported by Alchemy indexer');
95
+ const { result } = await (await fetch(`https://${endpoint}.g.alchemy.com/v2/${this.key}`, {
96
+ method: 'POST',
97
+ headers: { 'Content-Type': 'application/json' },
98
+ body: JSON.stringify({
99
+ jsonrpc: "2.0",
100
+ id: 1,
101
+ method: "alchemy_getTokenBalances",
102
+ params: [walletAddr]
103
+ })
104
+ })).json();
105
+ const bals = {};
106
+ for (let item of result.tokenBalances) {
107
+ bals[item.contractAddress] = BigInt(parseInt(item.balance, 16));
108
+ }
109
+ return bals;
110
+ }
111
+ }
112
+ //# sourceMappingURL=indexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexer.js","sourceRoot":"","sources":["../../src/indexer.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { PlatformContext } from '@wormhole-foundation/sdk-connect';
3
3
  import type { Provider } from 'ethers';
4
4
  import * as ethers_contracts from './ethers-contracts/index.js';
5
5
  import { EvmChain } from './chain.js';
6
- import type { AnyEvmAddress, EvmChains, EvmPlatformType } from './types.js';
6
+ import type { AnyEvmAddress, EvmChains, EvmPlatformType, IndexerAPIKeys } from './types.js';
7
7
  /**
8
8
  * @category EVM
9
9
  */
@@ -16,9 +16,9 @@ export declare class EvmPlatform<N extends Network> extends PlatformContext<N, E
16
16
  static nativeTokenId<N extends Network, C extends EvmChains>(network: N, chain: C): TokenId<C>;
17
17
  static isNativeTokenId<N extends Network, C extends EvmChains>(network: N, chain: C, tokenId: TokenId<C>): boolean;
18
18
  static isSupportedChain(chain: Chain): boolean;
19
- static getDecimals(chain: Chain, rpc: Provider, token: AnyEvmAddress): Promise<number>;
20
- static getBalance(chain: Chain, rpc: Provider, walletAddr: string, token: AnyEvmAddress): Promise<bigint | null>;
21
- static getBalances(chain: Chain, rpc: Provider, walletAddr: string, tokens: AnyEvmAddress[]): Promise<Balances>;
19
+ static getDecimals(_network: Network, _chain: Chain, rpc: Provider, token: AnyEvmAddress): Promise<number>;
20
+ static getBalance(_network: Network, _chain: Chain, rpc: Provider, walletAddr: string, token: AnyEvmAddress): Promise<bigint | null>;
21
+ static getBalances(network: Network, chain: Chain, rpc: Provider, walletAddr: string, indexers?: IndexerAPIKeys): Promise<Balances>;
22
22
  static sendWait(chain: Chain, rpc: Provider, stxns: SignedTx[]): Promise<TxHash[]>;
23
23
  static getLatestBlock(rpc: Provider): Promise<number>;
24
24
  static getLatestFinalizedBlock(rpc: Provider): Promise<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAQhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG5E;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;IAC7B,OAAO,CAAC,UAAU,CACb;gBAEO,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAOlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ;IAqB/C,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EACzD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC;IAMb,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO;IAMV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC;WAUL,UAAU,CACrB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAUZ,WAAW,CACtB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,EAAE,GACtB,OAAO,CAAC,QAAQ,CAAC;WAaP,QAAQ,CACnB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBP,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;WAG9C,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAavD,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAKvE,MAAM,CAAC,sBAAsB,CAC3B,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,MAAM,GACd,gBAAgB,CAAC,mBAAmB;CASxC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,OAAO,EACP,QAAQ,EACR,qBAAqB,EACrB,OAAO,EACP,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAQhB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,KAAK,gBAAgB,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5F;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,OAAO,CACxC,SAAQ,eAAe,CAAC,CAAC,EAAE,eAAe,CAC1C,YAAW,qBAAqB,CAAC,eAAe,EAAE,OAAO,WAAW,CAAC;IAErE,MAAM,CAAC,SAAS,QAAa;IAC7B,OAAO,CAAC,UAAU,CACb;gBAEO,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC;IAOlE,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ;IAqB/C,QAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAKvE,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EACzD,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC;IAMb,MAAM,CAAC,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,EAC3D,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO;IAMV,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;WAKjC,WAAW,CACtB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,CAAC;WAUL,UAAU,CACrB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,KAAK,EACb,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;WAUZ,WAAW,CACtB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,QAAQ,CAAC;WA0BP,QAAQ,CACnB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,QAAQ,EAAE,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;WAkBP,cAAc,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;WAG9C,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAOpE,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;WAavD,YAAY,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAKvE,MAAM,CAAC,sBAAsB,CAC3B,UAAU,EAAE,QAAQ,EACpB,OAAO,EAAE,MAAM,GACd,gBAAgB,CAAC,mBAAmB;CASxC"}
@@ -4,6 +4,7 @@ import * as ethers_contracts from './ethers-contracts/index.js';
4
4
  import { EvmAddress, EvmZeroAddress } from './address.js';
5
5
  import { EvmChain } from './chain.js';
6
6
  import { _platform } from './types.js';
7
+ import { AlchemyClient, GoldRushClient } from './indexer.js';
7
8
  /**
8
9
  * @category EVM
9
10
  */
@@ -50,27 +51,39 @@ export class EvmPlatform extends PlatformContext {
50
51
  const platform = chainToPlatform(chain);
51
52
  return platform === EvmPlatform._platform;
52
53
  }
53
- static async getDecimals(chain, rpc, token) {
54
+ static async getDecimals(_network, _chain, rpc, token) {
54
55
  if (isNative(token))
55
56
  return decimals.nativeDecimals(EvmPlatform._platform);
56
57
  const tokenContract = EvmPlatform.getTokenImplementation(rpc, new EvmAddress(token).toString());
57
58
  return Number(await tokenContract.decimals());
58
59
  }
59
- static async getBalance(chain, rpc, walletAddr, token) {
60
+ static async getBalance(_network, _chain, rpc, walletAddr, token) {
60
61
  if (isNative(token))
61
62
  return rpc.getBalance(walletAddr);
62
63
  const tokenImpl = EvmPlatform.getTokenImplementation(rpc, new EvmAddress(token).toString());
63
64
  return tokenImpl.balanceOf(walletAddr);
64
65
  }
65
- static async getBalances(chain, rpc, walletAddr, tokens) {
66
- const balancesArr = await Promise.all(tokens.map(async (token) => {
67
- const balance = await this.getBalance(chain, rpc, walletAddr, token);
68
- const address = isNative(token)
69
- ? 'native'
70
- : new EvmAddress(token).toString();
71
- return { [address]: balance };
72
- }));
73
- return balancesArr.reduce((obj, item) => Object.assign(obj, item), {});
66
+ static async getBalances(network, chain, rpc, walletAddr, indexers) {
67
+ if (indexers) {
68
+ if (indexers.goldRush) {
69
+ const goldRush = new GoldRushClient(indexers.goldRush);
70
+ if (goldRush.supportsChain(network, chain)) {
71
+ const balances = await goldRush.getBalances(network, chain, walletAddr);
72
+ balances['native'] = await rpc.getBalance(walletAddr);
73
+ return balances;
74
+ }
75
+ }
76
+ if (indexers.alchemy) {
77
+ const alchemy = new AlchemyClient(indexers.alchemy);
78
+ if (alchemy.supportsChain(network, chain)) {
79
+ const balances = await alchemy.getBalances(network, chain, walletAddr);
80
+ balances['native'] = await rpc.getBalance(walletAddr);
81
+ return balances;
82
+ }
83
+ }
84
+ throw new Error(`Chain ${chain} not supported by the indexers provided`);
85
+ }
86
+ throw new Error(`Can't get all EVM balances without an indexer. Use getBalance to make individual calls instead.`);
74
87
  }
75
88
  static async sendWait(chain, rpc, stxns) {
76
89
  const txhashes = [];
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/platform.ts"],"names":[],"mappings":"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"}
@@ -79,4 +79,8 @@ export declare const addValue: (txReq: TransactionRequest, value: bigint) => {
79
79
  blobs?: import("ethers").BlobLike[] | null | undefined;
80
80
  kzg?: import("ethers").KzgLibrary | null | undefined;
81
81
  };
82
+ export type IndexerAPIKeys = {
83
+ goldRush?: string;
84
+ alchemy?: string;
85
+ };
82
86
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;KAEK;AACL,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,eAAO,MAAM,OAAO,UAAW,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;CAG7D,CAAC;AACH,eAAO,MAAM,UAAU,UAAW,kBAAkB,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;CAGnE,CAAC;AACH,eAAO,MAAM,QAAQ,UAAW,kBAAkB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;CAG/D,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAEjD,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC;;KAEK;AACL,eAAO,MAAM,SAAS,EAAE,KAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,SAAS,CAAC;AAE/C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAC,eAAe,CAAC,CAAC;AAC1D,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,MAAM,GAAG,UAAU,CAAC;AAEjE,eAAO,MAAM,OAAO,UAAW,kBAAkB,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;CAG7D,CAAC;AACH,eAAO,MAAM,UAAU,UAAW,kBAAkB,WAAW,MAAM;;;;;;;;;;;;;;;;;;;;CAGnE,CAAC;AACH,eAAO,MAAM,QAAQ,UAAW,kBAAkB,SAAS,MAAM;;;;;;;;;;;;;;;;;;;;CAG/D,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG;IAE3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-evm",
3
- "version": "1.20.0",
3
+ "version": "2.0.0-beta.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wormhole-foundation/connect-sdk.git"
@@ -57,7 +57,7 @@
57
57
  "nock": "13.3.8"
58
58
  },
59
59
  "dependencies": {
60
- "@wormhole-foundation/sdk-connect": "1.20.0",
60
+ "@wormhole-foundation/sdk-connect": "2.0.0-beta.0",
61
61
  "ethers": "^6.5.1"
62
62
  },
63
63
  "type": "module",