@aztec/aztec.js 0.0.1-commit.d431d1c → 0.0.1-commit.db765a8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/api/abi.d.ts +2 -2
- package/dest/api/abi.d.ts.map +1 -1
- package/dest/api/block.d.ts +2 -2
- package/dest/api/block.d.ts.map +1 -1
- package/dest/api/block.js +1 -1
- package/dest/api/contract.d.ts +18 -12
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +16 -10
- package/dest/api/deployment.d.ts +1 -2
- package/dest/api/deployment.d.ts.map +1 -1
- package/dest/api/deployment.js +0 -1
- package/dest/api/events.d.ts +10 -6
- package/dest/api/events.d.ts.map +1 -1
- package/dest/api/events.js +30 -20
- package/dest/api/fields.d.ts +2 -1
- package/dest/api/fields.d.ts.map +1 -1
- package/dest/api/fields.js +1 -0
- package/dest/api/keys.d.ts +1 -1
- package/dest/api/keys.js +1 -1
- package/dest/api/node.d.ts +8 -4
- package/dest/api/node.d.ts.map +1 -1
- package/dest/api/node.js +7 -3
- package/dest/api/tx.d.ts +2 -2
- package/dest/api/tx.d.ts.map +1 -1
- package/dest/api/tx.js +1 -1
- package/dest/api/wallet.d.ts +3 -2
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +2 -1
- package/dest/contract/base_contract_interaction.d.ts +8 -10
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +5 -17
- package/dest/contract/batch_call.d.ts +3 -3
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +17 -8
- package/dest/contract/contract_function_interaction.d.ts +7 -16
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +107 -18
- package/dest/contract/deploy_method.d.ts +91 -19
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +68 -30
- package/dest/contract/get_gas_limits.js +3 -3
- package/dest/contract/interaction_options.d.ts +99 -21
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +41 -1
- package/dest/contract/protocol_contracts/auth-registry.d.ts +3 -3
- package/dest/contract/protocol_contracts/auth-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/auth-registry.js +49 -20
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts +2 -22
- package/dest/contract/protocol_contracts/contract-class-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-class-registry.js +13 -671
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts +2 -11
- package/dest/contract/protocol_contracts/contract-instance-registry.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/contract-instance-registry.js +80 -486
- package/dest/contract/protocol_contracts/fee-juice.d.ts +1 -10
- package/dest/contract/protocol_contracts/fee-juice.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/fee-juice.js +7 -413
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts +3 -3
- package/dest/contract/protocol_contracts/multi-call-entrypoint.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/multi-call-entrypoint.js +40 -15
- package/dest/contract/protocol_contracts/public-checks.d.ts +3 -3
- package/dest/contract/protocol_contracts/public-checks.d.ts.map +1 -1
- package/dest/contract/protocol_contracts/public-checks.js +40 -23
- package/dest/contract/wait_for_proven.js +1 -1
- package/dest/contract/wait_opts.d.ts +16 -0
- package/dest/contract/wait_opts.d.ts.map +1 -0
- package/dest/contract/wait_opts.js +5 -0
- package/dest/fee/fee_juice_payment_method_with_claim.js +6 -6
- package/dest/fee/private_fee_payment_method.js +10 -10
- package/dest/fee/public_fee_payment_method.js +10 -10
- package/dest/fee/sponsored_fee_payment.js +3 -3
- package/dest/utils/abi_types.d.ts +6 -1
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/abi_types.js +1 -1
- package/dest/utils/authwit.d.ts +6 -6
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +12 -12
- package/dest/utils/node.d.ts +12 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +46 -0
- package/dest/wallet/capabilities.d.ts +452 -0
- package/dest/wallet/capabilities.d.ts.map +1 -0
- package/dest/wallet/capabilities.js +3 -0
- package/dest/wallet/deploy_account_method.d.ts +31 -6
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/deploy_account_method.js +26 -0
- package/dest/wallet/index.d.ts +2 -1
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +1 -0
- package/dest/wallet/wallet.d.ts +1639 -93
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +186 -27
- package/package.json +20 -11
- package/src/api/abi.ts +1 -0
- package/src/api/block.ts +1 -1
- package/src/api/contract.ts +31 -9
- package/src/api/deployment.ts +0 -1
- package/src/api/events.ts +35 -27
- package/src/api/fields.ts +1 -0
- package/src/api/keys.ts +2 -2
- package/src/api/node.ts +7 -3
- package/src/api/tx.ts +2 -0
- package/src/api/wallet.ts +48 -1
- package/src/contract/base_contract_interaction.ts +28 -15
- package/src/contract/batch_call.ts +17 -14
- package/src/contract/contract_function_interaction.ts +114 -26
- package/src/contract/deploy_method.ts +172 -35
- package/src/contract/get_gas_limits.ts +3 -3
- package/src/contract/interaction_options.ts +141 -23
- package/src/contract/protocol_contracts/auth-registry.ts +13 -14
- package/src/contract/protocol_contracts/contract-class-registry.ts +4 -347
- package/src/contract/protocol_contracts/contract-instance-registry.ts +34 -234
- package/src/contract/protocol_contracts/fee-juice.ts +2 -202
- package/src/contract/protocol_contracts/multi-call-entrypoint.ts +11 -13
- package/src/contract/protocol_contracts/public-checks.ts +11 -15
- package/src/contract/wait_for_proven.ts +1 -1
- package/src/contract/wait_opts.ts +21 -0
- package/src/fee/fee_juice_payment_method_with_claim.ts +5 -5
- package/src/fee/private_fee_payment_method.ts +7 -7
- package/src/fee/public_fee_payment_method.ts +8 -8
- package/src/fee/sponsored_fee_payment.ts +3 -3
- package/src/utils/abi_types.ts +7 -0
- package/src/utils/authwit.ts +31 -21
- package/src/utils/node.ts +62 -0
- package/src/wallet/capabilities.ts +500 -0
- package/src/wallet/deploy_account_method.ts +56 -4
- package/src/wallet/index.ts +1 -0
- package/src/wallet/wallet.ts +257 -50
- package/dest/contract/deploy_sent_tx.d.ts +0 -48
- package/dest/contract/deploy_sent_tx.d.ts.map +0 -1
- package/dest/contract/deploy_sent_tx.js +0 -46
- package/dest/contract/sent_tx.d.ts +0 -50
- package/dest/contract/sent_tx.d.ts.map +0 -1
- package/dest/contract/sent_tx.js +0 -90
- package/dest/deployment/broadcast_function.d.ts +0 -24
- package/dest/deployment/broadcast_function.d.ts.map +0 -1
- package/dest/deployment/broadcast_function.js +0 -74
- package/src/contract/deploy_sent_tx.ts +0 -75
- package/src/contract/sent_tx.ts +0 -129
- package/src/deployment/broadcast_function.ts +0 -148
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
|
|
2
2
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
3
3
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
|
-
import { toSimulateOptions } from './interaction_options.js';
|
|
4
|
+
import { emptyOffchainOutput, extractOffchainOutput, toSimulateOptions } from './interaction_options.js';
|
|
5
5
|
/** A batch of function calls to be sent as a single transaction through a wallet. */ // docs:start:batch_call_class
|
|
6
6
|
export class BatchCall extends BaseContractInteraction {
|
|
7
7
|
interactions;
|
|
@@ -25,9 +25,9 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
25
25
|
return finalExecutionPayload;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
* Simulates the batch, supporting private, public and utility functions. Although this is a single
|
|
28
|
+
* Simulates/executes the batch, supporting private, public and utility functions. Although this is a single
|
|
29
29
|
* interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
|
|
30
|
-
* that the wallet will simulate as a single transaction. Utility function calls will
|
|
30
|
+
* that the wallet will simulate as a single transaction. Utility function calls will be executed
|
|
31
31
|
* one by one.
|
|
32
32
|
* @param options - An optional object containing additional configuration for the interaction.
|
|
33
33
|
* @returns The results of all the interactions that make up the batch
|
|
@@ -57,10 +57,13 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
57
57
|
// Add utility calls to batch
|
|
58
58
|
for (const [call] of utility){
|
|
59
59
|
batchRequests.push({
|
|
60
|
-
name: '
|
|
60
|
+
name: 'executeUtility',
|
|
61
61
|
args: [
|
|
62
62
|
call,
|
|
63
|
-
|
|
63
|
+
{
|
|
64
|
+
scope: options.from,
|
|
65
|
+
authWitnesses: options.authWitnesses
|
|
66
|
+
}
|
|
64
67
|
]
|
|
65
68
|
});
|
|
66
69
|
}
|
|
@@ -83,9 +86,12 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
83
86
|
for(let i = 0; i < utility.length; i++){
|
|
84
87
|
const [call, resultIndex] = utility[i];
|
|
85
88
|
const wrappedResult = batchResults[i];
|
|
86
|
-
if (wrappedResult.name === '
|
|
89
|
+
if (wrappedResult.name === 'executeUtility') {
|
|
87
90
|
const rawReturnValues = wrappedResult.result.result;
|
|
88
|
-
results[resultIndex] =
|
|
91
|
+
results[resultIndex] = {
|
|
92
|
+
result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
|
|
93
|
+
...emptyOffchainOutput()
|
|
94
|
+
};
|
|
89
95
|
}
|
|
90
96
|
}
|
|
91
97
|
// Process tx simulation result (it comes last if present)
|
|
@@ -99,7 +105,10 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
99
105
|
// since we're interested in the first set of values AFTER the account entrypoint
|
|
100
106
|
// For public functions we retrieve the first values directly from the public output.
|
|
101
107
|
const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
|
|
102
|
-
results[callIndex] =
|
|
108
|
+
results[callIndex] = {
|
|
109
|
+
result: rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [],
|
|
110
|
+
...extractOffchainOutput(simulatedTx.offchainEffects)
|
|
111
|
+
};
|
|
103
112
|
});
|
|
104
113
|
}
|
|
105
114
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
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
|
-
import {
|
|
4
|
+
import type { Capsule, HashedValues, TxProfileResult } from '@aztec/stdlib/tx';
|
|
5
5
|
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
6
6
|
import type { Wallet } from '../wallet/wallet.js';
|
|
7
7
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
8
|
-
import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type
|
|
8
|
+
import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationResult } from './interaction_options.js';
|
|
9
9
|
/**
|
|
10
10
|
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
11
11
|
* It contains available interactions one can call on a method, including view.
|
|
@@ -16,21 +16,13 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
16
16
|
protected args: any[];
|
|
17
17
|
private extraHashedArgs;
|
|
18
18
|
constructor(wallet: Wallet, contractAddress: AztecAddress, functionDao: FunctionAbi, args: any[], authWitnesses?: AuthWitness[], capsules?: Capsule[], extraHashedArgs?: HashedValues[]);
|
|
19
|
+
private hasInvalidNullOrUndefinedArguments;
|
|
19
20
|
/**
|
|
20
21
|
* Returns the encoded function call wrapped by this interaction
|
|
21
22
|
* Useful when generating authwits
|
|
22
23
|
* @returns An encoded function call
|
|
23
24
|
*/
|
|
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
|
-
}>;
|
|
25
|
+
getFunctionCall(): Promise<FunctionCall>;
|
|
34
26
|
/**
|
|
35
27
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
36
28
|
* @param options - Configuration options.
|
|
@@ -48,8 +40,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
48
40
|
* function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
|
|
49
41
|
* execution statistics and emitted offchain effects
|
|
50
42
|
*/
|
|
51
|
-
simulate
|
|
52
|
-
simulate<T extends SimulateInteractionOptions>(options: T): Promise<SimulationReturn<T['includeMetadata']>>;
|
|
43
|
+
simulate(options?: SimulateInteractionOptions): Promise<SimulationResult>;
|
|
53
44
|
/**
|
|
54
45
|
* Simulate a transaction and profile the gate count for each function in the transaction.
|
|
55
46
|
* @param options - Same options as `simulate`, plus profiling method
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsS0FBSyxXQUFXLEVBQ2hCLFlBQVksRUFPYixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFDL0IsS0FBSyxnQkFBZ0IsRUFLdEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQzs7O0dBR0c7QUFDSCxxQkFBYSwyQkFBNEIsU0FBUSx1QkFBdUI7SUFHcEUsU0FBUyxDQUFDLGVBQWUsRUFBRSxZQUFZO0lBQ3ZDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsV0FBVztJQUNsQyxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTtJQUdyQixPQUFPLENBQUMsZUFBZTtJQVB6QixZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osZUFBZSxFQUFFLFlBQVksRUFDN0IsV0FBVyxFQUFFLFdBQVcsRUFDeEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUNyQixhQUFhLEdBQUUsV0FBVyxFQUFPLEVBQ2pDLFFBQVEsR0FBRSxPQUFPLEVBQU8sRUFDaEIsZUFBZSxHQUFFLFlBQVksRUFBTyxFQWdCN0M7SUFFRCxPQUFPLENBQUMsa0NBQWtDO0lBVzFDOzs7O09BSUc7SUFDVSxlQUFlLDBCQVkzQjtJQUVEOzs7O09BSUc7SUFDbUIsT0FBTyxDQUFDLE9BQU8sR0FBRSx5QkFBOEIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FnQmhHO0lBR0Q7Ozs7Ozs7Ozs7T0FVRztJQUNVLFFBQVEsQ0FDbkIsT0FBTyxHQUFFLDBCQUE2RCxHQUNyRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0F3RDNCO0lBRUQ7Ozs7O09BS0c7SUFDVSxPQUFPLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FPakY7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsRUFDVixhQUFrQixFQUNsQixRQUFhLEVBQ2IsZUFBb0IsRUFDckIsRUFBRTtRQUNELGtEQUFrRDtRQUNsRCxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM5Qiw2Q0FBNkM7UUFDN0MsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsc0RBQXNEO1FBQ3RELGVBQWUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDO0tBQ2xDLEdBQUcsMkJBQTJCLENBVTlCO0NBQ0YifQ==
|
|
@@ -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,EAGL,KAAK,WAAW,EAChB,YAAY,EAOb,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/E,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,EAKtB,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,EAgB7C;IAED,OAAO,CAAC,kCAAkC;IAW1C;;;;OAIG;IACU,eAAe,0BAY3B;IAED;;;;OAIG;IACmB,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgBhG;IAGD;;;;;;;;;;OAUG;IACU,QAAQ,CACnB,OAAO,GAAE,0BAA6D,GACrE,OAAO,CAAC,gBAAgB,CAAC,CAwD3B;IAED;;;;;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,9 +1,8 @@
|
|
|
1
|
-
import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
2
|
-
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
1
|
+
import { FunctionCall, FunctionSelector, FunctionType, canBeMappedFromNullOrUndefined, decodeFromAbi, encodeArguments, isOptionStruct } from '@aztec/stdlib/abi';
|
|
3
2
|
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
4
3
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
5
4
|
import { getGasLimits } from './get_gas_limits.js';
|
|
6
|
-
import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
5
|
+
import { emptyOffchainOutput, extractOffchainOutput, toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
7
6
|
/**
|
|
8
7
|
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
9
8
|
* It contains available interactions one can call on a method, including view.
|
|
@@ -14,26 +13,43 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
14
13
|
extraHashedArgs;
|
|
15
14
|
constructor(wallet, contractAddress, functionDao, args, authWitnesses = [], capsules = [], extraHashedArgs = []){
|
|
16
15
|
super(wallet, authWitnesses, capsules), this.contractAddress = contractAddress, this.functionDao = functionDao, this.args = args, this.extraHashedArgs = extraHashedArgs;
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
// This may feel a bit ad-hoc here, so it warrants a comment. We accept Noir Option<T> parameters, and it's natural
|
|
17
|
+
// to map JS's null/undefined to Noir Option's None. One possible way to deal with null/undefined arguments at this
|
|
18
|
+
// point in the codebase is to conclude that they are accepted since at least one Noir type (ie: Option) can be
|
|
19
|
+
// encoded from them. Then we would let `encode` deal with potential mismatches. I chose not to do that because of
|
|
20
|
+
// the pervasiveness of null/undefined in JS, and how easy it is to inadvertently pass it around. Having this check
|
|
21
|
+
// here allows us to fail at a point where the boundaries and intent are clear.
|
|
22
|
+
if (this.hasInvalidNullOrUndefinedArguments(args)) {
|
|
23
|
+
const signature = formatFunctionSignature(this.functionDao.name, this.functionDao.parameters);
|
|
24
|
+
const received = args.map(formatArg).join(', ');
|
|
25
|
+
throw new Error(`Null or undefined arguments are only allowed for Option<T> parameters in ${signature}. Received: (${received}).`);
|
|
19
26
|
}
|
|
20
27
|
}
|
|
28
|
+
hasInvalidNullOrUndefinedArguments(args) {
|
|
29
|
+
return args.some((arg, index)=>{
|
|
30
|
+
if (arg !== undefined && arg !== null) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const parameterType = this.functionDao.parameters[index]?.type;
|
|
34
|
+
return !parameterType || !canBeMappedFromNullOrUndefined(parameterType);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
21
37
|
/**
|
|
22
38
|
* Returns the encoded function call wrapped by this interaction
|
|
23
39
|
* Useful when generating authwits
|
|
24
40
|
* @returns An encoded function call
|
|
25
41
|
*/ async getFunctionCall() {
|
|
26
42
|
const args = encodeArguments(this.functionDao, this.args);
|
|
27
|
-
return {
|
|
43
|
+
return FunctionCall.from({
|
|
28
44
|
name: this.functionDao.name,
|
|
29
|
-
|
|
45
|
+
to: this.contractAddress,
|
|
30
46
|
selector: await FunctionSelector.fromNameAndParameters(this.functionDao.name, this.functionDao.parameters),
|
|
31
47
|
type: this.functionDao.functionType,
|
|
32
|
-
to: this.contractAddress,
|
|
33
|
-
isStatic: this.functionDao.isStatic,
|
|
34
48
|
hideMsgSender: false,
|
|
49
|
+
isStatic: this.functionDao.isStatic,
|
|
50
|
+
args,
|
|
35
51
|
returnTypes: this.functionDao.returnTypes
|
|
36
|
-
};
|
|
52
|
+
});
|
|
37
53
|
}
|
|
38
54
|
/**
|
|
39
55
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
@@ -52,22 +68,38 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
52
68
|
]) : functionExecutionPayload;
|
|
53
69
|
return finalExecutionPayload;
|
|
54
70
|
}
|
|
55
|
-
//
|
|
56
|
-
|
|
71
|
+
// docs:start:simulate
|
|
72
|
+
/**
|
|
73
|
+
* Simulate a transaction and get information from its execution.
|
|
74
|
+
* Differs from prove in a few important ways:
|
|
75
|
+
* 1. It returns the values of the function execution, plus additional metadata if requested
|
|
76
|
+
* 2. It supports `utility`, `private` and `public` functions
|
|
77
|
+
*
|
|
78
|
+
* @param options - An optional object containing additional configuration for the simulation.
|
|
79
|
+
* @returns Depending on the simulation options, this method directly returns the result value of the executed
|
|
80
|
+
* function or a rich object containing extra metadata, such as estimated gas costs (if requested via options),
|
|
81
|
+
* execution statistics and emitted offchain effects
|
|
82
|
+
*/ async simulate(options = {}) {
|
|
57
83
|
// docs:end:simulate
|
|
58
84
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
59
85
|
const call = await this.getFunctionCall();
|
|
60
|
-
const utilityResult = await this.wallet.
|
|
86
|
+
const utilityResult = await this.wallet.executeUtility(call, {
|
|
87
|
+
scope: options.from,
|
|
88
|
+
authWitnesses: options.authWitnesses
|
|
89
|
+
});
|
|
61
90
|
// Decode the raw field elements to the actual return type
|
|
62
91
|
const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
|
|
63
92
|
if (options.includeMetadata) {
|
|
64
93
|
return {
|
|
65
94
|
stats: utilityResult.stats,
|
|
95
|
+
...emptyOffchainOutput(),
|
|
66
96
|
result: returnValue
|
|
67
97
|
};
|
|
68
|
-
} else {
|
|
69
|
-
return returnValue;
|
|
70
98
|
}
|
|
99
|
+
return {
|
|
100
|
+
result: returnValue,
|
|
101
|
+
...emptyOffchainOutput()
|
|
102
|
+
};
|
|
71
103
|
}
|
|
72
104
|
const executionPayload = await this.request(options);
|
|
73
105
|
const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
|
|
@@ -86,21 +118,24 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
86
118
|
rawReturnValues = simulatedTx.getPublicReturnValues()?.[0]?.values;
|
|
87
119
|
}
|
|
88
120
|
const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
|
|
121
|
+
const offchainOutput = extractOffchainOutput(simulatedTx.offchainEffects);
|
|
89
122
|
if (options.includeMetadata || options.fee?.estimateGas) {
|
|
90
123
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
91
124
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
92
125
|
return {
|
|
93
126
|
stats: simulatedTx.stats,
|
|
94
|
-
|
|
127
|
+
...offchainOutput,
|
|
95
128
|
result: returnValue,
|
|
96
129
|
estimatedGas: {
|
|
97
130
|
gasLimits,
|
|
98
131
|
teardownGasLimits
|
|
99
132
|
}
|
|
100
133
|
};
|
|
101
|
-
} else {
|
|
102
|
-
return returnValue;
|
|
103
134
|
}
|
|
135
|
+
return {
|
|
136
|
+
result: returnValue,
|
|
137
|
+
...offchainOutput
|
|
138
|
+
};
|
|
104
139
|
}
|
|
105
140
|
/**
|
|
106
141
|
* Simulate a transaction and profile the gate count for each function in the transaction.
|
|
@@ -124,3 +159,57 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
124
159
|
return new ContractFunctionInteraction(this.wallet, this.contractAddress, this.functionDao, this.args, this.authWitnesses.concat(authWitnesses), this.capsules.concat(capsules), this.extraHashedArgs.concat(extraHashedArgs));
|
|
125
160
|
}
|
|
126
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Render an AbiType as a human readable string
|
|
164
|
+
* */ function formatAbiType(abiType) {
|
|
165
|
+
switch(abiType.kind){
|
|
166
|
+
case 'field':
|
|
167
|
+
return 'Field';
|
|
168
|
+
case 'boolean':
|
|
169
|
+
return 'bool';
|
|
170
|
+
case 'integer':
|
|
171
|
+
return `${abiType.sign === 'signed' ? 'i' : 'u'}${abiType.width}`;
|
|
172
|
+
case 'string':
|
|
173
|
+
return `str<${abiType.length}>`;
|
|
174
|
+
case 'array':
|
|
175
|
+
return `[${formatAbiType(abiType.type)}; ${abiType.length}]`;
|
|
176
|
+
case 'struct':
|
|
177
|
+
{
|
|
178
|
+
if (isOptionStruct(abiType)) {
|
|
179
|
+
const innerType = abiType.fields.find((f)=>f.name === '_value').type;
|
|
180
|
+
return `Option<${formatAbiType(innerType)}>`;
|
|
181
|
+
}
|
|
182
|
+
return `(${abiType.fields.map((f)=>`${f.name}: ${formatAbiType(f.type)}`).join(', ')})`;
|
|
183
|
+
}
|
|
184
|
+
case 'tuple':
|
|
185
|
+
return `(${abiType.fields.map(formatAbiType).join(', ')})`;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Pretty print a function signature
|
|
190
|
+
*/ function formatFunctionSignature(name, parameters) {
|
|
191
|
+
const params = parameters.map((p)=>`${p.name}: ${formatAbiType(p.type)}`).join(', ');
|
|
192
|
+
return `${name}(${params})`;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Non-exhaustive pretty print of JS args to display in error messages in this module
|
|
196
|
+
*/ function formatArg(arg) {
|
|
197
|
+
if (arg === undefined) {
|
|
198
|
+
return 'undefined';
|
|
199
|
+
}
|
|
200
|
+
if (arg === null) {
|
|
201
|
+
return 'null';
|
|
202
|
+
}
|
|
203
|
+
if (typeof arg === 'bigint') {
|
|
204
|
+
return `${arg}n`;
|
|
205
|
+
}
|
|
206
|
+
if (Array.isArray(arg)) {
|
|
207
|
+
return `[${arg.map(formatArg).join(', ')}]`;
|
|
208
|
+
}
|
|
209
|
+
if (typeof arg === 'object') {
|
|
210
|
+
const entries = Object.entries(arg).map(([k, v])=>`${k}: ${formatArg(v)}`);
|
|
211
|
+
return `{ ${entries.join(', ')} }`;
|
|
212
|
+
}
|
|
213
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
214
|
+
return String(arg);
|
|
215
|
+
}
|
|
@@ -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, 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 OffchainOutput, type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptionsWithoutWait, type SimulationInteractionFeeOptions, type SimulationResult, type TxSendResultImmediate, type TxSendResultMined } 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,33 @@ 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
|
+
/** Wait options that request a full receipt instead of just the contract instance. */
|
|
98
|
+
type WaitWithReturnReceipt = {
|
|
99
|
+
/** Request the full receipt instead of just the contract instance. */
|
|
100
|
+
returnReceipt: true;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Represents the result type of deploying a contract.
|
|
104
|
+
* - If wait is NO_WAIT, returns TxHash immediately.
|
|
105
|
+
* - If wait has returnReceipt: true, returns DeployTxReceipt after waiting.
|
|
106
|
+
* - Otherwise (undefined or DeployWaitOptions without returnReceipt), returns TContract after waiting.
|
|
107
|
+
*/
|
|
108
|
+
/** Result of deploying a contract when waiting for mining (default case). */
|
|
109
|
+
export type DeployResultMined<TContract extends ContractBase> = {
|
|
110
|
+
/** The deployed contract instance. */
|
|
111
|
+
contract: TContract;
|
|
112
|
+
/** The deploy transaction receipt. */
|
|
113
|
+
receipt: DeployTxReceipt<TContract>;
|
|
114
|
+
} & OffchainOutput;
|
|
115
|
+
/** Conditional return type for deploy based on wait options. */
|
|
116
|
+
export type DeployReturn<TContract extends ContractBase, W extends DeployInteractionWaitOptions> = W extends NoWait ? TxSendResultImmediate : W extends WaitWithReturnReceipt ? TxSendResultMined<DeployTxReceipt<TContract>> : DeployResultMined<TContract>;
|
|
63
117
|
/**
|
|
64
118
|
* Contract interaction for deployment.
|
|
65
119
|
* Handles class publication, instance publication, and initialization of the contract.
|
|
@@ -69,26 +123,43 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
69
123
|
* then technically the contract has already been "created", and all of the contract's
|
|
70
124
|
* functions (private and utility) can be interacted-with immediately, without any
|
|
71
125
|
* "deployment tx".
|
|
72
|
-
*
|
|
73
|
-
* Extends the BaseContractInteraction class.
|
|
74
126
|
*/
|
|
75
127
|
export declare class DeployMethod<TContract extends ContractBase = ContractBase> extends BaseContractInteraction {
|
|
76
128
|
private publicKeys;
|
|
77
129
|
protected artifact: ContractArtifact;
|
|
78
130
|
protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
|
|
79
131
|
private args;
|
|
132
|
+
private extraHashedArgs;
|
|
80
133
|
/** The contract instance to be deployed. */
|
|
81
134
|
private instance?;
|
|
82
135
|
/** Constructor function to call. */
|
|
83
136
|
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[]);
|
|
137
|
+
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
138
|
/**
|
|
86
139
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
87
140
|
* @param options - Configuration options.
|
|
88
141
|
* @returns The execution payload for this operation
|
|
89
142
|
*/
|
|
90
143
|
request(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
91
|
-
convertDeployOptionsToRequestOptions(options:
|
|
144
|
+
convertDeployOptionsToRequestOptions(options: DeployOptionsWithoutWait): RequestDeployOptions;
|
|
145
|
+
/**
|
|
146
|
+
* Converts DeployOptions to SendOptions, stripping out the returnReceipt flag if present.
|
|
147
|
+
* @param options - Deploy options with wait parameter
|
|
148
|
+
* @returns Send options with wait parameter
|
|
149
|
+
*/
|
|
150
|
+
protected convertDeployOptionsToSendOptions<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): SendOptions<W extends {
|
|
151
|
+
returnReceipt: true;
|
|
152
|
+
} ? WaitOpts : W>;
|
|
153
|
+
/**
|
|
154
|
+
* Converts deploy simulation options into wallet-level simulate options.
|
|
155
|
+
* @param options - The deploy simulation options to convert.
|
|
156
|
+
*/
|
|
157
|
+
protected convertDeployOptionsToSimulateOptions(options: SimulateDeployOptions): SimulateOptions;
|
|
158
|
+
/**
|
|
159
|
+
* Converts deploy profile options into wallet-level profile options.
|
|
160
|
+
* @param options - The deploy profile options to convert.
|
|
161
|
+
*/
|
|
162
|
+
protected convertDeployOptionsToProfileOptions(options: DeployOptionsWithoutWait & ProfileInteractionOptions): ProfileOptions;
|
|
92
163
|
/**
|
|
93
164
|
* Adds this contract to the wallet and returns the Contract object.
|
|
94
165
|
* @param options - Deployment options.
|
|
@@ -111,13 +182,13 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
111
182
|
protected getInitializationExecutionPayload(options?: RequestDeployOptions): Promise<ExecutionPayload>;
|
|
112
183
|
/**
|
|
113
184
|
* 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.
|
|
185
|
+
* By default, waits for the transaction to be mined and returns the deployed contract instance.
|
|
116
186
|
*
|
|
117
187
|
* @param options - An object containing various deployment options such as contractAddressSalt and from.
|
|
118
|
-
* @returns
|
|
188
|
+
* @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
189
|
*/
|
|
120
|
-
send(options:
|
|
190
|
+
send(options: DeployOptionsWithoutWait): Promise<DeployResultMined<TContract>>;
|
|
191
|
+
send<W extends DeployInteractionWaitOptions>(options: DeployOptions<W>): Promise<DeployReturn<TContract, W>>;
|
|
121
192
|
/**
|
|
122
193
|
* Builds the contract instance and returns it.
|
|
123
194
|
*
|
|
@@ -132,14 +203,14 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
132
203
|
* @returns A simulation result object containing metadata of the execution, including gas
|
|
133
204
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
134
205
|
*/
|
|
135
|
-
simulate(options: SimulateDeployOptions): Promise<
|
|
206
|
+
simulate(options: SimulateDeployOptions): Promise<SimulationResult>;
|
|
136
207
|
/**
|
|
137
208
|
* Simulate a deployment and profile the gate count for each function in the transaction.
|
|
138
209
|
* @param options - Same options as `send`, plus extra profiling options.
|
|
139
210
|
*
|
|
140
211
|
* @returns An object containing the function return value and profile result.
|
|
141
212
|
*/
|
|
142
|
-
profile(options:
|
|
213
|
+
profile(options: DeployOptionsWithoutWait & ProfileInteractionOptions): Promise<TxProfileResult>;
|
|
143
214
|
/** Return this deployment address. */
|
|
144
215
|
get address(): AztecAddress | undefined;
|
|
145
216
|
/** Returns the partial address for this deployment. */
|
|
@@ -156,4 +227,5 @@ export declare class DeployMethod<TContract extends ContractBase = ContractBase>
|
|
|
156
227
|
capsules?: Capsule[];
|
|
157
228
|
}): DeployMethod;
|
|
158
229
|
}
|
|
159
|
-
|
|
230
|
+
export {};
|
|
231
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssZUFBZSxFQUFFLEtBQUssU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEcsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBSTVFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBR3ZELE9BQU8sRUFFTCxLQUFLLE1BQU0sRUFDWCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxpQ0FBaUMsRUFDdEMsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxnQkFBZ0IsRUFDckIsS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxpQkFB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
|
|
@@ -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,EAAE,KAAK,OAAO,EAAE,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|