@aztec-labs/p2p 6.0.0-rc.1 → 6.0.0-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/bootstrap/bootstrap.d.ts +2 -2
- package/dest/bootstrap/bootstrap.d.ts.map +1 -1
- package/dest/bootstrap/bootstrap.js +4 -2
- package/dest/client/factory.d.ts +3 -3
- package/dest/client/factory.d.ts.map +1 -1
- package/dest/client/factory.js +6 -6
- package/dest/client/interface.d.ts +1 -1
- package/dest/client/p2p_client.d.ts +1 -1
- package/dest/client/p2p_client.js +1 -1
- package/dest/config.d.ts +11 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +16 -0
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts +15 -3
- package/dest/mem_pools/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool.js +15 -0
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/attestation_pool/attestation_pool_test_suite.js +21 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +6 -2
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.js +9 -0
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts +10 -8
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.js +22 -11
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +6 -2
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.js +2 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +11 -5
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
- 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 +111 -44
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.d.ts.map +1 -1
- package/dest/msg_validators/attestation_validator/attestation_validator.js +3 -24
- package/dest/msg_validators/epoch_cache_lookup.d.ts +18 -0
- package/dest/msg_validators/epoch_cache_lookup.d.ts.map +1 -0
- package/dest/msg_validators/epoch_cache_lookup.js +29 -0
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
- package/dest/msg_validators/proposal_validator/proposal_validator.js +80 -82
- 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 +4 -3
- package/dest/msg_validators/tx_validator/factory.d.ts +40 -11
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/factory.js +36 -5
- package/dest/msg_validators/tx_validator/gas_validator.d.ts +18 -10
- package/dest/msg_validators/tx_validator/gas_validator.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/gas_validator.js +37 -27
- package/dest/services/discv5/discV5_service.d.ts +2 -2
- package/dest/services/discv5/discV5_service.d.ts.map +1 -1
- package/dest/services/discv5/discV5_service.js +3 -1
- package/dest/services/libp2p/libp2p_service.d.ts +18 -9
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +127 -29
- package/dest/services/peer-manager/peer_manager.d.ts +1 -1
- package/dest/services/peer-manager/peer_manager.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_manager.js +14 -0
- package/dest/services/tx_provider.d.ts +1 -1
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/dest/services/tx_provider.js +3 -0
- package/dest/test-helpers/make-test-p2p-clients.d.ts +1 -1
- package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
- package/dest/test-helpers/make-test-p2p-clients.js +3 -1
- package/dest/test-helpers/mock-pubsub.js +1 -1
- package/dest/test-helpers/reqresp-nodes.d.ts +1 -1
- package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
- package/dest/test-helpers/reqresp-nodes.js +3 -1
- package/dest/test-helpers/testbench-utils.d.ts +4 -2
- package/dest/test-helpers/testbench-utils.d.ts.map +1 -1
- package/dest/test-helpers/testbench-utils.js +6 -0
- package/dest/testbench/p2p_client_testbench_worker.js +6 -2
- package/package.json +14 -14
- package/src/bootstrap/bootstrap.ts +3 -2
- package/src/client/factory.ts +7 -7
- package/src/client/interface.ts +1 -1
- package/src/client/p2p_client.ts +1 -1
- package/src/config.ts +11 -0
- package/src/mem_pools/attestation_pool/attestation_pool.ts +25 -0
- package/src/mem_pools/attestation_pool/attestation_pool_test_suite.ts +31 -0
- package/src/mem_pools/tx_pool_v2/README.md +1 -1
- package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +13 -1
- package/src/mem_pools/tx_pool_v2/eviction/insufficient_fee_per_gas_eviction_rule.ts +17 -9
- package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +6 -1
- package/src/mem_pools/tx_pool_v2/interfaces.ts +10 -4
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +95 -40
- package/src/msg_validators/attestation_validator/attestation_validator.ts +3 -23
- package/src/msg_validators/epoch_cache_lookup.ts +33 -0
- package/src/msg_validators/proposal_validator/README.md +3 -3
- package/src/msg_validators/proposal_validator/proposal_validator.ts +78 -77
- package/src/msg_validators/tx_validator/README.md +12 -8
- package/src/msg_validators/tx_validator/data_validator.ts +4 -3
- package/src/msg_validators/tx_validator/factory.ts +60 -14
- package/src/msg_validators/tx_validator/gas_validator.ts +46 -34
- package/src/services/discv5/discV5_service.ts +2 -1
- package/src/services/libp2p/libp2p_service.ts +138 -34
- package/src/services/peer-manager/peer_manager.ts +14 -0
- package/src/services/tx_provider.ts +3 -0
- package/src/test-helpers/make-test-p2p-clients.ts +5 -1
- package/src/test-helpers/mock-pubsub.ts +3 -3
- package/src/test-helpers/reqresp-nodes.ts +5 -1
- package/src/test-helpers/testbench-utils.ts +13 -1
- package/src/testbench/p2p_client_testbench_worker.ts +10 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BlockNumber } from '@aztec-labs/foundation/branded-types';
|
|
1
|
+
import type { BlockNumber, SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
2
2
|
import type { BlockHeader, TxHash } from '@aztec-labs/stdlib/tx';
|
|
3
3
|
import type { TxMetaData } from '../tx_metadata.js';
|
|
4
4
|
/**
|
|
@@ -8,6 +8,7 @@ export declare const EvictionEvent: {
|
|
|
8
8
|
readonly TXS_ADDED: "txs_added";
|
|
9
9
|
readonly BLOCK_MINED: "block_mined";
|
|
10
10
|
readonly CHAIN_PRUNED: "chain_pruned";
|
|
11
|
+
readonly SLOT_PREPARED: "slot_prepared";
|
|
11
12
|
};
|
|
12
13
|
export type EvictionEventType = (typeof EvictionEvent)[keyof typeof EvictionEvent];
|
|
13
14
|
/**
|
|
@@ -25,6 +26,9 @@ export type EvictionContext = {
|
|
|
25
26
|
block: BlockHeader;
|
|
26
27
|
newNullifiers: string[];
|
|
27
28
|
feePayers: string[];
|
|
29
|
+
} | {
|
|
30
|
+
event: typeof EvictionEvent.SLOT_PREPARED;
|
|
31
|
+
slotNumber: SlotNumber;
|
|
28
32
|
};
|
|
29
33
|
/**
|
|
30
34
|
* Result of an eviction operation.
|
|
@@ -177,4 +181,4 @@ export declare function txHashToString(txHash: TxHash): string;
|
|
|
177
181
|
* Converts an array of TxHash to string array.
|
|
178
182
|
*/
|
|
179
183
|
export declare function txHashesToStrings(txHashes: TxHash[]): string[];
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2V2aWN0aW9uL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRDs7R0FFRztBQUNILGVBQU8sTUFBTSxhQUFhOzs7OztDQUtoQixDQUFDO0FBRVgsTUFBTSxNQUFNLGlCQUFpQixHQUFHLENBQUMsT0FBTyxhQUFhLENBQUMsQ0FBQyxNQUFNLE9BQU8sYUFBYSxDQUFDLENBQUM7QUFFbkY7O0dBRUc7QUFDSCxNQUFNLE1BQU0sZUFBZSxHQUN2QjtJQUNFLEtBQUssRUFBRSxPQUFPLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdEMsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3RCLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUNyQixHQUNEO0lBQ0UsS0FBSyxFQUFFLE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQztJQUN6QyxXQUFXLEVBQUUsV0FBVyxDQUFDO0NBQzFCLEdBQ0Q7SUFDRSxLQUFLLEVBQUUsT0FBTyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hDLEtBQUssRUFBRSxXQUFXLENBQUM7SUFDbkIsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLFNBQVMsRUFBRSxNQUFNLEVBQUUsQ0FBQztDQUNyQixHQUNEO0lBQ0UsS0FBSyxFQUFFLE9BQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQztJQUMxQyxVQUFVLEVBQUUsVUFBVSxDQUFDO0NBQ3hCLENBQUM7QUFFTjs7R0FFRztBQUNILE1B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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,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../src/mem_pools/tx_pool_v2/eviction/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
2
2
|
import type { TypedEventEmitter } from '@aztec-labs/foundation/types';
|
|
3
3
|
import type { L2Block, L2BlockId, L2BlockSource } from '@aztec-labs/stdlib/block';
|
|
4
|
-
import type {
|
|
4
|
+
import type { NextBlockMinFeesProvider } from '@aztec-labs/stdlib/gas';
|
|
5
5
|
import type { WorldStateSynchronizer } from '@aztec-labs/stdlib/interfaces/server';
|
|
6
6
|
import type { BlockHeader, Tx, TxHash, TxValidator } from '@aztec-labs/stdlib/tx';
|
|
7
7
|
import type { TxPoolRejectionError } from './eviction/interfaces.js';
|
|
@@ -72,8 +72,11 @@ export type TxPoolV2Dependencies = {
|
|
|
72
72
|
createTxValidator: () => Promise<TxValidator<TxMetaData>>;
|
|
73
73
|
/** Checks whether a tx's setup-phase calls are on the allow list. Precomputed at receipt time. */
|
|
74
74
|
checkAllowedSetupCalls: (tx: Tx) => Promise<boolean>;
|
|
75
|
-
/**
|
|
76
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Provides the fee the next block will charge. Used by eviction rules instead of stale block header fees. Only the
|
|
77
|
+
* exact fee: admission pricing is applied by the validator `createTxValidator` builds.
|
|
78
|
+
*/
|
|
79
|
+
nextBlockMinFeesProvider: NextBlockMinFeesProvider;
|
|
77
80
|
};
|
|
78
81
|
/**
|
|
79
82
|
* Read-only access to pool state for pre-add checks.
|
|
@@ -150,6 +153,7 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
150
153
|
}): Promise<void>;
|
|
151
154
|
/**
|
|
152
155
|
* Handles a mined block - marks transactions as mined and evicts conflicting pending txs.
|
|
156
|
+
* Soft-deleted transactions in the block are re-added as mined from their retained data.
|
|
153
157
|
* Uses nullifiers directly from the block to evict pending transactions with conflicts.
|
|
154
158
|
* @param block - The complete mined block
|
|
155
159
|
*/
|
|
@@ -182,7 +186,9 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
182
186
|
}): Promise<void>;
|
|
183
187
|
/**
|
|
184
188
|
* Handles failed transaction execution.
|
|
185
|
-
* Deletes transactions that failed during block building.
|
|
189
|
+
* Deletes transactions that failed during block building. Transactions already mined are left in place, since a
|
|
190
|
+
* block containing them may have been synced while they were being executed, and they must be kept until that
|
|
191
|
+
* block is finalized.
|
|
186
192
|
* @param txHashes - Hashes of transactions that failed
|
|
187
193
|
*/
|
|
188
194
|
handleFailedExecution(txHashes: TxHash[]): Promise<void>;
|
|
@@ -240,4 +246,4 @@ export interface TxPoolV2 extends TypedEventEmitter<TxPoolV2Events> {
|
|
|
240
246
|
/** Stops the pool and releases resources */
|
|
241
247
|
stop(): Promise<void>;
|
|
242
248
|
}
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21lbV9wb29scy90eF9wb29sX3YyL2ludGVyZmFjZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2xGLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRixPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RDs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sWUFBWSxHQUFHO0lBQ3pCLGtEQUFrRDtJQUNsRCxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDbkIsc0hBQXNIO0lBQ3RILE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUNsQixvR0FBb0c7SUFDcEcsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25CLGdHQUFnRztJQUNoRyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLG9CQUFvQixDQUFDLENBQUM7Q0FDNUMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRztJQUMzQixtRUFBbUU7SUFDbkUsV0FB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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,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,4 +119,4 @@ export declare class TxPoolV2Impl {
|
|
|
119
119
|
totalMetadataBytes: number;
|
|
120
120
|
};
|
|
121
121
|
}
|
|
122
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcG9vbF92Ml9pbXBsLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWVtX3Bvb2xzL3R4X3Bvb2xfdjIvdHhfcG9vbF92Ml9pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFL0UsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0sc0JBQXNCLENBQUM7QUFJN0UsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBaUIsTUFBTSwwQkFBMEIsQ0FBQztBQUdsRixPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQW9CLE1BQU0sdUJBQXVCLENBQUM7QUFDbEYsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFxQnBFLE9BQU8sRUFDTCxLQUFLLFlBQVksRUFFakIsS0FBSyxjQUFjLEVBQ25CLEtBQUssY0FBYyxFQUNuQixLQUFLLG9CQUFvQixFQUMxQixNQUFNLGlCQUFpQixDQUFDO0FBQ3pCLE9BQU8sRUFBbUIsS0FBSyxPQUFPLEVBQTJDLE1BQU0sa0JBQWtCLENBQUM7QUFHMUc7Ozs7O0dBS0c7QUFDSCxlQUFPLE1BQU0seUJBQXlCLEtBQUssQ0FBQztBQUU1Qzs7R0FFRztBQUNILG9GQUFvRjtBQUNwRixNQUFNLFdBQVcsV0FBVztJQUMxQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ2Y7Z0dBQzRGO0lBQzVGLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUN2QjtBQUVELE1BQU0sV0FBVyxpQkFBaUI7SUFDaEMsVUFBVSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxF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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_pool_v2_impl.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,sBAAsB,CAAC;AAI7E,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAiB,MAAM,0BAA0B,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAoB,MAAM,uBAAuB,CAAC;AAClF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAqBpE,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAmB,KAAK,OAAO,EAA2C,MAAM,kBAAkB,CAAC;AAG1G;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAE5C;;GAEG;AACH,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf;gGAC4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3D,YAAY,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC;CAC/C;AAED;;;;GAIG;AACH,qBAAa,YAAY;;IA4BvB,YACE,KAAK,EAAE,iBAAiB,EACxB,YAAY,EAAE,iBAAiB,EAC/B,IAAI,EAAE,oBAAoB,EAC1B,SAAS,EAAE,iBAAiB,EAC5B,SAAS,EAAE,eAAe,EAC1B,MAAM,qCAA8B,EACpC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,MAAM,EAsCZ;IAMD;;;;;;OAMG;IACG,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CA2EzC;IAEK,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAwG5G;IAgEK,eAAe,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAqB7D;IAEK,eAAe,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC7F;IAEK,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"tx_pool_v2_impl.d.ts","sourceRoot":"","sources":["../../../src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,7 +73,7 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
73
73
|
}));
|
|
74
74
|
// Post-event eviction rules (run after events to check ALL pending txs)
|
|
75
75
|
this.#evictionManager.registerRule(new InvalidTxsAfterMiningRule());
|
|
76
|
-
this.#evictionManager.registerRule(new InsufficientFeePerGasEvictionRule(deps.
|
|
76
|
+
this.#evictionManager.registerRule(new InsufficientFeePerGasEvictionRule(deps.nextBlockMinFeesProvider));
|
|
77
77
|
this.#evictionManager.registerRule(new InvalidTxsAfterReorgRule(deps.worldStateSynchronizer));
|
|
78
78
|
this.#evictionManager.registerRule(new FeePayerBalanceEvictionRule(deps.worldStateSynchronizer));
|
|
79
79
|
// LowPriorityEvictionRule handles cases where txs become pending via prepareForSlot (unprotect)
|
|
@@ -379,27 +379,21 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
379
379
|
const missing = [];
|
|
380
380
|
let softDeletedHits = 0;
|
|
381
381
|
let missingPreviouslyEvicted = 0;
|
|
382
|
+
// A soft-deleted tx is never in the indices, so every tx loaded here is resurrected below.
|
|
383
|
+
const softDeleted = await this.#loadSoftDeletedTxs(txHashes);
|
|
382
384
|
await this.#store.transactionAsync(async ()=>{
|
|
383
385
|
for (const txHash of txHashes){
|
|
384
386
|
const txHashStr = txHash.toString();
|
|
387
|
+
const resurrectable = softDeleted.get(txHashStr);
|
|
385
388
|
if (this.#indices.has(txHashStr)) {
|
|
386
389
|
// Update protection for existing tx
|
|
387
390
|
this.#indices.updateProtection(txHashStr, slotNumber);
|
|
388
|
-
} else if (
|
|
389
|
-
// Resurrect soft-deleted tx as protected
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
await this.#addTx(tx, {
|
|
395
|
-
protected: slotNumber
|
|
396
|
-
});
|
|
397
|
-
softDeletedHits++;
|
|
398
|
-
} else {
|
|
399
|
-
// Data missing despite soft-delete flag — treat as truly missing
|
|
400
|
-
this.#indices.setProtection(txHashStr, slotNumber);
|
|
401
|
-
missing.push(txHash);
|
|
402
|
-
}
|
|
391
|
+
} else if (resurrectable) {
|
|
392
|
+
// Resurrect soft-deleted tx as protected
|
|
393
|
+
await this.#addTx(resurrectable.tx, {
|
|
394
|
+
protected: slotNumber
|
|
395
|
+
}, {}, resurrectable.meta);
|
|
396
|
+
softDeletedHits++;
|
|
403
397
|
} else {
|
|
404
398
|
// Truly missing — pre-record protection for tx we don't have yet
|
|
405
399
|
this.#indices.setProtection(txHashStr, slotNumber);
|
|
@@ -450,35 +444,61 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
450
444
|
// Step 2: Extract tx hashes and nullifiers directly from the block
|
|
451
445
|
const txHashes = block.body.txEffects.map((tx)=>tx.txHash);
|
|
452
446
|
const nullifiers = block.body.txEffects.flatMap((tx)=>tx.nullifiers.map((n)=>n.toString()));
|
|
453
|
-
//
|
|
454
|
-
const
|
|
447
|
+
// A soft-deleted tx is never in the indices, so every tx loaded here is resurrected below.
|
|
448
|
+
const softDeleted = await this.#loadSoftDeletedTxs(txHashes);
|
|
455
449
|
const found = [];
|
|
456
|
-
|
|
457
|
-
const meta = this.#indices.getMetadata(txHash.toString());
|
|
458
|
-
if (meta) {
|
|
459
|
-
feePayers.push(meta.feePayer);
|
|
460
|
-
found.push(meta);
|
|
461
|
-
}
|
|
462
|
-
}
|
|
450
|
+
const resurrected = [];
|
|
463
451
|
await this.#store.transactionAsync(async ()=>{
|
|
464
|
-
// Step
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
452
|
+
// Step 3: Mark txs as mined, resurrecting soft-deleted ones. A mined tx must be kept until its block is
|
|
453
|
+
// finalized, whereas a slot-soft-deleted one is hard-deleted on the next slot.
|
|
454
|
+
for (const txHash of txHashes){
|
|
455
|
+
const txHashStr = txHash.toString();
|
|
456
|
+
const meta = this.#indices.getMetadata(txHashStr);
|
|
457
|
+
const resurrectable = softDeleted.get(txHashStr);
|
|
458
|
+
if (meta) {
|
|
459
|
+
this.#indices.markAsMined(meta, blockId);
|
|
460
|
+
found.push(meta);
|
|
461
|
+
} else if (resurrectable) {
|
|
462
|
+
resurrected.push(await this.#addTx(resurrectable.tx, {
|
|
463
|
+
mined: blockId
|
|
464
|
+
}, {}, resurrectable.meta));
|
|
465
|
+
} else {
|
|
466
|
+
continue;
|
|
467
|
+
}
|
|
468
|
+
await this.#deletedPool.clearIfMinedHigher(txHashStr, blockId.number);
|
|
468
469
|
}
|
|
469
|
-
// Step
|
|
470
|
-
|
|
470
|
+
// Step 4: Run post-event eviction rules (inside transaction for atomicity)
|
|
471
|
+
const feePayers = new Set([
|
|
472
|
+
...found,
|
|
473
|
+
...resurrected
|
|
474
|
+
].map((meta)=>meta.feePayer));
|
|
475
|
+
await this.#evictionManager.evictAfterNewBlock(block.header, nullifiers, [
|
|
476
|
+
...feePayers
|
|
477
|
+
]);
|
|
471
478
|
});
|
|
472
|
-
if (
|
|
479
|
+
if (resurrected.length > 0) {
|
|
480
|
+
this.#instrumentation.recordSoftDeletedHits(resurrected.length);
|
|
481
|
+
}
|
|
482
|
+
if (found.length > 0 || resurrected.length > 0) {
|
|
473
483
|
// receivedAt is 0 for txs hydrated from the DB on restart (true receive time lost) — leave
|
|
474
|
-
// their delay undefined so the metric isn't polluted by epoch-sized values.
|
|
484
|
+
// their delay undefined so the metric isn't polluted by epoch-sized values. A resurrected tx
|
|
485
|
+
// lost its receive time along with its metadata when it was deleted.
|
|
475
486
|
const now = this.#dateProvider.now();
|
|
476
|
-
this.#callbacks.onTxsMined(
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
487
|
+
this.#callbacks.onTxsMined([
|
|
488
|
+
...found.map((m)=>({
|
|
489
|
+
txHash: m.txHash,
|
|
490
|
+
minedDelayMs: m.receivedAt > 0 ? now - m.receivedAt : undefined
|
|
491
|
+
})),
|
|
492
|
+
...resurrected.map((m)=>({
|
|
493
|
+
txHash: m.txHash,
|
|
494
|
+
minedDelayMs: undefined
|
|
495
|
+
}))
|
|
496
|
+
]);
|
|
480
497
|
}
|
|
481
|
-
this.#log.info(`Marked ${found.length} txs as mined in block ${blockId.number}
|
|
498
|
+
this.#log.info(`Marked ${found.length + resurrected.length} txs as mined in block ${blockId.number}`, {
|
|
499
|
+
blockNumber: blockId.number,
|
|
500
|
+
resurrectedTxHashes: resurrected.map((m)=>m.txHash)
|
|
501
|
+
});
|
|
482
502
|
}
|
|
483
503
|
async prepareForSlot(slotNumber) {
|
|
484
504
|
await this.#store.transactionAsync(async ()=>{
|
|
@@ -492,10 +512,13 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
492
512
|
const txsToRestore = this.#indices.filterRestorable(expiredProtected);
|
|
493
513
|
if (txsToRestore.length === 0) {
|
|
494
514
|
this.#log.debug(`Preparing for slot ${slotNumber}, no txs to unprotect`);
|
|
495
|
-
|
|
515
|
+
} else {
|
|
516
|
+
this.#log.info(`Preparing for slot ${slotNumber}: unprotecting ${txsToRestore.length} txs`);
|
|
517
|
+
await this.#restoreUnprotectedToPending(txsToRestore, 'during prepareForSlot');
|
|
496
518
|
}
|
|
497
|
-
|
|
498
|
-
|
|
519
|
+
// Step 4: Sweep pending txs that can no longer pay the next block's fee. The fee is stable
|
|
520
|
+
// across the slot, so this runs here instead of after every mined block.
|
|
521
|
+
await this.#evictionManager.evictAfterSlotPrepared(slotNumber);
|
|
499
522
|
});
|
|
500
523
|
}
|
|
501
524
|
async unprotectTxs(txHashes, slotNumber) {
|
|
@@ -586,11 +609,21 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
586
609
|
});
|
|
587
610
|
}
|
|
588
611
|
async handleFailedExecution(txHashes) {
|
|
612
|
+
// A tx can be mined by a block that arrives while the sequencer is still executing it. A mined tx must be kept
|
|
613
|
+
// until its block is finalized, whereas deleting it could slot-soft-delete it and lose it on the next slot.
|
|
614
|
+
const toDelete = [];
|
|
615
|
+
const skippedMined = [];
|
|
616
|
+
for (const txHash of txHashes){
|
|
617
|
+
const txHashStr = txHash.toString();
|
|
618
|
+
const isMined = this.#indices.getMetadata(txHashStr)?.minedL2BlockId !== undefined;
|
|
619
|
+
(isMined ? skippedMined : toDelete).push(txHashStr);
|
|
620
|
+
}
|
|
589
621
|
await this.#store.transactionAsync(async ()=>{
|
|
590
|
-
await this.#deleteTxsBatch(
|
|
622
|
+
await this.#deleteTxsBatch(toDelete);
|
|
591
623
|
});
|
|
592
|
-
this.#log.info(`Deleted ${
|
|
593
|
-
txHashes:
|
|
624
|
+
this.#log.info(`Deleted ${toDelete.length} failed txs, skipped ${skippedMined.length} already mined`, {
|
|
625
|
+
txHashes: toDelete,
|
|
626
|
+
skippedMinedTxHashes: skippedMined
|
|
594
627
|
});
|
|
595
628
|
}
|
|
596
629
|
/**
|
|
@@ -846,6 +879,40 @@ import { TxPoolIndices } from './tx_pool_indices.js';
|
|
|
846
879
|
return meta;
|
|
847
880
|
}
|
|
848
881
|
/**
|
|
882
|
+
* Loads the retained data of those given txs that are soft-deleted and rebuilds their metadata, so they can be
|
|
883
|
+
* re-added to the pool. Call it before the store transaction: it does all the throwable I/O, and leaves out a tx
|
|
884
|
+
* whose data is gone or unreadable, as if it were missing.
|
|
885
|
+
*/ async #loadSoftDeletedTxs(txHashes) {
|
|
886
|
+
const loaded = new Map();
|
|
887
|
+
// Loaded sequentially: usually none of the given txs are soft-deleted, and each one that is costs only local reads.
|
|
888
|
+
for (const txHash of txHashes){
|
|
889
|
+
const txHashStr = txHash.toString();
|
|
890
|
+
if (!this.#deletedPool.isSoftDeleted(txHashStr)) {
|
|
891
|
+
continue;
|
|
892
|
+
}
|
|
893
|
+
try {
|
|
894
|
+
const buffer = await this.#txsDB.getAsync(txHashStr);
|
|
895
|
+
if (!buffer) {
|
|
896
|
+
continue;
|
|
897
|
+
}
|
|
898
|
+
// Load the proof too: #addTx rewrites both entries, so re-adding a proofless tx would wipe the stored proof.
|
|
899
|
+
const tx = await this.#loadTxWithProof(txHashStr, buffer);
|
|
900
|
+
// The metadata was dropped on deletion, so recompute the setup-call flag instead of defaulting it to allowed.
|
|
901
|
+
const meta = await buildTxMetaData(tx, await this.#checkAllowedSetupCalls(tx));
|
|
902
|
+
loaded.set(txHashStr, {
|
|
903
|
+
tx,
|
|
904
|
+
meta
|
|
905
|
+
});
|
|
906
|
+
} catch (err) {
|
|
907
|
+
this.#log.warn(`Failed to load soft-deleted tx ${txHashStr}`, {
|
|
908
|
+
txHash: txHashStr,
|
|
909
|
+
err
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
return loaded;
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
849
916
|
* Deletes a transaction from both indices and DB.
|
|
850
917
|
* Emits onTxsRemoved callback immediately after DB delete.
|
|
851
918
|
*/ /**
|
|
@@ -14,4 +14,4 @@ export declare class CheckpointAttestationValidator implements P2PValidator<Chec
|
|
|
14
14
|
});
|
|
15
15
|
validate(message: CheckpointAttestation): Promise<ValidationResult>;
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYXR0ZXN0YXRpb25fdmFsaWRhdG9yL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyw0QkFBNEIsRUFDakMsS0FBSyxZQUFZLEVBRWpCLEtBQUssZ0JBQWdCLEVBRXRCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUt2RSxxQkFBYSw4QkFBK0IsWUFBVyxZQUFZLENBQUMscUJBQXFCLENBQUM7SUFDeEYsU0FBUyxDQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztJQUMxQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQztJQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBcUI7SUFDL0MsU0FBUyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztJQUNsRSxPQUFPLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFTO0lBRTFDLFlBQ0UsVUFBVSxFQUFFLG1CQUFtQixFQUMvQixTQUFTLEVBQUUsa0JBQWtCLEVBQzdCLElBQUksRUFBRTtRQUNKLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO1FBQy9DLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztLQUMxQixFQU9GO0lBRUssUUFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F1RnhFO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,4BAA4B,CAAC;AACvE,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,YAAY,EAEjB,KAAK,gBAAgB,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,qBAAa,8BAA+B,YAAW,YAAY,CAAC,qBAAqB,CAAC;IACxF,SAAS,CAAC,UAAU,EAAE,mBAAmB,CAAC;IAC1C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,4BAA4B,CAAC;IAClE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,YACE,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE;QACJ,gBAAgB,EAAE,4BAA4B,CAAC;QAC/C,gBAAgB,EAAE,MAAM,CAAC;KAC1B,EAOF;IAEK,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuFxE;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { NoCommitteeError } from '@aztec-labs/ethereum/contracts';
|
|
2
1
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
3
2
|
import { PeerErrorSeverity, hasValidSignatureContext } from '@aztec-labs/stdlib/p2p';
|
|
3
|
+
import { mapEpochCacheLookupFailure } from '../epoch_cache_lookup.js';
|
|
4
4
|
import { classifyReceiveWindowArrival } from '../receive_window.js';
|
|
5
5
|
export class CheckpointAttestationValidator {
|
|
6
6
|
epochCache;
|
|
@@ -17,27 +17,6 @@ export class CheckpointAttestationValidator {
|
|
|
17
17
|
}
|
|
18
18
|
async validate(message) {
|
|
19
19
|
const slotNumber = message.payload.header.slotNumber;
|
|
20
|
-
// Only the epochCache committee/proposer lookups can fail on receiver-local causes (L1 RPC down,
|
|
21
|
-
// or this node behind), and that says nothing about the relaying peer. Map such a failure to
|
|
22
|
-
// ignore rather than letting it throw, since a thrown validation defaults to reject + penalize
|
|
23
|
-
// and would punish an honest relayer for our own failure. A missing committee is still the peer's
|
|
24
|
-
// fault (they shouldn't be sending it), so it stays a reject. This is scoped to just the lookups:
|
|
25
|
-
// any other error in validation still throws and surfaces.
|
|
26
|
-
const onLookupFailure = (e)=>{
|
|
27
|
-
if (e instanceof NoCommitteeError) {
|
|
28
|
-
this.logger.warn(`No committee exists for checkpoint attestation for slot ${slotNumber}`);
|
|
29
|
-
return {
|
|
30
|
-
result: 'reject',
|
|
31
|
-
severity: PeerErrorSeverity.LowToleranceError
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
this.logger.warn(`Ignoring checkpoint attestation for slot ${slotNumber} after a local committee lookup failure`, {
|
|
35
|
-
error: e instanceof Error ? e.message : String(e)
|
|
36
|
-
});
|
|
37
|
-
return {
|
|
38
|
-
result: 'ignore'
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
20
|
// Cross-chain replay check: reject attestations that carry a foreign signing domain.
|
|
42
21
|
if (!hasValidSignatureContext(message.payload, this.signatureContext)) {
|
|
43
22
|
this.logger.warn(`Rejecting checkpoint attestation with foreign signature context for slot ${slotNumber}`, {
|
|
@@ -84,7 +63,7 @@ export class CheckpointAttestationValidator {
|
|
|
84
63
|
try {
|
|
85
64
|
inCommittee = await this.epochCache.isInCommittee(slotNumber, attester);
|
|
86
65
|
} catch (e) {
|
|
87
|
-
return
|
|
66
|
+
return mapEpochCacheLookupFailure(e, this.logger, 'checkpoint attestation', slotNumber);
|
|
88
67
|
}
|
|
89
68
|
if (!inCommittee) {
|
|
90
69
|
this.logger.warn(`Attester ${attester.toString()} is not in committee for slot ${slotNumber}`);
|
|
@@ -101,7 +80,7 @@ export class CheckpointAttestationValidator {
|
|
|
101
80
|
try {
|
|
102
81
|
expectedProposer = await this.epochCache.getProposerAttesterAddressInSlot(slotNumber);
|
|
103
82
|
} catch (e) {
|
|
104
|
-
return
|
|
83
|
+
return mapEpochCacheLookupFailure(e, this.logger, 'checkpoint attestation', slotNumber);
|
|
105
84
|
}
|
|
106
85
|
if (!expectedProposer) {
|
|
107
86
|
this.logger.warn(`No proposer defined for slot ${slotNumber}`);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
2
|
+
import type { Logger } from '@aztec-labs/foundation/log';
|
|
3
|
+
import { type ValidationResult } from '@aztec-labs/stdlib/p2p';
|
|
4
|
+
/**
|
|
5
|
+
* Maps a failure of an epoch-cache lookup during p2p validation to a verdict, shared by the proposal
|
|
6
|
+
* and attestation validators so the "a local epoch-cache failure is never the relaying peer's fault"
|
|
7
|
+
* rule lives in one place.
|
|
8
|
+
*
|
|
9
|
+
* A missing committee (`NoCommitteeError`) is the peer's fault — they should not be sending us a
|
|
10
|
+
* proposal/attestation for a slot with no committee — so it rejects. Any other failure is
|
|
11
|
+
* receiver-local (an L1 RPC outage, or this node being behind) and says nothing about the relaying
|
|
12
|
+
* peer, so it ignores rather than penalizes. Only the local failure is warned; a missing committee is
|
|
13
|
+
* a routine peer-fault reject and needs no log line.
|
|
14
|
+
*
|
|
15
|
+
* `subject` names the gossip object for the log ("proposal" / "checkpoint attestation").
|
|
16
|
+
*/
|
|
17
|
+
export declare function mapEpochCacheLookupFailure(e: unknown, logger: Logger, subject: string, slotNumber: SlotNumber): ValidationResult;
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfY2FjaGVfbG9va3VwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvZXBvY2hfY2FjaGVfbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3pELE9BQU8sRUFBcUIsS0FBSyxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRWxGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FDeEMsQ0FBQyxFQUFFLE9BQU8sRUFDVixNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLFVBQVUsR0FDckIsZ0JBQWdCLENBU2xCIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"epoch_cache_lookup.d.ts","sourceRoot":"","sources":["../../src/msg_validators/epoch_cache_lookup.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAElF;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,gBAAgB,CASlB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { NoCommitteeError } from '@aztec-labs/ethereum/contracts';
|
|
2
|
+
import { PeerErrorSeverity } from '@aztec-labs/stdlib/p2p';
|
|
3
|
+
/**
|
|
4
|
+
* Maps a failure of an epoch-cache lookup during p2p validation to a verdict, shared by the proposal
|
|
5
|
+
* and attestation validators so the "a local epoch-cache failure is never the relaying peer's fault"
|
|
6
|
+
* rule lives in one place.
|
|
7
|
+
*
|
|
8
|
+
* A missing committee (`NoCommitteeError`) is the peer's fault — they should not be sending us a
|
|
9
|
+
* proposal/attestation for a slot with no committee — so it rejects. Any other failure is
|
|
10
|
+
* receiver-local (an L1 RPC outage, or this node being behind) and says nothing about the relaying
|
|
11
|
+
* peer, so it ignores rather than penalizes. Only the local failure is warned; a missing committee is
|
|
12
|
+
* a routine peer-fault reject and needs no log line.
|
|
13
|
+
*
|
|
14
|
+
* `subject` names the gossip object for the log ("proposal" / "checkpoint attestation").
|
|
15
|
+
*/ export function mapEpochCacheLookupFailure(e, logger, subject, slotNumber) {
|
|
16
|
+
if (e instanceof NoCommitteeError) {
|
|
17
|
+
return {
|
|
18
|
+
result: 'reject',
|
|
19
|
+
severity: PeerErrorSeverity.LowToleranceError
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
logger.warn(`Ignoring ${subject} for slot ${slotNumber} after a local epoch-cache lookup failure`, {
|
|
23
|
+
slotNumber,
|
|
24
|
+
error: e instanceof Error ? e.message : String(e)
|
|
25
|
+
});
|
|
26
|
+
return {
|
|
27
|
+
result: 'ignore'
|
|
28
|
+
};
|
|
29
|
+
}
|
|
@@ -37,4 +37,4 @@ export declare class ProposalValidator {
|
|
|
37
37
|
/** Validates transaction-related fields of a block proposal. */
|
|
38
38
|
validateTxs(proposal: BlockProposal): Promise<ValidationResult>;
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zYWxfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvcHJvcG9zYWxfdmFsaWRhdG9yL3Byb3Bvc2FsX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR25FLE9BQU8sRUFDTCxLQUFLLGFBQWEsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyw0QkFBNEIsRUFFakMsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBS3ZFLG9GQUFvRjtBQUNwRixxQkFBYSxpQkFBaUI7SUFDNUIsT0FBTyxDQUFDLFVBQVUsQ0FBc0I7SUFDeEMsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFDdEMsT0FBTyxDQUFDLE1BQU0sQ0FBUztJQUN2QixPQUFPLENBQUMsWUFBWSxDQUFVO0lBQzlCLE9BQU8sQ0FBQyxjQUFjLENBQVM7SUFDL0IsT0FBTyxDQUFDLGtCQUFrQixDQUFVO0lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBK0I7SUFDdkQsT0FBTyxDQUFDLGdCQUFnQixDQUFTO0lBRWpDLFlBQ0UsVUFBVSxFQUFFLG1CQUFtQixFQUMvQixTQUFTLEVBQUUsa0JBQWtCLEVBQzdCLElBQUksRUFBRTtRQUNKLFlBQVksRUFBRSxPQUFPLENBQUM7UUFDdEIsY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLHNCQUFzQixDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ2hDLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQzdCLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO1FBQy9DLGdCQUFnQixFQUFFLE1BQU0sQ0FBQztLQUMxQixFQUNELFVBQVUsRUFBRSxNQUFNLEVBVW5CO0lBRUQsb0VBQW9FO0lBQ3ZELFFBQVEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLHNCQUFzQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQXVGakc7SUFFRDs7Ozs7Ozs7Ozs7T0FXRztJQUNJLGtDQUFrQyxDQUFDLFFBQVEsRUFBRSxhQUFhLEdBQUcsZ0JBQWdCLENBUW5GO0lBRUQsZ0VBQWdFO0lBQ25ELFdBQVcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQXdDM0U7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/proposal_validator/proposal_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"proposal_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/proposal_validator/proposal_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAGnE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EAEjC,KAAK,gBAAgB,EAEtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKvE,oFAAoF;AACpF,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,gBAAgB,CAAS;IAEjC,YACE,UAAU,EAAE,mBAAmB,EAC/B,SAAS,EAAE,kBAAkB,EAC7B,IAAI,EAAE;QACJ,YAAY,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,gBAAgB,EAAE,4BAA4B,CAAC;QAC/C,gBAAgB,EAAE,MAAM,CAAC;KAC1B,EACD,UAAU,EAAE,MAAM,EAUnB;IAED,oEAAoE;IACvD,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuFjG;IAED;;;;;;;;;;;OAWG;IACI,kCAAkC,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CAQnF;IAED,gEAAgE;IACnD,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAwC3E;CACF"}
|