@aztec/stdlib 4.0.0-nightly.20260216 → 4.0.0-nightly.20260218
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/auth_witness/auth_witness.js +3 -3
- package/dest/block/block_data.d.ts +52 -0
- package/dest/block/block_data.d.ts.map +1 -0
- package/dest/block/block_data.js +12 -0
- package/dest/block/index.d.ts +2 -1
- package/dest/block/index.d.ts.map +1 -1
- package/dest/block/index.js +1 -0
- package/dest/block/l2_block_source.d.ts +20 -1
- package/dest/block/l2_block_source.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.d.ts +6 -1
- package/dest/checkpoint/checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/checkpoint.js +5 -4
- package/dest/checkpoint/checkpoint_data.d.ts +120 -0
- package/dest/checkpoint/checkpoint_data.d.ts.map +1 -0
- package/dest/checkpoint/checkpoint_data.js +26 -0
- package/dest/checkpoint/index.d.ts +2 -1
- package/dest/checkpoint/index.d.ts.map +1 -1
- package/dest/checkpoint/index.js +1 -0
- package/dest/checkpoint/published_checkpoint.d.ts +11 -2
- package/dest/checkpoint/published_checkpoint.d.ts.map +1 -1
- package/dest/checkpoint/published_checkpoint.js +1 -2
- package/dest/contract/contract_address.js +4 -4
- package/dest/contract/contract_class_id.js +3 -3
- package/dest/contract/private_function.js +2 -2
- package/dest/file-store/local.d.ts +3 -3
- package/dest/file-store/local.d.ts.map +1 -1
- package/dest/file-store/local.js +13 -4
- package/dest/file-store/s3.d.ts +1 -1
- package/dest/file-store/s3.d.ts.map +1 -1
- package/dest/file-store/s3.js +11 -3
- package/dest/hash/hash.js +11 -11
- package/dest/hash/map_slot.js +2 -2
- package/dest/interfaces/archiver.d.ts +1 -1
- package/dest/interfaces/archiver.d.ts.map +1 -1
- package/dest/interfaces/archiver.js +5 -0
- package/dest/interfaces/aztec-node-admin.d.ts +27 -2
- package/dest/interfaces/aztec-node-admin.d.ts.map +1 -1
- package/dest/interfaces/aztec-node-admin.js +9 -3
- package/dest/interfaces/aztec-node.d.ts +1 -1
- package/dest/interfaces/configs.d.ts +12 -2
- package/dest/interfaces/configs.d.ts.map +1 -1
- package/dest/interfaces/configs.js +3 -1
- package/dest/interfaces/merkle_tree_operations.d.ts +2 -2
- package/dest/interfaces/merkle_tree_operations.d.ts.map +1 -1
- package/dest/kernel/hints/index.d.ts +2 -2
- package/dest/kernel/hints/index.js +2 -2
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts +24 -0
- package/dest/kernel/hints/key_validation_request_and_separator.d.ts.map +1 -0
- package/dest/kernel/hints/{key_validation_request_and_generator.js → key_validation_request_and_separator.js} +12 -15
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts → scoped_key_validation_request_and_separator.d.ts} +8 -8
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.d.ts.map → scoped_key_validation_request_and_separator.d.ts.map} +1 -1
- package/dest/kernel/hints/{scoped_key_validation_request_and_generator.js → scoped_key_validation_request_and_separator.js} +6 -6
- package/dest/kernel/private_circuit_public_inputs.d.ts +9 -9
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +16 -16
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +4 -4
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_tail_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_public_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts +3 -3
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_to_rollup_kernel_circuit_public_inputs.js +7 -7
- package/dest/kernel/private_validation_requests.d.ts +3 -3
- package/dest/kernel/private_validation_requests.js +9 -9
- package/dest/keys/derivation.js +8 -8
- package/dest/keys/key_types.d.ts +3 -3
- package/dest/keys/key_types.d.ts.map +1 -1
- package/dest/keys/public_keys.js +2 -2
- package/dest/keys/utils.js +5 -5
- package/dest/logs/private_log.d.ts +2 -2
- package/dest/logs/private_log.d.ts.map +1 -1
- package/dest/p2p/block_proposal.d.ts +1 -1
- package/dest/p2p/block_proposal.d.ts.map +1 -1
- package/dest/p2p/block_proposal.js +1 -3
- package/dest/rollup/checkpoint_header.d.ts +2 -2
- package/dest/rollup/checkpoint_header.js +2 -2
- package/dest/tests/factories.js +11 -11
- package/dest/tests/mocks.js +3 -3
- package/dest/tx/block_header.js +2 -2
- package/dest/tx/global_variables.d.ts +4 -4
- package/dest/tx/global_variables.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.d.ts +1 -1
- package/dest/tx/protocol_contracts.d.ts.map +1 -1
- package/dest/tx/protocol_contracts.js +2 -2
- package/dest/tx/tx_request.js +2 -2
- package/dest/tx/validator/error_texts.d.ts +1 -1
- package/dest/tx/validator/error_texts.js +1 -1
- package/package.json +9 -9
- package/src/auth_witness/auth_witness.ts +3 -3
- package/src/block/block_data.ts +26 -0
- package/src/block/index.ts +1 -0
- package/src/block/l2_block_source.ts +22 -0
- package/src/checkpoint/checkpoint.ts +5 -3
- package/src/checkpoint/checkpoint_data.ts +51 -0
- package/src/checkpoint/index.ts +1 -0
- package/src/checkpoint/published_checkpoint.ts +3 -1
- package/src/contract/contract_address.ts +4 -4
- package/src/contract/contract_class_id.ts +3 -3
- package/src/contract/private_function.ts +2 -2
- package/src/file-store/local.ts +15 -5
- package/src/file-store/s3.ts +12 -3
- package/src/hash/hash.ts +11 -11
- package/src/hash/map_slot.ts +2 -2
- package/src/interfaces/archiver.ts +5 -0
- package/src/interfaces/aztec-node-admin.ts +23 -0
- package/src/interfaces/aztec-node.ts +1 -1
- package/src/interfaces/configs.ts +8 -1
- package/src/interfaces/merkle_tree_operations.ts +1 -1
- package/src/kernel/hints/index.ts +2 -2
- package/src/kernel/hints/{key_validation_request_and_generator.ts → key_validation_request_and_separator.ts} +12 -15
- package/src/kernel/hints/{scoped_key_validation_request_and_generator.ts → scoped_key_validation_request_and_separator.ts} +10 -10
- package/src/kernel/private_circuit_public_inputs.ts +14 -14
- package/src/kernel/private_kernel_circuit_public_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +2 -2
- package/src/kernel/private_kernel_tail_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_public_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts +5 -5
- package/src/kernel/private_validation_requests.ts +8 -8
- package/src/keys/derivation.ts +8 -8
- package/src/keys/key_types.ts +6 -2
- package/src/keys/public_keys.ts +2 -2
- package/src/keys/utils.ts +5 -5
- package/src/p2p/block_proposal.ts +0 -2
- package/src/rollup/checkpoint_header.ts +2 -2
- package/src/tests/factories.ts +12 -12
- package/src/tests/mocks.ts +3 -3
- package/src/tx/block_header.ts +2 -2
- package/src/tx/global_variables.ts +3 -3
- package/src/tx/protocol_contracts.ts +2 -2
- package/src/tx/tx_request.ts +2 -2
- package/src/tx/validator/error_texts.ts +1 -1
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts +0 -30
- package/dest/kernel/hints/key_validation_request_and_generator.d.ts.map +0 -1
|
@@ -71,7 +71,7 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
71
71
|
constants;
|
|
72
72
|
gasUsed;
|
|
73
73
|
feePayer;
|
|
74
|
-
|
|
74
|
+
expirationTimestamp;
|
|
75
75
|
forPublic;
|
|
76
76
|
forRollup;
|
|
77
77
|
constructor(/**
|
|
@@ -83,11 +83,11 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
83
83
|
* The address of the fee payer for the transaction.
|
|
84
84
|
*/ feePayer, /**
|
|
85
85
|
* The timestamp by which the transaction must be included in a block.
|
|
86
|
-
*/
|
|
86
|
+
*/ expirationTimestamp, forPublic, forRollup){
|
|
87
87
|
this.constants = constants;
|
|
88
88
|
this.gasUsed = gasUsed;
|
|
89
89
|
this.feePayer = feePayer;
|
|
90
|
-
this.
|
|
90
|
+
this.expirationTimestamp = expirationTimestamp;
|
|
91
91
|
this.forPublic = forPublic;
|
|
92
92
|
this.forRollup = forRollup;
|
|
93
93
|
if (!forPublic && !forRollup) {
|
|
@@ -104,21 +104,21 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
104
104
|
return this.toBuffer();
|
|
105
105
|
}
|
|
106
106
|
getSize() {
|
|
107
|
-
return (this.forPublic?.getSize() ?? 0) + (this.forRollup?.getSize() ?? 0) + this.constants.getSize() + this.gasUsed.getSize() + this.feePayer.size + 8 //
|
|
107
|
+
return (this.forPublic?.getSize() ?? 0) + (this.forRollup?.getSize() ?? 0) + this.constants.getSize() + this.gasUsed.getSize() + this.feePayer.size + 8 // expirationTimestamp
|
|
108
108
|
;
|
|
109
109
|
}
|
|
110
110
|
toPrivateToPublicKernelCircuitPublicInputs() {
|
|
111
111
|
if (!this.forPublic) {
|
|
112
112
|
throw new Error('Private tail public inputs is not for public circuit.');
|
|
113
113
|
}
|
|
114
|
-
return new PrivateToPublicKernelCircuitPublicInputs(this.constants, this.forPublic.nonRevertibleAccumulatedData, this.forPublic.revertibleAccumulatedData, this.forPublic.publicTeardownCallRequest, this.gasUsed, this.feePayer, this.
|
|
114
|
+
return new PrivateToPublicKernelCircuitPublicInputs(this.constants, this.forPublic.nonRevertibleAccumulatedData, this.forPublic.revertibleAccumulatedData, this.forPublic.publicTeardownCallRequest, this.gasUsed, this.feePayer, this.expirationTimestamp);
|
|
115
115
|
}
|
|
116
116
|
toPrivateToRollupKernelCircuitPublicInputs() {
|
|
117
117
|
if (!this.forRollup) {
|
|
118
118
|
throw new Error('Private tail public inputs is not for rollup circuit.');
|
|
119
119
|
}
|
|
120
120
|
const constants = new TxConstantData(this.constants.anchorBlockHeader, this.constants.txContext, this.constants.vkTreeRoot, this.constants.protocolContractsHash);
|
|
121
|
-
return new PrivateToRollupKernelCircuitPublicInputs(constants, this.forRollup.end, this.gasUsed, this.feePayer, this.
|
|
121
|
+
return new PrivateToRollupKernelCircuitPublicInputs(constants, this.forRollup.end, this.gasUsed, this.feePayer, this.expirationTimestamp);
|
|
122
122
|
}
|
|
123
123
|
publicInputs() {
|
|
124
124
|
return this.forPublic ? this.toPrivateToPublicKernelCircuitPublicInputs() : this.toPrivateToRollupKernelCircuitPublicInputs();
|
|
@@ -176,7 +176,7 @@ export class PrivateKernelTailCircuitPublicInputs {
|
|
|
176
176
|
}
|
|
177
177
|
toBuffer() {
|
|
178
178
|
const isForPublic = !!this.forPublic;
|
|
179
|
-
return serializeToBuffer(isForPublic, this.constants, this.gasUsed, this.feePayer, bigintToUInt64BE(this.
|
|
179
|
+
return serializeToBuffer(isForPublic, this.constants, this.gasUsed, this.feePayer, bigintToUInt64BE(this.expirationTimestamp), isForPublic ? this.forPublic.toBuffer() : this.forRollup.toBuffer());
|
|
180
180
|
}
|
|
181
181
|
static empty() {
|
|
182
182
|
return new PrivateKernelTailCircuitPublicInputs(TxConstantData.empty(), Gas.empty(), AztecAddress.ZERO, 0n, undefined, PartialPrivateTailPublicInputsForRollup.empty());
|
|
@@ -14,8 +14,8 @@ export declare class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
14
14
|
publicTeardownCallRequest: PublicCallRequest;
|
|
15
15
|
gasUsed: Gas;
|
|
16
16
|
feePayer: AztecAddress;
|
|
17
|
-
|
|
18
|
-
constructor(constants: TxConstantData, nonRevertibleAccumulatedData: PrivateToPublicAccumulatedData, revertibleAccumulatedData: PrivateToPublicAccumulatedData, publicTeardownCallRequest: PublicCallRequest, gasUsed: Gas, feePayer: AztecAddress,
|
|
17
|
+
expirationTimestamp: UInt64;
|
|
18
|
+
constructor(constants: TxConstantData, nonRevertibleAccumulatedData: PrivateToPublicAccumulatedData, revertibleAccumulatedData: PrivateToPublicAccumulatedData, publicTeardownCallRequest: PublicCallRequest, gasUsed: Gas, feePayer: AztecAddress, expirationTimestamp: UInt64);
|
|
19
19
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
20
20
|
static getFields(fields: FieldsOf<PrivateToPublicKernelCircuitPublicInputs>): readonly [TxConstantData, PrivateToPublicAccumulatedData, PrivateToPublicAccumulatedData, PublicCallRequest, Gas, AztecAddress, bigint];
|
|
21
21
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateToPublicKernelCircuitPublicInputs;
|
|
@@ -27,4 +27,4 @@ export declare class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
27
27
|
toJSON(): Buffer<ArrayBufferLike>;
|
|
28
28
|
static get schema(): import("zod").ZodType<PrivateToPublicKernelCircuitPublicInputs, any, string>;
|
|
29
29
|
}
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV90b19wdWJsaWNfa2VybmVsX2NpcmN1aXRfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tlcm5lbC9wcml2YXRlX3RvX3B1YmxpY19rZXJuZWxfY2lyY3VpdF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQTBELE1BQU0sNkJBQTZCLENBQUM7QUFFbkgsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTdELHFCQUFhLHdDQUF3QztJQUUxQyxTQUFTLEVBQUUsY0FBYztJQUN6Qiw0QkFBNEIsRUFBRSw4QkFBOEI7SUFDNUQseUJBQXlCLEVBQUUsOEJBQThCO0lBQ3pELHlCQUF5QixFQUFFLGlCQUFpQjtJQUM1QyxPQUFPLEVBQUUsR0FBRztJQUNaLFFBQVEsRUFBRSxZQUFZO0lBQ3RCLG1CQUFtQixFQUFFLE1BQU07SUFQcEMsWUFDUyxTQUFTLEVBQUUsY0FBYyxFQUN6Qiw0QkFBNEIsRUFBRSw4QkFBOEIsRUFDNUQseUJBQXlCLEVBQUUsOEJBQThCLEVBQ3pELHlCQUF5QixFQUFFLGlCQUFpQixFQUM1QyxPQUFPLEVBQUUsR0FBRyxFQUNaLFFBQVEsRUFBRSxZQUFZLEVBQ3RCLG1CQUFtQixFQUFFLE1BQU0sRUFDaEM7SUFFSixRQUFRLDRCQVVQO0lBRUQsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLHdDQUF3QyxDQUFDLDJJQVUxRTtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLDRDQVc5QztJQUVELE1BQU0sQ0FBQyxLQUFLLDZDQVVYO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSw0Q0FFNUI7SUFFRCxRQUFRLGtCQUVQO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsSUFBSSxnQkFFSDtJQUVELE1BQU0sNEJBRUw7SUFFRCxNQUFNLEtBQUssTUFBTSxpRkFFaEI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_to_public_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_public_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,wCAAwC;IAE1C,SAAS,EAAE,cAAc;IACzB,4BAA4B,EAAE,8BAA8B;IAC5D,yBAAyB,EAAE,8BAA8B;IACzD,yBAAyB,EAAE,iBAAiB;IAC5C,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,YAAY;IACtB,
|
|
1
|
+
{"version":3,"file":"private_to_public_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_public_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,qBAAa,wCAAwC;IAE1C,SAAS,EAAE,cAAc;IACzB,4BAA4B,EAAE,8BAA8B;IAC5D,yBAAyB,EAAE,8BAA8B;IACzD,yBAAyB,EAAE,iBAAiB;IAC5C,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,YAAY;IACtB,mBAAmB,EAAE,MAAM;IAPpC,YACS,SAAS,EAAE,cAAc,EACzB,4BAA4B,EAAE,8BAA8B,EAC5D,yBAAyB,EAAE,8BAA8B,EACzD,yBAAyB,EAAE,iBAAiB,EAC5C,OAAO,EAAE,GAAG,EACZ,QAAQ,EAAE,YAAY,EACtB,mBAAmB,EAAE,MAAM,EAChC;IAEJ,QAAQ,4BAUP;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC,2IAU1E;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,4CAW9C;IAED,MAAM,CAAC,KAAK,6CAUX;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,4CAE5B;IAED,QAAQ,kBAEP;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,IAAI,gBAEH;IAED,MAAM,4BAEL;IAED,MAAM,KAAK,MAAM,iFAEhB;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator, PRIVATE_TO_PUBLIC_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
@@ -15,18 +15,18 @@ export class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
15
15
|
publicTeardownCallRequest;
|
|
16
16
|
gasUsed;
|
|
17
17
|
feePayer;
|
|
18
|
-
|
|
19
|
-
constructor(constants, nonRevertibleAccumulatedData, revertibleAccumulatedData, publicTeardownCallRequest, gasUsed, feePayer,
|
|
18
|
+
expirationTimestamp;
|
|
19
|
+
constructor(constants, nonRevertibleAccumulatedData, revertibleAccumulatedData, publicTeardownCallRequest, gasUsed, feePayer, expirationTimestamp){
|
|
20
20
|
this.constants = constants;
|
|
21
21
|
this.nonRevertibleAccumulatedData = nonRevertibleAccumulatedData;
|
|
22
22
|
this.revertibleAccumulatedData = revertibleAccumulatedData;
|
|
23
23
|
this.publicTeardownCallRequest = publicTeardownCallRequest;
|
|
24
24
|
this.gasUsed = gasUsed;
|
|
25
25
|
this.feePayer = feePayer;
|
|
26
|
-
this.
|
|
26
|
+
this.expirationTimestamp = expirationTimestamp;
|
|
27
27
|
}
|
|
28
28
|
toBuffer() {
|
|
29
|
-
return serializeToBuffer(this.constants, this.nonRevertibleAccumulatedData, this.revertibleAccumulatedData, this.publicTeardownCallRequest, this.gasUsed, this.feePayer, bigintToUInt64BE(this.
|
|
29
|
+
return serializeToBuffer(this.constants, this.nonRevertibleAccumulatedData, this.revertibleAccumulatedData, this.publicTeardownCallRequest, this.gasUsed, this.feePayer, bigintToUInt64BE(this.expirationTimestamp));
|
|
30
30
|
}
|
|
31
31
|
static getFields(fields) {
|
|
32
32
|
return [
|
|
@@ -36,7 +36,7 @@ export class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
36
36
|
fields.publicTeardownCallRequest,
|
|
37
37
|
fields.gasUsed,
|
|
38
38
|
fields.feePayer,
|
|
39
|
-
fields.
|
|
39
|
+
fields.expirationTimestamp
|
|
40
40
|
];
|
|
41
41
|
}
|
|
42
42
|
static fromBuffer(buffer) {
|
|
@@ -60,7 +60,7 @@ export class PrivateToPublicKernelCircuitPublicInputs {
|
|
|
60
60
|
return fields;
|
|
61
61
|
}
|
|
62
62
|
hash() {
|
|
63
|
-
return poseidon2HashWithSeparator(this.toFields(),
|
|
63
|
+
return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PUBLIC_TX_HASH);
|
|
64
64
|
}
|
|
65
65
|
toJSON() {
|
|
66
66
|
return this.toBuffer();
|
|
@@ -30,7 +30,7 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
|
|
|
30
30
|
/**
|
|
31
31
|
* The timestamp by which the transaction must be included in a block.
|
|
32
32
|
*/
|
|
33
|
-
|
|
33
|
+
expirationTimestamp: UInt64;
|
|
34
34
|
constructor(
|
|
35
35
|
/**
|
|
36
36
|
* Data which is not modified by the circuits.
|
|
@@ -51,7 +51,7 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
|
|
|
51
51
|
/**
|
|
52
52
|
* The timestamp by which the transaction must be included in a block.
|
|
53
53
|
*/
|
|
54
|
-
|
|
54
|
+
expirationTimestamp: UInt64);
|
|
55
55
|
getNonEmptyNullifiers(): Fr[];
|
|
56
56
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
57
57
|
/**
|
|
@@ -71,4 +71,4 @@ export declare class PrivateToRollupKernelCircuitPublicInputs {
|
|
|
71
71
|
toFields(): Fr[];
|
|
72
72
|
hash(): Promise<Fr>;
|
|
73
73
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV90b19yb2xsdXBfa2VybmVsX2NpcmN1aXRfcHVibGljX2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tlcm5lbC9wcml2YXRlX3RvX3JvbGx1cF9rZXJuZWxfY2lyY3VpdF9wdWJsaWNfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpELE9BQU8sRUFBRSxZQUFZLEVBQTBELE1BQU0sNkJBQTZCLENBQUM7QUFFbkgsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2hELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXpGOzs7R0FHRztBQUNILHFCQUFhLHdDQUF3QztJQUVqRDs7T0FFRztJQUNJLFNBQVMsRUFBRSxjQUFjO0lBQ2hDOztPQUVHO0lBQ0ksR0FBRyxFQUFFLDhCQUE4QjtJQUMxQzs7T0FFRztJQUNJLE9BQU8sRUFBRSxHQUFHO0lBQ25COztPQUVHO0lBQ0ksUUFBUSxFQUFFLFlBQVk7SUFDN0I7O09BRUc7SUFDSSxtQkFBbUIsRUFBRSxNQUFNO0lBcEJwQztJQUNFOztPQUVHO0lBQ0ksU0FBUyxFQUFFLGNBQWM7SUFDaEM7O09BRUc7SUFDSSxHQUFHLEVBQUUsOEJBQThCO0lBQzFDOztPQUVHO0lBQ0ksT0FBTyxFQUFFLEdBQUc7SUFDbkI7O09BRUc7SUFDSSxRQUFRLEVBQUUsWUFBWTtJQUM3Qjs7T0FFRztJQUNJLG1CQUFtQixFQUFFLE1BQU0sRUFDaEM7SUFFSixxQkFBcUIsU0FFcEI7SUFFRCxRQUFRLDRCQVFQO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsd0NBQXdDLENBU3pGO0lBRUQsTUFBTSxDQUFDLEtBQUssNkNBUVg7SUFFRCxRQUFRLGtCQUVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsTUFBTSw0Q0FFNUI7SUFFRCwyREFBMkQ7SUFDM0QsTUFBTSw0QkFFTDtJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyx3Q0FBd0MsQ0FBQyx3RkFFMUU7SUFFRCw2Q0FBNkM7SUFDN0MsTUFBTSxLQUFLLE1BQU0saUZBRWhCO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVFmO0lBRUQsSUFBSSxnQkFFSDtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_to_rollup_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF;;;GAGG;AACH,qBAAa,wCAAwC;IAEjD;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,
|
|
1
|
+
{"version":3,"file":"private_to_rollup_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_to_rollup_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEzD,OAAO,EAAE,YAAY,EAA0D,MAAM,6BAA6B,CAAC;AAEnH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,8BAA8B,EAAE,MAAM,yCAAyC,CAAC;AAEzF;;;GAGG;AACH,qBAAa,wCAAwC;IAEjD;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM;IApBpC;IACE;;OAEG;IACI,SAAS,EAAE,cAAc;IAChC;;OAEG;IACI,GAAG,EAAE,8BAA8B;IAC1C;;OAEG;IACI,OAAO,EAAE,GAAG;IACnB;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM,EAChC;IAEJ,qBAAqB,SAEpB;IAED,QAAQ,4BAQP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,wCAAwC,CASzF;IAED,MAAM,CAAC,KAAK,6CAQX;IAED,QAAQ,kBAEP;IAED,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,4CAE5B;IAED,2DAA2D;IAC3D,MAAM,4BAEL;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,wCAAwC,CAAC,wFAE1E;IAED,6CAA6C;IAC7C,MAAM,KAAK,MAAM,iFAEhB;IAED,QAAQ,IAAI,EAAE,EAAE,CAQf;IAED,IAAI,gBAEH;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator, PRIVATE_TO_ROLLUP_KERNEL_CIRCUIT_PUBLIC_INPUTS_LENGTH } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { bufferSchemaFor } from '@aztec/foundation/schemas';
|
|
4
4
|
import { BufferReader, bigintToUInt64BE, serializeToBuffer, serializeToFields } from '@aztec/foundation/serialize';
|
|
@@ -15,7 +15,7 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
|
|
|
15
15
|
end;
|
|
16
16
|
gasUsed;
|
|
17
17
|
feePayer;
|
|
18
|
-
|
|
18
|
+
expirationTimestamp;
|
|
19
19
|
constructor(/**
|
|
20
20
|
* Data which is not modified by the circuits.
|
|
21
21
|
*/ constants, /**
|
|
@@ -26,18 +26,18 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
|
|
|
26
26
|
* The address of the fee payer for the transaction.
|
|
27
27
|
*/ feePayer, /**
|
|
28
28
|
* The timestamp by which the transaction must be included in a block.
|
|
29
|
-
*/
|
|
29
|
+
*/ expirationTimestamp){
|
|
30
30
|
this.constants = constants;
|
|
31
31
|
this.end = end;
|
|
32
32
|
this.gasUsed = gasUsed;
|
|
33
33
|
this.feePayer = feePayer;
|
|
34
|
-
this.
|
|
34
|
+
this.expirationTimestamp = expirationTimestamp;
|
|
35
35
|
}
|
|
36
36
|
getNonEmptyNullifiers() {
|
|
37
37
|
return this.end.nullifiers.filter((n)=>!n.isZero());
|
|
38
38
|
}
|
|
39
39
|
toBuffer() {
|
|
40
|
-
return serializeToBuffer(this.constants, this.end, this.gasUsed, this.feePayer, bigintToUInt64BE(this.
|
|
40
|
+
return serializeToBuffer(this.constants, this.end, this.gasUsed, this.feePayer, bigintToUInt64BE(this.expirationTimestamp));
|
|
41
41
|
}
|
|
42
42
|
/**
|
|
43
43
|
* Deserializes from a buffer or reader, corresponding to a write in cpp.
|
|
@@ -65,7 +65,7 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
|
|
|
65
65
|
fields.end,
|
|
66
66
|
fields.gasUsed,
|
|
67
67
|
fields.feePayer,
|
|
68
|
-
fields.
|
|
68
|
+
fields.expirationTimestamp
|
|
69
69
|
];
|
|
70
70
|
}
|
|
71
71
|
/** Creates an instance from a hex string. */ static get schema() {
|
|
@@ -79,6 +79,6 @@ import { PrivateToRollupAccumulatedData } from './private_to_rollup_accumulated_
|
|
|
79
79
|
return fields;
|
|
80
80
|
}
|
|
81
81
|
hash() {
|
|
82
|
-
return poseidon2HashWithSeparator(this.toFields(),
|
|
82
|
+
return poseidon2HashWithSeparator(this.toFields(), DomainSeparator.PRIVATE_TX_HASH);
|
|
83
83
|
}
|
|
84
84
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
2
|
import { BufferReader } from '@aztec/foundation/serialize';
|
|
3
3
|
import { inspect } from 'util';
|
|
4
|
-
import {
|
|
4
|
+
import { ScopedKeyValidationRequestAndSeparator } from '../kernel/hints/scoped_key_validation_request_and_separator.js';
|
|
5
5
|
import { ClaimedLengthArray } from './claimed_length_array.js';
|
|
6
6
|
import { ScopedReadRequest } from './hints/read_request.js';
|
|
7
7
|
/**
|
|
@@ -19,7 +19,7 @@ export declare class PrivateValidationRequests {
|
|
|
19
19
|
/**
|
|
20
20
|
* All the key validation requests made in this transaction.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
scopedKeyValidationRequestsAndSeparators: ClaimedLengthArray<ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>;
|
|
23
23
|
constructor(
|
|
24
24
|
/**
|
|
25
25
|
* All the read requests made in this transaction.
|
|
@@ -32,7 +32,7 @@ export declare class PrivateValidationRequests {
|
|
|
32
32
|
/**
|
|
33
33
|
* All the key validation requests made in this transaction.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
scopedKeyValidationRequestsAndSeparators: ClaimedLengthArray<ScopedKeyValidationRequestAndSeparator, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX>);
|
|
36
36
|
getSize(): number;
|
|
37
37
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
38
38
|
toString(): `0x${string}`;
|
|
@@ -3,7 +3,7 @@ import { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX,
|
|
|
3
3
|
import { BufferReader, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
4
4
|
import { bufferToHex, hexToBuffer } from '@aztec/foundation/string';
|
|
5
5
|
import { inspect } from 'util';
|
|
6
|
-
import {
|
|
6
|
+
import { ScopedKeyValidationRequestAndSeparator } from '../kernel/hints/scoped_key_validation_request_and_separator.js';
|
|
7
7
|
import { ClaimedLengthArray, ClaimedLengthArrayFromBuffer } from './claimed_length_array.js';
|
|
8
8
|
import { ScopedReadRequest } from './hints/read_request.js';
|
|
9
9
|
_computedKey = inspect.custom;
|
|
@@ -12,23 +12,23 @@ _computedKey = inspect.custom;
|
|
|
12
12
|
*/ export class PrivateValidationRequests {
|
|
13
13
|
noteHashReadRequests;
|
|
14
14
|
nullifierReadRequests;
|
|
15
|
-
|
|
15
|
+
scopedKeyValidationRequestsAndSeparators;
|
|
16
16
|
constructor(/**
|
|
17
17
|
* All the read requests made in this transaction.
|
|
18
18
|
*/ noteHashReadRequests, /**
|
|
19
19
|
* All the nullifier read requests made in this transaction.
|
|
20
20
|
*/ nullifierReadRequests, /**
|
|
21
21
|
* All the key validation requests made in this transaction.
|
|
22
|
-
*/
|
|
22
|
+
*/ scopedKeyValidationRequestsAndSeparators){
|
|
23
23
|
this.noteHashReadRequests = noteHashReadRequests;
|
|
24
24
|
this.nullifierReadRequests = nullifierReadRequests;
|
|
25
|
-
this.
|
|
25
|
+
this.scopedKeyValidationRequestsAndSeparators = scopedKeyValidationRequestsAndSeparators;
|
|
26
26
|
}
|
|
27
27
|
getSize() {
|
|
28
|
-
return this.noteHashReadRequests.getSize() + this.nullifierReadRequests.getSize() + this.
|
|
28
|
+
return this.noteHashReadRequests.getSize() + this.nullifierReadRequests.getSize() + this.scopedKeyValidationRequestsAndSeparators.getSize();
|
|
29
29
|
}
|
|
30
30
|
toBuffer() {
|
|
31
|
-
return serializeToBuffer(this.noteHashReadRequests, this.nullifierReadRequests, this.
|
|
31
|
+
return serializeToBuffer(this.noteHashReadRequests, this.nullifierReadRequests, this.scopedKeyValidationRequestsAndSeparators);
|
|
32
32
|
}
|
|
33
33
|
toString() {
|
|
34
34
|
return bufferToHex(this.toBuffer());
|
|
@@ -39,7 +39,7 @@ _computedKey = inspect.custom;
|
|
|
39
39
|
* @returns Deserialized object.
|
|
40
40
|
*/ static fromBuffer(buffer) {
|
|
41
41
|
const reader = BufferReader.asReader(buffer);
|
|
42
|
-
return new PrivateValidationRequests(reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(
|
|
42
|
+
return new PrivateValidationRequests(reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX)));
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Deserializes from a string, corresponding to a write in cpp.
|
|
@@ -49,13 +49,13 @@ _computedKey = inspect.custom;
|
|
|
49
49
|
return PrivateValidationRequests.fromBuffer(hexToBuffer(str));
|
|
50
50
|
}
|
|
51
51
|
static empty() {
|
|
52
|
-
return new PrivateValidationRequests(ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(
|
|
52
|
+
return new PrivateValidationRequests(ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_TX), ClaimedLengthArray.empty(ScopedKeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_TX));
|
|
53
53
|
}
|
|
54
54
|
[_computedKey]() {
|
|
55
55
|
return `PrivateValidationRequests {
|
|
56
56
|
noteHashReadRequests: ${inspect(this.noteHashReadRequests)},
|
|
57
57
|
nullifierReadRequests: ${inspect(this.nullifierReadRequests)},
|
|
58
|
-
|
|
58
|
+
scopedKeyValidationRequestsAndSeparators: ${inspect(this.scopedKeyValidationRequestsAndSeparators)},
|
|
59
59
|
`;
|
|
60
60
|
}
|
|
61
61
|
}
|
package/dest/keys/derivation.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { Grumpkin } from '@aztec/foundation/crypto/grumpkin';
|
|
3
3
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
4
4
|
import { sha512ToGrumpkinScalar } from '@aztec/foundation/crypto/sha512';
|
|
@@ -27,37 +27,37 @@ export async function computeOvskApp(ovsk, app) {
|
|
|
27
27
|
export function deriveMasterNullifierHidingKey(secretKey) {
|
|
28
28
|
return sha512ToGrumpkinScalar([
|
|
29
29
|
secretKey,
|
|
30
|
-
|
|
30
|
+
DomainSeparator.NHK_M
|
|
31
31
|
]);
|
|
32
32
|
}
|
|
33
33
|
export function deriveMasterIncomingViewingSecretKey(secretKey) {
|
|
34
34
|
return sha512ToGrumpkinScalar([
|
|
35
35
|
secretKey,
|
|
36
|
-
|
|
36
|
+
DomainSeparator.IVSK_M
|
|
37
37
|
]);
|
|
38
38
|
}
|
|
39
39
|
export function deriveMasterOutgoingViewingSecretKey(secretKey) {
|
|
40
40
|
return sha512ToGrumpkinScalar([
|
|
41
41
|
secretKey,
|
|
42
|
-
|
|
42
|
+
DomainSeparator.OVSK_M
|
|
43
43
|
]);
|
|
44
44
|
}
|
|
45
45
|
export function deriveSigningKey(secretKey) {
|
|
46
46
|
// TODO(#5837): come up with a standard signing key derivation scheme instead of using ivsk_m as signing keys here
|
|
47
47
|
return sha512ToGrumpkinScalar([
|
|
48
48
|
secretKey,
|
|
49
|
-
|
|
49
|
+
DomainSeparator.IVSK_M
|
|
50
50
|
]);
|
|
51
51
|
}
|
|
52
52
|
export function computePreaddress(publicKeysHash, partialAddress) {
|
|
53
53
|
return poseidon2HashWithSeparator([
|
|
54
54
|
publicKeysHash,
|
|
55
55
|
partialAddress
|
|
56
|
-
],
|
|
56
|
+
], DomainSeparator.CONTRACT_ADDRESS_V1);
|
|
57
57
|
}
|
|
58
58
|
export async function computeAddress(publicKeys, partialAddress) {
|
|
59
59
|
// Given public keys and a partial address, we can compute our address in the following steps.
|
|
60
|
-
// 1. preaddress = poseidon2([publicKeysHash, partialAddress],
|
|
60
|
+
// 1. preaddress = poseidon2([publicKeysHash, partialAddress], DomainSeparator.CONTRACT_ADDRESS_V1);
|
|
61
61
|
// 2. addressPoint = (preaddress * G) + ivpk_m
|
|
62
62
|
// 3. address = addressPoint.x
|
|
63
63
|
const preaddress = await computePreaddress(await publicKeys.hash(), partialAddress);
|
|
@@ -98,7 +98,7 @@ export function derivePublicKeyFromSecretKey(secretKey) {
|
|
|
98
98
|
const masterOutgoingViewingSecretKey = deriveMasterOutgoingViewingSecretKey(secretKey);
|
|
99
99
|
const masterTaggingSecretKey = sha512ToGrumpkinScalar([
|
|
100
100
|
secretKey,
|
|
101
|
-
|
|
101
|
+
DomainSeparator.TSK_M
|
|
102
102
|
]);
|
|
103
103
|
// Then we derive master public keys
|
|
104
104
|
const masterNullifierPublicKey = await derivePublicKeyFromSecretKey(masterNullifierHidingKey);
|
package/dest/keys/key_types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
export type KeyGenerator =
|
|
1
|
+
import type { DomainSeparator } from '@aztec/constants';
|
|
2
|
+
export type KeyGenerator = DomainSeparator.NHK_M | DomainSeparator.IVSK_M | DomainSeparator.OVSK_M | DomainSeparator.TSK_M;
|
|
3
3
|
export type KeyPrefix = 'n' | 'iv' | 'ov' | 't';
|
|
4
4
|
export declare const KEY_PREFIXES: KeyPrefix[];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5X3R5cGVzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2V5cy9rZXlfdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFeEQsTUFBTSxNQUFNLFlBQVksR0FDcEIsZUFBZSxDQUFDLEtBQUssR0FDckIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLE1BQU0sR0FDdEIsZUFBZSxDQUFDLEtBQUssQ0FBQztBQUMxQixNQUFNLE1BQU0sU0FBUyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUNoRCxlQUFPLE1BQU0sWUFBWSxFQUFFLFNBQVMsRUFBMkIsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"key_types.d.ts","sourceRoot":"","sources":["../../src/keys/key_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,MAAM,YAAY,GACpB,eAAe,CAAC,KAAK,GACrB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,MAAM,GACtB,eAAe,CAAC,KAAK,CAAC;AAC1B,MAAM,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC;AAChD,eAAO,MAAM,YAAY,EAAE,SAAS,EAA2B,CAAC"}
|
package/dest/keys/public_keys.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y,
|
|
1
|
+
import { DEFAULT_IVPK_M_X, DEFAULT_IVPK_M_Y, DEFAULT_NPK_M_X, DEFAULT_NPK_M_Y, DEFAULT_OVPK_M_X, DEFAULT_OVPK_M_Y, DEFAULT_TPK_M_X, DEFAULT_TPK_M_Y, DomainSeparator } from '@aztec/constants';
|
|
2
2
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
3
3
|
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
4
4
|
import { Point } from '@aztec/foundation/curves/grumpkin';
|
|
@@ -46,7 +46,7 @@ export class PublicKeys {
|
|
|
46
46
|
this.masterIncomingViewingPublicKey,
|
|
47
47
|
this.masterOutgoingViewingPublicKey,
|
|
48
48
|
this.masterTaggingPublicKey
|
|
49
|
-
],
|
|
49
|
+
], DomainSeparator.PUBLIC_KEYS_HASH);
|
|
50
50
|
}
|
|
51
51
|
isEmpty() {
|
|
52
52
|
return this.masterNullifierPublicKey.isZero() && this.masterIncomingViewingPublicKey.isZero() && this.masterOutgoingViewingPublicKey.isZero() && this.masterTaggingPublicKey.isZero();
|
package/dest/keys/utils.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DomainSeparator } from '@aztec/constants';
|
|
2
2
|
export function getKeyGenerator(prefix) {
|
|
3
3
|
const map = {
|
|
4
|
-
n:
|
|
5
|
-
iv:
|
|
6
|
-
ov:
|
|
7
|
-
t:
|
|
4
|
+
n: DomainSeparator.NHK_M,
|
|
5
|
+
iv: DomainSeparator.IVSK_M,
|
|
6
|
+
ov: DomainSeparator.OVSK_M,
|
|
7
|
+
t: DomainSeparator.TSK_M
|
|
8
8
|
};
|
|
9
9
|
return map[prefix];
|
|
10
10
|
}
|
|
@@ -10,7 +10,7 @@ export declare class PrivateLog {
|
|
|
10
10
|
static SIZE_IN_BYTES: number;
|
|
11
11
|
constructor(fields: Tuple<Fr, typeof PRIVATE_LOG_SIZE_IN_FIELDS>, emittedLength: number);
|
|
12
12
|
static from(fields: FieldsOf<PrivateLog>): PrivateLog;
|
|
13
|
-
static getFields(fields: FieldsOf<PrivateLog>): readonly [[Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr
|
|
13
|
+
static getFields(fields: FieldsOf<PrivateLog>): readonly [[Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr, Fr], number];
|
|
14
14
|
toFields(): Fr[];
|
|
15
15
|
static fromFields(fields: Fr[] | FieldReader): PrivateLog;
|
|
16
16
|
getEmittedFields(): Fr[];
|
|
@@ -46,4 +46,4 @@ export declare class PrivateLog {
|
|
|
46
46
|
equals(other: PrivateLog): boolean;
|
|
47
47
|
[inspect.custom](): string;
|
|
48
48
|
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9sb2cuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dzL3ByaXZhdGVfbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUNMLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxLQUFLLEVBR1gsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIscUJBQWEsVUFBVTtJQUlaLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sMEJBQTBCLENBQUM7SUFFcEQsYUFBYSxFQUFFLE1BQU07SUFMOUIsTUFBTSxDQUFDLGFBQWEsU0FBeUM7SUFFN0QsWUFDUyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEVBRXBELGFBQWEsRUFBRSxNQUFNLEVBQzFCO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxjQUV2QztJQUVELE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxVQUFVLENBQUMsdUZBRTVDO0lBRUQsUUFBUSxJQUFJLEVBQUUsRUFBRSxDQUVmO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUczQztJQUVELGdCQUFnQixTQUVmO0lBRUQsMEJBQTBCLFNBRXpCO0lBRUQsWUFBWSxJQUFJLEVBQUUsRUFBRSxDQUVuQjtJQUVELE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsV0FBVyxjQUl0RTtJQUVELE9BQU8sWUFHTjtJQUVELE1BQU0sQ0FBQyxLQUFLLGVBRVg7SUFFRCxRQUFRLElBQUksTUFBTSxDQUVqQjtJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLGNBRzlDO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQWMsY0FJOUI7SUFFRCxNQUFNLEtBQUssTUFBTTs7Ozs7Ozs7Ozs7O09BUWhCO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFVBQVUsQ0FRM0M7SUFFRCxNQUFNLENBQUMsS0FBSyxFQUFFLFVBQVUsV0FFdkI7SUFFRCxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxNQUFNLENBS3pCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC
|
|
1
|
+
{"version":3,"file":"private_log.d.ts","sourceRoot":"","sources":["../../src/logs/private_log.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,WAAW,EACX,KAAK,KAAK,EAGX,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,qBAAa,UAAU;IAIZ,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC;IAEpD,aAAa,EAAE,MAAM;IAL9B,MAAM,CAAC,aAAa,SAAyC;IAE7D,YACS,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,0BAA0B,CAAC,EAEpD,aAAa,EAAE,MAAM,EAC1B;IAEJ,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,cAEvC;IAED,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,uFAE5C;IAED,QAAQ,IAAI,EAAE,EAAE,CAEf;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAG3C;IAED,gBAAgB,SAEf;IAED,0BAA0B,SAEzB;IAED,YAAY,IAAI,EAAE,EAAE,CAEnB;IAED,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,WAAW,cAItE;IAED,OAAO,YAGN;IAED,MAAM,CAAC,KAAK,eAEX;IAED,QAAQ,IAAI,MAAM,CAEjB;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,cAG9C;IAED,MAAM,CAAC,MAAM,CAAC,GAAG,KAAc,cAI9B;IAED,MAAM,KAAK,MAAM;;;;;;;;;;;;OAQhB;IAED;;;;;;OAMG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAQ3C;IAED,MAAM,CAAC,KAAK,EAAE,UAAU,WAEvB;IAED,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAKzB;CACF"}
|
|
@@ -134,4 +134,4 @@ export declare class BlockProposal extends Gossipable {
|
|
|
134
134
|
*/
|
|
135
135
|
withoutSignedTxs(): BlockProposal;
|
|
136
136
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2tfcHJvcG9zYWwuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wMnAvYmxvY2tfcHJvcG9zYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFHcEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLDZCQUE2QixDQUFDO0FBQzlFLE9BQU8sRUFBWSxLQUFLLGNBQWMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQ0wsd0JBQXdCLEVBR3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU1QyxxQkFBYSxpQkFBa0IsU0FBUSxRQUFRO0lBQzdDLFlB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGpD,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEjF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EACL,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,YAAY,IAAI,EAAE,MAAM,EAEvB;CACF;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAMzC,uEAAuE;aACvD,WAAW,EAAE,WAAW;
|
|
1
|
+
{"version":3,"file":"block_proposal.d.ts","sourceRoot":"","sources":["../../src/p2p/block_proposal.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,7 @@ export class BlockProposalHash extends Buffer32 {
|
|
|
32
32
|
signedTxs;
|
|
33
33
|
static p2pTopic = TopicType.block_proposal;
|
|
34
34
|
sender;
|
|
35
|
-
constructor(/** The per-block header containing block state and global variables */ blockHeader,
|
|
36
|
-
// See the block-proposal-handler, we have a lot of extra validations to check this is correct, so maybe we can avoid storing it here.
|
|
37
|
-
/** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
35
|
+
constructor(/** The per-block header containing block state and global variables */ blockHeader, /** Index of this block within the checkpoint (0-indexed) */ indexWithinCheckpoint, /** Hash of L1 to L2 messages for this checkpoint (constant across all blocks in checkpoint) */ inHash, /** Archive root after this block is applied */ archiveRoot, /** The sequence of transactions in the block */ txHashes, /** The proposer's signature over the block data */ signature, /** The signed transactions in the block (optional, for DA guarantees) */ signedTxs){
|
|
38
36
|
super(), this.blockHeader = blockHeader, this.indexWithinCheckpoint = indexWithinCheckpoint, this.inHash = inHash, this.archiveRoot = archiveRoot, this.txHashes = txHashes, this.signature = signature, this.signedTxs = signedTxs;
|
|
39
37
|
}
|
|
40
38
|
generateP2PMessageIdentifier() {
|
|
@@ -12,8 +12,8 @@ import type { GlobalVariables } from '../tx/global_variables.js';
|
|
|
12
12
|
import type { UInt64 } from '../types/shared.js';
|
|
13
13
|
/**
|
|
14
14
|
* Header of a checkpoint. A checkpoint is a collection of blocks submitted to L1 all within the same slot.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* This header is verified as-is in the rollup circuits, posted to the L1 rollup contract, stored in the archiver,
|
|
16
|
+
* and exposed via the Aztec Node API. See `CheckpointData` for a struct that includes the header plus extra metadata.
|
|
17
17
|
*/
|
|
18
18
|
export declare class CheckpointHeader {
|
|
19
19
|
/** Root of the archive tree before this block is added. */
|
|
@@ -13,8 +13,8 @@ import { schemas } from '../schemas/index.js';
|
|
|
13
13
|
_computedKey = inspect.custom;
|
|
14
14
|
/**
|
|
15
15
|
* Header of a checkpoint. A checkpoint is a collection of blocks submitted to L1 all within the same slot.
|
|
16
|
-
*
|
|
17
|
-
*
|
|
16
|
+
* This header is verified as-is in the rollup circuits, posted to the L1 rollup contract, stored in the archiver,
|
|
17
|
+
* and exposed via the Aztec Node API. See `CheckpointData` for a struct that includes the header plus extra metadata.
|
|
18
18
|
*/ export class CheckpointHeader {
|
|
19
19
|
lastArchiveRoot;
|
|
20
20
|
blockHeadersHash;
|
package/dest/tests/factories.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { makeBlobAccumulator, makeFinalBlobAccumulator, makeFinalBlobBatchingChallenges, makeSpongeBlob } from '@aztec/blob-lib/testing';
|
|
2
|
-
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS,
|
|
2
|
+
import { ARCHIVE_HEIGHT, AVM_V2_PROOF_LENGTH_IN_FIELDS_PADDED, CHONK_PROOF_LENGTH, CONTRACT_CLASS_LOG_SIZE_IN_FIELDS, DomainSeparator, L1_TO_L2_MSG_SUBTREE_ROOT_SIBLING_PATH_LENGTH, MAX_CHECKPOINTS_PER_EPOCH, MAX_CONTRACT_CLASS_LOGS_PER_TX, MAX_ENQUEUED_CALLS_PER_CALL, MAX_ENQUEUED_CALLS_PER_TX, MAX_KEY_VALIDATION_REQUESTS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_CALL, MAX_L2_TO_L1_MSGS_PER_TX, MAX_NOTE_HASHES_PER_CALL, MAX_NOTE_HASHES_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, MAX_NULLIFIERS_PER_CALL, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_CALL, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, MAX_PRIVATE_LOGS_PER_CALL, MAX_PRIVATE_LOGS_PER_TX, MAX_PROTOCOL_CONTRACTS, MAX_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX, NESTED_RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, NOTE_HASH_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_SUBTREE_ROOT_SIBLING_PATH_LENGTH, NULLIFIER_TREE_HEIGHT, NUMBER_OF_L1_L2_MESSAGES_PER_ROLLUP, NUM_BASE_PARITY_PER_ROOT_PARITY, NUM_MSGS_PER_BASE_PARITY, PRIVATE_LOG_SIZE_IN_FIELDS, PUBLIC_DATA_TREE_HEIGHT, RECURSIVE_ROLLUP_HONK_PROOF_LENGTH, VK_TREE_HEIGHT } from '@aztec/constants';
|
|
3
3
|
import { makeTuple } from '@aztec/foundation/array';
|
|
4
4
|
import { BlockNumber, CheckpointNumber, SlotNumber } from '@aztec/foundation/branded-types';
|
|
5
5
|
import { compact } from '@aztec/foundation/collection';
|
|
@@ -22,7 +22,7 @@ import { ContractDeploymentData, SerializableContractInstance, computeContractCl
|
|
|
22
22
|
import { Gas, GasFees, GasSettings } from '../gas/index.js';
|
|
23
23
|
import { computeCalldataHash } from '../hash/hash.js';
|
|
24
24
|
import { KeyValidationRequest } from '../kernel/hints/key_validation_request.js';
|
|
25
|
-
import {
|
|
25
|
+
import { KeyValidationRequestAndSeparator } from '../kernel/hints/key_validation_request_and_separator.js';
|
|
26
26
|
import { ReadRequest, ScopedReadRequest } from '../kernel/hints/read_request.js';
|
|
27
27
|
import { ClaimedLengthArray, PartialPrivateTailPublicInputsForPublic, PartialPrivateTailPublicInputsForRollup, PrivateKernelTailCircuitPublicInputs, PrivateToAvmAccumulatedData, PrivateToAvmAccumulatedDataArrayLengths, PrivateToPublicAccumulatedData, PrivateToPublicKernelCircuitPublicInputs, PrivateToRollupAccumulatedData } from '../kernel/index.js';
|
|
28
28
|
import { CountedLogHash, LogHash, ScopedLogHash } from '../kernel/log_hash.js';
|
|
@@ -142,11 +142,11 @@ function makeScopedReadRequest(n) {
|
|
|
142
142
|
return new KeyValidationRequest(makePoint(seed), fr(seed + 2));
|
|
143
143
|
}
|
|
144
144
|
/**
|
|
145
|
-
* Creates arbitrary
|
|
146
|
-
* @param seed - The seed to use for generating the
|
|
147
|
-
* @returns A
|
|
148
|
-
*/ function
|
|
149
|
-
return new
|
|
145
|
+
* Creates arbitrary KeyValidationRequestAndSeparator from the given seed.
|
|
146
|
+
* @param seed - The seed to use for generating the KeyValidationRequestAndSeparator.
|
|
147
|
+
* @returns A KeyValidationRequestAndSeparator.
|
|
148
|
+
*/ function makeKeyValidationRequestAndSeparators(seed) {
|
|
149
|
+
return new KeyValidationRequestAndSeparator(makeKeyValidationRequests(seed), fr(seed + 4));
|
|
150
150
|
}
|
|
151
151
|
export function makePublicDataWrite(seed = 1) {
|
|
152
152
|
return new PublicDataWrite(fr(seed), fr(seed + 1));
|
|
@@ -331,7 +331,7 @@ function makeClaimedLengthArray(arraySize, makeItem, seed, length = arraySize) {
|
|
|
331
331
|
* @returns A private circuit public inputs.
|
|
332
332
|
*/ export function makePrivateCircuitPublicInputs(seed = 0) {
|
|
333
333
|
return PrivateCircuitPublicInputs.from({
|
|
334
|
-
|
|
334
|
+
expirationTimestamp: BigInt(seed + 0x31415),
|
|
335
335
|
callContext: makeCallContext(seed, {
|
|
336
336
|
isStaticCall: true
|
|
337
337
|
}),
|
|
@@ -340,7 +340,7 @@ function makeClaimedLengthArray(arraySize, makeItem, seed, length = arraySize) {
|
|
|
340
340
|
minRevertibleSideEffectCounter: fr(0),
|
|
341
341
|
noteHashReadRequests: makeClaimedLengthArray(MAX_NOTE_HASH_READ_REQUESTS_PER_CALL, makeScopedReadRequest, seed + 0x300),
|
|
342
342
|
nullifierReadRequests: makeClaimedLengthArray(MAX_NULLIFIER_READ_REQUESTS_PER_CALL, makeScopedReadRequest, seed + 0x310),
|
|
343
|
-
|
|
343
|
+
keyValidationRequestsAndSeparators: makeClaimedLengthArray(MAX_KEY_VALIDATION_REQUESTS_PER_CALL, makeKeyValidationRequestAndSeparators, seed + 0x320),
|
|
344
344
|
noteHashes: makeClaimedLengthArray(MAX_NOTE_HASHES_PER_CALL, makeNoteHash, seed + 0x400),
|
|
345
345
|
nullifiers: makeClaimedLengthArray(MAX_NULLIFIERS_PER_CALL, makeNullifier, seed + 0x500),
|
|
346
346
|
privateCallRequests: makeClaimedLengthArray(MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL, makePrivateCallRequest, seed + 0x600),
|
|
@@ -725,11 +725,11 @@ export async function makeContractInstanceFromClassId(classId, seed = 0, overrid
|
|
|
725
725
|
salt,
|
|
726
726
|
initializationHash,
|
|
727
727
|
deployer
|
|
728
|
-
],
|
|
728
|
+
], DomainSeparator.PARTIAL_ADDRESS);
|
|
729
729
|
const partialAddress = await poseidon2HashWithSeparator([
|
|
730
730
|
classId,
|
|
731
731
|
saltedInitializationHash
|
|
732
|
-
],
|
|
732
|
+
], DomainSeparator.PARTIAL_ADDRESS);
|
|
733
733
|
const address = await computeAddress(publicKeys, partialAddress);
|
|
734
734
|
return new SerializableContractInstance({
|
|
735
735
|
version: 1,
|