@aztec/aztec.js 3.0.0-nightly.20251111 → 3.0.0-nightly.20251113
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/account/account.d.ts +1 -2
- package/dest/account/account.d.ts.map +1 -1
- package/dest/account/signerless_account.d.ts +1 -2
- package/dest/account/signerless_account.d.ts.map +1 -1
- package/dest/api/contract.d.ts +1 -1
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/tx.d.ts +1 -1
- package/dest/api/tx.d.ts.map +1 -1
- package/dest/api/tx.js +1 -1
- package/dest/api/wallet.d.ts +1 -1
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +1 -1
- package/dest/contract/base_contract_interaction.d.ts +1 -2
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +1 -1
- package/dest/contract/batch_call.d.ts +1 -1
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +9 -8
- package/dest/contract/contract_function_interaction.d.ts +1 -1
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +9 -6
- package/dest/contract/deploy_method.d.ts +1 -1
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +4 -4
- package/dest/contract/interaction_options.d.ts +3 -3
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +4 -10
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.js +2 -2
- package/dest/fee/fee_payment_method.d.ts +1 -1
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.d.ts +1 -1
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +3 -3
- package/dest/fee/public_fee_payment_method.d.ts +1 -1
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +3 -3
- package/dest/fee/sponsored_fee_payment.d.ts +1 -1
- package/dest/fee/sponsored_fee_payment.d.ts.map +1 -1
- package/dest/fee/sponsored_fee_payment.js +2 -2
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +20 -4
- package/dest/utils/fee_juice.d.ts +1 -1
- package/dest/utils/fee_juice.js +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.js +2 -2
- package/dest/wallet/base_wallet.d.ts +16 -14
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +27 -26
- package/dest/wallet/deploy_account_method.d.ts +1 -1
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/deploy_account_method.js +1 -1
- package/dest/wallet/wallet.d.ts +214 -915
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +8 -10
- package/package.json +8 -8
- package/src/account/account.ts +1 -2
- package/src/account/signerless_account.ts +1 -2
- package/src/api/contract.ts +1 -0
- package/src/api/tx.ts +1 -0
- package/src/api/wallet.ts +1 -2
- package/src/contract/base_contract_interaction.ts +2 -3
- package/src/contract/batch_call.ts +7 -5
- package/src/contract/contract_function_interaction.ts +10 -11
- package/src/contract/deploy_method.ts +4 -4
- package/src/contract/interaction_options.ts +4 -10
- package/src/fee/fee_juice_payment_method_with_claim.ts +3 -1
- package/src/fee/fee_payment_method.ts +1 -1
- package/src/fee/private_fee_payment_method.ts +4 -2
- package/src/fee/public_fee_payment_method.ts +4 -2
- package/src/fee/sponsored_fee_payment.ts +3 -1
- package/src/utils/authwit.ts +15 -4
- package/src/utils/fee_juice.ts +1 -1
- package/src/wallet/account_entrypoint_meta_payment_method.ts +2 -1
- package/src/wallet/base_wallet.ts +43 -32
- package/src/wallet/deploy_account_method.ts +1 -1
- package/src/wallet/wallet.ts +12 -24
package/dest/utils/authwit.js
CHANGED
|
@@ -101,11 +101,27 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
|
|
|
101
101
|
name: 'lookup_validity',
|
|
102
102
|
isInitializer: false,
|
|
103
103
|
functionType: FunctionType.UTILITY,
|
|
104
|
-
|
|
104
|
+
isOnlySelf: false,
|
|
105
105
|
isStatic: false,
|
|
106
106
|
parameters: [
|
|
107
107
|
{
|
|
108
|
-
name: '
|
|
108
|
+
name: 'consumer',
|
|
109
|
+
type: {
|
|
110
|
+
fields: [
|
|
111
|
+
{
|
|
112
|
+
name: 'inner',
|
|
113
|
+
type: {
|
|
114
|
+
kind: 'field'
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
kind: 'struct',
|
|
119
|
+
path: 'aztec::protocol_types::address::aztec_address::AztecAddress'
|
|
120
|
+
},
|
|
121
|
+
visibility: 'private'
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'inner_hash',
|
|
109
125
|
type: {
|
|
110
126
|
kind: 'field'
|
|
111
127
|
},
|
|
@@ -137,7 +153,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
|
|
|
137
153
|
name: 'utility_is_consumable',
|
|
138
154
|
isInitializer: false,
|
|
139
155
|
functionType: FunctionType.UTILITY,
|
|
140
|
-
|
|
156
|
+
isOnlySelf: false,
|
|
141
157
|
isStatic: false,
|
|
142
158
|
parameters: [
|
|
143
159
|
{
|
|
@@ -230,7 +246,7 @@ import { ContractFunctionInteraction } from '../contract/contract_function_inter
|
|
|
230
246
|
name: 'set_authorized',
|
|
231
247
|
isInitializer: false,
|
|
232
248
|
functionType: FunctionType.PUBLIC,
|
|
233
|
-
|
|
249
|
+
isOnlySelf: true,
|
|
234
250
|
isStatic: false,
|
|
235
251
|
parameters: [
|
|
236
252
|
{
|
|
@@ -2,7 +2,7 @@ import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
|
2
2
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
3
3
|
/**
|
|
4
4
|
* Returns the owner's fee juice balance.
|
|
5
|
-
* Note: This is used only
|
|
5
|
+
* Note: This is used only e2e_local_network_example test. TODO: Consider nuking.
|
|
6
6
|
*/
|
|
7
7
|
export declare function getFeeJuiceBalance(owner: AztecAddress, node: AztecNode): Promise<bigint>;
|
|
8
8
|
//# sourceMappingURL=fee_juice.d.ts.map
|
package/dest/utils/fee_juice.js
CHANGED
|
@@ -3,7 +3,7 @@ import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
|
3
3
|
import { deriveStorageSlotInMap } from '@aztec/stdlib/hash';
|
|
4
4
|
/**
|
|
5
5
|
* Returns the owner's fee juice balance.
|
|
6
|
-
* Note: This is used only
|
|
6
|
+
* Note: This is used only e2e_local_network_example test. TODO: Consider nuking.
|
|
7
7
|
*/ export async function getFeeJuiceBalance(owner, node) {
|
|
8
8
|
const slot = await deriveStorageSlotInMap(new Fr(1), owner);
|
|
9
9
|
return (await node.getPublicStorageAt('latest', ProtocolContractAddress.FeeJuice, slot)).toBigInt();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { type ContractArtifact, type FunctionArtifact } from '@aztec/stdlib/abi';
|
|
3
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
3
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
4
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
5
5
|
import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
6
6
|
import type { Wallet } from './index.js';
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_entrypoint_meta_payment_method.d.ts","sourceRoot":"","sources":["../../src/wallet/account_entrypoint_meta_payment_method.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account_entrypoint_meta_payment_method.d.ts","sourceRoot":"","sources":["../../src/wallet/account_entrypoint_meta_payment_method.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;GAcG;AACH,qBAAa,kCAAmC,YAAW,gBAAgB;IAEvE,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa,CAAC;gBAJd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,wBAAwB,EAAE,MAAM,GAAG,gBAAgB,EACnD,cAAc,EAAE,YAAY,EAC5B,aAAa,CAAC,EAAE,gBAAgB,YAAA;IAG1C,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3B,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAoDtD,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAIpC,cAAc,IAAI,WAAW,GAAG,SAAS;CAG1C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { AccountFeePaymentMethodOptions } from '@aztec/entrypoints/account';
|
|
2
2
|
import { EncodedAppEntrypointCalls } from '@aztec/entrypoints/encoding';
|
|
3
|
-
import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
4
3
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
5
4
|
import { FunctionCall, FunctionSelector, encodeArguments, getFunctionArtifactByName } from '@aztec/stdlib/abi';
|
|
5
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
6
6
|
/**
|
|
7
7
|
* Fee payment method that allows an account contract to pay for its own deployment
|
|
8
8
|
* It works by rerouting the provided fee payment method through the account's entrypoint,
|
|
@@ -65,7 +65,7 @@ import { FunctionCall, FunctionSelector, encodeArguments, getFunctionArtifactByN
|
|
|
65
65
|
], [
|
|
66
66
|
payloadAuthWitness,
|
|
67
67
|
...feeAuthwitnesses
|
|
68
|
-
], [], feeEncodedCalls.hashedArguments);
|
|
68
|
+
], [], feeEncodedCalls.hashedArguments, feePayer);
|
|
69
69
|
}
|
|
70
70
|
getFeePayer() {
|
|
71
71
|
return this.paymentMethod?.getFeePayer() ?? Promise.resolve(this.accountAddress);
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { AccountFeePaymentMethodOptions } from '@aztec/entrypoints/account';
|
|
2
2
|
import type { ChainInfo } from '@aztec/entrypoints/interfaces';
|
|
3
|
-
import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
4
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
|
-
import
|
|
4
|
+
import type { FieldsOf } from '@aztec/foundation/types';
|
|
5
|
+
import { type ContractArtifact, type EventMetadataDefinition, type FunctionCall } from '@aztec/stdlib/abi';
|
|
6
6
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
7
7
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
8
|
import { type ContractClassMetadata, type ContractInstanceWithAddress, type ContractInstantiationData, type ContractMetadata } from '@aztec/stdlib/contract';
|
|
9
9
|
import { GasSettings } from '@aztec/stdlib/gas';
|
|
10
10
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
11
11
|
import type { TxExecutionRequest, TxHash, TxProfileResult, TxReceipt, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
|
|
12
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
12
13
|
import type { Account } from '../account/account.js';
|
|
13
14
|
import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
14
15
|
import type { CallIntent, IntentInnerHash } from '../utils/authwit.js';
|
|
15
|
-
import type { Aliased, BatchResults, BatchableMethods, BatchedMethod, ContractInstanceAndArtifact, ProfileOptions, SendOptions, SimulateOptions,
|
|
16
|
+
import type { Aliased, BatchResults, BatchableMethods, BatchedMethod, ContractInstanceAndArtifact, ProfileOptions, SendOptions, SimulateOptions, Wallet } from './wallet.js';
|
|
16
17
|
/**
|
|
17
18
|
* Options to configure fee payment for a transaction
|
|
18
19
|
*/
|
|
@@ -52,21 +53,22 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
52
53
|
createAuthWit(from: AztecAddress, messageHashOrIntent: Fr | IntentInnerHash | CallIntent): Promise<AuthWitness>;
|
|
53
54
|
batch<const T extends readonly BatchedMethod<keyof BatchableMethods>[]>(methods: T): Promise<BatchResults<T>>;
|
|
54
55
|
/**
|
|
55
|
-
*
|
|
56
|
-
* if they were omitted by the user.
|
|
56
|
+
* Completes partial user-provided fee options with wallet defaults.
|
|
57
57
|
* @param from - The address where the transaction is being sent from
|
|
58
|
-
* @param
|
|
59
|
-
* @
|
|
58
|
+
* @param feePayer - The address paying for fees (if any fee payment method is embedded in the execution payload)
|
|
59
|
+
* @param gasSettings - User-provided partial gas settings
|
|
60
|
+
* @returns - Complete fee options that can be used to create a transaction execution request
|
|
60
61
|
*/
|
|
61
|
-
protected
|
|
62
|
+
protected completeFeeOptions(from: AztecAddress, feePayer?: AztecAddress, gasSettings?: Partial<FieldsOf<GasSettings>>): Promise<FeeOptions>;
|
|
62
63
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
64
|
+
* Completes partial user-provided fee options with unreasonably high gas limits
|
|
65
|
+
* for gas estimation. Uses the same logic as completeFeeOptions but sets high limits
|
|
66
|
+
* to avoid running out of gas during estimation.
|
|
66
67
|
* @param from - The address where the transaction is being sent from
|
|
67
|
-
* @param
|
|
68
|
+
* @param feePayer - The address paying for fees (if any fee payment method is embedded in the execution payload)
|
|
69
|
+
* @param gasSettings - User-provided partial gas settings
|
|
68
70
|
*/
|
|
69
|
-
protected
|
|
71
|
+
protected completeFeeOptionsForEstimation(from: AztecAddress, feePayer?: AztecAddress, gasSettings?: Partial<FieldsOf<GasSettings>>): Promise<{
|
|
70
72
|
gasSettings: GasSettings;
|
|
71
73
|
/**
|
|
72
74
|
* A wallet-provided fallback fee payment method that is used only if the transaction that is being constructed
|
|
@@ -82,7 +84,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
82
84
|
profileTx(executionPayload: ExecutionPayload, opts: ProfileOptions): Promise<TxProfileResult>;
|
|
83
85
|
sendTx(executionPayload: ExecutionPayload, opts: SendOptions): Promise<TxHash>;
|
|
84
86
|
protected contextualizeError(err: Error, ...context: string[]): Error;
|
|
85
|
-
simulateUtility(
|
|
87
|
+
simulateUtility(call: FunctionCall, authwits?: AuthWitness[], scopes?: AztecAddress[]): Promise<UtilitySimulationResult>;
|
|
86
88
|
getContractClassMetadata(id: Fr, includeArtifact?: boolean): Promise<ContractClassMetadata>;
|
|
87
89
|
getContractMetadata(address: AztecAddress): Promise<ContractMetadata>;
|
|
88
90
|
getTxReceipt(txHash: TxHash): Promise<TxReceipt>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,8BAA8B,EAAwC,MAAM,4BAA4B,CAAC;AAClH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { GAS_ESTIMATION_DA_GAS_LIMIT, GAS_ESTIMATION_L2_GAS_LIMIT, GAS_ESTIMATION_TEARDOWN_DA_GAS_LIMIT, GAS_ESTIMATION_TEARDOWN_L2_GAS_LIMIT } from '@aztec/constants';
|
|
2
2
|
import { AccountFeePaymentMethodOptions } from '@aztec/entrypoints/account';
|
|
3
|
-
import { mergeExecutionPayloads } from '@aztec/entrypoints/payload';
|
|
4
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
5
4
|
import { createLogger } from '@aztec/foundation/log';
|
|
6
5
|
import { decodeFromAbi } from '@aztec/stdlib/abi';
|
|
7
6
|
import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
8
7
|
import { SimulationError } from '@aztec/stdlib/errors';
|
|
9
8
|
import { Gas, GasSettings } from '@aztec/stdlib/gas';
|
|
9
|
+
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
10
10
|
import { inspect } from 'util';
|
|
11
11
|
/**
|
|
12
12
|
* A base class for Wallet implementations
|
|
@@ -84,42 +84,43 @@ import { inspect } from 'util';
|
|
|
84
84
|
return results;
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
|
-
*
|
|
88
|
-
* if they were omitted by the user.
|
|
87
|
+
* Completes partial user-provided fee options with wallet defaults.
|
|
89
88
|
* @param from - The address where the transaction is being sent from
|
|
90
|
-
* @param
|
|
91
|
-
* @
|
|
92
|
-
|
|
93
|
-
|
|
89
|
+
* @param feePayer - The address paying for fees (if any fee payment method is embedded in the execution payload)
|
|
90
|
+
* @param gasSettings - User-provided partial gas settings
|
|
91
|
+
* @returns - Complete fee options that can be used to create a transaction execution request
|
|
92
|
+
*/ async completeFeeOptions(from, feePayer, gasSettings) {
|
|
93
|
+
const maxFeesPerGas = gasSettings?.maxFeesPerGas ?? (await this.aztecNode.getCurrentBaseFees()).mul(1 + this.baseFeePadding);
|
|
94
94
|
let accountFeePaymentMethodOptions;
|
|
95
95
|
// The transaction does not include a fee payment method, so we set the flag
|
|
96
96
|
// for the account to use its fee juice balance
|
|
97
|
-
if (!
|
|
97
|
+
if (!feePayer) {
|
|
98
98
|
accountFeePaymentMethodOptions = AccountFeePaymentMethodOptions.PREEXISTING_FEE_JUICE;
|
|
99
99
|
} else {
|
|
100
100
|
// The transaction includes fee payment method, so we check if we are the fee payer for it
|
|
101
101
|
// (this can only happen if the embedded payment method is FeeJuiceWithClaim)
|
|
102
|
-
accountFeePaymentMethodOptions = from.equals(
|
|
102
|
+
accountFeePaymentMethodOptions = from.equals(feePayer) ? AccountFeePaymentMethodOptions.FEE_JUICE_WITH_CLAIM : AccountFeePaymentMethodOptions.EXTERNAL;
|
|
103
103
|
}
|
|
104
|
-
const
|
|
105
|
-
...
|
|
104
|
+
const fullGasSettings = GasSettings.default({
|
|
105
|
+
...gasSettings,
|
|
106
106
|
maxFeesPerGas
|
|
107
107
|
});
|
|
108
|
-
this.log.debug(`Using L2 gas settings`,
|
|
108
|
+
this.log.debug(`Using L2 gas settings`, fullGasSettings);
|
|
109
109
|
return {
|
|
110
|
-
gasSettings,
|
|
110
|
+
gasSettings: fullGasSettings,
|
|
111
111
|
walletFeePaymentMethod: undefined,
|
|
112
112
|
accountFeePaymentMethodOptions
|
|
113
113
|
};
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
|
-
*
|
|
117
|
-
*
|
|
118
|
-
*
|
|
116
|
+
* Completes partial user-provided fee options with unreasonably high gas limits
|
|
117
|
+
* for gas estimation. Uses the same logic as completeFeeOptions but sets high limits
|
|
118
|
+
* to avoid running out of gas during estimation.
|
|
119
119
|
* @param from - The address where the transaction is being sent from
|
|
120
|
-
* @param
|
|
121
|
-
|
|
122
|
-
|
|
120
|
+
* @param feePayer - The address paying for fees (if any fee payment method is embedded in the execution payload)
|
|
121
|
+
* @param gasSettings - User-provided partial gas settings
|
|
122
|
+
*/ async completeFeeOptionsForEstimation(from, feePayer, gasSettings) {
|
|
123
|
+
const defaultFeeOptions = await this.completeFeeOptions(from, feePayer, gasSettings);
|
|
123
124
|
const { gasSettings: { maxFeesPerGas, maxPriorityFeesPerGas } } = defaultFeeOptions;
|
|
124
125
|
// Use unrealistically high gas limits for estimation to avoid running out of gas.
|
|
125
126
|
// They will be tuned down after the simulation.
|
|
@@ -183,18 +184,18 @@ import { inspect } from 'util';
|
|
|
183
184
|
return instance;
|
|
184
185
|
}
|
|
185
186
|
async simulateTx(executionPayload, opts) {
|
|
186
|
-
const feeOptions = opts.fee?.estimateGas ? await this.
|
|
187
|
+
const feeOptions = opts.fee?.estimateGas ? await this.completeFeeOptionsForEstimation(opts.from, executionPayload.feePayer, opts.fee?.gasSettings) : await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
187
188
|
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
188
189
|
return this.pxe.simulateTx(txRequest, true, opts?.skipTxValidation, opts?.skipFeeEnforcement ?? true);
|
|
189
190
|
}
|
|
190
191
|
async profileTx(executionPayload, opts) {
|
|
191
|
-
const
|
|
192
|
-
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from,
|
|
192
|
+
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
193
|
+
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
193
194
|
return this.pxe.profileTx(txRequest, opts.profileMode, opts.skipProofGeneration ?? true);
|
|
194
195
|
}
|
|
195
196
|
async sendTx(executionPayload, opts) {
|
|
196
|
-
const
|
|
197
|
-
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from,
|
|
197
|
+
const feeOptions = await this.completeFeeOptions(opts.from, executionPayload.feePayer, opts.fee?.gasSettings);
|
|
198
|
+
const txRequest = await this.createTxExecutionRequestFromPayloadAndFee(executionPayload, opts.from, feeOptions);
|
|
198
199
|
const provenTx = await this.pxe.proveTx(txRequest);
|
|
199
200
|
const tx = await provenTx.toTx();
|
|
200
201
|
const txHash = tx.getTxHash();
|
|
@@ -221,8 +222,8 @@ import { inspect } from 'util';
|
|
|
221
222
|
}
|
|
222
223
|
return err;
|
|
223
224
|
}
|
|
224
|
-
simulateUtility(
|
|
225
|
-
return this.pxe.simulateUtility(
|
|
225
|
+
simulateUtility(call, authwits, scopes) {
|
|
226
|
+
return this.pxe.simulateUtility(call, authwits, scopes);
|
|
226
227
|
}
|
|
227
228
|
getContractClassMetadata(id, includeArtifact = false) {
|
|
228
229
|
return this.pxe.getContractClassMetadata(id, includeArtifact);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
2
|
import type { ContractArtifact, FunctionArtifact } from '@aztec/stdlib/abi';
|
|
4
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
4
|
import type { PublicKeys } from '@aztec/stdlib/keys';
|
|
5
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
6
6
|
import type { Contract } from '../contract/contract.js';
|
|
7
7
|
import type { ContractBase } from '../contract/contract_base.js';
|
|
8
8
|
import { DeployMethod, type DeployOptions, type RequestDeployOptions, type SimulateDeployOptions } from '../contract/deploy_method.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_account_method.d.ts","sourceRoot":"","sources":["../../src/wallet/deploy_account_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_account_method.d.ts","sourceRoot":"","sources":["../../src/wallet/deploy_account_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAGtC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;AAE5F;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,EAAE,qBAAqB,GAAG,iBAAiB,CAAC,CAAC;AAElG;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAE9F;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,SAAS,SAAS,YAAY,GAAG,QAAQ,CAAE,SAAQ,YAAY,CAAC,SAAS,CAAC;IAMvG,OAAO,CAAC,IAAI;gBAJZ,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,EACrE,IAAI,EAAE,EAAE,EAChB,IAAI,GAAE,GAAG,EAAO,EAChB,yBAAyB,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAKvD;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;;;OAIG;IACmB,OAAO,CAAC,IAAI,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgCnF,oCAAoC,CAAC,OAAO,EAAE,aAAa,GAAG,oBAAoB;CAU5F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { mergeExecutionPayloads } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
3
2
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
|
+
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
4
4
|
import { DeployMethod } from '../contract/deploy_method.js';
|
|
5
5
|
import { AccountEntrypointMetaPaymentMethod } from './account_entrypoint_meta_payment_method.js';
|
|
6
6
|
/**
|