@aztec/aztec.js 0.0.1-commit.c80b6263 → 0.0.1-commit.c949de6bc
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/api/contract.d.ts +2 -2
- package/dest/api/contract.js +2 -2
- package/dest/api/deployment.d.ts +1 -2
- package/dest/api/deployment.d.ts.map +1 -1
- package/dest/api/deployment.js +0 -1
- package/dest/api/events.d.ts +10 -6
- package/dest/api/events.d.ts.map +1 -1
- package/dest/api/events.js +30 -20
- package/dest/api/fields.d.ts +2 -1
- package/dest/api/fields.d.ts.map +1 -1
- package/dest/api/fields.js +1 -0
- package/dest/api/keys.d.ts +1 -1
- package/dest/api/keys.js +1 -1
- package/dest/api/wallet.d.ts +3 -2
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +2 -1
- package/dest/contract/batch_call.d.ts +3 -3
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +8 -5
- package/dest/contract/contract_function_interaction.d.ts +3 -12
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +10 -7
- package/dest/contract/deploy_method.d.ts +19 -6
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +25 -10
- package/dest/contract/get_gas_limits.js +3 -3
- package/dest/contract/interaction_options.d.ts +8 -1
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts +1 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.js +48 -6
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts +2 -22
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-class-registry.js +13 -658
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +2 -11
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-instance-registry.js +76 -473
- package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -10
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/fee-juice.js +7 -400
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +39 -1
- package/dest/contract/protocol_contracts/public-checks.d.ts +1 -1
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/public-checks.js +39 -9
- package/dest/fee/fee_juice_payment_method_with_claim.js +6 -6
- package/dest/fee/private_fee_payment_method.js +10 -10
- package/dest/fee/public_fee_payment_method.js +10 -10
- package/dest/fee/sponsored_fee_payment.js +3 -3
- package/dest/wallet/capabilities.d.ts +452 -0
- package/dest/wallet/capabilities.d.ts.map +1 -0
- package/dest/wallet/capabilities.js +3 -0
- package/dest/wallet/deploy_account_method.d.ts +15 -4
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/deploy_account_method.js +26 -0
- package/dest/wallet/index.d.ts +2 -1
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +1 -0
- package/dest/wallet/wallet.d.ts +1590 -89
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +154 -25
- package/package.json +20 -11
- package/src/api/contract.ts +2 -2
- package/src/api/deployment.ts +0 -1
- package/src/api/events.ts +35 -27
- package/src/api/fields.ts +1 -0
- package/src/api/keys.ts +2 -2
- package/src/api/wallet.ts +43 -1
- package/src/contract/batch_call.ts +7 -12
- package/src/contract/contract_function_interaction.ts +17 -7
- package/src/contract/deploy_method.ts +48 -14
- package/src/contract/get_gas_limits.ts +3 -3
- package/src/contract/interaction_options.ts +7 -0
- package/src/contract/protocol_contracts/auth-registry.ts +10 -2
- package/src/contract/protocol_contracts/contract-class-registry.ts +4 -338
- package/src/contract/protocol_contracts/contract-instance-registry.ts +33 -225
- package/src/contract/protocol_contracts/fee-juice.ts +2 -193
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +8 -1
- package/src/contract/protocol_contracts/public-checks.ts +8 -3
- package/src/fee/fee_juice_payment_method_with_claim.ts +5 -5
- package/src/fee/private_fee_payment_method.ts +7 -7
- package/src/fee/public_fee_payment_method.ts +8 -8
- package/src/fee/sponsored_fee_payment.ts +3 -3
- package/src/wallet/capabilities.ts +500 -0
- package/src/wallet/deploy_account_method.ts +39 -2
- package/src/wallet/index.ts +1 -0
- package/src/wallet/wallet.ts +204 -38
- package/dest/deployment/broadcast_function.d.ts +0 -24
- package/dest/deployment/broadcast_function.d.ts.map +0 -1
- package/dest/deployment/broadcast_function.js +0 -74
- package/src/deployment/broadcast_function.ts +0 -148
|
@@ -9,12 +9,19 @@ import {
|
|
|
9
9
|
getContractInstanceFromInstantiationParams,
|
|
10
10
|
} from '@aztec/stdlib/contract';
|
|
11
11
|
import type { PublicKeys } from '@aztec/stdlib/keys';
|
|
12
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
type Capsule,
|
|
14
|
+
HashedValues,
|
|
15
|
+
TxHash,
|
|
16
|
+
type TxProfileResult,
|
|
17
|
+
type TxReceipt,
|
|
18
|
+
collectOffchainEffects,
|
|
19
|
+
} from '@aztec/stdlib/tx';
|
|
13
20
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
14
21
|
|
|
15
22
|
import { publishContractClass } from '../deployment/publish_class.js';
|
|
16
23
|
import { publishInstance } from '../deployment/publish_instance.js';
|
|
17
|
-
import type { SendOptions, Wallet } from '../wallet/wallet.js';
|
|
24
|
+
import type { ProfileOptions, SendOptions, SimulateOptions, Wallet } from '../wallet/wallet.js';
|
|
18
25
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
19
26
|
import type { ContractBase } from './contract_base.js';
|
|
20
27
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
@@ -82,7 +89,7 @@ export type DeployOptionsWithoutWait = Omit<RequestDeployOptions, 'deployer'> &
|
|
|
82
89
|
* is mutually exclusive with "deployer"
|
|
83
90
|
*/
|
|
84
91
|
universalDeploy?: boolean;
|
|
85
|
-
} & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee'>;
|
|
92
|
+
} & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee' | 'additionalScopes'>;
|
|
86
93
|
|
|
87
94
|
/**
|
|
88
95
|
* Extends the deployment options with the required parameters to send the transaction.
|
|
@@ -164,6 +171,7 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
164
171
|
constructorNameOrArtifact?: string | FunctionArtifact,
|
|
165
172
|
authWitnesses: AuthWitness[] = [],
|
|
166
173
|
capsules: Capsule[] = [],
|
|
174
|
+
private extraHashedArgs: HashedValues[] = [],
|
|
167
175
|
) {
|
|
168
176
|
super(wallet, authWitnesses, capsules);
|
|
169
177
|
this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
|
|
@@ -174,20 +182,29 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
174
182
|
* @param options - Configuration options.
|
|
175
183
|
* @returns The execution payload for this operation
|
|
176
184
|
*/
|
|
177
|
-
public async request(options
|
|
185
|
+
public async request(options: RequestDeployOptions = {}): Promise<ExecutionPayload> {
|
|
178
186
|
const publication = await this.getPublicationExecutionPayload(options);
|
|
179
187
|
|
|
180
188
|
if (!options?.skipRegistration) {
|
|
181
189
|
await this.wallet.registerContract(await this.getInstance(options), this.artifact);
|
|
182
190
|
}
|
|
183
|
-
|
|
191
|
+
const { authWitnesses, capsules } = options;
|
|
192
|
+
|
|
193
|
+
// Propagates the included authwitnesses, capsules, and extraHashedArgs
|
|
194
|
+
// potentially baked into the interaction
|
|
195
|
+
const initialExecutionPayload = new ExecutionPayload(
|
|
196
|
+
[],
|
|
197
|
+
this.authWitnesses.concat(authWitnesses ?? []),
|
|
198
|
+
this.capsules.concat(capsules ?? []),
|
|
199
|
+
this.extraHashedArgs,
|
|
200
|
+
);
|
|
184
201
|
const initialization = await this.getInitializationExecutionPayload(options);
|
|
185
202
|
const feeExecutionPayload = options?.fee?.paymentMethod
|
|
186
203
|
? await options.fee.paymentMethod.getExecutionPayload()
|
|
187
204
|
: undefined;
|
|
188
205
|
const finalExecutionPayload = feeExecutionPayload
|
|
189
|
-
? mergeExecutionPayloads([feeExecutionPayload, publication, initialization])
|
|
190
|
-
: mergeExecutionPayloads([publication, initialization]);
|
|
206
|
+
? mergeExecutionPayloads([initialExecutionPayload, feeExecutionPayload, publication, initialization])
|
|
207
|
+
: mergeExecutionPayloads([initialExecutionPayload, publication, initialization]);
|
|
191
208
|
if (!finalExecutionPayload.calls.length) {
|
|
192
209
|
throw new Error(`No transactions are needed to publish or initialize contract ${this.artifact.name}`);
|
|
193
210
|
}
|
|
@@ -207,7 +224,7 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
207
224
|
* @param options - Deploy options with wait parameter
|
|
208
225
|
* @returns Send options with wait parameter
|
|
209
226
|
*/
|
|
210
|
-
|
|
227
|
+
protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(
|
|
211
228
|
options: DeployOptions<W>,
|
|
212
229
|
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
213
230
|
): SendOptions<W extends { returnReceipt: true } ? WaitOpts : W> {
|
|
@@ -219,6 +236,24 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
219
236
|
} as any;
|
|
220
237
|
}
|
|
221
238
|
|
|
239
|
+
/**
|
|
240
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
241
|
+
* @param options - The deploy simulation options to convert.
|
|
242
|
+
*/
|
|
243
|
+
protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions {
|
|
244
|
+
return toSimulateOptions(options);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
249
|
+
* @param options - The deploy profile options to convert.
|
|
250
|
+
*/
|
|
251
|
+
protected convertDeployOptionsToProfileOptions(
|
|
252
|
+
options: DeployOptionsWithoutWait & ProfileInteractionOptions,
|
|
253
|
+
): ProfileOptions {
|
|
254
|
+
return toProfileOptions(options);
|
|
255
|
+
}
|
|
256
|
+
|
|
222
257
|
/**
|
|
223
258
|
* Adds this contract to the wallet and returns the Contract object.
|
|
224
259
|
* @param options - Deployment options.
|
|
@@ -368,7 +403,10 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
368
403
|
*/
|
|
369
404
|
public async simulate(options: SimulateDeployOptions): Promise<SimulationReturn<true>> {
|
|
370
405
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
371
|
-
const simulatedTx = await this.wallet.simulateTx(
|
|
406
|
+
const simulatedTx = await this.wallet.simulateTx(
|
|
407
|
+
executionPayload,
|
|
408
|
+
this.convertDeployOptionsToSimulateOptions(options),
|
|
409
|
+
);
|
|
372
410
|
|
|
373
411
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
374
412
|
this.log.verbose(
|
|
@@ -390,11 +428,7 @@ export class DeployMethod<TContract extends ContractBase = ContractBase> extends
|
|
|
390
428
|
*/
|
|
391
429
|
public async profile(options: DeployOptionsWithoutWait & ProfileInteractionOptions): Promise<TxProfileResult> {
|
|
392
430
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
393
|
-
return await this.wallet.profileTx(executionPayload,
|
|
394
|
-
...toProfileOptions(options),
|
|
395
|
-
profileMode: options.profileMode,
|
|
396
|
-
skipProofGeneration: options.skipProofGeneration,
|
|
397
|
-
});
|
|
431
|
+
return await this.wallet.profileTx(executionPayload, this.convertDeployOptionsToProfileOptions(options));
|
|
398
432
|
}
|
|
399
433
|
|
|
400
434
|
/** Return this deployment address. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
2
2
|
import { Gas } from '@aztec/stdlib/gas';
|
|
3
3
|
import type { TxSimulationResult } from '@aztec/stdlib/tx';
|
|
4
4
|
|
|
@@ -23,8 +23,8 @@ export function getGasLimits(
|
|
|
23
23
|
const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
|
|
24
24
|
const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
|
|
25
25
|
|
|
26
|
-
if (gasLimits.l2Gas >
|
|
27
|
-
throw new Error('Transaction consumes more gas than the
|
|
26
|
+
if (gasLimits.l2Gas > MAX_PROCESSABLE_L2_GAS) {
|
|
27
|
+
throw new Error('Transaction consumes more l2 gas than the maximum processable gas');
|
|
28
28
|
}
|
|
29
29
|
return {
|
|
30
30
|
gasLimits,
|
|
@@ -82,6 +82,13 @@ export type SendInteractionOptionsWithoutWait = RequestInteractionOptions & {
|
|
|
82
82
|
from: AztecAddress;
|
|
83
83
|
/** The fee options for the transaction. */
|
|
84
84
|
fee?: InteractionFeeOptions;
|
|
85
|
+
/**
|
|
86
|
+
* Additional addresses whose private state and keys should be accessible during execution,
|
|
87
|
+
* beyond the sender's. Required when the transaction needs to access private state or keys
|
|
88
|
+
* belonging to an address other than `from`, e.g. withdrawing from an escrow that holds
|
|
89
|
+
* its own private notes.
|
|
90
|
+
*/
|
|
91
|
+
additionalScopes?: AztecAddress[];
|
|
85
92
|
};
|
|
86
93
|
|
|
87
94
|
/**
|
|
@@ -41,9 +41,10 @@ const AuthRegistryContractArtifact: ContractArtifact = {
|
|
|
41
41
|
],
|
|
42
42
|
returnTypes: [],
|
|
43
43
|
errorTypes: {
|
|
44
|
-
'2754040237334517471': { error_kind: 'fmtstring', length: 92, item_types: [] },
|
|
45
44
|
'7555607922535724711': { error_kind: 'string', string: 'Preimage mismatch' },
|
|
45
|
+
'9530675838293881722': { error_kind: 'string', string: 'Writer did not write all data' },
|
|
46
46
|
'9894212961085021188': { error_kind: 'string', string: 'Message not authorized by account' },
|
|
47
|
+
'12327971061804302172': { error_kind: 'fmtstring', length: 98, item_types: [] },
|
|
47
48
|
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
48
49
|
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
49
50
|
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
@@ -100,7 +101,7 @@ const AuthRegistryContractArtifact: ContractArtifact = {
|
|
|
100
101
|
type: {
|
|
101
102
|
kind: 'struct',
|
|
102
103
|
fields: [
|
|
103
|
-
{ name: 'storage', type: { kind: 'array', length:
|
|
104
|
+
{ name: 'storage', type: { kind: 'array', length: 15, type: { kind: 'field' } } },
|
|
104
105
|
{ name: 'len', type: { kind: 'integer', sign: 'unsigned', width: 32 } },
|
|
105
106
|
],
|
|
106
107
|
path: 'std::collections::bounded_vec::BoundedVec',
|
|
@@ -161,6 +162,9 @@ const AuthRegistryContractArtifact: ContractArtifact = {
|
|
|
161
162
|
},
|
|
162
163
|
'4261968856572588300': { error_kind: 'string', string: 'Value does not fit in field' },
|
|
163
164
|
'4440399188109668273': { error_kind: 'string', string: 'Input length must be a multiple of 32' },
|
|
165
|
+
'5417577161503694006': { error_kind: 'fmtstring', length: 56, item_types: [{ kind: 'field' }] },
|
|
166
|
+
'5421095327929394772': { error_kind: 'string', string: 'attempt to bit-shift with overflow' },
|
|
167
|
+
'9530675838293881722': { error_kind: 'string', string: 'Writer did not write all data' },
|
|
164
168
|
'9791669845391776238': {
|
|
165
169
|
error_kind: 'string',
|
|
166
170
|
string: '0 has a square root; you cannot claim it is not square',
|
|
@@ -262,6 +266,9 @@ const AuthRegistryContractArtifact: ContractArtifact = {
|
|
|
262
266
|
},
|
|
263
267
|
'4261968856572588300': { error_kind: 'string', string: 'Value does not fit in field' },
|
|
264
268
|
'4440399188109668273': { error_kind: 'string', string: 'Input length must be a multiple of 32' },
|
|
269
|
+
'5417577161503694006': { error_kind: 'fmtstring', length: 56, item_types: [{ kind: 'field' }] },
|
|
270
|
+
'5421095327929394772': { error_kind: 'string', string: 'attempt to bit-shift with overflow' },
|
|
271
|
+
'9530675838293881722': { error_kind: 'string', string: 'Writer did not write all data' },
|
|
265
272
|
'9791669845391776238': {
|
|
266
273
|
error_kind: 'string',
|
|
267
274
|
string: '0 has a square root; you cannot claim it is not square',
|
|
@@ -298,6 +305,7 @@ const AuthRegistryContractArtifact: ContractArtifact = {
|
|
|
298
305
|
length: 133,
|
|
299
306
|
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
300
307
|
},
|
|
308
|
+
'17655676068928457687': { error_kind: 'string', string: 'Reader did not read all data' },
|
|
301
309
|
},
|
|
302
310
|
},
|
|
303
311
|
bytecode: Buffer.from([]),
|
|
@@ -19,127 +19,6 @@ import { ContractFunctionInteraction } from '../contract_function_interaction.js
|
|
|
19
19
|
const ContractClassRegistryContractArtifact: ContractArtifact = {
|
|
20
20
|
name: 'ContractClassRegistry',
|
|
21
21
|
functions: [
|
|
22
|
-
{
|
|
23
|
-
...{
|
|
24
|
-
functionType: FunctionType.PRIVATE,
|
|
25
|
-
name: 'broadcast_private_function',
|
|
26
|
-
isOnlySelf: false,
|
|
27
|
-
isStatic: false,
|
|
28
|
-
isInitializer: false,
|
|
29
|
-
parameters: [
|
|
30
|
-
{
|
|
31
|
-
name: 'contract_class_id',
|
|
32
|
-
type: {
|
|
33
|
-
kind: 'struct',
|
|
34
|
-
fields: [{ name: 'inner', type: { kind: 'field' } }],
|
|
35
|
-
path: 'aztec::protocol_types::contract_class_id::ContractClassId',
|
|
36
|
-
},
|
|
37
|
-
visibility: 'private',
|
|
38
|
-
},
|
|
39
|
-
{ name: 'artifact_metadata_hash', type: { kind: 'field' }, visibility: 'private' },
|
|
40
|
-
{ name: 'utility_functions_artifact_tree_root', type: { kind: 'field' }, visibility: 'private' },
|
|
41
|
-
{
|
|
42
|
-
name: 'private_function_tree_sibling_path',
|
|
43
|
-
type: { kind: 'array', length: 7, type: { kind: 'field' } },
|
|
44
|
-
visibility: 'private',
|
|
45
|
-
},
|
|
46
|
-
{ name: 'private_function_tree_leaf_index', type: { kind: 'field' }, visibility: 'private' },
|
|
47
|
-
{
|
|
48
|
-
name: 'artifact_function_tree_sibling_path',
|
|
49
|
-
type: { kind: 'array', length: 7, type: { kind: 'field' } },
|
|
50
|
-
visibility: 'private',
|
|
51
|
-
},
|
|
52
|
-
{ name: 'artifact_function_tree_leaf_index', type: { kind: 'field' }, visibility: 'private' },
|
|
53
|
-
{
|
|
54
|
-
name: 'function_data',
|
|
55
|
-
type: {
|
|
56
|
-
kind: 'struct',
|
|
57
|
-
fields: [
|
|
58
|
-
{
|
|
59
|
-
name: 'selector',
|
|
60
|
-
type: {
|
|
61
|
-
kind: 'struct',
|
|
62
|
-
fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
|
|
63
|
-
path: 'aztec::protocol_types::abis::function_selector::FunctionSelector',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
{ name: 'metadata_hash', type: { kind: 'field' } },
|
|
67
|
-
{ name: 'vk_hash', type: { kind: 'field' } },
|
|
68
|
-
],
|
|
69
|
-
path: 'events::private_function_broadcasted::InnerPrivateFunction',
|
|
70
|
-
},
|
|
71
|
-
visibility: 'private',
|
|
72
|
-
},
|
|
73
|
-
],
|
|
74
|
-
returnTypes: [],
|
|
75
|
-
errorTypes: {
|
|
76
|
-
'1998584279744703196': { error_kind: 'string', string: 'attempt to subtract with overflow' },
|
|
77
|
-
'2754040237334517471': { error_kind: 'fmtstring', length: 92, item_types: [] },
|
|
78
|
-
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
79
|
-
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
80
|
-
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
81
|
-
},
|
|
82
|
-
},
|
|
83
|
-
bytecode: Buffer.from([]),
|
|
84
|
-
debugSymbols: '',
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
...{
|
|
88
|
-
functionType: FunctionType.PRIVATE,
|
|
89
|
-
name: 'broadcast_utility_function',
|
|
90
|
-
isOnlySelf: false,
|
|
91
|
-
isStatic: false,
|
|
92
|
-
isInitializer: false,
|
|
93
|
-
parameters: [
|
|
94
|
-
{
|
|
95
|
-
name: 'contract_class_id',
|
|
96
|
-
type: {
|
|
97
|
-
kind: 'struct',
|
|
98
|
-
fields: [{ name: 'inner', type: { kind: 'field' } }],
|
|
99
|
-
path: 'aztec::protocol_types::contract_class_id::ContractClassId',
|
|
100
|
-
},
|
|
101
|
-
visibility: 'private',
|
|
102
|
-
},
|
|
103
|
-
{ name: 'artifact_metadata_hash', type: { kind: 'field' }, visibility: 'private' },
|
|
104
|
-
{ name: 'private_functions_artifact_tree_root', type: { kind: 'field' }, visibility: 'private' },
|
|
105
|
-
{
|
|
106
|
-
name: 'artifact_function_tree_sibling_path',
|
|
107
|
-
type: { kind: 'array', length: 7, type: { kind: 'field' } },
|
|
108
|
-
visibility: 'private',
|
|
109
|
-
},
|
|
110
|
-
{ name: 'artifact_function_tree_leaf_index', type: { kind: 'field' }, visibility: 'private' },
|
|
111
|
-
{
|
|
112
|
-
name: 'function_data',
|
|
113
|
-
type: {
|
|
114
|
-
kind: 'struct',
|
|
115
|
-
fields: [
|
|
116
|
-
{
|
|
117
|
-
name: 'selector',
|
|
118
|
-
type: {
|
|
119
|
-
kind: 'struct',
|
|
120
|
-
fields: [{ name: 'inner', type: { kind: 'integer', sign: 'unsigned', width: 32 } }],
|
|
121
|
-
path: 'aztec::protocol_types::abis::function_selector::FunctionSelector',
|
|
122
|
-
},
|
|
123
|
-
},
|
|
124
|
-
{ name: 'metadata_hash', type: { kind: 'field' } },
|
|
125
|
-
],
|
|
126
|
-
path: 'events::utility_function_broadcasted::InnerUtilityFunction',
|
|
127
|
-
},
|
|
128
|
-
visibility: 'private',
|
|
129
|
-
},
|
|
130
|
-
],
|
|
131
|
-
returnTypes: [],
|
|
132
|
-
errorTypes: {
|
|
133
|
-
'1998584279744703196': { error_kind: 'string', string: 'attempt to subtract with overflow' },
|
|
134
|
-
'2754040237334517471': { error_kind: 'fmtstring', length: 92, item_types: [] },
|
|
135
|
-
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
136
|
-
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
137
|
-
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
bytecode: Buffer.from([]),
|
|
141
|
-
debugSymbols: '',
|
|
142
|
-
},
|
|
143
22
|
{
|
|
144
23
|
...{
|
|
145
24
|
functionType: FunctionType.PRIVATE,
|
|
@@ -157,193 +36,19 @@ const ContractClassRegistryContractArtifact: ContractArtifact = {
|
|
|
157
36
|
'361444214588792908': { error_kind: 'string', string: 'attempt to multiply with overflow' },
|
|
158
37
|
'922421554006670918': { error_kind: 'string', string: 'num_items is greater than MAX_ITEMS' },
|
|
159
38
|
'1998584279744703196': { error_kind: 'string', string: 'attempt to subtract with overflow' },
|
|
160
|
-
'
|
|
39
|
+
'9475115977882098926': { error_kind: 'string', string: 'Extra bytes in the last field of the bytecode' },
|
|
161
40
|
'10965409165809799877': {
|
|
162
41
|
error_kind: 'string',
|
|
163
42
|
string: 'Given in_len to absorb is larger than the input array len',
|
|
164
43
|
},
|
|
44
|
+
'12469291177396340830': { error_kind: 'string', string: 'call to assert_max_bit_size' },
|
|
165
45
|
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
166
46
|
'15669273164684982983': { error_kind: 'string', string: 'num_permutations is greater than MAX_PERMUTATIONS' },
|
|
167
47
|
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
48
|
+
'15835548349546956319': { error_kind: 'string', string: 'Field failed to decompose into specified 32 limbs' },
|
|
168
49
|
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
169
50
|
'16450579948625159707': { error_kind: 'string', string: 'Sponge must be in cache_size=1' },
|
|
170
|
-
|
|
171
|
-
},
|
|
172
|
-
bytecode: Buffer.from([]),
|
|
173
|
-
debugSymbols: '',
|
|
174
|
-
},
|
|
175
|
-
{
|
|
176
|
-
...{
|
|
177
|
-
functionType: FunctionType.UTILITY,
|
|
178
|
-
name: 'process_message',
|
|
179
|
-
isOnlySelf: false,
|
|
180
|
-
isStatic: false,
|
|
181
|
-
isInitializer: false,
|
|
182
|
-
parameters: [
|
|
183
|
-
{
|
|
184
|
-
name: 'message_ciphertext',
|
|
185
|
-
type: {
|
|
186
|
-
kind: 'struct',
|
|
187
|
-
fields: [
|
|
188
|
-
{ name: 'storage', type: { kind: 'array', length: 17, type: { kind: 'field' } } },
|
|
189
|
-
{ name: 'len', type: { kind: 'integer', sign: 'unsigned', width: 32 } },
|
|
190
|
-
],
|
|
191
|
-
path: 'std::collections::bounded_vec::BoundedVec',
|
|
192
|
-
},
|
|
193
|
-
visibility: 'private',
|
|
194
|
-
},
|
|
195
|
-
{
|
|
196
|
-
name: 'message_context',
|
|
197
|
-
type: {
|
|
198
|
-
kind: 'struct',
|
|
199
|
-
fields: [
|
|
200
|
-
{ name: 'tx_hash', type: { kind: 'field' } },
|
|
201
|
-
{
|
|
202
|
-
name: 'unique_note_hashes_in_tx',
|
|
203
|
-
type: {
|
|
204
|
-
kind: 'struct',
|
|
205
|
-
fields: [
|
|
206
|
-
{ name: 'storage', type: { kind: 'array', length: 64, type: { kind: 'field' } } },
|
|
207
|
-
{ name: 'len', type: { kind: 'integer', sign: 'unsigned', width: 32 } },
|
|
208
|
-
],
|
|
209
|
-
path: 'std::collections::bounded_vec::BoundedVec',
|
|
210
|
-
},
|
|
211
|
-
},
|
|
212
|
-
{ name: 'first_nullifier_in_tx', type: { kind: 'field' } },
|
|
213
|
-
{
|
|
214
|
-
name: 'recipient',
|
|
215
|
-
type: {
|
|
216
|
-
kind: 'struct',
|
|
217
|
-
fields: [{ name: 'inner', type: { kind: 'field' } }],
|
|
218
|
-
path: 'aztec::protocol_types::address::aztec_address::AztecAddress',
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
],
|
|
222
|
-
path: 'aztec::messages::processing::message_context::MessageContext',
|
|
223
|
-
},
|
|
224
|
-
visibility: 'private',
|
|
225
|
-
},
|
|
226
|
-
],
|
|
227
|
-
returnTypes: [],
|
|
228
|
-
errorTypes: {
|
|
229
|
-
'361444214588792908': { error_kind: 'string', string: 'attempt to multiply with overflow' },
|
|
230
|
-
'992401946138144806': { error_kind: 'string', string: 'Attempted to read past end of BoundedVec' },
|
|
231
|
-
'1998584279744703196': { error_kind: 'string', string: 'attempt to subtract with overflow' },
|
|
232
|
-
'2967937905572420042': {
|
|
233
|
-
error_kind: 'fmtstring',
|
|
234
|
-
length: 61,
|
|
235
|
-
item_types: [{ kind: 'field' }, { kind: 'field' }],
|
|
236
|
-
},
|
|
237
|
-
'3330370348214585450': {
|
|
238
|
-
error_kind: 'fmtstring',
|
|
239
|
-
length: 48,
|
|
240
|
-
item_types: [{ kind: 'field' }, { kind: 'field' }],
|
|
241
|
-
},
|
|
242
|
-
'3670003311596808700': {
|
|
243
|
-
error_kind: 'fmtstring',
|
|
244
|
-
length: 77,
|
|
245
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
246
|
-
},
|
|
247
|
-
'4261968856572588300': { error_kind: 'string', string: 'Value does not fit in field' },
|
|
248
|
-
'4440399188109668273': { error_kind: 'string', string: 'Input length must be a multiple of 32' },
|
|
249
|
-
'9791669845391776238': {
|
|
250
|
-
error_kind: 'string',
|
|
251
|
-
string: '0 has a square root; you cannot claim it is not square',
|
|
252
|
-
},
|
|
253
|
-
'10135509984888824963': { error_kind: 'fmtstring', length: 58, item_types: [{ kind: 'field' }] },
|
|
254
|
-
'10791800398362570014': { error_kind: 'string', string: 'extend_from_bounded_vec out of bounds' },
|
|
255
|
-
'11692359521570349358': { error_kind: 'fmtstring', length: 40, item_types: [] },
|
|
256
|
-
'12469291177396340830': { error_kind: 'string', string: 'call to assert_max_bit_size' },
|
|
257
|
-
'12913276134398371456': { error_kind: 'string', string: 'push out of bounds' },
|
|
258
|
-
'13557316507370296400': {
|
|
259
|
-
error_kind: 'fmtstring',
|
|
260
|
-
length: 130,
|
|
261
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
262
|
-
},
|
|
263
|
-
'14938672389828944159': {
|
|
264
|
-
error_kind: 'fmtstring',
|
|
265
|
-
length: 146,
|
|
266
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
267
|
-
},
|
|
268
|
-
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
269
|
-
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
270
|
-
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
271
|
-
'17531474008201752295': {
|
|
272
|
-
error_kind: 'fmtstring',
|
|
273
|
-
length: 133,
|
|
274
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
275
|
-
},
|
|
276
|
-
},
|
|
277
|
-
},
|
|
278
|
-
bytecode: Buffer.from([]),
|
|
279
|
-
debugSymbols: '',
|
|
280
|
-
},
|
|
281
|
-
{
|
|
282
|
-
...{
|
|
283
|
-
functionType: FunctionType.UTILITY,
|
|
284
|
-
name: 'sync_state',
|
|
285
|
-
isOnlySelf: false,
|
|
286
|
-
isStatic: false,
|
|
287
|
-
isInitializer: false,
|
|
288
|
-
parameters: [],
|
|
289
|
-
returnTypes: [],
|
|
290
|
-
errorTypes: {
|
|
291
|
-
'361444214588792908': { error_kind: 'string', string: 'attempt to multiply with overflow' },
|
|
292
|
-
'992401946138144806': { error_kind: 'string', string: 'Attempted to read past end of BoundedVec' },
|
|
293
|
-
'1998584279744703196': { error_kind: 'string', string: 'attempt to subtract with overflow' },
|
|
294
|
-
'2967937905572420042': {
|
|
295
|
-
error_kind: 'fmtstring',
|
|
296
|
-
length: 61,
|
|
297
|
-
item_types: [{ kind: 'field' }, { kind: 'field' }],
|
|
298
|
-
},
|
|
299
|
-
'3330370348214585450': {
|
|
300
|
-
error_kind: 'fmtstring',
|
|
301
|
-
length: 48,
|
|
302
|
-
item_types: [{ kind: 'field' }, { kind: 'field' }],
|
|
303
|
-
},
|
|
304
|
-
'3670003311596808700': {
|
|
305
|
-
error_kind: 'fmtstring',
|
|
306
|
-
length: 77,
|
|
307
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
308
|
-
},
|
|
309
|
-
'4261968856572588300': { error_kind: 'string', string: 'Value does not fit in field' },
|
|
310
|
-
'4440399188109668273': { error_kind: 'string', string: 'Input length must be a multiple of 32' },
|
|
311
|
-
'9791669845391776238': {
|
|
312
|
-
error_kind: 'string',
|
|
313
|
-
string: '0 has a square root; you cannot claim it is not square',
|
|
314
|
-
},
|
|
315
|
-
'9885968605480832328': {
|
|
316
|
-
error_kind: 'string',
|
|
317
|
-
string: 'Attempted to read past the length of a CapsuleArray',
|
|
318
|
-
},
|
|
319
|
-
'10135509984888824963': { error_kind: 'fmtstring', length: 58, item_types: [{ kind: 'field' }] },
|
|
320
|
-
'10791800398362570014': { error_kind: 'string', string: 'extend_from_bounded_vec out of bounds' },
|
|
321
|
-
'11021520179822076911': {
|
|
322
|
-
error_kind: 'string',
|
|
323
|
-
string: 'Attempted to delete past the length of a CapsuleArray',
|
|
324
|
-
},
|
|
325
|
-
'11692359521570349358': { error_kind: 'fmtstring', length: 40, item_types: [] },
|
|
326
|
-
'12327971061804302172': { error_kind: 'fmtstring', length: 98, item_types: [] },
|
|
327
|
-
'12469291177396340830': { error_kind: 'string', string: 'call to assert_max_bit_size' },
|
|
328
|
-
'12913276134398371456': { error_kind: 'string', string: 'push out of bounds' },
|
|
329
|
-
'13557316507370296400': {
|
|
330
|
-
error_kind: 'fmtstring',
|
|
331
|
-
length: 130,
|
|
332
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
333
|
-
},
|
|
334
|
-
'14938672389828944159': {
|
|
335
|
-
error_kind: 'fmtstring',
|
|
336
|
-
length: 146,
|
|
337
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
338
|
-
},
|
|
339
|
-
'14990209321349310352': { error_kind: 'string', string: 'attempt to add with overflow' },
|
|
340
|
-
'15764276373176857197': { error_kind: 'string', string: 'Stack too deep' },
|
|
341
|
-
'16431471497789672479': { error_kind: 'string', string: 'Index out of bounds' },
|
|
342
|
-
'17531474008201752295': {
|
|
343
|
-
error_kind: 'fmtstring',
|
|
344
|
-
length: 133,
|
|
345
|
-
item_types: [{ kind: 'integer', sign: 'unsigned', width: 32 }],
|
|
346
|
-
},
|
|
51
|
+
'17655676068928457687': { error_kind: 'string', string: 'Reader did not read all data' },
|
|
347
52
|
},
|
|
348
53
|
},
|
|
349
54
|
bytecode: Buffer.from([]),
|
|
@@ -380,42 +85,6 @@ export class ContractClassRegistryContract extends ContractBase {
|
|
|
380
85
|
}
|
|
381
86
|
|
|
382
87
|
declare public methods: {
|
|
383
|
-
/** broadcast_private_function(contract_class_id: struct, artifact_metadata_hash: field, utility_functions_artifact_tree_root: field, private_function_tree_sibling_path: array, private_function_tree_leaf_index: field, artifact_function_tree_sibling_path: array, artifact_function_tree_leaf_index: field, function_data: struct) */
|
|
384
|
-
broadcast_private_function: ((
|
|
385
|
-
contract_class_id: WrappedFieldLike,
|
|
386
|
-
artifact_metadata_hash: FieldLike,
|
|
387
|
-
utility_functions_artifact_tree_root: FieldLike,
|
|
388
|
-
private_function_tree_sibling_path: FieldLike[],
|
|
389
|
-
private_function_tree_leaf_index: FieldLike,
|
|
390
|
-
artifact_function_tree_sibling_path: FieldLike[],
|
|
391
|
-
artifact_function_tree_leaf_index: FieldLike,
|
|
392
|
-
function_data: { selector: FunctionSelectorLike; metadata_hash: FieldLike; vk_hash: FieldLike },
|
|
393
|
-
) => ContractFunctionInteraction) &
|
|
394
|
-
Pick<ContractMethod, 'selector'>;
|
|
395
|
-
|
|
396
|
-
/** broadcast_utility_function(contract_class_id: struct, artifact_metadata_hash: field, private_functions_artifact_tree_root: field, artifact_function_tree_sibling_path: array, artifact_function_tree_leaf_index: field, function_data: struct) */
|
|
397
|
-
broadcast_utility_function: ((
|
|
398
|
-
contract_class_id: WrappedFieldLike,
|
|
399
|
-
artifact_metadata_hash: FieldLike,
|
|
400
|
-
private_functions_artifact_tree_root: FieldLike,
|
|
401
|
-
artifact_function_tree_sibling_path: FieldLike[],
|
|
402
|
-
artifact_function_tree_leaf_index: FieldLike,
|
|
403
|
-
function_data: { selector: FunctionSelectorLike; metadata_hash: FieldLike },
|
|
404
|
-
) => ContractFunctionInteraction) &
|
|
405
|
-
Pick<ContractMethod, 'selector'>;
|
|
406
|
-
|
|
407
|
-
/** process_message(message_ciphertext: struct, message_context: struct) */
|
|
408
|
-
process_message: ((
|
|
409
|
-
message_ciphertext: FieldLike[],
|
|
410
|
-
message_context: {
|
|
411
|
-
tx_hash: FieldLike;
|
|
412
|
-
unique_note_hashes_in_tx: FieldLike[];
|
|
413
|
-
first_nullifier_in_tx: FieldLike;
|
|
414
|
-
recipient: AztecAddressLike;
|
|
415
|
-
},
|
|
416
|
-
) => ContractFunctionInteraction) &
|
|
417
|
-
Pick<ContractMethod, 'selector'>;
|
|
418
|
-
|
|
419
88
|
/** public_dispatch(selector: field) */
|
|
420
89
|
public_dispatch: ((selector: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
421
90
|
|
|
@@ -426,8 +95,5 @@ export class ContractClassRegistryContract extends ContractBase {
|
|
|
426
95
|
public_bytecode_commitment: FieldLike,
|
|
427
96
|
) => ContractFunctionInteraction) &
|
|
428
97
|
Pick<ContractMethod, 'selector'>;
|
|
429
|
-
|
|
430
|
-
/** sync_state() */
|
|
431
|
-
sync_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
432
98
|
};
|
|
433
99
|
}
|