@aztec/stdlib 0.0.1-commit.3e3d0c9cd → 0.0.1-commit.3f5453c7b

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 (278) hide show
  1. package/dest/abi/abi.d.ts +138 -1
  2. package/dest/abi/abi.d.ts.map +1 -1
  3. package/dest/abi/abi.js +10 -2
  4. package/dest/abi/buffer.d.ts +14 -4
  5. package/dest/abi/buffer.d.ts.map +1 -1
  6. package/dest/abi/buffer.js +25 -4
  7. package/dest/abi/decoder.d.ts +5 -44
  8. package/dest/abi/decoder.d.ts.map +1 -1
  9. package/dest/abi/decoder.js +12 -67
  10. package/dest/abi/function_selector.js +1 -1
  11. package/dest/abi/function_signature_decoder.d.ts +43 -0
  12. package/dest/abi/function_signature_decoder.d.ts.map +1 -0
  13. package/dest/abi/function_signature_decoder.js +66 -0
  14. package/dest/abi/index.d.ts +2 -1
  15. package/dest/abi/index.d.ts.map +1 -1
  16. package/dest/abi/index.js +1 -0
  17. package/dest/abi/selector.d.ts +2 -2
  18. package/dest/abi/selector.d.ts.map +1 -1
  19. package/dest/abi/selector.js +1 -1
  20. package/dest/avm/revert_code.d.ts +8 -18
  21. package/dest/avm/revert_code.d.ts.map +1 -1
  22. package/dest/avm/revert_code.js +15 -30
  23. package/dest/block/l2_block_source.d.ts +84 -5
  24. package/dest/block/l2_block_source.d.ts.map +1 -1
  25. package/dest/block/l2_block_source.js +1 -0
  26. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts +1 -1
  27. package/dest/block/l2_block_stream/l2_tips_store_base.d.ts.map +1 -1
  28. package/dest/block/l2_block_stream/l2_tips_store_base.js +17 -4
  29. package/dest/block/test/l2_tips_store_test_suite.d.ts +1 -1
  30. package/dest/block/test/l2_tips_store_test_suite.d.ts.map +1 -1
  31. package/dest/block/test/l2_tips_store_test_suite.js +3 -2
  32. package/dest/checkpoint/checkpoint.d.ts +7 -1
  33. package/dest/checkpoint/checkpoint.d.ts.map +1 -1
  34. package/dest/checkpoint/checkpoint.js +9 -1
  35. package/dest/checkpoint/checkpoint_data.d.ts +71 -5
  36. package/dest/checkpoint/checkpoint_data.d.ts.map +1 -1
  37. package/dest/checkpoint/checkpoint_data.js +10 -0
  38. package/dest/checkpoint/validate.js +2 -2
  39. package/dest/config/index.d.ts +2 -1
  40. package/dest/config/index.d.ts.map +1 -1
  41. package/dest/config/index.js +1 -0
  42. package/dest/config/pipelining-config.d.ts +19 -0
  43. package/dest/config/pipelining-config.d.ts.map +1 -0
  44. package/dest/config/pipelining-config.js +18 -0
  45. package/dest/config/sequencer-config.d.ts +2 -2
  46. package/dest/config/sequencer-config.d.ts.map +1 -1
  47. package/dest/config/sequencer-config.js +7 -0
  48. package/dest/contract/contract_address.d.ts +3 -3
  49. package/dest/contract/contract_address.js +3 -3
  50. package/dest/contract/contract_class_id.d.ts +2 -2
  51. package/dest/contract/contract_class_id.js +2 -2
  52. package/dest/contract/index.d.ts +1 -3
  53. package/dest/contract/index.d.ts.map +1 -1
  54. package/dest/contract/index.js +0 -2
  55. package/dest/contract/interfaces/contract_class.d.ts +3 -156
  56. package/dest/contract/interfaces/contract_class.d.ts.map +1 -1
  57. package/dest/contract/interfaces/contract_class.js +1 -28
  58. package/dest/epoch-helpers/index.d.ts +7 -1
  59. package/dest/epoch-helpers/index.d.ts.map +1 -1
  60. package/dest/epoch-helpers/index.js +12 -0
  61. package/dest/file-store/factory.d.ts +4 -3
  62. package/dest/file-store/factory.d.ts.map +1 -1
  63. package/dest/file-store/factory.js +2 -2
  64. package/dest/file-store/http.d.ts +9 -2
  65. package/dest/file-store/http.d.ts.map +1 -1
  66. package/dest/file-store/http.js +20 -9
  67. package/dest/file-store/index.d.ts +2 -1
  68. package/dest/file-store/index.d.ts.map +1 -1
  69. package/dest/gas/fee_math.d.ts +49 -0
  70. package/dest/gas/fee_math.d.ts.map +1 -0
  71. package/dest/gas/fee_math.js +80 -0
  72. package/dest/gas/gas_fees.d.ts +1 -1
  73. package/dest/gas/gas_fees.d.ts.map +1 -1
  74. package/dest/gas/gas_fees.js +10 -1
  75. package/dest/gas/gas_settings.d.ts +40 -3
  76. package/dest/gas/gas_settings.d.ts.map +1 -1
  77. package/dest/gas/gas_settings.js +50 -6
  78. package/dest/gas/index.d.ts +2 -1
  79. package/dest/gas/index.d.ts.map +1 -1
  80. package/dest/gas/index.js +1 -0
  81. package/dest/hash/hash.d.ts +19 -1
  82. package/dest/hash/hash.d.ts.map +1 -1
  83. package/dest/hash/hash.js +29 -0
  84. package/dest/interfaces/archiver.d.ts +1 -1
  85. package/dest/interfaces/archiver.d.ts.map +1 -1
  86. package/dest/interfaces/archiver.js +3 -1
  87. package/dest/interfaces/aztec-node-admin.d.ts +4 -17
  88. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  89. package/dest/interfaces/aztec-node-admin.js +3 -3
  90. package/dest/interfaces/aztec-node-debug.d.ts +21 -0
  91. package/dest/interfaces/aztec-node-debug.d.ts.map +1 -0
  92. package/dest/interfaces/aztec-node-debug.js +18 -0
  93. package/dest/interfaces/aztec-node.d.ts +10 -1
  94. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  95. package/dest/interfaces/aztec-node.js +2 -0
  96. package/dest/interfaces/block-builder.d.ts +26 -7
  97. package/dest/interfaces/block-builder.d.ts.map +1 -1
  98. package/dest/interfaces/block-builder.js +1 -4
  99. package/dest/interfaces/client.d.ts +2 -1
  100. package/dest/interfaces/client.d.ts.map +1 -1
  101. package/dest/interfaces/client.js +1 -0
  102. package/dest/interfaces/configs.d.ts +2 -7
  103. package/dest/interfaces/configs.d.ts.map +1 -1
  104. package/dest/interfaces/configs.js +0 -1
  105. package/dest/interfaces/proving-job.d.ts +200 -200
  106. package/dest/interfaces/slasher.d.ts +1 -10
  107. package/dest/interfaces/slasher.d.ts.map +1 -1
  108. package/dest/interfaces/slasher.js +0 -2
  109. package/dest/interfaces/validator.d.ts +4 -15
  110. package/dest/interfaces/validator.d.ts.map +1 -1
  111. package/dest/interfaces/validator.js +0 -1
  112. package/dest/l1-contracts/index.d.ts +2 -2
  113. package/dest/l1-contracts/index.d.ts.map +1 -1
  114. package/dest/l1-contracts/index.js +1 -1
  115. package/dest/logs/extended_directional_app_tagging_secret.d.ts +4 -4
  116. package/dest/logs/extended_directional_app_tagging_secret.d.ts.map +1 -1
  117. package/dest/logs/extended_directional_app_tagging_secret.js +12 -5
  118. package/dest/logs/message_context.d.ts +4 -7
  119. package/dest/logs/message_context.d.ts.map +1 -1
  120. package/dest/logs/message_context.js +23 -9
  121. package/dest/logs/pending_tagged_log.d.ts +2 -3
  122. package/dest/logs/pending_tagged_log.d.ts.map +1 -1
  123. package/dest/logs/pending_tagged_log.js +2 -2
  124. package/dest/logs/shared_secret_derivation.d.ts +11 -10
  125. package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
  126. package/dest/logs/shared_secret_derivation.js +15 -9
  127. package/dest/logs/siloed_tag.d.ts +4 -1
  128. package/dest/logs/siloed_tag.d.ts.map +1 -1
  129. package/dest/logs/siloed_tag.js +7 -3
  130. package/dest/logs/tx_scoped_l2_log.d.ts +3 -1
  131. package/dest/logs/tx_scoped_l2_log.d.ts.map +1 -1
  132. package/dest/logs/tx_scoped_l2_log.js +7 -0
  133. package/dest/messaging/l1_to_l2_message.d.ts +3 -2
  134. package/dest/messaging/l1_to_l2_message.d.ts.map +1 -1
  135. package/dest/messaging/l1_to_l2_message.js +11 -13
  136. package/dest/noir/index.d.ts +3 -3
  137. package/dest/noir/index.d.ts.map +1 -1
  138. package/dest/note/note_dao.d.ts +1 -1
  139. package/dest/note/note_dao.d.ts.map +1 -1
  140. package/dest/note/note_dao.js +1 -4
  141. package/dest/p2p/checkpoint_proposal.d.ts +2 -2
  142. package/dest/p2p/checkpoint_proposal.d.ts.map +1 -1
  143. package/dest/p2p/checkpoint_proposal.js +3 -13
  144. package/dest/proofs/chonk_proof.d.ts +46 -2
  145. package/dest/proofs/chonk_proof.d.ts.map +1 -1
  146. package/dest/proofs/chonk_proof.js +85 -10
  147. package/dest/slashing/index.d.ts +2 -3
  148. package/dest/slashing/index.d.ts.map +1 -1
  149. package/dest/slashing/index.js +1 -2
  150. package/dest/slashing/serialization.d.ts +2 -6
  151. package/dest/slashing/serialization.d.ts.map +1 -1
  152. package/dest/slashing/serialization.js +0 -60
  153. package/dest/slashing/types.d.ts +4 -90
  154. package/dest/slashing/types.d.ts.map +1 -1
  155. package/dest/slashing/types.js +0 -14
  156. package/dest/slashing/{tally.d.ts → votes.d.ts} +1 -1
  157. package/dest/slashing/{tally.d.ts.map → votes.d.ts.map} +1 -1
  158. package/dest/slashing/{tally.js → votes.js} +1 -1
  159. package/dest/tests/factories.d.ts +2 -4
  160. package/dest/tests/factories.d.ts.map +1 -1
  161. package/dest/tests/factories.js +11 -28
  162. package/dest/tests/mocks.d.ts +1 -1
  163. package/dest/tests/mocks.d.ts.map +1 -1
  164. package/dest/tests/mocks.js +13 -18
  165. package/dest/timetable/index.d.ts +51 -1
  166. package/dest/timetable/index.d.ts.map +1 -1
  167. package/dest/timetable/index.js +204 -14
  168. package/dest/tx/capsule.d.ts +6 -2
  169. package/dest/tx/capsule.d.ts.map +1 -1
  170. package/dest/tx/capsule.js +9 -3
  171. package/dest/tx/fee_provider.d.ts +10 -0
  172. package/dest/tx/fee_provider.d.ts.map +1 -0
  173. package/dest/tx/fee_provider.js +1 -0
  174. package/dest/tx/global_variable_builder.d.ts +3 -4
  175. package/dest/tx/global_variable_builder.d.ts.map +1 -1
  176. package/dest/tx/index.d.ts +2 -1
  177. package/dest/tx/index.d.ts.map +1 -1
  178. package/dest/tx/index.js +1 -0
  179. package/dest/tx/simulated_tx.d.ts +112 -4
  180. package/dest/tx/simulated_tx.d.ts.map +1 -1
  181. package/dest/tx/simulated_tx.js +3 -3
  182. package/dest/tx/tx_receipt.d.ts +8 -4
  183. package/dest/tx/tx_receipt.d.ts.map +1 -1
  184. package/dest/tx/tx_receipt.js +8 -15
  185. package/dest/tx/validator/error_texts.d.ts +5 -1
  186. package/dest/tx/validator/error_texts.d.ts.map +1 -1
  187. package/dest/tx/validator/error_texts.js +6 -0
  188. package/dest/world-state/genesis_data.d.ts +11 -0
  189. package/dest/world-state/genesis_data.d.ts.map +1 -0
  190. package/dest/world-state/genesis_data.js +4 -0
  191. package/dest/world-state/index.d.ts +2 -1
  192. package/dest/world-state/index.d.ts.map +1 -1
  193. package/dest/world-state/index.js +1 -0
  194. package/package.json +8 -8
  195. package/src/abi/abi.ts +25 -2
  196. package/src/abi/buffer.ts +25 -4
  197. package/src/abi/decoder.ts +23 -78
  198. package/src/abi/function_selector.ts +1 -1
  199. package/src/abi/function_signature_decoder.ts +77 -0
  200. package/src/abi/index.ts +1 -0
  201. package/src/abi/selector.ts +1 -1
  202. package/src/avm/revert_code.ts +25 -39
  203. package/src/block/l2_block_source.ts +14 -4
  204. package/src/block/l2_block_stream/l2_tips_store_base.ts +24 -12
  205. package/src/block/test/l2_tips_store_test_suite.ts +8 -1
  206. package/src/checkpoint/checkpoint.ts +11 -1
  207. package/src/checkpoint/checkpoint_data.ts +40 -4
  208. package/src/checkpoint/validate.ts +2 -2
  209. package/src/config/index.ts +1 -0
  210. package/src/config/pipelining-config.ts +31 -0
  211. package/src/config/sequencer-config.ts +11 -1
  212. package/src/contract/contract_address.ts +3 -3
  213. package/src/contract/contract_class_id.ts +2 -2
  214. package/src/contract/index.ts +0 -2
  215. package/src/contract/interfaces/contract_class.ts +2 -82
  216. package/src/epoch-helpers/index.ts +24 -0
  217. package/src/file-store/factory.ts +13 -4
  218. package/src/file-store/http.ts +29 -10
  219. package/src/file-store/index.ts +1 -0
  220. package/src/gas/README.md +31 -0
  221. package/src/gas/fee_math.ts +120 -0
  222. package/src/gas/gas_fees.ts +12 -4
  223. package/src/gas/gas_settings.ts +65 -12
  224. package/src/gas/index.ts +1 -0
  225. package/src/hash/hash.ts +34 -0
  226. package/src/interfaces/archiver.ts +3 -1
  227. package/src/interfaces/aztec-node-admin.ts +5 -7
  228. package/src/interfaces/aztec-node-debug.ts +40 -0
  229. package/src/interfaces/aztec-node.ts +15 -0
  230. package/src/interfaces/block-builder.ts +27 -9
  231. package/src/interfaces/client.ts +1 -0
  232. package/src/interfaces/configs.ts +1 -6
  233. package/src/interfaces/slasher.ts +0 -6
  234. package/src/interfaces/validator.ts +2 -9
  235. package/src/l1-contracts/index.ts +1 -1
  236. package/src/logs/extended_directional_app_tagging_secret.ts +19 -8
  237. package/src/logs/message_context.ts +17 -7
  238. package/src/logs/pending_tagged_log.ts +1 -3
  239. package/src/logs/shared_secret_derivation.ts +21 -10
  240. package/src/logs/siloed_tag.ts +7 -2
  241. package/src/logs/tx_scoped_l2_log.ts +16 -0
  242. package/src/messaging/l1_to_l2_message.ts +12 -9
  243. package/src/noir/index.ts +2 -2
  244. package/src/note/note_dao.ts +1 -4
  245. package/src/p2p/checkpoint_proposal.ts +8 -21
  246. package/src/proofs/chonk_proof.ts +91 -5
  247. package/src/slashing/index.ts +1 -2
  248. package/src/slashing/serialization.ts +1 -81
  249. package/src/slashing/types.ts +3 -35
  250. package/src/slashing/{tally.ts → votes.ts} +1 -1
  251. package/src/tests/factories.ts +5 -34
  252. package/src/tests/mocks.ts +14 -12
  253. package/src/timetable/index.ts +293 -13
  254. package/src/tx/capsule.ts +10 -2
  255. package/src/tx/fee_provider.ts +10 -0
  256. package/src/tx/global_variable_builder.ts +2 -3
  257. package/src/tx/index.ts +1 -0
  258. package/src/tx/simulated_tx.ts +6 -2
  259. package/src/tx/tx_receipt.ts +11 -14
  260. package/src/tx/validator/error_texts.ts +8 -0
  261. package/src/world-state/genesis_data.ts +15 -0
  262. package/src/world-state/index.ts +1 -0
  263. package/dest/contract/private_function_membership_proof.d.ts +0 -32
  264. package/dest/contract/private_function_membership_proof.d.ts.map +0 -1
  265. package/dest/contract/private_function_membership_proof.js +0 -124
  266. package/dest/contract/utility_function_membership_proof.d.ts +0 -27
  267. package/dest/contract/utility_function_membership_proof.d.ts.map +0 -1
  268. package/dest/contract/utility_function_membership_proof.js +0 -87
  269. package/dest/l1-contracts/slash_factory.d.ts +0 -45
  270. package/dest/l1-contracts/slash_factory.d.ts.map +0 -1
  271. package/dest/l1-contracts/slash_factory.js +0 -158
  272. package/dest/slashing/empire.d.ts +0 -31
  273. package/dest/slashing/empire.d.ts.map +0 -1
  274. package/dest/slashing/empire.js +0 -87
  275. package/src/contract/private_function_membership_proof.ts +0 -167
  276. package/src/contract/utility_function_membership_proof.ts +0 -118
  277. package/src/l1-contracts/slash_factory.ts +0 -180
  278. package/src/slashing/empire.ts +0 -104
