@aztec/p2p 0.57.0 → 0.58.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dest/client/index.d.ts +4 -4
  2. package/dest/client/index.d.ts.map +1 -1
  3. package/dest/client/index.js +11 -9
  4. package/dest/client/p2p_client.d.ts +9 -10
  5. package/dest/client/p2p_client.d.ts.map +1 -1
  6. package/dest/client/p2p_client.js +375 -350
  7. package/dest/config.js +3 -3
  8. package/dest/index.d.ts +3 -3
  9. package/dest/index.d.ts.map +1 -1
  10. package/dest/index.js +4 -4
  11. package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
  12. package/dest/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.js +1 -1
  13. package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
  14. package/dest/{attestation_pool → mem_pools/attestation_pool}/index.js +1 -1
  15. package/dest/{attestation_pool → mem_pools/attestation_pool}/memory_attestation_pool.d.ts +4 -1
  16. package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
  17. package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +114 -0
  18. package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
  19. package/dest/mem_pools/attestation_pool/mocks.js +31 -0
  20. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
  21. package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -0
  22. package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
  23. package/dest/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/index.js +1 -1
  24. package/dest/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/memory_epoch_proof_quote_pool.d.ts +3 -1
  25. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
  26. package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +30 -0
  27. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
  28. package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +21 -0
  29. package/dest/mem_pools/index.d.ts +5 -0
  30. package/dest/mem_pools/index.d.ts.map +1 -0
  31. package/dest/mem_pools/index.js +2 -0
  32. package/dest/mem_pools/instrumentation.d.ts +25 -0
  33. package/dest/mem_pools/instrumentation.d.ts.map +1 -0
  34. package/dest/mem_pools/instrumentation.js +70 -0
  35. package/dest/mem_pools/interface.d.ts +12 -0
  36. package/dest/mem_pools/interface.d.ts.map +1 -0
  37. package/dest/mem_pools/interface.js +2 -0
  38. package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
  39. package/dest/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.js +9 -9
  40. package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
  41. package/dest/{tx_pool → mem_pools/tx_pool}/index.js +1 -1
  42. package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
  43. package/dest/mem_pools/tx_pool/memory_tx_pool.js +111 -0
  44. package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
  45. package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool.js +1 -1
  46. package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
  47. package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +55 -0
  48. package/dest/service/libp2p_service.d.ts +12 -7
  49. package/dest/service/libp2p_service.d.ts.map +1 -1
  50. package/dest/service/libp2p_service.js +453 -381
  51. package/package.json +6 -6
  52. package/src/client/index.ts +16 -20
  53. package/src/client/p2p_client.ts +33 -10
  54. package/src/config.ts +2 -2
  55. package/src/index.ts +3 -3
  56. package/src/{attestation_pool → mem_pools/attestation_pool}/memory_attestation_pool.ts +40 -8
  57. package/src/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/memory_epoch_proof_quote_pool.ts +17 -1
  58. package/src/mem_pools/index.ts +4 -0
  59. package/src/mem_pools/instrumentation.ts +85 -0
  60. package/src/mem_pools/interface.ts +12 -0
  61. package/src/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.ts +9 -9
  62. package/src/{tx_pool → mem_pools/tx_pool}/memory_tx_pool.ts +9 -9
  63. package/src/service/libp2p_service.ts +76 -18
  64. package/dest/attestation_pool/attestation_pool.d.ts.map +0 -1
  65. package/dest/attestation_pool/index.d.ts.map +0 -1
  66. package/dest/attestation_pool/memory_attestation_pool.d.ts.map +0 -1
  67. package/dest/attestation_pool/memory_attestation_pool.js +0 -89
  68. package/dest/attestation_pool/mocks.d.ts.map +0 -1
  69. package/dest/attestation_pool/mocks.js +0 -31
  70. package/dest/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +0 -1
  71. package/dest/epoch_proof_quote_pool/epoch_proof_quote_pool.js +0 -2
  72. package/dest/epoch_proof_quote_pool/index.d.ts.map +0 -1
  73. package/dest/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +0 -1
  74. package/dest/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +0 -22
  75. package/dest/epoch_proof_quote_pool/test_utils.d.ts.map +0 -1
  76. package/dest/epoch_proof_quote_pool/test_utils.js +0 -21
  77. package/dest/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
  78. package/dest/tx_pool/index.d.ts.map +0 -1
  79. package/dest/tx_pool/instrumentation.d.ts +0 -25
  80. package/dest/tx_pool/instrumentation.d.ts.map +0 -1
  81. package/dest/tx_pool/instrumentation.js +0 -61
  82. package/dest/tx_pool/memory_tx_pool.d.ts.map +0 -1
  83. package/dest/tx_pool/memory_tx_pool.js +0 -111
  84. package/dest/tx_pool/tx_pool.d.ts.map +0 -1
  85. package/dest/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
  86. package/dest/tx_pool/tx_pool_test_suite.js +0 -55
  87. package/src/tx_pool/instrumentation.ts +0 -73
  88. /package/dest/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.d.ts +0 -0
  89. /package/dest/{attestation_pool → mem_pools/attestation_pool}/index.d.ts +0 -0
  90. /package/dest/{attestation_pool → mem_pools/attestation_pool}/mocks.d.ts +0 -0
  91. /package/dest/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/epoch_proof_quote_pool.d.ts +0 -0
  92. /package/dest/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/index.d.ts +0 -0
  93. /package/dest/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/test_utils.d.ts +0 -0
  94. /package/dest/{tx_pool → mem_pools/tx_pool}/aztec_kv_tx_pool.d.ts +0 -0
  95. /package/dest/{tx_pool → mem_pools/tx_pool}/index.d.ts +0 -0
  96. /package/dest/{tx_pool → mem_pools/tx_pool}/memory_tx_pool.d.ts +0 -0
  97. /package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool.d.ts +0 -0
  98. /package/dest/{tx_pool → mem_pools/tx_pool}/tx_pool_test_suite.d.ts +0 -0
  99. /package/src/{attestation_pool → mem_pools/attestation_pool}/attestation_pool.ts +0 -0
  100. /package/src/{attestation_pool → mem_pools/attestation_pool}/index.ts +0 -0
  101. /package/src/{attestation_pool → mem_pools/attestation_pool}/mocks.ts +0 -0
  102. /package/src/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/epoch_proof_quote_pool.ts +0 -0
  103. /package/src/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/index.ts +0 -0
  104. /package/src/{epoch_proof_quote_pool → mem_pools/epoch_proof_quote_pool}/test_utils.ts +0 -0
  105. /package/src/{tx_pool → mem_pools/tx_pool}/index.ts +0 -0
  106. /package/src/{tx_pool → mem_pools/tx_pool}/tx_pool.ts +0 -0
  107. /package/src/{tx_pool → mem_pools/tx_pool}/tx_pool_test_suite.ts +0 -0
