@aztec/p2p 0.0.0-test.1 → 0.0.1-commit.5476d83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bootstrap/bootstrap.d.ts +1 -1
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +22 -9
- package/dest/client/factory.d.ts +14 -4
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +60 -24
- package/dest/client/index.d.ts +2 -1
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +1 -0
- package/dest/client/interface.d.ts +157 -0
- package/dest/client/interface.d.ts.map +1 -0
- package/dest/client/interface.js +9 -0
- package/dest/client/p2p_client.d.ts +72 -187
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +373 -177
- package/dest/config.d.ts +151 -125
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +183 -34
- package/dest/enr/generate-enr.d.ts +11 -3
- package/dest/enr/generate-enr.d.ts.map +1 -1
- package/dest/enr/generate-enr.js +27 -5
- package/dest/enr/index.d.ts +1 -1
- package/dest/errors/attestation-pool.error.d.ts +7 -0
- package/dest/errors/attestation-pool.error.d.ts.map +1 -0
- package/dest/errors/attestation-pool.error.js +12 -0
- package/dest/errors/reqresp.error.d.ts +1 -1
- package/dest/errors/reqresp.error.d.ts.map +1 -1
- package/dest/index.d.ts +4 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +68 -8
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +214 -63
- package/dest/mem_pools/attestation_pool/index.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts +21 -6
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/kv_attestation_pool.js +126 -25
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts +19 -6
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/memory_attestation_pool.js +111 -21
- package/dest/mem_pools/attestation_pool/mocks.d.ts +225 -5
- package/dest/mem_pools/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/mocks.js +9 -15
- package/dest/mem_pools/index.d.ts +1 -1
- package/dest/mem_pools/instrumentation.d.ts +10 -12
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +35 -38
- package/dest/mem_pools/interface.d.ts +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +62 -13
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.js +469 -97
- package/dest/mem_pools/tx_pool/index.d.ts +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +34 -10
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +133 -36
- package/dest/mem_pools/tx_pool/priority.d.ts +1 -1
- package/dest/mem_pools/tx_pool/priority.js +1 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +65 -9
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +264 -39
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +4 -2
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +45 -9
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts +20 -0
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.d.ts.map +1 -0
- package/dest/msg_validators/attestation_validator/fisherman_attestation_validator.js +67 -0
- package/dest/msg_validators/attestation_validator/index.d.ts +2 -1
- package/dest/msg_validators/attestation_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/index.js +1 -0
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts +6 -2
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/block_proposal_validator/block_proposal_validator.js +73 -12
- package/dest/msg_validators/block_proposal_validator/index.d.ts +1 -1
- package/dest/msg_validators/index.d.ts +1 -1
- package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts +10 -0
- package/dest/msg_validators/msg_seen_validator/msg_seen_validator.d.ts.map +1 -0
- package/dest/msg_validators/msg_seen_validator/msg_seen_validator.js +36 -0
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +3 -0
- package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/allowed_public_setup.js +27 -0
- package/dest/msg_validators/tx_validator/archive_cache.d.ts +14 -0
- package/dest/msg_validators/tx_validator/archive_cache.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/archive_cache.js +22 -0
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/block_header_validator.js +4 -4
- package/dest/msg_validators/tx_validator/data_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +56 -86
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts +1 -3
- package/dest/msg_validators/tx_validator/double_spend_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/double_spend_validator.js +21 -27
- package/dest/msg_validators/tx_validator/factory.d.ts +15 -0
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/factory.js +74 -0
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +11 -0
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/gas_validator.js +115 -0
- package/dest/msg_validators/tx_validator/index.d.ts +8 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +7 -0
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts +8 -4
- package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/metadata_validator.js +39 -20
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +14 -0
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/phases_validator.js +93 -0
- package/dest/msg_validators/tx_validator/test_utils.d.ts +17 -0
- package/dest/msg_validators/tx_validator/test_utils.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/test_utils.js +22 -0
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +12 -0
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/timestamp_validator.js +32 -0
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts +8 -0
- package/dest/msg_validators/tx_validator/tx_permitted_validator.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/tx_permitted_validator.js +24 -0
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/tx_proof_validator.js +6 -5
- package/dest/services/data_store.d.ts +1 -1
- package/dest/services/data_store.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.d.ts +10 -9
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +63 -36
- package/dest/services/dummy_service.d.ts +50 -11
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +88 -5
- package/dest/services/encoding.d.ts +26 -7
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +73 -5
- package/dest/services/gossipsub/scoring.d.ts +1 -1
- package/dest/services/index.d.ts +5 -1
- package/dest/services/index.d.ts.map +1 -1
- package/dest/services/index.js +4 -0
- package/dest/services/libp2p/instrumentation.d.ts +20 -0
- package/dest/services/libp2p/instrumentation.d.ts.map +1 -0
- package/dest/services/libp2p/instrumentation.js +164 -0
- package/dest/services/libp2p/libp2p_service.d.ts +78 -89
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +698 -246
- package/dest/services/peer-manager/interface.d.ts +23 -0
- package/dest/services/peer-manager/interface.d.ts.map +1 -0
- package/dest/services/peer-manager/interface.js +1 -0
- package/dest/services/peer-manager/metrics.d.ts +6 -2
- package/dest/services/peer-manager/metrics.d.ts.map +1 -1
- package/dest/services/peer-manager/metrics.js +22 -2
- package/dest/services/peer-manager/peer_manager.d.ts +102 -22
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +549 -72
- package/dest/services/peer-manager/peer_scoring.d.ts +7 -2
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +40 -2
- package/dest/services/reqresp/config.d.ts +11 -9
- package/dest/services/reqresp/config.d.ts.map +1 -1
- package/dest/services/reqresp/config.js +18 -4
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts +2 -2
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/batch_connection_sampler.js +10 -6
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts +31 -17
- package/dest/services/reqresp/connection-sampler/connection_sampler.d.ts.map +1 -1
- package/dest/services/reqresp/connection-sampler/connection_sampler.js +142 -84
- package/dest/services/reqresp/index.d.ts +3 -2
- package/dest/services/reqresp/index.d.ts.map +1 -1
- package/dest/services/reqresp/index.js +2 -1
- package/dest/services/reqresp/interface.d.ts +73 -24
- package/dest/services/reqresp/interface.d.ts.map +1 -1
- package/dest/services/reqresp/interface.js +45 -26
- package/dest/services/reqresp/metrics.d.ts +1 -1
- package/dest/services/reqresp/metrics.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/auth.d.ts +43 -0
- package/dest/services/reqresp/protocols/auth.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/auth.js +71 -0
- package/dest/services/reqresp/protocols/block.d.ts +6 -1
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block.js +28 -5
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +30 -0
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block_txs/bitvector.js +75 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +11 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +39 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts +47 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_reqresp.js +75 -0
- package/dest/services/reqresp/protocols/block_txs/index.d.ts +4 -0
- package/dest/services/reqresp/protocols/block_txs/index.d.ts.map +1 -0
- package/dest/services/reqresp/protocols/block_txs/index.js +3 -0
- package/dest/services/reqresp/protocols/goodbye.d.ts +3 -5
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/goodbye.js +7 -7
- package/dest/services/reqresp/protocols/index.d.ts +3 -1
- package/dest/services/reqresp/protocols/index.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/index.js +2 -0
- package/dest/services/reqresp/protocols/ping.d.ts +1 -3
- package/dest/services/reqresp/protocols/ping.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/status.d.ts +39 -7
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/status.js +72 -5
- package/dest/services/reqresp/protocols/tx.d.ts +13 -2
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/tx.js +34 -6
- package/dest/services/reqresp/rate-limiter/index.d.ts +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts +6 -4
- package/dest/services/reqresp/rate-limiter/rate_limiter.d.ts.map +1 -1
- package/dest/services/reqresp/rate-limiter/rate_limiter.js +10 -2
- 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 +21 -1
- package/dest/services/reqresp/reqresp.d.ts +24 -66
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +298 -207
- package/dest/services/reqresp/status.d.ts +10 -4
- package/dest/services/reqresp/status.d.ts.map +1 -1
- package/dest/services/reqresp/status.js +9 -2
- package/dest/services/service.d.ts +23 -19
- package/dest/services/service.d.ts.map +1 -1
- package/dest/services/tx_collection/config.d.ts +25 -0
- package/dest/services/tx_collection/config.d.ts.map +1 -0
- package/dest/services/tx_collection/config.js +58 -0
- package/dest/services/tx_collection/fast_tx_collection.d.ts +50 -0
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -0
- package/dest/services/tx_collection/fast_tx_collection.js +300 -0
- package/dest/services/tx_collection/index.d.ts +3 -0
- package/dest/services/tx_collection/index.d.ts.map +1 -0
- package/dest/services/tx_collection/index.js +2 -0
- package/dest/services/tx_collection/instrumentation.d.ts +10 -0
- package/dest/services/tx_collection/instrumentation.d.ts.map +1 -0
- package/dest/services/tx_collection/instrumentation.js +34 -0
- package/dest/services/tx_collection/slow_tx_collection.d.ts +52 -0
- package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -0
- package/dest/services/tx_collection/slow_tx_collection.js +177 -0
- package/dest/services/tx_collection/tx_collection.d.ts +109 -0
- package/dest/services/tx_collection/tx_collection.d.ts.map +1 -0
- package/dest/services/tx_collection/tx_collection.js +128 -0
- package/dest/services/tx_collection/tx_collection_sink.d.ts +30 -0
- package/dest/services/tx_collection/tx_collection_sink.d.ts.map +1 -0
- package/dest/services/tx_collection/tx_collection_sink.js +111 -0
- package/dest/services/tx_collection/tx_source.d.ts +18 -0
- package/dest/services/tx_collection/tx_source.d.ts.map +1 -0
- package/dest/services/tx_collection/tx_source.js +31 -0
- package/dest/services/tx_provider.d.ts +49 -0
- package/dest/services/tx_provider.d.ts.map +1 -0
- package/dest/services/tx_provider.js +210 -0
- package/dest/services/tx_provider_instrumentation.d.ts +13 -0
- package/dest/services/tx_provider_instrumentation.d.ts.map +1 -0
- package/dest/services/tx_provider_instrumentation.js +34 -0
- package/dest/test-helpers/generate-peer-id-private-keys.d.ts +1 -1
- package/dest/test-helpers/get-ports.d.ts +1 -1
- package/dest/test-helpers/get-ports.d.ts.map +1 -1
- package/dest/test-helpers/index.d.ts +2 -1
- package/dest/test-helpers/index.d.ts.map +1 -1
- package/dest/test-helpers/index.js +1 -0
- package/dest/test-helpers/make-enrs.d.ts +1 -1
- package/dest/test-helpers/make-enrs.d.ts.map +1 -1
- package/dest/test-helpers/make-enrs.js +4 -5
- package/dest/test-helpers/make-test-p2p-clients.d.ts +33 -5
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +86 -16
- package/dest/test-helpers/mock-pubsub.d.ts +59 -0
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -0
- package/dest/test-helpers/mock-pubsub.js +130 -0
- package/dest/test-helpers/mock-tx-helpers.d.ts +12 -0
- package/dest/test-helpers/mock-tx-helpers.d.ts.map +1 -0
- package/dest/test-helpers/mock-tx-helpers.js +19 -0
- package/dest/test-helpers/reqresp-nodes.d.ts +15 -11
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +62 -28
- package/dest/testbench/p2p_client_testbench_worker.d.ts +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +103 -29
- package/dest/testbench/parse_log_file.d.ts +1 -1
- package/dest/testbench/parse_log_file.js +4 -4
- package/dest/testbench/testbench.d.ts +1 -1
- package/dest/testbench/testbench.js +4 -4
- package/dest/testbench/worker_client_manager.d.ts +1 -6
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +11 -19
- package/dest/types/index.d.ts +4 -2
- package/dest/types/index.d.ts.map +1 -1
- package/dest/types/index.js +2 -0
- package/dest/util.d.ts +24 -16
- package/dest/util.d.ts.map +1 -1
- package/dest/util.js +75 -69
- package/dest/versioning.d.ts +4 -4
- package/dest/versioning.d.ts.map +1 -1
- package/dest/versioning.js +8 -3
- package/package.json +32 -27
- package/src/bootstrap/bootstrap.ts +27 -11
- package/src/client/factory.ts +136 -45
- package/src/client/index.ts +1 -0
- package/src/client/interface.ts +198 -0
- package/src/client/p2p_client.ts +469 -330
- package/src/config.ts +305 -134
- package/src/enr/generate-enr.ts +39 -6
- package/src/errors/attestation-pool.error.ts +13 -0
- package/src/index.ts +4 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +75 -7
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +264 -65
- package/src/mem_pools/attestation_pool/kv_attestation_pool.ts +173 -34
- package/src/mem_pools/attestation_pool/memory_attestation_pool.ts +156 -30
- package/src/mem_pools/attestation_pool/mocks.ts +11 -10
- package/src/mem_pools/instrumentation.ts +43 -44
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +549 -108
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +153 -44
- package/src/mem_pools/tx_pool/priority.ts +1 -1
- package/src/mem_pools/tx_pool/tx_pool.ts +67 -8
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +217 -34
- package/src/msg_validators/attestation_validator/attestation_validator.ts +54 -11
- package/src/msg_validators/attestation_validator/fisherman_attestation_validator.ts +91 -0
- package/src/msg_validators/attestation_validator/index.ts +1 -0
- package/src/msg_validators/block_proposal_validator/block_proposal_validator.ts +82 -14
- package/src/msg_validators/msg_seen_validator/msg_seen_validator.ts +36 -0
- package/src/msg_validators/tx_validator/allowed_public_setup.ts +35 -0
- package/src/msg_validators/tx_validator/archive_cache.ts +28 -0
- package/src/msg_validators/tx_validator/block_header_validator.ts +4 -4
- package/src/msg_validators/tx_validator/data_validator.ts +81 -69
- package/src/msg_validators/tx_validator/double_spend_validator.ts +19 -17
- package/src/msg_validators/tx_validator/factory.ts +109 -0
- package/src/msg_validators/tx_validator/gas_validator.ts +134 -0
- package/src/msg_validators/tx_validator/index.ts +7 -0
- package/src/msg_validators/tx_validator/metadata_validator.ts +58 -21
- package/src/msg_validators/tx_validator/phases_validator.ts +116 -0
- package/src/msg_validators/tx_validator/test_utils.ts +43 -0
- package/src/msg_validators/tx_validator/timestamp_validator.ts +46 -0
- package/src/msg_validators/tx_validator/tx_permitted_validator.ts +17 -0
- package/src/msg_validators/tx_validator/tx_proof_validator.ts +6 -5
- package/src/services/discv5/discV5_service.ts +84 -38
- package/src/services/dummy_service.ts +147 -9
- package/src/services/encoding.ts +80 -5
- package/src/services/index.ts +4 -0
- package/src/services/libp2p/instrumentation.ts +167 -0
- package/src/services/libp2p/libp2p_service.ts +866 -294
- package/src/services/peer-manager/interface.ts +29 -0
- package/src/services/peer-manager/metrics.ts +26 -1
- package/src/services/peer-manager/peer_manager.ts +654 -78
- package/src/services/peer-manager/peer_scoring.ts +46 -3
- package/src/services/reqresp/config.ts +26 -9
- package/src/services/reqresp/connection-sampler/batch_connection_sampler.ts +12 -6
- package/src/services/reqresp/connection-sampler/connection_sampler.ts +148 -95
- package/src/services/reqresp/index.ts +2 -0
- package/src/services/reqresp/interface.ts +91 -36
- package/src/services/reqresp/metrics.ts +4 -1
- package/src/services/reqresp/protocols/auth.ts +83 -0
- package/src/services/reqresp/protocols/block.ts +24 -3
- package/src/services/reqresp/protocols/block_txs/bitvector.ts +90 -0
- package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +53 -0
- package/src/services/reqresp/protocols/block_txs/block_txs_reqresp.ts +79 -0
- package/src/services/reqresp/protocols/block_txs/index.ts +3 -0
- package/src/services/reqresp/protocols/goodbye.ts +9 -7
- package/src/services/reqresp/protocols/index.ts +2 -0
- package/src/services/reqresp/protocols/status.ts +117 -5
- package/src/services/reqresp/protocols/tx.ts +35 -6
- package/src/services/reqresp/rate-limiter/rate_limiter.ts +12 -3
- package/src/services/reqresp/rate-limiter/rate_limits.ts +21 -1
- package/src/services/reqresp/reqresp.ts +387 -256
- package/src/services/reqresp/status.ts +12 -3
- package/src/services/service.ts +45 -21
- package/src/services/tx_collection/config.ts +84 -0
- package/src/services/tx_collection/fast_tx_collection.ts +340 -0
- package/src/services/tx_collection/index.ts +2 -0
- package/src/services/tx_collection/instrumentation.ts +43 -0
- package/src/services/tx_collection/slow_tx_collection.ts +233 -0
- package/src/services/tx_collection/tx_collection.ts +215 -0
- package/src/services/tx_collection/tx_collection_sink.ts +129 -0
- package/src/services/tx_collection/tx_source.ts +37 -0
- package/src/services/tx_provider.ts +216 -0
- package/src/services/tx_provider_instrumentation.ts +44 -0
- package/src/test-helpers/index.ts +1 -0
- package/src/test-helpers/make-enrs.ts +4 -5
- package/src/test-helpers/make-test-p2p-clients.ts +111 -21
- package/src/test-helpers/mock-pubsub.ts +188 -0
- package/src/test-helpers/mock-tx-helpers.ts +24 -0
- package/src/test-helpers/reqresp-nodes.ts +86 -35
- package/src/testbench/p2p_client_testbench_worker.ts +151 -25
- package/src/testbench/parse_log_file.ts +4 -4
- package/src/testbench/testbench.ts +4 -4
- package/src/testbench/worker_client_manager.ts +17 -23
- package/src/types/index.ts +2 -0
- package/src/util.ts +105 -91
- package/src/versioning.ts +11 -4
|
@@ -1,135 +1,33 @@
|
|
|
1
|
+
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { DateProvider } from '@aztec/foundation/timer';
|
|
1
3
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
4
|
+
import type { EthAddress, L2BlockSource, L2BlockStreamEvent, L2Tips } from '@aztec/stdlib/block';
|
|
5
|
+
import type { ContractDataSource } from '@aztec/stdlib/contract';
|
|
6
|
+
import { type PeerInfo } from '@aztec/stdlib/interfaces/server';
|
|
7
|
+
import { BlockAttestation, type BlockProposal, type P2PClientType } from '@aztec/stdlib/p2p';
|
|
5
8
|
import type { Tx, TxHash } from '@aztec/stdlib/tx';
|
|
6
9
|
import { type TelemetryClient, WithTracer } from '@aztec/telemetry-client';
|
|
7
|
-
import type {
|
|
10
|
+
import type { PeerId } from '@libp2p/interface';
|
|
11
|
+
import type { ENR } from '@nethermindeth/enr';
|
|
8
12
|
import { type P2PConfig } from '../config.js';
|
|
9
13
|
import type { MemPools } from '../mem_pools/interface.js';
|
|
10
|
-
import type {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
SYNCHING = 1,
|
|
17
|
-
RUNNING = 2,
|
|
18
|
-
STOPPED = 3
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* The synchronization status of the P2P client.
|
|
22
|
-
*/
|
|
23
|
-
export interface P2PSyncState {
|
|
24
|
-
/**
|
|
25
|
-
* The current state of the p2p client.
|
|
26
|
-
*/
|
|
27
|
-
state: P2PClientState;
|
|
28
|
-
/**
|
|
29
|
-
* The block number that the p2p client is synced to.
|
|
30
|
-
*/
|
|
31
|
-
syncedToL2Block: L2BlockId;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Interface of a P2P client.
|
|
35
|
-
**/
|
|
36
|
-
export type P2P<T extends P2PClientType = P2PClientType.Full> = ProverCoordination & P2PApi<T> & {
|
|
37
|
-
/**
|
|
38
|
-
* Broadcasts a block proposal to other peers.
|
|
39
|
-
*
|
|
40
|
-
* @param proposal - the block proposal
|
|
41
|
-
*/
|
|
42
|
-
broadcastProposal(proposal: BlockProposal): void;
|
|
43
|
-
/**
|
|
44
|
-
* Registers a callback from the validator client that determines how to behave when
|
|
45
|
-
* foreign block proposals are received
|
|
46
|
-
*
|
|
47
|
-
* @param handler - A function taking a received block proposal and producing an attestation
|
|
48
|
-
*/
|
|
49
|
-
registerBlockProposalHandler(handler: (block: BlockProposal) => Promise<BlockAttestation | undefined>): void;
|
|
50
|
-
/**
|
|
51
|
-
* Request a list of transactions from another peer by their tx hashes.
|
|
52
|
-
* @param txHashes - Hashes of the txs to query.
|
|
53
|
-
* @returns A list of transactions or undefined if the transactions are not found.
|
|
54
|
-
*/
|
|
55
|
-
requestTxs(txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
56
|
-
/**
|
|
57
|
-
* Request a transaction from another peer by its tx hash.
|
|
58
|
-
* @param txHash - Hash of the tx to query.
|
|
59
|
-
*/
|
|
60
|
-
requestTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
61
|
-
/**
|
|
62
|
-
* Verifies the 'tx' and, if valid, adds it to local tx pool and forwards it to other peers.
|
|
63
|
-
* @param tx - The transaction.
|
|
64
|
-
**/
|
|
65
|
-
sendTx(tx: Tx): Promise<void>;
|
|
66
|
-
/**
|
|
67
|
-
* Deletes 'txs' from the pool, given hashes.
|
|
68
|
-
* NOT used if we use sendTx as reconcileTxPool will handle this.
|
|
69
|
-
* @param txHashes - Hashes to check.
|
|
70
|
-
**/
|
|
71
|
-
deleteTxs(txHashes: TxHash[]): Promise<void>;
|
|
72
|
-
/**
|
|
73
|
-
* Returns a transaction in the transaction pool by its hash.
|
|
74
|
-
* @param txHash - Hash of tx to return.
|
|
75
|
-
* @returns A single tx or undefined.
|
|
76
|
-
*/
|
|
77
|
-
getTxByHashFromPool(txHash: TxHash): Promise<Tx | undefined>;
|
|
78
|
-
/**
|
|
79
|
-
* Returns a transaction in the transaction pool by its hash, requesting it from the network if it is not found.
|
|
80
|
-
* @param txHash - Hash of tx to return.
|
|
81
|
-
* @returns A single tx or undefined.
|
|
82
|
-
*/
|
|
83
|
-
getTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
84
|
-
/**
|
|
85
|
-
* Returns an archived transaction from the transaction pool by its hash.
|
|
86
|
-
* @param txHash - Hash of tx to return.
|
|
87
|
-
* @returns A single tx or undefined.
|
|
88
|
-
*/
|
|
89
|
-
getArchivedTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
90
|
-
/**
|
|
91
|
-
* Returns whether the given tx hash is flagged as pending or mined.
|
|
92
|
-
* @param txHash - Hash of the tx to query.
|
|
93
|
-
* @returns Pending or mined depending on its status, or undefined if not found.
|
|
94
|
-
*/
|
|
95
|
-
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
96
|
-
/** Returns an iterator over pending txs on the mempool. */
|
|
97
|
-
iteratePendingTxs(): AsyncIterableIterator<Tx>;
|
|
98
|
-
/** Returns the number of pending txs in the mempool. */
|
|
99
|
-
getPendingTxCount(): Promise<number>;
|
|
100
|
-
/**
|
|
101
|
-
* Starts the p2p client.
|
|
102
|
-
* @returns A promise signalling the completion of the block sync.
|
|
103
|
-
*/
|
|
104
|
-
start(): Promise<void>;
|
|
105
|
-
/**
|
|
106
|
-
* Stops the p2p client.
|
|
107
|
-
* @returns A promise signalling the completion of the stop process.
|
|
108
|
-
*/
|
|
109
|
-
stop(): Promise<void>;
|
|
110
|
-
/**
|
|
111
|
-
* Indicates if the p2p client is ready for transaction submission.
|
|
112
|
-
* @returns A boolean flag indicating readiness.
|
|
113
|
-
*/
|
|
114
|
-
isReady(): boolean;
|
|
115
|
-
/**
|
|
116
|
-
* Returns the current status of the p2p client.
|
|
117
|
-
*/
|
|
118
|
-
getStatus(): Promise<P2PSyncState>;
|
|
119
|
-
/**
|
|
120
|
-
* Returns the ENR of this node, if any.
|
|
121
|
-
*/
|
|
122
|
-
getEnr(): ENR | undefined;
|
|
123
|
-
/** Identifies a p2p client. */
|
|
124
|
-
isP2PClient(): true;
|
|
125
|
-
};
|
|
14
|
+
import type { AuthRequest, StatusMessage } from '../services/index.js';
|
|
15
|
+
import { ReqRespSubProtocol, type ReqRespSubProtocolHandler, type ReqRespSubProtocolValidators } from '../services/reqresp/interface.js';
|
|
16
|
+
import type { P2PBlockReceivedCallback, P2PService } from '../services/service.js';
|
|
17
|
+
import { TxCollection } from '../services/tx_collection/tx_collection.js';
|
|
18
|
+
import { TxProvider } from '../services/tx_provider.js';
|
|
19
|
+
import { type P2P, type P2PSyncState } from './interface.js';
|
|
126
20
|
/**
|
|
127
21
|
* The P2P client implementation.
|
|
128
22
|
*/
|
|
129
23
|
export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> extends WithTracer implements P2P, P2P<P2PClientType.Prover> {
|
|
130
24
|
#private;
|
|
25
|
+
private store;
|
|
131
26
|
private l2BlockSource;
|
|
132
27
|
private p2pService;
|
|
28
|
+
private txCollection;
|
|
29
|
+
private _dateProvider;
|
|
30
|
+
private telemetry;
|
|
133
31
|
private log;
|
|
134
32
|
/** The JS promise that will be running to keep the client's data in sync. Can be interrupted if the client is stopped. */
|
|
135
33
|
private runningPromise;
|
|
@@ -138,76 +36,72 @@ export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> ext
|
|
|
138
36
|
private syncResolve?;
|
|
139
37
|
private latestBlockNumberAtStart;
|
|
140
38
|
private provenBlockNumberAtStart;
|
|
39
|
+
private finalizedBlockNumberAtStart;
|
|
141
40
|
private synchedBlockHashes;
|
|
142
41
|
private synchedLatestBlockNumber;
|
|
143
42
|
private synchedProvenBlockNumber;
|
|
43
|
+
private synchedFinalizedBlockNumber;
|
|
44
|
+
private synchedLatestSlot;
|
|
144
45
|
private txPool;
|
|
145
46
|
private attestationPool;
|
|
146
|
-
|
|
147
|
-
private keepAttestationsInPoolFor;
|
|
148
|
-
/** How many slots to keep proven txs for. */
|
|
149
|
-
private keepProvenTxsFor;
|
|
47
|
+
private config;
|
|
150
48
|
private blockStream;
|
|
49
|
+
private txProvider;
|
|
50
|
+
private validatorAddresses;
|
|
151
51
|
/**
|
|
152
52
|
* In-memory P2P client constructor.
|
|
153
53
|
* @param store - The client's instance of the KV store.
|
|
154
54
|
* @param l2BlockSource - P2P client's source for fetching existing blocks.
|
|
155
55
|
* @param txPool - The client's instance of a transaction pool. Defaults to in-memory implementation.
|
|
156
56
|
* @param p2pService - The concrete instance of p2p networking to use.
|
|
157
|
-
* @param keepProvenTxsFor - How many blocks have to pass after a block is proven before its txs are deleted (zero to delete immediately once proven).
|
|
158
57
|
* @param log - A logger.
|
|
159
58
|
*/
|
|
160
|
-
constructor(_clientType: T, store: AztecAsyncKVStore, l2BlockSource: L2BlockSource, mempools: MemPools<T>, p2pService: P2PService, config?: Partial<P2PConfig>, telemetry?: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
|
|
59
|
+
constructor(_clientType: T, store: AztecAsyncKVStore, l2BlockSource: L2BlockSource & ContractDataSource, mempools: MemPools<T>, p2pService: P2PService, txCollection: TxCollection, config?: Partial<P2PConfig>, _dateProvider?: DateProvider, telemetry?: TelemetryClient, log?: import("@aztec/foundation/log").Logger);
|
|
60
|
+
registerThisValidatorAddresses(addresses: EthAddress[]): void;
|
|
61
|
+
clear(): Promise<void>;
|
|
161
62
|
isP2PClient(): true;
|
|
63
|
+
getTxProvider(): TxProvider;
|
|
162
64
|
getPeers(includePending?: boolean): Promise<PeerInfo[]>;
|
|
163
65
|
getL2BlockHash(number: number): Promise<string | undefined>;
|
|
66
|
+
updateP2PConfig(config: Partial<P2PConfig>): Promise<void>;
|
|
164
67
|
getL2Tips(): Promise<L2Tips>;
|
|
165
68
|
handleBlockStreamEvent(event: L2BlockStreamEvent): Promise<void>;
|
|
69
|
+
private setBlockHash;
|
|
166
70
|
/**
|
|
167
71
|
* Starts the P2P client.
|
|
168
72
|
* @returns An empty promise signalling the synching process.
|
|
169
73
|
*/
|
|
170
74
|
start(): Promise<void>;
|
|
75
|
+
addReqRespSubProtocol(subProtocol: ReqRespSubProtocol, handler: ReqRespSubProtocolHandler, validator: ReqRespSubProtocolValidators[ReqRespSubProtocol]): Promise<void>;
|
|
76
|
+
private initBlockStream;
|
|
171
77
|
/**
|
|
172
78
|
* Allows consumers to stop the instance of the P2P client.
|
|
173
79
|
* 'ready' will now return 'false' and the running promise that keeps the client synced is interrupted.
|
|
174
80
|
*/
|
|
175
81
|
stop(): Promise<void>;
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
*
|
|
185
|
-
* @param txHashes - The hashes of the transactions to request.
|
|
186
|
-
* @returns A promise that resolves to an array of transactions or undefined.
|
|
187
|
-
*/
|
|
188
|
-
requestTxs(txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
189
|
-
/**
|
|
190
|
-
* Uses the Request Response protocol to request a transaction from the network.
|
|
191
|
-
*
|
|
192
|
-
* If the underlying request response protocol fails, then we return undefined.
|
|
193
|
-
* If it succeeds then we add the transaction to our transaction pool and return.
|
|
194
|
-
*
|
|
195
|
-
* @param txHash - The hash of the transaction to request.
|
|
196
|
-
* @returns A promise that resolves to a transaction or undefined.
|
|
197
|
-
*/
|
|
198
|
-
requestTxByHash(txHash: TxHash): Promise<Tx | undefined>;
|
|
82
|
+
/** Triggers a sync to the archiver. Used for testing. */
|
|
83
|
+
sync(): Promise<void>;
|
|
84
|
+
broadcastProposal(proposal: BlockProposal): Promise<void>;
|
|
85
|
+
broadcastAttestations(attestations: BlockAttestation[]): Promise<void>;
|
|
86
|
+
getAttestationsForSlot(slot: SlotNumber, proposalId?: string): Promise<BlockAttestation[]>;
|
|
87
|
+
addAttestations(attestations: BlockAttestation[]): Promise<void>;
|
|
88
|
+
deleteAttestation(attestation: BlockAttestation): Promise<void>;
|
|
89
|
+
registerBlockProposalHandler(handler: P2PBlockReceivedCallback): void;
|
|
199
90
|
/**
|
|
200
91
|
* Uses the batched Request Response protocol to request a set of transactions from the network.
|
|
201
92
|
*/
|
|
202
|
-
requestTxsByHash(txHashes: TxHash[]): Promise<Tx[]>;
|
|
203
|
-
getPendingTxs(): Promise<Tx[]>;
|
|
93
|
+
requestTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<Tx[]>;
|
|
94
|
+
getPendingTxs(limit?: number, after?: TxHash): Promise<Tx[]>;
|
|
204
95
|
getPendingTxCount(): Promise<number>;
|
|
205
96
|
iteratePendingTxs(): AsyncIterableIterator<Tx>;
|
|
206
97
|
/**
|
|
207
98
|
* Returns all transactions in the transaction pool.
|
|
99
|
+
* @param filter - The type of txs to return
|
|
100
|
+
* @param limit - How many txs to return
|
|
101
|
+
* @param after - If paginating, the last known tx hash. Will return txs after this hash
|
|
208
102
|
* @returns An array of Txs.
|
|
209
103
|
*/
|
|
210
|
-
getTxs(filter: 'all' | 'pending' | 'mined'): Promise<Tx[]>;
|
|
104
|
+
getTxs(filter: 'all' | 'pending' | 'mined', limit?: number, after?: TxHash): Promise<Tx[]>;
|
|
211
105
|
/**
|
|
212
106
|
* Returns a transaction in the transaction pool by its hash.
|
|
213
107
|
* @param txHash - Hash of the transaction to look for in the pool.
|
|
@@ -215,19 +109,19 @@ export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> ext
|
|
|
215
109
|
*/
|
|
216
110
|
getTxByHashFromPool(txHash: TxHash): Promise<Tx | undefined>;
|
|
217
111
|
/**
|
|
218
|
-
* Returns
|
|
219
|
-
*
|
|
220
|
-
* @
|
|
221
|
-
* @returns A single tx or undefined.
|
|
112
|
+
* Returns transactions in the transaction pool by hash.
|
|
113
|
+
* @param txHashes - Hashes of the transactions to look for.
|
|
114
|
+
* @returns The txs found, in the same order as the requested hashes. If a tx is not found, it will be undefined.
|
|
222
115
|
*/
|
|
223
|
-
|
|
116
|
+
getTxsByHashFromPool(txHashes: TxHash[]): Promise<(Tx | undefined)[]>;
|
|
117
|
+
hasTxsInPool(txHashes: TxHash[]): Promise<boolean[]>;
|
|
224
118
|
/**
|
|
225
119
|
* Returns transactions in the transaction pool by hash.
|
|
226
120
|
* If a transaction is not in the pool, it will be requested from the network.
|
|
227
121
|
* @param txHashes - Hashes of the transactions to look for.
|
|
228
|
-
* @returns The txs found, not
|
|
122
|
+
* @returns The txs found, or undefined if not found in the order requested.
|
|
229
123
|
*/
|
|
230
|
-
getTxsByHash(txHashes: TxHash[]): Promise<Tx[]>;
|
|
124
|
+
getTxsByHash(txHashes: TxHash[], pinnedPeerId: PeerId | undefined): Promise<(Tx | undefined)[]>;
|
|
231
125
|
/**
|
|
232
126
|
* Returns an archived transaction in the transaction pool by its hash.
|
|
233
127
|
* @param txHash - Hash of the archived transaction to look for.
|
|
@@ -240,12 +134,17 @@ export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> ext
|
|
|
240
134
|
* @returns Empty promise.
|
|
241
135
|
**/
|
|
242
136
|
sendTx(tx: Tx): Promise<void>;
|
|
137
|
+
/**
|
|
138
|
+
* Adds transactions to the pool. Does not send to peers or validate the txs.
|
|
139
|
+
* @param txs - The transactions.
|
|
140
|
+
**/
|
|
141
|
+
addTxsToPool(txs: Tx[]): Promise<number>;
|
|
243
142
|
/**
|
|
244
143
|
* Returns whether the given tx hash is flagged as pending or mined.
|
|
245
144
|
* @param txHash - Hash of the tx to query.
|
|
246
145
|
* @returns Pending or mined depending on its status, or undefined if not found.
|
|
247
146
|
*/
|
|
248
|
-
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | undefined>;
|
|
147
|
+
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | 'deleted' | undefined>;
|
|
249
148
|
getEnr(): ENR | undefined;
|
|
250
149
|
getEncodedEnr(): Promise<string | undefined>;
|
|
251
150
|
/**
|
|
@@ -270,39 +169,18 @@ export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> ext
|
|
|
270
169
|
* @returns Block number of latest proven L2 Block we've synced with.
|
|
271
170
|
*/
|
|
272
171
|
getSyncedProvenBlockNum(): Promise<number>;
|
|
172
|
+
getSyncedFinalizedBlockNum(): Promise<number>;
|
|
173
|
+
/** Returns latest L2 slot for which we have seen an L2 block. */
|
|
174
|
+
getSyncedLatestSlot(): Promise<bigint>;
|
|
273
175
|
/**
|
|
274
176
|
* Method to check the status the p2p client.
|
|
275
177
|
* @returns Information about p2p client status: state & syncedToBlockNum.
|
|
276
178
|
*/
|
|
277
179
|
getStatus(): Promise<P2PSyncState>;
|
|
278
|
-
/**
|
|
279
|
-
* Mark all txs from these blocks as mined.
|
|
280
|
-
* @param blocks - A list of existing blocks with txs that the P2P client needs to ensure the tx pool is reconciled with.
|
|
281
|
-
* @returns Empty promise.
|
|
282
|
-
*/
|
|
283
180
|
private markTxsAsMinedFromBlocks;
|
|
284
|
-
/**
|
|
285
|
-
* Deletes txs from these blocks.
|
|
286
|
-
* @param blocks - A list of existing blocks with txs that the P2P client needs to ensure the tx pool is reconciled with.
|
|
287
|
-
* @returns Empty promise.
|
|
288
|
-
*/
|
|
289
|
-
private deleteTxsFromBlocks;
|
|
290
|
-
/**
|
|
291
|
-
* Handles new mined blocks by marking the txs in them as mined.
|
|
292
|
-
* @param blocks - A list of existing blocks with txs that the P2P client needs to ensure the tx pool is reconciled with.
|
|
293
|
-
* @returns Empty promise.
|
|
294
|
-
*/
|
|
295
181
|
private handleLatestL2Blocks;
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
* @param blocks - A list of proven L2 blocks.
|
|
299
|
-
* @returns Empty promise.
|
|
300
|
-
*/
|
|
301
|
-
private handleProvenL2Blocks;
|
|
302
|
-
/**
|
|
303
|
-
* Updates the tx pool after a chain prune.
|
|
304
|
-
* @param latestBlock - The block number the chain was pruned to.
|
|
305
|
-
*/
|
|
182
|
+
private startCollectingMissingTxs;
|
|
183
|
+
private handleFinalizedL2Blocks;
|
|
306
184
|
private handlePruneL2Blocks;
|
|
307
185
|
private startServiceIfSynched;
|
|
308
186
|
/**
|
|
@@ -310,5 +188,12 @@ export declare class P2PClient<T extends P2PClientType = P2PClientType.Full> ext
|
|
|
310
188
|
* @param newState - New state value.
|
|
311
189
|
*/
|
|
312
190
|
private setCurrentState;
|
|
191
|
+
validate(txs: Tx[]): Promise<void>;
|
|
192
|
+
/**
|
|
193
|
+
* Marks transactions as non-evictable in the pool.
|
|
194
|
+
* @param txHashes - Hashes of the transactions to mark as non-evictable.
|
|
195
|
+
*/
|
|
196
|
+
markTxsAsNonEvictable(txHashes: TxHash[]): Promise<void>;
|
|
197
|
+
handleAuthRequestFromPeer(authRequest: AuthRequest, peerId: PeerId): Promise<StatusMessage>;
|
|
313
198
|
}
|
|
314
|
-
//# sourceMappingURL=
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicDJwX2NsaWVudC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9wMnBfY2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQXNDLE1BQU0saUJBQWlCLENBQUM7QUFDN0YsT0FBTyxLQUFLLEVBQ1YsVUFBVSxFQUdWLGFBQWEsRUFFYixrQkFBa0IsRUFDbEIsTUFBTSxFQUVQLE1BQU0scUJBQXFCLENBQUM7QUFDN0IsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQVcsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxhQUFhLEVBQUUsS0FBSyxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3RixPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUVMLEtBQUssZUFBZSxFQUVwQixVQUFVLEVBR1gsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsS0FBSyxTQUFTLEVBQXVCLE1BQU0sY0FBYyxDQUFDO0FBRW5FLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssNEJBQTRCLEVBQ2xDLE1BQU0sa0NBQWtDLENBQUM7QUFFMUMsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQWtCLEtBQUssWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0U7O0dBRUc7QUFDSCxxQkFBYSxTQUFTLENBQUMsQ0FBQyxTQUFTLGFBQWEsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUNqRSxTQUFRLFVBQ1IsWUFBVyxHQUFHLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7O0lBdUN2QyxPQUFPLENBQUMsS0FBSztJQUNiLE9BQU8sQ0FBQyxhQUFhO0lBRXJCLE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxZQUFZO0lBRXBCLE9BQU8sQ0FBQyxhQUFhO0lBQ3JCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxHQUFHO0lBN0NiLDBIQUEwSDtJQUMxSCxPQUFPLENBQUMsY0FBYyxDQUFpQjtJQUV2QyxPQUFPLENBQUMsWUFBWSxDQUF1QjtJQUMzQyxPQUFPLENBQUMsV0FBVyxDQUFxQjtJQUN4QyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQXlCO0lBQzdDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBTTtJQUN0QyxPQUFPLENBQUMsd0JBQXdCLENBQU07SUFDdEMsT0FBTyxDQUFDLDJCQUEyQixDQUFNO0lBRXpDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBZ0M7SUFDMUQsT0FBTyxDQUFDLHdCQUF3QixDQUE4QjtJQUM5RCxPQUFPLENBQUMsd0JBQXdCLENBQThCO0lBQzlELE9BQU8sQ0FBQywyQkFBMkIsQ0FBOEI7SUFDakUsT0FBTyxDQUFDLGlCQUFpQixDQUE4QjtJQUV2RCxPQUFPLENBQUMsTUFBTSxDQUFTO0lBQ3ZCLE9BQU8sQ0FBQyxlQUFlLENBQTZEO0lBRXBGLE9BQU8sQ0FBQyxNQUFNLENBQVk7SUFFMUIsT0FBTyxDQUFDLFdBQVcsQ0FBNEI7SUFFL0MsT0FBTyxDQUFDLFVBQVUsQ0FBYTtJQUUvQixPQUFPLENBQUMsa0JBQWtCLENBQW9CO0lBRTlDOzs7Ozs7O09BT0c7SUFDSCxZQUNFLFdBQVcsRUFBRSxDQUFDLEVBQ04sS0FBSyxFQUFFLGlCQUFpQixFQUN4QixhQUFhLEVBQUUsYUFBYSxHQUFHLGtCQUFrQixFQUN6RCxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUNiLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLFlBQVksRUFBRSxZQUFZLEVBQ2xDLE1BQU0sR0FBRSxPQUFPLENBQUMsU0FBUyxDQUFNLEVBQ3ZCLGFBQWEsR0FBRSxZQUFpQyxFQUNoRCxTQUFTLEdBQUUsZUFBc0MsRUFDakQsR0FBRyx5Q0FBc0IsRUEwQ2xDO0lBRU0sOEJBQThCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FHbkU7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVNLFdBQVcsSUFBSSxJQUFJLENBRXpCO0lBRU0sYUFBYSxJQUFJLFVBQVUsQ0FFakM7SUFFTSxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUU3RDtJQUVNLGNBQWMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRWpFO0lBRU0sZUFBZSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUloRTtJQUVZLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBb0N4QztJQUVZLHNCQUFzQixDQUFDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZ0M1RTtZQUVhLFlBQVk7SUFhMUI7OztPQUdHO0lBQ1UsS0FBSyxrQkE2RGpCO0lBRUQscUJBQXFCLENBQ25CLFdBQVcsRUFBRSxrQkFBa0IsRUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUNsQyxTQUFTLEVBQUUsNEJBQTRCLENBQUMsa0JBQWtCLENBQUMsR0FDMUQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVmO0lBRUQsT0FBTyxDQUFDLGVBQWU7SUFldkI7OztPQUdHO0lBQ1UsSUFBSSxrQkFXaEI7SUFFRCx5REFBeUQ7SUFDNUMsSUFBSSxrQkFHaEI7SUFPTSxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHL0Q7SUFFWSxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBR2xGO0lBRVksc0JBQXNCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FNdEc7SUFFTSxlQUFlLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUV0RTtJQUVNLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXJFO0lBSU0sNEJBQTRCLENBQUMsT0FBTyxFQUFFLHdCQUF3QixHQUFHLElBQUksQ0FFM0U7SUFFRDs7T0FFRztJQUNVLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0F5QmpHO0lBRU0sYUFBYSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBRWxFO0lBRU0saUJBQWlCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUUxQztJQUVhLGlCQUFpQixJQUFJLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQU8zRDtJQUVEOzs7Ozs7T0FNRztJQUNVLE1BQU0sQ0FBQyxNQUFNLEVBQUUsS0FBSyxHQUFHLFNBQVMsR0FBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FpRHRHO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFM0Q7SUFFRDs7OztPQUlHO0lBQ0gsb0JBQW9CLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDLENBRXBFO0lBRUQsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FFbkQ7SUFFRDs7Ozs7T0FLRztJQUNHLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sR0FBRyxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FtQ3BHO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FFM0Q7SUFFRDs7OztRQUlJO0lBQ1MsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU16QztJQUVEOzs7UUFHSTtJQUNTLFlBQVksQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUdwRDtJQUVEOzs7O09BSUc7SUFDSSxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBRXZGO0lBRU0sTUFBTSxJQUFJLEdBQUcsR0FBRyxTQUFTLENBRS9CO0lBRU0sYUFBYSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRWxEO0lBRUQ7Ozs7O1FBS0k7SUFDUyxTQUFTLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FHeEQ7SUFFRDs7O09BR0c7SUFDSSxPQUFPLFlBRWI7SUFFRDs7O09BR0c7SUFDVSx1QkFBdUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXREO0lBRUQ7OztPQUdHO0lBQ1UsdUJBQXVCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV0RDtJQUVZLDBCQUEwQixJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFekQ7SUFFRCxpRUFBaUU7SUFDcEQsbUJBQW1CLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUVsRDtJQUVEOzs7T0FHRztJQUNVLFNBQVMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLENBYzlDO1lBT2Esd0JBQXdCO1lBWXhCLG9CQUFvQjtZQTBCcEIseUJBQXlCO1lBaUN6Qix1QkFBdUI7WUEwQnZCLG1CQUFtQjtZQStDbkIscUJBQXFCO0lBMEJuQzs7O09BR0c7SUFDSCxPQUFPLENBQUMsZUFBZTtJQU1oQixRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFeEM7SUFFRDs7O09BR0c7SUFDSSxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU5RDtJQUVNLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBRWpHO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"p2p_client.d.ts","sourceRoot":"","sources":["../../src/client/p2p_client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"p2p_client.d.ts","sourceRoot":"","sources":["../../src/client/p2p_client.ts"],"names":[],"mappings":"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"}
|