@hyperlane-xyz/cli 3.8.1 → 3.9.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 (37) hide show
  1. package/dist/src/commands/options.d.ts +1 -0
  2. package/dist/src/commands/options.d.ts.map +1 -1
  3. package/dist/src/commands/options.js +5 -0
  4. package/dist/src/commands/options.js.map +1 -1
  5. package/dist/src/commands/send.d.ts.map +1 -1
  6. package/dist/src/commands/send.js +4 -1
  7. package/dist/src/commands/send.js.map +1 -1
  8. package/dist/src/config/warp.d.ts +29 -7
  9. package/dist/src/config/warp.d.ts.map +1 -1
  10. package/dist/src/config/warp.js +34 -6
  11. package/dist/src/config/warp.js.map +1 -1
  12. package/dist/src/context.d.ts +12 -2
  13. package/dist/src/context.d.ts.map +1 -1
  14. package/dist/src/context.js +16 -2
  15. package/dist/src/context.js.map +1 -1
  16. package/dist/src/deploy/utils.d.ts.map +1 -1
  17. package/dist/src/deploy/utils.js +3 -1
  18. package/dist/src/deploy/utils.js.map +1 -1
  19. package/dist/src/deploy/warp.js +14 -11
  20. package/dist/src/deploy/warp.js.map +1 -1
  21. package/dist/src/send/transfer.d.ts +2 -1
  22. package/dist/src/send/transfer.d.ts.map +1 -1
  23. package/dist/src/send/transfer.js +54 -97
  24. package/dist/src/send/transfer.js.map +1 -1
  25. package/dist/src/tests/deployTestErc20.d.ts +2 -0
  26. package/dist/src/tests/deployTestErc20.d.ts.map +1 -0
  27. package/dist/src/tests/deployTestErc20.js +26 -0
  28. package/dist/src/tests/deployTestErc20.js.map +1 -0
  29. package/dist/src/utils/balances.d.ts +0 -2
  30. package/dist/src/utils/balances.d.ts.map +1 -1
  31. package/dist/src/utils/balances.js +0 -9
  32. package/dist/src/utils/balances.js.map +1 -1
  33. package/dist/src/version.d.ts +1 -1
  34. package/dist/src/version.js +1 -1
  35. package/examples/contract-artifacts.yaml +4 -4
  36. package/examples/warp-route-deployment.yaml +2 -1
  37. package/package.json +4 -3
@@ -3,6 +3,7 @@ export declare const keyCommandOption: Options;
3
3
  export declare const chainsCommandOption: Options;
4
4
  export declare const outDirCommandOption: Options;
5
5
  export declare const coreArtifactsOption: Options;
6
+ export declare const warpConfigOption: Options;
6
7
  export declare const agentConfigurationOption: Options;
7
8
  export declare const fileFormatOption: Options;
8
9
  export declare const outputFileOption: (defaultPath: string) => Options;
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,eAAO,MAAM,gBAAgB,EAAE,OAK9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAIjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAGtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAM9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAiB,MAAM,KAAG,OAKrD,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,eAAO,MAAM,gBAAgB,EAAE,OAK9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAKjC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,OAIjC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAI9B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,OAGtC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,OAM9B,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBAAiB,MAAM,KAAG,OAKrD,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,OAKpC,CAAC"}
@@ -20,6 +20,11 @@ export const coreArtifactsOption = {
20
20
  description: 'File path to core deployment output artifacts',
21
21
  alias: 'a',
22
22
  };
23
+ export const warpConfigOption = {
24
+ type: 'string',
25
+ description: 'File path to Warp config',
26
+ alias: 'w',
27
+ };
23
28
  export const agentConfigurationOption = {
24
29
  type: 'string',
25
30
  description: 'File path to agent configuration artifacts',
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,sFAAsF;IACxF,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qCAAqC;IAClD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,+CAA+C;IAC5D,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAY;IAC/C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4CAA4C;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAW,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,GAAG;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAY;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,GAAG;CACX,CAAC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../../src/commands/options.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EACT,sFAAsF;IACxF,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kDAAkD;IAC/D,OAAO,EAAE,uBAAuB;IAChC,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,qCAAqC;IAClD,OAAO,EAAE,aAAa;IACtB,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAY;IAC1C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,+CAA+C;IAC5D,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,0BAA0B;IACvC,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAY;IAC/C,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,4CAA4C;CAC1D,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAY;IACvC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,oBAAoB;IACjC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,MAAM;IACf,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAW,EAAE,CAAC,CAAC;IACjE,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,kBAAkB;IAC/B,OAAO,EAAE,WAAW;IACpB,KAAK,EAAE,GAAG;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAY;IAC7C,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,2BAA2B;IACxC,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,GAAG;CACX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AAa/C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAUzB,CAAC"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAW,MAAM,OAAO,CAAC;AAc/C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,aAUzB,CAAC"}
@@ -3,7 +3,7 @@ import { log } from '../../logger.js';
3
3
  import { sendTestMessage } from '../send/message.js';
4
4
  import { sendTestTransfer } from '../send/transfer.js';
5
5
  import { ENV } from '../utils/env.js';
6
- import { chainsCommandOption, coreArtifactsOption, keyCommandOption, } from './options.js';
6
+ import { chainsCommandOption, coreArtifactsOption, keyCommandOption, warpConfigOption, } from './options.js';
7
7
  /**
8
8
  * Parent command
9
9
  */
