@wormhole-foundation/sdk-evm-tokenbridge 0.5.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.
Files changed (83) hide show
  1. package/dist/cjs/automaticTokenBridge.d.ts +26 -0
  2. package/dist/cjs/automaticTokenBridge.d.ts.map +1 -0
  3. package/dist/cjs/automaticTokenBridge.js +109 -0
  4. package/dist/cjs/automaticTokenBridge.js.map +1 -0
  5. package/dist/cjs/ethers-contracts/Bridge.d.ts +630 -0
  6. package/dist/cjs/ethers-contracts/Bridge.d.ts.map +1 -0
  7. package/dist/cjs/ethers-contracts/Bridge.js +3 -0
  8. package/dist/cjs/ethers-contracts/Bridge.js.map +1 -0
  9. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.d.ts +600 -0
  10. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.d.ts.map +1 -0
  11. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.js +3 -0
  12. package/dist/cjs/ethers-contracts/TokenBridgeRelayer.js.map +1 -0
  13. package/dist/cjs/ethers-contracts/common.d.ts +51 -0
  14. package/dist/cjs/ethers-contracts/common.d.ts.map +1 -0
  15. package/dist/cjs/ethers-contracts/common.js +3 -0
  16. package/dist/cjs/ethers-contracts/common.js.map +1 -0
  17. package/dist/cjs/ethers-contracts/factories/Bridge__factory.d.ts +944 -0
  18. package/dist/cjs/ethers-contracts/factories/Bridge__factory.d.ts.map +1 -0
  19. package/dist/cjs/ethers-contracts/factories/Bridge__factory.js +1248 -0
  20. package/dist/cjs/ethers-contracts/factories/Bridge__factory.js.map +1 -0
  21. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts +820 -0
  22. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts.map +1 -0
  23. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.js +1079 -0
  24. package/dist/cjs/ethers-contracts/factories/TokenBridgeRelayer__factory.js.map +1 -0
  25. package/dist/cjs/ethers-contracts/factories/index.d.ts +3 -0
  26. package/dist/cjs/ethers-contracts/factories/index.d.ts.map +1 -0
  27. package/dist/cjs/ethers-contracts/factories/index.js +19 -0
  28. package/dist/cjs/ethers-contracts/factories/index.js.map +1 -0
  29. package/dist/cjs/ethers-contracts/index.d.ts +4 -0
  30. package/dist/cjs/ethers-contracts/index.d.ts.map +1 -0
  31. package/dist/cjs/ethers-contracts/index.js +18 -0
  32. package/dist/cjs/ethers-contracts/index.js.map +1 -0
  33. package/dist/cjs/index.d.ts +4 -0
  34. package/dist/cjs/index.d.ts.map +1 -0
  35. package/dist/cjs/index.js +39 -0
  36. package/dist/cjs/index.js.map +1 -0
  37. package/dist/cjs/tokenBridge.d.ts +28 -0
  38. package/dist/cjs/tokenBridge.d.ts.map +1 -0
  39. package/dist/cjs/tokenBridge.js +154 -0
  40. package/dist/cjs/tokenBridge.js.map +1 -0
  41. package/dist/esm/automaticTokenBridge.d.ts +26 -0
  42. package/dist/esm/automaticTokenBridge.d.ts.map +1 -0
  43. package/dist/esm/automaticTokenBridge.js +105 -0
  44. package/dist/esm/automaticTokenBridge.js.map +1 -0
  45. package/dist/esm/ethers-contracts/Bridge.d.ts +630 -0
  46. package/dist/esm/ethers-contracts/Bridge.d.ts.map +1 -0
  47. package/dist/esm/ethers-contracts/Bridge.js +2 -0
  48. package/dist/esm/ethers-contracts/Bridge.js.map +1 -0
  49. package/dist/esm/ethers-contracts/TokenBridgeRelayer.d.ts +600 -0
  50. package/dist/esm/ethers-contracts/TokenBridgeRelayer.d.ts.map +1 -0
  51. package/dist/esm/ethers-contracts/TokenBridgeRelayer.js +2 -0
  52. package/dist/esm/ethers-contracts/TokenBridgeRelayer.js.map +1 -0
  53. package/dist/esm/ethers-contracts/common.d.ts +51 -0
  54. package/dist/esm/ethers-contracts/common.d.ts.map +1 -0
  55. package/dist/esm/ethers-contracts/common.js +2 -0
  56. package/dist/esm/ethers-contracts/common.js.map +1 -0
  57. package/dist/esm/ethers-contracts/factories/Bridge__factory.d.ts +944 -0
  58. package/dist/esm/ethers-contracts/factories/Bridge__factory.d.ts.map +1 -0
  59. package/dist/esm/ethers-contracts/factories/Bridge__factory.js +1244 -0
  60. package/dist/esm/ethers-contracts/factories/Bridge__factory.js.map +1 -0
  61. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts +820 -0
  62. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.d.ts.map +1 -0
  63. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.js +1075 -0
  64. package/dist/esm/ethers-contracts/factories/TokenBridgeRelayer__factory.js.map +1 -0
  65. package/dist/esm/ethers-contracts/factories/index.d.ts +3 -0
  66. package/dist/esm/ethers-contracts/factories/index.d.ts.map +1 -0
  67. package/dist/esm/ethers-contracts/factories/index.js +3 -0
  68. package/dist/esm/ethers-contracts/factories/index.js.map +1 -0
  69. package/dist/esm/ethers-contracts/index.d.ts +4 -0
  70. package/dist/esm/ethers-contracts/index.d.ts.map +1 -0
  71. package/dist/esm/ethers-contracts/index.js +2 -0
  72. package/dist/esm/ethers-contracts/index.js.map +1 -0
  73. package/dist/esm/index.d.ts +4 -0
  74. package/dist/esm/index.d.ts.map +1 -0
  75. package/dist/esm/index.js +10 -0
  76. package/dist/esm/index.js.map +1 -0
  77. package/dist/esm/tokenBridge.d.ts +28 -0
  78. package/dist/esm/tokenBridge.d.ts.map +1 -0
  79. package/dist/esm/tokenBridge.js +150 -0
  80. package/dist/esm/tokenBridge.js.map +1 -0
  81. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  82. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  83. package/package.json +59 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TokenBridgeRelayer__factory.js","sourceRoot":"","sources":["../../../../src/ethers-contracts/factories/TokenBridgeRelayer__factory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export * from './Bridge__factory';