@@ -13,6 +13,139 @@
13
13
  /** Default one-way P2P propagation time for proposals and attestations in seconds */ export const DEFAULT_P2P_PROPAGATION_TIME = 2;
14
14
  /** Default L1 publishing time (matches Ethereum slot duration on mainnet) in seconds */ export const DEFAULT_L1_PUBLISHING_TIME = 12;
15
15
  /** Minimum execution time for building a block in seconds */ export const MIN_EXECUTION_TIME = 2;
16
+ /**
17
+ * Shared base for checkpoint timing implementations.
18
+ *
19
+ * This class owns the common inputs and formulas used by both pipelined and
20
+ * non-pipelined scheduling. Variant-specific deadline math is delegated to the
21
+ * concrete subclasses below.
22
+ */ class BaseCheckpointTiming {
23
+ aztecSlotDuration;
24
+ blockDuration;
25
+ checkpointAssembleTime;
26
+ checkpointInitializationTime;
27
+ l1PublishingTime;
28
+ minExecutionTime;
29
+ p2pPropagationTime;
30
+ constructor(opts){
31
+ this.aztecSlotDuration = opts.aztecSlotDuration;
32
+ this.blockDuration = opts.blockDuration;
33
+ this.checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
34
+ this.checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
35
+ this.l1PublishingTime = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
36
+ this.minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
37
+ this.p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
38
+ }
39
+ get checkpointFinalizationTime() {
40
+ // Allow enough time to
41
+ // - build the checkpoint
42
+ // - Round-trip over p2p
43
+ // - Publish to L1
44
+ return this.checkpointAssembleTime + this.p2pPropagationTime * 2 + this.l1PublishingTime;
45
+ }
46
+ get pipeliningAttestationGracePeriod() {
47
+ // Allow enough time to
48
+ // - build the block
49
+ // - pass it back over p2p
50
+ return (this.blockDuration ?? 0) + this.p2pPropagationTime;
51
+ }
52
+ get initializeDeadline() {
53
+ return this.aztecSlotDuration - this.minimumBuildSlotWork;
54
+ }
55
+ get checkpointAttestationStartDeadline() {
56
+ return this.checkpointAssemblyDeadline;
57
+ }
58
+ calculateMaxBlocksPerSlot() {
59
+ if (!this.blockDuration) {
60
+ return 1;
61
+ }
62
+ const timeAvailableForBlocks = this.aztecSlotDuration - this.checkpointInitializationTime - this.timeReservedAtEnd;
63
+ return Math.floor(timeAvailableForBlocks / this.blockDuration);
64
+ }
65
+ }
66
+ /**
67
+ * Checkpoint timing model for the non-pipelined sequencer flow.
68
+ *
69
+ * In this mode, checkpoint assembly, attestation collection, and L1 publishing
70
+ * must all complete within the current Aztec slot.
71
+ */ class StandardCheckpointTimingModel extends BaseCheckpointTiming {
72
+ get timeReservedAtEnd() {
73
+ return (this.blockDuration ?? 0) + this.checkpointFinalizationTime;
74
+ }
75
+ get minimumBuildSlotWork() {
76
+ return this.checkpointInitializationTime + this.minExecutionTime * 2 + this.checkpointFinalizationTime;
77
+ }
78
+ get checkpointAssemblyDeadline() {
79
+ return this.aztecSlotDuration - this.l1PublishingTime - 2 * this.p2pPropagationTime;
80
+ }
81
+ get checkpointAttestationDeadline() {
82
+ return this.aztecSlotDuration - this.l1PublishingTime;
83
+ }
84
+ get checkpointPublishingDeadline() {
85
+ return this.aztecSlotDuration - this.l1PublishingTime;
86
+ }
87
+ }
88
+ /**
89
+ * Checkpoint timing model for proposer pipelining.
90
+ *
91
+ * In this mode, the build work still starts in the current slot, but checkpoint
92
+ * assembly and attestation collection can extend into the target slot. The extra
93
+ * target-slot window getters are intended for consumers such as P2P validators
94
+ * that need to validate pipelined messages against wallclock time.
95
+ */ class PipelinedCheckpointTimingModel extends BaseCheckpointTiming {
96
+ get proposalWindowIntoTargetSlot() {
97
+ // Allow the p2p propagation time to receive a checkpoint proposal from leader
98
+ return this.p2pPropagationTime;
99
+ }
100
+ get attestationWindowIntoTargetSlot() {
101
+ return this.aztecSlotDuration - this.l1PublishingTime;
102
+ }
103
+ get timeReservedAtEnd() {
104
+ return this.checkpointAssembleTime + this.p2pPropagationTime;
105
+ }
106
+ get minimumBuildSlotWork() {
107
+ return this.checkpointInitializationTime + this.minExecutionTime * 2;
108
+ }
109
+ get checkpointAssemblyDeadline() {
110
+ // Allow enough time to
111
+ // - build all blocks
112
+ // - receive attestations
113
+ return this.aztecSlotDuration + this.pipeliningAttestationGracePeriod;
114
+ }
115
+ get checkpointAttestationDeadline() {
116
+ // Allowed to be into the next wallclock slot minus the allocated l1 publishing time
117
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
118
+ }
119
+ get checkpointPublishingDeadline() {
120
+ // Allowed to be into the next wallclock slot minus the allocated l1 Publishing time
121
+ return this.aztecSlotDuration * 2 - this.l1PublishingTime;
122
+ }
123
+ }
124
+ /**
125
+ * Creates a checkpoint timing model for the requested scheduling mode.
126
+ *
127
+ * Most callers should use this factory and depend only on the shared
128
+ * `CheckpointTiming` interface. The returned implementation is selected from
129
+ * `opts.pipelining`.
130
+ */ export function createCheckpointTimingModel(opts) {
131
+ validateCheckpointTimingConfig(opts);
132
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
133
+ const timing = normalizedOpts.pipelining ? new PipelinedCheckpointTimingModel(normalizedOpts) : new StandardCheckpointTimingModel(normalizedOpts);
134
+ validateCheckpointTimingModel(timing);
135
+ return timing;
136
+ }
137
+ /**
138
+ * Creates a pipelined checkpoint timing model with target-slot window accessors.
139
+ *
140
+ * Use this when the caller specifically needs the pipelined-only timing surface,
141
+ * such as proposal or attestation acceptance windows into the target slot.
142
+ */ export function createPipelinedCheckpointTimingModel(opts) {
143
+ validateCheckpointTimingConfig(opts);
144
+ const normalizedOpts = normalizeCheckpointTimingConfig(opts);
145
+ const timing = new PipelinedCheckpointTimingModel(normalizedOpts);
146
+ validateCheckpointTimingModel(timing);
147
+ return timing;
148
+ }
16
149
  /**
17
150
  * Calculates the maximum number of blocks that can be built in a slot.
18
151
  * Used by both the sequencer timetable and p2p gossipsub scoring.
@@ -22,18 +155,75 @@
22
155
  * @param opts - Optional overrides for timing constants
23
156
  * @returns Maximum number of blocks per slot
24
157
  */ export function calculateMaxBlocksPerSlot(aztecSlotDurationSec, blockDurationSec, opts = {}) {
25
- if (!blockDurationSec) {
26
- return 1; // Single block per slot
27
- }
28
- const initOffset = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
29
- const assembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
30
- const p2pTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
31
- const l1Time = opts.l1PublishingTime ?? DEFAULT_L1_PUBLISHING_TIME;
32
- // Calculate checkpoint finalization time (assembly + round-trip propagation + L1 publishing)
33
- const checkpointFinalizationTime = assembleTime + p2pTime * 2 + l1Time;
34
- // Time reserved at end for last sub-slot (validator re-execution) + finalization
35
- const timeReservedAtEnd = blockDurationSec + checkpointFinalizationTime;
36
- // Time available for building blocks
37
- const timeAvailableForBlocks = aztecSlotDurationSec - initOffset - timeReservedAtEnd;
38
- return Math.max(1, Math.floor(timeAvailableForBlocks / blockDurationSec));
158
+ return createCheckpointTimingModel({
159
+ aztecSlotDuration: aztecSlotDurationSec,
160
+ blockDuration: blockDurationSec,
161
+ checkpointAssembleTime: opts.checkpointAssembleTime,
162
+ checkpointInitializationTime: opts.checkpointInitializationTime,
163
+ l1PublishingTime: opts.l1PublishingTime,
164
+ p2pPropagationTime: opts.p2pPropagationTime,
165
+ pipelining: opts.pipelining
166
+ }).calculateMaxBlocksPerSlot();
167
+ }
168
+ function assertNonNegative(name, value) {
169
+ if (value < 0) {
170
+ throw new Error(`${name} must be non-negative (got ${value})`);
171
+ }
172
+ }
173
+ function validateCheckpointTimingConfig(opts) {
174
+ if (opts.aztecSlotDuration <= 0) {
175
+ throw new Error(`aztecSlotDuration must be positive (got ${opts.aztecSlotDuration})`);
176
+ }
177
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration <= 0) {
178
+ throw new Error(`ethereumSlotDuration must be positive when provided (got ${opts.ethereumSlotDuration})`);
179
+ }
180
+ if (opts.blockDuration !== undefined && opts.blockDuration <= 0) {
181
+ throw new Error(`blockDuration must be positive when provided (got ${opts.blockDuration})`);
182
+ }
183
+ if (opts.minExecutionTime !== undefined && opts.minExecutionTime <= 0) {
184
+ throw new Error(`minExecutionTime must be positive when provided (got ${opts.minExecutionTime})`);
185
+ }
186
+ if (opts.checkpointAssembleTime !== undefined) {
187
+ assertNonNegative('checkpointAssembleTime', opts.checkpointAssembleTime);
188
+ }
189
+ if (opts.checkpointInitializationTime !== undefined) {
190
+ assertNonNegative('checkpointInitializationTime', opts.checkpointInitializationTime);
191
+ }
192
+ if (opts.l1PublishingTime !== undefined) {
193
+ assertNonNegative('l1PublishingTime', opts.l1PublishingTime);
194
+ }
195
+ if (opts.p2pPropagationTime !== undefined) {
196
+ assertNonNegative('p2pPropagationTime', opts.p2pPropagationTime);
197
+ }
198
+ }
199
+ function normalizeCheckpointTimingConfig(opts) {
200
+ let checkpointAssembleTime = opts.checkpointAssembleTime ?? CHECKPOINT_ASSEMBLE_TIME;
201
+ let checkpointInitializationTime = opts.checkpointInitializationTime ?? CHECKPOINT_INITIALIZATION_TIME;
202
+ let minExecutionTime = opts.minExecutionTime ?? MIN_EXECUTION_TIME;
203
+ let p2pPropagationTime = opts.p2pPropagationTime ?? DEFAULT_P2P_PROPAGATION_TIME;
204
+ if (opts.ethereumSlotDuration !== undefined && opts.ethereumSlotDuration < 8) {
205
+ p2pPropagationTime = 0;
206
+ checkpointAssembleTime = 0.5;
207
+ checkpointInitializationTime = 0.5;
208
+ minExecutionTime = 1;
209
+ }
210
+ if (opts.blockDuration !== undefined && minExecutionTime > opts.blockDuration) {
211
+ minExecutionTime = opts.blockDuration;
212
+ }
213
+ return {
214
+ ...opts,
215
+ checkpointAssembleTime,
216
+ checkpointInitializationTime,
217
+ minExecutionTime,
218
+ p2pPropagationTime
219
+ };
220
+ }
221
+ function validateCheckpointTimingModel(model) {
222
+ if (model.blockDuration === undefined) {
223
+ return;
224
+ }
225
+ const timeAvailableForBlocks = model.aztecSlotDuration - model.checkpointInitializationTime - model.timeReservedAtEnd;
226
+ if (timeAvailableForBlocks < model.blockDuration) {
227
+ throw new Error(`Invalid timing configuration: only ${timeAvailableForBlocks}s available for block building, which is less than one blockDuration (${model.blockDuration}s).`);
228
+ }
39
229
  }
