@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.
Files changed (232) hide show
  1. package/README.md +276 -0
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +1 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/index.d.ts +1 -0
  6. package/dist/commands/index.d.ts.map +1 -1
  7. package/dist/commands/index.js +1 -0
  8. package/dist/commands/index.js.map +1 -1
  9. package/dist/commands/list.d.ts.map +1 -1
  10. package/dist/commands/list.js +12 -0
  11. package/dist/commands/list.js.map +1 -1
  12. package/dist/commands/provenance.d.ts +3 -0
  13. package/dist/commands/provenance.d.ts.map +1 -0
  14. package/dist/commands/provenance.js +138 -0
  15. package/dist/commands/provenance.js.map +1 -0
  16. package/dist/lib/__tests__/deployer.spec.js +118 -1
  17. package/dist/lib/__tests__/deployer.spec.js.map +1 -1
  18. package/dist/lib/__tests__/network-loader.spec.js.map +1 -1
  19. package/dist/lib/__tests__/provenance.spec.d.ts +2 -0
  20. package/dist/lib/__tests__/provenance.spec.d.ts.map +1 -0
  21. package/dist/lib/__tests__/provenance.spec.js +205 -0
  22. package/dist/lib/__tests__/provenance.spec.js.map +1 -0
  23. package/dist/lib/contracts/__tests__/repository.spec.js +243 -0
  24. package/dist/lib/contracts/__tests__/repository.spec.js.map +1 -1
  25. package/dist/lib/contracts/repository.d.ts +9 -1
  26. package/dist/lib/contracts/repository.d.ts.map +1 -1
  27. package/dist/lib/contracts/repository.js +93 -7
  28. package/dist/lib/contracts/repository.js.map +1 -1
  29. package/dist/lib/core/__tests__/assert-action.spec.d.ts +2 -0
  30. package/dist/lib/core/__tests__/assert-action.spec.d.ts.map +1 -0
  31. package/dist/lib/core/__tests__/assert-action.spec.js +377 -0
  32. package/dist/lib/core/__tests__/assert-action.spec.js.map +1 -0
  33. package/dist/lib/core/__tests__/engine.spec.js +80 -0
  34. package/dist/lib/core/__tests__/engine.spec.js.map +1 -1
  35. package/dist/lib/core/__tests__/loader.spec.js +29 -0
  36. package/dist/lib/core/__tests__/loader.spec.js.map +1 -1
  37. package/dist/lib/core/__tests__/resolver.spec.js +405 -0
  38. package/dist/lib/core/__tests__/resolver.spec.js.map +1 -1
  39. package/dist/lib/core/__tests__/sign-actions.spec.d.ts +2 -0
  40. package/dist/lib/core/__tests__/sign-actions.spec.d.ts.map +1 -0
  41. package/dist/lib/core/__tests__/sign-actions.spec.js +128 -0
  42. package/dist/lib/core/__tests__/sign-actions.spec.js.map +1 -0
  43. package/dist/lib/core/__tests__/signer.spec.d.ts +2 -0
  44. package/dist/lib/core/__tests__/signer.spec.d.ts.map +1 -0
  45. package/dist/lib/core/__tests__/signer.spec.js +40 -0
  46. package/dist/lib/core/__tests__/signer.spec.js.map +1 -0
  47. package/dist/lib/core/context.d.ts +3 -2
  48. package/dist/lib/core/context.d.ts.map +1 -1
  49. package/dist/lib/core/context.js +3 -2
  50. package/dist/lib/core/context.js.map +1 -1
  51. package/dist/lib/core/engine.d.ts +4 -0
  52. package/dist/lib/core/engine.d.ts.map +1 -1
  53. package/dist/lib/core/engine.js +206 -0
  54. package/dist/lib/core/engine.js.map +1 -1
  55. package/dist/lib/core/loader.d.ts +1 -0
  56. package/dist/lib/core/loader.d.ts.map +1 -1
  57. package/dist/lib/core/loader.js +6 -1
  58. package/dist/lib/core/loader.js.map +1 -1
  59. package/dist/lib/core/resolver.d.ts +2 -0
  60. package/dist/lib/core/resolver.d.ts.map +1 -1
  61. package/dist/lib/core/resolver.js +89 -0
  62. package/dist/lib/core/resolver.js.map +1 -1
  63. package/dist/lib/core/signer.d.ts +7 -0
  64. package/dist/lib/core/signer.d.ts.map +1 -0
  65. package/dist/lib/core/signer.js +60 -0
  66. package/dist/lib/core/signer.js.map +1 -0
  67. package/dist/lib/deployer.d.ts.map +1 -1
  68. package/dist/lib/deployer.js +21 -4
  69. package/dist/lib/deployer.js.map +1 -1
  70. package/dist/lib/index.d.ts +1 -0
  71. package/dist/lib/index.d.ts.map +1 -1
  72. package/dist/lib/index.js +1 -0
  73. package/dist/lib/index.js.map +1 -1
  74. package/dist/lib/parsers/__tests__/job.spec.js +77 -0
  75. package/dist/lib/parsers/__tests__/job.spec.js.map +1 -1
  76. package/dist/lib/parsers/__tests__/source.spec.d.ts +2 -0
  77. package/dist/lib/parsers/__tests__/source.spec.d.ts.map +1 -0
  78. package/dist/lib/parsers/__tests__/source.spec.js +158 -0
  79. package/dist/lib/parsers/__tests__/source.spec.js.map +1 -0
  80. package/dist/lib/parsers/index.d.ts +1 -0
  81. package/dist/lib/parsers/index.d.ts.map +1 -1
  82. package/dist/lib/parsers/index.js +1 -0
  83. package/dist/lib/parsers/index.js.map +1 -1
  84. package/dist/lib/parsers/job.d.ts.map +1 -1
  85. package/dist/lib/parsers/job.js +11 -0
  86. package/dist/lib/parsers/job.js.map +1 -1
  87. package/dist/lib/parsers/source.d.ts +4 -0
  88. package/dist/lib/parsers/source.d.ts.map +1 -0
  89. package/dist/lib/parsers/source.js +107 -0
  90. package/dist/lib/parsers/source.js.map +1 -0
  91. package/dist/lib/provenance.d.ts +34 -0
  92. package/dist/lib/provenance.d.ts.map +1 -0
  93. package/dist/lib/provenance.js +694 -0
  94. package/dist/lib/provenance.js.map +1 -0
  95. package/dist/lib/types/actions.d.ts +42 -2
  96. package/dist/lib/types/actions.d.ts.map +1 -1
  97. package/dist/lib/types/actions.js +4 -0
  98. package/dist/lib/types/actions.js.map +1 -1
  99. package/dist/lib/types/contracts.d.ts +3 -0
  100. package/dist/lib/types/contracts.d.ts.map +1 -1
  101. package/dist/lib/types/definitions.d.ts +1 -0
  102. package/dist/lib/types/definitions.d.ts.map +1 -1
  103. package/dist/lib/types/index.d.ts +1 -0
  104. package/dist/lib/types/index.d.ts.map +1 -1
  105. package/dist/lib/types/index.js +1 -0
  106. package/dist/lib/types/index.js.map +1 -1
  107. package/dist/lib/types/source.d.ts +26 -0
  108. package/dist/lib/types/source.d.ts.map +1 -0
  109. package/dist/lib/types/source.js +3 -0
  110. package/dist/lib/types/source.js.map +1 -0
  111. package/dist/lib/types/values.d.ts +33 -1
  112. package/dist/lib/types/values.d.ts.map +1 -1
  113. package/package.json +4 -1
  114. package/.eslintrc.json +0 -29
  115. package/.github/workflows/ci.yml +0 -181
  116. package/CONCEPT.md +0 -24
  117. package/contracts/checked-call.huff +0 -65
  118. package/eslint.config.js +0 -48
  119. package/examples/jobs/guards-v1.yaml +0 -17
  120. package/examples/jobs/sequence-seq-0001-patch.yaml +0 -59
  121. package/examples/jobs/sequence-v1.yaml +0 -59
  122. package/examples/templates/sequence-factory-v1.yaml +0 -56
  123. package/jest.config.js +0 -25
  124. package/src/cli.ts +0 -17
  125. package/src/commands/common.ts +0 -61
  126. package/src/commands/dry.ts +0 -209
  127. package/src/commands/etherscan.ts +0 -360
  128. package/src/commands/index.ts +0 -5
  129. package/src/commands/list.ts +0 -249
  130. package/src/commands/run.ts +0 -146
  131. package/src/commands/utils.ts +0 -215
  132. package/src/index.ts +0 -67
  133. package/src/lib/__tests__/deployer-events.spec.ts +0 -338
  134. package/src/lib/__tests__/deployer.spec.ts +0 -2093
  135. package/src/lib/__tests__/network-loader.spec.ts +0 -150
  136. package/src/lib/__tests__/network-selection.spec.ts +0 -41
  137. package/src/lib/__tests__/network-utils.spec.ts +0 -230
  138. package/src/lib/artifacts/__tests__/fixtures/contract1.json +0 -19
  139. package/src/lib/artifacts/__tests__/fixtures/contract2.json +0 -19
  140. package/src/lib/artifacts/__tests__/fixtures/duplicate-name.json +0 -19
  141. package/src/lib/artifacts/__tests__/fixtures/nested/nested-contract.json +0 -18
  142. package/src/lib/artifacts/__tests__/fixtures/not-an-artifact.json +0 -8
  143. package/src/lib/artifacts/__tests__/fixtures/readme.txt +0 -2
  144. package/src/lib/contracts/__tests__/repository.spec.ts +0 -344
  145. package/src/lib/contracts/repository.ts +0 -313
  146. package/src/lib/core/__tests__/context.spec.ts +0 -37
  147. package/src/lib/core/__tests__/engine.spec.ts +0 -1889
  148. package/src/lib/core/__tests__/graph.spec.ts +0 -125
  149. package/src/lib/core/__tests__/json-integration.spec.ts +0 -425
  150. package/src/lib/core/__tests__/loader.spec.ts +0 -334
  151. package/src/lib/core/__tests__/multi-platform-verification.spec.ts +0 -406
  152. package/src/lib/core/__tests__/resolver.spec.ts +0 -2053
  153. package/src/lib/core/__tests__/static-action.spec.ts +0 -172
  154. package/src/lib/core/context.ts +0 -127
  155. package/src/lib/core/engine.ts +0 -1782
  156. package/src/lib/core/graph.ts +0 -252
  157. package/src/lib/core/loader.ts +0 -247
  158. package/src/lib/core/resolver.ts +0 -757
  159. package/src/lib/deployer.ts +0 -981
  160. package/src/lib/events/__tests__/event-system.spec.ts +0 -392
  161. package/src/lib/events/cli-adapter.ts +0 -369
  162. package/src/lib/events/emitter.ts +0 -62
  163. package/src/lib/events/index.ts +0 -3
  164. package/src/lib/events/types.ts +0 -520
  165. package/src/lib/index.ts +0 -14
  166. package/src/lib/network-loader.ts +0 -90
  167. package/src/lib/network-selection.ts +0 -73
  168. package/src/lib/network-utils.ts +0 -64
  169. package/src/lib/parsers/__tests__/buildinfo.spec.ts +0 -122
  170. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-bytecode-buildinfo.json +0 -62
  171. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-json.txt +0 -2
  172. package/src/lib/parsers/__tests__/fixtures/buildinfo/multi-contract-buildinfo.json +0 -89
  173. package/src/lib/parsers/__tests__/fixtures/buildinfo/no-contracts-buildinfo.json +0 -17
  174. package/src/lib/parsers/__tests__/fixtures/buildinfo/simple-buildinfo.json +0 -63
  175. package/src/lib/parsers/__tests__/fixtures/buildinfo/wrong-format.json +0 -4
  176. package/src/lib/parsers/__tests__/job.spec.ts +0 -358
  177. package/src/lib/parsers/__tests__/template.spec.ts +0 -111
  178. package/src/lib/parsers/artifact/__tests__/artifact.spec.ts +0 -117
  179. package/src/lib/parsers/artifact/__tests__/fixtures/empty-bytecode.json +0 -5
  180. package/src/lib/parsers/artifact/__tests__/fixtures/hardhat-artifact.json +0 -67
  181. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-bytecode.json +0 -5
  182. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-json.txt +0 -11
  183. package/src/lib/parsers/artifact/__tests__/fixtures/minimal-artifact.json +0 -5
  184. package/src/lib/parsers/artifact/__tests__/fixtures/missing-abi.json +0 -4
  185. package/src/lib/parsers/artifact/__tests__/fixtures/missing-bytecode.json +0 -11
  186. package/src/lib/parsers/artifact/__tests__/fixtures/missing-contract-name.json +0 -11
  187. package/src/lib/parsers/artifact/__tests__/fixtures/simple-artifact.json +0 -40
  188. package/src/lib/parsers/artifact/__tests__/fixtures/wrong-types.json +0 -7
  189. package/src/lib/parsers/artifact/foundry-1.2.ts +0 -72
  190. package/src/lib/parsers/artifact/index.ts +0 -27
  191. package/src/lib/parsers/artifact/types.ts +0 -9
  192. package/src/lib/parsers/buildinfo.ts +0 -127
  193. package/src/lib/parsers/constants.ts +0 -56
  194. package/src/lib/parsers/index.ts +0 -5
  195. package/src/lib/parsers/job.ts +0 -148
  196. package/src/lib/parsers/template.ts +0 -135
  197. package/src/lib/std/templates/arachnid-deterministic-deployment-proxy.yaml +0 -68
  198. package/src/lib/std/templates/assured-deployment.yaml +0 -46
  199. package/src/lib/std/templates/era-evm-predeploy.yaml +0 -35
  200. package/src/lib/std/templates/erc-2470.yaml +0 -70
  201. package/src/lib/std/templates/min-balance.yaml +0 -35
  202. package/src/lib/std/templates/nano-universal-deployer.yaml +0 -61
  203. package/src/lib/std/templates/raw-erc-2470.yaml +0 -62
  204. package/src/lib/std/templates/raw-nano-universal-deployer.yaml +0 -54
  205. package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +0 -52
  206. package/src/lib/std/templates/sequence-universal-deployer-2.yaml +0 -61
  207. package/src/lib/types/__tests__/json-request-action.spec.ts +0 -243
  208. package/src/lib/types/__tests__/read-json-value.spec.ts +0 -278
  209. package/src/lib/types/__tests__/resolve-json-value.spec.ts +0 -769
  210. package/src/lib/types/actions.ts +0 -127
  211. package/src/lib/types/artifacts.ts +0 -21
  212. package/src/lib/types/buildinfo.ts +0 -116
  213. package/src/lib/types/conditions.ts +0 -50
  214. package/src/lib/types/contracts.ts +0 -23
  215. package/src/lib/types/definitions.ts +0 -70
  216. package/src/lib/types/index.ts +0 -8
  217. package/src/lib/types/network.ts +0 -33
  218. package/src/lib/types/project.ts +0 -9
  219. package/src/lib/types/task.ts +0 -9
  220. package/src/lib/types/values.ts +0 -150
  221. package/src/lib/utils/assertion.ts +0 -24
  222. package/src/lib/utils/validation.ts +0 -116
  223. package/src/lib/validation/contract-references.ts +0 -210
  224. package/src/lib/validation/index.ts +0 -1
  225. package/src/lib/verification/__tests__/etherscan.spec.ts +0 -710
  226. package/src/lib/verification/__tests__/sourcify.spec.ts +0 -288
  227. package/src/lib/verification/etherscan.ts +0 -547
  228. package/src/lib/verification/sourcify.ts +0 -248
  229. package/test_validation/artifacts/TestContract.json +0 -9
  230. package/test_validation/jobs/test-missing.yaml +0 -16
  231. package/test_validation/networks.yaml +0 -3
  232. package/tsconfig.json +0 -36
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provenance.js","sourceRoot":"","sources":["../../src/lib/provenance.ts"],"names":[],"mappings":"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"}
@@ -57,8 +57,48 @@ export interface JsonRequestAction {
57
57
  body?: Value<any>;
58
58
  };
