@aztec/aztec.js 3.0.0-devnet.6 → 3.0.0-devnet.6-patch.1
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/README.md +1 -1
- package/dest/account/account.d.ts +3 -4
- package/dest/account/account.d.ts.map +1 -1
- package/dest/account/account.js +1 -1
- package/dest/account/account_contract.d.ts +2 -2
- package/dest/account/account_contract.d.ts.map +1 -1
- package/dest/account/account_with_secret_key.d.ts +3 -4
- package/dest/account/account_with_secret_key.d.ts.map +1 -1
- package/dest/account/index.d.ts +2 -2
- package/dest/account/index.d.ts.map +1 -1
- package/dest/account/interface.d.ts +2 -2
- package/dest/account/interface.d.ts.map +1 -1
- package/dest/account/signerless_account.d.ts +3 -4
- package/dest/account/signerless_account.d.ts.map +1 -1
- package/dest/api/abi.d.ts +1 -1
- package/dest/api/account.d.ts +2 -1
- package/dest/api/account.d.ts.map +1 -1
- package/dest/api/account.js +1 -0
- package/dest/api/addresses.d.ts +1 -1
- package/dest/api/authorization.d.ts +1 -1
- package/dest/api/block.d.ts +1 -1
- package/dest/api/contract.d.ts +5 -5
- package/dest/api/contract.d.ts.map +1 -1
- package/dest/api/contract.js +3 -3
- package/dest/api/crypto.d.ts +1 -1
- package/dest/api/deployment.d.ts +1 -1
- package/dest/api/eth_address.d.ts +1 -1
- package/dest/api/ethereum.d.ts +1 -1
- package/dest/api/events.d.ts +1 -1
- package/dest/api/fee.d.ts +1 -1
- package/dest/api/fee_testing.d.ts +1 -1
- package/dest/api/fields.d.ts +3 -2
- package/dest/api/fields.d.ts.map +1 -1
- package/dest/api/fields.js +2 -1
- package/dest/api/keys.d.ts +1 -1
- package/dest/api/log.d.ts +1 -1
- package/dest/api/messaging.d.ts +1 -1
- package/dest/api/node.d.ts +1 -1
- package/dest/api/note.d.ts +2 -2
- package/dest/api/note.d.ts.map +1 -1
- package/dest/api/note.js +1 -1
- package/dest/api/protocol.d.ts +1 -1
- package/dest/api/trees.d.ts +1 -1
- 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/utils.d.ts +1 -1
- package/dest/api/wallet.d.ts +2 -3
- package/dest/api/wallet.d.ts.map +1 -1
- package/dest/api/wallet.js +1 -2
- package/dest/authorization/call_authorization_request.d.ts +2 -23
- package/dest/authorization/call_authorization_request.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.d.ts +2 -3
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +1 -1
- package/dest/contract/batch_call.d.ts +8 -9
- package/dest/contract/batch_call.d.ts.map +1 -1
- package/dest/contract/batch_call.js +51 -33
- package/dest/contract/checker.d.ts +1 -1
- package/dest/contract/contract.d.ts +2 -2
- package/dest/contract/contract.d.ts.map +1 -1
- package/dest/contract/contract.js +4 -5
- package/dest/contract/contract_base.d.ts +5 -12
- package/dest/contract/contract_base.d.ts.map +1 -1
- package/dest/contract/contract_base.js +5 -12
- package/dest/contract/contract_function_interaction.d.ts +4 -4
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +9 -6
- package/dest/contract/deploy_method.d.ts +9 -8
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +9 -7
- package/dest/contract/deploy_sent_tx.d.ts +12 -7
- package/dest/contract/deploy_sent_tx.d.ts.map +1 -1
- package/dest/contract/deploy_sent_tx.js +10 -4
- package/dest/contract/get_gas_limits.d.ts +1 -1
- package/dest/contract/interaction_options.d.ts +5 -5
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/interaction_options.js +4 -10
- package/dest/contract/protocol_contracts.d.ts +1 -1
- package/dest/contract/sent_tx.d.ts +2 -3
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/contract/sent_tx.js +1 -1
- package/dest/contract/unsafe_contract.d.ts +1 -1
- package/dest/contract/unsafe_contract.d.ts.map +1 -1
- package/dest/contract/unsafe_contract.js +1 -1
- package/dest/contract/wait_for_proven.d.ts +2 -2
- package/dest/contract/wait_for_proven.d.ts.map +1 -1
- package/dest/deployment/broadcast_function.d.ts +1 -1
- package/dest/deployment/broadcast_function.js +1 -1
- package/dest/deployment/contract_deployer.d.ts +1 -1
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/deployment/contract_deployer.js +1 -1
- package/dest/deployment/publish_class.d.ts +1 -1
- package/dest/deployment/publish_class.js +1 -1
- package/dest/deployment/publish_instance.d.ts +1 -1
- package/dest/ethereum/portal_manager.d.ts +4 -6
- package/dest/ethereum/portal_manager.d.ts.map +1 -1
- package/dest/ethereum/portal_manager.js +40 -14
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts +2 -2
- package/dest/fee/fee_juice_payment_method_with_claim.d.ts.map +1 -1
- package/dest/fee/fee_juice_payment_method_with_claim.js +3 -3
- package/dest/fee/fee_payment_method.d.ts +2 -2
- package/dest/fee/fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.d.ts +2 -2
- package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/private_fee_payment_method.js +4 -4
- package/dest/fee/public_fee_payment_method.d.ts +2 -2
- package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
- package/dest/fee/public_fee_payment_method.js +4 -4
- package/dest/fee/sponsored_fee_payment.d.ts +2 -2
- package/dest/fee/sponsored_fee_payment.d.ts.map +1 -1
- package/dest/fee/sponsored_fee_payment.js +2 -2
- package/dest/utils/abi_types.d.ts +2 -2
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +7 -7
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/authwit.js +22 -11
- package/dest/utils/cross_chain.d.ts +2 -2
- package/dest/utils/cross_chain.d.ts.map +1 -1
- package/dest/utils/fee_juice.d.ts +2 -2
- package/dest/utils/fee_juice.js +2 -2
- package/dest/utils/field_compressed_string.d.ts +1 -1
- package/dest/utils/field_compressed_string.d.ts.map +1 -1
- package/dest/utils/field_compressed_string.js +1 -1
- package/dest/utils/node.d.ts +2 -2
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/pub_key.d.ts +2 -2
- package/dest/utils/pub_key.d.ts.map +1 -1
- package/dest/utils/pub_key.js +2 -3
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts +2 -2
- package/dest/wallet/account_entrypoint_meta_payment_method.d.ts.map +1 -1
- package/dest/wallet/account_entrypoint_meta_payment_method.js +2 -2
- package/dest/wallet/account_manager.d.ts +2 -5
- package/dest/wallet/account_manager.d.ts.map +1 -1
- package/dest/wallet/account_manager.js +2 -2
- package/dest/wallet/deploy_account_method.d.ts +5 -5
- package/dest/wallet/deploy_account_method.d.ts.map +1 -1
- package/dest/wallet/deploy_account_method.js +2 -2
- package/dest/wallet/index.d.ts +1 -2
- package/dest/wallet/index.d.ts.map +1 -1
- package/dest/wallet/index.js +0 -1
- package/dest/wallet/wallet.d.ts +686 -1148
- package/dest/wallet/wallet.d.ts.map +1 -1
- package/dest/wallet/wallet.js +37 -41
- package/package.json +13 -12
- package/src/account/account.ts +2 -3
- package/src/account/account_contract.ts +1 -1
- package/src/account/account_with_secret_key.ts +1 -1
- package/src/account/index.ts +1 -1
- package/src/account/interface.ts +1 -1
- package/src/account/signerless_account.ts +2 -3
- package/src/api/account.ts +1 -0
- package/src/api/contract.ts +4 -3
- package/src/api/fields.ts +2 -1
- package/src/api/note.ts +1 -1
- package/src/api/tx.ts +2 -0
- package/src/api/wallet.ts +5 -7
- package/src/authorization/call_authorization_request.ts +1 -1
- package/src/contract/base_contract_interaction.ts +2 -3
- package/src/contract/batch_call.ts +65 -48
- package/src/contract/contract.ts +7 -5
- package/src/contract/contract_base.ts +5 -15
- package/src/contract/contract_function_interaction.ts +10 -11
- package/src/contract/deploy_method.ts +13 -12
- package/src/contract/deploy_sent_tx.ts +17 -10
- package/src/contract/interaction_options.ts +5 -11
- package/src/contract/sent_tx.ts +2 -3
- package/src/contract/unsafe_contract.ts +1 -1
- package/src/deployment/broadcast_function.ts +1 -1
- package/src/deployment/contract_deployer.ts +3 -2
- package/src/deployment/publish_class.ts +1 -1
- package/src/ethereum/portal_manager.ts +58 -28
- package/src/fee/fee_juice_payment_method_with_claim.ts +4 -2
- package/src/fee/fee_payment_method.ts +1 -1
- package/src/fee/private_fee_payment_method.ts +5 -3
- package/src/fee/public_fee_payment_method.ts +5 -3
- package/src/fee/sponsored_fee_payment.ts +3 -1
- package/src/utils/abi_types.ts +1 -1
- package/src/utils/authwit.ts +21 -15
- package/src/utils/cross_chain.ts +1 -1
- package/src/utils/fee_juice.ts +2 -2
- package/src/utils/field_compressed_string.ts +1 -1
- package/src/utils/pub_key.ts +3 -4
- package/src/wallet/account_entrypoint_meta_payment_method.ts +2 -1
- package/src/wallet/account_manager.ts +2 -2
- package/src/wallet/deploy_account_method.ts +4 -3
- package/src/wallet/index.ts +0 -1
- package/src/wallet/wallet.ts +81 -80
- package/dest/wallet/base_wallet.d.ts +0 -91
- package/dest/wallet/base_wallet.d.ts.map +0 -1
- package/dest/wallet/base_wallet.js +0 -238
- package/src/wallet/base_wallet.ts +0 -350
|
@@ -28,7 +28,7 @@ import { SentTx } from './sent_tx.js';
|
|
|
28
28
|
// docs:end:send
|
|
29
29
|
const sendTx = async ()=>{
|
|
30
30
|
const executionPayload = await this.request(options);
|
|
31
|
-
const sendOptions =
|
|
31
|
+
const sendOptions = toSendOptions(options);
|
|
32
32
|
return this.wallet.sendTx(executionPayload, sendOptions);
|
|
33
33
|
};
|
|
34
34
|
return new SentTx(this.wallet, sendTx);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ExecutionPayload } from '@aztec/
|
|
1
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
2
2
|
import type { Wallet } from '../wallet/wallet.js';
|
|
3
3
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
4
|
import { type RequestInteractionOptions, type SimulateInteractionOptions } from './interaction_options.js';
|
|
@@ -13,15 +13,14 @@ export declare class BatchCall extends BaseContractInteraction {
|
|
|
13
13
|
*/
|
|
14
14
|
request(options?: RequestInteractionOptions): Promise<ExecutionPayload>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* @
|
|
22
|
-
* @returns The result of the transaction as returned by the contract function.
|
|
16
|
+
* Simulates the batch, supporting private, public and utility functions. Although this is a single
|
|
17
|
+
* interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
|
|
18
|
+
* that the wallet will simulate as a single transaction. Utility function calls will simply be executed
|
|
19
|
+
* one by one.
|
|
20
|
+
* @param options - An optional object containing additional configuration for the interaction.
|
|
21
|
+
* @returns The results of all the interactions that make up the batch
|
|
23
22
|
*/
|
|
24
23
|
simulate(options: SimulateInteractionOptions): Promise<any>;
|
|
25
24
|
protected getExecutionPayloads(): Promise<ExecutionPayload[]>;
|
|
26
25
|
}
|
|
27
|
-
//# sourceMappingURL=
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmF0Y2hfY2FsbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2JhdGNoX2NhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLGdCQUFnQixFQUlqQixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sS0FBSyxFQUFpQixNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSywwQkFBMEIsRUFFaEMsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQyxxRkFBcUY7QUFDckYscUJBQWEsU0FBVSxTQUFRLHVCQUF1QjtJQUdsRCxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRTtJQUZ4RSxZQUNFLE1BQU0sRUFBRSxNQUFNLEVBQ0osWUFBWSxFQUFFLENBQUMsdUJBQXVCLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxFQUd2RTtJQUVEOzs7O09BSUc7SUFDVSxPQUFPLENBQUMsT0FBTyxHQUFFLHlCQUE4QixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQVN2RjtJQUVEOzs7Ozs7O09BT0c7SUFDVSxRQUFRLENBQUMsT0FBTyxFQUFFLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0F5RnZFO0lBRUQsVUFBZ0Isb0JBQW9CLElBQUksT0FBTyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FFbEU7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gBAAgB,EAIjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACL,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAEhC,MAAM,0BAA0B,CAAC;AAElC,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE;IAFxE,YACE,MAAM,EAAE,MAAM,EACJ,YAAY,EAAE,CAAC,uBAAuB,GAAG,gBAAgB,CAAC,EAAE,EAGvE;IAED;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,yBAA8B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CASvF;IAED;;;;;;;OAOG;IACU,QAAQ,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,GAAG,CAAC,CAyFvE;IAED,UAAgB,oBAAoB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAElE;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { FunctionType, decodeFromAbi } from '@aztec/stdlib/abi';
|
|
2
|
+
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
3
3
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
4
4
|
import { toSimulateOptions } from './interaction_options.js';
|
|
5
5
|
/** A batch of function calls to be sent as a single transaction through a wallet. */ export class BatchCall extends BaseContractInteraction {
|
|
@@ -23,13 +23,12 @@ import { toSimulateOptions } from './interaction_options.js';
|
|
|
23
23
|
return finalExecutionPayload;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* @
|
|
32
|
-
* @returns The result of the transaction as returned by the contract function.
|
|
26
|
+
* Simulates the batch, supporting private, public and utility functions. Although this is a single
|
|
27
|
+
* interaction with the wallet, private and public functions will be grouped into a single ExecutionPayload
|
|
28
|
+
* that the wallet will simulate as a single transaction. Utility function calls will simply be executed
|
|
29
|
+
* one by one.
|
|
30
|
+
* @param options - An optional object containing additional configuration for the interaction.
|
|
31
|
+
* @returns The results of all the interactions that make up the batch
|
|
33
32
|
*/ async simulate(options) {
|
|
34
33
|
const { indexedExecutionPayloads, utility } = (await this.getExecutionPayloads()).reduce((acc, current, index)=>{
|
|
35
34
|
const call = current.calls[0];
|
|
@@ -52,37 +51,56 @@ import { toSimulateOptions } from './interaction_options.js';
|
|
|
52
51
|
publicIndex: 0,
|
|
53
52
|
privateIndex: 0
|
|
54
53
|
});
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
const batchRequests = [];
|
|
55
|
+
// Add utility calls to batch
|
|
56
|
+
for (const [call] of utility){
|
|
57
|
+
batchRequests.push({
|
|
59
58
|
name: 'simulateUtility',
|
|
60
59
|
args: [
|
|
61
|
-
call
|
|
62
|
-
call.args,
|
|
63
|
-
call.to,
|
|
60
|
+
call,
|
|
64
61
|
options?.authWitnesses
|
|
65
62
|
]
|
|
66
|
-
}))) : Promise.resolve([]);
|
|
67
|
-
const [utilityBatchResults, simulatedTx] = await Promise.all([
|
|
68
|
-
utilityBatchPromise,
|
|
69
|
-
indexedExecutionPayloads.length > 0 ? this.wallet.simulateTx(executionPayload, await toSimulateOptions(options)) : Promise.resolve()
|
|
70
|
-
]);
|
|
71
|
-
const results = [];
|
|
72
|
-
utilityBatchResults.forEach((wrappedResult, utilityIndex)=>{
|
|
73
|
-
const [, originalIndex] = utility[utilityIndex];
|
|
74
|
-
results[originalIndex] = wrappedResult.result.result;
|
|
75
|
-
});
|
|
76
|
-
if (simulatedTx) {
|
|
77
|
-
indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
|
|
78
|
-
const call = request.calls[0];
|
|
79
|
-
// As account entrypoints are private, for private functions we retrieve the return values from the first nested call
|
|
80
|
-
// since we're interested in the first set of values AFTER the account entrypoint
|
|
81
|
-
// For public functions we retrieve the first values directly from the public output.
|
|
82
|
-
const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
|
|
83
|
-
results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
|
|
84
63
|
});
|
|
85
64
|
}
|
|
65
|
+
// Add tx simulation to batch if there are any private/public calls
|
|
66
|
+
if (indexedExecutionPayloads.length > 0) {
|
|
67
|
+
const payloads = indexedExecutionPayloads.map(([request])=>request);
|
|
68
|
+
const combinedPayload = mergeExecutionPayloads(payloads);
|
|
69
|
+
const executionPayload = new ExecutionPayload(combinedPayload.calls, combinedPayload.authWitnesses.concat(options.authWitnesses ?? []), combinedPayload.capsules.concat(options.capsules ?? []), combinedPayload.extraHashedArgs);
|
|
70
|
+
batchRequests.push({
|
|
71
|
+
name: 'simulateTx',
|
|
72
|
+
args: [
|
|
73
|
+
executionPayload,
|
|
74
|
+
toSimulateOptions(options)
|
|
75
|
+
]
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const batchResults = batchRequests.length > 0 ? await this.wallet.batch(batchRequests) : [];
|
|
79
|
+
const results = [];
|
|
80
|
+
// Process utility results (they come first in batch results)
|
|
81
|
+
for(let i = 0; i < utility.length; i++){
|
|
82
|
+
const [call, resultIndex] = utility[i];
|
|
83
|
+
const wrappedResult = batchResults[i];
|
|
84
|
+
if (wrappedResult.name === 'simulateUtility') {
|
|
85
|
+
const rawReturnValues = wrappedResult.result.result;
|
|
86
|
+
results[resultIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Process tx simulation result (it comes last if present)
|
|
90
|
+
if (indexedExecutionPayloads.length > 0) {
|
|
91
|
+
const txResultWrapper = batchResults[utility.length];
|
|
92
|
+
if (txResultWrapper.name === 'simulateTx') {
|
|
93
|
+
const simulatedTx = txResultWrapper.result;
|
|
94
|
+
indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
|
|
95
|
+
const call = request.calls[0];
|
|
96
|
+
// As account entrypoints are private, for private functions we retrieve the return values from the first nested call
|
|
97
|
+
// since we're interested in the first set of values AFTER the account entrypoint
|
|
98
|
+
// For public functions we retrieve the first values directly from the public output.
|
|
99
|
+
const rawReturnValues = call.type == FunctionType.PRIVATE ? simulatedTx.getPrivateReturnValues()?.nested?.[resultIndex].values : simulatedTx.getPublicReturnValues()?.[resultIndex].values;
|
|
100
|
+
results[callIndex] = rawReturnValues ? decodeFromAbi(call.returnTypes, rawReturnValues) : [];
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
86
104
|
return results;
|
|
87
105
|
}
|
|
88
106
|
async getExecutionPayloads() {
|
|
@@ -8,4 +8,4 @@ import { type ContractArtifact } from '@aztec/stdlib/abi';
|
|
|
8
8
|
* @returns A boolean value indicating whether the artifact is valid or not.
|
|
9
9
|
*/
|
|
10
10
|
export declare function abiChecker(artifact: ContractArtifact): boolean;
|
|
11
|
-
//# sourceMappingURL=
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NoZWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdMLEtBQUssZ0JBQWdCLEVBR3RCLE1BQU0sbUJBQW1CLENBQUM7QUFRM0I7Ozs7Ozs7R0FPRztBQUNILHdCQUFnQixVQUFVLENBQUMsUUFBUSxFQUFFLGdCQUFnQixXQTZCcEQifQ==
|
|
@@ -19,7 +19,7 @@ export declare class Contract extends ContractBase {
|
|
|
19
19
|
* @param wallet - The wallet to use when interacting with the contract.
|
|
20
20
|
* @returns A promise that resolves to a new Contract instance.
|
|
21
21
|
*/
|
|
22
|
-
static at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet):
|
|
22
|
+
static at(address: AztecAddress, artifact: ContractArtifact, wallet: Wallet): Contract;
|
|
23
23
|
/**
|
|
24
24
|
* Creates a tx to deploy (initialize and/or publish) a new instance of a contract.
|
|
25
25
|
* @param wallet - The wallet for executing the deployment.
|
|
@@ -39,4 +39,4 @@ export declare class Contract extends ContractBase {
|
|
|
39
39
|
*/
|
|
40
40
|
static deployWithPublicKeys(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, args: any[], constructorName?: string): DeployMethod<Contract>;
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3QuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVoRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxEOzs7Ozs7R0FNRztBQUNILHFCQUFhLFFBQVMsU0FBUSxZQUFZO0lBQ3hDOzs7Ozs7T0FNRztJQUNILE9BQWMsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUSxDQUU1RjtJQUVEOzs7Ozs7T0FNRztJQUNILE9BQWMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxlQUFlLENBQUMsRUFBRSxNQUFNLDBCQUlyRztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsT0FBYyxvQkFBb0IsQ0FDaEMsVUFBVSxFQUFFLFVBQVUsRUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFDZCxRQUFRLEVBQUUsZ0JBQWdCLEVBQzFCLElBQUksRUFBRSxHQUFHLEVBQUUsRUFDWCxlQUFlLENBQUMsRUFBRSxNQUFNLDBCQUt6QjtDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/contract/contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACxC;;;;;;OAMG;IACH,OAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAE5F;IAED;;;;;;OAMG;IACH,OAAc,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,0BAIrG;IAED;;;;;;;;OAQG;IACH,OAAc,oBAAoB,CAChC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,EAAE,GAAG,EAAE,EACX,eAAe,CAAC,EAAE,MAAM,0BAKzB;CACF"}
|
|
@@ -14,9 +14,8 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
14
14
|
* @param artifact - Build artifact of the contract.
|
|
15
15
|
* @param wallet - The wallet to use when interacting with the contract.
|
|
16
16
|
* @returns A promise that resolves to a new Contract instance.
|
|
17
|
-
*/ static
|
|
18
|
-
|
|
19
|
-
return new Contract(instance, artifact, wallet);
|
|
17
|
+
*/ static at(address, artifact, wallet) {
|
|
18
|
+
return new Contract(address, artifact, wallet);
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
21
|
* Creates a tx to deploy (initialize and/or publish) a new instance of a contract.
|
|
@@ -25,7 +24,7 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
25
24
|
* @param args - Arguments for the constructor.
|
|
26
25
|
* @param constructorName - The name of the constructor function to call.
|
|
27
26
|
*/ static deploy(wallet, artifact, args, constructorName) {
|
|
28
|
-
const postDeployCtor = (
|
|
27
|
+
const postDeployCtor = (instance, wallet)=>Contract.at(instance.address, artifact, wallet);
|
|
29
28
|
return new DeployMethod(PublicKeys.default(), wallet, artifact, postDeployCtor, args, constructorName);
|
|
30
29
|
}
|
|
31
30
|
/**
|
|
@@ -37,7 +36,7 @@ import { DeployMethod } from './deploy_method.js';
|
|
|
37
36
|
* @param args - Arguments for the constructor.
|
|
38
37
|
* @param constructorName - The name of the constructor function to call.
|
|
39
38
|
*/ static deployWithPublicKeys(publicKeys, wallet, artifact, args, constructorName) {
|
|
40
|
-
const postDeployCtor = (
|
|
39
|
+
const postDeployCtor = (instance, wallet)=>Contract.at(instance.address, artifact, wallet);
|
|
41
40
|
return new DeployMethod(publicKeys, wallet, artifact, postDeployCtor, args, constructorName);
|
|
42
41
|
}
|
|
43
42
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ContractArtifact, type FieldLayout, FunctionSelector } from '@aztec/stdlib/abi';
|
|
2
|
-
import {
|
|
2
|
+
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
3
3
|
import type { Wallet } from '../wallet/wallet.js';
|
|
4
4
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
5
5
|
/**
|
|
@@ -22,11 +22,8 @@ export type ContractStorageLayout<T extends string> = {
|
|
|
22
22
|
* Abstract implementation of a contract extended by the Contract class and generated contract types.
|
|
23
23
|
*/
|
|
24
24
|
export declare class ContractBase {
|
|
25
|
-
|
|
26
|
-
readonly instance: ContractInstanceWithAddress;
|
|
27
|
-
/** The Application Binary Interface for the contract. */
|
|
25
|
+
readonly address: AztecAddress;
|
|
28
26
|
readonly artifact: ContractArtifact;
|
|
29
|
-
/** The wallet used for interacting with this contract. */
|
|
30
27
|
wallet: Wallet;
|
|
31
28
|
/**
|
|
32
29
|
* An object containing contract methods mapped to their respective names.
|
|
@@ -35,16 +32,12 @@ export declare class ContractBase {
|
|
|
35
32
|
[name: string]: ContractMethod;
|
|
36
33
|
};
|
|
37
34
|
protected constructor(
|
|
38
|
-
/** The
|
|
39
|
-
|
|
35
|
+
/** The contract's address. */
|
|
36
|
+
address: AztecAddress,
|
|
40
37
|
/** The Application Binary Interface for the contract. */
|
|
41
38
|
artifact: ContractArtifact,
|
|
42
39
|
/** The wallet used for interacting with this contract. */
|
|
43
40
|
wallet: Wallet);
|
|
44
|
-
/** Address of the contract. */
|
|
45
|
-
get address(): import("../api/addresses.js").AztecAddress;
|
|
46
|
-
/** Partial address of the contract. */
|
|
47
|
-
get partialAddress(): Promise<import("@aztec/foundation/schemas").Fr>;
|
|
48
41
|
/**
|
|
49
42
|
* Creates a new instance of the contract wrapper attached to a different wallet.
|
|
50
43
|
* @param wallet - Wallet to use for sending txs.
|
|
@@ -52,4 +45,4 @@ export declare class ContractBase {
|
|
|
52
45
|
*/
|
|
53
46
|
withWallet(wallet: Wallet): this;
|
|
54
47
|
}
|
|
55
|
-
//# sourceMappingURL=
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfYmFzZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2NvbnRyYWN0X2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssZ0JBQWdCLEVBQ3JCLEtBQUssV0FBVyxFQUVoQixnQkFBZ0IsRUFFakIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVoRSxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVqRjs7O0dBR0c7QUFDSCxNQUFNLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSywyQkFBMkIsQ0FBQyxHQUFHO0lBQy9FOztPQUVHO0lBQ0gsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7Q0FDM0MsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxNQUFNLHFCQUFxQixDQUFDLENBQUMsU0FBUyxNQUFNLElBQUk7S0FDbkQsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXO0NBQ3RCLENBQUM7QUFFRjs7R0FFRztBQUNILHFCQUFhLFlBQVk7YUFRTCxPQUFPLEVBQUUsWUFBWTthQUVyQixRQUFRLEVBQUUsZ0JBQWdCO0lBRW5DLE1BQU0sRUFBRSxNQUFNO0lBWHZCOztPQUVHO0lBQ0ksT0FBTyxFQUFFO1FBQUUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLGNBQWMsQ0FBQTtLQUFFLENBQU07SUFFeEQsU0FBUztJQUNQLDhCQUE4QjtJQUNkLE9BQU8sRUFBRSxZQUFZO0lBQ3JDLHlEQUF5RDtJQUN6QyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFDLDBEQUEwRDtJQUNuRCxNQUFNLEVBQUUsTUFBTSxFQWlCdEI7SUFFRDs7OztPQUlHO0lBQ0ksVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsSUFBSSxDQUV0QztDQUNGIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract_base.d.ts","sourceRoot":"","sources":["../../src/contract/contract_base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAEhB,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AAEjF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,2BAA2B,CAAC,GAAG;IAC/E;;OAEG;IACH,QAAQ,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,MAAM,IAAI;KACnD,CAAC,IAAI,CAAC,GAAG,WAAW;CACtB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;aAQL,OAAO,EAAE,YAAY;aAErB,QAAQ,EAAE,gBAAgB;IAEnC,MAAM,EAAE,MAAM;IAXvB;;OAEG;IACI,OAAO,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAA;KAAE,CAAM;IAExD,SAAS;IACP,8BAA8B;IACd,OAAO,EAAE,YAAY;IACrC,yDAAyD;IACzC,QAAQ,EAAE,gBAAgB;IAC1C,0DAA0D;IACnD,MAAM,EAAE,MAAM,EAiBtB;IAED;;;;OAIG;IACI,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEtC;CACF"}
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { FunctionSelector, getAllFunctionAbis } from '@aztec/stdlib/abi';
|
|
2
|
-
import { computePartialAddress } from '@aztec/stdlib/contract';
|
|
3
2
|
import { ContractFunctionInteraction } from './contract_function_interaction.js';
|
|
4
3
|
/**
|
|
5
4
|
* Abstract implementation of a contract extended by the Contract class and generated contract types.
|
|
6
5
|
*/ export class ContractBase {
|
|
7
|
-
|
|
6
|
+
address;
|
|
8
7
|
artifact;
|
|
9
8
|
wallet;
|
|
10
9
|
/**
|
|
11
10
|
* An object containing contract methods mapped to their respective names.
|
|
12
11
|
*/ methods;
|
|
13
|
-
constructor(/** The
|
|
14
|
-
this.
|
|
12
|
+
constructor(/** The contract's address. */ address, /** The Application Binary Interface for the contract. */ artifact, /** The wallet used for interacting with this contract. */ wallet){
|
|
13
|
+
this.address = address;
|
|
15
14
|
this.artifact = artifact;
|
|
16
15
|
this.wallet = wallet;
|
|
17
16
|
this.methods = {};
|
|
18
17
|
getAllFunctionAbis(artifact).forEach((f)=>{
|
|
19
18
|
const interactionFunction = (...args)=>{
|
|
20
|
-
return new ContractFunctionInteraction(this.wallet, this.
|
|
19
|
+
return new ContractFunctionInteraction(this.wallet, this.address, f, args);
|
|
21
20
|
};
|
|
22
21
|
this.methods[f.name] = Object.assign(interactionFunction, {
|
|
23
22
|
/**
|
|
@@ -29,17 +28,11 @@ import { ContractFunctionInteraction } from './contract_function_interaction.js'
|
|
|
29
28
|
});
|
|
30
29
|
});
|
|
31
30
|
}
|
|
32
|
-
/** Address of the contract. */ get address() {
|
|
33
|
-
return this.instance.address;
|
|
34
|
-
}
|
|
35
|
-
/** Partial address of the contract. */ get partialAddress() {
|
|
36
|
-
return computePartialAddress(this.instance);
|
|
37
|
-
}
|
|
38
31
|
/**
|
|
39
32
|
* Creates a new instance of the contract wrapper attached to a different wallet.
|
|
40
33
|
* @param wallet - Wallet to use for sending txs.
|
|
41
34
|
* @returns A new contract instance.
|
|
42
35
|
*/ withWallet(wallet) {
|
|
43
|
-
return new ContractBase(this.
|
|
36
|
+
return new ContractBase(this.address, this.artifact, wallet);
|
|
44
37
|
}
|
|
45
38
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { type FunctionAbi, FunctionSelector, FunctionType } from '@aztec/stdlib/abi';
|
|
3
2
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
4
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
4
|
import { type Capsule, type HashedValues, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
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
8
|
import { type ProfileInteractionOptions, type RequestInteractionOptions, type SimulateInteractionOptions, type SimulationReturn } from './interaction_options.js';
|
|
@@ -23,7 +23,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
23
23
|
*/
|
|
24
24
|
getFunctionCall(): Promise<{
|
|
25
25
|
name: string;
|
|
26
|
-
args: import("
|
|
26
|
+
args: import("../api/fields.js").Fr[];
|
|
27
27
|
selector: FunctionSelector;
|
|
28
28
|
type: FunctionType;
|
|
29
29
|
to: AztecAddress;
|
|
@@ -64,7 +64,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
64
64
|
* @param options - An object containing the metadata to add to the interaction
|
|
65
65
|
* @returns A new ContractFunctionInteraction with the added metadata, but calling the same original function in the same manner
|
|
66
66
|
*/
|
|
67
|
-
with({ authWitnesses, capsules, extraHashedArgs
|
|
67
|
+
with({ authWitnesses, capsules, extraHashedArgs }: {
|
|
68
68
|
/** The authWitnesses to add to the interaction */
|
|
69
69
|
authWitnesses?: AuthWitness[];
|
|
70
70
|
/** The capsules to add to the interaction */
|
|
@@ -73,4 +73,4 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
73
73
|
extraHashedArgs?: HashedValues[];
|
|
74
74
|
}): ContractFunctionInteraction;
|
|
75
75
|
}
|
|
76
|
-
//# sourceMappingURL=
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9jb250cmFjdF9mdW5jdGlvbl9pbnRlcmFjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFrQyxNQUFNLG1CQUFtQixDQUFDO0FBQ3JILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDakgsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXpFLE9BQU8sRUFDTCxLQUFLLHlCQUF5QixFQUM5QixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDBCQUEwQixFQUMvQixLQUFLLGdCQUFnQixFQUd0QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDOzs7R0FHRztBQUNILHFCQUFhLDJCQUE0QixTQUFRLHVCQUF1QjtJQUdwRSxTQUFTLENBQUMsZUFBZSxFQUFFLFlBQVk7SUFDdkMsU0FBUyxDQUFDLFdBQVcsRUFBRSxXQUFXO0lBQ2xDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBR3JCLE9BQU8sQ0FBQyxlQUFlO0lBUHpCLFlBQ0UsTUFBTSxFQUFFLE1BQU0sRUFDSixlQUFlLEVBQUUsWUFBWSxFQUM3QixXQUFXLEVBQUUsV0FBVyxFQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQ3JCLGFBQWEsR0FBRSxXQUFXLEVBQU8sRUFDakMsUUFBUSxHQUFFLE9BQU8sRUFBTyxFQUNoQixlQUFlLEdBQUUsWUFBWSxFQUFPLEVBTTdDO0lBRUQ7Ozs7T0FJRztJQUNVLGVBQWU7Ozs7Ozs7Z0NBU0gsNERBQTREOztPQUdwRjtJQUVEOzs7O09BSUc7SUFDbUIsT0FBTyxDQUFDLE9BQU8sR0FBRSx5QkFBOEIsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FnQmhHO0lBR0Q7Ozs7Ozs7Ozs7T0FVRztJQUNVLFFBQVEsQ0FBQyxDQUFDLFNBQVMsMEJBQTBCLEVBQ3hELE9BQU8sRUFBRSxDQUFDLEdBQ1QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTdELFFBQVEsQ0FBQyxDQUFDLFNBQVMsMEJBQTBCLEVBQ3hELE9BQU8sRUFBRSxDQUFDLEdBQ1QsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQTJEbkQ7Ozs7O09BS0c7SUFDVSxPQUFPLENBQUMsT0FBTyxFQUFFLHlCQUF5QixHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FPakY7SUFFRDs7Ozs7O09BTUc7SUFDSSxJQUFJLENBQUMsRUFDVixhQUFrQixFQUNsQixRQUFhLEVBQ2IsZUFBb0IsRUFDckIsRUFBRTtRQUNELGtEQUFrRDtRQUNsRCxhQUFhLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUM5Qiw2Q0FBNkM7UUFDN0MsUUFBUSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsc0RBQXNEO1FBQ3RELGVBQWUsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDO0tBQ2xDLEdBQUcsMkJBQTJCLENBVTlCO0NBQ0YifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAkC,MAAM,mBAAmB,CAAC;AACrH,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;;;;;;;gCASH,4DAA4D;;OAGpF;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;IA2DnD;;;;;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,6 +1,6 @@
|
|
|
1
|
-
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/entrypoints/payload';
|
|
2
1
|
import { FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
3
2
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
3
|
+
import { ExecutionPayload, mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
4
4
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
5
5
|
import { getGasLimits } from './get_gas_limits.js';
|
|
6
6
|
import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
@@ -56,18 +56,21 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
56
56
|
async simulate(options) {
|
|
57
57
|
// docs:end:simulate
|
|
58
58
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
59
|
-
const
|
|
59
|
+
const call = await this.getFunctionCall();
|
|
60
|
+
const utilityResult = await this.wallet.simulateUtility(call, options.authWitnesses ?? []);
|
|
61
|
+
// Decode the raw field elements to the actual return type
|
|
62
|
+
const returnValue = utilityResult.result ? decodeFromAbi(this.functionDao.returnTypes, utilityResult.result) : [];
|
|
60
63
|
if (options.includeMetadata) {
|
|
61
64
|
return {
|
|
62
65
|
stats: utilityResult.stats,
|
|
63
|
-
result:
|
|
66
|
+
result: returnValue
|
|
64
67
|
};
|
|
65
68
|
} else {
|
|
66
|
-
return
|
|
69
|
+
return returnValue;
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
const executionPayload = await this.request(options);
|
|
70
|
-
const simulatedTx = await this.wallet.simulateTx(executionPayload,
|
|
73
|
+
const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
|
|
71
74
|
let rawReturnValues;
|
|
72
75
|
if (this.functionDao.functionType == FunctionType.PRIVATE) {
|
|
73
76
|
if (simulatedTx.getPrivateReturnValues().nested.length > 0) {
|
|
@@ -109,7 +112,7 @@ import { toProfileOptions, toSimulateOptions } from './interaction_options.js';
|
|
|
109
112
|
throw new Error("Can't profile a utility function.");
|
|
110
113
|
}
|
|
111
114
|
const executionPayload = await this.request(options);
|
|
112
|
-
return await this.wallet.profileTx(executionPayload,
|
|
115
|
+
return await this.wallet.profileTx(executionPayload, toProfileOptions(options));
|
|
113
116
|
}
|
|
114
117
|
/**
|
|
115
118
|
* Augments this ContractFunctionInteraction with additional metadata, such as authWitnesses, capsules, and extraHashedArgs.
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
2
|
import { type ContractArtifact, type FunctionArtifact } from '@aztec/stdlib/abi';
|
|
4
3
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
5
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
5
|
import { type ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
7
6
|
import type { PublicKeys } from '@aztec/stdlib/keys';
|
|
8
7
|
import { type Capsule, type TxProfileResult } from '@aztec/stdlib/tx';
|
|
8
|
+
import { ExecutionPayload } from '@aztec/stdlib/tx';
|
|
9
9
|
import type { Wallet } from '../wallet/wallet.js';
|
|
10
10
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
11
|
-
import type { Contract } from './contract.js';
|
|
12
11
|
import type { ContractBase } from './contract_base.js';
|
|
13
12
|
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
14
13
|
import { type ProfileInteractionOptions, type RequestInteractionOptions, type SendInteractionOptions, type SimulationInteractionFeeOptions, type SimulationReturn } from './interaction_options.js';
|
|
@@ -31,6 +30,8 @@ export type RequestDeployOptions = RequestInteractionOptions & {
|
|
|
31
30
|
skipInstancePublication?: boolean;
|
|
32
31
|
/** Skip contract initialization. */
|
|
33
32
|
skipInitialization?: boolean;
|
|
33
|
+
/** Skip contract registration in the wallet */
|
|
34
|
+
skipRegistration?: boolean;
|
|
34
35
|
};
|
|
35
36
|
/**
|
|
36
37
|
* Extends the deployment options with the required parameters to send the transaction
|
|
@@ -71,16 +72,16 @@ export type SimulateDeployOptions = Omit<DeployOptions, 'fee'> & {
|
|
|
71
72
|
*
|
|
72
73
|
* Extends the BaseContractInteraction class.
|
|
73
74
|
*/
|
|
74
|
-
export declare class DeployMethod<TContract extends ContractBase =
|
|
75
|
+
export declare class DeployMethod<TContract extends ContractBase = ContractBase> extends BaseContractInteraction {
|
|
75
76
|
private publicKeys;
|
|
76
77
|
protected artifact: ContractArtifact;
|
|
77
|
-
protected postDeployCtor: (
|
|
78
|
+
protected postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract;
|
|
78
79
|
private args;
|
|
79
80
|
/** The contract instance to be deployed. */
|
|
80
81
|
private instance?;
|
|
81
82
|
/** Constructor function to call. */
|
|
82
83
|
private constructorArtifact;
|
|
83
|
-
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (
|
|
84
|
+
constructor(publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, postDeployCtor: (instance: ContractInstanceWithAddress, wallet: Wallet) => TContract, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, authWitnesses?: AuthWitness[], capsules?: Capsule[]);
|
|
84
85
|
/**
|
|
85
86
|
* Returns the execution payload that allows this operation to happen on chain.
|
|
86
87
|
* @param options - Configuration options.
|
|
@@ -148,11 +149,11 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
|
|
|
148
149
|
* @param options - An object containing the metadata to add to the interaction
|
|
149
150
|
* @returns A new DeployMethod with the added metadata, but calling the same original function in the same manner
|
|
150
151
|
*/
|
|
151
|
-
with({ authWitnesses, capsules
|
|
152
|
+
with({ authWitnesses, capsules }: {
|
|
152
153
|
/** The authWitnesses to add to the deployment */
|
|
153
154
|
authWitnesses?: AuthWitness[];
|
|
154
155
|
/** The capsules to add to the deployment */
|
|
155
156
|
capsules?: Capsule[];
|
|
156
157
|
}): DeployMethod;
|
|
157
158
|
}
|
|
158
|
-
//# sourceMappingURL=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X21ldGhvZC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0L2RlcGxveV9tZXRob2QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLGdCQUFnQixFQUFvQixLQUFLLGdCQUFnQixFQUFrQixNQUFNLG1CQUFtQixDQUFDO0FBQ25ILE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsS0FBSywyQkFBMkIsRUFJakMsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDOUYsT0FBTyxFQUFFLGdCQUFnQixFQUEwQixNQUFNLGtCQUFrQixDQUFDO0FBSTVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2xELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pFLE9BQU8sS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVuRCxPQUFPLEVBQ0wsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSywrQkFBK0IsRUFDcEMsS0FBSyxnQkFBZ0IsRUFJdEIsTUFBTSwwQkFBMEIsQ0FBQztBQUVsQzs7OztHQUlHO0FBQ0gsTUFBTSxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixHQUFH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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,
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Fr } from '@aztec/foundation/fields';
|
|
1
|
+
import { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
2
|
import { getInitializer } from '@aztec/stdlib/abi';
|
|
4
3
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
4
|
import { computePartialAddress, getContractClassFromArtifact, getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
6
5
|
import { collectOffchainEffects } from '@aztec/stdlib/tx';
|
|
6
|
+
import { 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';
|
|
@@ -39,7 +39,9 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
39
39
|
* @returns The execution payload for this operation
|
|
40
40
|
*/ async request(options) {
|
|
41
41
|
const publication = await this.getPublicationExecutionPayload(options);
|
|
42
|
-
|
|
42
|
+
if (!options?.skipRegistration) {
|
|
43
|
+
await this.wallet.registerContract(await this.getInstance(options), this.artifact);
|
|
44
|
+
}
|
|
43
45
|
const initialization = await this.getInitializationExecutionPayload(options);
|
|
44
46
|
const feeExecutionPayload = options?.fee?.paymentMethod ? await options.fee.paymentMethod.getExecutionPayload() : undefined;
|
|
45
47
|
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
@@ -67,7 +69,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
67
69
|
*/ async register(options) {
|
|
68
70
|
const instance = await this.getInstance(options);
|
|
69
71
|
await this.wallet.registerContract(instance, this.artifact);
|
|
70
|
-
return this.postDeployCtor(instance
|
|
72
|
+
return this.postDeployCtor(instance, this.wallet);
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
73
75
|
* Returns an execution payload for:
|
|
@@ -129,7 +131,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
129
131
|
*/ send(options) {
|
|
130
132
|
const sendTx = async ()=>{
|
|
131
133
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
132
|
-
const sendOptions =
|
|
134
|
+
const sendOptions = toSendOptions(options);
|
|
133
135
|
return this.wallet.sendTx(executionPayload, sendOptions);
|
|
134
136
|
};
|
|
135
137
|
this.log.debug(`Sent deployment tx of ${this.artifact.name} contract`);
|
|
@@ -160,7 +162,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
160
162
|
* estimations (if requested via options), execution statistics and emitted offchain effects
|
|
161
163
|
*/ async simulate(options) {
|
|
162
164
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
163
|
-
const simulatedTx = await this.wallet.simulateTx(executionPayload,
|
|
165
|
+
const simulatedTx = await this.wallet.simulateTx(executionPayload, toSimulateOptions(options));
|
|
164
166
|
const { gasLimits, teardownGasLimits } = getGasLimits(simulatedTx, options.fee?.estimatedGasPadding);
|
|
165
167
|
this.log.verbose(`Estimated gas limits for tx: DA=${gasLimits.daGas} L2=${gasLimits.l2Gas} teardownDA=${teardownGasLimits.daGas} teardownL2=${teardownGasLimits.l2Gas}`);
|
|
166
168
|
return {
|
|
@@ -181,7 +183,7 @@ import { toProfileOptions, toSendOptions, toSimulateOptions } from './interactio
|
|
|
181
183
|
*/ async profile(options) {
|
|
182
184
|
const executionPayload = await this.request(this.convertDeployOptionsToRequestOptions(options));
|
|
183
185
|
return await this.wallet.profileTx(executionPayload, {
|
|
184
|
-
...
|
|
186
|
+
...toProfileOptions(options),
|
|
185
187
|
profileMode: options.profileMode,
|
|
186
188
|
skipProofGeneration: options.skipProofGeneration
|
|
187
189
|
});
|