@aztec/ethereum 0.0.1-commit.a072138 → 0.0.1-commit.a5db02d

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 (171) hide show
  1. package/dest/client.d.ts +25 -3
  2. package/dest/client.d.ts.map +1 -1
  3. package/dest/client.js +60 -8
  4. package/dest/config.d.ts +17 -6
  5. package/dest/config.d.ts.map +1 -1
  6. package/dest/config.js +39 -11
  7. package/dest/contracts/chain_state_override.d.ts +78 -0
  8. package/dest/contracts/chain_state_override.d.ts.map +1 -0
  9. package/dest/contracts/chain_state_override.js +137 -0
  10. package/dest/contracts/fee_asset_price_oracle.d.ts +105 -0
  11. package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -0
  12. package/dest/contracts/fee_asset_price_oracle.js +656 -0
  13. package/dest/contracts/governance.d.ts +108 -33
  14. package/dest/contracts/governance.d.ts.map +1 -1
  15. package/dest/contracts/governance.js +196 -15
  16. package/dest/contracts/governance_proposer.d.ts +33 -1
  17. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  18. package/dest/contracts/governance_proposer.js +53 -2
  19. package/dest/contracts/gse.d.ts +4 -2
  20. package/dest/contracts/gse.d.ts.map +1 -1
  21. package/dest/contracts/gse.js +2 -2
  22. package/dest/contracts/inbox.d.ts +3 -3
  23. package/dest/contracts/inbox.d.ts.map +1 -1
  24. package/dest/contracts/inbox.js +12 -7
  25. package/dest/contracts/index.d.ts +4 -3
  26. package/dest/contracts/index.d.ts.map +1 -1
  27. package/dest/contracts/index.js +3 -2
  28. package/dest/contracts/multicall.d.ts +127 -12
  29. package/dest/contracts/multicall.d.ts.map +1 -1
  30. package/dest/contracts/multicall.js +201 -94
  31. package/dest/contracts/outbox.d.ts +27 -4
  32. package/dest/contracts/outbox.d.ts.map +1 -1
  33. package/dest/contracts/outbox.js +34 -7
  34. package/dest/contracts/registry.d.ts +3 -1
  35. package/dest/contracts/registry.d.ts.map +1 -1
  36. package/dest/contracts/registry.js +30 -1
  37. package/dest/contracts/rollup.d.ts +5420 -31
  38. package/dest/contracts/rollup.d.ts.map +1 -1
  39. package/dest/contracts/rollup.js +402 -75
  40. package/dest/contracts/{tally_slashing_proposer.d.ts → slashing_proposer.d.ts} +3 -4
  41. package/dest/contracts/slashing_proposer.d.ts.map +1 -0
  42. package/dest/contracts/{tally_slashing_proposer.js → slashing_proposer.js} +13 -15
  43. package/dest/deploy_aztec_l1_contracts.d.ts +5 -9
  44. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
  45. package/dest/deploy_aztec_l1_contracts.js +52 -30
  46. package/dest/deploy_l1_contract.js +3 -3
  47. package/dest/foundry_binary.d.ts +13 -0
  48. package/dest/foundry_binary.d.ts.map +1 -0
  49. package/dest/foundry_binary.js +52 -0
  50. package/dest/generated/l1-contracts-defaults.d.ts +3 -3
  51. package/dest/generated/l1-contracts-defaults.js +3 -3
  52. package/dest/l1_artifacts.d.ts +15524 -15847
  53. package/dest/l1_artifacts.d.ts.map +1 -1
  54. package/dest/l1_artifacts.js +9 -24
  55. package/dest/l1_contract_addresses.d.ts +61 -65
  56. package/dest/l1_contract_addresses.d.ts.map +1 -1
  57. package/dest/l1_contract_addresses.js +101 -82
  58. package/dest/l1_reader.d.ts +5 -5
  59. package/dest/l1_reader.d.ts.map +1 -1
  60. package/dest/l1_reader.js +9 -7
  61. package/dest/l1_tx_utils/config.d.ts +7 -1
  62. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  63. package/dest/l1_tx_utils/config.js +17 -4
  64. package/dest/l1_tx_utils/factory.d.ts +18 -10
  65. package/dest/l1_tx_utils/factory.d.ts.map +1 -1
  66. package/dest/l1_tx_utils/factory.js +17 -7
  67. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +1 -1
  68. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +1 -1
  69. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +15 -15
  70. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -1
  71. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +9 -15
  72. package/dest/l1_tx_utils/index-blobs.d.ts +3 -3
  73. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -1
  74. package/dest/l1_tx_utils/index-blobs.js +2 -2
  75. package/dest/l1_tx_utils/index.d.ts +2 -1
  76. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  77. package/dest/l1_tx_utils/index.js +1 -0
  78. package/dest/l1_tx_utils/l1_tx_utils.d.ts +26 -7
  79. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  80. package/dest/l1_tx_utils/l1_tx_utils.js +152 -75
  81. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
  82. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  83. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +10 -5
  84. package/dest/l1_tx_utils/tx_delayer.d.ts +58 -0
  85. package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -0
  86. package/dest/{test → l1_tx_utils}/tx_delayer.js +67 -37
  87. package/dest/publisher_manager.d.ts +34 -8
  88. package/dest/publisher_manager.d.ts.map +1 -1
  89. package/dest/publisher_manager.js +119 -8
  90. package/dest/queries.d.ts +13 -2
  91. package/dest/queries.d.ts.map +1 -1
  92. package/dest/queries.js +62 -3
  93. package/dest/test/blob_kzg_warmup.d.ts +19 -0
  94. package/dest/test/blob_kzg_warmup.d.ts.map +1 -0
  95. package/dest/test/blob_kzg_warmup.js +64 -0
  96. package/dest/test/chain_monitor.d.ts +55 -4
  97. package/dest/test/chain_monitor.d.ts.map +1 -1
  98. package/dest/test/chain_monitor.js +104 -3
  99. package/dest/test/eth_cheat_codes.d.ts +31 -6
  100. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  101. package/dest/test/eth_cheat_codes.js +67 -44
  102. package/dest/test/index.d.ts +2 -3
  103. package/dest/test/index.d.ts.map +1 -1
  104. package/dest/test/index.js +1 -2
  105. package/dest/test/rollup_cheat_codes.d.ts +60 -3
  106. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  107. package/dest/test/rollup_cheat_codes.js +86 -7
  108. package/dest/test/start_anvil.d.ts +23 -3
  109. package/dest/test/start_anvil.d.ts.map +1 -1
  110. package/dest/test/start_anvil.js +182 -32
  111. package/dest/test/upgrade_utils.js +2 -2
  112. package/dest/utils.d.ts +9 -2
  113. package/dest/utils.d.ts.map +1 -1
  114. package/dest/utils.js +59 -24
  115. package/package.json +6 -8
  116. package/src/client.ts +66 -2
  117. package/src/config.ts +59 -15
  118. package/src/contracts/chain_state_override.ts +200 -0
  119. package/src/contracts/fee_asset_price_oracle.ts +285 -0
  120. package/src/contracts/governance.ts +269 -12
  121. package/src/contracts/governance_proposer.ts +54 -1
  122. package/src/contracts/gse.ts +7 -2
  123. package/src/contracts/inbox.ts +13 -5
  124. package/src/contracts/index.ts +3 -2
  125. package/src/contracts/multicall.ts +243 -105
  126. package/src/contracts/outbox.ts +42 -8
  127. package/src/contracts/registry.ts +31 -1
  128. package/src/contracts/rollup.ts +453 -78
  129. package/src/contracts/{tally_slashing_proposer.ts → slashing_proposer.ts} +14 -16
  130. package/src/deploy_aztec_l1_contracts.ts +79 -39
  131. package/src/deploy_l1_contract.ts +3 -3
  132. package/src/foundry_binary.ts +57 -0
  133. package/src/generated/l1-contracts-defaults.ts +3 -3
  134. package/src/l1_artifacts.ts +12 -35
  135. package/src/l1_contract_addresses.ts +120 -94
  136. package/src/l1_reader.ts +17 -10
  137. package/src/l1_tx_utils/config.ts +23 -3
  138. package/src/l1_tx_utils/factory.ts +31 -31
  139. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +1 -1
  140. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +1 -1
  141. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +43 -54
  142. package/src/l1_tx_utils/index-blobs.ts +2 -2
  143. package/src/l1_tx_utils/index.ts +1 -0
  144. package/src/l1_tx_utils/l1_tx_utils.ts +145 -60
  145. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +10 -5
  146. package/src/{test → l1_tx_utils}/tx_delayer.ts +93 -56
  147. package/src/publisher_manager.ts +143 -12
  148. package/src/queries.ts +70 -4
  149. package/src/test/blob_kzg_warmup.ts +65 -0
  150. package/src/test/chain_monitor.ts +148 -3
  151. package/src/test/eth_cheat_codes.ts +63 -47
  152. package/src/test/index.ts +1 -2
  153. package/src/test/rollup_cheat_codes.ts +115 -6
  154. package/src/test/start_anvil.ts +212 -32
  155. package/src/test/upgrade_utils.ts +2 -2
  156. package/src/utils.ts +56 -29
  157. package/dest/contracts/empire_slashing_proposer.d.ts +0 -67
  158. package/dest/contracts/empire_slashing_proposer.d.ts.map +0 -1
  159. package/dest/contracts/empire_slashing_proposer.js +0 -207
  160. package/dest/contracts/tally_slashing_proposer.d.ts.map +0 -1
  161. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts +0 -26
  162. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.d.ts.map +0 -1
  163. package/dest/l1_tx_utils/l1_tx_utils_with_blobs.js +0 -26
  164. package/dest/test/delayed_tx_utils.d.ts +0 -13
  165. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  166. package/dest/test/delayed_tx_utils.js +0 -28
  167. package/dest/test/tx_delayer.d.ts +0 -36
  168. package/dest/test/tx_delayer.d.ts.map +0 -1
  169. package/src/contracts/empire_slashing_proposer.ts +0 -259
  170. package/src/l1_tx_utils/l1_tx_utils_with_blobs.ts +0 -77
  171. package/src/test/delayed_tx_utils.ts +0 -52
