@hyperlane-xyz/sdk 1.1.2 → 1.1.4

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 (64) hide show
  1. package/README.md +2 -2
  2. package/dist/consts/chainMetadata.d.ts +2 -1
  3. package/dist/consts/chainMetadata.d.ts.map +1 -1
  4. package/dist/consts/chainMetadata.js +38 -19
  5. package/dist/consts/chainMetadata.js.map +1 -1
  6. package/dist/consts/chains.d.ts +5 -4
  7. package/dist/consts/chains.d.ts.map +1 -1
  8. package/dist/consts/chains.js +2 -0
  9. package/dist/consts/chains.js.map +1 -1
  10. package/dist/consts/environments/index.d.ts +17 -0
  11. package/dist/consts/environments/index.d.ts.map +1 -1
  12. package/dist/consts/environments/mainnet.json +17 -0
  13. package/dist/core/HyperlaneCore.d.ts +17 -0
  14. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  15. package/dist/deploy/HyperlaneAppChecker.d.ts +2 -0
  16. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  17. package/dist/deploy/HyperlaneAppChecker.js +28 -5
  18. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  19. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +2 -0
  20. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
  21. package/dist/deploy/core/HyperlaneCoreChecker.js +58 -4
  22. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
  23. package/dist/deploy/core/HyperlaneCoreDeployer.js +6 -4
  24. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
  25. package/dist/deploy/core/types.d.ts +9 -1
  26. package/dist/deploy/core/types.d.ts.map +1 -1
  27. package/dist/deploy/core/types.js +1 -0
  28. package/dist/deploy/core/types.js.map +1 -1
  29. package/dist/deploy/router/GasRouterDeployer.d.ts +12 -0
  30. package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -0
  31. package/dist/deploy/router/GasRouterDeployer.js +49 -0
  32. package/dist/deploy/router/GasRouterDeployer.js.map +1 -0
  33. package/dist/deploy/router/HyperlaneRouterDeployer.js +1 -1
  34. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
  35. package/dist/deploy/router/types.d.ts +5 -0
  36. package/dist/deploy/router/types.d.ts.map +1 -1
  37. package/dist/deploy/types.d.ts +6 -1
  38. package/dist/deploy/types.d.ts.map +1 -1
  39. package/dist/deploy/types.js +1 -0
  40. package/dist/deploy/types.js.map +1 -1
  41. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  42. package/dist/deploy/verify/ContractVerifier.js +23 -11
  43. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  44. package/dist/domains.d.ts +1 -1
  45. package/dist/domains.d.ts.map +1 -1
  46. package/dist/index.d.ts +4 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +9 -2
  49. package/dist/index.js.map +1 -1
  50. package/dist/middleware/accounts.hardhat-test.js +10 -6
  51. package/dist/middleware/accounts.hardhat-test.js.map +1 -1
  52. package/dist/middleware/queries.hardhat-test.js +10 -7
  53. package/dist/middleware/queries.hardhat-test.js.map +1 -1
  54. package/dist/router.d.ts +11 -2
  55. package/dist/router.d.ts.map +1 -1
  56. package/dist/router.js +29 -0
  57. package/dist/router.js.map +1 -1
  58. package/dist/utils/wagmi.d.ts +4 -0
  59. package/dist/utils/wagmi.d.ts.map +1 -0
  60. package/dist/utils/wagmi.js +27 -0
  61. package/dist/utils/wagmi.js.map +1 -0
  62. package/logos/black/gnosis.svg +1 -0
  63. package/logos/color/gnosis.svg +1 -0
  64. package/package.json +4 -4
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  The Hyperlane SDK helps developers create and manage interchain applications.
4
4
 
