@aztec/p2p 0.0.1-commit.42ee6df9b → 0.0.1-commit.431c48d
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/README.md +7 -6
- package/dest/bootstrap/bootstrap.d.ts +1 -1
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +22 -6
- package/dest/client/factory.d.ts +4 -3
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +32 -23
- package/dest/client/interface.d.ts +44 -11
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +34 -19
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +119 -59
- package/dest/config.d.ts +150 -107
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +77 -26
- package/dest/errors/reqresp.error.d.ts +9 -16
- package/dest/errors/reqresp.error.d.ts.map +1 -1
- package/dest/errors/reqresp.error.js +10 -17
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +98 -56
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +270 -198
- 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 +218 -59
- package/dest/mem_pools/attestation_pool/mocks.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +6 -4
- package/dest/mem_pools/instrumentation.d.ts +9 -4
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +28 -9
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts +10 -5
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/archive/tx_archive.js +29 -20
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +3 -3
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/deleted_pool.js +6 -6
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +3 -3
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.js +3 -1
- package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts +2 -1
- package/dest/mem_pools/tx_pool_v2/eviction/index.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/index.js +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +16 -0
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +64 -0
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.js +3 -4
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.js +6 -7
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.js +6 -5
- package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts +11 -1
- package/dest/mem_pools/tx_pool_v2/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/instrumentation.js +24 -0
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +33 -5
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.js +2 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +5 -2
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.js +8 -5
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +15 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +31 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +16 -3
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +83 -32
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +50 -6
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +243 -127
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +10 -3
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +38 -16
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +7 -3
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +4 -5
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +8 -3
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/block_proposal_validator.js +2 -2
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +8 -3
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +8 -2
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +25 -3
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +85 -15
- 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/aggregate_tx_validator.js +8 -15
- package/dest/msg_validators/tx_validator/allowed_public_setup.js +3 -3
- package/dest/msg_validators/tx_validator/archive_cache.js +1 -1
- package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts +15 -0
- package/dest/msg_validators/tx_validator/cached_tx_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/cached_tx_validator.js +19 -0
- package/dest/msg_validators/tx_validator/data_validator.d.ts +2 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +1 -0
- package/dest/msg_validators/tx_validator/factory.d.ts +14 -15
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +29 -16
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +47 -10
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +65 -48
- package/dest/msg_validators/tx_validator/index.d.ts +3 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +2 -0
- package/dest/msg_validators/tx_validator/phases_validator.js +2 -2
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +2 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +2 -0
- package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts +48 -0
- package/dest/msg_validators/tx_validator/tx_validation_cache.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/tx_validation_cache.js +68 -0
- package/dest/services/data_store.d.ts +1 -1
- package/dest/services/data_store.d.ts.map +1 -1
- package/dest/services/data_store.js +5 -5
- package/dest/services/discv5/discV5_service.d.ts +13 -2
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +119 -23
- package/dest/services/discv5/persisted_enr_store.d.ts +38 -0
- package/dest/services/discv5/persisted_enr_store.d.ts.map +1 -0
- package/dest/services/discv5/persisted_enr_store.js +145 -0
- package/dest/services/dummy_service.d.ts +18 -18
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +19 -18
- package/dest/services/encoding.d.ts +19 -6
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +25 -15
- package/dest/services/gossipsub/topic_score_params.d.ts +6 -12
- package/dest/services/gossipsub/topic_score_params.d.ts.map +1 -1
- package/dest/services/gossipsub/topic_score_params.js +4 -14
- package/dest/services/libp2p/instrumentation.d.ts +6 -1
- package/dest/services/libp2p/instrumentation.d.ts.map +1 -1
- package/dest/services/libp2p/instrumentation.js +21 -0
- package/dest/services/libp2p/libp2p_service.d.ts +40 -43
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +370 -276
- package/dest/services/peer-manager/peer_manager.d.ts +26 -2
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +103 -17
- package/dest/services/peer-manager/peer_scoring.d.ts +30 -1
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +74 -3
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +1 -8
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +35 -44
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts +8 -5
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts +5 -14
- package/dest/services/reqresp/batch-tx-requester/tx_validator.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/tx_validator.js +6 -20
- package/dest/services/reqresp/config.d.ts +15 -3
- package/dest/services/reqresp/config.d.ts.map +1 -1
- package/dest/services/reqresp/config.js +11 -0
- package/dest/services/reqresp/interface.d.ts +16 -18
- package/dest/services/reqresp/interface.d.ts.map +1 -1
- package/dest/services/reqresp/interface.js +10 -20
- package/dest/services/reqresp/metrics.d.ts +1 -1
- package/dest/services/reqresp/metrics.d.ts.map +1 -1
- package/dest/services/reqresp/metrics.js +0 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +4 -3
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.js +3 -2
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +31 -28
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +12 -7
- 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 +42 -24
- package/dest/services/reqresp/protocols/index.d.ts +1 -2
- package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/index.js +0 -1
- package/dest/services/reqresp/protocols/tx.d.ts +1 -1
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/tx.js +1 -3
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limits.d.ts.map +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limits.js +3 -13
- package/dest/services/reqresp/reqresp.d.ts +7 -29
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +59 -209
- package/dest/services/service.d.ts +41 -19
- package/dest/services/service.d.ts.map +1 -1
- package/dest/services/tx_collection/config.d.ts +2 -23
- package/dest/services/tx_collection/config.d.ts.map +1 -1
- package/dest/services/tx_collection/config.js +2 -55
- package/dest/services/tx_collection/file_store_tx_collection.d.ts +12 -28
- package/dest/services/tx_collection/file_store_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/file_store_tx_collection.js +43 -83
- package/dest/services/tx_collection/index.d.ts +2 -3
- package/dest/services/tx_collection/index.d.ts.map +1 -1
- package/dest/services/tx_collection/index.js +0 -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/instrumentation.js +0 -2
- package/dest/services/tx_collection/tx_collection.d.ts +35 -51
- package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection.js +275 -119
- package/dest/services/tx_collection/tx_collection_sink.d.ts +1 -1
- package/dest/services/tx_collection/tx_collection_sink.js +2 -2
- 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 +4 -1
- package/dest/services/tx_file_store/tx_file_store.d.ts +1 -3
- package/dest/services/tx_file_store/tx_file_store.d.ts.map +1 -1
- package/dest/services/tx_file_store/tx_file_store.js +4 -14
- package/dest/services/tx_provider.d.ts +3 -1
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +3 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +1 -1
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +5 -2
- package/dest/test-helpers/mock-pubsub.d.ts +33 -9
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.js +57 -44
- package/dest/test-helpers/reqresp-nodes.d.ts +4 -5
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +16 -18
- package/dest/test-helpers/test_tx_provider.d.ts +3 -1
- package/dest/test-helpers/test_tx_provider.d.ts.map +1 -1
- package/dest/test-helpers/test_tx_provider.js +3 -0
- package/dest/test-helpers/testbench-utils.d.ts +15 -14
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
- package/dest/test-helpers/testbench-utils.js +28 -13
- package/dest/testbench/p2p_client_testbench_worker.d.ts +3 -5
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +60 -27
- package/dest/testbench/worker_client_manager.d.ts +10 -6
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +51 -8
- package/dest/util.d.ts +11 -6
- package/dest/util.d.ts.map +1 -1
- package/dest/util.js +35 -14
- package/dest/versioning.d.ts +3 -6
- package/dest/versioning.d.ts.map +1 -1
- package/dest/versioning.js +3 -24
- package/package.json +17 -17
- package/src/bootstrap/bootstrap.ts +17 -3
- package/src/client/factory.ts +48 -24
- package/src/client/interface.ts +39 -17
- package/src/client/p2p_client.ts +135 -92
- package/src/client/test/{tx_proposal_collector/README.md → p2p_client.batch_tx_requester.bench.README.md} +23 -53
- package/src/config.ts +159 -34
- package/src/errors/reqresp.error.ts +13 -19
- package/src/mem_pools/attestation_pool/attestation_pool.ts +325 -242
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +238 -63
- package/src/mem_pools/attestation_pool/mocks.ts +13 -8
- package/src/mem_pools/instrumentation.ts +18 -12
- package/src/mem_pools/tx_pool_v2/archive/tx_archive.ts +30 -20
- package/src/mem_pools/tx_pool_v2/deleted_pool.ts +7 -7
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +2 -4
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +3 -2
- package/src/mem_pools/tx_pool_v2/eviction/index.ts +1 -0
- package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +67 -0
- package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_mining_rule.ts +1 -3
- package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +5 -7
- package/src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts +5 -6
- package/src/mem_pools/tx_pool_v2/instrumentation.ts +27 -0
- package/src/mem_pools/tx_pool_v2/interfaces.ts +31 -4
- package/src/mem_pools/tx_pool_v2/tx_metadata.ts +13 -7
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +35 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +94 -31
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +270 -133
- package/src/msg_validators/attestation_validator/attestation_validator.ts +46 -15
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +15 -7
- package/src/msg_validators/proposal_validator/block_proposal_validator.ts +15 -3
- package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +26 -3
- package/src/msg_validators/proposal_validator/proposal_validator.ts +94 -12
- package/src/msg_validators/tx_validator/README.md +13 -3
- package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -12
- package/src/msg_validators/tx_validator/allowed_public_setup.ts +3 -3
- package/src/msg_validators/tx_validator/archive_cache.ts +1 -1
- package/src/msg_validators/tx_validator/cached_tx_validator.ts +31 -0
- package/src/msg_validators/tx_validator/data_validator.ts +2 -0
- package/src/msg_validators/tx_validator/factory.ts +37 -20
- package/src/msg_validators/tx_validator/gas_validator.ts +99 -54
- package/src/msg_validators/tx_validator/index.ts +2 -0
- package/src/msg_validators/tx_validator/phases_validator.ts +2 -2
- package/src/msg_validators/tx_validator/tx_proof_validator.ts +2 -0
- package/src/msg_validators/tx_validator/tx_validation_cache.ts +101 -0
- package/src/services/data_store.ts +5 -13
- package/src/services/discv5/discV5_service.ts +126 -14
- package/src/services/discv5/persisted_enr_store.ts +158 -0
- package/src/services/dummy_service.ts +25 -44
- package/src/services/encoding.ts +28 -20
- package/src/services/gossipsub/README.md +33 -11
- package/src/services/gossipsub/topic_score_params.ts +9 -18
- package/src/services/libp2p/instrumentation.ts +22 -0
- package/src/services/libp2p/libp2p_service.ts +433 -302
- package/src/services/peer-manager/peer_manager.ts +112 -16
- package/src/services/peer-manager/peer_scoring.ts +81 -3
- package/src/services/reqresp/README.md +2 -37
- package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +39 -52
- package/src/services/reqresp/batch-tx-requester/interface.ts +11 -4
- package/src/services/reqresp/batch-tx-requester/tx_validator.ts +12 -25
- package/src/services/reqresp/config.ts +19 -2
- package/src/services/reqresp/interface.ts +21 -47
- package/src/services/reqresp/metrics.ts +0 -1
- package/src/services/reqresp/protocols/block_txs/bitvector.ts +3 -2
- package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +34 -30
- package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +47 -20
- package/src/services/reqresp/protocols/index.ts +0 -1
- package/src/services/reqresp/protocols/tx.ts +1 -3
- package/src/services/reqresp/rate-limiter/rate_limits.ts +3 -13
- package/src/services/reqresp/reqresp.ts +69 -252
- package/src/services/service.ts +48 -37
- package/src/services/tx_collection/config.ts +3 -80
- package/src/services/tx_collection/file_store_tx_collection.ts +54 -103
- package/src/services/tx_collection/index.ts +1 -6
- package/src/services/tx_collection/instrumentation.ts +1 -7
- package/src/services/tx_collection/tx_collection.ts +330 -173
- package/src/services/tx_collection/tx_collection_sink.ts +2 -2
- package/src/services/tx_collection/tx_source.ts +2 -1
- package/src/services/tx_file_store/tx_file_store.ts +5 -17
- package/src/services/tx_provider.ts +5 -0
- package/src/test-helpers/make-test-p2p-clients.ts +3 -0
- package/src/test-helpers/mock-pubsub.ts +61 -60
- package/src/test-helpers/reqresp-nodes.ts +12 -22
- package/src/test-helpers/test_tx_provider.ts +5 -0
- package/src/test-helpers/testbench-utils.ts +35 -26
- package/src/testbench/p2p_client_testbench_worker.ts +68 -44
- package/src/testbench/worker_client_manager.ts +59 -19
- package/src/util.ts +32 -17
- package/src/versioning.ts +3 -33
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts +0 -2
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.d.ts.map +0 -1
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +0 -315
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts +0 -73
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.d.ts.map +0 -1
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.js +0 -8
- package/dest/msg_validators/clock_tolerance.d.ts +0 -21
- package/dest/msg_validators/clock_tolerance.d.ts.map +0 -1
- package/dest/msg_validators/clock_tolerance.js +0 -38
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +0 -64
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +0 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +0 -151
- package/dest/services/reqresp/protocols/block.d.ts +0 -9
- package/dest/services/reqresp/protocols/block.d.ts.map +0 -1
- package/dest/services/reqresp/protocols/block.js +0 -32
- package/dest/services/tx_collection/fast_tx_collection.d.ts +0 -51
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +0 -1
- package/dest/services/tx_collection/fast_tx_collection.js +0 -311
- package/dest/services/tx_collection/proposal_tx_collector.d.ts +0 -48
- package/dest/services/tx_collection/proposal_tx_collector.d.ts.map +0 -1
- package/dest/services/tx_collection/proposal_tx_collector.js +0 -50
- package/dest/services/tx_collection/slow_tx_collection.d.ts +0 -57
- package/dest/services/tx_collection/slow_tx_collection.d.ts.map +0 -1
- package/dest/services/tx_collection/slow_tx_collection.js +0 -211
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +0 -355
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +0 -43
- package/src/msg_validators/clock_tolerance.ts +0 -52
- package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +0 -161
- package/src/services/reqresp/protocols/block.ts +0 -37
- package/src/services/tx_collection/fast_tx_collection.ts +0 -361
- package/src/services/tx_collection/proposal_tx_collector.ts +0 -108
- package/src/services/tx_collection/slow_tx_collection.ts +0 -266
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { chunk } from '@aztec/foundation/collection';
|
|
1
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
3
|
import { SerialQueue } from '@aztec/foundation/queue';
|
|
3
|
-
import { DateProvider } from '@aztec/foundation/timer';
|
|
4
|
+
import { DateProvider, Timer } from '@aztec/foundation/timer';
|
|
4
5
|
import { TxHash } from '@aztec/stdlib/tx';
|
|
5
6
|
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
6
7
|
import EventEmitter from 'node:events';
|
|
7
8
|
import { PoolInstrumentation, PoolName } from '../instrumentation.js';
|
|
8
|
-
import {
|
|
9
|
+
import { TxPoolQueueInstrumentation } from './instrumentation.js';
|
|
10
|
+
import { FINALIZE_BLOCK_CHUNK_SIZE, TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
9
11
|
/**
|
|
10
12
|
* Implementation of TxPoolV2 with explicit state management.
|
|
11
13
|
*
|
|
@@ -13,6 +15,8 @@ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
|
13
15
|
* all operations to TxPoolV2Impl.
|
|
14
16
|
*/ export class AztecKVTxPoolV2 extends EventEmitter {
|
|
15
17
|
#queue;
|
|
18
|
+
#queueMetrics;
|
|
19
|
+
/** Serializes finalizations so their chunked #queue items never interleave with each other. */ #finalizationQueue = new SerialQueue();
|
|
16
20
|
#impl;
|
|
17
21
|
#metrics;
|
|
18
22
|
#store;
|
|
@@ -25,25 +29,31 @@ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
|
25
29
|
this.#telemetry = telemetry;
|
|
26
30
|
this.#log = log;
|
|
27
31
|
this.#queue = new SerialQueue();
|
|
32
|
+
this.#queueMetrics = new TxPoolQueueInstrumentation(telemetry, ()=>this.#queue.length());
|
|
28
33
|
// Create callbacks that the impl uses to notify us about events and metrics
|
|
29
34
|
const callbacks = {
|
|
30
35
|
onTxsAdded: (txs, opts)=>{
|
|
31
|
-
this.#metrics?.transactionsAdded(txs);
|
|
32
36
|
this.emit('txs-added', {
|
|
33
37
|
txs,
|
|
34
38
|
...opts
|
|
35
39
|
});
|
|
36
40
|
},
|
|
37
41
|
onTxsRemoved: (txHashes)=>{
|
|
38
|
-
this.#metrics?.transactionsRemoved(txHashes);
|
|
39
42
|
// Convert to TxHash objects for the event
|
|
40
43
|
const hashes = txHashes.map((h)=>typeof h === 'string' ? TxHash.fromString(h) : TxHash.fromBigInt(h));
|
|
41
44
|
this.emit('txs-removed', {
|
|
42
45
|
txHashes: hashes
|
|
43
46
|
});
|
|
44
47
|
},
|
|
45
|
-
onTxsMined: (
|
|
46
|
-
|
|
48
|
+
onTxsMined: (minedTxs)=>{
|
|
49
|
+
// Pending-to-mined delay is derived from the tx's persisted receivedAt at the mined
|
|
50
|
+
// transition (see TxPoolV2Impl.handleMinedBlock), not the add/remove timestamp map —
|
|
51
|
+
// so eviction no longer pollutes MEMPOOL_TX_MINED_DELAY.
|
|
52
|
+
for (const { minedDelayMs } of minedTxs){
|
|
53
|
+
if (minedDelayMs !== undefined) {
|
|
54
|
+
this.#metrics?.recordMinedDelay(minedDelayMs);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
47
57
|
}
|
|
48
58
|
};
|
|
49
59
|
// Create the implementation
|
|
@@ -52,74 +62,112 @@ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
|
52
62
|
// ============================================================================
|
|
53
63
|
// PUBLIC API - All methods queue to the implementation
|
|
54
64
|
// ============================================================================
|
|
65
|
+
/**
|
|
66
|
+
* Enqueues an operation on the serial queue, recording how long it waited behind other queued
|
|
67
|
+
* work and how long it took to execute once running.
|
|
68
|
+
*/ #run(operation, fn) {
|
|
69
|
+
const waitTimer = new Timer();
|
|
70
|
+
return this.#queue.put(async ()=>{
|
|
71
|
+
const waitMs = waitTimer.ms();
|
|
72
|
+
const executionTimer = new Timer();
|
|
73
|
+
try {
|
|
74
|
+
return await fn();
|
|
75
|
+
} finally{
|
|
76
|
+
this.#queueMetrics.record(operation, waitMs, executionTimer.ms());
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
55
80
|
// === Core Operations ===
|
|
56
81
|
addPendingTxs(txs, opts = {}) {
|
|
57
|
-
return this.#
|
|
82
|
+
return this.#run('addPendingTxs', ()=>this.#impl.addPendingTxs(txs, opts));
|
|
58
83
|
}
|
|
59
84
|
canAddPendingTx(tx) {
|
|
60
|
-
return this.#
|
|
85
|
+
return this.#run('canAddPendingTx', ()=>this.#impl.canAddPendingTx(tx));
|
|
61
86
|
}
|
|
62
87
|
addProtectedTxs(txs, block, opts = {}) {
|
|
63
|
-
return this.#
|
|
88
|
+
return this.#run('addProtectedTxs', ()=>this.#impl.addProtectedTxs(txs, block, opts));
|
|
64
89
|
}
|
|
65
90
|
protectTxs(txHashes, block) {
|
|
66
|
-
return this.#
|
|
91
|
+
return this.#run('protectTxs', ()=>this.#impl.protectTxs(txHashes, block));
|
|
67
92
|
}
|
|
68
93
|
addMinedTxs(txs, block, opts = {}) {
|
|
69
|
-
return this.#
|
|
94
|
+
return this.#run('addMinedTxs', ()=>this.#impl.addMinedTxs(txs, block, opts));
|
|
70
95
|
}
|
|
71
96
|
// === State Transition Handlers ===
|
|
72
97
|
handleMinedBlock(block) {
|
|
73
|
-
return this.#
|
|
98
|
+
return this.#run('handleMinedBlock', ()=>this.#impl.handleMinedBlock(block));
|
|
74
99
|
}
|
|
75
100
|
prepareForSlot(slotNumber) {
|
|
76
|
-
return this.#
|
|
101
|
+
return this.#run('prepareForSlot', ()=>this.#impl.prepareForSlot(slotNumber));
|
|
102
|
+
}
|
|
103
|
+
unprotectTxs(txHashes, slotNumber) {
|
|
104
|
+
return this.#run('unprotectTxs', ()=>this.#impl.unprotectTxs(txHashes, slotNumber));
|
|
77
105
|
}
|
|
78
106
|
handlePrunedBlocks(latestBlock, options) {
|
|
79
|
-
return this.#
|
|
107
|
+
return this.#run('handlePrunedBlocks', ()=>this.#impl.handlePrunedBlocks(latestBlock, options));
|
|
80
108
|
}
|
|
81
109
|
handleFailedExecution(txHashes) {
|
|
82
|
-
return this.#
|
|
110
|
+
return this.#run('handleFailedExecution', ()=>this.#impl.handleFailedExecution(txHashes));
|
|
83
111
|
}
|
|
84
|
-
|
|
85
|
-
|
|
112
|
+
/**
|
|
113
|
+
* Handles a finalized block by archiving and deleting the mined txs it finalizes. The work is
|
|
114
|
+
* split into chunk-sized serial-queue items rather than one long-running item, so gossip-driven
|
|
115
|
+
* pool operations (canAddPendingTx / addPendingTxs) interleave with finalization instead of
|
|
116
|
+
* stalling behind an entire epoch's worth of tx processing. Finalizations run on their own serial
|
|
117
|
+
* queue so two concurrent calls never interleave their chunks with each other.
|
|
118
|
+
*/ handleFinalizedBlock(block) {
|
|
119
|
+
return this.#finalizationQueue.put(()=>this.#handleFinalizedBlock(block));
|
|
120
|
+
}
|
|
121
|
+
async #handleFinalizedBlock(block) {
|
|
122
|
+
const { cutoffBlock, txHashes } = await this.#run('prepareFinalization', ()=>this.#impl.prepareFinalization(block));
|
|
123
|
+
const batches = chunk(txHashes, FINALIZE_BLOCK_CHUNK_SIZE);
|
|
124
|
+
for (const batch of batches){
|
|
125
|
+
await this.#run('archiveFinalizedTxs', ()=>this.#impl.archiveFinalizedTxs(batch));
|
|
126
|
+
}
|
|
127
|
+
for (const batch of batches){
|
|
128
|
+
await this.#run('deleteFinalizedTxs', ()=>this.#impl.deleteFinalizedTxs(batch, cutoffBlock));
|
|
129
|
+
}
|
|
130
|
+
await this.#run('completeFinalization', ()=>this.#impl.completeFinalization(txHashes, cutoffBlock, block.globalVariables.blockNumber));
|
|
86
131
|
}
|
|
87
132
|
// === Queries ===
|
|
88
|
-
getTxByHash(txHash) {
|
|
89
|
-
return this.#
|
|
133
|
+
getTxByHash(txHash, opts) {
|
|
134
|
+
return this.#run('getTxByHash', ()=>this.#impl.getTxByHash(txHash, opts));
|
|
90
135
|
}
|
|
91
|
-
getTxsByHash(txHashes) {
|
|
92
|
-
return this.#
|
|
136
|
+
getTxsByHash(txHashes, opts) {
|
|
137
|
+
return this.#run('getTxsByHash', ()=>this.#impl.getTxsByHash(txHashes, opts));
|
|
93
138
|
}
|
|
94
139
|
hasTxs(txHashes) {
|
|
95
|
-
return this.#
|
|
140
|
+
return this.#run('hasTxs', ()=>this.#impl.hasTxs(txHashes));
|
|
96
141
|
}
|
|
97
142
|
getTxStatus(txHash) {
|
|
98
|
-
return this.#
|
|
143
|
+
return this.#run('getTxStatus', ()=>this.#impl.getTxStatus(txHash));
|
|
99
144
|
}
|
|
100
145
|
getPendingTxHashes() {
|
|
101
|
-
return this.#
|
|
146
|
+
return this.#run('getPendingTxHashes', ()=>this.#impl.getPendingTxHashes());
|
|
102
147
|
}
|
|
103
148
|
getEligiblePendingTxHashes() {
|
|
104
|
-
return this.#
|
|
149
|
+
return this.#run('getEligiblePendingTxHashes', ()=>this.#impl.getEligiblePendingTxHashes());
|
|
105
150
|
}
|
|
106
151
|
getPendingTxCount() {
|
|
107
|
-
return this.#
|
|
152
|
+
return this.#run('getPendingTxCount', ()=>this.#impl.getPendingTxCount());
|
|
153
|
+
}
|
|
154
|
+
hasEligiblePendingTxs(minCount) {
|
|
155
|
+
return this.#run('hasEligiblePendingTxs', ()=>this.#impl.hasEligiblePendingTxs(minCount));
|
|
108
156
|
}
|
|
109
157
|
getMinedTxHashes() {
|
|
110
|
-
return this.#
|
|
158
|
+
return this.#run('getMinedTxHashes', ()=>this.#impl.getMinedTxHashes());
|
|
111
159
|
}
|
|
112
160
|
getMinedTxCount() {
|
|
113
|
-
return this.#
|
|
161
|
+
return this.#run('getMinedTxCount', ()=>this.#impl.getMinedTxCount());
|
|
114
162
|
}
|
|
115
163
|
isEmpty() {
|
|
116
|
-
return this.#
|
|
164
|
+
return this.#run('isEmpty', ()=>this.#impl.isEmpty());
|
|
117
165
|
}
|
|
118
166
|
getArchivedTxByHash(txHash) {
|
|
119
|
-
return this.#
|
|
167
|
+
return this.#run('getArchivedTxByHash', ()=>this.#impl.getArchivedTxByHash(txHash));
|
|
120
168
|
}
|
|
121
169
|
getLowestPriorityPending(limit) {
|
|
122
|
-
return this.#
|
|
170
|
+
return this.#run('getLowestPriorityPending', ()=>this.#impl.getLowestPriorityPending(limit));
|
|
123
171
|
}
|
|
124
172
|
/** Returns read-only access to the pool. Used for testing. */ getPoolReadAccess() {
|
|
125
173
|
return this.#impl.getPoolReadAccess();
|
|
@@ -139,8 +187,9 @@ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
|
139
187
|
return;
|
|
140
188
|
}
|
|
141
189
|
this.#log.info('Starting transaction pool...');
|
|
142
|
-
// Start the serial
|
|
190
|
+
// Start the serial queues
|
|
143
191
|
this.#queue.start();
|
|
192
|
+
this.#finalizationQueue.start();
|
|
144
193
|
this.#started = true;
|
|
145
194
|
// Setup metrics - created after queue is started so callbacks can safely queue
|
|
146
195
|
this.#metrics = new PoolInstrumentation(this.#telemetry, PoolName.TX_POOL, ()=>this.#queue.put(()=>{
|
|
@@ -160,6 +209,8 @@ import { TxPoolV2Impl } from './tx_pool_v2_impl.js';
|
|
|
160
209
|
}
|
|
161
210
|
async stop() {
|
|
162
211
|
if (this.#started) {
|
|
212
|
+
// End the finalization queue first: an in-flight finalization still needs #queue to run its chunks.
|
|
213
|
+
await this.#finalizationQueue.end();
|
|
163
214
|
await this.#queue.end();
|
|
164
215
|
this.#started = false;
|
|
165
216
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
3
3
|
import type { DateProvider } from '@aztec/foundation/timer';
|
|
4
4
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
@@ -7,15 +7,29 @@ import { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
|
|
|
7
7
|
import type { TelemetryClient } from '@aztec/telemetry-client';
|
|
8
8
|
import { type AddTxsResult, type PoolReadAccess, type TxPoolV2Config, type TxPoolV2Dependencies } from './interfaces.js';
|
|
9
9
|
import { type TxState } from './tx_metadata.js';
|
|
10
|
+
/**
|
|
11
|
+
* Maximum number of finalized txs to archive or hard-delete per serial-queue item. Bounds both
|
|
12
|
+
* peak memory (~23k txs/epoch at 10 TPS would otherwise OOM the node) and, more importantly, how
|
|
13
|
+
* long finalization occupies the pool's serial queue per item: gossip tx validation waits on that
|
|
14
|
+
* queue, so each item must stay well under the gossipsub mcache eviction window.
|
|
15
|
+
*/
|
|
16
|
+
export declare const FINALIZE_BLOCK_CHUNK_SIZE = 16;
|
|
10
17
|
/**
|
|
11
18
|
* Callbacks for the implementation to notify the outer class about events and metrics.
|
|
12
19
|
*/
|
|
20
|
+
/** A tx that has just transitioned to mined, with the time it spent in the pool. */
|
|
21
|
+
export interface MinedTxInfo {
|
|
22
|
+
txHash: string;
|
|
23
|
+
/** Wall-clock ms from receipt into the pool to being marked mined. Undefined when the
|
|
24
|
+
* receive time is unknown (e.g. a tx hydrated from the DB on restart, receivedAt === 0). */
|
|
25
|
+
minedDelayMs?: number;
|
|
26
|
+
}
|
|
13
27
|
export interface TxPoolV2Callbacks {
|
|
14
28
|
onTxsAdded: (txs: Tx[], opts: {
|
|
15
29
|
source?: string;
|
|
16
30
|
}) => void;
|
|
17
31
|
onTxsRemoved: (txHashes: string[] | bigint[]) => void;
|
|
18
|
-
onTxsMined: (
|
|
32
|
+
onTxsMined: (minedTxs: MinedTxInfo[]) => void;
|
|
19
33
|
}
|
|
20
34
|
/**
|
|
21
35
|
* Implementation of TxPoolV2 logic.
|
|
@@ -47,18 +61,48 @@ export declare class TxPoolV2Impl {
|
|
|
47
61
|
}): Promise<void>;
|
|
48
62
|
handleMinedBlock(block: L2Block): Promise<void>;
|
|
49
63
|
prepareForSlot(slotNumber: SlotNumber): Promise<void>;
|
|
64
|
+
unprotectTxs(txHashes: TxHash[], slotNumber: SlotNumber): Promise<void>;
|
|
50
65
|
handlePrunedBlocks(latestBlock: L2BlockId, options?: {
|
|
51
66
|
deleteAllTxs?: boolean;
|
|
52
67
|
}): Promise<void>;
|
|
53
68
|
handleFailedExecution(txHashes: TxHash[]): Promise<void>;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
69
|
+
/**
|
|
70
|
+
* Resolves what a finalized block event should process: the cutoff block and the mined txs at or
|
|
71
|
+
* before it. The wrapper feeds the result to archiveFinalizedTxs / finalizeTxs in chunks, each as
|
|
72
|
+
* its own serial-queue item, so gossip-driven pool operations can interleave with finalization
|
|
73
|
+
* instead of stalling behind an entire epoch's worth of tx processing.
|
|
74
|
+
*/
|
|
75
|
+
prepareFinalization(block: BlockHeader): Promise<{
|
|
76
|
+
cutoffBlock: BlockNumber;
|
|
77
|
+
txHashes: string[];
|
|
78
|
+
}>;
|
|
79
|
+
/**
|
|
80
|
+
* Copies the given finalized txs into the archive. The pool stores txs proof-stripped, which is
|
|
81
|
+
* exactly the archive format, so buffers are copied as-is without deserialization.
|
|
82
|
+
*/
|
|
83
|
+
archiveFinalizedTxs(txHashes: string[]): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Deletes a batch of finalized mined txs from the active pool. Callers may invoke this in
|
|
86
|
+
* chunks: a crash between chunks leaves some finalized txs mined, and the next finalized-block
|
|
87
|
+
* event lists and deletes them again (the operation is idempotent), so per-chunk atomicity is
|
|
88
|
+
* sufficient. Since other pool operations may interleave between the finalization plan being
|
|
89
|
+
* computed and this call, each tx is re-checked to still be mined at or before the cutoff.
|
|
90
|
+
*/
|
|
91
|
+
deleteFinalizedTxs(txHashes: string[], cutoffBlock: BlockNumber): Promise<void>;
|
|
92
|
+
/** Finalizes soft-deleted txs up to the cutoff and logs the completed finalization. */
|
|
93
|
+
completeFinalization(txHashes: string[], cutoffBlock: BlockNumber, finalizedBlockNumber: BlockNumber): Promise<void>;
|
|
94
|
+
getTxByHash(txHash: TxHash, opts?: {
|
|
95
|
+
includeProof?: boolean;
|
|
96
|
+
}): Promise<Tx | undefined>;
|
|
97
|
+
getTxsByHash(txHashes: TxHash[], opts?: {
|
|
98
|
+
includeProof?: boolean;
|
|
99
|
+
}): Promise<(Tx | undefined)[]>;
|
|
57
100
|
hasTxs(txHashes: TxHash[]): boolean[];
|
|
58
101
|
getTxStatus(txHash: TxHash): TxState | undefined;
|
|
59
102
|
getPendingTxHashes(): TxHash[];
|
|
60
103
|
getEligiblePendingTxHashes(): TxHash[];
|
|
61
104
|
getPendingTxCount(): number;
|
|
105
|
+
hasEligiblePendingTxs(minCount: number): boolean;
|
|
62
106
|
getMinedTxHashes(): [TxHash, L2BlockId][];
|
|
63
107
|
getMinedTxCount(): number;
|
|
64
108
|
isEmpty(): boolean;
|
|
@@ -75,4 +119,4 @@ export declare class TxPoolV2Impl {
|
|
|
75
119
|
totalMetadataBytes: number;
|
|
76
120
|
};
|
|
77
121
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF92Ml9pbXBsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvdHhfcG9vbF92Ml9pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFJeEUsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSxxQkFBcUIsQ0FBQztBQUc3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQW9CLE1BQU0sa0JBQWtCLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFxQi9ELE9BQU8sRUFDTCxLQUFLLFlBQVksRUFFakIsS0FBSyxjQUFjLEVBQ25CLEtBQUssY0FBYyxFQUNuQixLQUFLLG9CQUFvQixFQUMxQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBbUIsS0FBSyxPQUFPLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFHMUc7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qzs7R0FFRztBQUNILG9GQUFvRjtBQUNwRixNQUFNLFdBQVcsV0FBVztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2Y7Z0dBQzRGO0lBQzVGLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN2QjtBQUVELE1BQU0sV0FBVyxpQkFBaUI7SUFDaEMsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_pool_v2_impl.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"tx_pool_v2_impl.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts"],"names":[],"mappings":"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"}
|