@aztec/p2p 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.1
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 +1 -1
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +14 -4
- package/dest/client/factory.d.ts +2 -1
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +8 -3
- package/dest/client/index.d.ts +1 -1
- package/dest/client/interface.d.ts +8 -6
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +11 -34
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +68 -46
- package/dest/config.d.ts +65 -56
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +21 -5
- package/dest/enr/generate-enr.d.ts +2 -2
- package/dest/enr/generate-enr.d.ts.map +1 -1
- package/dest/enr/generate-enr.js +1 -1
- package/dest/enr/index.d.ts +1 -1
- package/dest/errors/attestation-pool.error.d.ts +7 -0
- package/dest/errors/attestation-pool.error.d.ts.map +1 -0
- package/dest/errors/attestation-pool.error.js +12 -0
- package/dest/errors/reqresp.error.d.ts +1 -1
- package/dest/errors/reqresp.error.d.ts.map +1 -1
- package/dest/index.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +43 -6
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +72 -46
- package/dest/mem_pools/attestation_pool/index.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +15 -6
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +73 -18
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +13 -6
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +69 -11
- package/dest/mem_pools/attestation_pool/mocks.d.ts +226 -5
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +9 -7
- package/dest/mem_pools/index.d.ts +1 -1
- package/dest/mem_pools/instrumentation.d.ts +3 -1
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +11 -2
- package/dest/mem_pools/interface.d.ts +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +17 -40
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +103 -44
- package/dest/mem_pools/tx_pool/index.d.ts +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +19 -6
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +88 -9
- package/dest/mem_pools/tx_pool/priority.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +21 -6
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +132 -7
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +4 -2
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +32 -5
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +20 -0
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +67 -0
- package/dest/msg_validators/attestation_validator/index.d.ts +2 -1
- package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/index.js +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +5 -2
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +56 -9
- package/dest/msg_validators/block_proposal_validator/index.d.ts +1 -1
- package/dest/msg_validators/index.d.ts +1 -1
- package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts +1 -1
- package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +1 -1
- package/dest/msg_validators/tx_validator/archive_cache.d.ts +2 -2
- package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +2 -2
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.js +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.js +1 -1
- package/dest/msg_validators/tx_validator/factory.d.ts +4 -3
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +11 -5
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.d.ts +2 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +3 -6
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.js +6 -24
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.js +3 -1
- package/dest/msg_validators/tx_validator/test_utils.d.ts +2 -2
- package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +13 -0
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/timestamp_validator.js +32 -0
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
- package/dest/services/data_store.d.ts +1 -1
- package/dest/services/data_store.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.d.ts +3 -3
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +2 -2
- package/dest/services/dummy_service.d.ts +2 -2
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/encoding.d.ts +25 -4
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +74 -6
- package/dest/services/gossipsub/scoring.d.ts +1 -1
- package/dest/services/index.d.ts +1 -1
- package/dest/services/libp2p/instrumentation.d.ts +3 -1
- package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
- package/dest/services/libp2p/instrumentation.js +9 -2
- package/dest/services/libp2p/libp2p_service.d.ts +29 -69
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +375 -133
- package/dest/services/peer-manager/interface.d.ts +1 -1
- package/dest/services/peer-manager/metrics.d.ts +3 -1
- package/dest/services/peer-manager/metrics.d.ts.map +1 -1
- package/dest/services/peer-manager/metrics.js +11 -0
- package/dest/services/peer-manager/peer_manager.d.ts +1 -32
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +27 -12
- package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +40 -2
- package/dest/services/reqresp/config.d.ts +1 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +1 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +1 -4
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/index.d.ts +1 -1
- package/dest/services/reqresp/interface.d.ts +2 -11
- package/dest/services/reqresp/interface.d.ts.map +1 -1
- package/dest/services/reqresp/interface.js +1 -18
- package/dest/services/reqresp/metrics.d.ts +1 -1
- package/dest/services/reqresp/metrics.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/auth.d.ts +2 -2
- package/dest/services/reqresp/protocols/auth.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/auth.js +2 -2
- package/dest/services/reqresp/protocols/block.d.ts +1 -1
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block.js +3 -2
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +1 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +4 -6
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +1 -1
- package/dest/services/reqresp/protocols/block_txs/index.d.ts +1 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts +1 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/index.d.ts +1 -1
- package/dest/services/reqresp/protocols/ping.d.ts +1 -1
- package/dest/services/reqresp/protocols/status.d.ts +6 -5
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/status.js +4 -3
- package/dest/services/reqresp/protocols/tx.d.ts +1 -1
- package/dest/services/reqresp/rate-limiter/index.d.ts +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +2 -2
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
- package/dest/services/reqresp/reqresp.d.ts +1 -41
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +14 -10
- package/dest/services/reqresp/status.d.ts +2 -2
- package/dest/services/reqresp/status.d.ts.map +1 -1
- package/dest/services/service.d.ts +2 -2
- package/dest/services/service.d.ts.map +1 -1
- package/dest/services/tx_collection/config.d.ts +1 -1
- package/dest/services/tx_collection/fast_tx_collection.d.ts +4 -9
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/fast_tx_collection.js +6 -1
- package/dest/services/tx_collection/index.d.ts +1 -1
- package/dest/services/tx_collection/instrumentation.d.ts +1 -1
- package/dest/services/tx_collection/instrumentation.d.ts.map +1 -1
- package/dest/services/tx_collection/slow_tx_collection.d.ts +6 -7
- package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/slow_tx_collection.js +2 -1
- package/dest/services/tx_collection/tx_collection.d.ts +12 -11
- package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection.js +3 -2
- package/dest/services/tx_collection/tx_collection_sink.d.ts +3 -3
- package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection_sink.js +34 -4
- package/dest/services/tx_collection/tx_source.d.ts +1 -1
- package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_source.js +2 -2
- package/dest/services/tx_provider.d.ts +5 -4
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +8 -4
- package/dest/services/tx_provider_instrumentation.d.ts +1 -1
- package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts +1 -1
- package/dest/test-helpers/get-ports.d.ts +1 -1
- package/dest/test-helpers/get-ports.d.ts.map +1 -1
- package/dest/test-helpers/index.d.ts +1 -1
- package/dest/test-helpers/make-enrs.d.ts +1 -1
- package/dest/test-helpers/make-enrs.js +1 -1
- package/dest/test-helpers/make-test-p2p-clients.d.ts +2 -2
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.d.ts +4 -4
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
- package/dest/test-helpers/mock-tx-helpers.d.ts +12 -0
- package/dest/test-helpers/mock-tx-helpers.d.ts.map +1 -0
- package/dest/test-helpers/mock-tx-helpers.js +19 -0
- package/dest/test-helpers/reqresp-nodes.d.ts +2 -2
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +4 -3
- package/dest/testbench/p2p_client_testbench_worker.d.ts +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +16 -9
- package/dest/testbench/parse_log_file.d.ts +1 -1
- package/dest/testbench/testbench.d.ts +1 -1
- package/dest/testbench/testbench.js +2 -2
- package/dest/testbench/worker_client_manager.d.ts +1 -1
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/types/index.d.ts +1 -1
- package/dest/util.d.ts +2 -1
- package/dest/util.d.ts.map +1 -1
- package/dest/util.js +11 -2
- package/dest/versioning.d.ts +2 -2
- package/dest/versioning.d.ts.map +1 -1
- package/dest/versioning.js +2 -2
- package/package.json +21 -21
- package/src/bootstrap/bootstrap.ts +15 -4
- package/src/client/factory.ts +17 -3
- package/src/client/interface.ts +8 -5
- package/src/client/p2p_client.ts +88 -74
- package/src/config.ts +33 -6
- package/src/enr/generate-enr.ts +1 -1
- package/src/errors/attestation-pool.error.ts +13 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +46 -5
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +89 -48
- package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +107 -24
- package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +98 -19
- package/src/mem_pools/attestation_pool/mocks.ts +11 -8
- package/src/mem_pools/instrumentation.ts +13 -0
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +116 -48
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +98 -12
- package/src/mem_pools/tx_pool/tx_pool.ts +20 -5
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +115 -7
- package/src/msg_validators/attestation_validator/attestation_validator.ts +41 -6
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +91 -0
- package/src/msg_validators/attestation_validator/index.ts +1 -0
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +63 -18
- package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
- package/src/msg_validators/tx_validator/block_header_validator.ts +2 -2
- package/src/msg_validators/tx_validator/double_spend_validator.ts +1 -1
- package/src/msg_validators/tx_validator/factory.ts +13 -6
- package/src/msg_validators/tx_validator/index.ts +1 -0
- package/src/msg_validators/tx_validator/metadata_validator.ts +8 -42
- package/src/msg_validators/tx_validator/phases_validator.ts +3 -1
- package/src/msg_validators/tx_validator/test_utils.ts +1 -1
- package/src/msg_validators/tx_validator/timestamp_validator.ts +47 -0
- package/src/services/discv5/discV5_service.ts +2 -2
- package/src/services/dummy_service.ts +1 -1
- package/src/services/encoding.ts +81 -6
- package/src/services/libp2p/instrumentation.ts +10 -1
- package/src/services/libp2p/libp2p_service.ts +427 -157
- package/src/services/peer-manager/metrics.ts +10 -0
- package/src/services/peer-manager/peer_manager.ts +22 -14
- package/src/services/peer-manager/peer_scoring.ts +46 -3
- package/src/services/reqresp/interface.ts +1 -22
- package/src/services/reqresp/protocols/auth.ts +2 -2
- package/src/services/reqresp/protocols/block.ts +3 -2
- package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +1 -1
- package/src/services/reqresp/protocols/status.ts +9 -8
- package/src/services/reqresp/reqresp.ts +15 -11
- package/src/services/service.ts +1 -1
- package/src/services/tx_collection/fast_tx_collection.ts +8 -5
- package/src/services/tx_collection/slow_tx_collection.ts +7 -6
- package/src/services/tx_collection/tx_collection.ts +12 -10
- package/src/services/tx_collection/tx_collection_sink.ts +34 -3
- package/src/services/tx_collection/tx_source.ts +2 -2
- package/src/services/tx_provider.ts +9 -7
- package/src/test-helpers/make-enrs.ts +1 -1
- package/src/test-helpers/mock-tx-helpers.ts +24 -0
- package/src/test-helpers/reqresp-nodes.ts +3 -2
- package/src/testbench/p2p_client_testbench_worker.ts +12 -5
- package/src/testbench/testbench.ts +2 -2
- package/src/util.ts +12 -2
- package/src/versioning.ts +3 -3
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
3
3
|
import { PoolInstrumentation, PoolName } from '../instrumentation.js';
|
|
4
|
+
import { ATTESTATION_CAP_BUFFER, MAX_PROPOSALS_PER_SLOT } from './kv_attestation_pool.js';
|
|
4
5
|
export class InMemoryAttestationPool {
|
|
5
6
|
log;
|
|
6
7
|
metrics;
|
|
8
|
+
// eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
|
|
7
9
|
attestations;
|
|
8
10
|
proposals;
|
|
9
11
|
constructor(telemetry = getTelemetryClient(), log = createLogger('p2p:attestation_pool')){
|
|
@@ -39,14 +41,23 @@ export class InMemoryAttestationPool {
|
|
|
39
41
|
// Perf: order and group by slot before insertion
|
|
40
42
|
const slotNumber = attestation.payload.header.slotNumber;
|
|
41
43
|
const proposalId = attestation.archive.toString();
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
+
const sender = attestation.getSender();
|
|
45
|
+
// Skip attestations with invalid signatures
|
|
46
|
+
if (!sender) {
|
|
47
|
+
this.log.warn(`Skipping attestation with invalid signature for slot ${slotNumber}`, {
|
|
48
|
+
signature: attestation.signature.toString(),
|
|
49
|
+
slotNumber,
|
|
50
|
+
proposalId
|
|
51
|
+
});
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
const slotAttestationMap = getSlotOrDefault(this.attestations, slotNumber);
|
|
44
55
|
const proposalAttestationMap = getProposalOrDefault(slotAttestationMap, proposalId);
|
|
45
|
-
proposalAttestationMap.set(
|
|
46
|
-
this.log.verbose(`Added attestation for slot ${slotNumber
|
|
56
|
+
proposalAttestationMap.set(sender.toString(), attestation);
|
|
57
|
+
this.log.verbose(`Added attestation for slot ${slotNumber} from ${sender}`, {
|
|
47
58
|
signature: attestation.signature.toString(),
|
|
48
59
|
slotNumber,
|
|
49
|
-
address,
|
|
60
|
+
address: sender,
|
|
50
61
|
proposalId
|
|
51
62
|
});
|
|
52
63
|
}
|
|
@@ -108,23 +119,46 @@ export class InMemoryAttestationPool {
|
|
|
108
119
|
deleteAttestations(attestations) {
|
|
109
120
|
for (const attestation of attestations){
|
|
110
121
|
const slotNumber = attestation.payload.header.slotNumber;
|
|
111
|
-
const slotAttestationMap = this.attestations.get(slotNumber
|
|
122
|
+
const slotAttestationMap = this.attestations.get(slotNumber);
|
|
112
123
|
if (slotAttestationMap) {
|
|
113
124
|
const proposalId = attestation.archive.toString();
|
|
114
125
|
const proposalAttestationMap = getProposalOrDefault(slotAttestationMap, proposalId);
|
|
115
126
|
if (proposalAttestationMap) {
|
|
116
|
-
const
|
|
117
|
-
|
|
118
|
-
|
|
127
|
+
const sender = attestation.getSender();
|
|
128
|
+
// Skip attestations with invalid signatures
|
|
129
|
+
if (!sender) {
|
|
130
|
+
this.log.warn(`Skipping deletion of attestation with invalid signature for slot ${slotNumber}`);
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
proposalAttestationMap.delete(sender.toString());
|
|
134
|
+
this.log.debug(`Deleted attestation for slot ${slotNumber} from ${sender}`);
|
|
119
135
|
}
|
|
120
136
|
}
|
|
121
137
|
}
|
|
122
138
|
return Promise.resolve();
|
|
123
139
|
}
|
|
140
|
+
hasAttestation(attestation) {
|
|
141
|
+
const slotNumber = attestation.payload.header.slotNumber;
|
|
142
|
+
const proposalId = attestation.archive.toString();
|
|
143
|
+
const sender = attestation.getSender();
|
|
144
|
+
// Attestations with invalid signatures are never in the pool
|
|
145
|
+
if (!sender) {
|
|
146
|
+
return Promise.resolve(false);
|
|
147
|
+
}
|
|
148
|
+
const slotAttestationMap = this.attestations.get(slotNumber);
|
|
149
|
+
if (!slotAttestationMap) {
|
|
150
|
+
return Promise.resolve(false);
|
|
151
|
+
}
|
|
152
|
+
const proposalAttestationMap = slotAttestationMap.get(proposalId);
|
|
153
|
+
if (!proposalAttestationMap) {
|
|
154
|
+
return Promise.resolve(false);
|
|
155
|
+
}
|
|
156
|
+
return Promise.resolve(proposalAttestationMap.has(sender.toString()));
|
|
157
|
+
}
|
|
124
158
|
addBlockProposal(blockProposal) {
|
|
125
159
|
// We initialize slot-proposal mapping if it does not exist
|
|
126
160
|
// This is important to ensure we can delete this proposal if there were not attestations for it
|
|
127
|
-
const slotProposalMapping = getSlotOrDefault(this.attestations, blockProposal.slotNumber
|
|
161
|
+
const slotProposalMapping = getSlotOrDefault(this.attestations, blockProposal.slotNumber);
|
|
128
162
|
slotProposalMapping.set(blockProposal.payload.archive.toString(), new Map());
|
|
129
163
|
this.proposals.set(blockProposal.payload.archive.toString(), blockProposal);
|
|
130
164
|
return Promise.resolve();
|
|
@@ -132,6 +166,29 @@ export class InMemoryAttestationPool {
|
|
|
132
166
|
getBlockProposal(id) {
|
|
133
167
|
return Promise.resolve(this.proposals.get(id));
|
|
134
168
|
}
|
|
169
|
+
hasBlockProposal(idOrProposal) {
|
|
170
|
+
const id = typeof idOrProposal === 'string' ? idOrProposal : idOrProposal.payload.archive.toString();
|
|
171
|
+
return Promise.resolve(this.proposals.has(id));
|
|
172
|
+
}
|
|
173
|
+
hasReachedProposalCap(slot) {
|
|
174
|
+
const slotAttestationMap = this.attestations.get(slot);
|
|
175
|
+
const proposalCount = slotAttestationMap?.size ?? 0;
|
|
176
|
+
return Promise.resolve(proposalCount >= MAX_PROPOSALS_PER_SLOT);
|
|
177
|
+
}
|
|
178
|
+
hasReachedAttestationCap(slot, proposalId, committeeSize) {
|
|
179
|
+
const limit = committeeSize + ATTESTATION_CAP_BUFFER;
|
|
180
|
+
const count = this.attestations.get(slot)?.get(proposalId)?.size ?? 0;
|
|
181
|
+
return Promise.resolve(limit <= 0 || count >= limit);
|
|
182
|
+
}
|
|
183
|
+
async canAddProposal(block) {
|
|
184
|
+
return this.proposals.has(block.archive.toString()) || !await this.hasReachedProposalCap(block.slotNumber);
|
|
185
|
+
}
|
|
186
|
+
async canAddAttestation(attestation, committeeSize) {
|
|
187
|
+
const sender = attestation.getSender();
|
|
188
|
+
const slot = attestation.payload.header.slotNumber;
|
|
189
|
+
const pid = attestation.archive.toString();
|
|
190
|
+
return !!sender && ((this.attestations.get(slot)?.get(pid)?.has(sender.toString()) ?? false) || !await this.hasReachedAttestationCap(slot, pid, committeeSize));
|
|
191
|
+
}
|
|
135
192
|
}
|
|
136
193
|
/**
|
|
137
194
|
* Get Slot or Default
|
|
@@ -140,7 +197,8 @@ export class InMemoryAttestationPool {
|
|
|
140
197
|
* @param map - The map to fetch from
|
|
141
198
|
* @param slot - The slot to fetch
|
|
142
199
|
* @returns The slot mapping
|
|
143
|
-
*/ function getSlotOrDefault(
|
|
200
|
+
*/ function getSlotOrDefault(// eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
|
|
201
|
+
map, slot) {
|
|
144
202
|
if (!map.has(slot)) {
|
|
145
203
|
map.set(slot, new Map());
|
|
146
204
|
}
|
|
@@ -1,13 +1,234 @@
|
|
|
1
|
-
import type { Secp256k1Signer } from '@aztec/foundation/crypto';
|
|
2
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Secp256k1Signer } from '@aztec/foundation/crypto/secp256k1-signer';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BlockAttestation } from '@aztec/stdlib/p2p';
|
|
4
|
-
import { type LocalAccount } from 'viem/accounts';
|
|
5
4
|
/** Generate Account
|
|
6
5
|
*
|
|
7
6
|
* Create a random signer
|
|
8
7
|
* @returns A random viem signer
|
|
9
8
|
*/
|
|
10
|
-
export declare const generateAccount: () =>
|
|
9
|
+
export declare const generateAccount: () => {
|
|
10
|
+
address: `0x${string}`;
|
|
11
|
+
nonceManager?: import("viem/accounts").NonceManager | undefined;
|
|
12
|
+
sign?: ((parameters: {
|
|
13
|
+
hash: `0x${string}`;
|
|
14
|
+
}) => Promise<`0x${string}`>) | undefined;
|
|
15
|
+
signAuthorization?: ((parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>) | undefined;
|
|
16
|
+
signMessage: ({ message }: {
|
|
17
|
+
message: import("viem").SignableMessage;
|
|
18
|
+
}) => Promise<`0x${string}`>;
|
|
19
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
20
|
+
serializer?: serializer | undefined;
|
|
21
|
+
} | undefined) => Promise<`0x${string}`>;
|
|
22
|
+
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
23
|
+
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
24
|
+
[x: `address[${string}]`]: undefined;
|
|
25
|
+
[x: `bool[${string}]`]: undefined;
|
|
26
|
+
[x: `bytes10[${string}]`]: undefined;
|
|
27
|
+
[x: `bytes11[${string}]`]: undefined;
|
|
28
|
+
[x: `bytes12[${string}]`]: undefined;
|
|
29
|
+
[x: `bytes13[${string}]`]: undefined;
|
|
30
|
+
[x: `bytes14[${string}]`]: undefined;
|
|
31
|
+
[x: `bytes15[${string}]`]: undefined;
|
|
32
|
+
[x: `bytes16[${string}]`]: undefined;
|
|
33
|
+
[x: `bytes17[${string}]`]: undefined;
|
|
34
|
+
[x: `bytes18[${string}]`]: undefined;
|
|
35
|
+
[x: `bytes19[${string}]`]: undefined;
|
|
36
|
+
[x: `bytes1[${string}]`]: undefined;
|
|
37
|
+
[x: `bytes20[${string}]`]: undefined;
|
|
38
|
+
[x: `bytes21[${string}]`]: undefined;
|
|
39
|
+
[x: `bytes22[${string}]`]: undefined;
|
|
40
|
+
[x: `bytes23[${string}]`]: undefined;
|
|
41
|
+
[x: `bytes24[${string}]`]: undefined;
|
|
42
|
+
[x: `bytes25[${string}]`]: undefined;
|
|
43
|
+
[x: `bytes26[${string}]`]: undefined;
|
|
44
|
+
[x: `bytes27[${string}]`]: undefined;
|
|
45
|
+
[x: `bytes28[${string}]`]: undefined;
|
|
46
|
+
[x: `bytes29[${string}]`]: undefined;
|
|
47
|
+
[x: `bytes2[${string}]`]: undefined;
|
|
48
|
+
[x: `bytes30[${string}]`]: undefined;
|
|
49
|
+
[x: `bytes31[${string}]`]: undefined;
|
|
50
|
+
[x: `bytes32[${string}]`]: undefined;
|
|
51
|
+
[x: `bytes3[${string}]`]: undefined;
|
|
52
|
+
[x: `bytes4[${string}]`]: undefined;
|
|
53
|
+
[x: `bytes5[${string}]`]: undefined;
|
|
54
|
+
[x: `bytes6[${string}]`]: undefined;
|
|
55
|
+
[x: `bytes7[${string}]`]: undefined;
|
|
56
|
+
[x: `bytes8[${string}]`]: undefined;
|
|
57
|
+
[x: `bytes9[${string}]`]: undefined;
|
|
58
|
+
[x: `bytes[${string}]`]: undefined;
|
|
59
|
+
[x: `function[${string}]`]: undefined;
|
|
60
|
+
[x: `int104[${string}]`]: undefined;
|
|
61
|
+
[x: `int112[${string}]`]: undefined;
|
|
62
|
+
[x: `int120[${string}]`]: undefined;
|
|
63
|
+
[x: `int128[${string}]`]: undefined;
|
|
64
|
+
[x: `int136[${string}]`]: undefined;
|
|
65
|
+
[x: `int144[${string}]`]: undefined;
|
|
66
|
+
[x: `int152[${string}]`]: undefined;
|
|
67
|
+
[x: `int160[${string}]`]: undefined;
|
|
68
|
+
[x: `int168[${string}]`]: undefined;
|
|
69
|
+
[x: `int16[${string}]`]: undefined;
|
|
70
|
+
[x: `int176[${string}]`]: undefined;
|
|
71
|
+
[x: `int184[${string}]`]: undefined;
|
|
72
|
+
[x: `int192[${string}]`]: undefined;
|
|
73
|
+
[x: `int200[${string}]`]: undefined;
|
|
74
|
+
[x: `int208[${string}]`]: undefined;
|
|
75
|
+
[x: `int216[${string}]`]: undefined;
|
|
76
|
+
[x: `int224[${string}]`]: undefined;
|
|
77
|
+
[x: `int232[${string}]`]: undefined;
|
|
78
|
+
[x: `int240[${string}]`]: undefined;
|
|
79
|
+
[x: `int248[${string}]`]: undefined;
|
|
80
|
+
[x: `int24[${string}]`]: undefined;
|
|
81
|
+
[x: `int256[${string}]`]: undefined;
|
|
82
|
+
[x: `int32[${string}]`]: undefined;
|
|
83
|
+
[x: `int40[${string}]`]: undefined;
|
|
84
|
+
[x: `int48[${string}]`]: undefined;
|
|
85
|
+
[x: `int56[${string}]`]: undefined;
|
|
86
|
+
[x: `int64[${string}]`]: undefined;
|
|
87
|
+
[x: `int72[${string}]`]: undefined;
|
|
88
|
+
[x: `int80[${string}]`]: undefined;
|
|
89
|
+
[x: `int88[${string}]`]: undefined;
|
|
90
|
+
[x: `int8[${string}]`]: undefined;
|
|
91
|
+
[x: `int96[${string}]`]: undefined;
|
|
92
|
+
[x: `int[${string}]`]: undefined;
|
|
93
|
+
[x: `string[${string}]`]: undefined;
|
|
94
|
+
[x: `uint104[${string}]`]: undefined;
|
|
95
|
+
[x: `uint112[${string}]`]: undefined;
|
|
96
|
+
[x: `uint120[${string}]`]: undefined;
|
|
97
|
+
[x: `uint128[${string}]`]: undefined;
|
|
98
|
+
[x: `uint136[${string}]`]: undefined;
|
|
99
|
+
[x: `uint144[${string}]`]: undefined;
|
|
100
|
+
[x: `uint152[${string}]`]: undefined;
|
|
101
|
+
[x: `uint160[${string}]`]: undefined;
|
|
102
|
+
[x: `uint168[${string}]`]: undefined;
|
|
103
|
+
[x: `uint16[${string}]`]: undefined;
|
|
104
|
+
[x: `uint176[${string}]`]: undefined;
|
|
105
|
+
[x: `uint184[${string}]`]: undefined;
|
|
106
|
+
[x: `uint192[${string}]`]: undefined;
|
|
107
|
+
[x: `uint200[${string}]`]: undefined;
|
|
108
|
+
[x: `uint208[${string}]`]: undefined;
|
|
109
|
+
[x: `uint216[${string}]`]: undefined;
|
|
110
|
+
[x: `uint224[${string}]`]: undefined;
|
|
111
|
+
[x: `uint232[${string}]`]: undefined;
|
|
112
|
+
[x: `uint240[${string}]`]: undefined;
|
|
113
|
+
[x: `uint248[${string}]`]: undefined;
|
|
114
|
+
[x: `uint24[${string}]`]: undefined;
|
|
115
|
+
[x: `uint256[${string}]`]: undefined;
|
|
116
|
+
[x: `uint32[${string}]`]: undefined;
|
|
117
|
+
[x: `uint40[${string}]`]: undefined;
|
|
118
|
+
[x: `uint48[${string}]`]: undefined;
|
|
119
|
+
[x: `uint56[${string}]`]: undefined;
|
|
120
|
+
[x: `uint64[${string}]`]: undefined;
|
|
121
|
+
[x: `uint72[${string}]`]: undefined;
|
|
122
|
+
[x: `uint80[${string}]`]: undefined;
|
|
123
|
+
[x: `uint88[${string}]`]: undefined;
|
|
124
|
+
[x: `uint8[${string}]`]: undefined;
|
|
125
|
+
[x: `uint96[${string}]`]: undefined;
|
|
126
|
+
[x: `uint[${string}]`]: undefined;
|
|
127
|
+
address?: undefined;
|
|
128
|
+
bool?: undefined;
|
|
129
|
+
bytes?: undefined;
|
|
130
|
+
bytes1?: undefined;
|
|
131
|
+
bytes10?: undefined;
|
|
132
|
+
bytes11?: undefined;
|
|
133
|
+
bytes12?: undefined;
|
|
134
|
+
bytes13?: undefined;
|
|
135
|
+
bytes14?: undefined;
|
|
136
|
+
bytes15?: undefined;
|
|
137
|
+
bytes16?: undefined;
|
|
138
|
+
bytes17?: undefined;
|
|
139
|
+
bytes18?: undefined;
|
|
140
|
+
bytes19?: undefined;
|
|
141
|
+
bytes2?: undefined;
|
|
142
|
+
bytes20?: undefined;
|
|
143
|
+
bytes21?: undefined;
|
|
144
|
+
bytes22?: undefined;
|
|
145
|
+
bytes23?: undefined;
|
|
146
|
+
bytes24?: undefined;
|
|
147
|
+
bytes25?: undefined;
|
|
148
|
+
bytes26?: undefined;
|
|
149
|
+
bytes27?: undefined;
|
|
150
|
+
bytes28?: undefined;
|
|
151
|
+
bytes29?: undefined;
|
|
152
|
+
bytes3?: undefined;
|
|
153
|
+
bytes30?: undefined;
|
|
154
|
+
bytes31?: undefined;
|
|
155
|
+
bytes32?: undefined;
|
|
156
|
+
bytes4?: undefined;
|
|
157
|
+
bytes5?: undefined;
|
|
158
|
+
bytes6?: undefined;
|
|
159
|
+
bytes7?: undefined;
|
|
160
|
+
bytes8?: undefined;
|
|
161
|
+
bytes9?: undefined;
|
|
162
|
+
int104?: undefined;
|
|
163
|
+
int112?: undefined;
|
|
164
|
+
int120?: undefined;
|
|
165
|
+
int128?: undefined;
|
|
166
|
+
int136?: undefined;
|
|
167
|
+
int144?: undefined;
|
|
168
|
+
int152?: undefined;
|
|
169
|
+
int16?: undefined;
|
|
170
|
+
int160?: undefined;
|
|
171
|
+
int168?: undefined;
|
|
172
|
+
int176?: undefined;
|
|
173
|
+
int184?: undefined;
|
|
174
|
+
int192?: undefined;
|
|
175
|
+
int200?: undefined;
|
|
176
|
+
int208?: undefined;
|
|
177
|
+
int216?: undefined;
|
|
178
|
+
int224?: undefined;
|
|
179
|
+
int232?: undefined;
|
|
180
|
+
int24?: undefined;
|
|
181
|
+
int240?: undefined;
|
|
182
|
+
int248?: undefined;
|
|
183
|
+
int256?: undefined;
|
|
184
|
+
int32?: undefined;
|
|
185
|
+
int40?: undefined;
|
|
186
|
+
int48?: undefined;
|
|
187
|
+
int56?: undefined;
|
|
188
|
+
int64?: undefined;
|
|
189
|
+
int72?: undefined;
|
|
190
|
+
int8?: undefined;
|
|
191
|
+
int80?: undefined;
|
|
192
|
+
int88?: undefined;
|
|
193
|
+
int96?: undefined;
|
|
194
|
+
string?: undefined;
|
|
195
|
+
uint104?: undefined;
|
|
196
|
+
uint112?: undefined;
|
|
197
|
+
uint120?: undefined;
|
|
198
|
+
uint128?: undefined;
|
|
199
|
+
uint136?: undefined;
|
|
200
|
+
uint144?: undefined;
|
|
201
|
+
uint152?: undefined;
|
|
202
|
+
uint16?: undefined;
|
|
203
|
+
uint160?: undefined;
|
|
204
|
+
uint168?: undefined;
|
|
205
|
+
uint176?: undefined;
|
|
206
|
+
uint184?: undefined;
|
|
207
|
+
uint192?: undefined;
|
|
208
|
+
uint200?: undefined;
|
|
209
|
+
uint208?: undefined;
|
|
210
|
+
uint216?: undefined;
|
|
211
|
+
uint224?: undefined;
|
|
212
|
+
uint232?: undefined;
|
|
213
|
+
uint24?: undefined;
|
|
214
|
+
uint240?: undefined;
|
|
215
|
+
uint248?: undefined;
|
|
216
|
+
uint256?: undefined;
|
|
217
|
+
uint32?: undefined;
|
|
218
|
+
uint40?: undefined;
|
|
219
|
+
uint48?: undefined;
|
|
220
|
+
uint56?: undefined;
|
|
221
|
+
uint64?: undefined;
|
|
222
|
+
uint72?: undefined;
|
|
223
|
+
uint8?: undefined;
|
|
224
|
+
uint80?: undefined;
|
|
225
|
+
uint88?: undefined;
|
|
226
|
+
uint96?: undefined;
|
|
227
|
+
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
228
|
+
publicKey: `0x${string}`;
|
|
229
|
+
source: string;
|
|
230
|
+
type: "local";
|
|
231
|
+
};
|
|
11
232
|
/** Mock Attestation
|
|
12
233
|
*
|
|
13
234
|
* @param signer A viem signer to create a signature
|
|
@@ -15,4 +236,4 @@ export declare const generateAccount: () => LocalAccount;
|
|
|
15
236
|
* @returns A Block Attestation
|
|
16
237
|
*/
|
|
17
238
|
export declare const mockAttestation: (signer: Secp256k1Signer, slot?: number, archive?: Fr) => BlockAttestation;
|
|
18
|
-
//# sourceMappingURL=
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvYXR0ZXN0YXRpb25fcG9vbC9tb2Nrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNqRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLG1CQUFtQixDQUFDO0FBSzNCOzs7O0dBSUc7QUFDSCxlQUFPLE1BQU0sZUFBZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBRzNCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILGVBQU8sTUFBTSxlQUFlLDRFQWdCM0IsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/attestation_pool/mocks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EACL,gBAAgB,EAIjB,MAAM,mBAAmB,CAAC;AAK3B;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG3B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe,4EAgB3B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BlockAttestation, ConsensusPayload, SignatureDomainSeparator, getHashedSignaturePayloadEthSignedMessage } from '@aztec/stdlib/p2p';
|
|
3
|
-
import {
|
|
3
|
+
import { makeL2BlockHeader } from '@aztec/stdlib/testing';
|
|
4
4
|
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
5
5
|
/** Generate Account
|
|
6
6
|
*
|
|
@@ -17,9 +17,11 @@ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
|
17
17
|
* @returns A Block Attestation
|
|
18
18
|
*/ export const mockAttestation = (signer, slot = 0, archive = Fr.random())=>{
|
|
19
19
|
// Use arbitrary numbers for all other than slot
|
|
20
|
-
const header =
|
|
21
|
-
const payload = new ConsensusPayload(header.
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
|
|
20
|
+
const header = makeL2BlockHeader(1, 2, slot);
|
|
21
|
+
const payload = new ConsensusPayload(header.toCheckpointHeader(), archive);
|
|
22
|
+
const attestationHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockAttestation);
|
|
23
|
+
const attestationSignature = signer.sign(attestationHash);
|
|
24
|
+
const proposalHash = getHashedSignaturePayloadEthSignedMessage(payload, SignatureDomainSeparator.blockProposal);
|
|
25
|
+
const proposerSignature = signer.sign(proposalHash);
|
|
26
|
+
return new BlockAttestation(payload, attestationSignature, proposerSignature);
|
|
25
27
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { type AttestationPool } from './attestation_pool/attestation_pool.js';
|
|
2
2
|
export { type MemPools } from './interface.js';
|
|
3
3
|
export { type TxPool } from './tx_pool/tx_pool.js';
|
|
4
|
-
//# sourceMappingURL=
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tZW1fcG9vbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUMifQ==
|
|
@@ -14,6 +14,7 @@ export declare class PoolInstrumentation<PoolObject extends Gossipable> {
|
|
|
14
14
|
private poolStats;
|
|
15
15
|
/** The number of txs in the mempool */
|
|
16
16
|
private objectsInMempool;
|
|
17
|
+
private addObjectCounter;
|
|
17
18
|
/** Tracks tx size */
|
|
18
19
|
private objectSize;
|
|
19
20
|
private dbMetrics;
|
|
@@ -21,6 +22,7 @@ export declare class PoolInstrumentation<PoolObject extends Gossipable> {
|
|
|
21
22
|
private meter;
|
|
22
23
|
constructor(telemetry: TelemetryClient, name: PoolName, poolStats: PoolStatsCallback, dbStats?: LmdbStatsCallback);
|
|
23
24
|
recordSize(poolObject: PoolObject): void;
|
|
25
|
+
incrementAddedObjects(count: number): void;
|
|
24
26
|
private observeStats;
|
|
25
27
|
}
|
|
26
|
-
//# sourceMappingURL=
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtX3Bvb2xzL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEVBS0wsS0FBSyxpQkFBaUIsRUFLdEIsS0FBSyxlQUFlLEVBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsb0JBQVksUUFBUTtJQUNsQixPQUFPLFdBQVc7SUFDbEIsZ0JBQWdCLG9CQUFvQjtDQUNyQztBQStCRCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUM7SUFDNUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0NBQzVDLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gscUJBQWEsbUJBQW1CLENBQUMsVUFBVSxTQUFTLFVBQVU7SUFlMUQsT0FBTyxDQUFDLFNBQVM7SUFkbkIsdUNBQXVDO0lBQ3ZDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBa0I7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUN4QyxxQkFBcUI7SUFDckIsT0FBTyxDQUFDLFVBQVUsQ0FBWTtJQUU5QixPQUFPLENBQUMsU0FBUyxDQUFjO0lBRS9CLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztJQUMxQixPQUFPLENBQUMsS0FBSyxDQUFRO0lBRXJCLFlBQ0UsU0FBUyxFQUFFLGVBQWUsRUFDMUIsSUFBSSxFQUFFLFFBQVEsRUFDTixTQUFTLEVBQUUsaUJBQWlCLEVBQ3BDLE9BQU8sQ0FBQyxFQUFFLGlCQUFpQixFQTZCNUI7SUFFTSxVQUFVLENBQUMsVUFBVSxFQUFFLFVBQVUsUUFFdkM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxRQUV6QztJQUVELE9BQU8sQ0FBQyxZQUFZLENBWWxCO0NBQ0gifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/mem_pools/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAKL,KAAK,iBAAiB,EAKtB,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/mem_pools/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAKL,KAAK,iBAAiB,EAKtB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,QAAQ;IAClB,OAAO,WAAW;IAClB,gBAAgB,oBAAoB;CACrC;AA+BD,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH;;GAEG;AACH,qBAAa,mBAAmB,CAAC,UAAU,SAAS,UAAU;IAe1D,OAAO,CAAC,SAAS;IAdnB,uCAAuC;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IACxC,qBAAqB;IACrB,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAQ;IAErB,YACE,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,QAAQ,EACN,SAAS,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,iBAAiB,EA6B5B;IAEM,UAAU,CAAC,UAAU,EAAE,UAAU,QAEvC;IAEM,qBAAqB,CAAC,KAAK,EAAE,MAAM,QAEzC;IAED,OAAO,CAAC,YAAY,CAYlB;CACH"}
|
|
@@ -12,12 +12,14 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
12
12
|
if (name === "TxPool") {
|
|
13
13
|
return {
|
|
14
14
|
objectInMempool: Metrics.MEMPOOL_TX_COUNT,
|
|
15
|
-
objectSize: Metrics.MEMPOOL_TX_SIZE
|
|
15
|
+
objectSize: Metrics.MEMPOOL_TX_SIZE,
|
|
16
|
+
itemsAdded: Metrics.MEMPOOL_TX_ADDED_COUNT
|
|
16
17
|
};
|
|
17
18
|
} else if (name === "AttestationPool") {
|
|
18
19
|
return {
|
|
19
20
|
objectInMempool: Metrics.MEMPOOL_ATTESTATIONS_COUNT,
|
|
20
|
-
objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE
|
|
21
|
+
objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE,
|
|
22
|
+
itemsAdded: Metrics.MEMPOOL_ATTESTATIONS_ADDED_COUNT
|
|
21
23
|
};
|
|
22
24
|
}
|
|
23
25
|
throw new Error('Invalid pool type');
|
|
@@ -27,6 +29,7 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
27
29
|
*/ export class PoolInstrumentation {
|
|
28
30
|
poolStats;
|
|
29
31
|
/** The number of txs in the mempool */ objectsInMempool;
|
|
32
|
+
addObjectCounter;
|
|
30
33
|
/** Tracks tx size */ objectSize;
|
|
31
34
|
dbMetrics;
|
|
32
35
|
defaultAttributes;
|
|
@@ -61,6 +64,9 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
61
64
|
this.dbMetrics = new LmdbMetrics(this.meter, {
|
|
62
65
|
[Attributes.DB_DATA_TYPE]: 'tx-pool'
|
|
63
66
|
}, dbStats);
|
|
67
|
+
this.addObjectCounter = this.meter.createUpDownCounter(metricsLabels.itemsAdded, {
|
|
68
|
+
description: 'The number of transactions added to the mempool'
|
|
69
|
+
});
|
|
64
70
|
this.meter.addBatchObservableCallback(this.observeStats, [
|
|
65
71
|
this.objectsInMempool
|
|
66
72
|
]);
|
|
@@ -68,5 +74,8 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
68
74
|
recordSize(poolObject) {
|
|
69
75
|
this.objectSize.record(poolObject.getSize());
|
|
70
76
|
}
|
|
77
|
+
incrementAddedObjects(count) {
|
|
78
|
+
this.addObjectCounter.add(count);
|
|
79
|
+
}
|
|
71
80
|
observeStats;
|
|
72
81
|
}
|
|
@@ -8,4 +8,4 @@ export type MemPools<T extends P2PClientType = P2PClientType.Full> = {
|
|
|
8
8
|
txPool: TxPool;
|
|
9
9
|
attestationPool?: T extends P2PClientType.Full ? AttestationPool : undefined;
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtX3Bvb2xzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sTUFBTSxRQUFRLENBQUMsQ0FBQyxTQUFTLGFBQWEsR0FBRyxhQUFhLENBQUMsSUFBSSxJQUFJO0lBQ25FLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFDZixlQUFlLENBQUMsRUFBRSxDQUFDLFNBQVMsYUFBYSxDQUFDLElBQUksR0FBRyxlQUFlLEdBQUcsU0FBUyxDQUFDO0NBQzlFLENBQUMifQ==
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
3
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
3
4
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
@@ -36,10 +37,10 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
36
37
|
markAsMined(txHashes: TxHash[], blockHeader: BlockHeader): Promise<void>;
|
|
37
38
|
markMinedAsPending(txHashes: TxHash[]): Promise<void>;
|
|
38
39
|
getPendingTxHashes(): Promise<TxHash[]>;
|
|
39
|
-
getMinedTxHashes(): Promise<[TxHash,
|
|
40
|
+
getMinedTxHashes(): Promise<[TxHash, BlockNumber][]>;
|
|
40
41
|
getPendingTxCount(): Promise<number>;
|
|
41
42
|
getMinedTxCount(): Promise<number>;
|
|
42
|
-
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
43
|
+
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | 'deleted' | undefined>;
|
|
43
44
|
/**
|
|
44
45
|
* Checks if a transaction exists in the pool and returns it.
|
|
45
46
|
* @param txHash - The generated tx hash.
|
|
@@ -48,6 +49,7 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
48
49
|
getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
49
50
|
getTxsByHash(txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
50
51
|
hasTxs(txHashes: TxHash[]): Promise<boolean[]>;
|
|
52
|
+
hasTx(txHash: TxHash): Promise<boolean>;
|
|
51
53
|
/**
|
|
52
54
|
* Checks if an archived tx exists and returns it.
|
|
53
55
|
* @param txHash - The tx hash.
|
|
@@ -64,10 +66,14 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
64
66
|
}): Promise<number>;
|
|
65
67
|
/**
|
|
66
68
|
* Deletes transactions from the pool. Tx hashes that are not present are ignored.
|
|
67
|
-
*
|
|
69
|
+
* Mined transactions are soft-deleted with a timestamp, pending transactions are permanently deleted.
|
|
70
|
+
* @param txHashes - An array of tx hashes to be deleted from the tx pool.
|
|
68
71
|
* @returns Empty promise.
|
|
69
72
|
*/
|
|
70
|
-
deleteTxs(txHashes: TxHash[],
|
|
73
|
+
deleteTxs(txHashes: TxHash[], opts?: {
|
|
74
|
+
eviction?: boolean;
|
|
75
|
+
permanently?: boolean;
|
|
76
|
+
}): Promise<void>;
|
|
71
77
|
/**
|
|
72
78
|
* Gets all the transactions stored in the pool.
|
|
73
79
|
* @returns Array of tx objects in the order they were added to the pool.
|
|
@@ -80,6 +86,12 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
80
86
|
getAllTxHashes(): Promise<TxHash[]>;
|
|
81
87
|
updateConfig({ maxTxPoolSize, txPoolOverflowFactor, archivedTxLimit }: TxPoolOptions): void;
|
|
82
88
|
markTxsAsNonEvictable(txHashes: TxHash[]): Promise<void>;
|
|
89
|
+
/**
|
|
90
|
+
* Permanently deletes deleted mined transactions from blocks up to and including the specified block number.
|
|
91
|
+
* @param blockNumber - Block number threshold. Deleted mined txs from this block or earlier will be permanently deleted.
|
|
92
|
+
* @returns The number of transactions permanently deleted.
|
|
93
|
+
*/
|
|
94
|
+
cleanupDeletedMinedTxs(blockNumber: BlockNumber): Promise<number>;
|
|
83
95
|
/**
|
|
84
96
|
* Creates a GasTxValidator instance.
|
|
85
97
|
* @param db - DB for the validator to use
|
|
@@ -92,48 +104,13 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
92
104
|
* @returns An ArchiveCache instance
|
|
93
105
|
*/
|
|
94
106
|
protected createArchiveCache(db: MerkleTreeReadOperations): ArchiveCache;
|
|
95
|
-
/**
|
|
96
|
-
* Checks if a cached transaction exists in the in-memory pending tx pool and returns it.
|
|
97
|
-
* Otherwise, it checks the tx pool, updates the pending tx pool, and returns the tx.
|
|
98
|
-
* @param txHash - The generated tx hash.
|
|
99
|
-
* @returns The transaction, if found, 'undefined' otherwise.
|
|
100
|
-
*/
|
|
101
107
|
private getPendingTxByHash;
|
|
102
|
-
/**
|
|
103
|
-
* Archives a list of txs for future reference. The number of archived txs is limited by the specified archivedTxLimit.
|
|
104
|
-
* @param txs - The list of transactions to archive.
|
|
105
|
-
* @returns Empty promise.
|
|
106
|
-
*/
|
|
107
108
|
private archiveTxs;
|
|
108
|
-
/**
|
|
109
|
-
* Evicts pending txs with the lowest priority fees from the pool to accomodate the max tx count and cumulative max tx size
|
|
110
|
-
* after new txs are added.
|
|
111
|
-
*
|
|
112
|
-
* @param newTxHashes - The tx hashes of the new txs added to the pool.
|
|
113
|
-
* @returns The total number of txs evicted from the pool and the number of new txs that were evicted.
|
|
114
|
-
*/
|
|
115
109
|
private evictLowPriorityTxs;
|
|
116
|
-
/**
|
|
117
|
-
* Evicts invalid pending txs from the pool after a txs from a block are mined.
|
|
118
|
-
* Eviction criteria includes:
|
|
119
|
-
* - txs with nullifiers that are already included in the mined block
|
|
120
|
-
* - txs with an insufficient fee payer balance
|
|
121
|
-
* - txs with an expiration timestamp lower than that of the mined block
|
|
122
|
-
*
|
|
123
|
-
* @param minedTxHashes - The tx hashes of the txs mined in the block.
|
|
124
|
-
* @param blockHeader - The header of the mined block.
|
|
125
|
-
* @returns The total number of txs evicted from the pool.
|
|
126
|
-
*/
|
|
127
110
|
private evictInvalidTxsAfterMining;
|
|
128
|
-
/**
|
|
129
|
-
* Evicts pending txs that no longer have valid archive roots or fee payer balances from the pool after a reorg.
|
|
130
|
-
*
|
|
131
|
-
* @param txHashes - The tx hashes of the txs that were moved from mined to pending.
|
|
132
|
-
* @returns The total number of txs evicted from the pool.
|
|
133
|
-
*/
|
|
134
111
|
private evictInvalidTxsAfterReorg;
|
|
135
112
|
private addPendingTxIndices;
|
|
136
113
|
private removePendingTxIndices;
|
|
137
114
|
}
|
|
138
115
|
export {};
|
|
139
|
-
//# sourceMappingURL=
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfa3ZfdHhfcG9vbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sL2F6dGVjX2t2X3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUEwRCxNQUFNLGlCQUFpQixDQUFDO0FBR2pILE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJeEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBS25GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHcEYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXhFOztHQUVHO0FBQ0gscUJBQWEsYUFBYyxTQUFRLGtCQUE0RCxZQUFXLE1BQU07O0lBUzlHLDBHQUEwRztJQUMxRyxvQkFBb0IsRUFBRSxNQUFNLENBQUs7SUFnRGpDOzs7Ozs7O09BT0c7SUFDSCxZQUNFLEtBQUssRUFBRSxpQkFBaUIsRUFDeEIsT0FBTyxFQUFFLGlCQUFpQixFQUMxQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFDOUMsU0FBUyxHQUFFLGVBQXNDLEVBQ2pELE1BQU0sR0FBRSxhQUFrQixFQUMx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
|
|
@@ -1 +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":"
|
|
1
|
+
{"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"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"}
|