@aztec/pxe 0.8.8 → 0.8.10
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 +4 -4
- package/dest/contract_data_oracle/index.d.ts.map +1 -1
- package/dest/contract_data_oracle/index.js +9 -9
- package/dest/contract_tree/index.d.ts +10 -10
- package/dest/contract_tree/index.d.ts.map +1 -1
- package/dest/contract_tree/index.js +21 -21
- package/dest/database/database.d.ts +5 -0
- package/dest/database/database.d.ts.map +1 -1
- package/dest/database/memory_db.d.ts +1 -0
- package/dest/database/memory_db.d.ts.map +1 -1
- package/dest/database/memory_db.js +10 -2
- package/dest/database/note_spending_info_dao.d.ts +6 -0
- package/dest/database/note_spending_info_dao.d.ts.map +1 -1
- package/dest/database/note_spending_info_dao.js +11 -1
- package/dest/kernel_prover/proof_creator.d.ts.map +1 -1
- package/dest/kernel_prover/proof_creator.js +7 -7
- package/dest/note_processor/note_processor.d.ts +1 -10
- package/dest/note_processor/note_processor.d.ts.map +1 -1
- package/dest/note_processor/note_processor.js +4 -2
- package/dest/pxe_service/pxe_service.d.ts +2 -0
- package/dest/pxe_service/pxe_service.d.ts.map +1 -1
- package/dest/pxe_service/pxe_service.js +19 -15
- package/dest/simulator_oracle/index.d.ts +2 -2
- package/dest/simulator_oracle/index.d.ts.map +1 -1
- package/dest/simulator_oracle/index.js +4 -4
- package/dest/synchronizer/synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/synchronizer.js +2 -1
- package/package.json +8 -8
- package/src/contract_data_oracle/index.ts +8 -8
- package/src/contract_tree/index.ts +21 -21
- package/src/database/database.ts +6 -0
- package/src/database/memory_db.ts +9 -1
- package/src/database/note_spending_info_dao.ts +11 -0
- package/src/kernel_prover/proof_creator.ts +10 -9
- package/src/note_processor/note_processor.ts +4 -11
- package/src/pxe_service/pxe_service.ts +19 -14
- package/src/simulator_oracle/index.ts +5 -5
- package/src/synchronizer/synchronizer.ts +3 -1
|
@@ -24,15 +24,15 @@ export declare class ContractDataOracle {
|
|
|
24
24
|
*/
|
|
25
25
|
getPortalContractAddress(contractAddress: AztecAddress): Promise<import("@aztec/circuits.js").EthAddress>;
|
|
26
26
|
/**
|
|
27
|
-
* Retrieves the
|
|
27
|
+
* Retrieves the artifact of a specified function within a given contract.
|
|
28
28
|
* The function is identified by its selector, which is a unique code generated from the function's signature.
|
|
29
29
|
* Throws an error if the contract address or function selector are invalid or not found.
|
|
30
30
|
*
|
|
31
31
|
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
32
32
|
* @param selector - The function selector.
|
|
33
|
-
* @returns The corresponding function's
|
|
33
|
+
* @returns The corresponding function's artifact as an object.
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
getFunctionArtifact(contractAddress: AztecAddress, selector: FunctionSelector): Promise<import("@aztec/circuits.js").ContractFunctionDao>;
|
|
36
36
|
/**
|
|
37
37
|
* Retrieves the debug metadata of a specified function within a given contract.
|
|
38
38
|
* The function is identified by its selector, which is a unique code generated from the function's signature.
|
|
@@ -40,7 +40,7 @@ export declare class ContractDataOracle {
|
|
|
40
40
|
*
|
|
41
41
|
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
42
42
|
* @param selector - The function selector.
|
|
43
|
-
* @returns The corresponding function's
|
|
43
|
+
* @returns The corresponding function's artifact as an object.
|
|
44
44
|
*/
|
|
45
45
|
getFunctionDebugMetadata(contractAddress: AztecAddress, selector: FunctionSelector): Promise<FunctionDebugMetadata | undefined>;
|
|
46
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,iBAAiB,EAAkB,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAInE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,aAAa;IAF/D,OAAO,CAAC,KAAK,CAAsB;gBAEf,EAAE,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAElF;;;;;;;;OAQG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAKnE;;;;;;;;OAQG;IACU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_data_oracle/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,iBAAiB,EAAkB,MAAM,oBAAoB,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAA4B,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAInE;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,EAAE;IAAoB,OAAO,CAAC,aAAa;IAF/D,OAAO,CAAC,KAAK,CAAsB;gBAEf,EAAE,EAAE,gBAAgB,EAAU,aAAa,EAAE,iBAAiB;IAElF;;;;;;;;OAQG;IACU,wBAAwB,CAAC,eAAe,EAAE,YAAY;IAKnE;;;;;;;;OAQG;IACU,mBAAmB,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAK1F;;;;;;;;OAQG;IACU,wBAAwB,CACnC,eAAe,EAAE,YAAY,EAC7B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAW7C;;;;;;;;OAQG;IACU,WAAW,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKlF;;;;;;;;;OASG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY;IAKvE;;;;;;;;OAQG;IACU,4BAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB;IAKnG;;;;;;;;OAQG;IACU,sBAAsB;IAKnC;;;;;;;;;OASG;YACW,OAAO;CActB"}
|
|
@@ -28,17 +28,17 @@ export class ContractDataOracle {
|
|
|
28
28
|
return tree.contract.portalContract;
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
31
|
-
* Retrieves the
|
|
31
|
+
* Retrieves the artifact of a specified function within a given contract.
|
|
32
32
|
* The function is identified by its selector, which is a unique code generated from the function's signature.
|
|
33
33
|
* Throws an error if the contract address or function selector are invalid or not found.
|
|
34
34
|
*
|
|
35
35
|
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
36
36
|
* @param selector - The function selector.
|
|
37
|
-
* @returns The corresponding function's
|
|
37
|
+
* @returns The corresponding function's artifact as an object.
|
|
38
38
|
*/
|
|
39
|
-
async
|
|
39
|
+
async getFunctionArtifact(contractAddress, selector) {
|
|
40
40
|
const tree = await this.getTree(contractAddress);
|
|
41
|
-
return tree.
|
|
41
|
+
return tree.getFunctionArtifact(selector);
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
44
|
* Retrieves the debug metadata of a specified function within a given contract.
|
|
@@ -47,15 +47,15 @@ export class ContractDataOracle {
|
|
|
47
47
|
*
|
|
48
48
|
* @param contractAddress - The AztecAddress representing the contract containing the function.
|
|
49
49
|
* @param selector - The function selector.
|
|
50
|
-
* @returns The corresponding function's
|
|
50
|
+
* @returns The corresponding function's artifact as an object.
|
|
51
51
|
*/
|
|
52
52
|
async getFunctionDebugMetadata(contractAddress, selector) {
|
|
53
53
|
const contract = await this.db.getContract(contractAddress);
|
|
54
|
-
const
|
|
55
|
-
if (!contract || !
|
|
54
|
+
const functionArtifact = contract?.functions.find(f => f.selector.equals(selector));
|
|
55
|
+
if (!contract || !functionArtifact) {
|
|
56
56
|
return undefined;
|
|
57
57
|
}
|
|
58
|
-
return getFunctionDebugMetadata(contract,
|
|
58
|
+
return getFunctionDebugMetadata(contract, functionArtifact.name);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* Retrieve the bytecode of a specific function in a contract at the given address.
|
|
@@ -134,4 +134,4 @@ export class ContractDataOracle {
|
|
|
134
134
|
return tree;
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfZGF0YV9vcmFjbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkcsT0FBTyxFQUEyQyx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV6RDs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQW9CLEVBQW9CLEVBQVUsYUFBZ0M7UUFBOUQsT0FBRSxHQUFGLEVBQUUsQ0FBa0I7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBbUI7UUFGMUUsVUFBSyxHQUFtQixFQUFFLENBQUM7SUFFa0QsQ0FBQztJQUV0Rjs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxlQUE2QjtRQUNqRSxNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUN4RixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLHdCQUF3QixDQUNuQyxlQUE2QixFQUM3QixRQUEwQjtRQUUxQixNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sZ0JBQWdCLEdBQUcsUUFBUSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBRXBGLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNsQyxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUVELE9BQU8sd0JBQXdCLENBQUMsUUFBUSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxXQUFXLENBQUMsZUFBNkIsRUFBRSxRQUEwQjtRQUNoRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsZUFBNkI7UUFDckUsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLDRCQUE0QixDQUFDLGVBQTZCLEVBQUUsUUFBMEI7UUFDakcsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsT0FBTztRQUNQLE9BQU8sTUFBTSxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQTZCO1FBQ2pELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQzVGLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzVELElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsZUFBZSxFQUFFLENBQUMsQ0FBQzthQUN6RDtZQUVELE1BQU0sSUFBSSxHQUFHLE1BQU0sWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3RDLElBQUksR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIn0=
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { CircuitsWasm, EthAddress, FUNCTION_TREE_HEIGHT, Fr, MembershipWitness, NewContractConstructor } from '@aztec/circuits.js';
|
|
2
|
-
import {
|
|
2
|
+
import { ContractArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
3
3
|
import { AztecNode, ContractDao, PublicKey, StateInfoProvider } from '@aztec/types';
|
|
4
4
|
/**
|
|
5
5
|
* The ContractTree class represents a Merkle tree of functions for a particular contract.
|
|
6
6
|
* It manages the construction of the function tree, computes its root, and generates membership witnesses
|
|
7
|
-
* for constrained functions. This class also enables lookup of specific function
|
|
7
|
+
* for constrained functions. This class also enables lookup of specific function artifact using selectors.
|
|
8
8
|
* It is used in combination with the AztecNode to compute various data for executing private transactions.
|
|
9
9
|
*/
|
|
10
10
|
export declare class ContractTree {
|
|
11
11
|
/**
|
|
12
|
-
* The contract data object containing the
|
|
12
|
+
* The contract data object containing the artifact and contract address.
|
|
13
13
|
*/
|
|
14
14
|
readonly contract: ContractDao;
|
|
15
15
|
private stateInfoProvider;
|
|
@@ -24,7 +24,7 @@ export declare class ContractTree {
|
|
|
24
24
|
private contractIndex?;
|
|
25
25
|
constructor(
|
|
26
26
|
/**
|
|
27
|
-
* The contract data object containing the
|
|
27
|
+
* The contract data object containing the artifact and contract address.
|
|
28
28
|
*/
|
|
29
29
|
contract: ContractDao, stateInfoProvider: StateInfoProvider, wasm: CircuitsWasm,
|
|
30
30
|
/**
|
|
@@ -32,13 +32,13 @@ export declare class ContractTree {
|
|
|
32
32
|
*/
|
|
33
33
|
newContractConstructor?: NewContractConstructor | undefined);
|
|
34
34
|
/**
|
|
35
|
-
* Create a new ContractTree instance from the provided contract
|
|
35
|
+
* Create a new ContractTree instance from the provided contract artifact, constructor arguments, and related data.
|
|
36
36
|
* The function generates function leaves for constrained functions, computes the function tree root,
|
|
37
37
|
* and hashes the constructor's verification key. It then computes the contract address using the contract
|
|
38
38
|
* and portal contract addresses, contract address salt, and generated data. Finally, it returns a new
|
|
39
39
|
* ContractTree instance containing the contract data and computed values.
|
|
40
40
|
*
|
|
41
|
-
* @param
|
|
41
|
+
* @param artifact - The contract's build artifact containing the functions and their metadata.
|
|
42
42
|
* @param args - An array of Fr elements representing the constructor's arguments.
|
|
43
43
|
* @param portalContract - The Ethereum address of the portal smart contract.
|
|
44
44
|
* @param contractAddressSalt - An Fr element representing the salt used to compute the contract address.
|
|
@@ -46,16 +46,16 @@ export declare class ContractTree {
|
|
|
46
46
|
* @param node - An instance of the AztecNode class representing the current node.
|
|
47
47
|
* @returns A new ContractTree instance containing the contract data and computed values.
|
|
48
48
|
*/
|
|
49
|
-
static new(
|
|
49
|
+
static new(artifact: ContractArtifact, args: Fr[], portalContract: EthAddress, contractAddressSalt: Fr, from: PublicKey, node: AztecNode): Promise<ContractTree>;
|
|
50
50
|
/**
|
|
51
|
-
* Retrieve the
|
|
51
|
+
* Retrieve the artifact of a given function.
|
|
52
52
|
* The function is identified by its selector, which represents a unique identifier for the function's signature.
|
|
53
53
|
* Throws an error if the function with the provided selector is not found in the contract.
|
|
54
54
|
*
|
|
55
55
|
* @param selector - The function selector.
|
|
56
|
-
* @returns The
|
|
56
|
+
* @returns The artifact object containing relevant information about the targeted function.
|
|
57
57
|
*/
|
|
58
|
-
|
|
58
|
+
getFunctionArtifact(selector: FunctionSelector): import("@aztec/circuits.js").ContractFunctionDao;
|
|
59
59
|
/**
|
|
60
60
|
* Retrieve the bytecode of a function in the contract by its function selector.
|
|
61
61
|
* The function selector is a unique identifier for each function in a contract.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,EAAE,EAEF,iBAAiB,EACjB,sBAAsB,EAQvB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract_tree/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,EAAE,EAEF,iBAAiB,EACjB,sBAAsB,EAQvB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,SAAS,EAAE,WAAW,EAAgB,SAAS,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAElG;;;;;GAKG;AACH,qBAAa,YAAY;IAOrB;;OAEG;aACa,QAAQ,EAAE,WAAW;IACrC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,IAAI;IACZ;;OAEG;aACa,sBAAsB,CAAC;IAfzC,OAAO,CAAC,cAAc,CAAC,CAAO;IAC9B,OAAO,CAAC,YAAY,CAAC,CAAO;IAC5B,OAAO,CAAC,gBAAgB,CAAC,CAAK;IAC9B,OAAO,CAAC,aAAa,CAAC,CAAS;;IAG7B;;OAEG;IACa,QAAQ,EAAE,WAAW,EAC7B,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,YAAY;IAC1B;;OAEG;IACa,sBAAsB,CAAC,oCAAwB;IAGjE;;;;;;;;;;;;;;OAcG;WACiB,GAAG,CACrB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,EAAE,EAAE,EACV,cAAc,EAAE,UAAU,EAC1B,mBAAmB,EAAE,EAAE,EACvB,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS;IAqCjB;;;;;;;OAOG;IACI,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB;IAYrD;;;;;;;OAOG;IACI,WAAW,CAAC,QAAQ,EAAE,gBAAgB;IAI7C;;;;;;;;;OASG;IACU,4BAA4B;IAWzC;;;;;;OAMG;IACI,mBAAmB;IAQ1B;;;;;;;;OAQG;IACI,4BAA4B,CACjC,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,iBAAiB,CAAC,OAAO,oBAAoB,CAAC,CAAC;IAqB1D;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;YAOX,gBAAgB;CAmB/B"}
|
|
@@ -6,13 +6,13 @@ import { MerkleTreeId } from '@aztec/types';
|
|
|
6
6
|
/**
|
|
7
7
|
* The ContractTree class represents a Merkle tree of functions for a particular contract.
|
|
8
8
|
* It manages the construction of the function tree, computes its root, and generates membership witnesses
|
|
9
|
-
* for constrained functions. This class also enables lookup of specific function
|
|
9
|
+
* for constrained functions. This class also enables lookup of specific function artifact using selectors.
|
|
10
10
|
* It is used in combination with the AztecNode to compute various data for executing private transactions.
|
|
11
11
|
*/
|
|
12
12
|
export class ContractTree {
|
|
13
13
|
constructor(
|
|
14
14
|
/**
|
|
15
|
-
* The contract data object containing the
|
|
15
|
+
* The contract data object containing the artifact and contract address.
|
|
16
16
|
*/
|
|
17
17
|
contract, stateInfoProvider, wasm,
|
|
18
18
|
/**
|
|
@@ -25,13 +25,13 @@ export class ContractTree {
|
|
|
25
25
|
this.newContractConstructor = newContractConstructor;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* Create a new ContractTree instance from the provided contract
|
|
28
|
+
* Create a new ContractTree instance from the provided contract artifact, constructor arguments, and related data.
|
|
29
29
|
* The function generates function leaves for constrained functions, computes the function tree root,
|
|
30
30
|
* and hashes the constructor's verification key. It then computes the contract address using the contract
|
|
31
31
|
* and portal contract addresses, contract address salt, and generated data. Finally, it returns a new
|
|
32
32
|
* ContractTree instance containing the contract data and computed values.
|
|
33
33
|
*
|
|
34
|
-
* @param
|
|
34
|
+
* @param artifact - The contract's build artifact containing the functions and their metadata.
|
|
35
35
|
* @param args - An array of Fr elements representing the constructor's arguments.
|
|
36
36
|
* @param portalContract - The Ethereum address of the portal smart contract.
|
|
37
37
|
* @param contractAddressSalt - An Fr element representing the salt used to compute the contract address.
|
|
@@ -39,28 +39,28 @@ export class ContractTree {
|
|
|
39
39
|
* @param node - An instance of the AztecNode class representing the current node.
|
|
40
40
|
* @returns A new ContractTree instance containing the contract data and computed values.
|
|
41
41
|
*/
|
|
42
|
-
static async new(
|
|
42
|
+
static async new(artifact, args, portalContract, contractAddressSalt, from, node) {
|
|
43
43
|
const wasm = await CircuitsWasm.get();
|
|
44
|
-
const
|
|
45
|
-
if (!
|
|
44
|
+
const constructorArtifact = artifact.functions.find(isConstructor);
|
|
45
|
+
if (!constructorArtifact) {
|
|
46
46
|
throw new Error('Constructor not found.');
|
|
47
47
|
}
|
|
48
|
-
if (!
|
|
48
|
+
if (!constructorArtifact.verificationKey) {
|
|
49
49
|
throw new Error('Missing verification key for the constructor.');
|
|
50
50
|
}
|
|
51
|
-
const functions =
|
|
51
|
+
const functions = artifact.functions.map(f => ({
|
|
52
52
|
...f,
|
|
53
53
|
selector: FunctionSelector.fromNameAndParameters(f.name, f.parameters),
|
|
54
54
|
}));
|
|
55
55
|
const leaves = generateFunctionLeaves(functions, wasm);
|
|
56
56
|
const root = computeFunctionTreeRoot(wasm, leaves);
|
|
57
|
-
const functionData = FunctionData.fromAbi(
|
|
58
|
-
const vkHash = hashVKStr(
|
|
57
|
+
const functionData = FunctionData.fromAbi(constructorArtifact);
|
|
58
|
+
const vkHash = hashVKStr(constructorArtifact.verificationKey, wasm);
|
|
59
59
|
const argsHash = await computeVarArgsHash(wasm, args);
|
|
60
60
|
const constructorHash = hashConstructor(wasm, functionData, argsHash, vkHash);
|
|
61
61
|
const completeAddress = computeCompleteAddress(wasm, from, contractAddressSalt, root, constructorHash);
|
|
62
62
|
const contractDao = {
|
|
63
|
-
...
|
|
63
|
+
...artifact,
|
|
64
64
|
completeAddress,
|
|
65
65
|
functions,
|
|
66
66
|
portalContract,
|
|
@@ -72,21 +72,21 @@ export class ContractTree {
|
|
|
72
72
|
return new ContractTree(contractDao, node, wasm, NewContractConstructor);
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* Retrieve the
|
|
75
|
+
* Retrieve the artifact of a given function.
|
|
76
76
|
* The function is identified by its selector, which represents a unique identifier for the function's signature.
|
|
77
77
|
* Throws an error if the function with the provided selector is not found in the contract.
|
|
78
78
|
*
|
|
79
79
|
* @param selector - The function selector.
|
|
80
|
-
* @returns The
|
|
80
|
+
* @returns The artifact object containing relevant information about the targeted function.
|
|
81
81
|
*/
|
|
82
|
-
|
|
83
|
-
const
|
|
84
|
-
if (!
|
|
85
|
-
throw new Error(`Unknown function. Selector ${selector.toString()} not found in the
|
|
82
|
+
getFunctionArtifact(selector) {
|
|
83
|
+
const artifact = this.contract.functions.find(f => f.selector.equals(selector));
|
|
84
|
+
if (!artifact) {
|
|
85
|
+
throw new Error(`Unknown function. Selector ${selector.toString()} not found in the artifact of contract ${this.contract.completeAddress.address.toString()}. Expected one of: ${this.contract.functions
|
|
86
86
|
.map(f => f.selector.toString())
|
|
87
87
|
.join(', ')}`);
|
|
88
88
|
}
|
|
89
|
-
return
|
|
89
|
+
return artifact;
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
92
|
* Retrieve the bytecode of a function in the contract by its function selector.
|
|
@@ -97,7 +97,7 @@ export class ContractTree {
|
|
|
97
97
|
* @returns The bytecode of the function as a string.
|
|
98
98
|
*/
|
|
99
99
|
getBytecode(selector) {
|
|
100
|
-
return this.
|
|
100
|
+
return this.getFunctionArtifact(selector).bytecode;
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Retrieves the contract membership witness for the current contract tree instance.
|
|
@@ -178,4 +178,4 @@ export class ContractTree {
|
|
|
178
178
|
return this.contractIndex;
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RfdHJlZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLFlBQVksRUFFWixvQkFBb0IsRUFFcEIsWUFBWSxFQUNaLGlCQUFpQixFQUVqQixlQUFlLEVBQ2YsbUJBQW1CLEVBQ25CLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQix1QkFBdUIsRUFDdkIsa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBMEIsWUFBWSxFQUFnQyxNQUFNLGNBQWMsQ0FBQztBQUVsRzs7Ozs7R0FLRztBQUNILE1BQU0sT0FBTyxZQUFZO0lBTXZCO0lBQ0U7O09BRUc7SUFDYSxRQUFxQixFQUM3QixpQkFBb0MsRUFDcEMsSUFBa0I7SUFDMUI7O09BRUc7SUFDYSxzQkFBK0M7UUFOL0MsYUFBUSxHQUFSLFFBQVEsQ0FBYTtRQUM3QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQWM7UUFJViwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXlCO0lBQzlELENBQUM7SUFFSjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUNyQixRQUEwQixFQUMxQixJQUFVLEVBQ1YsY0FBMEIsRUFDMUIsbUJBQXVCLEVBQ3ZCLElBQWUsRUFDZixJQUFlO1FBRWYsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1NBQzNDO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsRUFBRTtZQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDbEU7UUFFRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDN0MsR0FBRyxDQUFDO1lBQ0osUUFBUSxFQUFFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQztTQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNKLE1BQU0sTUFBTSxHQUFHLHNCQUFzQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN2RCxNQUFNLElBQUksR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDbkQsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEUsTUFBTSxRQUFRLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdEQsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRTlFLE1BQU0sZUFBZSxHQUFHLHNCQUFzQixDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRXZHLE1BQU0sV0FBVyxHQUFnQjtZQUMvQixHQUFHLFFBQVE7WUFDWCxlQUFlO1lBQ2YsU0FBUztZQUNULGNBQWM7U0FDZixDQUFDO1FBQ0YsTUFBTSxzQkFBc0IsR0FBRztZQUM3QixZQUFZO1lBQ1osTUFBTTtTQUNQLENBQUM7UUFDRixPQUFPLElBQUksWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDYixNQUFNLElBQUksS0FBSyxDQUNiLDhCQUE4QixRQUFRLENBQUMsUUFBUSxFQUFFLDBDQUEwQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLHNCQUFzQixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVM7aUJBQ3JMLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7aUJBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUNoQixDQUFDO1NBQ0g7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFdBQVcsQ0FBQyxRQUEwQjtRQUMzQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyw0QkFBNEI7UUFDdkMsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUU1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEUsT0FBTyxJQUFJLGlCQUFpQixDQUMxQixvQkFBb0IsRUFDcEIsS0FBSyxFQUNMLFlBQVksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLEVBQUUsb0JBQW9CLENBQUMsQ0FDL0QsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSxtQkFBbUI7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUMxQixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztTQUNwRTtRQUNELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSw0QkFBNEIsQ0FDakMsUUFBMEI7UUFFMUIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLElBQUksYUFBYSxHQUFHLENBQUMsRUFBRTtZQUNyQixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0U7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDNUQ7UUFDRCxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbkYsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUNwQixJQUFJLGlCQUFpQixDQUNuQixvQkFBb0IsRUFDcEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxFQUNyQixZQUFZLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLG9CQUFvQixDQUFDLENBQ2pFLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEY7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVPLEtBQUssQ0FBQyxnQkFBZ0I7UUFDNUIsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUNwQyxNQUFNLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM5QyxNQUFNLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzRixNQUFNLFVBQVUsR0FBRyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUM3RCxZQUFZLENBQUMsYUFBYSxFQUMxQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQ3RCLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUNiLDhCQUE4QixlQUFlLENBQUMsT0FBTyxnQkFBZ0IsY0FBYyw0QkFBNEIsVUFBVSxHQUFHLENBQzdILENBQUM7YUFDSDtZQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUMzQjtRQUNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0NBQ0YifQ==
|
|
@@ -114,5 +114,10 @@ export interface Database extends ContractDatabase {
|
|
|
114
114
|
* @returns A promise that resolves to an array of AztecAddress instances.
|
|
115
115
|
*/
|
|
116
116
|
getCompleteAddresses(): Promise<CompleteAddress[]>;
|
|
117
|
+
/**
|
|
118
|
+
* Returns the estimated size in bytes of this db.
|
|
119
|
+
* @returns The estimated size in bytes of this db.
|
|
120
|
+
*/
|
|
121
|
+
estimateSize(): number;
|
|
117
122
|
}
|
|
118
123
|
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C;;;;;;;;OAQG;IACH,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7F;;;;;;;OAOG;IACH,mBAAmB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;;;;OAOG;IACH,wBAAwB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEtG;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzC;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;;;OAOG;IACH,oBAAoB,IAAI,iBAAiB,CAAC;IAE1C;;;;;;;OAOG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAEhF;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/database/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,gBAAgB;IAChD;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9D;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/C;;;;;;;;OAQG;IACH,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7F;;;;;;;OAOG;IACH,mBAAmB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7E;;;;;;;OAOG;IACH,wBAAwB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErF;;;;;;;;OAQG;IACH,+BAA+B,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEtG;;;;;;;OAOG;IACH,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEzC;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7D;;;;;;;OAOG;IACH,oBAAoB,IAAI,iBAAiB,CAAC;IAE1C;;;;;;;OAOG;IACH,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE/D;;;;OAIG;IACH,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAEhF;;;OAGG;IACH,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAEnD;;;OAGG;IACH,YAAY,IAAI,MAAM,CAAC;CACxB"}
|
|
@@ -41,5 +41,6 @@ export declare class MemoryDB extends MemoryContractDatabase implements Database
|
|
|
41
41
|
addCompleteAddress(completeAddress: CompleteAddress): Promise<boolean>;
|
|
42
42
|
getCompleteAddress(address: AztecAddress): Promise<CompleteAddress | undefined>;
|
|
43
43
|
getCompleteAddresses(): Promise<CompleteAddress[]>;
|
|
44
|
+
estimateSize(): number;
|
|
44
45
|
}
|
|
45
46
|
//# sourceMappingURL=memory_db.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory_db.d.ts","sourceRoot":"","sources":["../../src/database/memory_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"memory_db.d.ts","sourceRoot":"","sources":["../../src/database/memory_db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAE9C,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAA8B,MAAM,6BAA6B,CAAC;AAE9F;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,sBAAuB,YAAW,QAAQ;IACtE,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,SAAS,CAAuC;IACxD,OAAO,CAAC,mBAAmB,CAAiB;IAC5C,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,aAAa,CAA4B;gBAErC,SAAS,CAAC,EAAE,MAAM;IAI9B;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKpE;;;;OAIG;IACI,cAAc,CAAC,WAAW,EAAE,EAAE,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC;IAI9C,mBAAmB,CAAC,mBAAmB,EAAE,mBAAmB;IAK5D,wBAAwB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE;IAKpE,mBAAmB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;IAS3D,+BAA+B,CAAC,UAAU,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS;IAoBpE,YAAY,IAAI,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;IAMxC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;IAK5C,oBAAoB,IAAI,iBAAiB;IAenC,oBAAoB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/E,kBAAkB,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAetE,kBAAkB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAK/E,oBAAoB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAIlD,YAAY;CAOpB"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { HistoricBlockData } from '@aztec/circuits.js';
|
|
1
|
+
import { CompleteAddress, HistoricBlockData } from '@aztec/circuits.js';
|
|
2
2
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
3
|
import { createDebugLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { MerkleTreeId } from '@aztec/types';
|
|
5
5
|
import { MemoryContractDatabase } from '../contract_database/index.js';
|
|
6
|
+
import { getNoteSpendingInfoDaoSize } from './note_spending_info_dao.js';
|
|
6
7
|
/**
|
|
7
8
|
* The MemoryDB class provides an in-memory implementation of a database to manage transactions and auxiliary data.
|
|
8
9
|
* It extends the MemoryContractDatabase, allowing it to store contract-related data as well.
|
|
@@ -107,5 +108,12 @@ export class MemoryDB extends MemoryContractDatabase {
|
|
|
107
108
|
getCompleteAddresses() {
|
|
108
109
|
return Promise.resolve(this.addresses);
|
|
109
110
|
}
|
|
111
|
+
estimateSize() {
|
|
112
|
+
const notesSize = this.noteSpendingInfoTable.reduce((sum, note) => sum + getNoteSpendingInfoDaoSize(note), 0);
|
|
113
|
+
const treeRootsSize = this.treeRoots ? Object.entries(this.treeRoots).length * Fr.SIZE_IN_BYTES : 0;
|
|
114
|
+
const authWits = Object.entries(this.authWitnesses);
|
|
115
|
+
const authWitsSize = authWits.reduce((sum, [key, value]) => sum + key.length + value.length * Fr.SIZE_IN_BYTES, 0);
|
|
116
|
+
return notesSize + treeRootsSize + authWitsSize + this.addresses.length * CompleteAddress.SIZE_IN_BYTES;
|
|
117
|
+
}
|
|
110
118
|
}
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5X2RiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFiYXNlL21lbW9yeV9kYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFFdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkUsT0FBTyxFQUF1QiwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlGOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLFFBQVMsU0FBUSxzQkFBc0I7SUFPbEQsWUFBWSxTQUFrQjtRQUM1QixLQUFLLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztRQVBuRiwwQkFBcUIsR0FBMEIsRUFBRSxDQUFDO1FBR2xELGNBQVMsR0FBc0IsRUFBRSxDQUFDO1FBQ2xDLGtCQUFhLEdBQXlCLEVBQUUsQ0FBQztJQUlqRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxXQUFlLEVBQUUsT0FBYTtRQUNsRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQztRQUNyRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxXQUFlO1FBQ25DLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcs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
|
|
@@ -41,4 +41,10 @@ export interface NoteSpendingInfoDao {
|
|
|
41
41
|
publicKey: PublicKey;
|
|
42
42
|
}
|
|
43
43
|
export declare const createRandomNoteSpendingInfoDao: ({ contractAddress, nonce, storageSlot, notePreimage, innerNoteHash, siloedNullifier, index, publicKey, }?: Partial<NoteSpendingInfoDao>) => NoteSpendingInfoDao;
|
|
44
|
+
/**
|
|
45
|
+
* Returns the size in bytes of a note spending info dao.
|
|
46
|
+
* @param note - The note.
|
|
47
|
+
* @returns - Its size in bytes.
|
|
48
|
+
*/
|
|
49
|
+
export declare function getNoteSpendingInfoDaoSize(note: NoteSpendingInfoDao): number;
|
|
44
50
|
//# sourceMappingURL=note_spending_info_dao.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_spending_info_dao.d.ts","sourceRoot":"","sources":["../../src/database/note_spending_info_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,EAAE,YAAY,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,WAAW,EAAE,EAAE,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,aAAa,EAAE,EAAE,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,EAAE,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,+BAA+B,8GASzC,QAAQ,mBAAmB,CAAC,KAAQ,mBASrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"note_spending_info_dao.d.ts","sourceRoot":"","sources":["../../src/database/note_spending_info_dao.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,eAAe,EAAE,YAAY,CAAC;IAC9B;;OAEG;IACH,KAAK,EAAE,EAAE,CAAC;IACV;;OAEG;IACH,WAAW,EAAE,EAAE,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;;OAGG;IACH,aAAa,EAAE,EAAE,CAAC;IAClB;;OAEG;IACH,eAAe,EAAE,EAAE,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,+BAA+B,8GASzC,QAAQ,mBAAmB,CAAC,KAAQ,mBASrC,CAAC;AAEH;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,mBAAmB,UAInE"}
|
|
@@ -11,4 +11,14 @@ export const createRandomNoteSpendingInfoDao = ({ contractAddress = AztecAddress
|
|
|
11
11
|
index,
|
|
12
12
|
publicKey,
|
|
13
13
|
});
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Returns the size in bytes of a note spending info dao.
|
|
16
|
+
* @param note - The note.
|
|
17
|
+
* @returns - Its size in bytes.
|
|
18
|
+
*/
|
|
19
|
+
export function getNoteSpendingInfoDaoSize(note) {
|
|
20
|
+
// 7 fields + 1 bigint + 1 buffer size (4 bytes) + 1 buffer
|
|
21
|
+
const indexSize = Math.ceil(Math.log2(Number(note.index)));
|
|
22
|
+
return 7 * Fr.SIZE_IN_BYTES + indexSize + 4 + note.notePreimage.items.length * Fr.SIZE_IN_BYTES;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZV9zcGVuZGluZ19pbmZvX2Rhby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kYXRhYmFzZS9ub3RlX3NwZW5kaW5nX2luZm9fZGFvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFhLE1BQU0sb0JBQW9CLENBQUM7QUFDakUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUEyQzVDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQUMsRUFDOUMsZUFBZSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFDdkMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDbkIsV0FBVyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDekIsWUFBWSxHQUFHLFlBQVksQ0FBQyxNQUFNLEVBQUUsRUFDcEMsYUFBYSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDM0IsZUFBZSxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFDN0IsS0FBSyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQ3pCLFNBQVMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQ00sRUFBRSxFQUF1QixFQUFFLENBQUMsQ0FBQztJQUM3RCxlQUFlO0lBQ2YsS0FBSztJQUNMLFdBQVc7SUFDWCxZQUFZO0lBQ1osYUFBYTtJQUNiLGVBQWU7SUFDZixLQUFLO0lBQ0wsU0FBUztDQUNWLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsSUFBeUI7SUFDbEUsMkRBQTJEO0lBQzNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzRCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxHQUFHLFNBQVMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7QUFDbEcsQ0FBQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,EAKN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"proof_creator.d.ts","sourceRoot":"","sources":["../../src/kernel_prover/proof_creator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,2BAA2B,EAC3B,KAAK,EAKN,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAK9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,YAAY,EAAE,yBAAyB,CAAC;IACxC;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,YAAY,EAAE,8BAA8B,CAAC;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,oBAAoB,CAAC,YAAY,EAAE,0BAA0B,GAAG,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,eAAe,CAAC,uBAAuB,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAExF;;;;;OAKG;IACH,gBAAgB,CAAC,wBAAwB,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3F;;;;;OAKG;IACH,mBAAmB,CAAC,2BAA2B,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC1G;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,GAAG;gBAAH,GAAG,8CAAkD;IAE5D,oBAAoB,CAAC,YAAY,EAAE,0BAA0B;IAO7D,eAAe,CAAC,aAAa,EAAE,uBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB7E,gBAAgB,CAAC,aAAa,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAsB/E,mBAAmB,CAAC,aAAa,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAsBxG"}
|
|
@@ -20,14 +20,14 @@ export class KernelProofCreator {
|
|
|
20
20
|
}
|
|
21
21
|
async createProofInit(privateInputs) {
|
|
22
22
|
const wasm = await CircuitsWasm.get();
|
|
23
|
-
const [
|
|
23
|
+
const [duration, result] = await elapsed(() => privateKernelSimInit(wasm, privateInputs));
|
|
24
24
|
if (result instanceof CircuitError) {
|
|
25
25
|
throw new CircuitError(result.code, result.message);
|
|
26
26
|
}
|
|
27
27
|
this.log(`Simulated private kernel init`, {
|
|
28
28
|
eventName: 'circuit-simulation',
|
|
29
29
|
circuitName: 'private-kernel-init',
|
|
30
|
-
duration
|
|
30
|
+
duration,
|
|
31
31
|
inputSize: privateInputs.toBuffer().length,
|
|
32
32
|
outputSize: result.toBuffer().length,
|
|
33
33
|
});
|
|
@@ -40,14 +40,14 @@ export class KernelProofCreator {
|
|
|
40
40
|
}
|
|
41
41
|
async createProofInner(privateInputs) {
|
|
42
42
|
const wasm = await CircuitsWasm.get();
|
|
43
|
-
const [
|
|
43
|
+
const [duration, result] = await elapsed(() => privateKernelSimInner(wasm, privateInputs));
|
|
44
44
|
if (result instanceof CircuitError) {
|
|
45
45
|
throw new CircuitError(result.code, result.message);
|
|
46
46
|
}
|
|
47
47
|
this.log(`Simulated private kernel inner`, {
|
|
48
48
|
eventName: 'circuit-simulation',
|
|
49
49
|
circuitName: 'private-kernel-inner',
|
|
50
|
-
duration
|
|
50
|
+
duration,
|
|
51
51
|
inputSize: privateInputs.toBuffer().length,
|
|
52
52
|
outputSize: result.toBuffer().length,
|
|
53
53
|
});
|
|
@@ -61,14 +61,14 @@ export class KernelProofCreator {
|
|
|
61
61
|
async createProofOrdering(privateInputs) {
|
|
62
62
|
const wasm = await CircuitsWasm.get();
|
|
63
63
|
this.log('Executing private kernel simulation ordering...');
|
|
64
|
-
const [
|
|
64
|
+
const [duration, result] = await elapsed(() => privateKernelSimOrdering(wasm, privateInputs));
|
|
65
65
|
if (result instanceof CircuitError) {
|
|
66
66
|
throw new CircuitError(result.code, result.message);
|
|
67
67
|
}
|
|
68
68
|
this.log(`Simulated private kernel ordering`, {
|
|
69
69
|
eventName: 'circuit-simulation',
|
|
70
70
|
circuitName: 'private-kernel-ordering',
|
|
71
|
-
duration
|
|
71
|
+
duration,
|
|
72
72
|
inputSize: privateInputs.toBuffer().length,
|
|
73
73
|
outputSize: result.toBuffer().length,
|
|
74
74
|
});
|
|
@@ -80,4 +80,4 @@ export class KernelProofCreator {
|
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2ZfY3JlYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9rZXJuZWxfcHJvdmVyL3Byb29mX2NyZWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixZQUFZLEVBUVosY0FBYyxFQUNkLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsd0JBQXdCLEdBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXpELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQTJFbEQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixNQUFNLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDO1FBQXJELFFBQUcsR0FBSCxHQUFHLENBQWtEO0lBQUcsQ0FBQztJQUV0RSxLQUFLLENBQUMsb0JBQW9CLENBQUMsWUFBd0M7UUFDeEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxZQUFZLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsTUFBTSxlQUFlLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQztRQUV4RSxPQUFPLFlBQVksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxhQUFzQztRQUNqRSxNQUFNLElBQUksR0FBRyxNQUFNLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFv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
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import { Timer } from '@aztec/foundation/timer';
|
|
2
2
|
import { AztecNode, KeyStore, L2BlockContext, L2BlockL2Logs, PublicKey } from '@aztec/types';
|
|
3
|
+
import { NoteProcessorStats } from '@aztec/types/stats';
|
|
3
4
|
import { Database } from '../database/index.js';
|
|
4
|
-
/** Accumulated stats for a note processor. */
|
|
5
|
-
type NoteProcessorStats = {
|
|
6
|
-
/** How many notes have been seen and trial-decrypted. */
|
|
7
|
-
seen: number;
|
|
8
|
-
/** How many notes were successfully decrypted. */
|
|
9
|
-
decrypted: number;
|
|
10
|
-
/** How many notes failed processing. */
|
|
11
|
-
failed: number;
|
|
12
|
-
};
|
|
13
5
|
/**
|
|
14
6
|
* NoteProcessor is responsible for decrypting logs and converting them to notes via their originating contracts
|
|
15
7
|
* before storing them against their owner.
|
|
@@ -88,5 +80,4 @@ export declare class NoteProcessor {
|
|
|
88
80
|
*/
|
|
89
81
|
private processBlocksAndNoteSpendingInfo;
|
|
90
82
|
}
|
|
91
|
-
export {};
|
|
92
83
|
//# sourceMappingURL=note_processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"note_processor.d.ts","sourceRoot":"","sources":["../../src/note_processor/note_processor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAoB,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAiBrE;;;GAGG;AACH,qBAAa,aAAa;IAWtB;;OAEG;aACa,SAAS,EAAE,SAAS;IACpC,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IAnBb,8EAA8E;IAC9E,OAAO,CAAC,aAAa,CAAK;IAE1B,mEAAmE;IACnE,SAAgB,KAAK,EAAE,KAAK,CAAe;IAE3C,4CAA4C;IAC5C,SAAgB,KAAK,EAAE,kBAAkB,CAA2D;;IAGlG;;OAEG;IACa,SAAS,EAAE,SAAS,EAC5B,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,SAAS,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,gDAAuC,EAChD,GAAG,8CAA4C;IAKzD;;;;;;OAMG;IACU,cAAc;IAK3B;;OAEG;IACH,IAAW,MAAM;;MAEhB;IAED;;;;;;;;;OASG;IACU,OAAO,CAAC,eAAe,EAAE,cAAc,EAAE,EAAE,oBAAoB,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsF7G;;;;;;;;;;;;;;OAcG;YACW,yBAAyB;IA+DvC;;;;;;;;OAQG;YACW,gCAAgC;CAuB/C"}
|