5
- For details on how to use the various abstractions and utilities, [see the documentation](https://docs.hyperlane.xyz/hyperlane-docs-1/developers/building-applications)
5
+ For details on how to use the various abstractions and utilities, [see the documentation](https://docs.hyperlane.xyz/docs/sdks/building-applications)
6
6
 
7
7
  ## Install
8
8
 
@@ -16,7 +16,7 @@ The names and relevant metadata for all Hyperlane-supported chains are included
16
16
 
17
17
  ### Deployment, testing, and development classes
18
18
 
19
- Classes for deploying, testing, and building applications using Hyperlane are included in the SDK. See [the docs](https://docs.hyperlane.xyz/hyperlane-docs-1/developers/building-applications/nodejs-sdk) for details.
19
+ Classes for deploying, testing, and building applications using Hyperlane are included in the SDK. See [the docs](https://docs.hyperlane.xyz/docs/sdks/building-applications/nodejs-sdk) for details.
20
20
 
21
21
  ### Chain Logos
22
22
 
@@ -66,6 +66,7 @@ export declare const mumbai: ChainMetadata;
66
66
  export declare const optimism: ChainMetadata;
67
67
  export declare const optimismgoerli: ChainMetadata;
68
68
  export declare const polygon: ChainMetadata;
69
+ export declare const gnosis: ChainMetadata;
69
70
  export declare const test1: ChainMetadata;
70
71
  export declare const test2: ChainMetadata;
71
72
  export declare const test3: ChainMetadata;
@@ -75,7 +76,7 @@ export declare const test3: ChainMetadata;
75
76
  * NOTE: When adding chains here, consider also adding the
76
77
  * corresponding chain logo images in the /sdk/logos/* folders
77
78
  */
78
- export declare const chainMetadata: Record<"polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "test1" | "test2" | "test3", ChainMetadata>;
79
+ export declare const chainMetadata: Record<"polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "gnosis" | "test1" | "test2" | "test3", ChainMetadata>;
79
80
  export declare const wagmiChainMetadata: Record<ChainName, WagmiChain>;
80
81
  export declare const chainIdToMetadata: Record<number, ChainMetadata>;
81
82
  export declare const mainnetChainsMetadata: Array<ChainMetadata>;
@@ -1 +1 @@
1
- {"version":3,"file":"chainMetadata.d.ts","sourceRoot":"","sources":["../../src/consts/chainMetadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chainMetadata.d.ts","sourceRoot":"","sources":["../../src/consts/chainMetadata.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.partialChainMetadata = exports.testnetChainsMetadata = exports.mainnetChainsMetadata = exports.chainIdToMetadata = exports.wagmiChainMetadata = exports.chainMetadata = exports.test3 = exports.test2 = exports.test1 = exports.polygon = exports.optimismgoerli = exports.optimism = exports.mumbai = exports.moonbeam = exports.moonbasealpha = exports.goerli = exports.fuji = exports.ethereum = exports.celo = exports.bsctestnet = exports.bsc = exports.avalanche = exports.arbitrumgoerli = exports.arbitrum = exports.alfajores = exports.ExplorerFamily = void 0;
3
+ exports.partialChainMetadata = exports.testnetChainsMetadata = exports.mainnetChainsMetadata = exports.chainIdToMetadata = exports.wagmiChainMetadata = exports.chainMetadata = exports.test3 = exports.test2 = exports.test1 = exports.gnosis = exports.polygon = exports.optimismgoerli = exports.optimism = exports.mumbai = exports.moonbeam = exports.moonbasealpha = exports.goerli = exports.fuji = exports.ethereum = exports.celo = exports.bsctestnet = exports.bsc = exports.avalanche = exports.arbitrumgoerli = exports.arbitrum = exports.alfajores = exports.ExplorerFamily = void 0;
4
4
  const objects_1 = require("../utils/objects");
5
+ const wagmi_1 = require("../utils/wagmi");
5
6
  const chains_1 = require("./chains");
6
7
  var ExplorerFamily;
7
8
  (function (ExplorerFamily) {
@@ -29,6 +30,7 @@ const celoToken = {
29
30
  };
30
31
  const etherToken = { name: 'Ether', symbol: 'ETH', decimals: 18 };
31
32
  const maticToken = { name: 'MATIC', symbol: 'MATIC', decimals: 18 };
33
+ const xDaiToken = { name: 'xDai', symbol: 'xDai', decimals: 18 };
32
34
  /**
33
35
  * Chain metadata
34
36
  */
@@ -223,7 +225,7 @@ exports.ethereum = {
223
225
  ],
224
226
  blocks: {
225
227
  confirmations: 7,
226
- reorgPeriod: 20,
228
+ reorgPeriod: 14,
227
229
  estimateBlockTime: 13,
228
230
  },
229
231
  gnosisSafeTransactionServiceUrl: 'https://safe-transaction.gnosis.io',
@@ -254,8 +256,9 @@ exports.goerli = {
254
256
  displayName: 'Goerli',
255
257
  nativeToken: etherToken,
256
258
  publicRpcUrls: [
257
- { http: 'https://eth-goerli.public.blastapi.io' },
259
+ { http: 'https://endpoints.omniatech.io/v1/eth/goerli/public' },
258
260
  { http: 'https://rpc.ankr.com/eth_goerli' },
261
+ { http: 'https://eth-goerli.public.blastapi.io' },
259
262
  ],
260
263
  blockExplorers: [
261
264
  {
@@ -428,6 +431,36 @@ exports.polygon = {
428
431
  gasCurrencyCoinGeckoId: 'matic-network',
429
432
  gnosisSafeTransactionServiceUrl: 'https://safe-transaction.polygon.gnosis.io/',
430
433
  };
434
+ exports.gnosis = {
435
+ id: 100,
436
+ name: chains_1.Chains.gnosis,
437
+ displayName: 'Gnosis',
438
+ nativeToken: xDaiToken,
439
+ publicRpcUrls: [
440
+ {
441
+ http: 'https://rpc.gnosischain.com',
442
+ pagination: {
443
+ blocks: 10000,
444
+ from: 25997478,
445
+ },
446
+ },
447
+ ],
448
+ blockExplorers: [
449
+ {
450
+ name: 'GnosisScan',
451
+ url: 'https://gnosisscan.io',
452
+ apiUrl: 'https://api.gnosisscan.io',
453
+ family: ExplorerFamily.Etherscan,
454
+ },
455
+ ],
456
+ blocks: {
457
+ confirmations: 1,
458
+ reorgPeriod: 14,
459
+ estimateBlockTime: 5,
460
+ },
461
+ gasCurrencyCoinGeckoId: 'xdai',
462
+ gnosisSafeTransactionServiceUrl: 'https://safe-transaction.xdai.gnosis.io/',
463
+ };
431
464
  exports.test1 = {
432
465
  id: 13371,
433
466
  name: chains_1.Chains.test1,
@@ -490,27 +523,13 @@ exports.chainMetadata = {
490
523
  optimism: exports.optimism,
491
524
  optimismgoerli: exports.optimismgoerli,
492
525
  polygon: exports.polygon,
526
+ gnosis: exports.gnosis,
493
527
  test1: exports.test1,
494
528
  test2: exports.test2,
495
529
  test3: exports.test3,
496
530
  };
497
531
  // For convenient use in wagmi-based apps
498
- exports.wagmiChainMetadata = (0, objects_1.objMap)(exports.chainMetadata, (_, metadata) => ({
499
- id: metadata.id,
500
- name: metadata.displayName,
501
- network: metadata.name,
502
- nativeCurrency: metadata.nativeToken,
503
- rpcUrls: { default: { http: [metadata.publicRpcUrls[0].http] } },
504
- blockExplorers: metadata.blockExplorers.length
505
- ? {
506
- default: {
507
- name: metadata.blockExplorers[0].name,
508
- url: metadata.blockExplorers[0].url,
509
- },
510
- }
511
- : undefined,
512
- testnet: chains_1.Testnets.includes(metadata.name),
513
- }));
532
+ exports.wagmiChainMetadata = (0, objects_1.objMap)(exports.chainMetadata, (_, metadata) => (0, wagmi_1.chainMetadataToWagmiChain)(metadata));
514
533
  exports.chainIdToMetadata = Object.values(exports.chainMetadata).reduce((result, chain) => {
515
534
  result[chain.id] = chain;
516
535
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"chainMetadata.js","sourceRoot":"","sources":["../../src/consts/chainMetadata.ts"],"names":[],"mappings":";;;AAEA,8CAA0C;AAE1C,qCAAiE;AAEjE,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,yCAAuB,CAAA;IACvB,2CAAyB,CAAA;IACzB,iCAAe,CAAA;AACjB,CAAC,EAJW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAIzB;AAoDD;;GAEG;AACH,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,WAAW;IACjB,MAAM,EAAE,MAAM;CACf,CAAC;AACF,MAAM,QAAQ,GAAG;IACf,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,KAAK;IACX,MAAM,EAAE,KAAK;CACd,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,QAAQ,EAAE,EAAE;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,MAAM;CACf,CAAC;AACF,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAClE,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEpE;;GAEG;AAEU,QAAA,SAAS,GAAkB;IACtC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,SAAS;IACtB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC;IACrE,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,+BAA+B;YACpC,MAAM,EAAE,oCAAoC;YAC5C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,qCAAqC;YAC1C,MAAM,EAAE,cAAc,CAAC,UAAU;SAClC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAkB;IACrC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;IACzD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;IACD,sBAAsB,EAAE,UAAU;IAClC,+BAA+B,EAC7B,8CAA8C;CACjD,CAAC;AAEW,QAAA,cAAc,GAAkB;IAC3C,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,eAAM,CAAC,cAAc;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,uCAAuC,EAAE,CAAC;IAClE,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,gCAAgC;YACxC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,SAAS,GAAkB;IACtC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,SAAS;IACtB,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,uCAAuC;YAC7C,UAAU,EAAE;gBACV,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,OAAO;aACd;SACF;KACF;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,sBAAsB;YAC3B,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;IACD,sBAAsB,EAAE,aAAa;IACrC,+BAA+B,EAC7B,+CAA+C;CAClD,CAAC;AAEW,QAAA,GAAG,GAAkB;IAChC,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,eAAM,CAAC,GAAG;IAChB,WAAW,EAAE,qBAAqB;IAClC,gBAAgB,EAAE,SAAS;IAC3B,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE;QACb,EAAE,IAAI,EAAE,kCAAkC,EAAE;QAC5C,EAAE,IAAI,EAAE,0BAA0B,EAAE;KACrC;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,CAAC;KACrB;IACD,sBAAsB,EAAE,aAAa;IACrC,+BAA+B,EAAE,yCAAyC;CAC3E,CAAC;AAEW,QAAA,UAAU,GAAkB;IACvC,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,eAAM,CAAC,UAAU;IACvB,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,QAAQ;IACrB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,gDAAgD,EAAE,CAAC;IAC3E,cAAc,EAAE;QACd;YACE,IAAI,EAAE,SAAS;YACf,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,iCAAiC;YACzC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,IAAI,GAAkB;IACjC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,IAAI;IACjB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;IACnD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,yBAAyB;YACjC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,2BAA2B;YAChC,MAAM,EAAE,cAAc,CAAC,UAAU;SAClC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;IACD,+BAA+B,EAC7B,uEAAuE;CAC1E,CAAC;AAEW,QAAA,QAAQ,GAAkB;IACrC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,eAAM,CAAC,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IACvD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,sBAAsB;YAC3B,MAAM,EAAE,0BAA0B;YAClC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;QACD;YACE,IAAI,EAAE,YAAY;YAClB,GAAG,EAAE,oCAAoC;YACzC,MAAM,EAAE,cAAc,CAAC,UAAU;SAClC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,EAAE;KACtB;IACD,+BAA+B,EAAE,oCAAoC;CACtE,CAAC;AAEW,QAAA,IAAI,GAAkB;IACjC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,IAAI;IACjB,WAAW,EAAE,MAAM;IACnB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC;IACvE,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,cAAc,CAAC,KAAK;SAC7B;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,MAAM,GAAkB;IACnC,EAAE,EAAE,CAAC;IACL,IAAI,EAAE,eAAM,CAAC,MAAM;IACnB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE;QACb,EAAE,IAAI,EAAE,uCAAuC,EAAE;QACjD,EAAE,IAAI,EAAE,iCAAiC,EAAE;KAC5C;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,6BAA6B;YAClC,MAAM,EAAE,iCAAiC;YACzC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,EAAE;KACtB;CACF,CAAC;AAEW,QAAA,aAAa,GAAkB;IAC1C,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,eAAM,CAAC,aAAa;IAC1B,WAAW,EAAE,gBAAgB;IAC7B,gBAAgB,EAAE,UAAU;IAC5B,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,KAAK;QACX,MAAM,EAAE,KAAK;KACd;IACD,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC;IACtE,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,8BAA8B;YACnC,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,EAAE;KACtB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAkB;IACrC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,eAAM,CAAC,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE;QACX,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;KACf;IACD,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,kCAAkC,EAAE,CAAC;IAC7D,cAAc,EAAE;QACd;YACE,IAAI,EAAE,UAAU;YAChB,GAAG,EAAE,qBAAqB;YAC1B,MAAM,EAAE,kCAAkC;YAC1C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,EAAE;KACtB;IACD,+BAA+B,EAC7B,+CAA+C;CAClD,CAAC;AAEW,QAAA,MAAM,GAAkB;IACnC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,MAAM;IACnB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,mCAAmC;YACzC,UAAU,EAAE;gBACV,qEAAqE;gBACrE,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;aACf;SACF;QACD;YACE,IAAI,EAAE,yCAAyC;SAChD;KACF;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,gCAAgC;YACrC,MAAM,EAAE,qCAAqC;YAC7C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,QAAQ,GAAkB;IACrC,EAAE,EAAE,EAAE;IACN,IAAI,EAAE,eAAM,CAAC,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;IACxD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,iCAAiC;YACtC,MAAM,EAAE,qCAAqC;YAC7C,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;IACD,sBAAsB,EAAE,UAAU;IAClC,+BAA+B,EAC7B,8CAA8C;CACjD,CAAC;AAEW,QAAA,cAAc,GAAkB;IAC3C,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,eAAM,CAAC,cAAc;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,CAAC;IACvD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,sCAAsC;YAC3C,MAAM,EAAE,0CAA0C;YAClD,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,OAAO,GAAkB;IACpC,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,eAAM,CAAC,OAAO;IACpB,WAAW,EAAE,SAAS;IACtB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE;QACb;YACE,IAAI,EAAE,wCAAwC;YAC9C,UAAU,EAAE;gBACV,wCAAwC;gBACxC,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,QAAQ;aACf;SACF;QACD,EAAE,IAAI,EAAE,yBAAyB,EAAE;KACpC;IACD,cAAc,EAAE;QACd;YACE,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,yBAAyB;YAC9B,MAAM,EAAE,6BAA6B;YACrC,MAAM,EAAE,cAAc,CAAC,SAAS;SACjC;KACF;IACD,MAAM,EAAE;QACN,aAAa,EAAE,GAAG;QAClB,WAAW,EAAE,GAAG;QAChB,iBAAiB,EAAE,CAAC;KACrB;IACD,sBAAsB,EAAE,eAAe;IACvC,+BAA+B,EAC7B,6CAA6C;CAChD,CAAC;AAEW,QAAA,KAAK,GAAkB;IAClC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,KAAK;IAClB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAClD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,KAAK,GAAkB;IAClC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,KAAK;IAClB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAClD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEW,QAAA,KAAK,GAAkB;IAClC,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,eAAM,CAAC,KAAK;IAClB,WAAW,EAAE,QAAQ;IACrB,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,CAAC;IAClD,cAAc,EAAE,EAAE;IAClB,MAAM,EAAE;QACN,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,iBAAiB,EAAE,CAAC;KACrB;CACF,CAAC;AAEF;;;;;GAKG;AACU,QAAA,aAAa,GAAG;IAC3B,SAAS,EAAT,iBAAS;IACT,QAAQ,EAAR,gBAAQ;IACR,cAAc,EAAd,sBAAc;IACd,SAAS,EAAT,iBAAS;IACT,GAAG,EAAH,WAAG;IACH,UAAU,EAAV,kBAAU;IACV,IAAI,EAAJ,YAAI;IACJ,QAAQ,EAAR,gBAAQ;IACR,IAAI,EAAJ,YAAI;IACJ,MAAM,EAAN,cAAM;IACN,aAAa,EAAb,qBAAa;IACb,QAAQ,EAAR,gBAAQ;IACR,MAAM,EAAN,cAAM;IACN,QAAQ,EAAR,gBAAQ;IACR,cAAc,EAAd,sBAAc;IACd,OAAO,EAAP,eAAO;IACP,KAAK,EAAL,aAAK;IACL,KAAK,EAAL,aAAK;IACL,KAAK,EAAL,aAAK;CAC8B,CAAC;AAEtC,yCAAyC;AAC5B,QAAA,kBAAkB,GAAkC,IAAA,gBAAM,EACrE,qBAAa,EACb,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;IAChB,EAAE,EAAE,QAAQ,CAAC,EAAE;IACf,IAAI,EAAE,QAAQ,CAAC,WAAW;IAC1B,OAAO,EAAE,QAAQ,CAAC,IAAc;IAChC,cAAc,EAAE,QAAQ,CAAC,WAAW;IACpC,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE;IAChE,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM;QAC5C,CAAC,CAAC;YACE,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI;gBACrC,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG;aACpC;SACF;QACH,CAAC,CAAC,SAAS;IACb,OAAO,EAAE,iBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;CAC1C,CAAC,CACH,CAAC;AAEW,QAAA,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAa,CAAC,CAAC,MAAM,CAElE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;IAClB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAEM,QAAA,qBAAqB,GAAyB,iBAAQ,CAAC,GAAG,CACrE,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAa,CAAC,SAAS,CAAC,CACxC,CAAC;AACW,QAAA,qBAAqB,GAAyB,iBAAQ,CAAC,GAAG,CACrE,CAAC,SAAS,EAAE,EAAE,CAAC,qBAAa,CAAC,SAAS,CAAC,CACxC,CAAC;AAiBF;;GAEG;AACU,QAAA,oBAAoB,GAC/B,IAAA,gBAAM,EAAC,qBAAa,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE;;IAAC,OAAA,CAAC;QACtC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa;QAC7C,mBAAmB,EAAE,QAAQ,CAAC,WAAW,CAAC,QAAQ;QAClD,QAAQ,EAAE,MAAA,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,0CAAE,UAAU;QAC/C,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;QACvD,+BAA+B,EAAE,QAAQ,CAAC,+BAA+B;KAC1E,CAAC,CAAA;CAAA,CAAC,CAAC"}
1
+ {"version":3,"file":"chainMetadata.js","sourceRoot":"","sources":["../../src/consts/chainMetadata.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ export declare enum Chains {
19
19
  optimism = "optimism",
20
20
  optimismgoerli = "optimismgoerli",
21
21
  polygon = "polygon",
22
+ gnosis = "gnosis",
22
23
  test1 = "test1",
23
24
  test2 = "test2",
24
25
  test3 = "test3"
@@ -33,8 +34,8 @@ export declare enum DeprecatedChains {
33
34
  optimismrinkeby = "optimismrinkeby"
34
35
  }
35
36
  export declare const AllDeprecatedChains: string[];
36
- export declare const Mainnets: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "test1" | "test2" | "test3")[];
37
- export declare const Testnets: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "test1" | "test2" | "test3")[];
38
- export declare const TestChains: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "test1" | "test2" | "test3")[];
39
- export declare const AllChains: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "test1" | "test2" | "test3")[];
37
+ export declare const Mainnets: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "gnosis" | "test1" | "test2" | "test3")[];
38
+ export declare const Testnets: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "gnosis" | "test1" | "test2" | "test3")[];
39
+ export declare const TestChains: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "gnosis" | "test1" | "test2" | "test3")[];
40
+ export declare const AllChains: ("polygon" | "alfajores" | "arbitrum" | "arbitrumgoerli" | "avalanche" | "bsc" | "bsctestnet" | "celo" | "ethereum" | "fuji" | "goerli" | "moonbasealpha" | "moonbeam" | "mumbai" | "optimism" | "optimismgoerli" | "gnosis" | "test1" | "test2" | "test3")[];
40
41
  //# sourceMappingURL=chains.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/consts/chains.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,MAAM;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAE5C,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;CACpC;AAED,eAAO,MAAM,mBAAmB,UAA4C,CAAC;AAE7E,eAAO,MAAM,QAAQ,oPASA,CAAC;AAEtB,eAAO,MAAM,QAAQ,oPASA,CAAC;AAEtB,eAAO,MAAM,UAAU,oPAIF,CAAC;AAEtB,eAAO,MAAM,SAAS,oPAA0C,CAAC"}
1
+ {"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../src/consts/chains.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,MAAM;IAChB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED,oBAAY,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAE5C,oBAAY,gBAAgB;IAC1B,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;IACnC,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,eAAe,oBAAoB;CACpC;AAED,eAAO,MAAM,mBAAmB,UAA4C,CAAC;AAE7E,eAAO,MAAM,QAAQ,+PAUA,CAAC;AAEtB,eAAO,MAAM,QAAQ,+PASA,CAAC;AAEtB,eAAO,MAAM,UAAU,+PAIF,CAAC;AAEtB,eAAO,MAAM,SAAS,+PAA0C,CAAC"}
@@ -23,6 +23,7 @@ var Chains;
23
23
  Chains["optimism"] = "optimism";
24
24
  Chains["optimismgoerli"] = "optimismgoerli";
25
25
  Chains["polygon"] = "polygon";
26
+ Chains["gnosis"] = "gnosis";
26
27
  Chains["test1"] = "test1";
27
28
  Chains["test2"] = "test2";
28
29
  Chains["test3"] = "test3";
@@ -46,6 +47,7 @@ exports.Mainnets = [
46
47
  Chains.moonbeam,
47
48
  Chains.optimism,
48
49
  Chains.polygon,
50
+ Chains.gnosis,
49
51
  ];
50
52
  exports.Testnets = [
51
53
  Chains.alfajores,
@@ -1 +1 @@
1
- {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/consts/chains.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,MAoBX;AApBD,WAAY,MAAM;IAChB,iCAAuB,CAAA;IACvB,+BAAqB,CAAA;IACrB,2CAAiC,CAAA;IACjC,iCAAuB,CAAA;IACvB,qBAAW,CAAA;IACX,mCAAyB,CAAA;IACzB,uBAAa,CAAA;IACb,+BAAqB,CAAA;IACrB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,yCAA+B,CAAA;IAC/B,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,2CAAiC,CAAA;IACjC,6BAAmB,CAAA;IACnB,yBAAe,CAAA;IACf,yBAAe,CAAA;IACf,yBAAe,CAAA;AACjB,CAAC,EApBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAoBjB;AAID,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;AACrC,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AAEY,QAAA,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAa,CAAC;AAEhE,QAAA,QAAQ,GAAG;IACtB,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,SAAS;IAChB,MAAM,CAAC,GAAG;IACV,MAAM,CAAC,IAAI;IACX,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,OAAO;CACK,CAAC;AAET,QAAA,QAAQ,GAAG;IACtB,MAAM,CAAC,SAAS;IAChB,MAAM,CAAC,cAAc;IACrB,MAAM,CAAC,UAAU;IACjB,MAAM,CAAC,IAAI;IACX,MAAM,CAAC,MAAM;IACb,MAAM,CAAC,aAAa;IACpB,MAAM,CAAC,MAAM;IACb,MAAM,CAAC,cAAc;CACF,CAAC;AAET,QAAA,UAAU,GAAG;IACxB,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,KAAK;CACO,CAAC;AAET,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAqB,CAAC"}
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/consts/chains.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,MAqBX;AArBD,WAAY,MAAM;IAChB,iCAAuB,CAAA;IACvB,+BAAqB,CAAA;IACrB,2CAAiC,CAAA;IACjC,iCAAuB,CAAA;IACvB,qBAAW,CAAA;IACX,mCAAyB,CAAA;IACzB,uBAAa,CAAA;IACb,+BAAqB,CAAA;IACrB,uBAAa,CAAA;IACb,2BAAiB,CAAA;IACjB,yCAA+B,CAAA;IAC/B,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;IACjB,+BAAqB,CAAA;IACrB,2CAAiC,CAAA;IACjC,6BAAmB,CAAA;IACnB,2BAAiB,CAAA;IACjB,yBAAe,CAAA;IACf,yBAAe,CAAA;IACf,yBAAe,CAAA;AACjB,CAAC,EArBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAqBjB;AAID,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;IACnC,mCAAe,CAAA;IACf,uCAAmB,CAAA;IACnB,mDAA+B,CAAA;IAC/B,uDAAmC,CAAA;AACrC,CAAC,EAPW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAO3B;AAEY,QAAA,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAa,CAAC;AAEhE,QAAA,QAAQ,GAAG;IACtB,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,SAAS;IAChB,MAAM,CAAC,GAAG;IACV,MAAM,CAAC,IAAI;IACX,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,QAAQ;IACf,MAAM,CAAC,OAAO;IACd,MAAM,CAAC,MAAM;CACM,CAAC;AAET,QAAA,QAAQ,GAAG;IACtB,MAAM,CAAC,SAAS;IAChB,MAAM,CAAC,cAAc;IACrB,MAAM,CAAC,UAAU;IACjB,MAAM,CAAC,IAAI;IACX,MAAM,CAAC,MAAM;IACb,MAAM,CAAC,aAAa;IACpB,MAAM,CAAC,MAAM;IACb,MAAM,CAAC,cAAc;CACF,CAAC;AAET,QAAA,UAAU,GAAG;IACxB,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,KAAK;IACZ,MAAM,CAAC,KAAK;CACO,CAAC;AAET,QAAA,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAqB,CAAC"}
@@ -358,6 +358,23 @@ export declare const environments: {
358
358
  interchainAccountRouter: string;
359
359
  interchainQueryRouter: string;
360
360
  };
361
+ gnosis: {
362
+ validatorAnnounce: string;
363
+ proxyAdmin: string;
364
+ mailbox: {
365
+ kind: string;
366
+ proxy: string;
367
+ implementation: string;
368
+ };
369
+ interchainGasPaymaster: {
370
+ kind: string;
371
+ proxy: string;
372
+ implementation: string;
373
+ };
374
+ defaultIsmInterchainGasPaymaster: string;
375
+ multisigIsm: string;
376
+ create2Factory: string;
377
+ };
361
378
  };
362
379
  };
363
380
  declare type HyperlaneCoreAddressMap = LooseChainMap<{
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consts/environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAEvD,aAAK,uBAAuB,GAAG,aAAa,CAAC;IAC3C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IACxC,qBAAqB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;CAC/B,CAAC,CAAC;AAGH,eAAO,MAAM,sBAAsB,yBAUP,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consts/environments/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA6B,CAAC;AAEvD,aAAK,uBAAuB,GAAG,aAAa,CAAC;IAC3C,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;IACvB,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC;IAC3B,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,uBAAuB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IACxC,qBAAqB,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;CAC/B,CAAC,CAAC;AAGH,eAAO,MAAM,sBAAsB,yBAUP,CAAC"}
@@ -150,5 +150,22 @@
150
150
  "create2Factory": "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a",
151
151
  "interchainAccountRouter": "0xE0Be420779cAd6E2bEA1E4F7C02F996D9ED1fCB5",
152
152
  "interchainQueryRouter": "0x234b19282985882d6d6fd54dEBa272271f4eb784"
153
+ },
154
+ "gnosis": {
155
+ "validatorAnnounce": "0x9bBdef63594D5FFc2f370Fe52115DdFFe97Bc524",
156
+ "proxyAdmin": "0x81a92A1a272cb09d7b4970b07548463dC7aE0cB7",
157
+ "mailbox": {
158
+ "kind": "Transparent",
159
+ "proxy": "0x35231d4c2D8B8ADcB5617A638A0c4548684c7C70",
160
+ "implementation": "0x8e1d6B03F7A823e9302c9042cd0d00728F456e70"
161
+ },
162
+ "interchainGasPaymaster": {
163
+ "kind": "Transparent",
164
+ "proxy": "0x6cA0B6D22da47f091B7613223cD4BB03a2d77918",
165
+ "implementation": "0xAb311C7DAE251C1eB24c5A5409d47a415828d5E5"
166
+ },
167
+ "defaultIsmInterchainGasPaymaster": "0x56f52c0A1ddcD557285f7CBc782D3d83096CE1Cc",
168
+ "multisigIsm": "0xC343A7054838FE9F249D7E3Ec1Fa6f1D108694b8",
169
+ "create2Factory": "0xc97D8e6f57b0d64971453dDc6EB8483fec9d163a"
153
170
  }
154
171
  }
@@ -378,6 +378,23 @@ export declare class HyperlaneCore<Chain extends ChainName = ChainName> extends
378
378
  interchainAccountRouter: string;
379
379
  interchainQueryRouter: string;
380
380
  };
381
+ gnosis: {
382
+ validatorAnnounce: string;
383
+ proxyAdmin: string;
384
+ mailbox: {
385
+ kind: string;
386
+ proxy: string;
387
+ implementation: string;
388
+ };
389
+ interchainGasPaymaster: {
390
+ kind: string;
391
+ proxy: string;
392
+ implementation: string;
393
+ };
394
+ defaultIsmInterchainGasPaymaster: string;
395
+ multisigIsm: string;
396
+ create2Factory: string;
397
+ };
381
398
  };
382
399
  }[Env] & Chain>;
383
400
  getContracts<Local extends Chain>(chain: Local): CoreContracts;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneCore.d.ts","sourceRoot":"","sources":["../../src/core/HyperlaneCore.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export declare abstract class HyperlaneAppChecker<Chain extends ChainName, App e
15
15
  check(): Promise<void[]>;
16
16
  addViolation(violation: CheckerViolation): void;
17
17
  checkProxiedContract(chain: Chain, name: string, proxiedAddress: TransparentProxyAddresses, proxyAdminAddress?: types.Address): Promise<void>;
18
+ private removeBytecodeMetadata;
19
+ checkBytecode(chain: Chain, name: string, address: string, expectedBytecodeHash: string, modifyBytecodePriorToHash?: (bytecode: string) => string): Promise<void>;
18
20
  checkOwnership(chain: Chain, owner: types.Address, ownables: Ownable[]): Promise<void>;
19
21
  expectViolations(violationCounts: Record<string, number>): void;
20
22
  expectEmpty(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAiC,MAAM,SAAS,CAAC;AAE1E,8BAAsB,mBAAmB,CACvC,KAAK,SAAS,SAAS,EACvB,GAAG,SAAS,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EACpC,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAQpC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,oBAAoB,CACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
1
+ {"version":3,"file":"HyperlaneAppChecker.d.ts","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI/C,OAAO,EAEL,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAEjB,8BAAsB,mBAAmB,CACvC,KAAK,SAAS,SAAS,EACvB,GAAG,SAAS,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,EACpC,MAAM;IAEN,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,CAAC;gBAGtC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAQpC,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1C,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAiB9B,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;IAIzC,oBAAoB,CACxB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,yBAAyB,EACzC,iBAAiB,CAAC,EAAE,KAAK,CAAC,OAAO,GAChC,OAAO,CAAC,IAAI,CAAC;IAiBhB,OAAO,CAAC,sBAAsB;IAOxB,aAAa,CACjB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,oBAAoB,EAAE,MAAM,EAC5B,yBAAyB,GAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAiB,GACjE,OAAO,CAAC,IAAI,CAAC;IAiBV,cAAc,CAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,QAAQ,EAAE,OAAO,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC;IAkBhB,gBAAgB,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAgB/D,WAAW,IAAI,IAAI;CAIpB"}
@@ -10,7 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.HyperlaneAppChecker = void 0;
13
- const utils_1 = require("@hyperlane-xyz/utils");
13
+ const utils_1 = require("ethers/lib/utils");
14
+ const utils_2 = require("@hyperlane-xyz/utils");
14
15
  const objects_1 = require("../utils/objects");
15
16
  const proxy_1 = require("./proxy");
16
17
  const types_1 = require("./types");
@@ -46,7 +47,29 @@ class HyperlaneAppChecker {
46
47
  }
47
48
  if (proxyAdminAddress) {
48
49
  const admin = yield (0, proxy_1.proxyAdmin)(dc.provider, proxiedAddress.proxy);
49
- utils_1.utils.assert(admin === proxyAdminAddress, 'Proxy admin mismatch');
50
+ utils_2.utils.assert(admin === proxyAdminAddress, 'Proxy admin mismatch');
51
+ }
52
+ });
53
+ }
54
+ removeBytecodeMetadata(bytecode) {
55
+ // https://docs.soliditylang.org/en/v0.8.17/metadata.html#encoding-of-the-metadata-hash-in-the-bytecode
56
+ // Remove solc metadata from bytecode
57
+ return bytecode.substring(0, bytecode.length - 90);
58
+ }
59
+ // This method checks whether the bytecode of a contract matches the expected bytecode. It forces the deployer to explicitly acknowledge a change in bytecode. The violations can be remediated by updating the expected bytecode hash.
60
+ checkBytecode(chain, name, address, expectedBytecodeHash, modifyBytecodePriorToHash = (_) => _) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const provider = this.multiProvider.getChainProvider(chain);
63
+ const bytecode = yield provider.getCode(address);
64
+ const bytecodeHash = (0, utils_1.keccak256)(modifyBytecodePriorToHash(this.removeBytecodeMetadata(bytecode)));
65
+ if (bytecodeHash !== expectedBytecodeHash) {
66
+ this.addViolation({
67
+ type: types_1.ViolationType.BytecodeMismatch,
68
+ chain,
69
+ expected: expectedBytecodeHash,
70
+ actual: bytecodeHash,
71
+ name,
72
+ });
50
73
  }
51
74
  });
52
75
  }
