@aztec/aztec.js 0.45.0 → 0.45.1
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.
|
@@ -10,7 +10,7 @@ import { type Wallet } from '../wallet/index.js';
|
|
|
10
10
|
* @param selector - Selector of the function to be broadcast.
|
|
11
11
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
12
12
|
*/
|
|
13
|
-
export declare function broadcastPrivateFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): ContractFunctionInteraction
|
|
13
|
+
export declare function broadcastPrivateFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): Promise<ContractFunctionInteraction>;
|
|
14
14
|
/**
|
|
15
15
|
* Sets up a call to broadcast an unconstrained function's bytecode via the ClassRegisterer contract.
|
|
16
16
|
* Note that this is not required for users to call the function, but is rather a convenience to make
|
|
@@ -20,5 +20,5 @@ export declare function broadcastPrivateFunction(wallet: Wallet, artifact: Contr
|
|
|
20
20
|
* @param selector - Selector of the function to be broadcast.
|
|
21
21
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
22
22
|
*/
|
|
23
|
-
export declare function broadcastUnconstrainedFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): ContractFunctionInteraction
|
|
23
|
+
export declare function broadcastUnconstrainedFunction(wallet: Wallet, artifact: ContractArtifact, selector: FunctionSelector): Promise<ContractFunctionInteraction>;
|
|
24
24
|
//# sourceMappingURL=broadcast_function.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"broadcast_function.d.ts","sourceRoot":"","sources":["../../src/deployment/broadcast_function.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAInH,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;GAQG;AACH,
|
|
1
|
+
{"version":3,"file":"broadcast_function.d.ts","sourceRoot":"","sources":["../../src/deployment/broadcast_function.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAgC,MAAM,uBAAuB,CAAC;AAInH,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAGjD;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,2BAA2B,CAAC,CAuCtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,gBAAgB,GACzB,OAAO,CAAC,2BAA2B,CAAC,CAgCtC"}
|
|
@@ -12,7 +12,7 @@ import { getRegistererContract } from './protocol_contracts.js';
|
|
|
12
12
|
* @param selector - Selector of the function to be broadcast.
|
|
13
13
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
14
14
|
*/
|
|
15
|
-
export function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
15
|
+
export async function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
16
16
|
const contractClass = getContractClassFromArtifact(artifact);
|
|
17
17
|
const privateFunctionArtifact = artifact.functions.find(fn => selector.equals(fn));
|
|
18
18
|
if (!privateFunctionArtifact) {
|
|
@@ -21,10 +21,11 @@ export function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
|
21
21
|
const { artifactTreeSiblingPath, artifactTreeLeafIndex, artifactMetadataHash, functionMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, } = createPrivateFunctionMembershipProof(selector, artifact);
|
|
22
22
|
const vkHash = computeVerificationKeyHash(privateFunctionArtifact.verificationKey);
|
|
23
23
|
const bytecode = bufferAsFields(privateFunctionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
24
|
+
await wallet.addCapsule(bytecode);
|
|
24
25
|
const registerer = getRegistererContract(wallet);
|
|
25
|
-
return registerer.methods.broadcast_private_function(contractClass.id, artifactMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
|
|
26
|
+
return Promise.resolve(registerer.methods.broadcast_private_function(contractClass.id, artifactMetadataHash, unconstrainedFunctionsArtifactTreeRoot, privateFunctionTreeSiblingPath, privateFunctionTreeLeafIndex, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
|
|
26
27
|
// eslint-disable-next-line camelcase
|
|
27
|
-
{ selector, metadata_hash: functionMetadataHash,
|
|
28
|
+
{ selector, metadata_hash: functionMetadataHash, vk_hash: vkHash }));
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* Sets up a call to broadcast an unconstrained function's bytecode via the ClassRegisterer contract.
|
|
@@ -35,7 +36,7 @@ export function broadcastPrivateFunction(wallet, artifact, selector) {
|
|
|
35
36
|
* @param selector - Selector of the function to be broadcast.
|
|
36
37
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
37
38
|
*/
|
|
38
|
-
export function broadcastUnconstrainedFunction(wallet, artifact, selector) {
|
|
39
|
+
export async function broadcastUnconstrainedFunction(wallet, artifact, selector) {
|
|
39
40
|
const contractClass = getContractClassFromArtifact(artifact);
|
|
40
41
|
const functionArtifactIndex = artifact.functions.findIndex(fn => fn.functionType === FunctionType.UNCONSTRAINED && selector.equals(fn));
|
|
41
42
|
if (functionArtifactIndex < 0) {
|
|
@@ -44,9 +45,10 @@ export function broadcastUnconstrainedFunction(wallet, artifact, selector) {
|
|
|
44
45
|
const functionArtifact = artifact.functions[functionArtifactIndex];
|
|
45
46
|
const { artifactMetadataHash, artifactTreeLeafIndex, artifactTreeSiblingPath, functionMetadataHash, privateFunctionsArtifactTreeRoot, } = createUnconstrainedFunctionMembershipProof(selector, artifact);
|
|
46
47
|
const bytecode = bufferAsFields(functionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
48
|
+
await wallet.addCapsule(bytecode);
|
|
47
49
|
const registerer = getRegistererContract(wallet);
|
|
48
50
|
return registerer.methods.broadcast_unconstrained_function(contractClass.id, artifactMetadataHash, privateFunctionsArtifactTreeRoot, padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT), artifactTreeLeafIndex,
|
|
49
51
|
// eslint-disable-next-line camelcase
|
|
50
|
-
{ selector, metadata_hash: functionMetadataHash
|
|
52
|
+
{ selector, metadata_hash: functionMetadataHash });
|
|
51
53
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvYWRjYXN0X2Z1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlcGxveW1lbnQvYnJvYWRjYXN0X2Z1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsdURBQXVELEVBQ3ZELDBCQUEwQixFQUMxQixvQ0FBb0MsRUFDcEMsMENBQTBDLEVBQzFDLDRCQUE0QixHQUM3QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBZ0QsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJOUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEU7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLHdCQUF3QixDQUM1QyxNQUFjLEVBQ2QsUUFBMEIsRUFDMUIsUUFBMEI7SUFFMUIsTUFBTSxhQUFhLEdBQUcsNEJBQTRCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsTUFBTSx1QkFBdUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNuRixJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxRQUFRLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3JGLENBQUM7SUFFRCxNQUFNLEVBQ0osdUJBQXVCLEVBQ3ZCLHFCQUFxQixFQUNyQixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLHNDQUFzQyxFQUN0Qyw4QkFBOEIsRUFDOUIsNEJBQTRCLEdBQzdCLEdB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
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
|
|
4
|
-
"version": "0.45.
|
|
4
|
+
"version": "0.45.1",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dest/index.js",
|
|
@@ -73,12 +73,12 @@
|
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
75
|
"dependencies": {
|
|
76
|
-
"@aztec/circuit-types": "0.45.
|
|
77
|
-
"@aztec/circuits.js": "0.45.
|
|
78
|
-
"@aztec/ethereum": "0.45.
|
|
79
|
-
"@aztec/foundation": "0.45.
|
|
80
|
-
"@aztec/protocol-contracts": "0.45.
|
|
81
|
-
"@aztec/types": "0.45.
|
|
76
|
+
"@aztec/circuit-types": "0.45.1",
|
|
77
|
+
"@aztec/circuits.js": "0.45.1",
|
|
78
|
+
"@aztec/ethereum": "0.45.1",
|
|
79
|
+
"@aztec/foundation": "0.45.1",
|
|
80
|
+
"@aztec/protocol-contracts": "0.45.1",
|
|
81
|
+
"@aztec/types": "0.45.1",
|
|
82
82
|
"tslib": "^2.4.0"
|
|
83
83
|
},
|
|
84
84
|
"devDependencies": {
|
|
@@ -23,11 +23,11 @@ import { getRegistererContract } from './protocol_contracts.js';
|
|
|
23
23
|
* @param selector - Selector of the function to be broadcast.
|
|
24
24
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
25
25
|
*/
|
|
26
|
-
export function broadcastPrivateFunction(
|
|
26
|
+
export async function broadcastPrivateFunction(
|
|
27
27
|
wallet: Wallet,
|
|
28
28
|
artifact: ContractArtifact,
|
|
29
29
|
selector: FunctionSelector,
|
|
30
|
-
): ContractFunctionInteraction {
|
|
30
|
+
): Promise<ContractFunctionInteraction> {
|
|
31
31
|
const contractClass = getContractClassFromArtifact(artifact);
|
|
32
32
|
const privateFunctionArtifact = artifact.functions.find(fn => selector.equals(fn));
|
|
33
33
|
if (!privateFunctionArtifact) {
|
|
@@ -50,17 +50,21 @@ export function broadcastPrivateFunction(
|
|
|
50
50
|
MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS,
|
|
51
51
|
);
|
|
52
52
|
|
|
53
|
+
await wallet.addCapsule(bytecode);
|
|
54
|
+
|
|
53
55
|
const registerer = getRegistererContract(wallet);
|
|
54
|
-
return
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
return Promise.resolve(
|
|
57
|
+
registerer.methods.broadcast_private_function(
|
|
58
|
+
contractClass.id,
|
|
59
|
+
artifactMetadataHash,
|
|
60
|
+
unconstrainedFunctionsArtifactTreeRoot,
|
|
61
|
+
privateFunctionTreeSiblingPath,
|
|
62
|
+
privateFunctionTreeLeafIndex,
|
|
63
|
+
padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT),
|
|
64
|
+
artifactTreeLeafIndex,
|
|
65
|
+
// eslint-disable-next-line camelcase
|
|
66
|
+
{ selector, metadata_hash: functionMetadataHash, vk_hash: vkHash },
|
|
67
|
+
),
|
|
64
68
|
);
|
|
65
69
|
}
|
|
66
70
|
|
|
@@ -73,11 +77,11 @@ export function broadcastPrivateFunction(
|
|
|
73
77
|
* @param selector - Selector of the function to be broadcast.
|
|
74
78
|
* @returns A ContractFunctionInteraction object that can be used to send the transaction.
|
|
75
79
|
*/
|
|
76
|
-
export function broadcastUnconstrainedFunction(
|
|
80
|
+
export async function broadcastUnconstrainedFunction(
|
|
77
81
|
wallet: Wallet,
|
|
78
82
|
artifact: ContractArtifact,
|
|
79
83
|
selector: FunctionSelector,
|
|
80
|
-
): ContractFunctionInteraction {
|
|
84
|
+
): Promise<ContractFunctionInteraction> {
|
|
81
85
|
const contractClass = getContractClassFromArtifact(artifact);
|
|
82
86
|
const functionArtifactIndex = artifact.functions.findIndex(
|
|
83
87
|
fn => fn.functionType === FunctionType.UNCONSTRAINED && selector.equals(fn),
|
|
@@ -97,6 +101,8 @@ export function broadcastUnconstrainedFunction(
|
|
|
97
101
|
|
|
98
102
|
const bytecode = bufferAsFields(functionArtifact.bytecode, MAX_PACKED_BYTECODE_SIZE_PER_PRIVATE_FUNCTION_IN_FIELDS);
|
|
99
103
|
|
|
104
|
+
await wallet.addCapsule(bytecode);
|
|
105
|
+
|
|
100
106
|
const registerer = getRegistererContract(wallet);
|
|
101
107
|
return registerer.methods.broadcast_unconstrained_function(
|
|
102
108
|
contractClass.id,
|
|
@@ -105,6 +111,6 @@ export function broadcastUnconstrainedFunction(
|
|
|
105
111
|
padArrayEnd(artifactTreeSiblingPath, Fr.ZERO, ARTIFACT_FUNCTION_TREE_MAX_HEIGHT),
|
|
106
112
|
artifactTreeLeafIndex,
|
|
107
113
|
// eslint-disable-next-line camelcase
|
|
108
|
-
{ selector, metadata_hash: functionMetadataHash
|
|
114
|
+
{ selector, metadata_hash: functionMetadataHash },
|
|
109
115
|
);
|
|
110
116
|
}
|