@aztec/p2p 0.0.1-commit.9d2bcf6d → 0.0.1-commit.aada20e3

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 (74) hide show
  1. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts +2 -0
  2. package/dest/mem_pools/tx_pool_v2/archive/index.d.ts.map +1 -0
  3. package/dest/mem_pools/tx_pool_v2/archive/index.js +1 -0
  4. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +43 -0
  5. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -0
  6. package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +103 -0
  7. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +47 -0
  8. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -0
  9. package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +119 -0
  10. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +17 -0
  11. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -0
  12. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +90 -0
  13. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +19 -0
  14. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -0
  15. package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +89 -0
  16. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +10 -0
  17. package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -0
  18. package/dest/mem_pools/tx_pool_v2/eviction/index.js +11 -0
  19. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +131 -0
  20. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -0
  21. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +17 -0
  22. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +15 -0
  23. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
  24. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +63 -0
  25. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +17 -0
  26. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
  27. package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +91 -0
  28. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +16 -0
  29. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -0
  30. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +70 -0
  31. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +20 -0
  32. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -0
  33. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +63 -0
  34. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +15 -0
  35. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -0
  36. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +19 -0
  37. package/dest/mem_pools/tx_pool_v2/index.d.ts +5 -0
  38. package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -0
  39. package/dest/mem_pools/tx_pool_v2/index.js +4 -0
  40. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +193 -0
  41. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -0
  42. package/dest/mem_pools/tx_pool_v2/interfaces.js +6 -0
  43. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +71 -0
  44. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -0
  45. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +94 -0
  46. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts +26 -0
  47. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.d.ts.map +1 -0
  48. package/dest/mem_pools/tx_pool_v2/tx_pool_bench_metrics.js +70 -0
  49. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +55 -0
  50. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -0
  51. package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +150 -0
  52. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +69 -0
  53. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -0
  54. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +1041 -0
  55. package/package.json +14 -14
  56. package/src/mem_pools/tx_pool_v2/README.md +188 -0
  57. package/src/mem_pools/tx_pool_v2/archive/index.ts +1 -0
  58. package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +120 -0
  59. package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +147 -0
  60. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +118 -0
  61. package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +111 -0
  62. package/src/mem_pools/tx_pool_v2/eviction/index.ts +23 -0
  63. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +164 -0
  64. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +74 -0
  65. package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +101 -0
  66. package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +86 -0
  67. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +72 -0
  68. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +31 -0
  69. package/src/mem_pools/tx_pool_v2/index.ts +11 -0
  70. package/src/mem_pools/tx_pool_v2/interfaces.ts +225 -0
  71. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +160 -0
  72. package/src/mem_pools/tx_pool_v2/tx_pool_bench_metrics.ts +77 -0
  73. package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +209 -0
  74. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +1265 -0