2
+ export * from './TokenBridgeRelayer__factory';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ethers-contracts/factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Bridge__factory"), exports);
18
+ __exportStar(require("./TokenBridgeRelayer__factory"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ethers-contracts/factories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,gEAA8C"}
@@ -0,0 +1,4 @@
1
+ export * from './factories';
2
+ export { Bridge as TokenBridgeContract } from './Bridge';
3
+ export { TokenBridgeRelayer } from './TokenBridgeRelayer';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ethers-contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./factories"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ethers-contracts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B"}
@@ -0,0 +1,4 @@
1
+ export * as ethers_contracts from './ethers-contracts';
2
+ export * from './tokenBridge';
3
+ export * from './automaticTokenBridge';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,gBAAgB,MAAM,oBAAoB,CAAC;AACvD,cAAc,eAAe,CAAC;AAC9B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.ethers_contracts = void 0;
30
+ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
31
+ const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
32
+ const tokenBridge_1 = require("./tokenBridge");
33
+ const automaticTokenBridge_1 = require("./automaticTokenBridge");
34
+ (0, sdk_connect_1.registerProtocol)(sdk_evm_1._platform, 'TokenBridge', tokenBridge_1.EvmTokenBridge);
35
+ (0, sdk_connect_1.registerProtocol)(sdk_evm_1._platform, 'AutomaticTokenBridge', automaticTokenBridge_1.EvmAutomaticTokenBridge);
36
+ exports.ethers_contracts = __importStar(require("./ethers-contracts"));
37
+ __exportStar(require("./tokenBridge"), exports);
38
+ __exportStar(require("./automaticTokenBridge"), exports);
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kEAAoE;AACpE,0DAAyD;AACzD,+CAA+C;AAC/C,iEAAiE;AAEjE,IAAA,8BAAgB,EAAC,mBAAS,EAAE,aAAa,EAAE,4BAAc,CAAC,CAAC;AAC3D,IAAA,8BAAgB,EAAC,mBAAS,EAAE,sBAAsB,EAAE,8CAAuB,CAAC,CAAC;AAE7E,uEAAuD;AACvD,gDAA8B;AAC9B,yDAAuC"}
@@ -0,0 +1,28 @@
1
+ import { AccountAddress, Chain, ChainAddress, ChainsConfig, Contracts, NativeAddress, Network, Platform, TokenAddress, TokenBridge, TokenId } from '@wormhole-foundation/sdk-connect';
2
+ import { Provider } from 'ethers';
3
+ import { TokenBridgeContract } from './ethers-contracts';
4
+ import { EvmChains, EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
5
+ import '@wormhole-foundation/sdk-evm-core';
6
+ export declare class EvmTokenBridge<N extends Network, C extends EvmChains> implements TokenBridge<N, C> {
7
+ readonly network: N;
8
+ readonly chain: C;
9
+ readonly provider: Provider;
10
+ readonly contracts: Contracts;
11
+ readonly tokenBridge: TokenBridgeContract;
12
+ readonly tokenBridgeAddress: string;
13
+ readonly chainId: bigint;
14
+ private constructor();
15
+ static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, Platform>): Promise<EvmTokenBridge<N, EvmChains>>;
16
+ isWrappedAsset(token: TokenAddress<C>): Promise<boolean>;
17
+ getOriginalAsset(token: TokenAddress<C>): Promise<TokenId>;
18
+ hasWrappedAsset(token: TokenId): Promise<boolean>;
19
+ getWrappedAsset(token: TokenId<Chain>): Promise<NativeAddress<C>>;
20
+ isTransferCompleted(vaa: TokenBridge.TransferVAA): Promise<boolean>;
21
+ createAttestation(token: TokenAddress<C>): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
22
+ submitAttestation(vaa: TokenBridge.AttestVAA): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
23
+ transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, payload?: Uint8Array): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
24
+ redeem(sender: AccountAddress<C>, vaa: TokenBridge.TransferVAA, unwrapNative?: boolean): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
25
+ getWrappedNative(): Promise<import("@wormhole-foundation/sdk-connect").ChainToPlatform<C> extends infer T ? T extends import("@wormhole-foundation/sdk-connect").ChainToPlatform<C> ? T extends "Evm" ? Wormhole.PlatformToNativeAddressMapping[T] : never : never : never>;
26
+ private createUnsignedTx;
27
+ }
28
+ //# sourceMappingURL=tokenBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenBridge.d.ts","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,SAAS,EAET,aAAa,EACb,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,OAAO,EASR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAGtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAEL,SAAS,EAET,sBAAsB,EAMvB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,mCAAmC,CAAC;AAE3C,qBAAa,cAAc,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CAChE,YAAW,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAO1B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAR/B,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO;WAwBM,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAUlC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAIxD,gBAAgB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAgB1D,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQjD,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAejE,mBAAmB,CAAC,GAAG,EAAE,WAAW,CAAC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBlE,iBAAiB,CACtB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAWxC,iBAAiB,CACtB,GAAG,EAAE,WAAW,CAAC,SAAS,GACzB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAYxC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,UAAU,GACnB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IA4ExC,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,WAAW,CAAC,WAAW,EAC5B,YAAY,GAAE,OAAc,GAC3B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAmCzC,gBAAgB;IAKtB,OAAO,CAAC,gBAAgB;CAazB"}
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvmTokenBridge = void 0;
4
+ const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
5
+ const _1 = require(".");
6
+ const sdk_evm_1 = require("@wormhole-foundation/sdk-evm");
7
+ require("@wormhole-foundation/sdk-evm-core");
8
+ class EvmTokenBridge {
9
+ network;
10
+ chain;
11
+ provider;
12
+ contracts;
13
+ tokenBridge;
14
+ tokenBridgeAddress;
15
+ chainId;
16
+ constructor(network, chain, provider, contracts) {
17
+ this.network = network;
18
+ this.chain = chain;
19
+ this.provider = provider;
20
+ this.contracts = contracts;
21
+ this.chainId = sdk_connect_1.nativeChainIds.networkChainToNativeChainId.get(network, chain);
22
+ const tokenBridgeAddress = this.contracts.tokenBridge;
23
+ if (!tokenBridgeAddress)
24
+ throw new Error(`Wormhole Token Bridge contract for domain ${chain} not found`);
25
+ this.tokenBridgeAddress = tokenBridgeAddress;
26
+ this.tokenBridge = _1.ethers_contracts.Bridge__factory.connect(this.tokenBridgeAddress, provider);
27
+ }
28
+ static async fromRpc(provider, config) {
29
+ const [network, chain] = await sdk_evm_1.EvmPlatform.chainFromRpc(provider);
30
+ const conf = config[chain];
31
+ if (conf.network !== network)
32
+ throw new Error(`Network mismatch: ${conf.network} != ${network}`);
33
+ return new EvmTokenBridge(network, chain, provider, conf.contracts);
34
+ }
35
+ async isWrappedAsset(token) {
36
+ return await this.tokenBridge.isWrappedAsset(token.toString());
37
+ }
38
+ async getOriginalAsset(token) {
39
+ if (!(await this.isWrappedAsset(token)))
40
+ throw (0, sdk_connect_1.ErrNotWrapped)(token.toString());
41
+ const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, token.toString());
42
+ const [chain, address] = await Promise.all([
43
+ tokenContract.chainId().then(Number).then(sdk_connect_1.toChainId).then(sdk_connect_1.toChain),
44
+ tokenContract.nativeContract().then((addr) => new sdk_connect_1.UniversalAddress(addr)),
45
+ ]);
46
+ return { chain, address };
47
+ }
48
+ async hasWrappedAsset(token) {
49
+ try {
50
+ await this.getWrappedAsset(token);
51
+ return true;
52
+ }
53
+ catch (e) { }
54
+ return false;
55
+ }
56
+ async getWrappedAsset(token) {
57
+ if ((0, sdk_connect_1.isNative)(token.address))
58
+ throw new Error('native asset cannot be a wrapped asset');
59
+ const wrappedAddress = await this.tokenBridge.wrappedAsset((0, sdk_connect_1.toChainId)(token.chain), token.address.toUniversalAddress().toString());
60
+ if (wrappedAddress === sdk_evm_1.EvmZeroAddress)
61
+ throw (0, sdk_connect_1.ErrNotWrapped)(token.address.toUniversalAddress().toString());
62
+ return new sdk_evm_1.EvmAddress(wrappedAddress);
63
+ }
64
+ async isTransferCompleted(vaa) {
65
+ //The double keccak here is neccessary due to a fuckup in the original implementation of the
66
+ // EVM core bridge:
67
+ //Guardians don't sign messages (bodies) but explicitly hash them via keccak256 first.
68
+ //However, they use an ECDSA scheme for signing where the first step is to hash the "message"
69
+ // (which at this point is already the digest of the original message/body!)
70
+ //Now, on EVM, ecrecover expects the final digest (i.e. a bytes32 rather than a dynamic bytes)
71
+ // i.e. it does no hashing itself. Therefore the EVM core bridge has to hash the body twice
72
+ // before calling ecrecover. But in the process of doing so, it erroneously sets the doubly
73
+ // hashed value as vm.hash instead of using the only once hashed value.
74
+ //And finally this double digest is then used in a mapping to store whether a VAA has already
75
+ // been redeemed or not, which is ultimately the reason why we have to keccak the hash one
76
+ // more time here.
77
+ return this.tokenBridge.isTransferCompleted((0, sdk_connect_1.keccak256)(vaa.hash));
78
+ }
79
+ async *createAttestation(token) {
80
+ const ignoredNonce = 0;
81
+ yield this.createUnsignedTx(await this.tokenBridge.attestToken.populateTransaction(token.toString(), ignoredNonce), 'TokenBridge.createAttestation');
82
+ }
83
+ async *submitAttestation(vaa) {
84
+ const func = (await this.hasWrappedAsset({
85
+ ...vaa.payload.token,
86
+ }))
87
+ ? 'updateWrapped'
88
+ : 'createWrapped';
89
+ yield this.createUnsignedTx(await this.tokenBridge[func].populateTransaction((0, sdk_connect_1.serialize)(vaa)), 'TokenBridge.' + func);
90
+ }
91
+ async *transfer(sender, recipient, token, amount, payload) {
92
+ const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
93
+ const recipientChainId = (0, sdk_connect_1.toChainId)(recipient.chain);
94
+ const recipientAddress = recipient.address
95
+ .toUniversalAddress()
96
+ .toUint8Array();
97
+ if ((0, sdk_connect_1.isNative)(token)) {
98
+ const txReq = await (payload === undefined
99
+ ? this.tokenBridge.wrapAndTransferETH.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce, { value: amount })
100
+ : this.tokenBridge.wrapAndTransferETHWithPayload.populateTransaction(recipientChainId, recipientAddress, sdk_evm_1.unusedNonce, payload, { value: amount }));
101
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.wrapAndTransferETH' +
102
+ (payload === undefined ? '' : 'WithPayload'));
103
+ }
104
+ else {
105
+ //TODO check for ERC-2612 (permit) support on token?
106
+ const tokenAddr = new sdk_evm_1.EvmAddress(token).toString();
107
+ const tokenContract = sdk_evm_1.EvmPlatform.getTokenImplementation(this.provider, tokenAddr);
108
+ const allowance = await tokenContract.allowance(senderAddr, this.tokenBridge.target);
109
+ if (allowance < amount) {
110
+ const txReq = await tokenContract.approve.populateTransaction(this.tokenBridge.target, amount);
111
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.Approve');
112
+ }
113
+ const sharedParams = [
114
+ tokenAddr,
115
+ amount,
116
+ recipientChainId,
117
+ recipientAddress,
118
+ ];
119
+ const txReq = await (payload === undefined
120
+ ? this.tokenBridge.transferTokens.populateTransaction(...sharedParams, sdk_evm_1.unusedArbiterFee, sdk_evm_1.unusedNonce)
121
+ : this.tokenBridge.transferTokensWithPayload.populateTransaction(...sharedParams, sdk_evm_1.unusedNonce, payload));
122
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.transferTokens' +
123
+ (payload === undefined ? '' : 'WithPayload'));
124
+ }
125
+ }
126
+ async *redeem(sender, vaa, unwrapNative = true) {
127
+ const senderAddr = new sdk_evm_1.EvmAddress(sender).toString();
128
+ if (vaa.payloadName === 'TransferWithPayload' &&
129
+ vaa.payload.token.chain !== this.chain) {
130
+ const fromAddr = new sdk_evm_1.EvmAddress(vaa.payload.from).unwrap();
131
+ if (fromAddr !== senderAddr)
132
+ throw new Error(`VAA.from (${fromAddr}) does not match sender (${senderAddr})`);
133
+ }
134
+ const wrappedNativeAddr = await this.tokenBridge.WETH();
135
+ const tokenAddr = new sdk_evm_1.EvmAddress(vaa.payload.token.address).unwrap();
136
+ if (tokenAddr === wrappedNativeAddr && unwrapNative) {
137
+ const txReq = await this.tokenBridge.completeTransferAndUnwrapETH.populateTransaction((0, sdk_connect_1.serialize)(vaa));
138
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.completeTransferAndUnwrapETH');
139
+ }
140
+ else {
141
+ const txReq = await this.tokenBridge.completeTransfer.populateTransaction((0, sdk_connect_1.serialize)(vaa));
142
+ yield this.createUnsignedTx((0, sdk_evm_1.addFrom)(txReq, senderAddr), 'TokenBridge.completeTransfer');
143
+ }
144
+ }
145
+ async getWrappedNative() {
146
+ const address = await this.tokenBridge.WETH();
147
+ return (0, sdk_connect_1.toNative)(this.chain, address);
148
+ }
149
+ createUnsignedTx(txReq, description, parallelizable = false) {
150
+ return new sdk_evm_1.EvmUnsignedTransaction((0, sdk_evm_1.addChainId)(txReq, this.chainId), this.network, this.chain, description, parallelizable);
151
+ }
152
+ }
153
+ exports.EvmTokenBridge = EvmTokenBridge;
154
+ //# sourceMappingURL=tokenBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { AccountAddress, AutomaticTokenBridge, ChainAddress, ChainsConfig, Contracts, NativeAddress, Network, TokenAddress } from '@wormhole-foundation/sdk-connect';
2
+ import { EvmChains, EvmPlatformType, EvmUnsignedTransaction } from '@wormhole-foundation/sdk-evm';
3
+ import { Provider } from 'ethers';
4
+ import { ethers_contracts } from '.';
5
+ import '@wormhole-foundation/sdk-evm-core';
6
+ export declare class EvmAutomaticTokenBridge<N extends Network, C extends EvmChains> implements AutomaticTokenBridge<N, C> {
7
+ readonly network: N;
8
+ readonly chain: C;
9
+ readonly provider: Provider;
10
+ readonly contracts: Contracts;
11
+ readonly tokenBridgeRelayer: ethers_contracts.TokenBridgeRelayer;
12
+ readonly tokenBridge: ethers_contracts.TokenBridgeContract;
13
+ readonly chainId: bigint;
14
+ private constructor();
15
+ redeem(sender: AccountAddress<C>, vaa: AutomaticTokenBridge.VAA): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
16
+ static fromRpc<N extends Network>(provider: Provider, config: ChainsConfig<N, EvmPlatformType>): Promise<EvmAutomaticTokenBridge<N, EvmChains>>;
17
+ transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, nativeGas?: bigint): AsyncGenerator<EvmUnsignedTransaction<N, C>>;
18
+ getRelayerFee(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>): Promise<bigint>;
19
+ nativeTokenAmount(token: TokenAddress<C>, amount: bigint): Promise<bigint>;
20
+ maxSwapAmount(token: TokenAddress<C>): Promise<bigint>;
21
+ getRegisteredTokens(): Promise<NativeAddress<C>[]>;
22
+ isRegisteredToken(token: TokenAddress<C>): Promise<boolean>;
23
+ private tokenAddress;
24
+ private createUnsignedTx;
25
+ }
26
+ //# sourceMappingURL=automaticTokenBridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,aAAa,EACb,OAAO,EACP,YAAY,EAIb,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAEL,SAAS,EAET,eAAe,EACf,sBAAsB,EAGvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAsB,MAAM,QAAQ,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAC;AAErC,OAAO,mCAAmC,CAAC;AAE3C,qBAAa,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACzE,YAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAOnC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,QAAQ;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAR/B,QAAQ,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,kBAAkB,CAAC;IACjE,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,mBAAmB,CAAC;IAC3D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAEzB,OAAO;IAqCA,MAAM,CACX,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,GAAG,EAAE,oBAAoB,CAAC,GAAG,GAC5B,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;WAalC,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAgB1C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAiEzC,aAAa,CACjB,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC,MAAM,CAAC;IAoBZ,iBAAiB,CACrB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;IAQZ,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAKtD,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAKlD,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAKnD,YAAY;IAM1B,OAAO,CAAC,gBAAgB;CAazB"}
@@ -0,0 +1,105 @@
1
+ import { isNative, serialize, toNative, } from '@wormhole-foundation/sdk-connect';
2
+ import { EvmAddress, EvmPlatform, EvmUnsignedTransaction, addChainId, addFrom, } from '@wormhole-foundation/sdk-evm';
3
+ import { nativeChainIds, toChainId } from '@wormhole-foundation/sdk-base';
4
+ import { ethers_contracts } from '.';
5
+ import '@wormhole-foundation/sdk-evm-core';
6
+ export class EvmAutomaticTokenBridge {
7
+ network;
8
+ chain;
9
+ provider;
10
+ contracts;
11
+ tokenBridgeRelayer;
12
+ tokenBridge;
13
+ chainId;
14
+ constructor(network, chain, provider, contracts) {
15
+ this.network = network;
16
+ this.chain = chain;
17
+ this.provider = provider;
18
+ this.contracts = contracts;
19
+ if (network === 'Devnet')
20
+ throw new Error('AutomaticTokenBridge not supported on Devnet');
21
+ this.chainId = nativeChainIds.networkChainToNativeChainId.get(network, chain);
22
+ const tokenBridgeAddress = this.contracts.tokenBridge;
23
+ if (!tokenBridgeAddress)
24
+ throw new Error(`Wormhole Token Bridge contract for domain ${chain} not found`);
25
+ this.tokenBridge = ethers_contracts.Bridge__factory.connect(tokenBridgeAddress, provider);
26
+ const relayerAddress = this.contracts.tokenBridgeRelayer;
27
+ if (!relayerAddress)
28
+ throw new Error(`Wormhole Token Bridge Relayer contract for domain ${chain} not found`);
29
+ this.tokenBridgeRelayer =
30
+ ethers_contracts.TokenBridgeRelayer__factory.connect(relayerAddress, provider);
31
+ }
32
+ async *redeem(sender, vaa) {
33
+ const senderAddr = new EvmAddress(sender).toString();
34
+ const txReq = await this.tokenBridgeRelayer.completeTransferWithRelay.populateTransaction(serialize(vaa));
35
+ return this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridgeRelayer.completeTransferWithRelay');
36
+ }
37
+ static async fromRpc(provider, config) {
38
+ const [network, chain] = await EvmPlatform.chainFromRpc(provider);
39
+ const conf = config[chain];
40
+ if (conf.network !== network)
41
+ throw new Error(`Network mismatch: ${conf.network} != ${network}`);
42
+ return new EvmAutomaticTokenBridge(network, chain, provider, conf.contracts);
43
+ }
44
+ //alternative naming: initiateTransfer
45
+ async *transfer(sender, recipient, token, amount, nativeGas) {
46
+ const senderAddr = new EvmAddress(sender).toString();
47
+ const recipientChainId = toChainId(recipient.chain);
48
+ const recipientAddress = recipient.address
49
+ .toUniversalAddress()
50
+ .toUint8Array();
51
+ const nativeTokenGas = nativeGas ? nativeGas : 0n;
52
+ if (isNative(token)) {
53
+ const txReq = await this.tokenBridgeRelayer.wrapAndTransferEthWithRelay.populateTransaction(nativeTokenGas, recipientChainId, recipientAddress, 0, // skip batching
54
+ { value: amount });
55
+ yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridgeRelayer.wrapAndTransferETHWithRelay');
56
+ }
57
+ else {
58
+ //TODO check for ERC-2612 (permit) support on token?
59
+ const tokenAddr = new EvmAddress(token).toString();
60
+ const tokenContract = EvmPlatform.getTokenImplementation(this.provider, tokenAddr);
61
+ const allowance = await tokenContract.allowance(senderAddr, this.tokenBridgeRelayer.target);
62
+ if (allowance < amount) {
63
+ const txReq = await tokenContract.approve.populateTransaction(this.tokenBridgeRelayer.target, amount);
64
+ yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'AutomaticTokenBridge.Approve');
65
+ }
66
+ const txReq = await this.tokenBridgeRelayer.transferTokensWithRelay.populateTransaction(tokenAddr, amount, nativeTokenGas, recipientChainId, recipientAddress, 0);
67
+ yield this.createUnsignedTx(addFrom(txReq, senderAddr), 'TokenBridgeRelayer.TransferTokensWithRelay');
68
+ }
69
+ }
70
+ async getRelayerFee(sender, recipient, token) {
71
+ const destChainId = toChainId(recipient.chain);
72
+ const srcTokenAddress = await this.tokenAddress(token);
73
+ const tokenContract = EvmPlatform.getTokenImplementation(this.provider, srcTokenAddress);
74
+ const decimals = await tokenContract.decimals();
75
+ return await this.tokenBridgeRelayer.calculateRelayerFee(destChainId, srcTokenAddress, decimals);
76
+ }
77
+ // Return the amount of native gas that will be
78
+ // received when the incoming bridge transfer is redeemed
79
+ // Note: for a quote, this should be called on the destination chain
80
+ async nativeTokenAmount(token, amount) {
81
+ const address = await this.tokenAddress(token);
82
+ return this.tokenBridgeRelayer.calculateNativeSwapAmountOut(address, amount);
83
+ }
84
+ async maxSwapAmount(token) {
85
+ const address = await this.tokenAddress(token);
86
+ return this.tokenBridgeRelayer.calculateMaxSwapAmountIn(address);
87
+ }
88
+ async getRegisteredTokens() {
89
+ const tokens = await this.tokenBridgeRelayer.getAcceptedTokensList();
90
+ return tokens.map((address) => toNative(this.chain, address));
91
+ }
92
+ async isRegisteredToken(token) {
93
+ const address = await this.tokenAddress(token);
94
+ return await this.tokenBridgeRelayer.isAcceptedToken(address);
95
+ }
96
+ async tokenAddress(token) {
97
+ return isNative(token)
98
+ ? await this.tokenBridge.WETH()
99
+ : new EvmAddress(token).toString();
100
+ }
101
+ createUnsignedTx(txReq, description, parallelizable = false) {
102
+ return new EvmUnsignedTransaction(addChainId(txReq, this.chainId), this.network, this.chain, description, parallelizable);
103
+ }
104
+ }
105
+ //# sourceMappingURL=automaticTokenBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automaticTokenBridge.js","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"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"}