@aztec/ethereum 0.0.1-commit.d3ec352c → 0.0.1-commit.d431d1c

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 (162) hide show
  1. package/dest/client.js +6 -2
  2. package/dest/config.d.ts +17 -68
  3. package/dest/config.d.ts.map +1 -1
  4. package/dest/config.js +46 -378
  5. package/dest/contracts/empire_base.d.ts +2 -1
  6. package/dest/contracts/empire_base.d.ts.map +1 -1
  7. package/dest/contracts/empire_slashing_proposer.d.ts +2 -1
  8. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  9. package/dest/contracts/empire_slashing_proposer.js +9 -0
  10. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  11. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  12. package/dest/contracts/fee_asset_handler.js +9 -9
  13. package/dest/contracts/governance_proposer.d.ts +2 -1
  14. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  15. package/dest/contracts/governance_proposer.js +391 -8
  16. package/dest/contracts/inbox.d.ts +24 -3
  17. package/dest/contracts/inbox.d.ts.map +1 -1
  18. package/dest/contracts/inbox.js +36 -1
  19. package/dest/contracts/index.d.ts +3 -1
  20. package/dest/contracts/index.d.ts.map +1 -1
  21. package/dest/contracts/index.js +2 -0
  22. package/dest/contracts/log.d.ts +13 -0
  23. package/dest/contracts/log.d.ts.map +1 -0
  24. package/dest/contracts/log.js +1 -0
  25. package/dest/contracts/outbox.d.ts +41 -0
  26. package/dest/contracts/outbox.d.ts.map +1 -0
  27. package/dest/contracts/outbox.js +86 -0
  28. package/dest/contracts/rollup.d.ts +162 -82
  29. package/dest/contracts/rollup.d.ts.map +1 -1
  30. package/dest/contracts/rollup.js +680 -127
  31. package/dest/contracts/tally_slashing_proposer.d.ts +3 -2
  32. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  33. package/dest/contracts/tally_slashing_proposer.js +1 -1
  34. package/dest/deploy_aztec_l1_contracts.d.ts +258 -0
  35. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
  36. package/dest/deploy_aztec_l1_contracts.js +397 -0
  37. package/dest/deploy_l1_contract.d.ts +68 -0
  38. package/dest/deploy_l1_contract.d.ts.map +1 -0
  39. package/dest/deploy_l1_contract.js +312 -0
  40. package/dest/forwarder_proxy.d.ts +32 -0
  41. package/dest/forwarder_proxy.d.ts.map +1 -0
  42. package/dest/forwarder_proxy.js +93 -0
  43. package/dest/generated/l1-contracts-defaults.d.ts +29 -0
  44. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  45. package/dest/generated/l1-contracts-defaults.js +29 -0
  46. package/dest/l1_artifacts.d.ts +4158 -1563
  47. package/dest/l1_artifacts.d.ts.map +1 -1
  48. package/dest/l1_contract_addresses.d.ts +1 -1
  49. package/dest/l1_contract_addresses.d.ts.map +1 -1
  50. package/dest/l1_contract_addresses.js +3 -3
  51. package/dest/l1_reader.d.ts +3 -1
  52. package/dest/l1_reader.d.ts.map +1 -1
  53. package/dest/l1_reader.js +6 -0
  54. package/dest/l1_tx_utils/config.d.ts +3 -3
  55. package/dest/l1_tx_utils/config.d.ts.map +1 -1
  56. package/dest/l1_tx_utils/config.js +17 -3
  57. package/dest/l1_tx_utils/constants.d.ts +7 -1
  58. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  59. package/dest/l1_tx_utils/constants.js +25 -0
  60. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  61. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  62. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  63. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  64. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  65. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  66. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  67. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  68. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  69. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  70. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  71. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  72. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts +41 -0
  73. package/dest/l1_tx_utils/forwarder_l1_tx_utils.d.ts.map +1 -0
  74. package/dest/l1_tx_utils/forwarder_l1_tx_utils.js +48 -0
  75. package/dest/l1_tx_utils/index-blobs.d.ts +3 -0
  76. package/dest/l1_tx_utils/index-blobs.d.ts.map +1 -0
  77. package/dest/l1_tx_utils/index-blobs.js +2 -0
  78. package/dest/l1_tx_utils/index.d.ts +3 -1
  79. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  80. package/dest/l1_tx_utils/index.js +2 -0
  81. package/dest/l1_tx_utils/interfaces.d.ts +2 -2
  82. package/dest/l1_tx_utils/interfaces.d.ts.map +1 -1
  83. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  84. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  85. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  86. package/dest/l1_tx_utils/l1_tx_utils.d.ts +1 -1
  87. package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
  88. package/dest/l1_tx_utils/l1_tx_utils.js +17 -4
  89. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +4 -15
  90. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  91. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +52 -159
  92. package/dest/queries.d.ts +2 -2
  93. package/dest/queries.d.ts.map +1 -1
  94. package/dest/queries.js +10 -3
  95. package/dest/test/chain_monitor.d.ts +2 -2
  96. package/dest/test/chain_monitor.d.ts.map +1 -1
  97. package/dest/test/chain_monitor.js +1 -2
  98. package/dest/test/eth_cheat_codes.d.ts +13 -1
  99. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  100. package/dest/test/eth_cheat_codes.js +4 -2
  101. package/dest/test/rollup_cheat_codes.d.ts +3 -2
  102. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  103. package/dest/test/rollup_cheat_codes.js +16 -3
  104. package/dest/test/start_anvil.d.ts +3 -1
  105. package/dest/test/start_anvil.d.ts.map +1 -1
  106. package/dest/test/tx_delayer.d.ts +1 -1
  107. package/dest/test/tx_delayer.d.ts.map +1 -1
  108. package/dest/test/tx_delayer.js +4 -3
  109. package/dest/types.d.ts +57 -2
  110. package/dest/types.d.ts.map +1 -1
  111. package/dest/utils.d.ts +15 -3
  112. package/dest/utils.d.ts.map +1 -1
  113. package/dest/utils.js +18 -0
  114. package/package.json +31 -12
  115. package/src/client.ts +2 -2
  116. package/src/config.ts +55 -457
  117. package/src/contracts/README.md +157 -0
  118. package/src/contracts/empire_base.ts +1 -1
  119. package/src/contracts/empire_slashing_proposer.ts +6 -1
  120. package/src/contracts/fee_asset_handler.ts +8 -7
  121. package/src/contracts/governance_proposer.ts +6 -1
  122. package/src/contracts/inbox.ts +55 -3
  123. package/src/contracts/index.ts +2 -0
  124. package/src/contracts/log.ts +13 -0
  125. package/src/contracts/outbox.ts +98 -0
  126. package/src/contracts/rollup.ts +350 -94
  127. package/src/contracts/tally_slashing_proposer.ts +3 -1
  128. package/src/deploy_aztec_l1_contracts.ts +618 -0
  129. package/src/deploy_l1_contract.ts +362 -0
  130. package/src/forwarder_proxy.ts +108 -0
  131. package/src/generated/l1-contracts-defaults.ts +31 -0
  132. package/src/l1_contract_addresses.ts +22 -20
  133. package/src/l1_reader.ts +8 -0
  134. package/src/l1_tx_utils/config.ts +24 -6
  135. package/src/l1_tx_utils/constants.ts +11 -0
  136. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  137. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  138. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  139. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  140. package/src/l1_tx_utils/forwarder_l1_tx_utils.ts +119 -0
  141. package/src/l1_tx_utils/index-blobs.ts +2 -0
  142. package/src/l1_tx_utils/index.ts +2 -0
  143. package/src/l1_tx_utils/interfaces.ts +1 -1
  144. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  145. package/src/l1_tx_utils/l1_tx_utils.ts +24 -4
  146. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +65 -204
  147. package/src/queries.ts +10 -3
  148. package/src/test/chain_monitor.ts +3 -2
  149. package/src/test/eth_cheat_codes.ts +2 -2
  150. package/src/test/rollup_cheat_codes.ts +13 -3
  151. package/src/test/start_anvil.ts +2 -0
  152. package/src/test/tx_delayer.ts +5 -3
  153. package/src/types.ts +62 -0
  154. package/src/utils.ts +30 -1
  155. package/dest/deploy_l1_contracts.d.ts +0 -673
  156. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  157. package/dest/deploy_l1_contracts.js +0 -1491
  158. package/dest/index.d.ts +0 -18
  159. package/dest/index.d.ts.map +0 -1
  160. package/dest/index.js +0 -17
  161. package/src/deploy_l1_contracts.ts +0 -1869
  162. package/src/index.ts +0 -17