@@ -5,13 +5,12 @@ import { Buffer32 } from '@aztec/foundation/buffer';
5
5
  import { EthAddress } from '@aztec/foundation/eth-address';
6
6
  import { type Hex, type Log, type TypedDataDefinition } from 'viem';
7
7
  /**
8
- * Wrapper around the TallySlashingProposer contract that provides
8
+ * Wrapper around the SlashingProposer contract that provides
9
9
  * a TypeScript interface for interacting with the consensus-based slashing system.
10
10
  */
11
- export declare class TallySlashingProposerContract {
11
+ export declare class SlashingProposerContract {
12
12
  readonly client: ViemClient;
13
13
  private readonly contract;
14
- readonly type: "tally";
15
14
  constructor(client: ViemClient, address: Hex | EthAddress);
16
15
  get address(): EthAddress;
17
16
  getQuorumSize(): Promise<bigint>;
@@ -137,4 +136,4 @@ export declare class TallySlashingProposerContract {
137
136
  * @returns An array of numbers representing the slash votes
138
137
  */
139
138
  export declare function decodeSlashConsensusVotes(buffer: Buffer): number[];
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFsbHlfc2xhc2hpbmdfcHJvcG9zZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvdGFsbHlfc2xhc2hpbmdfcHJvcG9zZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUVMLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUNSLEtBQUssbUJBQW1CLEVBR3pCLE1BQU0sTUFBTSxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gscUJBQWEsNkJBQTZCO2FBTXRCLE1BQU0sRUFBRSxVQUFVO0lBTHBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFxRTtJQUU5RixTQUFnQixJQUFJLFVBQW9CO0lBRXhDLFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU8xQjtJQUVELElBQVcsT0FBTyxlQUVqQjtJQUVNLGFBQWEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXRDO0lBRU0sWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckM7SUFFTSxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXpDO0lBRU0sb0JBQW9CLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUU3QztJQUVNLG1CQUFtQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFNUM7SUFFTSx5QkFBeUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENB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
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hpbmdfcHJvcG9zZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvc2xhc2hpbmdfcHJvcG9zZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNM0QsT0FBTyxFQUVMLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUNSLEtBQUssbUJBQW1CLEVBR3pCLE1BQU0sTUFBTSxDQUFDO0FBRWQ7OztHQUdHO0FBQ0gscUJBQWEsd0JBQXdCO2FBSWpCLE1BQU0sRUFBRSxVQUFVO0lBSHBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFnRTtJQUV6RixZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFPMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV0QztJQUVNLFlBQVksSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXJDO0lBRU0sZ0JBQWdCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV6QztJQUVNLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFN0M7SUFFTSxtQkFBbUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRTVDO0lBRU0seUJBQXlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVsRDtJQUVNLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxDQUFD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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAM3D,OAAO,EAEL,KAAK,GAAG,EACR,KAAK,GAAG,EACR,KAAK,mBAAmB,EAGzB,MAAM,MAAM,CAAC;AAEd;;;GAGG;AACH,qBAAa,wBAAwB;aAIjB,MAAM,EAAE,UAAU;IAHpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;IAEzF,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAO1B;IAED,IAAW,OAAO,eAEjB;IAEM,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAEtC;IAEM,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAErC;IAEM,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEzC;IAEM,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE7C;IAEM,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5C;IAEM,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CAElD;IAEM,kBAAkB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAM7D;IAEM,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC,CAE/C;IAEM,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAExC;IAED;;;;OAIG;IACU,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAGD;IAED;;;;;OAKG;IACU,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAEpF;IAED,iGAAiG;IACpF,UAAU,CACrB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,UAAU,CAAA;SAAE,EAAE,CAAC;QAAC,OAAO,EAAE,UAAU,CAAA;KAAE,CAAC,CAM7F;IAED,gFAAgF;IACnE,QAAQ,CACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,OAAO,EAAE;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,UAAU,CAAA;SAAE,EAAE,CAAC;QAAC,UAAU,EAAE,UAAU,EAAE,EAAE,CAAA;KAAE,CAAC,CAIpG;IAED,OAAO,CAAC,eAAe;IASvB,6DAA6D;IACtD,uBAAuB,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;;kBAEzC;IAED,kEAAkE;IAC3D,4BAA4B,CAAC,IAAI,EAAE,GAAG,EAAE;;;;;;kBAE9C;IAED;;;;;;OAMG;IACU,0BAA0B,CACrC,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAatB;IAED,kEAAkE;IAC3D,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,mBAAmB,CAsB3E;IAED,oEAAoE;IACvD,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAE9E;IAED;;;;;OAKG;IACI,6BAA6B,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,GAAG,CAAC;QAAC,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,WAAW,CAUtG;IAED;;;;;OAKG;IACI,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,GAAG,WAAW,CAUtF;IAED,uDAAuD;IAC1C,WAAW,CAAC,KAAK,EAAE,MAAM;;;SAYrC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,MAAM,IAAI,CAcjG;IAED;;;;OAIG;IACI,qBAAqB,CAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,GAAG,CAAA;KAAE,KAAK,IAAI,GAChF,MAAM,IAAI,CAcZ;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAelE"}
@@ -4,21 +4,19 @@ import { EthAddress } from '@aztec/foundation/eth-address';
4
4
  import { Signature } from '@aztec/foundation/eth-signature';
5
5
  import { hexToBuffer } from '@aztec/foundation/string';
6
6
  import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
7
- import { TallySlashingProposerAbi } from '@aztec/l1-artifacts/TallySlashingProposerAbi';
7
+ import { SlashingProposerAbi } from '@aztec/l1-artifacts/SlashingProposerAbi';
8
8
  import { encodeFunctionData, getContract } from 'viem';
9
9
  /**
10
- * Wrapper around the TallySlashingProposer contract that provides
10
+ * Wrapper around the SlashingProposer contract that provides
11
11
  * a TypeScript interface for interacting with the consensus-based slashing system.
12
- */ export class TallySlashingProposerContract {
12
+ */ export class SlashingProposerContract {
13
13
  client;
14
14
  contract;
15
- type;
16
15
  constructor(client, address){
17
16
  this.client = client;
18
- this.type = 'tally';
19
17
  this.contract = getContract({
20
18
  address: typeof address === 'string' ? address : address.toString(),
21
- abi: TallySlashingProposerAbi,
19
+ abi: SlashingProposerAbi,
22
20
  client
23
21
  });
24
22
  }
@@ -118,10 +116,10 @@ import { encodeFunctionData, getContract } from 'viem';
118
116
  }));
119
117
  }
120
118
  /** Tries to extract a VoteCast event from the given logs. */ tryExtractVoteCastEvent(logs) {
121
- return tryExtractEvent(logs, this.address.toString(), TallySlashingProposerAbi, 'VoteCast');
119
+ return tryExtractEvent(logs, this.address.toString(), SlashingProposerAbi, 'VoteCast');
122
120
  }
123
121
  /** Tries to extract a RoundExecuted event from the given logs. */ tryExtractRoundExecutedEvent(logs) {
124
- return tryExtractEvent(logs, this.address.toString(), TallySlashingProposerAbi, 'RoundExecuted');
122
+ return tryExtractEvent(logs, this.address.toString(), SlashingProposerAbi, 'RoundExecuted');
125
123
  }
126
124
  /**
127
125
  * Create a transaction to vote for slashing offenses
@@ -134,9 +132,9 @@ import { encodeFunctionData, getContract } from 'viem';
134
132
  const signature = Signature.fromString(await signer(typedData));
135
133
  return {
136
134
  to: this.contract.address,
137
- abi: TallySlashingProposerAbi,
135
+ abi: SlashingProposerAbi,
138
136
  data: encodeFunctionData({
139
- abi: TallySlashingProposerAbi,
137
+ abi: SlashingProposerAbi,
140
138
  functionName: 'vote',
141
139
  args: [
142
140
  votes,
@@ -147,7 +145,7 @@ import { encodeFunctionData, getContract } from 'viem';
147
145
  }
148
146
  /** Returns the typed data definition to EIP712-sign for voting */ buildVoteTypedData(votes, slot) {
149
147
  const domain = {
150
- name: 'TallySlashingProposer',
148
+ name: 'SlashingProposer',
151
149
  version: '1',
152
150
  chainId: this.client.chain.id,
153
151
  verifyingContract: this.contract.address
@@ -206,9 +204,9 @@ import { encodeFunctionData, getContract } from 'viem';
206
204
  */ buildVoteRequestWithSignature(votes, signature) {
207
205
  return {
208
206
  to: this.contract.address,
209
- abi: TallySlashingProposerAbi,
207
+ abi: SlashingProposerAbi,
210
208
  data: encodeFunctionData({
211
- abi: TallySlashingProposerAbi,
209
+ abi: SlashingProposerAbi,
212
210
  functionName: 'vote',
213
211
  args: [
214
212
  votes,
@@ -226,11 +224,11 @@ import { encodeFunctionData, getContract } from 'viem';
226
224
  return {
227
225
  to: this.contract.address,
228
226
  abi: mergeAbis([
229
- TallySlashingProposerAbi,
227
+ SlashingProposerAbi,
230
228
  SlasherAbi
231
229
  ]),
232
230
  data: encodeFunctionData({
233
- abi: TallySlashingProposerAbi,
231
+ abi: SlashingProposerAbi,
234
232
  functionName: 'executeRound',
235
233
  args: [
236
234
  round,
@@ -3,10 +3,9 @@ import { EthAddress } from '@aztec/foundation/eth-address';
3
3
  import type { Fr } from '@aztec/foundation/schemas';
4
4
  import type { Abi, Narrow } from 'abitype';
5
5
  import type { Hex } from 'viem';
6
- import type { L1ContractsConfig } from './config.js';
6
+ import { type L1ContractsConfig } from './config.js';
7
7
  import { RollupContract } from './contracts/rollup.js';
8
8
  import type { L1ContractAddresses } from './l1_contract_addresses.js';
9
- import type { L1TxUtilsConfig } from './l1_tx_utils/config.js';
10
9
  import type { ExtendedViemWalletClient } from './types.js';
11
10
  export interface G2PointJson {
12
11
  x0: string;
@@ -50,7 +49,6 @@ export declare function computeValidatorData(operator: Operator): ValidatorJson;
50
49
  export interface RollupUpgradeAddresses {
51
50
  rollupAddress: string;
52
51
  verifierAddress: string;
53
- slashFactoryAddress: string;
54
52
  inboxAddress: string;
55
53
  outboxAddress: string;
56
54
  feeJuicePortalAddress: string;
@@ -62,7 +60,6 @@ export interface RollupUpgradeAddresses {
62
60
  export interface ForgeRollupUpgradeResult {
63
61
  rollupAddress: Hex;
64
62
  verifierAddress: Hex;
65
- slashFactoryAddress: Hex;
66
63
  inboxAddress: Hex;
67
64
  outboxAddress: Hex;
68
65
  feeJuicePortalAddress: Hex;
@@ -156,7 +153,7 @@ export type VerificationRecord = {
156
153
  constructorArgsHex: Hex;
157
154
  libraries: VerificationLibraryEntry[];
158
155
  };
159
- export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig, keyof L1TxUtilsConfig> {
156
+ export interface DeployAztecL1ContractsArgs extends Omit<L1ContractsConfig, 'gasLimitBufferPercentage' | 'maxGwei' | 'maxBlobGwei' | 'priorityFeeBumpPercentage' | 'priorityFeeRetryBumpPercentage' | 'minimumPriorityFeePerGas' | 'maxSpeedUpAttempts' | 'checkIntervalMs' | 'stallTimeMs' | 'txTimeoutMs' | 'cancelTxOnTimeout' | 'txCancellationFinalTimeoutMs' | 'txUnseenConsideredDroppedMs' | 'enableDelayer' | 'txDelayerMaxInclusionTimeIntoSlot'> {
160
157
  /** The vk tree root. */
161
158
  vkTreeRoot: Fr;
162
159
  /** The hash of the protocol contracts. */
@@ -211,7 +208,7 @@ export declare function getDeployAztecL1ContractsEnvVars(args: DeployAztecL1Cont
211
208
  readonly AZTEC_EXIT_DELAY_SECONDS: string;
212
209
  readonly AZTEC_PROVING_COST_PER_MANA: string;
213
210
  readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
214
- readonly AZTEC_SLASHER_FLAVOR: "empire" | "none" | "tally";
211
+ readonly AZTEC_SLASHER_ENABLED: "false" | "true";
215
212
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
216
213
  readonly AZTEC_SLASHING_QUORUM: string | undefined;
217
214
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: string;
@@ -242,7 +239,7 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
242
239
  readonly AZTEC_EXIT_DELAY_SECONDS: string;
243
240
  readonly AZTEC_PROVING_COST_PER_MANA: string;
244
241
  readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: string;
245
- readonly AZTEC_SLASHER_FLAVOR: "empire" | "none" | "tally";
242
+ readonly AZTEC_SLASHER_ENABLED: "false" | "true";
246
243
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: string;
247
244
  readonly AZTEC_SLASHING_QUORUM: string | undefined;
248
245
  readonly AZTEC_SLASHING_OFFSET_IN_ROUNDS: string;
@@ -255,6 +252,5 @@ export declare function getDeployRollupForUpgradeEnvVars(args: Omit<DeployAztecL
255
252
  */
256
253
  export declare const deployRollupForUpgrade: (privateKey: `0x${string}`, rpcUrl: string, chainId: number, registryAddress: EthAddress, args: Omit<DeployAztecL1ContractsArgs, "activationThreshold" | "ejectionThreshold" | "governanceProposerQuorum" | "governanceProposerRoundSize" | "zkPassportArgs">) => Promise<{
257
254
  rollup: RollupContract;
258
- slashFactoryAddress: `0x${string}`;
259
255
  }>;
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFnRTNELE1BQU0sV0FBVyxXQUFXO0lBQzFCLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7Q0FDWjtBQUVEOzs7R0FHRztBQUNILE1BQU0sV0FBVyxhQUFhO0lBQzVCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixrRUFBa0U7SUFDbEUsYUFBYSxFQUFFLFdBQVcs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
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2F6dGVjX2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9henRlY19sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFJM0QsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFJcEQsT0FBTyxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU0zQyxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLaEMsT0FBTyxFQUFFLEtBQUssaUJBQWlCLEVBQTRCLE1BQU0sYUFBYSxDQUFDO0FBRS9FLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RCxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBb0YzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixFQUFFLEVBQUUsTUFBTSxDQUFDO0lBQ1gsRUFBRSxFQUFFLE1BQU0sQ0FBQztJQUNYLEVBQUUsRUFBRSxNQUFNLENBQUM7SUFDWCxFQUFFLEVBQUUsTUFBTSxDQUFDO0NBQ1o7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFdBQVcsYUFBYTtJQUM1QixRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIscUNBQXFDO0lBQ3JDLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFDbkIsa0VBQWtFO0lBQ2xFLGFBQWEsRUFBRSxXQUFXLENBQUM7Q0FDNUI7QUFFRDs7OztHQUlHO0FBQ0gsd0JBQWdCLGtCQUFrQixJQUFJ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
@@ -1 +1 @@
1
- {"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deploy_aztec_l1_contracts.d.ts","sourceRoot":"","sources":["../src/deploy_aztec_l1_contracts.ts"],"names":[],"mappings":"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"}
@@ -11,17 +11,19 @@ import { cpSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, write
11
11
  import { tmpdir } from 'os';
12
12
  import { dirname, join, resolve } from 'path';
13
13
  import readline from 'readline';
14
- import { foundry, mainnet, sepolia } from 'viem/chains';
14
+ import { mainnet, sepolia } from 'viem/chains';
15
15
  import { createEthereumChain, isAnvilTestChain } from './chain.js';
16
16
  import { createExtendedL1Client } from './client.js';
17
+ import { assertValidSlotDurations } from './config.js';
17
18
  import { deployMulticall3 } from './contracts/multicall.js';
18
19
  import { RollupContract } from './contracts/rollup.js';
20
+ import { resolveFoundryBinary } from './foundry_binary.js';
19
21
  const logger = createLogger('ethereum:deploy_aztec_l1_contracts');
20
22
  const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
21
23
  /**
22
- * Runs a process with the given command, arguments, and environment.
23
- * If the process outputs a line starting with JSON_DEPLOY_RESULT_PREFIX,
24
- * the JSON is parsed and returned.
24
+ * Runs a process and parses JSON deploy results from stdout.
25
+ * Lines starting with JSON_DEPLOY_RESULT_PREFIX are parsed and returned.
26
+ * All other stdout goes to logger.info, stderr goes to logger.warn.
25
27
  */ function runProcess(command, args, env, cwd) {
26
28
  const { promise, resolve, reject } = promiseWithResolvers();
27
29
  const proc = spawn(command, args, {
@@ -37,27 +39,42 @@ const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
37
39
  ]
38
40
  });
39
41
  let result;
42
+ let parseError;
43
+ let settled = false;
40
44
  readline.createInterface({
41
45
  input: proc.stdout
42
46
  }).on('line', (line)=>{
43
47
  const trimmedLine = line.trim();
44
48
  if (trimmedLine.startsWith(JSON_DEPLOY_RESULT_PREFIX)) {
45
49
  const jsonStr = trimmedLine.slice(JSON_DEPLOY_RESULT_PREFIX.length).trim();
46
- // TODO(AD): should this be a zod parse?
47
- result = JSON.parse(jsonStr);
50
+ try {
51
+ result = JSON.parse(jsonStr);
52
+ } catch {
53
+ parseError = new Error(`Failed to parse deploy result JSON: ${jsonStr.slice(0, 200)}`);
54
+ }
48
55
  } else {
49
56
  logger.info(line);
50
57
  }
51
58
  });
52
59
  readline.createInterface({
53
60
  input: proc.stderr
54
- }).on('line', logger.error.bind(logger));
61
+ }).on('line', logger.warn.bind(logger));
55
62
  proc.on('error', (error)=>{
63
+ if (settled) {
64
+ return;
65
+ }
66
+ settled = true;
56
67
  reject(new Error(`Failed to spawn ${command}: ${error.message}`));
57
68
  });
58
69
  proc.on('close', (code)=>{
70
+ if (settled) {
71
+ return;
72
+ }
73
+ settled = true;
59
74
  if (code !== 0) {
60
- reject(new Error(`${command} exited with code ${code}. See logs for details.\n`));
75
+ reject(new Error(`${command} exited with code ${code}`));
76
+ } else if (parseError) {
77
+ reject(parseError);
61
78
  } else {
62
79
  resolve(result);
63
80
  }
@@ -66,11 +83,11 @@ const JSON_DEPLOY_RESULT_PREFIX = 'JSON DEPLOY RESULT:';
66
83
  }
67
84
  // Covers an edge where where we may have a cached BlobLib that is not meant for production.
68
85
  // Despite the profile apparently sometimes cached code remains (so says Lasse after his ignition-monorepo arc).
69
- async function maybeForgeForceProductionBuild(l1ContractsPath, script, chainId) {
86
+ async function maybeForgeForceProductionBuild(forgeBin, l1ContractsPath, script, chainId) {
70
87
  if (chainId === mainnet.id) {
71
88
  logger.info(`Recompiling ${script} with production profile for mainnet deployment`);
72
89
  logger.info('This may take a minute but ensures production BlobLib is used.');
73
- await runProcess('forge', [
90
+ await runProcess(forgeBin, [
74
91
  'build',
75
92
  script,
76
93
  '--force'
@@ -137,6 +154,9 @@ function cleanupDeployDir() {
137
154
  const foundryTomlPath = join(basePath, 'foundry.toml');
138
155
  let foundryToml = readFileSync(foundryTomlPath, 'utf-8');
139
156
  const solcPathMatch = foundryToml.match(/solc\s*=\s*"\.\/solc-([^"]+)"/);
157
+ // Did we find a hardcoded solc path that we need to make absolute?
158
+ // This code path happens in CI currently as we bundle solc there to avoid race conditions when
159
+ // downloading solc.
140
160
  if (solcPathMatch) {
141
161
  const solcVersion = solcPathMatch[1];
142
162
  const absoluteSolcPath = join(basePath, `solc-${solcVersion}`);
@@ -183,6 +203,7 @@ function cleanupDeployDir() {
183
203
  * @returns The deployment result with all contract addresses and an l1Client
184
204
  */ export async function deployAztecL1Contracts(rpcUrl, privateKey, chainId, args) {
185
205
  logger.info(`Deploying L1 contracts with config: ${jsonStringify(args)}`);
206
+ assertValidSlotDurations(args);
186
207
  if (args.initialValidators && args.initialValidators.length > 0 && args.existingTokenAddress) {
187
208
  throw new Error('Cannot deploy with both initialValidators and existingTokenAddress. ' + 'Initial validator funding requires minting tokens, which is not possible with an external token.');
188
209
  }
@@ -217,19 +238,17 @@ function cleanupDeployDir() {
217
238
  }
218
239
  // Use foundry-artifacts from l1-artifacts package
219
240
  const l1ContractsPath = prepareL1ContractsForDeployment();
241
+ const forgeBin = resolveFoundryBinary('forge');
220
242
  const FORGE_SCRIPT = 'script/deploy/DeployAztecL1Contracts.s.sol';
221
- await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
243
+ await maybeForgeForceProductionBuild(forgeBin, l1ContractsPath, FORGE_SCRIPT, chainId);
222
244
  // Verify contracts on Etherscan when on mainnet/sepolia and ETHERSCAN_API_KEY is available.
223
245
  const isVerifiableChain = chainId === mainnet.id || chainId === sepolia.id;
224
246
  const shouldVerify = isVerifiableChain && !!process.env.ETHERSCAN_API_KEY;
225
247
  if (isVerifiableChain && !process.env.ETHERSCAN_API_KEY) {
226
248
  logger.warn(`Deploying to chain ${chainId} (${chainId === mainnet.id ? 'mainnet' : 'sepolia'}) without ETHERSCAN_API_KEY. ` + `Contracts will NOT be verified on Etherscan. Set ETHERSCAN_API_KEY environment variable to enable verification.`);
227
249
  }
228
- // From heuristic testing. More caused issues with anvil.
229
- const MAGIC_ANVIL_BATCH_SIZE = 8;
230
- // Anvil seems to stall with unbounded batch size. Otherwise no max batch size is desirable.
250
+ const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
231
251
  const forgeArgs = [
232
- 'script',
233
252
  FORGE_SCRIPT,
234
253
  '--sig',
235
254
  'run()',
@@ -237,22 +256,22 @@ function cleanupDeployDir() {
237
256
  privateKey,
238
257
  '--rpc-url',
239
258
  rpcUrl,
240
- '--broadcast',
241
- ...chainId === foundry.id ? [
242
- '--batch-size',
243
- MAGIC_ANVIL_BATCH_SIZE.toString()
244
- ] : [],
245
259
  ...shouldVerify ? [
246
260
  '--verify'
247
261
  ] : []
248
262
  ];
249
263
  const forgeEnv = {
264
+ // Resolved forge binary picked up by forge_broadcast.js, so it works without forge on PATH.
265
+ FORGE_BIN: forgeBin,
250
266
  // Env vars required by l1-contracts/script/deploy/DeploymentConfiguration.sol.
251
267
  NETWORK: getActiveNetworkName(),
252
268
  FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
253
269
  ...getDeployAztecL1ContractsEnvVars(args)
254
270
  };
255
- const result = await runProcess('forge', forgeArgs, forgeEnv, l1ContractsPath);
271
+ const result = await runProcess(process.execPath, [
272
+ scriptPath,
273
+ ...forgeArgs
274
+ ], forgeEnv, l1ContractsPath);
256
275
  if (!result) {
257
276
  throw new Error('Forge script did not output deployment result');
258
277
  }
@@ -297,7 +316,6 @@ function cleanupDeployDir() {
297
316
  governanceProposerAddress: EthAddress.fromString(result.governanceProposerAddress),
298
317
  governanceAddress: EthAddress.fromString(result.governanceAddress),
299
318
  stakingAssetAddress: EthAddress.fromString(result.stakingAssetAddress),
300
- slashFactoryAddress: result.slashFactoryAddress ? EthAddress.fromString(result.slashFactoryAddress) : undefined,
301
319
  feeAssetHandlerAddress: result.feeAssetHandlerAddress ? EthAddress.fromString(result.feeAssetHandlerAddress) : undefined,
302
320
  stakingAssetHandlerAddress: result.stakingAssetHandlerAddress ? EthAddress.fromString(result.stakingAssetHandlerAddress) : undefined,
303
321
  zkPassportVerifierAddress: result.zkPassportVerifierAddress ? EthAddress.fromString(result.zkPassportVerifierAddress) : undefined,
@@ -348,7 +366,7 @@ export function getDeployRollupForUpgradeEnvVars(args) {
348
366
  AZTEC_EXIT_DELAY_SECONDS: args.exitDelaySeconds.toString(),
349
367
  AZTEC_PROVING_COST_PER_MANA: args.provingCostPerMana.toString(),
350
368
  AZTEC_INITIAL_ETH_PER_FEE_ASSET: args.initialEthPerFeeAsset.toString(),
351
- AZTEC_SLASHER_FLAVOR: args.slasherFlavor,
369
+ AZTEC_SLASHER_ENABLED: args.slasherEnabled ? 'true' : 'false',
352
370
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: args.slashingRoundSizeInEpochs.toString(),
353
371
  AZTEC_SLASHING_QUORUM: args.slashingQuorum?.toString(),
354
372
  AZTEC_SLASHING_OFFSET_IN_ROUNDS: args.slashingOffsetInRounds.toString(),
@@ -362,27 +380,32 @@ export function getDeployRollupForUpgradeEnvVars(args) {
362
380
  */ export const deployRollupForUpgrade = async (privateKey, rpcUrl, chainId, registryAddress, args)=>{
363
381
  // Use foundry-artifacts from l1-artifacts package
364
382
  const l1ContractsPath = prepareL1ContractsForDeployment();
383
+ const forgeBin = resolveFoundryBinary('forge');
365
384
  const FORGE_SCRIPT = 'script/deploy/DeployRollupForUpgrade.s.sol';
366
- await maybeForgeForceProductionBuild(l1ContractsPath, FORGE_SCRIPT, chainId);
385
+ await maybeForgeForceProductionBuild(forgeBin, l1ContractsPath, FORGE_SCRIPT, chainId);
386
+ const scriptPath = join(getL1ContractsPath(), 'scripts', 'forge_broadcast.js');
367
387
  const forgeArgs = [
368
- 'script',
369
388
  FORGE_SCRIPT,
370
389
  '--sig',
371
390
  'run()',
372
391
  '--private-key',
373
392
  privateKey,
374
393
  '--rpc-url',
375
- rpcUrl,
376
- '--broadcast'
394
+ rpcUrl
377
395
  ];
378
396
  const forgeEnv = {
397
+ // Resolved forge binary picked up by forge_broadcast.js, so it works without forge on PATH.
398
+ FORGE_BIN: forgeBin,
379
399
  FOUNDRY_PROFILE: chainId === mainnet.id ? 'production' : undefined,
380
400
  // Env vars required by l1-contracts/script/deploy/RollupConfiguration.sol.
381
401
  REGISTRY_ADDRESS: registryAddress.toString(),
382
402
  NETWORK: getActiveNetworkName(),
383
403
  ...getDeployRollupForUpgradeEnvVars(args)
384
404
  };
385
- const result = await runProcess('forge', forgeArgs, forgeEnv, l1ContractsPath);
405
+ const result = await runProcess(process.execPath, [
406
+ scriptPath,
407
+ ...forgeArgs
408
+ ], forgeEnv, l1ContractsPath);
386
409
  if (!result) {
387
410
  throw new Error('Forge script did not output deployment result');
388
411
  }
@@ -392,7 +415,6 @@ export function getDeployRollupForUpgradeEnvVars(args) {
392
415
  // Create RollupContract wrapper for the deployed rollup
393
416
  const rollup = new RollupContract(extendedClient, result.rollupAddress);
394
417
  return {
395
- rollup,
396
- slashFactoryAddress: result.slashFactoryAddress
418
+ rollup
397
419
  };
398
420
  };
@@ -5,7 +5,7 @@ import { concatHex, encodeAbiParameters, encodeDeployData, getContractAddress, n
5
5
  import { DEPLOYER_ADDRESS } from './deploy_aztec_l1_contracts.js';
6
6
  import { RegisterNewRollupVersionPayloadArtifact } from './l1_artifacts.js';
7
7
  import { getL1TxUtilsConfigEnvVars } from './l1_tx_utils/config.js';
8
- import { createL1TxUtilsFromViemWallet } from './l1_tx_utils/factory.js';
8
+ import { createL1TxUtils } from './l1_tx_utils/factory.js';
9
9
  import { formatViemError } from './utils.js';
10
10
  export class L1Deployer {
11
11
  client;
@@ -28,7 +28,7 @@ export class L1Deployer {
28
28
  this.salt = maybeSalt ? padHex(numberToHex(maybeSalt), {
29
29
  size: 32
30
30
  }) : undefined;
31
- this.l1TxUtils = createL1TxUtilsFromViemWallet(this.client, {
31
+ this.l1TxUtils = createL1TxUtils(this.client, {
32
32
  logger: this.logger,
33
33
  dateProvider
34
34
  }, {
@@ -130,7 +130,7 @@ export class L1Deployer {
130
130
  let { l1TxUtils } = opts;
131
131
  if (!l1TxUtils) {
132
132
  const config = getL1TxUtilsConfigEnvVars();
133
- l1TxUtils = createL1TxUtilsFromViemWallet(extendedClient, {
133
+ l1TxUtils = createL1TxUtils(extendedClient, {
134
134
  logger
135
135
  }, {
136
136
  ...config,
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Locate a Foundry binary (`anvil`, `forge`, ...) without relying on the caller's PATH. Order:
3
+ * 1. `$<NAME>_BIN` (e.g. `$ANVIL_BIN`, `$FORGE_BIN`) — explicit override, e.g. for CI with a pinned
4
+ * version. Throws if set but not pointing at an executable, instead of silently falling back.
5
+ * 2. `~/.aztec/current/internal-bin/<name>` — where aztec-up installs it.
6
+ * 3. `~/.aztec/current/bin/aztec-<name>` — the publicly-exposed symlink.
7
+ * 4. `~/.foundry/bin/<name>` — standalone foundryup install.
8
+ * 5. `command -v <name>` — anything else on PATH.
9
+ *
10
+ * Throws with a directive message if none work.
11
+ */
12
+ export declare function resolveFoundryBinary(name: string): string;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm91bmRyeV9iaW5hcnkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9mb3VuZHJ5X2JpbmFyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsTUFBTSxDQStCekQifQ==
@@ -0,0 +1 @@
1
+ {"version":3,"file":"foundry_binary.d.ts","sourceRoot":"","sources":["../src/foundry_binary.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA+BzD"}
@@ -0,0 +1,52 @@
1
+ import { spawnSync } from 'child_process';
2
+ import { accessSync, constants } from 'fs';
3
+ import { homedir } from 'os';
4
+ import { join } from 'path';
5
+ function isExecutable(path) {
6
+ try {
7
+ accessSync(path, constants.X_OK);
8
+ return true;
9
+ } catch {
10
+ return false;
11
+ }
12
+ }
13
+ /**
14
+ * Locate a Foundry binary (`anvil`, `forge`, ...) without relying on the caller's PATH. Order:
15
+ * 1. `$<NAME>_BIN` (e.g. `$ANVIL_BIN`, `$FORGE_BIN`) — explicit override, e.g. for CI with a pinned
16
+ * version. Throws if set but not pointing at an executable, instead of silently falling back.
17
+ * 2. `~/.aztec/current/internal-bin/<name>` — where aztec-up installs it.
18
+ * 3. `~/.aztec/current/bin/aztec-<name>` — the publicly-exposed symlink.
19
+ * 4. `~/.foundry/bin/<name>` — standalone foundryup install.
20
+ * 5. `command -v <name>` — anything else on PATH.
21
+ *
22
+ * Throws with a directive message if none work.
23
+ */ export function resolveFoundryBinary(name) {
24
+ const envVar = `${name.toUpperCase()}_BIN`;
25
+ const envBin = process.env[envVar];
26
+ if (envBin) {
27
+ if (!isExecutable(envBin)) {
28
+ throw new Error(`$${envVar} is set to ${envBin}, which does not exist or is not executable.`);
29
+ }
30
+ return envBin;
31
+ }
32
+ const candidates = [
33
+ join(homedir(), '.aztec', 'current', 'internal-bin', name),
34
+ join(homedir(), '.aztec', 'current', 'bin', `aztec-${name}`),
35
+ join(homedir(), '.foundry', 'bin', name)
36
+ ];
37
+ for (const path of candidates){
38
+ if (isExecutable(path)) {
39
+ return path;
40
+ }
41
+ }
42
+ const which = spawnSync('sh', [
43
+ '-c',
44
+ `command -v ${name}`
45
+ ], {
46
+ encoding: 'utf8'
47
+ });
48
+ if (which.status === 0 && which.stdout.trim()) {
49
+ return which.stdout.trim();
50
+ }
51
+ throw new Error(`${name} binary not found. Tried $${envVar}, ~/.aztec/current/internal-bin/${name}, ` + `~/.aztec/current/bin/aztec-${name}, ~/.foundry/bin/${name}, and $PATH. ` + `Install via \`aztec-up\` or set ${envVar} to a working binary.`);
52
+ }
@@ -1,7 +1,7 @@
1
1
  /** Default L1 contracts configuration values from network-defaults.yml */
2
2
  export declare const l1ContractsDefaultEnv: {
3
3
  readonly ETHEREUM_SLOT_DURATION: 12;
4
- readonly AZTEC_SLOT_DURATION: 36;
4
+ readonly AZTEC_SLOT_DURATION: 72;
5
5
  readonly AZTEC_EPOCH_DURATION: 32;
6
6
  readonly AZTEC_TARGET_COMMITTEE_SIZE: 48;
7
7
  readonly AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2;
@@ -10,12 +10,12 @@ export declare const l1ContractsDefaultEnv: {
10
10
  readonly AZTEC_EJECTION_THRESHOLD: 50000000000000000000;
11
11
  readonly AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000;
12
12
  readonly AZTEC_EXIT_DELAY_SECONDS: 172800;
13
- readonly AZTEC_INBOX_LAG: 1;
13
+ readonly AZTEC_INBOX_LAG: 2;
14
14
  readonly AZTEC_PROOF_SUBMISSION_EPOCHS: 1;
15
15
  readonly AZTEC_MANA_TARGET: 100000000;
16
16
  readonly AZTEC_PROVING_COST_PER_MANA: 100;
17
17
  readonly AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000;
18
- readonly AZTEC_SLASHER_FLAVOR: "tally";
18
+ readonly AZTEC_SLASHER_ENABLED: true;
19
19
  readonly AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4;
20
20
  readonly AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5;
21
21
  readonly AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0;
@@ -2,7 +2,7 @@
2
2
  // Do not edit manually - run yarn generate to regenerate
3
3
  /** Default L1 contracts configuration values from network-defaults.yml */ export const l1ContractsDefaultEnv = {
4
4
  ETHEREUM_SLOT_DURATION: 12,
5
- AZTEC_SLOT_DURATION: 36,
5
+ AZTEC_SLOT_DURATION: 72,
6
6
  AZTEC_EPOCH_DURATION: 32,
7
7
  AZTEC_TARGET_COMMITTEE_SIZE: 48,
8
8
  AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET: 2,
@@ -11,12 +11,12 @@
11
11
  AZTEC_EJECTION_THRESHOLD: 50000000000000000000,
12
12
  AZTEC_LOCAL_EJECTION_THRESHOLD: 98000000000000000000,
13
13
  AZTEC_EXIT_DELAY_SECONDS: 172800,
14
- AZTEC_INBOX_LAG: 1,
14
+ AZTEC_INBOX_LAG: 2,
15
15
  AZTEC_PROOF_SUBMISSION_EPOCHS: 1,
16
16
  AZTEC_MANA_TARGET: 100000000,
17
17
  AZTEC_PROVING_COST_PER_MANA: 100,
18
18
  AZTEC_INITIAL_ETH_PER_FEE_ASSET: 10000000,
19
- AZTEC_SLASHER_FLAVOR: 'tally',
19
+ AZTEC_SLASHER_ENABLED: true,
20
20
  AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS: 4,
21
21
  AZTEC_SLASHING_LIFETIME_IN_ROUNDS: 5,
22
22
  AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS: 0,