@aztec/aztec.js 0.0.1-commit.d431d1c → 0.0.1-commit.dbf9cec
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/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 +8 -5
- package/dest/contract/contract_function_interaction.d.ts +3 -12
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +10 -7
- package/dest/contract/deploy_method.d.ts +78 -18
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +61 -29
- package/dest/contract/get_gas_limits.js +3 -3
- package/dest/contract/interaction_options.d.ts +49 -5
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +8 -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 +41 -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 +0 -414
- 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 +32 -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 +32 -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/authwit.d.ts +6 -6
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +2 -6
- 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 +169 -27
- package/package.json +20 -11
- package/src/api/block.ts +1 -1
- package/src/api/contract.ts +24 -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 +27 -15
- package/src/contract/batch_call.ts +7 -12
- package/src/contract/contract_function_interaction.ts +17 -7
- package/src/contract/deploy_method.ts +158 -32
- package/src/contract/get_gas_limits.ts +3 -3
- package/src/contract/interaction_options.ts +56 -4
- package/src/contract/protocol_contracts/auth-registry.ts +11 -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 +0 -202
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +9 -13
- package/src/contract/protocol_contracts/public-checks.ts +9 -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/authwit.ts +16 -4
- 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 +236 -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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FunctionAbi,
|
|
1
|
+
import { type FunctionAbi, FunctionCall } from '@aztec/stdlib/abi';
|
|
2
2
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
3
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
@@ -21,16 +21,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
21
21
|
* Useful when generating authwits
|
|
22
22
|
* @returns An encoded function call
|
|
23
23
|
*/
|
|
24
|
-
getFunctionCall(): Promise<
|
|
25
|
-
name: string;
|
|
26
|
-
args: import("@aztec/foundation/schemas").Fr[];
|
|
27
|
-
selector: FunctionSelector;
|
|
28
|
-
type: FunctionType;
|
|
29
|
-
to: AztecAddress;
|
|
30
|
-
isStatic: boolean;
|
|
31
|
-
hideMsgSender: boolean; /** Only set to `true` for enqueued public function calls */
|
|
32
|
-
returnTypes: import("@aztec/stdlib/abi").AbiType[];
|
|
33
|
-
}>;
|
|
24
|
+
getFunctionCall(): Promise<FunctionCall>;
|
|
34
25
|
/**
|
|
35
26
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
36
27
|
* @param options - Configuration options.
|
|
@@ -73,4 +64,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
73
64
|
extraHashedArgs?: HashedValues[];
|
|
74
65
|
}): ContractFunctionInteraction;
|
|
75
66
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFLYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLGdCQUFnQixFQUd0QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILHFCQUFhLDJCQUE0QixTQUFRLHVCQUF1QjtJQUdwRSxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBR3JCLE9BQU8sQ0FBQyxlQUFlO0lBUHpCLFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDSixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ3JCLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBTTdDO0lBRUQ7Ozs7T0FJRztJQUNVLGVBQWUsMEJBWTNCO0lBRUQ7Ozs7T0FJRztJQUNtQixPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQWdCaEc7SUFHRDs7Ozs7Ozs7OztPQVVHO0lBQ1UsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFN0QsUUFBUSxDQUFDLENBQUMsU0FBUywwQkFBMEIsRUFDeEQsT0FBTyxFQUFFLENBQUMsR0FDVCxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBOERuRDs7Ozs7T0FLRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEVBQUUseUJBQXlCLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQU9qRjtJQUVEOzs7Ozs7T0FNRztJQUNJLElBQUksQ0FBQyxFQUNWLGFBQWtCLEVBQ2xCLFFBQWEsRUFDYixlQUFvQixFQUNyQixFQUFFO1FBQ0Qsa0RBQWtEO1FBQ2xELGFBQWEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLDZDQUE2QztRQUM3QyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNyQixzREFBc0Q7UUFDdEQsZUFBZSxDQUFDLEVBQUUsWUFBWSxFQUFFLENBQUM7S0FDbEMsR0FBRywyQkFBMkIsQ0FVOUI7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,YAAY,EAKb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAA0B,MAAM,kBAAkB,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,gBAAgB,EAGtB,MAAM,0BAA0B,CAAC;AAElC;;;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;IAGrB,OAAO,CAAC,eAAe;IAPzB,YACE,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE,EACrB,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO,EAChB,eAAe,GAAE,YAAY,EAAO,EAM7C;IAED;;;;OAIG;IACU,eAAe,0BAY3B;IAED;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBhG;IAGD;;;;;;;;;;OAUG;IACU,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAE7D,QAAQ,CAAC,CAAC,SAAS,0BAA0B,EACxD,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;IA8DnD;;;;;OAKG;IACU,OAAO,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,eAAe,CAAC,CAOjF;IAED;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,EACrB,EAAE;QACD,kDAAkD;QAClD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;QAC9B,6CAA6C;QAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,sDAAsD;QACtD,eAAe,CAAC,EAAE,YAAY,EAAE,CAAC;KAClC,GAAG,2BAA2B,CAU9B;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
1
|
+
import { FunctionCall, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
2
2
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
3
3
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
4
4
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
@@ -24,16 +24,16 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
24
24
|
* @returns An encoded function call
|
|
25
25
|
*/ async getFunctionCall() {
|
|
26
26
|
const args = encodeArguments(this.functionDao, this.args);
|
|
27
|
-
return {
|
|
27
|
+
return FunctionCall.from({
|
|
28
28
|
name: this.functionDao.name,
|
|
29
|
-
|
|
29
|
+
to: this.contractAddress,
|
|
30
30
|
selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
|
|
31
31
|
type: this.functionDao.functionType,
|
|
32
|
-
to: this.contractAddress,
|
|
33
|
-
isStatic: this.functionDao.isStatic,
|
|
34
32
|
hideMsgSender: false,
|
|
33
|
+
isStatic: this.functionDao.isStatic,
|
|
34
|
+
args,
|
|
35
35
|
returnTypes: this.functionDao.returnTypes
|
|
36
|
-
};
|
|
36
|
+
});
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
@@ -57,7 +57,10 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
57
57
|
// docs:end:simulate
|
|
58
58
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
59
59
|
const call = await this.getFunctionCall();
|
|
60
|
-
const utilityResult = await this.wallet.
|
|
60
|
+
const utilityResult = await this.wallet.executeUtility(call, {
|
|
61
|
+
scope: options.from,
|
|
62
|
+
authWitnesses: options.authWitnesses
|
|
63
|
+
});
|
|
61
64
|
// Decode the raw field elements to the actual return type
|
|
62
65
|
const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
|
|
63
66
|
if (options.includeMetadata) {
|
|
@@ -4,13 +4,28 @@ import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
|
4
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
5
|
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
6
6
|
import type { PublicKeys } from '@aztec/stdlib/keys';
|
|
7
|
-
import { type Capsule, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
7
|
+
import { type Capsule, HashedValues, TxHash, type TxProfileResult, type TxReceipt } from '@aztec/stdlib/tx';
|
|
8
8
|
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
9
|
-
import type { Wallet } from '../wallet/wallet.js';
|
|
9
|
+
import type { ProfileOptions, SendOptions, SimulateOptions, Wallet } from '../wallet/wallet.js';
|
|
10
10
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
11
11
|
import type { ContractBase } from './contract_base.js';
|
|
12
|
-
import {
|
|
13
|
-
import
|
|
12
|
+
import { type NoWait, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
|
|
13
|
+
import type { WaitOpts } from './wait_opts.js';
|
|
14
|
+
/**
|
|
15
|
+
* Wait options specific to deployment transactions.
|
|
16
|
+
* Extends WaitOpts with a flag to return the full receipt instead of just the contract.
|
|
17
|
+
*/
|
|
18
|
+
export type DeployWaitOptions = WaitOpts & {
|
|
19
|
+
/** If true, return the full DeployTxReceipt instead of just the contract. Defaults to false. */
|
|
20
|
+
returnReceipt?: boolean;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Type for wait options in deployment interactions.
|
|
24
|
+
* - NO_WAIT symbol: Don't wait, return TxHash immediately
|
|
25
|
+
* - DeployWaitOptions: Wait with custom options
|
|
26
|
+
* - undefined: Wait with default options
|
|
27
|
+
*/
|
|
28
|
+
export type DeployInteractionWaitOptions = NoWait | DeployWaitOptions | undefined;
|
|
14
29
|
/**
|
|
15
30
|
* Options for deploying a contract on the Aztec network.
|
|
16
31
|
* Allows specifying a contract address salt and different options to tweak contract publication
|
|
@@ -34,20 +49,32 @@ export type RequestDeployOptions = RequestInteractionOptions & {
|
|
|
34
49
|
skipRegistration?: boolean;
|
|
35
50
|
};
|
|
36
51
|
/**
|
|
37
|
-
*
|
|
52
|
+
* Base deployment options without wait parameter.
|
|
38
53
|
*/
|
|
39
|
-
export type
|
|
54
|
+
export type DeployOptionsWithoutWait = Omit<RequestDeployOptions, 'deployer'> & {
|
|
40
55
|
/**
|
|
41
56
|
* Set to true to *not* include the sender in the address computation. This option
|
|
42
57
|
* is mutually exclusive with "deployer"
|
|
43
58
|
*/
|
|
44
59
|
universalDeploy?: boolean;
|
|
45
|
-
} & Pick<
|
|
60
|
+
} & Pick<SendInteractionOptionsWithoutWait, 'from' | 'fee' | 'additionalScopes'>;
|
|
61
|
+
/**
|
|
62
|
+
* Extends the deployment options with the required parameters to send the transaction.
|
|
63
|
+
*/
|
|
64
|
+
export type DeployOptions<W extends DeployInteractionWaitOptions = undefined> = DeployOptionsWithoutWait & {
|
|
65
|
+
/**
|
|
66
|
+
* Options for waiting for the transaction to be mined.
|
|
67
|
+
* - undefined (default): wait with default options and return the contract instance
|
|
68
|
+
* - DeployWaitOptions: wait with custom options and return contract or receipt based on returnReceipt flag
|
|
69
|
+
* - NO_WAIT: return TxHash immediately without waiting
|
|
70
|
+
*/
|
|
71
|
+
wait?: W;
|
|
72
|
+
};
|
|
46
73
|
/**
|
|
47
74
|
* Options for simulating the deployment of a contract
|
|
48
75
|
* Allows skipping certain validations and computing gas estimations
|
|
49
76
|
*/
|
|
50
|
-
export type SimulateDeployOptions = Omit<
|
|
77
|
+
export type SimulateDeployOptions = Omit<DeployOptionsWithoutWait, 'fee'> & {
|
|
51
78
|
/** The fee options for the transaction. */
|
|
52
79
|
fee?: SimulationInteractionFeeOptions;
|
|
53
80
|
/** Simulate without checking for the validity of the resulting transaction,
|
|
@@ -60,6 +87,22 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
60
87
|
* the simulation result, instead of just the return value of the function */
|
|
61
88
|
includeMetadata?: boolean;
|
|
62
89
|
};
|
|
90
|
+
/** Receipt for a deployment transaction with the deployed contract instance. */
|
|
91
|
+
export type DeployTxReceipt<TContract extends ContractBase = ContractBase> = TxReceipt & {
|
|
92
|
+
/** Type-safe wrapper around the deployed contract instance, linked to the deployment wallet */
|
|
93
|
+
contract: TContract;
|
|
94
|
+
/** The deployed contract instance with address and metadata. */
|
|
95
|
+
instance: ContractInstanceWithAddress;
|
|
96
|
+
};
|
|
97
|
+
/**
|
|
98
|
+
* Represents the result type of deploying a contract.
|
|
99
|
+
* - If wait is NO_WAIT, returns TxHash immediately.
|
|
100
|
+
* - If wait has returnReceipt: true, returns DeployTxReceipt after waiting.
|
|
101
|
+
* - Otherwise (undefined or DeployWaitOptions without returnReceipt), returns TContract after waiting.
|
|
102
|
+
*/
|
|
103
|
+
export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxHash : W extends {
|
|
104
|
+
returnReceipt: true;
|
|
105
|
+
} ? DeployTxReceipt<TContract> : TContract;
|
|
63
106
|
/**
|
|
64
107
|
* Contract interaction for deployment.
|
|
65
108
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -69,26 +112,43 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
69
112
|
* then technically the contract has already been "created", and all of the contract's
|
|
70
113
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
71
114
|
* "deployment tx".
|
|
72
|
-
*
|
|
73
|
-
* Extends the BaseContractInteraction class.
|
|
74
115
|
*/
|
|
75
116
|
export declare class DeployMethod<TContract extends ContractBase = ContractBase> extends BaseContractInteraction {
|
|
76
117
|
private publicKeys;
|
|
77
118
|
protected artifact: ContractArtifact;
|
|
78
119
|
protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
|
|
79
120
|
private args;
|
|
121
|
+
private extraHashedArgs;
|
|
80
122
|
/** The contract instance to be deployed. */
|
|
81
123
|
private instance?;
|
|
82
124
|
/** Constructor function to call. */
|
|
83
125
|
private constructorArtifact;
|
|
84
|
-
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
|
|
126
|
+
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
|
|
85
127
|
/**
|
|
86
128
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
87
129
|
* @param options - Configuration options.
|
|
88
130
|
* @returns The execution payload for this operation
|
|
89
131
|
*/
|
|
90
132
|
request(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
91
|
-
convertDeployOptionsToRequestOptions(options:
|
|
133
|
+
convertDeployOptionsToRequestOptions(options: DeployOptionsWithoutWait): RequestDeployOptions;
|
|
134
|
+
/**
|
|
135
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
136
|
+
* @param options - Deploy options with wait parameter
|
|
137
|
+
* @returns Send options with wait parameter
|
|
138
|
+
*/
|
|
139
|
+
protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): SendOptions<W extends {
|
|
140
|
+
returnReceipt: true;
|
|
141
|
+
} ? WaitOpts : W>;
|
|
142
|
+
/**
|
|
143
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
144
|
+
* @param options - The deploy simulation options to convert.
|
|
145
|
+
*/
|
|
146
|
+
protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions;
|
|
147
|
+
/**
|
|
148
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
149
|
+
* @param options - The deploy profile options to convert.
|
|
150
|
+
*/
|
|
151
|
+
protected convertDeployOptionsToProfileOptions(options: DeployOptionsWithoutWait & ProfileInteractionOptions): ProfileOptions;
|
|
92
152
|
/**
|
|
93
153
|
* Adds this contract to the wallet and returns the Contract object.
|
|
94
154
|
* @param options - Deployment options.
|
|
@@ -111,13 +171,13 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
111
171
|
protected getInitializationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
112
172
|
/**
|
|
113
173
|
* Send a contract deployment transaction (initialize and/or publish) using the provided options.
|
|
114
|
-
*
|
|
115
|
-
* allowing us to send a transaction specifically for contract deployment.
|
|
174
|
+
* By default, waits for the transaction to be mined and returns the deployed contract instance.
|
|
116
175
|
*
|
|
117
176
|
* @param options - An object containing various deployment options such as contractAddressSalt and from.
|
|
118
|
-
* @returns
|
|
177
|
+
* @returns TxHash (if wait is NO_WAIT), TContract (if wait is undefined or doesn't have returnReceipt), or DeployTxReceipt (if wait.returnReceipt is true)
|
|
119
178
|
*/
|
|
120
|
-
send(options:
|
|
179
|
+
send(options: DeployOptionsWithoutWait): Promise<TContract>;
|
|
180
|
+
send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
|
|
121
181
|
/**
|
|
122
182
|
* Builds the contract instance and returns it.
|
|
123
183
|
*
|
|
@@ -139,7 +199,7 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
139
199
|
*
|
|
140
200
|
* @returns An object containing the function return value and profile result.
|
|
141
201
|
*/
|
|
142
|
-
profile(options:
|
|
202
|
+
profile(options: DeployOptionsWithoutWait & ProfileInteractionOptions): Promise<TxProfileResult>;
|
|
143
203
|
/** Return this deployment address. */
|
|
144
204
|
get address(): AztecAddress | undefined;
|
|
145
205
|
/** Returns the partial address for this deployment. */
|
|
@@ -156,4 +216,4 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
156
216
|
capsules?: Capsule[];
|
|
157
217
|
}): DeployMethod;
|
|
158
218
|
}
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLGVBQWUsRUFDcEIsS0FBSyxTQUFTLEVBRWYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFJNUUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHdkQsT0FBTyxFQUVMLEtBQUssTUFBTSxFQUNYLEtBQUsseUJBQXlCLEVBQzlCLEtBQUsseUJBQXlCLEVBQzlCLEtBQUssaUNBQWlDLEVBQ3RDLEtBQUssK0JBQStCLEVBQ3BDLEtBQUssZ0JBQWdCLEVBSXRCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0M7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHLFFBQVEsR0FBRztJQUN6QyxnR0FBZ0c7SUFDaEcsYUFBYSxDQUFDLEVBQUUsT0FBTyxDQUFDO0NBQ3pCLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sTUFBTSw0QkFBNEIsR0FBRyxNQUFNLEdBQUcsaUJBQWlCLEdBQUcsU0FBUyxDQUFDO0FBRWxGOzs7O0dBSUc7QUFDSCxNQUFNLE1BQU0sb0JBQW9CLEdBQUcseUJBQXlCLEdBQUc7SUFDN0QsdUZBQXVGO0lBQ3ZGLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3pCOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxFQUFFLFlBQVksQ0FBQztJQUN4Qix1Q0FBdUM7SUFDdkMsb0JBQW9CLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDL0Isd0VBQXdFO0lBQ3hFLHVCQUF1QixDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLG9DQUFvQztJQUNwQyxrQkFBa0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUM3QiwrQ0FBK0M7SUFDL0MsZ0JBQWdCLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDNUIsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHdCQUF3QixHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxVQUFVLENBQUMsR0FBRztJQUM5RTs7O09BR0c7SUFDSCxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDM0IsR0FBRyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsTUFBTSxHQUFHLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxDQUFDO0FBRWpGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLGFBQWEsQ0FBQyxDQUFDLFNBQVMsNEJBQTRCLEdBQUcsU0FBUyxJQUFJLHdCQUF3QixHQUFHO0lBQ3pHOzs7OztPQUtHO0lBQ0gsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0NBQ1YsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLEdBQUc7SUFDMUUsMkNBQTJDO0lBQzNDLEdBQUcsQ0FBQyxFQUFFLCtCQUErQixDQUFDO0lBQ3RDO3dEQUNvRDtJQUNwRCxnQkFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztJQUMzQiw4RkFBOEY7SUFDOUYsa0JBQWtCLENBQUMsRUFBRSxPQUFPLENBQUM7SUFDN0I7O2lGQUU2RTtJQUM3RSxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDM0IsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRixNQUFNLE1BQU0sZUFBZSxDQUFDLFNBQVMsU0FBUyxZQUFZLEdBQUcsWUFBWSxJQUFJLFNBQVMsR0FBRztJQUN2RiwrRkFBK0Y7SUFDL0YsUUFBUSxFQUFFLFNBQVMsQ0FBQztJQUNwQixnRUFBZ0U7SUFDaEUsUUFBUSxFQUFFLDJCQUEyQixDQUFDO0NBQ3ZDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILE1BQU0sTUFBTSxZQUFZLENBQUMsU0FBUyxTQUFTLFlBQVksRUFBRSxDQUFDLFNBQVMsNEJBQTRCLElBQUksQ0FBQyxTQUFTLE1BQU0sR0FDL0csTUFBTSxHQUNOLENBQUMsU0FBUztJQUVOLGFBQWEsRUFBRSxJQUFJLENBQUM7Q0FDckIsR0FDRCxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQzFCLFNBQVMsQ0FBQztBQUVoQjs7Ozs7Ozs7O0dBU0c7QUFDSCxxQkFBYSxZQUFZLENBQUMsU0FBUyxTQUFTLFlBQVksR0FBRyxZQUFZLENBQUUsU0FBUSx1QkFBdUI7SUFRcEcsT0FBTyxDQUFDLFVBQVU7SUFFbEIsU0FBUyxDQUFDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDcEMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLFNBQVM7SUFDOUYsT0FBTyxDQUFDLElBQUk7SUFJWixPQUFPLENBQUMsZUFBZTtJQWZ6Qiw0Q0FBNEM7SUFDNUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUEwQztJQUUzRCxvQ0FBb0M7SUFDcEMsT0FBTyxDQUFDLG1CQUFtQixDQUEwQjtJQUVyRCxZQUNVLFVBQVUsRUFBRSxVQUFVLEVBQzlCLE1BQU0sRUFBRSxNQUFNLEVBQ0osUUFBUSxFQUFFLGdCQUFnQixFQUMxQixjQUFjLEVBQUUsQ0FBQyxRQUFRLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSyxTQUFTLEVBQ3RGLElBQUksR0FBRSxHQUFHLEVBQU8sRUFDeEIseUJBQXlCLENBQUMsRUFBRSxNQUFNLEdBQUcsZ0JBQWdCLEVBQ3JELGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBSTdDO0lBRUQ7Ozs7T0FJRztJQUNVLE9BQU8sQ0FBQyxPQUFPLEdBQUUsb0JBQXlCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBNEJsRjtJQUVELG9DQUFvQyxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsR0FBRyxvQkFBb0IsQ0FLNUY7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsU0FBUyw0QkFBNEIsRUFDaEYsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FFeEIsV0FBVyxDQUFDLENBQUMsU0FBUztRQUFFLGFBQWEsRUFBRSxJQUFJLENBQUE7S0FBRSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FPL0Q7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMscUNBQXFDLENBQUMsT0FBTyxFQUFFLHFCQUFxQixHQUFHLGVBQWUsQ0FFL0Y7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsb0NBQW9DLENBQzVDLE9BQU8sRUFBRSx3QkFBd0IsR0FBRyx5QkFBeUIsR0FDNUQsY0FBYyxDQUVoQjtJQUVEOzs7T0FHRztJQUNVLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBSXhFO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFVBQWdCLDhCQUE4QixDQUFDLE9BQU8sQ0FBQyxFQUFFLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQXlDeEc7SUFFRDs7OztPQUlHO0lBQ0gsVUFBZ0IsaUNBQWlDLENBQUMsT0FBTyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBYTNHO0lBRUQ7Ozs7OztPQU1HO0lBRWEsSUFBSSxDQUFDLE9BQU8sRUFBRSx3QkFBd0IsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFHNUQsSUFBSSxDQUFDLENBQUMsU0FBUyw0QkFBNEIsRUFDekQsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FDeEIsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQTJCdkM7Ozs7O09BS0c7SUFDVSxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsT0FBTyxDQUFDLDJCQUEyQixDQUFDLENBVzdGO0lBRUQ7Ozs7OztPQU1HO0lBQ1UsUUFBUSxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FpQnJGO0lBRUQ7Ozs7O09BS0c7SUFDVSxPQUFPLENBQUMsT0FBTyxFQUFFLHdCQUF3QixHQUFHLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FHNUc7SUFFRCxzQ0FBc0M7SUFDdEMsSUFBVyxPQUFPLDZCQUVqQjtJQUVELHVEQUF1RDtJQUN2RCxJQUFXLGNBQWMsNEJBRXhCO0lBRUQ7Ozs7T0FJRztJQUNJLElBQUksQ0FBQyxFQUNWLGFBQWtCLEVBQ2xCLFFBQWEsRUFDZCxFQUFFO1FBQ0QsaURBQWlEO1FBQ2pELGFBQWEsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQzlCLDRDQUE0QztRQUM1QyxRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQztLQUN0QixHQUFHLFlBQVksQ0FXZjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACpD,OAAO,EAAE,KAAK,gBAAgB,EAAoB,KAAK,gBAAgB,EAAkB,MAAM,mBAAmB,CAAC;AACnH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EACL,KAAK,2BAA2B,EAIjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,13 @@ 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
5
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
6
|
-
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
6
|
+
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
7
7
|
import { publishContractClass } from '../deployment/publish_class.js';
|
|
8
8
|
import { publishInstance } from '../deployment/publish_instance.js';
|
|
9
9
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
10
10
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
11
|
-
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
12
11
|
import { getGasLimits } from './get_gas_limits.js';
|
|
13
|
-
import { toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
12
|
+
import { NO_WAIT, toProfileOptions, toSendOptions, toSimulateOptions } from './interaction_options.js';
|
|
14
13
|
/**
|
|
15
14
|
* Contract interaction for deployment.
|
|
16
15
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -20,35 +19,40 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
20
19
|
* then technically the contract has already been "created", and all of the contract's
|
|
21
20
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
22
21
|
* "deployment tx".
|
|
23
|
-
*
|
|
24
|
-
* Extends the BaseContractInteraction class.
|
|
25
22
|
*/ export class DeployMethod extends BaseContractInteraction {
|
|
26
23
|
publicKeys;
|
|
27
24
|
artifact;
|
|
28
25
|
postDeployCtor;
|
|
29
26
|
args;
|
|
27
|
+
extraHashedArgs;
|
|
30
28
|
/** The contract instance to be deployed. */ instance;
|
|
31
29
|
/** 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;
|
|
30
|
+
constructor(publicKeys, wallet, artifact, postDeployCtor, args = [], constructorNameOrArtifact, authWitnesses = [], capsules = [], extraHashedArgs = []){
|
|
31
|
+
super(wallet, authWitnesses, capsules), this.publicKeys = publicKeys, this.artifact = artifact, this.postDeployCtor = postDeployCtor, this.args = args, this.extraHashedArgs = extraHashedArgs, this.instance = undefined;
|
|
34
32
|
this.constructorArtifact = getInitializer(artifact, constructorNameOrArtifact);
|
|
35
33
|
}
|
|
36
34
|
/**
|
|
37
35
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
38
36
|
* @param options - Configuration options.
|
|
39
37
|
* @returns The execution payload for this operation
|
|
40
|
-
*/ async request(options) {
|
|
38
|
+
*/ async request(options = {}) {
|
|
41
39
|
const publication = await this.getPublicationExecutionPayload(options);
|
|
42
40
|
if (!options?.skipRegistration) {
|
|
43
41
|
await this.wallet.registerContract(await this.getInstance(options), this.artifact);
|
|
44
42
|
}
|
|
43
|
+
const { authWitnesses, capsules } = options;
|
|
44
|
+
// Propagates the included authwitnesses, capsules, and extraHashedArgs
|
|
45
|
+
// potentially baked into the interaction
|
|
46
|
+
const initialExecutionPayload = new ExecutionPayload([], this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
|
|
45
47
|
const initialization = await this.getInitializationExecutionPayload(options);
|
|
46
48
|
const feeExecutionPayload = options?.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
|
|
47
49
|
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
50
|
+
initialExecutionPayload,
|
|
48
51
|
feeExecutionPayload,
|
|
49
52
|
publication,
|
|
50
53
|
initialization
|
|
51
54
|
]) : mergeExecutionPayloads([
|
|
55
|
+
initialExecutionPayload,
|
|
52
56
|
publication,
|
|
53
57
|
initialization
|
|
54
58
|
]);
|
|
@@ -64,6 +68,30 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
64
68
|
};
|
|
65
69
|
}
|
|
66
70
|
/**
|
|
71
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
72
|
+
* @param options - Deploy options with wait parameter
|
|
73
|
+
* @returns Send options with wait parameter
|
|
74
|
+
*/ convertDeployOptionsToSendOptions(options) {
|
|
75
|
+
return {
|
|
76
|
+
...toSendOptions({
|
|
77
|
+
...options,
|
|
78
|
+
wait: options.wait
|
|
79
|
+
})
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
84
|
+
* @param options - The deploy simulation options to convert.
|
|
85
|
+
*/ convertDeployOptionsToSimulateOptions(options) {
|
|
86
|
+
return toSimulateOptions(options);
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
90
|
+
* @param options - The deploy profile options to convert.
|
|
91
|
+
*/ convertDeployOptionsToProfileOptions(options) {
|
|
92
|
+
return toProfileOptions(options);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
67
95
|
* Adds this contract to the wallet and returns the Contract object.
|
|
68
96
|
* @param options - Deployment options.
|
|
69
97
|
*/ async register(options) {
|
|
@@ -122,21 +150,29 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
122
150
|
}
|
|
123
151
|
return mergeExecutionPayloads(executionsPayloads);
|
|
124
152
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
this.
|
|
139
|
-
|
|
153
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
154
|
+
async send(options) {
|
|
155
|
+
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
156
|
+
const sendOptions = this.convertDeployOptionsToSendOptions(options);
|
|
157
|
+
if (options.wait === NO_WAIT) {
|
|
158
|
+
const txHash = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
159
|
+
this.log.debug(`Sent deployment tx ${txHash.hash} of ${this.artifact.name} contract`);
|
|
160
|
+
return txHash;
|
|
161
|
+
}
|
|
162
|
+
const receipt = await this.wallet.sendTx(executionPayload, sendOptions);
|
|
163
|
+
this.log.debug(`Deployed ${this.artifact.name} contract in tx ${receipt.txHash}`);
|
|
164
|
+
// Attach contract instance
|
|
165
|
+
const instance = await this.getInstance(options);
|
|
166
|
+
const contract = this.postDeployCtor(instance, this.wallet);
|
|
167
|
+
// Return full receipt if requested, otherwise just the contract
|
|
168
|
+
if (options.wait && typeof options.wait === 'object' && options.wait.returnReceipt) {
|
|
169
|
+
return {
|
|
170
|
+
...receipt,
|
|
171
|
+
contract,
|
|
172
|
+
instance
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
return contract;
|
|
140
176
|
}
|
|
141
177
|
/**
|
|
142
178
|
* Builds the contract instance and returns it.
|
|
@@ -163,7 +199,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
163
199
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
164
200
|
*/ async simulate(options) {
|
|
165
201
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
166
|
-
const simulatedTx = await this.wallet.simulateTx(executionPayload,
|
|
202
|
+
const simulatedTx = await this.wallet.simulateTx(executionPayload, this.convertDeployOptionsToSimulateOptions(options));
|
|
167
203
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
168
204
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
169
205
|
return {
|
|
@@ -183,11 +219,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
183
219
|
* @returns An object containing the function return value and profile result.
|
|
184
220
|
*/ async profile(options) {
|
|
185
221
|
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
|
-
});
|
|
222
|
+
return await this.wallet.profileTx(executionPayload, this.convertDeployOptionsToProfileOptions(options));
|
|
191
223
|
}
|
|
192
224
|
/** Return this deployment address. */ get address() {
|
|
193
225
|
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,
|
|
@@ -2,9 +2,10 @@ import type { FieldsOf } from '@aztec/foundation/types';
|
|
|
2
2
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
3
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
4
4
|
import type { GasSettings } from '@aztec/stdlib/gas';
|
|
5
|
-
import type { Capsule, OffchainEffect, SimulationStats } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { Capsule, OffchainEffect, SimulationStats, TxHash, TxReceipt } from '@aztec/stdlib/tx';
|
|
6
6
|
import type { FeePaymentMethod } from '../fee/fee_payment_method.js';
|
|
7
7
|
import type { ProfileOptions, SendOptions, SimulateOptions } from '../wallet/index.js';
|
|
8
|
+
import type { WaitOpts } from './wait_opts.js';
|
|
8
9
|
/**
|
|
9
10
|
* Options used to tweak the simulation and add gas estimation capabilities
|
|
10
11
|
*/
|
|
@@ -47,13 +48,48 @@ export type RequestInteractionOptions = {
|
|
|
47
48
|
fee?: FeePaymentMethodOption;
|
|
48
49
|
};
|
|
49
50
|
/**
|
|
50
|
-
*
|
|
51
|
+
* Constant for explicitly not waiting for transaction confirmation.
|
|
52
|
+
* We use this instead of false to avoid confusion with falsy checks.
|
|
53
|
+
*/
|
|
54
|
+
export declare const NO_WAIT: "NO_WAIT";
|
|
55
|
+
/**
|
|
56
|
+
* Type for the NO_WAIT constant.
|
|
57
|
+
*/
|
|
58
|
+
export type NoWait = typeof NO_WAIT;
|
|
59
|
+
/**
|
|
60
|
+
* Type for wait options in interactions.
|
|
61
|
+
* - NO_WAIT symbol: Don't wait for confirmation, return TxHash immediately
|
|
62
|
+
* - WaitOpts object: Wait with custom options and return receipt/result
|
|
63
|
+
* - undefined: Wait with default options and return receipt/result
|
|
64
|
+
*/
|
|
65
|
+
export type InteractionWaitOptions = NoWait | WaitOpts | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Base options for calling a (constrained) function in a contract, without wait parameter.
|
|
51
68
|
*/
|
|
52
|
-
export type
|
|
69
|
+
export type SendInteractionOptionsWithoutWait = RequestInteractionOptions & {
|
|
53
70
|
/** The sender's Aztec address. */
|
|
54
71
|
from: AztecAddress;
|
|
55
72
|
/** The fee options for the transaction. */
|
|
56
73
|
fee?: InteractionFeeOptions;
|
|
74
|
+
/**
|
|
75
|
+
* Additional addresses whose private state and keys should be accessible during execution,
|
|
76
|
+
* beyond the sender's. Required when the transaction needs to access private state or keys
|
|
77
|
+
* belonging to an address other than `from`, e.g. withdrawing from an escrow that holds
|
|
78
|
+
* its own private notes.
|
|
79
|
+
*/
|
|
80
|
+
additionalScopes?: AztecAddress[];
|
|
81
|
+
};
|
|
82
|
+
/**
|
|
83
|
+
* Represents options for calling a (constrained) function in a contract.
|
|
84
|
+
*/
|
|
85
|
+
export type SendInteractionOptions<W extends InteractionWaitOptions = undefined> = SendInteractionOptionsWithoutWait & {
|
|
86
|
+
/**
|
|
87
|
+
* Whether to wait for the transaction to be mined.
|
|
88
|
+
* - undefined (default): wait with default options and return TxReceipt
|
|
89
|
+
* - WaitOpts object: wait with custom options and return TxReceipt
|
|
90
|
+
* - NO_WAIT: return txHash immediately without waiting
|
|
91
|
+
*/
|
|
92
|
+
wait?: W;
|
|
57
93
|
};
|
|
58
94
|
/**
|
|
59
95
|
* Represents the options for simulating a contract function interaction.
|
|
@@ -96,11 +132,19 @@ export type SimulationReturn<T extends boolean | undefined> = T extends true ? {
|
|
|
96
132
|
/** Gas estimation results */
|
|
97
133
|
estimatedGas: Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>;
|
|
98
134
|
} : any;
|
|
135
|
+
/**
|
|
136
|
+
* Represents the result type of sending a transaction.
|
|
137
|
+
* If `wait` is NO_WAIT, returns TxHash immediately without waiting.
|
|
138
|
+
* If `wait` is undefined or WaitOpts, returns TReturn (defaults to TxReceipt) after waiting.
|
|
139
|
+
*/
|
|
140
|
+
export type SendReturn<T extends InteractionWaitOptions, TReturn = TxReceipt> = T extends NoWait ? TxHash : TReturn;
|
|
99
141
|
/**
|
|
100
142
|
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
101
143
|
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
144
|
+
* @param options - The send interaction options with optional wait parameter
|
|
145
|
+
* @returns The send options to forward to the wallet
|
|
102
146
|
*/
|
|
103
|
-
export declare function toSendOptions(options: SendInteractionOptions): SendOptions
|
|
147
|
+
export declare function toSendOptions<W extends InteractionWaitOptions = undefined>(options: SendInteractionOptions<W>): SendOptions<W>;
|
|
104
148
|
/**
|
|
105
149
|
* Transforms and cleans up the higher level SimulateInteractionOptions defined by the interaction into
|
|
106
150
|
* SimulateOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
@@ -111,4 +155,4 @@ export declare function toSimulateOptions(options: SimulateInteractionOptions):
|
|
|
111
155
|
* ProfileOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
112
156
|
*/
|
|
113
157
|
export declare function toProfileOptions(options: ProfileInteractionOptions): ProfileOptions;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
158
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb25fb3B0aW9ucy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2ludGVyYWN0aW9uX29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDckQsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBHLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDckUsT0FBTyxLQUFLLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RixPQUFPLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQzs7R0FFRztBQUNILE1BQU0sTUFBTSxvQkFBb0IsR0FBRztJQUNqQyxrSEFBa0g7SUFDbEgsV0FBVyxDQUFDLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLHFIQUFxSDtJQUNySCxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sQ0FBQztDQUM5QixDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLHNCQUFzQixHQUFHO0lBQ25DLHFEQUFxRDtJQUNyRCxhQUFhLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQztDQUNsQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxNQUFNLGlCQUFpQixHQUFHO0lBQzlCLHVCQUF1QjtJQUN2QixXQUFXLENBQUMsRUFBRSxPQUFP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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,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constant for explicitly not waiting for transaction confirmation.
|
|
3
|
+
* We use this instead of false to avoid confusion with falsy checks.
|
|
4
|
+
*/ export const NO_WAIT = 'NO_WAIT';
|
|
1
5
|
/**
|
|
2
6
|
* Transforms and cleans up the higher level SendInteractionOptions defined by the interaction into
|
|
3
7
|
* SendOptions, which are the ones that can be serialized and forwarded to the wallet
|
|
8
|
+
* @param options - The send interaction options with optional wait parameter
|
|
9
|
+
* @returns The send options to forward to the wallet
|
|
4
10
|
*/ export function toSendOptions(options) {
|
|
5
11
|
return {
|
|
6
12
|
...options,
|
|
@@ -12,7 +18,8 @@
|
|
|
12
18
|
...options.fee?.paymentMethod?.getGasSettings(),
|
|
13
19
|
...options.fee?.gasSettings
|
|
14
20
|
}
|
|
15
|
-
}
|
|
21
|
+
},
|
|
22
|
+
wait: options.wait
|
|
16
23
|
};
|
|
17
24
|
}
|
|
18
25
|
/**
|