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
package/src/commands/compile.ts
DELETED
|
@@ -1,339 +0,0 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
import path from "path";
|
|
3
|
-
import { loadUserConfig } from "../core/config.js";
|
|
4
|
-
import { validatePathSafety } from "../core/shell.js";
|
|
5
|
-
import { logger, isVerbose } from "../ui/index.js";
|
|
6
|
-
import { withSpinner } from "../ui/spinner.js";
|
|
7
|
-
import { runCli } from "../utils/runCli.js";
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Recursively find all .move files in a directory
|
|
11
|
-
* @param dir - Directory to search
|
|
12
|
-
* @param maxDepth - Maximum recursion depth (default: 10)
|
|
13
|
-
* @param currentDepth - Current recursion depth (internal use)
|
|
14
|
-
*/
|
|
15
|
-
function findMoveFiles(dir: string, maxDepth: number = 10, currentDepth: number = 0): string[] {
|
|
16
|
-
const files: string[] = [];
|
|
17
|
-
|
|
18
|
-
// Prevent infinite loops from excessive recursion
|
|
19
|
-
if (currentDepth > maxDepth) {
|
|
20
|
-
return files;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
24
|
-
|
|
25
|
-
for (const entry of entries) {
|
|
26
|
-
const fullPath = path.join(dir, entry.name);
|
|
27
|
-
|
|
28
|
-
if (entry.isDirectory()) {
|
|
29
|
-
// Skip symlinks to prevent directory traversal and infinite loops
|
|
30
|
-
if (entry.isSymbolicLink()) {
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
files.push(...findMoveFiles(fullPath, maxDepth, currentDepth + 1));
|
|
34
|
-
} else if (entry.name.endsWith('.move')) {
|
|
35
|
-
files.push(fullPath);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
return files;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Extract named addresses used in Move files
|
|
44
|
-
* Looks for patterns like: module <address>::<module_name>
|
|
45
|
-
*/
|
|
46
|
-
export function extractNamedAddresses(moveDir: string): Set<string> {
|
|
47
|
-
const addresses = new Set<string>();
|
|
48
|
-
const moveFiles = findMoveFiles(moveDir);
|
|
49
|
-
|
|
50
|
-
for (const file of moveFiles) {
|
|
51
|
-
let content = fs.readFileSync(file, 'utf-8');
|
|
52
|
-
|
|
53
|
-
// Strip comments to avoid false positives
|
|
54
|
-
// Remove block comments /* ... */ (non-greedy, handles newlines)
|
|
55
|
-
content = content.replace(/\/\*[\s\S]*?\*\//g, ' ');
|
|
56
|
-
// Remove line comments // ... to end of line
|
|
57
|
-
content = content.replace(/\/\/.*$/gm, ' ');
|
|
58
|
-
|
|
59
|
-
// Match: module <address>::<module_name>
|
|
60
|
-
const moduleRegex = /module\s+([a-zA-Z_][a-zA-Z0-9_]*)::/g;
|
|
61
|
-
let match;
|
|
62
|
-
|
|
63
|
-
while ((match = moduleRegex.exec(content)) !== null) {
|
|
64
|
-
const address = match[1];
|
|
65
|
-
if (!address) continue;
|
|
66
|
-
// Skip standard addresses
|
|
67
|
-
if (address !== 'std' && address !== 'aptos_framework' && address !== 'aptos_std') {
|
|
68
|
-
addresses.add(address);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return addresses;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* List of dev addresses to use for auto-assignment (to avoid conflicts)
|
|
78
|
-
*/
|
|
79
|
-
const DEV_ADDRESSES = [
|
|
80
|
-
"0xcafe",
|
|
81
|
-
"0xbeef",
|
|
82
|
-
"0xdead",
|
|
83
|
-
"0xface",
|
|
84
|
-
"0xfeed",
|
|
85
|
-
"0xc0de",
|
|
86
|
-
"0xbabe",
|
|
87
|
-
"0xf00d",
|
|
88
|
-
];
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Update Move.toml with detected addresses
|
|
92
|
-
* Adds missing addresses to [addresses] and [dev-addresses] sections
|
|
93
|
-
*/
|
|
94
|
-
export function updateMoveToml(moveDir: string, detectedAddresses: Set<string>): string[] {
|
|
95
|
-
const moveTomlPath = path.join(moveDir, "Move.toml");
|
|
96
|
-
|
|
97
|
-
if (!fs.existsSync(moveTomlPath)) {
|
|
98
|
-
return [];
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
let content = fs.readFileSync(moveTomlPath, "utf-8");
|
|
102
|
-
const addedAddresses: string[] = [];
|
|
103
|
-
|
|
104
|
-
// Parse existing addresses from [addresses] section
|
|
105
|
-
const existingAddresses = new Set<string>();
|
|
106
|
-
const addressesMatch = content.match(/\[addresses\]([\s\S]*?)(?=\[|$)/);
|
|
107
|
-
if (addressesMatch && addressesMatch[1]) {
|
|
108
|
-
const addressesSection = addressesMatch[1];
|
|
109
|
-
const addrRegex = /^([a-zA-Z_][a-zA-Z0-9_]*)\s*=/gm;
|
|
110
|
-
let match;
|
|
111
|
-
while ((match = addrRegex.exec(addressesSection)) !== null) {
|
|
112
|
-
if (match[1]) existingAddresses.add(match[1]);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
// Parse existing dev-addresses
|
|
117
|
-
const existingDevAddresses = new Map<string, string>();
|
|
118
|
-
const devAddressesMatch = content.match(/\[dev-addresses\]([\s\S]*?)(?=\[|$)/);
|
|
119
|
-
if (devAddressesMatch && devAddressesMatch[1]) {
|
|
120
|
-
const devSection = devAddressesMatch[1];
|
|
121
|
-
const devRegex = /^([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*"(0x[a-fA-F0-9]+)"/gm;
|
|
122
|
-
let match;
|
|
123
|
-
while ((match = devRegex.exec(devSection)) !== null) {
|
|
124
|
-
const name = match[1];
|
|
125
|
-
const addr = match[2];
|
|
126
|
-
if (name && addr) existingDevAddresses.set(name, addr.toLowerCase());
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
// Get used dev addresses to avoid conflicts
|
|
131
|
-
const usedDevAddresses = new Set(existingDevAddresses.values());
|
|
132
|
-
|
|
133
|
-
// Find addresses that need to be added
|
|
134
|
-
const missingAddresses: string[] = [];
|
|
135
|
-
for (const addr of detectedAddresses) {
|
|
136
|
-
if (!existingAddresses.has(addr)) {
|
|
137
|
-
missingAddresses.push(addr);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
if (missingAddresses.length === 0) {
|
|
142
|
-
return [];
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Assign unique dev addresses to new addresses
|
|
146
|
-
const newDevAddresses: Map<string, string> = new Map();
|
|
147
|
-
let devAddrIndex = 0;
|
|
148
|
-
|
|
149
|
-
for (const addr of missingAddresses) {
|
|
150
|
-
// Find next available dev address
|
|
151
|
-
while (devAddrIndex < DEV_ADDRESSES.length) {
|
|
152
|
-
const candidate = DEV_ADDRESSES[devAddrIndex];
|
|
153
|
-
if (candidate && !usedDevAddresses.has(candidate)) break;
|
|
154
|
-
devAddrIndex++;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
const devCandidate = DEV_ADDRESSES[devAddrIndex];
|
|
158
|
-
if (devCandidate) {
|
|
159
|
-
newDevAddresses.set(addr, devCandidate);
|
|
160
|
-
usedDevAddresses.add(devCandidate);
|
|
161
|
-
devAddrIndex++;
|
|
162
|
-
} else {
|
|
163
|
-
// Generate a unique address if we run out of predefined ones
|
|
164
|
-
const uniqueAddr = `0x${(0x1000 + devAddrIndex).toString(16)}`;
|
|
165
|
-
newDevAddresses.set(addr, uniqueAddr);
|
|
166
|
-
devAddrIndex++;
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
// Update [addresses] section
|
|
171
|
-
if (addressesMatch && addressesMatch[1] !== undefined) {
|
|
172
|
-
const addressesSection = addressesMatch[1];
|
|
173
|
-
const newLines = missingAddresses.map(addr => `${addr} = "_"`).join("\n");
|
|
174
|
-
const updatedSection = addressesSection.trimEnd() + "\n" + newLines + "\n";
|
|
175
|
-
content = content.replace(addressesMatch[0], `[addresses]${updatedSection}`);
|
|
176
|
-
}
|
|
177
|
-
|
|
178
|
-
// Update [dev-addresses] section
|
|
179
|
-
const updatedDevMatch = content.match(/\[dev-addresses\]([\s\S]*?)(?=\[|$)/);
|
|
180
|
-
if (updatedDevMatch && updatedDevMatch[1] !== undefined) {
|
|
181
|
-
const devSection = updatedDevMatch[1];
|
|
182
|
-
const newDevLines = missingAddresses.map(addr => `${addr} = "${newDevAddresses.get(addr)}"`).join("\n");
|
|
183
|
-
// Remove trailing comments/whitespace before adding new lines
|
|
184
|
-
const cleanedSection = devSection.replace(/\n*$/, "\n");
|
|
185
|
-
const updatedDevSection = cleanedSection + newDevLines + "\n";
|
|
186
|
-
content = content.replace(updatedDevMatch[0], `[dev-addresses]${updatedDevSection}`);
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
// Write updated content
|
|
190
|
-
fs.writeFileSync(moveTomlPath, content);
|
|
191
|
-
|
|
192
|
-
return missingAddresses;
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
async function runMovementBuild(
|
|
196
|
-
args: readonly string[],
|
|
197
|
-
cwd: string
|
|
198
|
-
): Promise<void> {
|
|
199
|
-
// Use throwOnNonZeroExit:false so we can route stdout/stderr through
|
|
200
|
-
// the §9 verbosity gate ourselves. On failure we surface everything;
|
|
201
|
-
// on success the chatter is hidden unless isVerbose().
|
|
202
|
-
const result = await withSpinner("Compiling Move package", () =>
|
|
203
|
-
runCli(
|
|
204
|
-
{
|
|
205
|
-
command: "movement",
|
|
206
|
-
args,
|
|
207
|
-
cwd,
|
|
208
|
-
timeoutMs: 120000, // 2 minutes for git dependency downloads
|
|
209
|
-
},
|
|
210
|
-
{ throwOnNonZeroExit: false }
|
|
211
|
-
),
|
|
212
|
-
);
|
|
213
|
-
|
|
214
|
-
if (result.exitCode !== 0) {
|
|
215
|
-
// Build failed — show the user everything we have so they can debug.
|
|
216
|
-
if (result.stdout) logger.plain(result.stdout.trim());
|
|
217
|
-
if (result.stderr) logger.plain(result.stderr.trim());
|
|
218
|
-
throw new Error(`movement move build exited with code ${result.exitCode}`);
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
// Success path: route output through the verbosity gate.
|
|
222
|
-
if (isVerbose()) {
|
|
223
|
-
if (result.stdout) logger.info(result.stdout.trim(), 2);
|
|
224
|
-
if (result.stderr) logger.info(result.stderr.trim(), 2);
|
|
225
|
-
}
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* Compile Move smart contracts using the Movement CLI
|
|
230
|
-
*
|
|
231
|
-
* This command:
|
|
232
|
-
* - Detects named addresses used in Move modules
|
|
233
|
-
* - Auto-updates Move.toml with missing addresses
|
|
234
|
-
* - Merges auto-detected addresses with user-configured addresses
|
|
235
|
-
* - Auto-assigns development addresses for missing addresses
|
|
236
|
-
* - Executes `movement move build` with proper named address mappings
|
|
237
|
-
*
|
|
238
|
-
* @example
|
|
239
|
-
* // Compile contracts in default ./move directory
|
|
240
|
-
* await compileCommand();
|
|
241
|
-
*/
|
|
242
|
-
export default async function compileCommand() {
|
|
243
|
-
try {
|
|
244
|
-
// Compile is network-independent - only uses global config
|
|
245
|
-
const userConfig = await loadUserConfig();
|
|
246
|
-
|
|
247
|
-
logger.newline();
|
|
248
|
-
logger.info('Compiling Move contracts...');
|
|
249
|
-
|
|
250
|
-
const moveDir = path.resolve(process.cwd(), userConfig.moveDir || "./move");
|
|
251
|
-
if (!fs.existsSync(moveDir)) {
|
|
252
|
-
logger.error(`Move directory not found: ${moveDir}`);
|
|
253
|
-
logger.plain(` Update movehat.config.ts -> moveDir`);
|
|
254
|
-
logger.newline();
|
|
255
|
-
process.exit(1);
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
// Validate the move directory before passing it to the child process.
|
|
259
|
-
// No shell escaping needed — runCli uses spawn-with-args, not exec.
|
|
260
|
-
const safeMoveDir = validatePathSafety(moveDir, "Move directory");
|
|
261
|
-
|
|
262
|
-
// Auto-detect named addresses from Move files
|
|
263
|
-
const detectedAddresses = extractNamedAddresses(moveDir);
|
|
264
|
-
|
|
265
|
-
// Auto-update Move.toml with missing addresses
|
|
266
|
-
const addedToToml = updateMoveToml(moveDir, detectedAddresses);
|
|
267
|
-
if (addedToToml.length > 0) {
|
|
268
|
-
logger.success(`Added ${addedToToml.length} address(es) to Move.toml: ${addedToToml.join(", ")}`);
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
// Merge user-configured addresses with auto-detected ones
|
|
272
|
-
const namedAddresses = { ...(userConfig.namedAddresses ?? {}) };
|
|
273
|
-
const autoAssignedAddresses: string[] = [];
|
|
274
|
-
|
|
275
|
-
// For any detected address not in config, use a dev address
|
|
276
|
-
for (const addr of detectedAddresses) {
|
|
277
|
-
if (!namedAddresses[addr]) {
|
|
278
|
-
namedAddresses[addr] = "0xcafe"; // Dev address for compilation
|
|
279
|
-
autoAssignedAddresses.push(addr);
|
|
280
|
-
}
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
let namedAddressesValue = "";
|
|
284
|
-
|
|
285
|
-
if (Object.keys(namedAddresses).length > 0) {
|
|
286
|
-
namedAddressesValue = Object.entries(namedAddresses)
|
|
287
|
-
.map(([k, v]) => {
|
|
288
|
-
// Validate address name (alphanumeric, underscore only)
|
|
289
|
-
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(k)) {
|
|
290
|
-
throw new Error(
|
|
291
|
-
`Invalid named address "${k}". ` +
|
|
292
|
-
`Names must start with a letter or underscore and contain only alphanumeric characters and underscores.`
|
|
293
|
-
);
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
// Validate address value (should be hex address)
|
|
297
|
-
if (!/^0x[a-fA-F0-9]+$/.test(v)) {
|
|
298
|
-
throw new Error(
|
|
299
|
-
`Invalid address value for "${k}": "${v}". ` +
|
|
300
|
-
`Address values must be hex strings starting with "0x".`
|
|
301
|
-
);
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
return `${k}=${v}`;
|
|
305
|
-
})
|
|
306
|
-
.join(",");
|
|
307
|
-
}
|
|
308
|
-
|
|
309
|
-
const args: string[] = ["move", "build", "--package-dir", safeMoveDir];
|
|
310
|
-
if (namedAddressesValue) {
|
|
311
|
-
args.push("--named-addresses", namedAddressesValue);
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
logger.kv('Move directory', moveDir, 2);
|
|
315
|
-
if (detectedAddresses.size > 0) {
|
|
316
|
-
logger.kv('Detected addresses', Array.from(detectedAddresses).join(", "), 2);
|
|
317
|
-
}
|
|
318
|
-
const namedAddrs = userConfig.namedAddresses ?? {};
|
|
319
|
-
if (Object.keys(namedAddrs).length > 0) {
|
|
320
|
-
logger.kv('Configured addresses', Object.keys(namedAddrs).join(", "), 2);
|
|
321
|
-
}
|
|
322
|
-
if (autoAssignedAddresses.length > 0) {
|
|
323
|
-
logger.kv('Auto-assigned (0xcafe)', autoAssignedAddresses.join(", "), 2);
|
|
324
|
-
}
|
|
325
|
-
logger.newline();
|
|
326
|
-
|
|
327
|
-
await runMovementBuild(args, moveDir);
|
|
328
|
-
|
|
329
|
-
logger.newline();
|
|
330
|
-
logger.success('Compilation finished successfully');
|
|
331
|
-
logger.newline();
|
|
332
|
-
} catch (err) {
|
|
333
|
-
logger.newline();
|
|
334
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
335
|
-
logger.error(`Compilation failed: ${msg}`);
|
|
336
|
-
logger.newline();
|
|
337
|
-
process.exit(1);
|
|
338
|
-
}
|
|
339
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
import { existsSync, mkdtempSync, mkdirSync, rmSync } from "node:fs";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
|
|
6
|
-
const promptsMock = vi.fn();
|
|
7
|
-
const forkManagerInitialize = vi.fn();
|
|
8
|
-
const forkManagerGetMetadata = vi.fn();
|
|
9
|
-
const ForkManagerCtor = vi.fn();
|
|
10
|
-
const loadUserConfigMock = vi.fn();
|
|
11
|
-
const resolveNetworkConfigMock = vi.fn();
|
|
12
|
-
|
|
13
|
-
vi.mock("prompts", () => ({ default: promptsMock }));
|
|
14
|
-
|
|
15
|
-
vi.mock("../../../fork/manager.js", () => ({
|
|
16
|
-
ForkManager: class {
|
|
17
|
-
constructor(forkPath: string) {
|
|
18
|
-
ForkManagerCtor(forkPath);
|
|
19
|
-
}
|
|
20
|
-
initialize = forkManagerInitialize;
|
|
21
|
-
getMetadata = forkManagerGetMetadata;
|
|
22
|
-
},
|
|
23
|
-
}));
|
|
24
|
-
|
|
25
|
-
vi.mock("../../../core/config.js", () => ({
|
|
26
|
-
loadUserConfig: loadUserConfigMock,
|
|
27
|
-
resolveNetworkConfig: resolveNetworkConfigMock,
|
|
28
|
-
}));
|
|
29
|
-
|
|
30
|
-
const { default: forkCreateCommand } = await import("../create.js");
|
|
31
|
-
|
|
32
|
-
describe("forkCreateCommand", () => {
|
|
33
|
-
let tmpCwd: string;
|
|
34
|
-
let origCwd: string;
|
|
35
|
-
let exitSpy: ReturnType<typeof vi.spyOn>;
|
|
36
|
-
|
|
37
|
-
beforeEach(() => {
|
|
38
|
-
promptsMock.mockReset();
|
|
39
|
-
forkManagerInitialize.mockReset().mockResolvedValue(undefined);
|
|
40
|
-
forkManagerGetMetadata.mockReset().mockReturnValue({
|
|
41
|
-
network: "testnet",
|
|
42
|
-
nodeUrl: "https://testnet.movementnetwork.xyz/v1",
|
|
43
|
-
chainId: 27,
|
|
44
|
-
ledgerVersion: "100",
|
|
45
|
-
timestamp: "12345",
|
|
46
|
-
epoch: "5",
|
|
47
|
-
blockHeight: "42",
|
|
48
|
-
createdAt: new Date(0).toISOString(),
|
|
49
|
-
});
|
|
50
|
-
ForkManagerCtor.mockReset();
|
|
51
|
-
loadUserConfigMock.mockReset().mockResolvedValue({
|
|
52
|
-
defaultNetwork: "testnet",
|
|
53
|
-
networks: { testnet: { url: "https://testnet.movementnetwork.xyz/v1", chainId: "testnet" } },
|
|
54
|
-
});
|
|
55
|
-
resolveNetworkConfigMock.mockReset().mockResolvedValue({
|
|
56
|
-
network: "testnet",
|
|
57
|
-
rpc: "https://testnet.movementnetwork.xyz/v1",
|
|
58
|
-
privateKey: "0x" + "1".repeat(64),
|
|
59
|
-
allAccounts: [],
|
|
60
|
-
profile: "default",
|
|
61
|
-
moveDir: "./move",
|
|
62
|
-
account: "",
|
|
63
|
-
namedAddresses: {},
|
|
64
|
-
networkConfig: { url: "https://testnet.movementnetwork.xyz/v1", chainId: "testnet" },
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
origCwd = process.cwd();
|
|
68
|
-
tmpCwd = mkdtempSync(join(tmpdir(), "movehat-forkcreate-"));
|
|
69
|
-
process.chdir(tmpCwd);
|
|
70
|
-
exitSpy = vi
|
|
71
|
-
.spyOn(process, "exit")
|
|
72
|
-
.mockImplementation(((code?: number) => {
|
|
73
|
-
throw new Error(`__test_exit_${code ?? 0}__`);
|
|
74
|
-
}) as never);
|
|
75
|
-
vi.spyOn(console, "log").mockImplementation(() => undefined);
|
|
76
|
-
vi.spyOn(console, "error").mockImplementation(() => undefined);
|
|
77
|
-
});
|
|
78
|
-
|
|
79
|
-
afterEach(() => {
|
|
80
|
-
process.chdir(origCwd);
|
|
81
|
-
if (existsSync(tmpCwd)) rmSync(tmpCwd, { recursive: true, force: true });
|
|
82
|
-
vi.restoreAllMocks();
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
it("happy path: initializes a fresh fork at the default path", async () => {
|
|
86
|
-
await forkCreateCommand({ network: "testnet" });
|
|
87
|
-
|
|
88
|
-
expect(forkManagerInitialize).toHaveBeenCalledTimes(1);
|
|
89
|
-
expect(forkManagerInitialize).toHaveBeenCalledWith(
|
|
90
|
-
"https://testnet.movementnetwork.xyz/v1",
|
|
91
|
-
"testnet"
|
|
92
|
-
);
|
|
93
|
-
expect(promptsMock).not.toHaveBeenCalled();
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
it("uses a custom fork name and path when provided", async () => {
|
|
97
|
-
const customPath = join(tmpCwd, "my-custom-fork");
|
|
98
|
-
await forkCreateCommand({ network: "testnet", path: customPath, name: "ignored-when-path-set" });
|
|
99
|
-
|
|
100
|
-
expect(ForkManagerCtor).toHaveBeenCalledWith(customPath);
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
it("prompts for overwrite when the fork directory already exists", async () => {
|
|
104
|
-
const forkPath = join(tmpCwd, ".movehat", "forks", "testnet-fork");
|
|
105
|
-
mkdirSync(forkPath, { recursive: true });
|
|
106
|
-
promptsMock.mockResolvedValueOnce({ overwrite: true });
|
|
107
|
-
|
|
108
|
-
await forkCreateCommand({ network: "testnet" });
|
|
109
|
-
|
|
110
|
-
expect(promptsMock).toHaveBeenCalledTimes(1);
|
|
111
|
-
expect(forkManagerInitialize).toHaveBeenCalledTimes(1);
|
|
112
|
-
});
|
|
113
|
-
|
|
114
|
-
it("aborts gracefully when the user declines the overwrite prompt", async () => {
|
|
115
|
-
const forkPath = join(tmpCwd, ".movehat", "forks", "testnet-fork");
|
|
116
|
-
mkdirSync(forkPath, { recursive: true });
|
|
117
|
-
promptsMock.mockResolvedValueOnce({ overwrite: false });
|
|
118
|
-
|
|
119
|
-
await forkCreateCommand({ network: "testnet" });
|
|
120
|
-
|
|
121
|
-
expect(forkManagerInitialize).not.toHaveBeenCalled();
|
|
122
|
-
expect(exitSpy).not.toHaveBeenCalled();
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
it("exits 1 when the manager's initialize throws", async () => {
|
|
126
|
-
forkManagerInitialize.mockRejectedValueOnce(new Error("upstream is unreachable"));
|
|
127
|
-
|
|
128
|
-
await expect(forkCreateCommand({ network: "testnet" })).rejects.toThrow(
|
|
129
|
-
"__test_exit_1__"
|
|
130
|
-
);
|
|
131
|
-
});
|
|
132
|
-
});
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
-
|
|
3
|
-
const forkManagerLoad = vi.fn();
|
|
4
|
-
const forkManagerFundAccount = vi.fn();
|
|
5
|
-
const forkManagerGetResource = vi.fn();
|
|
6
|
-
const ForkManagerCtor = vi.fn();
|
|
7
|
-
|
|
8
|
-
vi.mock("../../../fork/manager.js", () => ({
|
|
9
|
-
ForkManager: class {
|
|
10
|
-
constructor(forkPath: string) {
|
|
11
|
-
ForkManagerCtor(forkPath);
|
|
12
|
-
}
|
|
13
|
-
load = forkManagerLoad;
|
|
14
|
-
fundAccount = forkManagerFundAccount;
|
|
15
|
-
getResource = forkManagerGetResource;
|
|
16
|
-
},
|
|
17
|
-
}));
|
|
18
|
-
|
|
19
|
-
const { default: forkFundCommand } = await import("../fund.js");
|
|
20
|
-
|
|
21
|
-
describe("forkFundCommand", () => {
|
|
22
|
-
let exitSpy: ReturnType<typeof vi.spyOn>;
|
|
23
|
-
|
|
24
|
-
beforeEach(() => {
|
|
25
|
-
forkManagerLoad.mockReset();
|
|
26
|
-
forkManagerFundAccount.mockReset().mockResolvedValue(undefined);
|
|
27
|
-
forkManagerGetResource.mockReset().mockResolvedValue({
|
|
28
|
-
coin: { value: "1000" },
|
|
29
|
-
});
|
|
30
|
-
ForkManagerCtor.mockReset();
|
|
31
|
-
exitSpy = vi
|
|
32
|
-
.spyOn(process, "exit")
|
|
33
|
-
.mockImplementation(((code?: number) => {
|
|
34
|
-
throw new Error(`__test_exit_${code ?? 0}__`);
|
|
35
|
-
}) as never);
|
|
36
|
-
vi.spyOn(console, "log").mockImplementation(() => undefined);
|
|
37
|
-
vi.spyOn(console, "error").mockImplementation(() => undefined);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
afterEach(() => {
|
|
41
|
-
vi.restoreAllMocks();
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
it("exits 1 when --account is missing", async () => {
|
|
45
|
-
await expect(
|
|
46
|
-
forkFundCommand({ account: "", amount: "100" } as never)
|
|
47
|
-
).rejects.toThrow("__test_exit_1__");
|
|
48
|
-
expect(forkManagerFundAccount).not.toHaveBeenCalled();
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it("exits 1 when --amount is missing", async () => {
|
|
52
|
-
await expect(
|
|
53
|
-
forkFundCommand({ account: "0xabc", amount: "" } as never)
|
|
54
|
-
).rejects.toThrow("__test_exit_1__");
|
|
55
|
-
expect(forkManagerFundAccount).not.toHaveBeenCalled();
|
|
56
|
-
});
|
|
57
|
-
|
|
58
|
-
it("exits 1 when --amount is not a positive integer", async () => {
|
|
59
|
-
await expect(
|
|
60
|
-
forkFundCommand({ account: "0xabc", amount: "abc" } as never)
|
|
61
|
-
).rejects.toThrow("__test_exit_1__");
|
|
62
|
-
await expect(
|
|
63
|
-
forkFundCommand({ account: "0xabc", amount: "-5" } as never)
|
|
64
|
-
).rejects.toThrow("__test_exit_1__");
|
|
65
|
-
});
|
|
66
|
-
|
|
67
|
-
it("happy path: loads fork, funds the account, prints new balance", async () => {
|
|
68
|
-
await forkFundCommand({
|
|
69
|
-
account: "0xabc",
|
|
70
|
-
amount: "1000",
|
|
71
|
-
fork: "/tmp/fork",
|
|
72
|
-
} as never);
|
|
73
|
-
|
|
74
|
-
expect(forkManagerLoad).toHaveBeenCalledTimes(1);
|
|
75
|
-
expect(forkManagerFundAccount).toHaveBeenCalledWith(
|
|
76
|
-
"0xabc",
|
|
77
|
-
1000,
|
|
78
|
-
"0x1::aptos_coin::AptosCoin"
|
|
79
|
-
);
|
|
80
|
-
expect(forkManagerGetResource).toHaveBeenCalled();
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it("respects --coinType when provided", async () => {
|
|
84
|
-
await forkFundCommand({
|
|
85
|
-
account: "0xabc",
|
|
86
|
-
amount: "1000",
|
|
87
|
-
coinType: "0x99::custom::Coin",
|
|
88
|
-
} as never);
|
|
89
|
-
|
|
90
|
-
expect(forkManagerFundAccount).toHaveBeenCalledWith(
|
|
91
|
-
"0xabc",
|
|
92
|
-
1000,
|
|
93
|
-
"0x99::custom::Coin"
|
|
94
|
-
);
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
it("exits 1 when fundAccount throws", async () => {
|
|
98
|
-
forkManagerFundAccount.mockRejectedValueOnce(new Error("fund failed"));
|
|
99
|
-
|
|
100
|
-
await expect(
|
|
101
|
-
forkFundCommand({ account: "0xabc", amount: "1000" } as never)
|
|
102
|
-
).rejects.toThrow("__test_exit_1__");
|
|
103
|
-
});
|
|
104
|
-
});
|