@aztec/kv-store 0.62.0 → 0.63.1

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # KV Store
2
2
 
3
- The Aztec KV store is an implementation of a durable key-value database with a pluggable backend. THe only supported backend right now is LMDB by using the [`lmdb-js` package](https://github.com/kriszyp/lmdb-js).
3
+ The Aztec KV store is an implementation of a durable key-value database with a pluggable backend. The only supported backend right now is LMDB by using the [`lmdb-js` package](https://github.com/kriszyp/lmdb-js).
4
4
 
5
5
  This package exports a number of primitive data structures that can be used to build domain-specific databases in each node component (e.g. a PXE database or an Archiver database). The data structures supported:
6
6
 
@@ -0,0 +1,17 @@
1
+ import { type ConfigMappingsType } from '@aztec/foundation/config';
2
+ import { type EthAddress } from '@aztec/foundation/eth-address';
3
+ export type DataStoreConfig = {
4
+ dataDirectory: string | undefined;
5
+ dataStoreMapSizeKB: number;
6
+ l1Contracts: {
7
+ rollupAddress: EthAddress;
8
+ };
9
+ };
10
+ export declare const dataConfigMappings: ConfigMappingsType<DataStoreConfig>;
11
+ /**
12
+ * Returns the archiver configuration from the environment variables.
13
+ * Note: If an environment variable is not set, the default value is used.
14
+ * @returns The archiver configuration.
15
+ */
16
+ export declare function getDataConfigFromEnv(): DataStoreConfig;
17
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAA6C,MAAM,0BAA0B,CAAC;AAC9G,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG;IAC5B,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,kBAAkB,CAAC,eAAe,CAclE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,oBAAoB,IAAI,eAAe,CAEtD"}
package/dest/config.js ADDED
@@ -0,0 +1,26 @@
1
+ import { l1ContractAddressesMapping } from '@aztec/ethereum';
2
+ import { getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
3
+ export const dataConfigMappings = {
4
+ dataDirectory: {
5
+ env: 'DATA_DIRECTORY',
6
+ description: 'Optional dir to store data. If omitted will store in memory.',
7
+ },
8
+ dataStoreMapSizeKB: {
9
+ env: 'DATA_STORE_MAP_SIZE_KB',
10
+ description: 'DB mapping size to be applied to all key/value stores',
11
+ ...numberConfigHelper(128 * 1024 * 1024), // Defaulted to 128 GB
12
+ },
13
+ l1Contracts: {
14
+ description: 'The deployed L1 contract addresses',
15
+ defaultValue: l1ContractAddressesMapping,
16
+ },
17
+ };
18
+ /**
19
+ * Returns the archiver configuration from the environment variables.
20
+ * Note: If an environment variable is not set, the default value is used.
21
+ * @returns The archiver configuration.
22
+ */
23
+ export function getDataConfigFromEnv() {
24
+ return getConfigFromMappings(dataConfigMappings);
25
+ }
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQTJCLHFCQUFxQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFTOUcsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQXdDO0lBQ3JFLGFBQWEsRUFBRTtRQUNiLEdBQUcsRUFBRSxnQkFBZ0I7UUFDckIsV0FBVyxFQUFFLDhEQUE4RDtLQUM1RTtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEdBQUcsRUFBRSx3QkFBd0I7UUFDN0IsV0FBVyxFQUFFLHVEQUF1RDtRQUNwRSxHQUFHLGtCQUFrQixDQUFDLEdBQUcsR0FBRyxJQUFLLEdBQUcsSUFBSyxDQUFDLEVBQUUsc0JBQXNCO0tBQ25FO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsV0FBVyxFQUFFLG9DQUFvQztRQUNqRCxZQUFZLEVBQUUsMEJBQTBCO0tBQ3pDO0NBQ0YsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CO0lBQ2xDLE9BQU8scUJBQXFCLENBQWtCLGtCQUFrQixDQUFDLENBQUM7QUFDcEUsQ0FBQyJ9
@@ -26,7 +26,8 @@ export declare class AztecLmdbStore implements AztecKVStore {
26
26
  * @param log - A logger to use. Optional
27
27
  * @returns The store
28
28
  */
29
- static open(path?: string, ephemeral?: boolean, log?: import("@aztec/foundation/log").Logger): AztecLmdbStore;
29
+ static open(path?: string, mapSizeKb?: number, // defaults to 1 GB map size
30
+ ephemeral?: boolean, log?: import("@aztec/foundation/log").Logger): AztecLmdbStore;
30
31
  /**
31
32
  * Forks the current DB into a new DB by backing it up to a temporary location and opening a new lmdb db.
32
33
  * @returns A new AztecLmdbStore.
@@ -1 +1 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,YAAY,EAAQ,MAAM,MAAM,CAAC;AAIxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D;;GAEG;AACH,qBAAa,cAAe,YAAW,YAAY;;aAMC,WAAW,EAAE,OAAO;IAAE,OAAO,CAAC,IAAI,CAAC;gBAAzE,MAAM,EAAE,YAAY,EAAkB,WAAW,EAAE,OAAO,EAAU,IAAI,CAAC,oBAAQ;IAgB7F;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,GAAE,OAAe,EAC1B,GAAG,yCAA2C,GAC7C,cAAc;IASjB;;;OAGG;IACG,IAAI;IAYV;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAInE;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAI7D;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAI7E,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IAI9F;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAIzC;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAIjD;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7C;;OAEG;IACG,KAAK;IAMX;;OAEG;IACG,IAAI;IAMV;;OAEG;IACG,KAAK;IAMX,kEAAkE;IAC5D,MAAM;IASZ,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;CAWlC"}
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/lmdb/store.ts"],"names":[],"mappings":"AAIA,OAAO,EAA2B,KAAK,YAAY,EAAQ,MAAM,MAAM,CAAC;AAIxE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAO3D;;GAEG;AACH,qBAAa,cAAe,YAAW,YAAY;;aAMC,WAAW,EAAE,OAAO;IAAE,OAAO,CAAC,IAAI,CAAC;gBAAzE,MAAM,EAAE,YAAY,EAAkB,WAAW,EAAE,OAAO,EAAU,IAAI,CAAC,oBAAQ;IAgB7F;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,EAAE,MAAM,EACb,SAAS,SAAkB,EAAE,4BAA4B;IACzD,SAAS,GAAE,OAAe,EAC1B,GAAG,yCAA2C,GAC7C,cAAc;IAUjB;;;OAGG;IACG,IAAI;IAYV;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;IAInE;;;;OAIG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAI7D;;;;OAIG;IACH,YAAY,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;IAI7E,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC;IAI9F;;;;OAIG;IACH,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC;IAIzC;;;;OAIG;IACH,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;IAIjD;;;;OAIG;IACH,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI7C;;OAEG;IACG,KAAK;IAMX;;OAEG;IACG,IAAI;IAMV;;OAEG;IACG,KAAK;IAMX,kEAAkE;IAC5D,MAAM;IASZ,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE;CAWlC"}
@@ -47,12 +47,14 @@ export class AztecLmdbStore {
47
47
  * @param log - A logger to use. Optional
48
48
  * @returns The store
49
49
  */
50
- static open(path, ephemeral = false, log = createDebugLogger('aztec:kv-store:lmdb')) {
51
- log.debug(`Opening LMDB database at ${path || 'temporary location'}`);
50
+ static open(path, mapSizeKb = 1 * 1024 * 1024, // defaults to 1 GB map size
51
+ ephemeral = false, log = createDebugLogger('aztec:kv-store:lmdb')) {
52
52
  if (path) {
53
53
  mkdirSync(path, { recursive: true });
54
54
  }
55
- const rootDb = open({ path, noSync: ephemeral });
55
+ const mapSize = 1024 * mapSizeKb;
56
+ log.debug(`Opening LMDB database at ${path || 'temporary location'} with map size ${mapSize}`);
57
+ const rootDb = open({ path, noSync: ephemeral, mapSize });
56
58
  return new AztecLmdbStore(rootDb, ephemeral, path);
57
59
  }
58
60
  /**
@@ -167,4 +169,4 @@ export class AztecLmdbStore {
167
169
  }
168
170
  }
169
171
  _AztecLmdbStore_rootDb = new WeakMap(), _AztecLmdbStore_data = new WeakMap(), _AztecLmdbStore_multiMapData = new WeakMap(), _AztecLmdbStore_log = new WeakMap();
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUE4QyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQU16QixZQUFZLE1BQW9CLEVBQWtCLFdBQW9CLEVBQVUsSUFBYTtRQUEzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUFVLFNBQUksR0FBSixJQUFJLENBQVM7UUFMN0YseUNBQXNCO1FBQ3RCLHVDQUE4QjtRQUM5QiwrQ0FBc0M7UUFDdEMsOEJBQU8saUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBQztRQUc5Qyx1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBRXRCLG1DQUFtQztRQUNuQyx1QkFBQSxJQUFJLHdCQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lB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
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG1kYi9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTFELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDL0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDMUMsT0FBTyxFQUE4QyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztBQUM1QixPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQVFyQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sY0FBYztJQU16QixZQUFZLE1BQW9CLEVBQWtCLFdBQW9CLEVBQVUsSUFBYTtRQUEzQyxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUFVLFNBQUksR0FBSixJQUFJLENBQVM7UUFMN0YseUNBQXNCO1FBQ3RCLHVDQUE4QjtRQUM5QiwrQ0FBc0M7UUFDdEMsOEJBQU8saUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBQztRQUc5Qyx1QkFBQSxJQUFJLDBCQUFXLE1BQU0sTUFBQSxDQUFDO1FBRXRCLG1DQUFtQztRQUNuQyx1QkFBQSxJQUFJLHdCQUFTLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1lB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
package/dest/utils.d.ts CHANGED
@@ -1,18 +1,11 @@
1
- import { type EthAddress } from '@aztec/foundation/eth-address';
2
1
  import { type Logger } from '@aztec/foundation/log';
3
- import { type AztecKVStore } from './interfaces/store.js';
2
+ import { type DataStoreConfig } from './config.js';
4
3
  import { AztecLmdbStore } from './lmdb/store.js';
5
- export type DataStoreConfig = {
6
- dataDirectory: string | undefined;
7
- l1Contracts: {
8
- rollupAddress: EthAddress;
9
- };
10
- };
11
4
  export declare function createStore(name: string, config: DataStoreConfig, log?: Logger): Promise<AztecLmdbStore>;
12
5
  /**
13
6
  * Opens a temporary store for testing purposes.
14
7
  * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
15
8
  * @returns A new store
16
9
  */
17
- export declare function openTmpStore(ephemeral?: boolean): AztecKVStore;
10
+ export declare function openTmpStore(ephemeral?: boolean): AztecLmdbStore;
18
11
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AAIvE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAAE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAA;CAAE,CAAC;AAEhH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAE,MAA4C,2BAYnH;AAkCD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,OAAe,GAAG,YAAY,CAErE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AAIvE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAE,MAA4C,2BAgBnH;AAkCD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,SAAS,GAAE,OAAe,GAAG,cAAc,CAGvE"}
package/dest/utils.js CHANGED
@@ -7,9 +7,9 @@ export function createStore(name, config, log = createDebugLogger('aztec:kv-stor
7
7
  dataDirectory = join(dataDirectory, name);
8
8
  }
9
9
  log.info(dataDirectory
10
- ? `Creating ${name} data store at directory ${dataDirectory}`
11
- : `Creating ${name} ephemeral data store`);
12
- return initStoreForRollup(AztecLmdbStore.open(dataDirectory, false), config.l1Contracts.rollupAddress, log);
10
+ ? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.dataStoreMapSizeKB} KB`
11
+ : `Creating ${name} ephemeral data store with map size ${config.dataStoreMapSizeKB} KB`);
12
+ return initStoreForRollup(AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKB, false), config.l1Contracts.rollupAddress, log);
13
13
  }
14
14
  /**
15
15
  * Clears the store if the rollup address does not match the one stored in the database.
@@ -41,6 +41,7 @@ async function initStoreForRollup(store, rollupAddress, log) {
41
41
  * @returns A new store
42
42
  */
43
43
  export function openTmpStore(ephemeral = false) {
44
- return AztecLmdbStore.open(undefined, ephemeral);
44
+ const mapSize = 1024 * 1024 * 10; // 10 GB map size
45
+ return AztecLmdbStore.open(undefined, mapSize, ephemeral);
45
46
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJakQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBdUIsRUFBRSxNQUFjLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0lBQ2xILElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FDTixhQUFhO1FBQ1gsQ0FBQyxDQUFDLFlBQVksSUFBSSw0QkFBNEIsYUFBYSxFQUFFO1FBQzdELENBQUMsQ0FBQyxZQUFZLElBQUksdUJBQXVCLENBQzVDLENBQUM7SUFDRixPQUFPLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzlHLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUsa0JBQWtCLENBQy9CLEtBQVEsRUFDUixhQUF5QixFQUN6QixHQUFZO0lBRVosSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ25CLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQ0QsTUFBTSxrQkFBa0IsR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFxQyxlQUFlLENBQUMsQ0FBQztJQUNwRyxNQUFNLG1CQUFtQixHQUFHLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNyRCxNQUFNLHlCQUF5QixHQUFHLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRTNELElBQUksT0FBTyx5QkFBeUIsS0FBSyxXQUFXLElBQUkseUJBQXlCLEtBQUssbUJBQW1CLEVBQUUsQ0FBQztRQUMxRyxHQUFHLEVBQUUsSUFBSSxDQUFDLHNEQUFzRCxFQUFFO1lBQ2hFLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsS0FBSyxFQUFFLHlCQUF5QjtTQUNqQyxDQUFDLENBQUM7UUFFSCxNQUFNLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsTUFBTSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUNsRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxZQUFxQixLQUFLO0lBQ3JELE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbkQsQ0FBQyJ9
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFlLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFdkUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUk1QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFakQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFZLEVBQUUsTUFBdUIsRUFBRSxNQUFjLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDO0lBQ2xILElBQUksRUFBRSxhQUFhLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0IsSUFBSSxPQUFPLGFBQWEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUN6QyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FDTixhQUFhO1FBQ1gsQ0FBQyxDQUFDLFlBQVksSUFBSSw0QkFBNEIsYUFBYSxrQkFBa0IsTUFBTSxDQUFDLGtCQUFrQixLQUFLO1FBQzNHLENBQUMsQ0FBQyxZQUFZLElBQUksdUNBQXVDLE1BQU0sQ0FBQyxrQkFBa0IsS0FBSyxDQUMxRixDQUFDO0lBQ0YsT0FBTyxrQkFBa0IsQ0FDdkIsY0FBYyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxFQUNwRSxNQUFNLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFDaEMsR0FBRyxDQUNKLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsS0FBSyxVQUFVLGtCQUFrQixDQUMvQixLQUFRLEVBQ1IsYUFBeUIsRUFDekIsR0FBWTtJQUVaLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBcUMsZUFBZSxDQUFDLENBQUM7SUFDcEcsTUFBTSxtQkFBbUIsR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckQsTUFBTSx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUUzRCxJQUFJLE9BQU8seUJBQXlCLEtBQUssV0FBVyxJQUFJLHlCQUF5QixLQUFLLG1CQUFtQixFQUFFLENBQUM7UUFDMUcsR0FBRyxFQUFFLElBQUksQ0FBQyxzREFBc0QsRUFBRTtZQUNoRSxRQUFRLEVBQUUsbUJBQW1CO1lBQzdCLEtBQUssRUFBRSx5QkFBeUI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sa0JBQWtCLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsWUFBcUIsS0FBSztJQUNyRCxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQjtJQUNuRCxPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztBQUM1RCxDQUFDIn0=
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "@aztec/kv-store",
3
- "version": "0.62.0",
3
+ "version": "0.63.1",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./dest/interfaces/index.js",
7
7
  "./lmdb": "./dest/lmdb/index.js",
8
- "./utils": "./dest/utils.js"
8
+ "./utils": "./dest/utils.js",
9
+ "./config": "./dest/config.js"
9
10
  },
10
11
  "scripts": {
11
12
  "build": "yarn clean && tsc -b",
@@ -55,7 +56,8 @@
55
56
  ]
56
57
  },
57
58
  "dependencies": {
58
- "@aztec/foundation": "0.62.0",
59
+ "@aztec/ethereum": "0.63.1",
60
+ "@aztec/foundation": "0.63.1",
59
61
  "lmdb": "^3.0.6"
60
62
  },
61
63
  "devDependencies": {
package/src/config.ts ADDED
@@ -0,0 +1,34 @@
1
+ import { l1ContractAddressesMapping } from '@aztec/ethereum';
2
+ import { type ConfigMappingsType, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
3
+ import { type EthAddress } from '@aztec/foundation/eth-address';
4
+
5
+ export type DataStoreConfig = {
6
+ dataDirectory: string | undefined;
7
+ dataStoreMapSizeKB: number;
8
+ l1Contracts: { rollupAddress: EthAddress };
9
+ };
10
+
11
+ export const dataConfigMappings: ConfigMappingsType<DataStoreConfig> = {
12
+ dataDirectory: {
13
+ env: 'DATA_DIRECTORY',
14
+ description: 'Optional dir to store data. If omitted will store in memory.',
15
+ },
16
+ dataStoreMapSizeKB: {
17
+ env: 'DATA_STORE_MAP_SIZE_KB',
18
+ description: 'DB mapping size to be applied to all key/value stores',
19
+ ...numberConfigHelper(128 * 1_024 * 1_024), // Defaulted to 128 GB
20
+ },
21
+ l1Contracts: {
22
+ description: 'The deployed L1 contract addresses',
23
+ defaultValue: l1ContractAddressesMapping,
24
+ },
25
+ };
26
+
27
+ /**
28
+ * Returns the archiver configuration from the environment variables.
29
+ * Note: If an environment variable is not set, the default value is used.
30
+ * @returns The archiver configuration.
31
+ */
32
+ export function getDataConfigFromEnv(): DataStoreConfig {
33
+ return getConfigFromMappings<DataStoreConfig>(dataConfigMappings);
34
+ }
package/src/lmdb/store.ts CHANGED
@@ -58,14 +58,16 @@ export class AztecLmdbStore implements AztecKVStore {
58
58
  */
59
59
  static open(
60
60
  path?: string,
61
+ mapSizeKb = 1 * 1024 * 1024, // defaults to 1 GB map size
61
62
  ephemeral: boolean = false,
62
63
  log = createDebugLogger('aztec:kv-store:lmdb'),
63
64
  ): AztecLmdbStore {
64
- log.debug(`Opening LMDB database at ${path || 'temporary location'}`);
65
65
  if (path) {
66
66
  mkdirSync(path, { recursive: true });
67
67
  }
68
- const rootDb = open({ path, noSync: ephemeral });
68
+ const mapSize = 1024 * mapSizeKb;
69
+ log.debug(`Opening LMDB database at ${path || 'temporary location'} with map size ${mapSize}`);
70
+ const rootDb = open({ path, noSync: ephemeral, mapSize });
69
71
  return new AztecLmdbStore(rootDb, ephemeral, path);
70
72
  }
71
73
 
package/src/utils.ts CHANGED
@@ -3,11 +3,10 @@ import { type Logger, createDebugLogger } from '@aztec/foundation/log';
3
3
 
4
4
  import { join } from 'path';
5
5
 
6
+ import { type DataStoreConfig } from './config.js';
6
7
  import { type AztecKVStore } from './interfaces/store.js';
7
8
  import { AztecLmdbStore } from './lmdb/store.js';
8
9
 
9
- export type DataStoreConfig = { dataDirectory: string | undefined; l1Contracts: { rollupAddress: EthAddress } };
10
-
11
10
  export function createStore(name: string, config: DataStoreConfig, log: Logger = createDebugLogger('aztec:kv-store')) {
12
11
  let { dataDirectory } = config;
13
12
  if (typeof dataDirectory !== 'undefined') {
@@ -16,10 +15,14 @@ export function createStore(name: string, config: DataStoreConfig, log: Logger =
16
15
 
17
16
  log.info(
18
17
  dataDirectory
19
- ? `Creating ${name} data store at directory ${dataDirectory}`
20
- : `Creating ${name} ephemeral data store`,
18
+ ? `Creating ${name} data store at directory ${dataDirectory} with map size ${config.dataStoreMapSizeKB} KB`
19
+ : `Creating ${name} ephemeral data store with map size ${config.dataStoreMapSizeKB} KB`,
20
+ );
21
+ return initStoreForRollup(
22
+ AztecLmdbStore.open(dataDirectory, config.dataStoreMapSizeKB, false),
23
+ config.l1Contracts.rollupAddress,
24
+ log,
21
25
  );
22
- return initStoreForRollup(AztecLmdbStore.open(dataDirectory, false), config.l1Contracts.rollupAddress, log);
23
26
  }
24
27
 
25
28
  /**
@@ -59,6 +62,7 @@ async function initStoreForRollup<T extends AztecKVStore>(
59
62
  * @param ephemeral - true if the store should only exist in memory and not automatically be flushed to disk. Optional
60
63
  * @returns A new store
61
64
  */
62
- export function openTmpStore(ephemeral: boolean = false): AztecKVStore {
63
- return AztecLmdbStore.open(undefined, ephemeral);
65
+ export function openTmpStore(ephemeral: boolean = false): AztecLmdbStore {
66
+ const mapSize = 1024 * 1024 * 10; // 10 GB map size
67
+ return AztecLmdbStore.open(undefined, mapSize, ephemeral);
64
68
  }