@@ -71,17 +94,17 @@ class HyperlaneAppChecker {
71
94
  // Every type should have exactly the number of expected matches.
72
95
  (0, objects_1.objMap)(violationCounts, (type, count) => {
73
96
  const actual = this.violations.filter((v) => v.type === type).length;
74
- utils_1.utils.assert(actual == count, `Expected ${count} ${type} violations, got ${actual}`);
97
+ utils_2.utils.assert(actual == count, `Expected ${count} ${type} violations, got ${actual}`);
75
98
  });
76
99
  this.violations
77
100
  .filter((v) => !(v.type in violationCounts))
78
101
  .map((v) => {
79
- utils_1.utils.assert(false, `Unexpected violation: ${JSON.stringify(v)}`);
102
+ utils_2.utils.assert(false, `Unexpected violation: ${JSON.stringify(v)}`);
80
103
  });
81
104
  }
82
105
  expectEmpty() {
83
106
  const count = this.violations.length;
84
- utils_1.utils.assert(count === 0, `Found ${count} violations`);
107
+ utils_2.utils.assert(count === 0, `Found ${count} violations`);
85
108
  }
86
109
  }
87
110
  exports.HyperlaneAppChecker = HyperlaneAppChecker;
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HyperlaneAppChecker.js","sourceRoot":"","sources":["../../src/deploy/HyperlaneAppChecker.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,9 @@ export declare class HyperlaneCoreChecker<Chain extends ChainName> extends Hyper
6
6
  checkChain(chain: Chain): Promise<void>;