59
59
  }
60
- export type PrimitiveAction = SendTransactionAction | SendSignedTransactionAction | VerifyContractAction | StaticAction | CreateContractAction | TestNicksMethodAction | JsonRequestAction;
61
- declare const primitiveActionTypes: readonly ["send-transaction", "send-signed-transaction", "verify-contract", "static", "create-contract", "test-nicks-method", "json-request"];
60
+ export interface AssertAction {
61
+ type: 'assert';
62
+ arguments: {
63
+ to?: AddressValue;
64
+ signature?: string;
65
+ values?: any[];
66
+ actual?: Value<any>;
67
+ eq?: Value<any>;
68
+ neq?: Value<any>;
69
+ gt?: Value<any>;
70
+ lt?: Value<any>;
71
+ gte?: Value<any>;
72
+ lte?: Value<any>;
73
+ message?: string;
74
+ };
75
+ }
76
+ export interface SignDigestAction {
77
+ type: 'sign-digest';
78
+ arguments: {
79
+ digest: BytesValue;
80
+ };
81
+ }
82
+ export interface SignMessageAction {
83
+ type: 'sign-message';
84
+ arguments: {
85
+ message: Value<string | Uint8Array | number[]>;
86
+ };
87
+ }
88
+ export interface SignTypedDataAction {
89
+ type: 'sign-typed-data';
90
+ arguments: {
91
+ domain: Value<Record<string, any>>;
92
+ types: Value<Record<string, {
93
+ name: string;
94
+ type: string;
95
+ }[]>>;
96
+ message: Value<Record<string, any>>;
97
+ primaryType?: Value<string>;
98
+ };
99
+ }
100
+ export type PrimitiveAction = SendTransactionAction | SendSignedTransactionAction | VerifyContractAction | StaticAction | CreateContractAction | TestNicksMethodAction | JsonRequestAction | AssertAction | SignDigestAction | SignMessageAction | SignTypedDataAction;
101
+ declare const primitiveActionTypes: readonly ["send-transaction", "send-signed-transaction", "verify-contract", "static", "create-contract", "test-nicks-method", "json-request", "assert", "sign-digest", "sign-message", "sign-typed-data"];
62
102
  export declare const PRIMITIVE_ACTION_TYPES: Set<string>;