package/src/utils.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Fr } from '@aztec/foundation/fields';
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
3
  import { ErrorsAbi } from '@aztec/l1-artifacts/ErrorsAbi';
4
4
 
@@ -8,6 +8,7 @@ import {
8
8
  type ContractEventName,
9
9
  ContractFunctionRevertedError,
10
10
  type DecodeEventLogReturnType,
11
+ type FormattedTransaction,
11
12
  type Hex,
12
13
  type Log,
13
14
  decodeErrorResult,
@@ -233,3 +234,31 @@ export function tryGetCustomErrorName(err: any) {
233
234
  return undefined;
234
235
  }
235
236
  }
237
+
238
+ /**
239
+ * Type guard to check if a transaction is a blob transaction (EIP-4844).
240
+ * Blob transactions have maxFeePerBlobGas and blobVersionedHashes fields.
241
+ */
242
+ export function isBlobTransaction(tx: FormattedTransaction): tx is FormattedTransaction & {
243
+ maxFeePerBlobGas: bigint;
244
+ blobVersionedHashes: readonly Hex[];
245
+ } {
246
+ return (
247
+ 'maxFeePerBlobGas' in tx &&
248
+ tx.maxFeePerBlobGas !== undefined &&
249
+ 'blobVersionedHashes' in tx &&
250
+ tx.blobVersionedHashes !== undefined
251
+ );
252
+ }
253
+
254
+ /**
255
+ * Calculates a percentile from an array of bigints
256
+ */
257
+ export function calculatePercentile(values: bigint[], percentile: number): bigint {
258
+ if (values.length === 0) {
259
+ return 0n;
260
+ }
261
+ const sorted = [...values].sort((a, b) => (a < b ? -1 : a > b ? 1 : 0));
262
+ const index = Math.ceil((sorted.length - 1) * (percentile / 100));
263
+ return sorted[index];
264
+ }