@aztec/pxe 0.45.1 → 0.46.2
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/contract_data_oracle/index.d.ts +2 -12
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +1 -15
- package/dest/kernel_oracle/index.d.ts +3 -3
- package/dest/kernel_oracle/index.d.ts.map +1 -1
- package/dest/kernel_oracle/index.js +6 -4
- package/dest/kernel_prover/kernel_prover.d.ts.map +1 -1
- package/dest/kernel_prover/kernel_prover.js +3 -2
- package/dest/kernel_prover/proving_data_oracle.d.ts +2 -2
- package/dest/kernel_prover/proving_data_oracle.d.ts.map +1 -1
- package/dest/kernel_prover/test/test_circuit_prover.d.ts.map +1 -1
- package/dest/kernel_prover/test/test_circuit_prover.js +8 -8
- package/package.json +14 -14
- package/src/contract_data_oracle/index.ts +1 -15
- package/src/kernel_oracle/index.ts +8 -4
- package/src/kernel_prover/kernel_prover.ts +2 -1
- package/src/kernel_prover/proving_data_oracle.ts +2 -2
- package/src/kernel_prover/test/test_circuit_prover.ts +11 -6
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { type AztecAddress
|
|
2
|
+
import { type AztecAddress } from '@aztec/circuits.js';
|
|
3
3
|
import { type ContractArtifact, type FunctionArtifact, type FunctionDebugMetadata, type FunctionSelector } from '@aztec/foundation/abi';
|
|
4
4
|
import { type Fr } from '@aztec/foundation/fields';
|
|
5
5
|
import { type ContractClass, type ContractInstance } from '@aztec/types/contracts';
|
|
@@ -75,17 +75,7 @@ export declare class ContractDataOracle {
|
|
|
75
75
|
* @param selector - The function selector.
|
|
76
76
|
* @returns A promise that resolves with the MembershipWitness instance for the specified contract's function.
|
|
77
77
|
*/
|
|
78
|
-
getFunctionMembershipWitness(contractAddress: AztecAddress, selector: FunctionSelector): Promise<MembershipWitness<5>>;
|
|
79
|
-
/**
|
|
80
|
-
* Retrieve the membership witness corresponding to a verification key.
|
|
81
|
-
* This function currently returns a random membership witness of the specified height,
|
|
82
|
-
* which is a placeholder implementation until a concrete membership witness calculation
|
|
83
|
-
* is implemented.
|
|
84
|
-
*
|
|
85
|
-
* @param vk - The VerificationKey for which the membership witness is needed.
|
|
86
|
-
* @returns A Promise that resolves to the MembershipWitness instance.
|
|
87
|
-
*/
|
|
88
|
-
getVkMembershipWitness(): Promise<MembershipWitness<3>>;
|
|
78
|
+
getFunctionMembershipWitness(contractAddress: AztecAddress, selector: FunctionSelector): Promise<import("@aztec/circuits.js").MembershipWitness<5>>;
|
|
89
79
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string>;
|
|
90
80
|
/**
|
|
91
81
|
* Retrieve or create a ContractTree instance based on the provided class id.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAEnD,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAC9F,OAAO,EAAE,KAAK,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AAG9F;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAMjB,OAAO,CAAC,EAAE;IALtB,2DAA2D;IAC3D,OAAO,CAAC,eAAe,CAAgD;IACvE,6CAA6C;IAC7C,OAAO,CAAC,iBAAiB,CAA4C;gBAEjD,EAAE,EAAE,wBAAwB,GAAG,wBAAwB;IAE3E,4EAA4E;IAC/D,mBAAmB,CAAC,eAAe,EAAE,YAAY,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAW1F,0EAA0E;IAC7D,gBAAgB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;IAK7D,mBAAmB,CAAC,eAAe,EAAE,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAKhF;;;;;;;;OAQG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAK1F;;;;;;;;OAQG;IACU,yBAAyB,CACpC,eAAe,EAAE,YAAY,EAC7B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAKxC;;;;;;;;;OASG;IACU,wBAAwB,CACnC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAM7C;;;;;;;;;OASG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKlF;;;;;;;;OAQG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKtF,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAO3F;;;;;;;;;OASG;YACW,iBAAiB;IAY/B;;;;;;;;;OASG;YACW,iBAAiB;CAIhC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { MembershipWitness, VK_TREE_HEIGHT } from '@aztec/circuits.js';
|
|
2
1
|
import { getFunctionDebugMetadata, } from '@aztec/foundation/abi';
|
|
3
2
|
import { ContractClassNotFoundError, ContractNotFoundError } from '@aztec/simulator';
|
|
4
3
|
import { PrivateFunctionsTree } from './private_functions_tree.js';
|
|
@@ -105,19 +104,6 @@ export class ContractDataOracle {
|
|
|
105
104
|
const tree = await this.getTreeForAddress(contractAddress);
|
|
106
105
|
return tree.getFunctionMembershipWitness(selector);
|
|
107
106
|
}
|
|
108
|
-
/**
|
|
109
|
-
* Retrieve the membership witness corresponding to a verification key.
|
|
110
|
-
* This function currently returns a random membership witness of the specified height,
|
|
111
|
-
* which is a placeholder implementation until a concrete membership witness calculation
|
|
112
|
-
* is implemented.
|
|
113
|
-
*
|
|
114
|
-
* @param vk - The VerificationKey for which the membership witness is needed.
|
|
115
|
-
* @returns A Promise that resolves to the MembershipWitness instance.
|
|
116
|
-
*/
|
|
117
|
-
async getVkMembershipWitness() {
|
|
118
|
-
// TODO
|
|
119
|
-
return await Promise.resolve(MembershipWitness.random(VK_TREE_HEIGHT));
|
|
120
|
-
}
|
|
121
107
|
async getDebugFunctionName(contractAddress, selector) {
|
|
122
108
|
const tree = await this.getTreeForAddress(contractAddress);
|
|
123
109
|
const { name: contractName } = tree.getArtifact();
|
|
@@ -160,4 +146,4 @@ export class ContractDataOracle {
|
|
|
160
146
|
return this.getTreeForClassId(instance.contractClassId);
|
|
161
147
|
}
|
|
162
148
|
}
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGF0YV9vcmFjbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUtMLHdCQUF3QixHQUN6QixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBS3JGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFNN0IsWUFBb0IsRUFBdUQ7UUFBdkQsT0FBRSxHQUFGLEVBQUUsQ0FBcUQ7UUFMM0UsMkRBQTJEO1FBQ25ELG9CQUFlLEdBQXNDLElBQUksR0FBRyxFQUFFLENBQUM7UUFDdkUsNkNBQTZDO1FBQ3JDLHNCQUFpQixHQUFrQyxJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRVMsQ0FBQztJQUUvRSw0RUFBNEU7SUFDckUsS0FBSyxDQUFDLG1CQUFtQixDQUFDLGVBQTZCO1FBQzVELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUM7WUFDNUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDZCxNQUFNLElBQUkscUJBQXFCLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7WUFDOUQsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMs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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AztecNode } from '@aztec/circuit-types';
|
|
2
|
-
import { type AztecAddress, type Fr, type FunctionSelector, type
|
|
2
|
+
import { type AztecAddress, type Fr, type FunctionSelector, type GrumpkinScalar, MembershipWitness, type NOTE_HASH_TREE_HEIGHT, type Point, type VerificationKeyAsFields } from '@aztec/circuits.js';
|
|
3
3
|
import { type KeyStore } from '@aztec/key-store';
|
|
4
4
|
import { type ContractDataOracle } from '../contract_data_oracle/index.js';
|
|
5
5
|
import { type ProvingDataOracle } from './../kernel_prover/proving_data_oracle.js';
|
|
@@ -23,11 +23,11 @@ export declare class KernelOracle implements ProvingDataOracle {
|
|
|
23
23
|
}>;
|
|
24
24
|
getContractClassIdPreimage(contractClassId: Fr): Promise<import("@aztec/circuits.js").ContractClassIdPreimage>;
|
|
25
25
|
getFunctionMembershipWitness(contractAddress: AztecAddress, selector: FunctionSelector): Promise<MembershipWitness<5>>;
|
|
26
|
-
getVkMembershipWitness(): Promise<MembershipWitness<
|
|
26
|
+
getVkMembershipWitness(vk: VerificationKeyAsFields): Promise<MembershipWitness<5>>;
|
|
27
27
|
getNoteHashMembershipWitness(leafIndex: bigint): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>>;
|
|
28
28
|
getNullifierMembershipWitness(nullifier: Fr): Promise<import("@aztec/circuit-types").NullifierMembershipWitness | undefined>;
|
|
29
29
|
getNoteHashTreeRoot(): Promise<Fr>;
|
|
30
|
-
getMasterSecretKey(masterPublicKey: Point): Promise<
|
|
30
|
+
getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinScalar>;
|
|
31
31
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string>;
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kernel_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,iBAAiB,EACjB,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EAEV,KAAK,uBAAuB,EAG7B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAInF;;GAEG;AACH,qBAAa,YAAa,YAAW,iBAAiB;IAElD,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,GAAG;gBAHH,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,SAAS,EACf,GAAG,yCAA+C;IAG/C,0BAA0B,CAAC,OAAO,EAAE,YAAY;;;;;;;;;IAQhD,0BAA0B,CAAC,eAAe,EAAE,EAAE;IAK9C,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAI5F,sBAAsB,CAAC,EAAE,EAAE,uBAAuB;IAKnD,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC;IAS/G,6BAA6B,CAAC,SAAS,EAAE,EAAE;IAIrC,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC;IAKjC,kBAAkB,CAAC,eAAe,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC;IAInE,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;CAGxG"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { MembershipWitness, computeContractClassIdPreimage, computeSaltedInitializationHash, } from '@aztec/circuits.js';
|
|
1
|
+
import { MembershipWitness, VK_TREE_HEIGHT, computeContractClassIdPreimage, computeSaltedInitializationHash, } from '@aztec/circuits.js';
|
|
2
2
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types';
|
|
3
4
|
// TODO: Block number should not be "latest".
|
|
4
5
|
// It should be fixed at the time the proof is being simulated. I.e., it should be the same as the value defined in the constant data.
|
|
5
6
|
/**
|
|
@@ -26,8 +27,9 @@ export class KernelOracle {
|
|
|
26
27
|
async getFunctionMembershipWitness(contractAddress, selector) {
|
|
27
28
|
return await this.contractDataOracle.getFunctionMembershipWitness(contractAddress, selector);
|
|
28
29
|
}
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
getVkMembershipWitness(vk) {
|
|
31
|
+
const leafIndex = getVKIndex(vk);
|
|
32
|
+
return Promise.resolve(new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
31
33
|
}
|
|
32
34
|
async getNoteHashMembershipWitness(leafIndex) {
|
|
33
35
|
const path = await this.node.getNoteHashSiblingPath('latest', leafIndex);
|
|
@@ -47,4 +49,4 @@ export class KernelOracle {
|
|
|
47
49
|
return this.contractDataOracle.getDebugFunctionName(contractAddress, selector);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMva2VybmVsX29yYWNsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBS0wsaUJBQWlCLEVBR2pCLGNBQWMsRUFFZCw4QkFBOEIsRUFDOUIsK0JBQStCLEdBQ2hDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBS25GLDZDQUE2QztBQUM3QyxzSUFBc0k7QUFDdEk7O0dBRUc7QUFDSCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLGtCQUFzQyxFQUN0QyxRQUFrQixFQUNsQixJQUFlLEVBQ2YsTUFBTSxpQkFBaUIsQ0FBQyx5QkFBeUIsQ0FBQztRQUhsRCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBVztRQUNmLFFBQUcsR0FBSCxHQUFHLENBQStDO0lBQ3pELENBQUM7SUFFRyxLQUFLLENBQUMsMEJBQTBCLENBQUMsT0FBcUI7UUFDM0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUUsT0FBTztZQUNMLHdCQUF3QixFQUFFLCtCQUErQixDQUFDLFFBQVEsQ0FBQztZQUNuRSxHQUFHLFFBQVE7U0FDWixDQUFDO0lBQ0osQ0FBQztJQUVNLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxlQUFtQjtRQUN6RCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RixPQUFPLDhCQUE4QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxLQUFLLENBQUMsNEJBQTRCLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUNqRyxPQUFPLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDRCQUE0QixDQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU0sc0JBQXNCLENBQUMsRUFBMkI7UUFDdkQsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFFRCxLQUFLLENBQUMsNEJBQTRCLENBQUMsU0FBaUI7UUFDbEQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RSxPQUFPLElBQUksaUJBQWlCLENBQzFCLElBQUksQ0FBQyxRQUFRLEVBQ2IsU0FBUyxFQUNULElBQUksQ0FBQyxRQUFRLEVBQTZDLENBQzNELENBQUM7SUFDSixDQUFDO0lBRUQsNkJBQTZCLENBQUMsU0FBYTtRQUN6QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxLQUFLLENBQUMsbUJBQW1CO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMzQyxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7SUFDaEQsQ0FBQztJQUVNLGtCQUFrQixDQUFDLGVBQXNCO1FBQzlDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUNuRixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakYsQ0FBQztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel_prover.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/kernel_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAiBL,KAAK,oCAAoC,EAGzC,KAAK,SAAS,EAKf,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel_prover.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/kernel_prover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjF,OAAO,EAiBL,KAAK,oCAAoC,EAGzC,KAAK,SAAS,EAKf,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAAE,KAAK,eAAe,EAAiE,MAAM,kBAAkB,CAAC;AAGvH,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;;;GAKG;AACH,qBAAa,YAAY;IAGX,OAAO,CAAC,MAAM;IAAqB,OAAO,CAAC,YAAY;IAFnE,OAAO,CAAC,GAAG,CAA4C;gBAEnC,MAAM,EAAE,iBAAiB,EAAU,YAAY,EAAE,YAAY;IAEjF;;;;;;;;;OASG;IACG,KAAK,CACT,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,CAAC;IAsFnE,OAAO,CAAC,UAAU;IAwBlB,OAAO,CAAC,gBAAgB;YASV,QAAQ;YA0BR,qBAAqB;CAuCpC"}
|
|
@@ -3,6 +3,7 @@ import { padArrayEnd } from '@aztec/foundation/collection';
|
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { assertLength } from '@aztec/foundation/serialize';
|
|
5
5
|
import { pushTestData } from '@aztec/foundation/testing';
|
|
6
|
+
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
6
7
|
import { collectNoteHashLeafIndexMap, collectNullifiedNoteHashCounters } from '@aztec/simulator';
|
|
7
8
|
import { buildPrivateKernelResetInputs } from './private_inputs_builders/index.js';
|
|
8
9
|
/**
|
|
@@ -51,7 +52,7 @@ export class KernelProver {
|
|
|
51
52
|
const proofOutput = await this.proofCreator.createAppCircuitProof(currentExecution.partialWitness, currentExecution.acir, functionName);
|
|
52
53
|
const privateCallData = await this.createPrivateCallData(currentExecution, publicCallRequests, publicTeardownCallRequest, proofOutput.proof, proofOutput.verificationKey);
|
|
53
54
|
if (firstIteration) {
|
|
54
|
-
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, privateCallData);
|
|
55
|
+
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), privateCallData);
|
|
55
56
|
pushTestData('private-kernel-inputs-init', proofInput);
|
|
56
57
|
output = await this.proofCreator.createProofInit(proofInput);
|
|
57
58
|
}
|
|
@@ -130,4 +131,4 @@ export class KernelProver {
|
|
|
130
131
|
});
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2VybmVsX3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL2tlcm5lbF9wcm92ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFdBQVcsRUFDWCxFQUFFLEVBQ0Ysa0NBQWtDLEVBQ2xDLDhCQUE4QixFQUM5QixzQkFBc0IsRUFDdEIsa0NBQWtDLEVBQ2xDLHFCQUFxQixFQUNyQixrQ0FBa0MsRUFDbEMscUNBQXFDLEVBQ3JDLDZCQUE2QixFQUM3QixlQUFlLEVBQ2YsZ0NBQWdDLEVBQ2hDLGlCQUFpQixFQUNqQixxQ0FBcUMsRUFDckMsc0NBQXNDLEVBQ3RDLHFDQUFxQyxFQUtyQyxjQUFjLEVBQ2QsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUNoQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUF3QiwyQkFBMkIsRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXZILE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBR25GOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFlBQVk7SUFHdkIsWUFBb0IsTUFBeUIsRUFBVSxZQUEwQjtRQUE3RCxXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBRnpFLFFBQUcsR0FBRyxpQkFBaUIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRTZC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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NullifierMembershipWitness } from '@aztec/circuit-types';
|
|
2
|
-
import { type FUNCTION_TREE_HEIGHT, type Fr, type FunctionSelector, type
|
|
2
|
+
import { type FUNCTION_TREE_HEIGHT, type Fr, type FunctionSelector, type GrumpkinScalar, type MembershipWitness, type NOTE_HASH_TREE_HEIGHT, type Point, type VK_TREE_HEIGHT, type VerificationKeyAsFields } from '@aztec/circuits.js';
|
|
3
3
|
import { type AztecAddress } from '@aztec/foundation/aztec-address';
|
|
4
4
|
/**
|
|
5
5
|
* Provides functionality to fetch membership witnesses for verification keys,
|
|
@@ -59,7 +59,7 @@ export interface ProvingDataOracle {
|
|
|
59
59
|
* @returns A Promise that resolves to sk_m.
|
|
60
60
|
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
61
61
|
*/
|
|
62
|
-
getMasterSecretKey(masterPublicKey: Point): Promise<
|
|
62
|
+
getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinScalar>;
|
|
63
63
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
64
64
|
}
|
|
65
65
|
//# sourceMappingURL=proving_data_oracle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,
|
|
1
|
+
{"version":3,"file":"proving_data_oracle.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proving_data_oracle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,EAAE,EACP,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAEpE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,8FAA8F;IAC9F,0BAA0B,CACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC;QAAE,wBAAwB,EAAE,EAAE,CAAC;QAAC,cAAc,EAAE,EAAE,CAAC;QAAC,eAAe,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEtF,kFAAkF;IAClF,0BAA0B,CACxB,eAAe,EAAE,EAAE,GAClB,OAAO,CAAC;QAAE,YAAY,EAAE,EAAE,CAAC;QAAC,wBAAwB,EAAE,EAAE,CAAC;QAAC,oBAAoB,EAAE,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzF;;;;;;;;OAQG;IACH,4BAA4B,CAC1B,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC;IAE3D;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,EAAE,uBAAuB,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC;IAEvG;;;;;OAKG;IACH,4BAA4B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,CAAC;IAE1G,6BAA6B,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;OAIG;IACH,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC,CAAC;IAEnC;;;;;;OAMG;IACH,kBAAkB,CAAC,eAAe,EAAE,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEpE,oBAAoB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../../src/kernel_prover/test/test_circuit_prover.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,8CAA8C,EACnD,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EAI1C,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"test_circuit_prover.d.ts","sourceRoot":"","sources":["../../../src/kernel_prover/test/test_circuit_prover.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7G,OAAO,EAEL,KAAK,0BAA0B,EAC/B,KAAK,gCAAgC,EACrC,KAAK,qCAAqC,EAC1C,KAAK,sCAAsC,EAC3C,KAAK,8CAA8C,EACnD,KAAK,qCAAqC,EAC1C,KAAK,oCAAoC,EAI1C,MAAM,oBAAoB,CAAC;AAc5B;;GAEG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,GAAG;gBAAH,GAAG,yCAAgD;IAEhE,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAMvD,eAAe,CAC1B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IAYlD,gBAAgB,CAC3B,aAAa,EAAE,sCAAsC,GACpD,OAAO,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IAYlD,gBAAgB,CAC3B,aAAa,EAAE,8CAA8C,GAC5D,OAAO,CAAC,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IAYlD,eAAe,CAC1B,aAAa,EAAE,qCAAqC,GACnD,OAAO,CAAC,iBAAiB,CAAC,oCAAoC,CAAC,CAAC;IAkBnE,qBAAqB,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQ1F,OAAO,CAAC,0BAA0B;CAQnC"}
|
|
@@ -2,7 +2,7 @@ import { NESTED_RECURSIVE_PROOF_LENGTH, RECURSIVE_PROOF_LENGTH, VerificationKeyA
|
|
|
2
2
|
import { siloNoteHash } from '@aztec/circuits.js/hash';
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { elapsed } from '@aztec/foundation/timer';
|
|
5
|
-
import { executeInit, executeInner, executeReset, executeTail, executeTailForPublic, } from '@aztec/noir-protocol-circuits-types';
|
|
5
|
+
import { ProtocolCircuitVks, executeInit, executeInner, executeReset, executeTail, executeTailForPublic, } from '@aztec/noir-protocol-circuits-types';
|
|
6
6
|
/**
|
|
7
7
|
* Test Proof Creator executes circuit simulations and provides fake proofs.
|
|
8
8
|
*/
|
|
@@ -23,7 +23,7 @@ export class TestProofCreator {
|
|
|
23
23
|
inputSize: privateInputs.toBuffer().length,
|
|
24
24
|
outputSize: result.toBuffer().length,
|
|
25
25
|
});
|
|
26
|
-
return this.makeEmptyKernelProofOutput(result);
|
|
26
|
+
return this.makeEmptyKernelProofOutput(result, 'PrivateKernelInitArtifact');
|
|
27
27
|
}
|
|
28
28
|
async createProofInner(privateInputs) {
|
|
29
29
|
const [duration, result] = await elapsed(() => executeInner(privateInputs));
|
|
@@ -34,7 +34,7 @@ export class TestProofCreator {
|
|
|
34
34
|
inputSize: privateInputs.toBuffer().length,
|
|
35
35
|
outputSize: result.toBuffer().length,
|
|
36
36
|
});
|
|
37
|
-
return this.makeEmptyKernelProofOutput(result);
|
|
37
|
+
return this.makeEmptyKernelProofOutput(result, 'PrivateKernelInnerArtifact');
|
|
38
38
|
}
|
|
39
39
|
async createProofReset(privateInputs) {
|
|
40
40
|
const [duration, result] = await elapsed(() => executeReset(privateInputs));
|
|
@@ -45,7 +45,7 @@ export class TestProofCreator {
|
|
|
45
45
|
inputSize: privateInputs.toBuffer().length,
|
|
46
46
|
outputSize: result.toBuffer().length,
|
|
47
47
|
});
|
|
48
|
-
return this.makeEmptyKernelProofOutput(result);
|
|
48
|
+
return this.makeEmptyKernelProofOutput(result, 'PrivateKernelResetFullArtifact');
|
|
49
49
|
}
|
|
50
50
|
async createProofTail(privateInputs) {
|
|
51
51
|
const isForPublic = privateInputs.isForPublic();
|
|
@@ -57,7 +57,7 @@ export class TestProofCreator {
|
|
|
57
57
|
inputSize: privateInputs.toBuffer().length,
|
|
58
58
|
outputSize: result.toBuffer().length,
|
|
59
59
|
});
|
|
60
|
-
return this.makeEmptyKernelProofOutput(result);
|
|
60
|
+
return this.makeEmptyKernelProofOutput(result, isForPublic ? 'PrivateKernelTailToPublicArtifact' : 'PrivateKernelTailArtifact');
|
|
61
61
|
}
|
|
62
62
|
createAppCircuitProof(_1, _2) {
|
|
63
63
|
const appCircuitProofOutput = {
|
|
@@ -66,13 +66,13 @@ export class TestProofCreator {
|
|
|
66
66
|
};
|
|
67
67
|
return Promise.resolve(appCircuitProofOutput);
|
|
68
68
|
}
|
|
69
|
-
makeEmptyKernelProofOutput(publicInputs) {
|
|
69
|
+
makeEmptyKernelProofOutput(publicInputs, circuitType) {
|
|
70
70
|
const kernelProofOutput = {
|
|
71
71
|
publicInputs,
|
|
72
72
|
proof: makeRecursiveProof(NESTED_RECURSIVE_PROOF_LENGTH),
|
|
73
|
-
verificationKey:
|
|
73
|
+
verificationKey: ProtocolCircuitVks[circuitType].keyAsFields,
|
|
74
74
|
};
|
|
75
75
|
return kernelProofOutput;
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF9jaXJjdWl0X3Byb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Rlc3QvdGVzdF9jaXJjdWl0X3Byb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsNkJBQTZCLEVBUTdCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsa0JBQWtCLEdBQ25CLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsRCxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLFdBQVcsRUFDWCxZQUFZLEVBQ1osWUFBWSxFQUNaLFdBQVcsRUFDWCxvQkFBb0IsR0FDckIsTUFBTSxxQ0FBcUMsQ0FBQztBQUU3Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsTUFBTSxpQkFBaUIsQ0FBQywwQkFBMEIsQ0FBQztRQUFuRCxRQUFHLEdBQUgsR0FBRyxDQUFnRDtJQUFHLENBQUM7SUFFcEUsb0JBQW9CLENBQUMsWUFBd0M7UUFDbEUsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckgsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLGFBQW9EO1FBRXBELE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxFQUFF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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/pxe",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.46.2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": "./dest/index.js",
|
|
6
6
|
"bin": "./dest/bin/index.js",
|
|
@@ -56,19 +56,19 @@
|
|
|
56
56
|
]
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@aztec/bb-prover": "0.
|
|
60
|
-
"@aztec/bb.js": "0.
|
|
61
|
-
"@aztec/builder": "0.
|
|
62
|
-
"@aztec/circuit-types": "0.
|
|
63
|
-
"@aztec/circuits.js": "0.
|
|
64
|
-
"@aztec/ethereum": "0.
|
|
65
|
-
"@aztec/foundation": "0.
|
|
66
|
-
"@aztec/key-store": "0.
|
|
67
|
-
"@aztec/kv-store": "0.
|
|
68
|
-
"@aztec/noir-protocol-circuits-types": "0.
|
|
69
|
-
"@aztec/protocol-contracts": "0.
|
|
70
|
-
"@aztec/simulator": "0.
|
|
71
|
-
"@aztec/types": "0.
|
|
59
|
+
"@aztec/bb-prover": "0.46.2",
|
|
60
|
+
"@aztec/bb.js": "0.46.2",
|
|
61
|
+
"@aztec/builder": "0.46.2",
|
|
62
|
+
"@aztec/circuit-types": "0.46.2",
|
|
63
|
+
"@aztec/circuits.js": "0.46.2",
|
|
64
|
+
"@aztec/ethereum": "0.46.2",
|
|
65
|
+
"@aztec/foundation": "0.46.2",
|
|
66
|
+
"@aztec/key-store": "0.46.2",
|
|
67
|
+
"@aztec/kv-store": "0.46.2",
|
|
68
|
+
"@aztec/noir-protocol-circuits-types": "0.46.2",
|
|
69
|
+
"@aztec/protocol-contracts": "0.46.2",
|
|
70
|
+
"@aztec/simulator": "0.46.2",
|
|
71
|
+
"@aztec/types": "0.46.2",
|
|
72
72
|
"@noir-lang/noirc_abi": "portal:../../noir/packages/noirc_abi",
|
|
73
73
|
"koa": "^2.14.2",
|
|
74
74
|
"koa-router": "^12.0.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AztecAddress
|
|
1
|
+
import { type AztecAddress } from '@aztec/circuits.js';
|
|
2
2
|
import {
|
|
3
3
|
type ContractArtifact,
|
|
4
4
|
type FunctionArtifact,
|
|
@@ -131,20 +131,6 @@ export class ContractDataOracle {
|
|
|
131
131
|
return tree.getFunctionMembershipWitness(selector);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
-
/**
|
|
135
|
-
* Retrieve the membership witness corresponding to a verification key.
|
|
136
|
-
* This function currently returns a random membership witness of the specified height,
|
|
137
|
-
* which is a placeholder implementation until a concrete membership witness calculation
|
|
138
|
-
* is implemented.
|
|
139
|
-
*
|
|
140
|
-
* @param vk - The VerificationKey for which the membership witness is needed.
|
|
141
|
-
* @returns A Promise that resolves to the MembershipWitness instance.
|
|
142
|
-
*/
|
|
143
|
-
public async getVkMembershipWitness() {
|
|
144
|
-
// TODO
|
|
145
|
-
return await Promise.resolve(MembershipWitness.random(VK_TREE_HEIGHT));
|
|
146
|
-
}
|
|
147
|
-
|
|
148
134
|
public async getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector) {
|
|
149
135
|
const tree = await this.getTreeForAddress(contractAddress);
|
|
150
136
|
const { name: contractName } = tree.getArtifact();
|
|
@@ -3,16 +3,19 @@ import {
|
|
|
3
3
|
type AztecAddress,
|
|
4
4
|
type Fr,
|
|
5
5
|
type FunctionSelector,
|
|
6
|
-
type
|
|
6
|
+
type GrumpkinScalar,
|
|
7
7
|
MembershipWitness,
|
|
8
8
|
type NOTE_HASH_TREE_HEIGHT,
|
|
9
9
|
type Point,
|
|
10
|
+
VK_TREE_HEIGHT,
|
|
11
|
+
type VerificationKeyAsFields,
|
|
10
12
|
computeContractClassIdPreimage,
|
|
11
13
|
computeSaltedInitializationHash,
|
|
12
14
|
} from '@aztec/circuits.js';
|
|
13
15
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
14
16
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
15
17
|
import { type KeyStore } from '@aztec/key-store';
|
|
18
|
+
import { getVKIndex, getVKSiblingPath } from '@aztec/noir-protocol-circuits-types';
|
|
16
19
|
|
|
17
20
|
import { type ContractDataOracle } from '../contract_data_oracle/index.js';
|
|
18
21
|
import { type ProvingDataOracle } from './../kernel_prover/proving_data_oracle.js';
|
|
@@ -47,8 +50,9 @@ export class KernelOracle implements ProvingDataOracle {
|
|
|
47
50
|
return await this.contractDataOracle.getFunctionMembershipWitness(contractAddress, selector);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
|
-
public
|
|
51
|
-
|
|
53
|
+
public getVkMembershipWitness(vk: VerificationKeyAsFields) {
|
|
54
|
+
const leafIndex = getVKIndex(vk);
|
|
55
|
+
return Promise.resolve(new MembershipWitness(VK_TREE_HEIGHT, BigInt(leafIndex), getVKSiblingPath(leafIndex)));
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
async getNoteHashMembershipWitness(leafIndex: bigint): Promise<MembershipWitness<typeof NOTE_HASH_TREE_HEIGHT>> {
|
|
@@ -69,7 +73,7 @@ export class KernelOracle implements ProvingDataOracle {
|
|
|
69
73
|
return header.state.partial.noteHashTree.root;
|
|
70
74
|
}
|
|
71
75
|
|
|
72
|
-
public getMasterSecretKey(masterPublicKey: Point): Promise<
|
|
76
|
+
public getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinScalar> {
|
|
73
77
|
return this.keyStore.getMasterSecretKey(masterPublicKey);
|
|
74
78
|
}
|
|
75
79
|
|
|
@@ -29,6 +29,7 @@ import { padArrayEnd } from '@aztec/foundation/collection';
|
|
|
29
29
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
30
30
|
import { assertLength } from '@aztec/foundation/serialize';
|
|
31
31
|
import { pushTestData } from '@aztec/foundation/testing';
|
|
32
|
+
import { getVKTreeRoot } from '@aztec/noir-protocol-circuits-types';
|
|
32
33
|
import { type ExecutionResult, collectNoteHashLeafIndexMap, collectNullifiedNoteHashCounters } from '@aztec/simulator';
|
|
33
34
|
|
|
34
35
|
import { buildPrivateKernelResetInputs } from './private_inputs_builders/index.js';
|
|
@@ -103,7 +104,7 @@ export class KernelProver {
|
|
|
103
104
|
);
|
|
104
105
|
|
|
105
106
|
if (firstIteration) {
|
|
106
|
-
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, privateCallData);
|
|
107
|
+
const proofInput = new PrivateKernelInitCircuitPrivateInputs(txRequest, getVKTreeRoot(), privateCallData);
|
|
107
108
|
pushTestData('private-kernel-inputs-init', proofInput);
|
|
108
109
|
output = await this.proofCreator.createProofInit(proofInput);
|
|
109
110
|
} else {
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
type FUNCTION_TREE_HEIGHT,
|
|
4
4
|
type Fr,
|
|
5
5
|
type FunctionSelector,
|
|
6
|
-
type
|
|
6
|
+
type GrumpkinScalar,
|
|
7
7
|
type MembershipWitness,
|
|
8
8
|
type NOTE_HASH_TREE_HEIGHT,
|
|
9
9
|
type Point,
|
|
@@ -76,7 +76,7 @@ export interface ProvingDataOracle {
|
|
|
76
76
|
* @returns A Promise that resolves to sk_m.
|
|
77
77
|
* @dev Used when feeding the sk_m to the kernel circuit for keys verification.
|
|
78
78
|
*/
|
|
79
|
-
getMasterSecretKey(masterPublicKey: Point): Promise<
|
|
79
|
+
getMasterSecretKey(masterPublicKey: Point): Promise<GrumpkinScalar>;
|
|
80
80
|
|
|
81
81
|
getDebugFunctionName(contractAddress: AztecAddress, selector: FunctionSelector): Promise<string | undefined>;
|
|
82
82
|
}
|
|
@@ -17,6 +17,8 @@ import { siloNoteHash } from '@aztec/circuits.js/hash';
|
|
|
17
17
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
18
18
|
import { elapsed } from '@aztec/foundation/timer';
|
|
19
19
|
import {
|
|
20
|
+
type ProtocolArtifact,
|
|
21
|
+
ProtocolCircuitVks,
|
|
20
22
|
executeInit,
|
|
21
23
|
executeInner,
|
|
22
24
|
executeReset,
|
|
@@ -47,7 +49,7 @@ export class TestProofCreator implements ProofCreator {
|
|
|
47
49
|
inputSize: privateInputs.toBuffer().length,
|
|
48
50
|
outputSize: result.toBuffer().length,
|
|
49
51
|
} satisfies CircuitSimulationStats);
|
|
50
|
-
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result);
|
|
52
|
+
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result, 'PrivateKernelInitArtifact');
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
public async createProofInner(
|
|
@@ -61,7 +63,7 @@ export class TestProofCreator implements ProofCreator {
|
|
|
61
63
|
inputSize: privateInputs.toBuffer().length,
|
|
62
64
|
outputSize: result.toBuffer().length,
|
|
63
65
|
} satisfies CircuitSimulationStats);
|
|
64
|
-
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result);
|
|
66
|
+
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result, 'PrivateKernelInnerArtifact');
|
|
65
67
|
}
|
|
66
68
|
|
|
67
69
|
public async createProofReset(
|
|
@@ -75,7 +77,7 @@ export class TestProofCreator implements ProofCreator {
|
|
|
75
77
|
inputSize: privateInputs.toBuffer().length,
|
|
76
78
|
outputSize: result.toBuffer().length,
|
|
77
79
|
} satisfies CircuitSimulationStats);
|
|
78
|
-
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result);
|
|
80
|
+
return this.makeEmptyKernelProofOutput<PrivateKernelCircuitPublicInputs>(result, 'PrivateKernelResetFullArtifact');
|
|
79
81
|
}
|
|
80
82
|
|
|
81
83
|
public async createProofTail(
|
|
@@ -92,7 +94,10 @@ export class TestProofCreator implements ProofCreator {
|
|
|
92
94
|
inputSize: privateInputs.toBuffer().length,
|
|
93
95
|
outputSize: result.toBuffer().length,
|
|
94
96
|
} satisfies CircuitSimulationStats);
|
|
95
|
-
return this.makeEmptyKernelProofOutput<PrivateKernelTailCircuitPublicInputs>(
|
|
97
|
+
return this.makeEmptyKernelProofOutput<PrivateKernelTailCircuitPublicInputs>(
|
|
98
|
+
result,
|
|
99
|
+
isForPublic ? 'PrivateKernelTailToPublicArtifact' : 'PrivateKernelTailArtifact',
|
|
100
|
+
);
|
|
96
101
|
}
|
|
97
102
|
|
|
98
103
|
createAppCircuitProof(_1: Map<number, string>, _2: Buffer): Promise<AppCircuitProofOutput> {
|
|
@@ -103,11 +108,11 @@ export class TestProofCreator implements ProofCreator {
|
|
|
103
108
|
return Promise.resolve(appCircuitProofOutput);
|
|
104
109
|
}
|
|
105
110
|
|
|
106
|
-
private makeEmptyKernelProofOutput<PublicInputsType>(publicInputs: PublicInputsType) {
|
|
111
|
+
private makeEmptyKernelProofOutput<PublicInputsType>(publicInputs: PublicInputsType, circuitType: ProtocolArtifact) {
|
|
107
112
|
const kernelProofOutput: KernelProofOutput<PublicInputsType> = {
|
|
108
113
|
publicInputs,
|
|
109
114
|
proof: makeRecursiveProof<typeof NESTED_RECURSIVE_PROOF_LENGTH>(NESTED_RECURSIVE_PROOF_LENGTH),
|
|
110
|
-
verificationKey:
|
|
115
|
+
verificationKey: ProtocolCircuitVks[circuitType].keyAsFields,
|
|
111
116
|
};
|
|
112
117
|
return kernelProofOutput;
|
|
113
118
|
}
|