7
7
  checkDomainOwnership(chain: Chain): Promise<void>;
8
8
  checkMailbox(chain: Chain): Promise<void>;
9
+ checkBytecodes(chain: Chain): Promise<void>;
9
10
  checkProxiedContracts(chain: Chain): Promise<void>;
11
+ checkValidatorAnnounce(chain: Chain): Promise<void>;
10
12
  checkMultisigIsm(local: Chain): Promise<void>;
11
13
  checkMultisigIsmForRemote(local: Chain, remote: Chain): Promise<void>;
12
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,UAAU,EAOX,MAAM,SAAS,CAAC;AAEjB,qBAAa,oBAAoB,CAC/B,KAAK,SAAS,SAAS,CACvB,SAAQ,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC9D,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAavC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAgD5E"}
1
+ {"version":3,"file":"HyperlaneCoreChecker.d.ts","sourceRoot":"","sources":["../../../src/deploy/core/HyperlaneCoreChecker.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EACL,UAAU,EAQX,MAAM,SAAS,CAAC;AAcjB,qBAAa,oBAAoB,CAC/B,KAAK,SAAS,SAAS,CACvB,SAAQ,mBAAmB,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC;IAC9D,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAevC,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBzC,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAwE3C,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBlD,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBnD,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7C,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;CAgD5E"}
@@ -10,10 +10,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.HyperlaneCoreChecker = void 0;
13
- const utils_1 = require("@hyperlane-xyz/utils");
13
+ const utils_1 = require("ethers/lib/utils");
14
+ const utils_2 = require("@hyperlane-xyz/utils");
15
+ const utils_3 = require("@hyperlane-xyz/utils/dist/src/utils");
14
16
  const domains_1 = require("../../domains");
15
17
  const HyperlaneAppChecker_1 = require("../HyperlaneAppChecker");
16
18
  const types_1 = require("./types");
19
+ const MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH = '0x29b7294ab3ad2e8587e5cce0e2289ce65e12a2ea2f1e7ab34a05e7737616f457';
20
+ const TRANSPARENT_PROXY_BYTECODE_HASH = '0x4dde3d0906b6492bf1d4947f667afe8d53c8899f1d8788cabafd082938dceb2d';
21
+ const MULTISIG_ISM_BYTECODE_HASH = '0x5565704ffa5b10fdf37d57abfddcf137101d5fb418ded21fa6c5f90262c57dc2';
22
+ const PROXY_ADMIN_BYTECODE_HASH = '0x7c378e9d49408861ca754fe684b9f7d1ea525bddf095ee0463902df701453ba0';
23
+ const INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH = '0xcee48ab556ae2ff12b6458fa92e5e31f4a07f7852a0ed06e43a7f06f3c4c6d76';
24
+ const OVERHEAD_IGP_BYTECODE_HASH = '0x3cfed1f24f1e9b28a76d5a8c61696a04f7bc474404b823a2fcc210ea52346252';
17
25
  class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
18
26
  checkChain(chain) {
19
27
  return __awaiter(this, void 0, void 0, function* () {
@@ -26,6 +34,8 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
26
34
  yield this.checkProxiedContracts(chain);
27
35
  yield this.checkMailbox(chain);
28
36
  yield this.checkMultisigIsm(chain);
37
+ yield this.checkBytecodes(chain);
38
+ yield this.checkValidatorAnnounce(chain);
29
39
  });
30
40
  }
31
41
  checkDomainOwnership(chain) {
@@ -47,7 +57,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
47
57
  const contracts = this.app.getContracts(chain);
48
58
  const mailbox = contracts.mailbox.contract;
49
59
  const localDomain = yield mailbox.localDomain();
50
- utils_1.utils.assert(localDomain === domains_1.ChainNameToDomainId[chain]);
60
+ utils_2.utils.assert(localDomain === domains_1.ChainNameToDomainId[chain]);
51
61
  const actualIsm = yield mailbox.defaultIsm();
52
62
  const expectedIsm = contracts.multisigIsm.address;
53
63
  if (actualIsm !== expectedIsm) {
@@ -63,6 +73,30 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
63
73
  }
64
74
  });
