@0xsequence/catapult 1.3.17 → 1.5.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 +276 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +12 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/provenance.d.ts +3 -0
- package/dist/commands/provenance.d.ts.map +1 -0
- package/dist/commands/provenance.js +138 -0
- package/dist/commands/provenance.js.map +1 -0
- package/dist/lib/__tests__/deployer.spec.js +118 -1
- package/dist/lib/__tests__/deployer.spec.js.map +1 -1
- package/dist/lib/__tests__/network-loader.spec.js.map +1 -1
- package/dist/lib/__tests__/provenance.spec.d.ts +2 -0
- package/dist/lib/__tests__/provenance.spec.d.ts.map +1 -0
- package/dist/lib/__tests__/provenance.spec.js +205 -0
- package/dist/lib/__tests__/provenance.spec.js.map +1 -0
- package/dist/lib/contracts/__tests__/repository.spec.js +243 -0
- package/dist/lib/contracts/__tests__/repository.spec.js.map +1 -1
- package/dist/lib/contracts/repository.d.ts +9 -1
- package/dist/lib/contracts/repository.d.ts.map +1 -1
- package/dist/lib/contracts/repository.js +93 -7
- package/dist/lib/contracts/repository.js.map +1 -1
- package/dist/lib/core/__tests__/assert-action.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/assert-action.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/assert-action.spec.js +377 -0
- package/dist/lib/core/__tests__/assert-action.spec.js.map +1 -0
- package/dist/lib/core/__tests__/engine.spec.js +80 -0
- package/dist/lib/core/__tests__/engine.spec.js.map +1 -1
- package/dist/lib/core/__tests__/loader.spec.js +29 -0
- package/dist/lib/core/__tests__/loader.spec.js.map +1 -1
- package/dist/lib/core/__tests__/resolver.spec.js +405 -0
- package/dist/lib/core/__tests__/resolver.spec.js.map +1 -1
- package/dist/lib/core/__tests__/sign-actions.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/sign-actions.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/sign-actions.spec.js +128 -0
- package/dist/lib/core/__tests__/sign-actions.spec.js.map +1 -0
- package/dist/lib/core/__tests__/signer.spec.d.ts +2 -0
- package/dist/lib/core/__tests__/signer.spec.d.ts.map +1 -0
- package/dist/lib/core/__tests__/signer.spec.js +40 -0
- package/dist/lib/core/__tests__/signer.spec.js.map +1 -0
- package/dist/lib/core/context.d.ts +3 -2
- package/dist/lib/core/context.d.ts.map +1 -1
- package/dist/lib/core/context.js +3 -2
- package/dist/lib/core/context.js.map +1 -1
- package/dist/lib/core/engine.d.ts +4 -0
- package/dist/lib/core/engine.d.ts.map +1 -1
- package/dist/lib/core/engine.js +206 -0
- package/dist/lib/core/engine.js.map +1 -1
- package/dist/lib/core/loader.d.ts +1 -0
- package/dist/lib/core/loader.d.ts.map +1 -1
- package/dist/lib/core/loader.js +6 -1
- package/dist/lib/core/loader.js.map +1 -1
- package/dist/lib/core/resolver.d.ts +2 -0
- package/dist/lib/core/resolver.d.ts.map +1 -1
- package/dist/lib/core/resolver.js +89 -0
- package/dist/lib/core/resolver.js.map +1 -1
- package/dist/lib/core/signer.d.ts +7 -0
- package/dist/lib/core/signer.d.ts.map +1 -0
- package/dist/lib/core/signer.js +60 -0
- package/dist/lib/core/signer.js.map +1 -0
- package/dist/lib/deployer.d.ts.map +1 -1
- package/dist/lib/deployer.js +21 -4
- package/dist/lib/deployer.js.map +1 -1
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +1 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parsers/__tests__/job.spec.js +77 -0
- package/dist/lib/parsers/__tests__/job.spec.js.map +1 -1
- package/dist/lib/parsers/__tests__/source.spec.d.ts +2 -0
- package/dist/lib/parsers/__tests__/source.spec.d.ts.map +1 -0
- package/dist/lib/parsers/__tests__/source.spec.js +158 -0
- package/dist/lib/parsers/__tests__/source.spec.js.map +1 -0
- package/dist/lib/parsers/index.d.ts +1 -0
- package/dist/lib/parsers/index.d.ts.map +1 -1
- package/dist/lib/parsers/index.js +1 -0
- package/dist/lib/parsers/index.js.map +1 -1
- package/dist/lib/parsers/job.d.ts.map +1 -1
- package/dist/lib/parsers/job.js +11 -0
- package/dist/lib/parsers/job.js.map +1 -1
- package/dist/lib/parsers/source.d.ts +4 -0
- package/dist/lib/parsers/source.d.ts.map +1 -0
- package/dist/lib/parsers/source.js +107 -0
- package/dist/lib/parsers/source.js.map +1 -0
- package/dist/lib/provenance.d.ts +34 -0
- package/dist/lib/provenance.d.ts.map +1 -0
- package/dist/lib/provenance.js +694 -0
- package/dist/lib/provenance.js.map +1 -0
- package/dist/lib/types/actions.d.ts +42 -2
- package/dist/lib/types/actions.d.ts.map +1 -1
- package/dist/lib/types/actions.js +4 -0
- package/dist/lib/types/actions.js.map +1 -1
- package/dist/lib/types/contracts.d.ts +3 -0
- package/dist/lib/types/contracts.d.ts.map +1 -1
- package/dist/lib/types/definitions.d.ts +1 -0
- package/dist/lib/types/definitions.d.ts.map +1 -1
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js +1 -0
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/source.d.ts +26 -0
- package/dist/lib/types/source.d.ts.map +1 -0
- package/dist/lib/types/source.js +3 -0
- package/dist/lib/types/source.js.map +1 -0
- package/dist/lib/types/values.d.ts +33 -1
- package/dist/lib/types/values.d.ts.map +1 -1
- package/package.json +4 -1
- package/.eslintrc.json +0 -29
- package/.github/workflows/ci.yml +0 -181
- package/CONCEPT.md +0 -24
- package/contracts/checked-call.huff +0 -65
- package/eslint.config.js +0 -48
- package/examples/jobs/guards-v1.yaml +0 -17
- package/examples/jobs/sequence-seq-0001-patch.yaml +0 -59
- package/examples/jobs/sequence-v1.yaml +0 -59
- package/examples/templates/sequence-factory-v1.yaml +0 -56
- package/jest.config.js +0 -25
- package/src/cli.ts +0 -17
- package/src/commands/common.ts +0 -61
- package/src/commands/dry.ts +0 -209
- package/src/commands/etherscan.ts +0 -360
- package/src/commands/index.ts +0 -5
- package/src/commands/list.ts +0 -249
- package/src/commands/run.ts +0 -146
- package/src/commands/utils.ts +0 -215
- package/src/index.ts +0 -67
- package/src/lib/__tests__/deployer-events.spec.ts +0 -338
- package/src/lib/__tests__/deployer.spec.ts +0 -2093
- package/src/lib/__tests__/network-loader.spec.ts +0 -150
- package/src/lib/__tests__/network-selection.spec.ts +0 -41
- package/src/lib/__tests__/network-utils.spec.ts +0 -230
- package/src/lib/artifacts/__tests__/fixtures/contract1.json +0 -19
- package/src/lib/artifacts/__tests__/fixtures/contract2.json +0 -19
- package/src/lib/artifacts/__tests__/fixtures/duplicate-name.json +0 -19
- package/src/lib/artifacts/__tests__/fixtures/nested/nested-contract.json +0 -18
- package/src/lib/artifacts/__tests__/fixtures/not-an-artifact.json +0 -8
- package/src/lib/artifacts/__tests__/fixtures/readme.txt +0 -2
- package/src/lib/contracts/__tests__/repository.spec.ts +0 -344
- package/src/lib/contracts/repository.ts +0 -313
- package/src/lib/core/__tests__/context.spec.ts +0 -37
- package/src/lib/core/__tests__/engine.spec.ts +0 -1889
- package/src/lib/core/__tests__/graph.spec.ts +0 -125
- package/src/lib/core/__tests__/json-integration.spec.ts +0 -425
- package/src/lib/core/__tests__/loader.spec.ts +0 -334
- package/src/lib/core/__tests__/multi-platform-verification.spec.ts +0 -406
- package/src/lib/core/__tests__/resolver.spec.ts +0 -2053
- package/src/lib/core/__tests__/static-action.spec.ts +0 -172
- package/src/lib/core/context.ts +0 -127
- package/src/lib/core/engine.ts +0 -1782
- package/src/lib/core/graph.ts +0 -252
- package/src/lib/core/loader.ts +0 -247
- package/src/lib/core/resolver.ts +0 -757
- package/src/lib/deployer.ts +0 -981
- package/src/lib/events/__tests__/event-system.spec.ts +0 -392
- package/src/lib/events/cli-adapter.ts +0 -369
- package/src/lib/events/emitter.ts +0 -62
- package/src/lib/events/index.ts +0 -3
- package/src/lib/events/types.ts +0 -520
- package/src/lib/index.ts +0 -14
- package/src/lib/network-loader.ts +0 -90
- package/src/lib/network-selection.ts +0 -73
- package/src/lib/network-utils.ts +0 -64
- package/src/lib/parsers/__tests__/buildinfo.spec.ts +0 -122
- package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-bytecode-buildinfo.json +0 -62
- package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-json.txt +0 -2
- package/src/lib/parsers/__tests__/fixtures/buildinfo/multi-contract-buildinfo.json +0 -89
- package/src/lib/parsers/__tests__/fixtures/buildinfo/no-contracts-buildinfo.json +0 -17
- package/src/lib/parsers/__tests__/fixtures/buildinfo/simple-buildinfo.json +0 -63
- package/src/lib/parsers/__tests__/fixtures/buildinfo/wrong-format.json +0 -4
- package/src/lib/parsers/__tests__/job.spec.ts +0 -358
- package/src/lib/parsers/__tests__/template.spec.ts +0 -111
- package/src/lib/parsers/artifact/__tests__/artifact.spec.ts +0 -117
- package/src/lib/parsers/artifact/__tests__/fixtures/empty-bytecode.json +0 -5
- package/src/lib/parsers/artifact/__tests__/fixtures/hardhat-artifact.json +0 -67
- package/src/lib/parsers/artifact/__tests__/fixtures/invalid-bytecode.json +0 -5
- package/src/lib/parsers/artifact/__tests__/fixtures/invalid-json.txt +0 -11
- package/src/lib/parsers/artifact/__tests__/fixtures/minimal-artifact.json +0 -5
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-abi.json +0 -4
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-bytecode.json +0 -11
- package/src/lib/parsers/artifact/__tests__/fixtures/missing-contract-name.json +0 -11
- package/src/lib/parsers/artifact/__tests__/fixtures/simple-artifact.json +0 -40
- package/src/lib/parsers/artifact/__tests__/fixtures/wrong-types.json +0 -7
- package/src/lib/parsers/artifact/foundry-1.2.ts +0 -72
- package/src/lib/parsers/artifact/index.ts +0 -27
- package/src/lib/parsers/artifact/types.ts +0 -9
- package/src/lib/parsers/buildinfo.ts +0 -127
- package/src/lib/parsers/constants.ts +0 -56
- package/src/lib/parsers/index.ts +0 -5
- package/src/lib/parsers/job.ts +0 -148
- package/src/lib/parsers/template.ts +0 -135
- package/src/lib/std/templates/arachnid-deterministic-deployment-proxy.yaml +0 -68
- package/src/lib/std/templates/assured-deployment.yaml +0 -46
- package/src/lib/std/templates/era-evm-predeploy.yaml +0 -35
- package/src/lib/std/templates/erc-2470.yaml +0 -70
- package/src/lib/std/templates/min-balance.yaml +0 -35
- package/src/lib/std/templates/nano-universal-deployer.yaml +0 -61
- package/src/lib/std/templates/raw-erc-2470.yaml +0 -62
- package/src/lib/std/templates/raw-nano-universal-deployer.yaml +0 -54
- package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +0 -52
- package/src/lib/std/templates/sequence-universal-deployer-2.yaml +0 -61
- package/src/lib/types/__tests__/json-request-action.spec.ts +0 -243
- package/src/lib/types/__tests__/read-json-value.spec.ts +0 -278
- package/src/lib/types/__tests__/resolve-json-value.spec.ts +0 -769
- package/src/lib/types/actions.ts +0 -127
- package/src/lib/types/artifacts.ts +0 -21
- package/src/lib/types/buildinfo.ts +0 -116
- package/src/lib/types/conditions.ts +0 -50
- package/src/lib/types/contracts.ts +0 -23
- package/src/lib/types/definitions.ts +0 -70
- package/src/lib/types/index.ts +0 -8
- package/src/lib/types/network.ts +0 -33
- package/src/lib/types/project.ts +0 -9
- package/src/lib/types/task.ts +0 -9
- package/src/lib/types/values.ts +0 -150
- package/src/lib/utils/assertion.ts +0 -24
- package/src/lib/utils/validation.ts +0 -116
- package/src/lib/validation/contract-references.ts +0 -210
- package/src/lib/validation/index.ts +0 -1
- package/src/lib/verification/__tests__/etherscan.spec.ts +0 -710
- package/src/lib/verification/__tests__/sourcify.spec.ts +0 -288
- package/src/lib/verification/etherscan.ts +0 -547
- package/src/lib/verification/sourcify.ts +0 -248
- package/test_validation/artifacts/TestContract.json +0 -9
- package/test_validation/jobs/test-missing.yaml +0 -16
- package/test_validation/networks.yaml +0 -3
- package/tsconfig.json +0 -36
package/README.md
CHANGED
|
@@ -513,6 +513,22 @@ catapult etherscan source -n 1 -a 0xdAC17F958D2ee523a2206206994597C13D831ec7 --e
|
|
|
513
513
|
catapult etherscan source -n mainnet -a 0xdAC17F... --etherscan-api-key $ETHERSCAN_API_KEY
|
|
514
514
|
```
|
|
515
515
|
|
|
516
|
+
Source provenance helpers:
|
|
517
|
+
|
|
518
|
+
```bash
|
|
519
|
+
# Verify every source.yaml provenance entry in the project
|
|
520
|
+
catapult provenance verify
|
|
521
|
+
|
|
522
|
+
# Verify only one job's provenance entries
|
|
523
|
+
catapult provenance verify my-job
|
|
524
|
+
|
|
525
|
+
# Verify a job and the jobs it depends on
|
|
526
|
+
catapult provenance verify my-job --include-dependencies
|
|
527
|
+
|
|
528
|
+
# Generate missing build-info JSON files from source.yaml provenance
|
|
529
|
+
catapult provenance generate
|
|
530
|
+
```
|
|
531
|
+
|
|
516
532
|
## Built-in Actions
|
|
517
533
|
|
|
518
534
|
Catapult provides several built-in primitive actions:
|
|
@@ -591,6 +607,40 @@ Make an HTTP JSON request and use the result downstream:
|
|
|
591
607
|
method: "GET"
|
|
592
608
|
```
|
|
593
609
|
|
|
610
|
+
### `assert`
|
|
611
|
+
Assert an on-chain invariant or value comparison. Evaluates a condition and throws a clear error if it doesn't hold (no broadcast, ever).
|
|
612
|
+
|
|
613
|
+
The action provides two ways to obtain the **ACTUAL** value:
|
|
614
|
+
|
|
615
|
+
1. **`to` + `signature`** — performs an `eth_call` (like the `call` value resolver)
|
|
616
|
+
2. **`actual`** — resolves any Value resolver (e.g. `read-balance`, `static`, etc.)
|
|
617
|
+
|
|
618
|
+
Then provide **exactly one** comparator key (`eq`, `neq`, `gt`, `lt`, `gte`, `lte`) whose value is the **EXPECTED** result. If the comparison is `false`, the action throws an error that fails the run.
|
|
619
|
+
|
|
620
|
+
Example — call a view function and compare:
|
|
621
|
+
|
|
622
|
+
```yaml
|
|
623
|
+
- type: assert
|
|
624
|
+
name: check-deposit-manager
|
|
625
|
+
arguments:
|
|
626
|
+
to: "{{some-proxy}}"
|
|
627
|
+
signature: "depositManager() returns (address)"
|
|
628
|
+
eq: "{{expected-deposit-manager}}"
|
|
629
|
+
```
|
|
630
|
+
|
|
631
|
+
Example — resolve a value and compare:
|
|
632
|
+
|
|
633
|
+
```yaml
|
|
634
|
+
- type: assert
|
|
635
|
+
name: check-balance
|
|
636
|
+
arguments:
|
|
637
|
+
actual: { type: read-balance, arguments: { address: "{{deployer}}" } }
|
|
638
|
+
gte: "1000000000000000000"
|
|
639
|
+
message: "deployer underfunded"
|
|
640
|
+
```
|
|
641
|
+
|
|
642
|
+
An optional `message` field is included in the error output for clarity.
|
|
643
|
+
|
|
594
644
|
## Value Resolvers
|
|
595
645
|
|
|
596
646
|
Catapult includes powerful value resolvers for computing complex values:
|
|
@@ -676,6 +726,99 @@ result:
|
|
|
676
726
|
values: []
|
|
677
727
|
```
|
|
678
728
|
|
|
729
|
+
### `get-storage-at`
|
|
730
|
+
Read a raw EVM storage slot via `eth_getStorageAt`:
|
|
731
|
+
|
|
732
|
+
```yaml
|
|
733
|
+
storageValue:
|
|
734
|
+
type: "get-storage-at"
|
|
735
|
+
arguments:
|
|
736
|
+
address: "{{contract.address}}"
|
|
737
|
+
slot: "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" # EIP-1967 implementation slot
|
|
738
|
+
```
|
|
739
|
+
|
|
740
|
+
The slot can be a hex string, a number, or a reference to another value. Returns the 32-byte storage value as a hex string.
|
|
741
|
+
|
|
742
|
+
### `compute-slot`
|
|
743
|
+
Compute EVM storage slots for the common Solidity storage layouts. The result is always a 32-byte, `0x`-prefixed hex string, so it can be fed directly into `get-storage-at` or nested as the `slot` of another `compute-slot` (e.g. for nested mappings). Select a layout with `kind`:
|
|
744
|
+
|
|
745
|
+
**`mapping`** — value slot of `mapping[key]` (`keccak256(h(key) . slot)`):
|
|
746
|
+
|
|
747
|
+
```yaml
|
|
748
|
+
slot:
|
|
749
|
+
type: "compute-slot"
|
|
750
|
+
arguments:
|
|
751
|
+
kind: "mapping"
|
|
752
|
+
slot: 0 # declaration slot of the mapping
|
|
753
|
+
key: "{{owner}}"
|
|
754
|
+
keyType: "address" # optional, default "uint256"; "string"/"bytes" keys are packed
|
|
755
|
+
```
|
|
756
|
+
|
|
757
|
+
Nested mappings (`balances[a][b]`) are expressed by nesting `compute-slot` in the `slot` field:
|
|
758
|
+
|
|
759
|
+
```yaml
|
|
760
|
+
slot:
|
|
761
|
+
type: "compute-slot"
|
|
762
|
+
arguments:
|
|
763
|
+
kind: "mapping"
|
|
764
|
+
key: "{{spender}}"
|
|
765
|
+
keyType: "address"
|
|
766
|
+
slot:
|
|
767
|
+
type: "compute-slot"
|
|
768
|
+
arguments:
|
|
769
|
+
kind: "mapping"
|
|
770
|
+
slot: 1
|
|
771
|
+
key: "{{owner}}"
|
|
772
|
+
keyType: "address"
|
|
773
|
+
```
|
|
774
|
+
|
|
775
|
+
**`dynamic-array`** — element slot of a dynamic array (`keccak256(slot) + index * elementSize`). The array length lives at `slot` itself:
|
|
776
|
+
|
|
777
|
+
```yaml
|
|
778
|
+
slot:
|
|
779
|
+
type: "compute-slot"
|
|
780
|
+
arguments:
|
|
781
|
+
kind: "dynamic-array"
|
|
782
|
+
slot: 3
|
|
783
|
+
index: 4 # optional, default 0
|
|
784
|
+
elementSize: 1 # optional slots-per-element, default 1
|
|
785
|
+
```
|
|
786
|
+
|
|
787
|
+
**`struct-field`** — a struct field or fixed-array element (`slot + offset`):
|
|
788
|
+
|
|
789
|
+
```yaml
|
|
790
|
+
slot:
|
|
791
|
+
type: "compute-slot"
|
|
792
|
+
arguments:
|
|
793
|
+
kind: "struct-field"
|
|
794
|
+
slot: "{{structBase}}"
|
|
795
|
+
offset: 2
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
**`erc7201`** — ERC-7201 namespaced storage root (`keccak256(abi.encode(uint256(keccak256(id)) - 1)) & ~0xff`):
|
|
799
|
+
|
|
800
|
+
```yaml
|
|
801
|
+
slot:
|
|
802
|
+
type: "compute-slot"
|
|
803
|
+
arguments:
|
|
804
|
+
kind: "erc7201"
|
|
805
|
+
id: "openzeppelin.storage.Ownable"
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
**`eip1967`** — well-known EIP-1967 proxy slot (`keccak256("eip1967.proxy.<name>") - 1`), where `name` is `implementation`, `admin`, or `beacon`:
|
|
809
|
+
|
|
810
|
+
```yaml
|
|
811
|
+
implementation:
|
|
812
|
+
type: "get-storage-at"
|
|
813
|
+
arguments:
|
|
814
|
+
address: "{{proxy.address}}"
|
|
815
|
+
slot:
|
|
816
|
+
type: "compute-slot"
|
|
817
|
+
arguments:
|
|
818
|
+
kind: "eip1967"
|
|
819
|
+
name: "implementation"
|
|
820
|
+
```
|
|
821
|
+
|
|
679
822
|
### `verify-contract`
|
|
680
823
|
### `read-json`
|
|
681
824
|
Read a value from a JSON object at a given path:
|
|
@@ -755,6 +898,53 @@ skip_condition:
|
|
|
755
898
|
job: "prerequisite-job"
|
|
756
899
|
```
|
|
757
900
|
|
|
901
|
+
### `skip_if` (pure gate, no post-execution check)
|
|
902
|
+
|
|
903
|
+
In addition to `skip_condition`, jobs support a `skip_if` field for **pure gate** semantics:
|
|
904
|
+
|
|
905
|
+
- Evaluated ONCE, BEFORE the job runs (the pre-skip decision)
|
|
906
|
+
- If ANY condition in `skip_if` is true → skip the whole job (status `skipped`)
|
|
907
|
+
- **NEVER** post-execution-checked (this is the key difference from `skip_condition`)
|
|
908
|
+
|
|
909
|
+
Use `skip_if` for jobs that generate artifacts (e.g., Safe/multisig transaction payloads for human execution out-of-band) and should skip when already in the desired state, without requiring convergence within the run itself.
|
|
910
|
+
|
|
911
|
+
```yaml
|
|
912
|
+
name: "generate-upgrade-payload"
|
|
913
|
+
version: "1.0.0"
|
|
914
|
+
skip_if:
|
|
915
|
+
- type: "contract-exists"
|
|
916
|
+
arguments:
|
|
917
|
+
address: "{{computed_upgrade_address}}"
|
|
918
|
+
actions:
|
|
919
|
+
- name: "generate"
|
|
920
|
+
type: "static"
|
|
921
|
+
arguments:
|
|
922
|
+
value: "upgrade-payload-data"
|
|
923
|
+
```
|
|
924
|
+
|
|
925
|
+
**Combining `skip_condition` and `skip_if`:**
|
|
926
|
+
|
|
927
|
+
If both are present, the job is skipped if ANY condition in either array is true at pre-skip time. Only `skip_condition` is post-execution-checked.
|
|
928
|
+
|
|
929
|
+
```yaml
|
|
930
|
+
name: "hybrid-job"
|
|
931
|
+
version: "1.0.0"
|
|
932
|
+
skip_condition:
|
|
933
|
+
- type: "contract-exists"
|
|
934
|
+
arguments:
|
|
935
|
+
address: "{{deployed_address}}"
|
|
936
|
+
skip_if:
|
|
937
|
+
- type: "job-completed"
|
|
938
|
+
arguments:
|
|
939
|
+
job: "setup-job"
|
|
940
|
+
actions:
|
|
941
|
+
- name: "deploy"
|
|
942
|
+
template: "erc-2470"
|
|
943
|
+
arguments:
|
|
944
|
+
creationCode: "{{Contract(MyContract).creationCode}}"
|
|
945
|
+
salt: "0"
|
|
946
|
+
```
|
|
947
|
+
|
|
758
948
|
## Standard Templates
|
|
759
949
|
|
|
760
950
|
Catapult includes several standard templates:
|
|
@@ -785,6 +975,92 @@ creationCode: "{{Contract(path/to/MyContract).creationCode}}"
|
|
|
785
975
|
creationCode: "{{Contract(0x1234...hash).creationCode}}"
|
|
786
976
|
```
|
|
787
977
|
|
|
978
|
+
Build-info files can carry optional source provenance through a nearby `source.yaml`
|
|
979
|
+
sidecar. Deployment runs still use committed artifacts; Catapult does not rebuild
|
|
980
|
+
from the source repository during `catapult run`.
|
|
981
|
+
|
|
982
|
+
```text
|
|
983
|
+
jobs/my-stack/build-info/rc-5/
|
|
984
|
+
├── stage1.json
|
|
985
|
+
└── source.yaml
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
```yaml
|
|
989
|
+
type: source
|
|
990
|
+
|
|
991
|
+
build_info:
|
|
992
|
+
"./stage1.json":
|
|
993
|
+
repo: "https://github.com/0xsequence/wallet-contracts-v3"
|
|
994
|
+
ref: "v3.0.0-rc.5"
|
|
995
|
+
commit: "0d9061f229da73edae890e6fdd1fbf753028df6d"
|
|
996
|
+
build: "forge build --build-info"
|
|
997
|
+
```
|
|
998
|
+
|
|
999
|
+
Catapult can use the same provenance to rebuild and compare build-info files on
|
|
1000
|
+
demand:
|
|
1001
|
+
|
|
1002
|
+
```bash
|
|
1003
|
+
# Rebuild each source provenance entry and compare it with the committed file
|
|
1004
|
+
catapult provenance verify
|
|
1005
|
+
|
|
1006
|
+
# Scope to one job, or include that job's dependencies
|
|
1007
|
+
catapult provenance verify my-job
|
|
1008
|
+
catapult provenance verify my-job --include-dependencies
|
|
1009
|
+
|
|
1010
|
+
# Clone/build from provenance and write missing build-info files
|
|
1011
|
+
catapult provenance generate
|
|
1012
|
+
catapult provenance generate my-job --include-dependencies
|
|
1013
|
+
```
|
|
1014
|
+
|
|
1015
|
+
`provenance generate` skips existing build-info files by default; pass `--force`
|
|
1016
|
+
to overwrite them. Both commands clone the configured `repo`, check out `ref` or
|
|
1017
|
+
`commit`, run the `build` command in that checkout, and look for generated
|
|
1018
|
+
`build-info/*.json` files. If the build produces more than one build-info file,
|
|
1019
|
+
Catapult selects by matching the committed build-info `id`, then by filename; if
|
|
1020
|
+
neither is unique, the entry fails with an ambiguity error.
|
|
1021
|
+
|
|
1022
|
+
### Pinning the build toolchain with `image`
|
|
1023
|
+
|
|
1024
|
+
Because provenance compares the *entire* build-info JSON (including compiler
|
|
1025
|
+
settings such as `evmVersion`), the rebuild must use the same toolchain that
|
|
1026
|
+
produced the committed file. Add an optional `image` field to run the `build`
|
|
1027
|
+
command inside a pinned Docker image instead of on the host:
|
|
1028
|
+
|
|
1029
|
+
```yaml
|
|
1030
|
+
type: source
|
|
1031
|
+
|
|
1032
|
+
build_info:
|
|
1033
|
+
"./stage1.json":
|
|
1034
|
+
repo: "https://github.com/0xsequence/wallet-contracts-v3"
|
|
1035
|
+
commit: "0d9061f229da73edae890e6fdd1fbf753028df6d"
|
|
1036
|
+
image: "ghcr.io/foundry-rs/foundry:v1.5.1"
|
|
1037
|
+
build: "forge build --build-info"
|
|
1038
|
+
```
|
|
1039
|
+
|
|
1040
|
+
When `image` is set, Catapult runs `docker run <image>` with the checkout
|
|
1041
|
+
bind-mounted at `/workspace` (also the working directory and `$HOME`), the build
|
|
1042
|
+
command executed via `sh -c`, and — on POSIX hosts — the container running as the
|
|
1043
|
+
caller's `uid:gid` so the generated files are owned by you and the temporary
|
|
1044
|
+
checkout can be cleaned up. This keeps the toolchain pinned per entry (different
|
|
1045
|
+
build-info files can use different images) and leaves the host/runner untouched;
|
|
1046
|
+
it requires Docker to be installed and running. The `image` field is also
|
|
1047
|
+
supported in per-contract `contracts` overrides.
|
|
1048
|
+
|
|
1049
|
+
If a build-info file needs a per-contract override, key it by fully-qualified
|
|
1050
|
+
contract name:
|
|
1051
|
+
|
|
1052
|
+
```yaml
|
|
1053
|
+
type: source
|
|
1054
|
+
|
|
1055
|
+
build_info:
|
|
1056
|
+
"./stage1.json":
|
|
1057
|
+
repo: "https://github.com/0xsequence/wallet-contracts-v3"
|
|
1058
|
+
commit: "0d9061f229da73edae890e6fdd1fbf753028df6d"
|
|
1059
|
+
contracts:
|
|
1060
|
+
"src/Stage1Module.sol:Stage1Module":
|
|
1061
|
+
ref: "stage1-special"
|
|
1062
|
+
```
|
|
1063
|
+
|
|
788
1064
|
## Output Format
|
|
789
1065
|
|
|
790
1066
|
After successful deployment, Catapult generates JSON files in the `output/` directory for each job. The output format is optimized to reduce repetition:
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
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,CAapD"}
|
package/dist/cli.js
CHANGED
|
@@ -12,5 +12,6 @@ function setupCommands(program) {
|
|
|
12
12
|
program.addCommand((0, commands_1.makeListCommand)());
|
|
13
13
|
program.addCommand((0, commands_1.makeUtilsCommand)());
|
|
14
14
|
program.addCommand((0, etherscan_1.makeEtherscanCommand)());
|
|
15
|
+
program.addCommand((0, commands_1.makeProvenanceCommand)());
|
|
15
16
|
}
|
|
16
17
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;AAIA,sCAaC;AAhBD,yCAAwH;AACxH,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;IAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAA;AAC7C,CAAC"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAA;AACrB,cAAc,OAAO,CAAA;AACrB,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
|
package/dist/commands/index.js
CHANGED
|
@@ -19,4 +19,5 @@ __exportStar(require("./dry"), exports);
|
|
|
19
19
|
__exportStar(require("./list"), exports);
|
|
20
20
|
__exportStar(require("./utils"), exports);
|
|
21
21
|
__exportStar(require("./etherscan"), exports);
|
|
22
|
+
__exportStar(require("./provenance"), exports);
|
|
22
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,wCAAqB;AACrB,yCAAsB;AACtB,0CAAuB;AACvB,8CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAqB;AACrB,wCAAqB;AACrB,yCAAsB;AACtB,0CAAuB;AACvB,8CAA2B;AAC3B,+CAA4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA2BnC,wBAAgB,eAAe,IAAI,OAAO,CA0OzC"}
|
package/dist/commands/list.js
CHANGED
|
@@ -43,6 +43,12 @@ const path = __importStar(require("path"));
|
|
|
43
43
|
const common_1 = require("./common");
|
|
44
44
|
const network_loader_1 = require("../lib/network-loader");
|
|
45
45
|
const index_1 = require("../index");
|
|
46
|
+
function formatSourceProvenance(provenance) {
|
|
47
|
+
const ref = provenance.commit || provenance.ref;
|
|
48
|
+
const suffix = ref ? ` @ ${ref}` : '';
|
|
49
|
+
const build = provenance.build ? ` (${provenance.build})` : '';
|
|
50
|
+
return `${provenance.repo}${suffix}${build}`;
|
|
51
|
+
}
|
|
46
52
|
function makeListCommand() {
|
|
47
53
|
const list = new commander_1.Command('list')
|
|
48
54
|
.description('List project resources like jobs, contracts, and networks');
|
|
@@ -101,6 +107,12 @@ function makeListCommand() {
|
|
|
101
107
|
if (contract.buildInfoId) {
|
|
102
108
|
console.log(` ${chalk_1.default.gray('Build Info ID:')} ${contract.buildInfoId}`);
|
|
103
109
|
}
|
|
110
|
+
if (contract._sourceProvenance && contract._sourceProvenance.size > 0) {
|
|
111
|
+
for (const [buildInfoPath, provenance] of contract._sourceProvenance.entries()) {
|
|
112
|
+
const relativeBuildInfoPath = path.relative(options.project, buildInfoPath);
|
|
113
|
+
console.log(` ${chalk_1.default.gray('Provenance:')} ${formatSourceProvenance(provenance)} ${chalk_1.default.gray(`[${relativeBuildInfoPath}]`)}`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
104
116
|
console.log(` ${chalk_1.default.gray('Sources:')} ${Array.from(contract._sources).map(p => path.relative(options.project, p)).join(', ')}`);
|
|
105
117
|
}
|
|
106
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,wBAAgB,qBAAqB,IAAI,OAAO,CAuD/C"}
|
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.makeProvenanceCommand = makeProvenanceCommand;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const common_1 = require("./common");
|
|
44
|
+
const index_1 = require("../index");
|
|
45
|
+
const provenance_1 = require("../lib/provenance");
|
|
46
|
+
function makeProvenanceCommand() {
|
|
47
|
+
const provenance = new commander_1.Command('provenance')
|
|
48
|
+
.description('Work with build-info source provenance');
|
|
49
|
+
const verify = new commander_1.Command('verify')
|
|
50
|
+
.description('Verify committed build-info files against source provenance')
|
|
51
|
+
.argument('[jobs...]', 'Optional job names or patterns to verify. Without jobs, verifies all provenance in the project.')
|
|
52
|
+
.option('--include-dependencies', 'When jobs are provided, include their dependency jobs too.', false);
|
|
53
|
+
(0, common_1.projectOption)(verify);
|
|
54
|
+
(0, common_1.noStdOption)(verify);
|
|
55
|
+
(0, common_1.verbosityOption)(verify);
|
|
56
|
+
verify.action(async (jobs, options) => {
|
|
57
|
+
try {
|
|
58
|
+
(0, index_1.setVerbosity)(options.verbose);
|
|
59
|
+
const result = await (0, provenance_1.verifySourceProvenance)(options.project, {
|
|
60
|
+
jobs,
|
|
61
|
+
includeDependencies: options.includeDependencies === true,
|
|
62
|
+
loadStdTemplates: options.std !== false
|
|
63
|
+
});
|
|
64
|
+
printRunResult('verify', options.project, result);
|
|
65
|
+
exitIfFailed(result);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.error(chalk_1.default.red('Error verifying provenance:'), error instanceof Error ? error.message : String(error));
|
|
69
|
+
process.exit(1);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
const generate = new commander_1.Command('generate')
|
|
73
|
+
.description('Generate missing build-info files from source provenance')
|
|
74
|
+
.argument('[jobs...]', 'Optional job names or patterns to generate. Without jobs, generates for all provenance in the project.')
|
|
75
|
+
.option('--include-dependencies', 'When jobs are provided, include their dependency jobs too.', false)
|
|
76
|
+
.option('--force', 'Overwrite existing build-info files.', false);
|
|
77
|
+
(0, common_1.projectOption)(generate);
|
|
78
|
+
(0, common_1.noStdOption)(generate);
|
|
79
|
+
(0, common_1.verbosityOption)(generate);
|
|
80
|
+
generate.action(async (jobs, options) => {
|
|
81
|
+
try {
|
|
82
|
+
(0, index_1.setVerbosity)(options.verbose);
|
|
83
|
+
const result = await (0, provenance_1.generateBuildInfoFromSourceProvenance)(options.project, {
|
|
84
|
+
jobs,
|
|
85
|
+
includeDependencies: options.includeDependencies === true,
|
|
86
|
+
loadStdTemplates: options.std !== false,
|
|
87
|
+
force: options.force === true
|
|
88
|
+
});
|
|
89
|
+
printRunResult('generate', options.project, result);
|
|
90
|
+
exitIfFailed(result);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
console.error(chalk_1.default.red('Error generating build-info from provenance:'), error instanceof Error ? error.message : String(error));
|
|
94
|
+
process.exit(1);
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
provenance.addCommand(verify);
|
|
98
|
+
provenance.addCommand(generate);
|
|
99
|
+
return provenance;
|
|
100
|
+
}
|
|
101
|
+
function printRunResult(command, projectRoot, result) {
|
|
102
|
+
for (const warning of result.warnings) {
|
|
103
|
+
console.warn(chalk_1.default.yellow(warning));
|
|
104
|
+
}
|
|
105
|
+
if (result.entries.length === 0) {
|
|
106
|
+
console.log(chalk_1.default.yellow('No source provenance entries found.'));
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
for (const item of result.results) {
|
|
110
|
+
printOperationResult(projectRoot, item);
|
|
111
|
+
}
|
|
112
|
+
const failed = result.results.filter(item => item.status === 'failed').length;
|
|
113
|
+
const skipped = result.results.filter(item => item.status === 'skipped').length;
|
|
114
|
+
const completed = result.results.length - failed - skipped;
|
|
115
|
+
const verb = command === 'verify' ? 'verified' : 'generated';
|
|
116
|
+
if (failed > 0) {
|
|
117
|
+
console.log(chalk_1.default.red(`Provenance ${command} completed with ${failed} failure(s), ${completed} ${verb}, ${skipped} skipped.`));
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
console.log(chalk_1.default.green(`Provenance ${command} completed: ${completed} ${verb}, ${skipped} skipped.`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function printOperationResult(projectRoot, result) {
|
|
124
|
+
const target = path.relative(projectRoot, result.entry.buildInfoPath);
|
|
125
|
+
const source = path.relative(projectRoot, result.entry.sourceDocumentPath);
|
|
126
|
+
const prefix = result.status === 'failed'
|
|
127
|
+
? chalk_1.default.red('failed')
|
|
128
|
+
: result.status === 'skipped'
|
|
129
|
+
? chalk_1.default.yellow('skipped')
|
|
130
|
+
: chalk_1.default.green(result.status);
|
|
131
|
+
console.log(`${prefix} ${target} ${chalk_1.default.gray(`[${source}]`)} - ${result.message}`);
|
|
132
|
+
}
|
|
133
|
+
function exitIfFailed(result) {
|
|
134
|
+
if (result.results.some(item => item.status === 'failed')) {
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=provenance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/commands/provenance.ts"],"names":[],"mappings":"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"}
|