movehat 0.2.3 → 0.2.5
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.d.ts +0 -1
- package/dist/cli.js +0 -1
- package/dist/commands/compile.d.ts +0 -1
- package/dist/commands/compile.js +0 -1
- package/dist/commands/fork/create.d.ts +1 -1
- package/dist/commands/fork/create.js +18 -3
- package/dist/commands/fork/fund.d.ts +0 -1
- package/dist/commands/fork/fund.js +0 -1
- package/dist/commands/fork/list.d.ts +0 -1
- package/dist/commands/fork/list.js +0 -1
- package/dist/commands/fork/serve.d.ts +0 -1
- package/dist/commands/fork/serve.js +0 -1
- package/dist/commands/fork/view-resource.d.ts +0 -1
- package/dist/commands/fork/view-resource.js +0 -1
- package/dist/commands/init.d.ts +0 -1
- package/dist/commands/init.js +0 -1
- package/dist/commands/run.d.ts +0 -1
- package/dist/commands/run.js +0 -1
- package/dist/commands/test-move.d.ts +0 -1
- package/dist/commands/test-move.js +0 -1
- package/dist/commands/test.d.ts +0 -1
- package/dist/commands/test.js +8 -1
- package/dist/commands/update.d.ts +0 -1
- package/dist/commands/update.js +0 -1
- package/dist/core/AccountManager.d.ts +15 -2
- package/dist/core/AccountManager.js +32 -20
- package/dist/core/Publisher.d.ts +0 -1
- package/dist/core/Publisher.js +0 -1
- package/dist/core/config.d.ts +0 -1
- package/dist/core/config.js +0 -1
- package/dist/core/contract.d.ts +0 -1
- package/dist/core/contract.js +0 -1
- package/dist/core/deployments.d.ts +0 -1
- package/dist/core/deployments.js +0 -1
- package/dist/core/movementProfile.d.ts +0 -1
- package/dist/core/movementProfile.js +0 -1
- package/dist/core/shell.d.ts +0 -1
- package/dist/core/shell.js +0 -1
- package/dist/errors.d.ts +0 -1
- package/dist/errors.js +0 -1
- package/dist/fork/api.d.ts +24 -1
- package/dist/fork/api.js +95 -1
- package/dist/fork/manager.d.ts +15 -2
- package/dist/fork/manager.js +20 -2
- package/dist/fork/server.d.ts +19 -1
- package/dist/fork/server.js +188 -8
- package/dist/fork/storage.d.ts +0 -1
- package/dist/fork/storage.js +50 -32
- package/dist/fork/test.d.ts +0 -1
- package/dist/fork/test.js +0 -1
- package/dist/harness/Harness.d.ts +0 -1
- package/dist/harness/Harness.js +6 -2
- package/dist/harness/codeObject.d.ts +0 -1
- package/dist/harness/codeObject.js +0 -1
- package/dist/harness/errors.d.ts +0 -1
- package/dist/harness/errors.js +0 -1
- package/dist/harness/index.d.ts +0 -1
- package/dist/harness/index.js +0 -1
- package/dist/harness/proxy.d.ts +12 -1
- package/dist/harness/proxy.js +23 -1
- package/dist/harness/script.d.ts +0 -1
- package/dist/harness/script.js +0 -1
- package/dist/harness/view.d.ts +0 -1
- package/dist/harness/view.js +0 -1
- package/dist/helpers/assertions.d.ts +0 -1
- package/dist/helpers/assertions.js +0 -1
- package/dist/helpers/banner.d.ts +0 -1
- package/dist/helpers/banner.js +0 -1
- package/dist/helpers/index.d.ts +0 -1
- package/dist/helpers/index.js +0 -1
- package/dist/helpers/move-tests.d.ts +0 -1
- package/dist/helpers/move-tests.js +0 -1
- package/dist/helpers/npm-registry.d.ts +0 -1
- package/dist/helpers/npm-registry.js +0 -1
- package/dist/helpers/semver-utils.d.ts +0 -1
- package/dist/helpers/semver-utils.js +0 -1
- package/dist/helpers/setup.d.ts +0 -1
- package/dist/helpers/setup.js +0 -1
- package/dist/helpers/setupLocalTesting.d.ts +2 -5
- package/dist/helpers/setupLocalTesting.js +2 -3
- package/dist/helpers/testFixtures.d.ts +0 -1
- package/dist/helpers/testFixtures.js +0 -1
- package/dist/helpers/version-check.d.ts +0 -1
- package/dist/helpers/version-check.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/node/LocalNodeManager.d.ts +1 -2
- package/dist/node/LocalNodeManager.js +6 -4
- package/dist/runtime.d.ts +0 -1
- package/dist/runtime.js +0 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/config.js +0 -1
- package/dist/types/fork.d.ts +0 -1
- package/dist/types/fork.js +0 -1
- package/dist/types/harness.d.ts +0 -1
- package/dist/types/harness.js +0 -1
- package/dist/types/runtime.d.ts +0 -1
- package/dist/types/runtime.js +0 -1
- package/dist/ui/colors.d.ts +0 -1
- package/dist/ui/colors.js +0 -1
- package/dist/ui/formatters.d.ts +0 -1
- package/dist/ui/formatters.js +0 -1
- package/dist/ui/index.d.ts +0 -1
- package/dist/ui/index.js +0 -1
- package/dist/ui/logger.d.ts +0 -1
- package/dist/ui/logger.js +0 -1
- package/dist/ui/spinner.d.ts +0 -1
- package/dist/ui/spinner.js +0 -1
- package/dist/ui/symbols.d.ts +0 -1
- package/dist/ui/symbols.js +0 -1
- package/dist/ui/table.d.ts +0 -1
- package/dist/ui/table.js +0 -1
- package/dist/utils/address.d.ts +0 -1
- package/dist/utils/address.js +0 -1
- package/dist/utils/childProcessAdapter.d.ts +0 -1
- package/dist/utils/childProcessAdapter.js +46 -20
- package/dist/utils/movementCli.d.ts +5 -0
- package/dist/utils/movementCli.js +91 -0
- package/dist/utils/parseCliOutput.d.ts +0 -1
- package/dist/utils/parseCliOutput.js +0 -1
- package/dist/utils/redact.d.ts +3 -3
- package/dist/utils/redact.js +6 -5
- package/dist/utils/runCli.d.ts +0 -1
- package/dist/utils/runCli.js +10 -2
- package/package.json +4 -4
- package/dist/__tests__/deployContract.test.d.ts +0 -2
- package/dist/__tests__/deployContract.test.d.ts.map +0 -1
- package/dist/__tests__/deployContract.test.js +0 -377
- package/dist/__tests__/deployContract.test.js.map +0 -1
- package/dist/__tests__/errors.test.d.ts +0 -2
- package/dist/__tests__/errors.test.d.ts.map +0 -1
- package/dist/__tests__/errors.test.js +0 -46
- package/dist/__tests__/errors.test.js.map +0 -1
- package/dist/__tests__/exports.test.d.ts +0 -2
- package/dist/__tests__/exports.test.d.ts.map +0 -1
- package/dist/__tests__/exports.test.js +0 -30
- package/dist/__tests__/exports.test.js.map +0 -1
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts +0 -25
- package/dist/__tests__/fixtures/sigint-deploy-harness.d.ts.map +0 -1
- package/dist/__tests__/fixtures/sigint-deploy-harness.js +0 -83
- package/dist/__tests__/fixtures/sigint-deploy-harness.js.map +0 -1
- package/dist/__tests__/fork/api.test.d.ts +0 -2
- package/dist/__tests__/fork/api.test.d.ts.map +0 -1
- package/dist/__tests__/fork/api.test.js +0 -115
- package/dist/__tests__/fork/api.test.js.map +0 -1
- package/dist/__tests__/fork/api.timeout.test.d.ts +0 -2
- package/dist/__tests__/fork/api.timeout.test.d.ts.map +0 -1
- package/dist/__tests__/fork/api.timeout.test.js +0 -98
- package/dist/__tests__/fork/api.timeout.test.js.map +0 -1
- package/dist/__tests__/harness/Harness.createLive.test.d.ts +0 -2
- package/dist/__tests__/harness/Harness.createLive.test.d.ts.map +0 -1
- package/dist/__tests__/harness/Harness.createLive.test.js +0 -53
- package/dist/__tests__/harness/Harness.createLive.test.js.map +0 -1
- package/dist/__tests__/harness/Harness.proxy.test.d.ts +0 -2
- package/dist/__tests__/harness/Harness.proxy.test.d.ts.map +0 -1
- package/dist/__tests__/harness/Harness.proxy.test.js +0 -89
- package/dist/__tests__/harness/Harness.proxy.test.js.map +0 -1
- package/dist/__tests__/harness/_fixture.d.ts +0 -54
- package/dist/__tests__/harness/_fixture.d.ts.map +0 -1
- package/dist/__tests__/harness/_fixture.js +0 -69
- package/dist/__tests__/harness/_fixture.js.map +0 -1
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts +0 -2
- package/dist/__tests__/harness/codeObject.deploy.test.d.ts.map +0 -1
- package/dist/__tests__/harness/codeObject.deploy.test.js +0 -288
- package/dist/__tests__/harness/codeObject.deploy.test.js.map +0 -1
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts +0 -2
- package/dist/__tests__/harness/codeObject.upgrade.test.d.ts.map +0 -1
- package/dist/__tests__/harness/codeObject.upgrade.test.js +0 -138
- package/dist/__tests__/harness/codeObject.upgrade.test.js.map +0 -1
- package/dist/__tests__/harness/script.test.d.ts +0 -2
- package/dist/__tests__/harness/script.test.d.ts.map +0 -1
- package/dist/__tests__/harness/script.test.js +0 -219
- package/dist/__tests__/harness/script.test.js.map +0 -1
- package/dist/__tests__/harness/view.test.d.ts +0 -2
- package/dist/__tests__/harness/view.test.d.ts.map +0 -1
- package/dist/__tests__/harness/view.test.js +0 -92
- package/dist/__tests__/harness/view.test.js.map +0 -1
- package/dist/__tests__/runtime.test.d.ts +0 -2
- package/dist/__tests__/runtime.test.d.ts.map +0 -1
- package/dist/__tests__/runtime.test.js +0 -141
- package/dist/__tests__/runtime.test.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/commands/__tests__/compile.test.d.ts +0 -2
- package/dist/commands/__tests__/compile.test.d.ts.map +0 -1
- package/dist/commands/__tests__/compile.test.js +0 -351
- package/dist/commands/__tests__/compile.test.js.map +0 -1
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts +0 -2
- package/dist/commands/__tests__/compile.toml-mutation.test.d.ts.map +0 -1
- package/dist/commands/__tests__/compile.toml-mutation.test.js +0 -69
- package/dist/commands/__tests__/compile.toml-mutation.test.js.map +0 -1
- package/dist/commands/__tests__/init.test.d.ts +0 -2
- package/dist/commands/__tests__/init.test.d.ts.map +0 -1
- package/dist/commands/__tests__/init.test.js +0 -163
- package/dist/commands/__tests__/init.test.js.map +0 -1
- package/dist/commands/__tests__/run.test.d.ts +0 -2
- package/dist/commands/__tests__/run.test.d.ts.map +0 -1
- package/dist/commands/__tests__/run.test.js +0 -166
- package/dist/commands/__tests__/run.test.js.map +0 -1
- package/dist/commands/__tests__/test-move.test.d.ts +0 -2
- package/dist/commands/__tests__/test-move.test.d.ts.map +0 -1
- package/dist/commands/__tests__/test-move.test.js +0 -59
- package/dist/commands/__tests__/test-move.test.js.map +0 -1
- package/dist/commands/__tests__/test.test.d.ts +0 -2
- package/dist/commands/__tests__/test.test.d.ts.map +0 -1
- package/dist/commands/__tests__/test.test.js +0 -168
- package/dist/commands/__tests__/test.test.js.map +0 -1
- package/dist/commands/__tests__/update.test.d.ts +0 -2
- package/dist/commands/__tests__/update.test.d.ts.map +0 -1
- package/dist/commands/__tests__/update.test.js +0 -176
- package/dist/commands/__tests__/update.test.js.map +0 -1
- package/dist/commands/compile.d.ts.map +0 -1
- package/dist/commands/compile.js.map +0 -1
- package/dist/commands/fork/__tests__/create.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/create.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/create.test.js +0 -108
- package/dist/commands/fork/__tests__/create.test.js.map +0 -1
- package/dist/commands/fork/__tests__/fund.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/fund.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/fund.test.js +0 -72
- package/dist/commands/fork/__tests__/fund.test.js.map +0 -1
- package/dist/commands/fork/__tests__/list.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/list.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/list.test.js +0 -119
- package/dist/commands/fork/__tests__/list.test.js.map +0 -1
- package/dist/commands/fork/__tests__/serve.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/serve.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/serve.test.js +0 -97
- package/dist/commands/fork/__tests__/serve.test.js.map +0 -1
- package/dist/commands/fork/__tests__/view-resource.test.d.ts +0 -2
- package/dist/commands/fork/__tests__/view-resource.test.d.ts.map +0 -1
- package/dist/commands/fork/__tests__/view-resource.test.js +0 -77
- package/dist/commands/fork/__tests__/view-resource.test.js.map +0 -1
- package/dist/commands/fork/create.d.ts.map +0 -1
- package/dist/commands/fork/create.js.map +0 -1
- package/dist/commands/fork/fund.d.ts.map +0 -1
- package/dist/commands/fork/fund.js.map +0 -1
- package/dist/commands/fork/list.d.ts.map +0 -1
- package/dist/commands/fork/list.js.map +0 -1
- package/dist/commands/fork/serve.d.ts.map +0 -1
- package/dist/commands/fork/serve.js.map +0 -1
- package/dist/commands/fork/view-resource.d.ts.map +0 -1
- package/dist/commands/fork/view-resource.js.map +0 -1
- package/dist/commands/init.d.ts.map +0 -1
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/run.d.ts.map +0 -1
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/test-move.d.ts.map +0 -1
- package/dist/commands/test-move.js.map +0 -1
- package/dist/commands/test.d.ts.map +0 -1
- package/dist/commands/test.js.map +0 -1
- package/dist/commands/update.d.ts.map +0 -1
- package/dist/commands/update.js.map +0 -1
- package/dist/core/AccountManager.d.ts.map +0 -1
- package/dist/core/AccountManager.js.map +0 -1
- package/dist/core/Publisher.d.ts.map +0 -1
- package/dist/core/Publisher.js.map +0 -1
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts +0 -2
- package/dist/core/__tests__/AccountManager.global-state.test.d.ts.map +0 -1
- package/dist/core/__tests__/AccountManager.global-state.test.js +0 -69
- package/dist/core/__tests__/AccountManager.global-state.test.js.map +0 -1
- package/dist/core/__tests__/AccountManager.test.d.ts +0 -2
- package/dist/core/__tests__/AccountManager.test.d.ts.map +0 -1
- package/dist/core/__tests__/AccountManager.test.js +0 -239
- package/dist/core/__tests__/AccountManager.test.js.map +0 -1
- package/dist/core/__tests__/config.test.d.ts +0 -2
- package/dist/core/__tests__/config.test.d.ts.map +0 -1
- package/dist/core/__tests__/config.test.js +0 -311
- package/dist/core/__tests__/config.test.js.map +0 -1
- package/dist/core/__tests__/deployments.test.d.ts +0 -2
- package/dist/core/__tests__/deployments.test.d.ts.map +0 -1
- package/dist/core/__tests__/deployments.test.js +0 -201
- package/dist/core/__tests__/deployments.test.js.map +0 -1
- package/dist/core/__tests__/movementProfile.test.d.ts +0 -2
- package/dist/core/__tests__/movementProfile.test.d.ts.map +0 -1
- package/dist/core/__tests__/movementProfile.test.js +0 -112
- package/dist/core/__tests__/movementProfile.test.js.map +0 -1
- package/dist/core/__tests__/shell.test.d.ts +0 -2
- package/dist/core/__tests__/shell.test.d.ts.map +0 -1
- package/dist/core/__tests__/shell.test.js +0 -107
- package/dist/core/__tests__/shell.test.js.map +0 -1
- package/dist/core/config.d.ts.map +0 -1
- package/dist/core/config.js.map +0 -1
- package/dist/core/contract.d.ts.map +0 -1
- package/dist/core/contract.js.map +0 -1
- package/dist/core/deployments.d.ts.map +0 -1
- package/dist/core/deployments.js.map +0 -1
- package/dist/core/movementProfile.d.ts.map +0 -1
- package/dist/core/movementProfile.js.map +0 -1
- package/dist/core/shell.d.ts.map +0 -1
- package/dist/core/shell.js.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js.map +0 -1
- package/dist/fork/__tests__/manager.test.d.ts +0 -2
- package/dist/fork/__tests__/manager.test.d.ts.map +0 -1
- package/dist/fork/__tests__/manager.test.js +0 -309
- package/dist/fork/__tests__/manager.test.js.map +0 -1
- package/dist/fork/__tests__/server.cors.test.d.ts +0 -2
- package/dist/fork/__tests__/server.cors.test.d.ts.map +0 -1
- package/dist/fork/__tests__/server.cors.test.js +0 -79
- package/dist/fork/__tests__/server.cors.test.js.map +0 -1
- package/dist/fork/__tests__/server.test.d.ts +0 -2
- package/dist/fork/__tests__/server.test.d.ts.map +0 -1
- package/dist/fork/__tests__/server.test.js +0 -54
- package/dist/fork/__tests__/server.test.js.map +0 -1
- package/dist/fork/__tests__/storage.test.d.ts +0 -2
- package/dist/fork/__tests__/storage.test.d.ts.map +0 -1
- package/dist/fork/__tests__/storage.test.js +0 -222
- package/dist/fork/__tests__/storage.test.js.map +0 -1
- package/dist/fork/__tests__/test.test.d.ts +0 -2
- package/dist/fork/__tests__/test.test.d.ts.map +0 -1
- package/dist/fork/__tests__/test.test.js +0 -81
- package/dist/fork/__tests__/test.test.js.map +0 -1
- package/dist/fork/api.d.ts.map +0 -1
- package/dist/fork/api.js.map +0 -1
- package/dist/fork/manager.d.ts.map +0 -1
- package/dist/fork/manager.js.map +0 -1
- package/dist/fork/server.d.ts.map +0 -1
- package/dist/fork/server.js.map +0 -1
- package/dist/fork/storage.d.ts.map +0 -1
- package/dist/fork/storage.js.map +0 -1
- package/dist/fork/test.d.ts.map +0 -1
- package/dist/fork/test.js.map +0 -1
- package/dist/harness/Harness.d.ts.map +0 -1
- package/dist/harness/Harness.js.map +0 -1
- package/dist/harness/codeObject.d.ts.map +0 -1
- package/dist/harness/codeObject.js.map +0 -1
- package/dist/harness/errors.d.ts.map +0 -1
- package/dist/harness/errors.js.map +0 -1
- package/dist/harness/index.d.ts.map +0 -1
- package/dist/harness/index.js.map +0 -1
- package/dist/harness/proxy.d.ts.map +0 -1
- package/dist/harness/proxy.js.map +0 -1
- package/dist/harness/script.d.ts.map +0 -1
- package/dist/harness/script.js.map +0 -1
- package/dist/harness/view.d.ts.map +0 -1
- package/dist/harness/view.js.map +0 -1
- package/dist/helpers/__tests__/semver-utils.test.d.ts +0 -2
- package/dist/helpers/__tests__/semver-utils.test.d.ts.map +0 -1
- package/dist/helpers/__tests__/semver-utils.test.js +0 -103
- package/dist/helpers/__tests__/semver-utils.test.js.map +0 -1
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts +0 -2
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.d.ts.map +0 -1
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js +0 -172
- package/dist/helpers/__tests__/setupLocalTesting.fork-network.test.js.map +0 -1
- package/dist/helpers/assertions.d.ts.map +0 -1
- package/dist/helpers/assertions.js.map +0 -1
- package/dist/helpers/banner.d.ts.map +0 -1
- package/dist/helpers/banner.js.map +0 -1
- package/dist/helpers/index.d.ts.map +0 -1
- package/dist/helpers/index.js.map +0 -1
- package/dist/helpers/move-tests.d.ts.map +0 -1
- package/dist/helpers/move-tests.js.map +0 -1
- package/dist/helpers/npm-registry.d.ts.map +0 -1
- package/dist/helpers/npm-registry.js.map +0 -1
- package/dist/helpers/semver-utils.d.ts.map +0 -1
- package/dist/helpers/semver-utils.js.map +0 -1
- package/dist/helpers/setup.d.ts.map +0 -1
- package/dist/helpers/setup.js.map +0 -1
- package/dist/helpers/setupLocalTesting.d.ts.map +0 -1
- package/dist/helpers/setupLocalTesting.js.map +0 -1
- package/dist/helpers/testFixtures.d.ts.map +0 -1
- package/dist/helpers/testFixtures.js.map +0 -1
- package/dist/helpers/version-check.d.ts.map +0 -1
- package/dist/helpers/version-check.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/node/LocalNodeManager.d.ts.map +0 -1
- package/dist/node/LocalNodeManager.js.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts +0 -2
- package/dist/node/__tests__/LocalNodeManager.api-port.test.d.ts.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js +0 -55
- package/dist/node/__tests__/LocalNodeManager.api-port.test.js.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.test.d.ts +0 -2
- package/dist/node/__tests__/LocalNodeManager.test.d.ts.map +0 -1
- package/dist/node/__tests__/LocalNodeManager.test.js +0 -449
- package/dist/node/__tests__/LocalNodeManager.test.js.map +0 -1
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js.map +0 -1
- package/dist/types/config.d.ts.map +0 -1
- package/dist/types/config.js.map +0 -1
- package/dist/types/fork.d.ts.map +0 -1
- package/dist/types/fork.js.map +0 -1
- package/dist/types/harness.d.ts.map +0 -1
- package/dist/types/harness.js.map +0 -1
- package/dist/types/runtime.d.ts.map +0 -1
- package/dist/types/runtime.js.map +0 -1
- package/dist/ui/__tests__/colors.test.d.ts +0 -2
- package/dist/ui/__tests__/colors.test.d.ts.map +0 -1
- package/dist/ui/__tests__/colors.test.js +0 -127
- package/dist/ui/__tests__/colors.test.js.map +0 -1
- package/dist/ui/__tests__/logger.test.d.ts +0 -2
- package/dist/ui/__tests__/logger.test.d.ts.map +0 -1
- package/dist/ui/__tests__/logger.test.js +0 -75
- package/dist/ui/__tests__/logger.test.js.map +0 -1
- package/dist/ui/colors.d.ts.map +0 -1
- package/dist/ui/colors.js.map +0 -1
- package/dist/ui/formatters.d.ts.map +0 -1
- package/dist/ui/formatters.js.map +0 -1
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/logger.d.ts.map +0 -1
- package/dist/ui/logger.js.map +0 -1
- package/dist/ui/spinner.d.ts.map +0 -1
- package/dist/ui/spinner.js.map +0 -1
- package/dist/ui/symbols.d.ts.map +0 -1
- package/dist/ui/symbols.js.map +0 -1
- package/dist/ui/table.d.ts.map +0 -1
- package/dist/ui/table.js.map +0 -1
- package/dist/utils/__tests__/address.test.d.ts +0 -2
- package/dist/utils/__tests__/address.test.d.ts.map +0 -1
- package/dist/utils/__tests__/address.test.js +0 -70
- package/dist/utils/__tests__/address.test.js.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts +0 -2
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.d.ts.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js +0 -43
- package/dist/utils/__tests__/childProcessAdapter.maxBuffer.test.js.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts +0 -2
- package/dist/utils/__tests__/childProcessAdapter.test.d.ts.map +0 -1
- package/dist/utils/__tests__/childProcessAdapter.test.js +0 -217
- package/dist/utils/__tests__/childProcessAdapter.test.js.map +0 -1
- package/dist/utils/__tests__/runCli.test.d.ts +0 -2
- package/dist/utils/__tests__/runCli.test.d.ts.map +0 -1
- package/dist/utils/__tests__/runCli.test.js +0 -187
- package/dist/utils/__tests__/runCli.test.js.map +0 -1
- package/dist/utils/address.d.ts.map +0 -1
- package/dist/utils/address.js.map +0 -1
- package/dist/utils/childProcessAdapter.d.ts.map +0 -1
- package/dist/utils/childProcessAdapter.js.map +0 -1
- package/dist/utils/parseCliOutput.d.ts.map +0 -1
- package/dist/utils/parseCliOutput.js.map +0 -1
- package/dist/utils/redact.d.ts.map +0 -1
- package/dist/utils/redact.js.map +0 -1
- package/dist/utils/runCli.d.ts.map +0 -1
- package/dist/utils/runCli.js.map +0 -1
- package/src/__tests__/deployContract.test.ts +0 -438
- package/src/__tests__/errors.test.ts +0 -84
- package/src/__tests__/exports.test.ts +0 -32
- package/src/__tests__/fixtures/sigint-deploy-harness.ts +0 -96
- package/src/__tests__/fork/api.test.ts +0 -148
- package/src/__tests__/fork/api.timeout.test.ts +0 -150
- package/src/__tests__/harness/Harness.createLive.test.ts +0 -57
- package/src/__tests__/harness/Harness.proxy.test.ts +0 -111
- package/src/__tests__/harness/_fixture.ts +0 -131
- package/src/__tests__/harness/codeObject.deploy.test.ts +0 -319
- package/src/__tests__/harness/codeObject.upgrade.test.ts +0 -156
- package/src/__tests__/harness/script.test.ts +0 -245
- package/src/__tests__/harness/view.test.ts +0 -104
- package/src/__tests__/runtime.test.ts +0 -182
- package/src/cli.ts +0 -164
- package/src/commands/__tests__/compile.test.ts +0 -407
- package/src/commands/__tests__/compile.toml-mutation.test.ts +0 -77
- package/src/commands/__tests__/init.test.ts +0 -210
- package/src/commands/__tests__/run.test.ts +0 -192
- package/src/commands/__tests__/test-move.test.ts +0 -81
- package/src/commands/__tests__/test.test.ts +0 -204
- package/src/commands/__tests__/update.test.ts +0 -223
- package/src/commands/compile.ts +0 -339
- package/src/commands/fork/__tests__/create.test.ts +0 -132
- package/src/commands/fork/__tests__/fund.test.ts +0 -104
- package/src/commands/fork/__tests__/list.test.ts +0 -139
- package/src/commands/fork/__tests__/serve.test.ts +0 -121
- package/src/commands/fork/__tests__/view-resource.test.ts +0 -101
- package/src/commands/fork/create.ts +0 -110
- package/src/commands/fork/fund.ts +0 -64
- package/src/commands/fork/list.ts +0 -98
- package/src/commands/fork/serve.ts +0 -80
- package/src/commands/fork/view-resource.ts +0 -51
- package/src/commands/init.ts +0 -264
- package/src/commands/run.ts +0 -125
- package/src/commands/test-move.ts +0 -27
- package/src/commands/test.ts +0 -255
- package/src/commands/update.ts +0 -201
- package/src/core/AccountManager.ts +0 -457
- package/src/core/Publisher.ts +0 -310
- package/src/core/__tests__/AccountManager.global-state.test.ts +0 -83
- package/src/core/__tests__/AccountManager.test.ts +0 -290
- package/src/core/__tests__/config.test.ts +0 -377
- package/src/core/__tests__/deployments.test.ts +0 -247
- package/src/core/__tests__/movementProfile.test.ts +0 -131
- package/src/core/__tests__/shell.test.ts +0 -138
- package/src/core/config.ts +0 -286
- package/src/core/contract.ts +0 -103
- package/src/core/deployments.ts +0 -155
- package/src/core/movementProfile.ts +0 -127
- package/src/core/shell.ts +0 -86
- package/src/errors.ts +0 -81
- package/src/fork/__tests__/manager.test.ts +0 -385
- package/src/fork/__tests__/server.cors.test.ts +0 -101
- package/src/fork/__tests__/server.test.ts +0 -65
- package/src/fork/__tests__/storage.test.ts +0 -281
- package/src/fork/__tests__/test.test.ts +0 -97
- package/src/fork/api.ts +0 -190
- package/src/fork/manager.ts +0 -343
- package/src/fork/server.ts +0 -380
- package/src/fork/storage.ts +0 -253
- package/src/fork/test.ts +0 -221
- package/src/harness/Harness.ts +0 -231
- package/src/harness/codeObject.ts +0 -381
- package/src/harness/errors.ts +0 -22
- package/src/harness/index.ts +0 -3
- package/src/harness/proxy.ts +0 -40
- package/src/harness/script.ts +0 -200
- package/src/harness/view.ts +0 -34
- package/src/helpers/__tests__/semver-utils.test.ts +0 -121
- package/src/helpers/__tests__/setupLocalTesting.fork-network.test.ts +0 -212
- package/src/helpers/assertions.ts +0 -29
- package/src/helpers/banner.ts +0 -63
- package/src/helpers/index.ts +0 -37
- package/src/helpers/move-tests.ts +0 -72
- package/src/helpers/npm-registry.ts +0 -72
- package/src/helpers/semver-utils.ts +0 -54
- package/src/helpers/setup.ts +0 -54
- package/src/helpers/setupLocalTesting.ts +0 -387
- package/src/helpers/testFixtures.ts +0 -210
- package/src/helpers/version-check.ts +0 -114
- package/src/index.ts +0 -30
- package/src/node/LocalNodeManager.ts +0 -383
- package/src/node/__tests__/LocalNodeManager.api-port.test.ts +0 -62
- package/src/node/__tests__/LocalNodeManager.test.ts +0 -579
- package/src/runtime.ts +0 -157
- package/src/templates/.env.example +0 -9
- package/src/templates/.mocharc.json +0 -8
- package/src/templates/.vscode/settings.json +0 -11
- package/src/templates/README.md +0 -146
- package/src/templates/gitignore +0 -22
- package/src/templates/move/Move.toml +0 -19
- package/src/templates/move/sources/Counter.move +0 -96
- package/src/templates/movehat.config.ts +0 -57
- package/src/templates/package.json +0 -27
- package/src/templates/scripts/deploy-counter.ts +0 -66
- package/src/templates/tests/Counter.test.ts +0 -113
- package/src/templates/tsconfig.json +0 -15
- package/src/templates/types/movehat.d.ts +0 -101
- package/src/types/config.ts +0 -83
- package/src/types/fork.ts +0 -47
- package/src/types/harness.ts +0 -182
- package/src/types/runtime.ts +0 -57
- package/src/ui/__tests__/colors.test.ts +0 -156
- package/src/ui/__tests__/logger.test.ts +0 -89
- package/src/ui/colors.ts +0 -144
- package/src/ui/formatters.ts +0 -246
- package/src/ui/index.ts +0 -62
- package/src/ui/logger.ts +0 -310
- package/src/ui/spinner.ts +0 -218
- package/src/ui/symbols.ts +0 -80
- package/src/ui/table.ts +0 -191
- package/src/utils/__tests__/address.test.ts +0 -93
- package/src/utils/__tests__/childProcessAdapter.maxBuffer.test.ts +0 -51
- package/src/utils/__tests__/childProcessAdapter.test.ts +0 -266
- package/src/utils/__tests__/runCli.test.ts +0 -240
- package/src/utils/address.ts +0 -52
- package/src/utils/childProcessAdapter.ts +0 -244
- package/src/utils/parseCliOutput.ts +0 -27
- package/src/utils/redact.ts +0 -24
- package/src/utils/runCli.ts +0 -64
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { isNewerVersion } from '../semver-utils.js';
|
|
3
|
-
|
|
4
|
-
describe('isNewerVersion', () => {
|
|
5
|
-
describe('standard semver comparisons', () => {
|
|
6
|
-
it('should detect newer major version', () => {
|
|
7
|
-
expect(isNewerVersion('1.0.0', '2.0.0')).toBe(true);
|
|
8
|
-
expect(isNewerVersion('0.1.0', '1.0.0')).toBe(true);
|
|
9
|
-
});
|
|
10
|
-
|
|
11
|
-
it('should detect newer minor version', () => {
|
|
12
|
-
expect(isNewerVersion('1.0.0', '1.1.0')).toBe(true);
|
|
13
|
-
expect(isNewerVersion('1.5.0', '1.6.0')).toBe(true);
|
|
14
|
-
});
|
|
15
|
-
|
|
16
|
-
it('should detect newer patch version', () => {
|
|
17
|
-
expect(isNewerVersion('1.0.0', '1.0.1')).toBe(true);
|
|
18
|
-
expect(isNewerVersion('1.0.9', '1.0.10')).toBe(true);
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
it('should return false for same version', () => {
|
|
22
|
-
expect(isNewerVersion('1.0.0', '1.0.0')).toBe(false);
|
|
23
|
-
expect(isNewerVersion('2.5.3', '2.5.3')).toBe(false);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
it('should return false for older versions', () => {
|
|
27
|
-
expect(isNewerVersion('2.0.0', '1.0.0')).toBe(false);
|
|
28
|
-
expect(isNewerVersion('1.1.0', '1.0.0')).toBe(false);
|
|
29
|
-
expect(isNewerVersion('1.0.1', '1.0.0')).toBe(false);
|
|
30
|
-
});
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
describe('variable-length version handling', () => {
|
|
34
|
-
it('should handle two-part versions', () => {
|
|
35
|
-
expect(isNewerVersion('1.0', '1.1')).toBe(true);
|
|
36
|
-
expect(isNewerVersion('1.0', '2.0')).toBe(true);
|
|
37
|
-
expect(isNewerVersion('1.1', '1.0')).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('should compare versions with different lengths', () => {
|
|
41
|
-
expect(isNewerVersion('1.0', '1.0.1')).toBe(true);
|
|
42
|
-
expect(isNewerVersion('1.0.0', '1.1')).toBe(true);
|
|
43
|
-
expect(isNewerVersion('1.0.1', '1.0')).toBe(false);
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
it('should handle four-part versions', () => {
|
|
47
|
-
expect(isNewerVersion('1.0.0.0', '1.0.0.1')).toBe(true);
|
|
48
|
-
expect(isNewerVersion('1.0.0.1', '1.0.0.0')).toBe(false);
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it('should treat missing parts as zero', () => {
|
|
52
|
-
expect(isNewerVersion('1.0', '1.0.0')).toBe(false);
|
|
53
|
-
expect(isNewerVersion('1.0.0', '1.0')).toBe(false);
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
describe('pre-release version handling', () => {
|
|
58
|
-
it('should consider stable newer than pre-release with same base', () => {
|
|
59
|
-
expect(isNewerVersion('1.0.0-alpha', '1.0.0')).toBe(true);
|
|
60
|
-
expect(isNewerVersion('1.0.0-beta.1', '1.0.0')).toBe(true);
|
|
61
|
-
expect(isNewerVersion('1.0.0-rc.1', '1.0.0')).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('should consider pre-release older than stable with same base', () => {
|
|
65
|
-
expect(isNewerVersion('1.0.0', '1.0.0-alpha')).toBe(false);
|
|
66
|
-
expect(isNewerVersion('1.0.0', '1.0.0-beta.1')).toBe(false);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
it('should strip pre-release tags for base comparison', () => {
|
|
70
|
-
expect(isNewerVersion('1.0.0-alpha', '1.1.0-alpha')).toBe(true);
|
|
71
|
-
expect(isNewerVersion('1.0.0-alpha', '2.0.0-beta')).toBe(true);
|
|
72
|
-
});
|
|
73
|
-
|
|
74
|
-
it('should handle complex pre-release tags', () => {
|
|
75
|
-
expect(isNewerVersion('1.0.0-alpha.0', '1.0.0')).toBe(true);
|
|
76
|
-
expect(isNewerVersion('1.0.0-beta.2.3', '1.0.0')).toBe(true);
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
|
|
80
|
-
describe('edge cases', () => {
|
|
81
|
-
it('should handle large version numbers', () => {
|
|
82
|
-
expect(isNewerVersion('100.200.300', '100.200.301')).toBe(true);
|
|
83
|
-
expect(isNewerVersion('999.999.999', '1000.0.0')).toBe(true);
|
|
84
|
-
});
|
|
85
|
-
|
|
86
|
-
it('should handle version 0.x.x correctly', () => {
|
|
87
|
-
expect(isNewerVersion('0.0.1', '0.0.2')).toBe(true);
|
|
88
|
-
expect(isNewerVersion('0.1.0', '0.2.0')).toBe(true);
|
|
89
|
-
expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
|
|
90
|
-
});
|
|
91
|
-
|
|
92
|
-
it('should throw for invalid version format', () => {
|
|
93
|
-
expect(() => isNewerVersion('invalid', '1.0.0')).toThrow('Invalid version format');
|
|
94
|
-
expect(() => isNewerVersion('1.0.0', 'invalid')).toThrow('Invalid version format');
|
|
95
|
-
expect(() => isNewerVersion('1.a.0', '1.0.0')).toThrow('Invalid version format');
|
|
96
|
-
expect(() => isNewerVersion('1..0', '1.0.0')).toThrow('Invalid version format');
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
it('should reject versions with unstripped "v" prefix', () => {
|
|
100
|
-
// isNewerVersion expects pre-stripped versions; callers must remove leading "v".
|
|
101
|
-
expect(() => isNewerVersion('v1.0.0', '1.0.0')).toThrow('Invalid version format');
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
describe('real-world scenarios', () => {
|
|
106
|
-
it('should handle npm-style version bumps', () => {
|
|
107
|
-
// Patch bump
|
|
108
|
-
expect(isNewerVersion('0.1.5', '0.1.6')).toBe(true);
|
|
109
|
-
// Minor bump
|
|
110
|
-
expect(isNewerVersion('0.1.6', '0.2.0')).toBe(true);
|
|
111
|
-
// Major bump
|
|
112
|
-
expect(isNewerVersion('0.9.9', '1.0.0')).toBe(true);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
it('should handle movehat version progression', () => {
|
|
116
|
-
expect(isNewerVersion('0.0.1', '0.1.0')).toBe(true);
|
|
117
|
-
expect(isNewerVersion('0.1.0', '0.1.1')).toBe(true);
|
|
118
|
-
expect(isNewerVersion('0.1.9', '0.1.10')).toBe(true);
|
|
119
|
-
});
|
|
120
|
-
});
|
|
121
|
-
});
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* F1 — Harness.createFork(network) must honor the requested network.
|
|
8
|
-
*
|
|
9
|
-
* Mocks ForkManager so we can capture which RPC URL the fresh-fork
|
|
10
|
-
* code path picks. Strategy mirrors the pattern in
|
|
11
|
-
* src/fork/__tests__/manager.test.ts: replace the manager module with
|
|
12
|
-
* a stub that records every call to `initialize`.
|
|
13
|
-
*
|
|
14
|
-
* The mock also implements `load()` + `getMetadata()` so the
|
|
15
|
-
* "fork-exists, wrong network" case (audit-f1 follow-up) can exercise
|
|
16
|
-
* the metadata-mismatch guard in the `else` branch of `setupWithFork`.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
interface InitCall {
|
|
20
|
-
nodeUrl: string;
|
|
21
|
-
networkName?: string;
|
|
22
|
-
apiKey?: string;
|
|
23
|
-
}
|
|
24
|
-
const initializeCalls: InitCall[] = [];
|
|
25
|
-
|
|
26
|
-
vi.mock("../../fork/manager.js", async () => {
|
|
27
|
-
const fs = await import("node:fs");
|
|
28
|
-
return {
|
|
29
|
-
ForkManager: class {
|
|
30
|
-
forkPath: string;
|
|
31
|
-
metadata: { network: string; nodeUrl: string } | null = null;
|
|
32
|
-
constructor(forkPath: string) {
|
|
33
|
-
this.forkPath = forkPath;
|
|
34
|
-
}
|
|
35
|
-
async initialize(nodeUrl: string, networkName?: string, apiKey?: string) {
|
|
36
|
-
const entry: InitCall = { nodeUrl };
|
|
37
|
-
if (networkName !== undefined) entry.networkName = networkName;
|
|
38
|
-
if (apiKey !== undefined) entry.apiKey = apiKey;
|
|
39
|
-
initializeCalls.push(entry);
|
|
40
|
-
this.metadata = { network: networkName ?? "custom", nodeUrl };
|
|
41
|
-
}
|
|
42
|
-
load() {
|
|
43
|
-
const raw = fs.readFileSync(`${this.forkPath}/metadata.json`, "utf-8");
|
|
44
|
-
this.metadata = JSON.parse(raw);
|
|
45
|
-
}
|
|
46
|
-
getMetadata() {
|
|
47
|
-
if (!this.metadata) {
|
|
48
|
-
throw new Error("Fork not initialized");
|
|
49
|
-
}
|
|
50
|
-
return this.metadata;
|
|
51
|
-
}
|
|
52
|
-
setApiKey() {}
|
|
53
|
-
async resetState() {}
|
|
54
|
-
async fundAccount() {}
|
|
55
|
-
async fundMultipleAccounts() {}
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
vi.mock("../../fork/server.js", () => {
|
|
61
|
-
return {
|
|
62
|
-
ForkServer: class {
|
|
63
|
-
constructor(_p: string, _port: number) {}
|
|
64
|
-
async start() {}
|
|
65
|
-
async stop() {}
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
vi.mock("../../runtime.js", () => ({
|
|
71
|
-
initRuntime: vi.fn(async () => ({})),
|
|
72
|
-
}));
|
|
73
|
-
|
|
74
|
-
vi.mock("../../core/AccountManager.js", () => {
|
|
75
|
-
let _seq = 0;
|
|
76
|
-
return {
|
|
77
|
-
AccountManager: {
|
|
78
|
-
createBatch(labels: readonly string[]) {
|
|
79
|
-
const out: Record<string, { accountAddress: { toString(): string } }> = {};
|
|
80
|
-
for (const l of labels) {
|
|
81
|
-
_seq++;
|
|
82
|
-
const addr = "0x" + _seq.toString(16).padStart(64, "0");
|
|
83
|
-
out[l] = { accountAddress: { toString: () => addr } };
|
|
84
|
-
}
|
|
85
|
-
return out;
|
|
86
|
-
},
|
|
87
|
-
exportPrivateKeys(_labels: readonly string[]) {
|
|
88
|
-
return { deployer: "0x" + "1".repeat(64) };
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// Imported after mocks so vi.hoisted ordering applies.
|
|
95
|
-
import { setupLocalTesting } from "../setupLocalTesting.js";
|
|
96
|
-
import { logger } from "../../ui/index.js";
|
|
97
|
-
|
|
98
|
-
describe("F1 — setupLocalTesting honors forkNetwork", () => {
|
|
99
|
-
let cwdBackup: string;
|
|
100
|
-
let tmpRoot: string;
|
|
101
|
-
|
|
102
|
-
beforeEach(() => {
|
|
103
|
-
initializeCalls.length = 0;
|
|
104
|
-
cwdBackup = process.cwd();
|
|
105
|
-
tmpRoot = mkdtempSync(join(tmpdir(), "movehat-f1-"));
|
|
106
|
-
process.chdir(tmpRoot);
|
|
107
|
-
vi.spyOn(logger, "step").mockImplementation(() => undefined);
|
|
108
|
-
vi.spyOn(logger, "success").mockImplementation(() => undefined);
|
|
109
|
-
vi.spyOn(logger, "plain").mockImplementation(() => undefined);
|
|
110
|
-
vi.spyOn(logger, "newline").mockImplementation(() => undefined);
|
|
111
|
-
vi.spyOn(logger, "warning").mockImplementation(() => undefined);
|
|
112
|
-
vi.spyOn(logger, "error").mockImplementation(() => undefined);
|
|
113
|
-
});
|
|
114
|
-
|
|
115
|
-
afterEach(() => {
|
|
116
|
-
process.chdir(cwdBackup);
|
|
117
|
-
rmSync(tmpRoot, { recursive: true, force: true });
|
|
118
|
-
vi.restoreAllMocks();
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it("uses the mainnet RPC when forkNetwork = 'mainnet'", async () => {
|
|
122
|
-
await setupLocalTesting({
|
|
123
|
-
mode: "fork",
|
|
124
|
-
forkNetwork: "mainnet",
|
|
125
|
-
accountLabels: ["deployer"],
|
|
126
|
-
autoFund: false,
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
expect(initializeCalls).toHaveLength(1);
|
|
130
|
-
const call = initializeCalls[0]!;
|
|
131
|
-
expect(call.networkName).toBe("mainnet");
|
|
132
|
-
expect(call.nodeUrl).not.toMatch(/testnet/i);
|
|
133
|
-
expect(call.nodeUrl).toMatch(/mainnet/i);
|
|
134
|
-
});
|
|
135
|
-
|
|
136
|
-
it("uses the testnet RPC when forkNetwork = 'testnet'", async () => {
|
|
137
|
-
await setupLocalTesting({
|
|
138
|
-
mode: "fork",
|
|
139
|
-
forkNetwork: "testnet",
|
|
140
|
-
accountLabels: ["deployer"],
|
|
141
|
-
autoFund: false,
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
expect(initializeCalls).toHaveLength(1);
|
|
145
|
-
const call = initializeCalls[0]!;
|
|
146
|
-
expect(call.networkName).toBe("testnet");
|
|
147
|
-
expect(call.nodeUrl).toMatch(/testnet/i);
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
it("uses forkRpcUrl override when supplied for a custom network", async () => {
|
|
151
|
-
await setupLocalTesting({
|
|
152
|
-
mode: "fork",
|
|
153
|
-
forkNetwork: "custom",
|
|
154
|
-
forkRpcUrl: "https://my-custom-node.example/v1",
|
|
155
|
-
accountLabels: ["deployer"],
|
|
156
|
-
autoFund: false,
|
|
157
|
-
});
|
|
158
|
-
|
|
159
|
-
expect(initializeCalls).toHaveLength(1);
|
|
160
|
-
const call = initializeCalls[0]!;
|
|
161
|
-
expect(call.networkName).toBe("custom");
|
|
162
|
-
expect(call.nodeUrl).toBe("https://my-custom-node.example/v1");
|
|
163
|
-
});
|
|
164
|
-
|
|
165
|
-
it("rejects a non-built-in forkNetwork when no forkRpcUrl is provided", async () => {
|
|
166
|
-
await expect(
|
|
167
|
-
setupLocalTesting({
|
|
168
|
-
mode: "fork",
|
|
169
|
-
forkNetwork: "some-unknown-network",
|
|
170
|
-
accountLabels: ["deployer"],
|
|
171
|
-
autoFund: false,
|
|
172
|
-
})
|
|
173
|
-
).rejects.toThrow(/forkRpcUrl/i);
|
|
174
|
-
expect(initializeCalls).toHaveLength(0);
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
it("rejects when an existing fork's saved network does not match the requested one (audit-f1 follow-up)", async () => {
|
|
178
|
-
// Pre-seed `.movehat/forks/test-local/metadata.json` with the
|
|
179
|
-
// wrong network so the `forkExists` branch fires and loads stale
|
|
180
|
-
// metadata. Without the metadata-mismatch guard, setupLocalTesting
|
|
181
|
-
// would silently serve a testnet snapshot while the caller thinks
|
|
182
|
-
// it's reading mainnet.
|
|
183
|
-
const forkDir = join(tmpRoot, ".movehat", "forks", "test-local");
|
|
184
|
-
mkdirSync(forkDir, { recursive: true });
|
|
185
|
-
writeFileSync(
|
|
186
|
-
join(forkDir, "metadata.json"),
|
|
187
|
-
JSON.stringify({
|
|
188
|
-
network: "testnet",
|
|
189
|
-
nodeUrl: "https://testnet.movementnetwork.xyz/v1",
|
|
190
|
-
chainId: 250,
|
|
191
|
-
ledgerVersion: "0",
|
|
192
|
-
timestamp: "0",
|
|
193
|
-
epoch: "0",
|
|
194
|
-
blockHeight: "0",
|
|
195
|
-
createdAt: new Date().toISOString(),
|
|
196
|
-
}),
|
|
197
|
-
);
|
|
198
|
-
|
|
199
|
-
await expect(
|
|
200
|
-
setupLocalTesting({
|
|
201
|
-
mode: "fork",
|
|
202
|
-
forkNetwork: "mainnet",
|
|
203
|
-
accountLabels: ["deployer"],
|
|
204
|
-
autoFund: false,
|
|
205
|
-
})
|
|
206
|
-
).rejects.toThrow(/network mismatch|created for|requested/i);
|
|
207
|
-
// Must not have re-initialized — the existing dir is what poisons
|
|
208
|
-
// the load path, and silently reinitializing would clobber the
|
|
209
|
-
// user's saved snapshot.
|
|
210
|
-
expect(initializeCalls).toHaveLength(0);
|
|
211
|
-
});
|
|
212
|
-
});
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { type TransactionResult } from "../core/contract.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Assert that a transaction was successful
|
|
5
|
-
*/
|
|
6
|
-
export function assertTransactionSuccess(result: TransactionResult): void {
|
|
7
|
-
if (!result.success) {
|
|
8
|
-
throw new Error(
|
|
9
|
-
`Transaction failed with status: ${result.vm_status}\nHash: ${result.hash}`
|
|
10
|
-
);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export function assertTransactionFailed(
|
|
15
|
-
result: TransactionResult,
|
|
16
|
-
expectedError?: string
|
|
17
|
-
): void {
|
|
18
|
-
if (result.success) {
|
|
19
|
-
throw new Error(
|
|
20
|
-
`Transaction was expected to fail but succeeded.\nHash: ${result.hash}`
|
|
21
|
-
);
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
if(expectedError && !result.vm_status.includes(expectedError)) {
|
|
25
|
-
throw new Error(
|
|
26
|
-
`Transaction failed with unexpected error.\nExpected to include: ${expectedError}\nActual status: ${result.vm_status}\nHash: ${result.hash}`
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
}
|
package/src/helpers/banner.ts
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { applyGradient, gradients, shouldUseColor, colors } from '../ui/index.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* MOVEHAT ASCII art banner lines
|
|
5
|
-
*/
|
|
6
|
-
const bannerLines = [
|
|
7
|
-
" ███╗ ███╗ ██████╗ ██╗ ██╗███████╗██╗ ██╗ █████╗ ████████╗",
|
|
8
|
-
" ████╗ ████║██╔═══██╗██║ ██║██╔════╝██║ ██║██╔══██╗╚══██╔══╝",
|
|
9
|
-
" ██╔████╔██║██║ ██║██║ ██║█████╗ ███████║███████║ ██║ ",
|
|
10
|
-
" ██║╚██╔╝██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██║██╔══██║ ██║ ",
|
|
11
|
-
" ██║ ╚═╝ ██║╚██████╔╝ ╚████╔╝ ███████╗██║ ██║██║ ██║ ██║ ",
|
|
12
|
-
" ╚═╝ ╚═╝ ╚═════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ",
|
|
13
|
-
];
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Divider line below the banner
|
|
17
|
-
*/
|
|
18
|
-
const dividerLine = "━".repeat(68);
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Tagline describing Movehat
|
|
22
|
-
*/
|
|
23
|
-
const tagline = " A powerful testing framework for Move smart contracts";
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Render the Movehat banner with gradient colors
|
|
27
|
-
* Uses the UI module's gradient system for consistency
|
|
28
|
-
*
|
|
29
|
-
* @returns Formatted banner string ready for console output
|
|
30
|
-
*
|
|
31
|
-
* @example
|
|
32
|
-
* const banner = renderMovehatBanner();
|
|
33
|
-
* console.log(banner);
|
|
34
|
-
*/
|
|
35
|
-
export const renderMovehatBanner = (): string => {
|
|
36
|
-
if (!shouldUseColor()) {
|
|
37
|
-
return `${bannerLines.join("\n")}\n${dividerLine}\n${tagline}`;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Apply Movehat brand gradient to each line with varying offsets
|
|
41
|
-
const coloredLines = bannerLines.map((line, idx) =>
|
|
42
|
-
applyGradient(line, gradients.movehat, idx * 2)
|
|
43
|
-
);
|
|
44
|
-
|
|
45
|
-
// Apply gradient to divider line
|
|
46
|
-
const coloredDivider = applyGradient(dividerLine, gradients.movehat, 0);
|
|
47
|
-
|
|
48
|
-
// Dim the tagline for subtle appearance
|
|
49
|
-
const coloredTagline = colors.dim(tagline);
|
|
50
|
-
|
|
51
|
-
return `${coloredLines.join("\n")}\n${coloredDivider}\n${coloredTagline}`;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Print the Movehat banner to console
|
|
56
|
-
* Convenience function that renders and logs the banner
|
|
57
|
-
*
|
|
58
|
-
* @example
|
|
59
|
-
* printMovehatBanner();
|
|
60
|
-
*/
|
|
61
|
-
export const printMovehatBanner = (): void => {
|
|
62
|
-
console.log(renderMovehatBanner());
|
|
63
|
-
};
|
package/src/helpers/index.ts
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// Re-export all helpers
|
|
2
|
-
export { setupTestEnvironment, createTestAccount } from "./setup.js";
|
|
3
|
-
export type { TestEnvironment } from "./setup.js";
|
|
4
|
-
export { MoveContract, getContract } from "../core/contract.js";
|
|
5
|
-
export type { TransactionResult } from "../core/contract.js";
|
|
6
|
-
export {
|
|
7
|
-
assertTransactionSuccess,
|
|
8
|
-
assertTransactionFailed,
|
|
9
|
-
} from "./assertions.js";
|
|
10
|
-
export {
|
|
11
|
-
saveDeployment,
|
|
12
|
-
loadDeployment,
|
|
13
|
-
getAllDeployments,
|
|
14
|
-
getDeployedAddress,
|
|
15
|
-
} from "../core/deployments.js";
|
|
16
|
-
export type { DeploymentInfo } from "../core/deployments.js";
|
|
17
|
-
export {
|
|
18
|
-
snapshot,
|
|
19
|
-
getForkInfo,
|
|
20
|
-
viewForkResource,
|
|
21
|
-
compareForkState,
|
|
22
|
-
listSnapshots,
|
|
23
|
-
} from "../fork/test.js";
|
|
24
|
-
export type { SnapshotOptions, ForkInfo } from "../fork/test.js";
|
|
25
|
-
export { AccountManager } from "../core/AccountManager.js";
|
|
26
|
-
export type { StoredAccount } from "../core/AccountManager.js";
|
|
27
|
-
export { LocalNodeManager } from "../node/LocalNodeManager.js";
|
|
28
|
-
export type { LocalNodeOptions, LocalNodeInfo } from "../node/LocalNodeManager.js";
|
|
29
|
-
export { setupLocalTesting } from "./setupLocalTesting.js";
|
|
30
|
-
export type { LocalTestingContext } from "./setupLocalTesting.js";
|
|
31
|
-
export {
|
|
32
|
-
setupTestFixture,
|
|
33
|
-
setupMinimalFixture,
|
|
34
|
-
} from "./testFixtures.js";
|
|
35
|
-
export type { TestFixture } from "./testFixtures.js";
|
|
36
|
-
|
|
37
|
-
export type { MovehatConfig, LocalTestOptions } from "../types/config.js";
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { existsSync } from "fs";
|
|
2
|
-
import { resolve } from "path";
|
|
3
|
-
import { loadUserConfig } from "../core/config.js";
|
|
4
|
-
import { runCli } from "../utils/runCli.js";
|
|
5
|
-
|
|
6
|
-
interface RunMoveTestsOptions {
|
|
7
|
-
filter?: string | undefined;
|
|
8
|
-
ignoreWarnings?: boolean | undefined;
|
|
9
|
-
skipIfMissing?: boolean | undefined; // If true, skip gracefully when Move dir missing (for orchestrated tests)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Run Move unit tests using Movement CLI
|
|
14
|
-
* @param options Test options including filter, warnings, and skip behavior
|
|
15
|
-
* @returns Promise that resolves when tests complete successfully
|
|
16
|
-
*/
|
|
17
|
-
export async function runMoveTests(options: RunMoveTestsOptions = {}): Promise<void> {
|
|
18
|
-
const userConfig = await loadUserConfig();
|
|
19
|
-
const moveDir = resolve(process.cwd(), userConfig.moveDir || "./move");
|
|
20
|
-
|
|
21
|
-
if (!existsSync(moveDir)) {
|
|
22
|
-
if (options.skipIfMissing) {
|
|
23
|
-
console.log("⊘ No Move directory found (./move not found)");
|
|
24
|
-
console.log(" Skipping Move tests...\n");
|
|
25
|
-
return;
|
|
26
|
-
} else {
|
|
27
|
-
throw new Error(
|
|
28
|
-
`Move directory not found: ${moveDir}\n` +
|
|
29
|
-
` Update movehat.config.ts -> moveDir`
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const args = ["move", "test", "--package-dir", moveDir];
|
|
35
|
-
|
|
36
|
-
// Add dev flag for auto-detected addresses
|
|
37
|
-
args.push("--dev");
|
|
38
|
-
|
|
39
|
-
if (options.filter) {
|
|
40
|
-
args.push("--filter", options.filter);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
if (options.ignoreWarnings) {
|
|
44
|
-
args.push("--ignore-compile-warnings");
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
let result;
|
|
48
|
-
try {
|
|
49
|
-
result = await runCli(
|
|
50
|
-
{
|
|
51
|
-
command: "movement",
|
|
52
|
-
args,
|
|
53
|
-
cwd: process.cwd(),
|
|
54
|
-
inheritStdio: true,
|
|
55
|
-
},
|
|
56
|
-
{ throwOnNonZeroExit: false }
|
|
57
|
-
);
|
|
58
|
-
} catch (error) {
|
|
59
|
-
// Spawn-time failure (ENOENT, etc.). The original code logged a
|
|
60
|
-
// Movement-CLI-install hint here; keep that.
|
|
61
|
-
console.error(`Failed to run Move tests: ${(error as Error).message}`);
|
|
62
|
-
console.error(" Make sure Movement CLI is installed");
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
if (result.exitCode === 0) {
|
|
67
|
-
console.log("\n✓ Move tests passed");
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
throw new Error("Move tests failed");
|
|
72
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
export interface NpmRegistryResponse {
|
|
2
|
-
"dist-tags": {
|
|
3
|
-
latest: string;
|
|
4
|
-
[tag: string]: string;
|
|
5
|
-
};
|
|
6
|
-
versions: Record<string, unknown>;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export interface FetchOptions {
|
|
10
|
-
timeout?: number; // Timeout in milliseconds
|
|
11
|
-
throwOnError?: boolean; // If true, throw errors; if false, return null on error
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Fetch latest version from npm registry
|
|
16
|
-
* @param packageName - The npm package name
|
|
17
|
-
* @param options - Fetch options (timeout, error handling)
|
|
18
|
-
* @returns Latest version string, or null if failed and throwOnError is false
|
|
19
|
-
*/
|
|
20
|
-
export async function fetchLatestVersion(
|
|
21
|
-
packageName: string,
|
|
22
|
-
options: FetchOptions = {}
|
|
23
|
-
): Promise<string | null> {
|
|
24
|
-
const { timeout = 0, throwOnError = false } = options;
|
|
25
|
-
|
|
26
|
-
try {
|
|
27
|
-
const controller = timeout > 0 ? new AbortController() : undefined;
|
|
28
|
-
const timeoutId = timeout > 0 && controller
|
|
29
|
-
? setTimeout(() => controller.abort(), timeout)
|
|
30
|
-
: undefined;
|
|
31
|
-
|
|
32
|
-
const response = await fetch(
|
|
33
|
-
`https://registry.npmjs.org/${packageName}`,
|
|
34
|
-
controller ? { signal: controller.signal } : {}
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
if (timeoutId) clearTimeout(timeoutId);
|
|
38
|
-
|
|
39
|
-
if (!response.ok) {
|
|
40
|
-
const error = new Error(`Failed to fetch package info: ${response.statusText}`);
|
|
41
|
-
if (throwOnError) throw error;
|
|
42
|
-
return null;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
const data = (await response.json()) as NpmRegistryResponse;
|
|
46
|
-
|
|
47
|
-
// Defensive validation of registry response structure
|
|
48
|
-
if (
|
|
49
|
-
!data ||
|
|
50
|
-
typeof data !== "object" ||
|
|
51
|
-
!data["dist-tags"] ||
|
|
52
|
-
typeof data["dist-tags"] !== "object" ||
|
|
53
|
-
typeof data["dist-tags"].latest !== "string"
|
|
54
|
-
) {
|
|
55
|
-
const error = new Error(
|
|
56
|
-
`Invalid npm registry response: missing or malformed "dist-tags.latest" field`
|
|
57
|
-
);
|
|
58
|
-
if (throwOnError) throw error;
|
|
59
|
-
return null;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return data["dist-tags"].latest;
|
|
63
|
-
} catch (error) {
|
|
64
|
-
if (throwOnError) {
|
|
65
|
-
throw new Error(
|
|
66
|
-
`Failed to check for updates: ${error instanceof Error ? error.message : String(error)}`
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
// Silently fail - don't interrupt user's workflow
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Compare two semver versions
|
|
3
|
-
* Returns true if newVersion > currentVersion
|
|
4
|
-
* Handles variable-length versions (1.2, 1.2.3, 1.2.3.4, etc.)
|
|
5
|
-
*/
|
|
6
|
-
export function isNewerVersion(currentVersion: string, newVersion: string): boolean {
|
|
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] ?? "";
|
|
11
|
-
|
|
12
|
-
// Split and validate numeric parts
|
|
13
|
-
const currentParts = cleanCurrent.split(".").map((part) => {
|
|
14
|
-
const num = Number(part);
|
|
15
|
-
if (isNaN(num) || !part.trim()) {
|
|
16
|
-
throw new Error(`Invalid version format: ${currentVersion}`);
|
|
17
|
-
}
|
|
18
|
-
return num;
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
const newerParts = cleanNew.split(".").map((part) => {
|
|
22
|
-
const num = Number(part);
|
|
23
|
-
if (isNaN(num) || !part.trim()) {
|
|
24
|
-
throw new Error(`Invalid version format: ${newVersion}`);
|
|
25
|
-
}
|
|
26
|
-
return num;
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
// Compare up to the maximum length, treating missing parts as 0
|
|
30
|
-
const maxLength = Math.max(currentParts.length, newerParts.length);
|
|
31
|
-
|
|
32
|
-
for (let i = 0; i < maxLength; i++) {
|
|
33
|
-
const currentPart = currentParts[i] || 0;
|
|
34
|
-
const newerPart = newerParts[i] || 0;
|
|
35
|
-
|
|
36
|
-
if (newerPart > currentPart) return true;
|
|
37
|
-
if (newerPart < currentPart) return false;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// If base versions are equal, check pre-release tags
|
|
41
|
-
// A version with no pre-release tag is considered newer than one with a tag
|
|
42
|
-
const currentHasPrerelease = currentVersion.includes("-");
|
|
43
|
-
const newHasPrerelease = newVersion.includes("-");
|
|
44
|
-
|
|
45
|
-
if (!currentHasPrerelease && newHasPrerelease) {
|
|
46
|
-
return false; // Current stable is newer than new pre-release
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (currentHasPrerelease && !newHasPrerelease) {
|
|
50
|
-
return true; // New stable is newer than current pre-release
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return false;
|
|
54
|
-
}
|