@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.
Files changed (109) hide show
  1. package/dest/block/block_hash.d.ts +14 -17
  2. package/dest/block/block_hash.d.ts.map +1 -1
  3. package/dest/block/block_hash.js +21 -34
  4. package/dest/block/block_parameter.d.ts +2 -2
  5. package/dest/block/block_parameter.d.ts.map +1 -1
  6. package/dest/block/in_block.d.ts +5 -5
  7. package/dest/block/in_block.js +1 -1
  8. package/dest/block/l2_block.d.ts +3 -2
  9. package/dest/block/l2_block.d.ts.map +1 -1
  10. package/dest/block/l2_block.js +2 -3
  11. package/dest/block/l2_block_source.d.ts +5 -4
  12. package/dest/block/l2_block_source.d.ts.map +1 -1
  13. package/dest/contract/contract_address.js +1 -1
  14. package/dest/contract/contract_class_id.d.ts +1 -1
  15. package/dest/contract/contract_class_id.js +1 -1
  16. package/dest/contract/private_function.js +1 -1
  17. package/dest/contract/private_function_membership_proof.d.ts +1 -1
  18. package/dest/contract/private_function_membership_proof.js +1 -1
  19. package/dest/database-version/database_version.d.ts +58 -0
  20. package/dest/database-version/database_version.d.ts.map +1 -0
  21. package/dest/database-version/database_version.js +69 -0
  22. package/dest/database-version/version_manager.d.ts +2 -50
  23. package/dest/database-version/version_manager.d.ts.map +1 -1
  24. package/dest/database-version/version_manager.js +1 -66
  25. package/dest/epoch-helpers/index.d.ts +3 -1
  26. package/dest/epoch-helpers/index.d.ts.map +1 -1
  27. package/dest/epoch-helpers/index.js +4 -0
  28. package/dest/hash/hash.js +2 -2
  29. package/dest/hash/map_slot.d.ts +1 -1
  30. package/dest/hash/map_slot.d.ts.map +1 -1
  31. package/dest/hash/map_slot.js +4 -3
  32. package/dest/interfaces/archiver.d.ts +1 -1
  33. package/dest/interfaces/archiver.d.ts.map +1 -1
  34. package/dest/interfaces/archiver.js +4 -3
  35. package/dest/interfaces/aztec-node-admin.d.ts +8 -2
  36. package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
  37. package/dest/interfaces/aztec-node-admin.js +3 -1
  38. package/dest/interfaces/aztec-node.d.ts +30 -51
  39. package/dest/interfaces/aztec-node.d.ts.map +1 -1
  40. package/dest/interfaces/aztec-node.js +3 -7
  41. package/dest/interfaces/block-builder.d.ts +10 -4
  42. package/dest/interfaces/block-builder.d.ts.map +1 -1
  43. package/dest/interfaces/block-builder.js +7 -0
  44. package/dest/interfaces/get_logs_response.d.ts +6 -6
  45. package/dest/interfaces/prover-broker.d.ts +16 -1
  46. package/dest/interfaces/prover-broker.d.ts.map +1 -1
  47. package/dest/interfaces/prover-broker.js +4 -1
  48. package/dest/interfaces/prover-client.d.ts +6 -1
  49. package/dest/interfaces/prover-client.d.ts.map +1 -1
  50. package/dest/interfaces/prover-client.js +5 -0
  51. package/dest/interfaces/proving-job.d.ts +34 -34
  52. package/dest/interfaces/validator.d.ts +33 -1
  53. package/dest/interfaces/validator.d.ts.map +1 -1
  54. package/dest/keys/derivation.d.ts +3 -3
  55. package/dest/keys/derivation.js +8 -8
  56. package/dest/keys/key_types.d.ts +1 -1
  57. package/dest/keys/utils.d.ts +1 -1
  58. package/dest/keys/utils.d.ts.map +1 -1
  59. package/dest/keys/utils.js +7 -3
  60. package/dest/l1-contracts/slash_factory.d.ts +1 -1
  61. package/dest/l1-contracts/slash_factory.d.ts.map +1 -1
  62. package/dest/l1-contracts/slash_factory.js +1 -0
  63. package/dest/logs/extended_public_log.d.ts +5 -5
  64. package/dest/logs/log_id.d.ts +4 -4
  65. package/dest/logs/log_id.d.ts.map +1 -1
  66. package/dest/logs/log_id.js +2 -1
  67. package/dest/logs/siloed_tag.d.ts +1 -1
  68. package/dest/logs/siloed_tag.d.ts.map +1 -1
  69. package/dest/logs/siloed_tag.js +4 -3
  70. package/dest/stats/stats.d.ts +1 -3
  71. package/dest/stats/stats.d.ts.map +1 -1
  72. package/dest/tx/block_header.js +2 -2
  73. package/dest/tx/in_tx.d.ts +2 -2
  74. package/dest/tx/indexed_tx_effect.d.ts +3 -3
  75. package/dest/tx/indexed_tx_effect.d.ts.map +1 -1
  76. package/dest/tx/indexed_tx_effect.js +2 -1
  77. package/package.json +11 -10
  78. package/src/block/block_hash.ts +25 -50
  79. package/src/block/in_block.ts +1 -1
  80. package/src/block/l2_block.ts +3 -3
  81. package/src/block/l2_block_source.ts +4 -3
  82. package/src/contract/contract_address.ts +1 -1
  83. package/src/contract/contract_class_id.ts +1 -1
  84. package/src/contract/private_function.ts +1 -1
  85. package/src/contract/private_function_membership_proof.ts +1 -1
  86. package/src/database-version/database_version.ts +87 -0
  87. package/src/database-version/version_manager.ts +1 -77
  88. package/src/epoch-helpers/index.ts +9 -0
  89. package/src/hash/hash.ts +2 -2
  90. package/src/hash/map_slot.ts +3 -2
  91. package/src/interfaces/archiver.ts +4 -3
  92. package/src/interfaces/aztec-node-admin.ts +3 -2
  93. package/src/interfaces/aztec-node.ts +37 -88
  94. package/src/interfaces/block-builder.ts +12 -2
  95. package/src/interfaces/prover-broker.ts +22 -0
  96. package/src/interfaces/prover-client.ts +7 -0
  97. package/src/keys/derivation.ts +8 -8
  98. package/src/keys/key_types.ts +1 -1
  99. package/src/keys/utils.ts +7 -3
  100. package/src/l1-contracts/slash_factory.ts +1 -0
  101. package/src/logs/log_id.ts +2 -1
  102. package/src/logs/siloed_tag.ts +3 -2
  103. package/src/stats/stats.ts +0 -2
  104. package/src/tx/block_header.ts +3 -3
  105. package/src/tx/indexed_tx_effect.ts +2 -1
  106. package/dest/database-version/index.d.ts +0 -2
  107. package/dest/database-version/index.d.ts.map +0 -1
  108. package/dest/database-version/index.js +0 -1
  109. 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:
@@ -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 computeAppNullifierSecretKey(masterNullifierSecretKey: GrumpkinScalar, app: AztecAddress): Promise<Fr> {
14
- return computeAppSecretKey(masterNullifierSecretKey, app, 'n'); // 'n' is the key prefix for nullifier secret key
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 deriveMasterNullifierSecretKey(secretKey: Fr): GrumpkinScalar {
30
- return sha512ToGrumpkinScalar([secretKey, GeneratorIndex.NSK_M]);
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 masterNullifierSecretKey = deriveMasterNullifierSecretKey(secretKey);
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(masterNullifierSecretKey);
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
- masterNullifierSecretKey,
118
+ masterNullifierHidingKey,
119
119
  masterIncomingViewingSecretKey,
120
120
  masterOutgoingViewingSecretKey,
121
121
  masterTaggingSecretKey,
@@ -1,5 +1,5 @@
1
1
  import type { GeneratorIndex } from '@aztec/constants';
2
2
 
3
- export type KeyGenerator = GeneratorIndex.NSK_M | GeneratorIndex.IVSK_M | GeneratorIndex.OVSK_M | GeneratorIndex.TSK_M;
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
- // We get enum key by capitalizing key prefix and concatenating it with 'SK_M'
7
- const enumKey = `${prefix.toUpperCase()}SK_M`;
8
- return GeneratorIndex[enumKey as keyof typeof GeneratorIndex] as KeyGenerator;
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
  }
@@ -41,6 +41,7 @@ export class SlashFactoryContract {
41
41
 
42
42
  return {
43
43
  to: this.contract.address,
44
+ abi: SlashFactoryAbi,
44
45
  data: encodeFunctionData({
45
46
  abi: SlashFactoryAbi,
46
47
  functionName: 'createSlashPayload',
@@ -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(BlockHash);
85
+ const blockHash = new BlockHash(reader.readObject(Fr));
85
86
  const txIndex = reader.readNumber();
86
87
  const logIndex = reader.readNumber();
87
88
 
@@ -1,4 +1,5 @@
1
- import { poseidon2Hash } from '@aztec/foundation/crypto/poseidon';
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 poseidon2Hash([app, tag.value]);
26
+ const siloedTag = await poseidon2HashWithSeparator([app, tag.value], GeneratorIndex.PRIVATE_LOG_FIRST_FIELD);
26
27
  return new SiloedTag(siloedTag);
27
28
  }
28
29
 
@@ -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. */
@@ -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.BLOCK_HASH).then(fr =>
168
- BlockHash.fromField(fr),
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.fromField(hashed));
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(BlockHash);
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';