@@ -13,13 +13,17 @@ export declare class Capsule {
13
13
  readonly storageSlot: Fr;
14
14
  /** Data passed to the contract */
15
15
  readonly data: Fr[];
16
+ /** Optional namespace for the capsule contents */
17
+ readonly scope?: AztecAddress | undefined;
16
18
  constructor(
17
19
  /** The address of the contract the capsule is for */
18
20
  contractAddress: AztecAddress,
19
21
  /** The storage slot of the capsule */
20
22
  storageSlot: Fr,
21
23
  /** Data passed to the contract */
22
- data: Fr[]);
24
+ data: Fr[],
25
+ /** Optional namespace for the capsule contents */
26
+ scope?: AztecAddress | undefined);
23
27
  static get schema(): import("zod").ZodType<Capsule, any, string>;
24
28
  toJSON(): `0x${string}`;
25
29
  toBuffer(): Buffer<ArrayBufferLike>;
@@ -27,4 +31,4 @@ export declare class Capsule {
27
31
  toString(): `0x${string}`;
28
32
  static fromString(str: string): Capsule;
29
33
  }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLHFEQUFxRDthQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7YUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO2FBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFONUI7SUFDRSxxREFBcUQ7SUFDckMsZUFBZSxFQUFFLFlBQVk7SUFDN0Msc0NBQXNDO0lBQ3RCLFdBQVcsRUFBRSxFQUFFO0lBQy9CLG1DQUFtQztJQUNuQixJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQ3hCO0lBRUosTUFBTSxLQUFLLE1BQU0sZ0RBRWhCO0lBRUQsTUFBTSxrQkFFTDtJQUVELFFBQVEsNEJBRVA7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLE9BQU8sQ0FHeEQ7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxXQUU1QjtDQUNGIn0=
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2Fwc3VsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4L2NhcHN1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFHOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pEOzs7O0dBSUc7QUFDSCxxQkFBYSxPQUFPO0lBRWhCLHFEQUFxRDthQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7YUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO2FBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO2FBQ2xDLEtBQUssQ0FBQztJQVJ4QjtJQUNFLHFEQUFxRDtJQUNyQyxlQUFlLEVBQUUsWUFBWTtJQUM3QyxzQ0FBc0M7SUFDdEIsV0FBVyxFQUFFLEVBQUU7SUFDL0IsbUNBQW1DO0lBQ25CLElBQUksRUFBRSxFQUFFLEVBQUU7SUFDMUIsa0RBQWtEO0lBQ2xDLEtBQUssQ0FBQywwQkFBYyxFQUNsQztJQUVKLE1BQU0sS0FBSyxNQUFNLGdEQUVoQjtJQUVELE1BQU0sa0JBRUw7SUFFRCxRQUFRLDRCQUlQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxPQUFPLENBT3hEO0lBRUQsUUFBUSxrQkFFUDtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLE1BQU0sV0FFNUI7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;IAN5B;IACE,qDAAqD;IACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;IACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;IACnB,IAAI,EAAE,EAAE,EAAE,EACxB;IAEJ,MAAM,KAAK,MAAM,gDAEhB;IAED,MAAM,kBAEL;IAED,QAAQ,4BAEP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAGxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAE5B;CACF"}
1
+ {"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/tx/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD;;;;GAIG;AACH,qBAAa,OAAO;IAEhB,qDAAqD;aACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;aACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;aACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;aAClC,KAAK,CAAC;IARxB;IACE,qDAAqD;IACrC,eAAe,EAAE,YAAY;IAC7C,sCAAsC;IACtB,WAAW,EAAE,EAAE;IAC/B,mCAAmC;IACnB,IAAI,EAAE,EAAE,EAAE;IAC1B,kDAAkD;IAClC,KAAK,CAAC,0BAAc,EAClC;IAEJ,MAAM,KAAK,MAAM,gDAEhB;IAED,MAAM,kBAEL;IAED,QAAQ,4BAIP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,OAAO,CAOxD;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,WAE5B;CACF"}
@@ -12,10 +12,12 @@ import { Vector } from '../types/shared.js';
12
12
  contractAddress;
