@aztec/p2p 3.0.0-nightly.20251203 → 3.0.0-nightly.20251205
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/p2p_client.d.ts +6 -6
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +13 -12
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts +4 -3
- package/dest/mem_pools/tx_pool/aztec_kv_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts +4 -3
- package/dest/mem_pools/tx_pool/memory_tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/memory_tx_pool.js +1 -0
- package/dest/mem_pools/tx_pool/tx_pool.d.ts +4 -3
- package/dest/mem_pools/tx_pool/tx_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool/tx_pool_test_suite.js +5 -4
- package/dest/msg_validators/tx_validator/factory.d.ts +3 -2
- package/dest/msg_validators/tx_validator/factory.d.ts.map +1 -1
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts +3 -2
- package/dest/msg_validators/tx_validator/timestamp_validator.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.d.ts +1 -1
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +5 -5
- package/dest/services/reqresp/protocols/block.d.ts +1 -1
- package/dest/services/reqresp/protocols/block.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block.js +2 -1
- package/dest/services/reqresp/protocols/status.d.ts +5 -4
- package/dest/services/reqresp/protocols/status.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/status.js +4 -3
- package/dest/services/tx_collection/fast_tx_collection.d.ts +4 -3
- package/dest/services/tx_collection/fast_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/slow_tx_collection.d.ts +4 -3
- package/dest/services/tx_collection/slow_tx_collection.d.ts.map +1 -1
- package/dest/services/tx_collection/tx_collection.d.ts +7 -6
- package/dest/services/tx_collection/tx_collection.d.ts.map +1 -1
- package/dest/services/tx_provider.d.ts +3 -2
- package/dest/services/tx_provider.d.ts.map +1 -1
- package/package.json +16 -16
- package/src/client/p2p_client.ts +26 -24
- package/src/mem_pools/tx_pool/aztec_kv_tx_pool.ts +7 -6
- package/src/mem_pools/tx_pool/memory_tx_pool.ts +8 -6
- package/src/mem_pools/tx_pool/tx_pool.ts +3 -2
- package/src/mem_pools/tx_pool/tx_pool_test_suite.ts +5 -4
- package/src/msg_validators/tx_validator/factory.ts +2 -1
- package/src/msg_validators/tx_validator/timestamp_validator.ts +2 -1
- package/src/services/libp2p/libp2p_service.ts +9 -9
- package/src/services/reqresp/protocols/block.ts +2 -1
- package/src/services/reqresp/protocols/status.ts +9 -8
- package/src/services/tx_collection/fast_tx_collection.ts +3 -2
- package/src/services/tx_collection/slow_tx_collection.ts +3 -3
- package/src/services/tx_collection/tx_collection.ts +6 -5
- package/src/services/tx_provider.ts +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { ReqRespStatus, ReqRespStatusError } from '../status.js';
|
|
3
4
|
/**
|
|
@@ -20,7 +21,7 @@ import { ReqRespStatus, ReqRespStatusError } from '../status.js';
|
|
|
20
21
|
});
|
|
21
22
|
}
|
|
22
23
|
try {
|
|
23
|
-
const foundBlock = await l2BlockSource.getBlock(Number(blockNumber));
|
|
24
|
+
const foundBlock = await l2BlockSource.getBlock(BlockNumber(Number(blockNumber)));
|
|
24
25
|
return foundBlock ? foundBlock.toBuffer() : Buffer.alloc(0);
|
|
25
26
|
} catch (err) {
|
|
26
27
|
throw new ReqRespStatusError(ReqRespStatus.INTERNAL_ERROR, {
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
2
3
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
4
|
import type { WorldStateSyncStatus, WorldStateSynchronizer } from '@aztec/stdlib/interfaces/server';
|
|
4
5
|
import type { PeerId } from '@libp2p/interface';
|
|
5
6
|
export declare class StatusMessage {
|
|
6
7
|
readonly compressedComponentsVersion: string;
|
|
7
|
-
readonly latestBlockNumber:
|
|
8
|
+
readonly latestBlockNumber: BlockNumber;
|
|
8
9
|
readonly latestBlockHash: string;
|
|
9
|
-
readonly finalizedBlockNumber:
|
|
10
|
-
constructor(compressedComponentsVersion: string, latestBlockNumber:
|
|
10
|
+
readonly finalizedBlockNumber: BlockNumber;
|
|
11
|
+
constructor(compressedComponentsVersion: string, latestBlockNumber: BlockNumber, latestBlockHash: string, finalizedBlockNumber: BlockNumber);
|
|
11
12
|
/**
|
|
12
13
|
* Deserializes the StatusMessage object from a Buffer.
|
|
13
14
|
* @param buffer - Buffer or BufferReader object to deserialize.
|
|
@@ -38,4 +39,4 @@ export declare class StatusMessage {
|
|
|
38
39
|
* @returns Status message handler
|
|
39
40
|
*/
|
|
40
41
|
export declare function reqRespStatusHandler(compressedComponentsVersion: string, worldStateSynchronizer: WorldStateSynchronizer, logger?: Logger): (peerId: PeerId, _msg: Buffer<ArrayBufferLike>) => Promise<Buffer<ArrayBufferLike>>;
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdHVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxcmVzcC9wcm90b2NvbHMvc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBRTlFLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFcEcsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFRaEQscUJBQWEsYUFBYTtJQUV0QixRQUFRLENBQUMsMkJBQTJCLEVBQUUsTUFBTTtJQUM1QyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsV0FBVztJQUN2QyxRQUFRLENBQUMsZUFBZSxFQUFFLE1BQU07SUFDaEMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLFdBQVc7SUFKNUMsWUFDVywyQkFBMkIsRUFBRSxNQUFNLEVBQ25DLGlCQUFpQixFQUFFLFdBQVcsRUFDOUIsZUFBZSxFQUFFLE1BQU0sRUFDdkIsb0JBQW9CLEVBQUUsV0FBVyxFQUd4QztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLGFBQWEsQ0FVOUQ7SUFFRDs7O09BR0c7SUFDSCxRQUFRLDRCQVNQO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsd0JBQXdCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEdBQUcsYUFBYSxDQVFoRztJQUVELE1BQU0sQ0FBQyxNQUFNLElBQUksYUFBYSxDQVE3QjtJQUVELFFBQVEsQ0FBQyxVQUFVLEVBQUUsYUFBYSxHQUFHLE9BQU8sQ0FHM0M7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLGFBQWEsR0FBRyxPQUFPLENBT3BDO0NBQ0Y7QUFFRDs7Ozs7O0dBTUc7QUFDSCx3QkFBZ0Isb0JBQW9CLENBQ2xDLDJCQUEyQixFQUFFLE1BQU0sRUFDbkMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQzlDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sdUZBWWhCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../../src/services/reqresp/protocols/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,KAAK,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEpG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAQhD,qBAAa,aAAa;IAEtB,QAAQ,CAAC,2BAA2B,EAAE,MAAM;IAC5C,QAAQ,CAAC,iBAAiB,EAAE,WAAW;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM;IAChC,QAAQ,CAAC,oBAAoB,EAAE,WAAW;IAJ5C,YACW,2BAA2B,EAAE,MAAM,EACnC,iBAAiB,EAAE,WAAW,EAC9B,eAAe,EAAE,MAAM,EACvB,oBAAoB,EAAE,WAAW,EAGxC;IAEJ;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,aAAa,CAU9D;IAED;;;OAGG;IACH,QAAQ,4BASP;IAED;;;;;OAKG;IACH,MAAM,CAAC,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,aAAa,CAQhG;IAED,MAAM,CAAC,MAAM,IAAI,aAAa,CAQ7B;IAED,QAAQ,CAAC,UAAU,EAAE,aAAa,GAAG,OAAO,CAG3C;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAOpC;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,2BAA2B,EAAE,MAAM,EACnC,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,CAAC,EAAE,MAAM,uFAYhB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
2
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
3
4
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
@@ -23,7 +24,7 @@ import { bufferToHex } from '@aztec/foundation/string';
|
|
|
23
24
|
* @returns An instance of StatusMessage.
|
|
24
25
|
*/ static fromBuffer(buffer) {
|
|
25
26
|
const reader = BufferReader.asReader(buffer);
|
|
26
|
-
return new StatusMessage(reader.readString(), reader.readNumber(), reader.readString(), reader.readNumber());
|
|
27
|
+
return new StatusMessage(reader.readString(), BlockNumber(reader.readNumber()), reader.readString(), BlockNumber(reader.readNumber()));
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Serializes the StatusMessage object into a Buffer.
|
|
@@ -42,10 +43,10 @@ import { bufferToHex } from '@aztec/foundation/string';
|
|
|
42
43
|
* @param worldStateSyncStatus - Info about the current sync status
|
|
43
44
|
* @returns StatusMessage instance
|
|
44
45
|
*/ static fromWorldStateSyncStatus(version, syncStatus) {
|
|
45
|
-
return new StatusMessage(version, syncStatus.latestBlockNumber, syncStatus.latestBlockHash, syncStatus.finalizedBlockNumber);
|
|
46
|
+
return new StatusMessage(version, BlockNumber(syncStatus.latestBlockNumber), syncStatus.latestBlockHash, BlockNumber(syncStatus.finalizedBlockNumber));
|
|
46
47
|
}
|
|
47
48
|
static random() {
|
|
48
|
-
return new StatusMessage('1.0.0', Math.floor(Math.random() * 100), Buffer32.random().toString(), Math.floor(Math.random() * 100));
|
|
49
|
+
return new StatusMessage('1.0.0', BlockNumber(Math.floor(Math.random() * 100)), Buffer32.random().toString(), BlockNumber(Math.floor(Math.random() * 100)));
|
|
49
50
|
}
|
|
50
51
|
validate(peerStatus) {
|
|
51
52
|
// TODO: Validate other fields as well
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
3
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
3
4
|
import type { BlockProposal } from '@aztec/stdlib/p2p';
|
|
@@ -40,11 +41,11 @@ export declare class FastTxCollection {
|
|
|
40
41
|
* Stop collecting all txs for blocks less than or requal to the block number specified.
|
|
41
42
|
* To be called when we no longer care about gathering txs up to a certain block, eg when they become proven or finalized.
|
|
42
43
|
*/
|
|
43
|
-
stopCollectingForBlocksUpTo(blockNumber:
|
|
44
|
+
stopCollectingForBlocksUpTo(blockNumber: BlockNumber): void;
|
|
44
45
|
/**
|
|
45
46
|
* Stop collecting all txs for blocks greater than the block number specified.
|
|
46
47
|
* To be called when there is a chain prune and previously mined txs are no longer relevant.
|
|
47
48
|
*/
|
|
48
|
-
stopCollectingForBlocksAfter(blockNumber:
|
|
49
|
+
stopCollectingForBlocksAfter(blockNumber: BlockNumber): void;
|
|
49
50
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFzdF90eF9jb2xsZWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdHhfY29sbGVjdGlvbi9mYXN0X3R4X2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzlELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUlsRSxPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRW5ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRXBGLE9BQU8sS0FBSyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLHFCQUFxQixFQUFFLDBCQUEwQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUYsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxxQkFBYSxnQkFBZ0I7SUFLekIsT0FBTyxDQUFDLE9BQU87SUFDZixPQUFPLENBQUMsS0FBSztJQUNiLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsR0FBRztJQVJiLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLHFCQUFxQixDQUFDLENBQWE7SUFFM0QsWUFDVSxPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLGtCQUFrQixDQUFDLEVBQ25ELEtBQUssRUFBRSxRQUFRLEVBQUUsRUFDakIsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLE1BQU0sRUFBRSxrQkFBa0IsRUFDMUIsWUFBWSxHQUFFLFlBQWlDLEVBQy9DLEdBQUcsR0FBRSxNQUFrRCxFQUM3RDtJQUVTLElBQUksa0JBR2hCO0lBRU0seUJBQXlCLCtCQUUvQjtJQUVZLGNBQWMsQ0FDekIsS0FBSyxFQUFFLDBCQUEwQixFQUNqQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQzdCLElBQUksRUFBRTtRQUFFLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxpQkEwQzlDO0lBRUQsVUFBZ0IsV0FBVyxDQUN6QixPQUFPLEVBQUUscUJBQXFCLEVBQzlCLElBQUksRUFBRTtRQUFFLFFBQVEsQ0FBQyxFQUFFLGFBQWEsQ0FBQztRQUFDLFFBQVEsRUFBRSxJQUFJLENBQUM7UUFBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUE7S0FBRSxpQkErQ3hFO1lBUWEsb0JBQW9CO1lBWXBCLG1CQUFtQjtZQWlGbkIscUJBQXFCO0lBNkNuQzs7O09BR0c7SUFDSSxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxRQXdCeEI7SUFFRDs7O09BR0c7SUFDSSwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FPakU7SUFFRDs7O09BR0c7SUFDSSw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FPbEU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fast_tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/fast_tx_collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fast_tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/fast_tx_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,EAAE,YAAY,EAAW,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IARb,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAa;IAE3D,YACU,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EACnD,KAAK,EAAE,QAAQ,EAAE,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,GAAE,YAAiC,EAC/C,GAAG,GAAE,MAAkD,EAC7D;IAES,IAAI,kBAGhB;IAEM,yBAAyB,+BAE/B;IAEY,cAAc,CACzB,KAAK,EAAE,0BAA0B,EACjC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAC7B,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,iBA0C9C;IAED,UAAgB,WAAW,CACzB,OAAO,EAAE,qBAAqB,EAC9B,IAAI,EAAE;QAAE,QAAQ,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,iBA+CxE;YAQa,oBAAoB;YAYpB,mBAAmB;YAiFnB,qBAAqB;IA6CnC;;;OAGG;IACI,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,QAwBxB;IAED;;;OAGG;IACI,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAOjE;IAED;;;OAGG;IACI,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAOlE;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
3
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
3
4
|
import type { L2Block } from '@aztec/stdlib/block';
|
|
@@ -40,13 +41,13 @@ export declare class SlowTxCollection {
|
|
|
40
41
|
* Stop collecting all txs for blocks less than or requal to the block number specified.
|
|
41
42
|
* To be called when we no longer care about gathering txs up to a certain block, eg when they become proven or finalized.
|
|
42
43
|
*/
|
|
43
|
-
stopCollectingForBlocksUpTo(blockNumber:
|
|
44
|
+
stopCollectingForBlocksUpTo(blockNumber: BlockNumber): void;
|
|
44
45
|
/**
|
|
45
46
|
* Stop collecting all txs for blocks greater than the block number specified.
|
|
46
47
|
* To be called when there is a chain prune and previously mined txs are no longer relevant.
|
|
47
48
|
*/
|
|
48
|
-
stopCollectingForBlocksAfter(blockNumber:
|
|
49
|
+
stopCollectingForBlocksAfter(blockNumber: BlockNumber): void;
|
|
49
50
|
/** Computes the proof submission deadline for a given slot, a tx mined in this slot is no longer interesting after this deadline */
|
|
50
51
|
private getDeadlineForSlot;
|
|
51
52
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xvd190eF9jb2xsZWN0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvdHhfY29sbGVjdGlvbi9zbG93X3R4X2NvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBMkIsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RixPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLGlCQUFpQixFQUE2QyxNQUFNLDZCQUE2QixDQUFDO0FBQ2hILE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVuRCxPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBc0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWhFLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MscUJBQWEsZ0JBQWdCO0lBV3pCLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLEtBQUs7SUFDYixPQUFPLENBQUMsZ0JBQWdCO0lBQ3hCLE9BQU8sQ0FBQyxjQUFjO0lBQ3RCLE9BQU8sQ0FBQyxTQUFTO0lBQ2pCLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLFlBQVk7SUFDcEIsT0FBTyxDQUFDLEdBQUc7SUFqQmIsbUVBQW1FO0lBQ25FLE9BQU8sQ0FBQyxVQUFVLENBQXlDO0lBRTNELCtEQUErRDtJQUMvRCxPQUFPLENBQUMsd0JBQXdCLENBQW1CO0lBRW5ELHFFQUFxRTtJQUNyRSxPQUFPLENBQUMseUJBQXlCLENBQWlCO0lBRWxELFlBQ1UsT0FBTyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxrQkFBa0IsQ0FBQyxFQUNuRCxLQUFLLEVBQUUsUUFBUSxFQUFFLEVBQ2pCLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixDQUFDLEVBQ25FLFNBQVMsRUFBRSxpQkFBaUIsRUFDNUIsTUFBTSxFQUFFLGtCQUFrQixFQUMxQixZQUFZLEdBQUUsWUFBaUMsRUFDL0MsR0FBRyxHQUFFLE1BQWtELEVBZ0JoRTtJQUVNLGtCQUFrQixhQUV4QjtJQUVNLEtBQUssU0FHWDtJQUVZLElBQUksa0JBS2hCO0lBRVksT0FBTyxrQkFLbkI7SUFFRCxtRkFBbUY7SUFDNUUsZUFBZSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQW9CeEQ7WUFHYSx5QkFBeUI7WUFpQ3pCLDJCQUEyQjtJQXNDekMsK0hBQStIO0lBQy9ILE9BQU8sQ0FBQyw4QkFBOEI7SUFxQnRDLDhHQUE4RztJQUN2RyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FJL0I7SUFFRDs7O09BR0c7SUFDSSwyQkFBMkIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FNakU7SUFFRDs7O09BR0c7SUFDSSw0QkFBNEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLElBQUksQ0FNbEU7SUFFRCxvSUFBb0k7SUFDcEksT0FBTyxDQUFDLGtCQUFrQjtDQU0zQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slow_tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/slow_tx_collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"slow_tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/slow_tx_collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA2B,MAAM,iCAAiC,CAAC;AAEvF,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAA6C,MAAM,6BAA6B,CAAC;AAChH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,KAAK,gBAAgB,EAAsB,MAAM,yBAAyB,CAAC;AAEpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C,qBAAa,gBAAgB;IAWzB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,GAAG;IAjBb,mEAAmE;IACnE,OAAO,CAAC,UAAU,CAAyC;IAE3D,+DAA+D;IAC/D,OAAO,CAAC,wBAAwB,CAAmB;IAEnD,qEAAqE;IACrE,OAAO,CAAC,yBAAyB,CAAiB;IAElD,YACU,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,EACnD,KAAK,EAAE,QAAQ,EAAE,EACjB,gBAAgB,EAAE,gBAAgB,EAClC,cAAc,EAAE,IAAI,CAAC,gBAAgB,EAAE,2BAA2B,CAAC,EACnE,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,kBAAkB,EAC1B,YAAY,GAAE,YAAiC,EAC/C,GAAG,GAAE,MAAkD,EAgBhE;IAEM,kBAAkB,aAExB;IAEM,KAAK,SAGX;IAEY,IAAI,kBAKhB;IAEY,OAAO,kBAKnB;IAED,mFAAmF;IAC5E,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAoBxD;YAGa,yBAAyB;YAiCzB,2BAA2B;IAsCzC,+HAA+H;IAC/H,OAAO,CAAC,8BAA8B;IAqBtC,8GAA8G;IACvG,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,CAI/B;IAED;;;OAGG;IACI,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAMjE;IAED;;;OAGG;IACI,4BAA4B,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAMlE;IAED,oIAAoI;IACpI,OAAO,CAAC,kBAAkB;CAM3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
3
|
import { type PromiseWithResolvers } from '@aztec/foundation/promise';
|
|
3
4
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
@@ -16,7 +17,7 @@ import { SlowTxCollection } from './slow_tx_collection.js';
|
|
|
16
17
|
import type { TxSource } from './tx_source.js';
|
|
17
18
|
export type CollectionMethod = 'fast-req-resp' | 'fast-node-rpc' | 'slow-req-resp' | 'slow-node-rpc';
|
|
18
19
|
export type MissingTxInfo = {
|
|
19
|
-
blockNumber:
|
|
20
|
+
blockNumber: BlockNumber;
|
|
20
21
|
deadline: Date;
|
|
21
22
|
readyForReqResp: boolean;
|
|
22
23
|
};
|
|
@@ -26,7 +27,7 @@ export type FastCollectionRequestInput = {
|
|
|
26
27
|
} | {
|
|
27
28
|
type: 'proposal';
|
|
28
29
|
blockProposal: BlockProposal;
|
|
29
|
-
blockNumber:
|
|
30
|
+
blockNumber: BlockNumber;
|
|
30
31
|
};
|
|
31
32
|
export type FastCollectionRequest = FastCollectionRequestInput & {
|
|
32
33
|
missingTxHashes: Set<string>;
|
|
@@ -78,7 +79,7 @@ export declare class TxCollection {
|
|
|
78
79
|
/** Starts collecting the given tx hashes for the given L2Block in the slow loop */
|
|
79
80
|
startCollecting(block: L2Block, txHashes: TxHash[]): void;
|
|
80
81
|
/** Collects the set of txs for the given block proposal as fast as possible */
|
|
81
|
-
collectFastForProposal(blockProposal: BlockProposal, blockNumber:
|
|
82
|
+
collectFastForProposal(blockProposal: BlockProposal, blockNumber: BlockNumber, txHashes: TxHash[] | string[], opts: {
|
|
82
83
|
deadline: Date;
|
|
83
84
|
pinnedPeer?: PeerId;
|
|
84
85
|
}): Promise<Tx[]>;
|
|
@@ -98,12 +99,12 @@ export declare class TxCollection {
|
|
|
98
99
|
* Stop collecting all txs for blocks less than or requal to the block number specified.
|
|
99
100
|
* To be called when we no longer care about gathering txs up to a certain block, eg when they become proven or finalized.
|
|
100
101
|
*/
|
|
101
|
-
stopCollectingForBlocksUpTo(blockNumber:
|
|
102
|
+
stopCollectingForBlocksUpTo(blockNumber: BlockNumber): void;
|
|
102
103
|
/**
|
|
103
104
|
* Stop collecting all txs for blocks greater than the block number specified.
|
|
104
105
|
* To be called when there is a chain prune and previously mined txs are no longer relevant.
|
|
105
106
|
*/
|
|
106
|
-
stopCollectingForBlocksAfter(blockNumber:
|
|
107
|
+
stopCollectingForBlocksAfter(blockNumber: BlockNumber): void;
|
|
107
108
|
private reconcileFoundTxsWithPool;
|
|
108
109
|
}
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfY29sbGVjdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3R4X2NvbGxlY3Rpb24vdHhfY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFrQixNQUFNLDJCQUEyQixDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQXNCLE1BQU0seUJBQXlCLENBQUM7QUFFbkYsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/tx_collection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tx_collection.d.ts","sourceRoot":"","sources":["../../../src/services/tx_collection/tx_collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
3
|
import type { L2BlockNew } from '@aztec/stdlib/block';
|
|
3
4
|
import type { ITxProvider } from '@aztec/stdlib/interfaces/server';
|
|
@@ -26,7 +27,7 @@ export declare class TxProvider implements ITxProvider {
|
|
|
26
27
|
missingTxs: TxHash[];
|
|
27
28
|
}>;
|
|
28
29
|
/** Gathers txs from the tx pool, proposal body, remote rpc nodes, and reqresp. */
|
|
29
|
-
getTxsForBlockProposal(blockProposal: BlockProposal, blockNumber:
|
|
30
|
+
getTxsForBlockProposal(blockProposal: BlockProposal, blockNumber: BlockNumber, opts: {
|
|
30
31
|
pinnedPeer: PeerId | undefined;
|
|
31
32
|
deadline: Date;
|
|
32
33
|
}): Promise<{
|
|
@@ -46,4 +47,4 @@ export declare class TxProvider implements ITxProvider {
|
|
|
46
47
|
private extractFromProposal;
|
|
47
48
|
private processProposalTxs;
|
|
48
49
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHhfcHJvdmlkZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy90eF9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUQsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBRWxFLE9BQU8sS0FBSyxFQUFlLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBRW5GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWhELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUE4QixZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNqRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUU3RTs7O0dBR0c7QUFDSCxxQkFBYSxVQUFXLFlBQVcsV0FBVztJQUkxQyxPQUFPLENBQUMsWUFBWTtJQUNwQixPQUFPLENBQUMsTUFBTTtJQUNkLE9BQU8sQ0FBQyxXQUFXO0lBQ25CLE9BQU8sQ0FBQyxHQUFHO0lBTmIsU0FBUyxDQUFDLGVBQWUsRUFBRSx5QkFBeUIsQ0FBQztJQUVyRCxZQUNVLFlBQVksRUFBRSxZQUFZLEVBQzFCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEVBQ3hDLEdBQUcsR0FBRSxNQUF5QyxFQUN0RCxNQUFNLEdBQUUsZUFBc0MsRUFHL0M7SUFFRCxzREFBc0Q7SUFDekMsZUFBZSxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBa0I3RjtJQUVELGtGQUFrRjtJQUMzRSxzQkFBc0IsQ0FDM0IsYUFBYSxFQUFFLGFBQWEsRUFDNUIsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFBQyxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FDdkQsT0FBTyxDQUFDO1FBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFBO0tBQUUsQ0FBQyxDQU85QztJQUVELG1FQUFtRTtJQUM1RCxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7UUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUM7UUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUM7UUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUE7S0FBRSxDQUFDLENBTy9HO1lBRWEsMkJBQTJCO0lBZ0N6QyxPQUFPLENBQUMsUUFBUTtZQUtGLG9CQUFvQjtJQXNGbEMsT0FBTyxDQUFDLG1CQUFtQjtZQU9iLGtCQUFrQjtDQU9qQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tx_provider.d.ts","sourceRoot":"","sources":["../../src/services/tx_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,KAAK,eAAe,EAAsB,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E;;;GAGG;AACH,qBAAa,UAAW,YAAW,WAAW;IAI1C,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,GAAG;IANb,SAAS,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAErD,YACU,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACxC,GAAG,GAAE,MAAyC,EACtD,MAAM,GAAE,eAAsC,EAG/C;IAED,sDAAsD;IACzC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAkB7F;IAED,kFAAkF;IAC3E,sBAAsB,CAC3B,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,GACvD,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO9C;IAED,mEAAmE;IAC5D,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAO/G;YAEa,2BAA2B;IAgCzC,OAAO,CAAC,QAAQ;YAKF,oBAAoB;IAsFlC,OAAO,CAAC,mBAAmB;YAOb,kBAAkB;CAOjC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/p2p",
|
|
3
|
-
"version": "3.0.0-nightly.
|
|
3
|
+
"version": "3.0.0-nightly.20251205",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"tsconfig": "./tsconfig.json"
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "yarn clean &&
|
|
23
|
-
"build:dev": "
|
|
22
|
+
"build": "yarn clean && ../scripts/tsc.sh",
|
|
23
|
+
"build:dev": "../scripts/tsc.sh --watch",
|
|
24
24
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
25
25
|
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}",
|
|
26
26
|
"start": "node ./dest",
|
|
@@ -67,17 +67,17 @@
|
|
|
67
67
|
]
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@aztec/constants": "3.0.0-nightly.
|
|
71
|
-
"@aztec/epoch-cache": "3.0.0-nightly.
|
|
72
|
-
"@aztec/ethereum": "3.0.0-nightly.
|
|
73
|
-
"@aztec/foundation": "3.0.0-nightly.
|
|
74
|
-
"@aztec/kv-store": "3.0.0-nightly.
|
|
75
|
-
"@aztec/noir-contracts.js": "3.0.0-nightly.
|
|
76
|
-
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.
|
|
77
|
-
"@aztec/protocol-contracts": "3.0.0-nightly.
|
|
78
|
-
"@aztec/simulator": "3.0.0-nightly.
|
|
79
|
-
"@aztec/stdlib": "3.0.0-nightly.
|
|
80
|
-
"@aztec/telemetry-client": "3.0.0-nightly.
|
|
70
|
+
"@aztec/constants": "3.0.0-nightly.20251205",
|
|
71
|
+
"@aztec/epoch-cache": "3.0.0-nightly.20251205",
|
|
72
|
+
"@aztec/ethereum": "3.0.0-nightly.20251205",
|
|
73
|
+
"@aztec/foundation": "3.0.0-nightly.20251205",
|
|
74
|
+
"@aztec/kv-store": "3.0.0-nightly.20251205",
|
|
75
|
+
"@aztec/noir-contracts.js": "3.0.0-nightly.20251205",
|
|
76
|
+
"@aztec/noir-protocol-circuits-types": "3.0.0-nightly.20251205",
|
|
77
|
+
"@aztec/protocol-contracts": "3.0.0-nightly.20251205",
|
|
78
|
+
"@aztec/simulator": "3.0.0-nightly.20251205",
|
|
79
|
+
"@aztec/stdlib": "3.0.0-nightly.20251205",
|
|
80
|
+
"@aztec/telemetry-client": "3.0.0-nightly.20251205",
|
|
81
81
|
"@chainsafe/libp2p-gossipsub": "13.0.0",
|
|
82
82
|
"@chainsafe/libp2p-noise": "^15.0.0",
|
|
83
83
|
"@chainsafe/libp2p-yamux": "^6.0.2",
|
|
@@ -104,8 +104,8 @@
|
|
|
104
104
|
"xxhash-wasm": "^1.1.0"
|
|
105
105
|
},
|
|
106
106
|
"devDependencies": {
|
|
107
|
-
"@aztec/archiver": "3.0.0-nightly.
|
|
108
|
-
"@aztec/world-state": "3.0.0-nightly.
|
|
107
|
+
"@aztec/archiver": "3.0.0-nightly.20251205",
|
|
108
|
+
"@aztec/world-state": "3.0.0-nightly.20251205",
|
|
109
109
|
"@jest/globals": "^30.0.0",
|
|
110
110
|
"@types/jest": "^30.0.0",
|
|
111
111
|
"@types/node": "^22.15.17",
|
package/src/client/p2p_client.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
-
import { SlotNumber } from '@aztec/foundation/branded-types';
|
|
1
|
+
import { GENESIS_BLOCK_HEADER_HASH, INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
+
import { BlockNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { DateProvider } from '@aztec/foundation/timer';
|
|
5
5
|
import type { AztecAsyncKVStore, AztecAsyncMap, AztecAsyncSingleton } from '@aztec/kv-store';
|
|
@@ -63,10 +63,10 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
63
63
|
private provenBlockNumberAtStart = -1;
|
|
64
64
|
private finalizedBlockNumberAtStart = -1;
|
|
65
65
|
|
|
66
|
-
private synchedBlockHashes: AztecAsyncMap<
|
|
67
|
-
private synchedLatestBlockNumber: AztecAsyncSingleton<
|
|
68
|
-
private synchedProvenBlockNumber: AztecAsyncSingleton<
|
|
69
|
-
private synchedFinalizedBlockNumber: AztecAsyncSingleton<
|
|
66
|
+
private synchedBlockHashes: AztecAsyncMap<BlockNumber, string>;
|
|
67
|
+
private synchedLatestBlockNumber: AztecAsyncSingleton<BlockNumber>;
|
|
68
|
+
private synchedProvenBlockNumber: AztecAsyncSingleton<BlockNumber>;
|
|
69
|
+
private synchedFinalizedBlockNumber: AztecAsyncSingleton<BlockNumber>;
|
|
70
70
|
private synchedLatestSlot: AztecAsyncSingleton<bigint>;
|
|
71
71
|
|
|
72
72
|
private txPool: TxPool;
|
|
@@ -129,7 +129,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
129
129
|
this.log.debug(`Cannot collect txs for proposal as parent block not found`);
|
|
130
130
|
return;
|
|
131
131
|
}
|
|
132
|
-
const blockNumber = parentBlock.getBlockNumber() + 1;
|
|
132
|
+
const blockNumber = BlockNumber(parentBlock.getBlockNumber() + 1);
|
|
133
133
|
await this.txProvider.getTxsForBlockProposal(block, blockNumber, { pinnedPeer: sender, deadline });
|
|
134
134
|
return undefined;
|
|
135
135
|
});
|
|
@@ -163,7 +163,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
163
163
|
return Promise.resolve(this.p2pService.getPeers(includePending));
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
-
public getL2BlockHash(number:
|
|
166
|
+
public getL2BlockHash(number: BlockNumber): Promise<string | undefined> {
|
|
167
167
|
return this.synchedBlockHashes.getAsync(number);
|
|
168
168
|
}
|
|
169
169
|
|
|
@@ -204,10 +204,12 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
204
204
|
}
|
|
205
205
|
}
|
|
206
206
|
|
|
207
|
+
const genesisHash = GENESIS_BLOCK_HEADER_HASH.toString();
|
|
208
|
+
|
|
207
209
|
return {
|
|
208
|
-
latest: { hash: latestBlockHash
|
|
209
|
-
proven: { hash: provenBlockHash
|
|
210
|
-
finalized: { hash: finalizedBlockHash
|
|
210
|
+
latest: { hash: latestBlockHash ?? genesisHash, number: latestBlockNumber },
|
|
211
|
+
proven: { hash: provenBlockHash ?? genesisHash, number: provenBlockNumber },
|
|
212
|
+
finalized: { hash: finalizedBlockHash ?? genesisHash, number: finalizedBlockNumber },
|
|
211
213
|
};
|
|
212
214
|
}
|
|
213
215
|
|
|
@@ -220,7 +222,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
220
222
|
case 'chain-finalized': {
|
|
221
223
|
// TODO (alexg): I think we can prune the block hashes map here
|
|
222
224
|
await this.setBlockHash(event.block);
|
|
223
|
-
const from = (await this.getSyncedFinalizedBlockNum()) + 1;
|
|
225
|
+
const from = BlockNumber((await this.getSyncedFinalizedBlockNum()) + 1);
|
|
224
226
|
const limit = event.block.number - from + 1;
|
|
225
227
|
if (limit > 0) {
|
|
226
228
|
await this.handleFinalizedL2Blocks(await this.l2BlockSource.getBlocks(from, limit));
|
|
@@ -285,7 +287,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
285
287
|
(this.attestationPool === undefined || (await this.attestationPool?.isEmpty()))
|
|
286
288
|
) {
|
|
287
289
|
// if mempools are empty, we don't care about syncing prior blocks
|
|
288
|
-
this.initBlockStream(this.latestBlockNumberAtStart);
|
|
290
|
+
this.initBlockStream(BlockNumber(this.latestBlockNumberAtStart));
|
|
289
291
|
this.setCurrentState(P2PClientState.RUNNING);
|
|
290
292
|
this.syncPromise = Promise.resolve();
|
|
291
293
|
await this.p2pService.start();
|
|
@@ -333,7 +335,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
333
335
|
return this.p2pService.addReqRespSubProtocol(subProtocol, handler, validator);
|
|
334
336
|
}
|
|
335
337
|
|
|
336
|
-
private initBlockStream(startingBlock?:
|
|
338
|
+
private initBlockStream(startingBlock?: BlockNumber) {
|
|
337
339
|
if (!this.blockStream) {
|
|
338
340
|
const { blockRequestBatchSize: batchSize, blockCheckIntervalMS: pollIntervalMS } = this.config;
|
|
339
341
|
this.blockStream = new TraceableL2BlockStream(
|
|
@@ -649,20 +651,20 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
649
651
|
* Public function to check the latest block number that the P2P client is synced to.
|
|
650
652
|
* @returns Block number of latest L2 Block we've synced with.
|
|
651
653
|
*/
|
|
652
|
-
public async getSyncedLatestBlockNum(): Promise<
|
|
653
|
-
return (await this.synchedLatestBlockNumber.getAsync()) ?? INITIAL_L2_BLOCK_NUM - 1;
|
|
654
|
+
public async getSyncedLatestBlockNum(): Promise<BlockNumber> {
|
|
655
|
+
return (await this.synchedLatestBlockNumber.getAsync()) ?? BlockNumber(INITIAL_L2_BLOCK_NUM - 1);
|
|
654
656
|
}
|
|
655
657
|
|
|
656
658
|
/**
|
|
657
659
|
* Public function to check the latest proven block number that the P2P client is synced to.
|
|
658
660
|
* @returns Block number of latest proven L2 Block we've synced with.
|
|
659
661
|
*/
|
|
660
|
-
public async getSyncedProvenBlockNum(): Promise<
|
|
661
|
-
return (await this.synchedProvenBlockNumber.getAsync()) ?? INITIAL_L2_BLOCK_NUM - 1;
|
|
662
|
+
public async getSyncedProvenBlockNum(): Promise<BlockNumber> {
|
|
663
|
+
return (await this.synchedProvenBlockNumber.getAsync()) ?? BlockNumber(INITIAL_L2_BLOCK_NUM - 1);
|
|
662
664
|
}
|
|
663
665
|
|
|
664
|
-
public async getSyncedFinalizedBlockNum(): Promise<
|
|
665
|
-
return (await this.synchedFinalizedBlockNumber.getAsync()) ?? INITIAL_L2_BLOCK_NUM - 1;
|
|
666
|
+
public async getSyncedFinalizedBlockNum(): Promise<BlockNumber> {
|
|
667
|
+
return (await this.synchedFinalizedBlockNumber.getAsync()) ?? BlockNumber(INITIAL_L2_BLOCK_NUM - 1);
|
|
666
668
|
}
|
|
667
669
|
|
|
668
670
|
/** Returns latest L2 slot for which we have seen an L2 block. */
|
|
@@ -678,7 +680,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
678
680
|
const blockNumber = await this.getSyncedLatestBlockNum();
|
|
679
681
|
const blockHash =
|
|
680
682
|
blockNumber === 0
|
|
681
|
-
?
|
|
683
|
+
? GENESIS_BLOCK_HEADER_HASH.toString()
|
|
682
684
|
: await this.l2BlockSource
|
|
683
685
|
.getBlockHeader(blockNumber)
|
|
684
686
|
.then(header => header?.hash())
|
|
@@ -686,8 +688,8 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
686
688
|
|
|
687
689
|
return {
|
|
688
690
|
state: this.currentState,
|
|
689
|
-
syncedToL2Block: { number: blockNumber, hash: blockHash },
|
|
690
|
-
}
|
|
691
|
+
syncedToL2Block: { number: blockNumber, hash: blockHash! },
|
|
692
|
+
};
|
|
691
693
|
}
|
|
692
694
|
|
|
693
695
|
/**
|
|
@@ -792,7 +794,7 @@ export class P2PClient<T extends P2PClientType = P2PClientType.Full>
|
|
|
792
794
|
* Updates the tx pool after a chain prune.
|
|
793
795
|
* @param latestBlock - The block number the chain was pruned to.
|
|
794
796
|
*/
|
|
795
|
-
private async handlePruneL2Blocks(latestBlock:
|
|
797
|
+
private async handlePruneL2Blocks(latestBlock: BlockNumber): Promise<void> {
|
|
796
798
|
const txsToDelete = new Map<string, TxHash>();
|
|
797
799
|
const minedTxs = await this.txPool.getMinedTxHashes();
|
|
798
800
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
2
3
|
import { toArray } from '@aztec/foundation/iterable';
|
|
3
4
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
@@ -37,7 +38,7 @@ export class AztecKVTxPool extends (EventEmitter as new () => TypedEventEmitter<
|
|
|
37
38
|
txPoolOverflowFactor: number = 1;
|
|
38
39
|
|
|
39
40
|
/** Index from tx hash to the block number in which they were mined, filtered by mined txs. */
|
|
40
|
-
#minedTxHashToBlock: AztecAsyncMap<string,
|
|
41
|
+
#minedTxHashToBlock: AztecAsyncMap<string, BlockNumber>;
|
|
41
42
|
|
|
42
43
|
/** Index from tx priority (stored as hex) to its tx hash, filtered by pending txs. */
|
|
43
44
|
#pendingTxPriorityToHash: AztecAsyncMultiMap<string, string>;
|
|
@@ -49,10 +50,10 @@ export class AztecKVTxPool extends (EventEmitter as new () => TypedEventEmitter<
|
|
|
49
50
|
#pendingTxHashToHeaderHash: AztecAsyncMap<string, string>;
|
|
50
51
|
|
|
51
52
|
/** Map from tx hash to the block number it was originally mined in (for soft-deleted txs). */
|
|
52
|
-
#deletedMinedTxHashes: AztecAsyncMap<string,
|
|
53
|
+
#deletedMinedTxHashes: AztecAsyncMap<string, BlockNumber>;
|
|
53
54
|
|
|
54
55
|
/** MultiMap from block number to deleted mined tx hashes for efficient cleanup. */
|
|
55
|
-
#blockToDeletedMinedTxHash: AztecAsyncMultiMap<
|
|
56
|
+
#blockToDeletedMinedTxHash: AztecAsyncMultiMap<BlockNumber, string>;
|
|
56
57
|
|
|
57
58
|
/** The cumulative tx size in bytes that the pending txs in the pool take up. */
|
|
58
59
|
#pendingTxSize: AztecAsyncSingleton<number>;
|
|
@@ -222,7 +223,7 @@ export class AztecKVTxPool extends (EventEmitter as new () => TypedEventEmitter<
|
|
|
222
223
|
return vals.map(TxHash.fromString);
|
|
223
224
|
}
|
|
224
225
|
|
|
225
|
-
public async getMinedTxHashes(): Promise<[TxHash,
|
|
226
|
+
public async getMinedTxHashes(): Promise<[TxHash, BlockNumber][]> {
|
|
226
227
|
const vals = await toArray(this.#minedTxHashToBlock.entriesAsync());
|
|
227
228
|
return vals.map(([txHash, blockNumber]) => [TxHash.fromString(txHash), blockNumber]);
|
|
228
229
|
}
|
|
@@ -441,10 +442,10 @@ export class AztecKVTxPool extends (EventEmitter as new () => TypedEventEmitter<
|
|
|
441
442
|
* @param blockNumber - Block number threshold. Deleted mined txs from this block or earlier will be permanently deleted.
|
|
442
443
|
* @returns The number of transactions permanently deleted.
|
|
443
444
|
*/
|
|
444
|
-
public async cleanupDeletedMinedTxs(blockNumber:
|
|
445
|
+
public async cleanupDeletedMinedTxs(blockNumber: BlockNumber): Promise<number> {
|
|
445
446
|
let deletedCount = 0;
|
|
446
447
|
const txHashesToDelete: string[] = [];
|
|
447
|
-
const blocksToDelete:
|
|
448
|
+
const blocksToDelete: BlockNumber[] = [];
|
|
448
449
|
|
|
449
450
|
await this.#store.transactionAsync(async () => {
|
|
450
451
|
// Iterate through all entries and check block numbers
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
3
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
3
4
|
import type { TxAddedToPoolStats } from '@aztec/stdlib/stats';
|
|
@@ -18,10 +19,11 @@ export class InMemoryTxPool extends (EventEmitter as new () => TypedEventEmitter
|
|
|
18
19
|
* Our tx pool, stored as a Map in-memory, with K: tx hash and V: the transaction.
|
|
19
20
|
*/
|
|
20
21
|
private txs: Map<bigint, Tx>;
|
|
21
|
-
private minedTxs: Map<bigint,
|
|
22
|
+
private minedTxs: Map<bigint, BlockNumber>;
|
|
22
23
|
private pendingTxs: Set<bigint>;
|
|
23
|
-
private deletedMinedTxHashes: Map<bigint,
|
|
24
|
-
|
|
24
|
+
private deletedMinedTxHashes: Map<bigint, BlockNumber>;
|
|
25
|
+
// eslint-disable-next-line aztec-custom/no-non-primitive-in-collections
|
|
26
|
+
private blockToDeletedMinedTxHash: Map<BlockNumber, Set<bigint>>;
|
|
25
27
|
|
|
26
28
|
private metrics: PoolInstrumentation<Tx>;
|
|
27
29
|
|
|
@@ -108,7 +110,7 @@ export class InMemoryTxPool extends (EventEmitter as new () => TypedEventEmitter
|
|
|
108
110
|
});
|
|
109
111
|
}
|
|
110
112
|
|
|
111
|
-
public getMinedTxHashes(): Promise<[TxHash,
|
|
113
|
+
public getMinedTxHashes(): Promise<[TxHash, BlockNumber][]> {
|
|
112
114
|
return Promise.resolve(
|
|
113
115
|
Array.from(this.minedTxs.entries()).map(([txHash, blockNumber]) => [TxHash.fromBigInt(txHash), blockNumber]),
|
|
114
116
|
);
|
|
@@ -253,9 +255,9 @@ export class InMemoryTxPool extends (EventEmitter as new () => TypedEventEmitter
|
|
|
253
255
|
* @param blockNumber - Block number threshold. Deleted mined txs from this block or earlier will be permanently deleted.
|
|
254
256
|
* @returns The number of transactions permanently deleted.
|
|
255
257
|
*/
|
|
256
|
-
public cleanupDeletedMinedTxs(blockNumber:
|
|
258
|
+
public cleanupDeletedMinedTxs(blockNumber: BlockNumber): Promise<number> {
|
|
257
259
|
let deletedCount = 0;
|
|
258
|
-
const blocksToDelete:
|
|
260
|
+
const blocksToDelete: BlockNumber[] = [];
|
|
259
261
|
|
|
260
262
|
// Find all blocks up to the specified block number
|
|
261
263
|
for (const [block, txHashes] of this.blockToDeletedMinedTxHash.entries()) {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { BlockNumber } from '@aztec/foundation/branded-types';
|
|
1
2
|
import type { TypedEventEmitter } from '@aztec/foundation/types';
|
|
2
3
|
import type { BlockHeader, Tx, TxHash } from '@aztec/stdlib/tx';
|
|
3
4
|
|
|
@@ -102,7 +103,7 @@ export interface TxPool extends TypedEventEmitter<TxPoolEvents> {
|
|
|
102
103
|
* Gets the hashes of mined transactions currently in the tx pool.
|
|
103
104
|
* @returns An array of mined transaction hashes found in the tx pool.
|
|
104
105
|
*/
|
|
105
|
-
getMinedTxHashes(): Promise<[tx: TxHash, blockNumber:
|
|
106
|
+
getMinedTxHashes(): Promise<[tx: TxHash, blockNumber: BlockNumber][]>;
|
|
106
107
|
|
|
107
108
|
/**
|
|
108
109
|
* Returns whether the given tx hash is flagged as pending, mined, or deleted.
|
|
@@ -131,5 +132,5 @@ export interface TxPool extends TypedEventEmitter<TxPoolEvents> {
|
|
|
131
132
|
* @param blockNumber - Block number threshold. Deleted mined txs from this block or earlier will be permanently deleted.
|
|
132
133
|
* @returns The number of transactions permanently deleted.
|
|
133
134
|
*/
|
|
134
|
-
cleanupDeletedMinedTxs(blockNumber:
|
|
135
|
+
cleanupDeletedMinedTxs(blockNumber: BlockNumber): Promise<number>;
|
|
135
136
|
}
|