65
75
  }
76
+ checkBytecodes(chain) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const contracts = this.app.getContracts(chain);
79
+ const mailbox = contracts.mailbox.contract;
80
+ const localDomain = yield mailbox.localDomain();
81
+ yield this.checkBytecode(chain, 'Mailbox implementation', contracts.mailbox.addresses.implementation, MAILBOX_WITHOUT_LOCAL_DOMAIN_BYTE_CODE_HASH, (_) =>
82
+ // This is obviously super janky but basically we are searching
83
+ // for the ocurrences of localDomain in the bytecode and remove
84
+ // that to compare, but some coincidental ocurrences of
85
+ // localDomain in the bytecode should be not be removed which
86
+ // are just done via an offset guard
87
+ _.replaceAll(utils_1.defaultAbiCoder.encode(['uint32'], [localDomain]).slice(2), (match, offset) => (offset > 8000 ? match : '')));
88
+ yield this.checkBytecode(chain, 'Mailbox proxy', contracts.mailbox.address, TRANSPARENT_PROXY_BYTECODE_HASH);
89
+ yield this.checkBytecode(chain, 'InterchainGasPaymaster proxy', contracts.interchainGasPaymaster.address, TRANSPARENT_PROXY_BYTECODE_HASH);
90
+ yield this.checkBytecode(chain, 'ProxyAdmin', contracts.proxyAdmin.address, PROXY_ADMIN_BYTECODE_HASH);
91
+ yield this.checkBytecode(chain, 'MultisigIsm implementation', contracts.multisigIsm.address, MULTISIG_ISM_BYTECODE_HASH);
92
+ yield this.checkBytecode(chain, 'InterchainGasPaymaster implementation', contracts.interchainGasPaymaster.addresses.implementation, INTERCHAIN_GAS_PAYMASTER_BYTECODE_HASH);
93
+ yield this.checkBytecode(chain, 'OverheadIGP', contracts.defaultIsmInterchainGasPaymaster.address, OVERHEAD_IGP_BYTECODE_HASH, (_) =>
94
+ // Remove the address of the wrapped ISM from the bytecode
95
+ _.replaceAll(utils_1.defaultAbiCoder
96
+ .encode(['address'], [contracts.interchainGasPaymaster.addresses.proxy])
97
+ .slice(2), ''));
98
+ });
99
+ }
66
100
  checkProxiedContracts(chain) {
67
101
  return __awaiter(this, void 0, void 0, function* () {
68
102
  const contracts = this.app.getContracts(chain);
@@ -71,6 +105,26 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
71
105
  yield this.checkProxiedContract(chain, 'DefaultIsmInterchainGasPaymaster', contracts.interchainGasPaymaster.addresses, contracts.proxyAdmin.address);
72
106
  });
73
107
  }
