@aztec/p2p 0.0.1-commit.033589e → 0.0.1-commit.04852196a

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.
Files changed (100) hide show
  1. package/dest/client/factory.d.ts +2 -2
  2. package/dest/client/factory.d.ts.map +1 -1
  3. package/dest/client/factory.js +2 -1
  4. package/dest/client/p2p_client.d.ts +1 -1
  5. package/dest/client/p2p_client.d.ts.map +1 -1
  6. package/dest/client/p2p_client.js +0 -24
  7. package/dest/config.d.ts +12 -2
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +46 -7
  10. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts +7 -1
  11. package/dest/mem_pools/tx_pool_v2/eviction/interfaces.d.ts.map +1 -1
  12. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts +1 -1
  13. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.d.ts.map +1 -1
  14. package/dest/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.js +8 -6
  15. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts +2 -2
  16. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.d.ts.map +1 -1
  17. package/dest/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.js +2 -2
  18. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts +3 -1
  19. package/dest/mem_pools/tx_pool_v2/interfaces.d.ts.map +1 -1
  20. package/dest/mem_pools/tx_pool_v2/interfaces.js +2 -1
  21. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts +17 -9
  22. package/dest/mem_pools/tx_pool_v2/tx_metadata.d.ts.map +1 -1
  23. package/dest/mem_pools/tx_pool_v2/tx_metadata.js +26 -9
  24. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts +1 -1
  25. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.d.ts.map +1 -1
  26. package/dest/mem_pools/tx_pool_v2/tx_pool_indices.js +26 -43
  27. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts +1 -1
  28. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.d.ts.map +1 -1
  29. package/dest/mem_pools/tx_pool_v2/tx_pool_v2_impl.js +2 -1
  30. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts +5 -4
  31. package/dest/msg_validators/proposal_validator/block_proposal_validator.d.ts.map +1 -1
  32. package/dest/msg_validators/proposal_validator/block_proposal_validator.js +10 -2
  33. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts +5 -4
  34. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.d.ts.map +1 -1
  35. package/dest/msg_validators/proposal_validator/checkpoint_proposal_validator.js +16 -2
  36. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts +12 -9
  37. package/dest/msg_validators/proposal_validator/proposal_validator.d.ts.map +1 -1
  38. package/dest/msg_validators/proposal_validator/proposal_validator.js +46 -44
  39. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts +1 -1
  40. package/dest/msg_validators/tx_validator/allowed_public_setup.d.ts.map +1 -1
  41. package/dest/msg_validators/tx_validator/allowed_public_setup.js +21 -32
  42. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts +17 -0
  43. package/dest/msg_validators/tx_validator/allowed_setup_helpers.d.ts.map +1 -0
  44. package/dest/msg_validators/tx_validator/allowed_setup_helpers.js +24 -0
  45. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts +1 -1
  46. package/dest/msg_validators/tx_validator/fee_payer_balance.d.ts.map +1 -1
  47. package/dest/msg_validators/tx_validator/fee_payer_balance.js +6 -2
  48. package/dest/msg_validators/tx_validator/index.d.ts +2 -1
  49. package/dest/msg_validators/tx_validator/index.d.ts.map +1 -1
  50. package/dest/msg_validators/tx_validator/index.js +1 -0
  51. package/dest/msg_validators/tx_validator/metadata_validator.d.ts +1 -1
  52. package/dest/msg_validators/tx_validator/metadata_validator.d.ts.map +1 -1
  53. package/dest/msg_validators/tx_validator/metadata_validator.js +4 -4
  54. package/dest/msg_validators/tx_validator/phases_validator.d.ts +1 -1
  55. package/dest/msg_validators/tx_validator/phases_validator.d.ts.map +1 -1
  56. package/dest/msg_validators/tx_validator/phases_validator.js +21 -1
  57. package/dest/services/libp2p/libp2p_service.d.ts +1 -1
  58. package/dest/services/libp2p/libp2p_service.d.ts.map +1 -1
  59. package/dest/services/libp2p/libp2p_service.js +11 -10
  60. package/dest/test-helpers/make-test-p2p-clients.d.ts +1 -1
  61. package/dest/test-helpers/make-test-p2p-clients.d.ts.map +1 -1
  62. package/dest/test-helpers/reqresp-nodes.d.ts +1 -1
  63. package/dest/test-helpers/reqresp-nodes.d.ts.map +1 -1
  64. package/dest/testbench/p2p_client_testbench_worker.js +2 -1
  65. package/dest/testbench/worker_client_manager.d.ts +3 -1
  66. package/dest/testbench/worker_client_manager.d.ts.map +1 -1
  67. package/dest/testbench/worker_client_manager.js +6 -2
  68. package/dest/util.d.ts +1 -1
  69. package/package.json +14 -14
  70. package/src/client/factory.ts +2 -1
  71. package/src/client/p2p_client.ts +0 -22
  72. package/src/client/test/tx_proposal_collector/proposal_tx_collector_worker.ts +1 -1
  73. package/src/config.ts +59 -4
  74. package/src/mem_pools/tx_pool_v2/README.md +9 -1
  75. package/src/mem_pools/tx_pool_v2/eviction/interfaces.ts +11 -1
  76. package/src/mem_pools/tx_pool_v2/eviction/low_priority_pre_add_rule.ts +15 -6
  77. package/src/mem_pools/tx_pool_v2/eviction/nullifier_conflict_rule.ts +2 -1
  78. package/src/mem_pools/tx_pool_v2/interfaces.ts +3 -0
  79. package/src/mem_pools/tx_pool_v2/tx_metadata.ts +41 -11
  80. package/src/mem_pools/tx_pool_v2/tx_pool_indices.ts +29 -43
  81. package/src/mem_pools/tx_pool_v2/tx_pool_v2_impl.ts +3 -1
  82. package/src/msg_validators/proposal_validator/block_proposal_validator.ts +13 -3
  83. package/src/msg_validators/proposal_validator/checkpoint_proposal_validator.ts +19 -6
  84. package/src/msg_validators/proposal_validator/proposal_validator.ts +57 -48
  85. package/src/msg_validators/tx_validator/allowed_public_setup.ts +16 -35
  86. package/src/msg_validators/tx_validator/allowed_setup_helpers.ts +31 -0
  87. package/src/msg_validators/tx_validator/fee_payer_balance.ts +6 -2
  88. package/src/msg_validators/tx_validator/index.ts +1 -0
  89. package/src/msg_validators/tx_validator/metadata_validator.ts +12 -4
  90. package/src/msg_validators/tx_validator/phases_validator.ts +29 -0
  91. package/src/services/libp2p/libp2p_service.ts +11 -9
  92. package/src/test-helpers/make-test-p2p-clients.ts +1 -1
  93. package/src/test-helpers/reqresp-nodes.ts +1 -1
  94. package/src/testbench/p2p_client_testbench_worker.ts +2 -1
  95. package/src/testbench/worker_client_manager.ts +13 -5
  96. package/src/util.ts +1 -1
  97. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts +0 -24
  98. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.d.ts.map +0 -1
  99. package/dest/msg_validators/proposal_validator/proposal_validator_test_suite.js +0 -378
  100. package/src/msg_validators/proposal_validator/proposal_validator_test_suite.ts +0 -373
@@ -2,7 +2,7 @@ import { NoCommitteeError } from '@aztec/ethereum/contracts';
2
2
  import { createLogger } from '@aztec/foundation/log';
3
3
  import { PeerErrorSeverity } from '@aztec/stdlib/p2p';
4
4
  import { isWithinClockTolerance } from '../clock_tolerance.js';
