@aztec/p2p 3.0.0-rc.5 → 4.0.0-nightly.20260107
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/client/factory.d.ts +2 -2
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +2 -3
- package/dest/client/p2p_client.d.ts +2 -2
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +395 -21
- package/dest/config.d.ts +4 -7
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +6 -9
- package/dest/mem_pools/instrumentation.d.ts +7 -1
- package/dest/mem_pools/instrumentation.d.ts.map +1 -1
- package/dest/mem_pools/instrumentation.js +29 -2
- package/dest/mem_pools/interface.d.ts +3 -4
- package/dest/mem_pools/interface.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +28 -24
- 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 +261 -323
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts +18 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_manager.js +56 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts +83 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/eviction_strategy.js +5 -0
- package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts +15 -0
- package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.js +88 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts +17 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.js +84 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts +19 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.js +76 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts +26 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.d.ts.map +1 -0
- package/dest/mem_pools/tx_pool/eviction/low_priority_eviction_rule.js +84 -0
- package/dest/mem_pools/tx_pool/index.d.ts +1 -2
- package/dest/mem_pools/tx_pool/index.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/index.js +0 -1
- package/dest/mem_pools/tx_pool/priority.d.ts +5 -1
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/priority.js +6 -1
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +8 -4
- 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 +25 -20
- package/dest/services/libp2p/libp2p_service.d.ts +4 -4
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +447 -64
- package/dest/services/peer-manager/metrics.d.ts +6 -1
- package/dest/services/peer-manager/metrics.d.ts.map +1 -1
- package/dest/services/peer-manager/metrics.js +17 -0
- package/dest/services/peer-manager/peer_manager.d.ts +1 -1
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +385 -9
- package/dest/services/reqresp/protocols/tx.d.ts +2 -3
- package/dest/services/reqresp/protocols/tx.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +402 -24
- package/dest/services/tx_provider.d.ts +2 -1
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +11 -2
- package/dest/services/tx_provider_instrumentation.d.ts +5 -2
- package/dest/services/tx_provider_instrumentation.d.ts.map +1 -1
- package/dest/services/tx_provider_instrumentation.js +14 -1
- package/dest/test-helpers/reqresp-nodes.d.ts +2 -2
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +1 -0
- package/package.json +14 -14
- package/src/client/factory.ts +5 -10
- package/src/client/p2p_client.ts +12 -17
- package/src/config.ts +8 -14
- package/src/mem_pools/instrumentation.ts +33 -0
- package/src/mem_pools/interface.ts +2 -4
- package/src/mem_pools/tx_pool/README.md +255 -0
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +308 -368
- package/src/mem_pools/tx_pool/eviction/eviction_manager.ts +71 -0
- package/src/mem_pools/tx_pool/eviction/eviction_strategy.ts +93 -0
- package/src/mem_pools/tx_pool/eviction/insufficient_fee_payer_balance_rule.ts +108 -0
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_mining_rule.ts +104 -0
- package/src/mem_pools/tx_pool/eviction/invalid_txs_after_reorg_rule.ts +91 -0
- package/src/mem_pools/tx_pool/eviction/low_priority_eviction_rule.ts +106 -0
- package/src/mem_pools/tx_pool/index.ts +0 -1
- package/src/mem_pools/tx_pool/priority.ts +8 -1
- package/src/mem_pools/tx_pool/tx_pool.ts +8 -3
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +18 -13
- package/src/services/libp2p/libp2p_service.ts +12 -17
- package/src/services/peer-manager/metrics.ts +22 -0
- package/src/services/peer-manager/peer_manager.ts +2 -0
- package/src/services/reqresp/protocols/tx.ts +1 -2
- package/src/services/tx_provider.ts +17 -2
- package/src/services/tx_provider_instrumentation.ts +19 -2
- package/src/test-helpers/mock-pubsub.ts +1 -1
- package/src/test-helpers/reqresp-nodes.ts +1 -1
- package/src/testbench/p2p_client_testbench_worker.ts +2 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +0 -81
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +0 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +0 -239
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +0 -285
package/dest/config.d.ts
CHANGED
|
@@ -81,10 +81,8 @@ export interface P2PConfig extends P2PReqRespConfig, ChainConfig, TxCollectionCo
|
|
|
81
81
|
p2pStoreMapSizeKb?: number;
|
|
82
82
|
/** Which calls are allowed in the public setup phase of a tx. */
|
|
83
83
|
txPublicSetupAllowList: AllowedElement[];
|
|
84
|
-
/** The maximum
|
|
85
|
-
|
|
86
|
-
/** If the pool is full, it will still accept a few more txs until it reached maxTxPoolOverspillFactor * maxTxPoolSize. Then it will evict */
|
|
87
|
-
txPoolOverflowFactor: number;
|
|
84
|
+
/** The maximum number of pending txs before evicting lower priority txs. */
|
|
85
|
+
maxPendingTxCount: number;
|
|
88
86
|
/** The node's seen message ID cache size */
|
|
89
87
|
seenMessageCacheSize: number;
|
|
90
88
|
/** True to disable the status handshake on peer connected. */
|
|
@@ -155,7 +153,7 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
|
|
|
155
153
|
l2QueueSize: unknown;
|
|
156
154
|
listenAddress: unknown;
|
|
157
155
|
maxPeerCount: unknown;
|
|
158
|
-
|
|
156
|
+
maxPendingTxCount: unknown;
|
|
159
157
|
overallRequestTimeoutMs: unknown;
|
|
160
158
|
p2pAllowOnlyValidators: unknown;
|
|
161
159
|
p2pBroadcastPort: unknown;
|
|
@@ -188,7 +186,6 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
|
|
|
188
186
|
txCollectionSlowReqRespIntervalMs: unknown;
|
|
189
187
|
txCollectionSlowReqRespTimeoutMs: unknown;
|
|
190
188
|
txPoolDeleteTxsAfterReorg: unknown;
|
|
191
|
-
txPoolOverflowFactor: unknown;
|
|
192
189
|
txPublicSetupAllowList: unknown;
|
|
193
190
|
}, "bootstrapNodes" | "dataDirectory" | "dataStoreMapSizeKb" | "l1ChainId" | "listenAddress" | "p2pBroadcastPort" | "p2pIp" | "p2pPort" | "peerIdPrivateKey" | "peerIdPrivateKeyPath" | "queryForIp">>;
|
|
194
191
|
/**
|
|
@@ -203,4 +200,4 @@ export declare const bootnodeConfigMappings: ConfigMappingsType<Pick<{
|
|
|
203
200
|
* @returns A list of allowed elements
|
|
204
201
|
*/
|
|
205
202
|
export declare function parseAllowList(value: string): AllowedElement[];
|
|
206
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQUN2QixXQUFXLEVBUVosTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFHbEYsT0FBTyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBRWxHLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUE0QixNQUFNLDhCQUE4QixDQUFDO0FBQy9GLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QixNQUFNLG9DQUFvQyxDQUFDO0FBRXpHOztHQUVHO0FBQ0gsTUFBTSxXQUFXLFNBQVUsU0FBUSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCO0lBQ2xGLG9FQUFvRTtJQUNwRSxVQUFVLEVBQUUsT0FBTyxDQUFDO0lBRXBCLHlEQUF5RDtJQUN6RCxvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFFN0IsdURBQXVEO0lBQ3ZELHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUU5QixvRUFBb0U7SUFDcEUsNkJBQTZCLEVBQUUsT0FBTyxDQUFDO0lBRXZDLHFEQUFxRDtJQUNyRCxtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFFNUIsMkNBQTJDO0lBQzNDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFFcEIsb0NBQW9DO0lBQ3BDLE9BQU8sRUFBRSxNQUFNLENBQUM7SUFFaEIsNkVBQTZFO0lBQzdFLGdCQUFnQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTFCLDBDQUEwQztJQUMxQyxLQUFLLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFZiwwQkFBMEI7SUFDMUIsYUFBYSxFQUFFLE1BQU0sQ0FBQztJQUV0Qiw2RUFBNkU7SUFDN0UsZ0JBQWdCLENBQUMsRUFBRSxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFdkMsNElBQTRJO0lBQzVJLG9CQUFvQixDQUFDLEVBQUUsTUFBTSxDQUFDO0lBRTlCLCtDQUErQztJQUMvQyxjQUFjLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFekIsc0VBQXNFO0lBQ3RFLDRCQUE0QixFQUFFLE9BQU8sQ0FBQztJQUV0QyxpR0FBaUc7SUFDakcseUJBQXlCLEVBQUUsT0FBTyxDQUFDO0lBRW5DLDhHQUE4RztJQUM5RyxZQUFZLEVBQUUsTUFBTSxDQUFDO0lBRXJCLCtIQUErSDtJQUMvSCxVQUFVLEVBQUUsT0FBTyxDQUFDO0lBRXBCLDRFQUE0RTtJQUM1RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUIsa0RBQWtEO0lBQ2xELFVBQVUsRUFBRSxNQUFNLENBQUM7SUFFbkIsb0RBQW9EO0lBQ3BELFlBQVksRUFBRSxNQUFNLENBQUM7SUFFckIsb0RBQW9EO0lBQ3BELFlBQVksRUFBRSxNQUFNLENBQUM7SUFFckIsc0RBQXNEO0lBQ3RELGNBQWMsRUFBRSxNQUFNLENBQUM7SUFFdkIscUVBQXFFO0lBQ3JFLHFCQUFxQixFQUFFLE9BQU8sQ0FBQztJQUUvQixzRUFBc0U7SUFDdEUscUJBQXFCLEVBQUUsTUFBTSxDQUFDO0lBRTlCLGlGQUFpRjtJQUNqRixxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFFOUIsMkRBQTJEO0lBQzNELGdCQUFnQixFQUFFLE1BQU0sQ0FBQztJQUV6QixnSEFBZ0g7SUFDaEgsa0NBQWtDLEVBQUUsTUFBTSxDQUFDO0lBRTNDLGdLQUFnSztJQUNoSyxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFFL0IsaUZBQWlGO0lBQ2pGLHlDQUF5QyxFQUFFLE1BQU0sQ0FBQztJQUVsRCwyR0FBMkc7SUFDM0csd0NBQXdDLEVBQUUsTUFBTSxDQUFDO0lBRWpELG9JQUFvSTtJQUNwSSxpQkFBaUIsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUU1QixzSUFBc0k7SUFDdEksZUFBZSxFQUFFLE1BQU0sQ0FBQztJQUV4QiwrQkFBK0I7SUFDL0IsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBRXZCLCtCQUErQjtJQUMvQixZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pDLGNBQWMsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUV6QixnR0FBZ0c7SUFDaEcsaUJBQWlCLENBQUMsRUFBRSxNQUFNLENBQUM7SUFFM0IsaUVBQWlFO0lBQ2pFLHNCQUFzQixFQUFFLGNBQWMsRUFBRSxDQUFDO0lBRXpDLDRFQUE0RTtJQUM1RSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFFMUIsNENBQTRDO0lBQzVDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUU3Qiw4REFBOEQ7SUFDOUQseUJBQXlCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFFcEMsZ0RBQWdEO0lBQ2hELHNCQUFzQixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBRWpDLGlEQUFpRDtJQUNqRCxvQkFBb0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMvQixpRkFBaUY7SUFDakYsK0JBQStCLEVBQUUsTUFBTSxDQUFDO0lBRXhDLDJIQUEySDtJQUMzSCxtQkFBbUIsRUFBRSxPQUFPLENBQUM7SUFFN0IsMkVBQTJFO0lBQzNFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQztJQUUxQixtRkFBbUY7SUFDbkYsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBRXBDLHlHQUF5RztJQUN6Ryx5QkFBeUIsRUFBRSxPQUFPLENBQUM7SUFFbkMsb0dBQW9HO0lBQ3BHLDBCQUEwQixFQUFFLE9BQU8sQ0FBQztJQUVwQyxpSkFBaUo7SUFDakosYUFBYSxFQUFFLE9BQU8sQ0FBQztDQUN4QjtBQUVELGVBQU8sTUFBTSxnQkFBZ0IsUUFBUSxDQUFDO0FBRXRDLGVBQU8sTUFBTSxpQkFBaUIsRUFBRSxrQkFBa0IsQ0FBQyxTQUFTLENBdVEzRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsd0JBQWdCLG1CQUFtQixJQUFJLFNBQVMsQ0FFL0M7QUFFRCx3QkFBZ0IsbUJBQW1CLElBQUksU0FBUyxDQUUvQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQy9CLFNBQVMsRUFDUCxPQUFPLEdBQ1AsU0FBUyxHQUNULGtCQUFrQixHQUNsQixrQkFBa0IsR0FDbEIsc0JBQXNCLEdBQ3RCLGdCQUFnQixHQUNoQixlQUFlLEdBQ2YsWUFBWSxDQUNmLEdBQ0MsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxHQUFHLFNBQVMsQ0FBQyxDQUFDLEdBQzlDLElBQUksQ0FBQyxlQUFlLEVBQUUsZUFBZSxHQUFHLG9CQUFvQixDQUFDLEdBQzdELElBQUksQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFnQmpDLGVBQU8sTUFBTSxzQkFBc0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzTUFHbEMsQ0FBQztBQUVGOzs7Ozs7Ozs7O0dBVUc7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsY0FBYyxFQUFFLENBcUM5RCJ9
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,WAAW,EAQZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,wBAAwB,CAAC;AAGlF,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAElG,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,8BAA8B,CAAC;AAC/F,OAAO,EAAE,KAAK,kBAAkB,EAA8B,MAAM,oCAAoC,CAAC;AAEzG;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,gBAAgB,EAAE,WAAW,EAAE,kBAAkB;IAClF,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAC;IAEpB,yDAAyD;IACzD,oBAAoB,EAAE,MAAM,CAAC;IAE7B,uDAAuD;IACvD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,oEAAoE;IACpE,6BAA6B,EAAE,OAAO,CAAC;IAEvC,qDAAqD;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAE5B,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAEhB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IAEtB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvC,4IAA4I;IAC5I,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,+CAA+C;IAC/C,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,sEAAsE;IACtE,4BAA4B,EAAE,OAAO,CAAC;IAEtC,iGAAiG;IACjG,yBAAyB,EAAE,OAAO,CAAC;IAEnC,8GAA8G;IAC9G,YAAY,EAAE,MAAM,CAAC;IAErB,+HAA+H;IAC/H,UAAU,EAAE,OAAO,CAAC;IAEpB,4EAA4E;IAC5E,iBAAiB,EAAE,MAAM,CAAC;IAE1B,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IAEnB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IAErB,sDAAsD;IACtD,cAAc,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,qBAAqB,EAAE,OAAO,CAAC;IAE/B,sEAAsE;IACtE,qBAAqB,EAAE,MAAM,CAAC;IAE9B,iFAAiF;IACjF,qBAAqB,EAAE,MAAM,CAAC;IAE9B,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IAEzB,gHAAgH;IAChH,kCAAkC,EAAE,MAAM,CAAC;IAE3C,gKAAgK;IAChK,sBAAsB,EAAE,MAAM,CAAC;IAE/B,iFAAiF;IACjF,yCAAyC,EAAE,MAAM,CAAC;IAElD,2GAA2G;IAC3G,wCAAwC,EAAE,MAAM,CAAC;IAEjD,oIAAoI;IACpI,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,sIAAsI;IACtI,eAAe,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,+BAA+B;IAC/B,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,iCAAiC;IACjC,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,gGAAgG;IAChG,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,iEAAiE;IACjE,sBAAsB,EAAE,cAAc,EAAE,CAAC;IAEzC,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dest/config.js
CHANGED
|
@@ -205,15 +205,12 @@ export const p2pConfigMappings = {
|
|
|
205
205
|
description: 'The list of functions calls allowed to run in setup',
|
|
206
206
|
printDefault: ()=>'AuthRegistry, FeeJuice.increase_public_balance, Token.increase_public_balance, FPC.prepare_fee'
|
|
207
207
|
},
|
|
208
|
-
|
|
209
|
-
env: '
|
|
210
|
-
description: 'The maximum
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
env: 'P2P_TX_POOL_OVERFLOW_FACTOR',
|
|
215
|
-
description: 'How much the tx pool can overflow before it starts evicting txs. Must be greater than 1',
|
|
216
|
-
...floatConfigHelper(1.1)
|
|
208
|
+
maxPendingTxCount: {
|
|
209
|
+
env: 'P2P_MAX_PENDING_TX_COUNT',
|
|
210
|
+
description: 'The maximum number of pending txs before evicting lower priority txs.',
|
|
211
|
+
// Worst case scenario: Uncompressed public/private tx is ~ 156kb
|
|
212
|
+
// This implies we are using ~156MB of memory for pending pool
|
|
213
|
+
...numberConfigHelper(1_000)
|
|
217
214
|
},
|
|
218
215
|
seenMessageCacheSize: {
|
|
219
216
|
env: 'P2P_SEEN_MSG_CACHE_SIZE',
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Gossipable } from '@aztec/stdlib/p2p';
|
|
2
|
+
import type { Tx } from '@aztec/stdlib/tx';
|
|
2
3
|
import { type LmdbStatsCallback, type TelemetryClient } from '@aztec/telemetry-client';
|
|
3
4
|
export declare enum PoolName {
|
|
4
5
|
TX_POOL = "TxPool",
|
|
@@ -17,12 +18,17 @@ export declare class PoolInstrumentation<PoolObject extends Gossipable> {
|
|
|
17
18
|
private addObjectCounter;
|
|
18
19
|
/** Tracks tx size */
|
|
19
20
|
private objectSize;
|
|
21
|
+
/** Track delay between transaction added and evicted */
|
|
22
|
+
private minedDelay;
|
|
20
23
|
private dbMetrics;
|
|
21
24
|
private defaultAttributes;
|
|
22
25
|
private meter;
|
|
26
|
+
private txAddedTimestamp;
|
|
23
27
|
constructor(telemetry: TelemetryClient, name: PoolName, poolStats: PoolStatsCallback, dbStats?: LmdbStatsCallback);
|
|
24
28
|
recordSize(poolObject: PoolObject): void;
|
|
25
29
|
incrementAddedObjects(count: number): void;
|
|
30
|
+
transactionsAdded(transactions: Tx[]): void;
|
|
31
|
+
transactionsRemoved(hashes: Iterable<bigint> | Iterable<string>): void;
|
|
26
32
|
private observeStats;
|
|
27
33
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtX3Bvb2xzL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMzQyxPQUFPLEVBS0wsS0FBSyxpQkFBaUIsRUFLdEIsS0FBSyxlQUFlLEVBRXJCLE1BQU0seUJBQXlCLENBQUM7QUFFakMsb0JBQVksUUFBUTtJQUNsQixPQUFPLFdBQVc7SUFDbEIsZ0JBQWdCLG9CQUFvQjtDQUNyQztBQWtDRCxNQUFNLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUM7SUFDNUMsU0FBUyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0NBQzVDLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gscUJBQWEsbUJBQW1CLENBQUMsVUFBVSxTQUFTLFVBQVU7SUFtQjFELE9BQU8sQ0FBQyxTQUFTO0lBbEJuQix1Q0FBdUM7SUFDdkMsT0FBTyxDQUFDLGdCQUFnQixDQUFrQjtJQUMxQyxPQUFPLENBQUMsZ0JBQWdCLENBQWdCO0lBQ3hDLHFCQUFxQjtJQUNyQixPQUFPLENBQUMsVUFBVSxDQUFZO0lBQzlCLHdEQUF3RDtJQUN4RCxPQUFPLENBQUMsVUFBVSxDQUFZO0lBRTlCLE9BQU8sQ0FBQyxTQUFTLENBQWM7SUFFL0IsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQzFCLE9BQU8sQ0FBQyxLQUFLLENBQVE7SUFFckIsT0FBTyxDQUFDLGdCQUFnQixDQUFrRDtJQUUxRSxZQUNFLFNBQVMsRUFBRSxlQUFlLEVBQzFCLElBQUksRUFBRSxRQUFRLEVBQ04sU0FBUyxFQUFFLGlCQUFpQixFQUNwQyxPQUFPLENBQUMsRUFBRSxpQkFBaUIsRUFpQzVCO0lBRU0sVUFBVSxDQUFDLFVBQVUsRUFBRSxVQUFVLFFBRXZDO0lBRU0scUJBQXFCLENBQUMsS0FBSyxFQUFFLE1BQU0sUUFFekM7SUFFTSxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsRUFBRSxFQUFFLFFBSzFDO0lBRU0sbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBWXJFO0lBRUQsT0FBTyxDQUFDLFlBQVksQ0FZbEI7Q0FDSCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/mem_pools/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAKL,KAAK,iBAAiB,EAKtB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,QAAQ;IAClB,OAAO,WAAW;IAClB,gBAAgB,oBAAoB;CACrC;
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/mem_pools/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAKL,KAAK,iBAAiB,EAKtB,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,oBAAY,QAAQ;IAClB,OAAO,WAAW;IAClB,gBAAgB,oBAAoB;CACrC;AAkCD,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH;;GAEG;AACH,qBAAa,mBAAmB,CAAC,UAAU,SAAS,UAAU;IAmB1D,OAAO,CAAC,SAAS;IAlBnB,uCAAuC;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IACxC,qBAAqB;IACrB,OAAO,CAAC,UAAU,CAAY;IAC9B,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAAY;IAE9B,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,iBAAiB,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,gBAAgB,CAAkD;IAE1E,YACE,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,QAAQ,EACN,SAAS,EAAE,iBAAiB,EACpC,OAAO,CAAC,EAAE,iBAAiB,EAiC5B;IAEM,UAAU,CAAC,UAAU,EAAE,UAAU,QAEvC;IAEM,qBAAqB,CAAC,KAAK,EAAE,MAAM,QAEzC;IAEM,iBAAiB,CAAC,YAAY,EAAE,EAAE,EAAE,QAK1C;IAEM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,QAYrE;IAED,OAAO,CAAC,YAAY,CAYlB;CACH"}
|
|
@@ -13,13 +13,15 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
13
13
|
return {
|
|
14
14
|
objectInMempool: Metrics.MEMPOOL_TX_COUNT,
|
|
15
15
|
objectSize: Metrics.MEMPOOL_TX_SIZE,
|
|
16
|
-
itemsAdded: Metrics.MEMPOOL_TX_ADDED_COUNT
|
|
16
|
+
itemsAdded: Metrics.MEMPOOL_TX_ADDED_COUNT,
|
|
17
|
+
itemMinedDelay: Metrics.MEMPOOL_TX_MINED_DELAY
|
|
17
18
|
};
|
|
18
19
|
} else if (name === "AttestationPool") {
|
|
19
20
|
return {
|
|
20
21
|
objectInMempool: Metrics.MEMPOOL_ATTESTATIONS_COUNT,
|
|
21
22
|
objectSize: Metrics.MEMPOOL_ATTESTATIONS_SIZE,
|
|
22
|
-
itemsAdded: Metrics.MEMPOOL_ATTESTATIONS_ADDED_COUNT
|
|
23
|
+
itemsAdded: Metrics.MEMPOOL_ATTESTATIONS_ADDED_COUNT,
|
|
24
|
+
itemMinedDelay: Metrics.MEMPOOL_ATTESTATIONS_MINED_DELAY
|
|
23
25
|
};
|
|
24
26
|
}
|
|
25
27
|
throw new Error('Invalid pool type');
|
|
@@ -31,11 +33,14 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
31
33
|
/** The number of txs in the mempool */ objectsInMempool;
|
|
32
34
|
addObjectCounter;
|
|
33
35
|
/** Tracks tx size */ objectSize;
|
|
36
|
+
/** Track delay between transaction added and evicted */ minedDelay;
|
|
34
37
|
dbMetrics;
|
|
35
38
|
defaultAttributes;
|
|
36
39
|
meter;
|
|
40
|
+
txAddedTimestamp;
|
|
37
41
|
constructor(telemetry, name, poolStats, dbStats){
|
|
38
42
|
this.poolStats = poolStats;
|
|
43
|
+
this.txAddedTimestamp = new Map();
|
|
39
44
|
this.observeStats = async (observer)=>{
|
|
40
45
|
const { itemCount } = await this.poolStats();
|
|
41
46
|
if (typeof itemCount === 'number') {
|
|
@@ -67,6 +72,9 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
67
72
|
this.addObjectCounter = this.meter.createUpDownCounter(metricsLabels.itemsAdded, {
|
|
68
73
|
description: 'The number of transactions added to the mempool'
|
|
69
74
|
});
|
|
75
|
+
this.minedDelay = this.meter.createHistogram(metricsLabels.itemMinedDelay, {
|
|
76
|
+
description: 'Delay between transaction added and evicted from the mempool'
|
|
77
|
+
});
|
|
70
78
|
this.meter.addBatchObservableCallback(this.observeStats, [
|
|
71
79
|
this.objectsInMempool
|
|
72
80
|
]);
|
|
@@ -77,5 +85,24 @@ export var PoolName = /*#__PURE__*/ function(PoolName) {
|
|
|
77
85
|
incrementAddedObjects(count) {
|
|
78
86
|
this.addObjectCounter.add(count);
|
|
79
87
|
}
|
|
88
|
+
transactionsAdded(transactions) {
|
|
89
|
+
const timestamp = Date.now();
|
|
90
|
+
for (const transaction of transactions){
|
|
91
|
+
this.txAddedTimestamp.set(transaction.txHash.toBigInt(), timestamp);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
transactionsRemoved(hashes) {
|
|
95
|
+
const timestamp = Date.now();
|
|
96
|
+
for (const hash of hashes){
|
|
97
|
+
const key = BigInt(hash);
|
|
98
|
+
const addedAt = this.txAddedTimestamp.get(key);
|
|
99
|
+
if (addedAt !== undefined) {
|
|
100
|
+
this.txAddedTimestamp.delete(key);
|
|
101
|
+
if (addedAt < timestamp) {
|
|
102
|
+
this.minedDelay.record(timestamp - addedAt);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
80
107
|
observeStats;
|
|
81
108
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import type { P2PClientType } from '@aztec/stdlib/p2p';
|
|
2
1
|
import type { AttestationPool } from './attestation_pool/attestation_pool.js';
|
|
3
2
|
import type { TxPool } from './tx_pool/tx_pool.js';
|
|
4
3
|
/**
|
|
5
4
|
* A interface the combines all mempools
|
|
6
5
|
*/
|
|
7
|
-
export type MemPools
|
|
6
|
+
export type MemPools = {
|
|
8
7
|
txPool: TxPool;
|
|
9
|
-
attestationPool
|
|
8
|
+
attestationPool: AttestationPool;
|
|
10
9
|
};
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVtX3Bvb2xzL2ludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sTUFBTSxRQUFRLEdBQUc7SUFDckIsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUNmLGVBQWUsRUFBRSxlQUFlLENBQUM7Q0FDbEMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/mem_pools/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/mem_pools/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC"}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { type Logger } from '@aztec/foundation/log';
|
|
3
4
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
4
5
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
5
|
-
import type {
|
|
6
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
|
+
import type { MerkleTreeReadOperations, ReadonlyWorldStateAccess } from '@aztec/stdlib/interfaces/server';
|
|
6
8
|
import { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
|
|
7
9
|
import { type TelemetryClient } from '@aztec/telemetry-client';
|
|
8
10
|
import { ArchiveCache } from '../../msg_validators/tx_validator/archive_cache.js';
|
|
9
|
-
import {
|
|
11
|
+
import type { PendingTxInfo, TxBlockReference, TxPoolOperations } from './eviction/eviction_strategy.js';
|
|
10
12
|
import type { TxPool, TxPoolEvents, TxPoolOptions } from './tx_pool.js';
|
|
11
13
|
declare const AztecKVTxPool_base: new () => TypedEventEmitter<TxPoolEvents>;
|
|
12
14
|
/**
|
|
13
15
|
* KV implementation of the Transaction Pool.
|
|
14
16
|
*/
|
|
15
|
-
export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool {
|
|
17
|
+
export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool, TxPoolOperations {
|
|
16
18
|
#private;
|
|
17
|
-
/** The tx evicion logic will kick after pool size is greater than maxTxPoolSize * txPoolOverflowFactor */
|
|
18
|
-
txPoolOverflowFactor: number;
|
|
19
19
|
/**
|
|
20
20
|
* Class constructor for KV TxPool. Initiates our transaction pool as an AztecMap.
|
|
21
21
|
* @param store - A KV store for live txs in the pool.
|
|
@@ -24,7 +24,7 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
24
24
|
* @param archivedTxLimit - The number of txs to archive.
|
|
25
25
|
* @param log - A logger.
|
|
26
26
|
*/
|
|
27
|
-
constructor(store: AztecAsyncKVStore, archive: AztecAsyncKVStore,
|
|
27
|
+
constructor(store: AztecAsyncKVStore, archive: AztecAsyncKVStore, worldState: ReadonlyWorldStateAccess, telemetry?: TelemetryClient, config?: TxPoolOptions, log?: Logger);
|
|
28
28
|
private countTxs;
|
|
29
29
|
isEmpty(): Promise<boolean>;
|
|
30
30
|
/**
|
|
@@ -35,12 +35,8 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
35
35
|
* @param blockHeader - The header of the block the transactions were mined in
|
|
36
36
|
*/
|
|
37
37
|
markAsMined(txHashes: TxHash[], blockHeader: BlockHeader): Promise<void>;
|
|
38
|
-
markMinedAsPending(txHashes: TxHash[]): Promise<void>;
|
|
38
|
+
markMinedAsPending(txHashes: TxHash[], latestBlock: BlockNumber): Promise<void>;
|
|
39
39
|
getPendingTxHashes(): Promise<TxHash[]>;
|
|
40
|
-
getMinedTxHashes(): Promise<[TxHash, BlockNumber][]>;
|
|
41
|
-
getPendingTxCount(): Promise<number>;
|
|
42
|
-
getMinedTxCount(): Promise<number>;
|
|
43
|
-
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | 'deleted' | undefined>;
|
|
44
40
|
/**
|
|
45
41
|
* Checks if a transaction exists in the pool and returns it.
|
|
46
42
|
* @param txHash - The generated tx hash.
|
|
@@ -59,7 +55,7 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
59
55
|
/**
|
|
60
56
|
* Adds a list of transactions to the pool. Duplicates are ignored.
|
|
61
57
|
* @param txs - An array of txs to be added to the pool.
|
|
62
|
-
* @returns
|
|
58
|
+
* @returns count of added transactions
|
|
63
59
|
*/
|
|
64
60
|
addTxs(txs: Tx[], opts?: {
|
|
65
61
|
source?: string;
|
|
@@ -71,9 +67,10 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
71
67
|
* @returns Empty promise.
|
|
72
68
|
*/
|
|
73
69
|
deleteTxs(txHashes: TxHash[], opts?: {
|
|
74
|
-
eviction?: boolean;
|
|
75
70
|
permanently?: boolean;
|
|
76
71
|
}): Promise<void>;
|
|
72
|
+
private deleteMinedTx;
|
|
73
|
+
private deletePendingTx;
|
|
77
74
|
/**
|
|
78
75
|
* Gets all the transactions stored in the pool.
|
|
79
76
|
* @returns Array of tx objects in the order they were added to the pool.
|
|
@@ -84,20 +81,23 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
84
81
|
* @returns An array of transaction hashes found in the tx pool.
|
|
85
82
|
*/
|
|
86
83
|
getAllTxHashes(): Promise<TxHash[]>;
|
|
87
|
-
|
|
84
|
+
getPendingTxInfos(): Promise<PendingTxInfo[]>;
|
|
85
|
+
private getPendingTxInfo;
|
|
86
|
+
getPendingTxsReferencingBlocks(blockHashes: Fr[]): Promise<TxBlockReference[]>;
|
|
87
|
+
getPendingTxsWithFeePayer(feePayers: AztecAddress[]): Promise<PendingTxInfo[]>;
|
|
88
|
+
getMinedTxHashes(): Promise<[TxHash, BlockNumber][]>;
|
|
89
|
+
getPendingTxCount(): Promise<number>;
|
|
90
|
+
getMinedTxCount(): Promise<number>;
|
|
91
|
+
getTxStatus(txHash: TxHash): Promise<'pending' | 'mined' | 'deleted' | undefined>;
|
|
92
|
+
updateConfig(cfg: TxPoolOptions): void;
|
|
88
93
|
markTxsAsNonEvictable(txHashes: TxHash[]): Promise<void>;
|
|
94
|
+
clearNonEvictableTxs(): Promise<void>;
|
|
89
95
|
/**
|
|
90
96
|
* Permanently deletes deleted mined transactions from blocks up to and including the specified block number.
|
|
91
97
|
* @param blockNumber - Block number threshold. Deleted mined txs from this block or earlier will be permanently deleted.
|
|
92
98
|
* @returns The number of transactions permanently deleted.
|
|
93
99
|
*/
|
|
94
100
|
cleanupDeletedMinedTxs(blockNumber: BlockNumber): Promise<number>;
|
|
95
|
-
/**
|
|
96
|
-
* Creates a GasTxValidator instance.
|
|
97
|
-
* @param db - DB for the validator to use
|
|
98
|
-
* @returns A GasTxValidator instance
|
|
99
|
-
*/
|
|
100
|
-
protected createGasTxValidator(db: MerkleTreeReadOperations): GasTxValidator;
|
|
101
101
|
/**
|
|
102
102
|
* Creates an ArchiveCache instance.
|
|
103
103
|
* @param db - DB for the cache to use
|
|
@@ -106,11 +106,15 @@ export declare class AztecKVTxPool extends AztecKVTxPool_base implements TxPool
|
|
|
106
106
|
protected createArchiveCache(db: MerkleTreeReadOperations): ArchiveCache;
|
|
107
107
|
private getPendingTxByHash;
|
|
108
108
|
private archiveTxs;
|
|
109
|
-
private
|
|
110
|
-
private evictInvalidTxsAfterMining;
|
|
111
|
-
private evictInvalidTxsAfterReorg;
|
|
109
|
+
private addPendingTxIndicesInDbTx;
|
|
112
110
|
private addPendingTxIndices;
|
|
111
|
+
private removePendingTxIndicesInDbTx;
|
|
113
112
|
private removePendingTxIndices;
|
|
113
|
+
/**
|
|
114
|
+
* Returns up to `limit` lowest-priority evictable pending tx hashes without hydrating transactions.
|
|
115
|
+
* Iterates the priority index in ascending order and skips non-evictable txs.
|
|
116
|
+
*/
|
|
117
|
+
getLowestPriorityEvictable(limit: number): Promise<TxHash[]>;
|
|
114
118
|
}
|
|
115
119
|
export {};
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXp0ZWNfa3ZfdHhfcG9vbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sL2F6dGVjX2t2X3R4X3Bvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBcUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzFHLE9BQU8sRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzNELE9BQU8sRUFBRSxLQUFLLGVBQWUsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUtuRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFHbEYsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNekcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRXhFOztHQUVHO0FBQ0gscUJBQWEsYUFDWCxTQUFRLGtCQUNSLFlBQVcsTUFBTSxFQUFFLGdCQUFnQjs7SUErQ25DOzs7Ozs7O09BT0c7SUFDSCxZQUNFLEtBQUssRUFBRSxpQkFBaUIsRUFDeEIs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aztec_kv_tx_pool.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/aztec_kv_tx_pool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAqC,MAAM,iBAAiB,CAAC;AAC5F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAG1G,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAKnF,OAAO,EAAE,YAAY,EAAE,MAAM,oDAAoD,CAAC;AAGlF,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAMzG,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;;AAExE;;GAEG;AACH,qBAAa,aACX,SAAQ,kBACR,YAAW,MAAM,EAAE,gBAAgB;;IA+CnC;;;;;;;OAOG;IACH,YACE,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,wBAAwB,EACpC,SAAS,GAAE,eAAsC,EACjD,MAAM,GAAE,aAAkB,EAC1B,GAAG,SAA8B,EAsClC;IAED,OAAO,CAAC,QAAQ,CASd;IAEW,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAKvC;IAED;;;;;;OAMG;IACU,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+CpF;IAEY,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsB3F;IAEY,kBAAkB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGnD;IAED;;;;OAIG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAGhE;IAEK,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAGlE;IAEK,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAEnD;IAEK,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG5C;IAED;;;;OAIG;IACU,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAGxE;IAED;;;;OAIG;IACU,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD9E;IAED;;;;;OAKG;IACI,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCpF;YAEa,aAAa;YAcb,eAAe;IAQ7B;;;OAGG;IACU,SAAS,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAGtC;IAED;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAG/C;IAEY,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAIzD;YAEa,gBAAgB;IAqBjB,8BAA8B,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAc1F;IAEY,yBAAyB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAS1F;IAEY,gBAAgB,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,CAAC,CAGhE;IAEY,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEhD;IAEY,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAE9C;IAEY,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC,CAiB7F;IAEM,YAAY,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAS5C;IAEM,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9D;IAEM,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAO3C;IAED;;;;OAIG;IACU,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAkC7E;IAED;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,EAAE,EAAE,wBAAwB,GAAG,YAAY,CAEvE;YAQa,kBAAkB;YAkBlB,UAAU;YAgDV,yBAAyB;YAMzB,mBAAmB;YAOnB,4BAA4B;YAS5B,sBAAsB;IAMpC;;;OAGG;IACU,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkBxE;CACF"}
|