@aztec/aztec-node 0.8.13 → 0.9.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/aztec-node/db.d.ts +2 -1
- package/dest/aztec-node/db.d.ts.map +1 -1
- package/dest/aztec-node/db.js +14 -3
- package/package.json +11 -11
- package/src/aztec-node/db.ts +14 -2
package/dest/aztec-node/db.d.ts
CHANGED
|
@@ -5,8 +5,9 @@ import { AztecNodeConfig } from './config.js';
|
|
|
5
5
|
export declare const createMemDown: () => MemDown<any, any>;
|
|
6
6
|
export declare const createLevelDown: (path: string) => LevelDown;
|
|
7
7
|
/**
|
|
8
|
-
* Opens the database for the aztec node.
|
|
8
|
+
* Opens the database for the aztec node. If a data directory is specified, then this attempts to create it.
|
|
9
9
|
* @param config - The configuration to be used by the aztec node.
|
|
10
|
+
* @throws If `config.dataDirectory` is set and the directory cannot be created.
|
|
10
11
|
* @returns The database for the aztec node.
|
|
11
12
|
*/
|
|
12
13
|
export declare function openDb(config: AztecNodeConfig): Promise<LevelUp>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/aztec-node/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAsB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAsB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/aztec-node/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAwB,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAsB,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAsB,MAAM,SAAS,CAAC;AAItD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,aAAa,yBAAgD,CAAC;AAC3E,eAAO,MAAM,eAAe,SAAU,MAAM,cAA0C,CAAC;AAevF;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAyBtE"}
|
package/dest/aztec-node/db.js
CHANGED
|
@@ -1,21 +1,32 @@
|
|
|
1
1
|
import { default as leveldown } from 'leveldown';
|
|
2
2
|
import { default as levelup } from 'levelup';
|
|
3
3
|
import { default as memdown } from 'memdown';
|
|
4
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
5
|
import { join } from 'node:path';
|
|
5
6
|
export const createMemDown = () => memdown();
|
|
6
7
|
export const createLevelDown = (path) => leveldown(path);
|
|
7
8
|
const DB_SUBDIR = 'aztec-node';
|
|
8
9
|
const NODE_METADATA_KEY = '@@aztec_node_metadata';
|
|
9
10
|
/**
|
|
10
|
-
* Opens the database for the aztec node.
|
|
11
|
+
* Opens the database for the aztec node. If a data directory is specified, then this attempts to create it.
|
|
11
12
|
* @param config - The configuration to be used by the aztec node.
|
|
13
|
+
* @throws If `config.dataDirectory` is set and the directory cannot be created.
|
|
12
14
|
* @returns The database for the aztec node.
|
|
13
15
|
*/
|
|
14
16
|
export async function openDb(config) {
|
|
15
17
|
const nodeMetadata = {
|
|
16
18
|
rollupContractAddress: config.l1Contracts.rollupAddress.toString(),
|
|
17
19
|
};
|
|
18
|
-
|
|
20
|
+
let db;
|
|
21
|
+
if (config.dataDirectory) {
|
|
22
|
+
const dbDir = join(config.dataDirectory, DB_SUBDIR);
|
|
23
|
+
// this throws if we don't have permissions to create the directory
|
|
24
|
+
await mkdir(dbDir, { recursive: true });
|
|
25
|
+
db = levelup(createLevelDown(dbDir));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
db = levelup(createMemDown());
|
|
29
|
+
}
|
|
19
30
|
const prevNodeMetadata = await getNodeMetadata(db);
|
|
20
31
|
// if the rollup addresses are different, wipe the local database and start over
|
|
21
32
|
if (nodeMetadata.rollupContractAddress !== prevNodeMetadata.rollupContractAddress) {
|
|
@@ -40,4 +51,4 @@ async function getNodeMetadata(db) {
|
|
|
40
51
|
};
|
|
41
52
|
}
|
|
42
53
|
}
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp0ZWMtbm9kZS9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWEsT0FBTyxJQUFJLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM1RCxPQUFPLEVBQVcsT0FBTyxJQUFJLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQVcsT0FBTyxJQUFJLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUlqQyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUUsT0FBZSxFQUF1QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLElBQVksRUFBRSxFQUFFLENBQUUsU0FBaUIsQ0FBQyxJQUFJLENBQWMsQ0FBQztBQUV2RixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUM7QUFDL0IsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQVlsRDs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsTUFBTSxDQUFDLE1BQXVCO0lBQ2xELE1BQU0sWUFBWSxHQUFpQjtRQUNqQyxxQkFBcUIsRUFBRSxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7S0FDbkUsQ0FBQztJQUVGLElBQUksRUFBVyxDQUFDO0lBRWhCLElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRTtRQUN4QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxtRUFBbUU7UUFDbkUsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDeEMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztLQUN0QztTQUFNO1FBQ0wsRUFBRSxHQUFHLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVuRCxnRkFBZ0Y7SUFDaEYsSUFBSSxZQUFZLENBQUMscUJBQXFCLEtBQUssZ0JBQWdCLENBQUMscUJBQXFCLEVBQUU7UUFDakYsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDbEI7SUFFRCxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzlELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLFVBQVUsZUFBZSxDQUFDLEVBQVc7SUFDeEMsSUFBSTtRQUNGLE1BQU0sS0FBSyxHQUFXLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7S0FDNUM7SUFBQyxNQUFNO1FBQ04sT0FBTztZQUNMLHFCQUFxQixFQUFFLEVBQUU7U0FDMUIsQ0FBQztLQUNIO0FBQ0gsQ0FBQyJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"main": "dest/index.js",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": "./dest/index.js",
|
|
@@ -33,16 +33,16 @@
|
|
|
33
33
|
"rootDir": "./src"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@aztec/archiver": "0.
|
|
37
|
-
"@aztec/circuits.js": "0.
|
|
38
|
-
"@aztec/ethereum": "0.
|
|
39
|
-
"@aztec/foundation": "0.
|
|
40
|
-
"@aztec/l1-artifacts": "0.
|
|
41
|
-
"@aztec/merkle-tree": "0.
|
|
42
|
-
"@aztec/p2p": "0.
|
|
43
|
-
"@aztec/sequencer-client": "0.
|
|
44
|
-
"@aztec/types": "0.
|
|
45
|
-
"@aztec/world-state": "0.
|
|
36
|
+
"@aztec/archiver": "0.9.0",
|
|
37
|
+
"@aztec/circuits.js": "0.9.0",
|
|
38
|
+
"@aztec/ethereum": "0.9.0",
|
|
39
|
+
"@aztec/foundation": "0.9.0",
|
|
40
|
+
"@aztec/l1-artifacts": "0.9.0",
|
|
41
|
+
"@aztec/merkle-tree": "0.9.0",
|
|
42
|
+
"@aztec/p2p": "0.9.0",
|
|
43
|
+
"@aztec/sequencer-client": "0.9.0",
|
|
44
|
+
"@aztec/types": "0.9.0",
|
|
45
|
+
"@aztec/world-state": "0.9.0",
|
|
46
46
|
"koa": "^2.14.2",
|
|
47
47
|
"koa-router": "^12.0.0",
|
|
48
48
|
"levelup": "^5.1.1",
|
package/src/aztec-node/db.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { LevelDown, default as leveldown } from 'leveldown';
|
|
2
2
|
import { LevelUp, default as levelup } from 'levelup';
|
|
3
3
|
import { MemDown, default as memdown } from 'memdown';
|
|
4
|
+
import { mkdir } from 'node:fs/promises';
|
|
4
5
|
import { join } from 'node:path';
|
|
5
6
|
|
|
6
7
|
import { AztecNodeConfig } from './config.js';
|
|
@@ -22,8 +23,9 @@ type NodeMetadata = {
|
|
|
22
23
|
};
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
|
-
* Opens the database for the aztec node.
|
|
26
|
+
* Opens the database for the aztec node. If a data directory is specified, then this attempts to create it.
|
|
26
27
|
* @param config - The configuration to be used by the aztec node.
|
|
28
|
+
* @throws If `config.dataDirectory` is set and the directory cannot be created.
|
|
27
29
|
* @returns The database for the aztec node.
|
|
28
30
|
*/
|
|
29
31
|
export async function openDb(config: AztecNodeConfig): Promise<LevelUp> {
|
|
@@ -31,7 +33,17 @@ export async function openDb(config: AztecNodeConfig): Promise<LevelUp> {
|
|
|
31
33
|
rollupContractAddress: config.l1Contracts.rollupAddress.toString(),
|
|
32
34
|
};
|
|
33
35
|
|
|
34
|
-
|
|
36
|
+
let db: LevelUp;
|
|
37
|
+
|
|
38
|
+
if (config.dataDirectory) {
|
|
39
|
+
const dbDir = join(config.dataDirectory, DB_SUBDIR);
|
|
40
|
+
// this throws if we don't have permissions to create the directory
|
|
41
|
+
await mkdir(dbDir, { recursive: true });
|
|
42
|
+
db = levelup(createLevelDown(dbDir));
|
|
43
|
+
} else {
|
|
44
|
+
db = levelup(createMemDown());
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
const prevNodeMetadata = await getNodeMetadata(db);
|
|
36
48
|
|
|
37
49
|
// if the rollup addresses are different, wipe the local database and start over
|