@aztec/stdlib 0.0.1-commit.59e663cd → 0.0.1-commit.5cf06de3
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/block/block_hash.d.ts +14 -17
- package/dest/block/block_hash.d.ts.map +1 -1
- package/dest/block/block_hash.js +21 -34
- package/dest/block/block_parameter.d.ts +2 -2
- package/dest/block/block_parameter.d.ts.map +1 -1
- package/dest/block/in_block.d.ts +5 -5
- package/dest/block/in_block.js +1 -1
- package/dest/block/l2_block.d.ts +3 -2
- package/dest/block/l2_block.d.ts.map +1 -1
- package/dest/block/l2_block.js +2 -3
- package/dest/block/l2_block_source.d.ts +5 -4
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/contract/contract_address.js +1 -1
- package/dest/contract/contract_class_id.d.ts +1 -1
- package/dest/contract/contract_class_id.js +1 -1
- package/dest/contract/private_function.js +1 -1
- package/dest/contract/private_function_membership_proof.d.ts +1 -1
- package/dest/contract/private_function_membership_proof.js +1 -1
- package/dest/database-version/database_version.d.ts +58 -0
- package/dest/database-version/database_version.d.ts.map +1 -0
- package/dest/database-version/database_version.js +69 -0
- package/dest/database-version/version_manager.d.ts +2 -50
- package/dest/database-version/version_manager.d.ts.map +1 -1
- package/dest/database-version/version_manager.js +1 -66
- package/dest/epoch-helpers/index.d.ts +3 -1
- package/dest/epoch-helpers/index.d.ts.map +1 -1
- package/dest/epoch-helpers/index.js +4 -0
- package/dest/hash/hash.js +2 -2
- package/dest/hash/map_slot.d.ts +1 -1
- package/dest/hash/map_slot.d.ts.map +1 -1
- package/dest/hash/map_slot.js +4 -3
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +4 -3
- package/dest/interfaces/aztec-node-admin.d.ts +8 -2
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +3 -1
- package/dest/interfaces/aztec-node.d.ts +30 -51
- package/dest/interfaces/aztec-node.d.ts.map +1 -1
- package/dest/interfaces/aztec-node.js +3 -7
- package/dest/interfaces/block-builder.d.ts +10 -4
- package/dest/interfaces/block-builder.d.ts.map +1 -1
- package/dest/interfaces/block-builder.js +7 -0
- package/dest/interfaces/get_logs_response.d.ts +6 -6
- package/dest/interfaces/prover-broker.d.ts +16 -1
- package/dest/interfaces/prover-broker.d.ts.map +1 -1
- package/dest/interfaces/prover-broker.js +4 -1
- package/dest/interfaces/prover-client.d.ts +6 -1
- package/dest/interfaces/prover-client.d.ts.map +1 -1
- package/dest/interfaces/prover-client.js +5 -0
- package/dest/interfaces/proving-job.d.ts +34 -34
- package/dest/interfaces/validator.d.ts +33 -1
- package/dest/interfaces/validator.d.ts.map +1 -1
- package/dest/keys/derivation.d.ts +3 -3
- package/dest/keys/derivation.js +8 -8
- package/dest/keys/key_types.d.ts +1 -1
- package/dest/keys/utils.d.ts +1 -1
- package/dest/keys/utils.d.ts.map +1 -1
- package/dest/keys/utils.js +7 -3
- package/dest/l1-contracts/slash_factory.d.ts +1 -1
- package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
- package/dest/l1-contracts/slash_factory.js +1 -0
- package/dest/logs/extended_public_log.d.ts +5 -5
- package/dest/logs/log_id.d.ts +4 -4
- package/dest/logs/log_id.d.ts.map +1 -1
- package/dest/logs/log_id.js +2 -1
- package/dest/logs/siloed_tag.d.ts +1 -1
- package/dest/logs/siloed_tag.d.ts.map +1 -1
- package/dest/logs/siloed_tag.js +4 -3
- package/dest/stats/stats.d.ts +1 -3
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tx/block_header.js +2 -2
- package/dest/tx/in_tx.d.ts +2 -2
- package/dest/tx/indexed_tx_effect.d.ts +3 -3
- package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
- package/dest/tx/indexed_tx_effect.js +2 -1
- package/package.json +11 -10
- package/src/block/block_hash.ts +25 -50
- package/src/block/in_block.ts +1 -1
- package/src/block/l2_block.ts +3 -3
- package/src/block/l2_block_source.ts +4 -3
- package/src/contract/contract_address.ts +1 -1
- package/src/contract/contract_class_id.ts +1 -1
- package/src/contract/private_function.ts +1 -1
- package/src/contract/private_function_membership_proof.ts +1 -1
- package/src/database-version/database_version.ts +87 -0
- package/src/database-version/version_manager.ts +1 -77
- package/src/epoch-helpers/index.ts +9 -0
- package/src/hash/hash.ts +2 -2
- package/src/hash/map_slot.ts +3 -2
- package/src/interfaces/archiver.ts +4 -3
- package/src/interfaces/aztec-node-admin.ts +3 -2
- package/src/interfaces/aztec-node.ts +37 -88
- package/src/interfaces/block-builder.ts +12 -2
- package/src/interfaces/prover-broker.ts +22 -0
- package/src/interfaces/prover-client.ts +7 -0
- package/src/keys/derivation.ts +8 -8
- package/src/keys/key_types.ts +1 -1
- package/src/keys/utils.ts +7 -3
- package/src/l1-contracts/slash_factory.ts +1 -0
- package/src/logs/log_id.ts +2 -1
- package/src/logs/siloed_tag.ts +3 -2
- package/src/stats/stats.ts +0 -2
- package/src/tx/block_header.ts +3 -3
- package/src/tx/indexed_tx_effect.ts +2 -1
- package/dest/database-version/index.d.ts +0 -2
- package/dest/database-version/index.d.ts.map +0 -1
- package/dest/database-version/index.js +0 -1
- package/src/database-version/index.ts +0 -1
|
@@ -35,6 +35,8 @@ export type ProverConfig = ActualProverConfig & {
|
|
|
35
35
|
proverId?: EthAddress;
|
|
36
36
|
/** Number of proving agents to start within the prover. */
|
|
37
37
|
proverAgentCount: number;
|
|
38
|
+
/** Where to store proving request. Must be accessible to both prover node and agents. If not set will inline-encode the parameters */
|
|
39
|
+
proofStore?: string;
|
|
38
40
|
/** Store for failed proof inputs. */
|
|
39
41
|
failedProofStore?: string;
|
|
40
42
|
};
|
|
@@ -48,6 +50,7 @@ export const ProverConfigSchema = zodFor<ProverConfig>()(
|
|
|
48
50
|
proverTestDelayMs: z.number(),
|
|
49
51
|
proverTestDelayFactor: z.number(),
|
|
50
52
|
proverAgentCount: z.number(),
|
|
53
|
+
proofStore: z.string().optional(),
|
|
51
54
|
failedProofStore: z.string().optional(),
|
|
52
55
|
cancelJobsOnStop: z.boolean(),
|
|
53
56
|
}),
|
|
@@ -87,6 +90,10 @@ export const proverConfigMappings: ConfigMappingsType<ProverConfig> = {
|
|
|
87
90
|
description: 'The number of prover agents to start',
|
|
88
91
|
...numberConfigHelper(1),
|
|
89
92
|
},
|
|
93
|
+
proofStore: {
|
|
94
|
+
env: 'PROVER_PROOF_STORE',
|
|
95
|
+
description: 'Optional proof input store for the prover',
|
|
96
|
+
},
|
|
90
97
|
failedProofStore: {
|
|
91
98
|
env: 'PROVER_FAILED_PROOF_STORE',
|
|
92
99
|
description:
|
package/src/keys/derivation.ts
CHANGED
|
@@ -10,8 +10,8 @@ import type { KeyPrefix } from './key_types.js';
|
|
|
10
10
|
import { PublicKeys } from './public_keys.js';
|
|
11
11
|
import { getKeyGenerator } from './utils.js';
|
|
12
12
|
|
|
13
|
-
export function
|
|
14
|
-
return computeAppSecretKey(
|
|
13
|
+
export function computeAppNullifierHidingKey(masterNullifierHidingKey: GrumpkinScalar, app: AztecAddress): Promise<Fr> {
|
|
14
|
+
return computeAppSecretKey(masterNullifierHidingKey, app, 'n'); // 'n' is the key prefix for nullifier hiding key
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
export function computeAppSecretKey(skM: GrumpkinScalar, app: AztecAddress, keyPrefix: KeyPrefix): Promise<Fr> {
|
|
@@ -26,8 +26,8 @@ export async function computeOvskApp(ovsk: GrumpkinScalar, app: AztecAddress): P
|
|
|
26
26
|
return GrumpkinScalar.fromBuffer(ovskAppFr.toBuffer());
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
export function
|
|
30
|
-
return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.
|
|
29
|
+
export function deriveMasterNullifierHidingKey(secretKey: Fr): GrumpkinScalar {
|
|
30
|
+
return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.NHK_M]);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
export function deriveMasterIncomingViewingSecretKey(secretKey: Fr): GrumpkinScalar {
|
|
@@ -93,15 +93,15 @@ export function derivePublicKeyFromSecretKey(secretKey: Fq) {
|
|
|
93
93
|
* @returns The derived keys.
|
|
94
94
|
*/
|
|
95
95
|
export async function deriveKeys(secretKey: Fr) {
|
|
96
|
-
// First we derive master secret keys - we use sha512 here because this derivation will never take place
|
|
96
|
+
// First we derive master secret/hiding keys - we use sha512 here because this derivation will never take place
|
|
97
97
|
// in a circuit
|
|
98
|
-
const
|
|
98
|
+
const masterNullifierHidingKey = deriveMasterNullifierHidingKey(secretKey);
|
|
99
99
|
const masterIncomingViewingSecretKey = deriveMasterIncomingViewingSecretKey(secretKey);
|
|
100
100
|
const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
|
|
101
101
|
const masterTaggingSecretKey = sha512ToGrumpkinScalar([secretKey, GeneratorIndex.TSK_M]);
|
|
102
102
|
|
|
103
103
|
// Then we derive master public keys
|
|
104
|
-
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(
|
|
104
|
+
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
|
|
105
105
|
const masterIncomingViewingPublicKey = await derivePublicKeyFromSecretKey(masterIncomingViewingSecretKey);
|
|
106
106
|
const masterOutgoingViewingPublicKey = await derivePublicKeyFromSecretKey(masterOutgoingViewingSecretKey);
|
|
107
107
|
const masterTaggingPublicKey = await derivePublicKeyFromSecretKey(masterTaggingSecretKey);
|
|
@@ -115,7 +115,7 @@ export async function deriveKeys(secretKey: Fr) {
|
|
|
115
115
|
);
|
|
116
116
|
|
|
117
117
|
return {
|
|
118
|
-
|
|
118
|
+
masterNullifierHidingKey,
|
|
119
119
|
masterIncomingViewingSecretKey,
|
|
120
120
|
masterOutgoingViewingSecretKey,
|
|
121
121
|
masterTaggingSecretKey,
|
package/src/keys/key_types.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GeneratorIndex } from '@aztec/constants';
|
|
2
2
|
|
|
3
|
-
export type KeyGenerator = GeneratorIndex.
|
|
3
|
+
export type KeyGenerator = GeneratorIndex.NHK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
|
|
4
4
|
export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
|
|
5
5
|
export const KEY_PREFIXES: KeyPrefix[] = ['n', 'iv', 'ov', 't'];
|
package/src/keys/utils.ts
CHANGED
|
@@ -3,7 +3,11 @@ import { GeneratorIndex } from '@aztec/constants';
|
|
|
3
3
|
import type { KeyGenerator, KeyPrefix } from './key_types.js';
|
|
4
4
|
|
|
5
5
|
export function getKeyGenerator(prefix: KeyPrefix): KeyGenerator {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
const map: Record<KeyPrefix, KeyGenerator> = {
|
|
7
|
+
n: GeneratorIndex.NHK_M,
|
|
8
|
+
iv: GeneratorIndex.IVSK_M,
|
|
9
|
+
ov: GeneratorIndex.OVSK_M,
|
|
10
|
+
t: GeneratorIndex.TSK_M,
|
|
11
|
+
};
|
|
12
|
+
return map[prefix];
|
|
9
13
|
}
|
package/src/logs/log_id.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { INITIAL_L2_BLOCK_NUM } from '@aztec/constants';
|
|
2
2
|
import { toBufferBE } from '@aztec/foundation/bigint-buffer';
|
|
3
3
|
import { BlockNumber, BlockNumberSchema } from '@aztec/foundation/branded-types';
|
|
4
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
5
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
5
6
|
|
|
6
7
|
import { z } from 'zod';
|
|
@@ -81,7 +82,7 @@ export class LogId {
|
|
|
81
82
|
const reader = BufferReader.asReader(buffer);
|
|
82
83
|
|
|
83
84
|
const blockNumber = BlockNumber(reader.readNumber());
|
|
84
|
-
const blockHash = reader.readObject(
|
|
85
|
+
const blockHash = new BlockHash(reader.readObject(Fr));
|
|
85
86
|
const txIndex = reader.readNumber();
|
|
86
87
|
const logIndex = reader.readNumber();
|
|
87
88
|
|
package/src/logs/siloed_tag.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GeneratorIndex } from '@aztec/constants';
|
|
2
|
+
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
2
3
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
4
|
import type { ZodFor } from '@aztec/foundation/schemas';
|
|
4
5
|
|
|
@@ -22,7 +23,7 @@ export class SiloedTag {
|
|
|
22
23
|
constructor(public readonly value: Fr) {}
|
|
23
24
|
|
|
24
25
|
static async compute(tag: Tag, app: AztecAddress): Promise<SiloedTag> {
|
|
25
|
-
const siloedTag = await
|
|
26
|
+
const siloedTag = await poseidon2HashWithSeparator([app, tag.value], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
|
|
26
27
|
return new SiloedTag(siloedTag);
|
|
27
28
|
}
|
|
28
29
|
|
package/src/stats/stats.ts
CHANGED
|
@@ -202,8 +202,6 @@ export type L2BlockBuiltStats = {
|
|
|
202
202
|
duration: number;
|
|
203
203
|
/** Time for processing public txs in ms. */
|
|
204
204
|
publicProcessDuration: number;
|
|
205
|
-
/** Time for running rollup circuits in ms. */
|
|
206
|
-
rollupCircuitsDuration: number;
|
|
207
205
|
} & L2BlockStats;
|
|
208
206
|
|
|
209
207
|
/** Stats for an L2 block processed by the world state synchronizer. */
|
package/src/tx/block_header.ts
CHANGED
|
@@ -164,8 +164,8 @@ export class BlockHeader {
|
|
|
164
164
|
|
|
165
165
|
hash(): Promise<BlockHash> {
|
|
166
166
|
if (!this._cachedHash) {
|
|
167
|
-
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.
|
|
168
|
-
BlockHash
|
|
167
|
+
this._cachedHash = poseidon2HashWithSeparator(this.toFields(), GeneratorIndex.BLOCK_HEADER_HASH).then(
|
|
168
|
+
fr => new BlockHash(fr),
|
|
169
169
|
);
|
|
170
170
|
}
|
|
171
171
|
return this._cachedHash;
|
|
@@ -173,7 +173,7 @@ export class BlockHeader {
|
|
|
173
173
|
|
|
174
174
|
/** Manually set the hash for this block header if already computed */
|
|
175
175
|
setHash(hashed: Fr) {
|
|
176
|
-
this._cachedHash = Promise.resolve(BlockHash
|
|
176
|
+
this._cachedHash = Promise.resolve(new BlockHash(hashed));
|
|
177
177
|
}
|
|
178
178
|
|
|
179
179
|
static random(overrides: Partial<FieldsOf<BlockHeader>> & Partial<FieldsOf<GlobalVariables>> = {}): BlockHeader {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
3
|
import { schemas } from '@aztec/foundation/schemas';
|
|
3
4
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
5
|
|
|
@@ -26,7 +27,7 @@ export function serializeIndexedTxEffect(effect: IndexedTxEffect): Buffer {
|
|
|
26
27
|
export function deserializeIndexedTxEffect(buffer: Buffer): IndexedTxEffect {
|
|
27
28
|
const reader = BufferReader.asReader(buffer);
|
|
28
29
|
|
|
29
|
-
const l2BlockHash = reader.readObject(
|
|
30
|
+
const l2BlockHash = new BlockHash(reader.readObject(Fr));
|
|
30
31
|
const l2BlockNumber = BlockNumber(reader.readNumber());
|
|
31
32
|
const txIndexInBlock = reader.readNumber();
|
|
32
33
|
const data = reader.readObject(TxEffect);
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './version_manager.js';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS12ZXJzaW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMifQ==
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database-version/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './version_manager.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './version_manager.js';
|