63
103
  export declare function isPrimitiveActionType(type: string): type is (typeof primitiveActionTypes)[number];
64
104
  export interface TemplateCallAction {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/actions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/actions.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ const primitiveActionTypes = [
10
10
  'create-contract',
11
11
  'test-nicks-method',
12
12
  'json-request',
13
+ 'assert',
14
+ 'sign-digest',
15
+ 'sign-message',
16
+ 'sign-typed-data',
13
17
  ];
14
18
  exports.PRIMITIVE_ACTION_TYPES = new Set(primitiveActionTypes);
15
19
  function isPrimitiveActionType(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/lib/types/actions.ts"],"names":[],"mappings":";;;AA8FA,sDAEC;AAvBD,MAAM,oBAAoB,GAAG;IAC3B,kBAAkB;IAClB,yBAAyB;IACzB,iBAAiB;IACjB,QAAQ;IACR,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;CACN,CAAC;AAME,QAAA,sBAAsB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAO5E,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,8BAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../src/lib/types/actions.ts"],"names":[],"mappings":";;;AAyJA,sDAEC;AA3BD,MAAM,oBAAoB,GAAG;IAC3B,kBAAkB;IAClB,yBAAyB;IACzB,iBAAiB;IACjB,QAAQ;IACR,iBAAiB;IACjB,mBAAmB;IACnB,cAAc;IACd,QAAQ;IACR,aAAa;IACb,cAAc;IACd,iBAAiB;CACT,CAAC;AAME,QAAA,sBAAsB,GAAG,IAAI,GAAG,CAAS,oBAAoB,CAAC,CAAC;AAO5E,SAAgB,qBAAqB,CAAC,IAAY;IAChD,OAAO,8BAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { CompilerInfo } from './artifacts';
2
+ import { SourceProvenance } from './source';
2
3
  export interface Contract {
3
4
  uniqueHash: string;
4
5
  creationCode: string;
@@ -9,6 +10,8 @@ export interface Contract {
9
10
  source?: string;
10
11
  compiler?: CompilerInfo;
11
12
  buildInfoId?: string;
13
+ sourceProvenance?: SourceProvenance;
12
14
  _sources: Set<string>;
15
+ _sourceProvenance?: Map<string, SourceProvenance>;
13
16
  }
14
17
  //# sourceMappingURL=contracts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/lib/types/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,MAAM,WAAW,QAAQ;IAEvB,UAAU,EAAE,MAAM,CAAA;IAGlB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;IAGX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CACtB"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/lib/types/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,WAAW,QAAQ;IAEvB,UAAU,EAAE,MAAM,CAAA;IAGlB,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAA;IAGX,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,MAAM,CAAA;IAGf,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;IAGnC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IACrB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;CAClD"}
@@ -39,6 +39,7 @@ export interface Job {
39
39
  skip_networks?: number[];
40
40
  min_evm_version?: string;
41
41
  skip_condition?: Condition[];
42
+ skip_if?: Condition[];
42
43
  constants?: Record<string, Value<any>>;
43
44
  deprecated?: boolean;
44
45
  _path?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIhC,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IAErB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE;QACJ,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAOtB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/lib/types/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAIhC,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IAErB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC3C,KAAK,CAAC,EAAE;QACJ,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAOtB,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IAExB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAO7B,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,iBAAiB;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -6,4 +6,5 @@ export * from './actions';
6
6
  export * from './definitions';
7
7
  export * from './artifacts';
8
8
  export * from './buildinfo';
9
+ export * from './source';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA"}
@@ -22,4 +22,5 @@ __exportStar(require("./actions"), exports);
22
22
  __exportStar(require("./definitions"), exports);
23
23
  __exportStar(require("./artifacts"), exports);
24
24
  __exportStar(require("./buildinfo"), exports);
25
+ __exportStar(require("./source"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,4CAAyB;AACzB,gDAA6B;AAC7B,8CAA2B;AAC3B,8CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAAyB;AACzB,4CAAyB;AACzB,2CAAwB;AACxB,+CAA4B;AAC5B,4CAAyB;AACzB,gDAA6B;AAC7B,8CAA2B;AAC3B,8CAA2B;AAC3B,2CAAwB"}
@@ -0,0 +1,26 @@
1
+ export interface SourceProvenance {
2
+ repo: string;
3
+ ref?: string;
4
+ commit?: string;
5
+ build?: string;
6
+ image?: string;
7
+ sourceDocumentPath?: string;
8
+ buildInfoPath?: string;
9
+ }
10
+ export interface SourceProvenanceOverride {
11
+ repo?: string;
12
+ ref?: string;
13
+ commit?: string;
14
+ build?: string;
15
+ image?: string;
16
+ }
17
+ export interface BuildInfoSourceProvenance extends SourceProvenance {
18
+ contracts?: Record<string, SourceProvenanceOverride>;
19
+ }
20
+ export interface SourceDocument {
21
+ type: 'source';
22
+ build_info: Record<string, BuildInfoSourceProvenance>;
23
+ warnings?: string[];
24
+ _path?: string;
25
+ }
26
+ //# sourceMappingURL=source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/lib/types/source.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IAOd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAA;CACrD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAA;IACrD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/lib/types/source.ts"],"names":[],"mappings":""}
@@ -42,6 +42,38 @@ export interface ReadBalanceValue {
42
42
  address: AddressValue;
43
43
  };
44
44
  }
45
+ export interface GetStorageAtValue {
46
+ type: 'get-storage-at';
47
+ arguments: {
48
+ address: AddressValue;
49
+ slot: Value<string | number>;
50
+ };
51
+ }
52
+ export type ComputeSlotArguments = {
53
+ kind: 'mapping';
54
+ slot: Value<string | number>;
55
+ key: Value<string | number | boolean>;
56
+ keyType?: Value<string>;
57
+ } | {
58
+ kind: 'dynamic-array';
59
+ slot: Value<string | number>;
60
+ index?: Value<string | number>;
61
+ elementSize?: Value<string | number>;
62
+ } | {
63
+ kind: 'struct-field';
64
+ slot: Value<string | number>;
65
+ offset: Value<string | number>;
66
+ } | {
67
+ kind: 'erc7201';
68
+ id: Value<string>;
69
+ } | {
70
+ kind: 'eip1967';
71
+ name: Value<'implementation' | 'admin' | 'beacon'>;
72
+ };
73
+ export interface ComputeSlotValue {
74
+ type: 'compute-slot';
75
+ arguments: ComputeSlotArguments;
76
+ }
45
77
  export interface BasicArithmeticValue {
46
78
  type: 'basic-arithmetic';
47
79
  arguments: {
@@ -95,7 +127,7 @@ export interface SliceBytesValue {
95
127
  range?: Value<string>;
96
128
  };
97
129
  }
98
- export type ValueResolver = AbiEncodeValue | AbiPackValue | ConstructorEncodeValue | ComputeCreateValue | ComputeCreate2Value | ReadBalanceValue | BasicArithmeticValue | CallValue | ContractExistsValue | JobCompletedValue | ReadJsonValue | ResolveJsonValue | ValueEmptyValue | SliceBytesValue;
130
+ export type ValueResolver = AbiEncodeValue | AbiPackValue | ConstructorEncodeValue | ComputeCreateValue | ComputeCreate2Value | ReadBalanceValue | GetStorageAtValue | ComputeSlotValue | BasicArithmeticValue | CallValue | ContractExistsValue | JobCompletedValue | ReadJsonValue | ResolveJsonValue | ValueEmptyValue | SliceBytesValue;
99
131
  export type Value<T = string | number | boolean> = T | Reference | ValueResolver;
100
132
  export type BytesValue = Value<string>;
101
133
  export type AddressValue = Value<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/lib/types/values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../../src/lib/types/values.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "@0xsequence/catapult",
3
- "version": "1.3.17",
3
+ "version": "1.5.0",
4
4
  "description": "Ethereum contract deployment CLI tool",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
7
7
  "catapult": "dist/index.js"
8
8
  },
9
+ "files": [
10
+ "dist"
11
+ ],
9
12
  "scripts": {
10
13
  "build": "tsc && cp -r src/lib/std dist/lib/",
11
14
  "dev": "ts-node src/index.ts",
package/.eslintrc.json DELETED
@@ -1,29 +0,0 @@
1
- {
2
- "env": {
3
- "es2021": true,
4
- "node": true
5
- },
6
- "extends": [
7
- "eslint:recommended",
8
- "@typescript-eslint/recommended"
9
- ],
10
- "parser": "@typescript-eslint/parser",
11
- "parserOptions": {
12
- "ecmaVersion": "latest",
13
- "sourceType": "module"
14
- },
15
- "plugins": [
16
- "@typescript-eslint"
17
- ],
18
- "rules": {
19
- "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
20
- "@typescript-eslint/explicit-function-return-type": "off",
21
- "@typescript-eslint/no-explicit-any": "warn",
22
- "@typescript-eslint/no-var-requires": "off",
23
- "prefer-const": "error",
24
- "no-var": "error",
25
- "semi": ["error", "never"],
26
- "@typescript-eslint/semi": ["error", "never"]
27
- },
28
- "ignorePatterns": ["dist/", "node_modules/"]
29
- }
@@ -1,181 +0,0 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [ master ]
6
- pull_request:
7
- branches: [ master ]
8
-
9
- jobs:
10
- install:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Checkout code
14
- uses: actions/checkout@v4
15
-
16
- - name: Setup Node.js
17
- uses: actions/setup-node@v4
18
- with:
19
- node-version: '18'
20
-
21
- - name: Install pnpm
22
- uses: pnpm/action-setup@v2
23
- with:
24
- version: 9
25
-
26
- - name: Cache pnpm store
27
- uses: actions/cache@v4
28
- with:
29
- path: ~/.pnpm-store
30
- key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
31
- restore-keys: |
32
- ${{ runner.os }}-pnpm-store-
33
-
34
- - name: Cache node_modules
35
- uses: actions/cache@v4
36
- with:
37
- path: node_modules
38
- key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }}
39
- restore-keys: |
40
- ${{ runner.os }}-node-modules-
41
-
42
- - name: Install dependencies
43
- run: pnpm install --frozen-lockfile
44
-
45
- build:
46
- runs-on: ubuntu-latest
47
- needs: install
48
- steps:
49
- - name: Checkout code
50
- uses: actions/checkout@v4
51
-
52
- - name: Setup Node.js
53
- uses: actions/setup-node@v4
54
- with:
55
- node-version: '18'
56
-
57
- - name: Install pnpm
58
- uses: pnpm/action-setup@v2
59
- with:
60
- version: 9
61
-
62
- - name: Restore node_modules cache
63
- uses: actions/cache@v4
64
- with:
65
- path: node_modules
66
- key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }}
67
- restore-keys: |
68
- ${{ runner.os }}-node-modules-
69
-
70
- - name: Install dependencies (if cache miss)
71
- run: pnpm install --frozen-lockfile
72
-
73
- - name: Run build
74
- run: pnpm run build
75
-
76
- - name: Cache build artifacts
77
- uses: actions/cache@v4
78
- with:
79
- path: dist
80
- key: ${{ runner.os }}-build-${{ github.sha }}
81
-
82
- lint:
83
- runs-on: ubuntu-latest
84
- needs: install
85
- steps:
86
- - name: Checkout code
87
- uses: actions/checkout@v4
88
-
89
- - name: Setup Node.js
90
- uses: actions/setup-node@v4
91
- with:
92
- node-version: '18'
93
-
94
- - name: Install pnpm
95
- uses: pnpm/action-setup@v2
96
- with:
97
- version: 9
98
-
99
- - name: Restore node_modules cache
100
- uses: actions/cache@v4
101
- with:
102
- path: node_modules
103
- key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }}
104
- restore-keys: |
105
- ${{ runner.os }}-node-modules-
106
-
107
- - name: Install dependencies (if cache miss)
108
- run: pnpm install --frozen-lockfile
109
-
110
- - name: Run lint
111
- run: pnpm run lint
112
-
113
- test:
114
- runs-on: ubuntu-latest
115
- needs: [install, build]
116
- steps:
117
- - name: Checkout code
118
- uses: actions/checkout@v4
119
-
120
- - name: Setup Node.js
121
- uses: actions/setup-node@v4
122
- with:
123
- node-version: '18'
124
-
125
- - name: Install pnpm
126
- uses: pnpm/action-setup@v2
127
- with:
128
- version: 9
129
-
130
- - name: Restore node_modules cache
131
- uses: actions/cache@v4
132
- with:
133
- path: node_modules
134
- key: ${{ runner.os }}-node-modules-${{ hashFiles('**/pnpm-lock.yaml') }}
135
- restore-keys: |
136
- ${{ runner.os }}-node-modules-
137
-
138
- - name: Restore build artifacts
139
- uses: actions/cache@v4
140
- with:
141
- path: dist
142
- key: ${{ runner.os }}-build-${{ github.sha }}
143
-
144
- - name: Install dependencies (if cache miss)
145
- run: pnpm install --frozen-lockfile
146
-
147
- - name: Install Foundry
148
- uses: foundry-rs/foundry-toolchain@v1
149
- with:
150
- version: nightly
151
-
152
- - name: Start Anvil
153
- run: |
154
- anvil --host 0.0.0.0 --accounts 10 --balance 1000 &
155
- # Wait for Anvil to be ready by checking if it responds to requests
156
- echo "Waiting for Anvil to be ready..."
157
- for i in {1..30}; do
158
- if curl -s -X POST -H "Content-Type: application/json" \
159
- --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' \
160
- http://localhost:8545 > /dev/null 2>&1; then
161
- echo "Anvil is ready!"
162
- break
163
- fi
164
- echo "Attempt $i/30: Anvil not ready yet, waiting 1 second..."
165
- sleep 1
166
- done
167
-
168
- # Final check to ensure Anvil is responding
169
- if ! curl -s -X POST -H "Content-Type: application/json" \
170
- --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' \
171
- http://localhost:8545 > /dev/null 2>&1; then
172
- echo "ERROR: Anvil failed to start properly!"
173
- exit 1
174
- fi
175
- env:
176
- ANVIL_IP_ADDR: 0.0.0.0
177
-
178
- - name: Run tests
179
- run: pnpm run test
180
- env:
181
- NODE_ENV: test
package/CONCEPT.md DELETED
@@ -1,24 +0,0 @@
1
- # Concept document - loosely defined idea
2
-
3
- The idea of this project is to create a contract deployment and management framework. It is not intended to be authenticated; it is intended to replay contract deployments or pre-signed transactions, and more generally unauthenticated actions. The need for this project is that Sequence has a multitude of contracts, migrations, factories, etc., that need to be deployed every time a new chain pops up (or local testing is needed), and keeping track of all these chains and their current deployment status is tricky. This project allows for the creation of a single repository of YAML files that define what needs to be deployed, in what order, and what depends on what.
4
-
5
- There should be two kinds of “actions” that can be defined for a deployment. One kind is “built-in” actions; these are defined by code. They include things like sending a transaction, sending a pre-signed transaction, calling the key machine, verifying a contract, calling a service, etc. They should be basic and primitive. Actions may return values—for example, a transaction hash when sending a transaction, or an ok/not-ok when verifying a contract, etc.
6
-
7
- Another primitive should be “modifiers” or “composite values.” These are also implemented with code in the project. They include doing ABI encode, constructor-arg encode, comparing whether a value is high enough, performing math, etc. These are required because sometimes operations depend on a formula derived from another operation (let’s say a universal deployer needs to have X funds to deploy the factory using Nick’s method; you need to compute how much you have to transfer to reach the threshold, etc.). A more common scenario is having to do ABI.encode or constructors.
8
-
9
- Ideally, these methods are pretty low-level, and most of the heavy lifting is done by “templates.” Templates are also actions, but they can be reused by other actions. For example, Sequence has its own factory contracts and deployers; we don’t want to define them in the project one by one. Instead, it would be best if these could be defined as templates and later reused, so adding more factory kinds does not require modifying this project and doing another release. It should be noted that sometimes factories themselves have to be deployed—for example, when we deploy the Sequence v1 factory we first have to deploy the universal deployer 2, and when we deploy the universal deployer 2 we first need the nano deployer, etc. So templates by themselves have a sort of “setup” factory.
10
-
11
- Jobs are a collection of actions. Some jobs may depend on other jobs; some actions within a job may depend on actions from within the same job, but no actions from one job can depend on actions from another job (the whole job has to depend). Actions can reference output values from other jobs as long as they depend on them. This defines a sort of order graph on which jobs and actions need to be executed. Some jobs and some actions may be 100% independent of each other.
12
-
13
- Networks can be defined in a `networks.yaml` file (or a directory with many networks; I am not sure yet). Each network has a name, explorer, chainId, and RPC. Networks may have modifiers, like how much gas has to be sent, etc., but by default the program should try to “guess it” by looking at past blocks. Jobs run by default on all networks unless some networks are excluded (`skip_networks`) or only some networks are requested (`only_networks`). These are arrays of chainIds in the YAML file.
14
-
15
- Signers are abstracted with the idea that eventually this can run in a browser and a MetaMask-like wallet could perform the transactions (acting as the relayer or the sender), but for now we just implement an EOA signer, a private key that has to be passed, and it is expected to have the funds needed to execute all the transactions and fund everything that needs to be funded. The CLI just takes that as an ENV variable or a CLI argument.
16
-
17
- One important aspect of the project is that it should simplify dealing with build artifacts, so it does not require too much manual work. The project should be able to reference any build artifact either by using the hash of the artifact (a hash that can be obtained with the command `bin artifacts hashes`) or by using the path to the artifact. Ideally, artifacts can be provided in different formats and the program just takes care of it; they could be JSON files, nested directories, JS files, etc. It should try to be as smart as possible in the sense that it just figures out the format.
18
-
19
- Running the CLI generates an `output` directory with job results. This contains the latest run date, the list of chainIds where everything has been successful, and the outputs of all actions and templates that ran on those jobs; each job has its own file. If there have been any errors, no output is generated, and instead the CLI fails. The CLI can run any number of jobs at the same time, and it just figures it out.
20
-
21
- The CLI also has methods to:
22
-
23
- * dry-run and verify the correctness of the YAML definitions of a project
24
- * obtain all the artifacts detected and their hashes
@@ -1,65 +0,0 @@
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
- }