@aztec/p2p 0.55.1 → 0.57.0
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/attestation_pool/attestation_pool.d.ts +2 -1
- package/dest/attestation_pool/attestation_pool.d.ts.map +1 -1
- package/dest/attestation_pool/memory_attestation_pool.d.ts +2 -1
- package/dest/attestation_pool/memory_attestation_pool.d.ts.map +1 -1
- package/dest/attestation_pool/memory_attestation_pool.js +48 -15
- package/dest/attestation_pool/mocks.d.ts +2 -1
- package/dest/attestation_pool/mocks.d.ts.map +1 -1
- package/dest/attestation_pool/mocks.js +7 -7
- package/dest/client/index.d.ts +4 -1
- package/dest/client/index.d.ts.map +1 -1
- package/dest/client/index.js +7 -3
- package/dest/client/p2p_client.d.ts +25 -6
- package/dest/client/p2p_client.d.ts.map +1 -1
- package/dest/client/p2p_client.js +28 -15
- package/dest/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts +7 -0
- package/dest/epoch_proof_quote_pool/epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/epoch_proof_quote_pool/epoch_proof_quote_pool.js +2 -0
- package/dest/epoch_proof_quote_pool/index.d.ts +4 -0
- package/dest/epoch_proof_quote_pool/index.d.ts.map +1 -0
- package/dest/epoch_proof_quote_pool/index.js +4 -0
- package/dest/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts +10 -0
- package/dest/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.d.ts.map +1 -0
- package/dest/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.js +22 -0
- package/dest/epoch_proof_quote_pool/test_utils.d.ts +8 -0
- package/dest/epoch_proof_quote_pool/test_utils.d.ts.map +1 -0
- package/dest/epoch_proof_quote_pool/test_utils.js +21 -0
- package/dest/index.d.ts +4 -3
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +5 -4
- package/dest/mocks/index.d.ts +13 -4
- package/dest/mocks/index.d.ts.map +1 -1
- package/dest/mocks/index.js +26 -9
- package/dest/service/libp2p_service.d.ts +16 -1
- package/dest/service/libp2p_service.d.ts.map +1 -1
- package/dest/service/libp2p_service.js +55 -25
- package/dest/service/reqresp/interface.d.ts +7 -0
- package/dest/service/reqresp/interface.d.ts.map +1 -1
- package/dest/service/reqresp/interface.js +7 -1
- package/dest/service/reqresp/rate_limiter/rate_limiter.d.ts +13 -3
- package/dest/service/reqresp/rate_limiter/rate_limiter.d.ts.map +1 -1
- package/dest/service/reqresp/rate_limiter/rate_limiter.js +29 -7
- package/dest/service/reqresp/reqresp.d.ts +56 -6
- package/dest/service/reqresp/reqresp.d.ts.map +1 -1
- package/dest/service/reqresp/reqresp.js +79 -12
- package/dest/tx_validator/aggregate_tx_validator.d.ts +1 -0
- package/dest/tx_validator/aggregate_tx_validator.d.ts.map +1 -1
- package/dest/tx_validator/aggregate_tx_validator.js +10 -1
- package/dest/tx_validator/data_validator.d.ts +1 -0
- package/dest/tx_validator/data_validator.d.ts.map +1 -1
- package/dest/tx_validator/data_validator.js +4 -1
- package/dest/tx_validator/double_spend_validator.d.ts +1 -0
- package/dest/tx_validator/double_spend_validator.d.ts.map +1 -1
- package/dest/tx_validator/double_spend_validator.js +4 -1
- package/dest/tx_validator/metadata_validator.d.ts +1 -0
- package/dest/tx_validator/metadata_validator.d.ts.map +1 -1
- package/dest/tx_validator/metadata_validator.js +4 -1
- package/package.json +10 -6
- package/src/attestation_pool/attestation_pool.ts +2 -1
- package/src/attestation_pool/memory_attestation_pool.ts +56 -17
- package/src/attestation_pool/mocks.ts +11 -6
- package/src/client/index.ts +20 -3
- package/src/client/p2p_client.ts +46 -15
- package/src/epoch_proof_quote_pool/epoch_proof_quote_pool.ts +7 -0
- package/src/epoch_proof_quote_pool/index.ts +3 -0
- package/src/epoch_proof_quote_pool/memory_epoch_proof_quote_pool.ts +26 -0
- package/src/epoch_proof_quote_pool/test_utils.ts +26 -0
- package/src/index.ts +4 -3
- package/src/mocks/index.ts +35 -7
- package/src/service/libp2p_service.ts +59 -26
- package/src/service/reqresp/interface.ts +20 -0
- package/src/service/reqresp/rate_limiter/rate_limiter.ts +30 -7
- package/src/service/reqresp/reqresp.ts +91 -13
- package/src/tx_validator/aggregate_tx_validator.ts +10 -0
- package/src/tx_validator/data_validator.ts +4 -0
- package/src/tx_validator/double_spend_validator.ts +4 -0
- package/src/tx_validator/metadata_validator.ts +4 -0
- package/dest/client/mocks.d.ts +0 -65
- package/dest/client/mocks.d.ts.map +0 -1
- package/dest/client/mocks.js +0 -106
- package/src/client/mocks.ts +0 -129
package/dest/client/mocks.js
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import { L2Block, TxReceipt, TxStatus } from '@aztec/circuit-types';
|
|
2
|
-
import { EthAddress } from '@aztec/circuits.js';
|
|
3
|
-
/**
|
|
4
|
-
* A mocked implementation of L2BlockSource to be used in p2p tests.
|
|
5
|
-
*/
|
|
6
|
-
export class MockBlockSource {
|
|
7
|
-
constructor(numBlocks = 100, provenBlockNumber) {
|
|
8
|
-
this.provenBlockNumber = provenBlockNumber;
|
|
9
|
-
this.l2Blocks = [];
|
|
10
|
-
this.txEffects = [];
|
|
11
|
-
this.addBlocks(numBlocks);
|
|
12
|
-
}
|
|
13
|
-
addBlocks(numBlocks) {
|
|
14
|
-
for (let i = 0; i < numBlocks; i++) {
|
|
15
|
-
const blockNum = this.l2Blocks.length;
|
|
16
|
-
const block = L2Block.random(blockNum, blockNum);
|
|
17
|
-
this.l2Blocks.push(block);
|
|
18
|
-
this.txEffects.push(...block.body.txEffects);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
setProvenBlockNumber(provenBlockNumber) {
|
|
22
|
-
this.provenBlockNumber = provenBlockNumber;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Method to fetch the rollup contract address at the base-layer.
|
|
26
|
-
* @returns The rollup address.
|
|
27
|
-
*/
|
|
28
|
-
getRollupAddress() {
|
|
29
|
-
return Promise.resolve(EthAddress.random());
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Method to fetch the registry contract address at the base-layer.
|
|
33
|
-
* @returns The registry address.
|
|
34
|
-
*/
|
|
35
|
-
getRegistryAddress() {
|
|
36
|
-
return Promise.resolve(EthAddress.random());
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
40
|
-
* @returns In this mock instance, returns the number of L2 blocks that we've mocked.
|
|
41
|
-
*/
|
|
42
|
-
getBlockNumber() {
|
|
43
|
-
return Promise.resolve(this.l2Blocks.length - 1);
|
|
44
|
-
}
|
|
45
|
-
async getProvenBlockNumber() {
|
|
46
|
-
return this.provenBlockNumber ?? (await this.getBlockNumber());
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Gets an l2 block.
|
|
50
|
-
* @param number - The block number to return (inclusive).
|
|
51
|
-
* @returns The requested L2 block.
|
|
52
|
-
*/
|
|
53
|
-
getBlock(number) {
|
|
54
|
-
return Promise.resolve(this.l2Blocks[number]);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
58
|
-
* @param from - Number of the first block to return (inclusive).
|
|
59
|
-
* @param limit - The maximum number of blocks to return.
|
|
60
|
-
* @returns The requested mocked L2 blocks.
|
|
61
|
-
*/
|
|
62
|
-
getBlocks(from, limit, proven) {
|
|
63
|
-
return Promise.resolve(this.l2Blocks
|
|
64
|
-
.slice(from, from + limit)
|
|
65
|
-
.filter(b => !proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber));
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Gets a tx effect.
|
|
69
|
-
* @param txHash - The hash of a transaction which resulted in the returned tx effect.
|
|
70
|
-
* @returns The requested tx effect.
|
|
71
|
-
*/
|
|
72
|
-
getTxEffect(txHash) {
|
|
73
|
-
const txEffect = this.txEffects.find(tx => tx.txHash.equals(txHash));
|
|
74
|
-
return Promise.resolve(txEffect);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Gets a receipt of a settled tx.
|
|
78
|
-
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
79
|
-
* @returns The requested tx receipt (or undefined if not found).
|
|
80
|
-
*/
|
|
81
|
-
getSettledTxReceipt(txHash) {
|
|
82
|
-
for (const block of this.l2Blocks) {
|
|
83
|
-
for (const txEffect of block.body.txEffects) {
|
|
84
|
-
if (txEffect.txHash.equals(txHash)) {
|
|
85
|
-
return Promise.resolve(new TxReceipt(txHash, TxStatus.SUCCESS, '', txEffect.transactionFee.toBigInt(), block.hash().toBuffer(), block.number));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return Promise.resolve(undefined);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Starts the block source. In this mock implementation, this is a noop.
|
|
93
|
-
* @returns A promise that signals the initialization of the l2 block source on completion.
|
|
94
|
-
*/
|
|
95
|
-
start() {
|
|
96
|
-
return Promise.resolve();
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Stops the block source. In this mock implementation, this is a noop.
|
|
100
|
-
* @returns A promise that signals the l2 block source is now stopped.
|
|
101
|
-
*/
|
|
102
|
-
stop() {
|
|
103
|
-
return Promise.resolve();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L21vY2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWtELFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZUFBZTtJQUkxQixZQUFZLFNBQVMsR0FBRyxHQUFHLEVBQVUsaUJBQTBCO1FBQTFCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUh2RCxhQUFRLEdBQWMsRUFBRSxDQUFDO1FBQ3pCLGNBQVMsR0FBZSxFQUFFLENBQUM7UUFHakMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sU0FBUyxDQUFDLFNBQWlCO1FBQ2hDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxTQUFTLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNuQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7SUFFTSxvQkFBb0IsQ0FBQyxpQkFBeUI7UUFDbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO0lBQzdDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxnQkFBZ0I7UUFDZCxPQUFPLE9BQU8sQ0FB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
|
package/src/client/mocks.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import { L2Block, type L2BlockSource, type TxEffect, type TxHash, TxReceipt, TxStatus } from '@aztec/circuit-types';
|
|
2
|
-
import { EthAddress } from '@aztec/circuits.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* A mocked implementation of L2BlockSource to be used in p2p tests.
|
|
6
|
-
*/
|
|
7
|
-
export class MockBlockSource implements L2BlockSource {
|
|
8
|
-
private l2Blocks: L2Block[] = [];
|
|
9
|
-
private txEffects: TxEffect[] = [];
|
|
10
|
-
|
|
11
|
-
constructor(numBlocks = 100, private provenBlockNumber?: number) {
|
|
12
|
-
this.addBlocks(numBlocks);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public addBlocks(numBlocks: number) {
|
|
16
|
-
for (let i = 0; i < numBlocks; i++) {
|
|
17
|
-
const blockNum = this.l2Blocks.length;
|
|
18
|
-
const block = L2Block.random(blockNum, blockNum);
|
|
19
|
-
this.l2Blocks.push(block);
|
|
20
|
-
this.txEffects.push(...block.body.txEffects);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public setProvenBlockNumber(provenBlockNumber: number) {
|
|
25
|
-
this.provenBlockNumber = provenBlockNumber;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Method to fetch the rollup contract address at the base-layer.
|
|
30
|
-
* @returns The rollup address.
|
|
31
|
-
*/
|
|
32
|
-
getRollupAddress(): Promise<EthAddress> {
|
|
33
|
-
return Promise.resolve(EthAddress.random());
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Method to fetch the registry contract address at the base-layer.
|
|
38
|
-
* @returns The registry address.
|
|
39
|
-
*/
|
|
40
|
-
getRegistryAddress(): Promise<EthAddress> {
|
|
41
|
-
return Promise.resolve(EthAddress.random());
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Gets the number of the latest L2 block processed by the block source implementation.
|
|
46
|
-
* @returns In this mock instance, returns the number of L2 blocks that we've mocked.
|
|
47
|
-
*/
|
|
48
|
-
public getBlockNumber() {
|
|
49
|
-
return Promise.resolve(this.l2Blocks.length - 1);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
public async getProvenBlockNumber(): Promise<number> {
|
|
53
|
-
return this.provenBlockNumber ?? (await this.getBlockNumber());
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Gets an l2 block.
|
|
58
|
-
* @param number - The block number to return (inclusive).
|
|
59
|
-
* @returns The requested L2 block.
|
|
60
|
-
*/
|
|
61
|
-
public getBlock(number: number) {
|
|
62
|
-
return Promise.resolve(this.l2Blocks[number]);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
67
|
-
* @param from - Number of the first block to return (inclusive).
|
|
68
|
-
* @param limit - The maximum number of blocks to return.
|
|
69
|
-
* @returns The requested mocked L2 blocks.
|
|
70
|
-
*/
|
|
71
|
-
public getBlocks(from: number, limit: number, proven?: boolean) {
|
|
72
|
-
return Promise.resolve(
|
|
73
|
-
this.l2Blocks
|
|
74
|
-
.slice(from, from + limit)
|
|
75
|
-
.filter(b => !proven || this.provenBlockNumber === undefined || b.number <= this.provenBlockNumber),
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Gets a tx effect.
|
|
81
|
-
* @param txHash - The hash of a transaction which resulted in the returned tx effect.
|
|
82
|
-
* @returns The requested tx effect.
|
|
83
|
-
*/
|
|
84
|
-
public getTxEffect(txHash: TxHash) {
|
|
85
|
-
const txEffect = this.txEffects.find(tx => tx.txHash.equals(txHash));
|
|
86
|
-
return Promise.resolve(txEffect);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Gets a receipt of a settled tx.
|
|
91
|
-
* @param txHash - The hash of a tx we try to get the receipt for.
|
|
92
|
-
* @returns The requested tx receipt (or undefined if not found).
|
|
93
|
-
*/
|
|
94
|
-
public getSettledTxReceipt(txHash: TxHash): Promise<TxReceipt | undefined> {
|
|
95
|
-
for (const block of this.l2Blocks) {
|
|
96
|
-
for (const txEffect of block.body.txEffects) {
|
|
97
|
-
if (txEffect.txHash.equals(txHash)) {
|
|
98
|
-
return Promise.resolve(
|
|
99
|
-
new TxReceipt(
|
|
100
|
-
txHash,
|
|
101
|
-
TxStatus.SUCCESS,
|
|
102
|
-
'',
|
|
103
|
-
txEffect.transactionFee.toBigInt(),
|
|
104
|
-
block.hash().toBuffer(),
|
|
105
|
-
block.number,
|
|
106
|
-
),
|
|
107
|
-
);
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
return Promise.resolve(undefined);
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
/**
|
|
115
|
-
* Starts the block source. In this mock implementation, this is a noop.
|
|
116
|
-
* @returns A promise that signals the initialization of the l2 block source on completion.
|
|
117
|
-
*/
|
|
118
|
-
public start(): Promise<void> {
|
|
119
|
-
return Promise.resolve();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Stops the block source. In this mock implementation, this is a noop.
|
|
124
|
-
* @returns A promise that signals the l2 block source is now stopped.
|
|
125
|
-
*/
|
|
126
|
-
public stop(): Promise<void> {
|
|
127
|
-
return Promise.resolve();
|
|
128
|
-
}
|
|
129
|
-
}
|