@0xsequence/catapult 1.4.0 → 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 (163) hide show
  1. package/README.md +27 -0
  2. package/dist/lib/__tests__/network-loader.spec.js.map +1 -1
  3. package/dist/lib/core/__tests__/resolver.spec.js +22 -0
  4. package/dist/lib/core/__tests__/resolver.spec.js.map +1 -1
  5. package/dist/lib/core/__tests__/sign-actions.spec.d.ts +2 -0
  6. package/dist/lib/core/__tests__/sign-actions.spec.d.ts.map +1 -0
  7. package/dist/lib/core/__tests__/sign-actions.spec.js +128 -0
  8. package/dist/lib/core/__tests__/sign-actions.spec.js.map +1 -0
  9. package/dist/lib/core/__tests__/signer.spec.d.ts +2 -0
  10. package/dist/lib/core/__tests__/signer.spec.d.ts.map +1 -0
  11. package/dist/lib/core/__tests__/signer.spec.js +40 -0
  12. package/dist/lib/core/__tests__/signer.spec.js.map +1 -0
  13. package/dist/lib/core/context.d.ts +3 -2
  14. package/dist/lib/core/context.d.ts.map +1 -1
  15. package/dist/lib/core/context.js +3 -2
  16. package/dist/lib/core/context.js.map +1 -1
  17. package/dist/lib/core/engine.d.ts +4 -0
  18. package/dist/lib/core/engine.d.ts.map +1 -1
  19. package/dist/lib/core/engine.js +173 -0
  20. package/dist/lib/core/engine.js.map +1 -1
  21. package/dist/lib/core/signer.d.ts +7 -0
  22. package/dist/lib/core/signer.d.ts.map +1 -0
  23. package/dist/lib/core/signer.js +60 -0
  24. package/dist/lib/core/signer.js.map +1 -0
  25. package/dist/lib/parsers/__tests__/source.spec.js +37 -0
  26. package/dist/lib/parsers/__tests__/source.spec.js.map +1 -1
  27. package/dist/lib/parsers/source.js +1 -1
  28. package/dist/lib/parsers/source.js.map +1 -1
  29. package/dist/lib/provenance.js +51 -2
  30. package/dist/lib/provenance.js.map +1 -1
  31. package/dist/lib/types/actions.d.ts +26 -2
  32. package/dist/lib/types/actions.d.ts.map +1 -1
  33. package/dist/lib/types/actions.js +3 -0
  34. package/dist/lib/types/actions.js.map +1 -1
  35. package/dist/lib/types/source.d.ts +2 -0
  36. package/dist/lib/types/source.d.ts.map +1 -1
  37. package/package.json +4 -1
  38. package/.eslintrc.json +0 -29
  39. package/.github/workflows/ci.yml +0 -181
  40. package/CONCEPT.md +0 -24
  41. package/contracts/checked-call.huff +0 -65
  42. package/eslint.config.js +0 -48
  43. package/examples/jobs/guards-v1.yaml +0 -17
  44. package/examples/jobs/sequence-seq-0001-patch.yaml +0 -59
  45. package/examples/jobs/sequence-v1.yaml +0 -59
  46. package/examples/templates/sequence-factory-v1.yaml +0 -56
  47. package/jest.config.js +0 -25
  48. package/src/cli.ts +0 -18
  49. package/src/commands/common.ts +0 -61
  50. package/src/commands/dry.ts +0 -209
  51. package/src/commands/etherscan.ts +0 -360
  52. package/src/commands/index.ts +0 -6
  53. package/src/commands/list.ts +0 -262
  54. package/src/commands/provenance.ts +0 -120
  55. package/src/commands/run.ts +0 -146
  56. package/src/commands/utils.ts +0 -215
  57. package/src/index.ts +0 -67
  58. package/src/lib/__tests__/deployer-events.spec.ts +0 -338
  59. package/src/lib/__tests__/deployer.spec.ts +0 -2269
  60. package/src/lib/__tests__/network-loader.spec.ts +0 -150
  61. package/src/lib/__tests__/network-selection.spec.ts +0 -41
  62. package/src/lib/__tests__/network-utils.spec.ts +0 -230
  63. package/src/lib/__tests__/provenance.spec.ts +0 -208
  64. package/src/lib/artifacts/__tests__/fixtures/contract1.json +0 -19
  65. package/src/lib/artifacts/__tests__/fixtures/contract2.json +0 -19
  66. package/src/lib/artifacts/__tests__/fixtures/duplicate-name.json +0 -19
  67. package/src/lib/artifacts/__tests__/fixtures/nested/nested-contract.json +0 -18
  68. package/src/lib/artifacts/__tests__/fixtures/not-an-artifact.json +0 -8
  69. package/src/lib/artifacts/__tests__/fixtures/readme.txt +0 -2
  70. package/src/lib/contracts/__tests__/repository.spec.ts +0 -612
  71. package/src/lib/contracts/repository.ts +0 -411
  72. package/src/lib/core/__tests__/assert-action.spec.ts +0 -474
  73. package/src/lib/core/__tests__/context.spec.ts +0 -37
  74. package/src/lib/core/__tests__/engine.spec.ts +0 -2005
  75. package/src/lib/core/__tests__/graph.spec.ts +0 -125
  76. package/src/lib/core/__tests__/json-integration.spec.ts +0 -425
  77. package/src/lib/core/__tests__/loader.spec.ts +0 -367
  78. package/src/lib/core/__tests__/multi-platform-verification.spec.ts +0 -406
  79. package/src/lib/core/__tests__/resolver.spec.ts +0 -2496
  80. package/src/lib/core/__tests__/static-action.spec.ts +0 -172
  81. package/src/lib/core/context.ts +0 -127
  82. package/src/lib/core/engine.ts +0 -1834
  83. package/src/lib/core/graph.ts +0 -252
  84. package/src/lib/core/loader.ts +0 -253
  85. package/src/lib/core/resolver.ts +0 -873
  86. package/src/lib/deployer.ts +0 -1005
  87. package/src/lib/events/__tests__/event-system.spec.ts +0 -392
  88. package/src/lib/events/cli-adapter.ts +0 -369
  89. package/src/lib/events/emitter.ts +0 -62
  90. package/src/lib/events/index.ts +0 -3
  91. package/src/lib/events/types.ts +0 -520
  92. package/src/lib/index.ts +0 -17
  93. package/src/lib/network-loader.ts +0 -90
  94. package/src/lib/network-selection.ts +0 -73
  95. package/src/lib/network-utils.ts +0 -64
  96. package/src/lib/parsers/__tests__/buildinfo.spec.ts +0 -122
  97. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-bytecode-buildinfo.json +0 -62
  98. package/src/lib/parsers/__tests__/fixtures/buildinfo/invalid-json.txt +0 -2
  99. package/src/lib/parsers/__tests__/fixtures/buildinfo/multi-contract-buildinfo.json +0 -89
  100. package/src/lib/parsers/__tests__/fixtures/buildinfo/no-contracts-buildinfo.json +0 -17
  101. package/src/lib/parsers/__tests__/fixtures/buildinfo/simple-buildinfo.json +0 -63
  102. package/src/lib/parsers/__tests__/fixtures/buildinfo/wrong-format.json +0 -4
  103. package/src/lib/parsers/__tests__/job.spec.ts +0 -439
  104. package/src/lib/parsers/__tests__/source.spec.ts +0 -134
  105. package/src/lib/parsers/__tests__/template.spec.ts +0 -111
  106. package/src/lib/parsers/artifact/__tests__/artifact.spec.ts +0 -117
  107. package/src/lib/parsers/artifact/__tests__/fixtures/empty-bytecode.json +0 -5
  108. package/src/lib/parsers/artifact/__tests__/fixtures/hardhat-artifact.json +0 -67
  109. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-bytecode.json +0 -5
  110. package/src/lib/parsers/artifact/__tests__/fixtures/invalid-json.txt +0 -11
  111. package/src/lib/parsers/artifact/__tests__/fixtures/minimal-artifact.json +0 -5
  112. package/src/lib/parsers/artifact/__tests__/fixtures/missing-abi.json +0 -4
  113. package/src/lib/parsers/artifact/__tests__/fixtures/missing-bytecode.json +0 -11
  114. package/src/lib/parsers/artifact/__tests__/fixtures/missing-contract-name.json +0 -11
  115. package/src/lib/parsers/artifact/__tests__/fixtures/simple-artifact.json +0 -40
  116. package/src/lib/parsers/artifact/__tests__/fixtures/wrong-types.json +0 -7
  117. package/src/lib/parsers/artifact/foundry-1.2.ts +0 -72
  118. package/src/lib/parsers/artifact/index.ts +0 -27
  119. package/src/lib/parsers/artifact/types.ts +0 -9
  120. package/src/lib/parsers/buildinfo.ts +0 -127
  121. package/src/lib/parsers/constants.ts +0 -56
  122. package/src/lib/parsers/index.ts +0 -6
  123. package/src/lib/parsers/job.ts +0 -160
  124. package/src/lib/parsers/source.ts +0 -129
  125. package/src/lib/parsers/template.ts +0 -135
  126. package/src/lib/provenance.ts +0 -785
  127. package/src/lib/std/templates/arachnid-deterministic-deployment-proxy.yaml +0 -68
  128. package/src/lib/std/templates/assured-deployment.yaml +0 -46
  129. package/src/lib/std/templates/era-evm-predeploy.yaml +0 -35
  130. package/src/lib/std/templates/erc-2470.yaml +0 -70
  131. package/src/lib/std/templates/min-balance.yaml +0 -35
  132. package/src/lib/std/templates/nano-universal-deployer.yaml +0 -61
  133. package/src/lib/std/templates/raw-erc-2470.yaml +0 -62
  134. package/src/lib/std/templates/raw-nano-universal-deployer.yaml +0 -54
  135. package/src/lib/std/templates/raw-sequence-universal-deployer-2.yaml +0 -52
  136. package/src/lib/std/templates/sequence-universal-deployer-2.yaml +0 -61
  137. package/src/lib/types/__tests__/json-request-action.spec.ts +0 -243
  138. package/src/lib/types/__tests__/read-json-value.spec.ts +0 -278
  139. package/src/lib/types/__tests__/resolve-json-value.spec.ts +0 -769
  140. package/src/lib/types/actions.ts +0 -148
  141. package/src/lib/types/artifacts.ts +0 -21
  142. package/src/lib/types/buildinfo.ts +0 -116
  143. package/src/lib/types/conditions.ts +0 -50
  144. package/src/lib/types/contracts.ts +0 -26
  145. package/src/lib/types/definitions.ts +0 -77
  146. package/src/lib/types/index.ts +0 -9
  147. package/src/lib/types/network.ts +0 -33
  148. package/src/lib/types/project.ts +0 -9
  149. package/src/lib/types/source.ts +0 -26
  150. package/src/lib/types/task.ts +0 -9
  151. package/src/lib/types/values.ts +0 -221
  152. package/src/lib/utils/assertion.ts +0 -24
  153. package/src/lib/utils/validation.ts +0 -116
  154. package/src/lib/validation/contract-references.ts +0 -210
  155. package/src/lib/validation/index.ts +0 -1
  156. package/src/lib/verification/__tests__/etherscan.spec.ts +0 -710
  157. package/src/lib/verification/__tests__/sourcify.spec.ts +0 -288
  158. package/src/lib/verification/etherscan.ts +0 -547
  159. package/src/lib/verification/sourcify.ts +0 -248
  160. package/test_validation/artifacts/TestContract.json +0 -9
  161. package/test_validation/jobs/test-missing.yaml +0 -16
  162. package/test_validation/networks.yaml +0 -3
  163. package/tsconfig.json +0 -36