@@ -0,0 +1,150 @@
1
+ import { createLogger } from '@aztec/foundation/log';
2
+ import { SerialQueue } from '@aztec/foundation/queue';
3
+ import { getTelemetryClient } from '@aztec/telemetry-client';
4
+ import EventEmitter from 'node:events';
5
+ import { PoolInstrumentation, PoolName } from '../instrumentation.js';
6
+ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
7
+ /**
8
+ * Implementation of TxPoolV2 with explicit state management.
9
+ *
10
+ * This class is a thin wrapper that manages the serial queue and delegates
11
+ * all operations to TxPoolV2Impl.
12
+ */ export class AztecKVTxPoolV2 extends EventEmitter {
13
+ #queue;
14
+ #impl;
15
+ #metrics;
16
+ #store;
17
+ #telemetry;
18
+ #log;
19
+ #started = false;
20
+ constructor(store, archiveStore, deps, telemetry = getTelemetryClient(), config = {}, log = createLogger('p2p:tx_pool_v2')){
21
+ super();
22
+ this.#store = store;
23
+ this.#telemetry = telemetry;
24
+ this.#log = log;
25
+ this.#queue = new SerialQueue();
26
+ // Create callbacks that the impl uses to notify us about events and metrics
27
+ const callbacks = {
28
+ onTxsAdded: (txs, opts)=>{
29
+ this.#metrics?.transactionsAdded(txs);
30
+ this.emit('txs-added', {
31
+ txs,
32
+ ...opts
33
+ });
34
+ },
35
+ onTxsRemoved: (txHashes)=>{
36
+ this.#metrics?.transactionsRemoved(txHashes);
37
+ }
38
+ };
39
+ // Create the implementation
40
+ this.#impl = new TxPoolV2Impl(store, archiveStore, deps, callbacks, config, log);
41
+ }
42
+ // ============================================================================
43
+ // PUBLIC API - All methods queue to the implementation
44
+ // ============================================================================
45
+ // === Core Operations ===
46
+ addPendingTxs(txs, opts = {}) {
47
+ return this.#queue.put(()=>this.#impl.addPendingTxs(txs, opts));
48
+ }
49
+ canAddPendingTx(tx) {
50
+ return this.#queue.put(()=>this.#impl.canAddPendingTx(tx));
51
+ }
52
+ addProtectedTxs(txs, block, opts = {}) {
53
+ return this.#queue.put(()=>this.#impl.addProtectedTxs(txs, block, opts));
54
+ }
55
+ protectTxs(txHashes, block) {
56
+ return this.#queue.put(()=>Promise.resolve(this.#impl.protectTxs(txHashes, block)));
57
+ }
58
+ addMinedTxs(txs, block, opts = {}) {
59
+ return this.#queue.put(()=>this.#impl.addMinedTxs(txs, block, opts));
60
+ }
61
+ // === State Transition Handlers ===
62
+ handleMinedBlock(block) {
63
+ return this.#queue.put(()=>this.#impl.handleMinedBlock(block));
64
+ }
65
+ prepareForSlot(slotNumber) {
66
+ return this.#queue.put(()=>this.#impl.prepareForSlot(slotNumber));
67
+ }
68
+ handlePrunedBlocks(latestBlock) {
69
+ return this.#queue.put(()=>this.#impl.handlePrunedBlocks(latestBlock));
70
+ }
71
+ handleFailedExecution(txHashes) {
72
+ return this.#queue.put(()=>this.#impl.handleFailedExecution(txHashes));
73
+ }
74
+ handleFinalizedBlock(block) {
75
+ return this.#queue.put(()=>this.#impl.handleFinalizedBlock(block));
76
+ }
77
+ // === Queries ===
78
+ getTxByHash(txHash) {
79
+ return this.#queue.put(()=>this.#impl.getTxByHash(txHash));
80
+ }
81
+ getTxsByHash(txHashes) {
82
+ return this.#queue.put(()=>this.#impl.getTxsByHash(txHashes));
83
+ }
84
+ hasTxs(txHashes) {
85
+ return this.#queue.put(()=>this.#impl.hasTxs(txHashes));
86
+ }
87
+ getTxStatus(txHash) {
88
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getTxStatus(txHash)));
89
+ }
90
+ getPendingTxHashes() {
91
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getPendingTxHashes()));
92
+ }
93
+ getPendingTxCount() {
94
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getPendingTxCount()));
95
+ }
96
+ getMinedTxHashes() {
97
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getMinedTxHashes()));
98
+ }
99
+ getMinedTxCount() {
100
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getMinedTxCount()));
101
+ }
102
+ isEmpty() {
103
+ return this.#queue.put(()=>Promise.resolve(this.#impl.isEmpty()));
104
+ }
105
+ getArchivedTxByHash(txHash) {
106
+ return this.#queue.put(()=>this.#impl.getArchivedTxByHash(txHash));
107
+ }
108
+ getLowestPriorityPending(limit) {
109
+ return this.#queue.put(()=>Promise.resolve(this.#impl.getLowestPriorityPending(limit)));
110
+ }
111
+ // === Configuration ===
112
+ updateConfig(config) {
113
+ return this.#queue.put(()=>{
114
+ this.#impl.updateConfig(config);
115
+ return Promise.resolve();
116
+ });
117
+ }
118
+ // === Lifecycle ===
119
+ /**
120
+ * Starts the pool and initializes state from persistence.
121
+ */ async start() {
122
+ if (this.#started) {
123
+ return;
124
+ }
125
+ this.#log.info('Starting transaction pool...');
126
+ // Start the serial queue
127
+ this.#queue.start();
128
+ this.#started = true;
129
+ // Setup metrics - created after queue is started so callbacks can safely queue
130
+ this.#metrics = new PoolInstrumentation(this.#telemetry, PoolName.TX_POOL, ()=>this.#queue.put(()=>{
131
+ const counts = this.#impl.countTxs();
132
+ return Promise.resolve({
133
+ itemCount: {
134
+ pending: counts.pending,
135
+ protected: counts.protected,
136
+ mined: counts.mined
137
+ }
138
+ });
139
+ }), ()=>this.#store.estimateSize());
140
+ // Hydrate state from persistence (runs in queue)
141
+ await this.#queue.put(()=>this.#impl.hydrateFromDatabase());
142
+ this.#log.info(`Transaction pool started with ${this.#impl.getTxCount()} transactions (${this.#impl.getPendingTxCount()} pending, ${this.#impl.getMinedTxCount()} mined)`);
143
+ }
144
+ async stop() {
145
+ if (this.#started) {
146
+ await this.#queue.end();
147
+ this.#started = false;
148
+ }
149
+ }
150
+ }
@@ -0,0 +1,69 @@
1
+ import { SlotNumber } from '@aztec/foundation/branded-types';
2
+ import type { Logger } from '@aztec/foundation/log';
3
+ import type { AztecAsyncKVStore } from '@aztec/kv-store';
4
+ import type { L2Block, L2BlockId } from '@aztec/stdlib/block';
5
+ import { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
6
+ import { type AddTxsResult, type PoolReadAccess, type TxPoolV2Config, type TxPoolV2Dependencies } from './interfaces.js';
7
+ import { type TxState } from './tx_metadata.js';
8
+ /**
9
+ * Callbacks for the implementation to notify the outer class about events and metrics.
10
+ */
11
+ export interface TxPoolV2Callbacks {
12
+ onTxsAdded: (txs: Tx[], opts: {
13
+ source?: string;
14
+ }) => void;
15
+ onTxsRemoved: (txHashes: string[] | bigint[]) => void;
16
+ }
17
+ /**
18
+ * Implementation of TxPoolV2 logic.
19
+ *
20
+ * This class contains all the actual transaction pool logic.
21
+ */
22
+ export declare class TxPoolV2Impl {
23
+ #private;
24
+ constructor(store: AztecAsyncKVStore, archiveStore: AztecAsyncKVStore, deps: TxPoolV2Dependencies, callbacks: TxPoolV2Callbacks, config: Partial<TxPoolV2Config> | undefined, log: Logger);
25
+ /**
26
+ * Hydrates the in-memory state from the database on startup.
27
+ * Pipeline: Load → Check Mined Status → Partition → Validate Non-Mined → Rebuild Pending Pool → Delete Invalid
28
+ *
29
+ * Note: Protected status is lost on restart. All non-mined txs are rebuilt as pending
30
+ * by running pre-add rules to resolve nullifier conflicts, balance checks, and pool size limits.
31
+ */
32
+ hydrateFromDatabase(): Promise<void>;
33
+ addPendingTxs(txs: Tx[], opts: {
34
+ source?: string;
35
+ }): Promise<AddTxsResult>;
36
+ canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored' | 'rejected'>;
37
+ addProtectedTxs(txs: Tx[], block: BlockHeader, opts: {
38
+ source?: string;
39
+ }): Promise<void>;
40
+ protectTxs(txHashes: TxHash[], block: BlockHeader): TxHash[];
41
+ addMinedTxs(txs: Tx[], block: BlockHeader, opts: {
42
+ source?: string;
43
+ }): Promise<void>;
44
+ handleMinedBlock(block: L2Block): Promise<void>;
45
+ prepareForSlot(slotNumber: SlotNumber): Promise<void>;
46
+ handlePrunedBlocks(latestBlock: L2BlockId): Promise<void>;
47
+ handleFailedExecution(txHashes: TxHash[]): Promise<void>;
48
+ handleFinalizedBlock(block: BlockHeader): Promise<void>;
49
+ getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
50
+ getTxsByHash(txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
51
+ hasTxs(txHashes: TxHash[]): boolean[];
52
+ getTxStatus(txHash: TxHash): TxState | undefined;
53
+ getPendingTxHashes(): TxHash[];
54
+ getPendingTxCount(): number;
55
+ getMinedTxHashes(): [TxHash, L2BlockId][];
56
+ getMinedTxCount(): number;
57
+ isEmpty(): boolean;
58
+ getTxCount(): number;
59
+ getArchivedTxByHash(txHash: TxHash): Promise<Tx | undefined>;
60
+ getLowestPriorityPending(limit: number): TxHash[];
61
+ updateConfig(config: Partial<TxPoolV2Config>): void;
62
+ getPoolReadAccess(): PoolReadAccess;
63
+ countTxs(): {
64
+ pending: number;
65
+ protected: number;
66
+ mined: number;
67
+ };
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF92Ml9pbXBsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvdHhfcG9vbF92Ml9pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUl4RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFpQixNQUFNLHFCQUFxQixDQUFDO0FBRzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBb0IsTUFBTSxrQkFBa0IsQ0FBQztBQWU3RSxPQUFPLEVBQ0wsS0FBSyxZQUFZLEVBRWpCLEtBQUssY0FBYyxFQUNuQixLQUFLLGNBQWMsRUFDbkIsS0FBSyxvQkFBb0IsRUFDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBRUwsS0FBSyxPQUFPLEVBS2IsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQjs7R0FFRztBQUNILE1BQU0sV0FBVyxpQkFBaUI7SUFDaEMsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRTtRQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEtBQUssSUFBSSxDQUFDO0lBQzNELFlBQVksRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLEVBQUUsS0FBSyxJQUFJLENBQUM7Q0FDdkQ7QUFFRDs7OztHQUlHO0FBQ0gscUJBQWEsWUFBWTs7SUFnQ3ZCLFlBQ0UsS0FBSyxFQUFFLGlCQUFpQixFQUN4QixZQUFZLEVBQUUsaUJBQWlCLEVBQy9CLElBQUksRUFBRSxvQkFBb0IsRUFDMUIsU0FBUyxFQUFFLGlC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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx_pool_v2_impl.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts"],"names":[],"mappings":"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"}