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,72 @@
|
|
|
1
|
+
import { getAddress, Interface, isAddress } from "ethers";
|
|
2
|
+
const CONTROLLED_MULTICALL_INTERFACE = new Interface([
|
|
3
|
+
"function aggregate3(tuple(address target,bool allowFailure,bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)",
|
|
4
|
+
"function aggregate3Value(tuple(address target,bool allowFailure,uint256 value,bytes callData)[] calls) payable returns (tuple(bool success, bytes returnData)[] returnData)",
|
|
5
|
+
]);
|
|
6
|
+
const bigintValue = (value) => {
|
|
7
|
+
if (typeof value !== "string" || value.trim() === "")
|
|
8
|
+
throw new Error("transaction value must be explicit");
|
|
9
|
+
if (value === "0")
|
|
10
|
+
return 0n;
|
|
11
|
+
const parsed = BigInt(value);
|
|
12
|
+
if (parsed < 0n)
|
|
13
|
+
throw new Error("transaction value must be nonnegative");
|
|
14
|
+
return parsed;
|
|
15
|
+
};
|
|
16
|
+
const normalizeFactoryDeps = (input, label) => {
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
const output = [];
|
|
19
|
+
for (const [index, dependency] of input.entries()) {
|
|
20
|
+
if (!/^0x(?:[0-9a-fA-F]{2})+$/.test(dependency)) {
|
|
21
|
+
throw new Error(`${label}[${index}] must be non-empty byte-aligned bytecode`);
|
|
22
|
+
}
|
|
23
|
+
const normalized = dependency.toLowerCase();
|
|
24
|
+
if (seen.has(normalized))
|
|
25
|
+
continue;
|
|
26
|
+
seen.add(normalized);
|
|
27
|
+
output.push(normalized);
|
|
28
|
+
}
|
|
29
|
+
return output;
|
|
30
|
+
};
|
|
31
|
+
export const prepareControlledMulticallTransaction = (controlledMulticall, inputCalls, scheme = "evm") => {
|
|
32
|
+
if (scheme !== "evm" && scheme !== "zksync-eravm")
|
|
33
|
+
throw new Error("scheme must be evm or zksync-eravm");
|
|
34
|
+
if (!isAddress(controlledMulticall)) {
|
|
35
|
+
throw new Error("controlledMulticall must be an EVM address");
|
|
36
|
+
}
|
|
37
|
+
if (inputCalls.length === 0) {
|
|
38
|
+
throw new Error("controlled multicall requires at least one inner call");
|
|
39
|
+
}
|
|
40
|
+
if (scheme === "evm" && inputCalls.some((call) => call.factoryDeps !== undefined)) {
|
|
41
|
+
throw new Error("factoryDeps are only supported for zkSync transactions");
|
|
42
|
+
}
|
|
43
|
+
if (scheme === "zksync-eravm" && inputCalls.some((call) => call.factoryDeps === undefined)) {
|
|
44
|
+
throw new Error("every zkSync GateTool call must include factoryDeps");
|
|
45
|
+
}
|
|
46
|
+
const calls = inputCalls.map((call) => ({
|
|
47
|
+
target: getAddress(call.target),
|
|
48
|
+
allowFailure: false,
|
|
49
|
+
value: bigintValue(call.value).toString(10),
|
|
50
|
+
callData: call.data,
|
|
51
|
+
}));
|
|
52
|
+
const totalValue = calls.reduce((sum, call) => sum + BigInt(call.value), 0n);
|
|
53
|
+
const method = totalValue === 0n ? "aggregate3" : "aggregate3Value";
|
|
54
|
+
const encodedCalls = method === "aggregate3"
|
|
55
|
+
? calls.map(({ value: _value, ...call }) => call)
|
|
56
|
+
: calls;
|
|
57
|
+
const factoryDeps = scheme === "zksync-eravm"
|
|
58
|
+
? normalizeFactoryDeps(inputCalls.flatMap((call) => call.factoryDeps), "factoryDeps")
|
|
59
|
+
: undefined;
|
|
60
|
+
return {
|
|
61
|
+
target: getAddress(controlledMulticall),
|
|
62
|
+
value: totalValue.toString(10),
|
|
63
|
+
data: CONTROLLED_MULTICALL_INTERFACE.encodeFunctionData(method, [encodedCalls]),
|
|
64
|
+
operation: 0,
|
|
65
|
+
method,
|
|
66
|
+
calls,
|
|
67
|
+
...(scheme === "zksync-eravm"
|
|
68
|
+
? { scheme: "zksync-eravm", factoryDeps: factoryDeps }
|
|
69
|
+
: {}),
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=batch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../../src/core/preparation/batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,21 @@
|
|
|
1
|
+
import type { GateToolPreparationValidation } from './index.js';
|
|
1
2
|
import { ContractFactory } from 'ethers';
|
|
3
|
+
import { type StorageLayout } from '@openzeppelin/upgrades-core';
|
|
2
4
|
import type { GateToolArtifact } from './artifacts.js';
|
|
3
|
-
import type { GateToolNormalizedPreparationRequestV1,
|
|
4
|
-
interface EvmPreparationHre {
|
|
5
|
+
import type { GateToolAddressPolicy, GateToolNormalizedPreparationRequestV1, GateToolNormalizedProxyUpgradeRequestV1, GateToolDeploymentPlan, GateToolPreparationPlanV1, GateToolTransactionPlan } from './types.js';
|
|
6
|
+
export interface EvmPreparationHre {
|
|
5
7
|
network: {
|
|
6
8
|
name: string;
|
|
7
9
|
provider?: unknown;
|
|
8
10
|
};
|
|
11
|
+
config?: {
|
|
12
|
+
paths?: {
|
|
13
|
+
root?: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
9
16
|
artifacts: {
|
|
10
17
|
readArtifact(name: string): Promise<GateToolArtifact>;
|
|
18
|
+
getBuildInfo?: (name: string) => Promise<unknown>;
|
|
11
19
|
};
|
|
12
20
|
ethers: {
|
|
13
21
|
provider: {
|
|
@@ -25,15 +33,62 @@ interface EvmPreparationHre {
|
|
|
25
33
|
};
|
|
26
34
|
};
|
|
27
35
|
}
|
|
28
|
-
export
|
|
36
|
+
export type EvmUpgradeValidationEvidence = {
|
|
29
37
|
currentImplementation: string;
|
|
30
38
|
oldLayoutHash: string;
|
|
31
39
|
newLayoutHash: string;
|
|
40
|
+
} & ({
|
|
32
41
|
manifestDigest: string;
|
|
33
|
-
|
|
42
|
+
sameForkBaselineDigest?: never;
|
|
43
|
+
} | {
|
|
44
|
+
manifestDigest?: never;
|
|
45
|
+
sameForkBaselineDigest: string;
|
|
46
|
+
});
|
|
34
47
|
export interface EvmPreparationDependencies {
|
|
35
|
-
|
|
48
|
+
validation?: GateToolPreparationValidation;
|
|
49
|
+
/** Complete implementation/storage validation and evidence seam for adapter tests.
|
|
50
|
+
* Overrides must perform both safety checks; canonical prepareWorkflow always
|
|
51
|
+
* uses the official default validator and cannot override this via request data. */
|
|
52
|
+
loadUpgradeEvidence?: (hre: EvmPreparationHre, request: GateToolNormalizedProxyUpgradeRequestV1, factory: ContractFactory, validationOptions: Record<string, unknown>) => Promise<EvmUpgradeValidationEvidence>;
|
|
53
|
+
}
|
|
54
|
+
export interface TargetManifestEvidence {
|
|
55
|
+
layout: StorageLayout;
|
|
56
|
+
manifestDigest: string;
|
|
57
|
+
manifestFile: string;
|
|
36
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Resolve the project-owned target manifest and implementation layout.
|
|
61
|
+
*
|
|
62
|
+
* OpenZeppelin's Manifest.forNetwork intentionally uses a temporary manifest
|
|
63
|
+
* for Hardhat/Anvil forks and falls back to its parent network manifest. That
|
|
64
|
+
* is independent of this explicit target registry, and its `file` points at a temporary
|
|
65
|
+
* path. Native validation and evidence resolve the configured target manifest
|
|
66
|
+
* explicitly so its digest refers to the file used by the project.
|
|
67
|
+
*/
|
|
68
|
+
export declare const resolveTargetManifestEvidence: (input: {
|
|
69
|
+
root: string;
|
|
70
|
+
target: string;
|
|
71
|
+
chainId: number;
|
|
72
|
+
implementation: string;
|
|
73
|
+
}) => TargetManifestEvidence;
|
|
74
|
+
export declare const validateUpgradeAndLoadDefaultEvidence: (hre: EvmPreparationHre, request: GateToolNormalizedProxyUpgradeRequestV1, factory: ContractFactory, validationOptions: Record<string, unknown>, observation?: {
|
|
75
|
+
validation?: GateToolPreparationValidation;
|
|
76
|
+
artifact: GateToolArtifact;
|
|
77
|
+
}) => Promise<EvmUpgradeValidationEvidence>;
|
|
78
|
+
export declare const buildDeployment: (input: {
|
|
79
|
+
hre: EvmPreparationHre;
|
|
80
|
+
role: GateToolDeploymentPlan["role"];
|
|
81
|
+
artifact: GateToolArtifact;
|
|
82
|
+
constructorArgs: unknown[];
|
|
83
|
+
factory: string;
|
|
84
|
+
salt: string;
|
|
85
|
+
policy?: GateToolAddressPolicy;
|
|
86
|
+
validation?: GateToolPreparationValidation;
|
|
87
|
+
}) => Promise<{
|
|
88
|
+
deployment: GateToolDeploymentPlan;
|
|
89
|
+
initCode: string;
|
|
90
|
+
transaction?: GateToolTransactionPlan;
|
|
91
|
+
factory: ContractFactory;
|
|
92
|
+
}>;
|
|
37
93
|
export declare const prepareEvm: (hre: EvmPreparationHre, request: GateToolNormalizedPreparationRequestV1, dependencies?: EvmPreparationDependencies) => Promise<GateToolPreparationPlanV1>;
|
|
38
|
-
export {};
|
|
39
94
|
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EAKhB,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,YAAY,CAAC;AAEhE,OAAO,EAEL,eAAe,EAKhB,MAAM,QAAQ,CAAC;AAKhB,OAAO,EAA+C,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAK9G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAWvD,OAAO,KAAK,EACV,qBAAqB,EAErB,sCAAsC,EAGtC,uCAAuC,EACvC,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAapB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9C,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACvC,SAAS,EAAE;QAAE,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC;IACxH,MAAM,EAAE;QACN,QAAQ,EAAE;YACR,UAAU,IAAI,OAAO,CAAC;gBAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;aAAE,CAAC,CAAC;YAC7D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SAC3C,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,sBAAsB,CAAC,EAAE,CACvB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,CAAC,EAAE;YACR,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SAC5D,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,CAAC;IAAC,cAAc,EAAC,MAAM,CAAC;IAAC,sBAAsB,CAAC,EAAC,KAAK,CAAA;CAAC,GAAG;IAAC,cAAc,CAAC,EAAC,KAAK,CAAC;IAAC,sBAAsB,EAAC,MAAM,CAAA;CAAC,CAAC,CAAC;AAEtH,MAAM,WAAW,0BAA0B;IACzC,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAC3C;;wFAEoF;IACpF,mBAAmB,CAAC,EAAE,CACpB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,uCAAuC,EAChD,OAAO,EAAE,eAAe,EACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACvC,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B,GAAI,OAAO;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,KAAG,sBAuCH,CAAC;AAEF,eAAO,MAAM,qCAAqC,GAChD,KAAK,iBAAiB,EACtB,SAAS,uCAAuC,EAChD,SAAS,eAAe,EACxB,mBAAmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1C,cAAc;IAAE,UAAU,CAAC,EAAE,6BAA6B,CAAC;IAAC,QAAQ,EAAE,gBAAgB,CAAA;CAAE,KACvF,OAAO,CAAC,4BAA4B,CAsCtC,CAAC;AAoBF,eAAO,MAAM,eAAe,GAAU,OAAO;IAC3C,GAAG,EAAE,iBAAiB,CAAC;IACvB,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,UAAU,CAAC,EAAE,6BAA6B,CAAC;CAC5C,KAAG,OAAO,CAAC;IACV,UAAU,EAAE,sBAAsB,CAAC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,uBAAuB,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC;CAC1B,CAuDA,CAAC;AAsOF,eAAO,MAAM,UAAU,GACrB,KAAK,iBAAiB,EACtB,SAAS,sCAAsC,EAC/C,eAAc,0BAA+B,KAC5C,OAAO,CAAC,yBAAyB,CAanC,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import { prepareTransparent } from './transparent.js';
|
|
1
2
|
import { concat, ContractFactory, getAddress, getCreate2Address, Interface, keccak256, } from 'ethers';
|
|
2
3
|
import crypto from 'node:crypto';
|
|
3
4
|
import fs from 'node:fs';
|
|
4
|
-
import
|
|
5
|
+
import path from 'node:path';
|
|
5
6
|
import { getDeployData } from '@openzeppelin/hardhat-upgrades/dist/utils/deploy-impl.js';
|
|
7
|
+
import { assertUpgradeSafe, assertStorageUpgradeSafe } from '@openzeppelin/upgrades-core';
|
|
8
|
+
import { BytecodeChecker } from '../BytecodeChecker.js';
|
|
6
9
|
import { artifactIdentity, assertArtifactScheme } from './artifacts.js';
|
|
7
|
-
import {
|
|
10
|
+
import { hashPreparationRequest, normalizePreparationPlan, } from './normalize.js';
|
|
11
|
+
import { hashStorageLayout, readRegisteredTargetUpgradeState, parseTargetManifest, resolveTargetManifestPaths, } from './manifest.js';
|
|
8
12
|
const ERC1967_PROXY_ARTIFACT = '@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol:ERC1967Proxy';
|
|
9
13
|
const FACTORY_INTERFACE = new Interface([
|
|
10
14
|
'function deploy(bytes32 salt, bytes initCode, bytes data, uint256 create2ForwardValue, uint256 callForwardValue) payable returns (address)',
|
|
@@ -12,11 +16,56 @@ const FACTORY_INTERFACE = new Interface([
|
|
|
12
16
|
const UPGRADE_INTERFACE = new Interface([
|
|
13
17
|
'function upgradeToAndCall(address newImplementation, bytes data) payable',
|
|
14
18
|
]);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Resolve the project-owned target manifest and implementation layout.
|
|
21
|
+
*
|
|
22
|
+
* OpenZeppelin's Manifest.forNetwork intentionally uses a temporary manifest
|
|
23
|
+
* for Hardhat/Anvil forks and falls back to its parent network manifest. That
|
|
24
|
+
* is independent of this explicit target registry, and its `file` points at a temporary
|
|
25
|
+
* path. Native validation and evidence resolve the configured target manifest
|
|
26
|
+
* explicitly so its digest refers to the file used by the project.
|
|
27
|
+
*/
|
|
28
|
+
export const resolveTargetManifestEvidence = (input) => {
|
|
29
|
+
const paths = resolveTargetManifestPaths(input.root, input.target, input.chainId);
|
|
30
|
+
const canonicalExists = fs.existsSync(paths.file);
|
|
31
|
+
const fallbackExists = paths.fallbackFile !== paths.file && fs.existsSync(paths.fallbackFile);
|
|
32
|
+
if (canonicalExists && fallbackExists) {
|
|
33
|
+
throw new Error('OpenZeppelin canonical and fallback manifests are ambiguous');
|
|
34
|
+
}
|
|
35
|
+
const manifestFile = canonicalExists
|
|
36
|
+
? paths.file
|
|
37
|
+
: fallbackExists
|
|
38
|
+
? paths.fallbackFile
|
|
39
|
+
: undefined;
|
|
40
|
+
if (!manifestFile) {
|
|
41
|
+
throw new Error(`OpenZeppelin manifest is missing for target ${input.target}`);
|
|
42
|
+
}
|
|
43
|
+
const stat = fs.lstatSync(manifestFile);
|
|
44
|
+
if (stat.isSymbolicLink() || !stat.isFile()) {
|
|
45
|
+
throw new Error('OpenZeppelin manifest must be a regular file');
|
|
46
|
+
}
|
|
47
|
+
const bytes = fs.readFileSync(manifestFile);
|
|
48
|
+
const manifest = parseTargetManifest(bytes);
|
|
49
|
+
const implementation = input.implementation.toLowerCase();
|
|
50
|
+
const deployments = Object.values(manifest.impls).filter((entry) => {
|
|
51
|
+
if (!entry)
|
|
52
|
+
return false;
|
|
53
|
+
return [entry.address, ...(entry.allAddresses ?? [])]
|
|
54
|
+
.some((address) => address.toLowerCase() === implementation);
|
|
55
|
+
});
|
|
56
|
+
if (deployments.length > 1)
|
|
57
|
+
throw new Error('OpenZeppelin target implementation entries are ambiguous');
|
|
58
|
+
const deployment = deployments[0];
|
|
59
|
+
if (!deployment) {
|
|
60
|
+
throw new Error(`Deployment at address ${input.implementation} is not registered in target manifest ${input.target}`);
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
layout: deployment.layout,
|
|
64
|
+
manifestDigest: crypto.createHash('sha256').update(bytes).digest('hex'),
|
|
65
|
+
manifestFile: path.relative(path.resolve(input.root), manifestFile).split(path.sep).join('/'),
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export const validateUpgradeAndLoadDefaultEvidence = async (hre, request, factory, validationOptions, observation) => {
|
|
20
69
|
const getImplementationAddress = hre.upgrades?.erc1967?.getImplementationAddress;
|
|
21
70
|
if (!getImplementationAddress) {
|
|
22
71
|
throw new Error('OpenZeppelin ERC-1967 implementation lookup is required');
|
|
@@ -25,21 +74,32 @@ const loadDefaultUpgradeEvidence = async (hre, request, factory, validationOptio
|
|
|
25
74
|
throw new Error('Hardhat network provider is required');
|
|
26
75
|
const currentImplementation = await getImplementationAddress(request.proxy);
|
|
27
76
|
const deployData = await getDeployData(hre, factory, validationOptions);
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const hasFallback = manifest.fallbackFile !== manifest.file && fs.existsSync(manifest.fallbackFile);
|
|
32
|
-
if (hasCanonical && hasFallback) {
|
|
33
|
-
throw new Error('OpenZeppelin manifest canonical/fallback files are ambiguous');
|
|
77
|
+
const chainId = Number((await hre.ethers.provider.getNetwork()).chainId);
|
|
78
|
+
if (!Number.isSafeInteger(chainId) || chainId <= 0) {
|
|
79
|
+
throw new Error('provider chainId is invalid');
|
|
34
80
|
}
|
|
35
|
-
const
|
|
36
|
-
if (!
|
|
37
|
-
throw new Error('
|
|
81
|
+
const root = hre.config?.paths?.root;
|
|
82
|
+
if (!root)
|
|
83
|
+
throw new Error('Hardhat project root is required for OpenZeppelin manifest evidence');
|
|
84
|
+
const sameFork = await observation?.validation?.sameForkBaseline?.({ request, currentImplementation, chainId });
|
|
85
|
+
const manifestEvidence = sameFork ? undefined : readRegisteredTargetUpgradeState({
|
|
86
|
+
root,
|
|
87
|
+
target: request.target,
|
|
88
|
+
chainId,
|
|
89
|
+
proxy: request.proxy,
|
|
90
|
+
currentImplementation,
|
|
91
|
+
proxyKind: request.proxyKind,
|
|
92
|
+
});
|
|
93
|
+
const oldLayout = sameFork?.oldLayout ?? manifestEvidence.oldLayout;
|
|
94
|
+
assertUpgradeSafe(deployData.validations, deployData.version, deployData.fullOpts);
|
|
95
|
+
assertStorageUpgradeSafe(oldLayout, deployData.layout, deployData.fullOpts);
|
|
96
|
+
await observation?.validation?.deployData?.({ artifact: observation.artifact, factory, data: deployData, request, options: validationOptions,
|
|
97
|
+
baseline: { ...(sameFork ? { sameFork } : { state: manifestEvidence }), currentImplementation, chainId } });
|
|
38
98
|
return {
|
|
39
99
|
currentImplementation,
|
|
40
|
-
oldLayoutHash:
|
|
41
|
-
newLayoutHash:
|
|
42
|
-
manifestDigest:
|
|
100
|
+
oldLayoutHash: hashStorageLayout(oldLayout),
|
|
101
|
+
newLayoutHash: hashStorageLayout(deployData.layout),
|
|
102
|
+
...(sameFork ? { sameForkBaselineDigest: sameFork.digest } : { manifestDigest: manifestEvidence.digest }),
|
|
43
103
|
};
|
|
44
104
|
};
|
|
45
105
|
const assertAddressPolicy = (predictedAddress, policy, label) => {
|
|
@@ -54,8 +114,9 @@ const assertAddressPolicy = (predictedAddress, policy, label) => {
|
|
|
54
114
|
throw new Error(`${label} does not satisfy leadingZeroBytes=${policy.leadingZeroBytes}`);
|
|
55
115
|
}
|
|
56
116
|
};
|
|
57
|
-
const buildDeployment = async (input) => {
|
|
117
|
+
export const buildDeployment = async (input) => {
|
|
58
118
|
assertArtifactScheme(input.artifact, 'evm');
|
|
119
|
+
input.validation?.arguments(input.artifact, null, input.constructorArgs);
|
|
59
120
|
const factory = new ContractFactory(input.artifact.abi, input.artifact.bytecode);
|
|
60
121
|
const constructorInput = factory.interface.encodeDeploy(input.constructorArgs);
|
|
61
122
|
const initCode = concat([input.artifact.bytecode, constructorInput]);
|
|
@@ -72,8 +133,19 @@ const buildDeployment = async (input) => {
|
|
|
72
133
|
constructorInput,
|
|
73
134
|
initCodeHash,
|
|
74
135
|
};
|
|
75
|
-
if (status === 'reused')
|
|
136
|
+
if (status === 'reused') {
|
|
137
|
+
// Existence alone is not identity. Reuse must match compiled runtime; compiler
|
|
138
|
+
// immutable offsets are the only permitted runtime substitution evidence.
|
|
139
|
+
const checker = new BytecodeChecker(input.hre, {}, 'evm');
|
|
140
|
+
const local = await checker.getLocalBytecode(`${input.artifact.sourceName}:${input.artifact.contractName}`);
|
|
141
|
+
if (!input.artifact.deployedBytecode || input.artifact.deployedBytecode === '0x') {
|
|
142
|
+
throw new Error(`${input.role} reuse requires compiled runtime bytecode`);
|
|
143
|
+
}
|
|
144
|
+
const comparison = checker.compareBytecode(code, input.artifact.deployedBytecode, null, local.immutableReferences);
|
|
145
|
+
if (!comparison.matches)
|
|
146
|
+
throw new Error(`${input.role} reused runtime bytecode mismatch at ${predictedAddress}: ${comparison.reason}`);
|
|
76
147
|
return { deployment, initCode, factory };
|
|
148
|
+
}
|
|
77
149
|
const purpose = input.role === 'contract'
|
|
78
150
|
? 'deploy-contract'
|
|
79
151
|
: input.role === 'implementation'
|
|
@@ -99,9 +171,10 @@ const buildDeployment = async (input) => {
|
|
|
99
171
|
},
|
|
100
172
|
};
|
|
101
173
|
};
|
|
102
|
-
const preparePlain = async (hre, request, artifact) => {
|
|
174
|
+
const preparePlain = async (hre, request, artifact, dependencies) => {
|
|
103
175
|
const prepared = await buildDeployment({
|
|
104
176
|
hre,
|
|
177
|
+
validation: dependencies.validation,
|
|
105
178
|
role: 'contract',
|
|
106
179
|
artifact,
|
|
107
180
|
constructorArgs: request.constructorArgs,
|
|
@@ -144,7 +217,7 @@ const preparePlain = async (hre, request, artifact) => {
|
|
|
144
217
|
transactions,
|
|
145
218
|
});
|
|
146
219
|
};
|
|
147
|
-
const prepareUupsInitial = async (hre, request, artifact) => {
|
|
220
|
+
const prepareUupsInitial = async (hre, request, artifact, dependencies) => {
|
|
148
221
|
const implementationFactory = new ContractFactory(artifact.abi, artifact.bytecode);
|
|
149
222
|
const validateImplementation = hre.upgrades?.validateImplementation;
|
|
150
223
|
if (!validateImplementation) {
|
|
@@ -156,18 +229,27 @@ const prepareUupsInitial = async (hre, request, artifact) => {
|
|
|
156
229
|
};
|
|
157
230
|
if (request.unsafeAllow)
|
|
158
231
|
validationOptions.unsafeAllow = request.unsafeAllow;
|
|
159
|
-
|
|
232
|
+
if (dependencies.validation?.deployData) {
|
|
233
|
+
const data = await getDeployData(hre, implementationFactory, validationOptions);
|
|
234
|
+
assertUpgradeSafe(data.validations, data.version, data.fullOpts);
|
|
235
|
+
await dependencies.validation.deployData({ artifact, factory: implementationFactory, data, request, options: validationOptions });
|
|
236
|
+
}
|
|
237
|
+
else
|
|
238
|
+
await validateImplementation(implementationFactory, validationOptions);
|
|
160
239
|
const implementation = await buildDeployment({
|
|
161
240
|
hre,
|
|
241
|
+
validation: dependencies.validation,
|
|
162
242
|
role: 'implementation',
|
|
163
243
|
artifact,
|
|
164
244
|
constructorArgs: request.constructorArgs,
|
|
165
245
|
factory: request.factory,
|
|
166
246
|
salt: request.implementationSalt,
|
|
167
247
|
});
|
|
168
|
-
const
|
|
248
|
+
const rawProxyArtifact = await hre.artifacts.readArtifact(ERC1967_PROXY_ARTIFACT);
|
|
249
|
+
const proxyArtifact = dependencies.validation?.artifact(ERC1967_PROXY_ARTIFACT, rawProxyArtifact) ?? rawProxyArtifact;
|
|
169
250
|
const proxy = await buildDeployment({
|
|
170
251
|
hre,
|
|
252
|
+
validation: dependencies.validation,
|
|
171
253
|
role: 'proxy',
|
|
172
254
|
artifact: proxyArtifact,
|
|
173
255
|
constructorArgs: [request.placeholderImplementation, '0x'],
|
|
@@ -188,6 +270,8 @@ const prepareUupsInitial = async (hre, request, artifact) => {
|
|
|
188
270
|
throw new Error(`UUPS proxy current implementation ${currentImplementation} does not match predicted implementation ${implementation.deployment.address}`);
|
|
189
271
|
}
|
|
190
272
|
}
|
|
273
|
+
if (request.call)
|
|
274
|
+
dependencies.validation?.arguments(artifact, request.call.method, request.call.args);
|
|
191
275
|
const initData = request.call
|
|
192
276
|
? implementation.factory.interface.encodeFunctionData(request.call.method, request.call.args)
|
|
193
277
|
: '0x';
|
|
@@ -230,20 +314,16 @@ const prepareUupsInitial = async (hre, request, artifact) => {
|
|
|
230
314
|
};
|
|
231
315
|
const prepareUupsUpgrade = async (hre, request, artifact, dependencies) => {
|
|
232
316
|
const implementationFactory = new ContractFactory(artifact.abi, artifact.bytecode);
|
|
233
|
-
const validateUpgrade = hre.upgrades?.validateUpgrade;
|
|
234
|
-
if (!validateUpgrade) {
|
|
235
|
-
throw new Error('OpenZeppelin validateUpgrade is required for UUPS preparation');
|
|
236
|
-
}
|
|
237
317
|
const validationOptions = {
|
|
238
318
|
kind: 'uups',
|
|
239
319
|
constructorArgs: request.constructorArgs,
|
|
240
320
|
};
|
|
241
321
|
if (request.unsafeAllow)
|
|
242
322
|
validationOptions.unsafeAllow = request.unsafeAllow;
|
|
243
|
-
await
|
|
244
|
-
const evidence = await (dependencies.loadUpgradeEvidence ?? loadDefaultUpgradeEvidence)(hre, request, implementationFactory, validationOptions);
|
|
323
|
+
const evidence = await (dependencies.loadUpgradeEvidence ?? validateUpgradeAndLoadDefaultEvidence)(hre, request, implementationFactory, validationOptions, { validation: dependencies.validation, artifact });
|
|
245
324
|
const implementation = await buildDeployment({
|
|
246
325
|
hre,
|
|
326
|
+
validation: dependencies.validation,
|
|
247
327
|
role: 'implementation',
|
|
248
328
|
artifact,
|
|
249
329
|
constructorArgs: request.constructorArgs,
|
|
@@ -251,6 +331,8 @@ const prepareUupsUpgrade = async (hre, request, artifact, dependencies) => {
|
|
|
251
331
|
salt: request.implementationSalt,
|
|
252
332
|
policy: request.implementationAddressPolicy,
|
|
253
333
|
});
|
|
334
|
+
if (request.call)
|
|
335
|
+
dependencies.validation?.arguments(artifact, request.call.method, request.call.args);
|
|
254
336
|
const initData = request.call
|
|
255
337
|
? implementation.factory.interface.encodeFunctionData(request.call.method, request.call.args)
|
|
256
338
|
: '0x';
|
|
@@ -293,12 +375,18 @@ const prepareUupsUpgrade = async (hre, request, artifact, dependencies) => {
|
|
|
293
375
|
export const prepareEvm = async (hre, request, dependencies = {}) => {
|
|
294
376
|
if (request.scheme !== 'evm')
|
|
295
377
|
throw new Error('EVM adapter received a non-EVM request');
|
|
296
|
-
const
|
|
378
|
+
const rawArtifact = await hre.artifacts.readArtifact(request.contract);
|
|
379
|
+
const artifact = dependencies.validation?.artifact(request.contract, rawArtifact) ?? rawArtifact;
|
|
380
|
+
dependencies.validation?.arguments(artifact, null, request.constructorArgs);
|
|
381
|
+
if (request.kind !== "create2-deploy" && request.call)
|
|
382
|
+
dependencies.validation?.arguments(artifact, request.call.method, request.call.args);
|
|
297
383
|
assertArtifactScheme(artifact, 'evm');
|
|
298
384
|
if (request.kind === 'create2-deploy')
|
|
299
|
-
return preparePlain(hre, request, artifact);
|
|
385
|
+
return preparePlain(hre, request, artifact, dependencies);
|
|
386
|
+
if (request.kind === 'transparent-deploy' || request.kind === 'transparent-upgrade')
|
|
387
|
+
return prepareTransparent(hre, request, artifact, dependencies);
|
|
300
388
|
if (request.kind === 'uups-placeholder-deploy') {
|
|
301
|
-
return prepareUupsInitial(hre, request, artifact);
|
|
389
|
+
return prepareUupsInitial(hre, request, artifact, dependencies);
|
|
302
390
|
}
|
|
303
391
|
return prepareUupsUpgrade(hre, request, artifact, dependencies);
|
|
304
392
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../src/core/preparation/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type Provider } from 'ethers';
|
|
2
|
+
import { getDeployData } from '@openzeppelin/hardhat-upgrades/dist/utils/deploy-impl.js';
|
|
3
|
+
import type { HardhatRuntimeEnvironment } from 'hardhat/types';
|
|
4
|
+
import { type TargetManifestData } from './manifest.js';
|
|
5
|
+
export interface EvmManifestSyncOptions {
|
|
6
|
+
root?: string;
|
|
7
|
+
scheme: 'evm';
|
|
8
|
+
network: string;
|
|
9
|
+
target: string;
|
|
10
|
+
proxy: string;
|
|
11
|
+
proxyKind?: 'uups' | 'transparent';
|
|
12
|
+
proxyAdminAddress?: string;
|
|
13
|
+
proxyAdminOwner?: string;
|
|
14
|
+
contract: string;
|
|
15
|
+
constructorArgs?: unknown[];
|
|
16
|
+
unsafeAllow?: string[];
|
|
17
|
+
skipTxHash?: boolean;
|
|
18
|
+
/** May describe an upgrade; only a verified creation receipt can fill deployment txHash. */
|
|
19
|
+
transactionHash?: string;
|
|
20
|
+
hre: HardhatRuntimeEnvironment & {
|
|
21
|
+
ethers: {
|
|
22
|
+
provider: Pick<Provider, 'getNetwork' | 'getCode' | 'getTransactionReceipt'>;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
type Candidate = Awaited<ReturnType<typeof getDeployData>>;
|
|
27
|
+
export interface EvmManifestSyncDependencies {
|
|
28
|
+
loadCandidate?: typeof getDeployData;
|
|
29
|
+
assertImplementationSafe?: (candidate: Candidate) => void;
|
|
30
|
+
}
|
|
31
|
+
/** Explicit project/target registry sync. Never calls Manifest.forNetwork or forceImport. */
|
|
32
|
+
export declare const prepareEvmManifestCandidate: (options: EvmManifestSyncOptions & {
|
|
33
|
+
compile?: boolean;
|
|
34
|
+
}, dependencies?: EvmManifestSyncDependencies) => Promise<{
|
|
35
|
+
deploymentTxHash?: string | undefined;
|
|
36
|
+
root: string;
|
|
37
|
+
paths: import("./manifest.js").TargetManifestPaths;
|
|
38
|
+
chainId: number;
|
|
39
|
+
proxy: string;
|
|
40
|
+
proxyKind: "uups" | "transparent";
|
|
41
|
+
implementation: string;
|
|
42
|
+
artifact: import("./types.js").GateToolArtifactIdentity;
|
|
43
|
+
versionKey: string;
|
|
44
|
+
layout: import("@openzeppelin/upgrades-core").StorageLayout;
|
|
45
|
+
layoutHash: string;
|
|
46
|
+
}>;
|
|
47
|
+
export type EvmManifestCandidate = Awaited<ReturnType<typeof prepareEvmManifestCandidate>>;
|
|
48
|
+
/** Pure merge, shared by legacy sync and the delivery multi-file journal. */
|
|
49
|
+
export declare function mergeEvmManifestCandidate(current: TargetManifestData, candidate: Pick<EvmManifestCandidate, 'versionKey' | 'proxy' | 'implementation' | 'layout' | 'layoutHash'> & {
|
|
50
|
+
deploymentTxHash?: string;
|
|
51
|
+
proxyKind?: 'uups' | 'transparent';
|
|
52
|
+
}): TargetManifestData;
|
|
53
|
+
export declare const syncEvmManifest: (options: EvmManifestSyncOptions, dependencies?: EvmManifestSyncDependencies) => Promise<{
|
|
54
|
+
manifestTransaction: import("../../utils/manifestTransaction.js").ManifestTransactionReport;
|
|
55
|
+
syncReport: string;
|
|
56
|
+
scheme: "evm";
|
|
57
|
+
network: string;
|
|
58
|
+
target: string;
|
|
59
|
+
chainId: string;
|
|
60
|
+
proxy: string;
|
|
61
|
+
implementation: string;
|
|
62
|
+
artifact: import("./types.js").GateToolArtifactIdentity;
|
|
63
|
+
layoutHash: string;
|
|
64
|
+
manifestDigest: string;
|
|
65
|
+
manifestFile: string;
|
|
66
|
+
}>;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=evmManifestSync.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evmManifestSync.d.ts","sourceRoot":"","sources":["../../../src/core/preparation/evmManifestSync.ts"],"names":[],"mappings":"AAGA,OAAO,EAA+B,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0DAA0D,CAAC;AAEzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAK/D,OAAO,EAAsE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAG5H,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,4FAA4F;IAC5F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,yBAAyB,GAAG;QAC/B,MAAM,EAAE;YAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,uBAAuB,CAAC,CAAA;SAAE,CAAC;KAC1F,CAAC;CACH;AAED,KAAK,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAC3D,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,wBAAwB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;CAC3D;AAUD,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,GACtC,SAAS,sBAAsB,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACvD,eAAc,2BAAgC;;;;;;;;;;;;EA8D/C,CAAC;AACF,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC;AAC3F,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAC,IAAI,CAAC,oBAAoB,EAAC,YAAY,GAAC,OAAO,GAAC,gBAAgB,GAAC,QAAQ,GAAC,YAAY,CAAC,GAAC;IAAC,gBAAgB,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,GAAC,aAAa,CAAA;CAAC,GAAE,kBAAkB,CAsBpP;AACD,eAAO,MAAM,eAAe,GAAU,SAAQ,sBAAsB,EAAE,eAAa,2BAA8B;;;;;;;;;;;;;EAkChH,CAAC"}
|