@aztec/p2p 0.0.1-commit.ff7989d6c → 0.0.1-commit.fff30aa
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 +129 -3
- package/dest/client/factory.d.ts +4 -5
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +29 -28
- package/dest/client/interface.d.ts +6 -13
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +5 -13
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +19 -88
- package/dest/client/test/tx_proposal_collector/proposal_tx_collector_worker.js +1 -2
- package/dest/config.d.ts +32 -11
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +85 -31
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.js +2 -1
- package/dest/mem_pools/tx_pool/priority.d.ts +2 -2
- package/dest/mem_pools/tx_pool/priority.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/priority.js +4 -4
- 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 +3 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.js +3 -2
- 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 +2 -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_reorg_rule.js +2 -2
- 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/index.d.ts +2 -2
- package/dest/mem_pools/tx_pool_v2/index.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/index.js +1 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +9 -7
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.js +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +46 -8
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.js +81 -17
- package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +1 -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 +9 -10
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts +5 -3
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2.js +3 -0
- package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +2 -2
- 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 +50 -40
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +6 -4
- package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +6 -4
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +13 -8
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +48 -36
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts +2 -2
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/aggregate_tx_validator.js +3 -3
- package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +2 -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 +24 -20
- 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/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 +1 -1
- package/dest/msg_validators/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/data_validator.js +35 -2
- package/dest/msg_validators/tx_validator/factory.d.ts +133 -6
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +247 -60
- 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 +67 -3
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +104 -37
- package/dest/msg_validators/tx_validator/index.d.ts +3 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +2 -0
- package/dest/msg_validators/tx_validator/nullifier_cache.d.ts +14 -0
- package/dest/msg_validators/tx_validator/nullifier_cache.d.ts.map +1 -0
- package/dest/msg_validators/tx_validator/nullifier_cache.js +24 -0
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +22 -2
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.js +72 -24
- package/dest/services/dummy_service.d.ts +2 -3
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +1 -4
- package/dest/services/encoding.d.ts +6 -2
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +14 -8
- package/dest/services/libp2p/libp2p_service.d.ts +15 -13
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +92 -92
- package/dest/services/reqresp/batch-tx-requester/tx_validator.js +2 -2
- 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/reqresp.d.ts +1 -1
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +17 -9
- package/dest/services/service.d.ts +2 -2
- package/dest/services/service.d.ts.map +1 -1
- 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/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 +9 -7
- package/dest/services/tx_provider.d.ts +3 -3
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +4 -4
- package/dest/test-helpers/make-test-p2p-clients.d.ts +5 -6
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +1 -2
- package/dest/test-helpers/mock-pubsub.d.ts +2 -3
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.js +2 -2
- package/dest/test-helpers/reqresp-nodes.d.ts +2 -3
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +2 -2
- package/dest/test-helpers/testbench-utils.d.ts +2 -2
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
- package/dest/test-helpers/testbench-utils.js +2 -1
- package/dest/testbench/p2p_client_testbench_worker.js +7 -6
- package/dest/testbench/worker_client_manager.d.ts +3 -1
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +4 -1
- package/package.json +14 -14
- package/src/client/factory.ts +49 -46
- package/src/client/interface.ts +5 -19
- package/src/client/p2p_client.ts +20 -118
- package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +1 -2
- package/src/config.ts +124 -34
- package/src/mem_pools/tx_pool/eviction/fee_payer_balance_eviction_rule.ts +2 -1
- package/src/mem_pools/tx_pool/priority.ts +4 -4
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +3 -1
- package/src/mem_pools/tx_pool_v2/README.md +9 -1
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_eviction_rule.ts +3 -2
- package/src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts +3 -0
- package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +11 -1
- package/src/mem_pools/tx_pool_v2/eviction/invalid_txs_after_reorg_rule.ts +2 -2
- 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/index.ts +1 -1
- package/src/mem_pools/tx_pool_v2/interfaces.ts +9 -7
- package/src/mem_pools/tx_pool_v2/tx_metadata.ts +113 -18
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +11 -11
- package/src/mem_pools/tx_pool_v2/tx_pool_v2.ts +14 -2
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +57 -39
- package/src/msg_validators/attestation_validator/README.md +49 -0
- package/src/msg_validators/proposal_validator/README.md +123 -0
- package/src/msg_validators/proposal_validator/block_proposal_validator.ts +14 -4
- package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +20 -7
- package/src/msg_validators/proposal_validator/proposal_validator.ts +63 -40
- package/src/msg_validators/tx_validator/README.md +119 -0
- package/src/msg_validators/tx_validator/aggregate_tx_validator.ts +3 -3
- package/src/msg_validators/tx_validator/allowed_public_setup.ts +22 -27
- package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
- package/src/msg_validators/tx_validator/contract_instance_validator.ts +56 -0
- package/src/msg_validators/tx_validator/data_validator.ts +42 -1
- package/src/msg_validators/tx_validator/factory.ts +394 -78
- package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
- package/src/msg_validators/tx_validator/gas_validator.ts +123 -27
- package/src/msg_validators/tx_validator/index.ts +2 -0
- package/src/msg_validators/tx_validator/nullifier_cache.ts +30 -0
- package/src/msg_validators/tx_validator/phases_validator.ts +82 -27
- package/src/services/dummy_service.ts +1 -5
- package/src/services/encoding.ts +14 -7
- package/src/services/libp2p/libp2p_service.ts +106 -101
- package/src/services/reqresp/README.md +229 -0
- package/src/services/reqresp/batch-tx-requester/tx_validator.ts +2 -2
- package/src/services/reqresp/rate-limiter/rate_limiter.ts +13 -9
- package/src/services/reqresp/reqresp.ts +19 -11
- package/src/services/service.ts +1 -1
- package/src/services/tx_collection/file_store_tx_source.ts +43 -31
- package/src/services/tx_collection/tx_source.ts +8 -7
- package/src/services/tx_provider.ts +2 -2
- package/src/test-helpers/make-test-p2p-clients.ts +0 -2
- package/src/test-helpers/mock-pubsub.ts +3 -6
- package/src/test-helpers/reqresp-nodes.ts +2 -5
- package/src/test-helpers/testbench-utils.ts +2 -1
- package/src/testbench/p2p_client_testbench_worker.ts +3 -6
- package/src/testbench/worker_client_manager.ts +11 -4
- package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -23
- 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 -212
- package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -230
|
@@ -16,4 +16,4 @@ export declare class FeePayerBalancePreAddRule implements PreAddRule {
|
|
|
16
16
|
private log;
|
|
17
17
|
check(incomingMeta: TxMetaData, poolAccess: PreAddPoolAccess, _context?: PreAddContext): Promise<PreAddResult>;
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheWVyX2JhbGFuY2VfcHJlX2FkZF9ydWxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvZXZpY3Rpb24vZmVlX3BheWVyX2JhbGFuY2VfcHJlX2FkZF9ydWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxLQUFLLFVBQVUsRUFBbUIsTUFBTSxtQkFBbUIsQ0FBQztBQUNyRSxPQUFPLEVBQ0wsS0FBSyxhQUFhLEVBQ2xCLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssWUFBWSxFQUNqQixLQUFLLFVBQVUsRUFFaEIsTUFBTSxpQkFBaUIsQ0FBQztBQUV6Qjs7Ozs7Ozs7OztHQVVHO0FBQ0gscUJBQWEseUJBQTBCLFlBQVcsVUFBVTtJQUMxRCxTQUFnQixJQUFJLDJCQUEyQjtJQUUvQyxPQUFPLENBQUMsR0FBRyxDQUFpRTtJQUV0RSxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FnR25IO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee_payer_balance_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,UAAU;IAC1D,SAAgB,IAAI,2BAA2B;IAE/C,OAAO,CAAC,GAAG,CAAiE;IAEtE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"fee_payer_balance_pre_add_rule.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/fee_payer_balance_pre_add_rule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,UAAU,EAEhB,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,UAAU;IAC1D,SAAgB,IAAI,2BAA2B;IAE/C,OAAO,CAAC,GAAG,CAAiE;IAEtE,KAAK,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAgGnH;CACF"}
|
|
@@ -23,6 +23,7 @@ import { TxPoolRejectionCode } from './interfaces.js';
|
|
|
23
23
|
const allTxs = [
|
|
24
24
|
...existingTxs.map((t)=>({
|
|
25
25
|
txHash: t.txHash,
|
|
26
|
+
txHashBigInt: t.txHashBigInt,
|
|
26
27
|
priorityFee: t.priorityFee,
|
|
27
28
|
feeLimit: t.feeLimit,
|
|
28
29
|
claimAmount: t.claimAmount,
|
|
@@ -30,6 +31,7 @@ import { TxPoolRejectionCode } from './interfaces.js';
|
|
|
30
31
|
})),
|
|
31
32
|
{
|
|
32
33
|
txHash: incomingMeta.txHash,
|
|
34
|
+
txHashBigInt: incomingMeta.txHashBigInt,
|
|
33
35
|
priorityFee: incomingMeta.priorityFee,
|
|
34
36
|
feeLimit: incomingMeta.feeLimit,
|
|
35
37
|
claimAmount: incomingMeta.claimAmount,
|
|
@@ -83,6 +83,10 @@ export type TxPoolRejectionError = {
|
|
|
83
83
|
code: typeof TxPoolRejectionCode.NULLIFIER_CONFLICT;
|
|
84
84
|
message: string;
|
|
85
85
|
conflictingTxHash: string;
|
|
86
|
+
/** Minimum fee needed to replace the conflicting tx (only set when price bump applies). */
|
|
87
|
+
minimumPriceBumpFee?: bigint;
|
|
88
|
+
/** Incoming tx's priority fee. */
|
|
89
|
+
txPriorityFee?: bigint;
|
|
86
90
|
} | {
|
|
87
91
|
code: typeof TxPoolRejectionCode.INTERNAL_ERROR;
|
|
88
92
|
message: string;
|
|
@@ -104,6 +108,8 @@ export interface PreAddResult {
|
|
|
104
108
|
export interface PreAddContext {
|
|
105
109
|
/** If true, compare priority fee only (no tx hash tiebreaker). Used for RPC submissions. */
|
|
106
110
|
feeComparisonOnly?: boolean;
|
|
111
|
+
/** Percentage-based price bump required for tx replacement. Only set for RPC submissions. */
|
|
112
|
+
priceBumpPercentage?: bigint;
|
|
107
113
|
}
|
|
108
114
|
/**
|
|
109
115
|
* Pre-add rule interface. Rules check incoming txs before they're added to the pool.
|
|
@@ -171,4 +177,4 @@ export declare function txHashToString(txHash: TxHash): string;
|
|
|
171
177
|
* Converts an array of TxHash to string array.
|
|
172
178
|
*/
|
|
173
179
|
export declare function txHashesToStrings(txHashes: TxHash[]): string[];
|
|
174
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTVELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsZUFBTyxNQUFNLGFBQWE7Ozs7Q0FJaEIsQ0FBQztBQUVYLE1BQU0sTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sYUFBYSxDQUFDLENBQUMsTUFBTSxPQUFPLGFBQWEsQ0FBQyxDQUFDO0FBRW5GOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGVBQWUsR0FDdkI7SUFDRSxLQUFLLEVBQUUsT0FBTyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3RDLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN0QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsR0FDRDtJQUNFLEtBQUssRUFBRSxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUM7SUFDekMsV0FBVyxFQUFFLFdBQVcsQ0FBQztDQUMxQixHQUNEO0lBQ0UsS0FBSyxFQUFFLE9BQU8sYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN4QyxLQUFLLEVBQUUsV0FBVyxDQUFDO0lBQ25CLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUN4QixTQUFTLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDckIsQ0FBQztBQUVOOztHQUVHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUM5QixRQUFRLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,eAAe,GACvB;IACE,KAAK,EAAE,OAAO,aAAa,CAAC,SAAS,CAAC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,GACD;IACE,KAAK,EAAE,OAAO,aAAa,CAAC,YAAY,CAAC;IACzC,WAAW,EAAE,WAAW,CAAC;CAC1B,GACD;IACE,KAAK,EAAE,OAAO,aAAa,CAAC,WAAW,CAAC;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AAEN;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IAEvD,yEAAyE;IACzE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAE5D,mDAAmD;IACnD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEtD,iEAAiE;IACjE,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAAC;IAEtD,gDAAgD;IAChD,iBAAiB,IAAI,MAAM,CAAC;IAE5B,kDAAkD;IAClD,0BAA0B,IAAI,UAAU,GAAG,SAAS,CAAC;CACtD;AAED,6DAA6D;AAC7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;CAKtB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjG,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAC5B;IACE,IAAI,EAAE,OAAO,mBAAmB,CAAC,gBAAgB,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,OAAO,mBAAmB,CAAC,8BAA8B,CAAC;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,GACD;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,8 +38,8 @@ import { EvictionEvent } from './interfaces.js';
|
|
|
38
38
|
}
|
|
39
39
|
txsByBlockHash.get(blockHashStr).push(meta.txHash);
|
|
40
40
|
}
|
|
41
|
-
//
|
|
42
|
-
await this.worldState.syncImmediate(
|
|
41
|
+
// Sync without a block number to ensure the world state processes the prune event.
|
|
42
|
+
await this.worldState.syncImmediate();
|
|
43
43
|
const db = this.worldState.getSnapshot(context.blockNumber);
|
|
44
44
|
// Check which blocks exist in the archive
|
|
45
45
|
const blockHashArray = Array.from(uniqueBlockHashes.values());
|
|
@@ -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
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { AztecKVTxPoolV2 } from './tx_pool_v2.js';
|
|
2
2
|
export { type TxPoolV2, type TxPoolV2Config, type TxPoolV2Events, type AddTxsResult, type PoolReadAccess, DEFAULT_TX_POOL_V2_CONFIG, } from './interfaces.js';
|
|
3
|
-
export { type TxMetaData, type TxState, buildTxMetaData, comparePriority } from './tx_metadata.js';
|
|
3
|
+
export { type TxMetaData, type TxState, buildTxMetaData, comparePriority, stubTxMetaData } from './tx_metadata.js';
|
|
4
4
|
export { TxArchive } from './archive/index.js';
|
|
5
5
|
export { DeletedPool } from './deleted_pool.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEQsT0FBTyxFQUNMLEtBQUssUUFBUSxFQUNiLEtBQUssY0FBYyxFQUNuQixLQUFLLGNBQWMsRUFDbkIsS0FBSyxZQUFZLEVBQ2pCLEtBQUssY0FBYyxFQUNuQix5QkFBeUIsR0FDMUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { AztecKVTxPoolV2 } from './tx_pool_v2.js';
|
|
2
2
|
export { DEFAULT_TX_POOL_V2_CONFIG } from './interfaces.js';
|
|
3
|
-
export { buildTxMetaData, comparePriority } from './tx_metadata.js';
|
|
3
|
+
export { buildTxMetaData, comparePriority, stubTxMetaData } from './tx_metadata.js';
|
|
4
4
|
export { TxArchive } from './archive/index.js';
|
|
5
5
|
export { DeletedPool } from './deleted_pool.js';
|
|
@@ -45,8 +45,8 @@ export type TxPoolV2Config = {
|
|
|
45
45
|
minTxPoolAgeMs: number;
|
|
46
46
|
/** Maximum number of evicted tx hashes to remember for metrics tracking */
|
|
47
47
|
evictedTxCacheSize: number;
|
|
48
|
-
/**
|
|
49
|
-
|
|
48
|
+
/** Minimum percentage fee increase required to replace an existing tx via RPC (0 = no bump). */
|
|
49
|
+
priceBumpPercentage: bigint;
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
52
|
* Default configuration values for TxPoolV2.
|
|
@@ -62,6 +62,8 @@ export type TxPoolV2Dependencies = {
|
|
|
62
62
|
worldStateSynchronizer: WorldStateSynchronizer;
|
|
63
63
|
/** Factory that creates a validator for re-validating pool transactions using metadata */
|
|
64
64
|
createTxValidator: () => Promise<TxValidator<TxMetaData>>;
|
|
65
|
+
/** Checks whether a tx's setup-phase calls are on the allow list. Precomputed at receipt time. */
|
|
66
|
+
checkAllowedSetupCalls: (tx: Tx) => Promise<boolean>;
|
|
65
67
|
};
|
|
66
68
|
/**
|
|
67
69
|
* Read-only access to pool state for pre-add checks.
|
|
@@ -101,12 +103,12 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
101
103
|
feeComparisonOnly?: boolean;
|
|
102
104
|
}): Promise<AddTxsResult>;
|
|
103
105
|
/**
|
|
104
|
-
* Checks if
|
|
105
|
-
*
|
|
106
|
+
* Checks if the pool would accept a transaction without modifying state.
|
|
107
|
+
* Used as a pre-check before expensive proof verification.
|
|
106
108
|
* @param tx - Transaction to check
|
|
107
|
-
* @returns
|
|
109
|
+
* @returns 'accepted' if the pool would accept, 'ignored' if already in pool or undesirable
|
|
108
110
|
*/
|
|
109
|
-
canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored'
|
|
111
|
+
canAddPendingTx(tx: Tx): Promise<'accepted' | 'ignored'>;
|
|
110
112
|
/**
|
|
111
113
|
* Adds transactions as immediately protected for a given slot.
|
|
112
114
|
* Used when receiving transactions from a block proposal we're validating.
|
|
@@ -208,4 +210,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
208
210
|
/** Stops the pool and releases resources */
|
|
209
211
|
stop(): Promise<void>;
|
|
210
212
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLFlBQVksR0FBRztJQUN6QixrREFBa0Q7SUFDbEQsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLHNIQUFzSDtJQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEIsb0dBQW9HO0lBQ3BHLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixnR0FBZ0c7SUFDaEcsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQzVDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsbUVBQW1FO0lBQ25FLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FB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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,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,15 @@
|
|
|
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
|
|
4
|
+
import { Gas } from '@aztec/stdlib/gas';
|
|
5
|
+
import { type Tx } from '@aztec/stdlib/tx';
|
|
5
6
|
import { type PreAddResult } from './eviction/interfaces.js';
|
|
6
7
|
/** Validator-compatible data interface, mirroring the subset of PrivateKernelTailCircuitPublicInputs used by validators. */
|
|
7
8
|
export type TxMetaValidationData = {
|
|
8
9
|
getNonEmptyNullifiers(): Fr[];
|
|
9
10
|
expirationTimestamp: bigint;
|
|
11
|
+
/** Whether the tx has public calls. Used to select the correct L2 gas minimum. */
|
|
12
|
+
forPublic?: unknown;
|
|
10
13
|
constants: {
|
|
11
14
|
anchorBlockHeader: {
|
|
12
15
|
hash(): Promise<BlockHash>;
|
|
@@ -14,6 +17,11 @@ export type TxMetaValidationData = {
|
|
|
14
17
|
blockNumber: BlockNumber;
|
|
15
18
|
};
|
|
16
19
|
};
|
|
20
|
+
txContext: {
|
|
21
|
+
gasSettings: {
|
|
22
|
+
gasLimits: Gas;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
17
25
|
};
|
|
18
26
|
};
|
|
19
27
|
/**
|
|
@@ -27,6 +35,8 @@ export type TxMetaValidationData = {
|
|
|
27
35
|
export type TxMetaData = {
|
|
28
36
|
/** The transaction hash as hex string */
|
|
29
37
|
readonly txHash: string;
|
|
38
|
+
/** The transaction hash as bigint (for efficient Fr conversion in comparisons) */
|
|
39
|
+
readonly txHashBigInt: bigint;
|
|
30
40
|
/** Block ID (number and hash) in which the transaction was mined (undefined if not mined) */
|
|
31
41
|
minedL2BlockId?: L2BlockId;
|
|
32
42
|
/** Hash of the block header the transaction uses as its anchor (hex string) */
|
|
@@ -43,6 +53,8 @@ export type TxMetaData = {
|
|
|
43
53
|
readonly nullifiers: readonly string[];
|
|
44
54
|
/** Timestamp by which the transaction must be included (for expiration checks) */
|
|
45
55
|
readonly expirationTimestamp: bigint;
|
|
56
|
+
/** Whether the tx's setup-phase calls pass the allow list check. Computed at receipt time. */
|
|
57
|
+
readonly allowedSetupCalls: boolean;
|
|
46
58
|
/** Validator-compatible data, providing the same access patterns as Tx.data */
|
|
47
59
|
readonly data: TxMetaValidationData;
|
|
48
60
|
/** Timestamp (ms) when the tx was received into the pool. 0 for hydrated txs (always eligible). */
|
|
@@ -56,10 +68,16 @@ export type TxState = 'pending' | 'protected' | 'mined' | 'deleted';
|
|
|
56
68
|
* Builds TxMetaData from a full Tx object.
|
|
57
69
|
* Extracts all relevant fields for efficient in-memory storage and querying.
|
|
58
70
|
* Fr values are captured in closures for zero-cost re-validation.
|
|
71
|
+
*
|
|
72
|
+
* @param allowedSetupCalls - Whether the tx's setup-phase calls pass the allow list.
|
|
73
|
+
* For gossip/RPC txs this is always `true` (already validated by PhasesTxValidator).
|
|
74
|
+
* For req/resp txs this should be computed by the caller using the phases validator.
|
|
59
75
|
*/
|
|
60
|
-
export declare function buildTxMetaData(tx: Tx): Promise<TxMetaData>;
|
|
76
|
+
export declare function buildTxMetaData(tx: Tx, allowedSetupCalls?: boolean): Promise<TxMetaData>;
|
|
77
|
+
/** Converts a txHash bigint back to the canonical 0x-prefixed 64-char hex string. */
|
|
78
|
+
export declare function txHashFromBigInt(value: bigint): string;
|
|
61
79
|
/** Minimal fields required for priority comparison. */
|
|
62
|
-
type PriorityComparable = Pick<TxMetaData, '
|
|
80
|
+
type PriorityComparable = Pick<TxMetaData, 'txHashBigInt' | 'priorityFee'>;
|
|
63
81
|
/**
|
|
64
82
|
* Compares two priority fees in ascending order.
|
|
65
83
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
@@ -70,28 +88,48 @@ export declare function compareFee(a: bigint, b: bigint): number;
|
|
|
70
88
|
* Uses field element comparison for deterministic ordering.
|
|
71
89
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
72
90
|
*/
|
|
73
|
-
export declare function compareTxHash(a:
|
|
91
|
+
export declare function compareTxHash(a: bigint, b: bigint): number;
|
|
74
92
|
/**
|
|
75
93
|
* Compares two transactions by priority fee, with txHash as tiebreaker.
|
|
76
94
|
* Returns negative if a < b, positive if a > b, 0 if equal.
|
|
77
95
|
* Use with sort() for ascending order, or negate/reverse for descending.
|
|
78
96
|
*/
|
|
79
97
|
export declare function comparePriority(a: PriorityComparable, b: PriorityComparable): number;
|
|
98
|
+
/**
|
|
99
|
+
* Returns the minimum fee required to replace an existing tx with the given price bump percentage.
|
|
100
|
+
* Uses integer arithmetic: `existingFee + existingFee * priceBumpPercentage / 100`.
|
|
101
|
+
*/
|
|
102
|
+
export declare function getMinimumPriceBumpFee(existingFee: bigint, priceBumpPercentage: bigint): bigint;
|
|
80
103
|
/**
|
|
81
104
|
* Checks for nullifier conflicts between an incoming transaction and existing pool state.
|
|
82
105
|
*
|
|
83
106
|
* When the incoming tx shares nullifiers with existing pending txs:
|
|
84
|
-
* - If the incoming tx
|
|
85
|
-
* -
|
|
107
|
+
* - If the incoming tx meets or exceeds the required priority, mark conflicting txs for eviction
|
|
108
|
+
* - Otherwise, ignore the incoming tx
|
|
109
|
+
*
|
|
110
|
+
* When `priceBumpPercentage` is provided (RPC path), uses fee-only comparison with the
|
|
111
|
+
* percentage bump instead of `comparePriority`.
|
|
86
112
|
*
|
|
87
113
|
* @param incomingMeta - Metadata for the incoming transaction
|
|
88
114
|
* @param getTxHashByNullifier - Accessor to find which tx uses a nullifier
|
|
89
115
|
* @param getMetadata - Accessor to get metadata for a tx hash
|
|
116
|
+
* @param priceBumpPercentage - Optional percentage bump required for fee-based replacement
|
|
90
117
|
*/
|
|
91
|
-
export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined): PreAddResult;
|
|
118
|
+
export declare function checkNullifierConflict(incomingMeta: TxMetaData, getTxHashByNullifier: (nullifier: string) => string | undefined, getMetadata: (txHash: string) => TxMetaData | undefined, priceBumpPercentage?: bigint): PreAddResult;
|
|
92
119
|
/** Creates a stub TxMetaValidationData for tests that don't exercise validators. */
|
|
93
120
|
export declare function stubTxMetaValidationData(overrides?: {
|
|
94
121
|
expirationTimestamp?: bigint;
|
|
95
122
|
}): TxMetaValidationData;
|
|
123
|
+
/** Creates a stub TxMetaData for tests. All fields have sensible defaults and can be overridden. */
|
|
124
|
+
export declare function stubTxMetaData(txHash: string, overrides?: {
|
|
125
|
+
priorityFee?: bigint;
|
|
126
|
+
feePayer?: string;
|
|
127
|
+
claimAmount?: bigint;
|
|
128
|
+
feeLimit?: bigint;
|
|
129
|
+
nullifiers?: string[];
|
|
130
|
+
expirationTimestamp?: bigint;
|
|
131
|
+
anchorBlockHeaderHash?: string;
|
|
132
|
+
allowedSetupCalls?: boolean;
|
|
133
|
+
}): TxMetaData;
|
|
96
134
|
export {};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfbWV0YWRhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbF92Mi90eF9tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDeEMsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFVLE1BQU0sa0JBQWtCLENBQUM7QUFJbkQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUF1QixNQUFNLDBCQUEwQixDQUFDO0FBRWxGLDRIQUE0SDtBQUM1SCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMscUJBQXFCLElBQUksRUFBRSxFQUFFLENBQUM7SUFDOUIsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLGtGQUFrRjtJQUNsRixTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDcEIsU0FBUyxFQUFFO1FBQ1QsaUJBQWlCLEVBQUU7WUFDakIsSUFBSSxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLFdBQVcsQ0FBQzthQUMxQixDQUFDO1NBQ0gsQ0FBQztRQUNGLFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRTtnQkFBRSxTQUFTLEVBQUUsR0FBRyxDQUFBO2FBQUUsQ0FBQztTQUNqQyxDQUFDO0tBQ0gsQ0FBQztDQUNILENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxNQUFNLFVBQVUsR0FBRztJQUN2Qix5Q0FBeUM7SUFDekMsUUFBUSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUM7SUFFeEIs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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":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,
|
|
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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"}
|