@0xsequence/catapult 1.1.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/.eslintrc.json +29 -0
- package/.github/workflows/ci.yml +181 -0
- package/CONCEPT.md +24 -0
- package/README.md +772 -0
- package/contracts/checked-call.huff +65 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +16 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/common.d.ts +11 -0
- package/dist/commands/common.d.ts.map +1 -0
- package/dist/commands/common.js +73 -0
- package/dist/commands/common.js.map +1 -0
- package/dist/commands/dry.d.ts +3 -0
- package/dist/commands/dry.d.ts.map +1 -0
- package/dist/commands/dry.js +171 -0
- package/dist/commands/dry.js.map +1 -0
- package/dist/commands/etherscan.d.ts +3 -0
- package/dist/commands/etherscan.d.ts.map +1 -0
- package/dist/commands/etherscan.js +323 -0
- package/dist/commands/etherscan.js.map +1 -0
- package/dist/commands/index.d.ts +6 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +22 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +259 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/run.d.ts +3 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +96 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/utils.d.ts +3 -0
- package/dist/commands/utils.d.ts.map +1 -0
- package/dist/commands/utils.js +46 -0
- package/dist/commands/utils.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/__tests__/deployer-events.spec.d.ts +2 -0
- package/dist/lib/__tests__/deployer-events.spec.d.ts.map +1 -0
- package/dist/lib/__tests__/deployer-events.spec.js +260 -0
- package/dist/lib/__tests__/deployer-events.spec.js.map +1 -0
- package/dist/lib/__tests__/deployer.spec.d.ts +2 -0
- package/dist/lib/__tests__/deployer.spec.d.ts.map +1 -0
- package/dist/lib/__tests__/deployer.spec.js +884 -0
- package/dist/lib/__tests__/deployer.spec.js.map +1 -0
- package/dist/lib/__tests__/network-utils.spec.d.ts +2 -0
- package/dist/lib/__tests__/network-utils.spec.d.ts.map +1 -0
- package/dist/lib/__tests__/network-utils.spec.js +140 -0
- package/dist/lib/__tests__/network-utils.spec.js.map +1 -0
- package/dist/lib/contracts/__tests__/repository.spec.d.ts +2 -0
- package/dist/lib/contracts/__tests__/repository.spec.d.ts.map +1 -0
- package/dist/lib/contracts/__tests__/repository.spec.js +321 -0
- package/dist/lib/contracts/__tests__/repository.spec.js.map +1 -0
- package/dist/lib/contracts/repository.d.ts +27 -0
- package/dist/lib/contracts/repository.d.ts.map +1 -0
- package/dist/lib/contracts/repository.js +241 -0
- package/dist/lib/contracts/repository.js.map +1 -0
- package/dist/lib/core/__tests__/engine.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/engine.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/engine.spec.js +1212 -0
- package/dist/lib/core/__tests__/engine.spec.js.map +1 -0
- package/dist/lib/core/__tests__/graph.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/graph.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/graph.spec.js +116 -0
- package/dist/lib/core/__tests__/graph.spec.js.map +1 -0
- package/dist/lib/core/__tests__/json-integration.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/json-integration.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/json-integration.spec.js +300 -0
- package/dist/lib/core/__tests__/json-integration.spec.js.map +1 -0
- package/dist/lib/core/__tests__/loader.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/loader.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/loader.spec.js +288 -0
- package/dist/lib/core/__tests__/loader.spec.js.map +1 -0
- package/dist/lib/core/__tests__/multi-platform-verification.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/multi-platform-verification.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/multi-platform-verification.spec.js +342 -0
- package/dist/lib/core/__tests__/multi-platform-verification.spec.js.map +1 -0
- package/dist/lib/core/__tests__/resolver.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/resolver.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/resolver.spec.js +1367 -0
- package/dist/lib/core/__tests__/resolver.spec.js.map +1 -0
- package/dist/lib/core/__tests__/static-action.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/static-action.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/static-action.spec.js +136 -0
- package/dist/lib/core/__tests__/static-action.spec.js.map +1 -0
- package/dist/lib/core/context.d.ts +29 -0
- package/dist/lib/core/context.d.ts.map +1 -0
- package/dist/lib/core/context.js +88 -0
- package/dist/lib/core/context.js.map +1 -0
- package/dist/lib/core/engine.d.ts +25 -0
- package/dist/lib/core/engine.d.ts.map +1 -0
- package/dist/lib/core/engine.js +1191 -0
- package/dist/lib/core/engine.js.map +1 -0
- package/dist/lib/core/graph.d.ts +18 -0
- package/dist/lib/core/graph.d.ts.map +1 -0
- package/dist/lib/core/graph.js +158 -0
- package/dist/lib/core/graph.js.map +1 -0
- package/dist/lib/core/loader.d.ts +25 -0
- package/dist/lib/core/loader.d.ts.map +1 -0
- package/dist/lib/core/loader.js +248 -0
- package/dist/lib/core/loader.js.map +1 -0
- package/dist/lib/core/resolver.d.ts +20 -0
- package/dist/lib/core/resolver.d.ts.map +1 -0
- package/dist/lib/core/resolver.js +307 -0
- package/dist/lib/core/resolver.js.map +1 -0
- package/dist/lib/deployer.d.ts +39 -0
- package/dist/lib/deployer.d.ts.map +1 -0
- package/dist/lib/deployer.js +533 -0
- package/dist/lib/deployer.js.map +1 -0
- package/dist/lib/events/__tests__/event-system.spec.d.ts +2 -0
- package/dist/lib/events/__tests__/event-system.spec.d.ts.map +1 -0
- package/dist/lib/events/__tests__/event-system.spec.js +256 -0
- package/dist/lib/events/__tests__/event-system.spec.js.map +1 -0
- package/dist/lib/events/cli-adapter.d.ts +13 -0
- package/dist/lib/events/cli-adapter.d.ts.map +1 -0
- package/dist/lib/events/cli-adapter.js +244 -0
- package/dist/lib/events/cli-adapter.js.map +1 -0
- package/dist/lib/events/emitter.d.ts +11 -0
- package/dist/lib/events/emitter.d.ts.map +1 -0
- package/dist/lib/events/emitter.js +29 -0
- package/dist/lib/events/emitter.js.map +1 -0
- package/dist/lib/events/index.d.ts +4 -0
- package/dist/lib/events/index.d.ts.map +1 -0
- package/dist/lib/events/index.js +20 -0
- package/dist/lib/events/index.js.map +1 -0
- package/dist/lib/events/types.d.ts +368 -0
- package/dist/lib/events/types.d.ts.map +1 -0
- package/dist/lib/events/types.js +3 -0
- package/dist/lib/events/types.js.map +1 -0
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +44 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/network-loader.d.ts +3 -0
- package/dist/lib/network-loader.d.ts.map +1 -0
- package/dist/lib/network-loader.js +80 -0
- package/dist/lib/network-loader.js.map +1 -0
- package/dist/lib/network-match.d.ts +3 -0
- package/dist/lib/network-match.d.ts.map +1 -0
- package/dist/lib/network-match.js +62 -0
- package/dist/lib/network-match.js.map +1 -0
- package/dist/lib/network-utils.d.ts +4 -0
- package/dist/lib/network-utils.d.ts.map +1 -0
- package/dist/lib/network-utils.js +39 -0
- package/dist/lib/network-utils.js.map +1 -0
- package/dist/lib/parsers/__tests__/buildinfo.spec.d.ts +2 -0
- package/dist/lib/parsers/__tests__/buildinfo.spec.d.ts.map +1 -0
- package/dist/lib/parsers/__tests__/buildinfo.spec.js +132 -0
- package/dist/lib/parsers/__tests__/buildinfo.spec.js.map +1 -0
- package/dist/lib/parsers/__tests__/job.spec.d.ts +2 -0
- package/dist/lib/parsers/__tests__/job.spec.d.ts.map +1 -0
- package/dist/lib/parsers/__tests__/job.spec.js +318 -0
- package/dist/lib/parsers/__tests__/job.spec.js.map +1 -0
- package/dist/lib/parsers/__tests__/template.spec.d.ts +2 -0
- package/dist/lib/parsers/__tests__/template.spec.d.ts.map +1 -0
- package/dist/lib/parsers/__tests__/template.spec.js +126 -0
- package/dist/lib/parsers/__tests__/template.spec.js.map +1 -0
- package/dist/lib/parsers/artifact/__tests__/artifact.spec.d.ts +2 -0
- package/dist/lib/parsers/artifact/__tests__/artifact.spec.d.ts.map +1 -0
- package/dist/lib/parsers/artifact/__tests__/artifact.spec.js +128 -0
- package/dist/lib/parsers/artifact/__tests__/artifact.spec.js.map +1 -0
- package/dist/lib/parsers/artifact/foundry-1.2.d.ts +3 -0
- package/dist/lib/parsers/artifact/foundry-1.2.d.ts.map +1 -0
- package/dist/lib/parsers/artifact/foundry-1.2.js +82 -0
- package/dist/lib/parsers/artifact/foundry-1.2.js.map +1 -0
- package/dist/lib/parsers/artifact/index.d.ts +3 -0
- package/dist/lib/parsers/artifact/index.d.ts.map +1 -0
- package/dist/lib/parsers/artifact/index.js +17 -0
- package/dist/lib/parsers/artifact/index.js.map +1 -0
- package/dist/lib/parsers/artifact/types.d.ts +3 -0
- package/dist/lib/parsers/artifact/types.d.ts.map +1 -0
- package/dist/lib/parsers/artifact/types.js +3 -0
- package/dist/lib/parsers/artifact/types.js.map +1 -0
- package/dist/lib/parsers/buildinfo.d.ts +5 -0
- package/dist/lib/parsers/buildinfo.d.ts.map +1 -0
- package/dist/lib/parsers/buildinfo.js +85 -0
- package/dist/lib/parsers/buildinfo.js.map +1 -0
- package/dist/lib/parsers/constants.d.ts +4 -0
- package/dist/lib/parsers/constants.d.ts.map +1 -0
- package/dist/lib/parsers/constants.js +45 -0
- package/dist/lib/parsers/constants.js.map +1 -0
- package/dist/lib/parsers/index.d.ts +5 -0
- package/dist/lib/parsers/index.d.ts.map +1 -0
- package/dist/lib/parsers/index.js +21 -0
- package/dist/lib/parsers/index.js.map +1 -0
- package/dist/lib/parsers/job.d.ts +3 -0
- package/dist/lib/parsers/job.d.ts.map +1 -0
- package/dist/lib/parsers/job.js +74 -0
- package/dist/lib/parsers/job.js.map +1 -0
- package/dist/lib/parsers/template.d.ts +3 -0
- package/dist/lib/parsers/template.d.ts.map +1 -0
- package/dist/lib/parsers/template.js +91 -0
- package/dist/lib/parsers/template.js.map +1 -0
- package/dist/lib/std/templates/assured-deployment.yaml +45 -0
- package/dist/lib/std/templates/erc-2470.yaml +67 -0
- package/dist/lib/std/templates/min-balance.yaml +32 -0
- package/dist/lib/std/templates/nano-universal-deployer.yaml +59 -0
- package/dist/lib/std/templates/raw-erc-2470.yaml +59 -0
- package/dist/lib/std/templates/raw-nano-universal-deployer.yaml +51 -0
- package/dist/lib/std/templates/raw-sequence-universal-deployer-2.yaml +48 -0
- package/dist/lib/std/templates/sequence-universal-deployer-2.yaml +57 -0
- package/dist/lib/types/__tests__/json-request-action.spec.d.ts +2 -0
- package/dist/lib/types/__tests__/json-request-action.spec.d.ts.map +1 -0
- package/dist/lib/types/__tests__/json-request-action.spec.js +219 -0
- package/dist/lib/types/__tests__/json-request-action.spec.js.map +1 -0
- package/dist/lib/types/__tests__/read-json-value.spec.d.ts +2 -0
- package/dist/lib/types/__tests__/read-json-value.spec.d.ts.map +1 -0
- package/dist/lib/types/__tests__/read-json-value.spec.js +233 -0
- package/dist/lib/types/__tests__/read-json-value.spec.js.map +1 -0
- package/dist/lib/types/actions.d.ts +74 -0
- package/dist/lib/types/actions.d.ts.map +1 -0
- package/dist/lib/types/actions.js +18 -0
- package/dist/lib/types/actions.js.map +1 -0
- package/dist/lib/types/artifacts.d.ts +15 -0
- package/dist/lib/types/artifacts.d.ts.map +1 -0
- package/dist/lib/types/artifacts.js +3 -0
- package/dist/lib/types/artifacts.js.map +1 -0
- package/dist/lib/types/buildinfo.d.ts +112 -0
- package/dist/lib/types/buildinfo.d.ts.map +1 -0
- package/dist/lib/types/buildinfo.js +3 -0
- package/dist/lib/types/buildinfo.js.map +1 -0
- package/dist/lib/types/conditions.d.ts +17 -0
- package/dist/lib/types/conditions.d.ts.map +1 -0
- package/dist/lib/types/conditions.js +21 -0
- package/dist/lib/types/conditions.js.map +1 -0
- package/dist/lib/types/contracts.d.ts +14 -0
- package/dist/lib/types/contracts.d.ts.map +1 -0
- package/dist/lib/types/contracts.js +3 -0
- package/dist/lib/types/contracts.js.map +1 -0
- package/dist/lib/types/definitions.d.ts +51 -0
- package/dist/lib/types/definitions.d.ts.map +1 -0
- package/dist/lib/types/definitions.js +3 -0
- package/dist/lib/types/definitions.js.map +1 -0
- package/dist/lib/types/index.d.ts +9 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +25 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/network.d.ts +9 -0
- package/dist/lib/types/network.d.ts.map +1 -0
- package/dist/lib/types/network.js +3 -0
- package/dist/lib/types/network.js.map +1 -0
- package/dist/lib/types/project.d.ts +5 -0
- package/dist/lib/types/project.d.ts.map +1 -0
- package/dist/lib/types/project.js +3 -0
- package/dist/lib/types/project.js.map +1 -0
- package/dist/lib/types/task.d.ts +9 -0
- package/dist/lib/types/task.d.ts.map +1 -0
- package/dist/lib/types/task.js +3 -0
- package/dist/lib/types/task.js.map +1 -0
- package/dist/lib/types/values.d.ts +78 -0
- package/dist/lib/types/values.d.ts.map +1 -0
- package/dist/lib/types/values.js +3 -0
- package/dist/lib/types/values.js.map +1 -0
- package/dist/lib/utils/validation.d.ts +5 -0
- package/dist/lib/utils/validation.d.ts.map +1 -0
- package/dist/lib/utils/validation.js +77 -0
- package/dist/lib/utils/validation.js.map +1 -0
- package/dist/lib/validation/contract-references.d.ts +12 -0
- package/dist/lib/validation/contract-references.d.ts.map +1 -0
- package/dist/lib/validation/contract-references.js +112 -0
- package/dist/lib/validation/contract-references.js.map +1 -0
- package/dist/lib/validation/index.d.ts +1 -0
- package/dist/lib/validation/index.d.ts.map +1 -0
- package/dist/lib/validation/index.js +2 -0
- package/dist/lib/validation/index.js.map +1 -0
- package/dist/lib/verification/__tests__/etherscan.spec.d.ts +2 -0
- package/dist/lib/verification/__tests__/etherscan.spec.d.ts.map +1 -0
- package/dist/lib/verification/__tests__/etherscan.spec.js +565 -0
- package/dist/lib/verification/__tests__/etherscan.spec.js.map +1 -0
- package/dist/lib/verification/__tests__/sourcify.spec.d.ts +2 -0
- package/dist/lib/verification/__tests__/sourcify.spec.d.ts.map +1 -0
- package/dist/lib/verification/__tests__/sourcify.spec.js +212 -0
- package/dist/lib/verification/__tests__/sourcify.spec.js.map +1 -0
- package/dist/lib/verification/etherscan.d.ts +56 -0
- package/dist/lib/verification/etherscan.d.ts.map +1 -0
- package/dist/lib/verification/etherscan.js +340 -0
- package/dist/lib/verification/etherscan.js.map +1 -0
- package/dist/lib/verification/sourcify.d.ts +12 -0
- package/dist/lib/verification/sourcify.d.ts.map +1 -0
- package/dist/lib/verification/sourcify.js +227 -0
- package/dist/lib/verification/sourcify.js.map +1 -0
- package/eslint.config.js +48 -0
- package/examples/jobs/guards-v1.yaml +17 -0
- package/examples/jobs/sequence-seq-0001-patch.yaml +59 -0
- package/examples/jobs/sequence-v1.yaml +59 -0
- package/examples/templates/sequence-factory-v1.yaml +56 -0
- package/jest.config.js +25 -0
- package/package.json +68 -0
- package/src/cli.ts +17 -0
- package/src/commands/common.ts +61 -0
- package/src/commands/dry.ts +208 -0
- package/src/commands/etherscan.ts +360 -0
- package/src/commands/index.ts +5 -0
- package/src/commands/list.ts +249 -0
- package/src/commands/run.ts +136 -0
- package/src/commands/utils.ts +52 -0
- package/src/index.ts +67 -0
- package/src/lib/__tests__/deployer-events.spec.ts +338 -0
- package/src/lib/__tests__/deployer.spec.ts +1204 -0
- package/src/lib/__tests__/network-utils.spec.ts +181 -0
- package/src/lib/artifacts/__tests__/fixtures/contract1.json +19 -0
- package/src/lib/artifacts/__tests__/fixtures/contract2.json +19 -0
- package/src/lib/artifacts/__tests__/fixtures/duplicate-name.json +19 -0
- package/src/lib/artifacts/__tests__/fixtures/nested/nested-contract.json +18 -0
- package/src/lib/artifacts/__tests__/fixtures/not-an-artifact.json +8 -0
- package/src/lib/artifacts/__tests__/fixtures/readme.txt +2 -0
- package/src/lib/contracts/__tests__/repository.spec.ts +344 -0
- package/src/lib/contracts/repository.ts +313 -0
- package/src/lib/core/__tests__/engine.spec.ts +1514 -0
- package/src/lib/core/__tests__/graph.spec.ts +125 -0
- package/src/lib/core/__tests__/json-integration.spec.ts +360 -0
- package/src/lib/core/__tests__/loader.spec.ts +334 -0
- package/src/lib/core/__tests__/multi-platform-verification.spec.ts +406 -0
- package/src/lib/core/__tests__/resolver.spec.ts +1693 -0
- package/src/lib/core/__tests__/static-action.spec.ts +172 -0
- package/src/lib/core/context.ts +127 -0
- package/src/lib/core/engine.ts +1531 -0
- package/src/lib/core/graph.ts +252 -0
- package/src/lib/core/loader.ts +263 -0
- package/src/lib/core/resolver.ts +498 -0
- package/src/lib/deployer.ts +768 -0
- package/src/lib/events/__tests__/event-system.spec.ts +343 -0
- package/src/lib/events/cli-adapter.ts +325 -0
- package/src/lib/events/emitter.ts +62 -0
- package/src/lib/events/index.ts +3 -0
- package/src/lib/events/types.ts +469 -0
- package/src/lib/index.ts +14 -0
- package/src/lib/network-loader.ts +59 -0
- package/src/lib/network-utils.ts +64 -0
- package/src/lib/parsers/__tests__/buildinfo.spec.ts +122 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-bytecode-buildinfo.json +62 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-json.txt +2 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/multi-contract-buildinfo.json +89 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/no-contracts-buildinfo.json +17 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/simple-buildinfo.json +63 -0
- package/src/lib/parsers/__tests__/fixtures/buildinfo/wrong-format.json +4 -0
- package/src/lib/parsers/__tests__/job.spec.ts +335 -0
- package/src/lib/parsers/__tests__/template.spec.ts +111 -0
- package/src/lib/parsers/artifact/__tests__/artifact.spec.ts +117 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/empty-bytecode.json +5 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/hardhat-artifact.json +67 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/invalid-bytecode.json +5 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/invalid-json.txt +11 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/minimal-artifact.json +5 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-abi.json +4 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-bytecode.json +11 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-contract-name.json +11 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/simple-artifact.json +40 -0
- package/src/lib/parsers/artifact/__tests__/fixtures/wrong-types.json +7 -0
- package/src/lib/parsers/artifact/foundry-1.2.ts +72 -0
- package/src/lib/parsers/artifact/index.ts +27 -0
- package/src/lib/parsers/artifact/types.ts +9 -0
- package/src/lib/parsers/buildinfo.ts +127 -0
- package/src/lib/parsers/constants.ts +56 -0
- package/src/lib/parsers/index.ts +5 -0
- package/src/lib/parsers/job.ts +101 -0
- package/src/lib/parsers/template.ts +131 -0
- package/src/lib/std/templates/assured-deployment.yaml +45 -0
- package/src/lib/std/templates/erc-2470.yaml +67 -0
- package/src/lib/std/templates/min-balance.yaml +32 -0
- package/src/lib/std/templates/nano-universal-deployer.yaml +59 -0
- package/src/lib/std/templates/raw-erc-2470.yaml +59 -0
- package/src/lib/std/templates/raw-nano-universal-deployer.yaml +51 -0
- package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +48 -0
- package/src/lib/std/templates/sequence-universal-deployer-2.yaml +57 -0
- package/src/lib/types/__tests__/json-request-action.spec.ts +243 -0
- package/src/lib/types/__tests__/read-json-value.spec.ts +264 -0
- package/src/lib/types/actions.ts +127 -0
- package/src/lib/types/artifacts.ts +21 -0
- package/src/lib/types/buildinfo.ts +116 -0
- package/src/lib/types/conditions.ts +50 -0
- package/src/lib/types/contracts.ts +23 -0
- package/src/lib/types/definitions.ts +68 -0
- package/src/lib/types/index.ts +8 -0
- package/src/lib/types/network.ts +22 -0
- package/src/lib/types/project.ts +9 -0
- package/src/lib/types/task.ts +9 -0
- package/src/lib/types/values.ts +116 -0
- package/src/lib/utils/validation.ts +116 -0
- package/src/lib/validation/contract-references.ts +210 -0
- package/src/lib/validation/index.ts +1 -0
- package/src/lib/verification/__tests__/etherscan.spec.ts +710 -0
- package/src/lib/verification/__tests__/sourcify.spec.ts +288 -0
- package/src/lib/verification/etherscan.ts +546 -0
- package/src/lib/verification/sourcify.ts +248 -0
- package/test_validation/artifacts/TestContract.json +9 -0
- package/test_validation/jobs/test-missing.yaml +16 -0
- package/test_validation/networks.yaml +3 -0
- package/tsconfig.json +36 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#define macro MAIN() = takes(0) returns(0) {
|
|
2
|
+
// Check if a contract is already deployed at the target address.
|
|
3
|
+
// The target address is derived from arguments in bytecode (this is a constructor).
|
|
4
|
+
|
|
5
|
+
// Initial Stack: []
|
|
6
|
+
// copy all code to memory
|
|
7
|
+
codesize // [<codesize>]
|
|
8
|
+
returndatasize // [0x00, <codesize>]
|
|
9
|
+
dup1 // [0x00, 0x00, <codesize>]
|
|
10
|
+
codecopy // [<codesize>]
|
|
11
|
+
|
|
12
|
+
contract_start // [<contract_start>]
|
|
13
|
+
mload // [<contract_start_word>]
|
|
14
|
+
0x60 // [0x60, <contract_start_word>]
|
|
15
|
+
shr // [<contract>] (Extracts the 160-bit address)
|
|
16
|
+
returndatasize // [0x00, <contract>]
|
|
17
|
+
dup2 // [<contract>, 0x00, <contract>]
|
|
18
|
+
extcodesize // [size, 0x00, <contract>]
|
|
19
|
+
done // [<done_pc>, size, 0x00, <contract>]
|
|
20
|
+
jumpi // Jumps to 'done' if size > 0. Stack becomes: [0x00, <contract>]
|
|
21
|
+
|
|
22
|
+
// --- If code continues, contract does not exist. Deploy it. ---
|
|
23
|
+
|
|
24
|
+
// Do call to factory to deploy the contract
|
|
25
|
+
dup1 // [0x00, 0x00, <contract>]
|
|
26
|
+
dup1 // [0x00, 0x00, 0x00, <contract>]
|
|
27
|
+
data_start // [<data_start>, 0x00, 0x00, 0x00, <contract>]
|
|
28
|
+
codesize // [<codesize>, <data_start>, 0x00, 0x00, 0x00, <contract>]
|
|
29
|
+
sub // [<creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
30
|
+
data_start // [<data_start>, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
31
|
+
dup3 // [0x00, <data_start>, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
32
|
+
factory_start // [<factory_start>, 0x00, 0x00, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
33
|
+
mload // [<factory_word>, 0x00, 0x00, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
34
|
+
0x60 // [0x60, <salt_word>, 0x00, 0x00, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
35
|
+
shr // [<factory>, 0x00, 0x00, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
36
|
+
gas // [gas, <factory>, 0x00, 0x00, <creation_code_size>, 0x00, 0x00, 0x00, <contract>]
|
|
37
|
+
|
|
38
|
+
call // Pops 7 items, pushes 1. Stack: [<success_flag>, 0x00, <contract>]
|
|
39
|
+
pop // [0x00, <contract>]
|
|
40
|
+
|
|
41
|
+
// Check if the deployment call was successful
|
|
42
|
+
swap1 // [<contract>, 0x00]
|
|
43
|
+
extcodesize // [size, 0x00]
|
|
44
|
+
done // [<done_pc>, size, 0x00]
|
|
45
|
+
jumpi // Jumps to 'done' if size > 0. Stack becomes: [0x00]
|
|
46
|
+
|
|
47
|
+
// If the contract is not deployed at this stage, revert
|
|
48
|
+
dup1 // [0x00, 0x00]
|
|
49
|
+
revert // Halts execution, reverting all state changes.
|
|
50
|
+
|
|
51
|
+
done:
|
|
52
|
+
// Path 1 (already deployed): [0x00, <contract>]
|
|
53
|
+
// Path 2 (just deployed): [0x00]
|
|
54
|
+
dup1 // Path 1 stack: [0x00, 0x00...]
|
|
55
|
+
return
|
|
56
|
+
|
|
57
|
+
// The contract ends here, this is a placeholder for the arguments
|
|
58
|
+
contract_start:
|
|
59
|
+
pc pc pc pc pc pc pc pc pc pc
|
|
60
|
+
pc pc pc pc pc pc pc pc pc
|
|
61
|
+
factory_start:
|
|
62
|
+
pc pc pc pc pc pc pc pc pc pc
|
|
63
|
+
pc pc pc pc pc pc pc pc pc
|
|
64
|
+
data_start:
|
|
65
|
+
}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAInC,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAYpD"}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.setupCommands = setupCommands;
|
|
4
|
+
const commands_1 = require("./commands");
|
|
5
|
+
const etherscan_1 = require("./commands/etherscan");
|
|
6
|
+
function setupCommands(program) {
|
|
7
|
+
program.addCommand((0, commands_1.makeRunCommand)(), {
|
|
8
|
+
isDefault: true,
|
|
9
|
+
hidden: false
|
|
10
|
+
});
|
|
11
|
+
program.addCommand((0, commands_1.makeDryRunCommand)());
|
|
12
|
+
program.addCommand((0, commands_1.makeListCommand)());
|
|
13
|
+
program.addCommand((0, commands_1.makeUtilsCommand)());
|
|
14
|
+
program.addCommand((0, etherscan_1.makeEtherscanCommand)());
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAIA,sCAYC;AAfD,yCAAiG;AACjG,oDAA2D;AAE3D,SAAgB,aAAa,CAAC,OAAgB;IAE5C,OAAO,CAAC,UAAU,CAAC,IAAA,yBAAc,GAAE,EAAE;QACnC,SAAS,EAAE,IAAI;QACf,MAAM,EAAE,KAAK;KACd,CAAC,CAAA;IAGF,OAAO,CAAC,UAAU,CAAC,IAAA,4BAAiB,GAAE,CAAC,CAAA;IACvC,OAAO,CAAC,UAAU,CAAC,IAAA,0BAAe,GAAE,CAAC,CAAA;IACrC,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAgB,GAAE,CAAC,CAAA;IACtC,OAAO,CAAC,UAAU,CAAC,IAAA,gCAAoB,GAAE,CAAC,CAAA;AAC5C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { ProjectLoader, ProjectLoaderOptions } from '../lib/core/loader';
|
|
3
|
+
export declare const projectOption: (cmd: Command) => Command;
|
|
4
|
+
export declare const dotenvOption: (cmd: Command) => Command;
|
|
5
|
+
export declare const noStdOption: (cmd: Command) => Command;
|
|
6
|
+
export declare const verbosityOption: (cmd: Command) => Command;
|
|
7
|
+
export declare function loadProject(projectRoot: string, options?: ProjectLoaderOptions): Promise<ProjectLoader>;
|
|
8
|
+
export declare function loadDotenv(options: {
|
|
9
|
+
dotenv?: string;
|
|
10
|
+
}): void;
|
|
11
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/commands/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAMxE,eAAO,MAAM,aAAa,GAAI,KAAK,OAAO,KAAG,OACgC,CAAA;AAK7E,eAAO,MAAM,YAAY,GAAI,KAAK,OAAO,KAAG,OACiB,CAAA;AAK7D,eAAO,MAAM,WAAW,GAAI,KAAK,OAAO,KAAG,OAC4B,CAAA;AAKvE,eAAO,MAAM,eAAe,GAAI,KAAK,OAAO,KAAG,OACmF,CAAA;AAKlI,wBAAsB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAmB7G;AAKD,wBAAgB,UAAU,CAAC,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAG7D"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.verbosityOption = exports.noStdOption = exports.dotenvOption = exports.projectOption = void 0;
|
|
37
|
+
exports.loadProject = loadProject;
|
|
38
|
+
exports.loadDotenv = loadDotenv;
|
|
39
|
+
const dotenv = __importStar(require("dotenv"));
|
|
40
|
+
const path = __importStar(require("path"));
|
|
41
|
+
const loader_1 = require("../lib/core/loader");
|
|
42
|
+
const events_1 = require("../lib/events");
|
|
43
|
+
const projectOption = (cmd) => cmd.option('-p, --project <path>', 'Project root directory', process.cwd());
|
|
44
|
+
exports.projectOption = projectOption;
|
|
45
|
+
const dotenvOption = (cmd) => cmd.option('--dotenv <path>', 'Path to a custom .env file');
|
|
46
|
+
exports.dotenvOption = dotenvOption;
|
|
47
|
+
const noStdOption = (cmd) => cmd.option('--no-std', 'Disable loading built-in standard templates');
|
|
48
|
+
exports.noStdOption = noStdOption;
|
|
49
|
+
const verbosityOption = (cmd) => cmd.option('-v, --verbose', 'Enable verbose logging (use -vv or -vvv for more detail)', (_, previous) => (previous || 0) + 1, 0);
|
|
50
|
+
exports.verbosityOption = verbosityOption;
|
|
51
|
+
async function loadProject(projectRoot, options) {
|
|
52
|
+
events_1.deploymentEvents.emitEvent({
|
|
53
|
+
type: 'project_loading_started',
|
|
54
|
+
level: 'info',
|
|
55
|
+
data: { projectRoot }
|
|
56
|
+
});
|
|
57
|
+
const loader = new loader_1.ProjectLoader(projectRoot, options);
|
|
58
|
+
await loader.load();
|
|
59
|
+
events_1.deploymentEvents.emitEvent({
|
|
60
|
+
type: 'project_loaded',
|
|
61
|
+
level: 'info',
|
|
62
|
+
data: {
|
|
63
|
+
jobCount: loader.jobs.size,
|
|
64
|
+
templateCount: loader.templates.size
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
return loader;
|
|
68
|
+
}
|
|
69
|
+
function loadDotenv(options) {
|
|
70
|
+
const dotenvPath = options.dotenv ? path.resolve(options.dotenv) : path.resolve(process.cwd(), '.env');
|
|
71
|
+
dotenv.config({ path: dotenvPath });
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/commands/common.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiCA,kCAmBC;AAKD,gCAGC;AA3DD,+CAAgC;AAChC,2CAA4B;AAC5B,+CAAwE;AACxE,0CAAgD;AAKzC,MAAM,aAAa,GAAG,CAAC,GAAY,EAAW,EAAE,CACrD,GAAG,CAAC,MAAM,CAAC,sBAAsB,EAAE,wBAAwB,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;AADhE,QAAA,aAAa,iBACmD;AAKtE,MAAM,YAAY,GAAG,CAAC,GAAY,EAAW,EAAE,CACpD,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CAAA;AADhD,QAAA,YAAY,gBACoC;AAKtD,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CACnD,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,6CAA6C,CAAC,CAAA;AAD1D,QAAA,WAAW,eAC+C;AAKhE,MAAM,eAAe,GAAG,CAAC,GAAY,EAAW,EAAE,CACvD,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,0DAA0D,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AADrH,QAAA,eAAe,mBACsG;AAK3H,KAAK,UAAU,WAAW,CAAC,WAAmB,EAAE,OAA8B;IACnF,yBAAgB,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,EAAE,WAAW,EAAE;KACtB,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,sBAAa,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;IACtD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;IAEnB,yBAAgB,CAAC,SAAS,CAAC;QACzB,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,MAAM;QACb,IAAI,EAAE;YACJ,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;YAC1B,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI;SACrC;KACF,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC;AAKD,SAAgB,UAAU,CAAC,OAA4B;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAA;IACtG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry.d.ts","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+CnC,wBAAgB,iBAAiB,IAAI,OAAO,CAgK3C"}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.makeDryRunCommand = makeDryRunCommand;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const common_1 = require("./common");
|
|
10
|
+
const network_loader_1 = require("../lib/network-loader");
|
|
11
|
+
const graph_1 = require("../lib/core/graph");
|
|
12
|
+
const common_2 = require("./common");
|
|
13
|
+
const contract_references_1 = require("../lib/validation/contract-references");
|
|
14
|
+
const index_1 = require("../index");
|
|
15
|
+
function extractConstantRefs(value, refs, templateCtx) {
|
|
16
|
+
if (typeof value === 'string') {
|
|
17
|
+
const m = value.match(/^{{(.*)}}$/);
|
|
18
|
+
if (m) {
|
|
19
|
+
const expr = m[1].trim();
|
|
20
|
+
if (expr.includes('.') || expr.includes('(') || expr.includes(')'))
|
|
21
|
+
return;
|
|
22
|
+
if (templateCtx?.arguments && Object.prototype.hasOwnProperty.call(templateCtx.arguments, expr)) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
refs.push(expr);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
else if (Array.isArray(value)) {
|
|
29
|
+
for (const v of value)
|
|
30
|
+
extractConstantRefs(v, refs, templateCtx);
|
|
31
|
+
}
|
|
32
|
+
else if (value && typeof value === 'object') {
|
|
33
|
+
for (const v of Object.values(value))
|
|
34
|
+
extractConstantRefs(v, refs, templateCtx);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
function makeDryRunCommand() {
|
|
38
|
+
const dryRun = new commander_1.Command('dry-run')
|
|
39
|
+
.description('Validate project configuration and show execution plan without running transactions')
|
|
40
|
+
.argument('[jobs...]', 'Specific job names to validate (and their dependencies).')
|
|
41
|
+
.option('-n, --network <chainIds...>', 'One or more network chain IDs to simulate running on.');
|
|
42
|
+
(0, common_2.projectOption)(dryRun);
|
|
43
|
+
(0, common_2.noStdOption)(dryRun);
|
|
44
|
+
(0, common_2.verbosityOption)(dryRun);
|
|
45
|
+
dryRun.action(async (jobs, options) => {
|
|
46
|
+
try {
|
|
47
|
+
(0, index_1.setVerbosity)(options.verbose);
|
|
48
|
+
console.log(chalk_1.default.bold.inverse(' DRY-RUN MODE '));
|
|
49
|
+
const projectRoot = options.project;
|
|
50
|
+
const loader = await (0, common_1.loadProject)(projectRoot, {
|
|
51
|
+
loadStdTemplates: options.std !== false
|
|
52
|
+
});
|
|
53
|
+
const allNetworks = await (0, network_loader_1.loadNetworks)(projectRoot);
|
|
54
|
+
console.log(chalk_1.default.blue('\nBuilding dependency graph...'));
|
|
55
|
+
const graph = new graph_1.DependencyGraph(loader.jobs, loader.templates);
|
|
56
|
+
const fullOrder = graph.getExecutionOrder();
|
|
57
|
+
console.log(chalk_1.default.green(' - Dependency graph built successfully.'));
|
|
58
|
+
console.log(chalk_1.default.blue('\nContract Repository:'));
|
|
59
|
+
console.log(chalk_1.default.green(` - Found ${loader.contractRepository.getAll().length} unique contracts.`));
|
|
60
|
+
const usedRefs = await (0, contract_references_1.extractUsedContractReferences)(loader);
|
|
61
|
+
const allAmbiguousRefs = loader.contractRepository.getAmbiguousReferences();
|
|
62
|
+
const usedRefNames = usedRefs.map(ref => ref.reference);
|
|
63
|
+
const usedAmbiguousRefs = allAmbiguousRefs.filter(ref => usedRefNames.includes(ref));
|
|
64
|
+
if (usedAmbiguousRefs.length > 0) {
|
|
65
|
+
console.log(chalk_1.default.red('\n - Found ambiguous contract references being used:'));
|
|
66
|
+
for (const ref of usedAmbiguousRefs) {
|
|
67
|
+
console.log(chalk_1.default.red(` ā "${ref}" could refer to multiple contracts`));
|
|
68
|
+
}
|
|
69
|
+
throw new Error(`Found ${usedAmbiguousRefs.length} ambiguous contract reference(s) being used. Please use more specific references to resolve ambiguity.`);
|
|
70
|
+
}
|
|
71
|
+
console.log(chalk_1.default.green(' - All used contract references are unambiguous.'));
|
|
72
|
+
console.log(chalk_1.default.blue('\nValidating contract references...'));
|
|
73
|
+
const missingRefs = await (0, contract_references_1.validateContractReferences)(loader);
|
|
74
|
+
if (missingRefs.length > 0) {
|
|
75
|
+
console.log(chalk_1.default.red('\n - Found missing contract references:'));
|
|
76
|
+
for (const ref of missingRefs) {
|
|
77
|
+
console.log(chalk_1.default.red(` ā ${ref.reference} in ${ref.location}`));
|
|
78
|
+
}
|
|
79
|
+
throw new Error(`Found ${missingRefs.length} missing contract reference(s). Please ensure all referenced contracts exist.`);
|
|
80
|
+
}
|
|
81
|
+
console.log(chalk_1.default.green(' - All contract references are valid.'));
|
|
82
|
+
console.log(chalk_1.default.blue('\nValidating constant references...'));
|
|
83
|
+
const topLevelConstants = loader.constants;
|
|
84
|
+
const missingConstantRefs = [];
|
|
85
|
+
for (const [jobName, job] of loader.jobs.entries()) {
|
|
86
|
+
for (let i = 0; i < job.actions.length; i++) {
|
|
87
|
+
const action = job.actions[i];
|
|
88
|
+
const refs = [];
|
|
89
|
+
extractConstantRefs(action.arguments, refs);
|
|
90
|
+
const jobConstants = job.constants || {};
|
|
91
|
+
for (const r of refs) {
|
|
92
|
+
if (!(r in jobConstants) && !topLevelConstants.has(r)) {
|
|
93
|
+
missingConstantRefs.push({ ref: r, location: `job '${jobName}', action ${i + 1}${action.name ? ` '${action.name}'` : ''}` });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
for (const [templateName, template] of loader.templates.entries()) {
|
|
99
|
+
for (let i = 0; i < template.actions.length; i++) {
|
|
100
|
+
const action = template.actions[i];
|
|
101
|
+
const refs = [];
|
|
102
|
+
extractConstantRefs(action.arguments, refs, template);
|
|
103
|
+
for (const r of refs) {
|
|
104
|
+
if (!topLevelConstants.has(r)) {
|
|
105
|
+
missingConstantRefs.push({ ref: r, location: `template '${templateName}', action ${i + 1}${action.name ? ` '${action.name}'` : ''}` });
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
if (template.setup?.actions) {
|
|
110
|
+
for (let i = 0; i < (template.setup.actions?.length || 0); i++) {
|
|
111
|
+
const action = template.setup.actions[i];
|
|
112
|
+
const refs = [];
|
|
113
|
+
extractConstantRefs(action.arguments, refs, template);
|
|
114
|
+
for (const r of refs) {
|
|
115
|
+
if (!topLevelConstants.has(r)) {
|
|
116
|
+
missingConstantRefs.push({ ref: r, location: `template '${templateName}' setup, action ${i + 1}${action.name ? ` '${action.name}'` : ''}` });
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
if (template.outputs) {
|
|
122
|
+
const refs = [];
|
|
123
|
+
extractConstantRefs(template.outputs, refs, template);
|
|
124
|
+
for (const r of refs) {
|
|
125
|
+
if (!topLevelConstants.has(r)) {
|
|
126
|
+
missingConstantRefs.push({ ref: r, location: `template '${templateName}' outputs` });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (missingConstantRefs.length > 0) {
|
|
132
|
+
console.log(chalk_1.default.red('\n - Found missing constant references:'));
|
|
133
|
+
for (const m of missingConstantRefs) {
|
|
134
|
+
console.log(chalk_1.default.red(` ā ${m.ref} in ${m.location}`));
|
|
135
|
+
}
|
|
136
|
+
throw new Error(`Found ${missingConstantRefs.length} missing constant reference(s). Ensure they are defined at top-level or in the job's constants.`);
|
|
137
|
+
}
|
|
138
|
+
console.log(chalk_1.default.green(' - All constant references are valid.'));
|
|
139
|
+
const runJobs = jobs.length > 0 ? jobs : undefined;
|
|
140
|
+
const runOnNetworks = options.network?.map(Number);
|
|
141
|
+
const jobsToRun = new Set();
|
|
142
|
+
if (runJobs) {
|
|
143
|
+
for (const jobName of runJobs) {
|
|
144
|
+
if (!loader.jobs.has(jobName)) {
|
|
145
|
+
throw new Error(`Specified job "${jobName}" not found in project.`);
|
|
146
|
+
}
|
|
147
|
+
jobsToRun.add(jobName);
|
|
148
|
+
graph.getDependencies(jobName).forEach(dep => jobsToRun.add(dep));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
fullOrder.forEach(j => jobsToRun.add(j));
|
|
153
|
+
}
|
|
154
|
+
const jobExecutionPlan = fullOrder.filter(jobName => jobsToRun.has(jobName));
|
|
155
|
+
const targetNetworks = runOnNetworks
|
|
156
|
+
? allNetworks.filter(n => runOnNetworks.includes(n.chainId))
|
|
157
|
+
: allNetworks;
|
|
158
|
+
console.log(chalk_1.default.blue('\nExecution Plan:'));
|
|
159
|
+
console.log(chalk_1.default.gray(` - Target Networks: ${targetNetworks.map(n => `${n.name} (ChainID: ${n.chainId})`).join(', ')}`));
|
|
160
|
+
console.log(chalk_1.default.gray(` - Job Execution Order: ${jobExecutionPlan.join(' -> ')}`));
|
|
161
|
+
console.log(chalk_1.default.green.bold('\nā
Dry run successful. All job and template definitions appear to be valid.'));
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
console.error(chalk_1.default.red.bold('\nš„ DRY RUN FAILED!'));
|
|
165
|
+
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
return dryRun;
|
|
170
|
+
}
|
|
171
|
+
//# sourceMappingURL=dry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dry.js","sourceRoot":"","sources":["../../src/commands/dry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"etherscan.d.ts","sourceRoot":"","sources":["../../src/commands/etherscan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAgHnC,wBAAgB,oBAAoB,IAAI,OAAO,CAuP9C"}
|