@aztec/node-lib 0.0.1-commit.fcb71a6 → 0.0.1-commit.fffb133c
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/actions/build-snapshot-metadata.js +2 -2
- package/dest/actions/snapshot-sync.d.ts +3 -2
- package/dest/actions/snapshot-sync.d.ts.map +1 -1
- package/dest/actions/snapshot-sync.js +3 -1
- package/dest/metrics/l1_tx_metrics.d.ts +1 -1
- package/dest/metrics/l1_tx_metrics.d.ts.map +1 -1
- package/dest/metrics/l1_tx_metrics.js +10 -42
- package/dest/stores/l1_tx_store.d.ts +2 -2
- package/dest/stores/l1_tx_store.d.ts.map +1 -1
- package/package.json +22 -22
- package/src/actions/build-snapshot-metadata.ts +2 -2
- package/src/actions/snapshot-sync.ts +3 -1
- package/src/metrics/l1_tx_metrics.ts +10 -49
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export async function buildSnapshotMetadata(archiver, config) {
|
|
2
|
-
const [rollupAddress, l1BlockNumber,
|
|
2
|
+
const [rollupAddress, l1BlockNumber, tips] = await Promise.all([
|
|
3
3
|
archiver.getRollupAddress(),
|
|
4
4
|
archiver.getL1BlockNumber(),
|
|
5
5
|
archiver.getL2Tips()
|
|
6
6
|
]);
|
|
7
|
-
const { number: l2BlockNumber, hash: l2BlockHash } =
|
|
7
|
+
const { number: l2BlockNumber, hash: l2BlockHash } = tips.proposed;
|
|
8
8
|
if (!l2BlockHash) {
|
|
9
9
|
throw new Error(`Failed to get L2 block hash from archiver.`);
|
|
10
10
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { type ArchiverConfig } from '@aztec/archiver';
|
|
2
2
|
import { type EthereumClientConfig } from '@aztec/ethereum/client';
|
|
3
|
+
import type { L1ContractsConfig } from '@aztec/ethereum/config';
|
|
3
4
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
5
|
import type { Logger } from '@aztec/foundation/log';
|
|
5
6
|
import type { DataStoreConfig } from '@aztec/kv-store/config';
|
|
6
7
|
import type { ChainConfig } from '@aztec/stdlib/config';
|
|
7
8
|
import { type SnapshotMetadata } from '@aztec/stdlib/snapshots';
|
|
8
9
|
import type { SharedNodeConfig } from '../config/index.js';
|
|
9
|
-
type SnapshotSyncConfig = Pick<SharedNodeConfig, 'syncMode'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> & Pick<ArchiverConfig, 'archiverStoreMapSizeKb' | 'maxLogs'> & Required<DataStoreConfig> & EthereumClientConfig & {
|
|
10
|
+
type SnapshotSyncConfig = Pick<SharedNodeConfig, 'syncMode'> & Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> & Pick<L1ContractsConfig, 'aztecEpochDuration'> & Pick<ArchiverConfig, 'archiverStoreMapSizeKb' | 'maxLogs'> & Required<DataStoreConfig> & EthereumClientConfig & {
|
|
10
11
|
snapshotsUrls?: string[];
|
|
11
12
|
minL1BlocksToTriggerReplace?: number;
|
|
12
13
|
};
|
|
@@ -24,4 +25,4 @@ export declare function snapshotSync(snapshot: Pick<SnapshotMetadata, 'dataUrls'
|
|
|
24
25
|
snapshotsUrl: string;
|
|
25
26
|
}): Promise<void>;
|
|
26
27
|
export {};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3Qtc3luYy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjdGlvbnMvc25hcHNob3Qtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRDLEtBQUssY0FBYyxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRXJILE9BQU8sRUFBRSxLQUFLLG9CQUFvQixFQUFtQixNQUFNLHdCQUF3QixDQUFDO0FBQ3BGLE9BQU8sS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHeEQsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBS3RCLE1BQU0seUJBQXlCLENBQUM7QUFNakMsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUszRCxLQUFLLGtCQUFrQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsR0FDMUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxXQUFXLEdBQUcsZUFBZSxDQUFDLEdBQ2hELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxvQkFBb0IsQ0FBQyxHQUM3QyxJQUFJLENBQUMsY0FBYyxFQUFFLHdCQUF3QixHQUFHLFNBQVMsQ0FBQyxHQUMxRCxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQ3pCLG9CQUFvQixHQUFHO0lBQ3JCLGFBQWEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3pCLDJCQUEyQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQ3RDLENBQUM7QUFFSjs7O0dBR0c7QUFDSCx3QkFBc0IsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxvQkFpSzVFO0FBRUQ7O0dBRUc7QUFDSCx3QkFBc0IsWUFBWSxDQUNoQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxFQUM1QyxHQUFHLEVBQUUsTUFBTSxFQUNYLE1BQU0sRUFBRTtJQUFFLGFBQWEsRUFBRSxNQUFNLENBQUM7SUFBQyxhQUFhLEVBQUUsVUFBVSxDQUFDO0lBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQTtDQUFFLGlCQXFEbkYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-sync.d.ts","sourceRoot":"","sources":["../../src/actions/snapshot-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AAErH,OAAO,EAAE,KAAK,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC1D,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAAC,GAChD,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAC1D,QAAQ,CAAC,eAAe,CAAC,GACzB,oBAAoB,GAAG;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,oBAiK5E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,iBAqDnF"}
|
|
1
|
+
{"version":3,"file":"snapshot-sync.d.ts","sourceRoot":"","sources":["../../src/actions/snapshot-sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,cAAc,EAAuB,MAAM,iBAAiB,CAAC;AAErH,OAAO,EAAE,KAAK,oBAAoB,EAAmB,MAAM,wBAAwB,CAAC;AACpF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGxD,OAAO,EACL,KAAK,gBAAgB,EAKtB,MAAM,yBAAyB,CAAC;AAMjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAK3D,KAAK,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAC1D,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,CAAC,GAChD,IAAI,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAC7C,IAAI,CAAC,cAAc,EAAE,wBAAwB,GAAG,SAAS,CAAC,GAC1D,QAAQ,CAAC,eAAe,CAAC,GACzB,oBAAoB,GAAG;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,oBAiK5E;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAC5C,GAAG,EAAE,MAAM,EACX,MAAM,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,UAAU,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,iBAqDnF"}
|
|
@@ -32,7 +32,9 @@ const MIN_L1_BLOCKS_TO_TRIGGER_REPLACE = 86400 / 2 / 12;
|
|
|
32
32
|
}
|
|
33
33
|
// Create an archiver store to check the current state (do this only once)
|
|
34
34
|
log.verbose(`Creating temporary archiver data store`);
|
|
35
|
-
const archiverStore = await createArchiverStore(config
|
|
35
|
+
const archiverStore = await createArchiverStore(config, {
|
|
36
|
+
epochDuration: config.aztecEpochDuration
|
|
37
|
+
});
|
|
36
38
|
let archiverL1BlockNumber;
|
|
37
39
|
let archiverL2BlockNumber;
|
|
38
40
|
try {
|
|
@@ -26,4 +26,4 @@ export declare class L1TxMetrics implements IL1TxMetrics {
|
|
|
26
26
|
recordMinedTx(state: L1TxState, l1Timestamp: Date): void;
|
|
27
27
|
recordDroppedTx(state: L1TxState): void;
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdHhfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21ldHJpY3MvbDFfdHhfbWV0cmljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHM0UsT0FBTyxFQUE4QixLQUFLLEtBQUssRUFBK0IsTUFBTSx5QkFBeUIsQ0FBQztBQUU5RyxNQUFNLE1BQU0sU0FBUyxHQUFHLFdBQVcsR0FBRyxRQUFRLEdBQUcsT0FBTyxDQUFDO0FBRXpEOztHQUVHO0FBQ0gscUJBQWEsV0FBWSxZQUFXLFlBQVk7SUFtQjVDLE9BQU8sQ0FBQyxLQUFLO0lBQ2IsT0FBTyxDQUFDLEtBQUs7SUFDYixPQUFPLENBQUMsTUFBTTtJQW5CaEIsT0FBTyxDQUFDLGVBQWUsQ0FBWTtJQUduQyxPQUFPLENBQUMsb0JBQW9CLENBQVk7SUFHeEMsT0FBTyxDQUFDLFlBQVksQ0FBZ0I7SUFDcEMsT0FBTyxDQUFDLGVBQWUsQ0FBZ0I7SUFDdkMsT0FBTyxDQUFDLGdCQUFnQixDQUFnQjtJQUN4QyxPQUFPLENBQUMsZUFBZSxDQUFnQjtJQUd2QyxPQUFPLENBQUMsdUJBQXVCLENBQVk7SUFDM0MsT0FBTyxDQUFDLGVBQWUsQ0FBWTtJQUNuQyxPQUFPLENBQUMsZ0JBQWdCLENBQVk7SUFFcEMsWUFDVSxLQUFLLEVBQUUsS0FBSyxFQUNaLEtBQUssR0FBRSxTQUFtQixFQUMxQixNQUFNLHlDQUFzQyxFQW1CckQ7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBRyxJQUFJLENBb0Q5RDtJQUVNLGVBQWUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FpQjdDO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_tx_metrics.d.ts","sourceRoot":"","sources":["../../src/metrics/l1_tx_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,
|
|
1
|
+
{"version":3,"file":"l1_tx_metrics.d.ts","sourceRoot":"","sources":["../../src/metrics/l1_tx_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG3E,OAAO,EAA8B,KAAK,KAAK,EAA+B,MAAM,yBAAyB,CAAC;AAE9G,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEzD;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAmB5C,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IAnBhB,OAAO,CAAC,eAAe,CAAY;IAGnC,OAAO,CAAC,oBAAoB,CAAY;IAGxC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,eAAe,CAAgB;IAGvC,OAAO,CAAC,uBAAuB,CAAY;IAC3C,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,gBAAgB,CAAY;IAEpC,YACU,KAAK,EAAE,KAAK,EACZ,KAAK,GAAE,SAAmB,EAC1B,MAAM,yCAAsC,EAmBrD;IAED;;;;OAIG;IACI,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,GAAG,IAAI,CAoD9D;IAEM,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAiB7C;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TxUtilsState } from '@aztec/ethereum/l1-tx-utils';
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
-
import { Attributes, Metrics
|
|
3
|
+
import { Attributes, Metrics } from '@aztec/telemetry-client';
|
|
4
4
|
/**
|
|
5
5
|
* Metrics for L1 transaction utils tracking tx lifecycle and gas costs.
|
|
6
6
|
*/ export class L1TxMetrics {
|
|
@@ -24,47 +24,15 @@ import { Attributes, Metrics, ValueType } from '@aztec/telemetry-client';
|
|
|
24
24
|
this.meter = meter;
|
|
25
25
|
this.scope = scope;
|
|
26
26
|
this.logger = logger;
|
|
27
|
-
this.txMinedDuration = this.meter.createHistogram(Metrics.L1_TX_MINED_DURATION
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
this.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
});
|
|
37
|
-
this.txMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_MINED_COUNT, {
|
|
38
|
-
description: 'Count of transactions successfully mined',
|
|
39
|
-
valueType: ValueType.INT
|
|
40
|
-
});
|
|
41
|
-
this.txRevertedCount = this.meter.createUpDownCounter(Metrics.L1_TX_REVERTED_COUNT, {
|
|
42
|
-
description: 'Count of transactions that reverted',
|
|
43
|
-
valueType: ValueType.INT
|
|
44
|
-
});
|
|
45
|
-
this.txCancelledCount = this.meter.createUpDownCounter(Metrics.L1_TX_CANCELLED_COUNT, {
|
|
46
|
-
description: 'Count of transactions cancelled',
|
|
47
|
-
valueType: ValueType.INT
|
|
48
|
-
});
|
|
49
|
-
this.txNotMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_NOT_MINED_COUNT, {
|
|
50
|
-
description: 'Count of transactions not mined (timed out)',
|
|
51
|
-
valueType: ValueType.INT
|
|
52
|
-
});
|
|
53
|
-
this.maxPriorityFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_PRIORITY_FEE, {
|
|
54
|
-
description: 'Max priority fee per gas at tx end state (in wei)',
|
|
55
|
-
unit: 'wei',
|
|
56
|
-
valueType: ValueType.INT
|
|
57
|
-
});
|
|
58
|
-
this.maxFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_FEE, {
|
|
59
|
-
description: 'Max fee per gas at tx end state (in wei)',
|
|
60
|
-
unit: 'wei',
|
|
61
|
-
valueType: ValueType.INT
|
|
62
|
-
});
|
|
63
|
-
this.blobFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_BLOB_FEE, {
|
|
64
|
-
description: 'Max fee per blob gas at tx end state (in wei)',
|
|
65
|
-
unit: 'wei',
|
|
66
|
-
valueType: ValueType.INT
|
|
67
|
-
});
|
|
27
|
+
this.txMinedDuration = this.meter.createHistogram(Metrics.L1_TX_MINED_DURATION);
|
|
28
|
+
this.txAttemptsUntilMined = this.meter.createHistogram(Metrics.L1_TX_ATTEMPTS_UNTIL_MINED);
|
|
29
|
+
this.txMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_MINED_COUNT);
|
|
30
|
+
this.txRevertedCount = this.meter.createUpDownCounter(Metrics.L1_TX_REVERTED_COUNT);
|
|
31
|
+
this.txCancelledCount = this.meter.createUpDownCounter(Metrics.L1_TX_CANCELLED_COUNT);
|
|
32
|
+
this.txNotMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_NOT_MINED_COUNT);
|
|
33
|
+
this.maxPriorityFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_PRIORITY_FEE);
|
|
34
|
+
this.maxFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_FEE);
|
|
35
|
+
this.blobFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_BLOB_FEE);
|
|
68
36
|
}
|
|
69
37
|
/**
|
|
70
38
|
* Records metrics when a transaction is mined.
|
|
@@ -9,7 +9,7 @@ import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
|
9
9
|
export declare class L1TxStore implements IL1TxStore {
|
|
10
10
|
private readonly store;
|
|
11
11
|
private readonly log;
|
|
12
|
-
static readonly SCHEMA_VERSION
|
|
12
|
+
static readonly SCHEMA_VERSION = 2;
|
|
13
13
|
private readonly states;
|
|
14
14
|
private readonly blobs;
|
|
15
15
|
private readonly stateIdCounter;
|
|
@@ -86,4 +86,4 @@ export declare class L1TxStore implements IL1TxStore {
|
|
|
86
86
|
*/
|
|
87
87
|
private deserializeBlobInputs;
|
|
88
88
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfdHhfc3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZXMvbDFfdHhfc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBYyxTQUFTLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVuRyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEtBQUssRUFBRSxpQkFBaUIsRUFBaUIsTUFBTSxpQkFBaUIsQ0FBQztBQTJFeEU7Ozs7R0FJRztBQUNILHFCQUFhLFNBQVUsWUFBVyxVQUFVO0lBUXhDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUN0QixPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUc7SUFSdEIsZ0JBQXVCLGNBQWMsS0FBSztJQUUxQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBZ0M7SUFDdkQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQWdDO0lBQ3RELE9BQU8sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFnQztJQUUvRCxZQUNtQixLQUFLLEVBQUUsaUJBQWlCLEVBQ3hCLEdBQUcsR0FBRSxNQUEwQyxFQUtqRTtJQUVEOztPQUVHO0lBQ0ksa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBTzFEO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsT0FBTztJQUlmOzs7OztPQUtHO0lBQ1UsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBUTVFO0lBRUQ7Ozs7O09BS0c7SUFDVSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEdBQUcsU0FBUyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FRNUc7SUFFRDs7OztPQUlHO0lBQ1UsVUFBVSxDQUFDLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBb0M3RDtJQUVEOzs7OztPQUtHO0lBQ1UsU0FBUyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQTBCdkY7SUFFRDs7OztPQUlHO0lBQ1UsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQVk5RTtJQUVEOzs7T0FHRztJQUNVLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FXdkQ7SUFFRDs7O09BR0c7SUFDVSxjQUFjLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBUy9DO0lBRUQ7O09BRUc7SUFDVSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUdsQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGNBQWM7SUFrQ3RCOztPQUVHO0lBQ0gsT0FBTyxDQUFDLGdCQUFnQjtJQTJDeEI7O09BRUc7SUFDSCxPQUFPLENBQUMsbUJBQW1CO0lBTzNCOztPQUVHO0lBQ0gsT0FBTyxDQUFDLHFCQUFxQjtDQVk5QiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_tx_store.d.ts","sourceRoot":"","sources":["../../src/stores/l1_tx_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAc,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AA2ExE;;;;GAIG;AACH,qBAAa,SAAU,YAAW,UAAU;IAQxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARtB,gBAAuB,cAAc,
|
|
1
|
+
{"version":3,"file":"l1_tx_store.d.ts","sourceRoot":"","sources":["../../src/stores/l1_tx_store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAc,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AA2ExE;;;;GAIG;AACH,qBAAa,SAAU,YAAW,UAAU;IAQxC,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IARtB,gBAAuB,cAAc,KAAK;IAE1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAE/D,YACmB,KAAK,EAAE,iBAAiB,EACxB,GAAG,GAAE,MAA0C,EAKjE;IAED;;OAEG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1D;IAED;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;;;;OAKG;IACU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAQ5E;IAED;;;;;OAKG;IACU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ5G;IAED;;;;OAIG;IACU,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAoC7D;IAED;;;;;OAKG;IACU,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA0BvF;IAED;;;;OAIG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9E;IAED;;;OAGG;IACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWvD;IAED;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAS/C;IAED;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlC;IAED;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA2CxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/node-lib",
|
|
3
|
-
"version": "0.0.1-commit.
|
|
3
|
+
"version": "0.0.1-commit.fffb133c",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
"./actions": "./dest/actions/index.js",
|
|
@@ -57,33 +57,33 @@
|
|
|
57
57
|
]
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@aztec/archiver": "0.0.1-commit.
|
|
61
|
-
"@aztec/bb-prover": "0.0.1-commit.
|
|
62
|
-
"@aztec/blob-client": "0.0.1-commit.
|
|
63
|
-
"@aztec/constants": "0.0.1-commit.
|
|
64
|
-
"@aztec/epoch-cache": "0.0.1-commit.
|
|
65
|
-
"@aztec/ethereum": "0.0.1-commit.
|
|
66
|
-
"@aztec/foundation": "0.0.1-commit.
|
|
67
|
-
"@aztec/kv-store": "0.0.1-commit.
|
|
68
|
-
"@aztec/merkle-tree": "0.0.1-commit.
|
|
69
|
-
"@aztec/p2p": "0.0.1-commit.
|
|
70
|
-
"@aztec/protocol-contracts": "0.0.1-commit.
|
|
71
|
-
"@aztec/prover-client": "0.0.1-commit.
|
|
72
|
-
"@aztec/sequencer-client": "0.0.1-commit.
|
|
73
|
-
"@aztec/simulator": "0.0.1-commit.
|
|
74
|
-
"@aztec/stdlib": "0.0.1-commit.
|
|
75
|
-
"@aztec/telemetry-client": "0.0.1-commit.
|
|
76
|
-
"@aztec/validator-client": "0.0.1-commit.
|
|
77
|
-
"@aztec/world-state": "0.0.1-commit.
|
|
60
|
+
"@aztec/archiver": "0.0.1-commit.fffb133c",
|
|
61
|
+
"@aztec/bb-prover": "0.0.1-commit.fffb133c",
|
|
62
|
+
"@aztec/blob-client": "0.0.1-commit.fffb133c",
|
|
63
|
+
"@aztec/constants": "0.0.1-commit.fffb133c",
|
|
64
|
+
"@aztec/epoch-cache": "0.0.1-commit.fffb133c",
|
|
65
|
+
"@aztec/ethereum": "0.0.1-commit.fffb133c",
|
|
66
|
+
"@aztec/foundation": "0.0.1-commit.fffb133c",
|
|
67
|
+
"@aztec/kv-store": "0.0.1-commit.fffb133c",
|
|
68
|
+
"@aztec/merkle-tree": "0.0.1-commit.fffb133c",
|
|
69
|
+
"@aztec/p2p": "0.0.1-commit.fffb133c",
|
|
70
|
+
"@aztec/protocol-contracts": "0.0.1-commit.fffb133c",
|
|
71
|
+
"@aztec/prover-client": "0.0.1-commit.fffb133c",
|
|
72
|
+
"@aztec/sequencer-client": "0.0.1-commit.fffb133c",
|
|
73
|
+
"@aztec/simulator": "0.0.1-commit.fffb133c",
|
|
74
|
+
"@aztec/stdlib": "0.0.1-commit.fffb133c",
|
|
75
|
+
"@aztec/telemetry-client": "0.0.1-commit.fffb133c",
|
|
76
|
+
"@aztec/validator-client": "0.0.1-commit.fffb133c",
|
|
77
|
+
"@aztec/world-state": "0.0.1-commit.fffb133c",
|
|
78
78
|
"tslib": "^2.4.0"
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
|
-
"@aztec/blob-lib": "0.0.1-commit.
|
|
82
|
-
"@aztec/node-keystore": "0.0.1-commit.
|
|
81
|
+
"@aztec/blob-lib": "0.0.1-commit.fffb133c",
|
|
82
|
+
"@aztec/node-keystore": "0.0.1-commit.fffb133c",
|
|
83
83
|
"@jest/globals": "^30.0.0",
|
|
84
84
|
"@types/jest": "^30.0.0",
|
|
85
85
|
"@types/node": "^22.15.17",
|
|
86
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
86
|
+
"@typescript/native-preview": "7.0.0-dev.20260113.1",
|
|
87
87
|
"jest": "^30.0.0",
|
|
88
88
|
"jest-mock-extended": "^4.0.0",
|
|
89
89
|
"ts-node": "^10.9.1",
|
|
@@ -7,13 +7,13 @@ export async function buildSnapshotMetadata(
|
|
|
7
7
|
archiver: Archiver,
|
|
8
8
|
config: UploadSnapshotConfig,
|
|
9
9
|
): Promise<UploadSnapshotMetadata> {
|
|
10
|
-
const [rollupAddress, l1BlockNumber,
|
|
10
|
+
const [rollupAddress, l1BlockNumber, tips] = await Promise.all([
|
|
11
11
|
archiver.getRollupAddress(),
|
|
12
12
|
archiver.getL1BlockNumber(),
|
|
13
13
|
archiver.getL2Tips(),
|
|
14
14
|
] as const);
|
|
15
15
|
|
|
16
|
-
const { number: l2BlockNumber, hash: l2BlockHash } =
|
|
16
|
+
const { number: l2BlockNumber, hash: l2BlockHash } = tips.proposed;
|
|
17
17
|
if (!l2BlockHash) {
|
|
18
18
|
throw new Error(`Failed to get L2 block hash from archiver.`);
|
|
19
19
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ARCHIVER_DB_VERSION, ARCHIVER_STORE_NAME, type ArchiverConfig, createArchiverStore } from '@aztec/archiver';
|
|
2
2
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
3
3
|
import { type EthereumClientConfig, getPublicClient } from '@aztec/ethereum/client';
|
|
4
|
+
import type { L1ContractsConfig } from '@aztec/ethereum/config';
|
|
4
5
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
5
6
|
import { tryRmDir } from '@aztec/foundation/fs';
|
|
6
7
|
import type { Logger } from '@aztec/foundation/log';
|
|
@@ -28,6 +29,7 @@ const MIN_L1_BLOCKS_TO_TRIGGER_REPLACE = 86400 / 2 / 12;
|
|
|
28
29
|
|
|
29
30
|
type SnapshotSyncConfig = Pick<SharedNodeConfig, 'syncMode'> &
|
|
30
31
|
Pick<ChainConfig, 'l1ChainId' | 'rollupVersion'> &
|
|
32
|
+
Pick<L1ContractsConfig, 'aztecEpochDuration'> &
|
|
31
33
|
Pick<ArchiverConfig, 'archiverStoreMapSizeKb' | 'maxLogs'> &
|
|
32
34
|
Required<DataStoreConfig> &
|
|
33
35
|
EthereumClientConfig & {
|
|
@@ -58,7 +60,7 @@ export async function trySnapshotSync(config: SnapshotSyncConfig, log: Logger) {
|
|
|
58
60
|
|
|
59
61
|
// Create an archiver store to check the current state (do this only once)
|
|
60
62
|
log.verbose(`Creating temporary archiver data store`);
|
|
61
|
-
const archiverStore = await createArchiverStore(config);
|
|
63
|
+
const archiverStore = await createArchiverStore(config, { epochDuration: config.aztecEpochDuration });
|
|
62
64
|
let archiverL1BlockNumber: bigint | undefined;
|
|
63
65
|
let archiverL2BlockNumber: number | undefined;
|
|
64
66
|
try {
|
|
@@ -1,14 +1,7 @@
|
|
|
1
1
|
import type { IL1TxMetrics, L1TxState } from '@aztec/ethereum/l1-tx-utils';
|
|
2
2
|
import { TxUtilsState } from '@aztec/ethereum/l1-tx-utils';
|
|
3
3
|
import { createLogger } from '@aztec/foundation/log';
|
|
4
|
-
import {
|
|
5
|
-
Attributes,
|
|
6
|
-
type Histogram,
|
|
7
|
-
type Meter,
|
|
8
|
-
Metrics,
|
|
9
|
-
type UpDownCounter,
|
|
10
|
-
ValueType,
|
|
11
|
-
} from '@aztec/telemetry-client';
|
|
4
|
+
import { Attributes, type Histogram, type Meter, Metrics, type UpDownCounter } from '@aztec/telemetry-client';
|
|
12
5
|
|
|
13
6
|
export type L1TxScope = 'sequencer' | 'prover' | 'other';
|
|
14
7
|
|
|
@@ -38,55 +31,23 @@ export class L1TxMetrics implements IL1TxMetrics {
|
|
|
38
31
|
private scope: L1TxScope = 'other',
|
|
39
32
|
private logger = createLogger('l1-tx-utils:metrics'),
|
|
40
33
|
) {
|
|
41
|
-
this.txMinedDuration = this.meter.createHistogram(Metrics.L1_TX_MINED_DURATION
|
|
42
|
-
description: 'Time from initial tx send until mined',
|
|
43
|
-
unit: 's',
|
|
44
|
-
valueType: ValueType.INT,
|
|
45
|
-
});
|
|
34
|
+
this.txMinedDuration = this.meter.createHistogram(Metrics.L1_TX_MINED_DURATION);
|
|
46
35
|
|
|
47
|
-
this.txAttemptsUntilMined = this.meter.createHistogram(Metrics.L1_TX_ATTEMPTS_UNTIL_MINED
|
|
48
|
-
description: 'Number of tx attempts (including speed-ups) until mined',
|
|
49
|
-
unit: 'attempts',
|
|
50
|
-
valueType: ValueType.INT,
|
|
51
|
-
});
|
|
36
|
+
this.txAttemptsUntilMined = this.meter.createHistogram(Metrics.L1_TX_ATTEMPTS_UNTIL_MINED);
|
|
52
37
|
|
|
53
|
-
this.txMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_MINED_COUNT
|
|
54
|
-
description: 'Count of transactions successfully mined',
|
|
55
|
-
valueType: ValueType.INT,
|
|
56
|
-
});
|
|
38
|
+
this.txMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_MINED_COUNT);
|
|
57
39
|
|
|
58
|
-
this.txRevertedCount = this.meter.createUpDownCounter(Metrics.L1_TX_REVERTED_COUNT
|
|
59
|
-
description: 'Count of transactions that reverted',
|
|
60
|
-
valueType: ValueType.INT,
|
|
61
|
-
});
|
|
40
|
+
this.txRevertedCount = this.meter.createUpDownCounter(Metrics.L1_TX_REVERTED_COUNT);
|
|
62
41
|
|
|
63
|
-
this.txCancelledCount = this.meter.createUpDownCounter(Metrics.L1_TX_CANCELLED_COUNT
|
|
64
|
-
description: 'Count of transactions cancelled',
|
|
65
|
-
valueType: ValueType.INT,
|
|
66
|
-
});
|
|
42
|
+
this.txCancelledCount = this.meter.createUpDownCounter(Metrics.L1_TX_CANCELLED_COUNT);
|
|
67
43
|
|
|
68
|
-
this.txNotMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_NOT_MINED_COUNT
|
|
69
|
-
description: 'Count of transactions not mined (timed out)',
|
|
70
|
-
valueType: ValueType.INT,
|
|
71
|
-
});
|
|
44
|
+
this.txNotMinedCount = this.meter.createUpDownCounter(Metrics.L1_TX_NOT_MINED_COUNT);
|
|
72
45
|
|
|
73
|
-
this.maxPriorityFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_PRIORITY_FEE
|
|
74
|
-
description: 'Max priority fee per gas at tx end state (in wei)',
|
|
75
|
-
unit: 'wei',
|
|
76
|
-
valueType: ValueType.INT,
|
|
77
|
-
});
|
|
46
|
+
this.maxPriorityFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_PRIORITY_FEE);
|
|
78
47
|
|
|
79
|
-
this.maxFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_FEE
|
|
80
|
-
description: 'Max fee per gas at tx end state (in wei)',
|
|
81
|
-
unit: 'wei',
|
|
82
|
-
valueType: ValueType.INT,
|
|
83
|
-
});
|
|
48
|
+
this.maxFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_MAX_FEE);
|
|
84
49
|
|
|
85
|
-
this.blobFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_BLOB_FEE
|
|
86
|
-
description: 'Max fee per blob gas at tx end state (in wei)',
|
|
87
|
-
unit: 'wei',
|
|
88
|
-
valueType: ValueType.INT,
|
|
89
|
-
});
|
|
50
|
+
this.blobFeeHistogram = this.meter.createHistogram(Metrics.L1_TX_BLOB_FEE);
|
|
90
51
|
}
|
|
91
52
|
|
|
92
53
|
/**
|