@aztec/p2p 0.0.1-commit.358457c → 0.0.1-commit.381b1a9
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 +4 -5
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +12 -7
- package/dest/client/interface.d.ts +4 -4
- package/dest/client/interface.d.ts.map +1 -1
- package/dest/client/p2p_client.d.ts +4 -4
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +9 -27
- 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/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_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/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 +3 -3
- 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 +30 -7
- package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/tx_metadata.js +62 -16
- 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_impl.d.ts +1 -1
- 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 +38 -30
- 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/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/factory.d.ts +15 -4
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +21 -8
- 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 +13 -4
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +39 -9
- package/dest/msg_validators/tx_validator/index.d.ts +2 -1
- package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/index.js +1 -0
- package/dest/msg_validators/tx_validator/phases_validator.d.ts +2 -2
- package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/phases_validator.js +44 -23
- package/dest/services/encoding.d.ts +2 -2
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +7 -7
- package/dest/services/libp2p/libp2p_service.d.ts +6 -7
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +31 -23
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts +1 -1
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/batch_tx_requester.js +37 -14
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts +11 -17
- package/dest/services/reqresp/batch-tx-requester/peer_collection.d.ts.map +1 -1
- package/dest/services/reqresp/batch-tx-requester/peer_collection.js +15 -49
- 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 +1 -1
- 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 +15 -14
- package/src/client/interface.ts +3 -9
- package/src/client/p2p_client.ts +7 -38
- 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/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_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/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 +3 -3
- package/src/mem_pools/tx_pool_v2/tx_metadata.ts +89 -17
- package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +11 -11
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +43 -27
- 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/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/factory.ts +22 -2
- package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
- package/src/msg_validators/tx_validator/gas_validator.ts +41 -8
- package/src/msg_validators/tx_validator/index.ts +1 -0
- package/src/msg_validators/tx_validator/phases_validator.ts +51 -26
- package/src/services/encoding.ts +5 -6
- package/src/services/libp2p/libp2p_service.ts +30 -21
- package/src/services/reqresp/batch-tx-requester/batch_tx_requester.ts +42 -14
- package/src/services/reqresp/batch-tx-requester/peer_collection.ts +24 -63
- 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 +1 -0
- 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
package/dest/config.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
|
|
1
|
+
import { bigintConfigHelper, booleanConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, percentageConfigHelper, pickConfigMappings, secretStringConfigHelper } from '@aztec/foundation/config';
|
|
2
2
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
3
|
import { dataConfigMappings } from '@aztec/kv-store/config';
|
|
4
4
|
import { FunctionSelector } from '@aztec/stdlib/abi/function-selector';
|
|
@@ -10,6 +10,26 @@ import { txCollectionConfigMappings } from './services/tx_collection/config.js';
|
|
|
10
10
|
import { txFileStoreConfigMappings } from './services/tx_file_store/config.js';
|
|
11
11
|
export const DEFAULT_P2P_PORT = 40400;
|
|
12
12
|
export const p2pConfigMappings = {
|
|
13
|
+
validateMaxTxsPerBlock: {
|
|
14
|
+
env: 'VALIDATOR_MAX_TX_PER_BLOCK',
|
|
15
|
+
description: 'Maximum transactions per block for validation. Overrides maxTxsPerBlock for gossip validation when set.',
|
|
16
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
17
|
+
},
|
|
18
|
+
validateMaxTxsPerCheckpoint: {
|
|
19
|
+
env: 'VALIDATOR_MAX_TX_PER_CHECKPOINT',
|
|
20
|
+
description: 'Maximum transactions per checkpoint for validation. Used as fallback for maxTxsPerBlock when that is not set.',
|
|
21
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
22
|
+
},
|
|
23
|
+
validateMaxL2BlockGas: {
|
|
24
|
+
env: 'VALIDATOR_MAX_L2_BLOCK_GAS',
|
|
25
|
+
description: 'Maximum L2 gas per block for validation. When set, txs exceeding this limit are rejected.',
|
|
26
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
27
|
+
},
|
|
28
|
+
validateMaxDABlockGas: {
|
|
29
|
+
env: 'VALIDATOR_MAX_DA_BLOCK_GAS',
|
|
30
|
+
description: 'Maximum DA gas per block for validation. When set, txs exceeding this limit are rejected.',
|
|
31
|
+
parseEnv: (val)=>val ? parseInt(val, 10) : undefined
|
|
32
|
+
},
|
|
13
33
|
p2pEnabled: {
|
|
14
34
|
env: 'P2P_ENABLED',
|
|
15
35
|
description: 'A flag dictating whether the P2P subsystem should be enabled.',
|
|
@@ -206,11 +226,11 @@ export const p2pConfigMappings = {
|
|
|
206
226
|
parseEnv: (val)=>val ? +val : undefined,
|
|
207
227
|
description: 'The maximum possible size of the P2P DB in KB. Overwrites the general dataStoreMapSizeKb.'
|
|
208
228
|
},
|
|
209
|
-
|
|
229
|
+
txPublicSetupAllowListExtend: {
|
|
210
230
|
env: 'TX_PUBLIC_SETUP_ALLOWLIST',
|
|
211
231
|
parseEnv: (val)=>parseAllowList(val),
|
|
212
|
-
description: '
|
|
213
|
-
printDefault: ()=>'AuthRegistry
|
|
232
|
+
description: 'Additional entries to extend the default setup allow list. Format: I:address:selector[:flags],C:classId:selector[:flags]. Flags: os (onlySelf), rn (rejectNullMsgSender), cl=N (calldataLength), joined with +.',
|
|
233
|
+
printDefault: ()=>'Default: AuthRegistry._set_authorized, AuthRegistry.set_authorized, FeeJuice._increase_public_balance'
|
|
214
234
|
},
|
|
215
235
|
maxPendingTxCount: {
|
|
216
236
|
env: 'P2P_MAX_PENDING_TX_COUNT',
|
|
@@ -239,6 +259,11 @@ export const p2pConfigMappings = {
|
|
|
239
259
|
description: 'Number of auth attempts to allow before peer is banned. Number is inclusive',
|
|
240
260
|
...numberConfigHelper(3)
|
|
241
261
|
},
|
|
262
|
+
dropTransactions: {
|
|
263
|
+
env: 'P2P_DROP_TX',
|
|
264
|
+
description: 'True to simulate discarding transactions. - For testing purposes only',
|
|
265
|
+
...booleanConfigHelper(false)
|
|
266
|
+
},
|
|
242
267
|
dropTransactionsProbability: {
|
|
243
268
|
env: 'P2P_DROP_TX_CHANCE',
|
|
244
269
|
description: 'The probability that a transaction is discarded (0 - 1). - For testing purposes only',
|
|
@@ -273,6 +298,11 @@ export const p2pConfigMappings = {
|
|
|
273
298
|
description: 'Minimum age (ms) a transaction must have been in the pool before it is eligible for block building.',
|
|
274
299
|
...numberConfigHelper(2_000)
|
|
275
300
|
},
|
|
301
|
+
priceBumpPercentage: {
|
|
302
|
+
env: 'P2P_RPC_PRICE_BUMP_PERCENTAGE',
|
|
303
|
+
description: 'Minimum percentage fee increase required to replace an existing tx via RPC. Even at 0%, replacement still requires paying at least 1 unit more.',
|
|
304
|
+
...bigintConfigHelper(10n)
|
|
305
|
+
},
|
|
276
306
|
...sharedSequencerConfigMappings,
|
|
277
307
|
...p2pReqRespConfigMappings,
|
|
278
308
|
...batchTxRequesterConfigMappings,
|
|
@@ -307,13 +337,37 @@ export const bootnodeConfigMappings = pickConfigMappings({
|
|
|
307
337
|
...dataConfigMappings,
|
|
308
338
|
...chainConfigMappings
|
|
309
339
|
}, bootnodeConfigKeys);
|
|
340
|
+
/**
|
|
341
|
+
* Parses a `+`-separated flags string into validation properties for an allow list entry.
|
|
342
|
+
* Supported flags: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
|
|
343
|
+
*/ function parseFlags(flags, entry) {
|
|
344
|
+
const result = {};
|
|
345
|
+
for (const flag of flags.split('+')){
|
|
346
|
+
if (flag === 'os') {
|
|
347
|
+
result.onlySelf = true;
|
|
348
|
+
} else if (flag === 'rn') {
|
|
349
|
+
result.rejectNullMsgSender = true;
|
|
350
|
+
} else if (flag.startsWith('cl=')) {
|
|
351
|
+
const n = parseInt(flag.slice(3), 10);
|
|
352
|
+
if (isNaN(n) || n < 0) {
|
|
353
|
+
throw new Error(`Invalid allow list entry "${entry}": invalid calldataLength in flag "${flag}". Expected a non-negative integer.`);
|
|
354
|
+
}
|
|
355
|
+
result.calldataLength = n;
|
|
356
|
+
} else {
|
|
357
|
+
throw new Error(`Invalid allow list entry "${entry}": unknown flag "${flag}". Supported flags: os, rn, cl=N.`);
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
return result;
|
|
361
|
+
}
|
|
310
362
|
/**
|
|
311
363
|
* Parses a string to a list of allowed elements.
|
|
312
|
-
* Each
|
|
313
|
-
* `I:${address}`
|
|
314
|
-
* `
|
|
315
|
-
*
|
|
316
|
-
*
|
|
364
|
+
* Each entry is expected to be of one of the following formats:
|
|
365
|
+
* `I:${address}:${selector}` — instance (contract address) with function selector
|
|
366
|
+
* `C:${classId}:${selector}` — class with function selector
|
|
367
|
+
*
|
|
368
|
+
* An optional flags segment can be appended after the selector:
|
|
369
|
+
* `I:${address}:${selector}:${flags}` or `C:${classId}:${selector}:${flags}`
|
|
370
|
+
* where flags is a `+`-separated list of: `os` (onlySelf), `rn` (rejectNullMsgSender), `cl=N` (calldataLength).
|
|
317
371
|
*
|
|
318
372
|
* @param value The string to parse
|
|
319
373
|
* @returns A list of allowed elements
|
|
@@ -323,30 +377,30 @@ export const bootnodeConfigMappings = pickConfigMappings({
|
|
|
323
377
|
return entries;
|
|
324
378
|
}
|
|
325
379
|
for (const val of value.split(',')){
|
|
326
|
-
const
|
|
327
|
-
|
|
380
|
+
const trimmed = val.trim();
|
|
381
|
+
if (!trimmed) {
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
384
|
+
const [typeString, identifierString, selectorString, flagsString] = trimmed.split(':');
|
|
385
|
+
if (!selectorString) {
|
|
386
|
+
throw new Error(`Invalid allow list entry "${trimmed}": selector is required. Expected format: I:address:selector or C:classId:selector`);
|
|
387
|
+
}
|
|
388
|
+
const selector = FunctionSelector.fromString(selectorString);
|
|
389
|
+
const flags = flagsString ? parseFlags(flagsString, trimmed) : {};
|
|
328
390
|
if (typeString === 'I') {
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
} else {
|
|
335
|
-
entries.push({
|
|
336
|
-
address: AztecAddress.fromString(identifierString)
|
|
337
|
-
});
|
|
338
|
-
}
|
|
391
|
+
entries.push({
|
|
392
|
+
address: AztecAddress.fromString(identifierString),
|
|
393
|
+
selector,
|
|
394
|
+
...flags
|
|
395
|
+
});
|
|
339
396
|
} else if (typeString === 'C') {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
classId: Fr.fromHexString(identifierString)
|
|
348
|
-
});
|
|
349
|
-
}
|
|
397
|
+
entries.push({
|
|
398
|
+
classId: Fr.fromHexString(identifierString),
|
|
399
|
+
selector,
|
|
400
|
+
...flags
|
|
401
|
+
});
|
|
402
|
+
} else {
|
|
403
|
+
throw new Error(`Invalid allow list entry "${trimmed}": unknown type "${typeString}". Expected "I" (instance) or "C" (class).`);
|
|
350
404
|
}
|
|
351
405
|
}
|
|
352
406
|
return entries;
|
|
@@ -6,7 +6,7 @@ import type { Tx } from '@aztec/stdlib/tx';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare function getPendingTxPriority(tx: Tx): string;
|
|
8
8
|
/**
|
|
9
|
-
* Returns the priority of a tx.
|
|
9
|
+
* Returns the priority of a tx based on the L2 priority fee only, capped by the max fees per gas.
|
|
10
10
|
*/
|
|
11
11
|
export declare function getTxPriorityFee(tx: Tx): bigint;
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpb3JpdHkuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tZW1fcG9vbHMvdHhfcG9vbC9wcmlvcml0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUUzQzs7OztHQUlHO0FBQ0gsd0JBQWdCLG9CQUFvQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUVuRDtBQUVEOztHQUVHO0FBQ0gsd0JBQWdCLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUcvQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/priority.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"priority.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/priority.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAG/C"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { minBigint } from '@aztec/foundation/bigint';
|
|
1
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
3
|
/**
|
|
3
4
|
* Returns a string representing the priority of a tx.
|
|
@@ -7,9 +8,8 @@ import { Buffer32 } from '@aztec/foundation/buffer';
|
|
|
7
8
|
return Buffer32.fromBigInt(getTxPriorityFee(tx)).toString();
|
|
8
9
|
}
|
|
9
10
|
/**
|
|
10
|
-
* Returns the priority of a tx.
|
|
11
|
+
* Returns the priority of a tx based on the L2 priority fee only, capped by the max fees per gas.
|
|
11
12
|
*/ export function getTxPriorityFee(tx) {
|
|
12
|
-
const priorityFees = tx.getGasSettings()
|
|
13
|
-
|
|
14
|
-
return totalFees;
|
|
13
|
+
const { maxPriorityFeesPerGas: priorityFees, maxFeesPerGas } = tx.getGasSettings();
|
|
14
|
+
return minBigint(maxFeesPerGas.feePerL2Gas, priorityFees.feePerL2Gas);
|
|
15
15
|
}
|
|
@@ -4,4 +4,4 @@ import type { TxPool } from './tx_pool.js';
|
|
|
4
4
|
* @param getTxPool - Gets a fresh TxPool
|
|
5
5
|
*/
|
|
6
6
|
export declare function describeTxPool(getTxPool: () => TxPool): void;
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF90ZXN0X3N1aXRlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2wvdHhfcG9vbF90ZXN0X3N1aXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQzs7O0dBR0c7QUFDSCx3QkFBZ0IsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLE1BQU0sUUFvVHJEIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/tx_pool_test_suite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"tx_pool_test_suite.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool/tx_pool_test_suite.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,MAAM,QAoTrD"}
|
|
@@ -264,7 +264,9 @@ import { BlockHeader, GlobalVariables } from '@aztec/stdlib/tx';
|
|
|
264
264
|
});
|
|
265
265
|
it('returns pending tx hashes sorted by priority', async ()=>{
|
|
266
266
|
const withPriorityFee = (tx, fee)=>{
|
|
267
|
-
unfreeze(tx.data.constants.txContext.gasSettings)
|
|
267
|
+
const gs = unfreeze(tx.data.constants.txContext.gasSettings);
|
|
268
|
+
gs.maxPriorityFeesPerGas = new GasFees(fee, fee);
|
|
269
|
+
gs.maxFeesPerGas = new GasFees(fee, fee);
|
|
268
270
|
return tx;
|
|
269
271
|
};
|
|
270
272
|
const tx1 = withPriorityFee(await mockTx(0), 1000);
|
|
@@ -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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"}
|
|
@@ -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.
|
|
@@ -208,4 +208,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
208
208
|
/** Stops the pool and releases resources */
|
|
209
209
|
stop(): Promise<void>;
|
|
210
210
|
}
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0UsT0FBTyxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFNUQ7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLFlBQVksR0FBRztJQUN6QixrREFBa0Q7SUFDbEQsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLHNIQUFzSDtJQUN0SCxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbEIsb0dBQW9HO0lBQ3BHLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNuQixnR0FBZ0c7SUFDaEcsTUFBTSxDQUFDLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0NBQzVDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sTUFBTSxjQUFjLEdBQUc7SUFDM0IsbUVBQW1FO0lBQ25FLFdBQVcsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEtBQUssSUFBSSxDQUFDO0lBQzVELDBEQUEwRDtJQUMxRCxhQUFhLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxLQUFLLElBQUksQ0FBQztDQUN2RCxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHO0lBQzNCLDBFQUEwRTtJQUMxRSxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsdUVBQXVFO0lBQ3ZFLGVBQWUsRUFBRSxNQUFNLENBQUM7SUFDeEIsd0dBQXdHO0lBQ3hHLGNBQWMsRUFBRSxNQUFNLENBQUM7SUFDdkIsMkVBQTJFO0lBQzNFLGtCQUFrQixFQUFFLE1BQU0sQ0FBQztJQUMzQixnR0FBZ0c7SUFDaEcsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0NBQzdCLENBQUM7QUFFRjs7R0FFRztBQUNILGVBQU8sTUFBTSx5QkFBeUIsRUFBRSxjQU12QyxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsb0ZBQW9GO0lBQ3BGLGFBQWEsRUFBRSxhQUFhLENBQUM7SUFDN0IsOEVBQThFO0lBQzlFLHNCQUFzQixFQUFFLHNCQUFzQixDQUFDO0lBQy9DLDBGQUEwRjtJQUMxRixpQkFBaUIsRUFBRSxNQUFNLE9BQU8sQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztDQUMzRCxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxXQUFXLGNBQWM7SUFDN0IsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDcEQsMEVBQTBFO0lBQzFFLG9CQUFvQixDQUFDLFNBQVMsRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUM1RCw2REFBNkQ7SUFDN0QscUJBQXFCLENBQUMsUUFBUSxFQUFFLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBQ2pFLGdEQUFnRDtJQUNoRCxpQkFBaUIsSUFBSSxNQUFNLENBQUM7Q0FDN0I7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBTSxXQUFXLFFBQVMsU0FBUSxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7SUFHakU7Ozs7OztPQU1HO0lBQ0gsYUFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUFDLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFekc7Ozs7O09BS0c7SUFDSCxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRXpEOzs7Ozs7T0FNRztJQUNILGVBQWUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsRUFBRTtRQUFFLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFGOzs7Ozs7O09BT0c7SUFDSCxVQUFVLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFdEU7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFJdEY7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFDLEtBQUssRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhEOzs7OztPQUtHO0lBQ0gsY0FBYyxDQUFDLFVBQVUsRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXREOzs7OztPQUtHO0lBQ0gsa0JBQWtCLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUFFLFlBQVksQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRWhHOzs7O09BSUc7SUFDSCxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXpEOzs7O09BSUc7SUFDSCxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4RCxxQ0FBcUM7SUFDckMsV0FBVyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUVyRCxpREFBaUQ7SUFDakQsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRTlELCtDQUErQztJQUMvQyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRS9DLHVDQUF1QztJQUN2QyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxHQUFHLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUV0RSx5RUFBeUU7SUFDekUsa0JBQWtCLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFFeEMsb0lBQW9JO0lBQ3BJLDBCQUEwQixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBRWhELDZDQUE2QztJQUM3QyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFckMseURBQXlEO0lBQ3pELGdCQUFnQixJQUFJLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFbkQsMkNBQTJDO0lBQzNDLGVBQWUsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFbkMsa0NBQWtDO0lBQ2xDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFNUIsK0NBQStDO0lBQy9DLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztJQUU3RCxvREFBb0Q7SUFDcEQsd0JBQXdCLENBQUMsS0FBSyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUkzRCxxQ0FBcUM7SUFDckMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBSTdEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZCLDRDQUE0QztJQUM1QyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0NBQ3ZCIn0=
|
|
@@ -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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"}
|