@aztec/aztec-node 0.1.0-alpha20 → 0.1.0-alpha21
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/.tsbuildinfo +1 -1
- package/dest/aztec-node/aztec-node.d.ts +11 -17
- package/dest/aztec-node/aztec-node.d.ts.map +1 -1
- package/dest/aztec-node/http-node.d.ts +15 -38
- package/dest/aztec-node/http-node.d.ts.map +1 -1
- package/dest/aztec-node/http-node.js +48 -74
- package/dest/aztec-node/http-node.test.d.ts +2 -0
- package/dest/aztec-node/http-node.test.d.ts.map +1 -0
- package/dest/aztec-node/http-node.test.js +322 -0
- package/dest/aztec-node/server.d.ts +14 -20
- package/dest/aztec-node/server.d.ts.map +1 -1
- package/dest/aztec-node/server.js +11 -18
- package/package.json +10 -10
- package/src/aztec-node/aztec-node.ts +11 -17
- package/src/aztec-node/http-node.test.ts +428 -0
- package/src/aztec-node/http-node.ts +53 -90
- package/src/aztec-node/server.ts +17 -24
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { AztecAddress, CircuitsWasm, Fr } from '@aztec/circuits.js';
|
|
2
|
+
import { randomBytes } from '@aztec/foundation/crypto';
|
|
3
|
+
import { Pedersen, SiblingPath } from '@aztec/merkle-tree';
|
|
4
|
+
import { ContractData, ContractPublicData, L1ToL2Message, L2Block, L2BlockL2Logs, LogType, MerkleTreeId, mockTx, TxHash, } from '@aztec/types';
|
|
5
|
+
import { jest } from '@jest/globals';
|
|
6
|
+
import { HttpNode } from './http-node.js';
|
|
7
|
+
const TEST_URL = 'http://aztec-node-url.com/';
|
|
8
|
+
const setFetchMock = (response, status = 200) => {
|
|
9
|
+
global.fetch = jest
|
|
10
|
+
.fn()
|
|
11
|
+
.mockImplementation((_input, _init) => {
|
|
12
|
+
return Promise.resolve({
|
|
13
|
+
status,
|
|
14
|
+
ok: true,
|
|
15
|
+
json: () => response,
|
|
16
|
+
arrayBuffer: () => response,
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
describe('HttpNode', () => {
|
|
21
|
+
let httpNode;
|
|
22
|
+
let pedersen;
|
|
23
|
+
beforeAll(async () => {
|
|
24
|
+
httpNode = new HttpNode(TEST_URL);
|
|
25
|
+
pedersen = new Pedersen(await CircuitsWasm.get());
|
|
26
|
+
});
|
|
27
|
+
afterEach(() => {
|
|
28
|
+
jest.clearAllMocks();
|
|
29
|
+
});
|
|
30
|
+
describe('isReady', () => {
|
|
31
|
+
it.each([true, false])('should return %s when the node is ready', async () => {
|
|
32
|
+
const response = { isReady: true };
|
|
33
|
+
setFetchMock(response);
|
|
34
|
+
const result = await httpNode.isReady();
|
|
35
|
+
expect(fetch).toHaveBeenCalledWith(TEST_URL);
|
|
36
|
+
expect(result).toBe(true);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
describe('getBlocks', () => {
|
|
40
|
+
it('should fetch and parse blocks', async () => {
|
|
41
|
+
const block1 = L2Block.random(1);
|
|
42
|
+
const block2 = L2Block.random(2);
|
|
43
|
+
const response = {
|
|
44
|
+
blocks: [block1.encode(), block2.encode()],
|
|
45
|
+
};
|
|
46
|
+
setFetchMock(response);
|
|
47
|
+
const result = await httpNode.getBlocks(0, 3);
|
|
48
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-blocks?from=0&take=3`);
|
|
49
|
+
expect(result).toEqual([block1, block2]);
|
|
50
|
+
});
|
|
51
|
+
it('should return an empty array if blocks are not available', async () => {
|
|
52
|
+
const response = { blocks: [] };
|
|
53
|
+
setFetchMock(response);
|
|
54
|
+
const result = await httpNode.getBlocks(0, 2);
|
|
55
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-blocks?from=0&take=2`);
|
|
56
|
+
expect(result).toEqual([]);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe('getBlockHeight', () => {
|
|
60
|
+
it('should fetch and return the block height', async () => {
|
|
61
|
+
const response = { blockHeight: 100 };
|
|
62
|
+
setFetchMock(response);
|
|
63
|
+
const result = await httpNode.getBlockHeight();
|
|
64
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-block-height`);
|
|
65
|
+
expect(result).toBe(100);
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
describe('getVersion', () => {
|
|
69
|
+
it('should fetch and return the version', async () => {
|
|
70
|
+
const response = { version: 5 };
|
|
71
|
+
setFetchMock(response);
|
|
72
|
+
const result = await httpNode.getVersion();
|
|
73
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-version`);
|
|
74
|
+
expect(result).toBe(5);
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
describe('getChainId', () => {
|
|
78
|
+
it('should fetch and return the chain ID', async () => {
|
|
79
|
+
const response = { chainId: 1234 };
|
|
80
|
+
setFetchMock(response);
|
|
81
|
+
const result = await httpNode.getChainId();
|
|
82
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-chain-id`);
|
|
83
|
+
expect(result).toBe(1234);
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
describe('getContractData', () => {
|
|
87
|
+
it('should fetch and return contract public data', async () => {
|
|
88
|
+
const contractData = ContractPublicData.random();
|
|
89
|
+
const response = {
|
|
90
|
+
contractData: contractData.toBuffer(),
|
|
91
|
+
};
|
|
92
|
+
setFetchMock(response);
|
|
93
|
+
const result = await httpNode.getContractData(contractData.contractData.contractAddress);
|
|
94
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-data?address=${contractData.contractData.contractAddress.toString()}`);
|
|
95
|
+
expect(result).toEqual(contractData);
|
|
96
|
+
});
|
|
97
|
+
it('should return undefined if contract data is not available', async () => {
|
|
98
|
+
const response = {
|
|
99
|
+
contractData: undefined,
|
|
100
|
+
};
|
|
101
|
+
setFetchMock(response);
|
|
102
|
+
const randomAddress = AztecAddress.random();
|
|
103
|
+
const result = await httpNode.getContractData(randomAddress);
|
|
104
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-data?address=${randomAddress.toString()}`);
|
|
105
|
+
expect(result).toEqual(undefined);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe('getLogs', () => {
|
|
109
|
+
it.each(['encrypted', 'unencrypted'])('should fetch and return %s logs', async (logType) => {
|
|
110
|
+
const processedLogType = logType === 'encrypted' ? LogType.ENCRYPTED : LogType.UNENCRYPTED;
|
|
111
|
+
const from = 0;
|
|
112
|
+
const take = 3;
|
|
113
|
+
const log1 = L2BlockL2Logs.random(2, 3, 4);
|
|
114
|
+
const log2 = L2BlockL2Logs.random(1, 5, 2);
|
|
115
|
+
const response = {
|
|
116
|
+
logs: [log1.toBuffer(), log2.toBuffer()],
|
|
117
|
+
};
|
|
118
|
+
setFetchMock(response);
|
|
119
|
+
const result = await httpNode.getLogs(from, take, processedLogType);
|
|
120
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-logs?from=${from}&take=${take}&logType=${processedLogType}`);
|
|
121
|
+
expect(result).toEqual([log1, log2]);
|
|
122
|
+
});
|
|
123
|
+
it.each(['encrypted', 'unencrypted'])('should return an empty array if %s logs are not available', async (logType) => {
|
|
124
|
+
const processedLogType = logType === 'encrypted' ? LogType.ENCRYPTED : LogType.UNENCRYPTED;
|
|
125
|
+
const from = 0;
|
|
126
|
+
const take = 2;
|
|
127
|
+
const response = {};
|
|
128
|
+
setFetchMock(response);
|
|
129
|
+
const result = await httpNode.getLogs(from, take, processedLogType);
|
|
130
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-logs?from=${from}&take=${take}&logType=${processedLogType}`);
|
|
131
|
+
expect(result).toEqual([]);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
describe('getContractInfo', () => {
|
|
135
|
+
it('should fetch and return contract data', async () => {
|
|
136
|
+
const contractInfo = ContractData.random();
|
|
137
|
+
const response = {
|
|
138
|
+
contractInfo: contractInfo.toBuffer(),
|
|
139
|
+
};
|
|
140
|
+
setFetchMock(response);
|
|
141
|
+
const result = await httpNode.getContractInfo(contractInfo.contractAddress);
|
|
142
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-info?address=${contractInfo.contractAddress.toString()}`);
|
|
143
|
+
expect(result).toEqual(contractInfo);
|
|
144
|
+
});
|
|
145
|
+
it('should return undefined if contract data is not available', async () => {
|
|
146
|
+
const response = {
|
|
147
|
+
contractInfo: undefined,
|
|
148
|
+
};
|
|
149
|
+
setFetchMock(response);
|
|
150
|
+
const randomAddress = AztecAddress.random();
|
|
151
|
+
const result = await httpNode.getContractInfo(randomAddress);
|
|
152
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-info?address=${randomAddress.toString()}`);
|
|
153
|
+
expect(result).toBeUndefined();
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
describe('sendTx', () => {
|
|
157
|
+
it('should submit a transaction to the p2p pool', async () => {
|
|
158
|
+
const tx = mockTx();
|
|
159
|
+
const irrelevantResponse = {};
|
|
160
|
+
setFetchMock(irrelevantResponse);
|
|
161
|
+
await httpNode.sendTx(tx);
|
|
162
|
+
const init = {
|
|
163
|
+
method: 'POST',
|
|
164
|
+
body: tx.toBuffer(),
|
|
165
|
+
};
|
|
166
|
+
const call = fetch.mock.calls[0];
|
|
167
|
+
expect(call[0].href).toBe(`${TEST_URL}tx`);
|
|
168
|
+
expect(call[1]).toStrictEqual(init);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
describe('getPendingTxByHash', () => {
|
|
172
|
+
it('should fetch and return a pending tx', async () => {
|
|
173
|
+
const txHash = new TxHash(randomBytes(TxHash.SIZE));
|
|
174
|
+
const tx = mockTx();
|
|
175
|
+
const response = tx.toBuffer();
|
|
176
|
+
setFetchMock(response);
|
|
177
|
+
const result = await httpNode.getPendingTxByHash(txHash);
|
|
178
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-pending-tx?hash=${txHash}`);
|
|
179
|
+
expect(result).toEqual(tx);
|
|
180
|
+
});
|
|
181
|
+
it('should return undefined if the pending tx does not exist', async () => {
|
|
182
|
+
const txHash = new TxHash(randomBytes(TxHash.SIZE));
|
|
183
|
+
const response = undefined;
|
|
184
|
+
setFetchMock(response, 404);
|
|
185
|
+
const result = await httpNode.getPendingTxByHash(txHash);
|
|
186
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}get-pending-tx?hash=${txHash}`);
|
|
187
|
+
expect(result).toBeUndefined();
|
|
188
|
+
});
|
|
189
|
+
});
|
|
190
|
+
describe('findContractIndex', () => {
|
|
191
|
+
it('should fetch and return the index of the given contract', async () => {
|
|
192
|
+
const leafValue = Buffer.from('abc123', 'hex');
|
|
193
|
+
const index = '123456';
|
|
194
|
+
const response = { index };
|
|
195
|
+
setFetchMock(response);
|
|
196
|
+
const result = await httpNode.findContractIndex(leafValue);
|
|
197
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-index?leaf=${leafValue.toString('hex')}`);
|
|
198
|
+
expect(result).toBe(BigInt(index));
|
|
199
|
+
});
|
|
200
|
+
it('should return undefined if the contract index is not found', async () => {
|
|
201
|
+
const leafValue = Buffer.from('def456', 'hex');
|
|
202
|
+
const response = {};
|
|
203
|
+
setFetchMock(response);
|
|
204
|
+
const result = await httpNode.findContractIndex(leafValue);
|
|
205
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-index?leaf=${leafValue.toString('hex')}`);
|
|
206
|
+
expect(result).toBeUndefined();
|
|
207
|
+
});
|
|
208
|
+
});
|
|
209
|
+
describe('getContractPath', () => {
|
|
210
|
+
it('should fetch and return the sibling path for the given leaf index', async () => {
|
|
211
|
+
const leafIndex = BigInt(123456);
|
|
212
|
+
const siblingPath = SiblingPath.ZERO(3, Buffer.alloc(32), pedersen);
|
|
213
|
+
const response = { path: siblingPath.toBuffer().toString('hex') };
|
|
214
|
+
setFetchMock(response);
|
|
215
|
+
const result = await httpNode.getContractPath(leafIndex);
|
|
216
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}contract-path?leaf=${leafIndex.toString()}`);
|
|
217
|
+
expect(result).toEqual(siblingPath);
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
describe('findCommitmentIndex', () => {
|
|
221
|
+
it('should fetch and return the index of the given leaf', async () => {
|
|
222
|
+
const leafValue = Buffer.from('0123456789', 'hex');
|
|
223
|
+
const expectedIndex = BigInt(123);
|
|
224
|
+
const response = { index: expectedIndex.toString() };
|
|
225
|
+
setFetchMock(response);
|
|
226
|
+
const result = await httpNode.findCommitmentIndex(leafValue);
|
|
227
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}commitment-index?leaf=${leafValue.toString('hex')}`);
|
|
228
|
+
expect(result).toBe(expectedIndex);
|
|
229
|
+
});
|
|
230
|
+
it('should return undefined if the commitment index is not found', async () => {
|
|
231
|
+
const leafValue = Buffer.from('def456', 'hex');
|
|
232
|
+
const response = {};
|
|
233
|
+
setFetchMock(response);
|
|
234
|
+
const result = await httpNode.findCommitmentIndex(leafValue);
|
|
235
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}commitment-index?leaf=${leafValue.toString('hex')}`);
|
|
236
|
+
expect(result).toBeUndefined();
|
|
237
|
+
});
|
|
238
|
+
});
|
|
239
|
+
describe('getDataTreePath', () => {
|
|
240
|
+
it('should fetch and return the sibling path for the given leaf index', async () => {
|
|
241
|
+
const leafIndex = BigInt(123456);
|
|
242
|
+
const siblingPath = SiblingPath.ZERO(3, Buffer.alloc(32), pedersen);
|
|
243
|
+
const response = { path: siblingPath.toBuffer().toString('hex') };
|
|
244
|
+
setFetchMock(response);
|
|
245
|
+
const result = await httpNode.getDataTreePath(leafIndex);
|
|
246
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}data-path?leaf=${leafIndex.toString()}`);
|
|
247
|
+
expect(result).toEqual(siblingPath);
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
describe('getL1ToL2MessageAndIndex', () => {
|
|
251
|
+
it('should fetch and return the L1 to L2 message and index for the given message key', async () => {
|
|
252
|
+
const messageKey = new Fr(789);
|
|
253
|
+
const expectedMessage = L1ToL2Message.random();
|
|
254
|
+
const expectedIndex = BigInt(123);
|
|
255
|
+
const response = { message: expectedMessage.toBuffer().toString('hex'), index: expectedIndex.toString() };
|
|
256
|
+
setFetchMock(response);
|
|
257
|
+
const result = await httpNode.getL1ToL2MessageAndIndex(messageKey);
|
|
258
|
+
expect(fetch).toHaveBeenCalledWith(`${TEST_URL}l1-l2-message?messageKey=${messageKey.toString()}`);
|
|
259
|
+
expect(result).toEqual({
|
|
260
|
+
message: expectedMessage,
|
|
261
|
+
index: expectedIndex,
|
|
262
|
+
});
|
|
263
|
+
});
|
|
264
|
+
});
|
|
265
|
+
describe('getL1ToL2MessagesTreePath', () => {
|
|
266
|
+
it('should fetch and return the sibling path for the given leaf index', async () => {
|
|
267
|
+
const leafIndex = BigInt(123456);
|
|
268
|
+
const siblingPath = SiblingPath.ZERO(3, Buffer.alloc(32), pedersen);
|
|
269
|
+
const response = { path: siblingPath.toBuffer().toString('hex') };
|
|
270
|
+
setFetchMock(response);
|
|
271
|
+
const result = await httpNode.getL1ToL2MessagesTreePath(leafIndex);
|
|
272
|
+
const url = `${TEST_URL}l1-l2-path?leaf=${leafIndex.toString()}`;
|
|
273
|
+
expect(fetch).toHaveBeenCalledWith(url);
|
|
274
|
+
expect(result).toEqual(siblingPath);
|
|
275
|
+
});
|
|
276
|
+
});
|
|
277
|
+
describe('getStorageAt', () => {
|
|
278
|
+
it('should fetch and return the storage value at the given contract slot', async () => {
|
|
279
|
+
const contractAddress = AztecAddress.random();
|
|
280
|
+
const slot = BigInt(789);
|
|
281
|
+
const storageValue = Buffer.from('0123456789', 'hex');
|
|
282
|
+
const response = { value: storageValue.toString('hex') };
|
|
283
|
+
setFetchMock(response);
|
|
284
|
+
const result = await httpNode.getStorageAt(contractAddress, slot);
|
|
285
|
+
const url = `${TEST_URL}storage-at?address=${contractAddress}&slot=${slot.toString()}`;
|
|
286
|
+
expect(fetch).toHaveBeenCalledWith(url);
|
|
287
|
+
expect(result).toEqual(storageValue);
|
|
288
|
+
});
|
|
289
|
+
it('should return undefined if the storage value is not found', async () => {
|
|
290
|
+
const contractAddress = AztecAddress.random();
|
|
291
|
+
const slot = BigInt(987);
|
|
292
|
+
const response = {};
|
|
293
|
+
setFetchMock(response);
|
|
294
|
+
const result = await httpNode.getStorageAt(contractAddress, slot);
|
|
295
|
+
const url = `${TEST_URL}storage-at?address=${contractAddress}&slot=${slot.toString()}`;
|
|
296
|
+
expect(fetch).toHaveBeenCalledWith(url);
|
|
297
|
+
expect(result).toBeUndefined();
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
describe('getTreeRoots', () => {
|
|
301
|
+
it('should fetch and return the current committed roots for the data trees', async () => {
|
|
302
|
+
const roots = {
|
|
303
|
+
[MerkleTreeId.CONTRACT_TREE]: Fr.random(),
|
|
304
|
+
[MerkleTreeId.PRIVATE_DATA_TREE]: Fr.random(),
|
|
305
|
+
[MerkleTreeId.NULLIFIER_TREE]: Fr.random(),
|
|
306
|
+
[MerkleTreeId.PUBLIC_DATA_TREE]: Fr.random(),
|
|
307
|
+
[MerkleTreeId.L1_TO_L2_MESSAGES_TREE]: Fr.random(),
|
|
308
|
+
[MerkleTreeId.L1_TO_L2_MESSAGES_ROOTS_TREE]: Fr.random(),
|
|
309
|
+
[MerkleTreeId.CONTRACT_TREE_ROOTS_TREE]: Fr.random(),
|
|
310
|
+
[MerkleTreeId.PRIVATE_DATA_TREE_ROOTS_TREE]: Fr.random(),
|
|
311
|
+
};
|
|
312
|
+
const rootsInResponse = Object.fromEntries(Object.entries(roots).map(([key, value]) => [key, value.toString()]));
|
|
313
|
+
const response = { roots: rootsInResponse };
|
|
314
|
+
setFetchMock(response);
|
|
315
|
+
const result = await httpNode.getTreeRoots();
|
|
316
|
+
const url = `${TEST_URL}tree-roots`;
|
|
317
|
+
expect(fetch).toHaveBeenCalledWith(url);
|
|
318
|
+
expect(result).toEqual(roots);
|
|
319
|
+
});
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1ub2RlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9odHRwLW5vZGUudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGtCQUFrQixFQUNsQixhQUFhLEVBQ2IsT0FBTyxFQUNQLGFBQWEsRUFDYixPQUFPLEVBQ1AsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFMUMsTUFBTSxRQUFRLEdBQUcsNEJBQTRCLENBQUM7QUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFhLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBUSxFQUFFO0lBQ3pELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSTtTQUNoQixFQUFFLEVBQXVCO1NBQ3pCLGtCQUFrQixDQUFDLENBQUMsTUFBeUIsRUFBRSxLQUErQixFQUFFLEVBQUU7UUFDakYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDO1lBQ3JCLE1BQU07WUFDTixFQUFFLEVBQUUsSUFBSTtZQUNSLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO1lBQ3BCLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRO1NBQ2hCLENBQUMsQ0FBQztJQUNqQixDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLFFBQVEsQ0FBQyxVQUFVLEVBQUUs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
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { CONTRACT_TREE_HEIGHT, Fr,
|
|
2
|
+
import { CONTRACT_TREE_HEIGHT, Fr, L1_TO_L2_MSG_TREE_HEIGHT, PRIVATE_DATA_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
3
3
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
import { SiblingPath } from '@aztec/merkle-tree';
|
|
5
5
|
import { P2P } from '@aztec/p2p';
|
|
6
6
|
import { SequencerClient } from '@aztec/sequencer-client';
|
|
7
|
-
import { ContractData, ContractDataSource, ContractPublicData, L1ToL2MessageAndIndex, L1ToL2MessageSource, L2Block, L2BlockL2Logs, L2BlockSource, L2LogsSource, MerkleTreeId, Tx, TxHash } from '@aztec/types';
|
|
7
|
+
import { ContractData, ContractDataSource, ContractPublicData, L1ToL2MessageAndIndex, L1ToL2MessageSource, L2Block, L2BlockL2Logs, L2BlockSource, L2LogsSource, LogType, MerkleTreeId, Tx, TxHash } from '@aztec/types';
|
|
8
8
|
import { MerkleTrees, WorldStateSynchroniser } from '@aztec/world-state';
|
|
9
9
|
import { MemDown } from 'memdown';
|
|
10
10
|
import { AztecNode } from './aztec-node.js';
|
|
@@ -23,9 +23,9 @@ export declare class AztecNodeService implements AztecNode {
|
|
|
23
23
|
protected merkleTreeDB: MerkleTrees;
|
|
24
24
|
protected worldStateSynchroniser: WorldStateSynchroniser;
|
|
25
25
|
protected sequencer: SequencerClient;
|
|
26
|
-
protected chainId:
|
|
27
|
-
protected version:
|
|
28
|
-
constructor(p2pClient: P2P, blockSource: L2BlockSource, encryptedLogsSource: L2LogsSource, unencryptedLogsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, merkleTreeDB: MerkleTrees, worldStateSynchroniser: WorldStateSynchroniser, sequencer: SequencerClient, chainId:
|
|
26
|
+
protected chainId: number;
|
|
27
|
+
protected version: number;
|
|
28
|
+
constructor(p2pClient: P2P, blockSource: L2BlockSource, encryptedLogsSource: L2LogsSource, unencryptedLogsSource: L2LogsSource, contractDataSource: ContractDataSource, l1ToL2MessageSource: L1ToL2MessageSource, merkleTreeDB: MerkleTrees, worldStateSynchroniser: WorldStateSynchroniser, sequencer: SequencerClient, chainId: number, version: number);
|
|
29
29
|
/**
|
|
30
30
|
* Initialises the Aztec Node, wait for component to sync.
|
|
31
31
|
* @param config - The configuration to be used by the aztec node.
|
|
@@ -53,12 +53,12 @@ export declare class AztecNodeService implements AztecNode {
|
|
|
53
53
|
* Method to fetch the version of the rollup the node is connected to.
|
|
54
54
|
* @returns The rollup version.
|
|
55
55
|
*/
|
|
56
|
-
getVersion(): Promise<
|
|
56
|
+
getVersion(): Promise<number>;
|
|
57
57
|
/**
|
|
58
58
|
* Method to fetch the chain id of the base-layer for the rollup.
|
|
59
59
|
* @returns The chain id.
|
|
60
60
|
*/
|
|
61
|
-
getChainId(): Promise<
|
|
61
|
+
getChainId(): Promise<number>;
|
|
62
62
|
/**
|
|
63
63
|
* Lookup the L2 contract data for this contract.
|
|
64
64
|
* Contains the ethereum portal address and bytecode.
|
|
@@ -74,19 +74,13 @@ export declare class AztecNodeService implements AztecNode {
|
|
|
74
74
|
*/
|
|
75
75
|
getContractInfo(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
76
76
|
/**
|
|
77
|
-
* Gets the `take` amount of
|
|
78
|
-
* @param from - Number of the L2 block to which corresponds the first
|
|
79
|
-
* @param take - The number of
|
|
80
|
-
* @
|
|
77
|
+
* Gets the `take` amount of logs starting from `from`.
|
|
78
|
+
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
79
|
+
* @param take - The number of logs to return.
|
|
80
|
+
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
81
|
+
* @returns The requested logs.
|
|
81
82
|
*/
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Gets the `take` amount of unencrypted logs starting from `from`.
|
|
85
|
-
* @param from - Number of the L2 block to which corresponds the first unencrypted log to be returned.
|
|
86
|
-
* @param take - The number of unencrypted logs to return.
|
|
87
|
-
* @returns The requested unencrypted logs.
|
|
88
|
-
*/
|
|
89
|
-
getUnencryptedLogs(from: number, take: number): Promise<L2BlockL2Logs[]>;
|
|
83
|
+
getLogs(from: number, take: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
90
84
|
/**
|
|
91
85
|
* Method to submit a transaction to the p2p pool.
|
|
92
86
|
* @param tx - The transaction to be submitted.
|
|
@@ -143,7 +137,7 @@ export declare class AztecNodeService implements AztecNode {
|
|
|
143
137
|
* @param leafIndex - Index of the leaf in the tree.
|
|
144
138
|
* @returns The sibling path.
|
|
145
139
|
*/
|
|
146
|
-
getL1ToL2MessagesTreePath(leafIndex: bigint): Promise<SiblingPath<typeof
|
|
140
|
+
getL1ToL2MessagesTreePath(leafIndex: bigint): Promise<SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
147
141
|
/**
|
|
148
142
|
* Gets the storage value at the given contract slot.
|
|
149
143
|
* @param contract - Address of the contract to query.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EAEpB,EAAE,EACF,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/aztec-node/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Archiver } from '@aztec/archiver';
|
|
|
2
2
|
import { CircuitsWasm, Fr, } from '@aztec/circuits.js';
|
|
3
3
|
import { InMemoryTxPool, createP2PClient } from '@aztec/p2p';
|
|
4
4
|
import { SequencerClient, getCombinedHistoricTreeRoots } from '@aztec/sequencer-client';
|
|
5
|
-
import { MerkleTreeId, } from '@aztec/types';
|
|
5
|
+
import { LogType, MerkleTreeId, } from '@aztec/types';
|
|
6
6
|
import { MerkleTrees, ServerWorldStateSynchroniser, computePublicDataTreeLeafIndex, } from '@aztec/world-state';
|
|
7
7
|
import { default as levelup } from 'levelup';
|
|
8
8
|
import { default as memdown } from 'memdown';
|
|
@@ -44,7 +44,7 @@ export class AztecNodeService {
|
|
|
44
44
|
await Promise.all([p2pClient.start(), worldStateSynchroniser.start()]);
|
|
45
45
|
// now create the sequencer
|
|
46
46
|
const sequencer = await SequencerClient.new(config, p2pClient, worldStateSynchroniser, archiver, archiver, archiver);
|
|
47
|
-
return new AztecNodeService(p2pClient, archiver, archiver, archiver, archiver, archiver, merkleTreeDB, worldStateSynchroniser, sequencer,
|
|
47
|
+
return new AztecNodeService(p2pClient, archiver, archiver, archiver, archiver, archiver, merkleTreeDB, worldStateSynchroniser, sequencer, config.chainId, config.version);
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Method to determine if the node is ready to accept transactions.
|
|
@@ -102,22 +102,15 @@ export class AztecNodeService {
|
|
|
102
102
|
return await this.contractDataSource.getL2ContractInfo(contractAddress);
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
|
-
* Gets the `take` amount of
|
|
106
|
-
* @param from - Number of the L2 block to which corresponds the first
|
|
107
|
-
* @param take - The number of
|
|
108
|
-
* @
|
|
105
|
+
* Gets the `take` amount of logs starting from `from`.
|
|
106
|
+
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
107
|
+
* @param take - The number of logs to return.
|
|
108
|
+
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
109
|
+
* @returns The requested logs.
|
|
109
110
|
*/
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Gets the `take` amount of unencrypted logs starting from `from`.
|
|
115
|
-
* @param from - Number of the L2 block to which corresponds the first unencrypted log to be returned.
|
|
116
|
-
* @param take - The number of unencrypted logs to return.
|
|
117
|
-
* @returns The requested unencrypted logs.
|
|
118
|
-
*/
|
|
119
|
-
getUnencryptedLogs(from, take) {
|
|
120
|
-
return this.unencryptedLogsSource.getUnencryptedLogs(from, take);
|
|
111
|
+
getLogs(from, take, logType) {
|
|
112
|
+
const logSource = logType === LogType.ENCRYPTED ? this.encryptedLogsSource : this.unencryptedLogsSource;
|
|
113
|
+
return logSource.getLogs(from, take, logType);
|
|
121
114
|
}
|
|
122
115
|
/**
|
|
123
116
|
* Method to submit a transaction to the p2p pool.
|
|
@@ -236,4 +229,4 @@ export class AztecNodeService {
|
|
|
236
229
|
};
|
|
237
230
|
}
|
|
238
231
|
}
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F6dGVjLW5vZGUvc2VydmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsWUFBWSxFQUNaLEVBQUUsR0FHSCxNQUFNLG9CQUFvQixDQUFDO0FBRzVCLE9BQU8sRUFBRSxjQUFjLEVBQU8sZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RixPQUFPLEVBVUwsT0FBTyxFQUNQLFlBQVksR0FHYixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQ0wsV0FBVyxFQUNYLDRCQUE0QixFQUU1Qiw4QkFBOEIsR0FDL0IsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxJQUFJLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM3QyxPQUFPLEVBQVcsT0FBTyxJQUFJLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUl0RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUUsT0FBZSxFQUF1QixDQUFDO0FBRTNFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUNZLFNBQWMsRUFDZCxXQUEwQixFQUMxQixtQkFBaUMsRUFDakMscUJBQW1DLEVBQ25DLGtCQUFzQyxFQUN0QyxtQkFBd0MsRUFDeEMsWUFBeUIsRUFDekIsc0JBQThDLEVBQzlDLFNBQTBCLEVBQzFCLE9BQWUsRUFDZixPQUFlO1FBVmYsY0FBUyxHQUFULFNBQVMsQ0FBSztRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBQzFCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBYztRQUNqQywwQkFBcUIsR0FBckIscUJBQXFCLENBQWM7UUFDbkMsdUJBQWtCLEdB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
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec-node",
|
|
3
|
-
"version": "0.1.0-
|
|
3
|
+
"version": "0.1.0-alpha21",
|
|
4
4
|
"exports": "./dest/index.js",
|
|
5
5
|
"main": "dest/index.js",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@aztec/archiver": "0.1.0-
|
|
9
|
-
"@aztec/circuits.js": "0.1.0-
|
|
10
|
-
"@aztec/foundation": "0.1.0-
|
|
11
|
-
"@aztec/l1-artifacts": "0.1.0-
|
|
12
|
-
"@aztec/merkle-tree": "0.1.0-
|
|
13
|
-
"@aztec/p2p": "0.1.0-
|
|
14
|
-
"@aztec/sequencer-client": "0.1.0-
|
|
15
|
-
"@aztec/types": "0.1.0-
|
|
16
|
-
"@aztec/world-state": "0.1.0-
|
|
8
|
+
"@aztec/archiver": "0.1.0-alpha21",
|
|
9
|
+
"@aztec/circuits.js": "0.1.0-alpha21",
|
|
10
|
+
"@aztec/foundation": "0.1.0-alpha21",
|
|
11
|
+
"@aztec/l1-artifacts": "0.1.0-alpha21",
|
|
12
|
+
"@aztec/merkle-tree": "0.1.0-alpha21",
|
|
13
|
+
"@aztec/p2p": "0.1.0-alpha21",
|
|
14
|
+
"@aztec/sequencer-client": "0.1.0-alpha21",
|
|
15
|
+
"@aztec/types": "0.1.0-alpha21",
|
|
16
|
+
"@aztec/world-state": "0.1.0-alpha21",
|
|
17
17
|
"tslib": "^2.4.0"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CONTRACT_TREE_HEIGHT,
|
|
1
|
+
import { CONTRACT_TREE_HEIGHT, L1_TO_L2_MSG_TREE_HEIGHT, PRIVATE_DATA_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
2
2
|
import { AztecAddress } from '@aztec/foundation/aztec-address';
|
|
3
3
|
import {
|
|
4
4
|
ContractPublicData,
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
L2BlockL2Logs,
|
|
10
10
|
TxHash,
|
|
11
11
|
Tx,
|
|
12
|
+
LogType,
|
|
12
13
|
} from '@aztec/types';
|
|
13
14
|
import { SiblingPath } from '@aztec/merkle-tree';
|
|
14
15
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -41,13 +42,13 @@ export interface AztecNode {
|
|
|
41
42
|
* Method to fetch the version of the rollup the node is connected to.
|
|
42
43
|
* @returns The rollup version.
|
|
43
44
|
*/
|
|
44
|
-
getVersion(): Promise<
|
|
45
|
+
getVersion(): Promise<number>;
|
|
45
46
|
|
|
46
47
|
/**
|
|
47
48
|
* Method to fetch the chain id of the base-layer for the rollup.
|
|
48
49
|
* @returns The chain id.
|
|
49
50
|
*/
|
|
50
|
-
getChainId(): Promise<
|
|
51
|
+
getChainId(): Promise<number>;
|
|
51
52
|
|
|
52
53
|
/**
|
|
53
54
|
* Lookup the L2 contract data for this contract.
|
|
@@ -66,20 +67,13 @@ export interface AztecNode {
|
|
|
66
67
|
getContractInfo(contractAddress: AztecAddress): Promise<ContractData | undefined>;
|
|
67
68
|
|
|
68
69
|
/**
|
|
69
|
-
* Gets the `take` amount of
|
|
70
|
-
* @param from - Number of the L2 block to which corresponds the first
|
|
71
|
-
* @param take - The number of
|
|
72
|
-
* @
|
|
70
|
+
* Gets the `take` amount of logs starting from `from`.
|
|
71
|
+
* @param from - Number of the L2 block to which corresponds the first logs to be returned.
|
|
72
|
+
* @param take - The number of logs to return.
|
|
73
|
+
* @param logType - Specifies whether to return encrypted or unencrypted logs.
|
|
74
|
+
* @returns The requested logs.
|
|
73
75
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Gets the `take` amount of unencrypted logs starting from `from`.
|
|
78
|
-
* @param from - Number of the L2 block to which corresponds the first unencrypted logs to be returned.
|
|
79
|
-
* @param take - The number of unencrypted logs to return.
|
|
80
|
-
* @returns The requested unencrypted logs.
|
|
81
|
-
*/
|
|
82
|
-
getUnencryptedLogs(from: number, take: number): Promise<L2BlockL2Logs[]>;
|
|
76
|
+
getLogs(from: number, take: number, logType: LogType): Promise<L2BlockL2Logs[]>;
|
|
83
77
|
|
|
84
78
|
/**
|
|
85
79
|
* Method to submit a transaction to the p2p pool.
|
|
@@ -141,7 +135,7 @@ export interface AztecNode {
|
|
|
141
135
|
* @param leafIndex - Index of the leaf in the tree.
|
|
142
136
|
* @returns The sibling path.
|
|
143
137
|
*/
|
|
144
|
-
getL1ToL2MessagesTreePath(leafIndex: bigint): Promise<SiblingPath<typeof
|
|
138
|
+
getL1ToL2MessagesTreePath(leafIndex: bigint): Promise<SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>>;
|
|
145
139
|
|
|
146
140
|
/**
|
|
147
141
|
* Gets the storage value at the given contract slot. Our version of eth_getStorageAt.
|