@aztec/p2p 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2 → 0.76.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.
- package/dest/bootstrap/bootstrap.d.ts +38 -0
- package/dest/bootstrap/bootstrap.d.ts.map +1 -0
- package/dest/bootstrap/bootstrap.js +31 -38
- package/dest/client/factory.d.ts +21 -0
- package/dest/client/factory.d.ts.map +1 -0
- package/dest/client/factory.js +13 -11
- package/dest/client/index.d.ts +3 -0
- package/dest/client/index.d.ts.map +1 -0
- package/dest/client/index.js +1 -0
- package/dest/client/p2p_client.d.ts +332 -0
- package/dest/client/p2p_client.d.ts.map +1 -0
- package/dest/client/p2p_client.js +535 -513
- package/dest/config.d.ts +187 -0
- package/dest/config.d.ts.map +1 -0
- package/dest/config.js +64 -53
- package/dest/errors/reqresp.error.d.ts +28 -0
- package/dest/errors/reqresp.error.d.ts.map +1 -0
- package/dest/errors/reqresp.error.js +10 -6
- package/dest/index.d.ts +9 -0
- package/dest/index.d.ts.map +1 -0
- package/dest/index.js +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +57 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.js +2 -6
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +32 -64
- package/dest/mem_pools/attestation_pool/index.d.ts +3 -0
- package/dest/mem_pools/attestation_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/index.js +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +22 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +19 -22
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +17 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +26 -22
- package/dest/mem_pools/attestation_pool/mocks.d.ts +18 -0
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -0
- package/dest/mem_pools/attestation_pool/mocks.js +6 -10
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -1
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts +4 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/index.js +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +12 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +4 -5
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts +8 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
- package/dest/mem_pools/epoch_proof_quote_pool/test_utils.js +3 -2
- package/dest/mem_pools/index.d.ts +5 -0
- package/dest/mem_pools/index.d.ts.map +1 -0
- package/dest/mem_pools/index.js +2 -1
- package/dest/mem_pools/instrumentation.d.ts +31 -0
- package/dest/mem_pools/instrumentation.d.ts.map +1 -0
- package/dest/mem_pools/instrumentation.js +42 -37
- package/dest/mem_pools/interface.d.ts +13 -0
- package/dest/mem_pools/interface.d.ts.map +1 -0
- package/dest/mem_pools/interface.js +2 -3
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +134 -127
- package/dest/mem_pools/tx_pool/index.d.ts +4 -0
- package/dest/mem_pools/tx_pool/index.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/index.js +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +56 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +43 -45
- package/dest/mem_pools/tx_pool/priority.d.ts +8 -0
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/priority.js +3 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +66 -0
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool.js +2 -3
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +7 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +37 -107
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +8 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -3
- package/dest/msg_validators/attestation_validator/index.d.ts +2 -0
- package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/index.js +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +8 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +2 -2
- package/dest/msg_validators/block_proposal_validator/index.d.ts +2 -0
- package/dest/msg_validators/block_proposal_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/block_proposal_validator/index.js +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts +8 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.js +2 -2
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts +2 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/epoch_proof_quote_validator/index.js +1 -0
- package/dest/msg_validators/index.d.ts +4 -0
- package/dest/msg_validators/index.d.ts.map +1 -0
- package/dest/msg_validators/index.js +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +7 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +11 -9
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +11 -0
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/block_header_validator.js +12 -17
- package/dest/msg_validators/tx_validator/data_validator.d.ts +6 -0
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/data_validator.js +32 -41
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +12 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/double_spend_validator.js +14 -22
- package/dest/msg_validators/tx_validator/index.d.ts +7 -0
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +10 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.js +26 -29
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +8 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +12 -17
- package/dest/services/data_store.d.ts +27 -0
- package/dest/services/data_store.d.ts.map +1 -0
- package/dest/services/data_store.js +57 -57
- package/dest/services/discv5/discV5_service.d.ts +40 -0
- package/dest/services/discv5/discV5_service.d.ts.map +1 -0
- package/dest/services/discv5/discV5_service.js +82 -43
- package/dest/services/dummy_service.d.ts +83 -0
- package/dest/services/dummy_service.d.ts.map +1 -0
- package/dest/services/dummy_service.js +59 -40
- package/dest/services/encoding.d.ts +31 -0
- package/dest/services/encoding.d.ts.map +1 -0
- package/dest/services/encoding.js +9 -10
- package/dest/services/index.d.ts +3 -0
- package/dest/services/index.d.ts.map +1 -0
- package/dest/services/index.js +1 -0
- package/dest/services/libp2p/libp2p_logger.d.ts +7 -0
- package/dest/services/libp2p/libp2p_logger.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_logger.js +67 -0
- package/dest/services/libp2p/libp2p_service.d.ts +225 -0
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -0
- package/dest/services/libp2p/libp2p_service.js +727 -709
- package/dest/services/peer-manager/metrics.d.ts +12 -0
- package/dest/services/peer-manager/metrics.d.ts.map +1 -0
- package/dest/services/peer-manager/metrics.js +7 -14
- package/dest/services/peer-manager/peer_manager.d.ts +76 -0
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_manager.js +342 -340
- package/dest/services/peer-manager/peer_scoring.d.ts +28 -0
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -0
- package/dest/services/peer-manager/peer_scoring.js +18 -20
- package/dest/services/reqresp/config.d.ts +16 -0
- package/dest/services/reqresp/config.d.ts.map +1 -0
- package/dest/services/reqresp/config.js +5 -4
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +45 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +28 -35
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +61 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -0
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +59 -60
- package/dest/services/reqresp/index.d.ts +6 -0
- package/dest/services/reqresp/index.d.ts.map +1 -0
- package/dest/services/reqresp/index.js +3 -1
- package/dest/services/reqresp/interface.d.ts +116 -0
- package/dest/services/reqresp/interface.d.ts.map +1 -0
- package/dest/services/reqresp/interface.js +30 -25
- package/dest/services/reqresp/metrics.d.ts +15 -0
- package/dest/services/reqresp/metrics.d.ts.map +1 -0
- package/dest/services/reqresp/metrics.js +10 -23
- package/dest/services/reqresp/protocols/block.d.ts +4 -0
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block.js +2 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts +51 -0
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/goodbye.js +41 -36
- package/dest/services/reqresp/protocols/index.d.ts +9 -0
- package/dest/services/reqresp/protocols/index.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/index.js +3 -1
- package/dest/services/reqresp/protocols/ping.d.ts +9 -0
- package/dest/services/reqresp/protocols/ping.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/ping.js +3 -1
- package/dest/services/reqresp/protocols/status.d.ts +9 -0
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/status.js +3 -1
- package/dest/services/reqresp/protocols/tx.d.ts +13 -0
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/tx.js +8 -5
- package/dest/services/reqresp/rate-limiter/index.d.ts +2 -0
- package/dest/services/reqresp/rate-limiter/index.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/index.js +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +102 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +35 -39
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +3 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -0
- package/dest/services/reqresp/rate-limiter/rate_limits.js +17 -16
- package/dest/services/reqresp/reqresp.d.ts +166 -0
- package/dest/services/reqresp/reqresp.d.ts.map +1 -0
- package/dest/services/reqresp/reqresp.js +463 -460
- package/dest/services/reqresp/status.d.ts +31 -0
- package/dest/services/reqresp/status.d.ts.map +1 -0
- package/dest/services/reqresp/status.js +17 -16
- package/dest/services/service.d.ts +86 -0
- package/dest/services/service.d.ts.map +1 -0
- package/dest/services/service.js +4 -3
- package/dest/services/types.d.ts +32 -0
- package/dest/services/types.d.ts.map +1 -0
- package/dest/services/types.js +19 -20
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts +7 -0
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts.map +1 -0
- package/dest/test-helpers/generate-peer-id-private-keys.js +15 -0
- package/dest/test-helpers/get-ports.d.ts +7 -0
- package/dest/test-helpers/get-ports.d.ts.map +1 -0
- package/dest/test-helpers/get-ports.js +8 -0
- package/dest/test-helpers/index.d.ts +6 -0
- package/dest/test-helpers/index.d.ts.map +1 -0
- package/dest/test-helpers/index.js +6 -0
- package/dest/test-helpers/make-enrs.d.ts +16 -0
- package/dest/test-helpers/make-enrs.d.ts.map +1 -0
- package/dest/test-helpers/make-enrs.js +35 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +37 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -0
- package/dest/test-helpers/make-test-p2p-clients.js +71 -0
- package/dest/test-helpers/reqresp-nodes.d.ts +55 -0
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -0
- package/dest/test-helpers/reqresp-nodes.js +183 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts +2 -0
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -0
- package/dest/testbench/p2p_client_testbench_worker.js +125 -0
- package/dest/util.d.ts +53 -0
- package/dest/util.d.ts.map +1 -0
- package/dest/util.js +34 -23
- package/dest/versioning.d.ts +12 -0
- package/dest/versioning.d.ts.map +1 -0
- package/dest/versioning.js +38 -0
- package/package.json +11 -9
- package/src/bootstrap/bootstrap.ts +9 -3
- package/src/client/factory.ts +12 -5
- package/src/config.ts +56 -29
- package/src/mem_pools/index.ts +3 -3
- package/src/mem_pools/instrumentation.ts +2 -3
- package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -3
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +3 -3
- package/src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts +3 -3
- package/src/services/discv5/discV5_service.ts +67 -18
- package/src/services/dummy_service.ts +2 -0
- package/src/services/libp2p/libp2p_logger.ts +78 -0
- package/src/services/libp2p/libp2p_service.ts +47 -10
- package/src/services/reqresp/protocols/goodbye.ts +1 -1
- package/src/services/reqresp/reqresp.ts +9 -1
- package/src/services/service.ts +2 -0
- package/src/services/types.ts +2 -10
- package/src/test-helpers/generate-peer-id-private-keys.ts +15 -0
- package/src/test-helpers/get-ports.ts +8 -0
- package/src/test-helpers/index.ts +5 -0
- package/src/test-helpers/make-enrs.ts +44 -0
- package/src/test-helpers/make-test-p2p-clients.ts +124 -0
- package/src/{mocks/index.ts → test-helpers/reqresp-nodes.ts} +10 -5
- package/src/testbench/README.md +20 -0
- package/src/testbench/p2p_client_testbench_worker.ts +156 -0
- package/src/testbench/scripts/run_testbench.sh +7 -0
- package/src/versioning.ts +50 -0
- package/dest/mocks/index.js +0 -190
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type EpochProofQuote } from '@aztec/circuit-types';
|
|
2
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
3
|
+
import { type EpochProofQuotePool } from './epoch_proof_quote_pool.js';
|
|
4
|
+
export declare class MemoryEpochProofQuotePool implements EpochProofQuotePool {
|
|
5
|
+
private quotes;
|
|
6
|
+
private metrics;
|
|
7
|
+
constructor(telemetry?: TelemetryClient);
|
|
8
|
+
addQuote(quote: EpochProofQuote): void;
|
|
9
|
+
getQuotes(epoch: bigint): EpochProofQuote[];
|
|
10
|
+
deleteQuotesToEpoch(epoch: bigint): void;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=memory_epoch_proof_quote_pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory_epoch_proof_quote_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAGnF,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAuC;gBAE1C,SAAS,GAAE,eAAsC;IAK7D,QAAQ,CAAC,KAAK,EAAE,eAAe;IAS/B,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE;IAG3C,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAazC"}
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
2
2
|
import { PoolInstrumentation, PoolName } from '../instrumentation.js';
|
|
3
3
|
export class MemoryEpochProofQuotePool {
|
|
4
|
-
|
|
5
|
-
metrics;
|
|
6
|
-
constructor(telemetry = getTelemetryClient()){
|
|
4
|
+
constructor(telemetry = getTelemetryClient()) {
|
|
7
5
|
this.quotes = new Map();
|
|
8
6
|
this.metrics = new PoolInstrumentation(telemetry, PoolName.EPOCH_PROOF_QUOTE_POOL);
|
|
9
7
|
}
|
|
@@ -19,9 +17,9 @@ export class MemoryEpochProofQuotePool {
|
|
|
19
17
|
return this.quotes.get(epoch) || [];
|
|
20
18
|
}
|
|
21
19
|
deleteQuotesToEpoch(epoch) {
|
|
22
|
-
const expiredEpochs = Array.from(this.quotes.keys()).filter(
|
|
20
|
+
const expiredEpochs = Array.from(this.quotes.keys()).filter(k => k <= epoch);
|
|
23
21
|
let removedObjectsCount = 0;
|
|
24
|
-
for (const expiredEpoch of expiredEpochs){
|
|
22
|
+
for (const expiredEpoch of expiredEpochs) {
|
|
25
23
|
// For logging
|
|
26
24
|
removedObjectsCount += this.quotes.get(expiredEpoch)?.length || 0;
|
|
27
25
|
this.quotes.delete(expiredEpoch);
|
|
@@ -29,3 +27,4 @@ export class MemoryEpochProofQuotePool {
|
|
|
29
27
|
this.metrics.recordRemovedObjects(removedObjectsCount);
|
|
30
28
|
}
|
|
31
29
|
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2Vwb2NoX3Byb29mX3F1b3RlX3Bvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL2Vwb2NoX3Byb29mX3F1b3RlX3Bvb2wvbWVtb3J5X2Vwb2NoX3Byb29mX3F1b3RlX3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd0RSxNQUFNLE9BQU8seUJBQXlCO0lBSXBDLFlBQVksWUFBNkIsa0JBQWtCLEVBQUU7UUFDM0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFzQjtRQUM3QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0IsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsS0FBYTtRQUMvQixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUM7UUFFN0UsSUFBSSxtQkFBbUIsR0FBRyxDQUFDLENBQUM7UUFDNUIsS0FBSyxNQUFNLFlBQVksSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUN6QyxjQUFjO1lBQ2QsbUJBQW1CLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUVsRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EpochProofQuote, EpochProofQuotePayload } from '@aztec/circuit-types';
|
|
2
|
+
import { Secp256k1Signer } from '@aztec/foundation/crypto';
|
|
3
|
+
export declare function makeRandomEpochProofQuotePayload(): EpochProofQuotePayload;
|
|
4
|
+
export declare function makeRandomEpochProofQuote(payload?: EpochProofQuotePayload): {
|
|
5
|
+
quote: EpochProofQuote;
|
|
6
|
+
signer: Secp256k1Signer;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=test_utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/epoch_proof_quote_pool/test_utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAA2B,MAAM,0BAA0B,CAAC;AAEpF,wBAAgB,gCAAgC,IAAI,sBAAsB,CAQzE;AAED,wBAAgB,yBAAyB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG;IAC3E,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;CACzB,CAOA"}
|
|
@@ -8,13 +8,14 @@ export function makeRandomEpochProofQuotePayload() {
|
|
|
8
8
|
bondAmount: 1000000000000000000n,
|
|
9
9
|
epochToProve: randomBigInt(1000000n),
|
|
10
10
|
prover: EthAddress.random(),
|
|
11
|
-
validUntilSlot: randomBigInt(1000000n)
|
|
11
|
+
validUntilSlot: randomBigInt(1000000n),
|
|
12
12
|
});
|
|
13
13
|
}
|
|
14
14
|
export function makeRandomEpochProofQuote(payload) {
|
|
15
15
|
const signer = Secp256k1Signer.random();
|
|
16
16
|
return {
|
|
17
17
|
quote: EpochProofQuote.new(Buffer32.random(), payload ?? makeRandomEpochProofQuotePayload(), signer),
|
|
18
|
-
signer
|
|
18
|
+
signer,
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvZXBvY2hfcHJvb2ZfcXVvdGVfcG9vbC90ZXN0X3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE1BQU0sVUFBVSxnQ0FBZ0M7SUFDOUMsT0FBTyxzQkFBc0IsQ0FBQyxJQUFJLENBQUM7UUFDakMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDL0IsVUFBVSxFQUFFLG9CQUFvQjtRQUNoQyxZQUFZLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUMzQixjQUFjLEVBQUUsWUFBWSxDQUFDLFFBQVEsQ0FBQztLQUN2QyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLHlCQUF5QixDQUFDLE9BQWdDO0lBSXhFLE1BQU0sTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUV4QyxPQUFPO1FBQ0wsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sSUFBSSxnQ0FBZ0MsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUNwRyxNQUFNO0tBQ1AsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { TxPool } from './tx_pool/tx_pool.js';
|
|
2
|
+
export { AttestationPool } from './attestation_pool/attestation_pool.js';
|
|
3
|
+
export { EpochProofQuotePool } from './epoch_proof_quote_pool/epoch_proof_quote_pool.js';
|
|
4
|
+
export { type MemPools } from './interface.js';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mem_pools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dest/mem_pools/index.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtX3Bvb2xzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type Gossipable } from '@aztec/circuit-types';
|
|
2
|
+
import { type LmdbStatsCallback, type TelemetryClient } from '@aztec/telemetry-client';
|
|
3
|
+
export declare enum PoolName {
|
|
4
|
+
TX_POOL = "TxPool",
|
|
5
|
+
ATTESTATION_POOL = "AttestationPool",
|
|
6
|
+
EPOCH_PROOF_QUOTE_POOL = "EpochProofQuotePool"
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Instrumentation class for the Pools (TxPool, AttestationPool, etc).
|
|
10
|
+
*/
|
|
11
|
+
export declare class PoolInstrumentation<PoolObject extends Gossipable> {
|
|
12
|
+
/** The number of txs in the mempool */
|
|
13
|
+
private objectsInMempool;
|
|
14
|
+
/** Tracks tx size */
|
|
15
|
+
private objectSize;
|
|
16
|
+
private dbMetrics;
|
|
17
|
+
private defaultAttributes;
|
|
18
|
+
constructor(telemetry: TelemetryClient, name: PoolName, dbStats?: LmdbStatsCallback);
|
|
19
|
+
recordSize(poolObject: PoolObject): void;
|
|
20
|
+
/**
|
|
21
|
+
* Updates the metrics with the new objects.
|
|
22
|
+
* @param txs - The objects to record
|
|
23
|
+
*/
|
|
24
|
+
recordAddedObjects(count?: number, status?: string): void;
|
|
25
|
+
/**
|
|
26
|
+
* Updates the metrics by removing objects from the mempool.
|
|
27
|
+
* @param count - The number of objects to remove from the mempool
|
|
28
|
+
*/
|
|
29
|
+
recordRemovedObjects(count?: number, status?: string): void;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=instrumentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/mem_pools/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAIL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,QAAQ;IAClB,OAAO,WAAW;IAClB,gBAAgB,oBAAoB;IACpC,sBAAsB,wBAAwB;CAC/C;AAiCD;;GAEG;AACH,qBAAa,mBAAmB,CAAC,UAAU,SAAS,UAAU;IAC5D,uCAAuC;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,qBAAqB;IACrB,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,iBAAiB,CAAC;gBAEd,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,iBAAiB;IAwB5E,UAAU,CAAC,UAAU,EAAE,UAAU;IAIxC;;;OAGG;IACI,kBAAkB,CAAC,KAAK,SAAI,EAAE,MAAM,CAAC,EAAE,MAAM;IAiBpD;;;OAGG;IACI,oBAAoB,CAAC,KAAK,SAAI,EAAE,MAAM,CAAC,EAAE,MAAM;CAgBvD"}
|
|
@@ -1,90 +1,95 @@
|
|
|
1
|
-
import { Attributes, LmdbMetrics, Metrics } from '@aztec/telemetry-client';
|
|
2
|
-
export var PoolName
|
|
1
|
+
import { Attributes, LmdbMetrics, Metrics, } from '@aztec/telemetry-client';
|
|
2
|
+
export var PoolName;
|
|
3
|
+
(function (PoolName) {
|
|
3
4
|
PoolName["TX_POOL"] = "TxPool";
|
|
4
5
|
PoolName["ATTESTATION_POOL"] = "AttestationPool";
|
|
5
6
|
PoolName["EPOCH_PROOF_QUOTE_POOL"] = "EpochProofQuotePool";
|
|
6
|
-
|
|
7
|
-
}({});
|
|
7
|
+
})(PoolName || (PoolName = {}));
|
|
8
8
|
/**
|
|
9
9
|
* Get the metrics labels for a given pool name.
|
|
10
10
|
* They must all have different names, as if duplicates appear, it will brick
|
|
11
11
|
* the metrics instance
|
|
12
|
-
*/
|
|
13
|
-
|
|
12
|
+
*/
|
|
13
|
+
function getMetricsLabels(name) {
|
|
14
|
+
if (name === PoolName.TX_POOL) {
|
|
14
15
|
return {
|
|
15
16
|
objectInMempool: Metrics.MEMPOOL_TX_COUNT,
|
|
16
|
-
objectSize: Metrics.MEMPOOL_TX_SIZE
|
|
17
|
+
objectSize: Metrics.MEMPOOL_TX_SIZE,
|
|
17
18
|
};
|
|
18
|
-
}
|
|
19
|
+
}
|
|
20
|
+
else if (name === PoolName.ATTESTATION_POOL) {
|
|
19
21
|
return {
|
|
20
22
|
objectInMempool: Metrics.MEMPOOL_ATTESTATIONS_COUNT,
|
|
21
|
-
objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE
|
|
23
|
+
objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE,
|
|
22
24
|
};
|
|
23
|
-
}
|
|
25
|
+
}
|
|
26
|
+
else if (name === PoolName.EPOCH_PROOF_QUOTE_POOL) {
|
|
24
27
|
return {
|
|
25
28
|
objectInMempool: Metrics.MEMPOOL_PROVER_QUOTE_COUNT,
|
|
26
|
-
objectSize: Metrics.MEMPOOL_PROVER_QUOTE_SIZE
|
|
29
|
+
objectSize: Metrics.MEMPOOL_PROVER_QUOTE_SIZE,
|
|
27
30
|
};
|
|
28
31
|
}
|
|
29
32
|
throw new Error('Invalid pool type');
|
|
30
33
|
}
|
|
31
34
|
/**
|
|
32
35
|
* Instrumentation class for the Pools (TxPool, AttestationPool, etc).
|
|
33
|
-
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
dbMetrics;
|
|
37
|
-
defaultAttributes;
|
|
38
|
-
constructor(telemetry, name, dbStats){
|
|
36
|
+
*/
|
|
37
|
+
export class PoolInstrumentation {
|
|
38
|
+
constructor(telemetry, name, dbStats) {
|
|
39
39
|
const meter = telemetry.getMeter(name);
|
|
40
|
-
this.defaultAttributes = {
|
|
41
|
-
[Attributes.POOL_NAME]: name
|
|
42
|
-
};
|
|
40
|
+
this.defaultAttributes = { [Attributes.POOL_NAME]: name };
|
|
43
41
|
const metricsLabels = getMetricsLabels(name);
|
|
44
42
|
this.objectsInMempool = meter.createUpDownCounter(metricsLabels.objectInMempool, {
|
|
45
|
-
description: 'The current number of transactions in the mempool'
|
|
43
|
+
description: 'The current number of transactions in the mempool',
|
|
46
44
|
});
|
|
47
45
|
this.objectSize = meter.createHistogram(metricsLabels.objectSize, {
|
|
48
46
|
unit: 'By',
|
|
49
|
-
description: 'The size of transactions in the mempool'
|
|
47
|
+
description: 'The size of transactions in the mempool',
|
|
50
48
|
});
|
|
51
49
|
this.dbMetrics = new LmdbMetrics(meter, {
|
|
52
|
-
[Attributes.DB_DATA_TYPE]: 'tx-pool'
|
|
50
|
+
[Attributes.DB_DATA_TYPE]: 'tx-pool',
|
|
53
51
|
}, dbStats);
|
|
54
52
|
}
|
|
55
53
|
recordSize(poolObject) {
|
|
56
54
|
this.objectSize.record(poolObject.getSize());
|
|
57
55
|
}
|
|
58
56
|
/**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
* Updates the metrics with the new objects.
|
|
58
|
+
* @param txs - The objects to record
|
|
59
|
+
*/
|
|
60
|
+
recordAddedObjects(count = 1, status) {
|
|
62
61
|
if (count < 0) {
|
|
63
62
|
throw new Error('Count must be positive');
|
|
64
63
|
}
|
|
65
64
|
if (count === 0) {
|
|
66
65
|
return;
|
|
67
66
|
}
|
|
68
|
-
const attributes = status
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
const attributes = status
|
|
68
|
+
? {
|
|
69
|
+
...this.defaultAttributes,
|
|
70
|
+
[Attributes.STATUS]: status,
|
|
71
|
+
}
|
|
72
|
+
: this.defaultAttributes;
|
|
72
73
|
this.objectsInMempool.add(count, attributes);
|
|
73
74
|
}
|
|
74
75
|
/**
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
* Updates the metrics by removing objects from the mempool.
|
|
77
|
+
* @param count - The number of objects to remove from the mempool
|
|
78
|
+
*/
|
|
79
|
+
recordRemovedObjects(count = 1, status) {
|
|
78
80
|
if (count < 0) {
|
|
79
81
|
throw new Error('Count must be positive');
|
|
80
82
|
}
|
|
81
83
|
if (count === 0) {
|
|
82
84
|
return;
|
|
83
85
|
}
|
|
84
|
-
const attributes = status
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
const attributes = status
|
|
87
|
+
? {
|
|
88
|
+
...this.defaultAttributes,
|
|
89
|
+
[Attributes.STATUS]: status,
|
|
90
|
+
}
|
|
91
|
+
: this.defaultAttributes;
|
|
88
92
|
this.objectsInMempool.add(-1 * count, attributes);
|
|
89
93
|
}
|
|
90
94
|
}
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lbV9wb29scy9pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFVBQVUsRUFFVixXQUFXLEVBRVgsT0FBTyxHQUdSLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQiw4QkFBa0IsQ0FBQTtJQUNsQixnREFBb0MsQ0FBQTtJQUNwQywwREFBOEMsQ0FBQTtBQUNoRCxDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkI7QUFPRDs7OztHQUlHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFjO0lBQ3RDLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixPQUFPO1lBQ0wsZUFBZSxFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7WUFDekMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1NBQ3BDLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDOUMsT0FBTztZQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsMEJBQTBCO1lBQ25ELFVBQVUsRUFBRSxPQUFPLENBQUMseUJBQXlCO1NBQzlDLENBQUM7SUFDSixDQUFDO1NBQU0sSUFBSSxJQUFJLEtBQUssUUFBUSxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDcEQsT0FBTztZQUNMLGVBQWUsRUFBRSxPQUFPLENBQUMsMEJBQTBCO1lBQ25ELFVBQVUsRUFBRSxPQUFPLENBQUMseUJBQXlCO1NBQzlDLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFVOUIsWUFBWSxTQUEwQixF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
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type P2PClientType } from '@aztec/circuit-types';
|
|
2
|
+
import { type AttestationPool } from './attestation_pool/attestation_pool.js';
|
|
3
|
+
import { type EpochProofQuotePool } from './epoch_proof_quote_pool/epoch_proof_quote_pool.js';
|
|
4
|
+
import { type TxPool } from './tx_pool/tx_pool.js';
|
|
5
|
+
/**
|
|
6
|
+
* A interface the combines all mempools
|
|
7
|
+
*/
|
|
8
|
+
export type MemPools<T extends P2PClientType = P2PClientType.Full> = {
|
|
9
|
+
txPool: TxPool;
|
|
10
|
+
attestationPool?: T extends P2PClientType.Full ? AttestationPool : undefined;
|
|
11
|
+
epochProofQuotePool: EpochProofQuotePool;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/mem_pools/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oDAAoD,CAAC;AAC9F,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,CAAC,IAAI,IAAI;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,CAAC,SAAS,aAAa,CAAC,IAAI,GAAG,eAAe,GAAG,SAAS,CAAC;IAC7E,mBAAmB,EAAE,mBAAmB,CAAC;CAC1C,CAAC"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21lbV9wb29scy9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { Tx, TxHash } from '@aztec/circuit-types';
|
|
2
|
+
import { type Logger } from '@aztec/foundation/log';
|
|
3
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
4
|
+
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
5
|
+
import { type TxPool } from './tx_pool.js';
|
|
6
|
+
/**
|
|
7
|
+
* KV implementation of the Transaction Pool.
|
|
8
|
+
*/
|
|
9
|
+
export declare class AztecKVTxPool implements TxPool {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Class constructor for KV TxPool. Initiates our transaction pool as an AztecMap.
|
|
13
|
+
* @param store - A KV store for live txs in the pool.
|
|
14
|
+
* @param archive - A KV store for archived txs.
|
|
15
|
+
* @param telemetry - A telemetry client.
|
|
16
|
+
* @param archivedTxLimit - The number of txs to archive.
|
|
17
|
+
* @param log - A logger.
|
|
18
|
+
*/
|
|
19
|
+
constructor(store: AztecAsyncKVStore, archive: AztecAsyncKVStore, telemetry?: TelemetryClient, archivedTxLimit?: number, log?: Logger);
|
|
20
|
+
markAsMined(txHashes: TxHash[], blockNumber: number): Promise<void>;
|
|
21
|
+
markMinedAsPending(txHashes: TxHash[]): Promise<void>;
|
|
22
|
+
getPendingTxHashes(): Promise<TxHash[]>;
|
|
23
|
+
getMinedTxHashes(): Promise<[TxHash, number][]>;
|
|
24
|
+
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
25
|
+
/**
|
|
26
|
+
* Checks if a transaction exists in the pool and returns it.
|
|
27
|
+
* @param txHash - The generated tx hash.
|
|
28
|
+
* @returns The transaction, if found, 'undefined' otherwise.
|
|
29
|
+
*/
|
|
30
|
+
getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
31
|
+
/**
|
|
32
|
+
* Checks if an archived tx exists and returns it.
|
|
33
|
+
* @param txHash - The tx hash.
|
|
34
|
+
* @returns The transaction metadata, if found, 'undefined' otherwise.
|
|
35
|
+
*/
|
|
36
|
+
getArchivedTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
37
|
+
/**
|
|
38
|
+
* Adds a list of transactions to the pool. Duplicates are ignored.
|
|
39
|
+
* @param txs - An array of txs to be added to the pool.
|
|
40
|
+
* @returns Empty promise.
|
|
41
|
+
*/
|
|
42
|
+
addTxs(txs: Tx[]): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Deletes transactions from the pool. Tx hashes that are not present are ignored.
|
|
45
|
+
* @param txHashes - An array of tx hashes to be removed from the tx pool.
|
|
46
|
+
* @returns Empty promise.
|
|
47
|
+
*/
|
|
48
|
+
deleteTxs(txHashes: TxHash[]): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Gets all the transactions stored in the pool.
|
|
51
|
+
* @returns Array of tx objects in the order they were added to the pool.
|
|
52
|
+
*/
|
|
53
|
+
getAllTxs(): Promise<Tx[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the hashes of all transactions currently in the tx pool.
|
|
56
|
+
* @returns An array of transaction hashes found in the tx pool.
|
|
57
|
+
*/
|
|
58
|
+
getAllTxHashes(): Promise<TxHash[]>;
|
|
59
|
+
/**
|
|
60
|
+
* Archives a list of txs for future reference. The number of archived txs is limited by the specified archivedTxLimit.
|
|
61
|
+
* @param txs - The list of transactions to archive.
|
|
62
|
+
* @returns Empty promise.
|
|
63
|
+
*/
|
|
64
|
+
private archiveTxs;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=aztec_kv_tx_pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAInF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,qBAAa,aAAc,YAAW,MAAM;;IA4B1C;;;;;;;OAOG;gBAED,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,GAAE,eAAsC,EACjD,eAAe,GAAE,MAAU,EAC3B,GAAG,SAA8B;IAgB5B,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB/C,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKvC,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAK/C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;IAalF;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUjE;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IAUzE;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B7C;;;;OAIG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnD;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;IASvC;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhD;;;;OAIG;YACW,UAAU;CAiCzB"}
|