@aztec/aztec.js 0.0.1-commit.d431d1c → 0.0.1-commit.db765a8
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/abi.d.ts +2 -2
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/block.d.ts +2 -2
- package/dest/api/block.d.ts.map +1 -1
- package/dest/api/block.js +1 -1
- package/dest/api/contract.d.ts +18 -12
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +16 -10
- 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/node.d.ts +8 -4
- package/dest/api/node.d.ts.map +1 -1
- package/dest/api/node.js +7 -3
- package/dest/api/tx.d.ts +2 -2
- package/dest/api/tx.d.ts.map +1 -1
- package/dest/api/tx.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/base_contract_interaction.d.ts +8 -10
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +5 -17
- 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 +17 -8
- package/dest/contract/contract_function_interaction.d.ts +7 -16
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +107 -18
- package/dest/contract/deploy_method.d.ts +91 -19
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +68 -30
- package/dest/contract/get_gas_limits.js +3 -3
- package/dest/contract/interaction_options.d.ts +99 -21
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +41 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts +3 -3
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.js +49 -20
- 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 -671
- 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 +80 -486
- 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 -413
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +3 -3
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +40 -15
- package/dest/contract/protocol_contracts/public-checks.d.ts +3 -3
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/public-checks.js +40 -23
- package/dest/contract/wait_for_proven.js +1 -1
- package/dest/contract/wait_opts.d.ts +16 -0
- package/dest/contract/wait_opts.d.ts.map +1 -0
- package/dest/contract/wait_opts.js +5 -0
- 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/utils/abi_types.d.ts +6 -1
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/abi_types.js +1 -1
- package/dest/utils/authwit.d.ts +6 -6
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +12 -12
- package/dest/utils/node.d.ts +12 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +46 -0
- 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 +31 -6
- 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 +1639 -93
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +186 -27
- package/package.json +20 -11
- package/src/api/abi.ts +1 -0
- package/src/api/block.ts +1 -1
- package/src/api/contract.ts +31 -9
- 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/node.ts +7 -3
- package/src/api/tx.ts +2 -0
- package/src/api/wallet.ts +48 -1
- package/src/contract/base_contract_interaction.ts +28 -15
- package/src/contract/batch_call.ts +17 -14
- package/src/contract/contract_function_interaction.ts +114 -26
- package/src/contract/deploy_method.ts +172 -35
- package/src/contract/get_gas_limits.ts +3 -3
- package/src/contract/interaction_options.ts +141 -23
- package/src/contract/protocol_contracts/auth-registry.ts +13 -14
- package/src/contract/protocol_contracts/contract-class-registry.ts +4 -347
- package/src/contract/protocol_contracts/contract-instance-registry.ts +34 -234
- package/src/contract/protocol_contracts/fee-juice.ts +2 -202
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +11 -13
- package/src/contract/protocol_contracts/public-checks.ts +11 -15
- package/src/contract/wait_for_proven.ts +1 -1
- package/src/contract/wait_opts.ts +21 -0
- 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/utils/abi_types.ts +7 -0
- package/src/utils/authwit.ts +31 -21
- package/src/utils/node.ts +62 -0
- package/src/wallet/capabilities.ts +500 -0
- package/src/wallet/deploy_account_method.ts +56 -4
- package/src/wallet/index.ts +1 -0
- package/src/wallet/wallet.ts +257 -50
- package/dest/contract/deploy_sent_tx.d.ts +0 -48
- package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract/deploy_sent_tx.js +0 -46
- package/dest/contract/sent_tx.d.ts +0 -50
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -90
- 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/contract/deploy_sent_tx.ts +0 -75
- package/src/contract/sent_tx.ts +0 -129
- package/src/deployment/broadcast_function.ts +0 -148
|
@@ -2,15 +2,13 @@ import { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
2
2
|
import { getInitializer } from '@aztec/stdlib/abi';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
5
|
-
import {
|
|
6
|
-
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
5
|
+
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
7
6
|
import { publishContractClass } from '../deployment/publish_class.js';
|
|
8
7
|
import { publishInstance } from '../deployment/publish_instance.js';
|
|
9
8
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
10
9
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
11
|
-
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
12
10
|
import { getGasLimits } from './get_gas_limits.js';
|
|
13
|
-
import { toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
11
|
+
import { NO_WAIT, extractOffchainOutput, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
14
12
|
/**
|
|
15
13
|
* Contract interaction for deployment.
|
|
16
14
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -20,35 +18,40 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
20
18
|
* then technically the contract has already been "created", and all of the contract's
|
|
21
19
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
22
20
|
* "deployment tx".
|
|
23
|
-
*
|
|
24
|
-
* Extends the BaseContractInteraction class.
|
|
25
21
|
*/ export class DeployMethod extends BaseContractInteraction {
|
|
26
22
|
publicKeys;
|
|
27
23
|
artifact;
|
|
28
24
|
postDeployCtor;
|
|
29
25
|
args;
|
|
26
|
+
extraHashedArgs;
|
|
30
27
|
/** The contract instance to be deployed. */ instance;
|
|
31
28
|
/** Constructor function to call. */ constructorArtifact;
|
|
32
|
-
constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = []){
|
|
33
|
-
super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.instance = undefined;
|
|
29
|
+
constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = [], extraHashedArgs = []){
|
|
30
|
+
super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.extraHashedArgs = extraHashedArgs, this.instance = undefined;
|
|
34
31
|
this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
|
|
35
32
|
}
|
|
36
33
|
/**
|
|
37
34
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
38
35
|
* @param options - Configuration options.
|
|
39
36
|
* @returns The execution payload for this operation
|
|
40
|
-
*/ async request(options) {
|
|
37
|
+
*/ async request(options = {}) {
|
|
41
38
|
const publication = await this.getPublicationExecutionPayload(options);
|
|
42
39
|
if (!options?.skipRegistration) {
|
|
43
40
|
await this.wallet.registerContract(await this.getInstance(options), this.artifact);
|
|
44
41
|
}
|
|
42
|
+
const { authWitnesses, capsules } = options;
|
|
43
|
+
// Propagates the included authwitnesses, capsules, and extraHashedArgs
|
|
44
|
+
// potentially baked into the interaction
|
|
45
|
+
const initialExecutionPayload = new ExecutionPayload([], this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
|
|
45
46
|
const initialization = await this.getInitializationExecutionPayload(options);
|
|
46
47
|
const feeExecutionPayload = options?.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
|
|
47
48
|
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
49
|
+
initialExecutionPayload,
|
|
48
50
|
feeExecutionPayload,
|
|
49
51
|
publication,
|
|
50
52
|
initialization
|
|
51
53
|
]) : mergeExecutionPayloads([
|
|
54
|
+
initialExecutionPayload,
|
|
52
55
|
publication,
|
|
53
56
|
initialization
|
|
54
57
|
]);
|
|
@@ -64,6 +67,30 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
64
67
|
};
|
|
65
68
|
}
|
|
66
69
|
/**
|
|
70
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
71
|
+
* @param options - Deploy options with wait parameter
|
|
72
|
+
* @returns Send options with wait parameter
|
|
73
|
+
*/ convertDeployOptionsToSendOptions(options) {
|
|
74
|
+
return {
|
|
75
|
+
...toSendOptions({
|
|
76
|
+
...options,
|
|
77
|
+
wait: options.wait
|
|
78
|
+
})
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
83
|
+
* @param options - The deploy simulation options to convert.
|
|
84
|
+
*/ convertDeployOptionsToSimulateOptions(options) {
|
|
85
|
+
return toSimulateOptions(options);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
89
|
+
* @param options - The deploy profile options to convert.
|
|
90
|
+
*/ convertDeployOptionsToProfileOptions(options) {
|
|
91
|
+
return toProfileOptions(options);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
67
94
|
* Adds this contract to the wallet and returns the Contract object.
|
|
68
95
|
* @param options - Deployment options.
|
|
69
96
|
*/ async register(options) {
|
|
@@ -122,21 +149,36 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
122
149
|
}
|
|
123
150
|
return mergeExecutionPayloads(executionsPayloads);
|
|
124
151
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
152
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
153
|
+
async send(options) {
|
|
154
|
+
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
155
|
+
const sendOptions = this.convertDeployOptionsToSendOptions(options);
|
|
156
|
+
if (options.wait === NO_WAIT) {
|
|
157
|
+
const result = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
158
|
+
this.log.debug(`Sent deployment tx ${result.txHash.hash} of ${this.artifact.name} contract`);
|
|
159
|
+
return result;
|
|
160
|
+
}
|
|
161
|
+
const { receipt, ...offchainOutput } = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
162
|
+
this.log.debug(`Deployed ${this.artifact.name} contract in tx ${receipt.txHash}`);
|
|
163
|
+
// Attach contract instance
|
|
164
|
+
const instance = await this.getInstance(options);
|
|
165
|
+
const contract = this.postDeployCtor(instance, this.wallet);
|
|
166
|
+
// Return full receipt if requested, otherwise just the contract
|
|
167
|
+
if (options.wait && typeof options.wait === 'object' && options.wait.returnReceipt) {
|
|
168
|
+
return {
|
|
169
|
+
receipt: {
|
|
170
|
+
...receipt,
|
|
171
|
+
contract,
|
|
172
|
+
instance
|
|
173
|
+
},
|
|
174
|
+
...offchainOutput
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
return {
|
|
178
|
+
contract,
|
|
179
|
+
receipt,
|
|
180
|
+
...offchainOutput
|
|
137
181
|
};
|
|
138
|
-
this.log.debug(`Sent deployment tx of ${this.artifact.name} contract`);
|
|
139
|
-
return new DeploySentTx(this.wallet, sendTx, this.postDeployCtor, ()=>this.getInstance(options));
|
|
140
182
|
}
|
|
141
183
|
/**
|
|
142
184
|
* Builds the contract instance and returns it.
|
|
@@ -163,12 +205,12 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
163
205
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
164
206
|
*/ async simulate(options) {
|
|
165
207
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
166
|
-
const simulatedTx = await this.wallet.simulateTx(executionPayload,
|
|
208
|
+
const simulatedTx = await this.wallet.simulateTx(executionPayload, this.convertDeployOptionsToSimulateOptions(options));
|
|
167
209
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
168
210
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
169
211
|
return {
|
|
170
212
|
stats: simulatedTx.stats,
|
|
171
|
-
|
|
213
|
+
...extractOffchainOutput(simulatedTx.offchainEffects),
|
|
172
214
|
result: undefined,
|
|
173
215
|
estimatedGas: {
|
|
174
216
|
gasLimits,
|
|
@@ -183,11 +225,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
183
225
|
* @returns An object containing the function return value and profile result.
|
|
184
226
|
*/ async profile(options) {
|
|
185
227
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
186
|
-
return await this.wallet.profileTx(executionPayload,
|
|
187
|
-
...toProfileOptions(options),
|
|
188
|
-
profileMode: options.profileMode,
|
|
189
|
-
skipProofGeneration: options.skipProofGeneration
|
|
190
|
-
});
|
|
228
|
+
return await this.wallet.profileTx(executionPayload, this.convertDeployOptionsToProfileOptions(options));
|
|
191
229
|
}
|
|
192
230
|
/** Return this deployment address. */ get address() {
|
|
193
231
|
return this.instance?.address;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
2
2
|
/**
|
|
3
3
|
* Returns suggested total and teardown gas limits for a simulated tx.
|
|
4
4
|
* @param pad - Percentage to pad the suggested gas limits by, (as decimal, e.g., 0.10 for 10%).
|
|
@@ -6,8 +6,8 @@ import { AVM_MAX_PROCESSABLE_L2_GAS } from '@aztec/constants';
|
|
|
6
6
|
// Total gas does not use the teardown gas limit, but the actual total gas used by the tx.
|
|
7
7
|
const gasLimits = simulationResult.gasUsed.totalGas.mul(1 + pad);
|
|
8
8
|
const teardownGasLimits = simulationResult.gasUsed.teardownGas.mul(1 + pad);
|
|
9
|
-
if (gasLimits.l2Gas >
|
|
10
|
-
throw new Error('Transaction consumes more gas than the
|
|
9
|
+
if (gasLimits.l2Gas > MAX_PROCESSABLE_L2_GAS) {
|
|
10
|
+
throw new Error('Transaction consumes more l2 gas than the maximum processable gas');
|
|
11
11
|
}
|
|
12
12
|
return {
|
|
13
13
|
gasLimits,
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
1
2
|
import type { FieldsOf } from '@aztec/foundation/types';
|
|
2
3
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
3
|
-
import
|
|
4
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
5
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
5
|
-
import type
|
|
6
|
+
import { type Capsule, type OffchainEffect, type SimulationStats, type TxHash, type TxReceipt } from '@aztec/stdlib/tx';
|
|
6
7
|
import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
7
8
|
import type { ProfileOptions, SendOptions, SimulateOptions } from '../wallet/index.js';
|
|
9
|
+
import type { WaitOpts } from './wait_opts.js';
|
|
8
10
|
/**
|
|
9
11
|
* Options used to tweak the simulation and add gas estimation capabilities
|
|
10
12
|
*/
|
|
@@ -47,13 +49,48 @@ export type RequestInteractionOptions = {
|
|
|
47
49
|
fee?: FeePaymentMethodOption;
|
|
48
50
|
};
|
|
49
51
|
/**
|
|
50
|
-
*
|
|
52
|
+
* Constant for explicitly not waiting for transaction confirmation.
|
|
53
|
+
* We use this instead of false to avoid confusion with falsy checks.
|
|
54
|
+
*/
|
|
55
|
+
export declare const NO_WAIT: "NO_WAIT";
|
|
56
|
+
/**
|
|
57
|
+
* Type for the NO_WAIT constant.
|
|
51
58
|
*/
|
|
52
|
-
export type
|
|
59
|
+
export type NoWait = typeof NO_WAIT;
|
|
60
|
+
/**
|
|
61
|
+
* Type for wait options in interactions.
|
|
62
|
+
* - NO_WAIT symbol: Don't wait for confirmation, return TxHash immediately
|
|
63
|
+
* - WaitOpts object: Wait with custom options and return receipt/result
|
|
64
|
+
* - undefined: Wait with default options and return receipt/result
|
|
65
|
+
*/
|
|
66
|
+
export type InteractionWaitOptions = NoWait | WaitOpts | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Base options for calling a (constrained) function in a contract, without wait parameter.
|
|
69
|
+
*/
|
|
70
|
+
export type SendInteractionOptionsWithoutWait = RequestInteractionOptions & {
|
|
53
71
|
/** The sender's Aztec address. */
|
|
54
72
|
from: AztecAddress;
|
|
55
73
|
/** The fee options for the transaction. */
|
|
56
74
|
fee?: InteractionFeeOptions;
|
|
75
|
+
/**
|
|
76
|
+
* Additional addresses whose private state and keys should be accessible during execution,
|
|
77
|
+
* beyond the sender's. Required when the transaction needs to access private state or keys
|
|
78
|
+
* belonging to an address other than `from`, e.g. withdrawing from an escrow that holds
|
|
79
|
+
* its own private notes.
|
|
80
|
+
*/
|
|
81
|
+
additionalScopes?: AztecAddress[];
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Represents options for calling a (constrained) function in a contract.
|
|
85
|
+
*/
|
|
86
|
+
export type SendInteractionOptions<W extends InteractionWaitOptions = undefined> = SendInteractionOptionsWithoutWait & {
|
|
87
|
+
/**
|
|
88
|
+
* Whether to wait for the transaction to be mined.
|
|
89
|
+
* - undefined (default): wait with default options and return TxReceipt
|
|
90
|
+
* - WaitOpts object: wait with custom options and return TxReceipt
|
|
91
|
+
* - NO_WAIT: return txHash immediately without waiting
|
|
92
|
+
*/
|
|
93
|
+
wait?: W;
|
|
57
94
|
};
|
|
58
95
|
/**
|
|
59
96
|
* Represents the options for simulating a contract function interaction.
|
|
@@ -67,8 +104,8 @@ export type SimulateInteractionOptions = Omit<SendInteractionOptions, 'fee'> & {
|
|
|
67
104
|
skipTxValidation?: boolean;
|
|
68
105
|
/** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
|
|
69
106
|
skipFeeEnforcement?: boolean;
|
|
70
|
-
/** Whether to include metadata such as
|
|
71
|
-
* the simulation result,
|
|
107
|
+
/** Whether to include metadata such as performance statistics (e.g. timing information of the different circuits and oracles) and gas estimation
|
|
108
|
+
* in the simulation result, in addition to the return value and offchain effects */
|
|
72
109
|
includeMetadata?: boolean;
|
|
73
110
|
};
|
|
74
111
|
/**
|
|
@@ -80,27 +117,68 @@ export type ProfileInteractionOptions = SimulateInteractionOptions & {
|
|
|
80
117
|
/** Whether to generate a Chonk proof or not */
|
|
81
118
|
skipProofGeneration?: boolean;
|
|
82
119
|
};
|
|
120
|
+
/** A message emitted during execution or proving, to be delivered offchain. */
|
|
121
|
+
export type OffchainMessage = {
|
|
122
|
+
/** The intended recipient of the message. */
|
|
123
|
+
recipient: AztecAddress;
|
|
124
|
+
/** The message payload (typically encrypted). */
|
|
125
|
+
payload: Fr[];
|
|
126
|
+
/** The contract that emitted the message. */
|
|
127
|
+
contractAddress: AztecAddress;
|
|
128
|
+
};
|
|
129
|
+
/** Groups all unproven outputs from private execution that are returned to the client. */
|
|
130
|
+
export type OffchainOutput = {
|
|
131
|
+
/** Raw offchain effects emitted during execution. */
|
|
132
|
+
offchainEffects: OffchainEffect[];
|
|
133
|
+
/** Messages emitted during execution, to be delivered offchain. */
|
|
134
|
+
offchainMessages: OffchainMessage[];
|
|
135
|
+
};
|
|
83
136
|
/**
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
* it will provide extra information.
|
|
137
|
+
* Splits an array of offchain effects into decoded offchain messages and remaining effects.
|
|
138
|
+
* Effects whose data starts with `OFFCHAIN_MESSAGE_IDENTIFIER` are parsed as messages and removed
|
|
139
|
+
* from the effects array.
|
|
88
140
|
*/
|
|
89
|
-
export
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
141
|
+
export declare function extractOffchainOutput(effects: OffchainEffect[]): OffchainOutput;
|
|
142
|
+
/**
|
|
143
|
+
* Returns an empty `OffchainOutput` (no effects, no messages).
|
|
144
|
+
*/
|
|
145
|
+
export declare function emptyOffchainOutput(): OffchainOutput;
|
|
146
|
+
/**
|
|
147
|
+
* Represents the result of a simulation.
|
|
148
|
+
* Always includes the return value and offchain output.
|
|
149
|
+
* When `includeMetadata` or `fee.estimateGas` is set, also includes stats and gas estimation.
|
|
150
|
+
*/
|
|
151
|
+
export type SimulationResult = {
|
|
152
|
+
/** Return value of the function */
|
|
95
153
|
result: any;
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
154
|
+
/** Additional stats about the simulation. Present when `includeMetadata` is set. */
|
|
155
|
+
stats?: SimulationStats;
|
|
156
|
+
/** Gas estimation results. Present when `includeMetadata` or `fee.estimateGas` is set. */
|
|
157
|
+
estimatedGas?: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>;
|
|
158
|
+
} & OffchainOutput;
|
|
159
|
+
/** Result of sendTx when not waiting for mining. */
|
|
160
|
+
export type TxSendResultImmediate = {
|
|
161
|
+
/** The hash of the sent transaction. */
|
|
162
|
+
txHash: TxHash;
|
|
163
|
+
} & OffchainOutput;
|
|
164
|
+
/** Result of sendTx when waiting for mining. */
|
|
165
|
+
export type TxSendResultMined<TReturn = TxReceipt> = {
|
|
166
|
+
/** The transaction receipt. */
|
|
167
|
+
receipt: TReturn;
|
|
168
|
+
} & OffchainOutput;
|
|
169
|
+
/**
|
|
170
|
+
* Represents the result type of sending a transaction.
|
|
171
|
+
* If `wait` is NO_WAIT, returns TxSendResultImmediate.
|
|
172
|
+
* Otherwise returns TxSendResultMined.
|
|
173
|
+
*/
|
|
174
|
+
export type SendReturn<T extends InteractionWaitOptions, TReturn = TxReceipt> = T extends NoWait ? TxSendResultImmediate : TxSendResultMined<TReturn>;
|
|
99
175
|
/**
|
|
100
176
|
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
101
177
|
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
178
|
+
* @param options - The send interaction options with optional wait parameter
|
|
179
|
+
* @returns The send options to forward to the wallet
|
|
102
180
|
*/
|
|
103
|
-
export declare function toSendOptions(options: SendInteractionOptions): SendOptions
|
|
181
|
+
export declare function toSendOptions<W extends InteractionWaitOptions = undefined>(options: SendInteractionOptions<W>): SendOptions<W>;
|
|
104
182
|
/**
|
|
105
183
|
* Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
|
|
106
184
|
* SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
@@ -111,4 +189,4 @@ export declare function toSimulateOptions(options: SimulateInteractionOptions):
|
|
|
111
189
|
* ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
112
190
|
*/
|
|
113
191
|
export declare function toProfileOptions(options: ProfileInteractionOptions): ProfileOptions;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
192
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25fb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2ludGVyYWN0aW9uX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFDTCxLQUFLLE9BQU8sRUFFWixLQUFLLGNBQWMsRUFDbkIsS0FBSyxlQUFlLEVBQ3BCLEtBQUssTUFBTSxFQUNYLEtBQUssU0FBUyxFQUNmLE1BQU0sa0JBQWtCLENBQUM7QUFFMUIsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEtBQUssRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3ZGLE9BQU8sS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHO0lBQ2pDLGtIQUFrSDtJQUNsSCxXQUFXLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDdEIscUhBQXFIO0lBQ3JILG1CQUFtQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzlCLENBQUM7QUFFRjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sc0JBQXNCLEdBQUc7SUFDbkMscURBQXFEO0lBQ3JELGFBQWEsQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0NBQ2xDLENBQUM7QUFFRjs7O0dBR0c7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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,45 @@
|
|
|
1
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
|
+
import { OFFCHAIN_MESSAGE_IDENTIFIER } from '@aztec/stdlib/tx';
|
|
3
|
+
/**
|
|
4
|
+
* Constant for explicitly not waiting for transaction confirmation.
|
|
5
|
+
* We use this instead of false to avoid confusion with falsy checks.
|
|
6
|
+
*/ export const NO_WAIT = 'NO_WAIT';
|
|
7
|
+
/**
|
|
8
|
+
* Splits an array of offchain effects into decoded offchain messages and remaining effects.
|
|
9
|
+
* Effects whose data starts with `OFFCHAIN_MESSAGE_IDENTIFIER` are parsed as messages and removed
|
|
10
|
+
* from the effects array.
|
|
11
|
+
*/ export function extractOffchainOutput(effects) {
|
|
12
|
+
const offchainEffects = [];
|
|
13
|
+
const offchainMessages = [];
|
|
14
|
+
for (const effect of effects){
|
|
15
|
+
if (effect.data.length >= 2 && effect.data[0].equals(OFFCHAIN_MESSAGE_IDENTIFIER)) {
|
|
16
|
+
offchainMessages.push({
|
|
17
|
+
recipient: AztecAddress.fromField(effect.data[1]),
|
|
18
|
+
payload: effect.data.slice(2),
|
|
19
|
+
contractAddress: effect.contractAddress
|
|
20
|
+
});
|
|
21
|
+
} else {
|
|
22
|
+
offchainEffects.push(effect);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
offchainEffects,
|
|
27
|
+
offchainMessages
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns an empty `OffchainOutput` (no effects, no messages).
|
|
32
|
+
*/ export function emptyOffchainOutput() {
|
|
33
|
+
return {
|
|
34
|
+
offchainEffects: [],
|
|
35
|
+
offchainMessages: []
|
|
36
|
+
};
|
|
37
|
+
}
|
|
1
38
|
/**
|
|
2
39
|
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
3
40
|
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
41
|
+
* @param options - The send interaction options with optional wait parameter
|
|
42
|
+
* @returns The send options to forward to the wallet
|
|
4
43
|
*/ export function toSendOptions(options) {
|
|
5
44
|
return {
|
|
6
45
|
...options,
|
|
@@ -12,7 +51,8 @@
|
|
|
12
51
|
...options.fee?.paymentMethod?.getGasSettings(),
|
|
13
52
|
...options.fee?.gasSettings
|
|
14
53
|
}
|
|
15
|
-
}
|
|
54
|
+
},
|
|
55
|
+
wait: options.wait
|
|
16
56
|
};
|
|
17
57
|
}
|
|
18
58
|
/**
|
|
@@ -27,10 +27,10 @@ export declare class AuthRegistryContract extends ContractBase {
|
|
|
27
27
|
set_authorized_private: ((approver: AztecAddressLike, message_hash: FieldLike, authorize: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
28
28
|
/** set_reject_all(reject: boolean) */
|
|
29
29
|
set_reject_all: ((reject: boolean) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
30
|
-
/**
|
|
31
|
-
|
|
30
|
+
/** sync_state() */
|
|
31
|
+
sync_state: (() => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
32
32
|
/** utility_is_consumable(on_behalf_of: struct, message_hash: field) */
|
|
33
33
|
utility_is_consumable: ((on_behalf_of: AztecAddressLike, message_hash: FieldLike) => ContractFunctionInteraction) & Pick<ContractMethod, 'selector'>;
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1yZWdpc3RyeS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0L3Byb3RvY29sX2NvbnRyYWN0cy9hdXRoLXJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE9BQU8sS0FBSyxFQUNWLGdCQUFnQixFQUVoQixTQUFTLEVBR1YsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUE4ZGxGLHFCQUFhLG9CQUFxQixTQUFRLFlBQVk7SUFDcEQsT0FBTyxlQUVOO0lBRUQsT0FBYyxFQUFFLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxvQkFBb0IsQ0FFckQ7SUFFYyxPQUFPLEVBQUU7UUFDdEIsdURBQXVEO1FBQ3ZELE9BQU8sRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxTQUFTLEtBQUssMkJBQTJCLENBQUMsR0FDL0YsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuQywrREFBK0Q7UUFDL0QsYUFBYSxFQUFFLENBQUMsQ0FBQyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsS0FBSywyQkFBMkIsQ0FBQyxHQUN2RyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLDBDQUEwQztRQUMxQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsS0FBSywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFFcEgsMkVBQTJFO1FBQzNFLGVBQWUsRUFBRSxDQUFDLENBQ2hCLGtCQUFrQixFQUFFLFNBQVMsRUFBRSxFQUMvQixlQUFlLEVBQUU7WUFDZixPQUFPLEVBQUUsU0FBUyxDQUFDO1lBQ25CLHdCQUF3QixFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQztZQUNqQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7U0FDN0IsS0FDRSwyQkFBMkIsQ0FBQyxHQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHVDQUF1QztRQUN2QyxlQUFlLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxTQUFTLEtBQUssMkJBQTJCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTNHLDhEQUE4RDtRQUM5RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sS0FBSywyQkFBMkIsQ0FBQyxHQUM1RixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHdGQUF3RjtRQUN4RixzQkFBc0IsRUFBRSxDQUFDLENBQ3ZCLFFBQVEsRUFBRSxnQkFBZ0IsRUFDMUIsWUFBWSxFQUFFLFNBQVMsRUFDdkIsU0FBUyxFQUFFLE9BQU8sS0FDZiwyQkFBMkIsQ0FBQyxHQUMvQixJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRW5DLHNDQUFzQztRQUN0QyxjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEtBQUssMkJBQTJCLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXRHLG1CQUFtQjtRQUNuQixVQUFVLEVBQUUsQ0FBQyxNQUFNLDJCQUEyQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUVuRix1RUFBdUU7UUFDdkUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsU0FBUyxLQUFLLDJCQUEyQixDQUFDLEdBQy9HLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLENBQUM7S0FDcEMsQ0FBQztDQUNIIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-registry.d.ts","sourceRoot":"","sources":["../../../src/contract/protocol_contracts/auth-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAEhB,SAAS,EAGV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-registry.d.ts","sourceRoot":"","sources":["../../../src/contract/protocol_contracts/auth-registry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,gBAAgB,EAEhB,SAAS,EAGV,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AA8dlF,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,eAEN;IAED,OAAc,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,oBAAoB,CAErD;IAEc,OAAO,EAAE;QACtB,uDAAuD;QACvD,OAAO,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAC/F,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,+DAA+D;QAC/D,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,KAAK,2BAA2B,CAAC,GACvG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,0CAA0C;QAC1C,aAAa,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEpH,2EAA2E;QAC3E,eAAe,EAAE,CAAC,CAChB,kBAAkB,EAAE,SAAS,EAAE,EAC/B,eAAe,EAAE;YACf,OAAO,EAAE,SAAS,CAAC;YACnB,wBAAwB,EAAE,SAAS,EAAE,CAAC;YACtC,qBAAqB,EAAE,SAAS,CAAC;YACjC,SAAS,EAAE,gBAAgB,CAAC;SAC7B,KACE,2BAA2B,CAAC,GAC/B,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,uCAAuC;QACvC,eAAe,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAE3G,8DAA8D;QAC9D,cAAc,EAAE,CAAC,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,KAAK,2BAA2B,CAAC,GAC5F,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,wFAAwF;QACxF,sBAAsB,EAAE,CAAC,CACvB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,OAAO,KACf,2BAA2B,CAAC,GAC/B,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnC,sCAAsC;QACtC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEtG,mBAAmB;QACnB,UAAU,EAAE,CAAC,MAAM,2BAA2B,CAAC,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;QAEnF,uEAAuE;QACvE,qBAAqB,EAAE,CAAC,CAAC,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,KAAK,2BAA2B,CAAC,GAC/G,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;KACpC,CAAC;CACH"}
|
|
@@ -45,19 +45,23 @@ const AuthRegistryContractArtifact = {
|
|
|
45
45
|
],
|
|
46
46
|
returnTypes: [],
|
|
47
47
|
errorTypes: {
|
|
48
|
-
'2754040237334517471': {
|
|
49
|
-
error_kind: 'fmtstring',
|
|
50
|
-
length: 92,
|
|
51
|
-
item_types: []
|
|
52
|
-
},
|
|
53
48
|
'7555607922535724711': {
|
|
54
49
|
error_kind: 'string',
|
|
55
50
|
string: 'Preimage mismatch'
|
|
56
51
|
},
|
|
52
|
+
'9530675838293881722': {
|
|
53
|
+
error_kind: 'string',
|
|
54
|
+
string: 'Writer did not write all data'
|
|
55
|
+
},
|
|
57
56
|
'9894212961085021188': {
|
|
58
57
|
error_kind: 'string',
|
|
59
58
|
string: 'Message not authorized by account'
|
|
60
59
|
},
|
|
60
|
+
'12327971061804302172': {
|
|
61
|
+
error_kind: 'fmtstring',
|
|
62
|
+
length: 98,
|
|
63
|
+
item_types: []
|
|
64
|
+
},
|
|
61
65
|
'14990209321349310352': {
|
|
62
66
|
error_kind: 'string',
|
|
63
67
|
string: 'attempt to add with overflow'
|
|
@@ -159,7 +163,7 @@ const AuthRegistryContractArtifact = {
|
|
|
159
163
|
name: 'storage',
|
|
160
164
|
type: {
|
|
161
165
|
kind: 'array',
|
|
162
|
-
length:
|
|
166
|
+
length: 15,
|
|
163
167
|
type: {
|
|
164
168
|
kind: 'field'
|
|
165
169
|
}
|
|
@@ -300,13 +304,26 @@ const AuthRegistryContractArtifact = {
|
|
|
300
304
|
error_kind: 'string',
|
|
301
305
|
string: 'Input length must be a multiple of 32'
|
|
302
306
|
},
|
|
303
|
-
'
|
|
307
|
+
'5417577161503694006': {
|
|
308
|
+
error_kind: 'fmtstring',
|
|
309
|
+
length: 56,
|
|
310
|
+
item_types: [
|
|
311
|
+
{
|
|
312
|
+
kind: 'field'
|
|
313
|
+
}
|
|
314
|
+
]
|
|
315
|
+
},
|
|
316
|
+
'5421095327929394772': {
|
|
304
317
|
error_kind: 'string',
|
|
305
|
-
string: '
|
|
318
|
+
string: 'attempt to bit-shift with overflow'
|
|
306
319
|
},
|
|
307
|
-
'
|
|
320
|
+
'9530675838293881722': {
|
|
308
321
|
error_kind: 'string',
|
|
309
|
-
string: '
|
|
322
|
+
string: 'Writer did not write all data'
|
|
323
|
+
},
|
|
324
|
+
'9791669845391776238': {
|
|
325
|
+
error_kind: 'string',
|
|
326
|
+
string: '0 has a square root; you cannot claim it is not square'
|
|
310
327
|
},
|
|
311
328
|
'10135509984888824963': {
|
|
312
329
|
error_kind: 'fmtstring',
|
|
@@ -321,20 +338,11 @@ const AuthRegistryContractArtifact = {
|
|
|
321
338
|
error_kind: 'string',
|
|
322
339
|
string: 'extend_from_bounded_vec out of bounds'
|
|
323
340
|
},
|
|
324
|
-
'11021520179822076911': {
|
|
325
|
-
error_kind: 'string',
|
|
326
|
-
string: 'Attempted to delete past the length of a CapsuleArray'
|
|
327
|
-
},
|
|
328
341
|
'11692359521570349358': {
|
|
329
342
|
error_kind: 'fmtstring',
|
|
330
343
|
length: 40,
|
|
331
344
|
item_types: []
|
|
332
345
|
},
|
|
333
|
-
'12327971061804302172': {
|
|
334
|
-
error_kind: 'fmtstring',
|
|
335
|
-
length: 98,
|
|
336
|
-
item_types: []
|
|
337
|
-
},
|
|
338
346
|
'12469291177396340830': {
|
|
339
347
|
error_kind: 'string',
|
|
340
348
|
string: 'call to assert_max_bit_size'
|
|
@@ -472,7 +480,7 @@ const AuthRegistryContractArtifact = {
|
|
|
472
480
|
{
|
|
473
481
|
...{
|
|
474
482
|
functionType: FunctionType.UTILITY,
|
|
475
|
-
name: '
|
|
483
|
+
name: 'sync_state',
|
|
476
484
|
isOnlySelf: false,
|
|
477
485
|
isStatic: false,
|
|
478
486
|
isInitializer: false,
|
|
@@ -534,6 +542,23 @@ const AuthRegistryContractArtifact = {
|
|
|
534
542
|
error_kind: 'string',
|
|
535
543
|
string: 'Input length must be a multiple of 32'
|
|
536
544
|
},
|
|
545
|
+
'5417577161503694006': {
|
|
546
|
+
error_kind: 'fmtstring',
|
|
547
|
+
length: 56,
|
|
548
|
+
item_types: [
|
|
549
|
+
{
|
|
550
|
+
kind: 'field'
|
|
551
|
+
}
|
|
552
|
+
]
|
|
553
|
+
},
|
|
554
|
+
'5421095327929394772': {
|
|
555
|
+
error_kind: 'string',
|
|
556
|
+
string: 'attempt to bit-shift with overflow'
|
|
557
|
+
},
|
|
558
|
+
'9530675838293881722': {
|
|
559
|
+
error_kind: 'string',
|
|
560
|
+
string: 'Writer did not write all data'
|
|
561
|
+
},
|
|
537
562
|
'9791669845391776238': {
|
|
538
563
|
error_kind: 'string',
|
|
539
564
|
string: '0 has a square root; you cannot claim it is not square'
|
|
@@ -621,6 +646,10 @@ const AuthRegistryContractArtifact = {
|
|
|
621
646
|
width: 32
|
|
622
647
|
}
|
|
623
648
|
]
|
|
649
|
+
},
|
|
650
|
+
'17655676068928457687': {
|
|
651
|
+
error_kind: 'string',
|
|
652
|
+
string: 'Reader did not read all data'
|
|
624
653
|
}
|
|
625
654
|
}
|
|
626
655
|
},
|