@aztec/p2p 0.0.1-commit.f504929 → 0.0.1-commit.f5a9928
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 +130 -3
- 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 +5 -4
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +39 -16
- package/dest/client/interface.d.ts +52 -12
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +36 -20
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +142 -81
- package/dest/config.d.ts +163 -98
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +130 -20
- package/dest/errors/p2p-service.error.d.ts +9 -0
- package/dest/errors/p2p-service.error.d.ts.map +1 -0
- package/dest/errors/p2p-service.error.js +10 -0
- 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/index.d.ts +1 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +0 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +101 -59
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +272 -199
- 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 +224 -65
- 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/index.d.ts +1 -2
- package/dest/mem_pools/index.d.ts.map +1 -1
- 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 +5 -4
- 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/interfaces.d.ts +7 -1
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
- 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/eviction/low_priority_pre_add_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +8 -6
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +2 -2
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +2 -2
- 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 +41 -9
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.js +3 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +29 -11
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.js +46 -16
- 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 +55 -41
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +19 -4
- 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 +86 -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 +262 -131
- 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 -15
- 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 +11 -5
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/block_proposal_validator.js +11 -3
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +11 -5
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +23 -3
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +35 -10
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +128 -56
- 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.d.ts +1 -1
- package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/allowed_public_setup.js +21 -32
- package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
- package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
- 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/contract_instance_validator.d.ts +9 -0
- package/dest/msg_validators/tx_validator/contract_instance_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/contract_instance_validator.js +48 -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 +36 -2
- package/dest/msg_validators/tx_validator/factory.d.ts +25 -7
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +55 -16
- package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
- package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +53 -7
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +88 -41
- package/dest/msg_validators/tx_validator/index.d.ts +4 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +3 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +21 -1
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.js +49 -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 -16
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +21 -16
- package/dest/services/encoding.d.ts +23 -6
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +32 -16
- 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 +51 -51
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +499 -333
- package/dest/services/peer-manager/peer_manager.d.ts +31 -3
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +125 -25
- package/dest/services/peer-manager/peer_scoring.d.ts +34 -2
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +102 -13
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +4 -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 +81 -86
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts +10 -6
- package/dest/services/reqresp/batch-tx-requester/interface.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts +5 -4
- package/dest/services/reqresp/batch-tx-requester/missing_txs.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/missing_txs.js +13 -7
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +3 -1
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/peer_collection.js +3 -0
- 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_limiter.d.ts +5 -4
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -8
- 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 +73 -215
- package/dest/services/service.d.ts +43 -18
- 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/file_store_tx_source.d.ts +5 -4
- package/dest/services/tx_collection/file_store_tx_source.d.ts.map +1 -1
- package/dest/services/tx_collection/file_store_tx_source.js +39 -29
- 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/request_tracker.d.ts +53 -0
- package/dest/services/tx_collection/request_tracker.d.ts.map +1 -0
- package/dest/services/tx_collection/request_tracker.js +84 -0
- package/dest/services/tx_collection/tx_collection.d.ts +36 -55
- 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 +6 -5
- package/dest/services/tx_collection/tx_source.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_source.js +13 -8
- 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 +49 -15
- 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 +104 -41
- package/dest/testbench/worker_client_manager.d.ts +12 -6
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +57 -11
- package/dest/util.d.ts +12 -7
- 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 +62 -9
- package/src/client/interface.ts +48 -18
- package/src/client/p2p_client.ts +159 -113
- package/src/client/test/{tx_proposal_collector/README.md → p2p_client.batch_tx_requester.bench.README.md} +23 -53
- package/src/config.ts +233 -20
- package/src/errors/p2p-service.error.ts +11 -0
- package/src/errors/reqresp.error.ts +13 -19
- package/src/index.ts +0 -1
- package/src/mem_pools/attestation_pool/attestation_pool.ts +327 -242
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +244 -69
- package/src/mem_pools/attestation_pool/mocks.ts +13 -8
- package/src/mem_pools/index.ts +0 -3
- package/src/mem_pools/instrumentation.ts +18 -12
- package/src/mem_pools/tx_pool_v2/README.md +9 -1
- 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 +4 -5
- 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/interfaces.ts +11 -1
- 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/eviction/low_priority_pre_add_rule.ts +15 -6
- package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +2 -1
- package/src/mem_pools/tx_pool_v2/instrumentation.ts +27 -0
- package/src/mem_pools/tx_pool_v2/interfaces.ts +40 -8
- package/src/mem_pools/tx_pool_v2/tx_metadata.ts +72 -20
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +62 -41
- package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +107 -32
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +291 -137
- package/src/msg_validators/attestation_validator/README.md +49 -0
- package/src/msg_validators/attestation_validator/attestation_validator.ts +46 -14
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +15 -7
- package/src/msg_validators/proposal_validator/README.md +123 -0
- package/src/msg_validators/proposal_validator/block_proposal_validator.ts +26 -4
- package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +43 -7
- package/src/msg_validators/proposal_validator/proposal_validator.ts +150 -58
- package/src/msg_validators/tx_validator/README.md +17 -3
- package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -12
- package/src/msg_validators/tx_validator/allowed_public_setup.ts +16 -35
- package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
- 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/contract_instance_validator.ts +56 -0
- package/src/msg_validators/tx_validator/data_validator.ts +44 -1
- package/src/msg_validators/tx_validator/factory.ts +66 -9
- package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
- package/src/msg_validators/tx_validator/gas_validator.ts +117 -39
- package/src/msg_validators/tx_validator/index.ts +3 -0
- package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
- package/src/msg_validators/tx_validator/phases_validator.ts +60 -1
- 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 +26 -40
- package/src/services/encoding.ts +35 -19
- 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 +560 -369
- package/src/services/peer-manager/peer_manager.ts +138 -24
- package/src/services/peer-manager/peer_scoring.ts +102 -8
- package/src/services/reqresp/README.md +194 -0
- package/src/services/reqresp/batch-tx-requester/README.md +46 -7
- package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +77 -95
- package/src/services/reqresp/batch-tx-requester/interface.ts +13 -5
- package/src/services/reqresp/batch-tx-requester/missing_txs.ts +13 -6
- package/src/services/reqresp/batch-tx-requester/peer_collection.ts +5 -0
- 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_limiter.ts +13 -9
- package/src/services/reqresp/rate-limiter/rate_limits.ts +3 -13
- package/src/services/reqresp/reqresp.ts +84 -259
- package/src/services/service.ts +51 -35
- 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/file_store_tx_source.ts +43 -31
- package/src/services/tx_collection/index.ts +1 -6
- package/src/services/tx_collection/instrumentation.ts +1 -7
- package/src/services/tx_collection/request_tracker.ts +127 -0
- package/src/services/tx_collection/tx_collection.ts +331 -176
- package/src/services/tx_collection/tx_collection_sink.ts +2 -2
- package/src/services/tx_collection/tx_source.ts +10 -8
- 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 +4 -1
- package/src/test-helpers/mock-pubsub.ts +61 -60
- package/src/test-helpers/reqresp-nodes.ts +13 -23
- package/src/test-helpers/test_tx_provider.ts +5 -0
- package/src/test-helpers/testbench-utils.ts +63 -28
- package/src/testbench/p2p_client_testbench_worker.ts +111 -57
- package/src/testbench/worker_client_manager.ts +72 -25
- package/src/util.ts +33 -18
- 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 -304
- 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/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +0 -125
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +0 -596
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +0 -32
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +0 -112
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +0 -157
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +0 -52
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +0 -16
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +0 -122
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +0 -17
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +0 -84
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +0 -19
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +0 -78
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +0 -26
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +0 -84
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts +0 -25
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.js +0 -57
- package/dest/mem_pools/tx_pool/index.d.ts +0 -3
- package/dest/mem_pools/tx_pool/index.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/index.js +0 -2
- package/dest/mem_pools/tx_pool/priority.d.ts +0 -12
- package/dest/mem_pools/tx_pool/priority.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/priority.js +0 -15
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +0 -127
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/tx_pool.js +0 -3
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +0 -7
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +0 -400
- 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 -37
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -24
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -378
- 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 -54
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +0 -1
- package/dest/services/tx_collection/fast_tx_collection.js +0 -327
- package/dest/services/tx_collection/missing_txs_tracker.d.ts +0 -32
- package/dest/services/tx_collection/missing_txs_tracker.d.ts.map +0 -1
- package/dest/services/tx_collection/missing_txs_tracker.js +0 -27
- package/dest/services/tx_collection/proposal_tx_collector.d.ts +0 -49
- 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 -345
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker_protocol.ts +0 -43
- package/src/mem_pools/tx_pool/README.md +0 -270
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +0 -746
- package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +0 -132
- package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +0 -208
- package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +0 -162
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +0 -104
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +0 -93
- package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +0 -106
- package/src/mem_pools/tx_pool/eviction/nullifier_conflict_pre_add_rule.ts +0 -75
- package/src/mem_pools/tx_pool/index.ts +0 -2
- package/src/mem_pools/tx_pool/priority.ts +0 -20
- package/src/mem_pools/tx_pool/tx_pool.ts +0 -141
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +0 -319
- package/src/msg_validators/clock_tolerance.ts +0 -51
- package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -373
- 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 -387
- package/src/services/tx_collection/missing_txs_tracker.ts +0 -52
- package/src/services/tx_collection/proposal_tx_collector.ts +0 -113
- package/src/services/tx_collection/slow_tx_collection.ts +0 -266
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
import { BlockHash } from '@aztec/stdlib/block';
|
|
3
3
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
4
4
|
import { EvictionEvent } from './interfaces.js';
|
|
5
5
|
/**
|
|
@@ -34,7 +34,7 @@ import { EvictionEvent } from './interfaces.js';
|
|
|
34
34
|
const blockHashStr = meta.anchorBlockHeaderHash;
|
|
35
35
|
if (!txsByBlockHash.has(blockHashStr)) {
|
|
36
36
|
txsByBlockHash.set(blockHashStr, []);
|
|
37
|
-
uniqueBlockHashes.set(blockHashStr,
|
|
37
|
+
uniqueBlockHashes.set(blockHashStr, BlockHash.fromString(blockHashStr));
|
|
38
38
|
}
|
|
39
39
|
txsByBlockHash.get(blockHashStr).push(meta.txHash);
|
|
40
40
|
}
|
|
@@ -61,16 +61,15 @@ import { EvictionEvent } from './interfaces.js';
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
if (txsToEvict.length > 0) {
|
|
64
|
-
this.log.info(`Evicting ${txsToEvict.length} txs from pool
|
|
64
|
+
this.log.info(`Evicting ${txsToEvict.length} txs from pool referencing pruned blocks`, {
|
|
65
|
+
txsToEvict
|
|
66
|
+
});
|
|
65
67
|
await pool.deleteTxs(txsToEvict, this.name);
|
|
66
68
|
}
|
|
67
69
|
const keptCount = pendingTxs.length - txsToEvict.length;
|
|
68
70
|
if (keptCount > 0) {
|
|
69
|
-
this.log.
|
|
71
|
+
this.log.debug(`Kept ${keptCount} txs that did not reference pruned blocks`);
|
|
70
72
|
}
|
|
71
|
-
this.log.debug(`Evicted ${txsToEvict.length} invalid txs after reorg`, {
|
|
72
|
-
txHashes: txsToEvict
|
|
73
|
-
});
|
|
74
73
|
return {
|
|
75
74
|
reason: 'reorg_invalid_txs',
|
|
76
75
|
success: true,
|
|
@@ -13,4 +13,4 @@ export declare class LowPriorityEvictionRule implements EvictionRule {
|
|
|
13
13
|
evict(context: EvictionContext, pool: PoolOperations): Promise<EvictionResult>;
|
|
14
14
|
updateConfig(config: EvictionConfig): void;
|
|
15
15
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X2V2aWN0aW9uX3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9sb3dfcHJpb3JpdHlfZXZpY3Rpb25fcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHckg7OztHQUdHO0FBQ0gscUJBQWEsdUJBQXdCLFlBQVcsWUFBWTtJQUMxRCxTQUFnQixJQUFJLHlCQUF5QjtJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUE2RDtJQUN4RSxPQUFPLENBQUMsV0FBVyxDQUFTO0lBRTVCLFlBQVksTUFBTSxFQUFFO1FBQUUsV0FBVyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEVBRTFDO0lBRUssS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLGNBQWMsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBK0RuRjtJQUVELFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBYyxHQUFHLElBQUksQ0FJekM7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low_priority_eviction_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrH;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,SAAgB,IAAI,yBAAyB;IAE7C,OAAO,CAAC,GAAG,CAA6D;IACxE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAEK,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"low_priority_eviction_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_eviction_rule.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGrH;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,YAAY;IAC1D,SAAgB,IAAI,yBAAyB;IAE7C,OAAO,CAAC,GAAG,CAA6D;IACxE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAEK,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CA+DnF;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
|
|
@@ -42,15 +42,16 @@ import { EvictionEvent } from './interfaces.js';
|
|
|
42
42
|
if (context.event === EvictionEvent.TXS_ADDED) {
|
|
43
43
|
const toEvictSet = new Set(txsToEvict);
|
|
44
44
|
const numNewTxsEvicted = context.newTxHashes.filter((newTxHash)=>toEvictSet.has(newTxHash)).length;
|
|
45
|
-
this.log.info(`Evicted ${txsToEvict.length} low priority txs, including ${numNewTxsEvicted} newly added txs
|
|
45
|
+
this.log.info(`Evicted ${txsToEvict.length} low priority txs, including ${numNewTxsEvicted} newly added txs`, {
|
|
46
|
+
txsToEvict
|
|
47
|
+
});
|
|
46
48
|
} else {
|
|
47
|
-
this.log.info(`Evicted ${txsToEvict.length} low priority txs after chain prune
|
|
49
|
+
this.log.info(`Evicted ${txsToEvict.length} low priority txs after chain prune`, {
|
|
50
|
+
txsToEvict
|
|
51
|
+
});
|
|
48
52
|
}
|
|
49
53
|
await pool.deleteTxs(txsToEvict, this.name);
|
|
50
54
|
}
|
|
51
|
-
this.log.debug(`Evicted ${txsToEvict.length} low priority txs`, {
|
|
52
|
-
txHashes: txsToEvict
|
|
53
|
-
});
|
|
54
55
|
return {
|
|
55
56
|
reason: 'low_priority',
|
|
56
57
|
success: true,
|
|
@@ -17,4 +17,4 @@ export declare class LowPriorityPreAddRule implements PreAddRule {
|
|
|
17
17
|
check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, context?: PreAddContext): Promise<PreAddResult>;
|
|
18
18
|
updateConfig(config: EvictionConfig): void;
|
|
19
19
|
}
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG93X3ByaW9yaXR5X3ByZV9hZGRfcnVsZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2xvd19wcmlvcml0eV9wcmVfYWRkX3J1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLEtBQUssVUFBVSxFQUEyQyxNQUFNLG1CQUFtQixDQUFDO0FBQzdGLE9BQU8sRUFDTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qjs7Ozs7O0dBTUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxVQUFVO0lBQ3RELFNBQWdCLElBQUksdUJBQXVCO0lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQTREO0lBQ3ZFLE9BQU8sQ0FBQyxXQUFXLENBQVM7SUFFNUIsWUFBWSxNQUFNLEVBQUU7UUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFFMUM7SUFFRCxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0E4RDVHO0lBRUQsWUFBWSxDQUFDLE1BQU0sRUFBRSxjQUFjLEdBQUcsSUFBSSxDQUl6QztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"low_priority_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"low_priority_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA2C,MAAM,mBAAmB,CAAC;AAC7F,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA4D;IACvE,OAAO,CAAC,WAAW,CAAS;IAE5B,YAAY,MAAM,EAAE;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,EAE1C;IAED,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA8D5G;IAED,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAIzC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
-
import { comparePriority } from '../tx_metadata.js';
|
|
2
|
+
import { comparePriority, getMinimumPriceBumpFee } from '../tx_metadata.js';
|
|
3
3
|
import { TxPoolRejectionCode } from './interfaces.js';
|
|
4
4
|
/**
|
|
5
5
|
* Pre-add rule that checks if the pool is at capacity and handles low-priority eviction.
|
|
@@ -40,9 +40,10 @@ import { TxPoolRejectionCode } from './interfaces.js';
|
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
42
|
// Compare incoming tx against lowest priority tx.
|
|
43
|
-
// feeOnly mode (RPC): use strict fee comparison only — avoids churn from hash ordering
|
|
44
|
-
//
|
|
45
|
-
|
|
43
|
+
// feeOnly mode (RPC): use strict fee comparison only — avoids churn from hash ordering.
|
|
44
|
+
// When price bump is also set, require the bumped fee threshold.
|
|
45
|
+
// Default (gossip): use full comparePriority (fee + tx hash tiebreaker) for determinism.
|
|
46
|
+
const isHigherPriority = context?.feeComparisonOnly ? context.priceBumpPercentage !== undefined ? incomingMeta.priorityFee >= getMinimumPriceBumpFee(lowestPriorityMeta.priorityFee, context.priceBumpPercentage) : incomingMeta.priorityFee > lowestPriorityMeta.priorityFee : comparePriority(incomingMeta, lowestPriorityMeta) > 0;
|
|
46
47
|
if (isHigherPriority) {
|
|
47
48
|
this.log.debug(`Pool at capacity (${currentCount}/${this.maxPoolSize}), evicting ${lowestPriorityMeta.txHash} ` + `(priority ${lowestPriorityMeta.priorityFee}) for ${incomingMeta.txHash} (priority ${incomingMeta.priorityFee})`);
|
|
48
49
|
return Promise.resolve({
|
|
@@ -53,14 +54,15 @@ import { TxPoolRejectionCode } from './interfaces.js';
|
|
|
53
54
|
});
|
|
54
55
|
}
|
|
55
56
|
// Incoming tx has equal or lower priority - ignore it (it would be evicted anyway)
|
|
57
|
+
const minimumFee = context?.feeComparisonOnly && context.priceBumpPercentage !== undefined ? getMinimumPriceBumpFee(lowestPriorityMeta.priorityFee, context.priceBumpPercentage) : lowestPriorityMeta.priorityFee + 1n;
|
|
56
58
|
this.log.debug(`Pool at capacity (${currentCount}/${this.maxPoolSize}), ignoring ${incomingMeta.txHash} ` + `(priority ${incomingMeta.priorityFee}) - lower than existing minimum (priority ${lowestPriorityMeta.priorityFee})`);
|
|
57
59
|
return Promise.resolve({
|
|
58
60
|
shouldIgnore: true,
|
|
59
61
|
txHashesToEvict: [],
|
|
60
62
|
reason: {
|
|
61
63
|
code: TxPoolRejectionCode.LOW_PRIORITY_FEE,
|
|
62
|
-
message: `Tx does not meet minimum priority fee. Required: ${
|
|
63
|
-
minimumPriorityFee:
|
|
64
|
+
message: `Tx does not meet minimum priority fee. Required: ${minimumFee}, got: ${incomingMeta.priorityFee}`,
|
|
65
|
+
minimumPriorityFee: minimumFee,
|
|
64
66
|
txPriorityFee: incomingMeta.priorityFee
|
|
65
67
|
}
|
|
66
68
|
});
|
|
@@ -10,6 +10,6 @@ import type { PreAddContext, PreAddPoolAccess, PreAddResult, PreAddRule } from '
|
|
|
10
10
|
export declare class NullifierConflictRule implements PreAddRule {
|
|
11
11
|
readonly name = "NullifierConflict";
|
|
12
12
|
private log;
|
|
13
|
-
check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess,
|
|
13
|
+
check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, context?: PreAddContext): Promise<PreAddResult>;
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVsbGlmaWVyX2NvbmZsaWN0X3J1bGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9ldmljdGlvbi9udWxsaWZpZXJfY29uZmxpY3RfcnVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQTBCLE1BQU0sbUJBQW1CLENBQUM7QUFDNUUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRzs7Ozs7O0dBTUc7QUFDSCxxQkFBYSxxQkFBc0IsWUFBVyxVQUFVO0lBQ3RELFNBQWdCLElBQUksdUJBQXVCO0lBRTNDLE9BQU8sQ0FBQyxHQUFHLENBQTBEO0lBRXJFLEtBQUssQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQWE1RztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullifier_conflict_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjG;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA0D;IAErE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"nullifier_conflict_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAEjG;;;;;;GAMG;AACH,qBAAa,qBAAsB,YAAW,UAAU;IACtD,SAAgB,IAAI,uBAAuB;IAE3C,OAAO,CAAC,GAAG,CAA0D;IAErE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAa5G;CACF"}
|
|
@@ -9,8 +9,8 @@ import { checkNullifierConflict } from '../tx_metadata.js';
|
|
|
9
9
|
*/ export class NullifierConflictRule {
|
|
10
10
|
name = 'NullifierConflict';
|
|
11
11
|
log = createLogger('p2p:tx_pool_v2:nullifier_conflict_rule');
|
|
12
|
-
check(incomingMeta, poolAccess,
|
|
13
|
-
const result = checkNullifierConflict(incomingMeta, (nullifier)=>poolAccess.getTxHashByNullifier(nullifier), (txHash)=>poolAccess.getMetadata(txHash));
|
|
12
|
+
check(incomingMeta, poolAccess, context) {
|
|
13
|
+
const result = checkNullifierConflict(incomingMeta, (nullifier)=>poolAccess.getTxHashByNullifier(nullifier), (txHash)=>poolAccess.getMetadata(txHash), context?.priceBumpPercentage);
|
|
14
14
|
if (result.shouldIgnore) {
|
|
15
15
|
this.log.debug(`Ignoring tx ${incomingMeta.txHash}: ${result.reason?.message}`);
|
|
16
16
|
}
|
|
@@ -12,4 +12,14 @@ export declare class TxPoolV2Instrumentation {
|
|
|
12
12
|
recordMissingOnProtect(count: number): void;
|
|
13
13
|
recordMissingPreviouslyEvicted(count: number): void;
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Instrumentation for the tx pool serial queue: how long operations wait behind other queued work,
|
|
17
|
+
* how long they take to execute once running, and the current queue depth. All pool operations share
|
|
18
|
+
* a single serial queue, so contention here directly delays gossip tx validation.
|
|
19
|
+
*/
|
|
20
|
+
export declare class TxPoolQueueInstrumentation {
|
|
21
|
+
#private;
|
|
22
|
+
constructor(telemetry: TelemetryClient, getQueueLength: () => number);
|
|
23
|
+
record(operation: string, waitMs: number, executionMs: number): void;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFPTCxLQUFLLGVBQWUsRUFHckIsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyw0RUFBNEU7QUFDNUUsTUFBTSxNQUFNLHNCQUFzQixHQUFHLE1BQU0sTUFBTSxDQUFDO0FBRWxELDREQUE0RDtBQUM1RCxxQkFBYSx1QkFBdUI7O0lBU2xDLFlBQVksU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxzQkFBc0IsRUFtQnJGO0lBRUQsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFFNUM7SUFFRCxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFMUI7SUFFRCxjQUFjLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFM0I7SUFFRCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsTUFBTSxRQUVsQztJQUVELHNCQUFzQixDQUFDLEtBQUssRUFBRSxNQUFNLFFBRW5DO0lBRUQsOEJBQThCLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFM0M7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCxxQkFBYSwwQkFBMEI7O0lBSXJDLFlBQVksU0FBUyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLEVBUW5FO0lBRUQsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxRQUk1RDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,eAAe,EAGrB,MAAM,yBAAyB,CAAC;AAEjC,4EAA4E;AAC5E,MAAM,MAAM,sBAAsB,GAAG,MAAM,MAAM,CAAC;AAElD,4DAA4D;AAC5D,qBAAa,uBAAuB;;IASlC,YAAY,SAAS,EAAE,eAAe,EAAE,sBAAsB,EAAE,sBAAsB,EAmBrF;IAED,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAE5C;IAED,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1B;IAED,cAAc,CAAC,KAAK,EAAE,MAAM,QAE3B;IAED,qBAAqB,CAAC,KAAK,EAAE,MAAM,QAElC;IAED,sBAAsB,CAAC,KAAK,EAAE,MAAM,QAEnC;IAED,8BAA8B,CAAC,KAAK,EAAE,MAAM,QAE3C;CACF;AAED;;;;GAIG;AACH,qBAAa,0BAA0B;;IAIrC,YAAY,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,EAQnE;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAI5D;CACF"}
|
|
@@ -41,3 +41,27 @@ import { Attributes, Metrics, createUpDownCounterWithDefault } from '@aztec/tele
|
|
|
41
41
|
this.#missingPreviouslyEvictedCounter.add(count);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Instrumentation for the tx pool serial queue: how long operations wait behind other queued work,
|
|
46
|
+
* how long they take to execute once running, and the current queue depth. All pool operations share
|
|
47
|
+
* a single serial queue, so contention here directly delays gossip tx validation.
|
|
48
|
+
*/ export class TxPoolQueueInstrumentation {
|
|
49
|
+
#queueWait;
|
|
50
|
+
#queueExecution;
|
|
51
|
+
constructor(telemetry, getQueueLength){
|
|
52
|
+
const meter = telemetry.getMeter('TxPoolQueue');
|
|
53
|
+
this.#queueWait = meter.createHistogram(Metrics.MEMPOOL_TX_POOL_V2_QUEUE_WAIT);
|
|
54
|
+
this.#queueExecution = meter.createHistogram(Metrics.MEMPOOL_TX_POOL_V2_QUEUE_EXECUTION);
|
|
55
|
+
const queueLength = meter.createObservableGauge(Metrics.MEMPOOL_TX_POOL_V2_QUEUE_LENGTH);
|
|
56
|
+
queueLength.addCallback((result)=>{
|
|
57
|
+
result.observe(getQueueLength());
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
record(operation, waitMs, executionMs) {
|
|
61
|
+
const attributes = {
|
|
62
|
+
[Attributes.MEMPOOL_OPERATION]: operation
|
|
63
|
+
};
|
|
64
|
+
this.#queueWait.record(Math.ceil(waitMs), attributes);
|
|
65
|
+
this.#queueExecution.record(Math.ceil(executionMs), attributes);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
3
3
|
import type { L2Block, L2BlockId, L2BlockSource } from '@aztec/stdlib/block';
|
|
4
|
+
import type { BlockMinFeesProvider } from '@aztec/stdlib/gas';
|
|
4
5
|
import type { WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
|
|
5
6
|
import type { BlockHeader, Tx, TxHash, TxValidator } from '@aztec/stdlib/tx';
|
|
6
7
|
import type { TxPoolRejectionError } from './eviction/interfaces.js';
|
|
@@ -47,6 +48,13 @@ export type TxPoolV2Config = {
|
|
|
47
48
|
evictedTxCacheSize: number;
|
|
48
49
|
/** The probability (0-1) that a transaction is discarded. 0 disables dropping. For testing purposes only. */
|
|
49
50
|
dropTransactionsProbability: number;
|
|
51
|
+
/** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
|
|
52
|
+
priceBumpPercentage: bigint;
|
|
53
|
+
/**
|
|
54
|
+
* Number of slots behind the finalized tip to keep finalized txs for before deleting them. 0 deletes
|
|
55
|
+
* at the finalized tip (default).
|
|
56
|
+
*/
|
|
57
|
+
keepFinalizedTxsForSlots: number;
|
|
50
58
|
};
|
|
51
59
|
/**
|
|
52
60
|
* Default configuration values for TxPoolV2.
|
|
@@ -62,6 +70,10 @@ export type TxPoolV2Dependencies = {
|
|
|
62
70
|
worldStateSynchronizer: WorldStateSynchronizer;
|
|
63
71
|
/** Factory that creates a validator for re-validating pool transactions using metadata */
|
|
64
72
|
createTxValidator: () => Promise<TxValidator<TxMetaData>>;
|
|
73
|
+
/** Checks whether a tx's setup-phase calls are on the allow list. Precomputed at receipt time. */
|
|
74
|
+
checkAllowedSetupCalls: (tx: Tx) => Promise<boolean>;
|
|
75
|
+
/** Provides projected minimum fees for the next block. Used by eviction rules instead of stale block header fees. */
|
|
76
|
+
blockMinFeesProvider: BlockMinFeesProvider;
|
|
65
77
|
};
|
|
66
78
|
/**
|
|
67
79
|
* Read-only access to pool state for pre-add checks.
|
|
@@ -143,12 +155,22 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
143
155
|
*/
|
|
144
156
|
handleMinedBlock(block: L2Block): Promise<void>;
|
|
145
157
|
/**
|
|
146
|
-
* Prepares the pool for a new slot
|
|
147
|
-
*
|
|
148
|
-
*
|
|
149
|
-
*
|
|
158
|
+
* Prepares the pool for a new slot by unprotecting transactions from earlier
|
|
159
|
+
* slots and re-validating them before returning to pending state.
|
|
160
|
+
* @param slotNumber - The pipeline slot we are building for (i.e. the slot
|
|
161
|
+
* the resulting blocks will target on L1).
|
|
150
162
|
*/
|
|
151
163
|
prepareForSlot(slotNumber: SlotNumber): Promise<void>;
|
|
164
|
+
/**
|
|
165
|
+
* Releases the protections a failed block proposal created and restores the txs to pending.
|
|
166
|
+
* Only clears protection entries still recorded at exactly the given slot: a tx that another,
|
|
167
|
+
* still-live proposal raised to a higher slot via {@link protectTxs} keeps its protection, and
|
|
168
|
+
* mined txs (which carry no protection entry) are left untouched. Restored txs are re-validated
|
|
169
|
+
* and resolved against nullifier conflicts before re-entering the pending indices.
|
|
170
|
+
* @param txHashes - Hashes of the proposal's txs to release.
|
|
171
|
+
* @param slotNumber - The slot the failed proposal targeted; protection is released only for this slot.
|
|
172
|
+
*/
|
|
173
|
+
unprotectTxs(txHashes: TxHash[], slotNumber: SlotNumber): Promise<void>;
|
|
152
174
|
/**
|
|
153
175
|
* Handles pruned blocks during a reorg.
|
|
154
176
|
* Un-mines all transactions mined in blocks beyond the given latest block
|
|
@@ -170,10 +192,14 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
170
192
|
* @param block - Header of the finalized block
|
|
171
193
|
*/
|
|
172
194
|
handleFinalizedBlock(block: BlockHeader): Promise<void>;
|
|
173
|
-
/** Gets a transaction by its hash */
|
|
174
|
-
getTxByHash(txHash: TxHash
|
|
175
|
-
|
|
176
|
-
|
|
195
|
+
/** Gets a transaction by its hash. Set `includeProof: false` to skip loading the proof from the DB. */
|
|
196
|
+
getTxByHash(txHash: TxHash, opts?: {
|
|
197
|
+
includeProof?: boolean;
|
|
198
|
+
}): Promise<Tx | undefined>;
|
|
199
|
+
/** Gets multiple transactions by their hashes. Set `includeProof: false` to skip loading proofs from the DB. */
|
|
200
|
+
getTxsByHash(txHashes: TxHash[], opts?: {
|
|
201
|
+
includeProof?: boolean;
|
|
202
|
+
}): Promise<(Tx | undefined)[]>;
|
|
177
203
|
/** Checks if transactions exist in the pool */
|
|
178
204
|
hasTxs(txHashes: TxHash[]): Promise<boolean[]>;
|
|
179
205
|
/** Gets the status of a transaction */
|
|
@@ -184,6 +210,12 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
184
210
|
getEligiblePendingTxHashes(): Promise<TxHash[]>;
|
|
185
211
|
/** Gets the count of pending transactions */
|
|
186
212
|
getPendingTxCount(): Promise<number>;
|
|
213
|
+
/**
|
|
214
|
+
* Returns whether at least `minCount` pending transactions are old enough per minTxPoolAgeMs to be eligible
|
|
215
|
+
* for block building. Stops scanning once the threshold is reached, so it is cheaper than counting all
|
|
216
|
+
* eligible txs when only a few are needed.
|
|
217
|
+
*/
|
|
218
|
+
hasEligiblePendingTxs(minCount: number): Promise<boolean>;
|
|
187
219
|
/** Gets mined transaction hashes with their block IDs */
|
|
188
220
|
getMinedTxHashes(): Promise<[TxHash, L2BlockId][]>;
|
|
189
221
|
/** Gets the count of mined transactions */
|
|
@@ -208,4 +240,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
208
240
|
/** Stops the pool and releases resources */
|
|
209
241
|
stop(): Promise<void>;
|
|
210
242
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU3RSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RDs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sWUFBWSxHQUFHO0lBQ3pCLGtEQUFrRDtJQUNsRCxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsc0hBQXNIO0lBQ3RILE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNsQixvR0FBb0c7SUFDcEcsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLGdHQUFnRztJQUNoRyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7Q0FDNUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixtRUFBbUU7SUFDbkUsV0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE7E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,sHAAsH;IACtH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,oGAAoG;IACpG,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gGAAgG;IAChG,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CAC5C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,mEAAmE;IACnE,WAAW,EAAE,CAAC,IAAI,EAAE;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC5D,0DAA0D;IAC1D,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,KAAK,IAAI,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,0EAA0E;IAC1E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,eAAe,EAAE,MAAM,CAAC;IACxB,wGAAwG;IACxG,cAAc,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6GAA6G;IAC7G,2BAA2B,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { BlockHash, type L2BlockId } from '@aztec/stdlib/block';
|
|
4
|
-
import { Gas } from '@aztec/stdlib/gas';
|
|
4
|
+
import { Gas, GasFees } from '@aztec/stdlib/gas';
|
|
5
5
|
import { type Tx } from '@aztec/stdlib/tx';
|
|
6
6
|
import { type PreAddResult } from './eviction/interfaces.js';
|
|
7
7
|
/** Validator-compatible data interface, mirroring the subset of PrivateKernelTailCircuitPublicInputs used by validators. */
|
|
@@ -20,6 +20,7 @@ export type TxMetaValidationData = {
|
|
|
20
20
|
txContext: {
|
|
21
21
|
gasSettings: {
|
|
22
22
|
gasLimits: Gas;
|
|
23
|
+
maxFeesPerGas: GasFees;
|
|
23
24
|
};
|
|
24
25
|
};
|
|
25
26
|
};
|
|
@@ -53,6 +54,8 @@ export type TxMetaData = {
|
|
|
53
54
|
readonly nullifiers: readonly string[];
|
|
54
55
|
/** Timestamp by which the transaction must be included (for expiration checks) */
|
|
55
56
|
readonly expirationTimestamp: bigint;
|
|
57
|
+
/** Whether the tx's setup-phase calls pass the allow list check. Computed at receipt time. */
|
|
58
|
+
readonly allowedSetupCalls: boolean;
|
|
56
59
|
/** Validator-compatible data, providing the same access patterns as Tx.data */
|
|
57
60
|
readonly data: TxMetaValidationData;
|
|
58
61
|
/** Timestamp (ms) when the tx was received into the pool. 0 for hydrated txs (always eligible). */
|
|
@@ -66,44 +69,58 @@ export type TxState = 'pending' | 'protected' | 'mined' | 'deleted';
|
|
|
66
69
|
* Builds TxMetaData from a full Tx object.
|
|
67
70
|
* Extracts all relevant fields for efficient in-memory storage and querying.
|
|
68
71
|
* Fr values are captured in closures for zero-cost re-validation.
|
|
72
|
+
*
|
|
73
|
+
* @param allowedSetupCalls - Whether the tx's setup-phase calls pass the allow list.
|
|
74
|
+
* For gossip/RPC txs this is always `true` (already validated by PhasesTxValidator).
|
|
75
|
+
* For req/resp txs this should be computed by the caller using the phases validator.
|
|
69
76
|
*/
|
|
70
|
-
export declare function buildTxMetaData(tx: Tx): Promise<TxMetaData>;
|
|
77
|
+
export declare function buildTxMetaData(tx: Tx, allowedSetupCalls?: boolean): Promise<TxMetaData>;
|
|
71
78
|
/** Converts a txHash bigint back to the canonical 0x-prefixed 64-char hex string. */
|
|
72
79
|
export declare function txHashFromBigInt(value: bigint): string;
|
|
73
80
|
/** Minimal fields required for priority comparison. */
|
|
74
|
-
type PriorityComparable = Pick<TxMetaData, 'txHashBigInt' | 'priorityFee'>;
|
|
81
|
+
export type PriorityComparable = Pick<TxMetaData, 'txHash' | 'txHashBigInt' | 'priorityFee'>;
|
|
75
82
|
/**
|
|
76
83
|
* Compares two priority fees in ascending order.
|
|
77
84
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
78
85
|
*/
|
|
79
|
-
export declare function compareFee(a: bigint, b: bigint):
|
|
86
|
+
export declare function compareFee(a: bigint, b: bigint): -1 | 0 | 1;
|
|
80
87
|
/**
|
|
81
88
|
* Compares two tx hashes in ascending order.
|
|
82
89
|
* Uses field element comparison for deterministic ordering.
|
|
83
90
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
84
91
|
*/
|
|
85
|
-
export declare function compareTxHash(a: bigint, b: bigint):
|
|
92
|
+
export declare function compareTxHash(a: bigint, b: bigint): -1 | 0 | 1;
|
|
86
93
|
/**
|
|
87
94
|
* Compares two transactions by priority fee, with txHash as tiebreaker.
|
|
88
95
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
89
96
|
* Use with sort() for ascending order, or negate/reverse for descending.
|
|
90
97
|
*/
|
|
91
|
-
export declare function comparePriority(a: PriorityComparable, b: PriorityComparable):
|
|
98
|
+
export declare function comparePriority(a: PriorityComparable, b: PriorityComparable): -1 | 0 | 1;
|
|
99
|
+
/**
|
|
100
|
+
* Returns the minimum fee required to replace an existing tx with the given price bump percentage.
|
|
101
|
+
* Uses integer arithmetic: `existingFee + existingFee * priceBumpPercentage / 100`.
|
|
102
|
+
*/
|
|
103
|
+
export declare function getMinimumPriceBumpFee(existingFee: bigint, priceBumpPercentage: bigint): bigint;
|
|
92
104
|
/**
|
|
93
105
|
* Checks for nullifier conflicts between an incoming transaction and existing pool state.
|
|
94
106
|
*
|
|
95
107
|
* When the incoming tx shares nullifiers with existing pending txs:
|
|
96
|
-
* - If the incoming tx
|
|
97
|
-
* -
|
|
108
|
+
* - If the incoming tx meets or exceeds the required priority, mark conflicting txs for eviction
|
|
109
|
+
* - Otherwise, ignore the incoming tx
|
|
110
|
+
*
|
|
111
|
+
* When `priceBumpPercentage` is provided (RPC path), uses fee-only comparison with the
|
|
112
|
+
* percentage bump instead of `comparePriority`.
|
|
98
113
|
*
|
|
99
114
|
* @param incomingMeta - Metadata for the incoming transaction
|
|
100
115
|
* @param getTxHashByNullifier - Accessor to find which tx uses a nullifier
|
|
101
116
|
* @param getMetadata - Accessor to get metadata for a tx hash
|
|
117
|
+
* @param priceBumpPercentage - Optional percentage bump required for fee-based replacement
|
|
102
118
|
*/
|
|
103
|
-
export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined): PreAddResult;
|
|
119
|
+
export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined, priceBumpPercentage?: bigint): PreAddResult;
|
|
104
120
|
/** Creates a stub TxMetaValidationData for tests that don't exercise validators. */
|
|
105
121
|
export declare function stubTxMetaValidationData(overrides?: {
|
|
106
122
|
expirationTimestamp?: bigint;
|
|
123
|
+
maxFeesPerGas?: GasFees;
|
|
107
124
|
}): TxMetaValidationData;
|
|
108
125
|
/** Creates a stub TxMetaData for tests. All fields have sensible defaults and can be overridden. */
|
|
109
126
|
export declare function stubTxMetaData(txHash: string, overrides?: {
|
|
@@ -114,6 +131,7 @@ export declare function stubTxMetaData(txHash: string, overrides?: {
|
|
|
114
131
|
nullifiers?: string[];
|
|
115
132
|
expirationTimestamp?: bigint;
|
|
116
133
|
anchorBlockHeaderHash?: string;
|
|
134
|
+
allowedSetupCalls?: boolean;
|
|
135
|
+
maxFeesPerGas?: GasFees;
|
|
117
136
|
}): TxMetaData;
|
|
118
|
-
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi90eF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFJbkQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUF1QixNQUFNLDBCQUEwQixDQUFDO0FBRWxGLDRIQUE0SDtBQUM1SCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMscUJBQXFCLElBQUksRUFBRSxFQUFFLENBQUM7SUFDOUIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLGtGQUFrRjtJQUNsRixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDcEIsU0FBUyxFQUFFO1FBQ1QsaUJBQWlCLEVBQUU7WUFDakIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQzthQUMxQixDQUFDO1NBQ0gsQ0FBQztRQUNGLFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRTtnQkFBRSxTQUFTLEVBQUUsR0FBRyxDQUFBO2FBQUUsQ0FBQztTQUNqQyxDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qix5Q0FBeUM7SUFDekMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFeEIsa0ZBQWtGO0lBQ2xGLFFBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBRTlCLDZGQUE2RjtJQUM3RixjQUFjLENBQUMsRUFBRSxTQUFTLENBQUM7SUFFM0IsK0VBQStFO0lBQy9FLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFFdkMsZ0VBQWdFO0lBQ2hFLFFBQVEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO0lBRTdCLDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztJQUUxQix5Q0FBeUM7SUFDekMsUUFBUSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFFN0Isb0JBQW9CO0lBQ3BCLFFBQVEsQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBRTFCLG9FQUFvRTtJQUNwRSxRQUFRLENBQUMsVUFBVSxFQUFFLFNBQVMsTUFBTSxFQUFFLENBQUM7SUFFdkMsa0ZBQWtGO0lBQ2xGLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFckMsK0VBQStFO0lBQy9FLFFBQVEsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLENBQUM7SUFFcEMsbUdBQW1HO0lBQ25HLFVBQVUsRUFBRSxNQUFNLENBQUM7SUFFbkIsa0VBQWtFO0lBQ2xFLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7Q0FDckMsQ0FBQztBQUVGLGtGQUFrRjtBQUNsRixNQUFNLE1BQU0sT0FBTyxHQUFHLFNBQVMsR0FBRyxXQUFXLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FBQztBQUVwRTs7OztHQUlHO0FBQ0gsd0JBQXNCLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0E0Q2pFO0FBdUJELHFGQUFxRjtBQUNyRix3QkFBZ0IsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRXREO0FBRUQsdURBQXVEO0FBQ3ZELEtBQUssa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxjQUFjLEdBQUcsYUFBYSxDQUFDLENBQUM7QUFFM0U7OztHQUdHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUV2RDtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsYUFBYSxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBRTFEO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQixlQUFlLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxrQkFBa0IsR0FBRyxNQUFNLENBTXBGO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQixzQkFBc0IsQ0FDcEMsWUFBWSxFQUFFLFVBQVUsRUFDeEIsb0JBQW9CLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLE1BQU0sR0FBRyxTQUFTLEVBQy9ELFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxNQUFNLEtBQUssVUFBVSxHQUFHLFNBQVMsR0FDdEQsWUFBWSxDQXVDZDtBQUVELG9GQUFvRjtBQUNwRix3QkFBZ0Isd0JBQXdCLENBQUMsU0FBUyxHQUFFO0lBQUUsbUJBQW1CLENBQUMsRUFBRSxNQUFNLENBQUE7Q0FBTyxHQUFHLG9CQUFvQixDQWMvRztBQUVELG9HQUFvRztBQUNwRyx3QkFBZ0IsY0FBYyxDQUM1QixNQUFNLEVBQUUsTUFBTSxFQUNkLFNBQVMsR0FBRTtJQUNULFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNyQixRQUFRLENBQUMsRUFBRSxNQUFNLENBQUM7SUFDbEIsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3JCLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQixVQUFVLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN0QixtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUM3QixxQkFBcUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUMzQixHQUNMLFVBQVUsQ0FtQloifQ==
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi90eF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBVSxNQUFNLGtCQUFrQixDQUFDO0FBR25ELE9BQU8sRUFBRSxLQUFLLFlBQVksRUFBdUIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsRiw0SEFBNEg7QUFDNUgsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLHFCQUFxQixJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzlCLG1CQUFtQixFQUFFLE1BQU0sQ0FBQztJQUM1QixrRkFBa0Y7SUFDbEYsU0FBUyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3BCLFNBQVMsRUFBRTtRQUNULGlCQUFpQixFQUFFO1lBQ2pCLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDM0IsZUFBZSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxXQUFXLENBQUM7YUFDMUIsQ0FBQztTQUNILENBQUM7UUFDRixTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUU7Z0JBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQztnQkFBQyxhQUFhLEVBQUUsT0FBTyxDQUFBO2FBQUUsQ0FBQztTQUN6RCxDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qix5Q0FBeUM7SUFDekMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_metadata.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_metadata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tx_metadata.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_metadata.ts"],"names":[],"mappings":"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"}
|