5
- export class ProposalValidator {
5
+ /** Validates header-level and tx-level fields of block and checkpoint proposals. */ export class ProposalValidator {
6
6
  epochCache;
7
7
  logger;
8
8
  txsPermitted;
@@ -13,7 +13,7 @@ export class ProposalValidator {
13
13
  this.maxTxsPerBlock = opts.maxTxsPerBlock;
14
14
  this.logger = createLogger(loggerName);
15
15
  }
16
- async validate(proposal) {
16
+ /** Validates header-level fields: slot, signature, and proposer. */ async validate(proposal) {
17
17
  try {
18
18
  // Slot check
19
19
  const { currentSlot, nextSlot } = this.epochCache.getCurrentAndNextSlot();
@@ -44,37 +44,6 @@ export class ProposalValidator {
44
44
  severity: PeerErrorSeverity.MidToleranceError
45
45
  };
46
46
  }
47
- // Transactions permitted check
48
- const embeddedTxCount = proposal.txs?.length ?? 0;
49
- if (!this.txsPermitted && (proposal.txHashes.length > 0 || embeddedTxCount > 0)) {
50
- this.logger.warn(`Penalizing peer for proposal with ${proposal.txHashes.length} transaction(s) when transactions are not permitted`);
51
- return {
52
- result: 'reject',
53
- severity: PeerErrorSeverity.MidToleranceError
54
- };
55
- }
56
- // Max txs per block check
57
- if (this.maxTxsPerBlock !== undefined && proposal.txHashes.length > this.maxTxsPerBlock) {
58
- this.logger.warn(`Penalizing peer for proposal with ${proposal.txHashes.length} transaction(s) when max is ${this.maxTxsPerBlock}`);
59
- return {
60
- result: 'reject',
61
- severity: PeerErrorSeverity.MidToleranceError
62
- };
63
- }
64
- // Embedded txs must be listed in txHashes
65
- const hashSet = new Set(proposal.txHashes.map((h)=>h.toString()));
66
- const missingTxHashes = embeddedTxCount > 0 ? proposal.txs.filter((tx)=>!hashSet.has(tx.getTxHash().toString())).map((tx)=>tx.getTxHash().toString()) : [];
67
- if (embeddedTxCount > 0 && missingTxHashes.length > 0) {
68
- this.logger.warn('Penalizing peer for embedded transaction(s) not included in txHashes', {
69
- embeddedTxCount,
70
- txHashesLength: proposal.txHashes.length,
71
- missingTxHashes
72
- });
73
- return {
74
- result: 'reject',
75
- severity: PeerErrorSeverity.MidToleranceError
76
- };
77
- }
78
47
  // Proposer check
79
48
  const expectedProposer = await this.epochCache.getProposerAttesterAddressInSlot(slotNumber);
80
49
  if (expectedProposer !== undefined && !proposer.equals(expectedProposer)) {
@@ -87,17 +56,6 @@ export class ProposalValidator {
87
56
  severity: PeerErrorSeverity.MidToleranceError
88
57
  };
89
58
  }
90
- // Validate tx hashes for all txs embedded in the proposal
91
- if (!(await Promise.all(proposal.txs?.map((tx)=>tx.validateTxHash()) ?? [])).every((v)=>v)) {
92
- this.logger.warn(`Penalizing peer for invalid tx hashes in proposal`, {
93
- proposer,
94
- slotNumber
95
- });
96
- return {
97
- result: 'reject',
98
- severity: PeerErrorSeverity.LowToleranceError
99
- };
100
- }
101
59
  return {
102
60
  result: 'accept'
103
61
  };
@@ -111,4 +69,48 @@ export class ProposalValidator {
111
69
  throw e;
112
70
  }
113
71
  }
72
+ /** Validates transaction-related fields of a block proposal. */ async validateTxs(proposal) {
73
+ // Transactions permitted check
74
+ const embeddedTxCount = proposal.txs?.length ?? 0;
75
+ if (!this.txsPermitted && (proposal.txHashes.length > 0 || embeddedTxCount > 0)) {
76
+ this.logger.warn(`Penalizing peer for proposal with ${proposal.txHashes.length} transaction(s) when transactions are not permitted`);
77
+ return {
78
+ result: 'reject',
79
+ severity: PeerErrorSeverity.MidToleranceError
80
+ };
81
+ }
82
+ // Max txs per block check
83
+ if (this.maxTxsPerBlock !== undefined && proposal.txHashes.length > this.maxTxsPerBlock) {
84
+ this.logger.warn(`Penalizing peer for proposal with ${proposal.txHashes.length} transaction(s) when max is ${this.maxTxsPerBlock}`);
85
+ return {
86
+ result: 'reject',
87
+ severity: PeerErrorSeverity.MidToleranceError
88
+ };
89
+ }
90
+ // Embedded txs must be listed in txHashes
91
+ const hashSet = new Set(proposal.txHashes.map((h)=>h.toString()));
92
+ const missingTxHashes = embeddedTxCount > 0 ? proposal.txs.filter((tx)=>!hashSet.has(tx.getTxHash().toString())).map((tx)=>tx.getTxHash().toString()) : [];
93
+ if (embeddedTxCount > 0 && missingTxHashes.length > 0) {
94
+ this.logger.warn('Penalizing peer for embedded transaction(s) not included in txHashes', {
95
+ embeddedTxCount,
96
+ txHashesLength: proposal.txHashes.length,
97
+ missingTxHashes
98
+ });
99
+ return {
100
+ result: 'reject',
101
+ severity: PeerErrorSeverity.MidToleranceError
102
+ };
103
+ }
104
+ // Validate tx hashes for all txs embedded in the proposal
105
+ if (!(await Promise.all(proposal.txs?.map((tx)=>tx.validateTxHash()) ?? [])).every((v)=>v)) {
106
+ this.logger.warn(`Penalizing peer for invalid tx hashes in proposal`);
107
+ return {
108
+ result: 'reject',
109
+ severity: PeerErrorSeverity.LowToleranceError
110
+ };
111
+ }
112
+ return {
113
+ result: 'accept'
114
+ };
115
+ }
114
116
  }
@@ -1,4 +1,4 @@
1
1
  import type { AllowedElement } from '@aztec/stdlib/interfaces/server';
2
2
  /** Returns the default list of functions allowed to run in the setup phase of a transaction. */
3
3
  export declare function getDefaultAllowedSetupFunctions(): Promise<AllowedElement[]>;
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3dlZF9wdWJsaWNfc2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYWxsb3dlZF9wdWJsaWNfc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFJdEUsZ0dBQWdHO0FBQ2hHLHdCQUFzQiwrQkFBK0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0F1Q2pGIn0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3dlZF9wdWJsaWNfc2V0dXAuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvYWxsb3dlZF9wdWJsaWNfc2V0dXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFNdEUsZ0dBQWdHO0FBQ2hHLHdCQUFzQiwrQkFBK0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FtQmpGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"allowed_public_setup.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/allowed_public_setup.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAItE,gGAAgG;AAChG,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAuCjF"}
1
+ {"version":3,"file":"allowed_public_setup.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/allowed_public_setup.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAMtE,gGAAgG;AAChG,wBAAsB,+BAA+B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAmBjF"}
@@ -1,42 +1,31 @@
1
- import { TokenContractArtifact } from '@aztec/noir-contracts.js/Token';
2
1
  import { ProtocolContractAddress } from '@aztec/protocol-contracts';
3
- import { FunctionSelector } from '@aztec/stdlib/abi';
4
- import { getContractClassFromArtifact } from '@aztec/stdlib/contract';
2
+ import { AuthRegistryArtifact } from '@aztec/protocol-contracts/auth-registry';
3
+ import { FeeJuiceArtifact } from '@aztec/protocol-contracts/fee-juice';
4
+ import { buildAllowedElement } from './allowed_setup_helpers.js';
5
5
  let defaultAllowedSetupFunctions;
6
6
  /** Returns the default list of functions allowed to run in the setup phase of a transaction. */ export async function getDefaultAllowedSetupFunctions() {
7
7
  if (defaultAllowedSetupFunctions === undefined) {
8
- const tokenClassId = (await getContractClassFromArtifact(TokenContractArtifact)).id;
9
- const setAuthorizedInternalSelector = await FunctionSelector.fromSignature('_set_authorized((Field),Field,bool)');
10
- const setAuthorizedSelector = await FunctionSelector.fromSignature('set_authorized(Field,bool)');
11
- const increaseBalanceSelector = await FunctionSelector.fromSignature('_increase_public_balance((Field),u128)');
12
- const transferInPublicSelector = await FunctionSelector.fromSignature('transfer_in_public((Field),(Field),u128,Field)');
13
- defaultAllowedSetupFunctions = [
8
+ defaultAllowedSetupFunctions = await Promise.all([
14
9
  // AuthRegistry: needed for authwit support via private path (set_authorized_private enqueues _set_authorized)
15
- {
16
- address: ProtocolContractAddress.AuthRegistry,
17
- selector: setAuthorizedInternalSelector
18
- },
10
+ buildAllowedElement(AuthRegistryArtifact, {
11
+ address: ProtocolContractAddress.AuthRegistry
12
+ }, '_set_authorized', {
13
+ onlySelf: true,
14
+ rejectNullMsgSender: true
15
+ }),
19
16
  // AuthRegistry: needed for authwit support via public path (PublicFeePaymentMethod calls set_authorized directly)
20
- {
21
- address: ProtocolContractAddress.AuthRegistry,
22
- selector: setAuthorizedSelector
23
- },
17
+ buildAllowedElement(AuthRegistryArtifact, {
18
+ address: ProtocolContractAddress.AuthRegistry
19
+ }, 'set_authorized', {
20
+ rejectNullMsgSender: true
21
+ }),
24
22
  // FeeJuice: needed for claiming on the same tx as a spend (claim_and_end_setup enqueues this)
25
- {
26
- address: ProtocolContractAddress.FeeJuice,
27
- selector: increaseBalanceSelector
28
- },
29
- // Token: needed for private transfers via FPC (transfer_to_public enqueues this)
30
- {
31
- classId: tokenClassId,
32
- selector: increaseBalanceSelector
33
- },
34
- // Token: needed for public transfers via FPC (fee_entrypoint_public enqueues this)
35
- {
36
- classId: tokenClassId,
37
- selector: transferInPublicSelector
38
- }
39
- ];
23
+ buildAllowedElement(FeeJuiceArtifact, {
24
+ address: ProtocolContractAddress.FeeJuice
25
+ }, '_increase_public_balance', {
26
+ onlySelf: true
27
+ })
28
+ ]);
40
29
  }
41
30
  return defaultAllowedSetupFunctions;
42
31
  }
@@ -0,0 +1,17 @@
1
+ import type { Fr } from '@aztec/foundation/curves/bn254';
2
+ import type { ContractArtifact } from '@aztec/stdlib/abi';
3
+ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
4
+ import type { AllowedElement } from '@aztec/stdlib/interfaces/server';
5
+ /**
6
+ * Builds an AllowedElement from a contract artifact, deriving both the function selector
7
+ * and calldata length from the artifact instead of hardcoding signature strings.
8
+ */
9
+ export declare function buildAllowedElement(artifact: ContractArtifact, target: {
10
+ address: AztecAddress;
11
+ } | {
12
+ classId: Fr;
13
+ }, functionName: string, opts?: {
14
+ onlySelf?: boolean;
15
+ rejectNullMsgSender?: boolean;
16
+ }): Promise<AllowedElement>;
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxsb3dlZF9zZXR1cF9oZWxwZXJzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL2FsbG93ZWRfc2V0dXBfaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXRFOzs7R0FHRztBQUNILHdCQUFzQixtQkFBbUIsQ0FDdkMsUUFBUSxFQUFFLGdCQUFnQixFQUMxQixNQUFNLEVBQUU7SUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFBO0NBQUUsR0FBRztJQUFFLE9BQU8sRUFBRSxFQUFFLENBQUE7Q0FBRSxFQUNuRCxZQUFZLEVBQUUsTUFBTSxFQUNwQixJQUFJLENBQUMsRUFBRTtJQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUFDLG1CQUFtQixDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsR0FDM0QsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQWV6QiJ9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed_setup_helpers.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/allowed_setup_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE;IAAE,OAAO,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,EAAE,CAAA;CAAE,EACnD,YAAY,EAAE,MAAM,EACpB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC3D,OAAO,CAAC,cAAc,CAAC,CAezB"}
@@ -0,0 +1,24 @@
1
+ import { FunctionSelector, countArgumentsSize, getAllFunctionAbis } from '@aztec/stdlib/abi';
2
+ /**
3
+ * Builds an AllowedElement from a contract artifact, deriving both the function selector
4
+ * and calldata length from the artifact instead of hardcoding signature strings.
5
+ */ export async function buildAllowedElement(artifact, target, functionName, opts) {
6
+ const allFunctions = getAllFunctionAbis(artifact);
7
+ const fn = allFunctions.find((f)=>f.name === functionName);
8
+ if (!fn) {
9
+ throw new Error(`Unknown function ${functionName} in artifact ${artifact.name}`);
10
+ }
11
+ const selector = await FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
12
+ const calldataLength = 1 + countArgumentsSize(fn);
13
+ return {
14
+ ...target,
15
+ selector,
16
+ calldataLength,
17
+ ...opts?.onlySelf ? {
18
+ onlySelf: true
19
+ } : {},
20
+ ...opts?.rejectNullMsgSender ? {
21
+ rejectNullMsgSender: true
22
+ } : {}
23
+ };
24
+ }
@@ -7,4 +7,4 @@ export type FeePayerBalanceDelta = {
7
7
  export declare function getTxFeeLimit(tx: Tx): bigint;
8
8
  export declare function getFeePayerClaimAmount(tx: Tx, feeJuiceAddress: AztecAddress): Promise<bigint>;
9
9
  export declare function getFeePayerBalanceDelta(tx: Tx, feeJuiceAddress: AztecAddress): Promise<FeePayerBalanceDelta>;
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheWVyX2JhbGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZmVlX3BheWVyX2JhbGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBRTdELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckIsQ0FBQztBQUlGLHdCQUFnQixhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBRTVDO0FBRUQsd0JBQXNCLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBZ0JuRztBQUVELHdCQUFzQix1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBS2xIIn0=
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX3BheWVyX2JhbGFuY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvZmVlX3BheWVyX2JhbGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFvQixNQUFNLGtCQUFrQixDQUFDO0FBRTdELE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxRQUFRLEVBQUUsTUFBTSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxNQUFNLENBQUM7Q0FDckIsQ0FBQztBQU9GLHdCQUFnQixhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLENBRTVDO0FBRUQsd0JBQXNCLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBZ0JuRztBQUVELHdCQUFzQix1QkFBdUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLGVBQWUsRUFBRSxZQUFZLEdBQUcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBS2xIIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"fee_payer_balance.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/fee_payer_balance.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,EAAoB,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAIF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAE5C;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAKlH"}
1
+ {"version":3,"file":"fee_payer_balance.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/fee_payer_balance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,EAAoB,MAAM,kBAAkB,CAAC;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAOF,wBAAgB,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,CAE5C;AAED,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBnG;AAED,wBAAsB,uBAAuB,CAAC,EAAE,EAAE,EAAE,EAAE,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAKlH"}
@@ -1,7 +1,11 @@
1
+ import { FeeJuiceArtifact } from '@aztec/protocol-contracts/fee-juice';
1
2
  import { getCallRequestsWithCalldataByPhase } from '@aztec/simulator/server';
2
- import { FunctionSelector } from '@aztec/stdlib/abi';
3
+ import { FunctionSelector, getAllFunctionAbis } from '@aztec/stdlib/abi';
3
4
  import { TxExecutionPhase } from '@aztec/stdlib/tx';
4
- const increasePublicBalanceSelectorPromise = FunctionSelector.fromSignature('_increase_public_balance((Field),u128)');
5
+ const increasePublicBalanceSelectorPromise = (()=>{
6
+ const fn = getAllFunctionAbis(FeeJuiceArtifact).find((f)=>f.name === '_increase_public_balance');
7
+ return FunctionSelector.fromNameAndParameters(fn.name, fn.parameters);
8
+ })();
5
9
  export function getTxFeeLimit(tx) {
6
10
  return tx.data.constants.txContext.gasSettings.getFeeLimit().toBigInt();
7
11
  }
@@ -8,9 +8,10 @@ export * from './gas_validator.js';
8
8
  export * from './phases_validator.js';
9
9
  export * from './test_utils.js';
10
10
  export * from './allowed_public_setup.js';
11
+ export * from './allowed_setup_helpers.js';
11
12
  export * from './archive_cache.js';
12
13
  export * from './tx_permitted_validator.js';
13
14
  export * from './timestamp_validator.js';
14
15
  export * from './size_validator.js';
15
16
  export * from './factory.js';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsY0FBYyxDQUFDIn0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tc2dfdmFsaWRhdG9ycy90eF92YWxpZGF0b3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxjQUFjLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
@@ -8,6 +8,7 @@ export * from './gas_validator.js';
8
8
  export * from './phases_validator.js';
9
9
  export * from './test_utils.js';
10
10
  export * from './allowed_public_setup.js';
11
+ export * from './allowed_setup_helpers.js';
11
12
  export * from './archive_cache.js';
12
13
  export * from './tx_permitted_validator.js';
13
14
  export * from './timestamp_validator.js';
@@ -12,4 +12,4 @@ export declare class MetadataTxValidator<T extends AnyTx> implements TxValidator
12
12
  }, bindings?: LoggerBindings);
