@aztec/stdlib 5.0.0-nightly.20260713 → 5.0.0-nightly.20260715
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/interfaces/private_kernel_prover.d.ts +9 -11
- package/dest/interfaces/private_kernel_prover.d.ts.map +1 -1
- package/dest/interfaces/proving-job.d.ts +4 -4
- package/dest/interfaces/proving-job.d.ts.map +1 -1
- package/dest/interfaces/proving-job.js +2 -2
- package/dest/interfaces/server_circuit_prover.d.ts +3 -3
- package/dest/interfaces/server_circuit_prover.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts +8 -2
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/hints/find_private_kernel_reset_dimensions.js +12 -74
- package/dest/kernel/index.d.ts +2 -2
- package/dest/kernel/index.d.ts.map +1 -1
- package/dest/kernel/index.js +1 -1
- package/dest/kernel/private_circuit_public_inputs.d.ts +13 -3
- package/dest/kernel/private_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_circuit_public_inputs.js +14 -7
- package/dest/kernel/private_context_inputs.d.ts +4 -3
- package/dest/kernel/private_context_inputs.d.ts.map +1 -1
- package/dest/kernel/private_context_inputs.js +7 -3
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts +7 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_circuit_public_inputs.js +7 -0
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts +2 -3
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_2_circuit_private_inputs.js +3 -5
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts +2 -3
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_3_circuit_private_inputs.js +3 -5
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts +1 -9
- package/dest/kernel/private_kernel_init_circuit_private_inputs.d.ts.map +1 -1
- package/dest/kernel/private_kernel_init_circuit_private_inputs.js +2 -6
- package/dest/kernel/private_kernel_reset_dimensions.d.ts +7 -8
- package/dest/kernel/private_kernel_reset_dimensions.d.ts.map +1 -1
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts +29 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.d.ts.map +1 -0
- package/dest/kernel/private_kernel_reset_tail_circuit_private_inputs.js +36 -0
- package/dest/logs/shared_secret_derivation.d.ts +12 -2
- package/dest/logs/shared_secret_derivation.d.ts.map +1 -1
- package/dest/logs/shared_secret_derivation.js +18 -0
- package/dest/rollup/avm_proof_data.d.ts +3 -3
- package/dest/rollup/avm_proof_data.d.ts.map +1 -1
- package/dest/stats/stats.d.ts +2 -2
- package/dest/stats/stats.d.ts.map +1 -1
- package/dest/tests/factories.d.ts +1 -1
- package/dest/tests/factories.d.ts.map +1 -1
- package/dest/tests/factories.js +4 -3
- package/dest/tx/private_tx_constant_data.d.ts +18 -2
- package/dest/tx/private_tx_constant_data.d.ts.map +1 -1
- package/dest/tx/private_tx_constant_data.js +13 -4
- package/package.json +8 -8
- package/src/gas/README.md +108 -36
- package/src/interfaces/private_kernel_prover.ts +10 -12
- package/src/interfaces/proving-job.ts +3 -3
- package/src/interfaces/server_circuit_prover.ts +2 -2
- package/src/kernel/hints/find_private_kernel_reset_dimensions.ts +22 -112
- package/src/kernel/index.ts +1 -1
- package/src/kernel/private_circuit_public_inputs.ts +12 -1
- package/src/kernel/private_context_inputs.ts +10 -3
- package/src/kernel/private_kernel_circuit_public_inputs.ts +9 -0
- package/src/kernel/private_kernel_init_2_circuit_private_inputs.ts +0 -3
- package/src/kernel/private_kernel_init_3_circuit_private_inputs.ts +0 -3
- package/src/kernel/private_kernel_init_circuit_private_inputs.ts +0 -6
- package/src/kernel/private_kernel_reset_dimensions.ts +15 -5
- package/src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts +69 -0
- package/src/logs/shared_secret_derivation.ts +18 -1
- package/src/rollup/avm_proof_data.ts +2 -2
- package/src/stats/stats.ts +2 -2
- package/src/tests/factories.ts +3 -6
- package/src/tx/private_tx_constant_data.ts +25 -2
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts +0 -47
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.d.ts.map +0 -1
- package/dest/kernel/private_kernel_tail_circuit_private_inputs.js +0 -38
- package/src/kernel/private_kernel_tail_circuit_private_inputs.ts +0 -58
|
@@ -41,6 +41,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
41
41
|
l2ToL1Msgs;
|
|
42
42
|
privateLogs;
|
|
43
43
|
contractClassLogsHashes;
|
|
44
|
+
txRequestSalt;
|
|
44
45
|
constructor(/**
|
|
45
46
|
* Context of the call corresponding to this private circuit execution.
|
|
46
47
|
*/ callContext, /**
|
|
@@ -91,7 +92,10 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
91
92
|
* Logs emitted in this function call.
|
|
92
93
|
*/ privateLogs, /**
|
|
93
94
|
* Hash of the contract class logs emitted in this function call.
|
|
94
|
-
*/ contractClassLogsHashes
|
|
95
|
+
*/ contractClassLogsHashes, /**
|
|
96
|
+
* The tx request's salt. Keeps `tx_request.hash()` (the protocol nullifier) unpredictable, and lets the init
|
|
97
|
+
* kernel bind this proof to a specific tx request (it asserts this equals `tx_request.salt`).
|
|
98
|
+
*/ txRequestSalt){
|
|
95
99
|
this.callContext = callContext;
|
|
96
100
|
this.argsHash = argsHash;
|
|
97
101
|
this.returnsHash = returnsHash;
|
|
@@ -115,6 +119,7 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
115
119
|
this.l2ToL1Msgs = l2ToL1Msgs;
|
|
116
120
|
this.privateLogs = privateLogs;
|
|
117
121
|
this.contractClassLogsHashes = contractClassLogsHashes;
|
|
122
|
+
this.txRequestSalt = txRequestSalt;
|
|
118
123
|
}
|
|
119
124
|
/**
|
|
120
125
|
* Create PrivateCircuitPublicInputs from a fields dictionary.
|
|
@@ -129,20 +134,20 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
129
134
|
* @returns The deserialized instance.
|
|
130
135
|
*/ static fromBuffer(buffer) {
|
|
131
136
|
const reader = BufferReader.asReader(buffer);
|
|
132
|
-
return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readObject(Fr), reader.readBoolean(), reader.readUInt64(), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
|
|
137
|
+
return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readObject(Fr), reader.readBoolean(), reader.readUInt64(), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(Fr), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromBuffer(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromBuffer(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)), reader.readObject(Fr));
|
|
133
138
|
}
|
|
134
139
|
static fromFields(fields) {
|
|
135
140
|
const reader = FieldReader.asReader(fields);
|
|
136
|
-
return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readField(), reader.readField(), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readField(), reader.readBoolean(), reader.readU64(), reader.readField(), reader.readField(), reader.readField(), reader.readField(), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)));
|
|
141
|
+
return new PrivateCircuitPublicInputs(reader.readObject(CallContext), reader.readField(), reader.readField(), reader.readObject(BlockHeader), reader.readObject(TxContext), reader.readField(), reader.readBoolean(), reader.readU64(), reader.readField(), reader.readField(), reader.readField(), reader.readField(), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL)), reader.readObject(PublicCallRequest), reader.readObject(ClaimedLengthArrayFromFields(NoteHash, MAX_NOTE_HASHES_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(Nullifier, MAX_NULLIFIERS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL)), reader.readObject(ClaimedLengthArrayFromFields(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL)), reader.readField());
|
|
137
142
|
}
|
|
138
143
|
/**
|
|
139
144
|
* Create an empty PrivateCircuitPublicInputs.
|
|
140
145
|
* @returns An empty PrivateCircuitPublicInputs object.
|
|
141
146
|
*/ static empty() {
|
|
142
|
-
return new PrivateCircuitPublicInputs(CallContext.empty(), Fr.ZERO, Fr.ZERO, BlockHeader.empty(), TxContext.empty(), Fr.ZERO, false, 0n, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL), ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL), PublicCallRequest.empty(), ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL), ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL), ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL), ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL), ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL));
|
|
147
|
+
return new PrivateCircuitPublicInputs(CallContext.empty(), Fr.ZERO, Fr.ZERO, BlockHeader.empty(), TxContext.empty(), Fr.ZERO, false, 0n, Fr.ZERO, Fr.ZERO, Fr.ZERO, Fr.ZERO, ClaimedLengthArray.empty(ScopedReadRequest, MAX_NOTE_HASH_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(ScopedReadRequest, MAX_NULLIFIER_READ_REQUESTS_PER_CALL), ClaimedLengthArray.empty(KeyValidationRequestAndSeparator, MAX_KEY_VALIDATION_REQUESTS_PER_CALL), ClaimedLengthArray.empty(PrivateCallRequest, MAX_PRIVATE_CALL_STACK_LENGTH_PER_CALL), ClaimedLengthArray.empty(CountedPublicCallRequest, MAX_ENQUEUED_CALLS_PER_CALL), PublicCallRequest.empty(), ClaimedLengthArray.empty(NoteHash, MAX_NOTE_HASHES_PER_CALL), ClaimedLengthArray.empty(Nullifier, MAX_NULLIFIERS_PER_CALL), ClaimedLengthArray.empty(CountedL2ToL1Message, MAX_L2_TO_L1_MSGS_PER_CALL), ClaimedLengthArray.empty(PrivateLogData, MAX_PRIVATE_LOGS_PER_CALL), ClaimedLengthArray.empty(CountedLogHash, MAX_CONTRACT_CLASS_LOGS_PER_CALL), Fr.ZERO);
|
|
143
148
|
}
|
|
144
149
|
isEmpty() {
|
|
145
|
-
return this.callContext.isEmpty() && this.argsHash.isZero() && this.returnsHash.isZero() && this.anchorBlockHeader.isEmpty() && this.txContext.isEmpty() && this.minRevertibleSideEffectCounter.isZero() && !this.isFeePayer && !this.expirationTimestamp && this.startSideEffectCounter.isZero() && this.endSideEffectCounter.isZero() && this.expectedNonRevertibleSideEffectCounter.isZero() && this.expectedRevertibleSideEffectCounter.isZero() && this.noteHashReadRequests.isEmpty() && this.nullifierReadRequests.isEmpty() && this.keyValidationRequestsAndSeparators.isEmpty() && this.privateCallRequests.isEmpty() && this.publicCallRequests.isEmpty() && this.publicTeardownCallRequest.isEmpty() && this.noteHashes.isEmpty() && this.nullifiers.isEmpty() && this.l2ToL1Msgs.isEmpty() && this.privateLogs.isEmpty() && this.contractClassLogsHashes.isEmpty();
|
|
150
|
+
return this.callContext.isEmpty() && this.argsHash.isZero() && this.returnsHash.isZero() && this.anchorBlockHeader.isEmpty() && this.txContext.isEmpty() && this.minRevertibleSideEffectCounter.isZero() && !this.isFeePayer && !this.expirationTimestamp && this.startSideEffectCounter.isZero() && this.endSideEffectCounter.isZero() && this.expectedNonRevertibleSideEffectCounter.isZero() && this.expectedRevertibleSideEffectCounter.isZero() && this.noteHashReadRequests.isEmpty() && this.nullifierReadRequests.isEmpty() && this.keyValidationRequestsAndSeparators.isEmpty() && this.privateCallRequests.isEmpty() && this.publicCallRequests.isEmpty() && this.publicTeardownCallRequest.isEmpty() && this.noteHashes.isEmpty() && this.nullifiers.isEmpty() && this.l2ToL1Msgs.isEmpty() && this.privateLogs.isEmpty() && this.contractClassLogsHashes.isEmpty() && this.txRequestSalt.isZero();
|
|
146
151
|
}
|
|
147
152
|
/**
|
|
148
153
|
* Serialize into a field array. Low-level utility.
|
|
@@ -172,7 +177,8 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
172
177
|
fields.nullifiers,
|
|
173
178
|
fields.l2ToL1Msgs,
|
|
174
179
|
fields.privateLogs,
|
|
175
|
-
fields.contractClassLogsHashes
|
|
180
|
+
fields.contractClassLogsHashes,
|
|
181
|
+
fields.txRequestSalt
|
|
176
182
|
];
|
|
177
183
|
}
|
|
178
184
|
/**
|
|
@@ -204,7 +210,8 @@ import { CountedPublicCallRequest, PublicCallRequest } from './public_call_reque
|
|
|
204
210
|
this.nullifiers,
|
|
205
211
|
this.l2ToL1Msgs,
|
|
206
212
|
this.privateLogs,
|
|
207
|
-
this.contractClassLogsHashes
|
|
213
|
+
this.contractClassLogsHashes,
|
|
214
|
+
this.txRequestSalt
|
|
208
215
|
]);
|
|
209
216
|
}
|
|
210
217
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
2
|
import { BlockHeader } from '../tx/block_header.js';
|
|
3
3
|
import { CallContext } from '../tx/call_context.js';
|
|
4
4
|
import { TxContext } from '../tx/tx_context.js';
|
|
@@ -7,8 +7,9 @@ export declare class PrivateContextInputs {
|
|
|
7
7
|
anchorBlockHeader: BlockHeader;
|
|
8
8
|
txContext: TxContext;
|
|
9
9
|
startSideEffectCounter: number;
|
|
10
|
-
|
|
10
|
+
txRequestSalt: Fr;
|
|
11
|
+
constructor(callContext: CallContext, anchorBlockHeader: BlockHeader, txContext: TxContext, startSideEffectCounter: number, txRequestSalt: Fr);
|
|
11
12
|
static empty(): PrivateContextInputs;
|
|
12
13
|
toFields(): Fr[];
|
|
13
14
|
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9jb250ZXh0X2lucHV0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tlcm5lbC9wcml2YXRlX2NvbnRleHRfaW5wdXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUdwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRCxxQkFBYSxvQkFBb0I7SUFFdEIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsaUJBQWlCLEVBQUUsV0FBVztJQUM5QixTQUFTLEVBQUUsU0FBUztJQUNwQixzQkFBc0IsRUFBRSxNQUFNO0lBQzlCLGFBQWEsRUFBRSxFQUFFO0lBTDFCLFlBQ1MsV0FBVyxFQUFFLFdBQVcsRUFDeEIsaUJBQWlCLEVBQUUsV0FBVyxFQUM5QixTQUFTLEVBQUUsU0FBUyxFQUNwQixzQkFBc0IsRUFBRSxNQUFNLEVBQzlCLGFBQWEsRUFBRSxFQUFFLEVBQ3RCO0lBRUosT0FBYyxLQUFLLElBQUksb0JBQW9CLENBRTFDO0lBRU0sUUFBUSxJQUFJLEVBQUUsRUFBRSxDQVF0QjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_context_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_context_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"private_context_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_context_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,qBAAa,oBAAoB;IAEtB,WAAW,EAAE,WAAW;IACxB,iBAAiB,EAAE,WAAW;IAC9B,SAAS,EAAE,SAAS;IACpB,sBAAsB,EAAE,MAAM;IAC9B,aAAa,EAAE,EAAE;IAL1B,YACS,WAAW,EAAE,WAAW,EACxB,iBAAiB,EAAE,WAAW,EAC9B,SAAS,EAAE,SAAS,EACpB,sBAAsB,EAAE,MAAM,EAC9B,aAAa,EAAE,EAAE,EACtB;IAEJ,OAAc,KAAK,IAAI,oBAAoB,CAE1C;IAEM,QAAQ,IAAI,EAAE,EAAE,CAQtB;CACF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import { serializeToFields } from '@aztec/foundation/serialize';
|
|
2
3
|
import { BlockHeader } from '../tx/block_header.js';
|
|
3
4
|
import { CallContext } from '../tx/call_context.js';
|
|
@@ -7,21 +8,24 @@ export class PrivateContextInputs {
|
|
|
7
8
|
anchorBlockHeader;
|
|
8
9
|
txContext;
|
|
9
10
|
startSideEffectCounter;
|
|
10
|
-
|
|
11
|
+
txRequestSalt;
|
|
12
|
+
constructor(callContext, anchorBlockHeader, txContext, startSideEffectCounter, txRequestSalt){
|
|
11
13
|
this.callContext = callContext;
|
|
12
14
|
this.anchorBlockHeader = anchorBlockHeader;
|
|
13
15
|
this.txContext = txContext;
|
|
14
16
|
this.startSideEffectCounter = startSideEffectCounter;
|
|
17
|
+
this.txRequestSalt = txRequestSalt;
|
|
15
18
|
}
|
|
16
19
|
static empty() {
|
|
17
|
-
return new PrivateContextInputs(CallContext.empty(), BlockHeader.empty(), TxContext.empty(), 0);
|
|
20
|
+
return new PrivateContextInputs(CallContext.empty(), BlockHeader.empty(), TxContext.empty(), 0, Fr.ZERO);
|
|
18
21
|
}
|
|
19
22
|
toFields() {
|
|
20
23
|
return serializeToFields([
|
|
21
24
|
this.callContext,
|
|
22
25
|
this.anchorBlockHeader,
|
|
23
26
|
this.txContext,
|
|
24
|
-
this.startSideEffectCounter
|
|
27
|
+
this.startSideEffectCounter,
|
|
28
|
+
this.txRequestSalt
|
|
25
29
|
]);
|
|
26
30
|
}
|
|
27
31
|
}
|
|
@@ -102,4 +102,10 @@ export declare class PrivateKernelCircuitPublicInputs {
|
|
|
102
102
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelCircuitPublicInputs;
|
|
103
103
|
static empty(): PrivateKernelCircuitPublicInputs;
|
|
104
104
|
}
|
|
105
|
-
|
|
105
|
+
/**
|
|
106
|
+
* Returns true iff the tx requires the public-bound terminal path: it has either un-processed
|
|
107
|
+
* public-call requests in the side-effect stream or a pending public-teardown call request. Every
|
|
108
|
+
* site picking between the rollup-bound and public-bound terminal artifact must route through this.
|
|
109
|
+
*/
|
|
110
|
+
export declare function kernelStateIsForPublic(publicInputs: PrivateKernelCircuitPublicInputs): boolean;
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfY2lyY3VpdF9wdWJsaWNfaW5wdXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsL3ByaXZhdGVfa2VybmVsX2NpcmN1aXRfcHVibGljX2lucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFlBQVksRUFBdUMsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFN0Q7O0dBRUc7QUFDSCxxQkFBYSxnQ0FBZ0M7SUFFekM7O09BRUc7SUFDSSxTQUFTLEVBQUUscUJBQXFCO0lBQ3ZDOztPQUVHO0lBQ0ksOEJBQThCLEVBQUUsRUFBRTtJQUN6Qzs7T0FFRztJQUNJLGtCQUFrQixFQUFFLHlCQUF5QjtJQUNwRDs7T0FFRztJQUNJLEdBQUcsRUFBRSxzQkFBc0I7SUFDbEM7O09BRUc7SUFDSSx5QkFBeUIsRUFBRSxpQkFBaUI7SUFDbkQ7O09BRUc7SUFDSSxRQUFRLEVBQUUsWUFBWTtJQUM3Qjs7T0FFRztJQUNJLG1CQUFtQixFQUFFLE1BQU07SUFDbEM7O09BRUc7SUFDSSxhQUFhLEVBQUUsT0FBTztJQUM3Qjs7T0FFRztJQUNJLHFCQUFxQixFQUFFLEVBQUU7SUFDaEM7O09BRUc7SUFDSSx3QkFBd0IsRUFBRSxNQUFNO0lBeEN6QztJQUNFOztPQUVHO0lBQ0ksU0FBUyxFQUFFLHFCQUFxQjtJQUN2Qzs7T0FFRztJQUNJLDhCQUE4QixFQUFFLEVBQUU7SUFDekM7O09BRUc7SUFDSSxrQkFBa0IsRUFBRSx5QkFBeUI7SUFDcEQ7O09BRUc7SUFDSSxHQUFHLEVBQUUsc0JBQXNCO0lBQ2xDOztPQUVHO0lBQ0kseUJBQXlCLEVBQUUsaUJBQWlCO0lBQ25EOztPQUVHO0lBQ0ksUUFBUSxFQUFFLFlBQVk7SUFDN0I7O09BRUc7SUFDSSxtQkFBbUIsRUFBRSxNQUFNO0lBQ2xDOztPQUVHO0lBQ0ksYUFBYSxFQUFFLE9BQU87SUFDN0I7O09BRUc7SUFDSSxxQkFBcUIsRUFBRSxFQUFFO0lBQ2hDOztPQUVHO0lBQ0ksd0JBQXdCLEVBQUUsTUFBTSxFQUNyQztJQUVKLE1BQU0sS0FBSyxNQUFNLHVKQUVoQjtJQUVELE1BQU0sNEJBRUw7SUFFRCxRQUFRLDRCQWFQO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxZQUFZLEdBQUcsZ0NBQWdDLENBY2pGO0lBRUQsTUFBTSxDQUFDLEtBQUsscUNBYVg7Q0FDRjtBQUVEOzs7O0dBSUc7QUFDSCx3QkFBZ0Isc0JBQXNCLENBQUMsWUFBWSxFQUFFLGdDQUFnQyxHQUFHLE9BQU8sQ0FFOUYifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,gCAAgC;IAEzC;;OAEG;IACI,SAAS,EAAE,qBAAqB;IACvC;;OAEG;IACI,8BAA8B,EAAE,EAAE;IACzC;;OAEG;IACI,kBAAkB,EAAE,yBAAyB;IACpD;;OAEG;IACI,GAAG,EAAE,sBAAsB;IAClC;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IACnD;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM;IAClC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,wBAAwB,EAAE,MAAM;IAxCzC;IACE;;OAEG;IACI,SAAS,EAAE,qBAAqB;IACvC;;OAEG;IACI,8BAA8B,EAAE,EAAE;IACzC;;OAEG;IACI,kBAAkB,EAAE,yBAAyB;IACpD;;OAEG;IACI,GAAG,EAAE,sBAAsB;IAClC;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IACnD;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM;IAClC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,wBAAwB,EAAE,MAAM,EACrC;IAEJ,MAAM,KAAK,MAAM,uJAEhB;IAED,MAAM,4BAEL;IAED,QAAQ,4BAaP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gCAAgC,CAcjF;IAED,MAAM,CAAC,KAAK,qCAaX;CACF"}
|
|
1
|
+
{"version":3,"file":"private_kernel_circuit_public_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_circuit_public_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAuC,MAAM,6BAA6B,CAAC;AAEhG,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,qBAAa,gCAAgC;IAEzC;;OAEG;IACI,SAAS,EAAE,qBAAqB;IACvC;;OAEG;IACI,8BAA8B,EAAE,EAAE;IACzC;;OAEG;IACI,kBAAkB,EAAE,yBAAyB;IACpD;;OAEG;IACI,GAAG,EAAE,sBAAsB;IAClC;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IACnD;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM;IAClC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,wBAAwB,EAAE,MAAM;IAxCzC;IACE;;OAEG;IACI,SAAS,EAAE,qBAAqB;IACvC;;OAEG;IACI,8BAA8B,EAAE,EAAE;IACzC;;OAEG;IACI,kBAAkB,EAAE,yBAAyB;IACpD;;OAEG;IACI,GAAG,EAAE,sBAAsB;IAClC;;OAEG;IACI,yBAAyB,EAAE,iBAAiB;IACnD;;OAEG;IACI,QAAQ,EAAE,YAAY;IAC7B;;OAEG;IACI,mBAAmB,EAAE,MAAM;IAClC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,EAAE;IAChC;;OAEG;IACI,wBAAwB,EAAE,MAAM,EACrC;IAEJ,MAAM,KAAK,MAAM,uJAEhB;IAED,MAAM,4BAEL;IAED,QAAQ,4BAaP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,gCAAgC,CAcjF;IAED,MAAM,CAAC,KAAK,qCAaX;CACF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,gCAAgC,GAAG,OAAO,CAE9F"}
|
|
@@ -72,3 +72,10 @@ import { PublicCallRequest } from './public_call_request.js';
|
|
|
72
72
|
return new PrivateKernelCircuitPublicInputs(PrivateTxConstantData.empty(), Fr.zero(), PrivateValidationRequests.empty(), PrivateAccumulatedData.empty(), PublicCallRequest.empty(), AztecAddress.ZERO, 0n, false, Fr.zero(), 0);
|
|
73
73
|
}
|
|
74
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Returns true iff the tx requires the public-bound terminal path: it has either un-processed
|
|
77
|
+
* public-call requests in the side-effect stream or a pending public-teardown call request. Every
|
|
78
|
+
* site picking between the rollup-bound and public-bound terminal artifact must route through this.
|
|
79
|
+
*/ export function kernelStateIsForPublic(publicInputs) {
|
|
80
|
+
return publicInputs.end.publicCallRequests.claimedLength > 0 || !publicInputs.publicTeardownCallRequest.isEmpty();
|
|
81
|
+
}
|
|
@@ -14,10 +14,9 @@ export declare class PrivateKernelInit2CircuitPrivateInputs {
|
|
|
14
14
|
privateCall0: PrivateCallData;
|
|
15
15
|
privateCall1: PrivateCallData;
|
|
16
16
|
isPrivateOnly: boolean;
|
|
17
|
-
firstNullifierHint: Fr;
|
|
18
17
|
revertibleCounterHint: number;
|
|
19
|
-
constructor(txRequest: TxRequest, vkTreeRoot: Fr, protocolContracts: ProtocolContracts, privateCall0: PrivateCallData, privateCall1: PrivateCallData, isPrivateOnly: boolean,
|
|
18
|
+
constructor(txRequest: TxRequest, vkTreeRoot: Fr, protocolContracts: ProtocolContracts, privateCall0: PrivateCallData, privateCall1: PrivateCallData, isPrivateOnly: boolean, revertibleCounterHint: number);
|
|
20
19
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
21
20
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit2CircuitPrivateInputs;
|
|
22
21
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfaW5pdF8yX2NpcmN1aXRfcHJpdmF0ZV9pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWwvcHJpdmF0ZV9rZXJuZWxfaW5pdF8yX2NpcmN1aXRfcHJpdmF0ZV9pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RDs7O0dBR0c7QUFDSCxxQkFBYSxzQ0FBc0M7SUFFeEMsU0FBUyxFQUFFLFNBQVM7SUFDcEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsWUFBWSxFQUFFLGVBQWU7SUFDN0IsWUFBWSxFQUFFLGVBQWU7SUFDN0IsYUFBYSxFQUFFLE9BQU87SUFDdEIscUJBQXFCLEVBQUUsTUFBTTtJQVB0QyxZQUNTLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFVBQVUsRUFBRSxFQUFFLEVBQ2QsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFlBQVksRUFBRSxlQUFlLEVBQzdCLFlBQVksRUFBRSxlQUFlLEVBQzdCLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLHFCQUFxQixFQUFFLE1BQU0sRUFDbEM7SUFFSixRQUFRLDRCQVNQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxzQ0FBc0MsQ0FXdkY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_init_2_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_2_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,sCAAsC;IAExC,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,OAAO;IACtB,
|
|
1
|
+
{"version":3,"file":"private_kernel_init_2_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_2_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,sCAAsC;IAExC,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,OAAO;IACtB,qBAAqB,EAAE,MAAM;IAPtC,YACS,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,EAAE,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,EAC7B,aAAa,EAAE,OAAO,EACtB,qBAAqB,EAAE,MAAM,EAClC;IAEJ,QAAQ,4BASP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sCAAsC,CAWvF;CACF"}
|
|
@@ -13,23 +13,21 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
13
13
|
privateCall0;
|
|
14
14
|
privateCall1;
|
|
15
15
|
isPrivateOnly;
|
|
16
|
-
firstNullifierHint;
|
|
17
16
|
revertibleCounterHint;
|
|
18
|
-
constructor(txRequest, vkTreeRoot, protocolContracts, privateCall0, privateCall1, isPrivateOnly,
|
|
17
|
+
constructor(txRequest, vkTreeRoot, protocolContracts, privateCall0, privateCall1, isPrivateOnly, revertibleCounterHint){
|
|
19
18
|
this.txRequest = txRequest;
|
|
20
19
|
this.vkTreeRoot = vkTreeRoot;
|
|
21
20
|
this.protocolContracts = protocolContracts;
|
|
22
21
|
this.privateCall0 = privateCall0;
|
|
23
22
|
this.privateCall1 = privateCall1;
|
|
24
23
|
this.isPrivateOnly = isPrivateOnly;
|
|
25
|
-
this.firstNullifierHint = firstNullifierHint;
|
|
26
24
|
this.revertibleCounterHint = revertibleCounterHint;
|
|
27
25
|
}
|
|
28
26
|
toBuffer() {
|
|
29
|
-
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall0, this.privateCall1, this.
|
|
27
|
+
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall0, this.privateCall1, this.revertibleCounterHint);
|
|
30
28
|
}
|
|
31
29
|
static fromBuffer(buffer) {
|
|
32
30
|
const reader = BufferReader.asReader(buffer);
|
|
33
|
-
return new PrivateKernelInit2CircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readBoolean(),
|
|
31
|
+
return new PrivateKernelInit2CircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readBoolean(), reader.readNumber());
|
|
34
32
|
}
|
|
35
33
|
}
|
|
@@ -15,10 +15,9 @@ export declare class PrivateKernelInit3CircuitPrivateInputs {
|
|
|
15
15
|
privateCall1: PrivateCallData;
|
|
16
16
|
privateCall2: PrivateCallData;
|
|
17
17
|
isPrivateOnly: boolean;
|
|
18
|
-
firstNullifierHint: Fr;
|
|
19
18
|
revertibleCounterHint: number;
|
|
20
|
-
constructor(txRequest: TxRequest, vkTreeRoot: Fr, protocolContracts: ProtocolContracts, privateCall0: PrivateCallData, privateCall1: PrivateCallData, privateCall2: PrivateCallData, isPrivateOnly: boolean,
|
|
19
|
+
constructor(txRequest: TxRequest, vkTreeRoot: Fr, protocolContracts: ProtocolContracts, privateCall0: PrivateCallData, privateCall1: PrivateCallData, privateCall2: PrivateCallData, isPrivateOnly: boolean, revertibleCounterHint: number);
|
|
21
20
|
toBuffer(): Buffer<ArrayBufferLike>;
|
|
22
21
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInit3CircuitPrivateInputs;
|
|
23
22
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfaW5pdF8zX2NpcmN1aXRfcHJpdmF0ZV9pbnB1dHMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWwvcHJpdmF0ZV9rZXJuZWxfaW5pdF8zX2NpcmN1aXRfcHJpdmF0ZV9pbnB1dHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQXFCLE1BQU0sNkJBQTZCLENBQUM7QUFFOUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RDs7O0dBR0c7QUFDSCxxQkFBYSxzQ0FBc0M7SUFFeEMsU0FBUyxFQUFFLFNBQVM7SUFDcEIsVUFBVSxFQUFFLEVBQUU7SUFDZCxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcEMsWUFBWSxFQUFFLGVBQWU7SUFDN0IsWUFBWSxFQUFFLGVBQWU7SUFDN0IsWUFBWSxFQUFFLGVBQWU7SUFDN0IsYUFBYSxFQUFFLE9BQU87SUFDdEIscUJBQXFCLEVBQUUsTUFBTTtJQVJ0QyxZQUNTLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLFVBQVUsRUFBRSxFQUFFLEVBQ2QsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLFlBQVksRUFBRSxlQUFlLEVBQzdCLFlBQVksRUFBRSxlQUFlLEVBQzdCLFlBQVksRUFBRSxlQUFlLEVBQzdCLGFBQWEsRUFBRSxPQUFPLEVBQ3RCLHFCQUFxQixFQUFFLE1BQU0sRUFDbEM7SUFFSixRQUFRLDRCQVVQO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxHQUFHLFlBQVksR0FBRyxzQ0FBc0MsQ0FZdkY7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_init_3_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_3_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,sCAAsC;IAExC,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,OAAO;IACtB,
|
|
1
|
+
{"version":3,"file":"private_kernel_init_3_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_3_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;GAGG;AACH,qBAAa,sCAAsC;IAExC,SAAS,EAAE,SAAS;IACpB,UAAU,EAAE,EAAE;IACd,iBAAiB,EAAE,iBAAiB;IACpC,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,YAAY,EAAE,eAAe;IAC7B,aAAa,EAAE,OAAO;IACtB,qBAAqB,EAAE,MAAM;IARtC,YACS,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,EAAE,EACd,iBAAiB,EAAE,iBAAiB,EACpC,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,EAC7B,YAAY,EAAE,eAAe,EAC7B,aAAa,EAAE,OAAO,EACtB,qBAAqB,EAAE,MAAM,EAClC;IAEJ,QAAQ,4BAUP;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,sCAAsC,CAYvF;CACF"}
|
|
@@ -14,9 +14,8 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
14
14
|
privateCall1;
|
|
15
15
|
privateCall2;
|
|
16
16
|
isPrivateOnly;
|
|
17
|
-
firstNullifierHint;
|
|
18
17
|
revertibleCounterHint;
|
|
19
|
-
constructor(txRequest, vkTreeRoot, protocolContracts, privateCall0, privateCall1, privateCall2, isPrivateOnly,
|
|
18
|
+
constructor(txRequest, vkTreeRoot, protocolContracts, privateCall0, privateCall1, privateCall2, isPrivateOnly, revertibleCounterHint){
|
|
20
19
|
this.txRequest = txRequest;
|
|
21
20
|
this.vkTreeRoot = vkTreeRoot;
|
|
22
21
|
this.protocolContracts = protocolContracts;
|
|
@@ -24,14 +23,13 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
24
23
|
this.privateCall1 = privateCall1;
|
|
25
24
|
this.privateCall2 = privateCall2;
|
|
26
25
|
this.isPrivateOnly = isPrivateOnly;
|
|
27
|
-
this.firstNullifierHint = firstNullifierHint;
|
|
28
26
|
this.revertibleCounterHint = revertibleCounterHint;
|
|
29
27
|
}
|
|
30
28
|
toBuffer() {
|
|
31
|
-
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall0, this.privateCall1, this.privateCall2, this.
|
|
29
|
+
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall0, this.privateCall1, this.privateCall2, this.revertibleCounterHint);
|
|
32
30
|
}
|
|
33
31
|
static fromBuffer(buffer) {
|
|
34
32
|
const reader = BufferReader.asReader(buffer);
|
|
35
|
-
return new PrivateKernelInit3CircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readBoolean(),
|
|
33
|
+
return new PrivateKernelInit3CircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readObject(PrivateCallData), reader.readBoolean(), reader.readNumber());
|
|
36
34
|
}
|
|
37
35
|
}
|
|
@@ -27,10 +27,6 @@ export declare class PrivateKernelInitCircuitPrivateInputs {
|
|
|
27
27
|
* Wether this tx will make public calls or not.
|
|
28
28
|
*/
|
|
29
29
|
isPrivateOnly: boolean;
|
|
30
|
-
/**
|
|
31
|
-
* A hint to what will be the first nullifier of the transaction, used for nonce generation.
|
|
32
|
-
*/
|
|
33
|
-
firstNullifierHint: Fr;
|
|
34
30
|
/**
|
|
35
31
|
* A claim to the final min revertible side effect counter of a tx.
|
|
36
32
|
*/
|
|
@@ -56,10 +52,6 @@ export declare class PrivateKernelInitCircuitPrivateInputs {
|
|
|
56
52
|
* Wether this tx will make public calls or not.
|
|
57
53
|
*/
|
|
58
54
|
isPrivateOnly: boolean,
|
|
59
|
-
/**
|
|
60
|
-
* A hint to what will be the first nullifier of the transaction, used for nonce generation.
|
|
61
|
-
*/
|
|
62
|
-
firstNullifierHint: Fr,
|
|
63
55
|
/**
|
|
64
56
|
* A claim to the final min revertible side effect counter of a tx.
|
|
65
57
|
*/
|
|
@@ -76,4 +68,4 @@ export declare class PrivateKernelInitCircuitPrivateInputs {
|
|
|
76
68
|
*/
|
|
77
69
|
static fromBuffer(buffer: Buffer | BufferReader): PrivateKernelInitCircuitPrivateInputs;
|
|
78
70
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfaW5pdF9jaXJjdWl0X3ByaXZhdGVfaW5wdXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsL3ByaXZhdGVfa2VybmVsX2luaXRfY2lyY3VpdF9wcml2YXRlX2lucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBcUIsTUFBTSw2QkFBNkIsQ0FBQztBQUU5RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXpEOztHQUVHO0FBQ0gscUJBQWEscUNBQXFDO0lBRTlDOztPQUVHO0lBQ0ksU0FBUyxFQUFFLFNBQVM7SUFDM0I7O09BRUc7SUFDSSxVQUFVLEVBQUUsRUFBRTtJQUNyQjs7T0FFRztJQUNJLGlCQUFpQixFQUFFLGlCQUFpQjtJQUMzQzs7T0FFRztJQUNJLFdBQVcsRUFBRSxlQUFlO0lBQ25DOztPQUVHO0lBQ0ksYUFBYSxFQUFFLE9BQU87SUFDN0I7O09BRUc7SUFDSSxxQkFBcUIsRUFBRSxNQUFNO0lBeEJ0QztJQUNFOztPQUVHO0lBQ0ksU0FBUyxFQUFFLFNBQVM7SUFDM0I7O09BRUc7SUFDSSxVQUFVLEVBQUUsRUFBRTtJQUNyQjs7T0FFRztJQUNJLGlCQUFpQixFQUFFLGlCQUFpQjtJQUMzQzs7T0FFRztJQUNJLFdBQVcsRUFBRSxlQUFlO0lBQ25DOztPQUVHO0lBQ0ksYUFBYSxFQUFFLE9BQU87SUFDN0I7O09BRUc7SUFDSSxxQkFBcUIsRUFBRSxNQUFNLEVBQ2xDO0lBRUo7OztPQUdHO0lBQ0gsUUFBUSw0QkFRUDtJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsWUFBWSxHQUFHLHFDQUFxQyxDQVV0RjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_init_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,qBAAa,qCAAqC;IAE9C;;OAEG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IAC3C;;OAEG;IACI,WAAW,EAAE,eAAe;IACnC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,
|
|
1
|
+
{"version":3,"file":"private_kernel_init_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_init_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,YAAY,EAAqB,MAAM,6BAA6B,CAAC;AAE9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;GAEG;AACH,qBAAa,qCAAqC;IAE9C;;OAEG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IAC3C;;OAEG;IACI,WAAW,EAAE,eAAe;IACnC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,MAAM;IAxBtC;IACE;;OAEG;IACI,SAAS,EAAE,SAAS;IAC3B;;OAEG;IACI,UAAU,EAAE,EAAE;IACrB;;OAEG;IACI,iBAAiB,EAAE,iBAAiB;IAC3C;;OAEG;IACI,WAAW,EAAE,eAAe;IACnC;;OAEG;IACI,aAAa,EAAE,OAAO;IAC7B;;OAEG;IACI,qBAAqB,EAAE,MAAM,EAClC;IAEJ;;;OAGG;IACH,QAAQ,4BAQP;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,qCAAqC,CAUtF;CACF"}
|
|
@@ -11,7 +11,6 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
11
11
|
protocolContracts;
|
|
12
12
|
privateCall;
|
|
13
13
|
isPrivateOnly;
|
|
14
|
-
firstNullifierHint;
|
|
15
14
|
revertibleCounterHint;
|
|
16
15
|
constructor(/**
|
|
17
16
|
* The transaction request which led to the creation of these inputs.
|
|
@@ -24,8 +23,6 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
24
23
|
*/ privateCall, /**
|
|
25
24
|
* Wether this tx will make public calls or not.
|
|
26
25
|
*/ isPrivateOnly, /**
|
|
27
|
-
* A hint to what will be the first nullifier of the transaction, used for nonce generation.
|
|
28
|
-
*/ firstNullifierHint, /**
|
|
29
26
|
* A claim to the final min revertible side effect counter of a tx.
|
|
30
27
|
*/ revertibleCounterHint){
|
|
31
28
|
this.txRequest = txRequest;
|
|
@@ -33,14 +30,13 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
33
30
|
this.protocolContracts = protocolContracts;
|
|
34
31
|
this.privateCall = privateCall;
|
|
35
32
|
this.isPrivateOnly = isPrivateOnly;
|
|
36
|
-
this.firstNullifierHint = firstNullifierHint;
|
|
37
33
|
this.revertibleCounterHint = revertibleCounterHint;
|
|
38
34
|
}
|
|
39
35
|
/**
|
|
40
36
|
* Serialize this as a buffer.
|
|
41
37
|
* @returns The buffer.
|
|
42
38
|
*/ toBuffer() {
|
|
43
|
-
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall, this.
|
|
39
|
+
return serializeToBuffer(this.txRequest, this.vkTreeRoot, this.protocolContracts, this.privateCall, this.revertibleCounterHint);
|
|
44
40
|
}
|
|
45
41
|
/**
|
|
46
42
|
* Deserializes from a buffer or reader.
|
|
@@ -48,6 +44,6 @@ import { PrivateCallData } from './private_call_data.js';
|
|
|
48
44
|
* @returns The deserialized instance.
|
|
49
45
|
*/ static fromBuffer(buffer) {
|
|
50
46
|
const reader = BufferReader.asReader(buffer);
|
|
51
|
-
return new PrivateKernelInitCircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readBoolean(),
|
|
47
|
+
return new PrivateKernelInitCircuitPrivateInputs(reader.readObject(TxRequest), Fr.fromBuffer(reader), reader.readObject(ProtocolContracts), reader.readObject(PrivateCallData), reader.readBoolean(), reader.readNumber());
|
|
52
48
|
}
|
|
53
49
|
}
|
|
@@ -18,15 +18,14 @@ export declare class PrivateKernelResetDimensions {
|
|
|
18
18
|
}
|
|
19
19
|
export type DimensionName = keyof FieldsOf<PrivateKernelResetDimensions>;
|
|
20
20
|
export declare const privateKernelResetDimensionNames: DimensionName[];
|
|
21
|
-
export interface
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
export interface ResetCatalogEntry {
|
|
22
|
+
name: string;
|
|
23
|
+
dimensions: number[];
|
|
24
24
|
cost: number;
|
|
25
25
|
}
|
|
26
26
|
export interface PrivateKernelResetDimensionsConfig {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
specialCases: number[][];
|
|
27
|
+
inner: ResetCatalogEntry[];
|
|
28
|
+
finalTail: ResetCatalogEntry[];
|
|
29
|
+
finalTailToPublic: ResetCatalogEntry[];
|
|
31
30
|
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfcmVzZXRfZGltZW5zaW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2tlcm5lbC9wcml2YXRlX2tlcm5lbF9yZXNldF9kaW1lbnNpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELHFCQUFhLDRCQUE0QjtJQUU5QixzQkFBc0IsRUFBRSxNQUFNO0lBQzlCLHNCQUFzQixFQUFFLE1BQU07SUFDOUIsc0JBQXNCLEVBQUUsTUFBTTtJQUM5QixzQkFBc0IsRUFBRSxNQUFNO0lBQzlCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLHdCQUF3QixFQUFFLE1BQU07SUFDaEMsaUJBQWlCLEVBQUUsTUFBTTtJQUN6QixpQkFBaUIsRUFBRSxNQUFNO0lBQ3pCLG1CQUFtQixFQUFFLE1BQU07SUFUcEMsWUFDUyxzQkFBc0IsRUFBRSxNQUFNLEVBQzlCLHNCQUFzQixFQUFFLE1BQU0sRUFDOUIsc0JBQXNCLEVBQUUsTUFBTSxFQUM5QixzQkFBc0IsRUFBRSxNQUFNLEVBQzlCLGNBQWMsRUFBRSxNQUFNLEVBQ3RCLHdCQUF3QixFQUFFLE1BQU0sRUFDaEMsaUJBQWlCLEVBQUUsTUFBTSxFQUN6QixpQkFBaUIsRUFBRSxNQUFNLEVBQ3pCLG1CQUFtQixFQUFFLE1BQU0sRUFDaEM7SUFFSixRQUFRLDRCQVlQO0lBRUQsTUFBTSxDQUFDLEtBQUssaUNBRVg7SUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLDRCQUE0QixDQUFDLENBQUMsZ0NBSWxFO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLGdDQVNqQztJQUVELFFBQVEsYUFFUDtDQUNGO0FBRUQsTUFBTSxNQUFNLGFBQWEsR0FBRyxNQUFNLFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0FBRXpFLGVBQU8sTUFBTSxnQ0FBZ0MsRUFBRSxhQUFhLEVBVTNELENBQUM7QUFFRixNQUFNLFdBQVcsaUJBQWlCO0lBQ2hDLElBQUksRUFBRSxNQUFNLENBQUM7SUFDYixVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFLckIsSUFBSSxFQUFFLE1BQU0sQ0FBQztDQUNkO0FBR0QsTUFBTSxXQUFXLGtDQUFrQztJQUVqRCxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUczQixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUcvQixpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0NBQ3hDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private_kernel_reset_dimensions.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_reset_dimensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,4BAA4B;IAE9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,cAAc,EAAE,MAAM;IACtB,wBAAwB,EAAE,MAAM;IAChC,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,MAAM;IACzB,mBAAmB,EAAE,MAAM;IATpC,YACS,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM,EACtB,wBAAwB,EAAE,MAAM,EAChC,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAChC;IAEJ,QAAQ,4BAYP;IAED,MAAM,CAAC,KAAK,iCAEX;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,gCAIlE;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gCASjC;IAED,QAAQ,aAEP;CACF;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAEzE,eAAO,MAAM,gCAAgC,EAAE,aAAa,EAU3D,CAAC;AAEF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"private_kernel_reset_dimensions.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_reset_dimensions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,qBAAa,4BAA4B;IAE9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,sBAAsB,EAAE,MAAM;IAC9B,cAAc,EAAE,MAAM;IACtB,wBAAwB,EAAE,MAAM;IAChC,iBAAiB,EAAE,MAAM;IACzB,iBAAiB,EAAE,MAAM;IACzB,mBAAmB,EAAE,MAAM;IATpC,YACS,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,sBAAsB,EAAE,MAAM,EAC9B,cAAc,EAAE,MAAM,EACtB,wBAAwB,EAAE,MAAM,EAChC,iBAAiB,EAAE,MAAM,EACzB,iBAAiB,EAAE,MAAM,EACzB,mBAAmB,EAAE,MAAM,EAChC;IAEJ,QAAQ,4BAYP;IAED,MAAM,CAAC,KAAK,iCAEX;IAED,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,gCAIlE;IAED,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,gCASjC;IAED,QAAQ,aAEP;CACF;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,4BAA4B,CAAC,CAAC;AAEzE,eAAO,MAAM,gCAAgC,EAAE,aAAa,EAU3D,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IAKrB,IAAI,EAAE,MAAM,CAAC;CACd;AAGD,MAAM,WAAW,kCAAkC;IAEjD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAG3B,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAG/B,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;CACxC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { MAX_KEY_VALIDATION_REQUESTS_PER_TX, MAX_NOTE_HASH_READ_REQUESTS_PER_TX, MAX_NULLIFIERS_PER_TX, MAX_NULLIFIER_READ_REQUESTS_PER_TX } from '@aztec/constants';
|
|
2
|
+
import type { UInt64 } from '../types/shared.js';
|
|
3
|
+
import type { PrivateKernelResetHints } from './hints/private_kernel_reset_hints.js';
|
|
4
|
+
import type { PaddedSideEffectAmounts, PaddedSideEffects } from './padded_side_effects.js';
|
|
5
|
+
import type { PrivateKernelData } from './private_kernel_data.js';
|
|
6
|
+
import { PrivateKernelResetCircuitPrivateInputsVariants } from './private_kernel_reset_circuit_private_inputs.js';
|
|
7
|
+
import type { PrivateKernelResetDimensions } from './private_kernel_reset_dimensions.js';
|
|
8
|
+
/**
|
|
9
|
+
* Input to a terminal reset+tail circuit. `isForPublic()` selects the rollup-bound (`reset_tail`)
|
|
10
|
+
* or public-bound (`reset_tail_to_public`) family.
|
|
11
|
+
*/
|
|
12
|
+
export declare class PrivateKernelResetTailCircuitPrivateInputs {
|
|
13
|
+
previousKernel: PrivateKernelData;
|
|
14
|
+
paddedSideEffects: PaddedSideEffects;
|
|
15
|
+
hints: PrivateKernelResetHints<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX, typeof MAX_NULLIFIERS_PER_TX>;
|
|
16
|
+
dimensions: PrivateKernelResetDimensions;
|
|
17
|
+
paddedSideEffectAmounts: PaddedSideEffectAmounts;
|
|
18
|
+
expirationTimestampUpperBound: UInt64;
|
|
19
|
+
constructor(previousKernel: PrivateKernelData, paddedSideEffects: PaddedSideEffects, hints: PrivateKernelResetHints<typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX, typeof MAX_NOTE_HASH_READ_REQUESTS_PER_TX, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX, typeof MAX_NULLIFIER_READ_REQUESTS_PER_TX, typeof MAX_KEY_VALIDATION_REQUESTS_PER_TX, typeof MAX_NULLIFIERS_PER_TX>, dimensions: PrivateKernelResetDimensions, paddedSideEffectAmounts: PaddedSideEffectAmounts, expirationTimestampUpperBound: UInt64);
|
|
20
|
+
isForPublic(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Returns a dimension-trimmed view of the reset portion of these inputs (without the tail
|
|
23
|
+
* fields). The prover uses this to feed witness generation of the variant matching the chosen
|
|
24
|
+
* dimensions.
|
|
25
|
+
*/
|
|
26
|
+
trimResetToSizes(): PrivateKernelResetCircuitPrivateInputsVariants<number, number, number, number, number, number>;
|
|
27
|
+
toBuffer(): Buffer<ArrayBufferLike>;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZV9rZXJuZWxfcmVzZXRfdGFpbF9jaXJjdWl0X3ByaXZhdGVfaW5wdXRzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsL3ByaXZhdGVfa2VybmVsX3Jlc2V0X3RhaWxfY2lyY3VpdF9wcml2YXRlX2lucHV0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFDVixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHFCQUFxQixFQUNyQixrQ0FBa0MsRUFDbkMsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sS0FBSyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0YsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsOENBQThDLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNsSCxPQUFPLEtBQUssRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRXpGOzs7R0FHRztBQUNILHFCQUFhLDBDQUEwQztJQUU1QyxjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLGlCQUFpQixFQUFFLGlCQUFpQjtJQUNwQyxLQUFLLEVBQUUsdUJBQXVCLENBQ25DLE9BQU8sa0NBQWtDLEVBQ3pDLE9BQU8sa0NBQWtDLEVBQ3pDLE9BQU8sa0NBQWtDLEVBQ3pDLE9BQU8sa0NBQWtDLEVBQ3pDLE9BQU8sa0NBQWtDLEVBQ3pDLE9BQU8scUJBQXFCLENBQzdCO0lBQ00sVUFBVSxFQUFFLDRCQUE0QjtJQUN4Qyx1QkFBdUIsRUFBRSx1QkFBdUI7SUFDaEQsNkJBQTZCLEVBQUUsTUFBTTtJQWI5QyxZQUNTLGNBQWMsRUFBRSxpQkFBaUIsRUFDakMsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQ3BDLEtBQUssRUFBRSx1QkFBdUIsQ0FDbkMsT0FBTyxrQ0FBa0MsRUFDekMsT0FBTyxrQ0FBa0MsRUFDekMsT0FBTyxrQ0FBa0MsRUFDekMsT0FBTyxrQ0FBa0MsRUFDekMsT0FBTyxrQ0FBa0MsRUFDekMsT0FBTyxxQkFBcUIsQ0FDN0IsRUFDTSxVQUFVLEVBQUUsNEJBQTRCLEVBQ3hDLHVCQUF1QixFQUFFLHVCQUF1QixFQUNoRCw2QkFBNkIsRUFBRSxNQUFNLEVBQzFDO0lBRUosV0FBVyxZQUVWO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixtR0FVZjtJQUVELFFBQVEsNEJBU1A7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"private_kernel_reset_tail_circuit_private_inputs.d.ts","sourceRoot":"","sources":["../../src/kernel/private_kernel_reset_tail_circuit_private_inputs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kCAAkC,EAClC,kCAAkC,EAClC,qBAAqB,EACrB,kCAAkC,EACnC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE3F,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,8CAA8C,EAAE,MAAM,kDAAkD,CAAC;AAClH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AAEzF;;;GAGG;AACH,qBAAa,0CAA0C;IAE5C,cAAc,EAAE,iBAAiB;IACjC,iBAAiB,EAAE,iBAAiB;IACpC,KAAK,EAAE,uBAAuB,CACnC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,qBAAqB,CAC7B;IACM,UAAU,EAAE,4BAA4B;IACxC,uBAAuB,EAAE,uBAAuB;IAChD,6BAA6B,EAAE,MAAM;IAb9C,YACS,cAAc,EAAE,iBAAiB,EACjC,iBAAiB,EAAE,iBAAiB,EACpC,KAAK,EAAE,uBAAuB,CACnC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,kCAAkC,EACzC,OAAO,qBAAqB,CAC7B,EACM,UAAU,EAAE,4BAA4B,EACxC,uBAAuB,EAAE,uBAAuB,EAChD,6BAA6B,EAAE,MAAM,EAC1C;IAEJ,WAAW,YAEV;IAED;;;;OAIG;IACH,gBAAgB,mGAUf;IAED,QAAQ,4BASP;CACF"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { bigintToUInt64BE, serializeToBuffer } from '@aztec/foundation/serialize';
|
|
2
|
+
import { kernelStateIsForPublic } from './private_kernel_circuit_public_inputs.js';
|
|
3
|
+
import { PrivateKernelResetCircuitPrivateInputsVariants } from './private_kernel_reset_circuit_private_inputs.js';
|
|
4
|
+
/**
|
|
5
|
+
* Input to a terminal reset+tail circuit. `isForPublic()` selects the rollup-bound (`reset_tail`)
|
|
6
|
+
* or public-bound (`reset_tail_to_public`) family.
|
|
7
|
+
*/ export class PrivateKernelResetTailCircuitPrivateInputs {
|
|
8
|
+
previousKernel;
|
|
9
|
+
paddedSideEffects;
|
|
10
|
+
hints;
|
|
11
|
+
dimensions;
|
|
12
|
+
paddedSideEffectAmounts;
|
|
13
|
+
expirationTimestampUpperBound;
|
|
14
|
+
constructor(previousKernel, paddedSideEffects, hints, dimensions, paddedSideEffectAmounts, expirationTimestampUpperBound){
|
|
15
|
+
this.previousKernel = previousKernel;
|
|
16
|
+
this.paddedSideEffects = paddedSideEffects;
|
|
17
|
+
this.hints = hints;
|
|
18
|
+
this.dimensions = dimensions;
|
|
19
|
+
this.paddedSideEffectAmounts = paddedSideEffectAmounts;
|
|
20
|
+
this.expirationTimestampUpperBound = expirationTimestampUpperBound;
|
|
21
|
+
}
|
|
22
|
+
isForPublic() {
|
|
23
|
+
return kernelStateIsForPublic(this.previousKernel.publicInputs);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns a dimension-trimmed view of the reset portion of these inputs (without the tail
|
|
27
|
+
* fields). The prover uses this to feed witness generation of the variant matching the chosen
|
|
28
|
+
* dimensions.
|
|
29
|
+
*/ trimResetToSizes() {
|
|
30
|
+
const hints = this.hints.trimToSizes(this.dimensions.NOTE_HASH_PENDING_READ, this.dimensions.NOTE_HASH_SETTLED_READ, this.dimensions.NULLIFIER_PENDING_READ, this.dimensions.NULLIFIER_SETTLED_READ, this.dimensions.KEY_VALIDATION, this.dimensions.TRANSIENT_DATA_SQUASHING);
|
|
31
|
+
return new PrivateKernelResetCircuitPrivateInputsVariants(this.previousKernel, this.paddedSideEffects, hints);
|
|
32
|
+
}
|
|
33
|
+
toBuffer() {
|
|
34
|
+
return serializeToBuffer(this.previousKernel, this.paddedSideEffects, this.hints, this.dimensions, this.paddedSideEffectAmounts, bigintToUInt64BE(this.expirationTimestampUpperBound));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
2
|
-
import
|
|
2
|
+
import { GrumpkinScalar, type Point } from '@aztec/foundation/curves/grumpkin';
|
|
3
3
|
import type { AztecAddress } from '../aztec-address/index.js';
|
|
4
4
|
import type { PublicKey } from '../keys/public_key.js';
|
|
5
5
|
/**
|
|
@@ -28,4 +28,14 @@ export declare function appSiloEcdhSharedSecret(secretKey: GrumpkinScalar, publi
|
|
|
28
28
|
* @param app - The contract address to silo to.
|
|
29
29
|
*/
|
|
30
30
|
export declare function appSiloEcdhSharedSecretPoint(point: Point, app: AztecAddress): Promise<Fr>;
|
|
31
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Protects a handshake's shared secret from being forged by the recipient: `S' = hash(ephPk, recipientPoint) * S`.
|
|
33
|
+
*
|
|
34
|
+
* Mirrors aztec-nr's `protect_from_forgery` and must stay byte-compatible with it.
|
|
35
|
+
*
|
|
36
|
+
* @param secret - The raw shared secret `S` to protect.
|
|
37
|
+
* @param ephPk - The handshake's ephemeral public key.
|
|
38
|
+
* @param recipientPoint - The recipient's address point.
|
|
39
|
+
*/
|
|
40
|
+
export declare function protectFromForgery(secret: Point, ephPk: Point, recipientPoint: Point): Promise<Point>;
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkX3NlY3JldF9kZXJpdmF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbG9ncy9zaGFyZWRfc2VjcmV0X2Rlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRS9FLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZEOzs7O0dBSUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FPM0c7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCx3QkFBc0IsdUJBQXVCLENBQzNDLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLFNBQVMsRUFBRSxTQUFTLEVBQ3BCLGVBQWUsRUFBRSxZQUFZLEdBQzVCLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FHYjtBQUVEOzs7Ozs7O0dBT0c7QUFDSCx3QkFBZ0IsNEJBQTRCLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FFekY7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBTTNHIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"shared_secret_derivation.d.ts","sourceRoot":"","sources":["../../src/logs/shared_secret_derivation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,KAAK,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAO3G;AAED;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,cAAc,EACzB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,YAAY,GAC5B,OAAO,CAAC,EAAE,CAAC,CAGb;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,EAAE,CAAC,CAEzF;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAM3G"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
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
|
+
import { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
|
|
4
5
|
/**
|
|
5
6
|
* Derives the raw ECDH shared secret point `S = secretKey * publicKey`.
|
|
6
7
|
*
|
|
@@ -38,3 +39,20 @@ import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto/poseidon';
|
|
|
38
39
|
app
|
|
39
40
|
], DomainSeparator.APP_SILOED_ECDH_SHARED_SECRET);
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Protects a handshake's shared secret from being forged by the recipient: `S' = hash(ephPk, recipientPoint) * S`.
|
|
44
|
+
*
|
|
45
|
+
* Mirrors aztec-nr's `protect_from_forgery` and must stay byte-compatible with it.
|
|
46
|
+
*
|
|
47
|
+
* @param secret - The raw shared secret `S` to protect.
|
|
48
|
+
* @param ephPk - The handshake's ephemeral public key.
|
|
49
|
+
* @param recipientPoint - The recipient's address point.
|
|
50
|
+
*/ export async function protectFromForgery(secret, ephPk, recipientPoint) {
|
|
51
|
+
const scalar = await poseidon2HashWithSeparator([
|
|
52
|
+
ephPk.x,
|
|
53
|
+
ephPk.y,
|
|
54
|
+
recipientPoint.x,
|
|
55
|
+
recipientPoint.y
|
|
56
|
+
], DomainSeparator.HANDSHAKE_FORGERY_PROTECTION);
|
|
57
|
+
return Grumpkin.mul(secret, new GrumpkinScalar(scalar.toBigInt()));
|
|
58
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AVM_V2_PROOF_LENGTH_IN_FIELDS } from '@aztec/constants';
|
|
2
2
|
import { AvmCircuitPublicInputs } from '../avm/avm_circuit_public_inputs.js';
|
|
3
3
|
import type { ProofDataForFixedVk } from '../proofs/proof_data.js';
|
|
4
|
-
export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export type AvmProofData = ProofDataForFixedVk<AvmCircuitPublicInputs, typeof AVM_V2_PROOF_LENGTH_IN_FIELDS>;
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZtX3Byb29mX2RhdGEuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yb2xsdXAvYXZtX3Byb29mX2RhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVuRSxNQUFNLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDLHNCQUFzQixFQUFFLE9BQU8sNkJBQTZCLENBQUMsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"avm_proof_data.d.ts","sourceRoot":"","sources":["../../src/rollup/avm_proof_data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,MAAM,YAAY,GAAG,mBAAmB,CAAC,sBAAsB,EAAE,OAAO,6BAA6B,CAAC,CAAC"}
|