movehat 0.2.4 ā 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 +14 -1
- package/dist/fork/manager.js +19 -1
- 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 +0 -1
- 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 +0 -1
- package/dist/node/LocalNodeManager.js +4 -2
- 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/runtime.ts
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Account,
|
|
3
|
-
Aptos,
|
|
4
|
-
AptosConfig,
|
|
5
|
-
Ed25519PrivateKey,
|
|
6
|
-
Network,
|
|
7
|
-
} from "@aptos-labs/ts-sdk";
|
|
8
|
-
import { MovehatRuntime, NetworkInfo } from "./types/runtime.js";
|
|
9
|
-
import { MovehatUserConfig } from "./types/config.js";
|
|
10
|
-
import { loadUserConfig, resolveNetworkConfig } from "./core/config.js";
|
|
11
|
-
import { getContract, MoveContract } from "./core/contract.js";
|
|
12
|
-
import {
|
|
13
|
-
loadDeployment,
|
|
14
|
-
getAllDeployments,
|
|
15
|
-
getDeployedAddress,
|
|
16
|
-
DeploymentInfo,
|
|
17
|
-
} from "./core/deployments.js";
|
|
18
|
-
import { AccountManager } from "./core/AccountManager.js";
|
|
19
|
-
import { Publisher } from "./core/Publisher.js";
|
|
20
|
-
import type { ChildProcessAdapter } from "./utils/childProcessAdapter.js";
|
|
21
|
-
|
|
22
|
-
export interface InitRuntimeOptions {
|
|
23
|
-
network?: string;
|
|
24
|
-
accountIndex?: number;
|
|
25
|
-
configOverride?: Partial<MovehatUserConfig>;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Initialize the Movehat Runtime Environment.
|
|
30
|
-
*
|
|
31
|
-
* Lower-level construction utility ā loads `movehat.config.ts`, resolves
|
|
32
|
-
* the active network, and builds a `MovehatRuntime` bound to it. Used
|
|
33
|
-
* internally by {@link Harness.createLive} (see `harness/Harness.ts`).
|
|
34
|
-
*
|
|
35
|
-
* **External callers should prefer the `Harness.create*` factories**
|
|
36
|
-
* (`Harness.createLocal` / `createFork` / `createLive`) for the Hardhat-
|
|
37
|
-
* style lifecycle + use-after-cleanup safety. `initRuntime` remains
|
|
38
|
-
* exported as a public utility for advanced use cases that need to
|
|
39
|
-
* skip the Harness abstraction (e.g. embedding movehat inside another
|
|
40
|
-
* framework).
|
|
41
|
-
*/
|
|
42
|
-
export async function initRuntime(
|
|
43
|
-
options: InitRuntimeOptions = {}
|
|
44
|
-
): Promise<MovehatRuntime> {
|
|
45
|
-
// Load user config from movehat.config.ts
|
|
46
|
-
const userConfig = await loadUserConfig();
|
|
47
|
-
|
|
48
|
-
// Apply config override if provided
|
|
49
|
-
const mergedUserConfig: MovehatUserConfig = options.configOverride
|
|
50
|
-
? { ...userConfig, ...options.configOverride }
|
|
51
|
-
: userConfig;
|
|
52
|
-
|
|
53
|
-
// Resolve configuration for selected network
|
|
54
|
-
const config = await resolveNetworkConfig(mergedUserConfig, options.network);
|
|
55
|
-
|
|
56
|
-
// Setup Movement TypeScript SDK client
|
|
57
|
-
// Movement Network uses custom chain IDs, so we need to use Network.CUSTOM
|
|
58
|
-
// and let the SDK fetch the actual chainId from the node
|
|
59
|
-
const aptosConfig = new AptosConfig({
|
|
60
|
-
network: Network.CUSTOM,
|
|
61
|
-
fullnode: config.rpc,
|
|
62
|
-
});
|
|
63
|
-
const aptos = new Aptos(aptosConfig);
|
|
64
|
-
|
|
65
|
-
// Setup accounts using AccountManager
|
|
66
|
-
const accountIndex = options.accountIndex || 0;
|
|
67
|
-
const accounts: Account[] = AccountManager.loadAccountsFromConfig(config);
|
|
68
|
-
|
|
69
|
-
// Primary account (accounts[0] or selected index)
|
|
70
|
-
const account = accounts[accountIndex];
|
|
71
|
-
if (!account) {
|
|
72
|
-
throw new Error(`Account index ${accountIndex} not found. Only ${accounts.length} accounts configured.`);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
// Update config.account with derived address
|
|
76
|
-
config.account = account.accountAddress.toString();
|
|
77
|
-
|
|
78
|
-
// Network info
|
|
79
|
-
const network: NetworkInfo = {
|
|
80
|
-
name: config.network,
|
|
81
|
-
rpc: config.rpc,
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
// Helper functions
|
|
85
|
-
const getContractHelper = (address: string, moduleName: string): MoveContract => {
|
|
86
|
-
return getContract(aptos, address, moduleName);
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const deployContract = async (
|
|
90
|
-
moduleName: string,
|
|
91
|
-
options?: {
|
|
92
|
-
packageDir?: string;
|
|
93
|
-
adapter?: ChildProcessAdapter;
|
|
94
|
-
}
|
|
95
|
-
): Promise<DeploymentInfo> => {
|
|
96
|
-
// Thin orchestrator; the actual logic lives in core/Publisher.ts.
|
|
97
|
-
return new Publisher({ adapter: options?.adapter }).deploy({
|
|
98
|
-
moduleName,
|
|
99
|
-
config,
|
|
100
|
-
account,
|
|
101
|
-
packageDir: options?.packageDir,
|
|
102
|
-
});
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
const getDeployment = (moduleName: string): DeploymentInfo | null => {
|
|
106
|
-
return loadDeployment(config.network, moduleName);
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
const getDeployments = (): Record<string, DeploymentInfo> => {
|
|
110
|
-
return getAllDeployments(config.network);
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
const getDeploymentAddress = (moduleName: string): string | null => {
|
|
114
|
-
return getDeployedAddress(config.network, moduleName);
|
|
115
|
-
};
|
|
116
|
-
|
|
117
|
-
const createAccount = (): Account => {
|
|
118
|
-
return AccountManager.createAccount();
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
const getAccountHelper = (privateKeyHex: string): Account => {
|
|
122
|
-
return AccountManager.loadAccountFromPrivateKey(privateKeyHex);
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
const getAccountByIndex = (index: number): Account => {
|
|
126
|
-
const acc = accounts[index];
|
|
127
|
-
if (!acc) {
|
|
128
|
-
throw new Error(`Account index ${index} out of range. Available accounts: 0-${accounts.length - 1}`);
|
|
129
|
-
}
|
|
130
|
-
return acc;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
const switchNetwork = async (networkName: string): Promise<MovehatRuntime> => {
|
|
134
|
-
return initRuntime({ ...options, network: networkName });
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
// Build runtime object
|
|
138
|
-
const runtime: MovehatRuntime = {
|
|
139
|
-
config,
|
|
140
|
-
network,
|
|
141
|
-
aptos,
|
|
142
|
-
account,
|
|
143
|
-
accounts,
|
|
144
|
-
getContract: getContractHelper,
|
|
145
|
-
deployContract,
|
|
146
|
-
getDeployment,
|
|
147
|
-
getDeployments,
|
|
148
|
-
getDeploymentAddress,
|
|
149
|
-
createAccount,
|
|
150
|
-
getAccount: getAccountHelper,
|
|
151
|
-
getAccountByIndex,
|
|
152
|
-
switchNetwork,
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
return runtime;
|
|
156
|
-
}
|
|
157
|
-
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# Private Key (used for all networks - Hardhat-style)
|
|
2
|
-
# This is your wallet's private key that will be used to deploy and interact with contracts
|
|
3
|
-
PRIVATE_KEY=your_private_key_here
|
|
4
|
-
|
|
5
|
-
# Optional: Override RPC URL (useful for custom endpoints)
|
|
6
|
-
# MOVEMENT_RPC_URL=https://custom-testnet.movementnetwork.xyz/v1
|
|
7
|
-
|
|
8
|
-
# Optional: Override default network from config
|
|
9
|
-
# MH_DEFAULT_NETWORK=testnet
|
package/src/templates/README.md
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
# {{projectName}}
|
|
2
|
-
|
|
3
|
-
A Move smart contract project built with Movehat.
|
|
4
|
-
|
|
5
|
-
## Prerequisites
|
|
6
|
-
|
|
7
|
-
**Required:**
|
|
8
|
-
- **Node.js v18+** - [Download](https://nodejs.org/)
|
|
9
|
-
- **Movement CLI** - **REQUIRED** for compiling contracts
|
|
10
|
-
|
|
11
|
-
Install: [Movement CLI Installation Guide](https://docs.movementnetwork.xyz/devs/movementCLI)
|
|
12
|
-
|
|
13
|
-
Verify: `movement --version`
|
|
14
|
-
|
|
15
|
-
**IMPORTANT:** Without Movement CLI, compilation will fail!
|
|
16
|
-
|
|
17
|
-
## Getting Started
|
|
18
|
-
|
|
19
|
-
### 1. Install dependencies
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
npm install
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 2. Configure environment
|
|
26
|
-
|
|
27
|
-
Copy `.env.example` to `.env` and fill in your credentials:
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
cp .env.example .env
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Edit `.env`:
|
|
34
|
-
```
|
|
35
|
-
PRIVATE_KEY=your_private_key_here
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### 3. Compile contracts
|
|
39
|
-
|
|
40
|
-
```bash
|
|
41
|
-
npm run compile
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**How it works:**
|
|
45
|
-
- Movehat automatically detects named addresses from your Move files
|
|
46
|
-
- No need to manually configure addresses in `Move.toml`
|
|
47
|
-
- Just add any new `.move` file and it will compile automatically (like Hardhat!)
|
|
48
|
-
|
|
49
|
-
### 4. Run tests
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
npm test
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
When you run `npm test`, you'll see an **interactive menu**:
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
? What tests do you want to run?
|
|
59
|
-
⯠Move unit tests (fast, no node required)
|
|
60
|
-
TypeScript integration tests (starts local node)
|
|
61
|
-
All tests (Move + TypeScript)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
**Two types of tests available:**
|
|
65
|
-
|
|
66
|
-
1. **Move Unit Tests** (`move/sources/Counter.move` in `#[test]` blocks)
|
|
67
|
-
- Written in Move with `#[test]` annotations
|
|
68
|
-
- Test internal logic and business rules
|
|
69
|
-
- Ultra-fast execution (milliseconds)
|
|
70
|
-
- Run with: `npm run test:move` or `movehat test --move`
|
|
71
|
-
|
|
72
|
-
2. **TypeScript Integration Tests** (`tests/Counter.test.ts`)
|
|
73
|
-
- Written in TypeScript on a **local Movement blockchain**
|
|
74
|
-
- Automatically starts a local node, funds accounts, and deploys contracts
|
|
75
|
-
- Runs real transactions (not simulation!)
|
|
76
|
-
- Just like Hardhat - zero manual setup
|
|
77
|
-
- Run with: `npm run test:ts` or `movehat test --ts`
|
|
78
|
-
|
|
79
|
-
**Commands:**
|
|
80
|
-
- `npm test` - Interactive menu to choose test type
|
|
81
|
-
- `npm run test:move` or `movehat test --move` - Only Move unit tests (fast)
|
|
82
|
-
- `npm run test:ts` or `movehat test --ts` - Only TypeScript integration tests
|
|
83
|
-
- `movehat test --all` - Both Move + TypeScript tests
|
|
84
|
-
- `npm run test:watch` or `movehat test --watch` - TypeScript tests in watch mode
|
|
85
|
-
|
|
86
|
-
### 5. Deploy (optional)
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
npx movehat run scripts/deploy-counter.ts
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Project Structure
|
|
93
|
-
|
|
94
|
-
```
|
|
95
|
-
{{PROJECT_NAME}}/
|
|
96
|
-
āāā move/ # Move smart contracts
|
|
97
|
-
ā āāā sources/
|
|
98
|
-
ā ā āāā Counter.move
|
|
99
|
-
ā āāā Move.toml
|
|
100
|
-
āāā scripts/ # Deployment scripts
|
|
101
|
-
ā āāā deploy-counter.ts
|
|
102
|
-
āāā tests/ # Integration tests
|
|
103
|
-
ā āāā Counter.test.ts
|
|
104
|
-
āāā movehat.config.ts # Movehat configuration
|
|
105
|
-
āāā .env # Environment variables (git-ignored)
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Available Commands
|
|
109
|
-
|
|
110
|
-
- `npm run compile` - Compile Move contracts (auto-detects addresses)
|
|
111
|
-
- `npm test` - Run integration tests
|
|
112
|
-
- `npm run test:watch` - Run tests in watch mode
|
|
113
|
-
- `npx movehat run scripts/deploy-counter.ts` - Deploy and initialize counter
|
|
114
|
-
|
|
115
|
-
## How Named Addresses Work
|
|
116
|
-
|
|
117
|
-
Movehat automatically detects named addresses from your Move code:
|
|
118
|
-
|
|
119
|
-
```move
|
|
120
|
-
module counter::counter { // ā "counter" is auto-detected
|
|
121
|
-
// ...
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
- **For development:** Movehat uses temp addresses (`0xcafe`) automatically
|
|
126
|
-
- **For production:** Specify real addresses in `movehat.config.ts`
|
|
127
|
-
|
|
128
|
-
**Adding new contracts:**
|
|
129
|
-
1. Create `move/sources/MyContract.move`
|
|
130
|
-
2. Write: `module mycontract::mycontract { ... }`
|
|
131
|
-
3. Run `npm run compile`
|
|
132
|
-
4. It just works! (like Hardhat)
|
|
133
|
-
|
|
134
|
-
## Troubleshooting
|
|
135
|
-
|
|
136
|
-
| Error | Solution |
|
|
137
|
-
|-------|----------|
|
|
138
|
-
| `movement: command not found` | Install Movement CLI (see Prerequisites) |
|
|
139
|
-
| `Cannot find package 'dotenv'` | Run `npm install` |
|
|
140
|
-
| Compilation failed | Ensure Movement CLI is installed: `movement --version` |
|
|
141
|
-
|
|
142
|
-
## Learn More
|
|
143
|
-
|
|
144
|
-
- [Movement Documentation](https://docs.movementnetwork.xyz)
|
|
145
|
-
- [Move Language Book](https://move-language.github.io/move/)
|
|
146
|
-
- [Movehat GitHub](https://github.com/gilbertsahumada/movehat)
|
package/src/templates/gitignore
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
[package]
|
|
2
|
-
name = "{{movePackageName}}"
|
|
3
|
-
version = "1.0.0"
|
|
4
|
-
authors = []
|
|
5
|
-
|
|
6
|
-
[addresses]
|
|
7
|
-
counter = "_"
|
|
8
|
-
|
|
9
|
-
[dev-addresses]
|
|
10
|
-
# Dev addresses for testing (used with movement move test --dev)
|
|
11
|
-
# These addresses are temporary and used for local development/testing only
|
|
12
|
-
counter = "0xcafe"
|
|
13
|
-
|
|
14
|
-
[dependencies.AptosFramework]
|
|
15
|
-
git = "https://github.com/movementlabsxyz/aptos-core.git"
|
|
16
|
-
rev = "movement"
|
|
17
|
-
subdir = "aptos-move/framework/aptos-framework"
|
|
18
|
-
|
|
19
|
-
[dev-dependencies]
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
module counter::counter {
|
|
2
|
-
use std::signer;
|
|
3
|
-
use aptos_framework::event;
|
|
4
|
-
use aptos_framework::account;
|
|
5
|
-
|
|
6
|
-
/// Error code for counter overflow
|
|
7
|
-
const E_OVERFLOW: u64 = 1;
|
|
8
|
-
/// Error code for counter not initialized
|
|
9
|
-
const E_NOT_INITIALIZED: u64 = 2;
|
|
10
|
-
/// Maximum value for u64
|
|
11
|
-
const U64_MAX: u64 = 18446744073709551615;
|
|
12
|
-
|
|
13
|
-
struct Counter has key {
|
|
14
|
-
value: u64,
|
|
15
|
-
increment_events: event::EventHandle<IncrementEvent>,
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
struct IncrementEvent has drop, store {
|
|
19
|
-
old_value: u64,
|
|
20
|
-
new_value: u64,
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
public entry fun init(account: &signer) {
|
|
24
|
-
let account_addr = signer::address_of(account);
|
|
25
|
-
|
|
26
|
-
if (!exists<Counter>(account_addr)) {
|
|
27
|
-
move_to(account, Counter {
|
|
28
|
-
value: 0,
|
|
29
|
-
increment_events: account::new_event_handle<IncrementEvent>(account),
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
public entry fun increment(account: &signer) acquires Counter {
|
|
35
|
-
let account_addr = signer::address_of(account);
|
|
36
|
-
|
|
37
|
-
// Auto-init: create Counter if it doesn't exist yet. Defense in
|
|
38
|
-
// depth so the module stays usable even if a caller skips the
|
|
39
|
-
// dedicated `init` entry function.
|
|
40
|
-
if (!exists<Counter>(account_addr)) {
|
|
41
|
-
move_to(account, Counter {
|
|
42
|
-
value: 0,
|
|
43
|
-
increment_events: account::new_event_handle<IncrementEvent>(account),
|
|
44
|
-
});
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
let counter = borrow_global_mut<Counter>(account_addr);
|
|
48
|
-
let old_value = counter.value;
|
|
49
|
-
assert!(old_value < U64_MAX, E_OVERFLOW);
|
|
50
|
-
counter.value = old_value + 1;
|
|
51
|
-
|
|
52
|
-
event::emit_event(&mut counter.increment_events, IncrementEvent {
|
|
53
|
-
old_value,
|
|
54
|
-
new_value: counter.value,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
#[view]
|
|
59
|
-
public fun get(addr: address): u64 acquires Counter {
|
|
60
|
-
assert!(exists<Counter>(addr), E_NOT_INITIALIZED);
|
|
61
|
-
borrow_global<Counter>(addr).value
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
#[test(account = @0x1)]
|
|
65
|
-
public fun test_increment(account: &signer) acquires Counter {
|
|
66
|
-
let addr = signer::address_of(account);
|
|
67
|
-
aptos_framework::account::create_account_for_test(addr);
|
|
68
|
-
|
|
69
|
-
init(account);
|
|
70
|
-
assert!(get(addr) == 0, 0);
|
|
71
|
-
|
|
72
|
-
increment(account);
|
|
73
|
-
assert!(get(addr) == 1, 1);
|
|
74
|
-
|
|
75
|
-
increment(account);
|
|
76
|
-
assert!(get(addr) == 2, 2);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
// Regression guard: increment must auto-create the Counter resource
|
|
80
|
-
// when called against a never-initialized account. Locks the
|
|
81
|
-
// defense-in-depth behavior so a future refactor can't accidentally
|
|
82
|
-
// remove it.
|
|
83
|
-
#[test(account = @0x2)]
|
|
84
|
-
public fun test_increment_auto_inits(account: &signer) acquires Counter {
|
|
85
|
-
let addr = signer::address_of(account);
|
|
86
|
-
aptos_framework::account::create_account_for_test(addr);
|
|
87
|
-
|
|
88
|
-
// Skip init entirely ā increment must create the resource.
|
|
89
|
-
increment(account);
|
|
90
|
-
assert!(get(addr) == 1, 0);
|
|
91
|
-
|
|
92
|
-
// Idempotent: a second increment uses the now-existing resource.
|
|
93
|
-
increment(account);
|
|
94
|
-
assert!(get(addr) == 2, 1);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
// Movehat configuration.
|
|
2
|
-
//
|
|
3
|
-
// Movehat's primary public API is the Hardhat-style `Harness` class
|
|
4
|
-
// (see scripts/deploy-counter.ts and tests/Counter.test.ts in this
|
|
5
|
-
// template). The `Harness.create*` factories read this file via
|
|
6
|
-
// `loadUserConfig` to resolve the active network + accounts.
|
|
7
|
-
//
|
|
8
|
-
// The `setupTestFixture()` helper also reads the same shape and
|
|
9
|
-
// remains supported as a lighter-weight alternative to Harness.
|
|
10
|
-
|
|
11
|
-
import dotenv from "dotenv";
|
|
12
|
-
dotenv.config();
|
|
13
|
-
|
|
14
|
-
export default {
|
|
15
|
-
// Default network to use when no --network flag is provided
|
|
16
|
-
// "testnet" = Movement testnet (public, auto-generates test accounts)
|
|
17
|
-
// "mainnet" = Movement mainnet (requires PRIVATE_KEY in .env)
|
|
18
|
-
// "local" = Fork server running on localhost:8080
|
|
19
|
-
defaultNetwork: "testnet",
|
|
20
|
-
|
|
21
|
-
// Network configurations
|
|
22
|
-
networks: {
|
|
23
|
-
// Movement Testnet - Public test network (recommended for development)
|
|
24
|
-
// Auto-generates test accounts - no local setup required
|
|
25
|
-
// Perfect for running tests with transaction simulation
|
|
26
|
-
testnet: {
|
|
27
|
-
url: process.env.MOVEMENT_RPC_URL || "https://testnet.movementnetwork.xyz/v1",
|
|
28
|
-
chainId: "testnet",
|
|
29
|
-
},
|
|
30
|
-
// Movement Mainnet - Production network
|
|
31
|
-
// REQUIRES PRIVATE_KEY in .env - uses real MOVE tokens
|
|
32
|
-
mainnet: {
|
|
33
|
-
url: "https://mainnet.movementnetwork.xyz/v1",
|
|
34
|
-
chainId: "mainnet",
|
|
35
|
-
},
|
|
36
|
-
// Local fork server (requires: movehat fork serve)
|
|
37
|
-
// Useful for testing against a snapshot of real network state
|
|
38
|
-
local: {
|
|
39
|
-
url: "http://localhost:8080/v1",
|
|
40
|
-
chainId: "local",
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
// Global accounts configuration (Hardhat-style)
|
|
45
|
-
// Uses PRIVATE_KEY from .env by default
|
|
46
|
-
// You can also specify accounts here directly:
|
|
47
|
-
// accounts: ["0x1234..."],
|
|
48
|
-
accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [],
|
|
49
|
-
|
|
50
|
-
// Global settings
|
|
51
|
-
moveDir: "./move",
|
|
52
|
-
|
|
53
|
-
// Named addresses (can be overridden per-network in network config)
|
|
54
|
-
namedAddresses: {
|
|
55
|
-
// Example: counter: "0x1234...",
|
|
56
|
-
},
|
|
57
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{projectName}}",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"test": "movehat test",
|
|
7
|
-
"test:move": "movehat test:move",
|
|
8
|
-
"test:ts": "movehat test:ts",
|
|
9
|
-
"test:watch": "movehat test:ts --watch",
|
|
10
|
-
"deploy": "movehat run scripts/deploy-counter.ts"
|
|
11
|
-
},
|
|
12
|
-
"dependencies": {
|
|
13
|
-
"movehat": "latest",
|
|
14
|
-
"@aptos-labs/ts-sdk": "^5.1.5",
|
|
15
|
-
"dotenv": "^17.2.3",
|
|
16
|
-
"got": "^11.8.6"
|
|
17
|
-
},
|
|
18
|
-
"devDependencies": {
|
|
19
|
-
"@types/chai": "^5.2.3",
|
|
20
|
-
"@types/mocha": "^10.0.10",
|
|
21
|
-
"@types/node": "^24.10.1",
|
|
22
|
-
"chai": "^6.2.1",
|
|
23
|
-
"mocha": "^11.7.5",
|
|
24
|
-
"tsx": "^4.7.0",
|
|
25
|
-
"typescript": "^5.9.3"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { Harness } from "movehat";
|
|
2
|
-
|
|
3
|
-
async function main() {
|
|
4
|
-
console.log("š Deploying Counter contract...\n");
|
|
5
|
-
|
|
6
|
-
// Hardhat-style Harness ā the primary public API.
|
|
7
|
-
// createLive binds to a real running network (testnet / mainnet / a
|
|
8
|
-
// custom one defined in movehat.config.ts). No local process spawned.
|
|
9
|
-
const network = process.env.MOVEHAT_NETWORK ?? "testnet";
|
|
10
|
-
const harness = await Harness.createLive(network);
|
|
11
|
-
try {
|
|
12
|
-
console.log(`ā
Runtime initialized on ${harness.runtime.network.name}`);
|
|
13
|
-
console.log(` Account: ${harness.runtime.account.accountAddress.toString()}`);
|
|
14
|
-
console.log(` RPC: ${harness.runtime.network.rpc}\n`);
|
|
15
|
-
|
|
16
|
-
// Deploy as a code object via `movement move deploy-object`. If the
|
|
17
|
-
// Move.toml's named address differs from the module identifier
|
|
18
|
-
// (e.g. `module my_pkg::counter` with `[addresses] my_pkg = "_"`),
|
|
19
|
-
// pass `addressName: "my_pkg"` in addition to `moduleName: "counter"`.
|
|
20
|
-
//
|
|
21
|
-
// To redeploy an existing record, set MH_CLI_REDEPLOY=true.
|
|
22
|
-
const deployment = await harness.deployCodeObject({
|
|
23
|
-
moduleName: "counter",
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
console.log(`\nā
Module deployed at: ${deployment.address}::counter`);
|
|
27
|
-
if (deployment.txHash) {
|
|
28
|
-
console.log(` Transaction: ${deployment.txHash}`);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Interact with the freshly deployed module via the runtime helper.
|
|
32
|
-
const counter = harness.runtime.getContract(deployment.address, "counter");
|
|
33
|
-
|
|
34
|
-
// Counter is a Move resource ā it must be created explicitly per
|
|
35
|
-
// account before any method that reads or mutates it. The dedicated
|
|
36
|
-
// `init` entry function does this once per signer. (The module also
|
|
37
|
-
// auto-inits inside `increment` as defense in depth, so this call is
|
|
38
|
-
// technically optional today, but kept for pedagogy: real-world Move
|
|
39
|
-
// modules usually require an explicit init step.)
|
|
40
|
-
console.log("\nš§ Initializing counter resource for this account...");
|
|
41
|
-
const initTx = await counter.call(harness.runtime.account, "init", []);
|
|
42
|
-
console.log(` Init tx: ${initTx.hash}`);
|
|
43
|
-
|
|
44
|
-
console.log("\nš Incrementing counter...");
|
|
45
|
-
const txResult = await counter.call(harness.runtime.account, "increment", []);
|
|
46
|
-
console.log(`ā
Transaction hash: ${txResult.hash}`);
|
|
47
|
-
|
|
48
|
-
// Use harness.runViewFunction directly when you have a fully
|
|
49
|
-
// qualified function id; counter.view<T>(...) is the shorter form.
|
|
50
|
-
const [value] = await harness.runViewFunction({
|
|
51
|
-
function: `${deployment.address}::counter::get`,
|
|
52
|
-
functionArguments: [harness.runtime.account.accountAddress.toString()],
|
|
53
|
-
});
|
|
54
|
-
console.log(`\nš Counter value: ${value}`);
|
|
55
|
-
} finally {
|
|
56
|
-
// Always release the Harness ā cleanup() is idempotent and safe to
|
|
57
|
-
// call on a `createLive` instance even though no local process was
|
|
58
|
-
// spawned (it just flips the use-after-cleanup poison flag).
|
|
59
|
-
await harness.cleanup();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
main().catch((error) => {
|
|
64
|
-
console.error("ā Deployment failed:", error?.message || error);
|
|
65
|
-
process.exit(1);
|
|
66
|
-
});
|