@aztec/prover-client 0.59.0 → 0.61.0
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/mocks/test_context.js +2 -2
- package/dest/orchestrator/block-building-helpers.d.ts +2 -3
- package/dest/orchestrator/block-building-helpers.d.ts.map +1 -1
- package/dest/orchestrator/block-building-helpers.js +5 -12
- package/dest/orchestrator/orchestrator.d.ts +2 -12
- package/dest/orchestrator/orchestrator.d.ts.map +1 -1
- package/dest/orchestrator/orchestrator.js +83 -168
- package/dest/orchestrator/tx-proving-state.d.ts +17 -27
- package/dest/orchestrator/tx-proving-state.d.ts.map +1 -1
- package/dest/orchestrator/tx-proving-state.js +74 -112
- package/dest/prover-agent/memory-proving-queue.d.ts +4 -22
- package/dest/prover-agent/memory-proving-queue.d.ts.map +1 -1
- package/dest/prover-agent/memory-proving-queue.js +6 -28
- package/dest/prover-agent/prover-agent.d.ts.map +1 -1
- package/dest/prover-agent/prover-agent.js +5 -11
- package/dest/prover-agent/rpc.d.ts.map +1 -1
- package/dest/prover-agent/rpc.js +6 -10
- package/dest/test/mock_prover.d.ts +4 -6
- package/dest/test/mock_prover.d.ts.map +1 -1
- package/dest/test/mock_prover.js +8 -14
- package/package.json +11 -11
- package/src/mocks/test_context.ts +1 -1
- package/src/orchestrator/block-building-helpers.ts +4 -29
- package/src/orchestrator/orchestrator.ts +99 -277
- package/src/orchestrator/tx-proving-state.ts +113 -153
- package/src/prover-agent/memory-proving-queue.ts +15 -51
- package/src/prover-agent/prover-agent.ts +4 -12
- package/src/prover-agent/rpc.ts +6 -12
- package/src/test/mock_prover.ts +13 -36
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"mock_prover.d.ts","sourceRoot":"","sources":["../../src/test/mock_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,mBAAmB,EAGzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,6BAA6B,EAClC,KAAK,iCAAiC,EACtC,KAAK,yBAAyB,EAE9B,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,iBAAiB,EAIlB,MAAM,oBAAoB,CAAC;AAS5B,qBAAa,UAAW,YAAW,mBAAmB;;IAGpD,WAAW;IASX,kBAAkB;IAIlB,kBAAkB;IAIlB,yBAAyB,IAAI,OAAO,CAAC,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IAUlG,wBAAwB,IAAI,OAAO,CAAC,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IAUjG,mBAAmB,IAAI,OAAO,CAAC,6BAA6B,CAAC,6BAA6B,CAAC,CAAC;IAU5F,wBAAwB;IAUxB,4BAA4B,IAAI,OAAO,CAAC,6BAA6B,CAAC,iCAAiC,CAAC,CAAC;IAUzG,uBAAuB,IAAI,OAAO,CAAC,6BAA6B,CAAC,iCAAiC,CAAC,CAAC;IAUpG,0BAA0B,IAAI,OAAO,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;IAU/F,iBAAiB,IAAI,OAAO,CAAC,6BAA6B,CAAC,yBAAyB,CAAC,CAAC;IAUtF,kBAAkB,IAAI,OAAO,CAAC,6BAA6B,CAAC,sBAAsB,CAAC,CAAC;IAUpF,YAAY,IAAI,OAAO,CAAC,uBAAuB,CAAC,cAAc,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC;CAK3F"}
|
package/dest/test/mock_prover.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { makeProofAndVerificationKey, makePublicInputsAndRecursiveProof, } from '@aztec/circuit-types';
|
|
2
|
-
import { AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData,
|
|
3
|
-
import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeKernelCircuitPublicInputs,
|
|
2
|
+
import { AVM_PROOF_LENGTH_IN_FIELDS, AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS, RECURSIVE_PROOF_LENGTH, TUBE_PROOF_LENGTH, VerificationKeyData, makeEmptyRecursiveProof, makeRecursiveProof, } from '@aztec/circuits.js';
|
|
3
|
+
import { makeBaseOrMergeRollupPublicInputs, makeBlockRootOrBlockMergeRollupPublicInputs, makeKernelCircuitPublicInputs, makeRootParityInput, makeRootRollupPublicInputs, } from '@aztec/circuits.js/testing';
|
|
4
4
|
export class MockProver {
|
|
5
5
|
constructor() { }
|
|
6
6
|
getAvmProof() {
|
|
7
|
-
return Promise.resolve(makeProofAndVerificationKey(
|
|
7
|
+
return Promise.resolve(makeProofAndVerificationKey(makeEmptyRecursiveProof(AVM_PROOF_LENGTH_IN_FIELDS), VerificationKeyData.makeFake(AVM_VERIFICATION_KEY_LENGTH_IN_FIELDS)));
|
|
8
8
|
}
|
|
9
9
|
getBaseParityProof() {
|
|
10
10
|
return Promise.resolve(makeRootParityInput(RECURSIVE_PROOF_LENGTH));
|
|
@@ -12,7 +12,10 @@ export class MockProver {
|
|
|
12
12
|
getRootParityProof() {
|
|
13
13
|
return Promise.resolve(makeRootParityInput(RECURSIVE_PROOF_LENGTH));
|
|
14
14
|
}
|
|
15
|
-
|
|
15
|
+
getPrivateBaseRollupProof() {
|
|
16
|
+
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBaseOrMergeRollupPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
17
|
+
}
|
|
18
|
+
getPublicBaseRollupProof() {
|
|
16
19
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeBaseOrMergeRollupPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
17
20
|
}
|
|
18
21
|
getMergeRollupProof() {
|
|
@@ -33,15 +36,6 @@ export class MockProver {
|
|
|
33
36
|
getEmptyTubeProof() {
|
|
34
37
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeKernelCircuitPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
35
38
|
}
|
|
36
|
-
getPublicKernelInnerProof() {
|
|
37
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeVMCircuitPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
38
|
-
}
|
|
39
|
-
getPublicKernelMergeProof() {
|
|
40
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makePublicKernelCircuitPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
41
|
-
}
|
|
42
|
-
getPublicTailProof() {
|
|
43
|
-
return Promise.resolve(makePublicInputsAndRecursiveProof(makeKernelCircuitPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
44
|
-
}
|
|
45
39
|
getRootRollupProof() {
|
|
46
40
|
return Promise.resolve(makePublicInputsAndRecursiveProof(makeRootRollupPublicInputs(), makeRecursiveProof(RECURSIVE_PROOF_LENGTH), VerificationKeyData.makeFakeHonk()));
|
|
47
41
|
}
|
|
@@ -49,4 +43,4 @@ export class MockProver {
|
|
|
49
43
|
return Promise.resolve(makeProofAndVerificationKey(makeRecursiveProof(TUBE_PROOF_LENGTH), VerificationKeyData.makeFake()));
|
|
50
44
|
}
|
|
51
45
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ja19wcm92ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdC9tb2NrX3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUwsMkJBQTJCLEVBQzNCLGlDQUFpQyxHQUNsQyxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFDTCwwQkFBMEIsRUFDMUIscUNBQXFDLEVBSXJDLHNCQUFzQixFQUd0QixpQkFBaUIsRUFDakIsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsaUNBQWlDLEVBQ2pDLDJDQUEyQyxFQUMzQyw2QkFBNkIsRUFDN0IsbUJBQW1CLEVBQ25CLDBCQUEwQixHQUMzQixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE1BQU0sT0FBTyxVQUFVO0lBQ3JCLGdCQUFlLENBQUM7SUFFaEIsV0FBVztRQUNULE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsMkJBQTJCLENBQ3pCLHVCQUF1QixDQUFDLDBCQUEwQixDQUFDLEVBQ25ELG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUNwRSxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsaUNBQWlDLEVBQUUsRUFDbkMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsaUNBQWlDLEVBQUUsRUFDbkMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsaUNBQWlDLEVBQUUsRUFDbkMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsMkNBQTJDLEVBQUUsRUFDN0Msa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCw0QkFBNEI7UUFDMUIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsMkNBQTJDLEVBQUUsRUFDN0Msa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsMkNBQTJDLEVBQUUsRUFDN0Msa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixpQ0FBaUMsQ0FDL0IsNkJBQTZCLEVBQUUsRUFDL0Isa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsRUFDMUMsbUJBQW1CLENBQUMsWUFBWSxFQUFFLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLGlDQUFpQyxDQUMvQiw2QkFBNkIsRUFBRSxFQUMvQixrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUMxQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FDbkMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLGlDQUFpQyxDQUMvQiwwQkFBMEIsRUFBRSxFQUM1QixrQkFBa0IsQ0FBQyxzQkFBc0IsQ0FBQyxFQUMxQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FDbkMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDVixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLDJCQUEyQixDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLEVBQUUsbUJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDbkcsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/prover-client",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.61.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -63,16 +63,16 @@
|
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@aztec/bb-prover": "0.
|
|
67
|
-
"@aztec/circuit-types": "0.
|
|
68
|
-
"@aztec/circuits.js": "0.
|
|
69
|
-
"@aztec/foundation": "0.
|
|
70
|
-
"@aztec/kv-store": "0.
|
|
71
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
72
|
-
"@aztec/protocol-contracts": "0.
|
|
73
|
-
"@aztec/simulator": "0.
|
|
74
|
-
"@aztec/telemetry-client": "0.
|
|
75
|
-
"@aztec/world-state": "0.
|
|
66
|
+
"@aztec/bb-prover": "0.61.0",
|
|
67
|
+
"@aztec/circuit-types": "0.61.0",
|
|
68
|
+
"@aztec/circuits.js": "0.61.0",
|
|
69
|
+
"@aztec/foundation": "0.61.0",
|
|
70
|
+
"@aztec/kv-store": "0.61.0",
|
|
71
|
+
"@aztec/noir-protocol-circuits-types": "0.61.0",
|
|
72
|
+
"@aztec/protocol-contracts": "0.61.0",
|
|
73
|
+
"@aztec/simulator": "0.61.0",
|
|
74
|
+
"@aztec/telemetry-client": "0.61.0",
|
|
75
|
+
"@aztec/world-state": "0.61.0",
|
|
76
76
|
"@noir-lang/types": "portal:../../noir/packages/types",
|
|
77
77
|
"commander": "^12.1.0",
|
|
78
78
|
"lodash.chunk": "^4.2.0",
|
|
@@ -171,7 +171,7 @@ export class TestContext {
|
|
|
171
171
|
? tx.enqueuedPublicFunctionCalls
|
|
172
172
|
: [...tx.enqueuedPublicFunctionCalls, tx.publicTeardownFunctionCall];
|
|
173
173
|
for (const request of allCalls) {
|
|
174
|
-
if (execution.
|
|
174
|
+
if (execution.callContext.equals(request.callContext)) {
|
|
175
175
|
const result = PublicExecutionResultBuilder.fromPublicExecutionRequest({ request }).build({
|
|
176
176
|
startGasLeft: availableGas,
|
|
177
177
|
endGasLeft: availableGas,
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
ARCHIVE_HEIGHT,
|
|
11
11
|
AppendOnlyTreeSnapshot,
|
|
12
12
|
type BaseOrMergeRollupPublicInputs,
|
|
13
|
-
|
|
13
|
+
BaseRollupHints,
|
|
14
14
|
BlockMergeRollupInputs,
|
|
15
15
|
type BlockRootOrBlockMergePublicInputs,
|
|
16
16
|
ConstantRollupData,
|
|
@@ -18,7 +18,6 @@ import {
|
|
|
18
18
|
Fr,
|
|
19
19
|
type GlobalVariables,
|
|
20
20
|
Header,
|
|
21
|
-
KernelData,
|
|
22
21
|
MAX_NULLIFIERS_PER_TX,
|
|
23
22
|
MAX_TOTAL_PUBLIC_DATA_UPDATE_REQUESTS_PER_TX,
|
|
24
23
|
MembershipWitness,
|
|
@@ -43,14 +42,12 @@ import {
|
|
|
43
42
|
PublicDataTreeLeaf,
|
|
44
43
|
type PublicDataTreeLeafPreimage,
|
|
45
44
|
PublicDataUpdateRequest,
|
|
46
|
-
type RECURSIVE_PROOF_LENGTH,
|
|
47
45
|
type RecursiveProof,
|
|
48
46
|
RootRollupInputs,
|
|
49
47
|
StateDiffHints,
|
|
50
48
|
StateReference,
|
|
51
49
|
VK_TREE_HEIGHT,
|
|
52
50
|
type VerificationKeyAsFields,
|
|
53
|
-
type VerificationKeyData,
|
|
54
51
|
} from '@aztec/circuits.js';
|
|
55
52
|
import { assertPermutation, makeTuple } from '@aztec/foundation/array';
|
|
56
53
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
@@ -74,13 +71,11 @@ type BaseTreeNames = 'NoteHashTree' | 'ContractTree' | 'NullifierTree' | 'Public
|
|
|
74
71
|
*/
|
|
75
72
|
export type TreeNames = BaseTreeNames | 'L1ToL2MessageTree' | 'Archive';
|
|
76
73
|
|
|
77
|
-
// Builds the base rollup
|
|
78
|
-
export async function
|
|
74
|
+
// Builds the hints for base rollup. Updating the contract, nullifier, and data trees in the process.
|
|
75
|
+
export async function buildBaseRollupHints(
|
|
79
76
|
tx: ProcessedTx,
|
|
80
|
-
proof: RecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>,
|
|
81
77
|
globalVariables: GlobalVariables,
|
|
82
78
|
db: MerkleTreeWriteOperations,
|
|
83
|
-
kernelVk: VerificationKeyData,
|
|
84
79
|
) {
|
|
85
80
|
// Get trees info before any changes hit
|
|
86
81
|
const constants = await getConstantRollupData(globalVariables, db);
|
|
@@ -175,8 +170,7 @@ export async function buildBaseRollupInput(
|
|
|
175
170
|
db,
|
|
176
171
|
);
|
|
177
172
|
|
|
178
|
-
return
|
|
179
|
-
kernelData: getKernelDataFor(tx, kernelVk, proof),
|
|
173
|
+
return BaseRollupHints.from({
|
|
180
174
|
start,
|
|
181
175
|
stateDiffHints,
|
|
182
176
|
feePayerFeeJuiceBalanceReadHint: feePayerFeeJuiceBalanceReadHint,
|
|
@@ -184,9 +178,7 @@ export async function buildBaseRollupInput(
|
|
|
184
178
|
sortedPublicDataWritesIndexes: txPublicDataUpdateRequestInfo.sortedPublicDataWritesIndexes,
|
|
185
179
|
lowPublicDataWritesPreimages: txPublicDataUpdateRequestInfo.lowPublicDataWritesPreimages,
|
|
186
180
|
lowPublicDataWritesMembershipWitnesses: txPublicDataUpdateRequestInfo.lowPublicDataWritesMembershipWitnesses,
|
|
187
|
-
|
|
188
181
|
archiveRootMembershipWitness,
|
|
189
|
-
|
|
190
182
|
constants,
|
|
191
183
|
});
|
|
192
184
|
}
|
|
@@ -398,23 +390,6 @@ export async function getTreeSnapshot(id: MerkleTreeId, db: MerkleTreeReadOperat
|
|
|
398
390
|
return new AppendOnlyTreeSnapshot(Fr.fromBuffer(treeInfo.root), Number(treeInfo.size));
|
|
399
391
|
}
|
|
400
392
|
|
|
401
|
-
export function getKernelDataFor(
|
|
402
|
-
tx: ProcessedTx,
|
|
403
|
-
vk: VerificationKeyData,
|
|
404
|
-
proof: RecursiveProof<typeof RECURSIVE_PROOF_LENGTH>,
|
|
405
|
-
): KernelData {
|
|
406
|
-
const leafIndex = getVKIndex(vk);
|
|
407
|
-
|
|
408
|
-
return new KernelData(
|
|
409
|
-
tx.data,
|
|
410
|
-
proof,
|
|
411
|
-
// VK for the kernel circuit
|
|
412
|
-
vk,
|
|
413
|
-
leafIndex,
|
|
414
|
-
getVKSiblingPath(leafIndex),
|
|
415
|
-
);
|
|
416
|
-
}
|
|
417
|
-
|
|
418
393
|
export function makeEmptyMembershipWitness<N extends number>(height: N) {
|
|
419
394
|
return new MembershipWitness(
|
|
420
395
|
height,
|