@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
|
@@ -5,18 +5,13 @@ import { PoolInstrumentation, PoolName } from '../instrumentation.js';
|
|
|
5
5
|
import { getPendingTxPriority } from './priority.js';
|
|
6
6
|
/**
|
|
7
7
|
* In-memory implementation of the Transaction Pool.
|
|
8
|
-
*/
|
|
9
|
-
|
|
8
|
+
*/
|
|
9
|
+
export class InMemoryTxPool {
|
|
10
10
|
/**
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
metrics;
|
|
16
|
-
/**
|
|
17
|
-
* Class constructor for in-memory TxPool. Initiates our transaction pool as a JS Map.
|
|
18
|
-
* @param log - A logger.
|
|
19
|
-
*/ constructor(telemetry = getTelemetryClient(), log = createLogger('p2p:tx_pool')){
|
|
11
|
+
* Class constructor for in-memory TxPool. Initiates our transaction pool as a JS Map.
|
|
12
|
+
* @param log - A logger.
|
|
13
|
+
*/
|
|
14
|
+
constructor(telemetry = getTelemetryClient(), log = createLogger('p2p:tx_pool')) {
|
|
20
15
|
this.log = log;
|
|
21
16
|
this.txs = new Map();
|
|
22
17
|
this.minedTxs = new Map();
|
|
@@ -24,8 +19,8 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
24
19
|
this.metrics = new PoolInstrumentation(telemetry, PoolName.TX_POOL);
|
|
25
20
|
}
|
|
26
21
|
markAsMined(txHashes, blockNumber) {
|
|
27
|
-
const keys = txHashes.map(
|
|
28
|
-
for (const key of keys){
|
|
22
|
+
const keys = txHashes.map(x => x.toBigInt());
|
|
23
|
+
for (const key of keys) {
|
|
29
24
|
this.minedTxs.set(key, blockNumber);
|
|
30
25
|
this.pendingTxs.delete(key);
|
|
31
26
|
}
|
|
@@ -37,10 +32,10 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
37
32
|
if (txHashes.length === 0) {
|
|
38
33
|
return Promise.resolve();
|
|
39
34
|
}
|
|
40
|
-
const keys = txHashes.map(
|
|
35
|
+
const keys = txHashes.map(x => x.toBigInt());
|
|
41
36
|
let deleted = 0;
|
|
42
37
|
let added = 0;
|
|
43
|
-
for (const key of keys){
|
|
38
|
+
for (const key of keys) {
|
|
44
39
|
if (this.minedTxs.delete(key)) {
|
|
45
40
|
deleted++;
|
|
46
41
|
}
|
|
@@ -55,15 +50,12 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
55
50
|
return Promise.resolve();
|
|
56
51
|
}
|
|
57
52
|
async getPendingTxHashes() {
|
|
58
|
-
const txs = (await this.getAllTxs()).sort((tx1, tx2)
|
|
59
|
-
const txHashes = await Promise.all(txs.map(
|
|
60
|
-
return txHashes.filter(
|
|
53
|
+
const txs = (await this.getAllTxs()).sort((tx1, tx2) => -getPendingTxPriority(tx1).localeCompare(getPendingTxPriority(tx2)));
|
|
54
|
+
const txHashes = await Promise.all(txs.map(tx => tx.getTxHash()));
|
|
55
|
+
return txHashes.filter(txHash => this.pendingTxs.has(txHash.toBigInt()));
|
|
61
56
|
}
|
|
62
57
|
getMinedTxHashes() {
|
|
63
|
-
return Promise.resolve(Array.from(this.minedTxs.entries()).map(([txHash, blockNumber])=>[
|
|
64
|
-
TxHash.fromBigInt(txHash),
|
|
65
|
-
blockNumber
|
|
66
|
-
]));
|
|
58
|
+
return Promise.resolve(Array.from(this.minedTxs.entries()).map(([txHash, blockNumber]) => [TxHash.fromBigInt(txHash), blockNumber]));
|
|
67
59
|
}
|
|
68
60
|
getTxStatus(txHash) {
|
|
69
61
|
const key = txHash.toBigInt();
|
|
@@ -76,10 +68,11 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
76
68
|
return Promise.resolve(undefined);
|
|
77
69
|
}
|
|
78
70
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
71
|
+
* Checks if a transaction exists in the pool and returns it.
|
|
72
|
+
* @param txHash - The generated tx hash.
|
|
73
|
+
* @returns The transaction, if found, 'undefined' otherwise.
|
|
74
|
+
*/
|
|
75
|
+
getTxByHash(txHash) {
|
|
83
76
|
const result = this.txs.get(txHash.toBigInt());
|
|
84
77
|
return Promise.resolve(result === undefined ? undefined : Tx.clone(result));
|
|
85
78
|
}
|
|
@@ -87,16 +80,17 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
87
80
|
return Promise.resolve(undefined);
|
|
88
81
|
}
|
|
89
82
|
/**
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
83
|
+
* Adds a list of transactions to the pool. Duplicates are ignored.
|
|
84
|
+
* @param txs - An array of txs to be added to the pool.
|
|
85
|
+
* @returns Empty promise.
|
|
86
|
+
*/
|
|
87
|
+
async addTxs(txs) {
|
|
94
88
|
let pending = 0;
|
|
95
|
-
for (const tx of txs){
|
|
89
|
+
for (const tx of txs) {
|
|
96
90
|
const txHash = await tx.getTxHash();
|
|
97
91
|
this.log.verbose(`Adding tx ${txHash.toString()} to pool`, {
|
|
98
92
|
eventName: 'tx-added-to-pool',
|
|
99
|
-
...await tx.getStats()
|
|
93
|
+
...(await tx.getStats()),
|
|
100
94
|
});
|
|
101
95
|
const key = txHash.toBigInt();
|
|
102
96
|
this.txs.set(key, tx);
|
|
@@ -110,13 +104,14 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
110
104
|
return;
|
|
111
105
|
}
|
|
112
106
|
/**
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
107
|
+
* Deletes transactions from the pool. Tx hashes that are not present are ignored.
|
|
108
|
+
* @param txHashes - An array of tx hashes to be removed from the tx pool.
|
|
109
|
+
* @returns The number of transactions that was deleted from the pool.
|
|
110
|
+
*/
|
|
111
|
+
deleteTxs(txHashes) {
|
|
117
112
|
let deletedMined = 0;
|
|
118
113
|
let deletedPending = 0;
|
|
119
|
-
for (const txHash of txHashes){
|
|
114
|
+
for (const txHash of txHashes) {
|
|
120
115
|
const key = txHash.toBigInt();
|
|
121
116
|
this.txs.delete(key);
|
|
122
117
|
deletedPending += this.pendingTxs.delete(key) ? 1 : 0;
|
|
@@ -127,15 +122,18 @@ import { getPendingTxPriority } from './priority.js';
|
|
|
127
122
|
return Promise.resolve();
|
|
128
123
|
}
|
|
129
124
|
/**
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
125
|
+
* Gets all the transactions stored in the pool.
|
|
126
|
+
* @returns Array of tx objects in the order they were added to the pool.
|
|
127
|
+
*/
|
|
128
|
+
getAllTxs() {
|
|
129
|
+
return Promise.resolve(Array.from(this.txs.values()).map(x => Tx.clone(x)));
|
|
134
130
|
}
|
|
135
131
|
/**
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
132
|
+
* Gets the hashes of all transactions currently in the tx pool.
|
|
133
|
+
* @returns An array of transaction hashes found in the tx pool.
|
|
134
|
+
*/
|
|
135
|
+
getAllTxHashes() {
|
|
136
|
+
return Promise.resolve(Array.from(this.txs.keys()).map(x => TxHash.fromBigInt(x)));
|
|
140
137
|
}
|
|
141
138
|
}
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X3R4X3Bvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvbWVtb3J5X3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUF3QixrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQVV6Qjs7O09BR0c7SUFDSCxZQUFZLFlBQTZCLGtCQUFrQixFQUFFLEVBQVUsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQWpDLFFBQUcsR0FBSCxHQUFHLENBQThCO1FBQ3RHLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQWMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBa0IsRUFBRSxXQUFtQjtRQUN4RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0MsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FB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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type Tx } from '@aztec/circuit-types';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a string representing the priority of a tx.
|
|
4
|
+
* Txs with a higher priority value are returned first when retrieving pending tx hashes.
|
|
5
|
+
* We currently use the sum of the priority fees for the tx for this value, represented as hex.
|
|
6
|
+
*/
|
|
7
|
+
export declare function getPendingTxPriority(tx: Tx): string;
|
|
8
|
+
//# sourceMappingURL=priority.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/priority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,sBAAsB,CAAC;AAG/C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAInD"}
|
|
@@ -3,8 +3,10 @@ import { Buffer32 } from '@aztec/foundation/buffer';
|
|
|
3
3
|
* Returns a string representing the priority of a tx.
|
|
4
4
|
* Txs with a higher priority value are returned first when retrieving pending tx hashes.
|
|
5
5
|
* We currently use the sum of the priority fees for the tx for this value, represented as hex.
|
|
6
|
-
*/
|
|
6
|
+
*/
|
|
7
|
+
export function getPendingTxPriority(tx) {
|
|
7
8
|
const priorityFees = tx.getGasSettings().maxPriorityFeesPerGas;
|
|
8
9
|
const totalFees = priorityFees.feePerDaGas.toBigInt() + priorityFees.feePerL2Gas.toBigInt();
|
|
9
10
|
return Buffer32.fromBigInt(totalFees).toString();
|
|
10
11
|
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpb3JpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvcHJpb3JpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXBEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsRUFBTTtJQUN6QyxNQUFNLFlBQVksR0FBRyxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUMscUJBQXFCLENBQUM7SUFDL0QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVGLE9BQU8sUUFBUSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztBQUNuRCxDQUFDIn0=
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type Tx, type TxHash } from '@aztec/circuit-types';
|
|
2
|
+
/**
|
|
3
|
+
* Interface of a transaction pool. The pool includes tx requests and is kept up-to-date by a P2P client.
|
|
4
|
+
*/
|
|
5
|
+
export interface TxPool {
|
|
6
|
+
/**
|
|
7
|
+
* Adds a list of transactions to the pool. Duplicates are ignored.
|
|
8
|
+
* @param txs - An array of txs to be added to the pool.
|
|
9
|
+
*/
|
|
10
|
+
addTxs(txs: Tx[]): Promise<void>;
|
|
11
|
+
/**
|
|
12
|
+
* Checks if a transaction exists in the pool and returns it.
|
|
13
|
+
* @param txHash - The hash of the transaction, used as an ID.
|
|
14
|
+
* @returns The transaction, if found, 'undefined' otherwise.
|
|
15
|
+
*/
|
|
16
|
+
getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
17
|
+
/**
|
|
18
|
+
* Checks if an archived transaction exists in the pool and returns it.
|
|
19
|
+
* @param txHash - The hash of the transaction, used as an ID.
|
|
20
|
+
* @returns The transaction, if found, 'undefined' otherwise.
|
|
21
|
+
*/
|
|
22
|
+
getArchivedTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Marks the set of txs as mined, as opposed to pending.
|
|
25
|
+
* @param txHashes - Hashes of the txs to flag as mined.
|
|
26
|
+
*/
|
|
27
|
+
markAsMined(txHashes: TxHash[], blockNumber: number): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Moves mined txs back to the pending set in the case of a reorg.
|
|
30
|
+
* Note: txs not known by this peer will be ignored.
|
|
31
|
+
* @param txHashes - Hashes of the txs to flag as pending.
|
|
32
|
+
*/
|
|
33
|
+
markMinedAsPending(txHashes: TxHash[]): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Deletes transactions from the pool. Tx hashes that are not present are ignored.
|
|
36
|
+
* @param txHashes - An array of tx hashes to be removed from the tx pool.
|
|
37
|
+
*/
|
|
38
|
+
deleteTxs(txHashes: TxHash[]): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Gets all transactions currently in the tx pool.
|
|
41
|
+
* @returns An array of transaction objects found in the tx pool.
|
|
42
|
+
*/
|
|
43
|
+
getAllTxs(): Promise<Tx[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Gets the hashes of all transactions currently in the tx pool.
|
|
46
|
+
* @returns An array of transaction hashes found in the tx pool.
|
|
47
|
+
*/
|
|
48
|
+
getAllTxHashes(): Promise<TxHash[]>;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the hashes of pending transactions currently in the tx pool sorted by priority (see getPendingTxPriority).
|
|
51
|
+
* @returns An array of pending transaction hashes found in the tx pool.
|
|
52
|
+
*/
|
|
53
|
+
getPendingTxHashes(): Promise<TxHash[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the hashes of mined transactions currently in the tx pool.
|
|
56
|
+
* @returns An array of mined transaction hashes found in the tx pool.
|
|
57
|
+
*/
|
|
58
|
+
getMinedTxHashes(): Promise<[tx: TxHash, blockNumber: number][]>;
|
|
59
|
+
/**
|
|
60
|
+
* Returns whether the given tx hash is flagged as pending or mined.
|
|
61
|
+
* @param txHash - Hash of the tx to query.
|
|
62
|
+
* @returns Pending or mined depending on its status, or undefined if not found.
|
|
63
|
+
*/
|
|
64
|
+
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=tx_pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/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,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAErD;;;;OAIG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;IAE7D;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;OAIG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE3B;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEpC;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAExC;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;IAEjE;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;CACvE"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*/ export { };
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbC90eF9wb29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tx_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/tx_pool_test_suite.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,MAAM,QAsHrD"}
|
|
@@ -4,146 +4,85 @@ import { unfreeze } from '@aztec/foundation/types';
|
|
|
4
4
|
/**
|
|
5
5
|
* Tests a TxPool implementation.
|
|
6
6
|
* @param getTxPool - Gets a fresh TxPool
|
|
7
|
-
*/
|
|
7
|
+
*/
|
|
8
|
+
export function describeTxPool(getTxPool) {
|
|
8
9
|
let pool;
|
|
9
|
-
beforeEach(()=>{
|
|
10
|
+
beforeEach(() => {
|
|
10
11
|
pool = getTxPool();
|
|
11
12
|
});
|
|
12
|
-
it('Adds txs to the pool as pending', async ()=>{
|
|
13
|
+
it('Adds txs to the pool as pending', async () => {
|
|
13
14
|
const tx1 = await mockTx();
|
|
14
|
-
await pool.addTxs([
|
|
15
|
-
tx1
|
|
16
|
-
]);
|
|
15
|
+
await pool.addTxs([tx1]);
|
|
17
16
|
const poolTx = await pool.getTxByHash(await tx1.getTxHash());
|
|
18
17
|
expect(await poolTx.getTxHash()).toEqual(await tx1.getTxHash());
|
|
19
18
|
await expect(pool.getTxStatus(await tx1.getTxHash())).resolves.toEqual('pending');
|
|
20
|
-
await expect(pool.getPendingTxHashes()).resolves.toEqual([
|
|
21
|
-
await tx1.getTxHash()
|
|
22
|
-
]);
|
|
19
|
+
await expect(pool.getPendingTxHashes()).resolves.toEqual([await tx1.getTxHash()]);
|
|
23
20
|
});
|
|
24
|
-
it('Removes txs from the pool', async ()=>{
|
|
21
|
+
it('Removes txs from the pool', async () => {
|
|
25
22
|
const tx1 = await mockTx();
|
|
26
|
-
await pool.addTxs([
|
|
27
|
-
|
|
28
|
-
]);
|
|
29
|
-
await pool.deleteTxs([
|
|
30
|
-
await tx1.getTxHash()
|
|
31
|
-
]);
|
|
23
|
+
await pool.addTxs([tx1]);
|
|
24
|
+
await pool.deleteTxs([await tx1.getTxHash()]);
|
|
32
25
|
await expect(pool.getTxByHash(await tx1.getTxHash())).resolves.toBeFalsy();
|
|
33
26
|
await expect(pool.getTxStatus(await tx1.getTxHash())).resolves.toBeUndefined();
|
|
34
27
|
});
|
|
35
|
-
it('Marks txs as mined', async ()=>{
|
|
28
|
+
it('Marks txs as mined', async () => {
|
|
36
29
|
const tx1 = await mockTx(1);
|
|
37
30
|
const tx2 = await mockTx(2);
|
|
38
|
-
await pool.addTxs([
|
|
39
|
-
|
|
40
|
-
tx2
|
|
41
|
-
]);
|
|
42
|
-
await pool.markAsMined([
|
|
43
|
-
await tx1.getTxHash()
|
|
44
|
-
], 1);
|
|
31
|
+
await pool.addTxs([tx1, tx2]);
|
|
32
|
+
await pool.markAsMined([await tx1.getTxHash()], 1);
|
|
45
33
|
await expect(pool.getTxByHash(await tx1.getTxHash())).resolves.toEqual(tx1);
|
|
46
34
|
await expect(pool.getTxStatus(await tx1.getTxHash())).resolves.toEqual('mined');
|
|
47
|
-
await expect(pool.getMinedTxHashes()).resolves.toEqual([
|
|
48
|
-
|
|
49
|
-
await tx1.getTxHash(),
|
|
50
|
-
1
|
|
51
|
-
]
|
|
52
|
-
]);
|
|
53
|
-
await expect(pool.getPendingTxHashes()).resolves.toEqual([
|
|
54
|
-
await tx2.getTxHash()
|
|
55
|
-
]);
|
|
35
|
+
await expect(pool.getMinedTxHashes()).resolves.toEqual([[await tx1.getTxHash(), 1]]);
|
|
36
|
+
await expect(pool.getPendingTxHashes()).resolves.toEqual([await tx2.getTxHash()]);
|
|
56
37
|
});
|
|
57
|
-
it('Marks txs as pending after being mined', async ()=>{
|
|
38
|
+
it('Marks txs as pending after being mined', async () => {
|
|
58
39
|
const tx1 = await mockTx(1);
|
|
59
40
|
const tx2 = await mockTx(2);
|
|
60
|
-
await pool.addTxs([
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
]);
|
|
64
|
-
await pool.markAsMined([
|
|
65
|
-
await tx1.getTxHash()
|
|
66
|
-
], 1);
|
|
67
|
-
await pool.markMinedAsPending([
|
|
68
|
-
await tx1.getTxHash()
|
|
69
|
-
]);
|
|
41
|
+
await pool.addTxs([tx1, tx2]);
|
|
42
|
+
await pool.markAsMined([await tx1.getTxHash()], 1);
|
|
43
|
+
await pool.markMinedAsPending([await tx1.getTxHash()]);
|
|
70
44
|
await expect(pool.getMinedTxHashes()).resolves.toEqual([]);
|
|
71
45
|
const pending = await pool.getPendingTxHashes();
|
|
72
46
|
expect(pending).toHaveLength(2);
|
|
73
|
-
expect(pending).toEqual(expect.arrayContaining([
|
|
74
|
-
await tx1.getTxHash(),
|
|
75
|
-
await tx2.getTxHash()
|
|
76
|
-
]));
|
|
47
|
+
expect(pending).toEqual(expect.arrayContaining([await tx1.getTxHash(), await tx2.getTxHash()]));
|
|
77
48
|
});
|
|
78
|
-
it('Only marks txs as pending if they are known', async ()=>{
|
|
49
|
+
it('Only marks txs as pending if they are known', async () => {
|
|
79
50
|
const tx1 = await mockTx(1);
|
|
80
51
|
// simulate a situation where not all peers have all the txs
|
|
81
52
|
const tx2 = await mockTx(2);
|
|
82
53
|
const someTxHashThatThisPeerDidNotSee = await tx2.getTxHash();
|
|
83
|
-
await pool.addTxs([
|
|
84
|
-
tx1
|
|
85
|
-
]);
|
|
54
|
+
await pool.addTxs([tx1]);
|
|
86
55
|
// this peer knows that tx2 was mined, but it does not have the tx object
|
|
87
|
-
await pool.markAsMined([
|
|
88
|
-
await tx1.getTxHash(),
|
|
89
|
-
someTxHashThatThisPeerDidNotSee
|
|
90
|
-
], 1);
|
|
56
|
+
await pool.markAsMined([await tx1.getTxHash(), someTxHashThatThisPeerDidNotSee], 1);
|
|
91
57
|
expect(await pool.getMinedTxHashes()).toEqual(expect.arrayContaining([
|
|
92
|
-
[
|
|
93
|
-
|
|
94
|
-
1
|
|
95
|
-
],
|
|
96
|
-
[
|
|
97
|
-
someTxHashThatThisPeerDidNotSee,
|
|
98
|
-
1
|
|
99
|
-
]
|
|
58
|
+
[await tx1.getTxHash(), 1],
|
|
59
|
+
[someTxHashThatThisPeerDidNotSee, 1],
|
|
100
60
|
]));
|
|
101
61
|
// reorg: both txs should now become available again
|
|
102
|
-
await pool.markMinedAsPending([
|
|
103
|
-
await tx1.getTxHash(),
|
|
104
|
-
someTxHashThatThisPeerDidNotSee
|
|
105
|
-
]);
|
|
62
|
+
await pool.markMinedAsPending([await tx1.getTxHash(), someTxHashThatThisPeerDidNotSee]);
|
|
106
63
|
await expect(pool.getMinedTxHashes()).resolves.toEqual([]);
|
|
107
|
-
await expect(pool.getPendingTxHashes()).resolves.toEqual([
|
|
108
|
-
await tx1.getTxHash()
|
|
109
|
-
]); // tx2 is not in the pool
|
|
64
|
+
await expect(pool.getPendingTxHashes()).resolves.toEqual([await tx1.getTxHash()]); // tx2 is not in the pool
|
|
110
65
|
});
|
|
111
|
-
it('Returns all transactions in the pool', async ()=>{
|
|
66
|
+
it('Returns all transactions in the pool', async () => {
|
|
112
67
|
const tx1 = await mockTx(1);
|
|
113
68
|
const tx2 = await mockTx(2);
|
|
114
69
|
const tx3 = await mockTx(3);
|
|
115
|
-
await pool.addTxs([
|
|
116
|
-
tx1,
|
|
117
|
-
tx2,
|
|
118
|
-
tx3
|
|
119
|
-
]);
|
|
70
|
+
await pool.addTxs([tx1, tx2, tx3]);
|
|
120
71
|
const poolTxs = await pool.getAllTxs();
|
|
121
72
|
expect(poolTxs).toHaveLength(3);
|
|
122
|
-
expect(poolTxs).toEqual(expect.arrayContaining([
|
|
123
|
-
tx1,
|
|
124
|
-
tx2,
|
|
125
|
-
tx3
|
|
126
|
-
]));
|
|
73
|
+
expect(poolTxs).toEqual(expect.arrayContaining([tx1, tx2, tx3]));
|
|
127
74
|
});
|
|
128
|
-
it('Returns all txHashes in the pool', async ()=>{
|
|
75
|
+
it('Returns all txHashes in the pool', async () => {
|
|
129
76
|
const tx1 = await mockTx(1);
|
|
130
77
|
const tx2 = await mockTx(2);
|
|
131
78
|
const tx3 = await mockTx(3);
|
|
132
|
-
await pool.addTxs([
|
|
133
|
-
tx1,
|
|
134
|
-
tx2,
|
|
135
|
-
tx3
|
|
136
|
-
]);
|
|
79
|
+
await pool.addTxs([tx1, tx2, tx3]);
|
|
137
80
|
const poolTxHashes = await pool.getAllTxHashes();
|
|
138
81
|
expect(poolTxHashes).toHaveLength(3);
|
|
139
|
-
expect(poolTxHashes).toEqual(expect.arrayContaining([
|
|
140
|
-
await tx1.getTxHash(),
|
|
141
|
-
await tx2.getTxHash(),
|
|
142
|
-
await tx3.getTxHash()
|
|
143
|
-
]));
|
|
82
|
+
expect(poolTxHashes).toEqual(expect.arrayContaining([await tx1.getTxHash(), await tx2.getTxHash(), await tx3.getTxHash()]));
|
|
144
83
|
});
|
|
145
|
-
it('Returns pending tx hashes sorted by priority', async ()=>{
|
|
146
|
-
const withPriorityFee = (tx, fee)=>{
|
|
84
|
+
it('Returns pending tx hashes sorted by priority', async () => {
|
|
85
|
+
const withPriorityFee = (tx, fee) => {
|
|
147
86
|
unfreeze(tx.data.constants.txContext.gasSettings).maxPriorityFeesPerGas = new GasFees(fee, fee);
|
|
148
87
|
return tx;
|
|
149
88
|
};
|
|
@@ -151,19 +90,10 @@ import { unfreeze } from '@aztec/foundation/types';
|
|
|
151
90
|
const tx2 = withPriorityFee(await mockTx(1), 100);
|
|
152
91
|
const tx3 = withPriorityFee(await mockTx(2), 200);
|
|
153
92
|
const tx4 = withPriorityFee(await mockTx(3), 3000);
|
|
154
|
-
await pool.addTxs([
|
|
155
|
-
tx1,
|
|
156
|
-
tx2,
|
|
157
|
-
tx3,
|
|
158
|
-
tx4
|
|
159
|
-
]);
|
|
93
|
+
await pool.addTxs([tx1, tx2, tx3, tx4]);
|
|
160
94
|
const poolTxHashes = await pool.getPendingTxHashes();
|
|
161
95
|
expect(poolTxHashes).toHaveLength(4);
|
|
162
|
-
expect(poolTxHashes).toEqual(await Promise.all([
|
|
163
|
-
tx4,
|
|
164
|
-
tx1,
|
|
165
|
-
tx3,
|
|
166
|
-
tx2
|
|
167
|
-
].map((tx)=>tx.getTxHash())));
|
|
96
|
+
expect(poolTxHashes).toEqual(await Promise.all([tx4, tx1, tx3, tx2].map(tx => tx.getTxHash())));
|
|
168
97
|
});
|
|
169
98
|
}
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF90ZXN0X3N1aXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sL3R4X3Bvb2xfdGVzdF9zdWl0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUluRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLFNBQXVCO0lBQ3BELElBQUksSUFBWSxDQUFDO0lBRWpCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsaUNBQWlDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDL0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLEVBQUUsQ0FBQztRQUUzQixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sQ0FBQyxNQUFNLE1BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEYsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDJCQUEyQixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ3pDLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxFQUFFLENBQUM7UUFFM0IsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN6QixNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUMsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzNFLE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUNqRixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNsQyxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM5QixNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUUsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyRixNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDcEYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDdEQsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFNUIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUVuRCxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN2RCxNQUFNLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDM0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLDZDQUE2QyxFQUFFLEtBQUssSUFBSSxFQUFFO1FBQzNELE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVCLDREQUE0RDtRQUM1RCxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLCtCQUErQixHQUFHLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlELE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDekIseUVBQXlFO1FBQ3pFLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLCtCQUErQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEYsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQzNDLE1BQU0sQ0FBQyxlQUFlLENBQUM7WUFDckIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUIsQ0FBQywrQkFBK0IsRUFBRSxDQUFDLENBQUM7U0FDckMsQ0FBQyxDQUNILENBQUM7UUFFRixvREFBb0Q7UUFDcEQsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxTQUFTLEVBQUUsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDLENBQUM7UUFDeEYsTUFBTSxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE1BQU0sTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QjtJQUM5RyxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNwRCxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbkMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDdkMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNoRCxNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1QixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDakQsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsT0FBTyxDQUMxQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUM5RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOENBQThDLEVBQUUsS0FBSyxJQUFJLEVBQUU7UUFDNUQsTUFBTSxlQUFlLEdBQUcsQ0FBQyxFQUFNLEVBQUUsR0FBVyxFQUFFLEVBQUU7WUFDOUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDaEcsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDLENBQUM7UUFFRixNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDbkQsTUFBTSxHQUFHLEdBQUcsZUFBZSxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxNQUFNLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNsRCxNQUFNLEdBQUcsR0FBRyxlQUFlLENBQUMsTUFBTSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkQsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4QyxNQUFNLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type BlockAttestation, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
|
+
import { type EpochCacheInterface } from '@aztec/epoch-cache';
|
|
3
|
+
export declare class AttestationValidator implements P2PValidator<BlockAttestation> {
|
|
4
|
+
private epochCache;
|
|
5
|
+
constructor(epochCache: EpochCacheInterface);
|
|
6
|
+
validate(message: BlockAttestation): Promise<PeerErrorSeverity | undefined>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=attestation_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,oBAAqB,YAAW,YAAY,CAAC,gBAAgB,CAAC;IACzE,OAAO,CAAC,UAAU,CAAsB;gBAE5B,UAAU,EAAE,mBAAmB;IAIrC,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAelF"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
2
|
export class AttestationValidator {
|
|
3
|
-
epochCache
|
|
4
|
-
constructor(epochCache){
|
|
3
|
+
constructor(epochCache) {
|
|
5
4
|
this.epochCache = epochCache;
|
|
6
5
|
}
|
|
7
6
|
async validate(message) {
|
|
@@ -11,9 +10,10 @@ export class AttestationValidator {
|
|
|
11
10
|
return PeerErrorSeverity.HighToleranceError;
|
|
12
11
|
}
|
|
13
12
|
const attester = await message.getSender();
|
|
14
|
-
if (!await this.epochCache.isInCommittee(attester)) {
|
|
13
|
+
if (!(await this.epochCache.isInCommittee(attester))) {
|
|
15
14
|
return PeerErrorSeverity.HighToleranceError;
|
|
16
15
|
}
|
|
17
16
|
return undefined;
|
|
18
17
|
}
|
|
19
18
|
}
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci9hdHRlc3RhdGlvbl92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25HLE1BQU0sT0FBTyxvQkFBb0I7SUFHL0IsWUFBWSxVQUErQjtRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUF5QjtRQUN0QyxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRXpGLE1BQU0sZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RixJQUFJLGdCQUFnQixLQUFLLFdBQVcsSUFBSSxnQkFBZ0IsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUN0RSxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1FBQzlDLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FBRyxNQUFNLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQyxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRCxPQUFPLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDO1FBQzlDLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0YifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
export * from './attestation_validator.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYXR0ZXN0YXRpb25fdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type BlockProposal, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
|
+
import { type EpochCacheInterface } from '@aztec/epoch-cache';
|
|
3
|
+
export declare class BlockProposalValidator implements P2PValidator<BlockProposal> {
|
|
4
|
+
private epochCache;
|
|
5
|
+
constructor(epochCache: EpochCacheInterface);
|
|
6
|
+
validate(block: BlockProposal): Promise<PeerErrorSeverity | undefined>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=block_proposal_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"block_proposal_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/block_proposal_validator/block_proposal_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,sBAAuB,YAAW,YAAY,CAAC,aAAa,CAAC;IACxE,OAAO,CAAC,UAAU,CAAsB;gBAE5B,UAAU,EAAE,mBAAmB;IAIrC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAkB7E"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
2
|
export class BlockProposalValidator {
|
|
3
|
-
epochCache
|
|
4
|
-
constructor(epochCache){
|
|
3
|
+
constructor(epochCache) {
|
|
5
4
|
this.epochCache = epochCache;
|
|
6
5
|
}
|
|
7
6
|
async validate(block) {
|
|
@@ -19,3 +18,4 @@ export class BlockProposalValidator {
|
|
|
19
18
|
return undefined;
|
|
20
19
|
}
|
|
21
20
|
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWxfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2Jsb2NrX3Byb3Bvc2FsX3ZhbGlkYXRvci9ibG9ja19wcm9wb3NhbF92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2hHLE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFBWSxVQUErQjtRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFvQjtRQUNqQyxNQUFNLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQzVELE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRXpELDZEQUE2RDtRQUM3RCxNQUFNLGdCQUFnQixHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEYsSUFBSSxnQkFBZ0IsS0FBSyxXQUFXLElBQUksZ0JBQWdCLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEUsT0FBTyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQztRQUM5QyxDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8saUJBQWlCLENBQUMsa0JBQWtCLENBQUM7UUFDOUMsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/block_proposal_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -1 +1,2 @@
|
|
|
1
1
|
export * from './block_proposal_validator.js';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYmxvY2tfcHJvcG9zYWxfdmFsaWRhdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsK0JBQStCLENBQUMifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type EpochProofQuote, type P2PValidator, PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
|
+
import { type EpochCacheInterface } from '@aztec/epoch-cache';
|
|
3
|
+
export declare class EpochProofQuoteValidator implements P2PValidator<EpochProofQuote> {
|
|
4
|
+
private epochCache;
|
|
5
|
+
constructor(epochCache: EpochCacheInterface);
|
|
6
|
+
validate(message: EpochProofQuote): Promise<PeerErrorSeverity | undefined>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=epoch_proof_quote_validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epoch_proof_quote_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/epoch_proof_quote_validator/epoch_proof_quote_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,qBAAa,wBAAyB,YAAW,YAAY,CAAC,eAAe,CAAC;IAC5E,OAAO,CAAC,UAAU,CAAsB;gBAE5B,UAAU,EAAE,mBAAmB;IAI3C,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,GAAG,SAAS,CAAC;CAW3E"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { PeerErrorSeverity } from '@aztec/circuit-types';
|
|
2
2
|
export class EpochProofQuoteValidator {
|
|
3
|
-
epochCache
|
|
4
|
-
constructor(epochCache){
|
|
3
|
+
constructor(epochCache) {
|
|
5
4
|
this.epochCache = epochCache;
|
|
6
5
|
}
|
|
7
6
|
validate(message) {
|
|
@@ -14,3 +13,4 @@ export class EpochProofQuoteValidator {
|
|
|
14
13
|
return Promise.resolve(undefined);
|
|
15
14
|
}
|
|
16
15
|
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfcHJvb2ZfcXVvdGVfdmFsaWRhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL2Vwb2NoX3Byb29mX3F1b3RlX3ZhbGlkYXRvci9lcG9jaF9wcm9vZl9xdW90ZV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQyxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR2xHLE1BQU0sT0FBTyx3QkFBd0I7SUFHbkMsWUFBWSxVQUErQjtRQUN6QyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUMvQixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFFdkQsNERBQTREO1FBQzVELE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2xELElBQUksWUFBWSxLQUFLLEtBQUssSUFBSSxZQUFZLEtBQUssS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzFELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/epoch_proof_quote_validator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC"}
|