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
|
@@ -4,27 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.runUpgradeStep = void 0;
|
|
7
|
+
const validation_1 = require("../lib/validation");
|
|
8
|
+
const preparationEvidence_1 = require("../lib/preparationEvidence");
|
|
7
9
|
const controlledMulticallAbi_1 = require("../lib/controlledMulticallAbi");
|
|
8
10
|
const ethers_1 = require("ethers");
|
|
9
|
-
const
|
|
11
|
+
const workflow_1 = require("gate-evm-tools/workflow");
|
|
10
12
|
const path_1 = __importDefault(require("path"));
|
|
11
13
|
const authority_1 = require("../lib/authority");
|
|
12
14
|
const deployments_1 = require("../lib/deployments");
|
|
13
15
|
const gateTool_1 = require("../lib/gateTool");
|
|
14
16
|
const gateToolSync_1 = require("../lib/gateToolSync");
|
|
15
17
|
const erc1967_1 = require("../lib/erc1967");
|
|
16
|
-
const lock_1 = require("../lib/lock");
|
|
17
|
-
const parameters_1 = require("../lib/parameters");
|
|
18
18
|
const create2_1 = require("../lib/create2");
|
|
19
19
|
const proxy_1 = require("../lib/proxy");
|
|
20
|
-
const
|
|
20
|
+
const runtime_1 = require("../lib/runtime");
|
|
21
21
|
const simulation_1 = require("../lib/simulation");
|
|
22
|
-
const resolveInContext = (context, value) => (0,
|
|
23
|
-
targetId: context.targetId,
|
|
24
|
-
target: context.target,
|
|
25
|
-
params: context.targetParams,
|
|
26
|
-
state: context.state,
|
|
27
|
-
});
|
|
22
|
+
const resolveInContext = (context, value) => (0, validation_1.resolveWorkflowValue)(context, value);
|
|
28
23
|
const resolveObject = (context, value) => {
|
|
29
24
|
const resolved = resolveInContext(context, value || {});
|
|
30
25
|
if (!resolved || typeof resolved !== "object" || Array.isArray(resolved))
|
|
@@ -39,12 +34,18 @@ const resolveArray = (context, value, label) => {
|
|
|
39
34
|
};
|
|
40
35
|
const stringField = (source, key) => (typeof source[key] === "string" && source[key] ? String(source[key]) : undefined);
|
|
41
36
|
const proxyReference = (context, step) => {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
37
|
+
const resolvedProxy = step.proxy === undefined ? undefined : resolveInContext(context, step.proxy);
|
|
38
|
+
const proxyObject = resolvedProxy && typeof resolvedProxy === "object" && !Array.isArray(resolvedProxy)
|
|
39
|
+
? resolvedProxy
|
|
40
|
+
: {};
|
|
41
|
+
let rawProxy = stringField(proxyObject, "address")
|
|
44
42
|
|| stringField(proxyObject, "name")
|
|
45
43
|
|| stringField(proxyObject, "contract")
|
|
46
|
-
|| (typeof
|
|
47
|
-
|
|
44
|
+
|| (typeof resolvedProxy === "string" ? resolvedProxy : undefined);
|
|
45
|
+
if (!rawProxy) {
|
|
46
|
+
const resolvedAddress = step.address === undefined ? undefined : resolveInContext(context, step.address);
|
|
47
|
+
rawProxy = typeof resolvedAddress === "string" ? resolvedAddress : undefined;
|
|
48
|
+
}
|
|
48
49
|
if (!rawProxy)
|
|
49
50
|
throw new Error(`Step ${step.id} requires proxy address or deployment name`);
|
|
50
51
|
const registryDeployment = (0, ethers_1.isAddress)(rawProxy)
|
|
@@ -66,6 +67,7 @@ const proxyReference = (context, step) => {
|
|
|
66
67
|
proxy: {
|
|
67
68
|
kind: stringField(proxyObject, "kind")
|
|
68
69
|
|| (typeof step.proxyKind === "string" ? step.proxyKind : "uups"),
|
|
70
|
+
adminOwner: stringField(proxyObject, "adminOwner"),
|
|
69
71
|
initializer: proxyObject.initializer === false
|
|
70
72
|
? false
|
|
71
73
|
: stringField(proxyObject, "initializer"),
|
|
@@ -108,11 +110,11 @@ const transactionEnvelope = (transaction) => ({
|
|
|
108
110
|
? {}
|
|
109
111
|
: { scheme: "zksync-eravm", factoryDeps: transaction.factoryDeps }),
|
|
110
112
|
});
|
|
111
|
-
const assertUupsChainState = async (proxy, implementation) => {
|
|
113
|
+
const assertUupsChainState = async (context, proxy, implementation) => {
|
|
112
114
|
const [proxyCode, implementationCode, currentImplementation] = await Promise.all([
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
(0, erc1967_1.getERC1967Implementation)(
|
|
115
|
+
context.runtime.hre.ethers.provider.getCode(proxy),
|
|
116
|
+
context.runtime.hre.ethers.provider.getCode(implementation),
|
|
117
|
+
(0, erc1967_1.getERC1967Implementation)(context.runtime.hre.ethers.provider, proxy),
|
|
116
118
|
]);
|
|
117
119
|
if (!proxyCode || proxyCode === "0x") {
|
|
118
120
|
throw new Error(`UUPS proxy is missing deployed code at ${proxy}`);
|
|
@@ -131,35 +133,50 @@ const runUpgradeStep = async (context, step) => {
|
|
|
131
133
|
}
|
|
132
134
|
const contractName = String(step.contract);
|
|
133
135
|
const proxy = proxyReference(context, step);
|
|
134
|
-
|
|
135
|
-
|
|
136
|
+
const transparent = proxy.proxy.kind === "transparent";
|
|
137
|
+
if (!transparent && (proxy.proxy.kind || "uups") !== "uups")
|
|
138
|
+
throw new Error(`Upgrade step ${step.id} has unsupported proxy kind`);
|
|
139
|
+
if (transparent && !proxy.proxy.adminOwner)
|
|
140
|
+
throw Error("Transparent upgrade requires explicit proxy.adminOwner");
|
|
141
|
+
const sameFork = context.preparations?.assertUpgradeBaseline(proxy.proxyAddress) === true;
|
|
142
|
+
if (sameFork) {
|
|
143
|
+
if (context.mode !== 'simulate' || !context.validation?.sameForkUpgrade)
|
|
144
|
+
throw new Error('Same-fork upgrade requires owned local-fork validation');
|
|
145
|
+
await context.validation.sameForkUpgrade(proxy.proxyAddress);
|
|
136
146
|
}
|
|
137
|
-
if (context.mode === "simulate") {
|
|
138
|
-
await (0, simulation_1.assertSimulationUupsSourceState)(context.simulation, proxy.proxyAddress);
|
|
147
|
+
else if (context.mode === "simulate") {
|
|
148
|
+
await (0, simulation_1.assertSimulationUupsSourceState)(context.runtime.hre.ethers.provider, context.simulation, proxy.proxyAddress);
|
|
139
149
|
}
|
|
140
150
|
const call = upgradeCall(context, step);
|
|
141
151
|
const actualContract = (0, deployments_1.actualContractName)(contractName);
|
|
142
|
-
const targetCreate2 = context.
|
|
143
|
-
|
|
152
|
+
const targetCreate2 = context.validation
|
|
153
|
+
? context.validation.create2Fields(resolveInContext(context, context.target.create2 === undefined ? {} : context.target.create2), "target")
|
|
154
|
+
: context.target.create2;
|
|
155
|
+
const targetMulticall = context.validation
|
|
156
|
+
? context.validation.create2Fields(resolveInContext(context, context.target.multicall === undefined ? {} : context.target.multicall), "multicall")
|
|
157
|
+
: context.target.multicall;
|
|
158
|
+
const factory = targetCreate2?.factory;
|
|
159
|
+
const controlledMulticall = targetMulticall?.controlledMulticall;
|
|
144
160
|
const scheme = targetCreate2?.scheme || "evm";
|
|
145
161
|
if (scheme !== "evm" && scheme !== "zksync-eravm") {
|
|
146
162
|
throw new Error(`Upgrade step ${step.id} target create2 scheme is invalid`);
|
|
147
163
|
}
|
|
148
|
-
if (!
|
|
164
|
+
if (typeof factory !== "string" || !factory || typeof controlledMulticall !== "string" || !controlledMulticall) {
|
|
149
165
|
throw new Error(`Upgrade step ${step.id} requires target create2 factory and controlledMulticall`);
|
|
150
166
|
}
|
|
151
167
|
const constructorArgs = resolveArray(context, step.constructorArgs || proxy.proxy.constructorArgs || [], `Step ${step.id} constructorArgs`);
|
|
152
|
-
const implementationSalt = (0, proxy_1.deriveImplementationSalt)(context.executionId, contractName, proxy.proxyAddress);
|
|
168
|
+
const implementationSalt = (0, proxy_1.deriveImplementationSalt)(context.bindings?.derivationSeed ?? context.executionId, contractName, proxy.proxyAddress);
|
|
169
|
+
if (transparent && scheme !== "evm")
|
|
170
|
+
throw Error("Transparent upgrade requires ordinary EVM");
|
|
153
171
|
const request = {
|
|
154
172
|
version: 1,
|
|
155
|
-
kind: "uups-upgrade",
|
|
173
|
+
...(transparent ? { kind: "transparent-upgrade", proxyKind: "transparent", proxyAdmin: (0, workflow_1.transparentAdminAddress)(proxy.proxyAddress), proxyAdminOwner: proxy.proxy.adminOwner } : { kind: "uups-upgrade", proxyKind: "uups" }),
|
|
156
174
|
scheme,
|
|
157
|
-
network:
|
|
175
|
+
network: context.runtime.hre.network.name,
|
|
158
176
|
target: context.targetId,
|
|
159
177
|
contract: contractName,
|
|
160
178
|
constructorArgs,
|
|
161
|
-
factory
|
|
162
|
-
proxyKind: "uups",
|
|
179
|
+
factory,
|
|
163
180
|
proxy: proxy.proxyAddress,
|
|
164
181
|
implementationSalt,
|
|
165
182
|
...(proxy.proxy.unsafeAllow ? { unsafeAllow: proxy.proxy.unsafeAllow } : {}),
|
|
@@ -167,10 +184,13 @@ const runUpgradeStep = async (context, step) => {
|
|
|
167
184
|
};
|
|
168
185
|
const gateToolEvidenceDir = path_1.default.join(context.taskDir, "results", context.targetId, context.executionId, "gate-tool", context.mode);
|
|
169
186
|
const prepared = await (0, gateTool_1.prepareGateToolWorkflow)({
|
|
187
|
+
hre: context.runtime.hre,
|
|
188
|
+
validation: context.validation,
|
|
170
189
|
root: context.root,
|
|
171
190
|
evidenceDir: gateToolEvidenceDir,
|
|
172
191
|
evidenceName: step.id,
|
|
173
192
|
request,
|
|
193
|
+
expected: context.preparations?.expected(step.id, request),
|
|
174
194
|
readBlockTag: context.mode === "simulate"
|
|
175
195
|
? context.simulation.snapshot?.blockNumber
|
|
176
196
|
: undefined,
|
|
@@ -186,34 +206,35 @@ const runUpgradeStep = async (context, step) => {
|
|
|
186
206
|
actualContract,
|
|
187
207
|
contractInfoKey: proxy.contractInfoKey,
|
|
188
208
|
strategy: "gate-tool",
|
|
189
|
-
proxyKind: "uups",
|
|
209
|
+
proxyKind: transparent ? "transparent" : "uups",
|
|
210
|
+
...(transparent ? { proxyAdminAddress: prepared.plan.proxyAdmin.address, proxyAdminOwner: prepared.plan.proxyAdmin.owner } : {}),
|
|
190
211
|
proxyAddress: proxy.proxyAddress,
|
|
191
212
|
implementationAddress: implementation.address,
|
|
192
213
|
implementationSalt,
|
|
193
214
|
constructorArgs,
|
|
194
|
-
factory
|
|
215
|
+
factory,
|
|
216
|
+
multicall: controlledMulticall,
|
|
195
217
|
gateTool: {
|
|
196
218
|
outputPath: gateToolPlan,
|
|
197
219
|
data: prepared.plan,
|
|
198
220
|
},
|
|
199
221
|
};
|
|
200
|
-
|
|
201
|
-
(0, lock_1.recordParameterLockImplementationSalts)(context.taskDir, context.parameterLockExecutionId, { [`${step.id}.implementation`]: implementationSalt });
|
|
202
|
-
}
|
|
222
|
+
context.bindings?.recordOrAssertDerivedValue(`${step.id}.implementation`, implementationSalt);
|
|
203
223
|
const recorder = context.mode === "execute" ? context.deploymentRecorder : undefined;
|
|
204
224
|
if (context.mode === "execute" && !recorder) {
|
|
205
225
|
throw new Error(`Upgrade step ${step.id} requires an execution deployment recorder`);
|
|
206
226
|
}
|
|
207
227
|
recorder?.prepare(preparedChange);
|
|
208
|
-
|
|
209
|
-
const
|
|
228
|
+
(0, preparationEvidence_1.recordPreparedDeployment)(context, preparedChange, prepared, [`${step.id}.implementation`]);
|
|
229
|
+
const proxyContract = await context.runtime.hre.ethers.getContractAt(transparent ? [...workflow_1.PROXY_ADMIN_INTERFACE.fragments] : String(step.abi || contractName), transparent ? prepared.plan.proxyAdmin.address : proxy.proxyAddress, context.signer);
|
|
230
|
+
const upgradeAuthority = await (0, authority_1.decideAuthority)(proxyContract, transparent ? { ...context.target, admin: proxy.proxy.adminOwner } : context.target, context.signerAddress);
|
|
210
231
|
if (context.mode === "simulate"
|
|
211
232
|
&& !context.configuredSimulationCaller
|
|
212
233
|
&& !context.executionPlanner) {
|
|
213
234
|
(0, authority_1.assertSelectedSimulationSignerAuthorized)(upgradeAuthority, step.id);
|
|
214
235
|
}
|
|
215
236
|
const implementationMulticall = implementationCall
|
|
216
|
-
? (0, create2_1.prepareControlledMulticallTransaction)(
|
|
237
|
+
? (0, create2_1.prepareControlledMulticallTransaction)(controlledMulticall, [{
|
|
217
238
|
target: implementationCall.to,
|
|
218
239
|
value: implementationCall.value,
|
|
219
240
|
data: implementationCall.data,
|
|
@@ -223,10 +244,10 @@ const runUpgradeStep = async (context, step) => {
|
|
|
223
244
|
}], scheme)
|
|
224
245
|
: undefined;
|
|
225
246
|
const multicall = implementationMulticall
|
|
226
|
-
? await
|
|
247
|
+
? await context.runtime.hre.ethers.getContractAt(controlledMulticallAbi_1.CONTROLLED_MULTICALL_AUTHORITY_ABI, controlledMulticall, context.signer)
|
|
227
248
|
: undefined;
|
|
228
249
|
const implementationAuthority = multicall
|
|
229
|
-
? await (0, authority_1.decideControlledMulticallAuthority)(multicall,
|
|
250
|
+
? await (0, authority_1.decideControlledMulticallAuthority)(multicall, factory, context.target, context.signerAddress)
|
|
230
251
|
: undefined;
|
|
231
252
|
if (scheme === "zksync-eravm"
|
|
232
253
|
&& (upgradeAuthority.mode !== "execute"
|
|
@@ -247,17 +268,21 @@ const runUpgradeStep = async (context, step) => {
|
|
|
247
268
|
implementationTxHash = tx.hash;
|
|
248
269
|
}
|
|
249
270
|
const upgradeTx = await (0, create2_1.sendPreparedWorkflowTransaction)(transactionEnvelope(proxyUpgradeCall), context.signer);
|
|
250
|
-
await assertUupsChainState(proxy.proxyAddress, implementation.address);
|
|
271
|
+
await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
|
|
272
|
+
if (transparent)
|
|
273
|
+
await (0, workflow_1.verifyTransparentAdmin)({ hre: context.runtime.hre, proxy: proxy.proxyAddress, admin: prepared.plan.proxyAdmin.address, owner: prepared.plan.proxyAdmin.owner });
|
|
251
274
|
const gateToolSync = context.mode === "execute"
|
|
252
275
|
? await (0, gateToolSync_1.syncGateToolUups)({
|
|
276
|
+
hre: context.runtime.hre,
|
|
253
277
|
root: context.root,
|
|
254
278
|
evidenceDir: gateToolEvidenceDir,
|
|
255
279
|
evidenceName: step.id,
|
|
256
280
|
scheme: prepared.plan.scheme,
|
|
257
|
-
network:
|
|
281
|
+
network: context.runtime.hre.network.name,
|
|
258
282
|
target: context.targetId,
|
|
259
283
|
manifestDir: context.target.openzeppelin.manifestDir,
|
|
260
284
|
proxy: proxy.proxyAddress,
|
|
285
|
+
...(transparent ? { proxyKind: "transparent", proxyAdminAddress: prepared.plan.proxyAdmin.address, proxyAdminOwner: prepared.plan.proxyAdmin.owner } : {}),
|
|
261
286
|
implementation: implementation.address,
|
|
262
287
|
contract: actualContract,
|
|
263
288
|
constructorArgs,
|
|
@@ -322,6 +347,7 @@ const runUpgradeStep = async (context, step) => {
|
|
|
322
347
|
? {}
|
|
323
348
|
: { factoryDeps: implementationMulticall.factoryDeps }),
|
|
324
349
|
});
|
|
350
|
+
context.preparations?.bind(step.id, { transactionId: planned.transactionId, gateToolTransactionIds: [implementationCall.id], kind: "multicall" });
|
|
325
351
|
implementationTransactionId = planned.transactionId;
|
|
326
352
|
implementationExternal = planned.route === "external";
|
|
327
353
|
if (planned.executionAction === "replay") {
|
|
@@ -343,9 +369,10 @@ const runUpgradeStep = async (context, step) => {
|
|
|
343
369
|
}
|
|
344
370
|
else {
|
|
345
371
|
const selectedSigner = planned.route === "external"
|
|
346
|
-
? await (0,
|
|
372
|
+
? await (0, runtime_1.impersonateLocalForkSigner)(context.runtime, planned.executor)
|
|
347
373
|
: context.signer;
|
|
348
374
|
const tx = await (0, create2_1.sendPreparedControlledMulticallTransaction)(implementationMulticall, selectedSigner);
|
|
375
|
+
context.transactionObserver?.record({ transactionId: planned.transactionId, transactionHash: tx.hash });
|
|
349
376
|
implementationTxHash = tx.hash;
|
|
350
377
|
if (context.mode === "execute" && planned.route === "operator") {
|
|
351
378
|
context.operatorReceipts.push({
|
|
@@ -373,6 +400,7 @@ const runUpgradeStep = async (context, step) => {
|
|
|
373
400
|
? {}
|
|
374
401
|
: { factoryDeps: upgradeEnvelope.factoryDeps }),
|
|
375
402
|
});
|
|
403
|
+
context.preparations?.bind(step.id, { transactionId: upgradeTransaction.transactionId, gateToolTransactionIds: [proxyUpgradeCall.id], kind: "direct" });
|
|
376
404
|
if (context.mode === "execute") {
|
|
377
405
|
recorder?.bindProxyTransaction(step.id, upgradeTransaction.transactionId);
|
|
378
406
|
}
|
|
@@ -388,17 +416,18 @@ const runUpgradeStep = async (context, step) => {
|
|
|
388
416
|
value: upgradeTransaction.value,
|
|
389
417
|
data: upgradeTransaction.data,
|
|
390
418
|
operation: upgradeTransaction.operation,
|
|
391
|
-
method: "upgradeToAndCall",
|
|
392
|
-
args: [implementation.address],
|
|
419
|
+
method: transparent ? "upgradeAndCall" : "upgradeToAndCall",
|
|
420
|
+
args: transparent ? [proxy.proxyAddress, implementation.address, workflow_1.PROXY_ADMIN_INTERFACE.decodeFunctionData("upgradeAndCall", proxyUpgradeCall.data)[2]] : [implementation.address],
|
|
393
421
|
executor: upgradeTransaction.executor,
|
|
394
422
|
reason: upgradeAuthority.reason,
|
|
395
423
|
});
|
|
396
424
|
}
|
|
397
425
|
else {
|
|
398
426
|
const selectedSigner = upgradeTransaction.route === "external"
|
|
399
|
-
? await (0,
|
|
427
|
+
? await (0, runtime_1.impersonateLocalForkSigner)(context.runtime, upgradeTransaction.executor)
|
|
400
428
|
: context.signer;
|
|
401
429
|
const tx = await (0, create2_1.sendPreparedWorkflowTransaction)(upgradeEnvelope, selectedSigner);
|
|
430
|
+
context.transactionObserver?.record({ transactionId: upgradeTransaction.transactionId, transactionHash: tx.hash });
|
|
402
431
|
upgradeTxHash = tx.hash;
|
|
403
432
|
if (context.mode === "execute" && upgradeTransaction.route === "operator") {
|
|
404
433
|
context.operatorReceipts.push({
|
|
@@ -410,16 +439,20 @@ const runUpgradeStep = async (context, step) => {
|
|
|
410
439
|
if (context.mode === "execute"
|
|
411
440
|
&& !implementationExternal
|
|
412
441
|
&& upgradeTransaction.route === "operator") {
|
|
413
|
-
await assertUupsChainState(proxy.proxyAddress, implementation.address);
|
|
442
|
+
await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
|
|
443
|
+
if (transparent)
|
|
444
|
+
await (0, workflow_1.verifyTransparentAdmin)({ hre: context.runtime.hre, proxy: proxy.proxyAddress, admin: prepared.plan.proxyAdmin.address, owner: prepared.plan.proxyAdmin.owner });
|
|
414
445
|
const gateToolSync = await (0, gateToolSync_1.syncGateToolUups)({
|
|
446
|
+
hre: context.runtime.hre,
|
|
415
447
|
root: context.root,
|
|
416
448
|
evidenceDir: gateToolEvidenceDir,
|
|
417
449
|
evidenceName: step.id,
|
|
418
450
|
scheme: prepared.plan.scheme,
|
|
419
|
-
network:
|
|
451
|
+
network: context.runtime.hre.network.name,
|
|
420
452
|
target: context.targetId,
|
|
421
453
|
manifestDir: context.target.openzeppelin.manifestDir,
|
|
422
454
|
proxy: proxy.proxyAddress,
|
|
455
|
+
...(transparent ? { proxyKind: "transparent", proxyAdminAddress: prepared.plan.proxyAdmin.address, proxyAdminOwner: prepared.plan.proxyAdmin.owner } : {}),
|
|
423
456
|
implementation: implementation.address,
|
|
424
457
|
contract: actualContract,
|
|
425
458
|
constructorArgs,
|
|
@@ -433,7 +466,9 @@ const runUpgradeStep = async (context, step) => {
|
|
|
433
466
|
});
|
|
434
467
|
}
|
|
435
468
|
else if (context.mode === "simulate") {
|
|
436
|
-
await assertUupsChainState(proxy.proxyAddress, implementation.address);
|
|
469
|
+
await assertUupsChainState(context, proxy.proxyAddress, implementation.address);
|
|
470
|
+
if (transparent)
|
|
471
|
+
await (0, workflow_1.verifyTransparentAdmin)({ hre: context.runtime.hre, proxy: proxy.proxyAddress, admin: prepared.plan.proxyAdmin.address, owner: prepared.plan.proxyAdmin.owner });
|
|
437
472
|
}
|
|
438
473
|
context.state.set(`${proxy.saveAs}Upgrade`, {
|
|
439
474
|
proxyAddress: proxy.proxyAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../../runtime/workflow/steps/upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Compiler qualification contribution v1
|
|
2
|
+
|
|
3
|
+
`gate-evm-tools/delivery-hardhat` retains the manifest-before-OpenZeppelin bootstrap order and exports `qualifyDeliveryCompiler(hre, options)` and `parseCompilerEvidence(data)`. Qualification is opt-in. Ordinary project compilation retains its existing behavior.
|
|
4
|
+
|
|
5
|
+
The qualification adapter currently supports **macOS with the reviewed Hardhat Solidity parser backend**, Hardhat 2.26.3, ethers 6.15.0, hardhat-upgrades 3.9.1, upgrades-core 1.44.2, Slang 0.18.3 and preview2-shim 0.17.0. The portability of npm soljson does not imply portability of the entire Hardhat/OZ adapter. Other platforms, compiler versions, backend payloads and task overrides fail qualification. The adapter records Node version, ABI, architecture, actual package payloads and actual entries.
|
|
6
|
+
|
|
7
|
+
Two compiler sources are approved:
|
|
8
|
+
|
|
9
|
+
* `native-macos-0.8.28`: official universal macOS executable, SHA-256 `81515b0e53deaa266d549545ccaac0a5a96e6d4e8201c77f673b2c710976d9ea`. Its source is solc-bin commit `78d9b01518c352f6c075a9d30f7b27b6e592da1d`, `macosx-amd64/solc-macosx-amd64-v0.8.28+commit.7893614a`.
|
|
10
|
+
* `npm-soljson-0.8.28`: `solc@0.8.28/soljson.js`, SHA-256 `9ef37cc1d2597ed6d2f706a960f449e33eb9eee920936cea77b11e6f43861970`; tarball integrity `sha512-AFCiJ+b4RosyyNhnfdVH4ZR1+TxiL91iluPjw0EJslIu4LXGM9NYqi2z5y8TqochC4tcH9QsHfwWhOIC9jPDKA==`. This differs from the official release WASM bytes, which are not approved by this adapter.
|
|
11
|
+
|
|
12
|
+
Pass an explicit absolute regular-file path as `{ compiler: { kind, path } }`. The integration fixture supplies disposable independently checked copies. Without an explicit compiler, only the approved stock macOS native selection is accepted; host downloader metadata is not a trust root. Actual runner paths must match the observed SolcBuild. Compiler bytes are checked before and after the stock runner executes. Host paths stay outside portable evidence.
|
|
13
|
+
|
|
14
|
+
The checked-in package pins are distributed in the packed GateTool package. They were derived from registry tarballs whose full SHA-512 SRI was independently checked, then compared against the complete installed regular-file payload. The versioned npm extraction projection accounts for `.gitignore` becoming `.npmignore` when that name is absent. Standard package-root `node_modules` directories are separate package boundaries, and a used nested executable helper requires its own exact lock location and reviewed payload. The actual solc child wrapper and its complete recursive helper closure have a compiler-child role that requires reviewed payloads and supports only this npm topology: `node_modules` below an internal package subdirectory is rejected before child execution and during subsequent evidence verification. Once a package has this role, later ordinary reads cannot weaken it. Parent-process toolchain packages retain their actual loaded-module and reviewed-payload checks; this topology restriction does not apply to source-only packages or GateTool's own-package role. Runtime qualification reads the project's installed packages and npm lock; **it does not read an npm cache, sibling checkout or research directory**. A new installation needs the explicit compiler file and the normal locked dependencies, not the development machine's cache. Updating adapter versions requires reviewing and regenerating pins; lock integrity alone never proves installed bytes.
|
|
15
|
+
|
|
16
|
+
The solc-js branch resolves `solc/wrapper` from the actual Hardhat runner. In the pinned toolchain this is wrapper 0.8.26 applied to soljson 0.8.28. The complete wrapper package, importer-resolved helper packages and loaded compiler/OZ module payloads are bound. The own-package role is limited to the exact package location resolved by the project's `gate-evm-tools/workflow` entry, which must match the physical package containing the running collector. A helper cannot obtain this role by claiming the GateTool package name; other loaded helpers retain reviewed-payload checks through final verification. This qualification check is not a sandbox for parent-process packages that HRE bootstrap has already executed. Core is resolved independently from the plugin and preparation call site. Slang's actual ESM parser/cst and component issuer are bound to the shim's Node ESM entries and all four package WASM payloads. These are reviewed toolchain adapters; no custom planning package receives an exemption from the custom-code purity policy.
|
|
17
|
+
|
|
18
|
+
Qualification performs one fresh compile, bypassing both job filtering and the Solidity parser cache. Per-job asynchronous contexts observe the actual original and OZ auxiliary invocations, builds and runners, including auxiliary compilation through OZ `runSuper`. The completed task chain must match stock/pinned/owned adapters and remain unchanged. The initial dispatcher must match the reviewed Hardhat 2.26.3 function-source pin and its bootstrap-observed HRE reference; installing a wrapper before qualification is rejected. The actual provider reference is retained. Ordinary unqualified compilation remains unaffected, and Hardhat's task-local proxied HRE remains supported. Source contents are reread as exact UTF-8, mapped to confined physical project/npm files, with dependency edges and complete effective job settings. Later preparation compilation may be a cache hit; a new unassociated job is rejected. No extra compilation is performed to reconstruct validation.
|
|
19
|
+
|
|
20
|
+
Every actual artifact read after qualification passes through the owned index. ABI-only interfaces are valid roots; deployment and OZ version computation still require nonempty bytecode. The adapter independently projects stock artifacts and reads confined artifact/debug/build-info files, permitting the standard relative debug pointer only inside `artifacts/build-info`. It compares full persisted input/output/version data with observations, not the noncryptographic build-info ID. Sources, package membership, resolution, files, task registry and compiler configuration are rechecked when taking evidence.
|
|
21
|
+
|
|
22
|
+
`collector.implementation(name, constructorArgs, options)` observes actual official `getDeployData`, recomputes validation from captured main/auxiliary outputs, and checks the first selected run/FQN, unlinked and linked bytecode, constructor version, inheritance/library validation closure, full effective layout and full safety options. Initial UUPS/Transparent preparation on the owned path obtains one actual DeployData and performs the official safety check. Upgrades observe the existing owned call. Official optional undefined fields use a version-specific persisted projection; general delivery JSON remains strict.
|
|
23
|
+
|
|
24
|
+
`collector.baseline(address, priorCollector, priorSelection)` accepts only a selection produced by an owned collector. The explicit prior selection binds source, artifact, constructor and version. Historical fresh and independent expected/disk upgrades use the actual pinned core implementation-slot reader and the configured target-manifest reader. The awaited read-only observation binds the unique proxy/implementation record, implementation map key, complete selected entry, raw manifest digest, layout, target, chain, manifest policy and replacement selection. A manifest by itself is insufficient. The pure reuse check requires that complete owned association and executes official storage compatibility validation. Replay performs no compile, preparation or DeployData call and does not change required/reused decisions.
|
|
25
|
+
|
|
26
|
+
Compiler-qualified collection also supports a new initial UUPS or Transparent deployment followed by an upgrade in the same local fork. Its journal must reference the owned, fully checked initial preparation. Before bypassing the historical source-state guard, the owned adapter verifies proxy absence at the pinned source block, actual local proxy/implementation code and the actual implementation slot. An awaited in-memory baseline port supplies the qualified prior layout to the normal core safety check; no manifest entry is synthesized or written. The plan uses `sameForkBaselineDigest`, strictly exclusive with historical `manifestDigest`. Its stable commitment covers the canonical initial request/plan and full old-layout hash, thereby binding target, chain, proxy kind, proxy, implementation, artifact and constructor to the prior qualified selection. Exact auxiliary compiler evidence remains separate. Both the preparation journal and compiler-evidence parser check the corresponding prior relationship. Unqualified collection keeps the original same-fork refusal.
|
|
27
|
+
|
|
28
|
+
The public collector is an immutable opaque handle. `parseCompilerEvidence` checks persisted shape, hashes and relationships; parsing a record cannot obtain collector authority. `collectCompilerQualifiedDeliveryPlan` in the delivery planning runtime requires the actual HRE's owned collector and returns the ordinary collection plus its compiler contribution. The existing source/input/runtime header remains a trusted launcher port. The fixture-only upgrade evidence seam is not qualification authority.
|
|
29
|
+
|
|
30
|
+
`stableDigest` binds original sources/input/settings, actual compiler/toolchain, artifacts and full selected layouts/validation. `exactDigest` additionally binds the actual randomized auxiliary inputs/outputs and exact qualification evidence. Repeated real compilation of nested namespace struct/enum/UDVT fixtures produced equal full selected layouts without type-ID normalization. Auxiliary raw digests must remain outside the future stable aggregate input hash. Evidence snapshots are contributions, not terminal input sealing, aggregate freeze or `release_ready`; those remain the subsequent aggregate stage.
|
|
31
|
+
|
|
32
|
+
This is a supported-runtime contract with ordinary before/after drift detection, not arbitrary JavaScript sandboxing or hostile same-process/concurrent-writer attestation. It sends no transaction. The localhost acceptance harness separately exercises actual preparation and existing fork/reuse behavior.
|
|
33
|
+
|
|
34
|
+
Production final preparation consumes the qualification plan's frozen
|
|
35
|
+
`derivedBindings.derivationSeed`; it retains a distinct executionId for locks,
|
|
36
|
+
records and recovery. This preserves CREATE2 implementation/proxy identities and
|
|
37
|
+
same-fork layout commitments without dropping them from compiler evidence or
|
|
38
|
+
relaxing final input-closure equality.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Configuration and runtime contributor v1
|
|
2
|
+
|
|
3
|
+
`gate-evm-tools/delivery-configuration` exports `openDeliveryConfiguration({ workspaceRoot, projectRoot, network })`. Call it in the project process **after** Hardhat and all environment extenders have initialized, with `delivery-hardhat` as the first runtime config import, and **before** compilation or planning. It retrieves the initialized project singleton and its owned bootstrap association internally. `network` selects a project-owned HTTP alias; it does not authorize a request, select an operator, validate a fork block, or authorize execution. Arbitrary positive safe EVM chain IDs require no GateTool catalog update.
|
|
4
|
+
|
|
5
|
+
The frozen snapshot is a contributor, not aggregate or release authority. `assertUnchanged()` rereads files and finite private capabilities. `seal()` is terminal and includes dependencies/modules first used during planning. Failure closes the owner; `close()` discards it. Only one runtime observer may be open per process. The outer collector must retain the actual handle and bind its result with business/source, compiler, custom-code, source-block/fork and plan/audit evidence. Copied evidence is not an owned session. `configurationRuntimeHash` excludes the compiler's randomized `exactDigest`; that exact association is retained separately in `compiler`. No compiler is invoked or job captured here.
|
|
6
|
+
|
|
7
|
+
## Finite source policy
|
|
8
|
+
|
|
9
|
+
Supported config source is one default object literal, or one `const` containing that object followed by its default export. A `HardhatUserConfig` type import, parentheses, `as` and `satisfies` are accepted. Extra executable statements, functions/calls, arbitrary bindings, computed/spread properties, dynamic settings, null, duplicate properties and unsupported fields are rejected. Runtime imports are ordered and limited to delivery-hardhat, the pinned ethers/chai-matchers plugins, and official OpenZeppelin upgrades. Delivery-hardhat must be first. Unknown environment/config/provider extenders are rejected, including additions after opening.
|
|
10
|
+
|
|
11
|
+
Top-level fields are `solidity`, `networks`, optional `defaultNetwork`, and optional `paths` (`sources`, `cache`, `artifacts`, `tests`). Paths must be confined project-relative paths, without links. Every reread rechecks the physical directory type and confinement of sources/cache/artifacts/tests; creating real directories is allowed, introducing links or files is not. Solidity supports a version string, a single compiler, or `compilers` and `overrides`. Complete static settings are retained: `optimizer`, `evmVersion`, `viaIR`, `outputSelection`, `metadata`, `libraries`, `remappings`, `debug`, and `stopAfter`. Unknown setting names are unsupported. Actual Hardhat 2.26.3 resolution supplies defaults and the verified actual official OZ config extender supplies storageLayout, including overrides. The entire effective config, including outputSelection, is compared, rather than projecting away unknown fields. No extender or resolver is rerun at closure.
|
|
12
|
+
|
|
13
|
+
HTTP fields are `chainId`, `from`, `gas`, `gasPrice`, `gasMultiplier`, `url`, `timeout`, `httpHeaders`, and `accounts`. Hardhat supplies actual pinned defaults (including localhost's distinct timeout). `gas`/`gasPrice` accept `auto` or a nonnegative safe integer. The v1 numeric adapter supports safe integers only; fractional gas multipliers are explicitly unsupported. Zero is retained where supported; chainId, blockGasLimit and gasMultiplier must be positive.
|
|
14
|
+
|
|
15
|
+
The local hardhat runner has a separate full policy. Supported fields are Hardhat 2.26.3's chainId/from/gas/gasPrice/gasMultiplier, hardfork, blockGasLimit, minGasPrice, initialBaseFeePerGas, mining (auto/interval/mempool order), accounts, failure flags, contract-size flag, timestamp flag, initialDate, loggingEnabled, forking, coinbase, chains/hardforkHistory, enableTransientStorage and enableRip7212. Unsupported fields and values are rejected; defaults come from the pinned installed resolver. Maps and bigint have explicit portable representations. The entire actual runner is checked even when the selected HTTP policy differs. An omitted initialDate is captured privately by bootstrap and checked at open/closure, while evidence records `startup-observation`. An explicitly configured date stays stable evidence. Fork URLs/headers and temporary endpoint ports remain private evaluated observations; their literal/env definitions and configured enabled/blockNumber policy are bound. This adapter currently requires any fork setup to correspond to the finite source definition. A future C-owned injection needs an owned association; arbitrary post-load runner mutation is rejected.
|
|
16
|
+
|
|
17
|
+
## Capabilities and provenance
|
|
18
|
+
|
|
19
|
+
URLs, private keys, mnemonic, passphrase, and header names/values are never serialized. Literal definitions use `sha256("gate-delivery-secret-definition@1\\0" + literal)`; environment descriptors retain the variable name; fallback trees retain the exact `||` or `??` operator. Dot and bracket env access are supported. Accounts distinguish omitted/remote, empty, key arrays and HD policies. Public HD policy contains derivation settings, not mnemonic/passphrase. The selected HTTP capability must be ready. Unused generated networks with empty fallback RPCs do not need secrets. Environment rotation across sessions preserves definition identity; changing capabilities inside an open session invalidates that session. Actual signer/operator validation stays a separate boundary.
|
|
20
|
+
|
|
21
|
+
Config and marker projections/digests use captured bytes. `.gate-template.json` is generation provenance, not a requirement that current files equal initial ownership hashes; later network edits and plugin insertion are supported. Marker input values, raw config, lock source URLs and host paths are not portable evidence. Boundary errors are sanitized and contain no nested I/O or parser diagnostics.
|
|
22
|
+
|
|
23
|
+
## Runtime association
|
|
24
|
+
|
|
25
|
+
The running installed GateTool directory must match the project's resolved configuration, bootstrap and workflow entries. Declared runtime version and digest are checked by recomputing the exact existing `write-runtime-package.mjs` JS/CJS algorithm. Separately, `regular-package-payload@1` binds the entire actual package payload (metadata/exports, boundary JSON, assets, declarations, runtime source, codec and code), excluding nested `node_modules`. This external evidence avoids a self-referential package manifest. Regular confined files only; links/nonregular files and outside-project package resolution are rejected.
|
|
26
|
+
|
|
27
|
+
Dependency closure is separate from GateTool payload. It reuses CompilerFiles' actual npm lock provenance, full regular-file payload and reviewed compiler/dependency pins unchanged. GateTool exemption is by the actual owned location, never metadata.name. Previously loaded CJS dependencies are recovered from actual cache child associations and literal requests. Initial computed cross-package requests must have a reconstructible logical package request resolving to that same child, otherwise the adapter rejects them. A private resolver observer records actual later issuer/request/result edges. A separate native-load guard rejects project runtime evaluation outside installed packages (except the exact owned Hardhat config-loading edge) and invalidates the owner even if the caller catches that rejection. Resolve-only lookups remain available to the existing bounded custom-module loader, whose evaluations retain their own byte-bound closure. Closure includes late modules and resolves recorded edges with a fresh positive path cache to reject a nearer dependency introduced after load. ESM compiler toolchain evidence remains with the existing compiler adapter; this contributor does not claim to replace its ESM/WASM observations or the bounded custom-module closure.
|
|
28
|
+
|
|
29
|
+
The actual staged codec loader verifies the existing provenance pin and source commit `2d729b6f7b4400cadbc0c53cb94a717673657de5`. Its owned observation binds the loaded `index.cjs`, `index.d.cts`, `provenance.json` and module-cache association and rereads them at closure. Caller codec versions cannot substitute for this observation.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# CREATE2 miner
|
|
2
|
+
|
|
3
|
+
The standalone `gate-evm-tools/create2-miner` API and `gate-tool miner` command prepare and verify vanity CREATE2 salts locally. They require **ethers v6** and Node.js >=22.13.0. The package's broader peer range also supports ethers v5 for legacy consumers, but this runtime entry point uses v6 APIs. No Hardhat runtime, RPC connection, signer, private key or deployment database is needed. Mining does not execute deployment, select/freeze delivery parameters, or change GateFlow's existing miner UI or call paths.
|
|
4
|
+
|
|
5
|
+
## API
|
|
6
|
+
|
|
7
|
+
Both CommonJS and ESM named imports are supported:
|
|
8
|
+
|
|
9
|
+
```js
|
|
10
|
+
const { normalizeCreate2MinerRequest, mineCreate2 } = require('gate-evm-tools/create2-miner');
|
|
11
|
+
// import { normalizeCreate2MinerRequest, mineCreate2 } from 'gate-evm-tools/create2-miner';
|
|
12
|
+
|
|
13
|
+
const request = normalizeCreate2MinerRequest({
|
|
14
|
+
factory: '0x0000000000000000000000000000000000000000',
|
|
15
|
+
caller: '0x0000000000000000000000000000000000000000',
|
|
16
|
+
initCodeHash: '0xbc36789e7a1e281436464229828f817d6612f7b477d66591ff96a9e064bcc98a',
|
|
17
|
+
leadingZeroBytes: 1,
|
|
18
|
+
backend: 'cpu',
|
|
19
|
+
});
|
|
20
|
+
const result = await mineCreate2(request, {
|
|
21
|
+
timeoutMs: 300000,
|
|
22
|
+
onProgress: ({ status, elapsedMs }) => console.error(status, elapsedMs),
|
|
23
|
+
});
|
|
24
|
+
console.log(result.results[0].salt, result.results[0].address);
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
A real verified response excerpt from the packaged arm64 CPU binary using the request above is shown below. Other identity and telemetry fields are omitted here; salts vary between runs.
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"scheme": "evm",
|
|
32
|
+
"backend": "cpu",
|
|
33
|
+
"status": "found",
|
|
34
|
+
"results": [
|
|
35
|
+
{
|
|
36
|
+
"salt": "0x00000000000000000000000000000000000000002f52c1140000000000000075",
|
|
37
|
+
"address": "0x00e5e275f3876045b18be60f7c7a24eaa5032ac2"
|
|
38
|
+
}
|
|
39
|
+
]
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
The exports are:
|
|
44
|
+
|
|
45
|
+
- `normalizeCreate2MinerRequest(input: unknown): NormalizedCreate2MinerRequest` validates unknown JSON, lowercases hex and fills defaults.
|
|
46
|
+
- `create2MinerRequestFromArtifact({scheme?, artifact, args, factory, caller, leadingZeroBytes?, leadingPattern?, targetCount?, backend?})` encodes constructor arguments through the existing workflow `canonicalCreate2Hashes`. EVM requires `hh-sol-artifact-1`; EraVM requires `hh-zksolc-artifact-1`. Bytecode must be non-empty, linked and byte-aligned; EraVM bytecode must also satisfy its word-length rules. `args` must be an array.
|
|
47
|
+
- `resolveCreate2MinerBinary({binaryPath?}?)` returns a checked absolute executable path.
|
|
48
|
+
- `verifyCreate2MinerResponse(request, response)` independently validates native output and returns the normalized response.
|
|
49
|
+
- `mineCreate2(request, {binaryPath?, signal?, timeoutMs?, onProgress?}?)` spawns, waits for exit, verifies, and returns a `Promise<Create2MinerResponse>`.
|
|
50
|
+
|
|
51
|
+
`Create2MinerRequest` is the typed caller input with optional default controls; `NormalizedCreate2MinerRequest` makes the defaults required. `Create2MinerResult`, `Create2MinerResponse` (also named `Create2MinerRunResult`), option, backend and progress types are also exported. Responses carry normalized request identity, the actual concrete backend (`cpu`, `metal`, or `opencl`), and verified results.
|
|
52
|
+
|
|
53
|
+
## Request and schemes
|
|
54
|
+
|
|
55
|
+
| Field | Rules |
|
|
56
|
+
| --- | --- |
|
|
57
|
+
| `scheme` | Defaults to `evm`; alternatively `zksync-eravm` |
|
|
58
|
+
| `factory` | Required 20-byte `0x` hex address, the CREATE2 deployer |
|
|
59
|
+
| `caller` | Required 20-byte `0x` hex address; the **first 20 salt bytes**, not necessarily the transaction sender |
|
|
60
|
+
| `initCodeHash` | EVM only; required 32-byte hash of init code including constructor arguments |
|
|
61
|
+
| `bytecodeHash`, `constructorInputHash` | EraVM only; required 32-byte hashes of zkSync bytecode and ABI-encoded constructor input respectively |
|
|
62
|
+
| `leadingZeroBytes` | Integer 0–20, default 0; the number of leading **bytes** matching `leadingPattern` |
|
|
63
|
+
| `leadingPattern` | Integer 0–255, default 0 |
|
|
64
|
+
| `targetCount` | Integer 1–100, default 1 |
|
|
65
|
+
| `backend` | `auto` (default), `cpu`, `gpu`, `metal`, or `opencl` |
|
|
66
|
+
|
|
67
|
+
Unknown fields, foreign scheme hashes, missing addresses, and invalid controls are rejected before spawning. `randomPrefix`, `startNonce` and the native `saltPrefix` alias are not exposed in this first API. The native miner chooses the four random salt bytes and eight nonce bytes. CPU supports any pattern byte. GPU requests (including `auto`) require a repeated-nibble pattern: `0x00`, `0x11`, …, `0xff`. The constraint applies even when `leadingZeroBytes` is zero. `auto` and `gpu` request Metal on macOS and OpenCL elsewhere; there is no silent CPU fallback. `metal` is rejected outside macOS. OpenCL requires a compatible build and available OpenCL runtime/device.
|
|
68
|
+
|
|
69
|
+
Verification does not trust `status: found`. It checks explicit batch/result identity, hash separation, exact result count, unique salts and addresses, salt caller/random/nonce fields, and the address pattern. It recalculates EVM CREATE2 against the requested factory and init-code hash, or EraVM `keccak256(keccak256("zksyncCreate2") || zeroPad(factory,32) || salt || bytecodeHash || constructorInputHash)[12:]`. Echoed hashes or addresses cannot change the requested identity.
|
|
70
|
+
|
|
71
|
+
Native metrics must be finite and nonnegative, but remain telemetry rather than cryptographic evidence. GPU `attempts: 0` and `hashRate: 0` mean unavailable metrics. Only `{status: 'running', elapsedMs}` is sent to `onProgress`; the binary offers no live attempt count or hash rate.
|
|
72
|
+
|
|
73
|
+
## Binaries and lifecycle
|
|
74
|
+
|
|
75
|
+
Resolution order is explicit `binaryPath`, then `GATE_TOOL_CREATE2_MINER_BIN`, then this package's `resources/create2/<platform>-<arch>/smartflow_miner`. Explicit and environment paths are user-trusted overrides; relative override paths resolve against the caller's current directory. An invalid override fails without fallback. Bundled resource lookup is relative to the installed package, never the current directory or an application checkout. No legacy application environment variables, downloads or postinstall step are used.
|
|
76
|
+
|
|
77
|
+
macOS arm64 and x64 are bundled with MIT license, hash pins and an honest provenance manifest. The existing binary build revision is unknown; the Rust source reference is not asserted to be its build revision. Linux and Windows require a compatible native `smartflow_miner` build supplied through an override. Runtime checks executable permissions and bundled SHA-256 pins before invocation. Runtime acceptance on an arm64 host covers arm64 execution; x64 hashes/permissions do not constitute an x64 execution test.
|
|
78
|
+
|
|
79
|
+
`timeoutMs` defaults to **300000 (5 minutes)** and must be an integer from 1 through 2147483647. Raise it for difficult vanity searches, especially several leading bytes; no finite timeout guarantees a match. An `AbortSignal` can cancel a run. A pre-aborted signal never spawns. Abort, timeout, progress callback errors and output limits terminate the child with SIGTERM then SIGKILL after a 250 ms grace period. The promise settles after the child is reaped, and all timers/listeners are cleared. Runs keep independent state and snapshot their normalized request before spawning.
|
|
80
|
+
|
|
81
|
+
The process receives JSON on stdin without a shell. Stdout is limited to 1 MiB and stderr to 64 KiB; excess output fails the run. Spawn, stdin, nonzero exit, malformed JSON and verification errors reject rather than returning partial results.
|
|
82
|
+
|
|
83
|
+
## CLI
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
gate-tool miner --request request.json --output result.json
|
|
87
|
+
gate-tool miner --request - --binary /absolute/path/smartflow_miner --timeout-ms 600000 < request.json
|
|
88
|
+
gate-tool miner --help
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
The request file contains the JSON shape above. Successful output is verified JSON on stdout; diagnostics go to stderr. `--output` additionally writes that JSON through a temporary file and atomic rename after verification. Mining, verification, and output errors before the atomic rename preserve existing output; cancellation before that commit also preserves it. The request file cannot also be the output (including symlink/hardlink aliases). SIGINT and SIGTERM cancel the run and produce a nonzero exit without success JSON, including during asynchronous output work. If a signal arrives during or after the atomic rename, the verified result may already have been saved; that commit cannot be rolled back. Stdin requests are limited to 1 MiB. `gate-tool miner` is routed before importing the legacy CLI.
|
|
92
|
+
|
|
93
|
+
## Focused verification
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
npm run build
|
|
97
|
+
node --test test/create2-miner*.test.mjs test/delivery-source-package.test.mjs test/runtime-version.test.mjs
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Tests use EIP-1014 example 0 and the installed zkSync SDK as independent address references, hostile child-process fixtures, an independently extracted npm package, CJS/ESM and TypeScript consumers, and actual CPU native execution for both schemes on a supported macOS host. GPU smoke is a separate hardware-dependent check.
|