@aztec/archiver 3.0.0-canary.a9708bd → 3.0.0-devnet.2-patch.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 +27 -6
- package/dest/archiver/archiver.d.ts +87 -64
- package/dest/archiver/archiver.d.ts.map +1 -1
- package/dest/archiver/archiver.js +463 -278
- package/dest/archiver/archiver_store.d.ts +46 -28
- package/dest/archiver/archiver_store.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts +1 -1
- package/dest/archiver/archiver_store_test_suite.d.ts.map +1 -1
- package/dest/archiver/archiver_store_test_suite.js +316 -143
- package/dest/archiver/config.d.ts +6 -23
- package/dest/archiver/config.d.ts.map +1 -1
- package/dest/archiver/config.js +19 -12
- package/dest/archiver/errors.d.ts +1 -1
- package/dest/archiver/errors.d.ts.map +1 -1
- package/dest/archiver/index.d.ts +1 -1
- package/dest/archiver/instrumentation.d.ts +5 -3
- package/dest/archiver/instrumentation.d.ts.map +1 -1
- package/dest/archiver/instrumentation.js +14 -0
- package/dest/archiver/kv_archiver_store/block_store.d.ts +45 -9
- package/dest/archiver/kv_archiver_store/block_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/block_store.js +99 -12
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_class_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/contract_class_store.js +1 -1
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts +2 -2
- package/dest/archiver/kv_archiver_store/contract_instance_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts +30 -30
- package/dest/archiver/kv_archiver_store/kv_archiver_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/kv_archiver_store.js +26 -15
- package/dest/archiver/kv_archiver_store/log_store.d.ts +3 -10
- package/dest/archiver/kv_archiver_store/log_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/log_store.js +4 -26
- package/dest/archiver/kv_archiver_store/message_store.d.ts +6 -5
- package/dest/archiver/kv_archiver_store/message_store.d.ts.map +1 -1
- package/dest/archiver/kv_archiver_store/message_store.js +15 -14
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts +3 -0
- package/dest/archiver/l1/bin/retrieve-calldata.d.ts.map +1 -0
- package/dest/archiver/l1/bin/retrieve-calldata.js +147 -0
- package/dest/archiver/l1/calldata_retriever.d.ts +98 -0
- package/dest/archiver/l1/calldata_retriever.d.ts.map +1 -0
- package/dest/archiver/l1/calldata_retriever.js +403 -0
- package/dest/archiver/l1/data_retrieval.d.ts +87 -0
- package/dest/archiver/l1/data_retrieval.d.ts.map +1 -0
- package/dest/archiver/{data_retrieval.js → l1/data_retrieval.js} +118 -154
- package/dest/archiver/l1/debug_tx.d.ts +19 -0
- package/dest/archiver/l1/debug_tx.d.ts.map +1 -0
- package/dest/archiver/l1/debug_tx.js +73 -0
- package/dest/archiver/l1/spire_proposer.d.ts +70 -0
- package/dest/archiver/l1/spire_proposer.d.ts.map +1 -0
- package/dest/archiver/l1/spire_proposer.js +157 -0
- package/dest/archiver/l1/trace_tx.d.ts +97 -0
- package/dest/archiver/l1/trace_tx.d.ts.map +1 -0
- package/dest/archiver/l1/trace_tx.js +91 -0
- package/dest/archiver/l1/types.d.ts +12 -0
- package/dest/archiver/l1/types.d.ts.map +1 -0
- package/dest/archiver/l1/types.js +3 -0
- package/dest/archiver/l1/validate_trace.d.ts +29 -0
- package/dest/archiver/l1/validate_trace.d.ts.map +1 -0
- package/dest/archiver/l1/validate_trace.js +150 -0
- package/dest/archiver/structs/data_retrieval.d.ts +1 -1
- package/dest/archiver/structs/inbox_message.d.ts +4 -4
- package/dest/archiver/structs/inbox_message.d.ts.map +1 -1
- package/dest/archiver/structs/inbox_message.js +6 -5
- package/dest/archiver/structs/published.d.ts +3 -2
- package/dest/archiver/structs/published.d.ts.map +1 -1
- package/dest/archiver/validation.d.ts +10 -4
- package/dest/archiver/validation.d.ts.map +1 -1
- package/dest/archiver/validation.js +66 -44
- package/dest/factory.d.ts +3 -11
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +5 -17
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -1
- package/dest/rpc/index.d.ts +2 -2
- package/dest/test/index.d.ts +1 -1
- package/dest/test/mock_archiver.d.ts +16 -8
- package/dest/test/mock_archiver.d.ts.map +1 -1
- package/dest/test/mock_archiver.js +19 -14
- package/dest/test/mock_l1_to_l2_message_source.d.ts +7 -6
- package/dest/test/mock_l1_to_l2_message_source.d.ts.map +1 -1
- package/dest/test/mock_l1_to_l2_message_source.js +10 -9
- package/dest/test/mock_l2_block_source.d.ts +24 -20
- package/dest/test/mock_l2_block_source.d.ts.map +1 -1
- package/dest/test/mock_l2_block_source.js +79 -13
- package/dest/test/mock_structs.d.ts +3 -2
- package/dest/test/mock_structs.d.ts.map +1 -1
- package/dest/test/mock_structs.js +9 -8
- package/package.json +18 -17
- package/src/archiver/archiver.ts +610 -363
- package/src/archiver/archiver_store.ts +55 -28
- package/src/archiver/archiver_store_test_suite.ts +369 -143
- package/src/archiver/config.ts +26 -51
- package/src/archiver/instrumentation.ts +19 -2
- package/src/archiver/kv_archiver_store/block_store.ts +139 -21
- package/src/archiver/kv_archiver_store/contract_class_store.ts +1 -1
- package/src/archiver/kv_archiver_store/contract_instance_store.ts +1 -1
- package/src/archiver/kv_archiver_store/kv_archiver_store.ts +48 -33
- package/src/archiver/kv_archiver_store/log_store.ts +4 -30
- package/src/archiver/kv_archiver_store/message_store.ts +21 -18
- package/src/archiver/l1/README.md +98 -0
- package/src/archiver/l1/bin/retrieve-calldata.ts +182 -0
- package/src/archiver/l1/calldata_retriever.ts +531 -0
- package/src/archiver/{data_retrieval.ts → l1/data_retrieval.ts} +198 -242
- package/src/archiver/l1/debug_tx.ts +99 -0
- package/src/archiver/l1/spire_proposer.ts +160 -0
- package/src/archiver/l1/trace_tx.ts +128 -0
- package/src/archiver/l1/types.ts +13 -0
- package/src/archiver/l1/validate_trace.ts +211 -0
- package/src/archiver/structs/inbox_message.ts +8 -8
- package/src/archiver/structs/published.ts +2 -1
- package/src/archiver/validation.ts +86 -32
- package/src/factory.ts +6 -26
- package/src/index.ts +1 -1
- package/src/test/fixtures/debug_traceTransaction-multicall3.json +88 -0
- package/src/test/fixtures/debug_traceTransaction-multiplePropose.json +153 -0
- package/src/test/fixtures/debug_traceTransaction-proxied.json +122 -0
- package/src/test/fixtures/trace_transaction-multicall3.json +65 -0
- package/src/test/fixtures/trace_transaction-multiplePropose.json +319 -0
- package/src/test/fixtures/trace_transaction-proxied.json +128 -0
- package/src/test/fixtures/trace_transaction-randomRevert.json +216 -0
- package/src/test/mock_archiver.ts +22 -16
- package/src/test/mock_l1_to_l2_message_source.ts +10 -9
- package/src/test/mock_l2_block_source.ts +110 -27
- package/src/test/mock_structs.ts +10 -9
- package/dest/archiver/data_retrieval.d.ts +0 -78
- package/dest/archiver/data_retrieval.d.ts.map +0 -1
|
@@ -1,34 +1,17 @@
|
|
|
1
1
|
import { type BlobSinkConfig } from '@aztec/blob-sink/client';
|
|
2
|
-
import { type
|
|
2
|
+
import { type L1ContractsConfig } from '@aztec/ethereum/config';
|
|
3
|
+
import { type L1ReaderConfig } from '@aztec/ethereum/l1-reader';
|
|
3
4
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
4
5
|
import { type ChainConfig } from '@aztec/stdlib/config';
|
|
6
|
+
import type { ArchiverSpecificConfig } from '@aztec/stdlib/interfaces/server';
|
|
5
7
|
/**
|
|
8
|
+
* The archiver configuration.
|
|
6
9
|
* There are 2 polling intervals used in this configuration. The first is the archiver polling interval, archiverPollingIntervalMS.
|
|
7
10
|
* This is the interval between successive calls to eth_blockNumber via viem.
|
|
8
11
|
* Results of calls to eth_blockNumber are cached by viem with this cache being updated periodically at the interval specified by viemPollingIntervalMS.
|
|
9
12
|
* As a result the maximum observed polling time for new blocks will be viemPollingIntervalMS + archiverPollingIntervalMS.
|
|
10
13
|
*/
|
|
11
|
-
|
|
12
|
-
* The archiver configuration.
|
|
13
|
-
*/
|
|
14
|
-
export type ArchiverConfig = {
|
|
15
|
-
/** URL for an archiver service. If set, will return an archiver client as opposed to starting a new one. */
|
|
16
|
-
archiverUrl?: string;
|
|
17
|
-
/** List of URLS for L1 consensus clients */
|
|
18
|
-
l1ConsensusHostUrls?: string[];
|
|
19
|
-
/** The polling interval in ms for retrieving new L2 blocks and encrypted logs. */
|
|
20
|
-
archiverPollingIntervalMS?: number;
|
|
21
|
-
/** The number of L2 blocks the archiver will attempt to download at a time. */
|
|
22
|
-
archiverBatchSize?: number;
|
|
23
|
-
/** The polling interval viem uses in ms */
|
|
24
|
-
viemPollingIntervalMS?: number;
|
|
25
|
-
/** The deployed L1 contract addresses */
|
|
26
|
-
l1Contracts: L1ContractAddresses;
|
|
27
|
-
/** The max number of logs that can be obtained in 1 "getPublicLogs" call. */
|
|
28
|
-
maxLogs?: number;
|
|
29
|
-
/** The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKB. */
|
|
30
|
-
archiverStoreMapSizeKb?: number;
|
|
31
|
-
} & L1ReaderConfig & L1ContractsConfig & BlobSinkConfig & ChainConfig;
|
|
14
|
+
export type ArchiverConfig = ArchiverSpecificConfig & L1ReaderConfig & L1ContractsConfig & BlobSinkConfig & ChainConfig;
|
|
32
15
|
export declare const archiverConfigMappings: ConfigMappingsType<ArchiverConfig>;
|
|
33
16
|
/**
|
|
34
17
|
* Returns the archiver configuration from the environment variables.
|
|
@@ -36,4 +19,4 @@ export declare const archiverConfigMappings: ConfigMappingsType<ArchiverConfig>;
|
|
|
36
19
|
* @returns The archiver configuration.
|
|
37
20
|
*/
|
|
38
21
|
export declare function getArchiverConfigFromEnv(): ArchiverConfig;
|
|
39
|
-
//# sourceMappingURL=
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGNBQWMsRUFBeUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNyRixPQUFPLEVBQUUsS0FBSyxpQkFBaUIsRUFBNkIsTUFBTSx3QkFBd0IsQ0FBQztBQUUzRixPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7QUFDeEYsT0FBTyxFQUNMLEtBQUssa0JBQWtCLEVBSXhCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUF1QixNQUFNLHNCQUFzQixDQUFDO0FBQzdFLE9BQU8sS0FBSyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFOUU7Ozs7OztHQU1HO0FBQ0gsTUFBTSxNQUFNLGNBQWMsR0FBRyxzQkFBc0IsR0FBRyxjQUFjLEdBQUcsaUJBQWlCLEdBQUcsY0FBYyxHQUFHLFdBQVcsQ0FBQztBQUV4SCxlQUFPLE1BQU0sc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsY0FBYyxDQWdEckUsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCx3QkFBZ0Isd0JBQXdCLElBQUksY0FBYyxDQUV6RCJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/archiver/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAyB,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAE,KAAK,iBAAiB,EAA6B,MAAM,wBAAwB,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAA0B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EACL,KAAK,kBAAkB,EAIxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,KAAK,WAAW,EAAuB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,cAAc,GAAG,iBAAiB,GAAG,cAAc,GAAG,WAAW,CAAC;AAExH,eAAO,MAAM,sBAAsB,EAAE,kBAAkB,CAAC,cAAc,CAgDrE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}
|
package/dest/archiver/config.js
CHANGED
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { blobSinkConfigMapping } from '@aztec/blob-sink/client';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { l1ContractsConfigMappings } from '@aztec/ethereum/config';
|
|
3
|
+
import { l1ContractAddressesMapping } from '@aztec/ethereum/l1-contract-addresses';
|
|
4
|
+
import { l1ReaderConfigMappings } from '@aztec/ethereum/l1-reader';
|
|
5
|
+
import { booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
4
6
|
import { chainConfigMappings } from '@aztec/stdlib/config';
|
|
5
7
|
export const archiverConfigMappings = {
|
|
6
8
|
...blobSinkConfigMapping,
|
|
7
|
-
archiverUrl: {
|
|
8
|
-
env: 'ARCHIVER_URL',
|
|
9
|
-
description: 'URL for an archiver service. If set, will return an archiver client as opposed to starting a new one.'
|
|
10
|
-
},
|
|
11
|
-
l1ConsensusHostUrls: {
|
|
12
|
-
env: 'L1_CONSENSUS_HOST_URLS',
|
|
13
|
-
description: 'List of URLS for L1 consensus clients.',
|
|
14
|
-
parseEnv: (val)=>val.split(',').map((url)=>url.trim().replace(/\/$/, ''))
|
|
15
|
-
},
|
|
16
9
|
archiverPollingIntervalMS: {
|
|
17
10
|
env: 'ARCHIVER_POLLING_INTERVAL_MS',
|
|
18
11
|
description: 'The polling interval in ms for retrieving new L2 blocks and encrypted logs.',
|
|
@@ -31,7 +24,21 @@ export const archiverConfigMappings = {
|
|
|
31
24
|
archiverStoreMapSizeKb: {
|
|
32
25
|
env: 'ARCHIVER_STORE_MAP_SIZE_KB',
|
|
33
26
|
parseEnv: (val)=>val ? +val : undefined,
|
|
34
|
-
description: 'The maximum possible size of the archiver DB in KB. Overwrites the general
|
|
27
|
+
description: 'The maximum possible size of the archiver DB in KB. Overwrites the general dataStoreMapSizeKb.'
|
|
28
|
+
},
|
|
29
|
+
skipValidateBlockAttestations: {
|
|
30
|
+
description: 'Whether to skip validating block attestations (use only for testing).',
|
|
31
|
+
...booleanConfigHelper(false)
|
|
32
|
+
},
|
|
33
|
+
maxAllowedEthClientDriftSeconds: {
|
|
34
|
+
env: 'MAX_ALLOWED_ETH_CLIENT_DRIFT_SECONDS',
|
|
35
|
+
description: 'Maximum allowed drift in seconds between the Ethereum client and current time.',
|
|
36
|
+
...numberConfigHelper(300)
|
|
37
|
+
},
|
|
38
|
+
ethereumAllowNoDebugHosts: {
|
|
39
|
+
env: 'ETHEREUM_ALLOW_NO_DEBUG_HOSTS',
|
|
40
|
+
description: 'Whether to allow starting the archiver without debug/trace method support on Ethereum hosts',
|
|
41
|
+
...booleanConfigHelper(true)
|
|
35
42
|
},
|
|
36
43
|
...chainConfigMappings,
|
|
37
44
|
...l1ReaderConfigMappings,
|
|
@@ -9,4 +9,4 @@ export declare class InitialBlockNumberNotSequentialError extends Error {
|
|
|
9
9
|
export declare class BlockNumberNotSequentialError extends Error {
|
|
10
10
|
constructor(newBlockNumber: number, previous: number | undefined);
|
|
11
11
|
}
|
|
12
|
-
//# sourceMappingURL=
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFCQUFhLHNCQUF1QixTQUFRLEtBQUs7SUFDL0MsWUFBWSxVQUFVLEVBQUUsTUFBTSxFQUU3QjtDQUNGO0FBRUQscUJBQWEsb0NBQXFDLFNBQVEsS0FBSzthQUUzQyxjQUFjLEVBQUUsTUFBTTthQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUztJQUZ6RCxZQUNrQixjQUFjLEVBQUUsTUFBTSxFQUN0QixtQkFBbUIsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQU94RDtDQUNGO0FBRUQscUJBQWEsNkJBQThCLFNBQVEsS0FBSztJQUN0RCxZQUFZLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sR0FBRyxTQUFTLEVBSS9EO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/archiver/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/archiver/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,YAAY,UAAU,EAAE,MAAM,EAE7B;CACF;AAED,qBAAa,oCAAqC,SAAQ,KAAK;aAE3C,cAAc,EAAE,MAAM;aACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS;IAFzD,YACkB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,MAAM,GAAG,SAAS,EAOxD;CACF;AAED,qBAAa,6BAA8B,SAAQ,KAAK;IACtD,YAAY,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAI/D;CACF"}
|
package/dest/archiver/index.d.ts
CHANGED
|
@@ -4,4 +4,4 @@ export { type PublishedL2Block, type L1PublishedData } from './structs/published
|
|
|
4
4
|
export type { ArchiverDataStore } from './archiver_store.js';
|
|
5
5
|
export { KVArchiverDataStore, ARCHIVER_DB_VERSION } from './kv_archiver_store/kv_archiver_store.js';
|
|
6
6
|
export { ContractInstanceStore } from './kv_archiver_store/contract_instance_store.js';
|
|
7
|
-
//# sourceMappingURL=
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hcmNoaXZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGFBQWEsQ0FBQztBQUM1QixPQUFPLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JGLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { L2BlockNew } from '@aztec/stdlib/block';
|
|
2
2
|
import { type LmdbStatsCallback, type TelemetryClient, type Tracer } from '@aztec/telemetry-client';
|
|
3
3
|
export declare class ArchiverInstrumentation {
|
|
4
4
|
private telemetry;
|
|
@@ -17,11 +17,12 @@ export declare class ArchiverInstrumentation {
|
|
|
17
17
|
private txsPerBlock;
|
|
18
18
|
private syncDurationPerMessage;
|
|
19
19
|
private syncMessageCount;
|
|
20
|
+
private blockProposalTxTargetCount;
|
|
20
21
|
private log;
|
|
21
22
|
private constructor();
|
|
22
23
|
static new(telemetry: TelemetryClient, lmdbStats?: LmdbStatsCallback): Promise<ArchiverInstrumentation>;
|
|
23
24
|
isEnabled(): boolean;
|
|
24
|
-
processNewBlocks(syncTimePerBlock: number, blocks:
|
|
25
|
+
processNewBlocks(syncTimePerBlock: number, blocks: L2BlockNew[]): void;
|
|
25
26
|
processNewMessages(count: number, syncPerMessageMs: number): void;
|
|
26
27
|
processPrune(duration: number): void;
|
|
27
28
|
updateLastProvenBlock(blockNumber: number): void;
|
|
@@ -31,5 +32,6 @@ export declare class ArchiverInstrumentation {
|
|
|
31
32
|
delay: bigint;
|
|
32
33
|
}[]): void;
|
|
33
34
|
updateL1BlockHeight(blockNumber: bigint): void;
|
|
35
|
+
recordBlockProposalTxTarget(target: string, usedTrace: boolean): void;
|
|
34
36
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXJjaGl2ZXIvaW5zdHJ1bWVudGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFLTCxLQUFLLGlCQUFpQixFQUV0QixLQUFLLGVBQWUsRUFDcEIsS0FBSyxNQUFNLEVBR1osTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxxQkFBYSx1QkFBdUI7SUEwQmhDLE9BQU8sQ0FBQyxTQUFTO0lBekJuQixTQUFnQixNQUFNLEVBQUUsTUFBTSxDQUFDO0lBRS9CLE9BQU8sQ0FBQyxXQUFXLENBQVE7SUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBZ0I7SUFDL0IsT0FBTyxDQUFDLGFBQWEsQ0FBUTtJQUM3QixPQUFPLENBQUMsb0JBQW9CLENBQVk7SUFDeEMsT0FBTyxDQUFDLG9CQUFvQixDQUFnQjtJQUM1QyxPQUFPLENBQUMsU0FBUyxDQUFjO0lBRS9CLE9BQU8sQ0FBQyxhQUFhLENBQVk7SUFDakMsT0FBTyxDQUFDLFVBQVUsQ0FBZ0I7SUFFbEMsT0FBTyxDQUFDLG9CQUFvQixDQUFZO0lBQ3hDLE9BQU8sQ0FBQyxjQUFjLENBQWdCO0lBQ3RDLE9BQU8sQ0FBQyxZQUFZLENBQVk7SUFDaEMsT0FBTyxDQUFDLFdBQVcsQ0FBWTtJQUUvQixPQUFPLENBQUMsc0JBQXNCLENBQVk7SUFDMUMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUV4QyxPQUFPLENBQUMsMEJBQTBCLENBQWdCO0lBRWxELE9BQU8sQ0FBQyxHQUFHLENBQTRDO0lBRXZELE9BQU8sZUEwRk47SUFFRCxPQUFvQixHQUFHLENBQUMsU0FBUyxFQUFFLGVBQWUsRUFBRSxTQUFTLENBQUMsRUFBRSxpQkFBaUIsb0NBVWhGO0lBRU0sU0FBUyxJQUFJLE9BQU8sQ0FFMUI7SUFFTSxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQVVyRTtJQUVNLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxRQU1oRTtJQUVNLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxRQUduQztJQUVNLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRS9DO0lBRU0scUJBQXFCLENBQUMsSUFBSSxFQUFFO1FBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQztRQUFDLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsRUFBRSxRQVc5RjtJQUVNLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxNQUFNLFFBRTdDO0lBRU0sMkJBQTJCLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxRQUtwRTtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/archiver/instrumentation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAKL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EACpB,KAAK,MAAM,EAGZ,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,uBAAuB;IA0BhC,OAAO,CAAC,SAAS;IAzBnB,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,oBAAoB,CAAgB;IAC5C,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,UAAU,CAAgB;IAElC,OAAO,CAAC,oBAAoB,CAAY;IACxC,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,YAAY,CAAY;IAChC,OAAO,CAAC,WAAW,CAAY;IAE/B,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,gBAAgB,CAAgB;IAExC,OAAO,CAAC,0BAA0B,CAAgB;IAElD,OAAO,CAAC,GAAG,CAA4C;IAEvD,OAAO,eA0FN;IAED,OAAoB,GAAG,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,iBAAiB,oCAUhF;IAEM,SAAS,IAAI,OAAO,CAE1B;IAEM,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAUrE;IAEM,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,QAMhE;IAEM,YAAY,CAAC,QAAQ,EAAE,MAAM,QAGnC;IAEM,qBAAqB,CAAC,WAAW,EAAE,MAAM,QAE/C;IAEM,qBAAqB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,QAW9F;IAEM,mBAAmB,CAAC,WAAW,EAAE,MAAM,QAE7C;IAEM,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,QAKpE;CACF"}
|
|
@@ -17,6 +17,7 @@ export class ArchiverInstrumentation {
|
|
|
17
17
|
txsPerBlock;
|
|
18
18
|
syncDurationPerMessage;
|
|
19
19
|
syncMessageCount;
|
|
20
|
+
blockProposalTxTargetCount;
|
|
20
21
|
log;
|
|
21
22
|
constructor(telemetry, lmdbStats){
|
|
22
23
|
this.telemetry = telemetry;
|
|
@@ -81,6 +82,10 @@ export class ArchiverInstrumentation {
|
|
|
81
82
|
description: 'Number of prunes detected',
|
|
82
83
|
valueType: ValueType.INT
|
|
83
84
|
});
|
|
85
|
+
this.blockProposalTxTargetCount = meter.createUpDownCounter(Metrics.ARCHIVER_BLOCK_PROPOSAL_TX_TARGET_COUNT, {
|
|
86
|
+
description: 'Number of block proposals by tx target',
|
|
87
|
+
valueType: ValueType.INT
|
|
88
|
+
});
|
|
84
89
|
this.dbMetrics = new LmdbMetrics(meter, {
|
|
85
90
|
[Attributes.DB_DATA_TYPE]: 'archiver'
|
|
86
91
|
}, lmdbStats);
|
|
@@ -107,6 +112,9 @@ export class ArchiverInstrumentation {
|
|
|
107
112
|
}
|
|
108
113
|
}
|
|
109
114
|
processNewMessages(count, syncPerMessageMs) {
|
|
115
|
+
if (count === 0) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
110
118
|
this.syncMessageCount.add(count);
|
|
111
119
|
this.syncDurationPerMessage.record(Math.ceil(syncPerMessageMs));
|
|
112
120
|
}
|
|
@@ -134,4 +142,10 @@ export class ArchiverInstrumentation {
|
|
|
134
142
|
updateL1BlockHeight(blockNumber) {
|
|
135
143
|
this.l1BlockHeight.record(Number(blockNumber));
|
|
136
144
|
}
|
|
145
|
+
recordBlockProposalTxTarget(target, usedTrace) {
|
|
146
|
+
this.blockProposalTxTargetCount.add(1, {
|
|
147
|
+
[Attributes.L1_BLOCK_PROPOSAL_TX_TARGET]: target.toLowerCase(),
|
|
148
|
+
[Attributes.L1_BLOCK_PROPOSAL_USED_TRACE]: usedTrace
|
|
149
|
+
});
|
|
150
|
+
}
|
|
137
151
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
3
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
2
4
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { L2BlockHash, PublishedL2Block, type ValidateBlockResult } from '@aztec/stdlib/block';
|
|
3
6
|
import { BlockHeader, type IndexedTxEffect, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
4
|
-
import type { PublishedL2Block } from '../structs/published.js';
|
|
5
7
|
export { TxReceipt, type TxEffect, type TxHash } from '@aztec/stdlib/tx';
|
|
6
8
|
/**
|
|
7
9
|
* LMDB implementation of the ArchiverDataStore interface.
|
|
@@ -25,27 +27,51 @@ export declare class BlockStore {
|
|
|
25
27
|
* @param blocksToUnwind - The number of blocks we are to unwind
|
|
26
28
|
* @returns True if the operation is successful
|
|
27
29
|
*/
|
|
28
|
-
unwindBlocks(from:
|
|
30
|
+
unwindBlocks(from: BlockNumber, blocksToUnwind: number): Promise<boolean>;
|
|
29
31
|
/**
|
|
30
32
|
* Gets up to `limit` amount of L2 blocks starting from `from`.
|
|
31
33
|
* @param start - Number of the first block to return (inclusive).
|
|
32
34
|
* @param limit - The number of blocks to return.
|
|
33
35
|
* @returns The requested L2 blocks
|
|
34
36
|
*/
|
|
35
|
-
getBlocks(start:
|
|
37
|
+
getBlocks(start: BlockNumber, limit: number): AsyncIterableIterator<PublishedL2Block>;
|
|
36
38
|
/**
|
|
37
39
|
* Gets an L2 block.
|
|
38
40
|
* @param blockNumber - The number of the block to return.
|
|
39
41
|
* @returns The requested L2 block.
|
|
40
42
|
*/
|
|
41
|
-
getBlock(blockNumber:
|
|
43
|
+
getBlock(blockNumber: BlockNumber): Promise<PublishedL2Block | undefined>;
|
|
44
|
+
/**
|
|
45
|
+
* Gets an L2 block by its hash.
|
|
46
|
+
* @param blockHash - The hash of the block to return.
|
|
47
|
+
* @returns The requested L2 block.
|
|
48
|
+
*/
|
|
49
|
+
getBlockByHash(blockHash: L2BlockHash): Promise<PublishedL2Block | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Gets an L2 block by its archive root.
|
|
52
|
+
* @param archive - The archive root of the block to return.
|
|
53
|
+
* @returns The requested L2 block.
|
|
54
|
+
*/
|
|
55
|
+
getBlockByArchive(archive: Fr): Promise<PublishedL2Block | undefined>;
|
|
56
|
+
/**
|
|
57
|
+
* Gets a block header by its hash.
|
|
58
|
+
* @param blockHash - The hash of the block to return.
|
|
59
|
+
* @returns The requested block header.
|
|
60
|
+
*/
|
|
61
|
+
getBlockHeaderByHash(blockHash: L2BlockHash): Promise<BlockHeader | undefined>;
|
|
62
|
+
/**
|
|
63
|
+
* Gets a block header by its archive root.
|
|
64
|
+
* @param archive - The archive root of the block to return.
|
|
65
|
+
* @returns The requested block header.
|
|
66
|
+
*/
|
|
67
|
+
getBlockHeaderByArchive(archive: Fr): Promise<BlockHeader | undefined>;
|
|
42
68
|
/**
|
|
43
69
|
* Gets the headers for a sequence of L2 blocks.
|
|
44
70
|
* @param start - Number of the first block to return (inclusive).
|
|
45
71
|
* @param limit - The number of blocks to return.
|
|
46
72
|
* @returns The requested L2 block headers
|
|
47
73
|
*/
|
|
48
|
-
getBlockHeaders(start:
|
|
74
|
+
getBlockHeaders(start: BlockNumber, limit: number): AsyncIterableIterator<BlockHeader>;
|
|
49
75
|
private getBlockStorages;
|
|
50
76
|
private getBlockFromBlockStorage;
|
|
51
77
|
/**
|
|
@@ -76,14 +102,24 @@ export declare class BlockStore {
|
|
|
76
102
|
* Gets the number of the latest L2 block processed.
|
|
77
103
|
* @returns The number of the latest L2 block processed.
|
|
78
104
|
*/
|
|
79
|
-
getSynchedL2BlockNumber(): Promise<
|
|
105
|
+
getSynchedL2BlockNumber(): Promise<BlockNumber>;
|
|
80
106
|
/**
|
|
81
107
|
* Gets the most recent L1 block processed.
|
|
82
108
|
* @returns The L1 block that published the latest L2 block
|
|
83
109
|
*/
|
|
84
110
|
getSynchedL1BlockNumber(): Promise<bigint | undefined>;
|
|
85
111
|
setSynchedL1BlockNumber(l1BlockNumber: bigint): Promise<boolean>;
|
|
86
|
-
getProvenL2BlockNumber(): Promise<
|
|
87
|
-
setProvenL2BlockNumber(blockNumber:
|
|
112
|
+
getProvenL2BlockNumber(): Promise<BlockNumber>;
|
|
113
|
+
setProvenL2BlockNumber(blockNumber: BlockNumber): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* Gets the pending chain validation status.
|
|
116
|
+
* @returns The validation status or undefined if not set.
|
|
117
|
+
*/
|
|
118
|
+
getPendingChainValidationStatus(): Promise<ValidateBlockResult | undefined>;
|
|
119
|
+
/**
|
|
120
|
+
* Sets the pending chain validation status.
|
|
121
|
+
* @param status - The validation status to store.
|
|
122
|
+
*/
|
|
123
|
+
setPendingChainValidationStatus(status: ValidateBlockResult | undefined): Promise<void>;
|
|
88
124
|
}
|
|
89
|
-
//# sourceMappingURL=
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9ibG9ja19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDOUQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBS3BELE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUE2QyxNQUFNLGlCQUFpQixDQUFDO0FBQ3BHLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFJTCxXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLEtBQUssbUJBQW1CLEVBQ3pCLE1BQU0scUJBQXFCLENBQUM7QUFHN0IsT0FBTyxFQUNMLFdBQVcsRUFDWCxLQUFLLGVBQWUsRUFFcEIsTUFBTSxFQUNOLFNBQVMsRUFHVixNQUFNLGtCQUFrQixDQUFDO0FBSzFCLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxRQUFRLEVBQUUsS0FBSyxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQVl6RTs7R0FFRztBQUNILHFCQUFhLFVBQVU7O0lBOEJULE9BQU8sQ0FBQyxFQUFFO0lBQXRCLFlBQW9CLEVBQUUsRUFBRSxpQkFBaUIsRUFVeEM7SUFFRDs7OztPQUlHO0lBQ0csU0FBUyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLElBQUksR0FBRTtRQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQTBENUY7SUFFRDs7Ozs7O09BTUc7SUFDRyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFrQzNEO0lBRUQ7Ozs7O09BS0c7SUFDSSxTQUFTLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLHFCQUFxQixDQUFDLGdCQUFnQixDQUFDLENBTzNGO0lBRUQ7Ozs7T0FJRztJQUNHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FNOUU7SUFFRDs7OztPQUlHO0lBQ0csY0FBYyxDQUFDLFNBQVMsRUFBRSxXQUFXLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxDQU1sRjtJQUVEOzs7O09BSUc7SUFDRyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsQ0FNMUU7SUFFRDs7OztPQUlHO0lBQ0csb0JBQW9CLENBQUMsU0FBUyxFQUFFLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQyxDQVVuRjtJQUVEOzs7O09BSUc7SUFDRyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDLENBVTNFO0lBRUQ7Ozs7O09BS0c7SUFDSSxlQUFlLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxHQUFHLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQVU1RjtZQUVjLGdCQUFnQjtZQWFqQix3QkFBd0I7SUF1Q3RDOzs7O09BSUc7SUFDRyxXQUFXLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxDQU10RTtJQUVEOzs7O09BSUc7SUFDRyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDLENBY3hFO0lBRUQ7Ozs7T0FJRztJQUNVLGFBQWEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQU90RztJQUVEOzs7O09BSUc7SUFDSCxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUU1RztJQUVEOzs7T0FHRztJQUNHLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FHcEQ7SUFFRDs7O09BR0c7SUFDSCx1QkFBdUIsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUVyRDtJQUVELHVCQUF1QixDQUFDLGFBQWEsRUFBRSxNQUFNLG9CQUU1QztJQUVLLHNCQUFzQixJQUFJLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FNbkQ7SUFFRCxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxvQkFFOUM7SUFjRDs7O09BR0c7SUFDRywrQkFBK0IsSUFBSSxPQUFPLENBQUMsbUJBQW1CLEdBQUcsU0FBUyxDQUFDLENBTWhGO0lBRUQ7OztPQUdHO0lBQ0csK0JBQStCLENBQUMsTUFBTSxFQUFFLG1CQUFtQixHQUFHLFNBQVMsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBTzVGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"block_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/block_store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
|
-
import {
|
|
2
|
+
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
3
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import { toArray } from '@aztec/foundation/iterable';
|
|
4
5
|
import { createLogger } from '@aztec/foundation/log';
|
|
5
6
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
6
7
|
import { bufferToHex } from '@aztec/foundation/string';
|
|
7
|
-
import { Body, CommitteeAttestation, L2Block, L2BlockHash } from '@aztec/stdlib/block';
|
|
8
|
+
import { Body, CommitteeAttestation, L2Block, L2BlockHash, PublishedL2Block } from '@aztec/stdlib/block';
|
|
9
|
+
import { L2BlockHeader, deserializeValidateBlockResult, serializeValidateBlockResult } from '@aztec/stdlib/block';
|
|
8
10
|
import { AppendOnlyTreeSnapshot } from '@aztec/stdlib/trees';
|
|
9
|
-
import {
|
|
11
|
+
import { TxHash, TxReceipt, deserializeIndexedTxEffect, serializeIndexedTxEffect } from '@aztec/stdlib/tx';
|
|
10
12
|
import { BlockNumberNotSequentialError, InitialBlockNumberNotSequentialError } from '../errors.js';
|
|
11
13
|
export { TxReceipt } from '@aztec/stdlib/tx';
|
|
12
14
|
/**
|
|
@@ -18,7 +20,10 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
18
20
|
/** Tx hash to serialized IndexedTxEffect */ #txEffects;
|
|
19
21
|
/** Stores L1 block number in which the last processed L2 block was included */ #lastSynchedL1Block;
|
|
20
22
|
/** Stores l2 block number of the last proven block */ #lastProvenL2Block;
|
|
23
|
+
/** Stores the pending chain validation status */ #pendingChainValidationStatus;
|
|
21
24
|
/** Index mapping a contract's address (as a string) to its location in a block */ #contractIndex;
|
|
25
|
+
/** Index mapping block hash to block number */ #blockHashIndex;
|
|
26
|
+
/** Index mapping block archive to block number */ #blockArchiveIndex;
|
|
22
27
|
#log;
|
|
23
28
|
constructor(db){
|
|
24
29
|
this.db = db;
|
|
@@ -27,8 +32,11 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
27
32
|
this.#blockTxs = db.openMap('archiver_block_txs');
|
|
28
33
|
this.#txEffects = db.openMap('archiver_tx_effects');
|
|
29
34
|
this.#contractIndex = db.openMap('archiver_contract_index');
|
|
35
|
+
this.#blockHashIndex = db.openMap('archiver_block_hash_index');
|
|
36
|
+
this.#blockArchiveIndex = db.openMap('archiver_block_archive_index');
|
|
30
37
|
this.#lastSynchedL1Block = db.openSingleton('archiver_last_synched_l1_block');
|
|
31
38
|
this.#lastProvenL2Block = db.openSingleton('archiver_last_proven_l2_block');
|
|
39
|
+
this.#pendingChainValidationStatus = db.openSingleton('archiver_pending_chain_validation_status');
|
|
32
40
|
}
|
|
33
41
|
/**
|
|
34
42
|
* Append new blocks to the store's list.
|
|
@@ -75,6 +83,9 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
75
83
|
await this.#txEffects.set(txEffect.data.txHash.toString(), serializeIndexedTxEffect(txEffect));
|
|
76
84
|
}
|
|
77
85
|
await this.#blockTxs.set(blockHash.toString(), Buffer.concat(block.block.body.txEffects.map((tx)=>tx.txHash.toBuffer())));
|
|
86
|
+
// Update indices for block hash and archive
|
|
87
|
+
await this.#blockHashIndex.set(blockHash.toString(), block.block.number);
|
|
88
|
+
await this.#blockArchiveIndex.set(block.block.archive.root.toString(), block.block.number);
|
|
78
89
|
}
|
|
79
90
|
await this.#lastSynchedL1Block.set(blocks[blocks.length - 1].l1.blockNumber);
|
|
80
91
|
return true;
|
|
@@ -94,11 +105,11 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
94
105
|
}
|
|
95
106
|
const proven = await this.getProvenL2BlockNumber();
|
|
96
107
|
if (from - blocksToUnwind < proven) {
|
|
97
|
-
await this.setProvenL2BlockNumber(from - blocksToUnwind);
|
|
108
|
+
await this.setProvenL2BlockNumber(BlockNumber(from - blocksToUnwind));
|
|
98
109
|
}
|
|
99
110
|
for(let i = 0; i < blocksToUnwind; i++){
|
|
100
111
|
const blockNumber = from - i;
|
|
101
|
-
const block = await this.getBlock(blockNumber);
|
|
112
|
+
const block = await this.getBlock(BlockNumber(blockNumber));
|
|
102
113
|
if (block === undefined) {
|
|
103
114
|
this.#log.warn(`Cannot remove block ${blockNumber} from the store since we don't have it`);
|
|
104
115
|
continue;
|
|
@@ -107,6 +118,9 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
107
118
|
await Promise.all(block.block.body.txEffects.map((tx)=>this.#txEffects.delete(tx.txHash.toString())));
|
|
108
119
|
const blockHash = (await block.block.hash()).toString();
|
|
109
120
|
await this.#blockTxs.delete(blockHash);
|
|
121
|
+
// Clean up indices
|
|
122
|
+
await this.#blockHashIndex.delete(blockHash);
|
|
123
|
+
await this.#blockArchiveIndex.delete(block.block.archive.root.toString());
|
|
110
124
|
this.#log.debug(`Unwound block ${blockNumber} ${blockHash}`);
|
|
111
125
|
}
|
|
112
126
|
return true;
|
|
@@ -137,13 +151,65 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
137
151
|
return this.getBlockFromBlockStorage(blockNumber, blockStorage);
|
|
138
152
|
}
|
|
139
153
|
/**
|
|
154
|
+
* Gets an L2 block by its hash.
|
|
155
|
+
* @param blockHash - The hash of the block to return.
|
|
156
|
+
* @returns The requested L2 block.
|
|
157
|
+
*/ async getBlockByHash(blockHash) {
|
|
158
|
+
const blockNumber = await this.#blockHashIndex.getAsync(blockHash.toString());
|
|
159
|
+
if (blockNumber === undefined) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
return this.getBlock(BlockNumber(blockNumber));
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Gets an L2 block by its archive root.
|
|
166
|
+
* @param archive - The archive root of the block to return.
|
|
167
|
+
* @returns The requested L2 block.
|
|
168
|
+
*/ async getBlockByArchive(archive) {
|
|
169
|
+
const blockNumber = await this.#blockArchiveIndex.getAsync(archive.toString());
|
|
170
|
+
if (blockNumber === undefined) {
|
|
171
|
+
return undefined;
|
|
172
|
+
}
|
|
173
|
+
return this.getBlock(BlockNumber(blockNumber));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Gets a block header by its hash.
|
|
177
|
+
* @param blockHash - The hash of the block to return.
|
|
178
|
+
* @returns The requested block header.
|
|
179
|
+
*/ async getBlockHeaderByHash(blockHash) {
|
|
180
|
+
const blockNumber = await this.#blockHashIndex.getAsync(blockHash.toString());
|
|
181
|
+
if (blockNumber === undefined) {
|
|
182
|
+
return undefined;
|
|
183
|
+
}
|
|
184
|
+
const blockStorage = await this.#blocks.getAsync(blockNumber);
|
|
185
|
+
if (!blockStorage || !blockStorage.header) {
|
|
186
|
+
return undefined;
|
|
187
|
+
}
|
|
188
|
+
return L2BlockHeader.fromBuffer(blockStorage.header).toBlockHeader();
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Gets a block header by its archive root.
|
|
192
|
+
* @param archive - The archive root of the block to return.
|
|
193
|
+
* @returns The requested block header.
|
|
194
|
+
*/ async getBlockHeaderByArchive(archive) {
|
|
195
|
+
const blockNumber = await this.#blockArchiveIndex.getAsync(archive.toString());
|
|
196
|
+
if (blockNumber === undefined) {
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
199
|
+
const blockStorage = await this.#blocks.getAsync(blockNumber);
|
|
200
|
+
if (!blockStorage || !blockStorage.header) {
|
|
201
|
+
return undefined;
|
|
202
|
+
}
|
|
203
|
+
return L2BlockHeader.fromBuffer(blockStorage.header).toBlockHeader();
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
140
206
|
* Gets the headers for a sequence of L2 blocks.
|
|
141
207
|
* @param start - Number of the first block to return (inclusive).
|
|
142
208
|
* @param limit - The number of blocks to return.
|
|
143
209
|
* @returns The requested L2 block headers
|
|
144
210
|
*/ async *getBlockHeaders(start, limit) {
|
|
145
211
|
for await (const [blockNumber, blockStorage] of this.getBlockStorages(start, limit)){
|
|
146
|
-
const header =
|
|
212
|
+
const header = L2BlockHeader.fromBuffer(blockStorage.header).toBlockHeader();
|
|
147
213
|
if (header.getBlockNumber() !== blockNumber) {
|
|
148
214
|
throw new Error(`Block number mismatch when retrieving block header from archive (expected ${blockNumber} but got ${header.getBlockNumber()})`);
|
|
149
215
|
}
|
|
@@ -164,7 +230,7 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
164
230
|
}
|
|
165
231
|
}
|
|
166
232
|
async getBlockFromBlockStorage(blockNumber, blockStorage) {
|
|
167
|
-
const header =
|
|
233
|
+
const header = L2BlockHeader.fromBuffer(blockStorage.header);
|
|
168
234
|
const archive = AppendOnlyTreeSnapshot.fromBuffer(blockStorage.archive);
|
|
169
235
|
const blockHash = blockStorage.blockHash;
|
|
170
236
|
const blockHashString = bufferToHex(blockHash);
|
|
@@ -190,11 +256,11 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
190
256
|
throw new Error(`Block number mismatch when retrieving block from archive (expected ${blockNumber} but got ${block.number} with hash ${blockHashString})`);
|
|
191
257
|
}
|
|
192
258
|
const attestations = blockStorage.attestations.map(CommitteeAttestation.fromBuffer);
|
|
193
|
-
return {
|
|
259
|
+
return PublishedL2Block.fromFields({
|
|
194
260
|
block,
|
|
195
261
|
l1: blockStorage.l1,
|
|
196
262
|
attestations
|
|
197
|
-
};
|
|
263
|
+
});
|
|
198
264
|
}
|
|
199
265
|
/**
|
|
200
266
|
* Gets a tx effect.
|
|
@@ -216,7 +282,7 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
216
282
|
if (!txEffect) {
|
|
217
283
|
return undefined;
|
|
218
284
|
}
|
|
219
|
-
return new TxReceipt(txHash, TxReceipt.statusFromRevertCode(txEffect.data.revertCode), '', txEffect.data.transactionFee.toBigInt(), txEffect.l2BlockHash, txEffect.l2BlockNumber);
|
|
285
|
+
return new TxReceipt(txHash, TxReceipt.statusFromRevertCode(txEffect.data.revertCode), '', txEffect.data.transactionFee.toBigInt(), txEffect.l2BlockHash, BlockNumber(txEffect.l2BlockNumber));
|
|
220
286
|
}
|
|
221
287
|
/**
|
|
222
288
|
* Looks up which block included the requested tx effect.
|
|
@@ -248,7 +314,7 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
248
314
|
reverse: true,
|
|
249
315
|
limit: 1
|
|
250
316
|
}));
|
|
251
|
-
return typeof lastBlockNumber === 'number' ? lastBlockNumber : INITIAL_L2_BLOCK_NUM - 1;
|
|
317
|
+
return typeof lastBlockNumber === 'number' ? BlockNumber(lastBlockNumber) : BlockNumber(INITIAL_L2_BLOCK_NUM - 1);
|
|
252
318
|
}
|
|
253
319
|
/**
|
|
254
320
|
* Gets the most recent L1 block processed.
|
|
@@ -264,7 +330,7 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
264
330
|
this.getSynchedL2BlockNumber(),
|
|
265
331
|
this.#lastProvenL2Block.getAsync()
|
|
266
332
|
]);
|
|
267
|
-
return (provenBlockNumber ?? 0) > latestBlockNumber ? latestBlockNumber : provenBlockNumber ?? 0;
|
|
333
|
+
return (provenBlockNumber ?? 0) > latestBlockNumber ? latestBlockNumber : BlockNumber(provenBlockNumber ?? 0);
|
|
268
334
|
}
|
|
269
335
|
setProvenL2BlockNumber(blockNumber) {
|
|
270
336
|
return this.#lastProvenL2Block.set(blockNumber);
|
|
@@ -281,4 +347,25 @@ export { TxReceipt } from '@aztec/stdlib/tx';
|
|
|
281
347
|
limit
|
|
282
348
|
};
|
|
283
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Gets the pending chain validation status.
|
|
352
|
+
* @returns The validation status or undefined if not set.
|
|
353
|
+
*/ async getPendingChainValidationStatus() {
|
|
354
|
+
const buffer = await this.#pendingChainValidationStatus.getAsync();
|
|
355
|
+
if (!buffer) {
|
|
356
|
+
return undefined;
|
|
357
|
+
}
|
|
358
|
+
return deserializeValidateBlockResult(buffer);
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Sets the pending chain validation status.
|
|
362
|
+
* @param status - The validation status to store.
|
|
363
|
+
*/ async setPendingChainValidationStatus(status) {
|
|
364
|
+
if (status) {
|
|
365
|
+
const buffer = serializeValidateBlockResult(status);
|
|
366
|
+
await this.#pendingChainValidationStatus.set(buffer);
|
|
367
|
+
} else {
|
|
368
|
+
await this.#pendingChainValidationStatus.delete();
|
|
369
|
+
}
|
|
370
|
+
}
|
|
284
371
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
3
|
import type { ContractClassPublic, ExecutablePrivateFunctionWithMembershipProof, UtilityFunctionWithMembershipProof } from '@aztec/stdlib/contract';
|
|
4
4
|
/**
|
|
@@ -15,4 +15,4 @@ export declare class ContractClassStore {
|
|
|
15
15
|
getContractClassIds(): Promise<Fr[]>;
|
|
16
16
|
addFunctions(contractClassId: Fr, newPrivateFunctions: ExecutablePrivateFunctionWithMembershipProof[], newUtilityFunctions: UtilityFunctionWithMembershipProof[]): Promise<boolean>;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfY2xhc3Nfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9jb250cmFjdF9jbGFzc19zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFFeEUsT0FBTyxLQUFLLEVBQ1YsbUJBQW1CLEVBRW5CLDRDQUE0QyxFQUM1QyxrQ0FBa0MsRUFDbkMsTUFBTSx3QkFBd0IsQ0FBQztBQUdoQzs7R0FFRztBQUNILHFCQUFhLGtCQUFrQjs7SUFJakIsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQUd4QztJQUVLLGdCQUFnQixDQUNwQixhQUFhLEVBQUUsbUJBQW1CLEVBQ2xDLGtCQUFrQixFQUFFLEVBQUUsRUFDdEIsV0FBVyxFQUFFLE1BQU0sR0FDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU1mO0lBRUsscUJBQXFCLENBQUMsYUFBYSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQU1sRztJQUVLLGdCQUFnQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxDQUd2RTtJQUVLLHFCQUFxQixDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FHM0Q7SUFFSyxtQkFBbUIsSUFBSSxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FFekM7SUFFSyxZQUFZLENBQ2hCLGVBQWUsRUFBRSxFQUFFLEVBQ25CLG1CQUFtQixFQUFFLDRDQUE0QyxFQUFFLEVBQ25FLG1CQUFtQixFQUFFLGtDQUFrQyxFQUFFLEdBQ3hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0F5QmxCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contract_class_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_class_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AAExE,OAAO,KAAK,EACV,mBAAmB,EAEnB,4CAA4C,EAC5C,kCAAkC,EACnC,MAAM,wBAAwB,CAAC;AAGhC;;GAEG;AACH,qBAAa,kBAAkB;;IAIjB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAGxC;IAEK,gBAAgB,CACpB,aAAa,EAAE,mBAAmB,EAClC,kBAAkB,EAAE,EAAE,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAMf;IAEK,qBAAqB,CAAC,aAAa,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlG;IAEK,gBAAgB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAGvE;IAEK,qBAAqB,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,CAG3D;IAEK,mBAAmB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC,CAEzC;IAEK,YAAY,CAChB,eAAe,EAAE,EAAE,EACnB,mBAAmB,EAAE,4CAA4C,EAAE,EACnE,mBAAmB,EAAE,kCAAkC,EAAE,GACxD,OAAO,CAAC,OAAO,CAAC,CAyBlB;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr } from '@aztec/foundation/
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { toArray } from '@aztec/foundation/iterable';
|
|
3
3
|
import { BufferReader, numToUInt8, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
4
|
import { FunctionSelector } from '@aztec/stdlib/abi';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Fr } from '@aztec/foundation/
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { type ContractInstanceUpdateWithAddress, type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
@@ -21,4 +21,4 @@ export declare class ContractInstanceStore {
|
|
|
21
21
|
getContractInstanceDeploymentBlockNumber(address: AztecAddress): Promise<number | undefined>;
|
|
22
22
|
}
|
|
23
23
|
export {};
|
|
24
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfaW5zdGFuY2Vfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmNoaXZlci9rdl9hcmNoaXZlcl9zdG9yZS9jb250cmFjdF9pbnN0YW5jZV9zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQ0wsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywyQkFBMkIsRUFHakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVsRCxLQUFLLHlCQUF5QixHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztBQUU3RTs7R0FFRztBQUNILHFCQUFhLHFCQUFxQjs7SUFLcEIsT0FBTyxDQUFDLEVBQUU7SUFBdEIsWUFBb0IsRUFBRSxFQUFFLGlCQUFpQixFQUl4QztJQUVELG1CQUFtQixDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVFyRztJQUVELHNCQUFzQixDQUFDLGdCQUFnQixFQUFFLDJCQUEyQixHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FLbkY7SUFFRCxZQUFZLENBQUMsZUFBZSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLE1BQU0sR0FBRyx5QkFBeUIsQ0FNM0c7SUFFRCx5QkFBeUIsQ0FDdkIsc0JBQXNCLEVBQUUsaUNBQWlDLEVBQ3pELFNBQVMsRUFBRSxNQUFNLEVBQ2pCLFFBQVEsRUFBRSxNQUFNLEdBQ2YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUtmO0lBRUQsNEJBQTRCLENBQzFCLHNCQUFzQixFQUFFLGlDQUFpQyxFQUN6RCxTQUFTLEVBQUUsTUFBTSxFQUNqQixRQUFRLEVBQUUsTUFBTSxHQUNmLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFZjtJQUVLLGlDQUFpQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FvQmxIO0lBRUssbUJBQW1CLENBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLFNBQVMsRUFBRSxNQUFNLEdBQ2hCLE9BQU8sQ0FBQywyQkFBMkIsR0FBRyxTQUFTLENBQUMsQ0FhbEQ7SUFFRCx3Q0FBd0MsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBRTNGO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"contract_instance_store.d.ts","sourceRoot":"","sources":["../../../src/archiver/kv_archiver_store/contract_instance_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,KAAK,iCAAiC,EACtC,KAAK,2BAA2B,EAGjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,KAAK,yBAAyB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE7E;;GAEG;AACH,qBAAa,qBAAqB;;IAKpB,OAAO,CAAC,EAAE;IAAtB,YAAoB,EAAE,EAAE,iBAAiB,EAIxC;IAED,mBAAmB,CAAC,gBAAgB,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQrG;IAED,sBAAsB,CAAC,gBAAgB,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAKnF;IAED,YAAY,CAAC,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,yBAAyB,CAM3G;IAED,yBAAyB,CACvB,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAKf;IAED,4BAA4B,CAC1B,sBAAsB,EAAE,iCAAiC,EACzD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;IAEK,iCAAiC,CAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAoBlH;IAEK,mBAAmB,CACvB,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAalD;IAED,wCAAwC,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAE3F;CACF"}
|