13
13
  storageSlot;
14
14
  data;
15
- constructor(/** The address of the contract the capsule is for */ contractAddress, /** The storage slot of the capsule */ storageSlot, /** Data passed to the contract */ data){
15
+ scope;
16
+ constructor(/** The address of the contract the capsule is for */ contractAddress, /** The storage slot of the capsule */ storageSlot, /** Data passed to the contract */ data, /** Optional namespace for the capsule contents */ scope){
16
17
  this.contractAddress = contractAddress;
17
18
  this.storageSlot = storageSlot;
18
19
  this.data = data;
20
+ this.scope = scope;
19
21
  }
20
22
  static get schema() {
21
23
  return hexSchemaFor(Capsule);
@@ -24,11 +26,15 @@ import { Vector } from '../types/shared.js';
24
26
  return this.toString();
25
27
  }
26
28
  toBuffer() {
27
- return serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data));
29
+ return this.scope ? serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), true, this.scope) : serializeToBuffer(this.contractAddress, this.storageSlot, new Vector(this.data), false);
28
30
  }
29
31
  static fromBuffer(buffer) {
30
32
  const reader = BufferReader.asReader(buffer);
31
- return new Capsule(AztecAddress.fromBuffer(reader), Fr.fromBuffer(reader), reader.readVector(Fr));
33
+ const contractAddress = AztecAddress.fromBuffer(reader);
34
+ const storageSlot = Fr.fromBuffer(reader);
35
+ const data = reader.readVector(Fr);
36
+ const hasScope = reader.readBoolean();
37
+ return new Capsule(contractAddress, storageSlot, data, hasScope ? AztecAddress.fromBuffer(reader) : undefined);
32
38
  }