@@ -1,111 +0,0 @@
1
- import { Tx, TxHash } from '@aztec/circuit-types';
2
- import { createDebugLogger } from '@aztec/foundation/log';
3
- import { TxPoolInstrumentation } from './instrumentation.js';
4
- /**
5
- * In-memory implementation of the Transaction Pool.
6
- */
7
- export class InMemoryTxPool {
8
- /**
9
- * Class constructor for in-memory TxPool. Initiates our transaction pool as a JS Map.
10
- * @param log - A logger.
11
- */
12
- constructor(telemetry, log = createDebugLogger('aztec:tx_pool')) {
13
- this.log = log;
14
- this.txs = new Map();
15
- this.minedTxs = new Set();
16
- this.pendingTxs = new Set();
17
- this.metrics = new TxPoolInstrumentation(telemetry, 'InMemoryTxPool');
18
- }
19
- markAsMined(txHashes) {
20
- const keys = txHashes.map(x => x.toBigInt());
21
- for (const key of keys) {
22
- this.minedTxs.add(key);
23
- this.pendingTxs.delete(key);
24
- }
25
- this.metrics.recordRemovedTxs('pending', txHashes.length);
26
- this.metrics.recordAddedTxs('mined', txHashes.length);
27
- return Promise.resolve();
28
- }
29
- getPendingTxHashes() {
30
- return Array.from(this.pendingTxs).map(x => TxHash.fromBigInt(x));
31
- }
32
- getMinedTxHashes() {
33
- return Array.from(this.minedTxs).map(x => TxHash.fromBigInt(x));
34
- }
35
- getTxStatus(txHash) {
36
- const key = txHash.toBigInt();
37
- if (this.pendingTxs.has(key)) {
38
- return 'pending';
39
- }
40
- if (this.minedTxs.has(key)) {
41
- return 'mined';
42
- }
43
- return undefined;
44
- }
45
- /**
46
- * Checks if a transaction exists in the pool and returns it.
47
- * @param txHash - The generated tx hash.
48
- * @returns The transaction, if found, 'undefined' otherwise.
49
- */
50
- getTxByHash(txHash) {
51
- const result = this.txs.get(txHash.toBigInt());
52
- return result === undefined ? undefined : Tx.clone(result);
53
- }
54
- /**
55
- * Adds a list of transactions to the pool. Duplicates are ignored.
56
- * @param txs - An array of txs to be added to the pool.
57
- * @returns Empty promise.
58
- */
59
- addTxs(txs) {
60
- let pending = 0;
61
- for (const tx of txs) {
62
- const txHash = tx.getTxHash();
63
- this.log.debug(`Adding tx with id ${txHash.toString()}`, {
64
- eventName: 'tx-added-to-pool',
65
- ...tx.getStats(),
66
- });
67
- const key = txHash.toBigInt();
68
- this.txs.set(key, tx);
69
- if (!this.minedTxs.has(key)) {
70
- pending++;
71
- this.metrics.recordTxSize(tx);
72
- this.pendingTxs.add(key);
73
- }
74
- }
75
- this.metrics.recordAddedTxs('pending', pending);
76
- return Promise.resolve();
77
- }
78
- /**
79
- * Deletes transactions from the pool. Tx hashes that are not present are ignored.
80
- * @param txHashes - An array of tx hashes to be removed from the tx pool.
81
- * @returns The number of transactions that was deleted from the pool.
82
- */
83
- deleteTxs(txHashes) {
84
- let deletedMined = 0;
85
- let deletedPending = 0;
86
- for (const txHash of txHashes) {
87
- const key = txHash.toBigInt();
88
- this.txs.delete(key);
89
- deletedPending += this.pendingTxs.delete(key) ? 1 : 0;
90
- deletedMined += this.minedTxs.delete(key) ? 1 : 0;
91
- }
92
- this.metrics.recordRemovedTxs('pending', deletedPending);
93
- this.metrics.recordRemovedTxs('mined', deletedMined);
94
- return Promise.resolve();
95
- }
96
- /**
97
- * Gets all the transactions stored in the pool.
98
- * @returns Array of tx objects in the order they were added to the pool.
99
- */
100
- getAllTxs() {
101
- return Array.from(this.txs.values()).map(x => Tx.clone(x));
102
- }
103
- /**
104
- * Gets the hashes of all transactions currently in the tx pool.
105
- * @returns An array of transaction hashes found in the tx pool.
106
- */
107
- getAllTxHashes() {
108
- return Array.from(this.txs.keys()).map(x => TxHash.fromBigInt(x));
109
- }
110
- }
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X3R4X3Bvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHhfcG9vbC9tZW1vcnlfdHhfcG9vbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRWxELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRzdEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFVekI7OztPQUdHO0lBQ0gsWUFBWSxTQUEwQixFQUFVLE1BQU0saUJBQWlCLENBQUMsZUFBZSxDQUFDO1FBQXhDLFFBQUcsR0FBSCxHQUFHLENBQXFDO1FBQ3RGLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQWMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQWtCO1FBQ25DLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFD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
@@ -1 +0,0 @@
1
- {"version":3,"file":"tx_pool.d.ts","sourceRoot":"","sources":["../../src/tx_pool/tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEjC;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;IAE5C;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,SAAS,IAAI,EAAE,EAAE,CAAC;IAElB;;;OAGG;IACH,cAAc,IAAI,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,kBAAkB,IAAI,MAAM,EAAE,CAAC;IAE/B;;;OAGG;IACH,gBAAgB,IAAI,MAAM,EAAE,CAAC;IAE7B;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;CAC9D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tx_pool_test_suite.d.ts","sourceRoot":"","sources":["../../src/tx_pool/tx_pool_test_suite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,MAAM,QA+DrD"}
@@ -1,55 +0,0 @@
1
- import { mockTx } from '@aztec/circuit-types';
2
- /**
3
- * Tests a TxPool implementation.
4
- * @param getTxPool - Gets a fresh TxPool
5
- */
6
- export function describeTxPool(getTxPool) {
7
- let pool;
8
- beforeEach(() => {
9
- pool = getTxPool();
10
- });
11
- it('Adds txs to the pool as pending', async () => {
12
- const tx1 = mockTx();
13
- await pool.addTxs([tx1]);
14
- const poolTx = pool.getTxByHash(tx1.getTxHash());
15
- expect(poolTx.getTxHash()).toEqual(tx1.getTxHash());
16
- expect(pool.getTxStatus(tx1.getTxHash())).toEqual('pending');
17
- expect(pool.getPendingTxHashes()).toEqual([tx1.getTxHash()]);
18
- });
19
- it('Removes txs from the pool', async () => {
20
- const tx1 = mockTx();
21
- await pool.addTxs([tx1]);
22
- await pool.deleteTxs([tx1.getTxHash()]);
23
- expect(pool.getTxByHash(tx1.getTxHash())).toBeFalsy();
24
- expect(pool.getTxStatus(tx1.getTxHash())).toBeUndefined();
25
- });
26
- it('Marks txs as mined', async () => {
27
- const tx1 = mockTx(1);
28
- const tx2 = mockTx(2);
29
- await pool.addTxs([tx1, tx2]);
30
- await pool.markAsMined([tx1.getTxHash()]);
31
- expect(pool.getTxByHash(tx1.getTxHash())).toEqual(tx1);
32
- expect(pool.getTxStatus(tx1.getTxHash())).toEqual('mined');
33
- expect(pool.getMinedTxHashes()).toEqual([tx1.getTxHash()]);
34
- expect(pool.getPendingTxHashes()).toEqual([tx2.getTxHash()]);
35
- });
36
- it('Returns all transactions in the pool', async () => {
37
- const tx1 = mockTx(1);
38
- const tx2 = mockTx(2);
39
- const tx3 = mockTx(3);
40
- await pool.addTxs([tx1, tx2, tx3]);
41
- const poolTxs = pool.getAllTxs();
42
- expect(poolTxs).toHaveLength(3);
43
- expect(poolTxs).toEqual(expect.arrayContaining([tx1, tx2, tx3]));
44
- });
45
- it('Returns all txHashes in the pool', async () => {
46
- const tx1 = mockTx(1);
47
- const tx2 = mockTx(2);
48
- const tx3 = mockTx(3);
49
- await pool.addTxs([tx1, tx2, tx3]);
50
- const poolTxHashes = pool.getAllTxHashes();
51
- expect(poolTxHashes).toHaveLength(3);
52
- expect(poolTxHashes).toEqual(expect.arrayContaining([tx1.getTxHash(), tx2.getTxHash(), tx3.getTxHash()]));
53
- });
54
- }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF90ZXN0X3N1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R4X3Bvb2wvdHhfcG9vbF90ZXN0X3N1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUk5Qzs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQXVCO0lBQ3BELElBQUksSUFBWSxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFFckIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sQ0FBQyxNQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0QsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyQkFBMkIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUN6QyxNQUFNLEdBQUcsR0FBRyxNQUFNLEVBQUUs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
@@ -1,73 +0,0 @@
1
- import { type Tx } from '@aztec/circuit-types';
2
- import { Attributes, type Histogram, Metrics, type TelemetryClient, type UpDownCounter } from '@aztec/telemetry-client';
3
-
4
- export type TxStatus = 'pending' | 'mined';
5
-
6
- /**
7
- * Instrumentation class for the TxPool.
8
- */
9
- export class TxPoolInstrumentation {
10
- /** The number of txs in the mempool */
11
- private txInMempool: UpDownCounter;
12
- /** Tracks tx size */
13
- private txSize: Histogram;
14
-
15
- constructor(telemetry: TelemetryClient, name: string) {
16
- const meter = telemetry.getMeter(name);
17
- this.txInMempool = meter.createUpDownCounter(Metrics.MEMPOOL_TX_COUNT, {
18
- description: 'The current number of transactions in the mempool',
19
- });
20
-
21
- this.txSize = meter.createHistogram(Metrics.MEMPOOL_TX_SIZE, {
22
- unit: 'By',
23
- description: 'The size of transactions in the mempool',
24
- advice: {
25
- explicitBucketBoundaries: [
26
- 5_000, // 5KB
27
- 10_000,
28
- 20_000,
29
- 50_000,
30
- 75_000,
31
- 100_000, // 100KB
32
- 200_000,
33
- ],
34
- },
35
- });
36
- }
37
-
38
- public recordTxSize(tx: Tx) {
39
- this.txSize.record(tx.getSize());
40
- }
41
-
42
- /**
43
- * Updates the metrics with the new transactions.
44
- * @param txs - The transactions to record
45
- */
46
- public recordAddedTxs(status: string, count = 1) {
47
- if (count < 0) {
48
- throw new Error('Count must be positive');
49
- }
50
- if (count === 0) {
51
- return;
52
- }
53
- this.txInMempool.add(count, {
54
- [Attributes.STATUS]: status,
55
- });
56
- }
57
-
58
- /**
59
- * Updates the metrics by removing transactions from the mempool.
60
- * @param count - The number of transactions to remove from the mempool
61
- */
62
- public recordRemovedTxs(status: string, count = 1) {
63
- if (count < 0) {
64
- throw new Error('Count must be positive');
65
- }
66
- if (count === 0) {
67
- return;
68
- }
69
- this.txInMempool.add(-1 * count, {
70
- [Attributes.STATUS]: status,
71
- });
72
- }
73
- }
File without changes
File without changes
File without changes