@@ -84,6 +84,7 @@ const transferCommand = {
84
84
  describe: 'Send a test token transfer on a warp route',
85
85
  builder: (yargs) => yargs.options({
86
86
  ...messageOptions,
87
+ warp: warpConfigOption,
87
88
  router: {
88
89
  type: 'string',
89
90
  description: 'The address of the token router contract',
@@ -102,6 +103,7 @@ const transferCommand = {
102
103
  const key = argv.key || ENV.HYP_KEY;
103
104
  const chainConfigPath = argv.chains;
104
105
  const coreArtifactsPath = argv.core;
106
+ const warpConfigPath = argv.warp;
105
107
  const origin = argv.origin;
106
108
  const destination = argv.destination;
107
109
  const timeoutSec = argv.timeout;
@@ -113,6 +115,7 @@ const transferCommand = {
113
115
  key,
114
116
  chainConfigPath,
115
117
  coreArtifactsPath,
118
+ warpConfigPath,
116
119
  origin,
117
120
  destination,
118
121
  routerAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/send.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,11 @@ import { z } from 'zod';
2
2
  import { TokenType } from '@hyperlane-xyz/sdk';
3
3
  import { FileFormat } from '../utils/files.js';
4
4
  export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
5
- base: z.ZodObject<{
5
+ base: z.ZodEffects<z.ZodObject<{
6
6
  mailbox: z.ZodOptional<z.ZodString>;
7
7
  interchainSecurityModule: z.ZodOptional<z.ZodString>;
8
8
  foreignDeployment: z.ZodOptional<z.ZodString>;
9
- type: z.ZodUnion<[z.ZodLiteral<TokenType.native>, z.ZodLiteral<TokenType.collateral>]>;
9
+ type: z.ZodUnion<[z.ZodUnion<[z.ZodLiteral<TokenType.native>, z.ZodLiteral<TokenType.collateral>]>, z.ZodLiteral<TokenType.collateralVault>]>;
10
10
  chainName: z.ZodString;
11
11
  address: z.ZodOptional<z.ZodString>;
12
12
  isNft: z.ZodOptional<z.ZodBoolean>;
@@ -14,7 +14,7 @@ export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
14
14
  symbol: z.ZodOptional<z.ZodString>;
15
15
  decimals: z.ZodOptional<z.ZodNumber>;
16
16
  }, "strip", z.ZodTypeAny, {
17
- type: TokenType.collateral | TokenType.native;
17
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
18
18
  chainName: string;
19
19
  mailbox?: string | undefined;
20
20
  interchainSecurityModule?: string | undefined;
@@ -25,7 +25,29 @@ export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
25
25
  symbol?: string | undefined;
26
26
  decimals?: number | undefined;
27
27
  }, {
28
- type: TokenType.collateral | TokenType.native;
28
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
29
+ chainName: string;
30
+ mailbox?: string | undefined;
31
+ interchainSecurityModule?: string | undefined;
32
+ foreignDeployment?: string | undefined;
33
+ address?: string | undefined;
34
+ isNft?: boolean | undefined;
35
+ name?: string | undefined;
36
+ symbol?: string | undefined;
37
+ decimals?: number | undefined;
38
+ }>, {
39
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
40
+ chainName: string;
41
+ mailbox?: string | undefined;
42
+ interchainSecurityModule?: string | undefined;
43
+ foreignDeployment?: string | undefined;
44
+ address?: string | undefined;
45
+ isNft?: boolean | undefined;
46
+ name?: string | undefined;
47
+ symbol?: string | undefined;
48
+ decimals?: number | undefined;
49
+ }, {
50
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
29
51
  chainName: string;
30
52
  mailbox?: string | undefined;
31
53
  interchainSecurityModule?: string | undefined;
@@ -63,7 +85,7 @@ export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
63
85
  }>, "atleastone">;
64
86
  }, "strip", z.ZodTypeAny, {
65
87
  base: {
66
- type: TokenType.collateral | TokenType.native;
88
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
67
89
  chainName: string;
68
90
  mailbox?: string | undefined;
69
91
  interchainSecurityModule?: string | undefined;
@@ -93,7 +115,7 @@ export declare const WarpRouteDeployConfigSchema: z.ZodObject<{
93
115
  }[]];
94
116
  }, {
95
117
  base: {
96
- type: TokenType.collateral | TokenType.native;
118
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
97
119
  chainName: string;
98
120
  mailbox?: string | undefined;
99
121
  interchainSecurityModule?: string | undefined;
@@ -129,7 +151,7 @@ export type WarpRouteDeployConfig = {
129
151
  };
130
152
  export declare function readWarpRouteDeployConfig(filePath: string): {
131
153
  base: {
132
- type: TokenType.collateral | TokenType.native;
154
+ type: TokenType.collateral | TokenType.collateralVault | TokenType.native;
133
155
  chainName: string;
134
156
  mailbox?: string | undefined;
135
157
  interchainSecurityModule?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAS,MAAM,oBAAoB,CAAC;AAOtD,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAUhF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBtC,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzD;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBA+CA"}
1
+ {"version":3,"file":"warp.d.ts","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAS,MAAM,oBAAoB,CAAC;AAOtD,OAAO,EAAE,UAAU,EAAmC,MAAM,mBAAmB,CAAC;AAUhF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0CtC,CAAC;AAEH,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhE,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzD;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,GAAG,WAEvD;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,OAAO,EACP,eAAe,GAChB,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;CACzB,iBAgEA"}
@@ -12,8 +12,12 @@ const ConnectionConfigSchema = {
12
12
  foreignDeployment: z.string().optional(),
13
13
  };
14
14
  export const WarpRouteDeployConfigSchema = z.object({
15
- base: z.object({
16
- type: z.literal(TokenType.native).or(z.literal(TokenType.collateral)),
15
+ base: z
16
+ .object({
17
+ type: z
18
+ .literal(TokenType.native)
19
+ .or(z.literal(TokenType.collateral))
20
+ .or(z.literal(TokenType.collateralVault)),
17
21
  chainName: z.string(),
18
22
  address: ZHash.optional(),
19
23
  isNft: z.boolean().optional(),
@@ -21,6 +25,16 @@ export const WarpRouteDeployConfigSchema = z.object({
21
25
  symbol: z.string().optional(),
22
26
  decimals: z.number().optional(),
23
27
  ...ConnectionConfigSchema,
28
+ })
29
+ .refine((data) => {
30
+ // For collateralVault Warp Routes, address will specify the vault
31
+ if (data.type === TokenType.collateralVault &&
32
+ data.address === ethers.constants.AddressZero)
33
+ return false;
34
+ return true;
35
+ }, {
36
+ message: 'Vault address is required when type is collateralVault',
37
+ path: ['address'],
24
38
  }),
25
39
  synthetics: z
26
40
  .array(z.object({
@@ -53,15 +67,29 @@ export async function createWarpRouteDeployConfig({ format, outPath, chainConfig
53
67
  const isNative = await confirm({
54
68
  message: 'Are you creating a route for the native token of the base chain (e.g. Ether on Ethereum)?',
55
69
  });
56
- const baseType = isNative ? TokenType.native : TokenType.collateral;
57
- const baseAddress = isNative
58
- ? ethers.constants.AddressZero
59
- : await input({ message: 'Enter the token address' });
60
70
  const isNft = isNative
61
71
  ? false
62
72
  : await confirm({ message: 'Is this an NFT (i.e. ERC-721)?' });
73
+ const isYieldBearing = isNative || isNft
74
+ ? false
75
+ : await confirm({
76
+ message: 'Do you want this warp route to be yield-bearing (i.e. deposits into ERC-4626 vault)?',
77
+ });
78
+ const addressMessage = `Enter the ${isYieldBearing ? 'ERC-4626 vault' : 'collateral token'} address`;
79
+ const baseAddress = isNative
80
+ ? ethers.constants.AddressZero
81
+ : await input({ message: addressMessage });
63
82
  const syntheticChains = await runMultiChainSelectionStep(customChains, 'Select chains to which the base token will be connected');
64
83
  // TODO add more prompts here to support customizing the token metadata
84
+ let baseType;
85
+ if (isNative) {
86
+ baseType = TokenType.native;
87
+ }
88
+ else {
89
+ baseType = isYieldBearing
90
+ ? TokenType.collateralVault
91
+ : TokenType.collateral;
92
+ }
65
93
  const result = {
66
94
  base: {
67
95
  chainName: baseChain,
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/config/warp.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
- import { ChainMap, ChainMetadata, ChainName, HyperlaneContractsMap, MultiProvider } from '@hyperlane-xyz/sdk';
2
+ import { ChainMap, ChainMetadata, ChainName, HyperlaneContractsMap, MultiProvider, WarpCoreConfig } from '@hyperlane-xyz/sdk';
3
3
  export declare const sdkContractAddressesMap: HyperlaneContractsMap<any>;
4
4
  export declare function getMergedContractAddresses(artifacts?: HyperlaneContractsMap<any>, chains?: ChainName[]): HyperlaneContractsMap<any>;
5
5
  interface ContextSettings {
@@ -13,6 +13,10 @@ interface ContextSettings {
13
13
  promptMessage?: string;
14
14
  };
15
15
  skipConfirmation?: boolean;
16
+ warpConfig?: {
17
+ warpConfigPath?: string;
18
+ promptMessage?: string;
19
+ };
16
20
  }
17
21
  interface CommandContextBase {
18
22
  customChains: ChainMap<ChainMetadata>;
@@ -30,8 +34,14 @@ type CommandContext<P extends ContextSettings> = CommandContextBase & (P extends
30
34
  coreArtifacts: HyperlaneContractsMap<any>;
31
35
  } : {
32
36
  coreArtifacts: undefined;
37
+ }) & (P extends {
38
+ warpConfig: object;
39
+ } ? {
40
+ warpCoreConfig: WarpCoreConfig;
41
+ } : {
42
+ warpCoreConfig: undefined;
33
43
  });
34
- export declare function getContext<P extends ContextSettings>({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, }: P): Promise<CommandContext<P>>;
44
+ export declare function getContext<P extends ContextSettings>({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, warpConfig, }: P): Promise<CommandContext<P>>;
35
45
  export declare function getMultiProvider(customChains: ChainMap<ChainMetadata>, signer?: ethers.Signer): MultiProvider<object>;
36
46
  export {};
37
47
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,aAAa,EAGd,MAAM,oBAAoB,CAAC;AAO5B,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,GAAG,CAG9D,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,SAAS,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACtC,MAAM,CAAC,EAAE,SAAS,EAAE,8BAoBrB;AAED,UAAU,eAAe;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,UAAU,kBAAkB;IAC1B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAGD,KAAK,cAAc,CAAC,CAAC,SAAS,eAAe,IAAI,kBAAkB,GACjE,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,GAC1B,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,aAAa,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEpC,wBAAsB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,EAC1D,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,GACjB,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAqChC;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,yBAMvB"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,EACT,qBAAqB,EACrB,aAAa,EACb,cAAc,EAGf,MAAM,oBAAoB,CAAC;AAQ5B,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,GAAG,CAG9D,CAAC;AAEF,wBAAgB,0BAA0B,CACxC,SAAS,CAAC,EAAE,qBAAqB,CAAC,GAAG,CAAC,EACtC,MAAM,CAAC,EAAE,SAAS,EAAE,8BAoBrB;AAED,UAAU,eAAe;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE;QACX,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE;QACX,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,UAAU,kBAAkB;IAC1B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IACtC,aAAa,EAAE,aAAa,CAAC;CAC9B;AAGD,KAAK,cAAc,CAAC,CAAC,SAAS,eAAe,IAAI,kBAAkB,GACjE,CAAC,CAAC,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,GACzB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,GAC1B,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,aAAa,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAA;CAAE,GAC7C;IAAE,aAAa,EAAE,SAAS,CAAA;CAAE,CAAC,GACjC,CAAC,CAAC,SAAS;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,GAClC;IAAE,cAAc,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAErC,wBAAsB,UAAU,CAAC,CAAC,SAAS,eAAe,EAAE,EAC1D,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,GACX,EAAE,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAqDhC;AAED,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,QAAQ,CAAC,aAAa,CAAC,EACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,yBAMvB"}
@@ -3,6 +3,7 @@ import { MultiProvider, chainMetadata, hyperlaneEnvironments, } from '@hyperlane
3
3
  import { objFilter, objMap, objMerge } from '@hyperlane-xyz/utils';
4
4
  import { runDeploymentArtifactStep } from './config/artifacts.js';
5
5
  import { readChainConfigsIfExists } from './config/chain.js';
6
+ import { readYamlOrJson } from './utils/files.js';
6
7
  import { keyToSigner } from './utils/keys.js';
7
8
  export const sdkContractAddressesMap = {
8
9
  ...hyperlaneEnvironments.testnet,
@@ -16,7 +17,7 @@ export function getMergedContractAddresses(artifacts, chains) {
16
17
  }
17
18
  return objMerge(sdkContractsAddressesToRecover, artifacts || {});
18
19
  }
19
- export async function getContext({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, }) {
20
+ export async function getContext({ chainConfigPath, coreConfig, keyConfig, skipConfirmation, warpConfig, }) {
20
21
  const customChains = readChainConfigsIfExists(chainConfigPath);
21
22
  let signer = undefined;
22
23
  if (keyConfig) {
@@ -28,7 +29,7 @@ export async function getContext({ chainConfigPath, coreConfig, keyConfig, skipC
28
29
  else
29
30
  key = await input({
30
31
  message: keyConfig.promptMessage ||
31
- 'Please enter a private key or use the HYP_KEY environment variable',
32
+ 'Please enter a private key or use the HYP_KEY environment variable.',
32
33
  });
33
34
  signer = keyToSigner(key);
34
35
  }
@@ -42,12 +43,25 @@ export async function getContext({ chainConfigPath, coreConfig, keyConfig, skipC
42
43
  skipConfirmation,
43
44
  })) || {};
44
45
  }
46
+ let warpCoreConfig = undefined;
47
+ if (warpConfig) {
48
+ let warpConfigPath = warpConfig.warpConfigPath;
49
+ if (!warpConfigPath) {
50
+ // prompt for path to token config
51
+ warpConfigPath = await input({
52
+ message: warpConfig.promptMessage ||
53
+ 'Please provide a path to the Warp config',
54
+ });
55
+ }
56
+ warpCoreConfig = readYamlOrJson(warpConfigPath);
57
+ }
45
58
  const multiProvider = getMultiProvider(customChains, signer);
46
59
  return {
47
60
  customChains,
48
61
  signer,
49
62
  multiProvider,
50
63
  coreArtifacts,
64
+ warpCoreConfig,
51
65
  };
52
66
  }
53
67
  export function getMultiProvider(customChains, signer) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAKL,aAAa,EACb,aAAa,EACb,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IACjE,GAAG,qBAAqB,CAAC,OAAO;IAChC,GAAG,qBAAqB,CAAC,OAAO;CACjC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACxC,SAAsC,EACtC,MAAoB;IAEpB,6FAA6F;IAC7F,IAAI,8BAA8B,GAAG,uBAAuB,CAAC;IAC7D,IACE,MAAM,EAAE,IAAI,CACV,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjE,EACD,CAAC;QACD,8BAA8B,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxE,SAAS,CACP,CAAkB,EAClB,CAAC,GAAG,EAAE,CAAC,EAAY,EAAE,CAAC,GAAG,KAAK,wBAAwB,CACvD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CACb,8BAA8B,EAC9B,SAAS,IAAI,EAAE,CACc,CAAC;AAClC,CAAC;AA6BD,MAAM,CAAC,KAAK,UAAU,UAAU,CAA4B,EAC1D,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,GACd;IACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAW,CAAC;QAChB,IAAI,SAAS,CAAC,GAAG;YAAE,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;aAClC,IAAI,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;;YAE5D,GAAG,GAAG,MAAM,KAAK,CAAC;gBAChB,OAAO,EACL,SAAS,CAAC,aAAa;oBACvB,oEAAoE;aACvE,CAAC,CAAC;QACL,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,aAAa;YACX,CAAC,MAAM,yBAAyB,CAAC;gBAC/B,aAAa,EAAE,UAAU,CAAC,iBAAiB;gBAC3C,OAAO,EACL,UAAU,CAAC,aAAa;oBACxB,8GAA8G;gBAChH,gBAAgB;aACjB,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE7D,OAAO;QACL,YAAY;QACZ,MAAM;QACN,aAAa;QACb,aAAa;KACO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAqC,EACrC,MAAsB;IAEtB,MAAM,YAAY,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAG1C,OAAO,EAKL,aAAa,EAEb,aAAa,EACb,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,uBAAuB,GAA+B;IACjE,GAAG,qBAAqB,CAAC,OAAO;IAChC,GAAG,qBAAqB,CAAC,OAAO;CACjC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CACxC,SAAsC,EACtC,MAAoB;IAEpB,6FAA6F;IAC7F,IAAI,8BAA8B,GAAG,uBAAuB,CAAC;IAC7D,IACE,MAAM,EAAE,IAAI,CACV,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjE,EACD,CAAC;QACD,8BAA8B,GAAG,MAAM,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxE,SAAS,CACP,CAAkB,EAClB,CAAC,GAAG,EAAE,CAAC,EAAY,EAAE,CAAC,GAAG,KAAK,wBAAwB,CACvD,CACF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CACb,8BAA8B,EAC9B,SAAS,IAAI,EAAE,CACc,CAAC;AAClC,CAAC;AAoCD,MAAM,CAAC,KAAK,UAAU,UAAU,CAA4B,EAC1D,eAAe,EACf,UAAU,EACV,SAAS,EACT,gBAAgB,EAChB,UAAU,GACR;IACF,MAAM,YAAY,GAAG,wBAAwB,CAAC,eAAe,CAAC,CAAC;IAE/D,IAAI,MAAM,GAAG,SAAS,CAAC;IACvB,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,GAAW,CAAC;QAChB,IAAI,SAAS,CAAC,GAAG;YAAE,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC;aAClC,IAAI,gBAAgB;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;;YAE5D,GAAG,GAAG,MAAM,KAAK,CAAC;gBAChB,OAAO,EACL,SAAS,CAAC,aAAa;oBACvB,qEAAqE;aACxE,CAAC,CAAC;QACL,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,aAAa,GAAG,SAAS,CAAC;IAC9B,IAAI,UAAU,EAAE,CAAC;QACf,aAAa;YACX,CAAC,MAAM,yBAAyB,CAAC;gBAC/B,aAAa,EAAE,UAAU,CAAC,iBAAiB;gBAC3C,OAAO,EACL,UAAU,CAAC,aAAa;oBACxB,8GAA8G;gBAChH,gBAAgB;aACjB,CAAC,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,cAAc,GAAG,SAAS,CAAC;IAC/B,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,kCAAkC;YAClC,cAAc,GAAG,MAAM,KAAK,CAAC;gBAC3B,OAAO,EACL,UAAU,CAAC,aAAa;oBACxB,0CAA0C;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,cAAc,GAAG,cAAc,CAAiB,cAAc,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAE7D,OAAO;QACL,YAAY;QACZ,MAAM;QACN,aAAa;QACb,aAAa;QACb,cAAc;KACM,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,YAAqC,EACrC,MAAsB;IAEtB,MAAM,YAAY,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;IAC3D,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,MAAM;QAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAQ5B,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAaA;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IAGf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAsBA;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GACrD,OAAO,CAET;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAQ5B,wBAAsB,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAiBA;AAED,wBAAsB,2BAA2B,CAAC,EAChD,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GACjB,EAAE;IACD,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IAGf,gBAAgB,CAAC,EAAE,SAAS,EAAE,CAAC;CAChC,iBAsBA;AAGD,wBAAgB,WAAW,CACzB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,GACrD,OAAO,CAET;AAGD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAExD"}
@@ -7,8 +7,10 @@ export async function runPreflightChecks({ origin, remotes, signer, multiProvide
7
7
  log('Running pre-flight checks...');
8
8
  if (!origin || !remotes?.length)
9
9
  throw new Error('Invalid chain selection');
10
+ logGreen('Chain selections are valid ✅');
10
11
  if (remotes.includes(origin))
11
12
  throw new Error('Origin and remotes must be distinct');
13
+ logGreen('Origin and remote are distinct ✅');
12
14
  return runPreflightChecksForChains({
13
15
  chains: [origin, ...remotes],
14
16
  signer,
@@ -18,7 +20,7 @@ export async function runPreflightChecks({ origin, remotes, signer, multiProvide
18
20
  });
19
21
  }
20
22
  export async function runPreflightChecksForChains({ chains, signer, multiProvider, minGas, chainsToGasCheck, }) {
21
- log('Running pre-flight checks...');
23
+ log('Running pre-flight checks for chains...');
22
24
  if (!chains?.length)
23
25
  throw new Error('Empty chain selection');
24
26
  for (const chain of chains) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GAQjB;IACC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5E,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,OAAO,2BAA2B,CAAC;QACjC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;QAC5B,MAAM;QACN,aAAa;QACb,MAAM;QACN,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GASjB;IACC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE/B,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE9B,MAAM,iBAAiB,CACrB,aAAa,EACb,MAAM,EACN,gBAAgB,IAAI,MAAM,EAC1B,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AACxC,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,WAAW,CACzB,MAAsD;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/deploy/utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,MAAM,EACN,OAAO,EACP,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GAQjB;IACC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5E,QAAQ,CAAC,8BAA8B,CAAC,CAAC;IAEzC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,QAAQ,CAAC,kCAAkC,CAAC,CAAC;IAE7C,OAAO,2BAA2B,CAAC;QACjC,MAAM,EAAE,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC;QAC5B,MAAM;QACN,aAAa;QACb,MAAM;QACN,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAChD,MAAM,EACN,MAAM,EACN,aAAa,EACb,MAAM,EACN,gBAAgB,GASjB;IACC,GAAG,CAAC,yCAAyC,CAAC,CAAC;IAE/C,IAAI,CAAC,MAAM,EAAE,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,QAAQ,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;YAC7C,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAClE,CAAC;IACD,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAE/B,YAAY,CAAC,MAAM,CAAC,CAAC;IACrB,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAE9B,MAAM,iBAAiB,CACrB,aAAa,EACb,MAAM,EACN,gBAAgB,IAAI,MAAM,EAC1B,MAAM,CACP,CAAC;IACF,QAAQ,CAAC,2BAA2B,CAAC,CAAC;AACxC,CAAC;AAED,oBAAoB;AACpB,MAAM,UAAU,WAAW,CACzB,MAAsD;IAEtD,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,yBAAyB;AACzB,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { confirm, input } from '@inquirer/prompts';
2
2
  import { ethers } from 'ethers';
3
- import { EvmHypCollateralAdapter, HypERC20Deployer, HypERC721Deployer, MultiProtocolProvider, TOKEN_TYPE_TO_STANDARD, TokenType, getTokenConnectionId, } from '@hyperlane-xyz/sdk';
3
+ import { EvmTokenAdapter, HypERC20Deployer, HypERC721Deployer, MultiProtocolProvider, TOKEN_TYPE_TO_STANDARD, TokenType, getTokenConnectionId, } from '@hyperlane-xyz/sdk';
4
4
  import { ProtocolType, objMap } from '@hyperlane-xyz/utils';
5
5
  import { log, logBlue, logGray, logGreen } from '../../logger.js';
6
6
  import { readWarpRouteDeployConfig, } from '../config/warp.js';
@@ -60,7 +60,8 @@ async function runBuildConfigStep({ warpRouteConfig, multiProvider, signer, core
60
60
  const configMap = {
61
61
  [baseChainName]: {
62
62
  type: baseType,
63
- token: baseType === TokenType.collateral
63
+ token: baseType === TokenType.collateral ||
64
+ baseType === TokenType.collateralVault
64
65
  ? base.address
65
66
  : ethers.constants.AddressZero,
66
67
  owner,
@@ -68,7 +69,7 @@ async function runBuildConfigStep({ warpRouteConfig, multiProvider, signer, core
68
69
  interchainSecurityModule: base.interchainSecurityModule ||
69
70
  mergedContractAddrs[baseChainName]?.interchainSecurityModule ||
70
71
  mergedContractAddrs[baseChainName]?.multisigIsm,
71
- // ismFactory: mergedContractAddrs[baseChainName].routingIsmFactory, // TODO fix when updating from routingIsm
72
+ // ismFactory: mergedContractAddrs[baseChainName].domainRoutingIsmFactory, // TODO fix when updating from routingIsm
72
73
  foreignDeployment: base.foreignDeployment,
73
74
  name: baseMetadata.name,
74
75
  symbol: baseMetadata.symbol,
@@ -87,7 +88,7 @@ async function runBuildConfigStep({ warpRouteConfig, multiProvider, signer, core
87
88
  interchainSecurityModule: synthetic.interchainSecurityModule ||
88
89
  mergedContractAddrs[sChainName]?.interchainSecurityModule ||
89
90
  mergedContractAddrs[sChainName]?.multisigIsm,
90
- // ismFactory: mergedContractAddrs[sChainName].routingIsmFactory, // TODO fix
91
+ // ismFactory: mergedContractAddrs[sChainName].domainRoutingIsmFactory, // TODO fix
91
92
  foreignDeployment: synthetic.foreignDeployment,
92
93
  };
93
94
  }
@@ -127,6 +128,7 @@ async function runDeployPlanStep({ configMap, isNft, origin, remotes, signer, sk
127
128
  const baseName = getTokenName(baseToken);
128
129
  logBlue('\nDeployment plan');
129
130
  logGray('===============');
131
+ log(`Collateral type will be ${baseToken.type}`);
130
132
  log(`Transaction signer and owner of new contracts will be ${address}`);
131
133
  log(`Deploying a warp route with a base of ${baseName} token on ${origin}`);
132
134
  log(`Connecting it to new synthetic tokens on ${remotes.join(', ')}`);
@@ -144,7 +146,7 @@ async function executeDeploy(params) {
144
146
  const { configMap, isNft, multiProvider, outPath } = params;
145
147
  const [contractsFilePath, tokenConfigPath] = prepNewArtifactsFiles(outPath, [
146
148
  { filename: 'warp-route-deployment', description: 'Contract addresses' },
147
- { filename: 'warp-ui-token-config', description: 'Warp UI token config' },
149
+ { filename: 'warp-config', description: 'Warp config' },
148
150
  ]);
149
151
  const deployer = isNft
150
152
  ? new HypERC721Deployer(multiProvider)
@@ -156,7 +158,7 @@ async function executeDeploy(params) {
156
158
  writeWarpUiTokenConfig(tokenConfigPath, deployedContracts, params);
157
159
  logBlue('Deployment is complete!');
158
160
  logBlue(`Contract address artifacts are in ${contractsFilePath}`);
159
- logBlue(`Warp UI token config is in ${tokenConfigPath}`);
161
+ logBlue(`Warp config is in ${tokenConfigPath}`);
160
162
  }
161
163
  async function fetchBaseTokenMetadata(base, multiProvider) {
162
164
  const { type, name, symbol, chainName, address, decimals } = base;
@@ -172,14 +174,15 @@ async function fetchBaseTokenMetadata(base, multiProvider) {
172
174
  else
173
175
  throw new Error(`No native token metadata for ${chainName}`);
174
176
  }
175
- else if (base.type === TokenType.collateral && address) {
177
+ else if (base.type === TokenType.collateralVault ||
178
+ (base.type === TokenType.collateral && address)) {
176
179
  // If it's a collateral type, use a TokenAdapter to query for its metadata
177
180
  log(`Fetching token metadata for ${address} on ${chainName}}`);
178
- const adapter = new EvmHypCollateralAdapter(chainName, MultiProtocolProvider.fromMultiProvider(multiProvider), { token: address });
181
+ const adapter = new EvmTokenAdapter(chainName, MultiProtocolProvider.fromMultiProvider(multiProvider), { token: address });
179
182
  return adapter.getMetadata();
180
183
  }
181
184
  else {
182
- throw new Error(`Unsupported token: ${base}. Consider setting token metadata in your deployment config.`);
185
+ throw new Error(`Unsupported token: ${base.type}. Consider setting token metadata in your deployment config.`);
183
186
  }
184
187
  }
185
188
  function getTokenName(token) {
@@ -188,7 +191,7 @@ function getTokenName(token) {
188
191
  function writeTokenDeploymentArtifacts(filePath, contracts, { configMap }) {
189
192
  const artifacts = objMap(contracts, (chain, contract) => {
190
193
  return {
191
- router: contract.router.address,
194
+ router: contract[configMap[chain].type].address,
192
195
  tokenType: configMap[chain].type,
193
196
  };
194
197
  });
@@ -206,7 +209,7 @@ function writeWarpUiTokenConfig(filePath, contracts, { configMap, metadata }) {
206
209
  name: metadata.name,
207
210
  symbol: metadata.symbol,
208
211
  decimals: metadata.decimals,
209
- addressOrDenom: contract.router.address,
212
+ addressOrDenom: contract[configMap[chainName].type].address,
210
213
  collateralAddressOrDenom,
211
214
  });
212
215
  }
@@ -1 +1 @@
1
- {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"warp.js","sourceRoot":"","sources":["../../../src/deploy/warp.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { ChainName } from '@hyperlane-xyz/sdk';
2
2
  import { Address } from '@hyperlane-xyz/utils';
3
- export declare function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath, origin, destination, routerAddress, wei, recipient, timeoutSec, skipWaitForDelivery, }: {
3
+ export declare function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath, warpConfigPath, origin, destination, routerAddress, wei, recipient, timeoutSec, skipWaitForDelivery, }: {
4
4
  key: string;
5
5
  chainConfigPath: string;
6
6
  coreArtifactsPath?: string;
7
+ warpConfigPath: string;
7
8
  origin?: ChainName;
8
9
  destination?: ChainName;
9
10
  routerAddress?: Address;
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,SAAS,EAUV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAW,MAAM,sBAAsB,CAAC;AASxD,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,eAAe,EACf,iBAAiB,EACjB,MAAM,EACN,WAAW,EACX,aAAa,EACb,GAAG,EACH,SAAS,EACT,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,iBA4FA"}
1
+ {"version":3,"file":"transfer.d.ts","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EASV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAW,MAAM,sBAAsB,CAAC;AAQxD,wBAAsB,gBAAgB,CAAC,EACrC,GAAG,EACH,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,MAAM,EACN,WAAW,EACX,aAAa,EACb,GAAG,EACH,SAAS,EACT,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;CAC9B,iBAgDA"}
@@ -1,19 +1,17 @@
1
- import { input } from '@inquirer/prompts';
2
- import { ethers } from 'ethers';
3
- import { ERC20__factory, HypERC20Collateral__factory, HypERC20__factory, } from '@hyperlane-xyz/core';
4
- import { EvmHypCollateralAdapter, EvmHypNativeAdapter, EvmHypSyntheticAdapter, HyperlaneCore, MultiProtocolProvider, TokenType, } from '@hyperlane-xyz/sdk';
1
+ import { select } from '@inquirer/prompts';
2
+ import { HyperlaneCore, MultiProtocolProvider, ProviderType, TokenAmount, WarpCore, } from '@hyperlane-xyz/sdk';
5
3
  import { timeout } from '@hyperlane-xyz/utils';
6
- import { log, logBlue, logGreen } from '../../logger.js';
4
+ import { logBlue, logGreen, logRed } from '../../logger.js';
7
5
  import { MINIMUM_TEST_SEND_GAS } from '../consts.js';
8
6
  import { getContext, getMergedContractAddresses } from '../context.js';
9
7
  import { runPreflightChecks } from '../deploy/utils.js';
10
- import { assertNativeBalances, assertTokenBalance } from '../utils/balances.js';
11
8
  import { runSingleChainSelectionStep } from '../utils/chains.js';
12
- export async function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath, origin, destination, routerAddress, wei, recipient, timeoutSec, skipWaitForDelivery, }) {
13
- const { signer, multiProvider, customChains, coreArtifacts } = await getContext({
9
+ export async function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath, warpConfigPath, origin, destination, routerAddress, wei, recipient, timeoutSec, skipWaitForDelivery, }) {
10
+ const { signer, multiProvider, customChains, coreArtifacts, warpCoreConfig } = await getContext({
14
11
  chainConfigPath,
15
12
  coreConfig: { coreArtifactsPath },
16
13
  keyConfig: { key },
14
+ warpConfig: { warpConfigPath },
17
15
  });
18
16
  if (!origin) {
19
17
  origin = await runSingleChainSelectionStep(customChains, 'Select the origin chain');
@@ -21,42 +19,6 @@ export async function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath
21
19
  if (!destination) {
22
20
  destination = await runSingleChainSelectionStep(customChains, 'Select the destination chain');
23
21
  }
24
- if (!routerAddress) {
25
- routerAddress = await input({
26
- message: 'Please specify the router address',
27
- });
28
- }
29
- // TODO: move to SDK token router app
30
- // deduce TokenType
31
- // 1. decimals() call implies synthetic
32
- // 2. wrappedToken() call implies collateral
33
- // 3. if neither, it's native
34
- let tokenAddress;
35
- let tokenType;
36
- const provider = multiProvider.getProvider(origin);
37
- try {
38
- const synthRouter = HypERC20__factory.connect(routerAddress, provider);
39
- await synthRouter.decimals();
40
- tokenType = TokenType.synthetic;
41
- tokenAddress = routerAddress;
42
- }
43
- catch (error) {
44
- try {
45
- const collateralRouter = HypERC20Collateral__factory.connect(routerAddress, provider);
46
- tokenAddress = await collateralRouter.wrappedToken();
47
- tokenType = TokenType.collateral;
48
- }
49
- catch (error) {
50
- tokenType = TokenType.native;
51
- }
52
- }
53
- if (tokenAddress) {
54
- // checks token balances for collateral and synthetic
55
- await assertTokenBalance(multiProvider, signer, origin, tokenAddress, wei.toString());
56
- }
57
- else {
58
- await assertNativeBalances(multiProvider, signer, [origin], wei.toString());
59
- }
60
22
  await runPreflightChecks({
61
23
  origin,
62
24
  remotes: [destination],
@@ -68,8 +30,8 @@ export async function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath
68
30
  await timeout(executeDelivery({
69
31
  origin,
70
32
  destination,
33
+ warpCoreConfig,
71
34
  routerAddress,
72
- tokenType,
73
35
  wei,
74
36
  recipient,
75
37
  signer,
@@ -78,74 +40,69 @@ export async function sendTestTransfer({ key, chainConfigPath, coreArtifactsPath
78
40
  skipWaitForDelivery,
79
41
  }), timeoutSec * 1000, 'Timed out waiting for messages to be delivered');
80
42
  }
81
- async function executeDelivery({ origin, destination, routerAddress, tokenType, wei, recipient, multiProvider, signer, coreArtifacts, skipWaitForDelivery, }) {
43
+ async function executeDelivery({ origin, destination, warpCoreConfig, routerAddress, wei, recipient, multiProvider, signer, coreArtifacts, skipWaitForDelivery, }) {
82
44
  const signerAddress = await signer.getAddress();
83
45
  recipient || (recipient = signerAddress);
84
46
  const mergedContractAddrs = getMergedContractAddresses(coreArtifacts);
85
47
  const core = HyperlaneCore.fromAddressesMap(mergedContractAddrs, multiProvider);
86
48
  const provider = multiProvider.getProvider(origin);
87
49
  const connectedSigner = signer.connect(provider);
88
- // TODO replace all code below with WarpCore
89
- // https://github.com/hyperlane-xyz/hyperlane-monorepo/issues/3259
90
- if (tokenType === TokenType.collateral) {
91
- const wrappedToken = await getWrappedToken(routerAddress, provider);
92
- const token = ERC20__factory.connect(wrappedToken, connectedSigner);
93
- const approval = await token.allowance(signerAddress, routerAddress);
94
- if (approval.lt(wei)) {
95
- const approveTx = await token.approve(routerAddress, wei);
96
- await approveTx.wait();
50
+ const warpCore = WarpCore.FromConfig(MultiProtocolProvider.fromMultiProvider(multiProvider), warpCoreConfig);
51
+ if (!routerAddress) {
52
+ const tokensForRoute = warpCore.getTokensForRoute(origin, destination);
53
+ if (tokensForRoute.length === 0) {
54
+ logRed(`No Warp Routes found from ${origin} to ${destination}`);
55
+ throw new Error('Error finding warp route');
97
56
  }
57
+ routerAddress = (await select({
58
+ message: `Select router address`,
59
+ choices: [
60
+ ...tokensForRoute.map((t) => ({
61
+ value: t.addressOrDenom,
62
+ description: `${t.name} ($${t.symbol})`,
63
+ })),
64
+ ],
65
+ pageSize: 10,
66
+ }));
98
67
  }
99
- let adapter;
100
- const multiProtocolProvider = MultiProtocolProvider.fromMultiProvider(multiProvider);
101
- if (tokenType === TokenType.native) {
102
- adapter = new EvmHypNativeAdapter(origin, multiProtocolProvider, {
103
- token: routerAddress,
104
- });
68
+ const token = warpCore.findToken(origin, routerAddress);
69
+ if (!token) {
70
+ logRed(`No Warp Routes found from ${origin} to ${destination} with router address ${routerAddress}`);
71
+ throw new Error('Error finding warp route');
105
72
  }
106
- else if (tokenType === TokenType.collateral) {
107
- adapter = new EvmHypCollateralAdapter(origin, multiProtocolProvider, {
108
- token: routerAddress,
109
- });
73
+ const senderAddress = await signer.getAddress();
74
+ const errors = await warpCore.validateTransfer({
75
+ originTokenAmount: token.amount(wei),
76
+ destination,
77
+ recipient: recipient ?? senderAddress,
78
+ sender: senderAddress,
79
+ });
80
+ if (errors) {
81
+ logRed('Unable to validate transfer', errors);
82
+ throw new Error('Error validating transfer');
110
83
  }
111
- else {
112
- adapter = new EvmHypSyntheticAdapter(origin, multiProtocolProvider, {
113
- token: routerAddress,
114
- });
84
+ const transferTxs = await warpCore.getTransferRemoteTxs({
85
+ originTokenAmount: new TokenAmount(wei, token),
86
+ destination,
87
+ sender: senderAddress,
88
+ recipient: recipient ?? senderAddress,
89
+ });
90
+ const txReceipts = [];
91
+ for (const tx of transferTxs) {
92
+ if (tx.type === ProviderType.EthersV5) {
93
+ const txResponse = await connectedSigner.sendTransaction(tx.transaction);
94
+ const txReceipt = await multiProvider.handleTx(origin, txResponse);
95
+ txReceipts.push(txReceipt);
96
+ }
115
97
  }
116
- const destinationDomain = multiProvider.getDomainId(destination);
117
- log('Fetching interchain gas quote');
118
- const interchainGas = await adapter.quoteTransferRemoteGas(destinationDomain);
119
- log('Interchain gas quote:', interchainGas);
120
- const transferTx = (await adapter.populateTransferRemoteTx({
121
- weiAmountOrId: wei,
122
- destination: destinationDomain,
123
- recipient,
124
- interchainGas,
125
- }));
126
- const txResponse = await connectedSigner.sendTransaction(transferTx);
127
- const txReceipt = await multiProvider.handleTx(origin, txResponse);
128
- const message = core.getDispatchedMessages(txReceipt)[0];
98
+ const transferTxReceipt = txReceipts[txReceipts.length - 1];
99
+ const message = core.getDispatchedMessages(transferTxReceipt)[0];
129
100
  logBlue(`Sent message from ${origin} to ${recipient} on ${destination}.`);
130
101
  logBlue(`Message ID: ${message.id}`);
131
102
  if (skipWaitForDelivery)
132
103
  return;
133
104
  // Max wait 10 minutes
134
- await core.waitForMessageProcessed(txReceipt, 10000, 60);
105
+ await core.waitForMessageProcessed(transferTxReceipt, 10000, 60);
135
106
  logGreen(`Transfer sent to destination chain!`);
136
107
  }
137
- async function getWrappedToken(address, provider) {
138
- try {
139
- const contract = HypERC20Collateral__factory.connect(address, provider);
140
- const wrappedToken = await contract.wrappedToken();
141
- if (ethers.utils.isAddress(wrappedToken))
142
- return wrappedToken;
143
- else
144
- throw new Error('Invalid wrapped token address');
145
- }
146
- catch (error) {
147
- log('Error getting wrapped token', error);
148
- throw new Error(`Could not get wrapped token from router address ${address}`);
149
- }
150
- }
151
108
  //# sourceMappingURL=transfer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../../src/send/transfer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deployTestErc20.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployTestErc20.d.ts","sourceRoot":"","sources":["../../../src/tests/deployTestErc20.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import { Wallet, providers } from 'ethers';
2
+ import fs from 'fs';
3
+ import { ERC20Test__factory } from '@hyperlane-xyz/core';
4
+ import { TokenType } from '@hyperlane-xyz/sdk';
5
+ async function deployERC20() {
6
+ const [rpcUrl, chain1, chain2, privateKey, outPath] = process.argv.slice(2);
7
+ console.log('Deploying Test ERC20 contract to local node');
8
+ const provider = new providers.JsonRpcProvider(rpcUrl);
9
+ const signer = new Wallet(privateKey, provider);
10
+ const factory = new ERC20Test__factory(signer);
11
+ const contract = await factory.deploy('fake', 'FAKE', '100000000000000000000', 18);
12
+ await contract.deployed();
13
+ console.log('Test ERC20 contract deployed', contract.address);
14
+ const warpDeploymentConfig = {
15
+ base: {
16
+ chainName: chain1,
17
+ type: TokenType.collateral,
18
+ address: contract.address,
19
+ },
20
+ synthetics: [{ chainName: chain2 }],
21
+ };
22
+ console.log('Writing deployment config to', outPath);
23
+ fs.writeFileSync(outPath, JSON.stringify(warpDeploymentConfig, null, 2));
24
+ }
25
+ deployERC20().catch(console.error);
26
+ //# sourceMappingURL=deployTestErc20.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployTestErc20.js","sourceRoot":"","sources":["../../../src/tests/deployTestErc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,KAAK,UAAU,WAAW;IACxB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CACnC,MAAM,EACN,MAAM,EACN,uBAAuB,EACvB,EAAE,CACH,CAAC;IACF,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE9D,MAAM,oBAAoB,GAA0B;QAClD,IAAI,EAAE;YACJ,SAAS,EAAE,MAAM;YACjB,IAAI,EAAE,SAAS,CAAC,UAAU;YAC1B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B;QACD,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;KACpC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,8BAA8B,EAAE,OAAO,CAAC,CAAC;IACrD,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,WAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -1,7 +1,5 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { ChainName, MultiProvider } from '@hyperlane-xyz/sdk';
3
- import { Address } from '@hyperlane-xyz/utils';
4
3
  export declare function assertNativeBalances(multiProvider: MultiProvider, signer: ethers.Signer, chains: ChainName[], minBalanceWei: string): Promise<void>;
5
4
  export declare function assertGasBalances(multiProvider: MultiProvider, signer: ethers.Signer, chains: ChainName[], minGas: string): Promise<void>;
6
- export declare function assertTokenBalance(multiProvider: MultiProvider, signer: ethers.Signer, chain: ChainName, token: Address, minBalanceWei: string): Promise<void>;
7
5
  //# sourceMappingURL=balances.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,aAAa,EAAE,MAAM,iBAqBtB;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,iBAUf;AAED,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,OAAO,EACd,aAAa,EAAE,MAAM,iBAUtB"}
1
+ {"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,aAAa,EAAE,MAAM,iBAqBtB;AAED,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,iBAUf"}
@@ -1,6 +1,5 @@
1
1
  import { confirm } from '@inquirer/prompts';
2
2
  import { ethers } from 'ethers';
3
- import { ERC20__factory } from '@hyperlane-xyz/core';
4
3
  export async function assertNativeBalances(multiProvider, signer, chains, minBalanceWei) {
5
4
  const address = await signer.getAddress();
6
5
  const minBalance = ethers.utils.formatEther(minBalanceWei.toString());
@@ -28,12 +27,4 @@ export async function assertGasBalances(multiProvider, signer, chains, minGas) {
28
27
  await assertNativeBalances(multiProvider, signer, [chain], minBalanceWei);
29
28
  }));
30
29
  }
31
- export async function assertTokenBalance(multiProvider, signer, chain, token, minBalanceWei) {
32
- const address = await signer.getAddress();
33
- const provider = multiProvider.getProvider(chain);
34
- const tokenContract = ERC20__factory.connect(token, provider);
35
- const balanceWei = await tokenContract.balanceOf(address);
36
- if (balanceWei.lt(minBalanceWei))
37
- throw new Error(`${address} has insufficient balance on ${chain} for token ${token}. At least ${minBalanceWei} wei required but found ${balanceWei.toString()} wei`);
38
- }
39
30
  //# sourceMappingURL=balances.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,aAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,MAAM,aAAa;aACnC,WAAW,CAAC,KAAK,CAAC;aAClB,UAAU,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GACV,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC;YACrE,MAAM,KAAK,GAAG,GAAG,OAAO,uBAAuB,KAAK,cAAc,UAAU,0BAA0B,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;YACrI,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC7B,OAAO,EAAE,YAAY,KAAK,YAAY;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,MAAc;IAEd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAA4B,EAC5B,MAAqB,EACrB,KAAgB,EAChB,KAAc,EACd,aAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1D,IAAI,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,gCAAgC,KAAK,cAAc,KAAK,cAAc,aAAa,2BAA2B,UAAU,CAAC,QAAQ,EAAE,MAAM,CACpJ,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/utils/balances.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,aAAqB;IAErB,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,UAAU,GAAG,MAAM,aAAa;aACnC,WAAW,CAAC,KAAK,CAAC;aAClB,UAAU,CAAC,OAAO,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,GACV,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,MAAM,IAAI,KAAK,CAAC;YACrE,MAAM,KAAK,GAAG,GAAG,OAAO,uBAAuB,KAAK,cAAc,UAAU,0BAA0B,OAAO,CAAC,QAAQ,EAAE,IAAI,MAAM,EAAE,CAAC;YACrI,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC;gBAC7B,OAAO,EAAE,YAAY,KAAK,YAAY;aACvC,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,MAAc;IAEd,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QACtD,MAAM,oBAAoB,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC;IAC5E,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "3.8.1";
1
+ export declare const VERSION = "3.9.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,2 +1,2 @@
1
- export const VERSION = '3.8.1';
1
+ export const VERSION = '3.9.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -12,9 +12,9 @@ anvil1:
12
12
  multisigIsm: '0x9bDE63104EE030d9De419EEd6bA7D14b86D6fE3f'
13
13
  testRecipient: '0x36FdA966CfffF8a9Cdc814f546db0e6378bFef35'
14
14
  interchainAccountIsm: '0x5e8ee6840caa4f367aff1FF28aA36D5B1b836d35'
15
- aggregationIsmFactory: '0xc864fa3B662613cA5051f41e157d0a997f9a5A87'
16
- routingIsmFactory: '0x1fdfD1486b8339638C6b92f8a96D698D8182D2b1'
15
+ staticAggregationIsmFactory: '0xc864fa3B662613cA5051f41e157d0a997f9a5A87'
16
+ domainRoutingIsmFactory: '0x1fdfD1486b8339638C6b92f8a96D698D8182D2b1'
17
17
  interchainQueryRouter: '0xA837e38C3F7D509DF3a7a0fCf65E3814DB6c2618'
18
18
  interchainAccountRouter: '0x9521291A43ebA3aD3FD24d610F4b7F7543C8d761'
19
- merkleRootMultisigIsmFactory: '0x82140b2ddAd4E4dd7e1D6757Fb5F9485c230B79d'
20
- messageIdMultisigIsmFactory: '0x1079056da3EC7D55521F27e1E094015C0d39Cc65'
19
+ staticMerkleRootMultisigIsmFactory: '0x82140b2ddAd4E4dd7e1D6757Fb5F9485c230B79d'
20
+ staticMessageIdMultisigIsmFactory: '0x1079056da3EC7D55521F27e1E094015C0d39Cc65'
@@ -4,6 +4,7 @@
4
4
  # Token Types:
5
5
  # native
6
6
  # collateral
7
+ # collateralVault
7
8
  # synthetic
8
9
  # collateralUri
9
10
  # syntheticUri
@@ -13,7 +14,7 @@
13
14
  base:
14
15
  chainName: anvil1
15
16
  type: native
16
- # address: 0x123... # Required for collateral types
17
+ # address: 0x123... # Required for collateral types. For collateralVault types, specifies the ERC4626 vault to deposit collateral into
17
18
  # isNft: true # If the token is an NFT (ERC721), set to true
18
19
  # owner: 0x123 # Optional owner address for synthetic token
19
20
  # mailbox: 0x123 # Optional mailbox address route
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@hyperlane-xyz/cli",
3
- "version": "3.8.1",
3
+ "version": "3.9.0",
4
4
  "description": "A command-line utility for common Hyperlane operations",
5
5
  "dependencies": {
6
- "@hyperlane-xyz/sdk": "3.8.1",
7
- "@hyperlane-xyz/utils": "3.8.1",
6
+ "@hyperlane-xyz/sdk": "3.9.0",
7
+ "@hyperlane-xyz/utils": "3.9.0",
8
8
  "@inquirer/prompts": "^3.0.0",
9
9
  "bignumber.js": "^9.1.1",
10
10
  "chalk": "^5.3.0",
11
11
  "ethers": "^5.7.2",
12
12
  "latest-version": "^8.0.0",
13
13
  "terminal-link": "^3.0.0",
14
+ "tsx": "^4.7.1",
14
15
  "yaml": "^2.3.1",
15
16
  "yargs": "^17.7.2",
16
17
  "zod": "^3.21.2"