@hyperlane-xyz/cli 3.20.0-beta0 → 4.0.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli.js +10 -6
- package/dist/cli.js.map +1 -1
- package/dist/src/avs/config.d.ts +11 -0
- package/dist/src/avs/config.d.ts.map +1 -0
- package/dist/src/avs/config.js +10 -0
- package/dist/src/avs/config.js.map +1 -0
- package/dist/src/avs/stakeRegistry.d.ts +21 -0
- package/dist/src/avs/stakeRegistry.d.ts.map +1 -0
- package/dist/src/avs/stakeRegistry.js +64 -0
- package/dist/src/avs/stakeRegistry.js.map +1 -0
- package/dist/src/commands/avs.d.ts +12 -0
- package/dist/src/commands/avs.d.ts.map +1 -0
- package/dist/src/commands/avs.js +64 -0
- package/dist/src/commands/avs.js.map +1 -0
- package/dist/src/commands/config.d.ts.map +1 -1
- package/dist/src/commands/config.js +10 -60
- package/dist/src/commands/config.js.map +1 -1
- package/dist/src/commands/core.d.ts +16 -0
- package/dist/src/commands/core.d.ts.map +1 -0
- package/dist/src/commands/core.js +88 -0
- package/dist/src/commands/core.js.map +1 -0
- package/dist/src/commands/deploy.d.ts +13 -0
- package/dist/src/commands/deploy.d.ts.map +1 -1
- package/dist/src/commands/deploy.js +22 -26
- package/dist/src/commands/deploy.js.map +1 -1
- package/dist/src/commands/options.d.ts +11 -5
- package/dist/src/commands/options.d.ts.map +1 -1
- package/dist/src/commands/options.js +45 -11
- package/dist/src/commands/options.js.map +1 -1
- package/dist/src/commands/registry.d.ts +6 -0
- package/dist/src/commands/registry.d.ts.map +1 -0
- package/dist/src/commands/{chains.js → registry.js} +3 -3
- package/dist/src/commands/registry.js.map +1 -0
- package/dist/src/commands/send.d.ts.map +1 -1
- package/dist/src/commands/send.js +2 -42
- package/dist/src/commands/send.js.map +1 -1
- package/dist/src/commands/validator.d.ts +3 -0
- package/dist/src/commands/validator.d.ts.map +1 -0
- package/dist/src/commands/validator.js +34 -0
- package/dist/src/commands/validator.js.map +1 -0
- package/dist/src/commands/{hook.d.ts → warp.d.ts} +6 -2
- package/dist/src/commands/warp.d.ts.map +1 -0
- package/dist/src/commands/warp.js +101 -0
- package/dist/src/commands/warp.js.map +1 -0
- package/dist/src/config/chain.d.ts.map +1 -1
- package/dist/src/config/chain.js +21 -9
- package/dist/src/config/chain.js.map +1 -1
- package/dist/src/config/hooks.d.ts +4528 -90
- package/dist/src/config/hooks.d.ts.map +1 -1
- package/dist/src/config/hooks.js +31 -97
- package/dist/src/config/hooks.js.map +1 -1
- package/dist/src/config/ism.d.ts +58 -61
- package/dist/src/config/ism.d.ts.map +1 -1
- package/dist/src/config/ism.js +40 -128
- package/dist/src/config/ism.js.map +1 -1
- package/dist/src/config/warp.d.ts +3 -2
- package/dist/src/config/warp.d.ts.map +1 -1
- package/dist/src/config/warp.js +112 -49
- package/dist/src/config/warp.js.map +1 -1
- package/dist/src/consts.d.ts +1 -0
- package/dist/src/consts.d.ts.map +1 -1
- package/dist/src/consts.js +1 -0
- package/dist/src/consts.js.map +1 -1
- package/dist/src/context/context.d.ts +1 -1
- package/dist/src/context/context.d.ts.map +1 -1
- package/dist/src/context/context.js +37 -15
- package/dist/src/context/context.js.map +1 -1
- package/dist/src/context/types.d.ts +1 -0
- package/dist/src/context/types.d.ts.map +1 -1
- package/dist/src/deploy/agent.js +1 -1
- package/dist/src/deploy/agent.js.map +1 -1
- package/dist/src/deploy/core.d.ts +4 -8
- package/dist/src/deploy/core.d.ts.map +1 -1
- package/dist/src/deploy/core.js +28 -232
- package/dist/src/deploy/core.js.map +1 -1
- package/dist/src/deploy/dry-run.d.ts +2 -2
- package/dist/src/deploy/dry-run.d.ts.map +1 -1
- package/dist/src/deploy/dry-run.js +1 -0
- package/dist/src/deploy/dry-run.js.map +1 -1
- package/dist/src/deploy/utils.d.ts +4 -7
- package/dist/src/deploy/utils.d.ts.map +1 -1
- package/dist/src/deploy/utils.js +22 -19
- package/dist/src/deploy/utils.js.map +1 -1
- package/dist/src/deploy/warp.d.ts.map +1 -1
- package/dist/src/deploy/warp.js +38 -123
- package/dist/src/deploy/warp.js.map +1 -1
- package/dist/src/send/message.d.ts.map +1 -1
- package/dist/src/send/message.js +15 -29
- package/dist/src/send/message.js.map +1 -1
- package/dist/src/send/transfer.d.ts.map +1 -1
- package/dist/src/send/transfer.js +5 -6
- package/dist/src/send/transfer.js.map +1 -1
- package/dist/src/submit/submit.d.ts +5 -0
- package/dist/src/submit/submit.d.ts.map +1 -0
- package/dist/src/submit/submit.js +30 -0
- package/dist/src/submit/submit.js.map +1 -0
- package/dist/src/submit/types.d.ts +18 -0
- package/dist/src/submit/types.d.ts.map +1 -0
- package/dist/src/submit/types.js +2 -0
- package/dist/src/submit/types.js.map +1 -0
- package/dist/src/tests/deployTestErc20.js +3 -2
- package/dist/src/tests/deployTestErc20.js.map +1 -1
- package/dist/src/tests/hooks.test.js +14 -8
- package/dist/src/tests/hooks.test.js.map +1 -1
- package/dist/src/tests/ism.test.js +1 -1
- package/dist/src/tests/ism.test.js.map +1 -1
- package/dist/src/utils/balances.d.ts +2 -2
- package/dist/src/utils/balances.d.ts.map +1 -1
- package/dist/src/utils/balances.js +8 -3
- package/dist/src/utils/balances.js.map +1 -1
- package/dist/src/utils/chains.d.ts +1 -0
- package/dist/src/utils/chains.d.ts.map +1 -1
- package/dist/src/utils/chains.js +20 -3
- package/dist/src/utils/chains.js.map +1 -1
- package/dist/src/utils/env.d.ts +3 -0
- package/dist/src/utils/env.d.ts.map +1 -1
- package/dist/src/utils/env.js +3 -0
- package/dist/src/utils/env.js.map +1 -1
- package/dist/src/utils/files.d.ts +1 -0
- package/dist/src/utils/files.d.ts.map +1 -1
- package/dist/src/utils/files.js +8 -0
- package/dist/src/utils/files.js.map +1 -1
- package/dist/src/utils/keys.d.ts +5 -3
- package/dist/src/utils/keys.d.ts.map +1 -1
- package/dist/src/utils/keys.js +16 -13
- package/dist/src/utils/keys.js.map +1 -1
- package/dist/src/validator/address.d.ts +10 -0
- package/dist/src/validator/address.d.ts.map +1 -0
- package/dist/src/validator/address.js +107 -0
- package/dist/src/validator/address.js.map +1 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.d.ts.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/examples/core-config.yaml +19 -0
- package/examples/hooks.yaml +8 -4
- package/examples/warp-route-deployment.yaml +2 -4
- package/package.json +7 -4
- package/dist/src/commands/chains.d.ts +0 -6
- package/dist/src/commands/chains.d.ts.map +0 -1
- package/dist/src/commands/chains.js.map +0 -1
- package/dist/src/commands/hook.d.ts.map +0 -1
- package/dist/src/commands/hook.js +0 -34
- package/dist/src/commands/hook.js.map +0 -1
- package/dist/src/commands/ism.d.ts +0 -12
- package/dist/src/commands/ism.d.ts.map +0 -1
- package/dist/src/commands/ism.js +0 -36
- package/dist/src/commands/ism.js.map +0 -1
- package/dist/src/registry/MergedRegistry.d.ts +0 -35
- package/dist/src/registry/MergedRegistry.d.ts.map +0 -1
- package/dist/src/registry/MergedRegistry.js +0 -83
- package/dist/src/registry/MergedRegistry.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/tests/hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,
|
|
1
|
+
{"version":3,"file":"hooks.test.js","sourceRoot":"","sources":["../../../src/tests/hooks.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,EAAkB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QAExD,MAAM,kBAAkB,GAAmB;YACzC,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oCAC3B,YAAY,EAAE;wCACZ,MAAM,EAAE;4CACN,QAAQ,EAAE,KAAK;4CACf,iBAAiB,EAAE,KAAK;yCACzB;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;YACD,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ,CAAC,YAAY;oBAC3B,KAAK,EAAE,4CAA4C;oBACnD,WAAW,EAAE,4CAA4C;oBACzD,cAAc,EAAE,qBAAqB;oBACrC,WAAW,EAAE,iBAAiB;iBAC/B;gBACD,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ,CAAC,OAAO;oBACtB,KAAK,EAAE,4CAA4C;oBACnD,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,IAAI,EAAE,QAAQ,CAAC,WAAW;4BAC1B,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,QAAQ,CAAC,WAAW;iCAC3B;gCACD;oCACE,IAAI,EAAE,QAAQ,CAAC,wBAAwB;oCACvC,WAAW,EAAE,4CAA4C;oCACzD,KAAK,EAAE,4CAA4C;oCACnD,SAAS,EAAE,4CAA4C;oCACvD,QAAQ,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;oCAC3B,YAAY,EAAE;wCACZ,MAAM,EAAE;4CACN,QAAQ,EAAE,KAAK;4CACf,iBAAiB,EAAE,KAAK;yCACzB;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,GAAG,EAAE;YACV,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -70,7 +70,7 @@ describe('readIsmConfig', () => {
|
|
|
70
70
|
it('parsing failure, threshold > modules.length', () => {
|
|
71
71
|
expect(function () {
|
|
72
72
|
readIsmConfig('src/tests/ism/threshold-gt-modules-length-fail.yaml');
|
|
73
|
-
}).to.throw('Threshold
|
|
73
|
+
}).to.throw('Threshold must be less than or equal to the number of modules');
|
|
74
74
|
});
|
|
75
75
|
});
|
|
76
76
|
//# sourceMappingURL=ism.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ism.test.js","sourceRoot":"","sources":["../../../src/tests/ism.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAuB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAwB;YAC5C,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC;YACL,aAAa,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC;YACL,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC;YACL,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC;YACL,aAAa,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"ism.test.js","sourceRoot":"","sources":["../../../src/tests/ism.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAE9B,OAAO,EAAuB,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,GAAG,GAAG,aAAa,CAAC,4BAA4B,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAwB;YAC5C,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,gBAAgB;gBAC9B,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,KAAK,EAAE,4CAA4C;gBACnD,OAAO,EAAE;oBACP,MAAM,EAAE;wBACN,IAAI,EAAE,OAAO,CAAC,WAAW;wBACzB,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,OAAO,CAAC,mBAAmB;gCACjC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;4BACD;gCACE,IAAI,EAAE,OAAO,CAAC,oBAAoB;gCAClC,SAAS,EAAE,CAAC;gCACZ,UAAU,EAAE,CAAC,4CAA4C,CAAC;6BAC3D;yBACF;wBACD,SAAS,EAAE,CAAC;qBACb;iBACF;aACF;SACF,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,CAAC;YACL,aAAa,CAAC,oCAAoC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC;YACL,aAAa,CAAC,4CAA4C,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,oEAAoE,CACrE,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC;YACL,aAAa,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC;YACL,aAAa,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CACT,+DAA+D,CAChE,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
2
|
import { ChainName, MultiProvider } from '@hyperlane-xyz/sdk';
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
3
|
+
export declare function nativeBalancesAreSufficient(multiProvider: MultiProvider, signer: ethers.Signer, chains: ChainName[], minBalanceWei: string): Promise<boolean>;
|
|
4
|
+
export declare function gasBalancesAreSufficient(multiProvider: MultiProvider, signer: ethers.Signer, chains: ChainName[], minGas: string): Promise<boolean>;
|
|
5
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;AAEhC,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE9D,wBAAsB,
|
|
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,2BAA2B,CAC/C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,OAAO,CAAC,CAuBlB;AAED,wBAAsB,wBAAwB,CAC5C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { confirm } from '@inquirer/prompts';
|
|
2
2
|
import { ethers } from 'ethers';
|
|
3
|
-
export async function
|
|
3
|
+
export async function nativeBalancesAreSufficient(multiProvider, signer, chains, minBalanceWei) {
|
|
4
4
|
const address = await signer.getAddress();
|
|
5
5
|
const minBalance = ethers.utils.formatEther(minBalanceWei.toString());
|
|
6
|
+
let sufficient = true;
|
|
6
7
|
await Promise.all(chains.map(async (chain) => {
|
|
7
8
|
const balanceWei = await multiProvider
|
|
8
9
|
.getProvider(chain)
|
|
@@ -16,15 +17,19 @@ export async function assertNativeBalances(multiProvider, signer, chains, minBal
|
|
|
16
17
|
});
|
|
17
18
|
if (!isResume)
|
|
18
19
|
throw new Error(error);
|
|
20
|
+
sufficient = false;
|
|
19
21
|
}
|
|
20
22
|
}));
|
|
23
|
+
return sufficient;
|
|
21
24
|
}
|
|
22
|
-
export async function
|
|
25
|
+
export async function gasBalancesAreSufficient(multiProvider, signer, chains, minGas) {
|
|
26
|
+
let sufficient = true;
|
|
23
27
|
await Promise.all(chains.map(async (chain) => {
|
|
24
28
|
const provider = multiProvider.getProvider(chain);
|
|
25
29
|
const gasPrice = await provider.getGasPrice();
|
|
26
30
|
const minBalanceWei = gasPrice.mul(minGas).toString();
|
|
27
|
-
await
|
|
31
|
+
sufficient = await nativeBalancesAreSufficient(multiProvider, signer, [chain], minBalanceWei);
|
|
28
32
|
}));
|
|
33
|
+
return sufficient;
|
|
29
34
|
}
|
|
30
35
|
//# 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;AAIhC,MAAM,CAAC,KAAK,UAAU,
|
|
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,2BAA2B,CAC/C,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,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,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;YACtC,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,aAA4B,EAC5B,MAAqB,EACrB,MAAmB,EACnB,MAAc;IAEd,IAAI,UAAU,GAAG,IAAI,CAAC;IACtB,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,UAAU,GAAG,MAAM,2BAA2B,CAC5C,aAAa,EACb,MAAM,EACN,CAAC,KAAK,CAAC,EACP,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChainMap, ChainMetadata } from '@hyperlane-xyz/sdk';
|
|
2
2
|
export declare function runSingleChainSelectionStep(chainMetadata: ChainMap<ChainMetadata>, message?: string): Promise<string>;
|
|
3
3
|
export declare function runMultiChainSelectionStep(chainMetadata: ChainMap<ChainMetadata>, message?: string, requireMultiple?: boolean): Promise<string[]>;
|
|
4
|
+
export declare function detectAndConfirmOrPrompt(detect: () => Promise<string | undefined>, prompt: string, label: string): Promise<string>;
|
|
4
5
|
//# sourceMappingURL=chains.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQ7D,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAiB,mBAUzB;AAED,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAkB,EACzB,eAAe,UAAQ,qBAiBxB"}
|
|
1
|
+
{"version":3,"file":"chains.d.ts","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQ7D,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAiB,mBAUzB;AAED,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,QAAQ,CAAC,aAAa,CAAC,EACtC,OAAO,SAAkB,EACzB,eAAe,UAAQ,qBAiBxB;AA8BD,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,EACzC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAejB"}
|
package/dist/src/utils/chains.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Separator, checkbox } from '@inquirer/prompts';
|
|
1
|
+
import { Separator, checkbox, confirm, input } from '@inquirer/prompts';
|
|
2
2
|
import select from '@inquirer/select';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
4
|
import { log, logRed, logTip } from '../logger.js';
|
|
@@ -10,7 +10,7 @@ export async function runSingleChainSelectionStep(chainMetadata, message = 'Sele
|
|
|
10
10
|
const chain = (await select({
|
|
11
11
|
message,
|
|
12
12
|
choices,
|
|
13
|
-
pageSize:
|
|
13
|
+
pageSize: 30,
|
|
14
14
|
}));
|
|
15
15
|
handleNewChain([chain]);
|
|
16
16
|
return chain;
|
|
@@ -22,7 +22,7 @@ export async function runMultiChainSelectionStep(chainMetadata, message = 'Selec
|
|
|
22
22
|
const chains = (await checkbox({
|
|
23
23
|
message,
|
|
24
24
|
choices,
|
|
25
|
-
pageSize:
|
|
25
|
+
pageSize: 30,
|
|
26
26
|
}));
|
|
27
27
|
handleNewChain(chains);
|
|
28
28
|
if (requireMultiple && chains?.length < 2) {
|
|
@@ -52,4 +52,21 @@ function handleNewChain(chainNames) {
|
|
|
52
52
|
process.exit(0);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
+
export async function detectAndConfirmOrPrompt(detect, prompt, label) {
|
|
56
|
+
let detectedValue;
|
|
57
|
+
try {
|
|
58
|
+
detectedValue = await detect();
|
|
59
|
+
if (detectedValue) {
|
|
60
|
+
const confirmed = await confirm({
|
|
61
|
+
message: `Detected ${label} as ${detectedValue}, is this correct?`,
|
|
62
|
+
});
|
|
63
|
+
if (confirmed) {
|
|
64
|
+
return detectedValue;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// eslint-disable-next-line no-empty
|
|
68
|
+
}
|
|
69
|
+
catch (e) { }
|
|
70
|
+
return input({ message: `${prompt} ${label}`, default: detectedValue });
|
|
71
|
+
}
|
|
55
72
|
//# sourceMappingURL=chains.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/utils/chains.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/env.d.ts
CHANGED
|
@@ -2,5 +2,8 @@ export declare const ENV: {
|
|
|
2
2
|
HYP_KEY?: string | undefined;
|
|
3
3
|
ANVIL_IP_ADDR?: string | undefined;
|
|
4
4
|
ANVIL_PORT?: number | undefined;
|
|
5
|
+
AWS_ACCESS_KEY_ID?: string | undefined;
|
|
6
|
+
AWS_SECRET_ACCESS_KEY?: string | undefined;
|
|
7
|
+
AWS_REGION?: string | undefined;
|
|
5
8
|
};
|
|
6
9
|
//# sourceMappingURL=env.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,GAAG;;;;;;;CAA0C,CAAC"}
|
package/dist/src/utils/env.js
CHANGED
|
@@ -3,6 +3,9 @@ const envScheme = z.object({
|
|
|
3
3
|
HYP_KEY: z.string().optional(),
|
|
4
4
|
ANVIL_IP_ADDR: z.string().optional(),
|
|
5
5
|
ANVIL_PORT: z.number().optional(),
|
|
6
|
+
AWS_ACCESS_KEY_ID: z.string().optional(),
|
|
7
|
+
AWS_SECRET_ACCESS_KEY: z.string().optional(),
|
|
8
|
+
AWS_REGION: z.string().optional(),
|
|
6
9
|
});
|
|
7
10
|
const parsedEnv = envScheme.safeParse(process.env);
|
|
8
11
|
export const ENV = parsedEnv.success ? parsedEnv.data : {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/utils/env.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAEnD,MAAM,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -3,6 +3,7 @@ export type ArtifactsFile = {
|
|
|
3
3
|
filename: string;
|
|
4
4
|
description: string;
|
|
5
5
|
};
|
|
6
|
+
export declare function resolvePath(filePath: string): string;
|
|
6
7
|
export declare function isFile(filepath: string): boolean;
|
|
7
8
|
export declare function readFileAtPath(filepath: string): string;
|
|
8
9
|
export declare function writeFileAtPath(filepath: string, value: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,WAQtC;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,UAK9C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAM9D;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMzD;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAE/C;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAM/D;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,QAEnD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,CAAC,QAQP;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,CAAC,CAE1E;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,CAAC,EAAE,UAAU,OAQpB;AAED,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,GAAE,UAAmB,OAQ5B;AAoBD,wBAAgB,iBAAiB,CAC/B,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,UAAU,GAClB,UAAU,GAAG,SAAS,CAmBxB;AAED,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,MAAM,mBA6BjB"}
|
package/dist/src/utils/files.js
CHANGED
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import { input } from '@inquirer/prompts';
|
|
2
2
|
import select from '@inquirer/select';
|
|
3
3
|
import fs from 'fs';
|
|
4
|
+
import os from 'os';
|
|
4
5
|
import path from 'path';
|
|
5
6
|
import { parse as yamlParse, stringify as yamlStringify } from 'yaml';
|
|
6
7
|
import { objMerge } from '@hyperlane-xyz/utils';
|
|
7
8
|
import { log } from '../logger.js';
|
|
9
|
+
export function resolvePath(filePath) {
|
|
10
|
+
if (filePath.startsWith('~')) {
|
|
11
|
+
const homedir = os.homedir();
|
|
12
|
+
return path.join(homedir, filePath.slice(1));
|
|
13
|
+
}
|
|
14
|
+
return filePath;
|
|
15
|
+
}
|
|
8
16
|
export function isFile(filepath) {
|
|
9
17
|
if (!filepath)
|
|
10
18
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../../src/utils/files.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils/keys.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ethers } from 'ethers';
|
|
2
|
+
import { Address } from '@hyperlane-xyz/utils';
|
|
2
3
|
/**
|
|
3
4
|
* Retrieves a signer for the current command-context.
|
|
4
5
|
* @returns the signer
|
|
@@ -14,12 +15,13 @@ export declare function getSigner({ key, skipConfirmation, }: {
|
|
|
14
15
|
* Retrieves an impersonated signer for the current command-context.
|
|
15
16
|
* @returns the impersonated signer
|
|
16
17
|
*/
|
|
17
|
-
export declare function getImpersonatedSigner({ key, skipConfirmation, }: {
|
|
18
|
+
export declare function getImpersonatedSigner({ fromAddress, key, skipConfirmation, }: {
|
|
19
|
+
fromAddress?: Address;
|
|
18
20
|
key?: string;
|
|
19
21
|
skipConfirmation?: boolean;
|
|
20
22
|
}): Promise<{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
impersonatedKey: string;
|
|
24
|
+
impersonatedSigner: ethers.providers.JsonRpcSigner;
|
|
23
25
|
}>;
|
|
24
26
|
/**
|
|
25
27
|
* Verifies the specified signer is valid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAY,MAAM,sBAAsB,CAAC;AAIzD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,EAC9B,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;GAIA;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,EAC1C,WAAW,EACX,GAAG,EACH,gBAAgB,GACjB,EAAE;IACD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;GASA;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,QAGjD"}
|
package/dist/src/utils/keys.js
CHANGED
|
@@ -3,14 +3,12 @@ import { ethers } from 'ethers';
|
|
|
3
3
|
import { impersonateAccount } from '@hyperlane-xyz/sdk';
|
|
4
4
|
import { ensure0x } from '@hyperlane-xyz/utils';
|
|
5
5
|
const ETHEREUM_ADDRESS_LENGTH = 42;
|
|
6
|
-
const DEFAULT_KEY_TYPE = 'private key';
|
|
7
|
-
const IMPERSONATED_KEY_TYPE = 'address';
|
|
8
6
|
/**
|
|
9
7
|
* Retrieves a signer for the current command-context.
|
|
10
8
|
* @returns the signer
|
|
11
9
|
*/
|
|
12
10
|
export async function getSigner({ key, skipConfirmation, }) {
|
|
13
|
-
key ||= await retrieveKey(
|
|
11
|
+
key ||= await retrieveKey(skipConfirmation);
|
|
14
12
|
const signer = privateKeyToSigner(key);
|
|
15
13
|
return { key, signer };
|
|
16
14
|
}
|
|
@@ -18,10 +16,15 @@ export async function getSigner({ key, skipConfirmation, }) {
|
|
|
18
16
|
* Retrieves an impersonated signer for the current command-context.
|
|
19
17
|
* @returns the impersonated signer
|
|
20
18
|
*/
|
|
21
|
-
export async function getImpersonatedSigner({ key, skipConfirmation, }) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
export async function getImpersonatedSigner({ fromAddress, key, skipConfirmation, }) {
|
|
20
|
+
if (!fromAddress) {
|
|
21
|
+
const { signer } = await getSigner({ key, skipConfirmation });
|
|
22
|
+
fromAddress = signer.address;
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
impersonatedKey: fromAddress,
|
|
26
|
+
impersonatedSigner: await addressToImpersonatedSigner(fromAddress),
|
|
27
|
+
};
|
|
25
28
|
}
|
|
26
29
|
/**
|
|
27
30
|
* Verifies the specified signer is valid.
|
|
@@ -41,9 +44,9 @@ async function addressToImpersonatedSigner(address) {
|
|
|
41
44
|
throw new Error('No address provided');
|
|
42
45
|
const formattedKey = address.trim().toLowerCase();
|
|
43
46
|
if (address.length != ETHEREUM_ADDRESS_LENGTH)
|
|
44
|
-
throw new Error('Invalid address length.
|
|
47
|
+
throw new Error('Invalid address length.');
|
|
45
48
|
else if (ethers.utils.isHexString(ensure0x(formattedKey)))
|
|
46
|
-
return
|
|
49
|
+
return impersonateAccount(address);
|
|
47
50
|
else
|
|
48
51
|
throw new Error('Invalid address format');
|
|
49
52
|
}
|
|
@@ -63,12 +66,12 @@ function privateKeyToSigner(key) {
|
|
|
63
66
|
else
|
|
64
67
|
throw new Error('Invalid private key format');
|
|
65
68
|
}
|
|
66
|
-
async function retrieveKey(
|
|
69
|
+
async function retrieveKey(skipConfirmation) {
|
|
67
70
|
if (skipConfirmation)
|
|
68
|
-
throw new Error(`No
|
|
71
|
+
throw new Error(`No private key provided`);
|
|
69
72
|
else
|
|
70
|
-
return
|
|
71
|
-
message: `Please enter
|
|
73
|
+
return input({
|
|
74
|
+
message: `Please enter private key or use the HYP_KEY environment variable.`,
|
|
72
75
|
});
|
|
73
76
|
}
|
|
74
77
|
//# sourceMappingURL=keys.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,uBAAuB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../../src/utils/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAa,MAAM,QAAQ,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAW,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAEnC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,EAC9B,GAAG,EACH,gBAAgB,GAIjB;IACC,GAAG,KAAK,MAAM,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACvC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,EAC1C,WAAW,EACX,GAAG,EACH,gBAAgB,GAKjB;IACC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9D,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO;QACL,eAAe,EAAE,WAAW;QAC5B,kBAAkB,EAAE,MAAM,2BAA2B,CAAC,WAAW,CAAC;KACnE,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,2BAA2B,CACxC,OAAgB;IAEhB,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,IAAI,OAAO,CAAC,MAAM,IAAI,uBAAuB;QAC3C,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;SACxC,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvD,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;;QAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;AACjD,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAClD,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;SAC9C,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;;QAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,gBAAqC;IAErC,IAAI,gBAAgB;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;;QAE/D,OAAO,KAAK,CAAC;YACX,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CommandContext } from '../context/types.js';
|
|
2
|
+
export declare function getValidatorAddress({ context, accessKey, secretKey, region, bucket, keyId, }: {
|
|
3
|
+
context: CommandContext;
|
|
4
|
+
accessKey?: string;
|
|
5
|
+
secretKey?: string;
|
|
6
|
+
region?: string;
|
|
7
|
+
bucket?: string;
|
|
8
|
+
keyId?: string;
|
|
9
|
+
}): Promise<void>;
|
|
10
|
+
//# sourceMappingURL=address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.d.ts","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,wBAAsB,mBAAmB,CAAC,EACxC,OAAO,EACP,SAAS,EACT,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,GACN,EAAE;IACD,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,iBAiCA"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { GetPublicKeyCommand, KMSClient } from '@aws-sdk/client-kms';
|
|
2
|
+
import { GetObjectCommand, S3Client } from '@aws-sdk/client-s3';
|
|
3
|
+
import { input } from '@inquirer/prompts';
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
import asn1 from 'asn1.js';
|
|
6
|
+
import { ethers } from 'ethers';
|
|
7
|
+
import { assert } from '@hyperlane-xyz/utils';
|
|
8
|
+
import { log, logBlue } from '../logger.js';
|
|
9
|
+
export async function getValidatorAddress({ context, accessKey, secretKey, region, bucket, keyId, }) {
|
|
10
|
+
if (!bucket && !keyId) {
|
|
11
|
+
throw new Error('Must provide either an S3 bucket or a KMS Key ID.');
|
|
12
|
+
}
|
|
13
|
+
// Query user for AWS parameters if not passed in or stored as .env variables
|
|
14
|
+
accessKey ||= await getAccessKeyId(context.skipConfirmation);
|
|
15
|
+
secretKey ||= await getSecretAccessKey(context.skipConfirmation);
|
|
16
|
+
region ||= await getRegion(context.skipConfirmation);
|
|
17
|
+
assert(accessKey, 'No access key ID set.');
|
|
18
|
+
assert(secretKey, 'No secret access key set.');
|
|
19
|
+
assert(region, 'No AWS region set.');
|
|
20
|
+
let validatorAddress;
|
|
21
|
+
if (bucket) {
|
|
22
|
+
validatorAddress = await getAddressFromBucket(bucket, accessKey, secretKey, region);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
validatorAddress = await getAddressFromKey(keyId, accessKey, secretKey, region);
|
|
26
|
+
}
|
|
27
|
+
logBlue('Validator address is: ');
|
|
28
|
+
log(validatorAddress);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Displays validator key address from
|
|
32
|
+
* validator announcement S3 bucket.
|
|
33
|
+
*/
|
|
34
|
+
async function getAddressFromBucket(bucket, accessKeyId, secretAccessKey, region) {
|
|
35
|
+
const s3Client = new S3Client({
|
|
36
|
+
region: region,
|
|
37
|
+
credentials: {
|
|
38
|
+
accessKeyId,
|
|
39
|
+
secretAccessKey,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const { Body } = await s3Client.send(new GetObjectCommand({
|
|
43
|
+
Bucket: bucket,
|
|
44
|
+
Key: 'announcement.json',
|
|
45
|
+
}));
|
|
46
|
+
if (Body) {
|
|
47
|
+
const announcement = JSON.parse(await Body?.transformToString());
|
|
48
|
+
return announcement['value']['validator'];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
throw new Error('Announcement file announcement.json not found in bucket');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Logs validator key address using AWS KMS key ID.
|
|
56
|
+
* Taken from github.com/tkporter/get-aws-kms-address/
|
|
57
|
+
*/
|
|
58
|
+
async function getAddressFromKey(keyId, accessKeyId, secretAccessKey, region) {
|
|
59
|
+
const client = new KMSClient({
|
|
60
|
+
region: region,
|
|
61
|
+
credentials: {
|
|
62
|
+
accessKeyId,
|
|
63
|
+
secretAccessKey,
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
const publicKeyResponse = await client.send(new GetPublicKeyCommand({ KeyId: keyId }));
|
|
67
|
+
return getEthereumAddress(Buffer.from(publicKeyResponse.PublicKey));
|
|
68
|
+
}
|
|
69
|
+
const EcdsaPubKey = asn1.define('EcdsaPubKey', function () {
|
|
70
|
+
this.seq().obj(this.key('algo').seq().obj(this.key('a').objid(), this.key('b').objid()), this.key('pubKey').bitstr());
|
|
71
|
+
});
|
|
72
|
+
function getEthereumAddress(publicKey) {
|
|
73
|
+
// The public key is ASN1 encoded in a format according to
|
|
74
|
+
// https://tools.ietf.org/html/rfc5480#section-2
|
|
75
|
+
const res = EcdsaPubKey.decode(publicKey, 'der');
|
|
76
|
+
let pubKeyBuffer = res.pubKey.data;
|
|
77
|
+
// The public key starts with a 0x04 prefix that needs to be removed
|
|
78
|
+
// more info: https://www.oreilly.com/library/view/mastering-ethereum/9781491971932/ch04.html
|
|
79
|
+
pubKeyBuffer = pubKeyBuffer.slice(1, pubKeyBuffer.length);
|
|
80
|
+
const address = ethers.utils.keccak256(pubKeyBuffer); // keccak256 hash of publicKey
|
|
81
|
+
return `0x${address.slice(-40)}`; // take last 20 bytes as ethereum address
|
|
82
|
+
}
|
|
83
|
+
async function getAccessKeyId(skipConfirmation) {
|
|
84
|
+
if (skipConfirmation)
|
|
85
|
+
throw new Error('No AWS access key ID set.');
|
|
86
|
+
else
|
|
87
|
+
return input({
|
|
88
|
+
message: 'Please enter AWS access key ID or use the AWS_ACCESS_KEY_ID environment variable.',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async function getSecretAccessKey(skipConfirmation) {
|
|
92
|
+
if (skipConfirmation)
|
|
93
|
+
throw new Error('No AWS secret access key set.');
|
|
94
|
+
else
|
|
95
|
+
return input({
|
|
96
|
+
message: 'Please enter AWS secret access key or use the AWS_SECRET_ACCESS_KEY environment variable.',
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async function getRegion(skipConfirmation) {
|
|
100
|
+
if (skipConfirmation)
|
|
101
|
+
throw new Error('No AWS region set.');
|
|
102
|
+
else
|
|
103
|
+
return input({
|
|
104
|
+
message: 'Please enter AWS region or use the AWS_REGION environment variable.',
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/validator/address.ts"],"names":[],"mappings":"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"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "
|
|
1
|
+
export declare const VERSION = "4.0.0-alpha";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,gBAAgB,CAAC"}
|
package/dist/src/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const VERSION = '
|
|
1
|
+
export const VERSION = '4.0.0-alpha';
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/dist/src/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# A config to define the core contract deployments
|
|
2
|
+
owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
3
|
+
defaultIsm:
|
|
4
|
+
type: 'testIsm'
|
|
5
|
+
threshold: 1 # Number: Signatures required to approve a message
|
|
6
|
+
validators: # Array: List of validator addresses
|
|
7
|
+
- '0xa0ee7a142d267c1f36714e4a8f75612f20a79720'
|
|
8
|
+
defaultHook:
|
|
9
|
+
type: protocolFee
|
|
10
|
+
maxProtocolFee: '1000000000000000000' # in wei (string)
|
|
11
|
+
protocolFee: '200000000000000' # in wei (string)
|
|
12
|
+
beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
13
|
+
owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
14
|
+
requiredHook:
|
|
15
|
+
type: protocolFee
|
|
16
|
+
maxProtocolFee: '1000000000000000000' # in wei (string)
|
|
17
|
+
protocolFee: '200000000000000' # in wei (string)
|
|
18
|
+
beneficiary: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
19
|
+
owner: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
package/examples/hooks.yaml
CHANGED
|
@@ -39,8 +39,10 @@ anvil1:
|
|
|
39
39
|
oracleKey: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
40
40
|
overhead:
|
|
41
41
|
anvil2: 50000 # gas amount (number)
|
|
42
|
-
|
|
43
|
-
anvil2:
|
|
42
|
+
oracleConfig:
|
|
43
|
+
anvil2:
|
|
44
|
+
gasPrice: '100'
|
|
45
|
+
tokenExchangeRate: '100'
|
|
44
46
|
anvil2:
|
|
45
47
|
required:
|
|
46
48
|
type: protocolFee
|
|
@@ -62,5 +64,7 @@ anvil2:
|
|
|
62
64
|
oracleKey: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266'
|
|
63
65
|
overhead:
|
|
64
66
|
anvil1: 50000
|
|
65
|
-
|
|
66
|
-
anvil1:
|
|
67
|
+
oracleConfig:
|
|
68
|
+
anvil1:
|
|
69
|
+
gasPrice: '100'
|
|
70
|
+
tokenExchangeRate: '100'
|
|
@@ -5,10 +5,8 @@
|
|
|
5
5
|
# native
|
|
6
6
|
# collateral
|
|
7
7
|
# synthetic
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
# fastCollateral
|
|
11
|
-
# fastSynthetic
|
|
8
|
+
#
|
|
9
|
+
# see comprehensive [list](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/token/config.ts#L8)
|
|
12
10
|
---
|
|
13
11
|
anvil1:
|
|
14
12
|
type: native
|
package/package.json
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperlane-xyz/cli",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0-alpha",
|
|
4
4
|
"description": "A command-line utility for common Hyperlane operations",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@
|
|
7
|
-
"@
|
|
8
|
-
"@hyperlane-xyz/
|
|
6
|
+
"@aws-sdk/client-kms": "^3.577.0",
|
|
7
|
+
"@aws-sdk/client-s3": "^3.577.0",
|
|
8
|
+
"@hyperlane-xyz/registry": "1.3.0",
|
|
9
|
+
"@hyperlane-xyz/sdk": "4.0.0-alpha",
|
|
10
|
+
"@hyperlane-xyz/utils": "4.0.0-alpha",
|
|
9
11
|
"@inquirer/prompts": "^3.0.0",
|
|
12
|
+
"asn1.js": "^5.4.1",
|
|
10
13
|
"bignumber.js": "^9.1.1",
|
|
11
14
|
"chalk": "^5.3.0",
|
|
12
15
|
"ethers": "^5.7.2",
|