@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.
Files changed (393) hide show
  1. package/.eslintrc.json +29 -0
  2. package/.github/workflows/ci.yml +181 -0
  3. package/CONCEPT.md +24 -0
  4. package/README.md +772 -0
  5. package/contracts/checked-call.huff +65 -0
  6. package/dist/cli.d.ts +3 -0
  7. package/dist/cli.d.ts.map +1 -0
  8. package/dist/cli.js +16 -0
  9. package/dist/cli.js.map +1 -0
  10. package/dist/commands/common.d.ts +11 -0
  11. package/dist/commands/common.d.ts.map +1 -0
  12. package/dist/commands/common.js +73 -0
  13. package/dist/commands/common.js.map +1 -0
  14. package/dist/commands/dry.d.ts +3 -0
  15. package/dist/commands/dry.d.ts.map +1 -0
  16. package/dist/commands/dry.js +171 -0
  17. package/dist/commands/dry.js.map +1 -0
  18. package/dist/commands/etherscan.d.ts +3 -0
  19. package/dist/commands/etherscan.d.ts.map +1 -0
  20. package/dist/commands/etherscan.js +323 -0
  21. package/dist/commands/etherscan.js.map +1 -0
  22. package/dist/commands/index.d.ts +6 -0
  23. package/dist/commands/index.d.ts.map +1 -0
  24. package/dist/commands/index.js +22 -0
  25. package/dist/commands/index.js.map +1 -0
  26. package/dist/commands/list.d.ts +3 -0
  27. package/dist/commands/list.d.ts.map +1 -0
  28. package/dist/commands/list.js +259 -0
  29. package/dist/commands/list.js.map +1 -0
  30. package/dist/commands/run.d.ts +3 -0
  31. package/dist/commands/run.d.ts.map +1 -0
  32. package/dist/commands/run.js +96 -0
  33. package/dist/commands/run.js.map +1 -0
  34. package/dist/commands/utils.d.ts +3 -0
  35. package/dist/commands/utils.d.ts.map +1 -0
  36. package/dist/commands/utils.js +46 -0
  37. package/dist/commands/utils.js.map +1 -0
  38. package/dist/index.d.ts +4 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +58 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/lib/__tests__/deployer-events.spec.d.ts +2 -0
  43. package/dist/lib/__tests__/deployer-events.spec.d.ts.map +1 -0
  44. package/dist/lib/__tests__/deployer-events.spec.js +260 -0
  45. package/dist/lib/__tests__/deployer-events.spec.js.map +1 -0
  46. package/dist/lib/__tests__/deployer.spec.d.ts +2 -0
  47. package/dist/lib/__tests__/deployer.spec.d.ts.map +1 -0
  48. package/dist/lib/__tests__/deployer.spec.js +884 -0
  49. package/dist/lib/__tests__/deployer.spec.js.map +1 -0
  50. package/dist/lib/__tests__/network-utils.spec.d.ts +2 -0
  51. package/dist/lib/__tests__/network-utils.spec.d.ts.map +1 -0
  52. package/dist/lib/__tests__/network-utils.spec.js +140 -0
  53. package/dist/lib/__tests__/network-utils.spec.js.map +1 -0
  54. package/dist/lib/contracts/__tests__/repository.spec.d.ts +2 -0
  55. package/dist/lib/contracts/__tests__/repository.spec.d.ts.map +1 -0
  56. package/dist/lib/contracts/__tests__/repository.spec.js +321 -0
  57. package/dist/lib/contracts/__tests__/repository.spec.js.map +1 -0
  58. package/dist/lib/contracts/repository.d.ts +27 -0
  59. package/dist/lib/contracts/repository.d.ts.map +1 -0
  60. package/dist/lib/contracts/repository.js +241 -0
  61. package/dist/lib/contracts/repository.js.map +1 -0
  62. package/dist/lib/core/__tests__/engine.spec.d.ts +2 -0
  63. package/dist/lib/core/__tests__/engine.spec.d.ts.map +1 -0
  64. package/dist/lib/core/__tests__/engine.spec.js +1212 -0
  65. package/dist/lib/core/__tests__/engine.spec.js.map +1 -0
  66. package/dist/lib/core/__tests__/graph.spec.d.ts +2 -0
  67. package/dist/lib/core/__tests__/graph.spec.d.ts.map +1 -0
  68. package/dist/lib/core/__tests__/graph.spec.js +116 -0
  69. package/dist/lib/core/__tests__/graph.spec.js.map +1 -0
  70. package/dist/lib/core/__tests__/json-integration.spec.d.ts +2 -0
  71. package/dist/lib/core/__tests__/json-integration.spec.d.ts.map +1 -0
  72. package/dist/lib/core/__tests__/json-integration.spec.js +300 -0
  73. package/dist/lib/core/__tests__/json-integration.spec.js.map +1 -0
  74. package/dist/lib/core/__tests__/loader.spec.d.ts +2 -0
  75. package/dist/lib/core/__tests__/loader.spec.d.ts.map +1 -0
  76. package/dist/lib/core/__tests__/loader.spec.js +288 -0
  77. package/dist/lib/core/__tests__/loader.spec.js.map +1 -0
  78. package/dist/lib/core/__tests__/multi-platform-verification.spec.d.ts +2 -0
  79. package/dist/lib/core/__tests__/multi-platform-verification.spec.d.ts.map +1 -0
  80. package/dist/lib/core/__tests__/multi-platform-verification.spec.js +342 -0
  81. package/dist/lib/core/__tests__/multi-platform-verification.spec.js.map +1 -0
  82. package/dist/lib/core/__tests__/resolver.spec.d.ts +2 -0
  83. package/dist/lib/core/__tests__/resolver.spec.d.ts.map +1 -0
  84. package/dist/lib/core/__tests__/resolver.spec.js +1367 -0
  85. package/dist/lib/core/__tests__/resolver.spec.js.map +1 -0
  86. package/dist/lib/core/__tests__/static-action.spec.d.ts +2 -0
  87. package/dist/lib/core/__tests__/static-action.spec.d.ts.map +1 -0
  88. package/dist/lib/core/__tests__/static-action.spec.js +136 -0
  89. package/dist/lib/core/__tests__/static-action.spec.js.map +1 -0
  90. package/dist/lib/core/context.d.ts +29 -0
  91. package/dist/lib/core/context.d.ts.map +1 -0
  92. package/dist/lib/core/context.js +88 -0
  93. package/dist/lib/core/context.js.map +1 -0
  94. package/dist/lib/core/engine.d.ts +25 -0
  95. package/dist/lib/core/engine.d.ts.map +1 -0
  96. package/dist/lib/core/engine.js +1191 -0
  97. package/dist/lib/core/engine.js.map +1 -0
  98. package/dist/lib/core/graph.d.ts +18 -0
  99. package/dist/lib/core/graph.d.ts.map +1 -0
  100. package/dist/lib/core/graph.js +158 -0
  101. package/dist/lib/core/graph.js.map +1 -0
  102. package/dist/lib/core/loader.d.ts +25 -0
  103. package/dist/lib/core/loader.d.ts.map +1 -0
  104. package/dist/lib/core/loader.js +248 -0
  105. package/dist/lib/core/loader.js.map +1 -0
  106. package/dist/lib/core/resolver.d.ts +20 -0
  107. package/dist/lib/core/resolver.d.ts.map +1 -0
  108. package/dist/lib/core/resolver.js +307 -0
  109. package/dist/lib/core/resolver.js.map +1 -0
  110. package/dist/lib/deployer.d.ts +39 -0
  111. package/dist/lib/deployer.d.ts.map +1 -0
  112. package/dist/lib/deployer.js +533 -0
  113. package/dist/lib/deployer.js.map +1 -0
  114. package/dist/lib/events/__tests__/event-system.spec.d.ts +2 -0
  115. package/dist/lib/events/__tests__/event-system.spec.d.ts.map +1 -0
  116. package/dist/lib/events/__tests__/event-system.spec.js +256 -0
  117. package/dist/lib/events/__tests__/event-system.spec.js.map +1 -0
  118. package/dist/lib/events/cli-adapter.d.ts +13 -0
  119. package/dist/lib/events/cli-adapter.d.ts.map +1 -0
  120. package/dist/lib/events/cli-adapter.js +244 -0
  121. package/dist/lib/events/cli-adapter.js.map +1 -0
  122. package/dist/lib/events/emitter.d.ts +11 -0
  123. package/dist/lib/events/emitter.d.ts.map +1 -0
  124. package/dist/lib/events/emitter.js +29 -0
  125. package/dist/lib/events/emitter.js.map +1 -0
  126. package/dist/lib/events/index.d.ts +4 -0
  127. package/dist/lib/events/index.d.ts.map +1 -0
  128. package/dist/lib/events/index.js +20 -0
  129. package/dist/lib/events/index.js.map +1 -0
  130. package/dist/lib/events/types.d.ts +368 -0
  131. package/dist/lib/events/types.d.ts.map +1 -0
  132. package/dist/lib/events/types.js +3 -0
  133. package/dist/lib/events/types.js.map +1 -0
  134. package/dist/lib/index.d.ts +5 -0
  135. package/dist/lib/index.d.ts.map +1 -0
  136. package/dist/lib/index.js +44 -0
  137. package/dist/lib/index.js.map +1 -0
  138. package/dist/lib/network-loader.d.ts +3 -0
  139. package/dist/lib/network-loader.d.ts.map +1 -0
  140. package/dist/lib/network-loader.js +80 -0
  141. package/dist/lib/network-loader.js.map +1 -0
  142. package/dist/lib/network-match.d.ts +3 -0
  143. package/dist/lib/network-match.d.ts.map +1 -0
  144. package/dist/lib/network-match.js +62 -0
  145. package/dist/lib/network-match.js.map +1 -0
  146. package/dist/lib/network-utils.d.ts +4 -0
  147. package/dist/lib/network-utils.d.ts.map +1 -0
  148. package/dist/lib/network-utils.js +39 -0
  149. package/dist/lib/network-utils.js.map +1 -0
  150. package/dist/lib/parsers/__tests__/buildinfo.spec.d.ts +2 -0
  151. package/dist/lib/parsers/__tests__/buildinfo.spec.d.ts.map +1 -0
  152. package/dist/lib/parsers/__tests__/buildinfo.spec.js +132 -0
  153. package/dist/lib/parsers/__tests__/buildinfo.spec.js.map +1 -0
  154. package/dist/lib/parsers/__tests__/job.spec.d.ts +2 -0
  155. package/dist/lib/parsers/__tests__/job.spec.d.ts.map +1 -0
  156. package/dist/lib/parsers/__tests__/job.spec.js +318 -0
  157. package/dist/lib/parsers/__tests__/job.spec.js.map +1 -0
  158. package/dist/lib/parsers/__tests__/template.spec.d.ts +2 -0
  159. package/dist/lib/parsers/__tests__/template.spec.d.ts.map +1 -0
  160. package/dist/lib/parsers/__tests__/template.spec.js +126 -0
  161. package/dist/lib/parsers/__tests__/template.spec.js.map +1 -0
  162. package/dist/lib/parsers/artifact/__tests__/artifact.spec.d.ts +2 -0
  163. package/dist/lib/parsers/artifact/__tests__/artifact.spec.d.ts.map +1 -0
  164. package/dist/lib/parsers/artifact/__tests__/artifact.spec.js +128 -0
  165. package/dist/lib/parsers/artifact/__tests__/artifact.spec.js.map +1 -0
  166. package/dist/lib/parsers/artifact/foundry-1.2.d.ts +3 -0
  167. package/dist/lib/parsers/artifact/foundry-1.2.d.ts.map +1 -0
  168. package/dist/lib/parsers/artifact/foundry-1.2.js +82 -0
  169. package/dist/lib/parsers/artifact/foundry-1.2.js.map +1 -0
  170. package/dist/lib/parsers/artifact/index.d.ts +3 -0
  171. package/dist/lib/parsers/artifact/index.d.ts.map +1 -0
  172. package/dist/lib/parsers/artifact/index.js +17 -0
  173. package/dist/lib/parsers/artifact/index.js.map +1 -0
  174. package/dist/lib/parsers/artifact/types.d.ts +3 -0
  175. package/dist/lib/parsers/artifact/types.d.ts.map +1 -0
  176. package/dist/lib/parsers/artifact/types.js +3 -0
  177. package/dist/lib/parsers/artifact/types.js.map +1 -0
  178. package/dist/lib/parsers/buildinfo.d.ts +5 -0
  179. package/dist/lib/parsers/buildinfo.d.ts.map +1 -0
  180. package/dist/lib/parsers/buildinfo.js +85 -0
  181. package/dist/lib/parsers/buildinfo.js.map +1 -0
  182. package/dist/lib/parsers/constants.d.ts +4 -0
  183. package/dist/lib/parsers/constants.d.ts.map +1 -0
  184. package/dist/lib/parsers/constants.js +45 -0
  185. package/dist/lib/parsers/constants.js.map +1 -0
  186. package/dist/lib/parsers/index.d.ts +5 -0
  187. package/dist/lib/parsers/index.d.ts.map +1 -0
  188. package/dist/lib/parsers/index.js +21 -0
  189. package/dist/lib/parsers/index.js.map +1 -0
  190. package/dist/lib/parsers/job.d.ts +3 -0
  191. package/dist/lib/parsers/job.d.ts.map +1 -0
  192. package/dist/lib/parsers/job.js +74 -0
  193. package/dist/lib/parsers/job.js.map +1 -0
  194. package/dist/lib/parsers/template.d.ts +3 -0
  195. package/dist/lib/parsers/template.d.ts.map +1 -0
  196. package/dist/lib/parsers/template.js +91 -0
  197. package/dist/lib/parsers/template.js.map +1 -0
  198. package/dist/lib/std/templates/assured-deployment.yaml +45 -0
  199. package/dist/lib/std/templates/erc-2470.yaml +67 -0
  200. package/dist/lib/std/templates/min-balance.yaml +32 -0
  201. package/dist/lib/std/templates/nano-universal-deployer.yaml +59 -0
  202. package/dist/lib/std/templates/raw-erc-2470.yaml +59 -0
  203. package/dist/lib/std/templates/raw-nano-universal-deployer.yaml +51 -0
  204. package/dist/lib/std/templates/raw-sequence-universal-deployer-2.yaml +48 -0
  205. package/dist/lib/std/templates/sequence-universal-deployer-2.yaml +57 -0
  206. package/dist/lib/types/__tests__/json-request-action.spec.d.ts +2 -0
  207. package/dist/lib/types/__tests__/json-request-action.spec.d.ts.map +1 -0
  208. package/dist/lib/types/__tests__/json-request-action.spec.js +219 -0
  209. package/dist/lib/types/__tests__/json-request-action.spec.js.map +1 -0
  210. package/dist/lib/types/__tests__/read-json-value.spec.d.ts +2 -0
  211. package/dist/lib/types/__tests__/read-json-value.spec.d.ts.map +1 -0
  212. package/dist/lib/types/__tests__/read-json-value.spec.js +233 -0
  213. package/dist/lib/types/__tests__/read-json-value.spec.js.map +1 -0
  214. package/dist/lib/types/actions.d.ts +74 -0
  215. package/dist/lib/types/actions.d.ts.map +1 -0
  216. package/dist/lib/types/actions.js +18 -0
  217. package/dist/lib/types/actions.js.map +1 -0
  218. package/dist/lib/types/artifacts.d.ts +15 -0
  219. package/dist/lib/types/artifacts.d.ts.map +1 -0
  220. package/dist/lib/types/artifacts.js +3 -0
  221. package/dist/lib/types/artifacts.js.map +1 -0
  222. package/dist/lib/types/buildinfo.d.ts +112 -0
  223. package/dist/lib/types/buildinfo.d.ts.map +1 -0
  224. package/dist/lib/types/buildinfo.js +3 -0
  225. package/dist/lib/types/buildinfo.js.map +1 -0
  226. package/dist/lib/types/conditions.d.ts +17 -0
  227. package/dist/lib/types/conditions.d.ts.map +1 -0
  228. package/dist/lib/types/conditions.js +21 -0
  229. package/dist/lib/types/conditions.js.map +1 -0
  230. package/dist/lib/types/contracts.d.ts +14 -0
  231. package/dist/lib/types/contracts.d.ts.map +1 -0
  232. package/dist/lib/types/contracts.js +3 -0
  233. package/dist/lib/types/contracts.js.map +1 -0
  234. package/dist/lib/types/definitions.d.ts +51 -0
  235. package/dist/lib/types/definitions.d.ts.map +1 -0
  236. package/dist/lib/types/definitions.js +3 -0
  237. package/dist/lib/types/definitions.js.map +1 -0
  238. package/dist/lib/types/index.d.ts +9 -0
  239. package/dist/lib/types/index.d.ts.map +1 -0
  240. package/dist/lib/types/index.js +25 -0
  241. package/dist/lib/types/index.js.map +1 -0
  242. package/dist/lib/types/network.d.ts +9 -0
  243. package/dist/lib/types/network.d.ts.map +1 -0
  244. package/dist/lib/types/network.js +3 -0
  245. package/dist/lib/types/network.js.map +1 -0
  246. package/dist/lib/types/project.d.ts +5 -0
  247. package/dist/lib/types/project.d.ts.map +1 -0
  248. package/dist/lib/types/project.js +3 -0
  249. package/dist/lib/types/project.js.map +1 -0
  250. package/dist/lib/types/task.d.ts +9 -0
  251. package/dist/lib/types/task.d.ts.map +1 -0
  252. package/dist/lib/types/task.js +3 -0
  253. package/dist/lib/types/task.js.map +1 -0
  254. package/dist/lib/types/values.d.ts +78 -0
  255. package/dist/lib/types/values.d.ts.map +1 -0
  256. package/dist/lib/types/values.js +3 -0
  257. package/dist/lib/types/values.js.map +1 -0
  258. package/dist/lib/utils/validation.d.ts +5 -0
  259. package/dist/lib/utils/validation.d.ts.map +1 -0
  260. package/dist/lib/utils/validation.js +77 -0
  261. package/dist/lib/utils/validation.js.map +1 -0
  262. package/dist/lib/validation/contract-references.d.ts +12 -0
  263. package/dist/lib/validation/contract-references.d.ts.map +1 -0
  264. package/dist/lib/validation/contract-references.js +112 -0
  265. package/dist/lib/validation/contract-references.js.map +1 -0
  266. package/dist/lib/validation/index.d.ts +1 -0
  267. package/dist/lib/validation/index.d.ts.map +1 -0
  268. package/dist/lib/validation/index.js +2 -0
  269. package/dist/lib/validation/index.js.map +1 -0
  270. package/dist/lib/verification/__tests__/etherscan.spec.d.ts +2 -0
  271. package/dist/lib/verification/__tests__/etherscan.spec.d.ts.map +1 -0
  272. package/dist/lib/verification/__tests__/etherscan.spec.js +565 -0
  273. package/dist/lib/verification/__tests__/etherscan.spec.js.map +1 -0
  274. package/dist/lib/verification/__tests__/sourcify.spec.d.ts +2 -0
  275. package/dist/lib/verification/__tests__/sourcify.spec.d.ts.map +1 -0
  276. package/dist/lib/verification/__tests__/sourcify.spec.js +212 -0
  277. package/dist/lib/verification/__tests__/sourcify.spec.js.map +1 -0
  278. package/dist/lib/verification/etherscan.d.ts +56 -0
  279. package/dist/lib/verification/etherscan.d.ts.map +1 -0
  280. package/dist/lib/verification/etherscan.js +340 -0
  281. package/dist/lib/verification/etherscan.js.map +1 -0
  282. package/dist/lib/verification/sourcify.d.ts +12 -0
  283. package/dist/lib/verification/sourcify.d.ts.map +1 -0
  284. package/dist/lib/verification/sourcify.js +227 -0
  285. package/dist/lib/verification/sourcify.js.map +1 -0
  286. package/eslint.config.js +48 -0
  287. package/examples/jobs/guards-v1.yaml +17 -0
  288. package/examples/jobs/sequence-seq-0001-patch.yaml +59 -0
  289. package/examples/jobs/sequence-v1.yaml +59 -0
  290. package/examples/templates/sequence-factory-v1.yaml +56 -0
  291. package/jest.config.js +25 -0
  292. package/package.json +68 -0
  293. package/src/cli.ts +17 -0
  294. package/src/commands/common.ts +61 -0
  295. package/src/commands/dry.ts +208 -0
  296. package/src/commands/etherscan.ts +360 -0
  297. package/src/commands/index.ts +5 -0
  298. package/src/commands/list.ts +249 -0
  299. package/src/commands/run.ts +136 -0
  300. package/src/commands/utils.ts +52 -0
  301. package/src/index.ts +67 -0
  302. package/src/lib/__tests__/deployer-events.spec.ts +338 -0
  303. package/src/lib/__tests__/deployer.spec.ts +1204 -0
  304. package/src/lib/__tests__/network-utils.spec.ts +181 -0
  305. package/src/lib/artifacts/__tests__/fixtures/contract1.json +19 -0
  306. package/src/lib/artifacts/__tests__/fixtures/contract2.json +19 -0
  307. package/src/lib/artifacts/__tests__/fixtures/duplicate-name.json +19 -0
  308. package/src/lib/artifacts/__tests__/fixtures/nested/nested-contract.json +18 -0
  309. package/src/lib/artifacts/__tests__/fixtures/not-an-artifact.json +8 -0
  310. package/src/lib/artifacts/__tests__/fixtures/readme.txt +2 -0
  311. package/src/lib/contracts/__tests__/repository.spec.ts +344 -0
  312. package/src/lib/contracts/repository.ts +313 -0
  313. package/src/lib/core/__tests__/engine.spec.ts +1514 -0
  314. package/src/lib/core/__tests__/graph.spec.ts +125 -0
  315. package/src/lib/core/__tests__/json-integration.spec.ts +360 -0
  316. package/src/lib/core/__tests__/loader.spec.ts +334 -0
  317. package/src/lib/core/__tests__/multi-platform-verification.spec.ts +406 -0
  318. package/src/lib/core/__tests__/resolver.spec.ts +1693 -0
  319. package/src/lib/core/__tests__/static-action.spec.ts +172 -0
  320. package/src/lib/core/context.ts +127 -0
  321. package/src/lib/core/engine.ts +1531 -0
  322. package/src/lib/core/graph.ts +252 -0
  323. package/src/lib/core/loader.ts +263 -0
  324. package/src/lib/core/resolver.ts +498 -0
  325. package/src/lib/deployer.ts +768 -0
  326. package/src/lib/events/__tests__/event-system.spec.ts +343 -0
  327. package/src/lib/events/cli-adapter.ts +325 -0
  328. package/src/lib/events/emitter.ts +62 -0
  329. package/src/lib/events/index.ts +3 -0
  330. package/src/lib/events/types.ts +469 -0
  331. package/src/lib/index.ts +14 -0
  332. package/src/lib/network-loader.ts +59 -0
  333. package/src/lib/network-utils.ts +64 -0
  334. package/src/lib/parsers/__tests__/buildinfo.spec.ts +122 -0
  335. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-bytecode-buildinfo.json +62 -0
  336. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-json.txt +2 -0
  337. package/src/lib/parsers/__tests__/fixtures/buildinfo/multi-contract-buildinfo.json +89 -0
  338. package/src/lib/parsers/__tests__/fixtures/buildinfo/no-contracts-buildinfo.json +17 -0
  339. package/src/lib/parsers/__tests__/fixtures/buildinfo/simple-buildinfo.json +63 -0
  340. package/src/lib/parsers/__tests__/fixtures/buildinfo/wrong-format.json +4 -0
  341. package/src/lib/parsers/__tests__/job.spec.ts +335 -0
  342. package/src/lib/parsers/__tests__/template.spec.ts +111 -0
  343. package/src/lib/parsers/artifact/__tests__/artifact.spec.ts +117 -0
  344. package/src/lib/parsers/artifact/__tests__/fixtures/empty-bytecode.json +5 -0
  345. package/src/lib/parsers/artifact/__tests__/fixtures/hardhat-artifact.json +67 -0
  346. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-bytecode.json +5 -0
  347. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-json.txt +11 -0
  348. package/src/lib/parsers/artifact/__tests__/fixtures/minimal-artifact.json +5 -0
  349. package/src/lib/parsers/artifact/__tests__/fixtures/missing-abi.json +4 -0
  350. package/src/lib/parsers/artifact/__tests__/fixtures/missing-bytecode.json +11 -0
  351. package/src/lib/parsers/artifact/__tests__/fixtures/missing-contract-name.json +11 -0
  352. package/src/lib/parsers/artifact/__tests__/fixtures/simple-artifact.json +40 -0
  353. package/src/lib/parsers/artifact/__tests__/fixtures/wrong-types.json +7 -0
  354. package/src/lib/parsers/artifact/foundry-1.2.ts +72 -0
  355. package/src/lib/parsers/artifact/index.ts +27 -0
  356. package/src/lib/parsers/artifact/types.ts +9 -0
  357. package/src/lib/parsers/buildinfo.ts +127 -0
  358. package/src/lib/parsers/constants.ts +56 -0
  359. package/src/lib/parsers/index.ts +5 -0
  360. package/src/lib/parsers/job.ts +101 -0
  361. package/src/lib/parsers/template.ts +131 -0
  362. package/src/lib/std/templates/assured-deployment.yaml +45 -0
  363. package/src/lib/std/templates/erc-2470.yaml +67 -0
  364. package/src/lib/std/templates/min-balance.yaml +32 -0
  365. package/src/lib/std/templates/nano-universal-deployer.yaml +59 -0
  366. package/src/lib/std/templates/raw-erc-2470.yaml +59 -0
  367. package/src/lib/std/templates/raw-nano-universal-deployer.yaml +51 -0
  368. package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +48 -0
  369. package/src/lib/std/templates/sequence-universal-deployer-2.yaml +57 -0
  370. package/src/lib/types/__tests__/json-request-action.spec.ts +243 -0
  371. package/src/lib/types/__tests__/read-json-value.spec.ts +264 -0
  372. package/src/lib/types/actions.ts +127 -0
  373. package/src/lib/types/artifacts.ts +21 -0
  374. package/src/lib/types/buildinfo.ts +116 -0
  375. package/src/lib/types/conditions.ts +50 -0
  376. package/src/lib/types/contracts.ts +23 -0
  377. package/src/lib/types/definitions.ts +68 -0
  378. package/src/lib/types/index.ts +8 -0
  379. package/src/lib/types/network.ts +22 -0
  380. package/src/lib/types/project.ts +9 -0
  381. package/src/lib/types/task.ts +9 -0
  382. package/src/lib/types/values.ts +116 -0
  383. package/src/lib/utils/validation.ts +116 -0
  384. package/src/lib/validation/contract-references.ts +210 -0
  385. package/src/lib/validation/index.ts +1 -0
  386. package/src/lib/verification/__tests__/etherscan.spec.ts +710 -0
  387. package/src/lib/verification/__tests__/sourcify.spec.ts +288 -0
  388. package/src/lib/verification/etherscan.ts +546 -0
  389. package/src/lib/verification/sourcify.ts +248 -0
  390. package/test_validation/artifacts/TestContract.json +9 -0
  391. package/test_validation/jobs/test-missing.yaml +16 -0
  392. package/test_validation/networks.yaml +3 -0
  393. package/tsconfig.json +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.spec.js","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/engine.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=graph.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/graph.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,116 @@
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
+ const path = __importStar(require("path"));
37
+ const loader_1 = require("../loader");
38
+ const graph_1 = require("../graph");
39
+ describe('DependencyGraph', () => {
40
+ let loader;
41
+ beforeAll(async () => {
42
+ const projectRoot = path.resolve(__dirname, '../../../../examples');
43
+ loader = new loader_1.ProjectLoader(projectRoot);
44
+ await loader.load();
45
+ });
46
+ it('should be created without errors for a valid project', () => {
47
+ expect(() => new graph_1.DependencyGraph(loader.jobs, loader.templates)).not.toThrow();
48
+ });
49
+ it('should identify direct dependencies from `depends_on` field', () => {
50
+ const graph = new graph_1.DependencyGraph(loader.jobs, loader.templates);
51
+ const guardsDeps = graph.getDependencies('guards-v1');
52
+ expect(guardsDeps.has('sequence-v1')).toBe(true);
53
+ });
54
+ it('should identify dependencies from a template setup block (`job-completed`)', () => {
55
+ const jobs = new Map();
56
+ const templates = new Map();
57
+ templates.set('template-with-setup', {
58
+ name: 'template-with-setup',
59
+ actions: [],
60
+ setup: { skip_condition: [{ type: 'job-completed', arguments: { job: 'dependency-job' } }] },
61
+ });
62
+ jobs.set('job-A', { name: 'job-A', version: '1', actions: [{ name: 'a1', template: 'template-with-setup', arguments: {} }] });
63
+ jobs.set('dependency-job', { name: 'dependency-job', version: '1', actions: [] });
64
+ const graph = new graph_1.DependencyGraph(jobs, templates);
65
+ const jobADeps = graph.getDependencies('job-A');
66
+ expect(jobADeps.has('dependency-job')).toBe(true);
67
+ });
68
+ it('should identify nested dependencies from templates calling templates in setup', () => {
69
+ const graph = new graph_1.DependencyGraph(loader.jobs, loader.templates);
70
+ const seqV1Deps = graph.getDependencies('sequence-v1');
71
+ expect(seqV1Deps.size).toBe(0);
72
+ });
73
+ it('should correctly identify transitive dependencies', () => {
74
+ const graph = new graph_1.DependencyGraph(loader.jobs, loader.templates);
75
+ const patchDeps = graph.getDependencies('sequence-v1-seq-0001-patch');
76
+ expect(patchDeps.has('guards-v1')).toBe(true);
77
+ expect(patchDeps.has('sequence-v1')).toBe(true);
78
+ expect(patchDeps.size).toBe(2);
79
+ });
80
+ it('should produce a valid topological sort order', () => {
81
+ const graph = new graph_1.DependencyGraph(loader.jobs, loader.templates);
82
+ const order = graph.getExecutionOrder();
83
+ const patchIndex = order.indexOf('sequence-v1-seq-0001-patch');
84
+ const guardsIndex = order.indexOf('guards-v1');
85
+ const seqV1Index = order.indexOf('sequence-v1');
86
+ expect(patchIndex).toBeGreaterThan(guardsIndex);
87
+ expect(patchIndex).toBeGreaterThan(seqV1Index);
88
+ expect(guardsIndex).toBeGreaterThan(seqV1Index);
89
+ });
90
+ describe('Cycle Detection', () => {
91
+ it('should throw an error for a simple (A -> B -> A) cycle', () => {
92
+ const jobs = new Map();
93
+ jobs.set('job-A', { name: 'job-A', version: '1', actions: [], depends_on: ['job-B'] });
94
+ jobs.set('job-B', { name: 'job-B', version: '1', actions: [], depends_on: ['job-A'] });
95
+ expect(() => new graph_1.DependencyGraph(jobs, new Map())).toThrow(/Circular dependency detected: job-A -> job-B -> job-A/);
96
+ });
97
+ it('should throw an error for a longer (A -> B -> C -> A) cycle', () => {
98
+ const jobs = new Map();
99
+ jobs.set('job-A', { name: 'job-A', version: '1', actions: [], depends_on: ['job-B'] });
100
+ jobs.set('job-B', { name: 'job-B', version: '1', actions: [], depends_on: ['job-C'] });
101
+ jobs.set('job-C', { name: 'job-C', version: '1', actions: [], depends_on: ['job-A'] });
102
+ expect(() => new graph_1.DependencyGraph(jobs, new Map())).toThrow(/Circular dependency detected: job-A -> job-B -> job-C -> job-A/);
103
+ });
104
+ it('should throw an error for a self-referencing cycle', () => {
105
+ const jobs = new Map();
106
+ jobs.set('job-A', { name: 'job-A', version: '1', actions: [], depends_on: ['job-A'] });
107
+ expect(() => new graph_1.DependencyGraph(jobs, new Map())).toThrow(/Circular dependency detected: job-A -> job-A/);
108
+ });
109
+ });
110
+ it('should throw an error for a dependency on a non-existent job', () => {
111
+ const jobs = new Map();
112
+ jobs.set('job-A', { name: 'job-A', version: '1', actions: [], depends_on: ['job-non-existent'] });
113
+ expect(() => new graph_1.DependencyGraph(jobs, new Map())).toThrow('Invalid dependency: Job "job-A" depends on "job-non-existent", which does not exist.');
114
+ });
115
+ });
116
+ //# sourceMappingURL=graph.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.spec.js","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/graph.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=json-integration.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-integration.spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/json-integration.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,300 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const engine_1 = require("../engine");
4
+ const resolver_1 = require("../resolver");
5
+ const repository_1 = require("../../contracts/repository");
6
+ const etherscan_1 = require("../../verification/etherscan");
7
+ describe('JSON Integration Tests', () => {
8
+ let engine;
9
+ let context;
10
+ let resolver;
11
+ let mockNetwork;
12
+ let mockRegistry;
13
+ let templates;
14
+ beforeEach(() => {
15
+ mockNetwork = { name: 'testnet', chainId: 999, rpcUrl: 'http://localhost:8545' };
16
+ mockRegistry = new repository_1.ContractRepository();
17
+ context = {
18
+ getNetwork: () => mockNetwork,
19
+ setOutput: jest.fn(),
20
+ getOutput: jest.fn(),
21
+ setContextPath: jest.fn(),
22
+ getContextPath: jest.fn(),
23
+ dispose: jest.fn(),
24
+ provider: {},
25
+ contractRepository: mockRegistry
26
+ };
27
+ templates = new Map();
28
+ const verificationRegistry = new etherscan_1.VerificationPlatformRegistry();
29
+ engine = new engine_1.ExecutionEngine(templates, undefined, verificationRegistry);
30
+ resolver = new resolver_1.ValueResolver();
31
+ });
32
+ describe('ReadJsonValue resolver', () => {
33
+ it('should extract nested values from JSON objects', async () => {
34
+ const testJson = {
35
+ txs: {
36
+ to: '0x596aF90CecdBF9A768886E771178fd5561dD27Ab',
37
+ data: '0x1234'
38
+ }
39
+ };
40
+ const value = {
41
+ type: 'read-json',
42
+ arguments: {
43
+ json: testJson,
44
+ path: 'txs.data'
45
+ }
46
+ };
47
+ const result = await resolver.resolve(value, context);
48
+ expect(result).toBe('0x1234');
49
+ });
50
+ it('should extract nested address values', async () => {
51
+ const testJson = {
52
+ txs: {
53
+ to: '0x596aF90CecdBF9A768886E771178fd5561dD27Ab',
54
+ data: '0x1234'
55
+ }
56
+ };
57
+ const value = {
58
+ type: 'read-json',
59
+ arguments: {
60
+ json: testJson,
61
+ path: 'txs.to'
62
+ }
63
+ };
64
+ const result = await resolver.resolve(value, context);
65
+ expect(result).toBe('0x596aF90CecdBF9A768886E771178fd5561dD27Ab');
66
+ });
67
+ it('should handle array access', async () => {
68
+ const testJson = {
69
+ transactions: [
70
+ { hash: '0xabc123', value: '1000' },
71
+ { hash: '0xdef456', value: '2000' }
72
+ ]
73
+ };
74
+ const value = {
75
+ type: 'read-json',
76
+ arguments: {
77
+ json: testJson,
78
+ path: 'transactions.1.hash'
79
+ }
80
+ };
81
+ const result = await resolver.resolve(value, context);
82
+ expect(result).toBe('0xdef456');
83
+ });
84
+ it('should handle deeply nested objects', async () => {
85
+ const testJson = {
86
+ response: {
87
+ data: {
88
+ blockchain: {
89
+ ethereum: {
90
+ contracts: {
91
+ token: {
92
+ address: '0x123456789',
93
+ symbol: 'TEST'
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ };
101
+ const value = {
102
+ type: 'read-json',
103
+ arguments: {
104
+ json: testJson,
105
+ path: 'response.data.blockchain.ethereum.contracts.token.symbol'
106
+ }
107
+ };
108
+ const result = await resolver.resolve(value, context);
109
+ expect(result).toBe('TEST');
110
+ });
111
+ it('should return entire object when path is empty', async () => {
112
+ const testJson = { name: 'test', value: 42 };
113
+ const value = {
114
+ type: 'read-json',
115
+ arguments: {
116
+ json: testJson,
117
+ path: ''
118
+ }
119
+ };
120
+ const result = await resolver.resolve(value, context);
121
+ expect(result).toEqual(testJson);
122
+ });
123
+ it('should throw error for invalid paths', async () => {
124
+ const testJson = { name: 'test' };
125
+ const value = {
126
+ type: 'read-json',
127
+ arguments: {
128
+ json: testJson,
129
+ path: 'nonexistent.field'
130
+ }
131
+ };
132
+ await expect(resolver.resolve(value, context)).rejects.toThrow('read-json: Failed to access path "nonexistent.field"');
133
+ });
134
+ it('should handle null and undefined values gracefully', async () => {
135
+ const testJson = {
136
+ data: {
137
+ value: null,
138
+ missing: undefined
139
+ }
140
+ };
141
+ const nullValue = {
142
+ type: 'read-json',
143
+ arguments: {
144
+ json: testJson,
145
+ path: 'data.value'
146
+ }
147
+ };
148
+ const result = await resolver.resolve(nullValue, context);
149
+ expect(result).toBeNull();
150
+ });
151
+ it('should work with template variables', async () => {
152
+ const mockJson = {
153
+ api: {
154
+ response: {
155
+ status: 'success',
156
+ data: '0xabcdef'
157
+ }
158
+ }
159
+ };
160
+ const originalResolve = resolver.resolve.bind(resolver);
161
+ jest.spyOn(resolver, 'resolve').mockImplementation(async (value, ctx, scope) => {
162
+ if (value === '{{apiResponse}}') {
163
+ return mockJson;
164
+ }
165
+ if (value === '{{extractPath}}') {
166
+ return 'api.response.data';
167
+ }
168
+ return originalResolve(value, ctx, scope);
169
+ });
170
+ const value = {
171
+ type: 'read-json',
172
+ arguments: {
173
+ json: '{{apiResponse}}',
174
+ path: '{{extractPath}}'
175
+ }
176
+ };
177
+ const result = await resolver.resolve(value, context);
178
+ expect(result).toBe('0xabcdef');
179
+ });
180
+ });
181
+ describe('JsonRequestAction integration', () => {
182
+ it('should handle json-request action type validation', () => {
183
+ const action = {
184
+ type: 'json-request',
185
+ name: 'test-request',
186
+ arguments: {
187
+ url: 'https://api.example.com/data',
188
+ method: 'GET'
189
+ }
190
+ };
191
+ expect(action.type).toBe('json-request');
192
+ expect(action.arguments.url).toBe('https://api.example.com/data');
193
+ expect(action.arguments.method).toBe('GET');
194
+ });
195
+ it('should validate required url parameter', async () => {
196
+ const action = {
197
+ type: 'json-request',
198
+ name: 'test-request',
199
+ arguments: {
200
+ url: null
201
+ }
202
+ };
203
+ const mockEngine = {
204
+ resolver: {
205
+ resolve: jest.fn().mockResolvedValue(null)
206
+ }
207
+ };
208
+ expect(mockEngine.resolver.resolve).toBeDefined();
209
+ });
210
+ });
211
+ describe('End-to-end workflow simulation', () => {
212
+ it('should simulate the Guard API example workflow', async () => {
213
+ const mockApiResponse = {
214
+ txs: {
215
+ to: '0x596aF90CecdBF9A768886E771178fd5561dD27Ab',
216
+ data: '0x1234'
217
+ }
218
+ };
219
+ context.setOutput('guard-patch-request.response', mockApiResponse);
220
+ const extractDataValue = {
221
+ type: 'read-json',
222
+ arguments: {
223
+ json: mockApiResponse,
224
+ path: 'txs.data'
225
+ }
226
+ };
227
+ const extractedData = await resolver.resolve(extractDataValue, context);
228
+ expect(extractedData).toBe('0x1234');
229
+ const extractToValue = {
230
+ type: 'read-json',
231
+ arguments: {
232
+ json: mockApiResponse,
233
+ path: 'txs.to'
234
+ }
235
+ };
236
+ const extractedTo = await resolver.resolve(extractToValue, context);
237
+ expect(extractedTo).toBe('0x596aF90CecdBF9A768886E771178fd5561dD27Ab');
238
+ expect(extractedData).toBe('0x1234');
239
+ expect(extractedTo).toBe('0x596aF90CecdBF9A768886E771178fd5561dD27Ab');
240
+ });
241
+ it('should handle complex nested API responses', async () => {
242
+ const complexApiResponse = {
243
+ status: 'success',
244
+ data: {
245
+ blockchain: 'ethereum',
246
+ network: 'mainnet',
247
+ transactions: [
248
+ {
249
+ hash: '0xabc123',
250
+ to: '0x111111',
251
+ data: '0xfirst'
252
+ },
253
+ {
254
+ hash: '0xdef456',
255
+ to: '0x222222',
256
+ data: '0xsecond'
257
+ }
258
+ ],
259
+ metadata: {
260
+ timestamp: 1234567890,
261
+ source: 'guard-api'
262
+ }
263
+ }
264
+ };
265
+ const statusValue = {
266
+ type: 'read-json',
267
+ arguments: {
268
+ json: complexApiResponse,
269
+ path: 'status'
270
+ }
271
+ };
272
+ const firstTxData = {
273
+ type: 'read-json',
274
+ arguments: {
275
+ json: complexApiResponse,
276
+ path: 'data.transactions.0.data'
277
+ }
278
+ };
279
+ const secondTxTo = {
280
+ type: 'read-json',
281
+ arguments: {
282
+ json: complexApiResponse,
283
+ path: 'data.transactions.1.to'
284
+ }
285
+ };
286
+ const timestamp = {
287
+ type: 'read-json',
288
+ arguments: {
289
+ json: complexApiResponse,
290
+ path: 'data.metadata.timestamp'
291
+ }
292
+ };
293
+ expect(await resolver.resolve(statusValue, context)).toBe('success');
294
+ expect(await resolver.resolve(firstTxData, context)).toBe('0xfirst');
295
+ expect(await resolver.resolve(secondTxTo, context)).toBe('0x222222');
296
+ expect(await resolver.resolve(timestamp, context)).toBe(1234567890);
297
+ });
298
+ });
299
+ });
300
+ //# sourceMappingURL=json-integration.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-integration.spec.js","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/json-integration.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=loader.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.spec.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/__tests__/loader.spec.ts"],"names":[],"mappings":""}