33
39
  toString() {
34
40
  return bufferToHex(this.toBuffer());
@@ -0,0 +1,10 @@
1
+ import type { ManaUsageEstimate } from '../gas/fee_math.js';
2
+ import type { GasFees } from '../gas/gas_fees.js';
3
+ /** Provides current and predicted fee information for transaction pricing. */
4
+ export interface FeeProvider {
5
+ /** Returns the current minimum fees for inclusion in the next block. */
6
+ getCurrentMinFees(): Promise<GasFees>;
7
+ /** Returns predicted min fees for each slot in the prediction window. */
8
+ getPredictedMinFees(manaUsage?: ManaUsageEstimate): Promise<GasFees[]>;
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3Byb3ZpZGVyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHgvZmVlX3Byb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFbEQsOEVBQThFO0FBQzlFLE1BQU0sV0FBVyxXQUFXO0lBQzFCLHdFQUF3RTtJQUN4RSxpQkFBaUIsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMseUVBQXlFO0lBQ3pFLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0NBQ3hFIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fee_provider.d.ts","sourceRoot":"","sources":["../../src/tx/fee_provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,8EAA8E;AAC9E,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACtC,yEAAyE;IACzE,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;CACxE"}
@@ -0,0 +1 @@
1
+ /** Provides current and predicted fee information for transaction pricing. */ export { };
@@ -1,14 +1,13 @@
1
+ import type { SimulationOverridesPlan } from '@aztec/ethereum/contracts';
1
2
  import type { EthAddress } from '@aztec/foundation/eth-address';
2
3
  import type { SlotNumber } from '@aztec/foundation/schemas';
3
4
  import type { AztecAddress } from '../aztec-address/index.js';
4
- import type { GasFees } from '../gas/gas_fees.js';
5
5
  import type { UInt32 } from '../types/index.js';
6
6
  import type { CheckpointGlobalVariables, GlobalVariables } from './global_variables.js';
7
7
  /**
8
8
  * Interface for building global variables for Aztec blocks.
9
9
  */
10
10
  export interface GlobalVariableBuilder {
11
- getCurrentMinFees(): Promise<GasFees>;
12
11
  /**
13
12
  * Builds global variables for a given block.
14
13
  * @param blockNumber - The block number to build global variables for.
@@ -19,6 +18,6 @@ export interface GlobalVariableBuilder {
19
18
  */
20
19
  buildGlobalVariables(blockNumber: UInt32, coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber?: SlotNumber): Promise<GlobalVariables>;
21
20
  /** Builds global variables that are constant throughout a checkpoint. */
22
- buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber): Promise<CheckpointGlobalVariables>;
21
+ buildCheckpointGlobalVariables(coinbase: EthAddress, feeRecipient: AztecAddress, slotNumber: SlotNumber, simulationOverridesPlan?: SimulationOverridesPlan): Promise<CheckpointGlobalVariables>;
23
22
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU1RCxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4Rjs7R0FFRztBQUNILE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsaUJBQWlCLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXRDOzs7Ozs7O09BT0c7SUFDSCxvQkFBb0IsQ0FDbEIsV0FBVyxFQUFFLE1BQU0sRUFDbkIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsVUFBVSxDQUFDLEVBQUUsVUFBVSxHQUN0QixPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFNUIseUVBQXlFO0lBQ3pFLDhCQUE4QixDQUM1QixRQUFRLEVBQUUsVUFBVSxFQUNwQixZQUFZLEVBQUUsWUFBWSxFQUMxQixVQUFVLEVBQUUsVUFBVSxHQUNyQixPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztDQUN2QyJ9
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsX3ZhcmlhYmxlX2J1aWxkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9nbG9iYWxfdmFyaWFibGVfYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLHlCQUF5QixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXhGOztHQUVHO0FBQ0gsTUFBTSxXQUFXLHFCQUFxQjtJQUNwQzs7Ozs7OztPQU9HO0lBQ0gsb0JBQW9CLENBQ2xCLFdBQVcsRUFBRSxNQUFNLEVBQ25CLFFBQVEsRUFBRSxVQUFVLEVBQ3BCLFlBQVksRUFBRSxZQUFZLEVBQzFCLFVBQVUsQ0FBQyxFQUFFLFVBQVUsR0FDdEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRTVCLHlFQUF5RTtJQUN6RSw4QkFBOEIsQ0FDNUIsUUFBUSxFQUFFLFVBQVUsRUFDcEIsWUFBWSxFQUFFLFlBQVksRUFDMUIsVUFBVSxFQUFFLFVBQVUsRUFDdEIsdUJBQXVCLENBQUMsRUFBRSx1QkFBdUIsR0FDaEQsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBQUM7Q0FDdkMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC;;;;;;;OAOG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,yEAAyE;IACzE,8BAA8B,CAC5B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
1
+ {"version":3,"file":"global_variable_builder.d.ts","sourceRoot":"","sources":["../../src/tx/global_variable_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,oBAAoB,CAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,CAAC,EAAE,UAAU,GACtB,OAAO,CAAC,eAAe,CAAC,CAAC;IAE5B,yEAAyE;IACzE,8BAA8B,CAC5B,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,UAAU,EACtB,uBAAuB,CAAC,EAAE,uBAAuB,GAChD,OAAO,CAAC,yBAAyB,CAAC,CAAC;CACvC"}
@@ -24,6 +24,7 @@ export * from './validator/tx_validator.js';
24
24
  export * from './validator/empty_validator.js';
25
25
  export * from './validator/error_texts.js';
26
26
  export * from './capsule.js';
27
+ export * from './fee_provider.js';
27
28
  export * from './global_variable_builder.js';
28
29
  export * from './hashed_values.js';
29
30
  export * from './indexed_tx_effect.js';
@@ -32,4 +33,4 @@ export * from './profiling.js';
32
33
  export * from './protocol_contracts.js';
33
34
  export * from './execution_payload.js';
34
35
  export * from './in_tx.js';
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLFlBQVksQ0FBQyJ9
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsWUFBWSxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tx/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wCAAwC,CAAC;AACvD,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC"}
package/dest/tx/index.js CHANGED
@@ -24,6 +24,7 @@ export * from './validator/tx_validator.js';
24
24
  export * from './validator/empty_validator.js';
25
25
  export * from './validator/error_texts.js';
26
26
  export * from './capsule.js';
27
+ export * from './fee_provider.js';
27
28
  export * from './global_variable_builder.js';
28
29
  export * from './hashed_values.js';
29
30
  export * from './indexed_tx_effect.js';