13
13
  validateTx(tx: T): Promise<TxValidationResult>;
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUtWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLHFCQUFhLG1CQUFtQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl2RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUNkLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDZixxQkFBcUIsRUFBRSxFQUFFLENBQUM7S0FDM0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBZTdDO0NBcURGIn0=
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGFfdmFsaWRhdG9yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbXNnX3ZhbGlkYXRvcnMvdHhfdmFsaWRhdG9yL21ldGFkYXRhX3ZhbGlkYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQWUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDdkYsT0FBTyxFQUNMLEtBQUssS0FBSyxFQUtWLEtBQUssa0JBQWtCLEVBQ3ZCLEtBQUssV0FBVyxFQUNqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLHFCQUFhLG1CQUFtQixDQUFDLENBQUMsU0FBUyxLQUFLLENBQUUsWUFBVyxXQUFXLENBQUMsQ0FBQyxDQUFDOztJQUl2RSxPQUFPLENBQUMsTUFBTTtJQURoQixZQUNVLE1BQU0sRUFBRTtRQUNkLFNBQVMsRUFBRSxFQUFFLENBQUM7UUFDZCxhQUFhLEVBQUUsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsRUFBRSxFQUFFLENBQUM7UUFDZixxQkFBcUIsRUFBRSxFQUFFLENBQUM7S0FDM0IsRUFDRCxRQUFRLENBQUMsRUFBRSxjQUFjLEVBRzFCO0lBRUQsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBdUI3QztDQXFERiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAe7C;CAqDF"}
1
+ {"version":3,"file":"metadata_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/metadata_validator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AACvF,OAAO,EACL,KAAK,KAAK,EAKV,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAE1B,qBAAa,mBAAmB,CAAC,CAAC,SAAS,KAAK,CAAE,YAAW,WAAW,CAAC,CAAC,CAAC;;IAIvE,OAAO,CAAC,MAAM;IADhB,YACU,MAAM,EAAE;QACd,SAAS,EAAE,EAAE,CAAC;QACd,aAAa,EAAE,EAAE,CAAC;QAClB,UAAU,EAAE,EAAE,CAAC;QACf,qBAAqB,EAAE,EAAE,CAAC;KAC3B,EACD,QAAQ,CAAC,EAAE,cAAc,EAG1B;IAED,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuB7C;CAqDF"}
@@ -10,16 +10,16 @@ export class MetadataTxValidator {
10
10
  validateTx(tx) {
11
11
  const errors = [];
12
12
  if (!this.#hasCorrectL1ChainId(tx)) {
13
- errors.push(TX_ERROR_INCORRECT_L1_CHAIN_ID);
13
+ errors.push(`${TX_ERROR_INCORRECT_L1_CHAIN_ID} (tx: ${tx.data.constants.txContext.chainId.toNumber()}, expected: ${this.values.l1ChainId.toNumber()})`);
14
14
  }
15
15
  if (!this.#hasCorrectRollupVersion(tx)) {
16
- errors.push(TX_ERROR_INCORRECT_ROLLUP_VERSION);
16
+ errors.push(`${TX_ERROR_INCORRECT_ROLLUP_VERSION} (tx: ${tx.data.constants.txContext.version.toNumber()}, expected: ${this.values.rollupVersion.toNumber()})`);
17
17
  }
18
18
  if (!this.#hasCorrectVkTreeRoot(tx)) {
19
- errors.push(TX_ERROR_INCORRECT_VK_TREE_ROOT);
19
+ errors.push(`${TX_ERROR_INCORRECT_VK_TREE_ROOT} (tx: ${tx.data.constants.vkTreeRoot.toString()}, expected: ${this.values.vkTreeRoot.toString()})`);
20
20
  }
21
21
  if (!this.#hasCorrectprotocolContractsHash(tx)) {
22
- errors.push(TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_HASH);
22
+ errors.push(`${TX_ERROR_INCORRECT_PROTOCOL_CONTRACTS_HASH} (tx: ${tx.data.constants.protocolContractsHash.toString()}, expected: ${this.values.protocolContractsHash.toString()})`);
23
23
  }
24
24
  return Promise.resolve(errors.length > 0 ? {
25
25
  result: 'invalid',
@@ -12,4 +12,4 @@ export declare class PhasesTxValidator implements TxValidator<Tx> {
12
12
  validateTx(tx: Tx): Promise<TxValidationResult>;
13
13
  private checkAllowList;
14
14
  }
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUV2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFLTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXNDcEQ7WUFHYSxjQUFjO0NBMEM3QiJ9
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhhc2VzX3ZhbGlkYXRvci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21zZ192YWxpZGF0b3JzL3R4X3ZhbGlkYXRvci9waGFzZXNfdmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxLQUFLLGNBQWMsRUFBZ0IsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RixPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFRTCxFQUFFLEVBRUYsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyxXQUFXLEVBQ2pCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbEQscUJBQWEsaUJBQWtCLFlBQVcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs7SUFNckQsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLFNBQVM7SUFMbkIsT0FBTyxDQUFDLFdBQVcsQ0FBb0I7SUFFdkMsWUFDRSxTQUFTLEVBQUUsa0JBQWtCLEVBQ3JCLGNBQWMsRUFBRSxjQUFjLEVBQUUsRUFDaEMsU0FBUyxFQUFFLE1BQU0sRUFDekIsUUFBUSxDQUFDLEVBQUUsY0FBYyxFQUkxQjtJQUVLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQXNDcEQ7WUFHYSxjQUFjO0NBa0U3QiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAEvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAKL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsCpD;YAGa,cAAc;CA0C7B"}
1
+ {"version":3,"file":"phases_validator.d.ts","sourceRoot":"","sources":["../../../src/msg_validators/tx_validator/phases_validator.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAGvF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAQL,EAAE,EAEF,KAAK,kBAAkB,EACvB,KAAK,WAAW,EACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,iBAAkB,YAAW,WAAW,CAAC,EAAE,CAAC;;IAMrD,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IALnB,OAAO,CAAC,WAAW,CAAoB;IAEvC,YACE,SAAS,EAAE,kBAAkB,EACrB,cAAc,EAAE,cAAc,EAAE,EAChC,SAAS,EAAE,MAAM,EACzB,QAAQ,CAAC,EAAE,cAAc,EAI1B;IAEK,UAAU,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAsCpD;YAGa,cAAc;CAkE7B"}
@@ -1,6 +1,8 @@
1
+ import { NULL_MSG_SENDER_CONTRACT_ADDRESS } from '@aztec/constants';
1
2
  import { createLogger } from '@aztec/foundation/log';
2
3
  import { PublicContractsDB, getCallRequestsWithCalldataByPhase } from '@aztec/simulator/server';
3
- import { TX_ERROR_DURING_VALIDATION, TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED, TX_ERROR_SETUP_FUNCTION_UNKNOWN_CONTRACT, TxExecutionPhase } from '@aztec/stdlib/tx';
4
+ import { AztecAddress } from '@aztec/stdlib/aztec-address';
5
+ import { TX_ERROR_DURING_VALIDATION, TX_ERROR_SETUP_FUNCTION_NOT_ALLOWED, TX_ERROR_SETUP_FUNCTION_UNKNOWN_CONTRACT, TX_ERROR_SETUP_NULL_MSG_SENDER, TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER, TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH, TxExecutionPhase } from '@aztec/stdlib/tx';
4
6
  export class PhasesTxValidator {
5
7
  setupAllowList;
6
8
  timestamp;
@@ -66,6 +68,15 @@ export class PhasesTxValidator {
66
68
  for (const entry of allowList){
67
69
  if ('address' in entry) {
68
70
  if (contractAddress.equals(entry.address) && entry.selector.equals(functionSelector)) {
71
+ if (entry.calldataLength !== undefined && publicCall.calldata.length !== entry.calldataLength) {
72
+ return TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH;
73
+ }
74
+ if (entry.onlySelf && !publicCall.request.msgSender.equals(contractAddress)) {
75
+ return TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER;
76
+ }
77
+ if (entry.rejectNullMsgSender && publicCall.request.msgSender.equals(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS))) {
78
+ return TX_ERROR_SETUP_NULL_MSG_SENDER;
79
+ }
69
80
  return undefined;
70
81
  }
71
82
  }
@@ -86,6 +97,15 @@ export class PhasesTxValidator {
86
97
  }
87
98
  }
88
99
  if (contractClassId.value === entry.classId.toString() && entry.selector.equals(functionSelector)) {
100
+ if (entry.calldataLength !== undefined && publicCall.calldata.length !== entry.calldataLength) {
101
+ return TX_ERROR_SETUP_WRONG_CALLDATA_LENGTH;
102
+ }
103
+ if (entry.onlySelf && !publicCall.request.msgSender.equals(contractAddress)) {
104
+ return TX_ERROR_SETUP_ONLY_SELF_WRONG_SENDER;
105
+ }
106
+ if (entry.rejectNullMsgSender && publicCall.request.msgSender.equals(AztecAddress.fromBigInt(NULL_MSG_SENDER_CONTRACT_ADDRESS))) {
107
+ return TX_ERROR_SETUP_NULL_MSG_SENDER;
108
+ }
89
109
  return undefined;
90
110
  }
91
111
  }
@@ -247,4 +247,4 @@ export declare class LibP2PService extends WithTracer implements P2PService {
247
247
  private stopLibP2P;
248
248
  }
249
249
  export {};
250
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBNkMsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2SCxPQUFPLEVBQ0wsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxVQUFVLEVBRWYsS0FBSyxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFFNUMsU0FBUyxFQUlWLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLEVBQUUsRUFBd0MsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBSUwsS0FBSyxlQUFlLEVBQ3BCLFVBQVUsRUFFWCxNQUFNLHlCQUF5QixDQUFDO0FBY2pDLE9BQU8s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
250
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicDJwX3NlcnZpY2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9saWJwMnAvbGlicDJwX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFL0UsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBNkMsTUFBTSx1QkFBdUIsQ0FBQztBQUcvRixPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUUsT0FBTyxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUVqRSxPQUFPLEtBQUssRUFBRSw2QkFBNkIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2SCxPQUFPLEVBQ0wsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixrQkFBa0IsRUFDbEIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyxVQUFVLEVBRWYsS0FBSyxnQkFBZ0IsSUFBSSxtQkFBbUIsRUFHNUMsU0FBUyxFQUlWLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUFFLEVBQUUsRUFBd0MsS0FBSyxXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxPQUFPLEVBSUwsS0FBSyxlQUFlLEVBQ3BCLFVBQVUsRUFFWCxNQUFNLHlCQUF5QixDQUFDO0FBY2pDLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBNEIsS0FBSyxNQUFNLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUk5RyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHekMsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFVN0QsT0FBTyxFQUNMLEtBQUssb0JBQW9CLEVBSzFCLE1BQU0sOENBQThDLENBQUM7QUFFdEQsT0FBTyxFQUFFLEtBQUssWUFBWSxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQU90RSxPQUFPLEtBQUssRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3pFLE9BQU8sS0FBSyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEcsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsV0FBVyxFQUNYLGVBQWUsRUFDZixnQkFBZ0IsRUFFaEIsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxlQUFlLEVBQ3BCLGtCQUFrQixFQUNsQixLQUFLLHlCQUF5QixFQUU5QixLQUFLLDRCQUE0QixFQUNqQyxhQUFhLEVBQ2IsS0FBSyxjQUFjLEVBUXBCLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxLQUFLLEVBQ1Ysd0JBQXdCLEVBQ3hCLDZCQUE2QixFQUM3QiwrQkFBK0IsRUFDL0IsVUFBVSxFQUNWLG9CQUFvQixFQUNyQixNQUFNLGVBQWUsQ0FBQztBQVl2QixLQUFLLCtCQUErQixDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxJQUNqRDtJQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0NBQUUsR0FDNUY7SUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsTUFBTSxDQUFDO0lBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0NBQUUsQ0FBQztBQUVuRTs7R0FFRztBQUNILHFCQUFhLGFBQWMsU0FBUSxVQUFXLFlBQVcsVUFBVTtJQStDL0QsT0FBTyxDQUFDLE1BQU07SUFDZCxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVk7SUFDNUIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsT0FBTztJQUNmLFNBQVMsQ0FBQyxXQUFXLEVBQUUsb0JBQW9CO0lBQzNDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtJQUM1QixTQUFTLENBQUMsUUFBUSxFQUFFLGFBQWEsR0FBRyxrQkFBa0I7SUFDdEQsT0FBTyxDQUFDLFVBQVU7SUFDbEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLHNCQUFzQjtJQXZEaEMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQWlCO0lBQ2pELE9BQU8sQ0FBQyxtQkFBbUIsQ0FBMEY7SUFHckgsT0FBTyxDQUFDLHNCQUFzQixDQUF5QjtJQUN2RCxPQUFPLENBQUMsMkJBQTJCLENBQThCO0lBQ2pFLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBaUM7SUFFdkUsT0FBTyxDQUFDLGVBQWUsQ0FBTTtJQUM3QixPQUFPLENBQUMsWUFBWSxDQUE4RDtJQUVsRixPQUFPLENBQUMsU0FBUyxDQUE2RDtJQUU5RSxrRkFBa0Y7SUFDbEYsT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBSXZCO0lBRVgscUZBQXFGO0lBQ3JGLE9BQU8sQ0FBQyw0QkFBNEIsQ0FBQyxDQUFrQztJQUV2RTs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLHFCQUFxQixDQUEyQjtJQUV4RDs7OztPQUlHO0lBQ0gsT0FBTyxDQUFDLDBCQUEwQixDQUFnQztJQUVsRSxPQUFPLENBQUMscUJBQXFCLENBQTZDO0lBRTFFLE9BQU8sQ0FBQyxlQUFlLENBQXFCO0lBRTVDLE9BQU8sQ0FBQyxTQUFTLENBQWtCO0lBRW5DLFNBQVMsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRXpCLFlBQ1UsTUFBTSxFQUFFLFNBQVMsRUFDZixJQUFJLEVBQUUsWUFBWSxFQUNwQixvQkFBb0IsRUFBRSxvQkFBb0IsRUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUN2QixXQUFXLEVBQUUsb0JBQW9CLEVBQ2pDLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLFFBQVEsRUFBRSxhQUFhLEdBQUcsa0JBQWtCLEVBQzlDLFVBQVUsRUFBRSxtQkFBbUIsRUFDL0IsYUFBYSxFQUFFLDZCQUE2QixFQUM1QyxzQkFBc0IsRUFBRSxzQkFBc0IsRUFDdEQsU0FBUyxFQUFFLGVBQWUsRUFDMUIsTUFBTSxHQUFFLE1BQTJDLEVBMERwRDtJQUVNLFlBQVksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFFBRXBEO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFvQixHQUFHLENBQ3JCLE1BQU0sRUFBRSxTQUFTLEVBQ2pCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUNuQixhQUFhLEVBQUUsYUFBYSxHQUFHLGtCQUFrQixDQUFDO1FBQ2xELFVBQVUsRUFBRSxtQkFBbUIsQ0FBQztRQUNoQyxhQUFhLEVBQUUsNkJBQTZCLENBQUM7UUFDN0Msc0JBQXNCLEVBQUUsc0JBQXNCLENBQUM7UUFDL0MsU0FBUyxFQUFFLGlCQUFpQixDQUFDO1FBQzdCLFNBQVMsRUFBRSxlQUFlLENBQUM7UUFDM0IsTUFBTSxFQUFFLE1BQU0sQ0FBQztRQUNmLGNBQWMsRUFBRSxNQUFNLENBQUM7S0FDeEIsMEJBb05GO0lBRUQ7OztPQUdHO0lBQ1UsS0FBSyxrQkFnRmpCO0lBRUQ7OztPQUdHO0lBQ1UsSUFBSSxrQkFnQmhCO0lBRUQscUJBQXFCLENBQ25CLFdBQVcsRUFBRSxrQkFBa0IsRUFDL0IsT0FBTyxFQUFFLHlCQUF5QixFQUNsQyxTQUFTLENBQUMsRUFBRSw0QkFBNEIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBRWY7SUFFTSw4QkFBOEIsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUVqRTtJQUVNLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRSxPQUFPLEdBQUcsUUFBUSxFQUFFLENBRXBEO0lBRU0sc0JBQXNCLENBQUMsU0FBUyxFQUFFLFNBQVMsR0FBRyxNQUFNLENBRTFEO0lBRUQsT0FBTyxDQUFDLG9CQUFvQjtJQWE1Qjs7Ozs7T0FLRztJQUNILGdCQUFnQixDQUFDLFdBQVcsU0FBUyxrQkFBa0IsRUFDckQsUUFBUSxFQUFFLFdBQVcsRUFDckIsUUFBUSxFQUFFLFlBQVksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUNoRSxZQUFZLEVBQUUsTUFBTSxHQUFHLFNBQVMsR0FDL0IsT0FBTyxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBRWxFO0lBRU0saUJBQWlCLENBQ3RCLE1BQU0sRUFBRSxNQUFNLEVBQ2QsV0FBVyxFQUFFLGtCQUFrQixFQUMvQixPQUFPLEVBQUUsTUFBTSxFQUNmLFdBQVcsQ0FBQyxFQUFFLE1BQU0sR0FDbkIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUUxQjtJQUVEOzs7T0FHRztJQUNJLE1BQU0sSUFBSSxHQUFHLEdBQUcsU0FBUyxDQUUvQjtJQUVNLDZCQUE2QixDQUFDLFFBQVEsRUFBRSx3QkFBd0IsUUFFdEU7SUFFTSxrQ0FBa0MsQ0FBQyxRQUFRLEVBQUUsNkJBQTZCLFFBRWhGO0lBRUQ7OztPQUdHO0lBQ0ksaUNBQWlDLENBQ3RDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLElBQUksRUFBRSxVQUFVLENBQUM7UUFBQyxRQUFRLEVBQUUsVUFBVSxDQUFDO1FBQUMsSUFBSSxFQUFFLFlBQVksR0FBRyxPQUFPLENBQUE7S0FBRSxLQUFLLElBQUksR0FDakcsSUFBSSxDQUVOO0lBRUQ7Ozs7T0FJRztJQUNJLG9DQUFvQyxDQUFDLFFBQVEsRUFBRSwrQkFBK0IsR0FBRyxJQUFJLENBRTNGO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtZQWFWLGNBQWM7SUFZNUI7Ozs7T0FJRztJQUNILFNBQVMsQ0FBQywwQkFBMEIsQ0FDbEMsR0FBRyxFQUFFLE9BQU8sRUFDWixLQUFLLEVBQUUsTUFBTSxFQUNiLE1BQU0sRUFBRSxNQUFNLEdBQ2I7UUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDO1FBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFBO0tBQUUsQ0FnQzVDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLDJCQUEyQjtJQWNuQzs7OztPQUlHO0lBQ0gsVUFBZ0Isc0JBQXNCLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQW9GakY7SUFFRCxVQUFnQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsRUFDdEQsY0FBYyxFQUFFLE1BQU0sT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUNwRSxLQUFLLEVBQUUsTUFBTSxFQUNiLE1BQU0sRUFBRSxNQUFNLEVBQ2QsU0FBUyxFQUFFLFNBQVMsR0FDbkIsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQW9CaEQ7SUFFRCxVQUFnQixnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBNkVsRjtZQU1hLG9DQUFvQztJQTJCbEQsMEdBQTBHO0lBQzFHLFVBR2dCLHFDQUFxQyxDQUNuRCxNQUFNLEVBQUUsTUFBTSxFQUNkLFdBQVcsRUFBRSxxQkFBcUIsR0FDakMsT0FBTyxDQUFDLCtCQUErQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0E2RGpFO0lBRUQsVUFBZ0Isb0JBQW9CLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWtCdEc7SUFFRCw2SEFBNkg7SUFDN0gsVUFJZ0IsNkJBQTZCLENBQzNDLE1BQU0sRUFBRSxNQUFNLEVBQ2QsS0FBSyxFQUFFLGFBQWEsR0FDbkIsT0FBTyxDQUFDLCtCQUErQixDQUFDLGFBQWEsRUFBRTtRQUFFLGFBQWEsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBQUMsQ0EyRHJGO0lBSUQsVUFLZ0IseUJBQXlCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFpQjdFO0lBRUQ7OztPQUdHO0lBQ0gsVUFBZ0IsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQXVCbEg7SUFFRDs7O09BR0c7SUFDSCxVQUdnQixrQ0FBa0MsQ0FDaEQsTUFBTSxFQUFFLE1BQU0sRUFDZCxVQUFVLEVBQUUsa0JBQWtCLEdBQzdCLE9BQU8sQ0FBQywrQkFBK0IsQ0FBQyxrQkFBa0IsRUFBRTtRQUFFLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFBQyxZQUFZLEVBQUUsT0FBTyxDQUFBO0tBQUUsQ0FBQyxDQUFDLENBNEZqSDtJQUVEOzs7T0FHRztJQUNILFVBS2dCLDhCQUE4QixDQUFDLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFtQmhHO0lBRUQ7OztPQUdHO0lBQ1UsU0FBUyxDQUFDLENBQUMsU0FBUyxVQUFVLEVBQUUsT0FBTyxFQUFFLENBQUMsaUJBTXREO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsVUFHZ0IseUJBQXlCLENBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQ3hCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsTUFBTSxFQUFFLE1BQU0sR0FDYixPQUFPLENBQUMsT0FBTyxDQUFDLENBeUVsQjtZQW1CYSxvQkFBb0I7SUFvQmxDOzs7Ozs7Ozs7O09BVUc7SUFDSCxVQUdnQixzQkFBc0IsQ0FDcEMsb0JBQW9CLEVBQUUsRUFBRSxFQUN4QixhQUFhLEVBQUUsT0FBTyxFQUN0QixNQUFNLEVBQUUsTUFBTSxHQUNiLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0EyQmxCO0lBRUQsVUFBZ0IsbUJBQW1CLENBQ2pDLEVBQUUsRUFBRSxFQUFFLEVBQ04sTUFBTSxFQUFFLE1BQU0sRUFDZCxXQUFXLEVBQUUsV0FBVyxFQUN4QixTQUFTLENBQUMsRUFBRSxHQUFHLENBQUMsS0FBSyxNQUFNLEVBQUUsQ0FBQyxpQkFhL0I7SUFFRCxTQUFTLENBQUMsMEJBQTBCLElBQUksV0FBVyxDQUtsRDtZQUVhLFVBQVU7SUFXeEI7O09BRUc7SUFDSSwwQkFBMEIsSUFBSSw2QkFBNkIsQ0FXakU7SUFFWSxrQ0FBa0MsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQWdCeEU7SUFFRCwyRUFBMkU7SUFDM0UsVUFBZ0IsaUNBQWlDLENBQy9DLGtCQUFrQixFQUFFLFdBQVcsRUFDL0IsaUJBQWlCLEVBQUUsTUFBTSxHQUN4QixPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBcUIvQztJQUVELG9HQUFvRztJQUNwRyxTQUFTLENBQUMsa0NBQWtDLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUVuRjtZQVFhLGNBQWM7WUF5Q2Qsd0JBQXdCO0lBMEJ0Qzs7Ozs7T0FLRztJQU1VLDZCQUE2QixDQUN4QyxNQUFNLEVBQUUsTUFBTSxFQUNkLFdBQVcsRUFBRSxxQkFBcUIsR0FDakMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBUzlCO0lBRU0sWUFBWSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUUxQztJQUVNLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLENBRWpHO1lBRWEsV0FBVztZQWNYLFVBQVU7Q0FZekIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,MAAM,EAA6C,MAAM,uBAAuB,CAAC;AAG/F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EAAE,6BAA6B,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACvH,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EAEf,KAAK,gBAAgB,IAAI,mBAAmB,EAE5C,SAAS,EAIV,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,EAAE,EAAwC,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAIL,KAAK,eAAe,EACpB,UAAU,EAEX,MAAM,yBAAyB,CAAC;AAcjC,OAAO,EAAE,KAAK,OAAO,EAA4B,KAAK,MAAM,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAI9G,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAGzC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAU7D,OAAO,EACL,KAAK,oBAAoB,EAK1B,MAAM,8CAA8C,CAAC;AAEtD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,eAAe,CAAC;AAOtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAChG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAEhB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,yBAAyB,EAE9B,KAAK,4BAA4B,EACjC,aAAa,EACb,KAAK,cAAc,EAQpB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,+BAA+B,EAC/B,UAAU,EACV,oBAAoB,EACrB,MAAM,eAAe,CAAC;AAYvB,KAAK,+BAA+B,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,IACjD;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CAAE,GAC5F;IAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC;AAEnE;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAW,YAAW,UAAU;IA+C/D,OAAO,CAAC,MAAM;IACd,SAAS,CAAC,IAAI,EAAE,YAAY;IAC5B,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,OAAO;IACf,SAAS,CAAC,WAAW,EAAE,oBAAoB;IAC3C,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAC5B,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,kBAAkB;IACtD,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,sBAAsB;IAvDhC,OAAO,CAAC,uBAAuB,CAAC,CAAiB;IACjD,OAAO,CAAC,mBAAmB,CAA0F;IAGrH,OAAO,CAAC,sBAAsB,CAAyB;IACvD,OAAO,CAAC,2BAA2B,CAA8B;IACjE,OAAO,CAAC,8BAA8B,CAAiC;IAEvE,OAAO,CAAC,eAAe,CAAM;IAC7B,OAAO,CAAC,YAAY,CAA8D;IAElF,OAAO,CAAC,SAAS,CAA6D;IAE9E,kFAAkF;IAClF,OAAO,CAAC,yBAAyB,CAAC,CAIvB;IAEX,qFAAqF;IACrF,OAAO,CAAC,4BAA4B,CAAC,CAAkC;IAEvE;;;;OAIG;IACH,OAAO,CAAC,qBAAqB,CAA2B;IAExD;;;;OAIG;IACH,OAAO,CAAC,0BAA0B,CAAgC;IAElE,OAAO,CAAC,qBAAqB,CAA6C;IAE1E,OAAO,CAAC,eAAe,CAAqB;IAE5C,OAAO,CAAC,SAAS,CAAkB;IAEnC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,YACU,MAAM,EAAE,SAAS,EACf,IAAI,EAAE,YAAY,EACpB,oBAAoB,EAAE,oBAAoB,EAC1C,OAAO,EAAE,gBAAgB,EACvB,WAAW,EAAE,oBAAoB,EACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,aAAa,GAAG,kBAAkB,EAC9C,UAAU,EAAE,mBAAmB,EAC/B,aAAa,EAAE,6BAA6B,EAC5C,sBAAsB,EAAE,sBAAsB,EACtD,SAAS,EAAE,eAAe,EAC1B,MAAM,GAAE,MAA2C,EA4DpD;IAEM,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,QAEpD;IAED;;;;;OAKG;IACH,OAAoB,GAAG,CACrB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE;QACJ,QAAQ,EAAE,QAAQ,CAAC;QACnB,aAAa,EAAE,aAAa,GAAG,kBAAkB,CAAC;QAClD,UAAU,EAAE,mBAAmB,CAAC;QAChC,aAAa,EAAE,6BAA6B,CAAC;QAC7C,sBAAsB,EAAE,sBAAsB,CAAC;QAC/C,SAAS,EAAE,iBAAiB,CAAC;QAC7B,SAAS,EAAE,eAAe,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,cAAc,EAAE,MAAM,CAAC;KACxB,0BAoNF;IAED;;;OAGG;IACU,KAAK,kBAgFjB;IAED;;;OAGG;IACU,IAAI,kBAgBhB;IAED,qBAAqB,CACnB,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,yBAAyB,EAClC,SAAS,CAAC,EAAE,4BAA4B,CAAC,kBAAkB,CAAC,GAC3D,OAAO,CAAC,IAAI,CAAC,CAEf;IAEM,8BAA8B,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI,CAEjE;IAEM,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,CAEpD;IAEM,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAE1D;IAED,OAAO,CAAC,oBAAoB;IAa5B;;;;;OAKG;IACH,gBAAgB,CAAC,WAAW,SAAS,kBAAkB,EACrD,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAChE,YAAY,EAAE,MAAM,GAAG,SAAS,GAC/B,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAElE;IAEM,iBAAiB,CACtB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,kBAAkB,EAC/B,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,CAAC,CAE1B;IAED;;;OAGG;IACI,MAAM,IAAI,GAAG,GAAG,SAAS,CAE/B;IAEM,6BAA6B,CAAC,QAAQ,EAAE,wBAAwB,QAEtE;IAEM,kCAAkC,CAAC,QAAQ,EAAE,6BAA6B,QAEhF;IAED;;;OAGG;IACI,iCAAiC,CACtC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAA;KAAE,KAAK,IAAI,GACjG,IAAI,CAEN;IAED;;;;OAIG;IACI,oCAAoC,CAAC,QAAQ,EAAE,+BAA+B,GAAG,IAAI,CAE3F;IAED;;;OAGG;IACH,OAAO,CAAC,gBAAgB;YAaV,cAAc;IAY5B;;;;OAIG;IACH,SAAS,CAAC,0BAA0B,CAClC,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb;QAAE,MAAM,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAgC5C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAcnC;;;;OAIG;IACH,UAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBAoFjF;IAED,UAAgB,uBAAuB,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,EACtD,cAAc,EAAE,MAAM,OAAO,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EACpE,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,+BAA+B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAoBhD;IAED,UAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,iBA6ElF;YAMa,oCAAoC;IA2BlD,0GAA0G;IAC1G,UAGgB,qCAAqC,CACnD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,qBAAqB,GACjC,OAAO,CAAC,+BAA+B,CAAC,qBAAqB,CAAC,CAAC,CA6DjE;IAED,UAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBtG;IAED,6HAA6H;IAC7H,UAIgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,GACnB,OAAO,CAAC,+BAA+B,CAAC,aAAa,EAAE;QAAE,aAAa,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CA2DrF;IAID,UAKgB,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,iBAiB7E;IAED;;;OAGG;IACH,UAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBlH;IAED;;;OAGG;IACH,UAGgB,kCAAkC,CAChD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,+BAA+B,CAAC,kBAAkB,EAAE;QAAE,aAAa,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,CA4FjH;IAED;;;OAGG;IACH,UAKgB,8BAA8B,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,MAAM,iBAmBhG;IAED;;;OAGG;IACU,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,OAAO,EAAE,CAAC,iBAMtD;IAED;;;;;;OAMG;IACH,UAGgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CAyElB;YAmBa,oBAAoB;IAoBlC;;;;;;;;;;OAUG;IACH,UAGgB,sBAAsB,CACpC,oBAAoB,EAAE,EAAE,EACxB,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC,CA2BlB;IAED,UAAgB,mBAAmB,CACjC,EAAE,EAAE,EAAE,EACN,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,iBAa/B;IAED,SAAS,CAAC,0BAA0B,IAAI,WAAW,CAKlD;YAEa,UAAU;IAWxB;;OAEG;IACI,0BAA0B,IAAI,6BAA6B,CAWjE;IAEY,kCAAkC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxE;IAED,2EAA2E;IAC3E,UAAgB,iCAAiC,CAC/C,kBAAkB,EAAE,WAAW,EAC/B,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAqB/C;IAED,oGAAoG;IACpG,SAAS,CAAC,kCAAkC,IAAI,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAEnF;YAQa,cAAc;YAuCd,wBAAwB;IA0BtC;;;;;OAKG;IAMU,6BAA6B,CACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,qBAAqB,GACjC,OAAO,CAAC,mBAAmB,CAAC,CAS9B;IAEM,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1C;IAEM,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAEjG;YAEa,WAAW;YAcX,UAAU;CAYzB"}
1
+ {"version":3,"file":"libp2p_service.d.ts","sourceRoot":"","sources":["../../../src/services/libp2p/libp2p_service.ts"],"names":[],"mappings":"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"}
@@ -372,12 +372,13 @@ function _apply_decs_2203_r(targetClass, memberDecs, classDecs, parentClass) {
372
372
  }
373
373
  var _dec, _dec1, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _initProto;
374
374
  import { BlockNumber } from '@aztec/foundation/branded-types';
375
+ import { maxBy } from '@aztec/foundation/collection';
375
376
  import { createLibp2pComponentLogger, createLogger } from '@aztec/foundation/log';
376
377
  import { RunningPromise } from '@aztec/foundation/running-promise';
377
378
  import { Timer } from '@aztec/foundation/timer';
378
379
  import { protocolContractsHash } from '@aztec/protocol-contracts';
379
380
  import { GasFees } from '@aztec/stdlib/gas';
380
- import { BlockProposal, CheckpointAttestation, CheckpointProposal, P2PMessage, PeerErrorSeverity, TopicType, createTopicString, getTopicsForConfig, metricsTopicStrToLabels } from '@aztec/stdlib/p2p';
381
+ import { BlockProposal, CheckpointAttestation, CheckpointProposal, P2PMessage, PeerErrorSeverity, PeerErrorSeverityByHarshness, TopicType, createTopicString, getTopicsForConfig, metricsTopicStrToLabels } from '@aztec/stdlib/p2p';
381
382
  import { MerkleTreeId } from '@aztec/stdlib/trees';
382
383
  import { Tx } from '@aztec/stdlib/tx';
383
384
  import { compressComponentVersions } from '@aztec/stdlib/versioning';
@@ -540,14 +541,12 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
540
541
  this.topicStrings[TopicType.block_proposal] = createTopicString(TopicType.block_proposal, this.protocolVersion);
541
542
  this.topicStrings[TopicType.checkpoint_proposal] = createTopicString(TopicType.checkpoint_proposal, this.protocolVersion);
542
543
  this.topicStrings[TopicType.checkpoint_attestation] = createTopicString(TopicType.checkpoint_attestation, this.protocolVersion);
543
- this.blockProposalValidator = new BlockProposalValidator(epochCache, {
544
+ const proposalValidatorOpts = {
544
545
  txsPermitted: !config.disableTransactions,
545
- maxTxsPerBlock: config.maxTxsPerBlock
546
- });
547
- this.checkpointProposalValidator = new CheckpointProposalValidator(epochCache, {
548
- txsPermitted: !config.disableTransactions,
549
- maxTxsPerBlock: config.maxTxsPerBlock
550
- });
546
+ maxTxsPerBlock: config.validateMaxTxsPerBlock
547
+ };
548
+ this.blockProposalValidator = new BlockProposalValidator(epochCache, proposalValidatorOpts);
549
+ this.checkpointProposalValidator = new CheckpointProposalValidator(epochCache, proposalValidatorOpts);
551
550
  this.checkpointAttestationValidator = config.fishermanMode ? new FishermanAttestationValidator(epochCache, mempools.attestationPool, telemetry) : new CheckpointAttestationValidator(epochCache);
552
551
  this.gossipSubEventHandler = this.handleGossipSubEvent.bind(this);
553
552
  this.blockReceivedCallback = async (block)=>{
@@ -1717,8 +1716,10 @@ _dec = trackSpan('Libp2pService.validateAndStoreCheckpointAttestation', (_peerId
1717
1716
  });
1718
1717
  // A promise that resolves when all validations have been run
1719
1718
  const allValidations = await Promise.all(validationPromises);
1720
- const failed = allValidations.find((x)=>!x.isValid);
1721
- if (failed) {
1719
+ const failures = allValidations.filter((x)=>!x.isValid);
1720
+ if (failures.length > 0) {
1721
+ // Pick the most severe failure (lowest tolerance = harshest penalty)
1722
+ const failed = maxBy(failures, (f)=>PeerErrorSeverityByHarshness.indexOf(f.severity));
1722
1723
  return {
1723
1724
  allPassed: false,
1724
1725
  failure: {
@@ -60,4 +60,4 @@ export declare function makeTestP2PClients(numberOfPeers: number, testConfig: Ma
60
60
  enr: string;
61
61
  }[]>;
62
62
  export declare function startTestP2PClients(clients: P2PClient[]): Promise<void>;
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS10ZXN0LXAycC1jbGllbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL21ha2UtdGVzdC1wMnAtY2xpZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFLbEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUc5RSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJdEUsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQWtDLE1BQU0sa0JBQWtCLENBQUM7QUFHN0YsTUFBTSxXQUFXLHdCQUF3QjtJQUN2QyxtQkFBbUIsRUFBRSxlQUFlLENBQUM7SUFDckMsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUNyQixjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQztJQUN2QyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM3QixhQUFhLEVBQUUsU0FBUyxDQUFDO0lBQ3pCLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQixvQkFBb0IsQ0FBQyxFQUFFLG9CQUFvQixDQUFDO0NBQzdDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQix5QkFBeUIsQ0FDN0MsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixJQUFJLEVBQUUsTUFBTSxFQUNaLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFDZixPQUFPLEVBQUUsd0JBQXdCLHNCQU1sQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsSUFBSSxFQUFFLE1BQU0sRUFDWixLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQ2YsRUFDRSxrQkFBeUIsRUFDekIsYUFBYSxFQUNiLGtCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLE1BQXdDLEVBQ3pDLEVBQUUsd0JBQXdCLHNCQTBDNUI7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQiwwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSx3QkFBd0I7Ozs7O0tBdUMzRztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLHdCQUF3Qjs7Ozs7S0FnQ25HO0FBRUQsd0JBQXNCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBRzdEIn0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZS10ZXN0LXAycC1jbGllbnRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC1oZWxwZXJzL21ha2UtdGVzdC1wMnAtY2xpZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVyRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFJbEUsT0FBTyxLQUFLLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUk5RSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDOUMsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDekYsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFJdEUsT0FBTyxFQUFFLEtBQUssb0JBQW9CLEVBQWtDLE1BQU0sa0JBQWtCLENBQUM7QUFHN0YsTUFBTSxXQUFXLHdCQUF3QjtJQUN2QyxtQkFBbUIsRUFBRSxlQUFlLENBQUM7SUFDckMsVUFBVSxFQUFFLFFBQVEsQ0FBQztJQUNyQixjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQztJQUN2QyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM3QixhQUFhLEVBQUUsU0FBUyxDQUFDO0lBQ3pCLGtCQUFrQixDQUFDLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNoQixvQkFBb0IsQ0FBQyxFQUFFLG9CQUFvQixDQUFDO0NBQzdDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILHdCQUFzQix5QkFBeUIsQ0FDN0MsZ0JBQWdCLEVBQUUsTUFBTSxFQUN4QixJQUFJLEVBQUUsTUFBTSxFQUNaLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFDZixPQUFPLEVBQUUsd0JBQXdCLHNCQU1sQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLGdCQUFnQixFQUFFLE1BQU0sRUFDeEIsSUFBSSxFQUFFLE1BQU0sRUFDWixLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQ2YsRUFDRSxrQkFBeUIsRUFDekIsYUFBYSxFQUNiLGtCQUF1QixFQUN2QixtQkFBbUIsRUFDbkIsVUFBVSxFQUNWLGNBQWMsRUFDZCxjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLE1BQXdDLEVBQ3pDLEVBQUUsd0JBQXdCLHNCQTBDNUI7QUFFRDs7Ozs7R0FLRztBQUNILHdCQUFzQiwwQkFBMEIsQ0FBQyxhQUFhLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSx3QkFBd0I7Ozs7O0tBdUMzRztBQUVEOzs7OztHQUtHO0FBQ0gsd0JBQXNCLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLHdCQUF3Qjs7Ozs7S0FnQ25HO0FBRUQsd0JBQXNCLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBRzdEIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAKlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAG9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAItE,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,QAAQ,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,sBAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,EACzC,EAAE,wBAAwB,sBA0C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
1
+ {"version":3,"file":"make-test-p2p-clients.d.ts","sourceRoot":"","sources":["../../src/test-helpers/make-test-p2p-clients.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAIlE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAI9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mDAAmD,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uCAAuC,CAAC;AAItE,OAAO,EAAE,KAAK,oBAAoB,EAAkC,MAAM,kBAAkB,CAAC;AAG7F,MAAM,WAAW,wBAAwB;IACvC,mBAAmB,EAAE,eAAe,CAAC;IACrC,UAAU,EAAE,QAAQ,CAAC;IACrB,cAAc,EAAE,UAAU,CAAC;IAC3B,cAAc,EAAE,sBAAsB,CAAC;IACvC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,CAAC;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;CAC7C;AAED;;;;;;;GAOG;AACH,wBAAsB,yBAAyB,CAC7C,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,OAAO,EAAE,wBAAwB,sBAMlC;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EAAE,EACf,EACE,kBAAyB,EACzB,aAAa,EACb,kBAAuB,EACvB,mBAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,oBAAoB,EACpB,MAAwC,EACzC,EAAE,wBAAwB,sBA0C5B;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAuC3G;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,wBAAwB;;;;;KAgCnG;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,iBAG7D"}
@@ -66,4 +66,4 @@ export declare function createBootstrapNodeFromPrivateKey(privateKey: string, po
66
66
  */
67
67
  export declare function getBootstrapNodeEnr(privateKey: string, port: number): Promise<SignableENR>;
68
68
  export declare function createBootstrapNode(port: number, telemetry?: TelemetryClient, chainConfig?: ChainConfig): Promise<BootstrapNode>;
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC1ub2Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QtaGVscGVycy9yZXFyZXNwLW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBTXJELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBT25GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQW9DLE1BQU0sUUFBUSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV2RSxPQUFPLEVBRUwsS0FBSywwQkFBMEIsRUFDL0IsS0FB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
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxcmVzcC1ub2Rlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rlc3QtaGVscGVycy9yZXFyZXNwLW5vZGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBS3JELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBb0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxFQUNWLDZCQUE2QixFQUM3QiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3ZCLE1BQU0saUNBQWlDLENBQUM7QUFFekMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFM0MsT0FBTyxFQUFFLEtBQUssZUFBZSxFQUFzQixNQUFNLHlCQUF5QixDQUFDO0FBT25GLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSWhELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQW9DLE1BQU0sUUFBUSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFHMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXJFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUV2RSxPQUFPLEVBRUwsS0FBSywwQkFBMEIsRUFDL0IsS0FB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