@@ -1,68 +0,0 @@
1
- # Similar to "nano-universal-deployer" but targets Arachnid's Deterministic Deployment Proxy
2
- # (a CREATE2 deployer available at 0x4e59… on every chain). The proxy call reverts when the
3
- # inner CREATE2 fails, so no additional assurance wrapper is needed.
4
- name: "arachnid-deterministic-deployment-proxy"
5
- type: "template"
6
- description: "Deploy contracts through Arachnid's Deterministic Deployment Proxy"
7
-
8
- arguments:
9
- creationCode:
10
- type: "bytes"
11
- description: "Creation code of the contract to deploy"
12
- salt:
13
- type: "bytes32"
14
- description: "Salt supplied to the proxy for CREATE2"
15
-
16
- returns:
17
- address:
18
- type: "address"
19
- description: "Address of the deployed contract"
20
-
21
- setup:
22
- skip_condition:
23
- - type: "contract-exists"
24
- arguments:
25
- address: "0x4e59b44847b379578588920ca78fbf26c0b4956c"
26
- actions:
27
- - type: "test-nicks-method"
28
- - type: "min-balance"
29
- arguments:
30
- address: "0x3fab184622dc19b6109349b94811493bf2a45362"
31
- balance: "10000000000000000"
32
- - type: "send-signed-transaction"
33
- arguments:
34
- transaction: |
35
- 0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222
36
-
37
- actions:
38
- - type: "send-transaction"
39
- arguments:
40
- to: "0x4e59b44847b379578588920ca78fbf26c0b4956c"
41
- data:
42
- type: "abi-pack"
43
- arguments:
44
- types:
45
- - "bytes32"
46
- - "bytes"
47
- values:
48
- - "{{salt}}"
49
- - "{{creationCode}}"
50
- gasMultiplier: 1.6
51
-
52
- skip_condition:
53
- - type: "contract-exists"
54
- arguments:
55
- address:
56
- type: "compute-create2"
57
- arguments:
58
- deployerAddress: "0x4e59b44847b379578588920ca78fbf26c0b4956c"
59
- salt: "{{salt}}"
60
- initCode: "{{creationCode}}"
61
-
62
- outputs:
63
- address:
64
- type: "compute-create2"
65
- arguments:
66
- deployerAddress: "0x4e59b44847b379578588920ca78fbf26c0b4956c"
67
- salt: "{{salt}}"
68
- initCode: "{{creationCode}}"
@@ -1,46 +0,0 @@
1
- # Wraps a factory call with a CREATE that runs a minimal assurance program.
2
- # Why: Some universal deployers/factories do not revert on low gas; gas estimation
3
- # can therefore succeed even when the inner deployment fails. This wrapper forces
4
- # the top-level transaction to revert if the target was not actually created,
5
- # making gas estimation accurate and avoiding silent failures.
6
- #
7
- # How: We use a contract creation (CREATE) to prepend arbitrary bytecode that:
8
- # - Receives (targetAddress, factoryAddress, callData)
9
- # - Performs the factory call
10
- # - Checks that code exists at targetAddress, reverting if not
11
- # This is implemented by the small Huff program `contracts/checked-call.huff`,
12
- # embedded below as bytecode. Using CREATE is the only way to execute arbitrary
13
- # code before the call data, hence the wrapping pattern.
14
- name: "assured-deployment"
15
- type: "template"
16
- description: "Wraps a factory call with a CREATE that runs a minimal assurance program"
17
-
18
- arguments:
19
- targetAddress:
20
- type: "address"
21
- description: "The address that is expected to exist after the factory call (e.g., CREATE2 result)"
22
- factoryAddress:
23
- type: "address"
24
- description: "The factory that will perform the deployment"
25
- callData:
26
- type: "bytes"
27
- description: "The encoded call to the factory (e.g., abi-encoded deploy(...))"
28
-
29
- actions:
30
- - type: "create-contract"
31
- arguments:
32
- data:
33
- type: "abi-pack"
34
- arguments:
35
- types:
36
- - "bytes"
37
- - "address"
38
- - "address"
39
- - "bytes"
40
- values:
41
- - "0x383d8039602c5160601c3d813b60295780806054380360548260405160601c5af150903b60295780fd5b80f3" # checked-call.huff
42
- - "{{targetAddress}}"
43
- - "{{factoryAddress}}"
44
- - "{{callData}}"
45
-
46
-
@@ -1,35 +0,0 @@
1
- # Calls the EVM predeploy manager to deploy preapproved contracts to ZK Era chains.
2
- # The ZKSync Era predeploy manager is 0x0000000000000000000000000000000000008014.
3
- # https://github.com/matter-labs/era-contracts/blob/540762151e3b030cac8ea274284b249f549e2c2a/system-contracts/contracts/EvmPredeploysManager.sol
4
- name: "era-evm-predeploy"
5
- type: "template"
6
- description: "Deploy an approved predeployed contract to the EVM"
7
-
8
- arguments:
9
- evmPredeployManager:
10
- type: "address"
11
- description: "The address of the EVM predeploy manager"
12
- address:
13
- type: "address"
14
- description: "The address of the predeployed contract to deploy"
15
- bytecode:
16
- type: "bytes"
17
- description: "The deployment bytecode of the predeployed contract to deploy"
18
-
19
- skip_condition:
20
- - type: "contract-exists"
21
- arguments:
22
- address: "{{address}}"
23
-
24
- actions:
25
- - name: "deploy"
26
- type: "send-transaction"
27
- arguments:
28
- to: "{{evmPredeployManager}}"
29
- data:
30
- type: "abi-encode"
31
- arguments:
32
- signature: "deployPredeployedContract(address,bytes)"
33
- values:
34
- - "{{address}}"
35
- - "{{bytecode}}"
@@ -1,70 +0,0 @@
1
- # Similar to "raw-erc-2470" but it
2
- # uses some extra logic, delivered as a create-contract action, that ensures that the top level call fails if the contract
3
- # fails to deploy. This ensures that the gas estimation is accurate and the transaction won't silently fail with out of gas.
4
- name: "erc-2470"
5
- type: "template"
6
-
7
- arguments:
8
- creationCode:
9
- type: "bytes"
10
- description: "The creation code of the contract to deploy"
11
- salt:
12
- type: "bytes32"
13
- description: "The salt for deployment"
14
-
15
- returns:
16
- address:
17
- type: "address"
18
- description: "The address of the deployed contract"
19
-
20
- setup:
21
- skip_condition:
22
- - type: "contract-exists"
23
- arguments:
24
- address: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
25
- actions:
26
- - type: "test-nicks-method"
27
- - type: "min-balance"
28
- arguments:
29
- address: "0xBb6e024b9cFFACB947A71991E386681B1Cd1477D"
30
- balance: "24700000000000000"
31
- - type: "send-signed-transaction"
32
- arguments:
33
- transaction: |
34
- 0xf9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470
35
-
36
- actions:
37
- - type: "assured-deployment"
38
- arguments:
39
- targetAddress:
40
- type: "compute-create2"
41
- arguments:
42
- deployerAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
43
- salt: "{{salt}}"
44
- initCode: "{{creationCode}}"
45
- factoryAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
46
- callData:
47
- type: "abi-encode"
48
- arguments:
49
- signature: "deploy(bytes,bytes32)"
50
- values:
51
- - "{{creationCode}}"
52
- - "{{salt}}"
53
-
54
- skip_condition:
55
- - type: "contract-exists"
56
- arguments:
57
- address:
58
- type: "compute-create2"
59
- arguments:
60
- deployerAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
61
- salt: "{{salt}}"
62
- initCode: "{{creationCode}}"
63
-
64
- outputs:
65
- address:
66
- type: "compute-create2"
67
- arguments:
68
- deployerAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
69
- salt: "{{salt}}"
70
- initCode: "{{creationCode}}"
@@ -1,35 +0,0 @@
1
- name: "min-balance"
2
- type: "template"
3
- description: "Ensures a minimum balance for any given address"
4
-
5
- arguments:
6
- address:
7
- type: "address"
8
- description: "The address to check the balance of"
9
- balance:
10
- type: "uint256"
11
- description: "The minimum balance required"
12
-
13
- actions:
14
- - type: "send-transaction"
15
- arguments:
16
- to: "{{address}}"
17
- value:
18
- type: "basic-arithmetic"
19
- arguments:
20
- operation: "sub"
21
- values:
22
- - "{{balance}}"
23
- - type: "read-balance"
24
- arguments:
25
- address: "{{address}}"
26
-
27
- skip_condition:
28
- - type: "basic-arithmetic"
29
- arguments:
30
- operation: "gte"
31
- values:
32
- - type: "read-balance"
33
- arguments:
34
- address: "{{address}}"
35
- - "{{balance}}"
@@ -1,61 +0,0 @@
1
- # Similar to "raw-nano-universal-deployer" but it
2
- # uses some extra logic, delivered as a create-contract action, that ensures that the top level call fails if the contract
3
- # fails to deploy. This ensures that the gas estimation is accurate and the transaction won't silently fail with out of gas.
4
- name: "nano-universal-deployer"
5
- type: "template"
6
-
7
- arguments:
8
- creationCode:
9
- type: "bytes"
10
- description: "The creation code of the contract to deploy"
11
-
12
- returns:
13
- address:
14
- type: "address"
15
- description: "The address of the deployed contract"
16
-
17
- setup:
18
- skip_condition:
19
- - type: "contract-exists"
20
- arguments:
21
- address: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
22
- actions:
23
- - type: "test-nicks-method"
24
- - type: "min-balance"
25
- arguments:
26
- address: "0x9c5a87452d4FAC0cbd53BDCA580b20A45526B3AB"
27
- balance: "21700000000140000"
28
- - type: "send-signed-transaction"
29
- arguments:
30
- transaction: |
31
- 0xf9010880852416b84e01830222e08080b8b66080604052348015600f57600080fd5b50609980601d6000396000f3fe60a06020601f369081018290049091028201604052608081815260009260609284918190838280828437600092018290525084519495509392505060208401905034f5604080516001600160a01b0383168152905191935081900360200190a0505000fea26469706673582212205a310755225e3c740b2f013fb6343f4c205e7141fcdf15947f5f0e0e818727fb64736f6c634300060a00331ca01820182018201820182018201820182018201820182018201820182018201820a01820182018201820182018201820182018201820182018201820182018201820
32
-
33
- actions:
34
- - type: "assured-deployment"
35
- arguments:
36
- targetAddress:
37
- type: "compute-create2"
38
- arguments:
39
- deployerAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
40
- salt: "0x0000000000000000000000000000000000000000000000000000000000000000"
41
- initCode: "{{creationCode}}"
42
- factoryAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
43
- callData: "{{creationCode}}"
44
-
45
- skip_condition:
46
- - type: "contract-exists"
47
- arguments:
48
- address:
49
- type: "compute-create2"
50
- arguments:
51
- deployerAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
52
- salt: "0x0000000000000000000000000000000000000000000000000000000000000000"
53
- initCode: "{{creationCode}}"
54
-
55
- outputs:
56
- address:
57
- type: "compute-create2"
58
- arguments:
59
- deployerAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
60
- salt: "0x0000000000000000000000000000000000000000000000000000000000000000"
61
- initCode: "{{creationCode}}"
@@ -1,62 +0,0 @@
1
- name: "raw-erc-2470"
2
- type: "template"
3
-
4
- arguments:
5
- creationCode:
6
- type: "bytes"
7
- description: "The creation code of the contract to deploy"
8
- salt:
9
- type: "bytes32"
10
- description: "The salt for deployment"
11
-
12
- returns:
13
- address:
14
- type: "address"
15
- description: "The address of the deployed contract"
16
-
17
- setup:
18
- skip_condition:
19
- - type: "contract-exists"
20
- arguments:
21
- address: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
22
- actions:
23
- - type: "test-nicks-method"
24
- - type: "min-balance"
25
- arguments:
26
- address: "0xBb6e024b9cFFACB947A71991E386681B1Cd1477D"
27
- balance: "24700000000000000"
28
- - type: "send-signed-transaction"
29
- arguments:
30
- transaction: |
31
- 0xf9016c8085174876e8008303c4d88080b90154608060405234801561001057600080fd5b50610134806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80634af63f0214602d575b600080fd5b60cf60048036036040811015604157600080fd5b810190602081018135640100000000811115605b57600080fd5b820183602082011115606c57600080fd5b80359060200191846001830284011164010000000083111715608d57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550509135925060eb915050565b604080516001600160a01b039092168252519081900360200190f35b6000818351602085016000f5939250505056fea26469706673582212206b44f8a82cb6b156bfcc3dc6aadd6df4eefd204bc928a4397fd15dacf6d5320564736f6c634300060200331b83247000822470
32
-
33
- actions:
34
- - type: "send-transaction"
35
- arguments:
36
- to: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
37
- data:
38
- type: "abi-encode"
39
- arguments:
40
- signature: "deploy(bytes,bytes32)"
41
- values:
42
- - "{{creationCode}}"
43
- - "{{salt}}"
44
- gasMultiplier: 1.6
45
-
46
- skip_condition:
47
- - type: "contract-exists"
48
- arguments:
49
- address:
50
- type: "compute-create2"
51
- arguments:
52
- deployerAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
53
- salt: "{{salt}}"
54
- initCode: "{{creationCode}}"
55
-
56
- outputs:
57
- address:
58
- type: "compute-create2"
59
- arguments:
60
- deployerAddress: "0xce0042B868300000d44A59004Da54A005ffdcf9f"
61
- salt: "{{salt}}"
62
- initCode: "{{creationCode}}"
@@ -1,54 +0,0 @@
1
- name: "raw-nano-universal-deployer"
2
- type: "template"
3
- description: "Deploy a contract using the Nano Universal Deployer"
4
-
5
- arguments:
6
- creationCode:
7
- type: "bytes"
8
- description: "The creation code of the contract to deploy"
9
-
10
- returns:
11
- address:
12
- type: "address"
13
- description: "The address of the deployed contract"
14
-
15
- setup:
16
- skip_condition:
17
- - type: "contract-exists"
18
- arguments:
19
- address: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
20
- actions:
21
- - type: "test-nicks-method"
22
- - type: "min-balance"
23
- arguments:
24
- address: "0x9c5a87452d4FAC0cbd53BDCA580b20A45526B3AB"
25
- balance: "21700000000140000"
26
- - type: "send-signed-transaction"
27
- arguments:
28
- transaction: |
29
- 0xf9010880852416b84e01830222e08080b8b66080604052348015600f57600080fd5b50609980601d6000396000f3fe60a06020601f369081018290049091028201604052608081815260009260609284918190838280828437600092018290525084519495509392505060208401905034f5604080516001600160a01b0383168152905191935081900360200190a0505000fea26469706673582212205a310755225e3c740b2f013fb6343f4c205e7141fcdf15947f5f0e0e818727fb64736f6c634300060a00331ca01820182018201820182018201820182018201820182018201820182018201820a01820182018201820182018201820182018201820182018201820182018201820
30
-
31
- actions:
32
- - type: "send-transaction"
33
- arguments:
34
- to: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
35
- data: "{{creationCode}}"
36
- gasMultiplier: 1.6
37
-
38
- skip_condition:
39
- - type: "contract-exists"
40
- arguments:
41
- address:
42
- type: "compute-create2"
43
- arguments:
44
- deployerAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
45
- salt: "0x0000000000000000000000000000000000000000000000000000000000000000"
46
- initCode: "{{creationCode}}"
47
-
48
- outputs:
49
- address:
50
- type: "compute-create2"
51
- arguments:
52
- deployerAddress: "0x1B926fBB24A9F78DCDd3272f2d86F5D0660E59c0"
53
- salt: "0x0000000000000000000000000000000000000000000000000000000000000000"
54
- initCode: "{{creationCode}}"
@@ -1,52 +0,0 @@
1
- name: "raw-sequence-universal-deployer-2"
2
- type: "template"
3
- description: "Deploy a contract using the Sequence Universal Deployer v2"
4
-
5
- arguments:
6
- creationCode:
7
- type: "bytes"
8
- description: "The creation code of the contract to deploy"
9
- salt:
10
- type: "bytes32"
11
- description: "The salt for deployment"
12
-
13
- returns:
14
- address:
15
- type: "address"
16
- description: "The address of the deployed contract"
17
-
18
- setup:
19
- - type: "nano-universal-deployer"
20
- arguments:
21
- creationCode: "0x608060405234801561001057600080fd5b5061013d806100206000396000f3fe60806040526004361061001e5760003560e01c80639c4ae2d014610023575b600080fd5b6100cb6004803603604081101561003957600080fd5b81019060208101813564010000000081111561005457600080fd5b82018360208201111561006657600080fd5b8035906020019184600183028401116401000000008311171561008857600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100cd915050565b005b60008183516020850134f56040805173ffffffffffffffffffffffffffffffffffffffff83168152905191925081900360200190a050505056fea264697066735822122033609f614f03931b92d88c309d698449bb77efcd517328d341fa4f923c5d8c7964736f6c63430007060033"
22
-
23
- actions:
24
- - type: "send-transaction"
25
- arguments:
26
- to: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
27
- data:
28
- type: "abi-encode"
29
- arguments:
30
- signature: "deploy(bytes,uint256)"
31
- values:
32
- - "{{creationCode}}"
33
- - "{{salt}}"
34
- gasMultiplier: 1.6
35
-
36
- skip_condition:
37
- - type: "contract-exists"
38
- arguments:
39
- address:
40
- type: "compute-create2"
41
- arguments:
42
- deployerAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
43
- salt: "{{salt}}"
44
- initCode: "{{creationCode}}"
45
-
46
- outputs:
47
- address:
48
- type: "compute-create2"
49
- arguments:
50
- deployerAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
51
- salt: "{{salt}}"
52
- initCode: "{{creationCode}}"
@@ -1,61 +0,0 @@
1
- # Similar to "raw-sequence-universal-deployer-2" but it
2
- # uses some extra logic, delivered as a create-contract action, that ensures that the top level call fails if the contract
3
- # fails to deploy. This ensures that the gas estimation is accurate and the transaction won't silently fail with out of gas.
4
- name: "sequence-universal-deployer-2"
5
- type: "template"
6
- description: "Deploy a contract using the Sequence Universal Deployer v2"
7
-
8
- arguments:
9
- creationCode:
10
- type: "bytes"
11
- description: "The creation code of the contract to deploy"
12
- salt:
13
- type: "bytes32"
14
- description: "The salt for deployment"
15
-
16
- returns:
17
- address:
18
- type: "address"
19
- description: "The address of the deployed contract"
20
-
21
- setup:
22
- - type: "nano-universal-deployer"
23
- arguments:
24
- creationCode: "0x608060405234801561001057600080fd5b5061013d806100206000396000f3fe60806040526004361061001e5760003560e01c80639c4ae2d014610023575b600080fd5b6100cb6004803603604081101561003957600080fd5b81019060208101813564010000000081111561005457600080fd5b82018360208201111561006657600080fd5b8035906020019184600183028401116401000000008311171561008857600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100cd915050565b005b60008183516020850134f56040805173ffffffffffffffffffffffffffffffffffffffff83168152905191925081900360200190a050505056fea264697066735822122033609f614f03931b92d88c309d698449bb77efcd517328d341fa4f923c5d8c7964736f6c63430007060033"
25
-
26
- actions:
27
- - type: "assured-deployment"
28
- arguments:
29
- targetAddress:
30
- type: "compute-create2"
31
- arguments:
32
- deployerAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
33
- salt: "{{salt}}"
34
- initCode: "{{creationCode}}"
35
- factoryAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
36
- callData:
37
- type: "abi-encode"
38
- arguments:
39
- signature: "deploy(bytes,uint256)"
40
- values:
41
- - "{{creationCode}}"
42
- - "{{salt}}"
43
-
44
-
45
- skip_condition:
46
- - type: "contract-exists"
47
- arguments:
48
- address:
49
- type: "compute-create2"
50
- arguments:
51
- deployerAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
52
- salt: "{{salt}}"
53
- initCode: "{{creationCode}}"
54
-
55
- outputs:
56
- address:
57
- type: "compute-create2"
58
- arguments:
59
- deployerAddress: "0x8A5Bc19e22D6aD55a2c763B93A75d09F321fe764"
60
- salt: "{{salt}}"
61
- initCode: "{{creationCode}}"