gate-evm-tools 1.0.28 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -18
- package/bin/cli.js +6 -0
- package/bin/delivery.cjs +52 -0
- package/bin/manifest-bootstrap.js +4 -15
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +26 -2
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/plan/file-store.d.ts.map +1 -0
- package/dist/commands/plan/generate-deployment.d.ts +48 -0
- package/dist/commands/plan/generate-deployment.d.ts.map +1 -0
- package/dist/commands/plan/generate-deployment.js +211 -0
- package/dist/commands/plan/generate-deployment.js.map +1 -0
- package/dist/commands/plan/helpers.d.ts.map +1 -0
- package/dist/commands/plan/index.d.ts +3 -0
- package/dist/commands/plan/index.d.ts.map +1 -0
- package/dist/commands/plan/index.js +88 -0
- package/dist/commands/plan/index.js.map +1 -0
- package/dist/commands/sync.js +1 -1
- package/dist/commands/sync.js.map +1 -1
- package/dist/core/BytecodeChecker.d.ts.map +1 -1
- package/dist/core/BytecodeChecker.js +27 -8
- package/dist/core/BytecodeChecker.js.map +1 -1
- package/dist/core/preparation/artifacts.d.ts +2 -0
- package/dist/core/preparation/artifacts.d.ts.map +1 -1
- package/dist/core/preparation/artifacts.js +9 -3
- package/dist/core/preparation/artifacts.js.map +1 -1
- package/dist/core/preparation/batch.d.ts +26 -0
- package/dist/core/preparation/batch.d.ts.map +1 -0
- package/dist/core/preparation/batch.js +72 -0
- package/dist/core/preparation/batch.js.map +1 -0
- package/dist/core/preparation/evm.d.ts +61 -6
- package/dist/core/preparation/evm.d.ts.map +1 -1
- package/dist/core/preparation/evm.js +122 -34
- package/dist/core/preparation/evm.js.map +1 -1
- package/dist/core/preparation/evmManifestSync.d.ts +68 -0
- package/dist/core/preparation/evmManifestSync.d.ts.map +1 -0
- package/dist/core/preparation/evmManifestSync.js +154 -0
- package/dist/core/preparation/evmManifestSync.js.map +1 -0
- package/dist/core/preparation/index.d.ts +40 -2
- package/dist/core/preparation/index.d.ts.map +1 -1
- package/dist/core/preparation/index.js +3 -3
- package/dist/core/preparation/index.js.map +1 -1
- package/dist/core/preparation/manifest.d.ts +17 -3
- package/dist/core/preparation/manifest.d.ts.map +1 -1
- package/dist/core/preparation/manifest.js +23 -28
- package/dist/core/preparation/manifest.js.map +1 -1
- package/dist/core/preparation/normalize.d.ts.map +1 -1
- package/dist/core/preparation/normalize.js +67 -20
- package/dist/core/preparation/normalize.js.map +1 -1
- package/dist/core/preparation/transparent.d.ts +23 -0
- package/dist/core/preparation/transparent.d.ts.map +1 -0
- package/dist/core/preparation/transparent.js +103 -0
- package/dist/core/preparation/transparent.js.map +1 -0
- package/dist/core/preparation/types.d.ts +54 -7
- package/dist/core/preparation/types.d.ts.map +1 -1
- package/dist/core/preparation/zksync.d.ts.map +1 -1
- package/dist/core/preparation/zksync.js +2 -0
- package/dist/core/preparation/zksync.js.map +1 -1
- package/dist/custody/credential.d.ts.map +1 -1
- package/dist/custody/credential.js +1 -6
- package/dist/custody/credential.js.map +1 -1
- package/dist/custody/hardhat-runtime.d.ts.map +1 -1
- package/dist/custody/hardhat-runtime.js +2 -0
- package/dist/custody/hardhat-runtime.js.map +1 -1
- package/dist/custody/hardhat.d.ts +1 -0
- package/dist/custody/hardhat.d.ts.map +1 -1
- package/dist/custody/hardhat.js +1 -0
- package/dist/custody/hardhat.js.map +1 -1
- package/dist/custody/index.d.ts +1 -0
- package/dist/custody/index.d.ts.map +1 -1
- package/dist/custody/index.js +1 -0
- package/dist/custody/index.js.map +1 -1
- package/dist/custody/provider-wait.d.ts +13 -0
- package/dist/custody/provider-wait.d.ts.map +1 -0
- package/dist/custody/provider-wait.js +78 -0
- package/dist/custody/provider-wait.js.map +1 -0
- package/dist/delivery/policy.d.ts +6 -0
- package/dist/delivery/policy.d.ts.map +1 -0
- package/dist/delivery/policy.js +24 -0
- package/dist/delivery/policy.js.map +1 -0
- package/dist/deployment-evm/index.d.ts +4 -0
- package/dist/deployment-evm/index.d.ts.map +1 -0
- package/dist/deployment-evm/index.js +3 -0
- package/dist/deployment-evm/index.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/sync/index.d.ts +15 -0
- package/dist/sync/index.d.ts.map +1 -1
- package/dist/sync/index.js +13 -0
- package/dist/sync/index.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/workflow/index.d.ts +10 -2
- package/dist/workflow/index.d.ts.map +1 -1
- package/dist/workflow/index.js +6 -0
- package/dist/workflow/index.js.map +1 -1
- package/dist-cjs/core/BytecodeChecker.js +526 -0
- package/dist-cjs/core/BytecodeChecker.js.map +1 -0
- package/dist-cjs/core/legacyProxyArtifact.js +42 -0
- package/dist-cjs/core/legacyProxyArtifact.js.map +1 -0
- package/dist-cjs/core/preparation/artifacts.js +11 -4
- package/dist-cjs/core/preparation/artifacts.js.map +1 -1
- package/dist-cjs/core/preparation/batch.js +76 -0
- package/dist-cjs/core/preparation/batch.js.map +1 -0
- package/dist-cjs/core/preparation/evm.js +128 -37
- package/dist-cjs/core/preparation/evm.js.map +1 -1
- package/dist-cjs/core/preparation/evmManifestSync.js +163 -0
- package/dist-cjs/core/preparation/evmManifestSync.js.map +1 -0
- package/dist-cjs/core/preparation/index.js +3 -3
- package/dist-cjs/core/preparation/index.js.map +1 -1
- package/dist-cjs/core/preparation/manifest.js +25 -30
- package/dist-cjs/core/preparation/manifest.js.map +1 -1
- package/dist-cjs/core/preparation/normalize.js +67 -20
- package/dist-cjs/core/preparation/normalize.js.map +1 -1
- package/dist-cjs/core/preparation/transparent.js +110 -0
- package/dist-cjs/core/preparation/transparent.js.map +1 -0
- package/dist-cjs/core/preparation/zksync.js +2 -0
- package/dist-cjs/core/preparation/zksync.js.map +1 -1
- package/dist-cjs/custody/credential.js +1 -6
- package/dist-cjs/custody/credential.js.map +1 -1
- package/dist-cjs/custody/hardhat-runtime.js +2 -0
- package/dist-cjs/custody/hardhat-runtime.js.map +1 -1
- package/dist-cjs/custody/hardhat.js +3 -1
- package/dist-cjs/custody/hardhat.js.map +1 -1
- package/dist-cjs/custody/index.js +3 -1
- package/dist-cjs/custody/index.js.map +1 -1
- package/dist-cjs/custody/provider-wait.js +81 -0
- package/dist-cjs/custody/provider-wait.js.map +1 -0
- package/dist-cjs/delivery/policy.js +29 -0
- package/dist-cjs/delivery/policy.js.map +1 -0
- package/dist-cjs/deployment-evm/index.js +10 -0
- package/dist-cjs/deployment-evm/index.js.map +1 -0
- package/dist-cjs/sync/index.js +13 -0
- package/dist-cjs/sync/index.js.map +1 -1
- package/dist-cjs/workflow/index.js +22 -1
- package/dist-cjs/workflow/index.js.map +1 -1
- package/dist-runtime/config/hardhatAdapters.js +2 -1
- package/dist-runtime/config/hardhatAdapters.js.map +1 -1
- package/dist-runtime/config/openzeppelin.d.ts +2 -1
- package/dist-runtime/config/openzeppelin.js +2 -19
- package/dist-runtime/config/openzeppelin.js.map +1 -1
- package/dist-runtime/delivery/abi.d.ts +14 -0
- package/dist-runtime/delivery/abi.js +161 -0
- package/dist-runtime/delivery/abi.js.map +1 -0
- package/dist-runtime/delivery/aggregate-bootstrap.d.ts +12 -0
- package/dist-runtime/delivery/aggregate-bootstrap.js +42 -0
- package/dist-runtime/delivery/aggregate-bootstrap.js.map +1 -0
- package/dist-runtime/delivery/aggregate-channel.d.ts +28 -0
- package/dist-runtime/delivery/aggregate-channel.js +159 -0
- package/dist-runtime/delivery/aggregate-channel.js.map +1 -0
- package/dist-runtime/delivery/aggregate-diagnostics.d.ts +14 -0
- package/dist-runtime/delivery/aggregate-diagnostics.js +73 -0
- package/dist-runtime/delivery/aggregate-diagnostics.js.map +1 -0
- package/dist-runtime/delivery/aggregate-inputs.d.ts +172 -0
- package/dist-runtime/delivery/aggregate-inputs.js +57 -0
- package/dist-runtime/delivery/aggregate-inputs.js.map +1 -0
- package/dist-runtime/delivery/aggregate-source.d.ts +25 -0
- package/dist-runtime/delivery/aggregate-source.js +87 -0
- package/dist-runtime/delivery/aggregate-source.js.map +1 -0
- package/dist-runtime/delivery/aggregate-worker.d.ts +1 -0
- package/dist-runtime/delivery/aggregate-worker.js +199 -0
- package/dist-runtime/delivery/aggregate-worker.js.map +1 -0
- package/dist-runtime/delivery/aggregate.d.ts +51 -0
- package/dist-runtime/delivery/aggregate.js +190 -0
- package/dist-runtime/delivery/aggregate.js.map +1 -0
- package/dist-runtime/delivery/bindings.d.ts +21 -0
- package/dist-runtime/delivery/bindings.js +53 -0
- package/dist-runtime/delivery/bindings.js.map +1 -0
- package/dist-runtime/delivery/business-extension.d.ts +10 -0
- package/dist-runtime/delivery/business-extension.js +38 -0
- package/dist-runtime/delivery/business-extension.js.map +1 -0
- package/dist-runtime/delivery/calldata-archive.d.ts +18 -0
- package/dist-runtime/delivery/calldata-archive.js +31 -0
- package/dist-runtime/delivery/calldata-archive.js.map +1 -0
- package/dist-runtime/delivery/calldata-details.d.ts +47 -0
- package/dist-runtime/delivery/calldata-details.js +94 -0
- package/dist-runtime/delivery/calldata-details.js.map +1 -0
- package/dist-runtime/delivery/calldata-format.d.ts +4 -0
- package/dist-runtime/delivery/calldata-format.js +17 -0
- package/dist-runtime/delivery/calldata-format.js.map +1 -0
- package/dist-runtime/delivery/calldata-preparations.d.ts +13 -0
- package/dist-runtime/delivery/calldata-preparations.js +85 -0
- package/dist-runtime/delivery/calldata-preparations.js.map +1 -0
- package/dist-runtime/delivery/calldata-review.d.ts +44 -0
- package/dist-runtime/delivery/calldata-review.js +131 -0
- package/dist-runtime/delivery/calldata-review.js.map +1 -0
- package/dist-runtime/delivery/check-code.d.ts +19 -0
- package/dist-runtime/delivery/check-code.js +63 -0
- package/dist-runtime/delivery/check-code.js.map +1 -0
- package/dist-runtime/delivery/closure-format.d.ts +77 -0
- package/dist-runtime/delivery/closure-format.js +225 -0
- package/dist-runtime/delivery/closure-format.js.map +1 -0
- package/dist-runtime/delivery/codec-pin.d.ts +2 -0
- package/dist-runtime/delivery/codec-pin.js +7 -0
- package/dist-runtime/delivery/codec-pin.js.map +1 -0
- package/dist-runtime/delivery/codec.d.ts +19 -0
- package/dist-runtime/delivery/codec.js +73 -0
- package/dist-runtime/delivery/codec.js.map +1 -0
- package/dist-runtime/delivery/compiler-dependency-pins.d.ts +7 -0
- package/dist-runtime/delivery/compiler-dependency-pins.js +1689 -0
- package/dist-runtime/delivery/compiler-dependency-pins.js.map +1 -0
- package/dist-runtime/delivery/compiler-files.d.ts +40 -0
- package/dist-runtime/delivery/compiler-files.js +222 -0
- package/dist-runtime/delivery/compiler-files.js.map +1 -0
- package/dist-runtime/delivery/compiler-io.d.ts +2 -0
- package/dist-runtime/delivery/compiler-io.js +13 -0
- package/dist-runtime/delivery/compiler-io.js.map +1 -0
- package/dist-runtime/delivery/compiler-pins.d.ts +10 -0
- package/dist-runtime/delivery/compiler-pins.js +147 -0
- package/dist-runtime/delivery/compiler-pins.js.map +1 -0
- package/dist-runtime/delivery/compiler.d.ts +188 -0
- package/dist-runtime/delivery/compiler.js +851 -0
- package/dist-runtime/delivery/compiler.js.map +1 -0
- package/dist-runtime/delivery/config.d.ts +48 -0
- package/dist-runtime/delivery/config.js +124 -0
- package/dist-runtime/delivery/config.js.map +1 -0
- package/dist-runtime/delivery/configuration-definition.d.ts +31 -0
- package/dist-runtime/delivery/configuration-definition.js +343 -0
- package/dist-runtime/delivery/configuration-definition.js.map +1 -0
- package/dist-runtime/delivery/configuration-hre.d.ts +17 -0
- package/dist-runtime/delivery/configuration-hre.js +198 -0
- package/dist-runtime/delivery/configuration-hre.js.map +1 -0
- package/dist-runtime/delivery/configuration-runtime.d.ts +36 -0
- package/dist-runtime/delivery/configuration-runtime.js +248 -0
- package/dist-runtime/delivery/configuration-runtime.js.map +1 -0
- package/dist-runtime/delivery/configuration.d.ts +35 -0
- package/dist-runtime/delivery/configuration.js +86 -0
- package/dist-runtime/delivery/configuration.js.map +1 -0
- package/dist-runtime/delivery/contract-source.d.ts +14 -0
- package/dist-runtime/delivery/contract-source.js +138 -0
- package/dist-runtime/delivery/contract-source.js.map +1 -0
- package/dist-runtime/delivery/create2.d.ts +3 -0
- package/dist-runtime/delivery/create2.js +48 -0
- package/dist-runtime/delivery/create2.js.map +1 -0
- package/dist-runtime/delivery/custom-closure.d.ts +27 -0
- package/dist-runtime/delivery/custom-closure.js +818 -0
- package/dist-runtime/delivery/custom-closure.js.map +1 -0
- package/dist-runtime/delivery/custom-format.d.ts +35 -0
- package/dist-runtime/delivery/custom-format.js +410 -0
- package/dist-runtime/delivery/custom-format.js.map +1 -0
- package/dist-runtime/delivery/custom.d.ts +32 -0
- package/dist-runtime/delivery/custom.js +158 -0
- package/dist-runtime/delivery/custom.js.map +1 -0
- package/dist-runtime/delivery/data.d.ts +7 -0
- package/dist-runtime/delivery/data.js +86 -0
- package/dist-runtime/delivery/data.js.map +1 -0
- package/dist-runtime/delivery/development.d.ts +92 -0
- package/dist-runtime/delivery/development.js +406 -0
- package/dist-runtime/delivery/development.js.map +1 -0
- package/dist-runtime/delivery/engine.d.ts +9 -0
- package/dist-runtime/delivery/engine.js +23 -0
- package/dist-runtime/delivery/engine.js.map +1 -0
- package/dist-runtime/delivery/eoa-observation.d.ts +43 -0
- package/dist-runtime/delivery/eoa-observation.js +145 -0
- package/dist-runtime/delivery/eoa-observation.js.map +1 -0
- package/dist-runtime/delivery/eoa-signed.d.ts +2 -0
- package/dist-runtime/delivery/eoa-signed.js +74 -0
- package/dist-runtime/delivery/eoa-signed.js.map +1 -0
- package/dist-runtime/delivery/eoa.d.ts +82 -0
- package/dist-runtime/delivery/eoa.js +274 -0
- package/dist-runtime/delivery/eoa.js.map +1 -0
- package/dist-runtime/delivery/execution-db.d.ts +20 -0
- package/dist-runtime/delivery/execution-db.js +153 -0
- package/dist-runtime/delivery/execution-db.js.map +1 -0
- package/dist-runtime/delivery/execution-files.d.ts +9 -0
- package/dist-runtime/delivery/execution-files.js +138 -0
- package/dist-runtime/delivery/execution-files.js.map +1 -0
- package/dist-runtime/delivery/execution-identity.d.ts +15 -0
- package/dist-runtime/delivery/execution-identity.js +33 -0
- package/dist-runtime/delivery/execution-identity.js.map +1 -0
- package/dist-runtime/delivery/execution-model.d.ts +56 -0
- package/dist-runtime/delivery/execution-model.js +66 -0
- package/dist-runtime/delivery/execution-model.js.map +1 -0
- package/dist-runtime/delivery/execution-store.d.ts +48 -0
- package/dist-runtime/delivery/execution-store.js +361 -0
- package/dist-runtime/delivery/execution-store.js.map +1 -0
- package/dist-runtime/delivery/existing-code.d.ts +37 -0
- package/dist-runtime/delivery/existing-code.js +83 -0
- package/dist-runtime/delivery/existing-code.js.map +1 -0
- package/dist-runtime/delivery/export.d.ts +51 -0
- package/dist-runtime/delivery/export.js +69 -0
- package/dist-runtime/delivery/export.js.map +1 -0
- package/dist-runtime/delivery/forkAudit.d.ts +119 -0
- package/dist-runtime/delivery/forkAudit.js +473 -0
- package/dist-runtime/delivery/forkAudit.js.map +1 -0
- package/dist-runtime/delivery/hardhat.d.ts +3 -0
- package/dist-runtime/delivery/hardhat.js +45 -0
- package/dist-runtime/delivery/hardhat.js.map +1 -0
- package/dist-runtime/delivery/history-registration.d.ts +2 -0
- package/dist-runtime/delivery/history-registration.js +17 -0
- package/dist-runtime/delivery/history-registration.js.map +1 -0
- package/dist-runtime/delivery/identities.d.ts +22 -0
- package/dist-runtime/delivery/identities.js +97 -0
- package/dist-runtime/delivery/identities.js.map +1 -0
- package/dist-runtime/delivery/input-files.d.ts +5 -0
- package/dist-runtime/delivery/input-files.js +70 -0
- package/dist-runtime/delivery/input-files.js.map +1 -0
- package/dist-runtime/delivery/inputs.d.ts +62 -0
- package/dist-runtime/delivery/inputs.js +194 -0
- package/dist-runtime/delivery/inputs.js.map +1 -0
- package/dist-runtime/delivery/journal.d.ts +35 -0
- package/dist-runtime/delivery/journal.js +278 -0
- package/dist-runtime/delivery/journal.js.map +1 -0
- package/dist-runtime/delivery/manifest.d.ts +14 -0
- package/dist-runtime/delivery/manifest.js +68 -0
- package/dist-runtime/delivery/manifest.js.map +1 -0
- package/dist-runtime/delivery/materialization.d.ts +20 -0
- package/dist-runtime/delivery/materialization.js +138 -0
- package/dist-runtime/delivery/materialization.js.map +1 -0
- package/dist-runtime/delivery/observations.d.ts +31 -0
- package/dist-runtime/delivery/observations.js +38 -0
- package/dist-runtime/delivery/observations.js.map +1 -0
- package/dist-runtime/delivery/parameter-defaults.d.ts +10 -0
- package/dist-runtime/delivery/parameter-defaults.js +86 -0
- package/dist-runtime/delivery/parameter-defaults.js.map +1 -0
- package/dist-runtime/delivery/parameters.d.ts +55 -0
- package/dist-runtime/delivery/parameters.js +279 -0
- package/dist-runtime/delivery/parameters.js.map +1 -0
- package/dist-runtime/delivery/pending.d.ts +70 -0
- package/dist-runtime/delivery/pending.js +99 -0
- package/dist-runtime/delivery/pending.js.map +1 -0
- package/dist-runtime/delivery/plan.d.ts +50 -0
- package/dist-runtime/delivery/plan.js +209 -0
- package/dist-runtime/delivery/plan.js.map +1 -0
- package/dist-runtime/delivery/planning.d.ts +84 -0
- package/dist-runtime/delivery/planning.js +318 -0
- package/dist-runtime/delivery/planning.js.map +1 -0
- package/dist-runtime/delivery/policy.d.ts +4 -0
- package/dist-runtime/delivery/policy.js +9 -0
- package/dist-runtime/delivery/policy.js.map +1 -0
- package/dist-runtime/delivery/preparation.d.ts +6 -0
- package/dist-runtime/delivery/preparation.js +178 -0
- package/dist-runtime/delivery/preparation.js.map +1 -0
- package/dist-runtime/delivery/production-environment.d.ts +2 -0
- package/dist-runtime/delivery/production-environment.js +13 -0
- package/dist-runtime/delivery/production-environment.js.map +1 -0
- package/dist-runtime/delivery/production-finalization.d.ts +86 -0
- package/dist-runtime/delivery/production-finalization.js +292 -0
- package/dist-runtime/delivery/production-finalization.js.map +1 -0
- package/dist-runtime/delivery/production-intent.d.ts +2 -0
- package/dist-runtime/delivery/production-intent.js +16 -0
- package/dist-runtime/delivery/production-intent.js.map +1 -0
- package/dist-runtime/delivery/production.d.ts +582 -0
- package/dist-runtime/delivery/production.js +445 -0
- package/dist-runtime/delivery/production.js.map +1 -0
- package/dist-runtime/delivery/project-files.d.ts +8 -0
- package/dist-runtime/delivery/project-files.js +87 -0
- package/dist-runtime/delivery/project-files.js.map +1 -0
- package/dist-runtime/delivery/project-rpc.d.ts +19 -0
- package/dist-runtime/delivery/project-rpc.js +138 -0
- package/dist-runtime/delivery/project-rpc.js.map +1 -0
- package/dist-runtime/delivery/project.d.ts +17 -0
- package/dist-runtime/delivery/project.js +170 -0
- package/dist-runtime/delivery/project.js.map +1 -0
- package/dist-runtime/delivery/protocol.d.ts +49 -0
- package/dist-runtime/delivery/protocol.js +112 -0
- package/dist-runtime/delivery/protocol.js.map +1 -0
- package/dist-runtime/delivery/public-calldata.d.ts +25 -0
- package/dist-runtime/delivery/public-calldata.js +97 -0
- package/dist-runtime/delivery/public-calldata.js.map +1 -0
- package/dist-runtime/delivery/references.d.ts +19 -0
- package/dist-runtime/delivery/references.js +84 -0
- package/dist-runtime/delivery/references.js.map +1 -0
- package/dist-runtime/delivery/release-graph.d.ts +97 -0
- package/dist-runtime/delivery/release-graph.js +139 -0
- package/dist-runtime/delivery/release-graph.js.map +1 -0
- package/dist-runtime/delivery/release-history-capture.d.ts +7 -0
- package/dist-runtime/delivery/release-history-capture.js +76 -0
- package/dist-runtime/delivery/release-history-capture.js.map +1 -0
- package/dist-runtime/delivery/release-history.d.ts +43 -0
- package/dist-runtime/delivery/release-history.js +322 -0
- package/dist-runtime/delivery/release-history.js.map +1 -0
- package/dist-runtime/delivery/release-inputs.d.ts +33 -0
- package/dist-runtime/delivery/release-inputs.js +129 -0
- package/dist-runtime/delivery/release-inputs.js.map +1 -0
- package/dist-runtime/delivery/release.d.ts +196 -0
- package/dist-runtime/delivery/release.js +261 -0
- package/dist-runtime/delivery/release.js.map +1 -0
- package/dist-runtime/delivery/safe-manifest.d.ts +9 -0
- package/dist-runtime/delivery/safe-manifest.js +13 -0
- package/dist-runtime/delivery/safe-manifest.js.map +1 -0
- package/dist-runtime/delivery/safe-observation.d.ts +30 -0
- package/dist-runtime/delivery/safe-observation.js +487 -0
- package/dist-runtime/delivery/safe-observation.js.map +1 -0
- package/dist-runtime/delivery/safe-prepare.d.ts +13 -0
- package/dist-runtime/delivery/safe-prepare.js +81 -0
- package/dist-runtime/delivery/safe-prepare.js.map +1 -0
- package/dist-runtime/delivery/safe.d.ts +92 -0
- package/dist-runtime/delivery/safe.js +254 -0
- package/dist-runtime/delivery/safe.js.map +1 -0
- package/dist-runtime/delivery/same-fork-baseline.d.ts +8 -0
- package/dist-runtime/delivery/same-fork-baseline.js +21 -0
- package/dist-runtime/delivery/same-fork-baseline.js.map +1 -0
- package/dist-runtime/delivery/setup.d.ts +31 -0
- package/dist-runtime/delivery/setup.js +230 -0
- package/dist-runtime/delivery/setup.js.map +1 -0
- package/dist-runtime/delivery/source.d.ts +42 -0
- package/dist-runtime/delivery/source.js +139 -0
- package/dist-runtime/delivery/source.js.map +1 -0
- package/dist-runtime/delivery/target-fields.d.ts +2 -0
- package/dist-runtime/delivery/target-fields.js +11 -0
- package/dist-runtime/delivery/target-fields.js.map +1 -0
- package/dist-runtime/delivery/task-identity.d.ts +23 -0
- package/dist-runtime/delivery/task-identity.js +109 -0
- package/dist-runtime/delivery/task-identity.js.map +1 -0
- package/dist-runtime/delivery/toolchain.d.ts +3 -0
- package/dist-runtime/delivery/toolchain.js +52 -0
- package/dist-runtime/delivery/toolchain.js.map +1 -0
- package/dist-runtime/delivery/validation.d.ts +9 -0
- package/dist-runtime/delivery/validation.js +155 -0
- package/dist-runtime/delivery/validation.js.map +1 -0
- package/dist-runtime/delivery/verification.d.ts +16 -0
- package/dist-runtime/delivery/verification.js +65 -0
- package/dist-runtime/delivery/verification.js.map +1 -0
- package/dist-runtime/migrate.js +1 -0
- package/dist-runtime/migrate.js.map +1 -1
- package/dist-runtime/miner/binary.d.ts +2 -0
- package/dist-runtime/miner/binary.js +54 -0
- package/dist-runtime/miner/binary.js.map +1 -0
- package/dist-runtime/miner/cli.d.ts +1 -0
- package/dist-runtime/miner/cli.js +131 -0
- package/dist-runtime/miner/cli.js.map +1 -0
- package/dist-runtime/miner/index.d.ts +5 -0
- package/dist-runtime/miner/index.js +13 -0
- package/dist-runtime/miner/index.js.map +1 -0
- package/dist-runtime/miner/request.d.ts +7 -0
- package/dist-runtime/miner/request.js +73 -0
- package/dist-runtime/miner/request.js.map +1 -0
- package/dist-runtime/miner/runner.d.ts +2 -0
- package/dist-runtime/miner/runner.js +131 -0
- package/dist-runtime/miner/runner.js.map +1 -0
- package/dist-runtime/miner/types.d.ts +89 -0
- package/dist-runtime/miner/types.js +3 -0
- package/dist-runtime/miner/types.js.map +1 -0
- package/dist-runtime/miner/verify.d.ts +2 -0
- package/dist-runtime/miner/verify.js +75 -0
- package/dist-runtime/miner/verify.js.map +1 -0
- package/dist-runtime/runtime-identity.json +2 -2
- package/dist-runtime/vendor/plan-codec/index.cjs +897 -0
- package/dist-runtime/vendor/plan-codec/index.d.cts +38 -0
- package/dist-runtime/vendor/plan-codec/provenance.json +25 -0
- package/dist-runtime/workflow/engine.d.ts +14 -0
- package/dist-runtime/workflow/engine.js +160 -0
- package/dist-runtime/workflow/engine.js.map +1 -0
- package/dist-runtime/workflow/lib/authority.d.ts +6 -3
- package/dist-runtime/workflow/lib/authority.js.map +1 -1
- package/dist-runtime/workflow/lib/calls.d.ts +1 -1
- package/dist-runtime/workflow/lib/calls.js +44 -34
- package/dist-runtime/workflow/lib/calls.js.map +1 -1
- package/dist-runtime/workflow/lib/canonicalData.d.ts +8 -0
- package/dist-runtime/workflow/lib/canonicalData.js +68 -0
- package/dist-runtime/workflow/lib/canonicalData.js.map +1 -0
- package/dist-runtime/workflow/lib/checkCodeRunner.js +7 -4
- package/dist-runtime/workflow/lib/checkCodeRunner.js.map +1 -1
- package/dist-runtime/workflow/lib/config.d.ts +3 -1
- package/dist-runtime/workflow/lib/config.js.map +1 -1
- package/dist-runtime/workflow/lib/context.d.ts +77 -0
- package/dist-runtime/workflow/lib/context.js +3 -0
- package/dist-runtime/workflow/lib/context.js.map +1 -0
- package/dist-runtime/workflow/lib/create2.d.ts +5 -27
- package/dist-runtime/workflow/lib/create2.js +11 -79
- package/dist-runtime/workflow/lib/create2.js.map +1 -1
- package/dist-runtime/workflow/lib/deploymentInfo.d.ts +2 -0
- package/dist-runtime/workflow/lib/deploymentInfo.js +6 -0
- package/dist-runtime/workflow/lib/deploymentInfo.js.map +1 -1
- package/dist-runtime/workflow/lib/deploymentRecords.d.ts +2 -0
- package/dist-runtime/workflow/lib/deploymentRecords.js +1 -1
- package/dist-runtime/workflow/lib/deploymentRecords.js.map +1 -1
- package/dist-runtime/workflow/lib/deployments.d.ts +5 -5
- package/dist-runtime/workflow/lib/deployments.js +5 -13
- package/dist-runtime/workflow/lib/deployments.js.map +1 -1
- package/dist-runtime/workflow/lib/evidencePorts.d.ts +55 -0
- package/dist-runtime/workflow/lib/evidencePorts.js +3 -0
- package/dist-runtime/workflow/lib/evidencePorts.js.map +1 -0
- package/dist-runtime/workflow/lib/executionPlan.d.ts +4 -42
- package/dist-runtime/workflow/lib/executionPlan.js +15 -210
- package/dist-runtime/workflow/lib/executionPlan.js.map +1 -1
- package/dist-runtime/workflow/lib/externalExecutionScanner.js +2 -1
- package/dist-runtime/workflow/lib/externalExecutionScanner.js.map +1 -1
- package/dist-runtime/workflow/lib/gateTool.d.ts +6 -2
- package/dist-runtime/workflow/lib/gateTool.js +22 -12
- package/dist-runtime/workflow/lib/gateTool.js.map +1 -1
- package/dist-runtime/workflow/lib/gateToolSync.d.ts +4 -1
- package/dist-runtime/workflow/lib/gateToolSync.js +8 -2
- package/dist-runtime/workflow/lib/gateToolSync.js.map +1 -1
- package/dist-runtime/workflow/lib/operationNames.d.ts +3 -0
- package/dist-runtime/workflow/lib/operationNames.js +34 -0
- package/dist-runtime/workflow/lib/operationNames.js.map +1 -0
- package/dist-runtime/workflow/lib/parameters.d.ts +1 -1
- package/dist-runtime/workflow/lib/parameters.js +11 -22
- package/dist-runtime/workflow/lib/parameters.js.map +1 -1
- package/dist-runtime/workflow/lib/pendingDeploymentReuse.js +18 -52
- package/dist-runtime/workflow/lib/pendingDeploymentReuse.js.map +1 -1
- package/dist-runtime/workflow/lib/pendingUupsBinding.d.ts +42 -0
- package/dist-runtime/workflow/lib/pendingUupsBinding.js +39 -0
- package/dist-runtime/workflow/lib/pendingUupsBinding.js.map +1 -0
- package/dist-runtime/workflow/lib/plan.d.ts +55 -0
- package/dist-runtime/workflow/lib/plan.js +324 -0
- package/dist-runtime/workflow/lib/plan.js.map +1 -0
- package/dist-runtime/workflow/lib/planCli.d.ts +14 -0
- package/dist-runtime/workflow/lib/planCli.js +279 -0
- package/dist-runtime/workflow/lib/planCli.js.map +1 -0
- package/dist-runtime/workflow/lib/preparationEvidence.d.ts +4 -0
- package/dist-runtime/workflow/lib/preparationEvidence.js +19 -0
- package/dist-runtime/workflow/lib/preparationEvidence.js.map +1 -0
- package/dist-runtime/workflow/lib/proxy.d.ts +4 -2
- package/dist-runtime/workflow/lib/proxy.js +3 -4
- package/dist-runtime/workflow/lib/proxy.js.map +1 -1
- package/dist-runtime/workflow/lib/runtime.d.ts +6 -0
- package/dist-runtime/workflow/lib/runtime.js +48 -0
- package/dist-runtime/workflow/lib/runtime.js.map +1 -0
- package/dist-runtime/workflow/lib/signer.d.ts +3 -2
- package/dist-runtime/workflow/lib/signer.js +18 -18
- package/dist-runtime/workflow/lib/signer.js.map +1 -1
- package/dist-runtime/workflow/lib/simulation.d.ts +13 -6
- package/dist-runtime/workflow/lib/simulation.js +39 -31
- package/dist-runtime/workflow/lib/simulation.js.map +1 -1
- package/dist-runtime/workflow/lib/state.js +3 -3
- package/dist-runtime/workflow/lib/state.js.map +1 -1
- package/dist-runtime/workflow/lib/staticValidation.d.ts +28 -0
- package/dist-runtime/workflow/lib/staticValidation.js +54 -10
- package/dist-runtime/workflow/lib/staticValidation.js.map +1 -1
- package/dist-runtime/workflow/lib/transactionPlanner.d.ts +62 -0
- package/dist-runtime/workflow/lib/transactionPlanner.js +258 -0
- package/dist-runtime/workflow/lib/transactionPlanner.js.map +1 -0
- package/dist-runtime/workflow/lib/typedValue.d.ts +3 -0
- package/dist-runtime/workflow/lib/typedValue.js +76 -0
- package/dist-runtime/workflow/lib/typedValue.js.map +1 -0
- package/dist-runtime/workflow/lib/validation.d.ts +23 -0
- package/dist-runtime/workflow/lib/validation.js +15 -0
- package/dist-runtime/workflow/lib/validation.js.map +1 -0
- package/dist-runtime/workflow/planAdd.d.ts +1 -0
- package/dist-runtime/workflow/planAdd.js +11 -0
- package/dist-runtime/workflow/planAdd.js.map +1 -0
- package/dist-runtime/workflow/planRead.d.ts +1 -0
- package/dist-runtime/workflow/planRead.js +11 -0
- package/dist-runtime/workflow/planRead.js.map +1 -0
- package/dist-runtime/workflow/planStatus.d.ts +1 -0
- package/dist-runtime/workflow/planStatus.js +11 -0
- package/dist-runtime/workflow/planStatus.js.map +1 -0
- package/dist-runtime/workflow/planWrite.d.ts +1 -0
- package/dist-runtime/workflow/planWrite.js +11 -0
- package/dist-runtime/workflow/planWrite.js.map +1 -0
- package/dist-runtime/workflow/run.d.ts +1 -40
- package/dist-runtime/workflow/run.js +69 -139
- package/dist-runtime/workflow/run.js.map +1 -1
- package/dist-runtime/workflow/staticValidate.js +8 -3
- package/dist-runtime/workflow/staticValidate.js.map +1 -1
- package/dist-runtime/workflow/steps/call.d.ts +1 -1
- package/dist-runtime/workflow/steps/check.d.ts +1 -1
- package/dist-runtime/workflow/steps/custom.d.ts +1 -1
- package/dist-runtime/workflow/steps/deploy.d.ts +1 -1
- package/dist-runtime/workflow/steps/deploy.js +110 -55
- package/dist-runtime/workflow/steps/deploy.js.map +1 -1
- package/dist-runtime/workflow/steps/upgrade.d.ts +1 -1
- package/dist-runtime/workflow/steps/upgrade.js +84 -49
- package/dist-runtime/workflow/steps/upgrade.js.map +1 -1
- package/dist-runtime/workflow/steps/view.d.ts +1 -1
- package/docs/compiler-qualification.md +38 -0
- package/docs/configuration-runtime-observation.md +29 -0
- package/docs/create2-miner.md +100 -0
- package/docs/delivery-aggregate.md +29 -0
- package/docs/delivery-calldata.md +27 -0
- package/docs/delivery-custom-input-closure.md +51 -0
- package/docs/delivery-development.md +38 -0
- package/docs/delivery-eoa.md +46 -0
- package/docs/delivery-evm-manifest.md +20 -0
- package/docs/delivery-execution-store.md +33 -0
- package/docs/delivery-inputs.md +95 -0
- package/docs/delivery-parameters.md +65 -0
- package/docs/delivery-planning.md +140 -0
- package/docs/delivery-release.md +119 -0
- package/docs/delivery-safe.md +75 -0
- package/docs/delivery-setup.md +198 -0
- package/docs/delivery-source.md +67 -0
- package/docs/direct-package-acceptance.md +2 -0
- package/docs/openzeppelin-acceptance.md +86 -0
- package/docs/openzeppelin-baseline.json +27 -0
- package/docs/openzeppelin-integration.md +115 -0
- package/docs/plans/2026-10-28-openzeppelin-toolkit-consolidation.md +396 -0
- package/docs/plans/2026-11-02-transparent-proxy-delivery.md +78 -0
- package/docs/superpowers/plans/2026-08-17-custody-hardhat-signers.md +1 -1
- package/docs/superpowers/plans/2026-09-24-scheme-aware-static-validation.md +193 -0
- package/docs/superpowers/plans/2026-10-28-create2-miner.md +82 -0
- package/docs/workflow-reference.md +12 -4
- package/docs/workflow-runtime.md +6 -0
- package/package.json +148 -10
- package/resources/create2/LICENSE +21 -0
- package/resources/create2/README.md +9 -0
- package/resources/create2/darwin-arm64/smartflow_miner +0 -0
- package/resources/create2/darwin-x64/smartflow_miner +0 -0
- package/resources/create2/manifest.json +27 -0
- package/runtime/config/hardhatAdapters.ts +2 -1
- package/runtime/config/openzeppelin.ts +3 -21
- package/runtime/delivery/abi.ts +225 -0
- package/runtime/delivery/aggregate-bootstrap.ts +31 -0
- package/runtime/delivery/aggregate-channel.ts +88 -0
- package/runtime/delivery/aggregate-diagnostics.ts +63 -0
- package/runtime/delivery/aggregate-inputs.ts +39 -0
- package/runtime/delivery/aggregate-source.ts +57 -0
- package/runtime/delivery/aggregate-worker.ts +143 -0
- package/runtime/delivery/aggregate.ts +139 -0
- package/runtime/delivery/bindings.ts +37 -0
- package/runtime/delivery/business-extension.ts +33 -0
- package/runtime/delivery/calldata-archive.ts +25 -0
- package/runtime/delivery/calldata-details.ts +90 -0
- package/runtime/delivery/calldata-format.ts +14 -0
- package/runtime/delivery/calldata-preparations.ts +76 -0
- package/runtime/delivery/calldata-review.ts +126 -0
- package/runtime/delivery/check-code.ts +38 -0
- package/runtime/delivery/closure-format.ts +350 -0
- package/runtime/delivery/codec-pin.ts +3 -0
- package/runtime/delivery/codec.ts +50 -0
- package/runtime/delivery/compiler-dependency-pins.ts +1685 -0
- package/runtime/delivery/compiler-files.ts +181 -0
- package/runtime/delivery/compiler-io.ts +10 -0
- package/runtime/delivery/compiler-pins.ts +143 -0
- package/runtime/delivery/compiler.ts +701 -0
- package/runtime/delivery/config.ts +116 -0
- package/runtime/delivery/configuration-definition.ts +160 -0
- package/runtime/delivery/configuration-hre.ts +130 -0
- package/runtime/delivery/configuration-runtime.ts +163 -0
- package/runtime/delivery/configuration.ts +67 -0
- package/runtime/delivery/contract-source.ts +112 -0
- package/runtime/delivery/create2.ts +57 -0
- package/runtime/delivery/custom-closure.ts +993 -0
- package/runtime/delivery/custom-format.ts +479 -0
- package/runtime/delivery/custom.ts +219 -0
- package/runtime/delivery/data.ts +94 -0
- package/runtime/delivery/development.ts +264 -0
- package/runtime/delivery/engine.ts +29 -0
- package/runtime/delivery/eoa-observation.ts +106 -0
- package/runtime/delivery/eoa-signed.ts +55 -0
- package/runtime/delivery/eoa.ts +288 -0
- package/runtime/delivery/execution-db.ts +131 -0
- package/runtime/delivery/execution-files.ts +135 -0
- package/runtime/delivery/execution-identity.ts +32 -0
- package/runtime/delivery/execution-model.ts +102 -0
- package/runtime/delivery/execution-store.ts +411 -0
- package/runtime/delivery/existing-code.ts +45 -0
- package/runtime/delivery/export.ts +99 -0
- package/runtime/delivery/forkAudit.ts +620 -0
- package/runtime/delivery/hardhat.ts +38 -0
- package/runtime/delivery/history-registration.ts +10 -0
- package/runtime/delivery/identities.ts +132 -0
- package/runtime/delivery/input-files.ts +46 -0
- package/runtime/delivery/inputs.ts +204 -0
- package/runtime/delivery/journal.ts +205 -0
- package/runtime/delivery/manifest.ts +54 -0
- package/runtime/delivery/materialization.ts +53 -0
- package/runtime/delivery/observations.ts +60 -0
- package/runtime/delivery/parameter-defaults.ts +75 -0
- package/runtime/delivery/parameters.ts +367 -0
- package/runtime/delivery/pending.ts +98 -0
- package/runtime/delivery/plan.ts +337 -0
- package/runtime/delivery/planning.ts +411 -0
- package/runtime/delivery/policy.ts +9 -0
- package/runtime/delivery/preparation.ts +240 -0
- package/runtime/delivery/production-environment.ts +7 -0
- package/runtime/delivery/production-finalization.ts +181 -0
- package/runtime/delivery/production-intent.ts +14 -0
- package/runtime/delivery/production.ts +415 -0
- package/runtime/delivery/project-files.ts +63 -0
- package/runtime/delivery/project-rpc.ts +116 -0
- package/runtime/delivery/project.ts +129 -0
- package/runtime/delivery/protocol.ts +94 -0
- package/runtime/delivery/public-calldata.ts +74 -0
- package/runtime/delivery/references.ts +106 -0
- package/runtime/delivery/release-graph.ts +79 -0
- package/runtime/delivery/release-history-capture.ts +32 -0
- package/runtime/delivery/release-history.ts +178 -0
- package/runtime/delivery/release-inputs.ts +107 -0
- package/runtime/delivery/release.ts +166 -0
- package/runtime/delivery/safe-manifest.ts +11 -0
- package/runtime/delivery/safe-observation.ts +626 -0
- package/runtime/delivery/safe-prepare.ts +101 -0
- package/runtime/delivery/safe.ts +355 -0
- package/runtime/delivery/same-fork-baseline.ts +17 -0
- package/runtime/delivery/setup.ts +184 -0
- package/runtime/delivery/source.ts +130 -0
- package/runtime/delivery/target-fields.ts +7 -0
- package/runtime/delivery/task-identity.ts +85 -0
- package/runtime/delivery/toolchain.ts +48 -0
- package/runtime/delivery/validation.ts +252 -0
- package/runtime/delivery/verification.ts +47 -0
- package/runtime/migrate.ts +1 -0
- package/runtime/miner/binary.ts +41 -0
- package/runtime/miner/cli.ts +87 -0
- package/runtime/miner/index.ts +5 -0
- package/runtime/miner/request.ts +54 -0
- package/runtime/miner/runner.ts +90 -0
- package/runtime/miner/types.ts +71 -0
- package/runtime/miner/verify.ts +61 -0
- package/runtime/vendor/plan-codec/index.cjs +897 -0
- package/runtime/vendor/plan-codec/index.d.cts +38 -0
- package/runtime/vendor/plan-codec/provenance.json +25 -0
- package/runtime/workflow/engine.ts +174 -0
- package/runtime/workflow/lib/authority.ts +3 -3
- package/runtime/workflow/lib/calls.ts +47 -37
- package/runtime/workflow/lib/canonicalData.ts +45 -0
- package/runtime/workflow/lib/checkCodeRunner.ts +7 -3
- package/runtime/workflow/lib/config.ts +1 -1
- package/runtime/workflow/lib/context.ts +77 -0
- package/runtime/workflow/lib/create2.ts +18 -121
- package/runtime/workflow/lib/deploymentInfo.ts +8 -0
- package/runtime/workflow/lib/deploymentRecords.ts +3 -1
- package/runtime/workflow/lib/deployments.ts +6 -14
- package/runtime/workflow/lib/evidencePorts.ts +20 -0
- package/runtime/workflow/lib/executionPlan.ts +17 -268
- package/runtime/workflow/lib/externalExecutionScanner.ts +2 -1
- package/runtime/workflow/lib/gateTool.ts +22 -10
- package/runtime/workflow/lib/gateToolSync.ts +11 -3
- package/runtime/workflow/lib/operationNames.ts +32 -0
- package/runtime/workflow/lib/parameters.ts +8 -21
- package/runtime/workflow/lib/pendingDeploymentReuse.ts +4 -56
- package/runtime/workflow/lib/pendingUupsBinding.ts +43 -0
- package/runtime/workflow/lib/plan.ts +334 -0
- package/runtime/workflow/lib/planCli.ts +279 -0
- package/runtime/workflow/lib/preparationEvidence.ts +14 -0
- package/runtime/workflow/lib/proxy.ts +6 -3
- package/runtime/workflow/lib/runtime.ts +46 -0
- package/runtime/workflow/lib/signer.ts +8 -5
- package/runtime/workflow/lib/simulation.ts +41 -17
- package/runtime/workflow/lib/state.ts +3 -3
- package/runtime/workflow/lib/staticValidation.ts +92 -11
- package/runtime/workflow/lib/transactionPlanner.ts +314 -0
- package/runtime/workflow/lib/typedValue.ts +46 -0
- package/runtime/workflow/lib/validation.ts +50 -0
- package/runtime/workflow/planAdd.ts +8 -0
- package/runtime/workflow/planRead.ts +8 -0
- package/runtime/workflow/planStatus.ts +8 -0
- package/runtime/workflow/planWrite.ts +8 -0
- package/runtime/workflow/run.ts +42 -176
- package/runtime/workflow/staticValidate.ts +8 -3
- package/runtime/workflow/steps/call.ts +1 -1
- package/runtime/workflow/steps/check.ts +1 -1
- package/runtime/workflow/steps/custom.ts +1 -1
- package/runtime/workflow/steps/deploy.ts +99 -58
- package/runtime/workflow/steps/upgrade.ts +88 -57
- package/runtime/workflow/steps/view.ts +1 -1
- package/bin/workflow.cjs +0 -19
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Transparent / ProxyAdmin delivery support
|
|
2
|
+
|
|
3
|
+
## Scope
|
|
4
|
+
|
|
5
|
+
New ordinary EVM projects using the locked OpenZeppelin Contracts 5 toolchain.
|
|
6
|
+
Keep full free of patches and private OpenZeppelin options. Preserve the UUPS
|
|
7
|
+
and zkSync paths. Business ownership and ProxyAdmin ownership are explicit,
|
|
8
|
+
separate business inputs completed by the developer before prod release freeze.
|
|
9
|
+
Production operators consume frozen inputs and supply only execution identity.
|
|
10
|
+
|
|
11
|
+
## Ordered work
|
|
12
|
+
|
|
13
|
+
- [x] T1. Add explicit transparent deployment/upgrade preparation requests and
|
|
14
|
+
canonical plans. Bind implementation/proxy constructor calldata, derived
|
|
15
|
+
ProxyAdmin address, admin owner, official safety/storage checks and reuse.
|
|
16
|
+
- [x] T2. Connect native workflow steps and delivery semantic/journal/compiler
|
|
17
|
+
checks. Include same-fork deployment followed by upgrade and external routing.
|
|
18
|
+
- [x] T3. Register and reconcile transparent implementations, proxies and admin
|
|
19
|
+
identities in manifests/metadata. Extend CheckCode, dev acceptance and prod
|
|
20
|
+
finalization/history checks without weakening UUPS evidence.
|
|
21
|
+
- [x] T4. Document the capability in deployment skill and tool instructions;
|
|
22
|
+
keep template defaults and official OpenZeppelin packages unchanged.
|
|
23
|
+
- [x] T5. Build and run targeted regressions plus isolated local-chain
|
|
24
|
+
deployment, initialization, upgrade, calldata and rejection verification.
|
|
25
|
+
|
|
26
|
+
## Acceptance
|
|
27
|
+
|
|
28
|
+
CREATE2 prediction includes the official OZ 5 transparent proxy constructor.
|
|
29
|
+
Its internally created ProxyAdmin is verified at the deterministic CREATE
|
|
30
|
+
address and its owner is verified independently of the business owner. Upgrades
|
|
31
|
+
target ProxyAdmin, retain original proxy address, validate the current registered
|
|
32
|
+
implementation/layout and bind the expected admin identity. Wrong admin/owner,
|
|
33
|
+
unsafe implementation/layout, mismatched runtime and unsupported chain scheme
|
|
34
|
+
fail before execution. No package lifecycle patches or public-chain broadcasts.
|
|
35
|
+
|
|
36
|
+
## Evidence
|
|
37
|
+
|
|
38
|
+
Task baseline and isolated verification artifacts:
|
|
39
|
+
`/Users/vector/gate/.artifacts/transparent-proxy-support/`.
|
|
40
|
+
Existing dirty worktree changes are preserved. Local package publication/App
|
|
41
|
+
staging are separate from source implementation and validation.
|
|
42
|
+
|
|
43
|
+
## Verified results
|
|
44
|
+
|
|
45
|
+
- TypeScript ESM/CJS/runtime builds pass.
|
|
46
|
+
- Installed official packages on a disposable chain: CREATE2 constructor binding,
|
|
47
|
+
separate business/admin ownership, compatible upgrade and state retention,
|
|
48
|
+
incompatible layout refusal, wrong admin/owner/runtime refusal, reuse, workflow
|
|
49
|
+
manifest sync and external upgrade routing all pass. Official OZ file hashes
|
|
50
|
+
remain unchanged; original UUPS acceptance also passes.
|
|
51
|
+
- Full template two-target qualification passes.
|
|
52
|
+
- Full Transparent development delivery passes with deploy → same-fork upgrade →
|
|
53
|
+
configure, 4 transactions, 3 business assertions, implementation/proxy/admin
|
|
54
|
+
CheckCode and file-only recovery without duplicate signatures.
|
|
55
|
+
- Static production finalizer rejects admin slot/immutable/owner/runtime drift
|
|
56
|
+
at the finalized block. Deployment skill validation passes.
|
|
57
|
+
- Final production preparation now consumes the released qualification's
|
|
58
|
+
derivationSeed while retaining the new executionId. This fixes same-fork
|
|
59
|
+
compiler-closure drift without removing any baseline or hash check.
|
|
60
|
+
- Full production release/export/execution/recovery passes: 4 transactions,
|
|
61
|
+
exactly 4 signatures and 4 broadcasts, 3 business assertions; release marker
|
|
62
|
+
interruption, lost broadcast response and finalization file interruption all
|
|
63
|
+
recover, repeated verification does not resend. Calldata export runs without a
|
|
64
|
+
signer or a new block, includes all 4 transactions and matches the locked plan.
|
|
65
|
+
- Targeted regression: 236 tests pass; sibling-fixture zkSync regression: 8 pass.
|
|
66
|
+
Skill validation and whitespace checks pass. No project template or official
|
|
67
|
+
OZ payload change was needed for this capability.
|
|
68
|
+
|
|
69
|
+
Evidence summary: `acceptance-summary.json`; production evidence:
|
|
70
|
+
`local-production-acceptance.json`, `local-production-export.json`,
|
|
71
|
+
`local-production-raw.json` under the evidence directory above. The local node
|
|
72
|
+
was stopped after acceptance. Source changes remain uncommitted; npm publication
|
|
73
|
+
and replacement of the App-owned packages were not performed.
|
|
74
|
+
|
|
75
|
+
The two older zkSync tests reference a sibling `contract-tools` checkout. For
|
|
76
|
+
this worktree verification only, a temporary sibling symlink was created and
|
|
77
|
+
removed after the tests. No production fixture or repository source was changed
|
|
78
|
+
for that accommodation.
|
|
@@ -135,7 +135,7 @@ Run the focused test. Expected: FAIL because `installCustodyHardhatRuntime` does
|
|
|
135
135
|
|
|
136
136
|
- [ ] **Step 3: Implement runtime installation and plugin registration**
|
|
137
137
|
|
|
138
|
-
Expose a pure testable installer and register it through `extendEnvironment`. Read `
|
|
138
|
+
Expose a pure testable installer and register it through `extendEnvironment`. Read `PRIVATE_KEY` only when signer helpers execute, cache by credential, require `CUSTODY_API_BASE_URL`, and never change impersonated signers.
|
|
139
139
|
|
|
140
140
|
- [ ] **Step 4: Verify GREEN**
|
|
141
141
|
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
# Scheme-Aware Dual Static Validation Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Make the canonical static-validation command run and record the required EVM and zkSync compile checks while preserving the existing zkSync project configuration and fail-closed evidence contract.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Keep `hardhat.config.ts` and its zkSync compiler/network settings untouched. Extend GateTool's static-validation API with explicit compile targets for `evm` and `zksync-eravm`; the CLI resolves those targets from task/workflow inputs and records scheme-aware checks in `static-validation.json`. Existing TypeScript, test, and task-document checks remain shared checks. No deploy/upgrade adapter rewrite is included in this phase.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** TypeScript, Node.js `spawnSync`, YAML/JSON evidence, Node test runner, GateTool runtime package.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
### Task 1: Define scheme-aware static-validation evidence and target inputs
|
|
14
|
+
|
|
15
|
+
**Files:**
|
|
16
|
+
- Modify: `runtime/workflow/lib/staticValidation.ts`
|
|
17
|
+
- Test: `test/static-validation.test.mjs`
|
|
18
|
+
|
|
19
|
+
- [ ] **Step 1: Write failing tests**
|
|
20
|
+
|
|
21
|
+
Add tests proving that `runStaticValidation` accepts explicit compile targets and emits:
|
|
22
|
+
|
|
23
|
+
```json
|
|
24
|
+
{
|
|
25
|
+
"scheme": "evm",
|
|
26
|
+
"network": "gtDev"
|
|
27
|
+
}
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
and
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"scheme": "zksync-eravm",
|
|
35
|
+
"network": "zk"
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
for the two compile checks, while `compiledSchemes` contains both schemes. Add a failure test proving a failed zkSync compile creates a blocking reason naming the scheme and network.
|
|
40
|
+
|
|
41
|
+
- [ ] **Step 2: Run the focused test and verify it fails**
|
|
42
|
+
|
|
43
|
+
Run:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
cd /Users/vector/gate/EvmGateTools
|
|
47
|
+
npm run build && node --test test/static-validation.test.mjs
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Expected: the new assertions fail because compile evidence currently has no scheme/network fields and only one compile command is run.
|
|
51
|
+
|
|
52
|
+
- [ ] **Step 3: Implement the minimal evidence model**
|
|
53
|
+
|
|
54
|
+
Add explicit compile-target types and extend compile check evidence with optional `scheme` and `network`. Add `compiledSchemes` and `compileTargets` to the structured evidence. Preserve the existing report paths and fail-closed status calculation.
|
|
55
|
+
|
|
56
|
+
- [ ] **Step 4: Run the focused test and verify it passes**
|
|
57
|
+
|
|
58
|
+
Run the same build and test command. Expected: all static-validation tests pass.
|
|
59
|
+
|
|
60
|
+
- [ ] **Step 5: Commit the focused GateTool change**
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
git add runtime/workflow/lib/staticValidation.ts test/static-validation.test.mjs
|
|
64
|
+
git commit -m "feat: record scheme-aware static validation"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Task 2: Make the static-validation CLI run explicit EVM and zkSync compiles
|
|
68
|
+
|
|
69
|
+
**Files:**
|
|
70
|
+
- Modify: `runtime/workflow/staticValidate.ts`
|
|
71
|
+
- Modify: `runtime/workflow/lib/staticValidation.ts`
|
|
72
|
+
- Test: `test/static-validation.test.mjs`
|
|
73
|
+
|
|
74
|
+
- [ ] **Step 1: Write failing CLI/runner tests**
|
|
75
|
+
|
|
76
|
+
Add a test that supplies two compile targets and asserts the runner invokes exactly:
|
|
77
|
+
|
|
78
|
+
```text
|
|
79
|
+
npm run compile -- --network <evm-network>
|
|
80
|
+
npm run compile -- --network <zksync-network>
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
before `tsc`, tests, and document parsing. Add a test that omits either required target and verifies the runner fails before claiming `passed`.
|
|
84
|
+
|
|
85
|
+
- [ ] **Step 2: Run tests to verify the new behavior fails**
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
cd /Users/vector/gate/EvmGateTools
|
|
89
|
+
npm run build && node --test test/static-validation.test.mjs
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Expected: the invocation and missing-target assertions fail against the current single-network implementation.
|
|
93
|
+
|
|
94
|
+
- [ ] **Step 3: Implement target-driven compile execution**
|
|
95
|
+
|
|
96
|
+
Add `compileTargets` to `StaticValidationOptions`. For this phase require one `evm` and one `zksync-eravm` target from the canonical CLI path. Execute each target with its own `--network` value, preserve command errors, and record target-specific evidence. Keep the existing optional test command and shared checks unchanged.
|
|
97
|
+
|
|
98
|
+
- [ ] **Step 4: Run the focused tests**
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm run build && node --test test/static-validation.test.mjs
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Expected: all tests pass and evidence contains both compile checks and both compiled schemes.
|
|
105
|
+
|
|
106
|
+
- [ ] **Step 5: Commit**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
git add runtime/workflow/staticValidate.ts runtime/workflow/lib/staticValidation.ts test/static-validation.test.mjs
|
|
110
|
+
git commit -m "feat: require EVM and zkSync static compiles"
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### Task 3: Wire workflow inputs and preserve the project zkSync configuration
|
|
114
|
+
|
|
115
|
+
**Files:**
|
|
116
|
+
- Modify: `runtime/workflow/staticValidate.ts`
|
|
117
|
+
- Modify: `ai-workflows/workflows/v2/deployment/contract-deployment-developer-role-v2.yaml`
|
|
118
|
+
- Modify: `ai-workflows/tests/deployment-runtime-context-policy.test.mjs`
|
|
119
|
+
|
|
120
|
+
- [ ] **Step 1: Add policy regression assertions**
|
|
121
|
+
|
|
122
|
+
Require the canonical command to pass explicit EVM and zkSync network arguments/targets and require both scheme results in structured evidence. Assert that the policy retains the project's `zksolc` configuration rather than asking the developer to delete it.
|
|
123
|
+
|
|
124
|
+
- [ ] **Step 2: Run the policy test to verify it fails**
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
cd /Users/vector/gate/ai-workflows
|
|
128
|
+
node --test tests/deployment-runtime-context-policy.test.mjs
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Expected: the new dual-target assertions fail before the workflow text is updated.
|
|
132
|
+
|
|
133
|
+
- [ ] **Step 3: Update the canonical workflow instructions**
|
|
134
|
+
|
|
135
|
+
Document that `hardhat.config.ts` keeps its zkSync plugin, network, and `zksolc` settings; the developer must run isolated EVM and zkSync compiles using the selected configured network names; and `static-validation.json` must contain passed evidence for both schemes. Do not add a new user-facing scheme selector or infer scheme from a network name.
|
|
136
|
+
|
|
137
|
+
- [ ] **Step 4: Run policy tests**
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
node --test tests/deployment-runtime-context-policy.test.mjs tests/zksync-create2-policy.test.mjs
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
Expected: all relevant policy tests pass.
|
|
144
|
+
|
|
145
|
+
- [ ] **Step 5: Commit and push workflow policy**
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
git add workflows/v2/deployment/contract-deployment-developer-role-v2.yaml tests/deployment-runtime-context-policy.test.mjs
|
|
149
|
+
git commit -m "docs: require dual-scheme static validation"
|
|
150
|
+
git push origin main
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### Task 4: Validate compiler compatibility and package the result
|
|
154
|
+
|
|
155
|
+
**Files:**
|
|
156
|
+
- Modify only if the compatibility test proves the current project combination is invalid: the SuperTask worktree's project-owned `hardhat.config.ts` and dependency manifest; do not alter GateTool's shared runtime config.
|
|
157
|
+
- Test: current SuperTask worktree compile commands and generated evidence.
|
|
158
|
+
|
|
159
|
+
- [ ] **Step 1: Run the exact EVM and zkSync compile commands in the current SuperTask worktree**
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
cd /Users/vector/gate/repo_migrate/GateFun/.worktrees/supertask-muf4zhlc-l4a7e-gatefun4
|
|
163
|
+
npm run compile -- --network gtDev
|
|
164
|
+
npm run compile -- --network zk
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Expected: EVM compile passes; zkSync compile either passes or produces the exact plugin/compiler incompatibility needed for a project-owned version update.
|
|
168
|
+
|
|
169
|
+
- [ ] **Step 2: If zkSync compile fails, verify the installed plugin's supported compiler range before changing config**
|
|
170
|
+
|
|
171
|
+
Inspect the installed `@matterlabs/hardhat-zksync-solc` constants and compile error. Only update `zksolc` to an officially supported version if the current `1.3.22` is actually rejected by the installed plugin; preserve the plugin and network declarations.
|
|
172
|
+
|
|
173
|
+
- [ ] **Step 3: Run GateTool's complete test suite and build**
|
|
174
|
+
|
|
175
|
+
```bash
|
|
176
|
+
cd /Users/vector/gate/EvmGateTools
|
|
177
|
+
npm test
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
Expected: all tests pass.
|
|
181
|
+
|
|
182
|
+
- [ ] **Step 4: Pack and install the resulting local package into the current SuperTask worktree**
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
mkdir -p /tmp/gateflow-local-packages
|
|
186
|
+
npm pack --pack-destination /tmp/gateflow-local-packages
|
|
187
|
+
cd /Users/vector/gate/repo_migrate/GateFun/.worktrees/supertask-muf4zhlc-l4a7e-gatefun4
|
|
188
|
+
npm install --no-save --ignore-scripts /tmp/gateflow-local-packages/gate-evm-tools-1.0.28.tgz
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
- [ ] **Step 5: Verify structured evidence and repository status**
|
|
192
|
+
|
|
193
|
+
Run the canonical static validation with explicit targets, inspect `docs/static-validation.json`, and confirm the evidence is current-run and contains both schemes. Do not modify or delete failed SuperTask state automatically. Confirm all intended repositories are clean or contain only explicitly documented changes.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# GateTool CREATE2 Miner Implementation Plan
|
|
2
|
+
|
|
3
|
+
> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox syntax for tracking.
|
|
4
|
+
|
|
5
|
+
**Goal:** Add an independently callable, packaged CREATE2 miner to GateTool while retaining the existing GateFlow miner unchanged.
|
|
6
|
+
|
|
7
|
+
**Architecture:** Reuse the existing create2Crunch macOS executables, with a GateTool-owned typed request/result API, binary resolver, bounded child-process lifecycle and independent cryptographic verification. Mining is explicit preparation work: no automatic deployment hooks, transaction signing, DB/state migration or parameter mutation. Publish a `gate-evm-tools/create2-miner` subpath and `gate-tool miner` CLI; distribute both binaries offline in the npm archive.
|
|
8
|
+
|
|
9
|
+
**Tech Stack:** TypeScript, Node child_process, existing ethers v6 runtime/hash helpers, Rust Mach-O binaries, node:test, npm pack.
|
|
10
|
+
|
|
11
|
+
**Workspace:** `/Users/vector/gate/.worktrees/evm-delivery/EvmGateTools`, existing clean branch `feat/evm-delivery`, base `31c709a6bf7eb69ecad99a3f49ec08f332819cd5`. No changes in SmartFlowAI, EvmHardhatCli or create2Crunch; no npm publication/version bump/App rebuild.
|
|
12
|
+
|
|
13
|
+
## Task 1: Miner API, CLI and offline distribution
|
|
14
|
+
|
|
15
|
+
**Files:**
|
|
16
|
+
- Create `runtime/miner/{types,request,verify,binary,runner,index,cli}.ts` with one responsibility per module.
|
|
17
|
+
- Create `resources/create2/{darwin-arm64,darwin-x64}/smartflow_miner`, `resources/create2/{LICENSE,manifest.json,README.md}`.
|
|
18
|
+
- Modify `package.json` exports/typesVersions/files; `bin/cli.js` may route the `miner` command before heavyweight legacy CLI loading. Add help integration in `src/index.ts` if needed.
|
|
19
|
+
- Create `test/create2-miner.test.mjs`, `test/create2-miner-process.test.mjs`, `test/create2-miner-package.test.mjs` and small executable test fixtures as needed.
|
|
20
|
+
- Modify `README.md`, add `docs/create2-miner.md`; regenerate tracked build artifacts with the existing build.
|
|
21
|
+
|
|
22
|
+
### Public contract
|
|
23
|
+
|
|
24
|
+
```ts
|
|
25
|
+
// Export typed requests, normalized requests/results and options from the subpath.
|
|
26
|
+
normalizeCreate2MinerRequest(input: unknown): NormalizedCreate2MinerRequest;
|
|
27
|
+
create2MinerRequestFromArtifact(input: {
|
|
28
|
+
scheme?: 'evm' | 'zksync-eravm'; artifact: Create2HashArtifact;
|
|
29
|
+
args: unknown[]; factory: string; caller: string;
|
|
30
|
+
leadingZeroBytes?: number; leadingPattern?: number; targetCount?: number;
|
|
31
|
+
backend?: 'auto' | 'cpu' | 'gpu' | 'metal' | 'opencl';
|
|
32
|
+
}): NormalizedCreate2MinerRequest;
|
|
33
|
+
resolveCreate2MinerBinary(options?: { binaryPath?: string }): string;
|
|
34
|
+
verifyCreate2MinerResponse(request: Create2MinerRequest, response: unknown): Create2MinerRunResult;
|
|
35
|
+
mineCreate2(request: Create2MinerRequest, options?: {
|
|
36
|
+
binaryPath?: string; signal?: AbortSignal; timeoutMs?: number;
|
|
37
|
+
onProgress?: (progress: { status: 'running'; elapsedMs: number }) => void;
|
|
38
|
+
}): Promise<Create2MinerRunResult>;
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Contract details:
|
|
42
|
+
- Normalize EVM default scheme and explicit EraVM, strict address/hash lengths, separate scheme-specific hashes, required caller salt prefix, positive bounded targetCount (1–100), leadingZeroBytes 0–20, leadingPattern 0–255. Default backend auto, targetCount 1, difficulty/pattern 0. Unknown/irrelevant fields must not silently change intent. Do not expose Rust debugging nonce/prefix controls yet.
|
|
43
|
+
- GPU supports only repeated-nibble patterns (00,11,...,ff); reject other patterns before spawn unless CPU selected. Validate platform-incompatible backend selection clearly.
|
|
44
|
+
- Artifact helper reuses existing canonicalCreate2Hashes (actual ABI constructor encoding, artifact format and linked bytecode validation); no HRE/RPC/compiler/secret needed.
|
|
45
|
+
- Return normalized request identity plus verified results, actual backend, attempts/duration/rate from binary, explicit status found. Strictly require status, scheme, count, unique salts/addresses and all identity fields. Reject forged/missing/foreign hashes, caller mismatch, leading policy mismatch, nonmatching computed addresses/patterns and partial results. EVM address uses ff/factory/salt/initCodeHash; EraVM uses zksyncCreate2 domain/factory padding/salt/bytecodeHash/constructorInputHash. Metrics must be finite nonnegative; they are reported telemetry, not proof.
|
|
46
|
+
- Resolver uses explicit binaryPath, then GATE_TOOL_CREATE2_MINER_BIN, then package-relative resources for host platform/architecture. Unsupported hosts get an actionable override/build error. Validate bundled file SHA-256 against a trusted manifest pin and executable permissions. Explicit overrides are trusted executable paths; do not fall back silently when invalid. No cwd-based discovery/download/postinstall.
|
|
47
|
+
- Manifest records actual file lengths/SHA-256 and honest provenance (copied from SmartFlow repository resources at its inspected commit; Rust reference checkout is not proof of the binary build revision). Include upstream MIT license, preserve executable bits.
|
|
48
|
+
- Spawn without shell; send JSON over stdin. Bounded stdout/stderr, handle spawn/nonzero exit/malformed JSON/stalled processes. Abort/timeout kills and reaps child (TERM with bounded KILL fallback), clears timers/listeners, settles once, no orphan process. Progress reports elapsed time only. Catch callback errors and terminate cleanly. Pre-aborted calls must not spawn.
|
|
49
|
+
- CLI: `gate-tool miner --request request.json [--output result.json] [--binary /absolute/path] [--timeout-ms N]`; request `-` accepts stdin. JSON result on stdout, diagnostics on stderr, optional output written only after successful verification (avoid truncating existing files on failure; reject overwriting request). SIGINT/SIGTERM must cancel child and exit nonzero. Help must be discoverable through both `gate-tool --help` and `gate-tool miner --help`.
|
|
50
|
+
- This API uses the existing ethers v6 runtime requirement; document it. No changes to old SuperTask adapters, handoff tasks, release sealing, frozen salts, setup version pin or deployment executors.
|
|
51
|
+
|
|
52
|
+
### Execution steps
|
|
53
|
+
|
|
54
|
+
- [x] Write failing functional tests for request normalization, artifact hash construction, EVM known address and EraVM reference vectors, and forged response rejection. Assert exports exist before importing lazily so the initial failure identifies missing capability. Run `node --test test/create2-miner.test.mjs` and record expected RED.
|
|
55
|
+
- [x] Implement request/types/verification and API exports; run `npm run build` and the functional test to GREEN.
|
|
56
|
+
- [x] Write lifecycle and CLI tests before implementation: real fixture subprocess stdout/failure/hang/oversized output, AbortSignal, timeout, callback failure, executable resolution and invalid paths. Run new tests to expected RED; then implement process runner/resolver/CLI.
|
|
57
|
+
- [x] Copy the two authorized existing executables (do not remove originals), license and manifest with source/hash evidence. Write package acceptance test before packaging changes: pack into a temp directory, extract away from checkout, verify both binary bytes/modes and API types/exports/help, invoke bundled native CPU mining for EVM and EraVM on supported hosts. Tests may use isolated installed dependencies or explicit symlinks to dependencies, but must not resolve the miner from a checkout path. Test failure diagnostics and clean temporary resources.
|
|
58
|
+
- [x] Wire package and help; add usage docs and verified-result JSON example. Run `npm run build`, `node --test test/create2-miner*.test.mjs test/delivery-source-package.test.mjs test/runtime-version.test.mjs` once all source changes are ready. Record actual tar size. Smoke real native GPU if the current Mac supports it, separately from required deterministic CPU acceptance.
|
|
59
|
+
- [x] Review source and spec independently, resolve concrete findings, and rerun affected checks only. Record evidence here. Commit only these changes locally after verification; do not push/publish/update App runtime archives.
|
|
60
|
+
|
|
61
|
+
## Acceptance record
|
|
62
|
+
|
|
63
|
+
Implementation and independent reviews complete. The GateFlow application continues using its original miner until a separately authorized integration.
|
|
64
|
+
|
|
65
|
+
Parent baseline checks (before new wrapper implementation):
|
|
66
|
+
- Existing runtime identity binding regression: 1 passed.
|
|
67
|
+
- Existing macOS arm64 executable: CPU EVM and EraVM requests returned complete `found` responses.
|
|
68
|
+
- Existing macOS arm64 executable: GPU EVM request with one leading zero byte returned a qualifying address through Metal (~5.8 seconds); reported attempts/hashRate were zero, confirming these counters are unavailable on GPU.
|
|
69
|
+
- Existing x64 executable cannot run on this arm64 host (`Bad CPU type in executable`); x64 runtime acceptance remains outside this host's coverage.
|
|
70
|
+
- Both executables link to macOS system libraries/frameworks, not developer checkout paths.
|
|
71
|
+
- Source resource SHA-256: arm64 `9611c1ca900c24f9b14924a144b7a3ab431111b855e676f2e145e7ab8c05f954` (1,297,616 bytes); x64 `a38279143658a8849db484e248c62af6ae2db78de4251021f195efd9bf987d82` (1,306,112 bytes).
|
|
72
|
+
|
|
73
|
+
Feature commit `8f7a8a2d1d9cb7106ac53b0dcb2b2beefa2ddc32`:
|
|
74
|
+
- Functional RED (5 missing-export failures), lifecycle/CLI RED (15 missing-runner failures), package/type RED (missing resources and raw-input type) were observed before corresponding implementation. Result type alias also received a consumer RED/GREEN check.
|
|
75
|
+
- Full build succeeded. Focused command passed 25 tests, 0 failures/skips. Raw logs are preserved outside the published package at `../setup-logs/create2-miner-20261028/{build.log,focused-tests.log}`.
|
|
76
|
+
- Extracted npm package CPU runs: EVM and EraVM each returned two unique, verified addresses with a leading zero byte; CJS/ESM imports and `.cts`/`.mts` consumers passed. Both architectures' binary hashes, modes and tamper rejection passed.
|
|
77
|
+
- Implementer's separate extracted-package Metal smoke passed EVM (5,117 ms, address `0x001f764470407c723db31f0f490c2edaed0fed70`) and EraVM (11,733 ms, address `0x0012736ec2bc4d20068df1bc6bd9676663a02e2b`). Native GPU attempts/rate remained zero/unavailable.
|
|
78
|
+
- Acceptance tar at this stage was 2,448,819 bytes compressed; final delivery tar may differ due to review fixes and this record.
|
|
79
|
+
- Independent specification review identified a CLI cancellation window during asynchronous output writing. Fix `86daf843d44486561dc60ea3f1541e4f47a99fb9` checks cancellation around output commit and before success reporting. All 16 process tests passed, including SIGINT/SIGTERM at three real filesystem-operation boundaries. The reviewer independently rechecked and issued specification PASS. Raw logs: `output-cancellation-{build,red-original,green}.log` in the same evidence directory.
|
|
80
|
+
- Quality review found that the exported verifier's array `map` could skip sparse result slots from JavaScript callers (native JSON cannot encode holes). Fix `c21667ffd7151db2b6316d2fcb3d414c22285306` validates every expected index, independent of array holes/custom iterators. Full build and affected functional tests passed (5/5); the reviewer independently reproduced rejection and issued quality PASS. Raw logs: `sparse-response-{red,iterator-red,build,green}.log`.
|
|
81
|
+
- No remaining critical/important review findings. Final source has 26 focused tests; the full 25-test run preceded review corrections, which were verified with affected suites (16 process/CLI and 5 functional tests). No production-chain execution, npm publication, App build/toolchain replacement, or changes to other repositories were performed.
|
|
82
|
+
- A local installation archive and machine-readable receipt are produced at `../artifacts/create2-miner-20261028/`. `ACCEPTANCE.json` records final package SHA-256, bytes, source commit and extracted-package CLI acceptance for both schemes. Reproduction script: `../setup-logs/create2-miner-20261028/verify-local-package.mjs`. Package-only checks reuse the worktree's dependencies by symlink; miner code and native resources come exclusively from the extracted archive.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
> 历史文档:其中的 gate-workflow 命令已移除。新项目使用 gate-tool delivery 与 delivery API,见 [部署接入](delivery-setup.md)。
|
|
2
|
+
|
|
1
3
|
# Full EVM workflow reference
|
|
2
4
|
|
|
3
5
|
Reference for the full EVM template and GateTool task-based deployment workflow.
|
|
@@ -90,8 +92,7 @@ CUSTODY_API_BASE_URL=https://custody.example.com
|
|
|
90
92
|
`CUSTODY_API_BASE_URL` must be an HTTP(S) base URL without embedded
|
|
91
93
|
credentials, query parameters, or fragments.
|
|
92
94
|
|
|
93
|
-
`
|
|
94
|
-
are configured, they must contain the same value. `hardhat.config.ts` loads the
|
|
95
|
+
`PRIVATE_KEY` is the only wallet credential environment variable. `hardhat.config.ts` loads the
|
|
95
96
|
custody plugin after the ethers and OpenZeppelin plugins. A real private key is
|
|
96
97
|
passed through native `networks.accounts`; a custody credential leaves native
|
|
97
98
|
accounts empty and supplies the remote signer through Hardhat and the workflow
|
|
@@ -285,7 +286,7 @@ npm run workflow -- \
|
|
|
285
286
|
`--network` to Hardhat and passes workflow arguments such as `--task`, `--mode`,
|
|
286
287
|
`--target`, `--step`, `--from`, `--simulationSigner`, and `--operator` to the runtime.
|
|
287
288
|
For `--mode execute` on real configured networks, the runtime fails early when
|
|
288
|
-
|
|
289
|
+
`PRIVATE_KEY` is absent or empty in the project `.env`
|
|
289
290
|
or process environment.
|
|
290
291
|
Every target whose `environment` is `production` additionally requires
|
|
291
292
|
`--useLock`; a production execute without the immutable final-simulation plan
|
|
@@ -710,7 +711,7 @@ acceptance requirement.
|
|
|
710
711
|
signer setup. The tracked `rpc.env` file provides the shared `BASE_RPC_URI` for
|
|
711
712
|
the project; SmartFlow may populate its initially empty value once when it
|
|
712
713
|
creates a new internal project. `.env` remains untracked and only provides
|
|
713
|
-
`
|
|
714
|
+
`PRIVATE_KEY`, `CUSTODY_API_BASE_URL`, and the optional full
|
|
714
715
|
`ZKSYNC_RPC_URL`.
|
|
715
716
|
|
|
716
717
|
Each remote network declares `route`, `publicFallback`, and `useBaseRpc`
|
|
@@ -1179,3 +1180,10 @@ Workflow implementations are provided by `gate-evm-tools`; npm scripts invoke th
|
|
|
1179
1180
|
`npx --no-install gate-workflow --help` exposes compiled workflow commands without a manual ts-node preload. Existing npm commands remain supported. Before upgrading an existing task, finish it with the original runtime or reconcile it and prepare a new execution ID; execution bindings reject a different package build. `gate-workflow migrate` previews removal of recognized baseline files and shims; `--apply` backs up originals, updates known commands/imports and removes known runtime scripts; customized files or unresolved references require manual review. It does not change business data or install dependencies.
|
|
1180
1181
|
|
|
1181
1182
|
Network declarations live directly in `hardhat.config.ts` under its single `networks` block. Edit names, chain IDs, RPC routes/fallbacks and zkSync flags there; do not create a second network list. `createNetworkHelpers` from `gate-evm-tools/runtime-config/networks` supplies only account/RPC/fork mechanics. Add `rpcUrl: process.env.BSC_DEV_RPC_URL` to one `remoteNetwork({ ... })` entry to override its RPC, or spread that entry into `{ ...remoteNetwork({ ... }), timeout: 60000 }` for other Hardhat fields. Load rpc.env/.env before creating the helpers. Dev/Prod represent business environments, not testnet/mainnet. Compiler versions/settings remain project-owned; overlay migration merges the network block and keeps the original toolchain. The deprecated `createTemplateNetworks` export remains for older generated projects only and is not called by the current template.
|
|
1183
|
+
|
|
1184
|
+
### Official unpatched OpenZeppelin
|
|
1185
|
+
|
|
1186
|
+
CREATE2 / UUPS use GateTool preparation and explicit planned calls, not private
|
|
1187
|
+
OpenZeppelin deployProxy options. Transparent/ProxyAdmin is unsupported here.
|
|
1188
|
+
See [OpenZeppelin integration](openzeppelin-integration.md) for script API,
|
|
1189
|
+
atomic initialization, explicit ownership and prod calldata boundaries.
|
package/docs/workflow-runtime.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
> 历史文档:其中的 gate-workflow 命令已移除。新项目使用 gate-tool delivery 与 delivery API,见 [部署接入](delivery-setup.md)。
|
|
2
|
+
|
|
1
3
|
# Packaged workflow runtime (local preview)
|
|
2
4
|
|
|
3
5
|
GateTool owns the full-template workflow implementation. New templates have no `scripts/workflow` or `scripts/config` forwarding directory: npm scripts call `gate-workflow`, and Hardhat/tests import package exports directly. Existing npm command names remain supported. Contracts, config.yaml/config.json, rpc.env, task YAML, salts, business scripts and result files remain project-owned. Compiler settings and deployment/vanity behavior are unchanged.
|
|
@@ -54,3 +56,7 @@ Register `registerZkSyncSolcAdapter(subtask, TASK_COMPILE_SOLIDITY_RUN_SOLC)` wi
|
|
|
54
56
|
The RPC resolver and zkSync solc PATH adapter are also exported under `runtime-config/rpc` and `runtime-config/zksyncSolcPath`; new templates import these exports directly. Migration now recognizes 72 baseline helper/workflow files. Migration rewrites recognized Hardhat imports but preserves compiler/settings/overrides. Merge new helper calls into older inline configs separately while retaining the old toolchain for overlay projects. Network infrastructure/config.yaml profiles and business data stay project-owned.
|
|
55
57
|
|
|
56
58
|
After this one-time migration, compatible runtime upgrades require updating the exact GateTool dependency and existing lockfile, without copying workflow scripts. Breaking configuration/API changes still require their documented migration. Finish active execution bindings on their original build before upgrading.
|
|
59
|
+
|
|
60
|
+
`gate-evm-tools/deployment-evm` exposes signer-free preparation/composition over
|
|
61
|
+
the same workflow engine. Official OZ packages remain unchanged; the proxy
|
|
62
|
+
workflow supports UUPS. See [OpenZeppelin integration](openzeppelin-integration.md).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gate-evm-tools",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Gate 智能合约工具集 - 字节码检查、合约升级验证、合约状态同步",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -32,7 +32,89 @@
|
|
|
32
32
|
"types": "./dist-runtime/config/*.d.ts",
|
|
33
33
|
"default": "./dist-runtime/config/*.js"
|
|
34
34
|
},
|
|
35
|
-
"./runtime-source/*": "./runtime/*.ts"
|
|
35
|
+
"./runtime-source/*": "./runtime/*.ts",
|
|
36
|
+
"./delivery-setup": {
|
|
37
|
+
"types": "./dist-runtime/delivery/setup.d.ts",
|
|
38
|
+
"default": "./dist-runtime/delivery/setup.js"
|
|
39
|
+
},
|
|
40
|
+
"./delivery-protocol": {
|
|
41
|
+
"types": "./dist-runtime/delivery/protocol.d.ts",
|
|
42
|
+
"default": "./dist-runtime/delivery/protocol.js"
|
|
43
|
+
},
|
|
44
|
+
"./delivery-hardhat": {
|
|
45
|
+
"types": "./dist-runtime/delivery/hardhat.d.ts",
|
|
46
|
+
"default": "./dist-runtime/delivery/hardhat.js"
|
|
47
|
+
},
|
|
48
|
+
"./delivery-policy": {
|
|
49
|
+
"types": "./dist/delivery/policy.d.ts",
|
|
50
|
+
"import": "./dist/delivery/policy.js",
|
|
51
|
+
"require": "./dist-cjs/delivery/policy.js"
|
|
52
|
+
},
|
|
53
|
+
"./delivery-source": {
|
|
54
|
+
"types": "./dist-runtime/delivery/source.d.ts",
|
|
55
|
+
"default": "./dist-runtime/delivery/source.js"
|
|
56
|
+
},
|
|
57
|
+
"./delivery-parameters": {
|
|
58
|
+
"types": "./dist-runtime/delivery/parameters.d.ts",
|
|
59
|
+
"default": "./dist-runtime/delivery/parameters.js"
|
|
60
|
+
},
|
|
61
|
+
"./delivery-inputs": {
|
|
62
|
+
"types": "./dist-runtime/delivery/inputs.d.ts",
|
|
63
|
+
"default": "./dist-runtime/delivery/inputs.js"
|
|
64
|
+
},
|
|
65
|
+
"./delivery-task": {
|
|
66
|
+
"types": "./dist-runtime/delivery/task-identity.d.ts",
|
|
67
|
+
"default": "./dist-runtime/delivery/task-identity.js"
|
|
68
|
+
},
|
|
69
|
+
"./delivery-calldata": {
|
|
70
|
+
"types": "./dist-runtime/delivery/public-calldata.d.ts",
|
|
71
|
+
"default": "./dist-runtime/delivery/public-calldata.js"
|
|
72
|
+
},
|
|
73
|
+
"./delivery-configuration": {
|
|
74
|
+
"types": "./dist-runtime/delivery/configuration.d.ts",
|
|
75
|
+
"default": "./dist-runtime/delivery/configuration.js"
|
|
76
|
+
},
|
|
77
|
+
"./delivery-aggregate": {
|
|
78
|
+
"types": "./dist-runtime/delivery/aggregate.d.ts",
|
|
79
|
+
"default": "./dist-runtime/delivery/aggregate.js"
|
|
80
|
+
},
|
|
81
|
+
"./delivery-export": {
|
|
82
|
+
"types": "./dist-runtime/delivery/export.d.ts",
|
|
83
|
+
"default": "./dist-runtime/delivery/export.js"
|
|
84
|
+
},
|
|
85
|
+
"./delivery-execution-store": {
|
|
86
|
+
"types": "./dist-runtime/delivery/execution-store.d.ts",
|
|
87
|
+
"default": "./dist-runtime/delivery/execution-store.js"
|
|
88
|
+
},
|
|
89
|
+
"./delivery-eoa": {
|
|
90
|
+
"types": "./dist-runtime/delivery/eoa.d.ts",
|
|
91
|
+
"default": "./dist-runtime/delivery/eoa.js"
|
|
92
|
+
},
|
|
93
|
+
"./delivery-development": {
|
|
94
|
+
"types": "./dist-runtime/delivery/development.d.ts",
|
|
95
|
+
"default": "./dist-runtime/delivery/development.js"
|
|
96
|
+
},
|
|
97
|
+
"./delivery-release": {
|
|
98
|
+
"types": "./dist-runtime/delivery/release.d.ts",
|
|
99
|
+
"default": "./dist-runtime/delivery/release.js"
|
|
100
|
+
},
|
|
101
|
+
"./delivery-production": {
|
|
102
|
+
"types": "./dist-runtime/delivery/production.d.ts",
|
|
103
|
+
"default": "./dist-runtime/delivery/production.js"
|
|
104
|
+
},
|
|
105
|
+
"./delivery-safe": {
|
|
106
|
+
"types": "./dist-runtime/delivery/safe.d.ts",
|
|
107
|
+
"default": "./dist-runtime/delivery/safe.js"
|
|
108
|
+
},
|
|
109
|
+
"./create2-miner": {
|
|
110
|
+
"types": "./dist-runtime/miner/index.d.ts",
|
|
111
|
+
"default": "./dist-runtime/miner/index.js"
|
|
112
|
+
},
|
|
113
|
+
"./deployment-evm": {
|
|
114
|
+
"types": "./dist/deployment-evm/index.d.ts",
|
|
115
|
+
"import": "./dist/deployment-evm/index.js",
|
|
116
|
+
"require": "./dist-cjs/deployment-evm/index.js"
|
|
117
|
+
}
|
|
36
118
|
},
|
|
37
119
|
"typesVersions": {
|
|
38
120
|
"*": {
|
|
@@ -53,12 +135,65 @@
|
|
|
53
135
|
],
|
|
54
136
|
"runtime-config/*": [
|
|
55
137
|
"dist-runtime/config/*.d.ts"
|
|
138
|
+
],
|
|
139
|
+
"delivery-setup": [
|
|
140
|
+
"dist-runtime/delivery/setup.d.ts"
|
|
141
|
+
],
|
|
142
|
+
"delivery-protocol": [
|
|
143
|
+
"dist-runtime/delivery/protocol.d.ts"
|
|
144
|
+
],
|
|
145
|
+
"delivery-hardhat": [
|
|
146
|
+
"dist-runtime/delivery/hardhat.d.ts"
|
|
147
|
+
],
|
|
148
|
+
"delivery-policy": [
|
|
149
|
+
"dist/delivery/policy.d.ts"
|
|
150
|
+
],
|
|
151
|
+
"delivery-source": [
|
|
152
|
+
"dist-runtime/delivery/source.d.ts"
|
|
153
|
+
],
|
|
154
|
+
"delivery-parameters": [
|
|
155
|
+
"dist-runtime/delivery/parameters.d.ts"
|
|
156
|
+
],
|
|
157
|
+
"delivery-inputs": [
|
|
158
|
+
"dist-runtime/delivery/inputs.d.ts"
|
|
159
|
+
],
|
|
160
|
+
"delivery-configuration": [
|
|
161
|
+
"dist-runtime/delivery/configuration.d.ts"
|
|
162
|
+
],
|
|
163
|
+
"delivery-aggregate": [
|
|
164
|
+
"dist-runtime/delivery/aggregate.d.ts"
|
|
165
|
+
],
|
|
166
|
+
"delivery-export": [
|
|
167
|
+
"dist-runtime/delivery/export.d.ts"
|
|
168
|
+
],
|
|
169
|
+
"delivery-execution-store": [
|
|
170
|
+
"dist-runtime/delivery/execution-store.d.ts"
|
|
171
|
+
],
|
|
172
|
+
"delivery-eoa": [
|
|
173
|
+
"dist-runtime/delivery/eoa.d.ts"
|
|
174
|
+
],
|
|
175
|
+
"delivery-development": [
|
|
176
|
+
"dist-runtime/delivery/development.d.ts"
|
|
177
|
+
],
|
|
178
|
+
"delivery-release": [
|
|
179
|
+
"dist-runtime/delivery/release.d.ts"
|
|
180
|
+
],
|
|
181
|
+
"delivery-production": [
|
|
182
|
+
"dist-runtime/delivery/production.d.ts"
|
|
183
|
+
],
|
|
184
|
+
"delivery-safe": [
|
|
185
|
+
"dist-runtime/delivery/safe.d.ts"
|
|
186
|
+
],
|
|
187
|
+
"create2-miner": [
|
|
188
|
+
"dist-runtime/miner/index.d.ts"
|
|
189
|
+
],
|
|
190
|
+
"deployment-evm": [
|
|
191
|
+
"dist/deployment-evm/index.d.ts"
|
|
56
192
|
]
|
|
57
193
|
}
|
|
58
194
|
},
|
|
59
195
|
"bin": {
|
|
60
|
-
"gate-tool": "./bin/cli.js"
|
|
61
|
-
"gate-workflow": "./bin/workflow.cjs"
|
|
196
|
+
"gate-tool": "./bin/cli.js"
|
|
62
197
|
},
|
|
63
198
|
"files": [
|
|
64
199
|
"bin/",
|
|
@@ -68,15 +203,17 @@
|
|
|
68
203
|
"contractInfo.example.json",
|
|
69
204
|
"dist-runtime/",
|
|
70
205
|
"runtime/",
|
|
71
|
-
"docs/"
|
|
206
|
+
"docs/",
|
|
207
|
+
"resources/create2/"
|
|
72
208
|
],
|
|
73
209
|
"scripts": {
|
|
74
|
-
"build": "tsc && tsc -p tsconfig.custody-cjs.json && node scripts/write-cjs-package.mjs && tsc -p tsconfig.runtime.json && node scripts/write-runtime-package.mjs",
|
|
210
|
+
"build": "tsc && tsc -p tsconfig.custody-cjs.json && node scripts/write-cjs-package.mjs && tsc -p tsconfig.runtime.json && node scripts/stage-plan-codec.mjs && node scripts/write-runtime-package.mjs",
|
|
75
211
|
"dev": "tsc --watch",
|
|
76
212
|
"start": "node bin/cli.js",
|
|
77
213
|
"pretest": "npm run build",
|
|
78
214
|
"test": "node --test test/*.test.mjs",
|
|
79
|
-
"test:custody:hardhat-v6": "npm run build && node scripts/test-custody-hardhat-v6.mjs"
|
|
215
|
+
"test:custody:hardhat-v6": "npm run build && node scripts/test-custody-hardhat-v6.mjs",
|
|
216
|
+
"test:delivery:evm": "npm run build && node --test test/integration/delivery-evm.test.mjs"
|
|
80
217
|
},
|
|
81
218
|
"keywords": [
|
|
82
219
|
"bytecode",
|
|
@@ -93,12 +230,14 @@
|
|
|
93
230
|
"author": "",
|
|
94
231
|
"license": "MIT",
|
|
95
232
|
"dependencies": {
|
|
233
|
+
"ajv": "8.17.1",
|
|
96
234
|
"chalk": "^5.3.0",
|
|
97
235
|
"commander": "^11.1.0",
|
|
98
236
|
"fs-extra": "^11.2.0",
|
|
99
237
|
"ora": "^7.0.1",
|
|
100
238
|
"prompts": "^2.4.2",
|
|
101
239
|
"semver": "^7.8.5",
|
|
240
|
+
"typescript": "5.9.3",
|
|
102
241
|
"yaml": "2.8.1",
|
|
103
242
|
"zksync-ethers": "6.15.0"
|
|
104
243
|
},
|
|
@@ -117,8 +256,7 @@
|
|
|
117
256
|
"ethers": "^6.15.0",
|
|
118
257
|
"ethers5": "npm:ethers@5.7.2",
|
|
119
258
|
"hardhat": "2.27.1",
|
|
120
|
-
"ts-node": "10.9.2"
|
|
121
|
-
"typescript": "^5.9.3"
|
|
259
|
+
"ts-node": "10.9.2"
|
|
122
260
|
},
|
|
123
261
|
"peerDependencies": {
|
|
124
262
|
"@matterlabs/hardhat-zksync-deploy": "1.8.0",
|
|
@@ -145,6 +283,6 @@
|
|
|
145
283
|
}
|
|
146
284
|
},
|
|
147
285
|
"engines": {
|
|
148
|
-
"node": ">=
|
|
286
|
+
"node": ">=22.13.0"
|
|
149
287
|
}
|
|
150
288
|
}
|