@aztec-labs/p2p 6.0.0-rc.3 → 6.0.0-rc.4
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 +1 -3
- package/dest/client/p2p_client.js +1 -2
- package/dest/config.d.ts +1 -11
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +0 -16
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts +1 -1
- package/dest/mem_pools/tx_pool_v2/deleted_pool.d.ts.map +1 -1
- package/dest/mem_pools/tx_pool_v2/deleted_pool.js +1 -0
- package/dest/mem_pools/tx_pool_v2/eviction/eviction_manager.d.ts +2 -1
- 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 +25 -1
- package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +3 -3
- 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 +2 -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 +10 -1
- package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +6 -1
- 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 +39 -8
- 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 +25 -13
- package/dest/msg_validators/epoch_cache_lookup.d.ts +15 -12
- package/dest/msg_validators/epoch_cache_lookup.d.ts.map +1 -1
- package/dest/msg_validators/epoch_cache_lookup.js +27 -18
- 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 +23 -15
- 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 +61 -13
- 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 +2 -3
- package/dest/services/dummy_service.d.ts +2 -1
- package/dest/services/dummy_service.d.ts.map +1 -1
- package/dest/services/dummy_service.js +1 -0
- package/dest/services/encoding.d.ts +2 -1
- package/dest/services/encoding.d.ts.map +1 -1
- package/dest/services/encoding.js +1 -0
- package/dest/services/libp2p/libp2p_service.d.ts +6 -2
- package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
- package/dest/services/libp2p/libp2p_service.js +38 -9
- 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 +5 -1
- package/dest/services/peer-manager/peer_scoring.d.ts +13 -1
- package/dest/services/peer-manager/peer_scoring.d.ts.map +1 -1
- package/dest/services/peer-manager/peer_scoring.js +38 -0
- package/dest/services/reqresp/protocols/auth.d.ts +2 -1
- package/dest/services/reqresp/protocols/auth.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/auth.js +1 -0
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts +2 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/bitvector.js +1 -0
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/block_txs/block_txs_handler.js +13 -4
- package/dest/services/reqresp/protocols/goodbye.d.ts +2 -1
- package/dest/services/reqresp/protocols/goodbye.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/goodbye.js +1 -0
- package/dest/services/reqresp/protocols/ping.d.ts +2 -1
- package/dest/services/reqresp/protocols/ping.d.ts.map +1 -1
- package/dest/services/reqresp/protocols/ping.js +1 -0
- package/dest/services/reqresp/reqresp.d.ts +2 -1
- package/dest/services/reqresp/reqresp.d.ts.map +1 -1
- package/dest/services/reqresp/reqresp.js +1 -0
- package/dest/test-helpers/mock-pubsub.d.ts +2 -1
- package/dest/test-helpers/mock-pubsub.d.ts.map +1 -1
- package/dest/test-helpers/mock-pubsub.js +1 -0
- 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 +1 -0
- package/dest/test-helpers/testbench-utils.js +18 -6
- package/dest/testbench/p2p_client_testbench_worker.d.ts +1 -1
- package/dest/testbench/p2p_client_testbench_worker.d.ts.map +1 -1
- package/dest/testbench/p2p_client_testbench_worker.js +1 -0
- package/dest/testbench/worker_client_manager.d.ts +1 -1
- package/dest/testbench/worker_client_manager.d.ts.map +1 -1
- package/dest/testbench/worker_client_manager.js +2 -1
- package/dest/util.d.ts +1 -1
- package/dest/util.d.ts.map +1 -1
- package/dest/util.js +1 -0
- package/dest/versioning.d.ts +1 -1
- package/dest/versioning.d.ts.map +1 -1
- package/dest/versioning.js +1 -0
- package/package.json +16 -16
- package/src/bootstrap/bootstrap.ts +1 -2
- package/src/client/p2p_client.ts +1 -1
- package/src/config.ts +0 -11
- package/src/mem_pools/tx_pool_v2/README.md +2 -0
- package/src/mem_pools/tx_pool_v2/deleted_pool.ts +1 -0
- package/src/mem_pools/tx_pool_v2/eviction/eviction_manager.ts +28 -1
- package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +2 -2
- package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +11 -1
- package/src/mem_pools/tx_pool_v2/interfaces.ts +5 -0
- package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +46 -11
- package/src/msg_validators/attestation_validator/README.md +4 -3
- package/src/msg_validators/attestation_validator/attestation_validator.ts +23 -11
- package/src/msg_validators/epoch_cache_lookup.ts +33 -15
- package/src/msg_validators/proposal_validator/README.md +5 -4
- package/src/msg_validators/proposal_validator/proposal_validator.ts +23 -14
- package/src/msg_validators/tx_validator/data_validator.ts +63 -18
- package/src/services/discv5/discV5_service.ts +2 -2
- package/src/services/dummy_service.ts +1 -0
- package/src/services/encoding.ts +1 -0
- package/src/services/libp2p/libp2p_service.ts +37 -8
- package/src/services/peer-manager/peer_manager.ts +5 -1
- package/src/services/peer-manager/peer_scoring.ts +43 -0
- package/src/services/reqresp/protocols/auth.ts +1 -0
- package/src/services/reqresp/protocols/block_txs/bitvector.ts +1 -0
- package/src/services/reqresp/protocols/block_txs/block_txs_handler.ts +17 -4
- package/src/services/reqresp/protocols/goodbye.ts +1 -0
- package/src/services/reqresp/protocols/ping.ts +2 -0
- package/src/services/reqresp/reqresp.ts +1 -0
- package/src/test-helpers/mock-pubsub.ts +1 -0
- package/src/test-helpers/reqresp-nodes.ts +1 -0
- package/src/test-helpers/testbench-utils.ts +6 -6
- package/src/testbench/p2p_client_testbench_worker.ts +1 -0
- package/src/testbench/worker_client_manager.ts +2 -1
- package/src/util.ts +1 -0
- package/src/versioning.ts +1 -0
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZXN0YXRpb25fdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvYXR0ZXN0YXRpb25fdmFsaWRhdG9yL2F0dGVzdGF0aW9uX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBNkIsbUJBQW1CLEVBQWtCLE1BQU0seUJBQXlCLENBQUM7QUFDOUcsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxLQUFLLHFCQUFxQixFQUMxQixLQUFLLDRCQUE0QixFQUNqQyxLQUFLLFlBQVksRUFFakIsS0FBSyxnQkFBZ0IsRUFFdEIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBS3ZFLHFCQUFhLDhCQUErQixZQUFXLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQztJQUN4RixTQUFTLENBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDO0lBQzFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFxQjtJQUMvQyxTQUFTLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLDRCQUE0QixDQUFDO0lBQ2xFLE9BQU8sQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQVM7SUFFMUMsWUFDRSxVQUFVLEVBQUUsbUJBQW1CLEVBQy9CLFNBQVMsRUFBRSxrQkFBa0IsRUFDN0IsSUFBSSxFQUFFO1FBQ0osZ0JBQWdCLEVBQUUsNEJBQTRCLENBQUM7UUFDL0MsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0tBQzFCLEVBT0Y7SUFFSyxRQUFRLENBQUMsT0FBTyxFQUFFLHFCQUFxQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQW1HeEU7Q0FDRiJ9
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"attestation_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/attestation_validator/attestation_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,mBAAmB,EAAkB,MAAM,yBAAyB,CAAC;AAC9G,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,CAmGxE;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
2
2
|
import { PeerErrorSeverity, hasValidSignatureContext } from '@aztec-labs/stdlib/p2p';
|
|
3
|
-
import { mapEpochCacheLookupFailure } from '../epoch_cache_lookup.js';
|
|
3
|
+
import { ignoreUnstableCommittee, mapEpochCacheLookupFailure, rejectNoCommittee } from '../epoch_cache_lookup.js';
|
|
4
4
|
import { classifyReceiveWindowArrival } from '../receive_window.js';
|
|
5
5
|
export class CheckpointAttestationValidator {
|
|
6
6
|
epochCache;
|
|
@@ -59,13 +59,17 @@ export class CheckpointAttestationValidator {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
// Verify the attester is in the committee for this slot
|
|
62
|
-
let
|
|
62
|
+
let membership;
|
|
63
63
|
try {
|
|
64
|
-
|
|
64
|
+
membership = await this.epochCache.lookupMembership(slotNumber, attester);
|
|
65
65
|
} catch (e) {
|
|
66
66
|
return mapEpochCacheLookupFailure(e, this.logger, 'checkpoint attestation', slotNumber);
|
|
67
67
|
}
|
|
68
|
-
if (
|
|
68
|
+
if (membership.state === 'unstable') {
|
|
69
|
+
return ignoreUnstableCommittee(membership, this.logger, 'checkpoint attestation', slotNumber);
|
|
70
|
+
}
|
|
71
|
+
// An open committee and a missing one have no members, so the attester cannot be one.
|
|
72
|
+
if (membership.state !== 'members' || !membership.inCommittee) {
|
|
69
73
|
this.logger.warn(`Attester ${attester.toString()} is not in committee for slot ${slotNumber}`);
|
|
70
74
|
return {
|
|
71
75
|
result: 'reject',
|
|
@@ -76,19 +80,27 @@ export class CheckpointAttestationValidator {
|
|
|
76
80
|
// We look up the proposer for the specific slot rather than using currentSlot/nextSlot
|
|
77
81
|
// since timing differences could cause mismatches
|
|
78
82
|
const proposer = message.getProposer();
|
|
79
|
-
let
|
|
83
|
+
let proposerLookup;
|
|
80
84
|
try {
|
|
81
|
-
|
|
85
|
+
proposerLookup = await this.epochCache.lookupProposer(slotNumber);
|
|
82
86
|
} catch (e) {
|
|
83
87
|
return mapEpochCacheLookupFailure(e, this.logger, 'checkpoint attestation', slotNumber);
|
|
84
88
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
89
|
+
switch(proposerLookup.state){
|
|
90
|
+
case 'unstable':
|
|
91
|
+
return ignoreUnstableCommittee(proposerLookup, this.logger, 'checkpoint attestation', slotNumber);
|
|
92
|
+
case 'none':
|
|
93
|
+
return rejectNoCommittee();
|
|
94
|
+
case 'open':
|
|
95
|
+
this.logger.warn(`No proposer defined for slot ${slotNumber}`);
|
|
96
|
+
return {
|
|
97
|
+
result: 'reject',
|
|
98
|
+
severity: PeerErrorSeverity.HighToleranceError
|
|
99
|
+
};
|
|
100
|
+
case 'members':
|
|
101
|
+
break;
|
|
91
102
|
}
|
|
103
|
+
const expectedProposer = proposerLookup.proposer;
|
|
92
104
|
if (!proposer) {
|
|
93
105
|
this.logger.warn(`Invalid proposer signature in checkpoint attestation for slot ${slotNumber}`);
|
|
94
106
|
return {
|
|
@@ -97,7 +109,7 @@ export class CheckpointAttestationValidator {
|
|
|
97
109
|
};
|
|
98
110
|
}
|
|
99
111
|
if (!proposer.equals(expectedProposer)) {
|
|
100
|
-
this.logger.warn(`Proposer signature mismatch in checkpoint attestation. ` + `Expected ${expectedProposer
|
|
112
|
+
this.logger.warn(`Proposer signature mismatch in checkpoint attestation. ` + `Expected ${expectedProposer.toString()} but got ${proposer.toString()} for slot ${slotNumber}`);
|
|
101
113
|
return {
|
|
102
114
|
result: 'reject',
|
|
103
115
|
severity: PeerErrorSeverity.HighToleranceError
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
+
import type { UnstableCommittee } from '@aztec-labs/epoch-cache';
|
|
1
2
|
import type { SlotNumber } from '@aztec-labs/foundation/branded-types';
|
|
2
3
|
import type { Logger } from '@aztec-labs/foundation/log';
|
|
3
4
|
import { type ValidationResult } from '@aztec-labs/stdlib/p2p';
|
|
4
5
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
*
|
|
6
|
+
* A slot with no committee on L1 is the peer's fault — they should not be sending us a proposal or attestation for it
|
|
7
|
+
* — so it rejects. It is a routine peer-fault reject and needs no log line.
|
|
8
|
+
*/
|
|
9
|
+
export declare function rejectNoCommittee(): ValidationResult;
|
|
10
|
+
/**
|
|
11
|
+
* A committee whose seed is not fixed on L1 yet says nothing about the relaying peer, and is expected around epoch
|
|
12
|
+
* boundaries, so it ignores without a warning.
|
|
13
|
+
*/
|
|
14
|
+
export declare function ignoreUnstableCommittee(lookup: UnstableCommittee, logger: Logger, subject: string, slotNumber: SlotNumber): ValidationResult;
|
|
15
|
+
/**
|
|
16
|
+
* A lookup that throws failed for a receiver-local reason (an L1 RPC outage, or this node being behind), so it ignores
|
|
17
|
+
* rather than penalizes, and warns. `subject` names the gossip object for the log ("proposal" / "checkpoint
|
|
18
|
+
* attestation").
|
|
16
19
|
*/
|
|
17
20
|
export declare function mapEpochCacheLookupFailure(e: unknown, logger: Logger, subject: string, slotNumber: SlotNumber): ValidationResult;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXBvY2hfY2FjaGVfbG9va3VwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvZXBvY2hfY2FjaGVfbG9va3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDekQsT0FBTyxFQUFxQixLQUFLLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFLbEY7OztHQUdHO0FBQ0gsd0JBQWdCLGlCQUFpQixJQUFJLGdCQUFnQixDQUVwRDtBQUVEOzs7R0FHRztBQUNILHdCQUFnQix1QkFBdUIsQ0FDckMsTUFBTSxFQUFFLGlCQUFpQixFQUN6QixNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLFVBQVUsR0FDckIsZ0JBQWdCLENBT2xCO0FBRUQ7Ozs7R0FJRztBQUNILHdCQUFnQiwwQkFBMEIsQ0FDeEMsQ0FBQyxFQUFFLE9BQU8sRUFDVixNQUFNLEVBQUUsTUFBTSxFQUNkLE9BQU8sRUFBRSxNQUFNLEVBQ2YsVUFBVSxFQUFFLFVBQVUsR0FDckIsZ0JBQWdCLENBTWxCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"epoch_cache_lookup.d.ts","sourceRoot":"","sources":["../../src/msg_validators/epoch_cache_lookup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"epoch_cache_lookup.d.ts","sourceRoot":"","sources":["../../src/msg_validators/epoch_cache_lookup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,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;AAKlF;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,gBAAgB,CAEpD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,gBAAgB,CAOlB;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,CAAC,EAAE,OAAO,EACV,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,GACrB,gBAAgB,CAMlB"}
|
|
@@ -1,24 +1,33 @@
|
|
|
1
|
-
import { NoCommitteeError } from '@aztec-labs/ethereum/contracts';
|
|
2
1
|
import { PeerErrorSeverity } from '@aztec-labs/stdlib/p2p';
|
|
2
|
+
// Verdicts shared by the proposal and attestation validators, so the "a local epoch-cache failure is never the
|
|
3
|
+
// relaying peer's fault" rule lives in one place.
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
*
|
|
5
|
+
* A slot with no committee on L1 is the peer's fault — they should not be sending us a proposal or attestation for it
|
|
6
|
+
* — so it rejects. It is a routine peer-fault reject and needs no log line.
|
|
7
|
+
*/ export function rejectNoCommittee() {
|
|
8
|
+
return {
|
|
9
|
+
result: 'reject',
|
|
10
|
+
severity: PeerErrorSeverity.LowToleranceError
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* A committee whose seed is not fixed on L1 yet says nothing about the relaying peer, and is expected around epoch
|
|
15
|
+
* boundaries, so it ignores without a warning.
|
|
16
|
+
*/ export function ignoreUnstableCommittee(lookup, logger, subject, slotNumber) {
|
|
17
|
+
logger.debug(`Ignoring ${subject} for slot ${slotNumber}: its committee is not stable on L1 yet`, {
|
|
18
|
+
slotNumber,
|
|
19
|
+
epoch: lookup.epoch,
|
|
20
|
+
l1BlockNumber: lookup.l1BlockNumber
|
|
21
|
+
});
|
|
22
|
+
return {
|
|
23
|
+
result: 'ignore'
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A lookup that throws failed for a receiver-local reason (an L1 RPC outage, or this node being behind), so it ignores
|
|
28
|
+
* rather than penalizes, and warns. `subject` names the gossip object for the log ("proposal" / "checkpoint
|
|
29
|
+
* attestation").
|
|
15
30
|
*/ export function mapEpochCacheLookupFailure(e, logger, subject, slotNumber) {
|
|
16
|
-
if (e instanceof NoCommitteeError) {
|
|
17
|
-
return {
|
|
18
|
-
result: 'reject',
|
|
19
|
-
severity: PeerErrorSeverity.LowToleranceError
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
31
|
logger.warn(`Ignoring ${subject} for slot ${slotNumber} after a local epoch-cache lookup failure`, {
|
|
23
32
|
slotNumber,
|
|
24
33
|
error: e instanceof Error ? e.message : String(e)
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcG9zYWxfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvcHJvcG9zYWxfdmFsaWRhdG9yL3Byb3Bvc2FsX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBa0IsTUFBTSx5QkFBeUIsQ0FBQztBQUduRixPQUFPLEVBQ0wsS0FBSyxhQUFhLEVBQ2xCLEtBQUssc0JBQXNCLEVBQzNCLEtBQUssNEJBQTRCLEVBRWpDLEtBQUssZ0JBQWdCLEVBRXRCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUt2RSxvRkFBb0Y7QUFDcEYscUJBQWEsaUJBQWlCO0lBQzVCLE9BQU8sQ0FBQyxVQUFVLENBQXNCO0lBQ3hDLE9BQU8sQ0FBQyxTQUFTLENBQXFCO0lBQ3RDLE9BQU8sQ0FBQyxNQUFNLENBQVM7SUFDdkIsT0FBTyxDQUFDLFlBQVksQ0FBVTtJQUM5QixPQUFPLENBQUMsY0FBYyxDQUFTO0lBQy9CLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBVTtJQUNwQyxPQUFPLENBQUMsZ0JBQWdCLENBQStCO0lBQ3ZELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBUztJQUVqQyxZQUNFLFVBQVUsRUFBRSxtQkFBbUIsRUFDL0IsU0FBUyxFQUFFLGtCQUFrQixFQUM3QixJQUFJLEVBQUU7UUFDSixZQUFZLEVBQUUsT0FBTyxDQUFDO1FBQ3RCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN4QixzQkFBc0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNoQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUM3QixnQkFBZ0IsRUFBRSw0QkFBNEIsQ0FBQztRQUMvQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7S0FDMUIsRUFDRCxVQUFVLEVBQUUsTUFBTSxFQVVuQjtJQUVELG9FQUFvRTtJQUN2RCxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxzQkFBc0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FnR2pHO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsYUFBYSxHQUFHLGdCQUFnQixDQVFuRjtJQUVELGdFQUFnRTtJQUNuRCxXQUFXLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F3QzNFO0NBQ0YifQ==
|
|
@@ -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,
|
|
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,EAAkB,MAAM,yBAAyB,CAAC;AAGnF,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,CAgGjG;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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
2
2
|
import { MAX_ATTESTABLE_BLOCKS_PER_CHECKPOINT, MAX_TXS_PER_CHECKPOINT } from '@aztec-labs/stdlib/deserialization';
|
|
3
3
|
import { PeerErrorSeverity, hasValidSignatureContext } from '@aztec-labs/stdlib/p2p';
|
|
4
|
-
import { mapEpochCacheLookupFailure } from '../epoch_cache_lookup.js';
|
|
4
|
+
import { ignoreUnstableCommittee, mapEpochCacheLookupFailure, rejectNoCommittee } from '../epoch_cache_lookup.js';
|
|
5
5
|
import { classifyReceiveWindowArrival } from '../receive_window.js';
|
|
6
6
|
/** Validates header-level and tx-level fields of block and checkpoint proposals. */ export class ProposalValidator {
|
|
7
7
|
epochCache;
|
|
@@ -85,25 +85,33 @@ import { classifyReceiveWindowArrival } from '../receive_window.js';
|
|
|
85
85
|
return indexResult;
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
// cause (L1 RPC down, or this node behind); mapEpochCacheLookupFailure ignores that (it is not the
|
|
91
|
-
// relaying peer's fault) and rejects a missing committee (which is).
|
|
88
|
+
// Only this lookup can fail on a receiver-local cause (L1 RPC down, or this node behind), which
|
|
89
|
+
// mapEpochCacheLookupFailure ignores as it is not the relaying peer's fault.
|
|
92
90
|
let expectedProposer;
|
|
93
91
|
try {
|
|
94
|
-
expectedProposer = await this.epochCache.
|
|
92
|
+
expectedProposer = await this.epochCache.lookupProposer(slotNumber);
|
|
95
93
|
} catch (e) {
|
|
96
94
|
return mapEpochCacheLookupFailure(e, this.logger, 'proposal', slotNumber);
|
|
97
95
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
expectedProposer,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
96
|
+
switch(expectedProposer.state){
|
|
97
|
+
case 'unstable':
|
|
98
|
+
return ignoreUnstableCommittee(expectedProposer, this.logger, 'proposal', slotNumber);
|
|
99
|
+
case 'none':
|
|
100
|
+
return rejectNoCommittee();
|
|
101
|
+
case 'open':
|
|
102
|
+
break;
|
|
103
|
+
case 'members':
|
|
104
|
+
if (!proposer.equals(expectedProposer.proposer)) {
|
|
105
|
+
this.logger.warn(`Penalizing peer for invalid proposer for current slot ${slotNumber}`, {
|
|
106
|
+
expectedProposer: expectedProposer.proposer,
|
|
107
|
+
proposer: proposer.toString()
|
|
108
|
+
});
|
|
109
|
+
return {
|
|
110
|
+
result: 'reject',
|
|
111
|
+
severity: PeerErrorSeverity.MidToleranceError
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
break;
|
|
107
115
|
}
|
|
108
116
|
return {
|
|
109
117
|
result: 'accept'
|
|
@@ -6,4 +6,4 @@ export declare class DataTxValidator implements TxValidator<Tx> {
|
|
|
6
6
|
constructor(bindings?: LoggerBindings);
|
|
7
7
|
validateTx(tx: Tx): Promise<TxValidationResult>;
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV92YWxpZGF0b3IuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZGF0YV92YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLEtBQUssY0FBYyxFQUFnQixNQUFNLDRCQUE0QixDQUFDO0FBSTVGLE9BQU8sRUFZTCxFQUFFLEVBQ0YsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IscUJBQWEsZUFBZ0IsWUFBVyxXQUFXLENBQUMsRUFBRSxDQUFDOztJQUNyRCxTQUFnQixVQUFVLEVBQUUsTUFBTSxDQUE2QjtJQUkvRCxZQUFZLFFBQVEsQ0FBQyxFQUFFLGNBQWMsRUFFcEM7SUFFSyxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FRcEQ7Q0F1TUYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,4BAA4B,CAAC;AAI5F,OAAO,EAYL,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IACrD,SAAgB,UAAU,EAAE,MAAM,CAA6B;IAI/D,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpD;
|
|
1
|
+
{"version":3,"file":"data_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/data_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,4BAA4B,CAAC;AAI5F,OAAO,EAYL,EAAE,EACF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,eAAgB,YAAW,WAAW,CAAC,EAAE,CAAC;;IACrD,SAAgB,UAAU,EAAE,MAAM,CAA6B;IAI/D,YAAY,QAAQ,CAAC,EAAE,cAAc,EAEpC;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAQpD;CAuMF"}
|
|
@@ -30,24 +30,62 @@ export class DataTxValidator {
|
|
|
30
30
|
}
|
|
31
31
|
return undefined;
|
|
32
32
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Checks the supplied public calldata entries against the calldata hashes of the public call requests. Every request
|
|
35
|
+
* must have an entry, and every entry must hash to its own hash and be used by some request. Several requests may
|
|
36
|
+
* share one entry, so a hash may appear at most as many times as requests use it. Both the calldata the calls receive
|
|
37
|
+
* and the supplied entries are capped. All of this is checked before hashing any entry.
|
|
38
|
+
*/ async #hasCorrectCalldata(tx) {
|
|
39
|
+
const txHash = tx.getTxHash().toString();
|
|
40
|
+
const calldataMap = tx.getCalldataMap();
|
|
41
|
+
const requestCountByHash = new Map();
|
|
42
|
+
for (const [index, { request }] of tx.getPublicCallRequestsWithCalldata().entries()){
|
|
43
|
+
const hash = request.calldataHash.toString();
|
|
44
|
+
if (!calldataMap.has(hash)) {
|
|
45
|
+
const reason = TX_ERROR_INCORRECT_CALLDATA;
|
|
46
|
+
this.#log.verbose(`Rejecting tx ${txHash}. Reason: ${reason}. Call request has no calldata entry.`, {
|
|
47
|
+
txHash,
|
|
48
|
+
callRequestIndex: index
|
|
49
|
+
});
|
|
50
|
+
return reason;
|
|
51
|
+
}
|
|
52
|
+
requestCountByHash.set(hash, (requestCountByHash.get(hash) ?? 0) + 1);
|
|
38
53
|
}
|
|
39
|
-
|
|
54
|
+
// A wrongly labeled entry can make the calls receive less calldata than is supplied, so both totals are capped.
|
|
55
|
+
const deliveredCount = tx.getDeliveredPublicCalldataCount();
|
|
56
|
+
const suppliedCount = tx.getTotalPublicCalldataCount();
|
|
57
|
+
if (deliveredCount > MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS || suppliedCount > MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS) {
|
|
40
58
|
const reason = TX_ERROR_CALLDATA_COUNT_TOO_LARGE;
|
|
41
|
-
this.#log.verbose(`Rejecting tx ${
|
|
59
|
+
this.#log.verbose(`Rejecting tx ${txHash}. Reason: ${reason}. Expected no greater than ${MAX_FR_CALLDATA_TO_ALL_ENQUEUED_CALLS} fields.`, {
|
|
60
|
+
txHash,
|
|
61
|
+
deliveredCount,
|
|
62
|
+
suppliedCount
|
|
63
|
+
});
|
|
42
64
|
return reason;
|
|
43
65
|
}
|
|
44
|
-
const
|
|
45
|
-
for(
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
66
|
+
const entryCountByHash = new Map();
|
|
67
|
+
for (const [index, cd] of tx.publicFunctionCalldata.entries()){
|
|
68
|
+
const hash = cd.hash.toString();
|
|
69
|
+
const entryCount = (entryCountByHash.get(hash) ?? 0) + 1;
|
|
70
|
+
const requestCount = requestCountByHash.get(hash) ?? 0;
|
|
71
|
+
if (entryCount > requestCount) {
|
|
72
|
+
const reason = TX_ERROR_CALLDATA_COUNT_MISMATCH;
|
|
73
|
+
this.#log.verbose(`Rejecting tx ${txHash}. Reason: ${reason}. Calldata entry is listed more times than call requests use it.`, {
|
|
74
|
+
txHash,
|
|
75
|
+
calldataIndex: index,
|
|
76
|
+
requestCount
|
|
77
|
+
});
|
|
78
|
+
return reason;
|
|
79
|
+
}
|
|
80
|
+
entryCountByHash.set(hash, entryCount);
|
|
81
|
+
}
|
|
82
|
+
for (const [index, cd] of tx.publicFunctionCalldata.entries()){
|
|
83
|
+
if (!(await computeCalldataHash(cd.values)).equals(cd.hash)) {
|
|
49
84
|
const reason = TX_ERROR_INCORRECT_CALLDATA;
|
|
50
|
-
this.#log.verbose(`Rejecting tx ${
|
|
85
|
+
this.#log.verbose(`Rejecting tx ${txHash}. Reason: ${reason}. Calldata entry does not match its hash.`, {
|
|
86
|
+
txHash,
|
|
87
|
+
calldataIndex: index
|
|
88
|
+
});
|
|
51
89
|
return reason;
|
|
52
90
|
}
|
|
53
91
|
}
|
|
@@ -72,6 +110,16 @@ export class DataTxValidator {
|
|
|
72
110
|
return TX_ERROR_CONTRACT_CLASS_LOGS;
|
|
73
111
|
}
|
|
74
112
|
}
|
|
113
|
+
// The private kernel tail requires every contract class log within the claimed count to have a non-zero length,
|
|
114
|
+
// and the tx base treats a zero-length log as absent, so a tx carrying one can never be proven.
|
|
115
|
+
if (logHash.logHash.length === 0) {
|
|
116
|
+
const txHash = tx.getTxHash().toString();
|
|
117
|
+
this.#log.verbose(`Rejecting tx ${txHash} because of a zero-length contract class log at index ${i}.`, {
|
|
118
|
+
txHash,
|
|
119
|
+
logIndex: i
|
|
120
|
+
});
|
|
121
|
+
return TX_ERROR_CONTRACT_CLASS_LOG_LENGTH;
|
|
122
|
+
}
|
|
75
123
|
// The tx base requires exactly the trimmed length; any other length makes the tx unprovable.
|
|
76
124
|
const expectedLength = 1 + tx.contractClassLogFields[i].fields.findLastIndex((f)=>!f.isZero());
|
|
77
125
|
if (logHash.logHash.length !== expectedLength) {
|
|
@@ -5,7 +5,7 @@ import type { PeerId } from '@libp2p/interface';
|
|
|
5
5
|
import { type IDiscv5CreateOptions } from '@nethermindeth/discv5';
|
|
6
6
|
import { ENR } from '@nethermindeth/enr';
|
|
7
7
|
import EventEmitter from 'events';
|
|
8
|
-
import {
|
|
8
|
+
import type { P2PConfig } from '../../config.js';
|
|
9
9
|
import { type PeerDiscoveryService, PeerDiscoveryState } from '../service.js';
|
|
10
10
|
/**
|
|
11
11
|
* Peer discovery service using Discv5.
|
|
@@ -51,4 +51,4 @@ export declare class DiscV5Service extends EventEmitter implements PeerDiscovery
|
|
|
51
51
|
private onDiscovered;
|
|
52
52
|
private validateEnr;
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzY1Y1X3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9kaXNjdjUvZGlzY1Y1X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFOUQsT0FBTyxFQUFzQixLQUFLLGVBQWUsRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVoRCxPQUFPLEVBQW1DLEtBQUssb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsR0FBRyxFQUFlLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBSWpELE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUTlFOztHQUVHO0FBQ0gscUJBQWEsYUFBYyxTQUFRLFlBQWEsWUFBVyxvQkFBb0I7SUFnQzNFLE9BQU8sQ0FBQyxNQUFNO0lBQ2QsT0FBTyxDQUFDLE1BQU07SUFDZCxPQUFPLENBQUMsUUFBUSxDQUFDLGNBQWM7SUFFL0IsT0FBTyxDQUFDLE1BQU07SUFHZCxPQUFPLENBQUMsUUFBUSxDQUFDLFlBQVk7SUF0Qy9CLDBCQUEwQjtJQUMxQixPQUFPLENBQUMsTUFBTSxDQUFxQjtJQUVuQywwQkFBMEI7SUFDMUIsT0FBTyxDQUFDLEdBQUcsQ0FBYztJQUV6QiwyQkFBMkI7SUFDM0IsT0FBTyxDQUFDLFFBQVEsQ0FBcUI7SUFFckMsT0FBTyxDQUFDLFlBQVksQ0FBOEI7SUFFbEQsT0FBTyxDQUFDLG9CQUFvQixDQUFnQjtJQUNyQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBTTtJQUNyQyxPQUFPLENBQUMsZUFBZSxDQUFhO0lBQ3BDLHNHQUFzRztJQUN0RyxPQUFPLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFjO0lBRXBELE9BQU8sQ0FBQyxTQUFTLENBQUs7SUFFdEIsT0FBTyxDQUFDLFNBQVMsQ0FBcUI7SUFFdEMsMkZBQTJGO0lBQzNGLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQW9CO0lBRW5ELE9BQU8sQ0FBQyxRQUFRLENBSWQ7SUFFRixZQUNVLE1BQU0sRUFBRSxNQUFNLEVBQ2QsTUFBTSxFQUFFLFNBQVMsRUFDUixjQUFjLEVBQUUsTUFBTSxFQUN2QyxTQUFTLEdBQUUsZUFBc0MsRUFDekMsTUFBTSw4Q0FBcUMsRUFDbkQsS0FBSyxDQUFDLEVBQUUsaUJBQWlCLEVBQ3pCLGVBQWUsR0FBRSxPQUFPLENBQUMsb0JBQW9CLENBQU0sRUFDbEMsWUFBWSxHQUFFLFlBQWlDLEVBc0ZqRTtJQUVELE9BQU8sQ0FBQyxrQkFBa0I7SUErQmIsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0E4RWxDO0lBRVksbUJBQW1CLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQWlCaEQ7SUFFTSxZQUFZLElBQUksR0FBRyxFQUFFLENBRTNCO0lBRU0sTUFBTSxJQUFJLEdBQUcsQ0FFbkI7SUFFTSxTQUFTLElBQUksTUFBTSxDQUV6QjtJQUVNLFNBQVMsSUFBSSxrQkFBa0IsQ0FFckM7SUFFTSxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBRTlDO0lBRVksSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FXakM7WUFFYSxVQUFVO1lBa0JWLGdCQUFnQjtJQVU5Qix3R0FBd0c7SUFDeEcsT0FBTyxDQUFDLGFBQWE7SUFJckIsT0FBTyxDQUFDLGFBQWE7SUFJckIsT0FBTyxDQUFDLFlBQVk7SUFxQnBCLE9BQU8sQ0FBQyxXQUFXO0NBcUNwQiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discV5_service.d.ts","sourceRoot":"","sources":["../../../src/services/discv5/discV5_service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAsB,KAAK,eAAe,EAAsB,MAAM,8BAA8B,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,GAAG,EAAe,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"discV5_service.d.ts","sourceRoot":"","sources":["../../../src/services/discv5/discV5_service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,EAAsB,KAAK,eAAe,EAAsB,MAAM,8BAA8B,CAAC;AAC5G,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,GAAG,EAAe,MAAM,oBAAoB,CAAC;AAEtD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAIjD,OAAO,EAAE,KAAK,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAQ9E;;GAEG;AACH,qBAAa,aAAc,SAAQ,YAAa,YAAW,oBAAoB;IAgC3E,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,cAAc;IAE/B,OAAO,CAAC,MAAM;IAGd,OAAO,CAAC,QAAQ,CAAC,YAAY;IAtC/B,0BAA0B;IAC1B,OAAO,CAAC,MAAM,CAAqB;IAEnC,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAc;IAEzB,2BAA2B;IAC3B,OAAO,CAAC,QAAQ,CAAqB;IAErC,OAAO,CAAC,YAAY,CAA8B;IAElD,OAAO,CAAC,oBAAoB,CAAgB;IACrC,iBAAiB,EAAE,GAAG,EAAE,CAAM;IACrC,OAAO,CAAC,eAAe,CAAa;IACpC,sGAAsG;IACtG,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAc;IAEpD,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,SAAS,CAAqB;IAEtC,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAoB;IAEnD,OAAO,CAAC,QAAQ,CAId;IAEF,YACU,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,EACR,cAAc,EAAE,MAAM,EACvC,SAAS,GAAE,eAAsC,EACzC,MAAM,8CAAqC,EACnD,KAAK,CAAC,EAAE,iBAAiB,EACzB,eAAe,GAAE,OAAO,CAAC,oBAAoB,CAAM,EAClC,YAAY,GAAE,YAAiC,EAsFjE;IAED,OAAO,CAAC,kBAAkB;IA+Bb,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CA8ElC;IAEY,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBhD;IAEM,YAAY,IAAI,GAAG,EAAE,CAE3B;IAEM,MAAM,IAAI,GAAG,CAEnB;IAEM,SAAS,IAAI,MAAM,CAEzB;IAEM,SAAS,IAAI,kBAAkB,CAErC;IAEM,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9C;IAEY,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAWjC;YAEa,UAAU;YAkBV,gBAAgB;IAU9B,wGAAwG;IACxG,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,WAAW;CAqCpB"}
|
|
@@ -6,8 +6,8 @@ import { OtelMetricsAdapter, getTelemetryClient } from '@aztec-labs/telemetry-cl
|
|
|
6
6
|
import { multiaddr } from '@multiformats/multiaddr';
|
|
7
7
|
import { Discv5 } from '@nethermindeth/discv5';
|
|
8
8
|
import { ENR } from '@nethermindeth/enr';
|
|
9
|
+
import { Buffer } from 'buffer';
|
|
9
10
|
import EventEmitter from 'events';
|
|
10
|
-
import { DISCV5_RATE_LIMITER_OPTS } from '../../config.js';
|
|
11
11
|
import { createNodeENR } from '../../enr/generate-enr.js';
|
|
12
12
|
import { AZTEC_ENR_KEY, Discv5Event, PeerEvent } from '../../types/index.js';
|
|
13
13
|
import { convertToMultiaddr } from '../../util.js';
|
|
@@ -81,8 +81,7 @@ const delayBeforeStart = 2000; // 2sec
|
|
|
81
81
|
pingInterval: config.queryForIp ? 10_000 : 300_000,
|
|
82
82
|
...configOverrides.config
|
|
83
83
|
},
|
|
84
|
-
metricsRegistry
|
|
85
|
-
rateLimiterOpts: DISCV5_RATE_LIMITER_OPTS
|
|
84
|
+
metricsRegistry
|
|
86
85
|
});
|
|
87
86
|
// Hook onto the onEstablished method to check the peer's version from the ENR,
|
|
88
87
|
// so we don't add it to our dht if it doesn't have the correct version.
|
|
@@ -4,6 +4,7 @@ import type { Gossipable, PeerErrorSeverity, TopicType } from '@aztec-labs/stdli
|
|
|
4
4
|
import { Tx, TxHash } from '@aztec-labs/stdlib/tx';
|
|
5
5
|
import type { PeerId } from '@libp2p/interface';
|
|
6
6
|
import type { ENR } from '@nethermindeth/enr';
|
|
7
|
+
import { Buffer } from 'buffer';
|
|
7
8
|
import EventEmitter from 'events';
|
|
8
9
|
import type { PeerManagerInterface } from './peer-manager/interface.js';
|
|
9
10
|
import type { BatchTxRequesterLibP2PService } from './reqresp/batch-tx-requester/interface.js';
|
|
@@ -148,4 +149,4 @@ export declare class DummyReqResp implements ReqRespInterface {
|
|
|
148
149
|
getConnectionSampler(): Pick<ConnectionSampler, 'getPeerListSortedByConnectionCountAsc'>;
|
|
149
150
|
addSubProtocol(_subProtocol: ReqRespSubProtocol, _handler: ReqRespSubProtocolHandler): Promise<void>;
|
|
150
151
|
}
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXlfc2VydmljZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2R1bW15X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3RGLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDaEMsT0FBTyxZQUFZLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sS0FBSyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUMvRixPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzVELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDNUYsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sS0FBSyxFQUNWLGdCQUFnQixFQUNoQixlQUFlLEVBQ2Ysa0JBQWtCLEVBQ2xCLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsY0FBYyxFQUNmLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dummy_service.d.ts","sourceRoot":"","sources":["../../src/services/dummy_service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dummy_service.d.ts","sourceRoot":"","sources":["../../src/services/dummy_service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { TopicType } from '@aztec-labs/stdlib/p2p';
|
|
2
2
|
import type { DataTransform } from '@chainsafe/libp2p-gossipsub/types';
|
|
3
3
|
import type { Message } from '@libp2p/interface';
|
|
4
|
+
import { Buffer } from 'buffer';
|
|
4
5
|
/**
|
|
5
6
|
* Fallback maximum response size (in KB) applied when no explicit per-request bound is supplied.
|
|
6
7
|
* Used both as the `SnappyTransform` default and as the reception-side fallback in `readMessage`.
|
|
@@ -64,4 +65,4 @@ export declare function readSnappyPreamble(data: Uint8Array): {
|
|
|
64
65
|
decompressedSize: number;
|
|
65
66
|
bytesRead: number;
|
|
66
67
|
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RpbmcuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbmNvZGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWtCLFNBQVMsRUFBc0IsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSWhDOzs7R0FHRztBQUNILGVBQU8sTUFBTSw0QkFBNEIsUUFBWSxDQUFDO0FBRXRELHNGQUFzRjtBQUN0RixxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBR3REO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gscUJBQWEsOEJBQStCLFNBQVEsS0FBSztJQUN2RCxZQUFZLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUd2RDtDQUNGO0FBS0Qsd0JBQWdCLFlBQVksQ0FBQyxLQUFLLEVBQUUsVUFBVSxHQUFHLE1BQU0sQ0FJdEQ7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFzQixVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQU90RztBQWNEOztHQUVHO0FBQ0gscUJBQWEsZUFBZ0IsWUFBVyxhQUFhO0lBRWpELE9BQU8sQ0FBQyxVQUFVO0lBQ2xCLE9BQU8sQ0FBQyxnQkFBZ0I7SUFDeEIsT0FBTyxDQUFDLE1BQU07SUFIaEIsWUFDVSxVQUFVLEdBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQXFCLEVBQ3pELGdCQUFnQixHQUFFLE1BQXFDLEVBQ3ZELE1BQU0sOENBQXVDLEVBQ25EO0lBR0osZ0JBQWdCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FHL0Q7SUFFTSxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBWS9GO0lBR0QsaUJBQWlCLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxHQUFHLFVBQVUsQ0FFakU7SUFFTSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FLakQ7Q0FDRjtBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLElBQUksRUFBRSxVQUFVLEdBQUc7SUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFBO0NBQUUsQ0FtQ3BHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,SAAS,EAAsB,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"encoding.d.ts","sourceRoot":"","sources":["../../src/services/encoding.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,SAAS,EAAsB,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAEtD,sFAAsF;AACtF,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,YAAY,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAGtD;CACF;AAED;;;;GAIG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IACvD,YAAY,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAGvD;CACF;AAKD,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAItD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAOtG;AAcD;;GAEG;AACH,qBAAa,eAAgB,YAAW,aAAa;IAEjD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,MAAM;IAHhB,YACU,UAAU,GAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAqB,EACzD,gBAAgB,GAAE,MAAqC,EACvD,MAAM,8CAAuC,EACnD;IAGJ,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAG/D;IAEM,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAY/F;IAGD,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAEjE;IAEM,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;CACF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAmCpG"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Taken from lodestar: https://github.com/ChainSafe/lodestar
|
|
2
2
|
import { createLogger } from '@aztec-labs/foundation/log';
|
|
3
3
|
import { MAX_TX_SIZE_KB, TopicType, getTopicFromString } from '@aztec-labs/stdlib/p2p';
|
|
4
|
+
import { Buffer } from 'buffer';
|
|
4
5
|
import { webcrypto } from 'node:crypto';
|
|
5
6
|
import { compressSync, uncompressSync } from 'snappy';
|
|
6
7
|
/**
|