movehat 0.1.8 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/__tests__/deployContract.test.d.ts +2 -0
- package/dist/__tests__/deployContract.test.d.ts.map +1 -0
- package/dist/__tests__/deployContract.test.js +368 -0
- package/dist/__tests__/deployContract.test.js.map +1 -0
- package/dist/__tests__/errors.test.d.ts +2 -0
- package/dist/__tests__/errors.test.d.ts.map +1 -0
- package/dist/__tests__/errors.test.js +46 -0
- package/dist/__tests__/errors.test.js.map +1 -0
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +24 -0
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +1 -0
- package/dist/__tests__/fixtures/sigint-deploy-harness.js +82 -0
- package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +1 -0
- package/dist/__tests__/fork/api.test.d.ts +2 -0
- package/dist/__tests__/fork/api.test.d.ts.map +1 -0
- package/dist/__tests__/fork/api.test.js +110 -0
- package/dist/__tests__/fork/api.test.js.map +1 -0
- package/dist/__tests__/harness/Harness.createLive.test.d.ts +2 -0
- package/dist/__tests__/harness/Harness.createLive.test.d.ts.map +1 -0
- package/dist/__tests__/harness/Harness.createLive.test.js +53 -0
- package/dist/__tests__/harness/Harness.createLive.test.js.map +1 -0
- package/dist/__tests__/harness/Harness.proxy.test.d.ts +2 -0
- package/dist/__tests__/harness/Harness.proxy.test.d.ts.map +1 -0
- package/dist/__tests__/harness/Harness.proxy.test.js +93 -0
- package/dist/__tests__/harness/Harness.proxy.test.js.map +1 -0
- package/dist/__tests__/harness/_fixture.d.ts +54 -0
- package/dist/__tests__/harness/_fixture.d.ts.map +1 -0
- package/dist/__tests__/harness/_fixture.js +69 -0
- package/dist/__tests__/harness/_fixture.js.map +1 -0
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts +2 -0
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts.map +1 -0
- package/dist/__tests__/harness/codeObject.deploy.test.js +288 -0
- package/dist/__tests__/harness/codeObject.deploy.test.js.map +1 -0
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts +2 -0
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts.map +1 -0
- package/dist/__tests__/harness/codeObject.upgrade.test.js +138 -0
- package/dist/__tests__/harness/codeObject.upgrade.test.js.map +1 -0
- package/dist/__tests__/harness/script.test.d.ts +2 -0
- package/dist/__tests__/harness/script.test.d.ts.map +1 -0
- package/dist/__tests__/harness/script.test.js +219 -0
- package/dist/__tests__/harness/script.test.js.map +1 -0
- package/dist/__tests__/harness/view.test.d.ts +2 -0
- package/dist/__tests__/harness/view.test.d.ts.map +1 -0
- package/dist/__tests__/harness/view.test.js +92 -0
- package/dist/__tests__/harness/view.test.js.map +1 -0
- package/dist/__tests__/runtime.test.d.ts +2 -0
- package/dist/__tests__/runtime.test.d.ts.map +1 -0
- package/dist/__tests__/runtime.test.js +141 -0
- package/dist/__tests__/runtime.test.js.map +1 -0
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/__tests__/compile.test.d.ts +2 -0
- package/dist/commands/__tests__/compile.test.d.ts.map +1 -0
- package/dist/commands/__tests__/compile.test.js +351 -0
- package/dist/commands/__tests__/compile.test.js.map +1 -0
- package/dist/commands/__tests__/init.test.d.ts +2 -0
- package/dist/commands/__tests__/init.test.d.ts.map +1 -0
- package/dist/commands/__tests__/init.test.js +101 -0
- package/dist/commands/__tests__/init.test.js.map +1 -0
- package/dist/commands/__tests__/run.test.d.ts +2 -0
- package/dist/commands/__tests__/run.test.d.ts.map +1 -0
- package/dist/commands/__tests__/run.test.js +166 -0
- package/dist/commands/__tests__/run.test.js.map +1 -0
- package/dist/commands/__tests__/test-move.test.d.ts +2 -0
- package/dist/commands/__tests__/test-move.test.d.ts.map +1 -0
- package/dist/commands/__tests__/test-move.test.js +59 -0
- package/dist/commands/__tests__/test-move.test.js.map +1 -0
- package/dist/commands/__tests__/test.test.d.ts +2 -0
- package/dist/commands/__tests__/test.test.d.ts.map +1 -0
- package/dist/commands/__tests__/test.test.js +168 -0
- package/dist/commands/__tests__/test.test.js.map +1 -0
- package/dist/commands/__tests__/update.test.d.ts +2 -0
- package/dist/commands/__tests__/update.test.d.ts.map +1 -0
- package/dist/commands/__tests__/update.test.js +176 -0
- package/dist/commands/__tests__/update.test.js.map +1 -0
- package/dist/commands/compile.d.ts +7 -1
- package/dist/commands/compile.d.ts.map +1 -1
- package/dist/commands/compile.js +150 -33
- package/dist/commands/compile.js.map +1 -1
- package/dist/commands/fork/__tests__/create.test.d.ts +2 -0
- package/dist/commands/fork/__tests__/create.test.d.ts.map +1 -0
- package/dist/commands/fork/__tests__/create.test.js +108 -0
- package/dist/commands/fork/__tests__/create.test.js.map +1 -0
- package/dist/commands/fork/__tests__/fund.test.d.ts +2 -0
- package/dist/commands/fork/__tests__/fund.test.d.ts.map +1 -0
- package/dist/commands/fork/__tests__/fund.test.js +72 -0
- package/dist/commands/fork/__tests__/fund.test.js.map +1 -0
- package/dist/commands/fork/__tests__/list.test.d.ts +2 -0
- package/dist/commands/fork/__tests__/list.test.d.ts.map +1 -0
- package/dist/commands/fork/__tests__/list.test.js +119 -0
- package/dist/commands/fork/__tests__/list.test.js.map +1 -0
- package/dist/commands/fork/__tests__/serve.test.d.ts +2 -0
- package/dist/commands/fork/__tests__/serve.test.d.ts.map +1 -0
- package/dist/commands/fork/__tests__/serve.test.js +97 -0
- package/dist/commands/fork/__tests__/serve.test.js.map +1 -0
- package/dist/commands/fork/__tests__/view-resource.test.d.ts +2 -0
- package/dist/commands/fork/__tests__/view-resource.test.d.ts.map +1 -0
- package/dist/commands/fork/__tests__/view-resource.test.js +77 -0
- package/dist/commands/fork/__tests__/view-resource.test.js.map +1 -0
- package/dist/commands/fork/create.d.ts +1 -1
- package/dist/commands/fork/create.d.ts.map +1 -1
- package/dist/commands/fork/create.js +3 -2
- package/dist/commands/fork/create.js.map +1 -1
- package/dist/commands/fork/fund.d.ts.map +1 -1
- package/dist/commands/fork/fund.js +15 -8
- package/dist/commands/fork/fund.js.map +1 -1
- package/dist/commands/fork/list.d.ts.map +1 -1
- package/dist/commands/fork/list.js +2 -1
- package/dist/commands/fork/list.js.map +1 -1
- package/dist/commands/fork/serve.d.ts +1 -0
- package/dist/commands/fork/serve.d.ts.map +1 -1
- package/dist/commands/fork/serve.js +4 -2
- package/dist/commands/fork/serve.js.map +1 -1
- package/dist/commands/fork/view-resource.d.ts.map +1 -1
- package/dist/commands/fork/view-resource.js +10 -5
- package/dist/commands/fork/view-resource.js.map +1 -1
- package/dist/commands/run.d.ts +15 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +50 -27
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/test-move.d.ts.map +1 -1
- package/dist/commands/test-move.js +3 -2
- package/dist/commands/test-move.js.map +1 -1
- package/dist/commands/test.js +52 -46
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +15 -13
- package/dist/commands/update.js.map +1 -1
- package/dist/core/AccountManager.d.ts +1 -1
- package/dist/core/AccountManager.d.ts.map +1 -1
- package/dist/core/AccountManager.js +20 -7
- package/dist/core/AccountManager.js.map +1 -1
- package/dist/core/Publisher.d.ts +31 -0
- package/dist/core/Publisher.d.ts.map +1 -0
- package/dist/core/Publisher.js +248 -0
- package/dist/core/Publisher.js.map +1 -0
- package/dist/core/__tests__/AccountManager.test.d.ts +2 -0
- package/dist/core/__tests__/AccountManager.test.d.ts.map +1 -0
- package/dist/core/__tests__/AccountManager.test.js +239 -0
- package/dist/core/__tests__/AccountManager.test.js.map +1 -0
- package/dist/core/__tests__/config.test.d.ts +2 -0
- package/dist/core/__tests__/config.test.d.ts.map +1 -0
- package/dist/core/__tests__/config.test.js +311 -0
- package/dist/core/__tests__/config.test.js.map +1 -0
- package/dist/core/__tests__/deployments.test.d.ts +2 -0
- package/dist/core/__tests__/deployments.test.d.ts.map +1 -0
- package/dist/core/__tests__/deployments.test.js +201 -0
- package/dist/core/__tests__/deployments.test.js.map +1 -0
- package/dist/core/__tests__/shell.test.d.ts +2 -0
- package/dist/core/__tests__/shell.test.d.ts.map +1 -0
- package/dist/core/__tests__/shell.test.js +107 -0
- package/dist/core/__tests__/shell.test.js.map +1 -0
- package/dist/core/config.d.ts +13 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +80 -11
- package/dist/core/config.js.map +1 -1
- package/dist/core/contract.d.ts +1 -1
- package/dist/core/contract.d.ts.map +1 -1
- package/dist/core/contract.js +15 -4
- package/dist/core/contract.js.map +1 -1
- package/dist/core/deployments.d.ts +2 -2
- package/dist/core/deployments.d.ts.map +1 -1
- package/dist/core/deployments.js +8 -6
- package/dist/core/deployments.js.map +1 -1
- package/dist/core/movementProfile.d.ts +34 -0
- package/dist/core/movementProfile.d.ts.map +1 -0
- package/dist/core/movementProfile.js +150 -0
- package/dist/core/movementProfile.js.map +1 -0
- package/dist/core/shell.d.ts +23 -7
- package/dist/core/shell.d.ts.map +1 -1
- package/dist/core/shell.js +32 -14
- package/dist/core/shell.js.map +1 -1
- package/dist/errors.d.ts +35 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +54 -0
- package/dist/errors.js.map +1 -1
- package/dist/fork/__tests__/manager.test.d.ts +2 -0
- package/dist/fork/__tests__/manager.test.d.ts.map +1 -0
- package/dist/fork/__tests__/manager.test.js +309 -0
- package/dist/fork/__tests__/manager.test.js.map +1 -0
- package/dist/fork/__tests__/server.test.d.ts +2 -0
- package/dist/fork/__tests__/server.test.d.ts.map +1 -0
- package/dist/fork/__tests__/server.test.js +54 -0
- package/dist/fork/__tests__/server.test.js.map +1 -0
- package/dist/fork/__tests__/storage.test.d.ts +2 -0
- package/dist/fork/__tests__/storage.test.d.ts.map +1 -0
- package/dist/fork/__tests__/storage.test.js +222 -0
- package/dist/fork/__tests__/storage.test.js.map +1 -0
- package/dist/fork/__tests__/test.test.d.ts +2 -0
- package/dist/fork/__tests__/test.test.d.ts.map +1 -0
- package/dist/fork/__tests__/test.test.js +81 -0
- package/dist/fork/__tests__/test.test.js.map +1 -0
- package/dist/fork/api.d.ts +14 -3
- package/dist/fork/api.d.ts.map +1 -1
- package/dist/fork/api.js +25 -14
- package/dist/fork/api.js.map +1 -1
- package/dist/fork/manager.d.ts +23 -9
- package/dist/fork/manager.d.ts.map +1 -1
- package/dist/fork/manager.js +79 -36
- package/dist/fork/manager.js.map +1 -1
- package/dist/fork/server.d.ts +11 -3
- package/dist/fork/server.d.ts.map +1 -1
- package/dist/fork/server.js +45 -13
- package/dist/fork/server.js.map +1 -1
- package/dist/fork/storage.d.ts +4 -4
- package/dist/fork/storage.d.ts.map +1 -1
- package/dist/fork/storage.js +7 -9
- package/dist/fork/storage.js.map +1 -1
- package/dist/fork/test.d.ts +13 -4
- package/dist/fork/test.d.ts.map +1 -1
- package/dist/fork/test.js +36 -27
- package/dist/fork/test.js.map +1 -1
- package/dist/harness/Harness.d.ts +124 -0
- package/dist/harness/Harness.d.ts.map +1 -0
- package/dist/harness/Harness.js +193 -0
- package/dist/harness/Harness.js.map +1 -0
- package/dist/harness/codeObject.d.ts +31 -0
- package/dist/harness/codeObject.d.ts.map +1 -0
- package/dist/harness/codeObject.js +271 -0
- package/dist/harness/codeObject.js.map +1 -0
- package/dist/harness/errors.d.ts +14 -0
- package/dist/harness/errors.d.ts.map +1 -0
- package/dist/harness/errors.js +22 -0
- package/dist/harness/errors.js.map +1 -0
- package/dist/harness/index.d.ts +4 -0
- package/dist/harness/index.d.ts.map +1 -0
- package/dist/harness/index.js +3 -0
- package/dist/harness/index.js.map +1 -0
- package/dist/harness/proxy.d.ts +7 -0
- package/dist/harness/proxy.d.ts.map +1 -0
- package/dist/harness/proxy.js +36 -0
- package/dist/harness/proxy.js.map +1 -0
- package/dist/harness/script.d.ts +21 -0
- package/dist/harness/script.d.ts.map +1 -0
- package/dist/harness/script.js +155 -0
- package/dist/harness/script.js.map +1 -0
- package/dist/harness/view.d.ts +22 -0
- package/dist/harness/view.d.ts.map +1 -0
- package/dist/harness/view.js +28 -0
- package/dist/harness/view.js.map +1 -0
- package/dist/helpers/__tests__/semver-utils.test.d.ts +2 -0
- package/dist/helpers/__tests__/semver-utils.test.d.ts.map +1 -0
- package/dist/helpers/__tests__/semver-utils.test.js +103 -0
- package/dist/helpers/__tests__/semver-utils.test.js.map +1 -0
- package/dist/helpers/index.d.ts +3 -2
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/index.js +2 -2
- package/dist/helpers/index.js.map +1 -1
- package/dist/helpers/move-tests.d.ts +3 -3
- package/dist/helpers/move-tests.d.ts.map +1 -1
- package/dist/helpers/move-tests.js +21 -20
- package/dist/helpers/move-tests.js.map +1 -1
- package/dist/helpers/npm-registry.d.ts.map +1 -1
- package/dist/helpers/npm-registry.js +1 -3
- package/dist/helpers/npm-registry.js.map +1 -1
- package/dist/helpers/semver-utils.d.ts.map +1 -1
- package/dist/helpers/semver-utils.js +4 -3
- package/dist/helpers/semver-utils.js.map +1 -1
- package/dist/helpers/setup.d.ts.map +1 -1
- package/dist/helpers/setup.js +10 -6
- package/dist/helpers/setup.js.map +1 -1
- package/dist/helpers/setupLocalTesting.d.ts +32 -27
- package/dist/helpers/setupLocalTesting.d.ts.map +1 -1
- package/dist/helpers/setupLocalTesting.js +179 -180
- package/dist/helpers/setupLocalTesting.js.map +1 -1
- package/dist/helpers/testFixtures.d.ts +19 -53
- package/dist/helpers/testFixtures.d.ts.map +1 -1
- package/dist/helpers/testFixtures.js +89 -107
- package/dist/helpers/testFixtures.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -3
- package/dist/index.js.map +1 -1
- package/dist/node/LocalNodeManager.d.ts +9 -1
- package/dist/node/LocalNodeManager.d.ts.map +1 -1
- package/dist/node/LocalNodeManager.js +75 -58
- package/dist/node/LocalNodeManager.js.map +1 -1
- package/dist/node/__tests__/LocalNodeManager.test.d.ts +2 -0
- package/dist/node/__tests__/LocalNodeManager.test.d.ts.map +1 -0
- package/dist/node/__tests__/LocalNodeManager.test.js +349 -0
- package/dist/node/__tests__/LocalNodeManager.test.js.map +1 -0
- package/dist/runtime.d.ts +12 -15
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +32 -241
- package/dist/runtime.js.map +1 -1
- package/dist/templates/README.md +1 -1
- package/dist/templates/movehat.config.ts +10 -0
- package/dist/templates/package.json +2 -1
- package/dist/templates/scripts/deploy-counter.ts +46 -38
- package/dist/templates/tests/Counter.test.ts +51 -51
- package/dist/templates/types/movehat.d.ts +6 -9
- package/dist/types/config.d.ts +8 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/fork.d.ts +7 -1
- package/dist/types/fork.d.ts.map +1 -1
- package/dist/types/harness.d.ts +166 -0
- package/dist/types/harness.d.ts.map +1 -0
- package/dist/types/harness.js +2 -0
- package/dist/types/harness.js.map +1 -0
- package/dist/types/runtime.d.ts +7 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/ui/__tests__/colors.test.d.ts +2 -0
- package/dist/ui/__tests__/colors.test.d.ts.map +1 -0
- package/dist/ui/__tests__/colors.test.js +127 -0
- package/dist/ui/__tests__/colors.test.js.map +1 -0
- package/dist/ui/colors.d.ts.map +1 -1
- package/dist/ui/colors.js +6 -2
- package/dist/ui/colors.js.map +1 -1
- package/dist/ui/logger.d.ts +17 -0
- package/dist/ui/logger.d.ts.map +1 -1
- package/dist/ui/logger.js +22 -0
- package/dist/ui/logger.js.map +1 -1
- package/dist/ui/symbols.d.ts +1 -0
- package/dist/ui/symbols.d.ts.map +1 -1
- package/dist/ui/symbols.js +7 -1
- package/dist/ui/symbols.js.map +1 -1
- package/dist/utils/__tests__/address.test.d.ts +2 -0
- package/dist/utils/__tests__/address.test.d.ts.map +1 -0
- package/dist/utils/__tests__/address.test.js +70 -0
- package/dist/utils/__tests__/address.test.js.map +1 -0
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts +2 -0
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts.map +1 -0
- package/dist/utils/__tests__/childProcessAdapter.test.js +217 -0
- package/dist/utils/__tests__/childProcessAdapter.test.js.map +1 -0
- package/dist/utils/__tests__/runCli.test.d.ts +2 -0
- package/dist/utils/__tests__/runCli.test.d.ts.map +1 -0
- package/dist/utils/__tests__/runCli.test.js +187 -0
- package/dist/utils/__tests__/runCli.test.js.map +1 -0
- package/dist/utils/address.d.ts +33 -0
- package/dist/utils/address.d.ts.map +1 -0
- package/dist/utils/address.js +52 -0
- package/dist/utils/address.js.map +1 -0
- package/dist/utils/childProcessAdapter.d.ts +93 -0
- package/dist/utils/childProcessAdapter.d.ts.map +1 -0
- package/dist/utils/childProcessAdapter.js +109 -0
- package/dist/utils/childProcessAdapter.js.map +1 -0
- package/dist/utils/parseCliOutput.d.ts +20 -0
- package/dist/utils/parseCliOutput.d.ts.map +1 -0
- package/dist/utils/parseCliOutput.js +26 -0
- package/dist/utils/parseCliOutput.js.map +1 -0
- package/dist/utils/redact.d.ts +15 -0
- package/dist/utils/redact.d.ts.map +1 -0
- package/dist/utils/redact.js +24 -0
- package/dist/utils/redact.js.map +1 -0
- package/dist/utils/runCli.d.ts +24 -0
- package/dist/utils/runCli.d.ts.map +1 -0
- package/dist/utils/runCli.js +37 -0
- package/dist/utils/runCli.js.map +1 -0
- package/package.json +14 -4
- package/src/__tests__/deployContract.test.ts +429 -0
- package/src/__tests__/errors.test.ts +84 -0
- package/src/__tests__/fixtures/sigint-deploy-harness.ts +95 -0
- package/src/__tests__/fork/api.test.ts +143 -0
- package/src/__tests__/harness/Harness.createLive.test.ts +57 -0
- package/src/__tests__/harness/Harness.proxy.test.ts +115 -0
- package/src/__tests__/harness/_fixture.ts +131 -0
- package/src/__tests__/harness/codeObject.deploy.test.ts +319 -0
- package/src/__tests__/harness/codeObject.upgrade.test.ts +156 -0
- package/src/__tests__/harness/script.test.ts +245 -0
- package/src/__tests__/harness/view.test.ts +104 -0
- package/src/__tests__/runtime.test.ts +182 -0
- package/src/cli.ts +2 -1
- package/src/commands/__tests__/compile.test.ts +407 -0
- package/src/commands/__tests__/init.test.ts +125 -0
- package/src/commands/__tests__/run.test.ts +192 -0
- package/src/commands/__tests__/test-move.test.ts +81 -0
- package/src/commands/__tests__/test.test.ts +204 -0
- package/src/commands/__tests__/update.test.ts +223 -0
- package/src/commands/compile.ts +168 -32
- package/src/commands/fork/__tests__/create.test.ts +132 -0
- package/src/commands/fork/__tests__/fund.test.ts +104 -0
- package/src/commands/fork/__tests__/list.test.ts +139 -0
- package/src/commands/fork/__tests__/serve.test.ts +121 -0
- package/src/commands/fork/__tests__/view-resource.test.ts +101 -0
- package/src/commands/fork/create.ts +4 -3
- package/src/commands/fork/fund.ts +16 -9
- package/src/commands/fork/list.ts +3 -2
- package/src/commands/fork/serve.ts +6 -3
- package/src/commands/fork/view-resource.ts +11 -6
- package/src/commands/run.ts +54 -28
- package/src/commands/test-move.ts +4 -3
- package/src/commands/test.ts +56 -44
- package/src/commands/update.ts +19 -16
- package/src/core/AccountManager.ts +23 -10
- package/src/core/Publisher.ts +322 -0
- package/src/core/__tests__/AccountManager.test.ts +290 -0
- package/src/core/__tests__/config.test.ts +377 -0
- package/src/core/__tests__/deployments.test.ts +247 -0
- package/src/core/__tests__/shell.test.ts +138 -0
- package/src/core/config.ts +96 -12
- package/src/core/contract.ts +13 -4
- package/src/core/deployments.ts +13 -11
- package/src/core/movementProfile.ts +179 -0
- package/src/core/shell.ts +34 -14
- package/src/errors.ts +60 -0
- package/src/fork/__tests__/manager.test.ts +385 -0
- package/src/fork/__tests__/server.test.ts +65 -0
- package/src/fork/__tests__/storage.test.ts +281 -0
- package/src/fork/__tests__/test.test.ts +97 -0
- package/src/fork/api.ts +28 -14
- package/src/fork/manager.ts +88 -43
- package/src/fork/server.ts +53 -19
- package/src/fork/storage.ts +12 -15
- package/src/fork/test.ts +58 -32
- package/src/harness/Harness.ts +228 -0
- package/src/harness/codeObject.ts +388 -0
- package/src/harness/errors.ts +22 -0
- package/src/harness/index.ts +3 -0
- package/src/harness/proxy.ts +40 -0
- package/src/harness/script.ts +196 -0
- package/src/harness/view.ts +34 -0
- package/src/helpers/__tests__/semver-utils.test.ts +121 -0
- package/src/helpers/index.ts +2 -8
- package/src/helpers/move-tests.ts +27 -23
- package/src/helpers/npm-registry.ts +4 -3
- package/src/helpers/semver-utils.ts +4 -3
- package/src/helpers/setup.ts +9 -5
- package/src/helpers/setupLocalTesting.ts +219 -200
- package/src/helpers/testFixtures.ts +106 -118
- package/src/index.ts +9 -3
- package/src/node/LocalNodeManager.ts +87 -62
- package/src/node/__tests__/LocalNodeManager.test.ts +452 -0
- package/src/runtime.ts +33 -289
- package/src/templates/README.md +1 -1
- package/src/templates/movehat.config.ts +10 -0
- package/src/templates/package.json +2 -1
- package/src/templates/scripts/deploy-counter.ts +46 -38
- package/src/templates/tests/Counter.test.ts +51 -51
- package/src/templates/types/movehat.d.ts +6 -9
- package/src/types/config.ts +8 -0
- package/src/types/fork.ts +7 -1
- package/src/types/harness.ts +182 -0
- package/src/types/runtime.ts +11 -3
- package/src/ui/__tests__/colors.test.ts +156 -0
- package/src/ui/colors.ts +5 -2
- package/src/ui/logger.ts +22 -0
- package/src/ui/symbols.ts +7 -1
- package/src/utils/__tests__/address.test.ts +93 -0
- package/src/utils/__tests__/childProcessAdapter.test.ts +266 -0
- package/src/utils/__tests__/runCli.test.ts +240 -0
- package/src/utils/address.ts +56 -0
- package/src/utils/childProcessAdapter.ts +215 -0
- package/src/utils/parseCliOutput.ts +27 -0
- package/src/utils/redact.ts +24 -0
- package/src/utils/runCli.ts +64 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { MovehatRuntime } from "../types/runtime.js";
|
|
2
|
+
import type { RunMoveScriptOptions, MoveScriptResult } from "../types/harness.js";
|
|
3
|
+
/**
|
|
4
|
+
* Execute a Move script via `movement move run-script`.
|
|
5
|
+
*
|
|
6
|
+
* Auto-detects the script kind from the extension:
|
|
7
|
+
* - `.move` source → `--script-path` (CLI compiles inline)
|
|
8
|
+
* - `.mv` compiled bytecode → `--compiled-script-path`
|
|
9
|
+
*
|
|
10
|
+
* Reuses Publisher's security model via the shared `movementProfile`
|
|
11
|
+
* helpers: per-deploy unique profile, atomic 0o600 yaml writes under
|
|
12
|
+
* the mutex, SIGINT-safe sync cleanup, `--profile` auth (key never
|
|
13
|
+
* appears in `ps` output).
|
|
14
|
+
*
|
|
15
|
+
* Returns {@link MoveScriptResult}. `txHash` is guaranteed; `success`
|
|
16
|
+
* and `vmStatus` are best-effort parsed from the CLI's Result JSON.
|
|
17
|
+
*
|
|
18
|
+
* @internal — called from `Harness.runMoveScript`.
|
|
19
|
+
*/
|
|
20
|
+
export declare function runMoveScript(runtime: MovehatRuntime, options: RunMoveScriptOptions): Promise<MoveScriptResult>;
|
|
21
|
+
//# sourceMappingURL=script.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../../src/harness/script.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAe7B;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAqI3B"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { existsSync } from "fs";
|
|
2
|
+
import { homedir } from "os";
|
|
3
|
+
import { extname, join } from "path";
|
|
4
|
+
import { randomUUID } from "crypto";
|
|
5
|
+
import { validatePathSafety, validateProfileSafety } from "../core/shell.js";
|
|
6
|
+
import { CliExecutionError } from "../errors.js";
|
|
7
|
+
import { runCli } from "../utils/runCli.js";
|
|
8
|
+
import { parseTxHash } from "../utils/parseCliOutput.js";
|
|
9
|
+
import { logger } from "../ui/index.js";
|
|
10
|
+
import { withYamlLock, addProfile, removeProfile, removeProfileSync, ensureSignalHandler, cleanupCallbacks, } from "../core/movementProfile.js";
|
|
11
|
+
/**
|
|
12
|
+
* Execute a Move script via `movement move run-script`.
|
|
13
|
+
*
|
|
14
|
+
* Auto-detects the script kind from the extension:
|
|
15
|
+
* - `.move` source → `--script-path` (CLI compiles inline)
|
|
16
|
+
* - `.mv` compiled bytecode → `--compiled-script-path`
|
|
17
|
+
*
|
|
18
|
+
* Reuses Publisher's security model via the shared `movementProfile`
|
|
19
|
+
* helpers: per-deploy unique profile, atomic 0o600 yaml writes under
|
|
20
|
+
* the mutex, SIGINT-safe sync cleanup, `--profile` auth (key never
|
|
21
|
+
* appears in `ps` output).
|
|
22
|
+
*
|
|
23
|
+
* Returns {@link MoveScriptResult}. `txHash` is guaranteed; `success`
|
|
24
|
+
* and `vmStatus` are best-effort parsed from the CLI's Result JSON.
|
|
25
|
+
*
|
|
26
|
+
* @internal — called from `Harness.runMoveScript`.
|
|
27
|
+
*/
|
|
28
|
+
export async function runMoveScript(runtime, options) {
|
|
29
|
+
const config = runtime.config;
|
|
30
|
+
const account = runtime.account;
|
|
31
|
+
// Synchronous validation before any CLI call.
|
|
32
|
+
if (!options.scriptPath || typeof options.scriptPath !== "string") {
|
|
33
|
+
throw new Error("Harness.runMoveScript requires options.scriptPath (string path to .move or .mv).");
|
|
34
|
+
}
|
|
35
|
+
const ext = extname(options.scriptPath).toLowerCase();
|
|
36
|
+
let scriptFlag;
|
|
37
|
+
if (ext === ".move") {
|
|
38
|
+
scriptFlag = "--script-path";
|
|
39
|
+
}
|
|
40
|
+
else if (ext === ".mv") {
|
|
41
|
+
scriptFlag = "--compiled-script-path";
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new Error(`Harness.runMoveScript: unsupported script extension '${ext || "<none>"}'. ` +
|
|
45
|
+
`Expected '.move' (source — CLI auto-compiles) or '.mv' (pre-compiled bytecode).`);
|
|
46
|
+
}
|
|
47
|
+
if (!existsSync(options.scriptPath)) {
|
|
48
|
+
throw new Error(`Harness.runMoveScript: script not found at '${options.scriptPath}'.`);
|
|
49
|
+
}
|
|
50
|
+
const safeScriptPath = validatePathSafety(options.scriptPath, "script path");
|
|
51
|
+
const profile = `movehat-script-${randomUUID().slice(0, 8)}`;
|
|
52
|
+
const safeProfile = validateProfileSafety(profile);
|
|
53
|
+
logger.step(`Running Move script '${options.scriptPath}' on ${config.network}...`);
|
|
54
|
+
try {
|
|
55
|
+
const deployerAddress = account.accountAddress.toString();
|
|
56
|
+
let cleanPrivateKey = config.privateKey;
|
|
57
|
+
if (cleanPrivateKey.startsWith("ed25519-priv-")) {
|
|
58
|
+
cleanPrivateKey = cleanPrivateKey.replace("ed25519-priv-", "");
|
|
59
|
+
}
|
|
60
|
+
const movementConfigPath = join(homedir(), ".aptos", "config.yaml");
|
|
61
|
+
ensureSignalHandler();
|
|
62
|
+
const syncCleanup = () => removeProfileSync(movementConfigPath, profile);
|
|
63
|
+
cleanupCallbacks.add(syncCleanup);
|
|
64
|
+
await withYamlLock(() => addProfile(movementConfigPath, profile, {
|
|
65
|
+
private_key: cleanPrivateKey,
|
|
66
|
+
public_key: account.publicKey.toString(),
|
|
67
|
+
account: deployerAddress,
|
|
68
|
+
rest_url: config.rpc,
|
|
69
|
+
}));
|
|
70
|
+
let scriptOut = "";
|
|
71
|
+
try {
|
|
72
|
+
const typeArgsFragment = options.typeArgs && options.typeArgs.length > 0
|
|
73
|
+
? ["--type-args", ...options.typeArgs]
|
|
74
|
+
: [];
|
|
75
|
+
const argsFragment = options.args && options.args.length > 0
|
|
76
|
+
? ["--args", ...options.args]
|
|
77
|
+
: [];
|
|
78
|
+
const result = await runCli({
|
|
79
|
+
command: "movement",
|
|
80
|
+
args: [
|
|
81
|
+
"move",
|
|
82
|
+
"run-script",
|
|
83
|
+
"--profile",
|
|
84
|
+
safeProfile,
|
|
85
|
+
"--url",
|
|
86
|
+
config.rpc,
|
|
87
|
+
"--assume-yes",
|
|
88
|
+
scriptFlag,
|
|
89
|
+
safeScriptPath,
|
|
90
|
+
...typeArgsFragment,
|
|
91
|
+
...argsFragment,
|
|
92
|
+
],
|
|
93
|
+
timeoutMs: 120000,
|
|
94
|
+
}, { adapter: options.adapter });
|
|
95
|
+
scriptOut = result.stdout;
|
|
96
|
+
if (result.stdout)
|
|
97
|
+
console.log(result.stdout.trim());
|
|
98
|
+
if (result.stderr)
|
|
99
|
+
console.error(result.stderr.trim());
|
|
100
|
+
}
|
|
101
|
+
finally {
|
|
102
|
+
await withYamlLock(() => removeProfile(movementConfigPath, profile)).catch((err) => {
|
|
103
|
+
const cleanupMsg = err instanceof Error ? err.message : String(err);
|
|
104
|
+
logger.warning(`Failed to remove script profile "${profile}" from ${movementConfigPath}: ${cleanupMsg}. ` +
|
|
105
|
+
`Run 'movement config delete-profile --profile ${profile}' to clean up manually.`);
|
|
106
|
+
});
|
|
107
|
+
cleanupCallbacks.delete(syncCleanup);
|
|
108
|
+
}
|
|
109
|
+
const txHash = parseTxHash(scriptOut);
|
|
110
|
+
if (!txHash) {
|
|
111
|
+
throw new Error(`Could not parse transaction hash from 'move run-script' output. ` +
|
|
112
|
+
`Captured stdout:\n${scriptOut.slice(0, 1000)}`);
|
|
113
|
+
}
|
|
114
|
+
const success = parseSuccess(scriptOut);
|
|
115
|
+
const vmStatus = parseVmStatus(scriptOut);
|
|
116
|
+
logger.success(`Move script executed (tx ${txHash}).`);
|
|
117
|
+
const out = { txHash };
|
|
118
|
+
if (success !== undefined)
|
|
119
|
+
out.success = success;
|
|
120
|
+
if (vmStatus !== undefined)
|
|
121
|
+
out.vmStatus = vmStatus;
|
|
122
|
+
return out;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
if (error instanceof CliExecutionError) {
|
|
126
|
+
if (error.stdoutPreview)
|
|
127
|
+
console.log(error.stdoutPreview);
|
|
128
|
+
logger.error(`Failed to run Move script: ${error.message}\n${error.stderr}`);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
const err = error instanceof Error ? error : new Error(String(error));
|
|
132
|
+
logger.error(`Failed to run Move script: ${err.message}`);
|
|
133
|
+
}
|
|
134
|
+
throw error;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Best-effort parse of the `"success": true|false` field from
|
|
139
|
+
* Movement CLI's Result JSON block. Returns `undefined` on no match.
|
|
140
|
+
*/
|
|
141
|
+
function parseSuccess(stdout) {
|
|
142
|
+
const m = stdout.match(/"success"\s*:\s*(true|false)/);
|
|
143
|
+
if (!m)
|
|
144
|
+
return undefined;
|
|
145
|
+
return m[1] === "true";
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Best-effort parse of the `"vm_status"` string. Returns `undefined`
|
|
149
|
+
* on no match.
|
|
150
|
+
*/
|
|
151
|
+
function parseVmStatus(stdout) {
|
|
152
|
+
const m = stdout.match(/"vm_status"\s*:\s*"([^"]*)"/);
|
|
153
|
+
return m?.[1];
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=script.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"script.js","sourceRoot":"","sources":["../../src/harness/script.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;IACtD,IAAI,UAAsD,CAAC;IAC3D,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,UAAU,GAAG,eAAe,CAAC;IAC/B,CAAC;SAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACzB,UAAU,GAAG,wBAAwB,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,IAAI,QAAQ,KAAK;YAC1E,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,CAAC,UAAU,IAAI,CACtE,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,kBAAkB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAC7D,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,CAAC,IAAI,CACT,wBAAwB,OAAO,CAAC,UAAU,QAAQ,MAAM,CAAC,OAAO,KAAK,CACtE,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QAE1D,IAAI,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QACxC,IAAI,eAAe,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEpE,mBAAmB,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACzE,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAElC,MAAM,YAAY,CAAC,GAAG,EAAE,CACtB,UAAU,CAAC,kBAAkB,EAAE,OAAO,EAAE;YACtC,WAAW,EAAE,eAAe;YAC5B,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;YACxC,OAAO,EAAE,eAAe;YACxB,QAAQ,EAAE,MAAM,CAAC,GAAG;SACrB,CAAC,CACH,CAAC;QAEF,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,gBAAgB,GACpB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAC7C,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;gBACtC,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;gBACrC,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;gBAC7B,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,MAAM,GAAG,MAAM,MAAM,CACzB;gBACE,OAAO,EAAE,UAAU;gBACnB,IAAI,EAAE;oBACJ,MAAM;oBACN,YAAY;oBACZ,WAAW;oBACX,WAAW;oBACX,OAAO;oBACP,MAAM,CAAC,GAAG;oBACV,cAAc;oBACd,UAAU;oBACV,cAAc;oBACd,GAAG,gBAAgB;oBACnB,GAAG,YAAY;iBAChB;gBACD,SAAS,EAAE,MAAM;aAClB,EACD,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAC7B,CAAC;YACF,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACrD,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CACxE,CAAC,GAAG,EAAE,EAAE;gBACN,MAAM,UAAU,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpE,MAAM,CAAC,OAAO,CACZ,oCAAoC,OAAO,UAAU,kBAAkB,KAAK,UAAU,IAAI;oBACxF,iDAAiD,OAAO,yBAAyB,CACpF,CAAC;YACJ,CAAC,CACF,CAAC;YACF,gBAAgB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CACb,kEAAkE;gBAChE,qBAAqB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAClD,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;QAE1C,MAAM,CAAC,OAAO,CAAC,4BAA4B,MAAM,IAAI,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAqB,EAAE,MAAM,EAAE,CAAC;QACzC,IAAI,OAAO,KAAK,SAAS;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS;YAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,IAAI,KAAK,CAAC,aAAa;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,8BAA8B,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACtE,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACvD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACtD,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { MovehatRuntime } from "../types/runtime.js";
|
|
2
|
+
import type { RunViewFunctionOptions } from "../types/harness.js";
|
|
3
|
+
/**
|
|
4
|
+
* Execute a Move view function via the Aptos SDK (no CLI invocation).
|
|
5
|
+
*
|
|
6
|
+
* Returns the SDK's raw `unknown[]` — the Move boundary may return a
|
|
7
|
+
* tuple of any arity. Callers destructure:
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const [count] = await harness.runViewFunction({
|
|
11
|
+
* function: "0xCAFE::counter::get",
|
|
12
|
+
* functionArguments: ["0xdeployer"],
|
|
13
|
+
* });
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* Works on all 3 harness modes (createLocal, createFork, createLive) —
|
|
17
|
+
* view functions read on-chain state without writing.
|
|
18
|
+
*
|
|
19
|
+
* @internal — called from `Harness.runViewFunction`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runViewFunction(runtime: MovehatRuntime, options: RunViewFunctionOptions): Promise<unknown[]>;
|
|
22
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../src/harness/view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,OAAO,EAAE,CAAC,CAQpB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Execute a Move view function via the Aptos SDK (no CLI invocation).
|
|
3
|
+
*
|
|
4
|
+
* Returns the SDK's raw `unknown[]` — the Move boundary may return a
|
|
5
|
+
* tuple of any arity. Callers destructure:
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const [count] = await harness.runViewFunction({
|
|
9
|
+
* function: "0xCAFE::counter::get",
|
|
10
|
+
* functionArguments: ["0xdeployer"],
|
|
11
|
+
* });
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* Works on all 3 harness modes (createLocal, createFork, createLive) —
|
|
15
|
+
* view functions read on-chain state without writing.
|
|
16
|
+
*
|
|
17
|
+
* @internal — called from `Harness.runViewFunction`.
|
|
18
|
+
*/
|
|
19
|
+
export async function runViewFunction(runtime, options) {
|
|
20
|
+
return runtime.aptos.view({
|
|
21
|
+
payload: {
|
|
22
|
+
function: options.function,
|
|
23
|
+
typeArguments: options.typeArguments ?? [],
|
|
24
|
+
functionArguments: (options.functionArguments ?? []),
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/harness/view.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAuB,EACvB,OAA+B;IAE/B,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;QACxB,OAAO,EAAE;YACP,QAAQ,EAAE,OAAO,CAAC,QAA0B;YAC5C,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,EAAE;YAC1C,iBAAiB,EAAE,CAAC,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAY;SAChE;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver-utils.test.d.ts","sourceRoot":"","sources":["../../../src/helpers/__tests__/semver-utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { isNewerVersion } from '../semver-utils.js';
|
|
3
|
+
describe('isNewerVersion', () => {
|
|
4
|
+
describe('standard semver comparisons', () => {
|
|
5
|
+
it('should detect newer major version', () => {
|
|
6
|
+
expect(isNewerVersion('1.0.0', '2.0.0')).toBe(true);
|
|
7
|
+
expect(isNewerVersion('0.1.0', '1.0.0')).toBe(true);
|
|
8
|
+
});
|
|
9
|
+
it('should detect newer minor version', () => {
|
|
10
|
+
expect(isNewerVersion('1.0.0', '1.1.0')).toBe(true);
|
|
11
|
+
expect(isNewerVersion('1.5.0', '1.6.0')).toBe(true);
|
|
12
|
+
});
|
|
13
|
+
it('should detect newer patch version', () => {
|
|
14
|
+
expect(isNewerVersion('1.0.0', '1.0.1')).toBe(true);
|
|
15
|
+
expect(isNewerVersion('1.0.9', '1.0.10')).toBe(true);
|
|
16
|
+
});
|
|
17
|
+
it('should return false for same version', () => {
|
|
18
|
+
expect(isNewerVersion('1.0.0', '1.0.0')).toBe(false);
|
|
19
|
+
expect(isNewerVersion('2.5.3', '2.5.3')).toBe(false);
|
|
20
|
+
});
|
|
21
|
+
it('should return false for older versions', () => {
|
|
22
|
+
expect(isNewerVersion('2.0.0', '1.0.0')).toBe(false);
|
|
23
|
+
expect(isNewerVersion('1.1.0', '1.0.0')).toBe(false);
|
|
24
|
+
expect(isNewerVersion('1.0.1', '1.0.0')).toBe(false);
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
describe('variable-length version handling', () => {
|
|
28
|
+
it('should handle two-part versions', () => {
|
|
29
|
+
expect(isNewerVersion('1.0', '1.1')).toBe(true);
|
|
30
|
+
expect(isNewerVersion('1.0', '2.0')).toBe(true);
|
|
31
|
+
expect(isNewerVersion('1.1', '1.0')).toBe(false);
|
|
32
|
+
});
|
|
33
|
+
it('should compare versions with different lengths', () => {
|
|
34
|
+
expect(isNewerVersion('1.0', '1.0.1')).toBe(true);
|
|
35
|
+
expect(isNewerVersion('1.0.0', '1.1')).toBe(true);
|
|
36
|
+
expect(isNewerVersion('1.0.1', '1.0')).toBe(false);
|
|
37
|
+
});
|
|
38
|
+
it('should handle four-part versions', () => {
|
|
39
|
+
expect(isNewerVersion('1.0.0.0', '1.0.0.1')).toBe(true);
|
|
40
|
+
expect(isNewerVersion('1.0.0.1', '1.0.0.0')).toBe(false);
|
|
41
|
+
});
|
|
42
|
+
it('should treat missing parts as zero', () => {
|
|
43
|
+
expect(isNewerVersion('1.0', '1.0.0')).toBe(false);
|
|
44
|
+
expect(isNewerVersion('1.0.0', '1.0')).toBe(false);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe('pre-release version handling', () => {
|
|
48
|
+
it('should consider stable newer than pre-release with same base', () => {
|
|
49
|
+
expect(isNewerVersion('1.0.0-alpha', '1.0.0')).toBe(true);
|
|
50
|
+
expect(isNewerVersion('1.0.0-beta.1', '1.0.0')).toBe(true);
|
|
51
|
+
expect(isNewerVersion('1.0.0-rc.1', '1.0.0')).toBe(true);
|
|
52
|
+
});
|
|
53
|
+
it('should consider pre-release older than stable with same base', () => {
|
|
54
|
+
expect(isNewerVersion('1.0.0', '1.0.0-alpha')).toBe(false);
|
|
55
|
+
expect(isNewerVersion('1.0.0', '1.0.0-beta.1')).toBe(false);
|
|
56
|
+
});
|
|
57
|
+
it('should strip pre-release tags for base comparison', () => {
|
|
58
|
+
expect(isNewerVersion('1.0.0-alpha', '1.1.0-alpha')).toBe(true);
|
|
59
|
+
expect(isNewerVersion('1.0.0-alpha', '2.0.0-beta')).toBe(true);
|
|
60
|
+
});
|
|
61
|
+
it('should handle complex pre-release tags', () => {
|
|
62
|
+
expect(isNewerVersion('1.0.0-alpha.0', '1.0.0')).toBe(true);
|
|
63
|
+
expect(isNewerVersion('1.0.0-beta.2.3', '1.0.0')).toBe(true);
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
describe('edge cases', () => {
|
|
67
|
+
it('should handle large version numbers', () => {
|
|
68
|
+
expect(isNewerVersion('100.200.300', '100.200.301')).toBe(true);
|
|
69
|
+
expect(isNewerVersion('999.999.999', '1000.0.0')).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
it('should handle version 0.x.x correctly', () => {
|
|
72
|
+
expect(isNewerVersion('0.0.1', '0.0.2')).toBe(true);
|
|
73
|
+
expect(isNewerVersion('0.1.0', '0.2.0')).toBe(true);
|
|
74
|
+
expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
|
|
75
|
+
});
|
|
76
|
+
it('should throw for invalid version format', () => {
|
|
77
|
+
expect(() => isNewerVersion('invalid', '1.0.0')).toThrow('Invalid version format');
|
|
78
|
+
expect(() => isNewerVersion('1.0.0', 'invalid')).toThrow('Invalid version format');
|
|
79
|
+
expect(() => isNewerVersion('1.a.0', '1.0.0')).toThrow('Invalid version format');
|
|
80
|
+
expect(() => isNewerVersion('1..0', '1.0.0')).toThrow('Invalid version format');
|
|
81
|
+
});
|
|
82
|
+
it('should reject versions with unstripped "v" prefix', () => {
|
|
83
|
+
// isNewerVersion expects pre-stripped versions; callers must remove leading "v".
|
|
84
|
+
expect(() => isNewerVersion('v1.0.0', '1.0.0')).toThrow('Invalid version format');
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('real-world scenarios', () => {
|
|
88
|
+
it('should handle npm-style version bumps', () => {
|
|
89
|
+
// Patch bump
|
|
90
|
+
expect(isNewerVersion('0.1.5', '0.1.6')).toBe(true);
|
|
91
|
+
// Minor bump
|
|
92
|
+
expect(isNewerVersion('0.1.6', '0.2.0')).toBe(true);
|
|
93
|
+
// Major bump
|
|
94
|
+
expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
|
|
95
|
+
});
|
|
96
|
+
it('should handle movehat version progression', () => {
|
|
97
|
+
expect(isNewerVersion('0.0.1', '0.1.0')).toBe(true);
|
|
98
|
+
expect(isNewerVersion('0.1.0', '0.1.1')).toBe(true);
|
|
99
|
+
expect(isNewerVersion('0.1.9', '0.1.10')).toBe(true);
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
});
|
|
103
|
+
//# sourceMappingURL=semver-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"semver-utils.test.js","sourceRoot":"","sources":["../../../src/helpers/__tests__/semver-utils.test.ts"],"names":[],"mappings":"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"}
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -11,8 +11,9 @@ export { AccountManager } from "../core/AccountManager.js";
|
|
|
11
11
|
export type { StoredAccount } from "../core/AccountManager.js";
|
|
12
12
|
export { LocalNodeManager } from "../node/LocalNodeManager.js";
|
|
13
13
|
export type { LocalNodeOptions, LocalNodeInfo } from "../node/LocalNodeManager.js";
|
|
14
|
-
export { setupLocalTesting
|
|
15
|
-
export {
|
|
14
|
+
export { setupLocalTesting } from "./setupLocalTesting.js";
|
|
15
|
+
export type { LocalTestingContext } from "./setupLocalTesting.js";
|
|
16
|
+
export { setupTestFixture, setupMinimalFixture, } from "./testFixtures.js";
|
|
16
17
|
export type { TestFixture } from "./testFixtures.js";
|
|
17
18
|
export type { MovehatConfig, LocalTestOptions } from "../types/config.js";
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACrE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAChE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC"}
|
package/dist/helpers/index.js
CHANGED
|
@@ -6,6 +6,6 @@ export { saveDeployment, loadDeployment, getAllDeployments, getDeployedAddress,
|
|
|
6
6
|
export { snapshot, getForkInfo, viewForkResource, compareForkState, listSnapshots, } from "../fork/test.js";
|
|
7
7
|
export { AccountManager } from "../core/AccountManager.js";
|
|
8
8
|
export { LocalNodeManager } from "../node/LocalNodeManager.js";
|
|
9
|
-
export { setupLocalTesting
|
|
10
|
-
export { setupTestFixture,
|
|
9
|
+
export { setupLocalTesting } from "./setupLocalTesting.js";
|
|
10
|
+
export { setupTestFixture, setupMinimalFixture, } from "./testFixtures.js";
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAErE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EACL,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface RunMoveTestsOptions {
|
|
2
|
-
filter?: string;
|
|
3
|
-
ignoreWarnings?: boolean;
|
|
4
|
-
skipIfMissing?: boolean;
|
|
2
|
+
filter?: string | undefined;
|
|
3
|
+
ignoreWarnings?: boolean | undefined;
|
|
4
|
+
skipIfMissing?: boolean | undefined;
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Run Move unit tests using Movement CLI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-tests.d.ts","sourceRoot":"","sources":["../../src/helpers/move-tests.ts"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"move-tests.d.ts","sourceRoot":"","sources":["../../src/helpers/move-tests.ts"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,aAAa,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuDnF"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { spawn } from "child_process";
|
|
2
1
|
import { existsSync } from "fs";
|
|
3
2
|
import { resolve } from "path";
|
|
4
3
|
import { loadUserConfig } from "../core/config.js";
|
|
4
|
+
import { runCli } from "../utils/runCli.js";
|
|
5
5
|
/**
|
|
6
6
|
* Run Move unit tests using Movement CLI
|
|
7
7
|
* @param options Test options including filter, warnings, and skip behavior
|
|
@@ -30,25 +30,26 @@ export async function runMoveTests(options = {}) {
|
|
|
30
30
|
if (options.ignoreWarnings) {
|
|
31
31
|
args.push("--ignore-compile-warnings");
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
let result;
|
|
34
|
+
try {
|
|
35
|
+
result = await runCli({
|
|
36
|
+
command: "movement",
|
|
37
|
+
args,
|
|
36
38
|
cwd: process.cwd(),
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
});
|
|
39
|
+
inheritStdio: true,
|
|
40
|
+
}, { throwOnNonZeroExit: false });
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// Spawn-time failure (ENOENT, etc.). The original code logged a
|
|
44
|
+
// Movement-CLI-install hint here; keep that.
|
|
45
|
+
console.error(`Failed to run Move tests: ${error.message}`);
|
|
46
|
+
console.error(" Make sure Movement CLI is installed");
|
|
47
|
+
throw error;
|
|
48
|
+
}
|
|
49
|
+
if (result.exitCode === 0) {
|
|
50
|
+
console.log("\n✓ Move tests passed");
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
throw new Error("Move tests failed");
|
|
53
54
|
}
|
|
54
55
|
//# sourceMappingURL=move-tests.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-tests.js","sourceRoot":"","sources":["../../src/helpers/move-tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"move-tests.js","sourceRoot":"","sources":["../../src/helpers/move-tests.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAQ5C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,UAA+B,EAAE;IAClE,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,CAAC;IAEvE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CACb,6BAA6B,OAAO,IAAI;gBACxC,wCAAwC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAExD,2CAA2C;IAC3C,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CACnB;YACE,OAAO,EAAE,UAAU;YACnB,IAAI;YACJ,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,YAAY,EAAE,IAAI;SACnB,EACD,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAC9B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gEAAgE;QAChE,6CAA6C;QAC7C,OAAO,CAAC,KAAK,CAAC,6BAA8B,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,OAAO;IACT,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../src/helpers/npm-registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"npm-registry.d.ts","sourceRoot":"","sources":["../../src/helpers/npm-registry.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiDxB"}
|
|
@@ -11,9 +11,7 @@ export async function fetchLatestVersion(packageName, options = {}) {
|
|
|
11
11
|
const timeoutId = timeout > 0 && controller
|
|
12
12
|
? setTimeout(() => controller.abort(), timeout)
|
|
13
13
|
: undefined;
|
|
14
|
-
const response = await fetch(`https://registry.npmjs.org/${packageName}`, {
|
|
15
|
-
signal: controller?.signal,
|
|
16
|
-
});
|
|
14
|
+
const response = await fetch(`https://registry.npmjs.org/${packageName}`, controller ? { signal: controller.signal } : {});
|
|
17
15
|
if (timeoutId)
|
|
18
16
|
clearTimeout(timeoutId);
|
|
19
17
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../../src/helpers/npm-registry.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,UAAwB,EAAE;IAE1B,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,IAAI,UAAU;YACzC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"npm-registry.js","sourceRoot":"","sources":["../../src/helpers/npm-registry.ts"],"names":[],"mappings":"AAaA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,UAAwB,EAAE;IAE1B,MAAM,EAAE,OAAO,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,IAAI,UAAU;YACzC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC;YAC/C,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,8BAA8B,WAAW,EAAE,EAC3C,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAChD,CAAC;QAEF,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,iCAAiC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;YAChF,IAAI,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;QAE5D,sDAAsD;QACtD,IACE,CAAC,IAAI;YACL,OAAO,IAAI,KAAK,QAAQ;YACxB,CAAC,IAAI,CAAC,WAAW,CAAC;YAClB,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,QAAQ;YACrC,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,QAAQ,EAC5C,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,8EAA8E,CAC/E,CAAC;YACF,IAAI,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC;QACJ,CAAC;QACD,kDAAkD;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver-utils.d.ts","sourceRoot":"","sources":["../../src/helpers/semver-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"semver-utils.d.ts","sourceRoot":"","sources":["../../src/helpers/semver-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAgDlF"}
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* Handles variable-length versions (1.2, 1.2.3, 1.2.3.4, etc.)
|
|
5
5
|
*/
|
|
6
6
|
export function isNewerVersion(currentVersion, newVersion) {
|
|
7
|
-
// Remove any pre-release tags (e.g., -alpha.0, -beta.1)
|
|
8
|
-
|
|
9
|
-
const
|
|
7
|
+
// Remove any pre-release tags (e.g., -alpha.0, -beta.1).
|
|
8
|
+
// String.split always returns ≥1 element; `?? ""` is a no-op narrowing.
|
|
9
|
+
const cleanCurrent = currentVersion.split("-")[0] ?? "";
|
|
10
|
+
const cleanNew = newVersion.split("-")[0] ?? "";
|
|
10
11
|
// Split and validate numeric parts
|
|
11
12
|
const currentParts = cleanCurrent.split(".").map((part) => {
|
|
12
13
|
const num = Number(part);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semver-utils.js","sourceRoot":"","sources":["../../src/helpers/semver-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,cAAsB,EAAE,UAAkB;IACvE,
|
|
1
|
+
{"version":3,"file":"semver-utils.js","sourceRoot":"","sources":["../../src/helpers/semver-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,cAAsB,EAAE,UAAkB;IACvE,yDAAyD;IACzD,wEAAwE;IACxE,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,mCAAmC;IACnC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,cAAc,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,EAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAErC,IAAI,SAAS,GAAG,WAAW;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,SAAS,GAAG,WAAW;YAAE,OAAO,KAAK,CAAC;IAC5C,CAAC;IAED,qDAAqD;IACrD,4EAA4E;IAC5E,MAAM,oBAAoB,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAElD,IAAI,CAAC,oBAAoB,IAAI,gBAAgB,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,+CAA+C;IAC/D,CAAC;IAED,IAAI,oBAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,+CAA+C;IAC9D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,KAAK,EAIN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,wBAAsB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CA6BzF;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
|
package/dist/helpers/setup.js
CHANGED
|
@@ -1,22 +1,26 @@
|
|
|
1
|
-
import { Aptos, AptosConfig, } from "@aptos-labs/ts-sdk";
|
|
1
|
+
import { Aptos, AptosConfig, Network, } from "@aptos-labs/ts-sdk";
|
|
2
2
|
import { loadUserConfig, resolveNetworkConfig } from "../core/config.js";
|
|
3
3
|
import { AccountManager } from "../core/AccountManager.js";
|
|
4
|
+
import { logger } from "../ui/index.js";
|
|
4
5
|
export async function setupTestEnvironment(networkName) {
|
|
5
6
|
// Load and resolve config for selected network
|
|
6
7
|
const userConfig = await loadUserConfig();
|
|
7
8
|
const network = networkName || process.env.MH_CLI_NETWORK;
|
|
8
9
|
const config = await resolveNetworkConfig(userConfig, network);
|
|
10
|
+
// Movement Network uses custom chain IDs, so we need to use Network.CUSTOM
|
|
11
|
+
// and let the SDK fetch the actual chainId from the node
|
|
9
12
|
const aptosConfig = new AptosConfig({
|
|
10
|
-
network:
|
|
13
|
+
network: Network.CUSTOM,
|
|
11
14
|
fullnode: config.rpc,
|
|
12
15
|
});
|
|
13
16
|
const aptos = new Aptos(aptosConfig);
|
|
14
17
|
// Load account using AccountManager
|
|
15
18
|
const account = AccountManager.loadAccountFromPrivateKey(config.privateKey);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
logger.success("Test environment ready");
|
|
20
|
+
logger.plain(` Account: ${account.accountAddress.toString()}`);
|
|
21
|
+
logger.plain(` Network: ${config.network}`);
|
|
22
|
+
logger.plain(` RPC: ${config.rpc}`);
|
|
23
|
+
logger.newline();
|
|
20
24
|
return {
|
|
21
25
|
aptos,
|
|
22
26
|
account,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/helpers/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,EACL,WAAW,EAEX,OAAO,GACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAQxC,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAoB;IAC7D,+CAA+C;IAC/C,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAE/D,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;QAClC,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,QAAQ,EAAE,MAAM,CAAC,GAAG;KACrB,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;IAErC,oCAAoC;IACpC,MAAM,OAAO,GAAG,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAE5E,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACzC,MAAM,CAAC,KAAK,CAAC,eAAe,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,eAAe,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,OAAO,EAAE,CAAC;IAEjB,OAAO;QACL,KAAK;QACL,OAAO;QACP,MAAM;KACP,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC7B,OAAO,cAAc,CAAC,aAAa,EAAE,CAAC;AAC1C,CAAC"}
|