108
+ checkValidatorAnnounce(chain) {
109
+ return __awaiter(this, void 0, void 0, function* () {
110
+ const expectedValidators = this.configMap[chain].multisigIsm.validators;
111
+ const validatorAnnounce = this.app.getContracts(chain).validatorAnnounce;
112
+ const announcedValidators = yield validatorAnnounce.getAnnouncedValidators();
113
+ expectedValidators.map((validator) => {
114
+ const matches = announcedValidators.filter((x) => (0, utils_3.eqAddress)(x, validator));
115
+ if (matches.length == 0) {
116
+ const violation = {
117
+ type: types_1.CoreViolationType.ValidatorAnnounce,
118
+ chain,
119
+ validator,
120
+ actual: false,
121
+ expected: true,
122
+ };
123
+ this.addViolation(violation);
124
+ }
125
+ });
126
+ });
127
+ }
74
128
  checkMultisigIsm(local) {
75
129
  return __awaiter(this, void 0, void 0, function* () {
76
130
  yield Promise.all(this.app
@@ -89,7 +143,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
89
143
  const actualValidators = yield multisigIsm.validators(remoteDomain);
90
144
  const expectedSet = new Set(expectedValidators.map((_) => _.toLowerCase()));
91
145
  const actualSet = new Set(actualValidators.map((_) => _.toLowerCase()));
92
- if (!utils_1.utils.setEquality(expectedSet, actualSet)) {
146
+ if (!utils_2.utils.setEquality(expectedSet, actualSet)) {
93
147
  const violation = {
94
148
  type: types_1.CoreViolationType.MultisigIsm,
95
149
  subType: types_1.MultisigIsmViolationType.EnrolledValidators,
@@ -102,7 +156,7 @@ class HyperlaneCoreChecker extends HyperlaneAppChecker_1.HyperlaneAppChecker {
102
156
  this.addViolation(violation);
103
157
  }
104
158
  const expectedThreshold = multisigIsmConfig.threshold;
105
- utils_1.utils.assert(expectedThreshold !== undefined);
159
+ utils_2.utils.assert(expectedThreshold !== undefined);
106
160
  const actualThreshold = yield multisigIsm.threshold(remoteDomain);
107
161
  if (expectedThreshold !== actualThreshold) {
108
162
  const violation = {