@aztec/aztec.js 0.41.0 → 0.43.0
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/index.d.ts +2 -2
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
- package/dest/account_manager/deploy_account_method.js +7 -5
- package/dest/account_manager/index.d.ts +1 -2
- package/dest/account_manager/index.d.ts.map +1 -1
- package/dest/account_manager/index.js +5 -11
- package/dest/api/abi.d.ts +2 -2
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/abi.js +1 -1
- package/dest/api/fee.d.ts +2 -0
- package/dest/api/fee.d.ts.map +1 -1
- package/dest/api/fee.js +3 -1
- package/dest/contract/base_contract_interaction.d.ts +7 -6
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +20 -9
- package/dest/contract/batch_call.d.ts +11 -0
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +50 -2
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +14 -10
- package/dest/contract/deploy_method.d.ts +5 -1
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +22 -6
- package/dest/contract/get_gas_limits.d.ts +1 -1
- package/dest/contract/get_gas_limits.d.ts.map +1 -1
- package/dest/contract/get_gas_limits.js +5 -3
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +7 -5
- package/dest/entrypoint/default_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_entrypoint.js +6 -2
- package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
- package/dest/entrypoint/default_multi_call_entrypoint.js +4 -4
- package/dest/entrypoint/payload.d.ts +24 -9
- package/dest/entrypoint/payload.d.ts.map +1 -1
- package/dest/entrypoint/payload.js +50 -29
- package/dest/fee/fee_payment_method.d.ts +6 -7
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/native_fee_payment_method.d.ts +5 -25
- package/dest/fee/native_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/native_fee_payment_method.js +9 -46
- package/dest/fee/native_fee_payment_method_with_claim.d.ts +17 -0
- package/dest/fee/native_fee_payment_method_with_claim.d.ts.map +1 -0
- package/dest/fee/native_fee_payment_method_with_claim.js +32 -0
- package/dest/fee/no_fee_payment_method.d.ts +13 -0
- package/dest/fee/no_fee_payment_method.d.ts.map +1 -0
- package/dest/fee/no_fee_payment_method.js +17 -0
- package/dest/fee/private_fee_payment_method.d.ts +1 -5
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +13 -14
- package/dest/fee/public_fee_payment_method.d.ts +1 -5
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +13 -14
- package/dest/index.d.ts +12 -13
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +10 -11
- package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
- package/dest/rpc_clients/pxe_client.js +3 -3
- package/dest/utils/account.js +3 -3
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +2 -6
- package/dest/utils/cheat_codes.d.ts.map +1 -1
- package/dest/utils/cheat_codes.js +9 -5
- package/dest/wallet/account_wallet.d.ts +17 -1
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/account_wallet.js +45 -31
- package/dest/wallet/base_wallet.d.ts +12 -3
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +21 -3
- package/dest/wallet/signerless_wallet.js +7 -7
- package/package.json +7 -7
- package/src/account/index.ts +2 -2
- package/src/account_manager/deploy_account_method.ts +10 -3
- package/src/account_manager/index.ts +11 -9
- package/src/api/abi.ts +2 -2
- package/src/api/fee.ts +2 -0
- package/src/contract/base_contract_interaction.ts +32 -8
- package/src/contract/batch_call.ts +77 -1
- package/src/contract/contract_function_interaction.ts +20 -10
- package/src/contract/deploy_method.ts +23 -6
- package/src/contract/get_gas_limits.ts +4 -3
- package/src/contract/sent_tx.ts +6 -4
- package/src/entrypoint/default_entrypoint.ts +7 -1
- package/src/entrypoint/default_multi_call_entrypoint.ts +3 -3
- package/src/entrypoint/payload.ts +58 -26
- package/src/fee/fee_payment_method.ts +6 -8
- package/src/fee/native_fee_payment_method.ts +8 -47
- package/src/fee/native_fee_payment_method_with_claim.ts +33 -0
- package/src/fee/no_fee_payment_method.ts +23 -0
- package/src/fee/private_fee_payment_method.ts +13 -17
- package/src/fee/public_fee_payment_method.ts +13 -18
- package/src/index.ts +38 -34
- package/src/rpc_clients/pxe_client.ts +3 -3
- package/src/utils/account.ts +2 -2
- package/src/utils/authwit.ts +1 -5
- package/src/utils/cheat_codes.ts +8 -4
- package/src/wallet/account_wallet.ts +67 -29
- package/src/wallet/base_wallet.ts +38 -4
- package/src/wallet/signerless_wallet.ts +6 -6
package/dest/account/index.d.ts
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
import { type Fr } from '@aztec/circuits.js';
|
|
10
|
-
export { AccountContract } from './contract.js';
|
|
11
|
-
export { AccountInterface, AuthWitnessProvider } from './interface.js';
|
|
10
|
+
export { type AccountContract } from './contract.js';
|
|
11
|
+
export { type AccountInterface, type AuthWitnessProvider } from './interface.js';
|
|
12
12
|
export * from './wallet.js';
|
|
13
13
|
/** A contract deployment salt. */
|
|
14
14
|
export type Salt = Fr | number | bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACjF,cAAc,aAAa,CAAC;AAE5B,kCAAkC;AAClC,MAAM,MAAM,IAAI,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_account_method.d.ts","sourceRoot":"","sources":["../../src/account_manager/deploy_account_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"deploy_account_method.d.ts","sourceRoot":"","sources":["../../src/account_manager/deploy_account_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAItB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGhF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,YAAY;;gBAKjD,mBAAmB,EAAE,mBAAmB,EACxC,cAAc,EAAE,EAAE,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,GAAE,GAAG,EAAO,EAChB,yBAAyB,CAAC,EAAE,MAAM,GAAG,gBAAgB,EACrD,wBAAwB,CAAC,EAAE,MAAM,GAAG,gBAAgB;cAkB7B,0BAA0B,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAgC3G"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
var _DeployAccountMethod_authWitnessProvider, _DeployAccountMethod_feePaymentArtifact;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import {
|
|
4
|
-
import { encodeArguments, getFunctionArtifact, } from '@aztec/foundation/abi';
|
|
3
|
+
import { FunctionSelector, encodeArguments, getFunctionArtifact, } from '@aztec/foundation/abi';
|
|
5
4
|
import { Contract } from '../contract/contract.js';
|
|
6
5
|
import { DeployMethod } from '../contract/deploy_method.js';
|
|
7
6
|
import { EntrypointPayload } from '../entrypoint/payload.js';
|
|
@@ -23,12 +22,15 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
23
22
|
if (options.fee && __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f")) {
|
|
24
23
|
const { address } = this.getInstance();
|
|
25
24
|
const emptyAppPayload = EntrypointPayload.fromAppExecution([]);
|
|
26
|
-
const feePayload = await EntrypointPayload.fromFeeOptions(options?.fee);
|
|
25
|
+
const feePayload = await EntrypointPayload.fromFeeOptions(address, options?.fee);
|
|
27
26
|
exec.calls.push({
|
|
27
|
+
name: __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").name,
|
|
28
28
|
to: address,
|
|
29
29
|
args: encodeArguments(__classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f"), [emptyAppPayload, feePayload]),
|
|
30
|
-
|
|
30
|
+
selector: FunctionSelector.fromNameAndParameters(__classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").name, __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").parameters),
|
|
31
|
+
type: __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").functionType,
|
|
31
32
|
isStatic: __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").isStatic,
|
|
33
|
+
returnTypes: __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").returnTypes,
|
|
32
34
|
});
|
|
33
35
|
exec.authWitnesses ?? (exec.authWitnesses = []);
|
|
34
36
|
exec.packedArguments ?? (exec.packedArguments = []);
|
|
@@ -41,4 +43,4 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
41
43
|
}
|
|
42
44
|
}
|
|
43
45
|
_DeployAccountMethod_authWitnessProvider = new WeakMap(), _DeployAccountMethod_feePaymentArtifact = new WeakMap();
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2FjY291bnRfbWV0aG9kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FjY291bnRfbWFuYWdlci9kZXBsb3lfYWNjb3VudF9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixtQkFBbUIsR0FDcEIsTUFBTSx1QkFBdUIsQ0FBQztBQUsvQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFlBQVksRUFBc0IsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RDs7R0FFRztBQUNILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxZQUFZO0lBSW5ELFlBQ0UsbUJBQXdDLEVBQ3hDLGNBQWtCLEVBQ2xCLE1BQWMsRUFDZCxRQUEwQixFQUMxQixPQUFjLEVBQUUsRUFDaEIseUJBQXFELEVBQ3JELHdCQUFvRDtRQUVwRCxLQUFLLENBQ0gsY0FBYyxFQUNkLE1BQU0sRUFDTixRQUFRLEVBQ1IsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLEVBQzNELElBQUksRUFDSix5QkFBeUIsQ0FDMUIsQ0FBQztRQW5CSiwyREFBMEM7UUFDMUMsMERBQWtEO1FBb0JoRCx1QkFBQSxJQUFJLDRDQUF3QixtQkFBbUIsTUFBQSxDQUFDO1FBQ2hELHVCQUFBLElBQUksMkNBQ0YsT0FBTyx3QkFBd0IsS0FBSyxRQUFRO1lBQzFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUM7WUFDekQsQ0FBQyxDQUFDLHdCQUF3QixNQUFBLENBQUM7SUFDakMsQ0FBQztJQUVrQixLQUFLLENBQUMsMEJBQTBCLENBQUMsT0FBc0I7UUFDeEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0QsSUFBSSxPQUFPLENBQUMsR0FBRyxJQUFJLHVCQUFBLElBQUksK0NBQW9CLEVBQUUsQ0FBQztZQUM1QyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sZUFBZSxHQUFHLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELE1BQU0sVUFBVSxHQUFHLE1BQU0saUJBQWlCLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ2QsSUFBSSxFQUFFLHVCQUFBLElBQUksK0NBQW9CLENBQUMsSUFBSTtnQkFDbkMsRUFBRSxFQUFFLE9BQU87Z0JBQ1gsSUFBSSxFQUFFLGVBQWUsQ0FBQyx1QkFBQSxJQUFJLCtDQUFvQixFQUFFLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQyxDQUFDO2dCQUM5RSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMscUJBQXFCLENBQzlDLHVCQUFBLElBQUksK0NBQW9CLENBQUMsSUFBSSxFQUM3Qix1QkFBQSxJQUFJLCtDQUFvQixDQUFDLFVBQVUsQ0FDcEM7Z0JBQ0QsSUFBSSxFQUFFLHVCQUFBLElBQUksK0NBQW9CLENBQUMsWUFBWTtnQkFDM0MsUUFBUSxFQUFFLHVCQUFBLElBQUksK0NBQW9CLENBQUMsUUFBUTtnQkFDM0MsV0FBVyxFQUFFLHVCQUFBLElBQUksK0NBQW9CLENBQUMsV0FBVzthQUNsRCxDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsYUFBYSxLQUFsQixJQUFJLENBQUMsYUFBYSxHQUFLLEVBQUUsRUFBQztZQUMxQixJQUFJLENBQUMsZUFBZSxLQUFwQixJQUFJLENBQUMsZUFBZSxHQUFLLEVBQUUsRUFBQztZQUU1QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLHVCQUFBLElBQUksZ0RBQXFCLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSx1QkFBQSxJQUFJLGdEQUFxQixDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNELENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRiJ9
|
|
@@ -12,13 +12,12 @@ import { DeployAccountSentTx } from './deploy_account_sent_tx.js';
|
|
|
12
12
|
/**
|
|
13
13
|
* Options to deploy an account contract.
|
|
14
14
|
*/
|
|
15
|
-
export type DeployAccountOptions = Pick<DeployOptions, 'fee' | 'skipClassRegistration' | 'skipPublicDeployment'>;
|
|
15
|
+
export type DeployAccountOptions = Pick<DeployOptions, 'fee' | 'skipClassRegistration' | 'skipPublicDeployment' | 'estimateGas' | 'skipInitialization'>;
|
|
16
16
|
/**
|
|
17
17
|
* Manages a user account. Provides methods for calculating the account's address, deploying the account contract,
|
|
18
18
|
* and creating and registering the user wallet in the PXE Service.
|
|
19
19
|
*/
|
|
20
20
|
export declare class AccountManager {
|
|
21
|
-
#private;
|
|
22
21
|
private pxe;
|
|
23
22
|
private secretKey;
|
|
24
23
|
private accountContract;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAoB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/account_manager/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAE1E,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAmB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAE,0BAA0B,EAAoB,MAAM,oBAAoB,CAAC;AAClF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,IAAI,CACrC,aAAa,EACb,KAAK,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,aAAa,GAAG,oBAAoB,CAChG,CAAC;AAEF;;;GAGG;AACH,qBAAa,cAAc;IAUb,OAAO,CAAC,GAAG;IAAO,OAAO,CAAC,SAAS;IAAM,OAAO,CAAC,eAAe;IAT5E,gDAAgD;IAChD,SAAgB,IAAI,EAAE,EAAE,CAAC;IAGzB,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,QAAQ,CAAC,CAA8B;IAC/C,OAAO,CAAC,cAAc,CAAC,CAAK;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAsB;gBAEvB,GAAG,EAAE,GAAG,EAAU,SAAS,EAAE,EAAE,EAAU,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,IAAI;IAI1G,SAAS,CAAC,iBAAiB;IAO3B;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAMpD;;;;OAIG;IACI,kBAAkB,IAAI,eAAe;IAQ5C;;;;OAIG;IACI,WAAW,IAAI,2BAA2B;IAWjD;;;;OAIG;IACU,SAAS,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAK7D;;;;;;OAMG;IACU,QAAQ,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAY5F;;;;;OAKG;IACU,eAAe;IA8B5B;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CAAC,EAAE,oBAAoB,GAAG,mBAAmB;IAiB/D;;;;;;OAMG;IACU,SAAS,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAK7F;;OAEG;IACI,YAAY;CAGpB"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _AccountManager_instances, _AccountManager_register;
|
|
2
|
-
import { __classPrivateFieldGet } from "tslib";
|
|
3
1
|
import { CompleteAddress } from '@aztec/circuit-types';
|
|
4
2
|
import { deriveKeys, getContractInstanceFromDeployParams } from '@aztec/circuits.js';
|
|
5
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -15,7 +13,6 @@ import { DeployAccountSentTx } from './deploy_account_sent_tx.js';
|
|
|
15
13
|
*/
|
|
16
14
|
export class AccountManager {
|
|
17
15
|
constructor(pxe, secretKey, accountContract, salt) {
|
|
18
|
-
_AccountManager_instances.add(this);
|
|
19
16
|
this.pxe = pxe;
|
|
20
17
|
this.secretKey = secretKey;
|
|
21
18
|
this.accountContract = accountContract;
|
|
@@ -80,11 +77,11 @@ export class AccountManager {
|
|
|
80
77
|
* @returns A Wallet instance.
|
|
81
78
|
*/
|
|
82
79
|
async register(opts = DefaultWaitOpts) {
|
|
83
|
-
await __classPrivateFieldGet(this, _AccountManager_instances, "m", _AccountManager_register).call(this);
|
|
84
80
|
await this.pxe.registerContract({
|
|
85
81
|
artifact: this.accountContract.getContractArtifact(),
|
|
86
82
|
instance: this.getInstance(),
|
|
87
83
|
});
|
|
84
|
+
await this.pxe.registerAccount(this.secretKey, this.getCompleteAddress().partialAddress);
|
|
88
85
|
await waitForAccountSynch(this.pxe, this.getCompleteAddress(), opts);
|
|
89
86
|
return this.getWallet();
|
|
90
87
|
}
|
|
@@ -99,7 +96,7 @@ export class AccountManager {
|
|
|
99
96
|
if (!this.isDeployable()) {
|
|
100
97
|
throw new Error(`Account contract ${this.accountContract.getContractArtifact().name} does not require deployment.`);
|
|
101
98
|
}
|
|
102
|
-
await
|
|
99
|
+
await this.pxe.registerAccount(this.secretKey, this.getCompleteAddress().partialAddress);
|
|
103
100
|
const { chainId, protocolVersion } = await this.pxe.getNodeInfo();
|
|
104
101
|
const deployWallet = new SignerlessWallet(this.pxe, new DefaultMultiCallEntrypoint(chainId, protocolVersion));
|
|
105
102
|
// We use a signerless wallet with the multi call entrypoint in order to make multiple calls in one go
|
|
@@ -124,9 +121,10 @@ export class AccountManager {
|
|
|
124
121
|
contractAddressSalt: this.salt,
|
|
125
122
|
skipClassRegistration: opts?.skipClassRegistration ?? true,
|
|
126
123
|
skipPublicDeployment: opts?.skipPublicDeployment ?? true,
|
|
127
|
-
skipInitialization: false,
|
|
124
|
+
skipInitialization: opts?.skipInitialization ?? false,
|
|
128
125
|
universalDeploy: true,
|
|
129
126
|
fee: opts?.fee,
|
|
127
|
+
estimateGas: opts?.estimateGas,
|
|
130
128
|
}))
|
|
131
129
|
.then(tx => tx.getTxHash());
|
|
132
130
|
return new DeployAccountSentTx(this.pxe, sentTx, this.getWallet());
|
|
@@ -149,8 +147,4 @@ export class AccountManager {
|
|
|
149
147
|
return this.accountContract.getDeploymentArgs() !== undefined;
|
|
150
148
|
}
|
|
151
149
|
}
|
|
152
|
-
|
|
153
|
-
const completeAddress = this.getCompleteAddress();
|
|
154
|
-
await this.pxe.registerAccount(this.secretKey, completeAddress.partialAddress);
|
|
155
|
-
};
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBWSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRixPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFPOUMsT0FBTyxFQUFFLGVBQWUsRUFBaUIsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQU9sRTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sY0FBYztJQVV6QixZQUFvQixHQUFRLEVBQVUsU0FBYSxFQUFVLGVBQWdDLEVBQUUsSUFBVzs7UUFBdEYsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDM0YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENB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
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjb3VudF9tYW5hZ2VyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQVksTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckYsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBTzlDLE9BQU8sRUFBRSxlQUFlLEVBQWlCLE1BQU0sd0JBQXdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDNUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDMUQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFVbEU7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFVekIsWUFBb0IsR0FBUSxFQUFVLFNBQWEsRUFBVSxlQUFnQyxFQUFFLElBQVc7UUFBdEYsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQUk7UUFBVSxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDM0YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFUyxpQkFBaUI7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMs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
|
package/dest/api/abi.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ContractArtifact, FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
1
|
+
export { type ContractArtifact, type FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
|
|
2
2
|
export { loadContractArtifact, contractArtifactToBuffer, contractArtifactFromBuffer } from '@aztec/types/abi';
|
|
3
|
-
export { NoirCompiledContract } from '@aztec/types/noir';
|
|
3
|
+
export { type NoirCompiledContract } from '@aztec/types/noir';
|
|
4
4
|
//# sourceMappingURL=abi.d.ts.map
|
package/dest/api/abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/api/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/api/abi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dest/api/abi.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { FunctionSelector } from '@aztec/foundation/abi';
|
|
2
2
|
export { loadContractArtifact, contractArtifactToBuffer, contractArtifactFromBuffer } from '@aztec/types/abi';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9hYmkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnRCxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtCQUFrQixDQUFDIn0=
|
package/dest/api/fee.d.ts
CHANGED
|
@@ -2,4 +2,6 @@ export type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
|
2
2
|
export { NativeFeePaymentMethod } from '../fee/native_fee_payment_method.js';
|
|
3
3
|
export { PrivateFeePaymentMethod } from '../fee/private_fee_payment_method.js';
|
|
4
4
|
export { PublicFeePaymentMethod } from '../fee/public_fee_payment_method.js';
|
|
5
|
+
export { NativeFeePaymentMethodWithClaim } from '../fee/native_fee_payment_method_with_claim.js';
|
|
6
|
+
export { NoFeePaymentMethod } from '../fee/no_fee_payment_method.js';
|
|
5
7
|
//# sourceMappingURL=fee.d.ts.map
|
package/dest/api/fee.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../src/api/fee.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC"}
|
|
1
|
+
{"version":3,"file":"fee.d.ts","sourceRoot":"","sources":["../../src/api/fee.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,+BAA+B,EAAE,MAAM,gDAAgD,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC"}
|
package/dest/api/fee.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export { NativeFeePaymentMethod } from '../fee/native_fee_payment_method.js';
|
|
2
2
|
export { PrivateFeePaymentMethod } from '../fee/private_fee_payment_method.js';
|
|
3
3
|
export { PublicFeePaymentMethod } from '../fee/public_fee_payment_method.js';
|
|
4
|
-
|
|
4
|
+
export { NativeFeePaymentMethodWithClaim } from '../fee/native_fee_payment_method_with_claim.js';
|
|
5
|
+
export { NoFeePaymentMethod } from '../fee/no_fee_payment_method.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FwaS9mZWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0UsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDakcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUMifQ==
|
|
@@ -23,6 +23,7 @@ export declare abstract class BaseContractInteraction {
|
|
|
23
23
|
protected wallet: Wallet;
|
|
24
24
|
protected tx?: Tx;
|
|
25
25
|
protected txRequest?: TxExecutionRequest;
|
|
26
|
+
protected log: import("@aztec/foundation/log").Logger;
|
|
26
27
|
constructor(wallet: Wallet);
|
|
27
28
|
/**
|
|
28
29
|
* Create a transaction execution request ready to be simulated.
|
|
@@ -47,19 +48,19 @@ export declare abstract class BaseContractInteraction {
|
|
|
47
48
|
*/
|
|
48
49
|
send(options?: SendMethodOptions): SentTx;
|
|
49
50
|
/**
|
|
50
|
-
* Estimates gas for a given tx request and returns
|
|
51
|
-
* @param
|
|
52
|
-
* @returns Gas
|
|
51
|
+
* Estimates gas for a given tx request and returns gas limits for it.
|
|
52
|
+
* @param opts - Options.
|
|
53
|
+
* @returns Gas limits.
|
|
53
54
|
*/
|
|
54
|
-
|
|
55
|
+
estimateGas(opts?: Omit<SendMethodOptions, 'estimateGas' | 'skipPublicSimulation'>): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>>;
|
|
55
56
|
/**
|
|
56
57
|
* Helper method to return fee options based on the user opts, estimating tx gas if needed.
|
|
57
58
|
* @param request - Request to execute for this interaction.
|
|
58
59
|
* @returns Fee options for the actual transaction.
|
|
59
60
|
*/
|
|
60
|
-
protected
|
|
61
|
+
protected getFeeOptionsFromEstimatedGas(request: ExecutionRequestInit): Promise<{
|
|
61
62
|
gasSettings: GasSettings;
|
|
62
|
-
paymentMethod: import("../index.js").FeePaymentMethod;
|
|
63
|
+
paymentMethod: import("../index.js").FeePaymentMethod; /** Wether to skip the simulation of the public part of the transaction. */
|
|
63
64
|
} | undefined>;
|
|
64
65
|
}
|
|
65
66
|
//# sourceMappingURL=base_contract_interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGjD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,UAAU,CAAC;IACjB,uJAAuJ;IACvJ,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAM/B,SAAS,CAAC,MAAM,EAAE,MAAM;IALpC,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;IAClB,SAAS,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAEzC,SAAS,CAAC,GAAG,yCAAsD;gBAE7C,MAAM,EAAE,MAAM;IAEpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,EAAE,CAAC;IAMhE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB;IAS3C;;;;OAIG;IACU,WAAW,CACtB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,GAAG,sBAAsB,CAAC,GACrE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;IAkBhE;;;;OAIG;cACa,6BAA6B,CAAC,OAAO,EAAE,oBAAoB;;+DAtF3E,2EAA2E;;CAuG5E"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { GasSettings } from '@aztec/circuits.js';
|
|
2
|
+
import { createDebugLogger } from '@aztec/foundation/log';
|
|
2
3
|
import { getGasLimits } from './get_gas_limits.js';
|
|
3
4
|
import { SentTx } from './sent_tx.js';
|
|
4
5
|
/**
|
|
@@ -8,6 +9,7 @@ import { SentTx } from './sent_tx.js';
|
|
|
8
9
|
export class BaseContractInteraction {
|
|
9
10
|
constructor(wallet) {
|
|
10
11
|
this.wallet = wallet;
|
|
12
|
+
this.log = createDebugLogger('aztec:js:contract_interaction');
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
13
15
|
* Proves a transaction execution request and returns a tx object ready to be sent.
|
|
@@ -36,29 +38,38 @@ export class BaseContractInteraction {
|
|
|
36
38
|
return new SentTx(this.wallet, promise);
|
|
37
39
|
}
|
|
38
40
|
/**
|
|
39
|
-
* Estimates gas for a given tx request and returns
|
|
40
|
-
* @param
|
|
41
|
-
* @returns Gas
|
|
41
|
+
* Estimates gas for a given tx request and returns gas limits for it.
|
|
42
|
+
* @param opts - Options.
|
|
43
|
+
* @returns Gas limits.
|
|
42
44
|
*/
|
|
43
|
-
async estimateGas(
|
|
45
|
+
async estimateGas(opts) {
|
|
46
|
+
// REFACTOR: both `this.txRequest = undefined` below are horrible, we should not be caching stuff that doesn't need to be.
|
|
47
|
+
// This also hints at a weird interface for create/request/estimate/send etc.
|
|
48
|
+
// Ensure we don't accidentally use a version of tx request that has estimateGas set to true, leading to an infinite loop.
|
|
49
|
+
this.txRequest = undefined;
|
|
50
|
+
const txRequest = await this.create({ ...opts, estimateGas: false });
|
|
51
|
+
// Ensure we don't accidentally cache a version of tx request that has estimateGas forcefully set to false.
|
|
52
|
+
this.txRequest = undefined;
|
|
44
53
|
const simulationResult = await this.wallet.simulateTx(txRequest, true);
|
|
45
|
-
const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult);
|
|
46
|
-
return
|
|
54
|
+
const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult, (opts?.fee?.gasSettings ?? GasSettings.default()).teardownGasLimits);
|
|
55
|
+
return { gasLimits, teardownGasLimits };
|
|
47
56
|
}
|
|
48
57
|
/**
|
|
49
58
|
* Helper method to return fee options based on the user opts, estimating tx gas if needed.
|
|
50
59
|
* @param request - Request to execute for this interaction.
|
|
51
60
|
* @returns Fee options for the actual transaction.
|
|
52
61
|
*/
|
|
53
|
-
async
|
|
62
|
+
async getFeeOptionsFromEstimatedGas(request) {
|
|
54
63
|
const fee = request.fee;
|
|
55
64
|
if (fee) {
|
|
56
65
|
const txRequest = await this.wallet.createTxExecutionRequest(request);
|
|
57
|
-
const
|
|
66
|
+
const simulationResult = await this.wallet.simulateTx(txRequest, true);
|
|
67
|
+
const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult, fee.gasSettings.teardownGasLimits);
|
|
68
|
+
this.log.debug(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
58
69
|
const gasSettings = GasSettings.default({ ...fee.gasSettings, gasLimits, teardownGasLimits });
|
|
59
70
|
return { ...fee, gasSettings };
|
|
60
71
|
}
|
|
61
72
|
return fee;
|
|
62
73
|
}
|
|
63
74
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXNlX2NvbnRyYWN0X2ludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUkxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQWV0Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQU0zQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUYxQixRQUFHLEdBQUcsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUU1QixDQUFDO0lBU3hDOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsS0FBSyxDQUFDLFVBQTZCLEVBQUU7UUFDaEQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUM5RSxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksSUFBSSxDQUFDLFVBQTZCLEVBQUU7UUFDekMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxLQUFLLElBQUksRUFBRTtZQUMxQixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBRUwsT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLFdBQVcsQ0FDdEIsSUFBc0U7UUFFdEUsMEhBQTBIO1FBQzFILDZFQUE2RTtRQUU3RSwwSEFBMEg7UUFDMUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckUsMkdBQTJHO1FBQzNHLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBRTNCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDdkUsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLEdBQUcsWUFBWSxDQUMxRSxnQkFBZ0IsRUFDaEIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FDcEUsQ0FBQztRQUNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQyxPQUE2QjtRQUN6RSxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3hCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEUsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN2RSxNQUFNLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxZQUFZLENBQzFFLGdCQUFnQixFQUNoQixHQUFHLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUNsQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQ1osbUNBQW1DLFNBQVMsQ0FBQyxLQUFLLE9BQU8sU0FBUyxDQUFDLEtBQUssZUFBZSxpQkFBaUIsQ0FBQyxLQUFLLGVBQWUsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQ3ZKLENBQUM7WUFDRixNQUFNLFdBQVcsR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7WUFDOUYsT0FBTyxFQUFFLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type FunctionCall, type TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { type Wallet } from '../account/index.js';
|
|
3
3
|
import { BaseContractInteraction, type SendMethodOptions } from './base_contract_interaction.js';
|
|
4
|
+
import type { SimulateMethodOptions } from './contract_function_interaction.js';
|
|
4
5
|
/** A batch of function calls to be sent as a single transaction through a wallet. */
|
|
5
6
|
export declare class BatchCall extends BaseContractInteraction {
|
|
6
7
|
protected calls: FunctionCall[];
|
|
@@ -12,5 +13,15 @@ export declare class BatchCall extends BaseContractInteraction {
|
|
|
12
13
|
* @returns A Promise that resolves to a transaction instance.
|
|
13
14
|
*/
|
|
14
15
|
create(opts?: SendMethodOptions): Promise<TxExecutionRequest>;
|
|
16
|
+
/**
|
|
17
|
+
* Simulate a transaction and get its return values
|
|
18
|
+
* Differs from prove in a few important ways:
|
|
19
|
+
* 1. It returns the values of the function execution
|
|
20
|
+
* 2. It supports `unconstrained`, `private` and `public` functions
|
|
21
|
+
*
|
|
22
|
+
* @param options - An optional object containing additional configuration for the transaction.
|
|
23
|
+
* @returns The result of the transaction as returned by the contract function.
|
|
24
|
+
*/
|
|
25
|
+
simulate(options?: SimulateMethodOptions): Promise<any>;
|
|
15
26
|
}
|
|
16
27
|
//# sourceMappingURL=batch_call.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAGlF,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACjG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IACxB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE;gBAA/C,MAAM,EAAE,MAAM,EAAY,KAAK,EAAE,YAAY,EAAE;IAI3D;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAS1E;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;CAgEzE"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FunctionType, decodeReturnValues } from '@aztec/foundation/abi';
|
|
1
2
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
2
3
|
/** A batch of function calls to be sent as a single transaction through a wallet. */
|
|
3
4
|
export class BatchCall extends BaseContractInteraction {
|
|
@@ -14,10 +15,57 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
14
15
|
async create(opts) {
|
|
15
16
|
if (!this.txRequest) {
|
|
16
17
|
const calls = this.calls;
|
|
17
|
-
const fee = opts?.estimateGas ? await this.
|
|
18
|
+
const fee = opts?.estimateGas ? await this.getFeeOptionsFromEstimatedGas({ calls, fee: opts?.fee }) : opts?.fee;
|
|
18
19
|
this.txRequest = await this.wallet.createTxExecutionRequest({ calls, fee });
|
|
19
20
|
}
|
|
20
21
|
return this.txRequest;
|
|
21
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Simulate a transaction and get its return values
|
|
25
|
+
* Differs from prove in a few important ways:
|
|
26
|
+
* 1. It returns the values of the function execution
|
|
27
|
+
* 2. It supports `unconstrained`, `private` and `public` functions
|
|
28
|
+
*
|
|
29
|
+
* @param options - An optional object containing additional configuration for the transaction.
|
|
30
|
+
* @returns The result of the transaction as returned by the contract function.
|
|
31
|
+
*/
|
|
32
|
+
async simulate(options = {}) {
|
|
33
|
+
const { calls, unconstrained } = this.calls.reduce((acc, current, index) => {
|
|
34
|
+
if (current.type === FunctionType.UNCONSTRAINED) {
|
|
35
|
+
acc.unconstrained.push([current, index]);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
acc.calls.push([
|
|
39
|
+
current,
|
|
40
|
+
index,
|
|
41
|
+
current.type === FunctionType.PRIVATE ? acc.privateIndex++ : acc.publicIndex++,
|
|
42
|
+
]);
|
|
43
|
+
}
|
|
44
|
+
return acc;
|
|
45
|
+
}, { calls: [], unconstrained: [], publicIndex: 0, privateIndex: 0 });
|
|
46
|
+
const txRequest = await this.wallet.createTxExecutionRequest({ calls: calls.map(indexedCall => indexedCall[0]) });
|
|
47
|
+
const unconstrainedCalls = unconstrained.map(async (indexedCall) => {
|
|
48
|
+
const call = indexedCall[0];
|
|
49
|
+
return [await this.wallet.simulateUnconstrained(call.name, call.args, call.to, options?.from), indexedCall[1]];
|
|
50
|
+
});
|
|
51
|
+
const [unconstrainedResults, simulatedTx] = await Promise.all([
|
|
52
|
+
Promise.all(unconstrainedCalls),
|
|
53
|
+
this.wallet.simulateTx(txRequest, true, options?.from),
|
|
54
|
+
]);
|
|
55
|
+
const results = [];
|
|
56
|
+
unconstrainedResults.forEach(([result, index]) => {
|
|
57
|
+
results[index] = result;
|
|
58
|
+
});
|
|
59
|
+
calls.forEach(([call, callIndex, resultIndex]) => {
|
|
60
|
+
// As account entrypoints are private, for private functions we retrieve the return values from the first nested call
|
|
61
|
+
// since we're interested in the first set of values AFTER the account entrypoint
|
|
62
|
+
// For public functions we retrieve the first values directly from the public output.
|
|
63
|
+
const rawReturnValues = call.type == FunctionType.PRIVATE
|
|
64
|
+
? simulatedTx.privateReturnValues?.nested?.[resultIndex].values
|
|
65
|
+
: simulatedTx.publicOutput?.publicReturnValues?.[resultIndex].values;
|
|
66
|
+
results[callIndex] = rawReturnValues ? decodeReturnValues(call.returnTypes, rawReturnValues) : [];
|
|
67
|
+
});
|
|
68
|
+
return results;
|
|
69
|
+
}
|
|
22
70
|
}
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXRjaF9jYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd6RSxPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFHakcscUZBQXFGO0FBQ3JGLE1BQU0sT0FBTyxTQUFVLFNBQVEsdUJBQXVCO0lBQ3BELFlBQVksTUFBYyxFQUFZLEtBQXFCO1FBQ3pELEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQURzQixVQUFLLEdBQUwsS0FBSyxDQUFnQjtJQUUzRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQXdCO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUM7WUFDaEgsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsd0JBQXdCLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM5RSxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBaUMsRUFBRTtRQUN2RCxNQUFNLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLElB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHrB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IAQvB;;;;;OAKG;IACU,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY1E;;;;OAIG;IACI,OAAO,IAAI,YAAY;IAa9B;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;CAkBzE"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FunctionType, decodeReturnValues, encodeArguments } from '@aztec/foundation/abi';
|
|
1
|
+
import { FunctionSelector, FunctionType, decodeReturnValues, encodeArguments, } from '@aztec/foundation/abi';
|
|
3
2
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
3
|
/**
|
|
5
4
|
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
@@ -27,7 +26,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
27
26
|
}
|
|
28
27
|
if (!this.txRequest) {
|
|
29
28
|
const calls = [this.request()];
|
|
30
|
-
const fee = opts?.estimateGas ? await this.
|
|
29
|
+
const fee = opts?.estimateGas ? await this.getFeeOptionsFromEstimatedGas({ calls, fee: opts?.fee }) : opts?.fee;
|
|
31
30
|
this.txRequest = await this.wallet.createTxExecutionRequest({ calls, fee });
|
|
32
31
|
}
|
|
33
32
|
return this.txRequest;
|
|
@@ -39,8 +38,15 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
39
38
|
*/
|
|
40
39
|
request() {
|
|
41
40
|
const args = encodeArguments(this.functionDao, this.args);
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
return {
|
|
42
|
+
name: this.functionDao.name,
|
|
43
|
+
args,
|
|
44
|
+
selector: FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
|
|
45
|
+
type: this.functionDao.functionType,
|
|
46
|
+
to: this.contractAddress,
|
|
47
|
+
isStatic: this.functionDao.isStatic,
|
|
48
|
+
returnTypes: this.functionDao.returnTypes,
|
|
49
|
+
};
|
|
44
50
|
}
|
|
45
51
|
/**
|
|
46
52
|
* Simulate a transaction and get its return values
|
|
@@ -56,16 +62,14 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
56
62
|
return this.wallet.simulateUnconstrained(this.functionDao.name, this.args, this.contractAddress, options?.from);
|
|
57
63
|
}
|
|
58
64
|
const txRequest = await this.create();
|
|
59
|
-
// const from =
|
|
60
|
-
// this.functionDao.functionType == FunctionType.PRIVATE ? options.from ?? this.wallet.getAddress() : undefined;
|
|
61
65
|
const simulatedTx = await this.wallet.simulateTx(txRequest, true, options?.from);
|
|
62
66
|
// As account entrypoints are private, for private functions we retrieve the return values from the first nested call
|
|
63
67
|
// since we're interested in the first set of values AFTER the account entrypoint
|
|
64
68
|
// For public functions we retrieve the first values directly from the public output.
|
|
65
69
|
const rawReturnValues = this.functionDao.functionType == FunctionType.PRIVATE
|
|
66
70
|
? simulatedTx.privateReturnValues?.nested?.[0].values
|
|
67
|
-
: simulatedTx.publicOutput?.publicReturnValues?.values;
|
|
68
|
-
return rawReturnValues ? decodeReturnValues(this.functionDao, rawReturnValues) : [];
|
|
71
|
+
: simulatedTx.publicOutput?.publicReturnValues?.[0].values;
|
|
72
|
+
return rawReturnValues ? decodeReturnValues(this.functionDao.returnTypes, rawReturnValues) : [];
|
|
69
73
|
}
|
|
70
74
|
}
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUFnQmpHOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSx1QkFBdUI7SUFDdEUsWUFDRSxNQUFjLEVBQ0osZUFBNkIsRUFDN0IsV0FBd0IsRUFDeEIsSUFBVztRQUVyQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFKSixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFPO1FBR3JCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUF3QjtRQUMxQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxLQUFLLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNqRSxNQUFNLElBQUksS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7UUFDdkUsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJ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
|
|
@@ -40,7 +40,6 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
|
|
|
40
40
|
private constructorArtifact;
|
|
41
41
|
/** Cached call to request() */
|
|
42
42
|
private functionCalls?;
|
|
43
|
-
private log;
|
|
44
43
|
constructor(publicKeysHash: Fr, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact);
|
|
45
44
|
/**
|
|
46
45
|
* Create a contract deployment transaction, given the deployment options.
|
|
@@ -95,6 +94,11 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
|
|
|
95
94
|
* @returns The proven tx.
|
|
96
95
|
*/
|
|
97
96
|
prove(options: DeployOptions): Promise<Tx>;
|
|
97
|
+
/**
|
|
98
|
+
* Estimates gas cost for this deployment operation.
|
|
99
|
+
* @param options - Options.
|
|
100
|
+
*/
|
|
101
|
+
estimateGas(options?: Omit<DeployOptions, 'estimateGas' | 'skipPublicSimulation'>): Promise<Pick<import("@aztec/circuits.js").GasSettings, "gasLimits" | "teardownGasLimits">>;
|
|
98
102
|
/** Return this deployment address. */
|
|
99
103
|
get address(): AztecAddress | undefined;
|
|
100
104
|
/** Returns the partial address for this deployment. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,EAAE,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EACL,YAAY,EAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAkB,MAAM,uBAAuB,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|