@aztec/aztec.js 0.86.0-starknet.1 → 0.87.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/account_manager/deploy_account_sent_tx.d.ts.map +1 -1
- 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.map +1 -1
- package/dest/contract/batch_call.js +1 -1
- package/dest/contract/contract_function_interaction.d.ts +24 -2
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +25 -13
- package/dest/contract/deploy_method.d.ts.map +1 -1
- package/dest/contract/deploy_method.js +1 -1
- package/dest/contract/deploy_proven_tx.d.ts +2 -2
- package/dest/contract/deploy_proven_tx.d.ts.map +1 -1
- package/dest/contract/deploy_proven_tx.js +2 -2
- package/dest/contract/interaction_options.d.ts +2 -0
- package/dest/contract/interaction_options.d.ts.map +1 -1
- package/dest/contract/proven_tx.d.ts +3 -2
- package/dest/contract/proven_tx.d.ts.map +1 -1
- package/dest/contract/proven_tx.js +4 -2
- package/dest/contract/sent_tx.d.ts.map +1 -1
- package/dest/deployment/contract_deployer.d.ts.map +1 -1
- package/dest/ethereum/l1_contracts.d.ts.map +1 -1
- package/dest/ethereum/l1_contracts.js +1 -1
- package/dest/fee/account_entrypoint_meta_payment_method.d.ts.map +1 -1
- package/dest/rpc_clients/node/index.js +9 -15
- package/dest/test/anvil_test_watcher.d.ts.map +1 -1
- package/dest/test/anvil_test_watcher.js +1 -1
- package/dest/test/rollup_cheat_codes.d.ts +5 -0
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +16 -0
- package/dest/utils/abi_types.d.ts +0 -2
- package/dest/utils/abi_types.d.ts.map +1 -1
- package/dest/utils/authwit.d.ts +0 -2
- package/dest/utils/authwit.d.ts.map +1 -1
- package/dest/utils/field_compressed_string.d.ts.map +1 -1
- package/dest/utils/node.d.ts.map +1 -1
- package/dest/utils/node.js +1 -1
- package/dest/utils/pxe.d.ts.map +1 -1
- package/dest/utils/pxe.js +1 -1
- package/dest/wallet/account_wallet.d.ts +0 -2
- package/dest/wallet/account_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.d.ts +3 -5
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/signerless_wallet.d.ts +0 -2
- package/dest/wallet/signerless_wallet.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/account_manager/deploy_account_sent_tx.ts +5 -1
- package/src/contract/base_contract_interaction.ts +1 -1
- package/src/contract/batch_call.ts +5 -2
- package/src/contract/contract_function_interaction.ts +48 -5
- package/src/contract/deploy_method.ts +6 -2
- package/src/contract/deploy_proven_tx.ts +3 -2
- package/src/contract/interaction_options.ts +2 -0
- package/src/contract/proven_tx.ts +7 -2
- package/src/contract/sent_tx.ts +4 -1
- package/src/ethereum/l1_contracts.ts +1 -1
- package/src/fee/account_entrypoint_meta_payment_method.ts +2 -3
- package/src/rpc_clients/node/index.ts +8 -8
- package/src/test/anvil_test_watcher.ts +1 -1
- package/src/test/rollup_cheat_codes.ts +20 -1
- package/src/utils/node.ts +1 -1
- package/src/utils/pxe.ts +1 -1
- package/src/wallet/account_wallet.ts +4 -1
- package/src/wallet/base_wallet.ts +4 -3
- package/src/wallet/signerless_wallet.ts +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_account_sent_tx.d.ts","sourceRoot":"","sources":["../../src/account_manager/deploy_account_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAmB,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,4FAA4F;AAC5F,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG;IACzD,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;
|
|
1
|
+
{"version":3,"file":"deploy_account_sent_tx.d.ts","sourceRoot":"","sources":["../../src/account_manager/deploy_account_sent_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAmB,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,4FAA4F;AAC5F,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG;IACzD,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,MAAM;IAI3C,OAAO,CAAC,gBAAgB;gBAFxB,SAAS,EAAE,SAAS,GAAG,GAAG,EAC1B,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,EACtB,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC;IAK3C;;;;OAIG;IACU,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAKxD;;;;OAIG;IACmB,IAAI,CAAC,IAAI,GAAE,QAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAK9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,8BAAsB,uBAAuB;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAL/B,SAAS,CAAC,GAAG,yCAAgD;gBAGjD,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO;IAGpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;;OAKG;aACa,OAAO,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElF;;;;;;OAMG;cACa,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAMxF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOtE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAUpD;;;;;OAKG;IACU,WAAW,CACtB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;IAiBhE;;;OAGG;cACa,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAU1F;;;;;;OAMG;cACa,aAAa,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,
|
|
1
|
+
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,8BAAsB,uBAAuB;IAIzC,SAAS,CAAC,MAAM,EAAE,MAAM;IACxB,SAAS,CAAC,aAAa,EAAE,WAAW,EAAE;IACtC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE;IAL/B,SAAS,CAAC,GAAG,yCAAgD;gBAGjD,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,WAAW,EAAO,EACjC,QAAQ,GAAE,OAAO,EAAO;IAGpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;;OAKG;aACa,OAAO,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAElF;;;;;;OAMG;cACa,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAMxF;;;;OAIG;IACU,KAAK,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAOtE;;;;;;;;OAQG;IACI,IAAI,CAAC,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAUpD;;;;;OAKG;IACU,WAAW,CACtB,IAAI,CAAC,EAAE,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,mBAAmB,CAAC,CAAC;IAiBhE;;;OAGG;cACa,oBAAoB,CAAC,GAAG,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;IAU1F;;;;;;OAMG;cACa,aAAa,CAC3B,gBAAgB,EAAE,gBAAgB,EAClC,GAAG,EAAE,cAAc,YAAK,EACxB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC;CA8BvB"}
|
|
@@ -36,7 +36,7 @@ import { SentTx } from './sent_tx.js';
|
|
|
36
36
|
*/ async prove(options = {}) {
|
|
37
37
|
// docs:end:prove
|
|
38
38
|
const txProvingResult = await this.proveInternal(options);
|
|
39
|
-
return new ProvenTx(this.wallet, txProvingResult.toTx());
|
|
39
|
+
return new ProvenTx(this.wallet, txProvingResult.toTx(), txProvingResult.timings);
|
|
40
40
|
}
|
|
41
41
|
// docs:start:send
|
|
42
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AAEtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE/G,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;
|
|
1
|
+
{"version":3,"file":"batch_call.d.ts","sourceRoot":"","sources":["../../src/contract/batch_call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,4BAA4B,CAAC;AAEtF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAE/G,qFAAqF;AACrF,qBAAa,SAAU,SAAQ,uBAAuB;IAGlD,SAAS,CAAC,KAAK,EAAE,uBAAuB,EAAE;gBAD1C,MAAM,EAAE,MAAM,EACJ,KAAK,EAAE,uBAAuB,EAAE;IAK5C;;;;;OAKG;IACU,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASjF;;;;OAIG;IACU,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAWnF;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;YAwE1D,WAAW;CAG1B"}
|
|
@@ -80,7 +80,7 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
|
80
80
|
this.wallet.simulateTx(txRequest, true, options?.from, options?.skipTxValidation)
|
|
81
81
|
]);
|
|
82
82
|
const results = [];
|
|
83
|
-
utilityResults.forEach(([result, index])=>{
|
|
83
|
+
utilityResults.forEach(([{ result }, index])=>{
|
|
84
84
|
results[index] = result;
|
|
85
85
|
});
|
|
86
86
|
indexedExecutionPayloads.forEach(([request, callIndex, resultIndex])=>{
|
|
@@ -2,10 +2,31 @@ import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
|
2
2
|
import { type FunctionAbi } from '@aztec/stdlib/abi';
|
|
3
3
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
4
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
-
import type { Capsule, HashedValues, TxExecutionRequest, TxProfileResult } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { Capsule, HashedValues, SimulationTimings, TxExecutionRequest, TxProfileResult } 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 { ProfileMethodOptions, RequestMethodOptions, SendMethodOptions, SimulateMethodOptions } from './interaction_options.js';
|
|
9
|
+
/**
|
|
10
|
+
* Represents the result type of a simulation.
|
|
11
|
+
* By default, it will just be the return value of the simulated function
|
|
12
|
+
* so contract interfaces behave as plain functions. If `includeMetadata` is set to true,
|
|
13
|
+
* it will provide extra information.
|
|
14
|
+
*/
|
|
15
|
+
type SimulationReturn<T extends boolean | undefined> = T extends true ? {
|
|
16
|
+
/**
|
|
17
|
+
* Additional metadata about the simulation
|
|
18
|
+
*/
|
|
19
|
+
meta: {
|
|
20
|
+
/**
|
|
21
|
+
* Timings of the different operations performed, including per function breakdown
|
|
22
|
+
*/
|
|
23
|
+
timings?: SimulationTimings;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Return value of the function
|
|
27
|
+
*/
|
|
28
|
+
result: any;
|
|
29
|
+
} : any;
|
|
9
30
|
/**
|
|
10
31
|
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
11
32
|
* It contains available interactions one can call on a method, including view.
|
|
@@ -39,7 +60,7 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
39
60
|
* @param options - An optional object containing additional configuration for the transaction.
|
|
40
61
|
* @returns The result of the transaction as returned by the contract function.
|
|
41
62
|
*/
|
|
42
|
-
simulate(options?:
|
|
63
|
+
simulate<T extends SimulateMethodOptions>(options?: T): Promise<SimulationReturn<T['includeMetadata']>>;
|
|
43
64
|
/**
|
|
44
65
|
* Simulate a transaction and profile the gate count for each function in the transaction.
|
|
45
66
|
* @param options - Same options as `simulate`, plus profiling method
|
|
@@ -63,4 +84,5 @@ export declare class ContractFunctionInteraction extends BaseContractInteraction
|
|
|
63
84
|
extraHashedArgs?: HashedValues[];
|
|
64
85
|
}): ContractFunctionInteraction;
|
|
65
86
|
}
|
|
87
|
+
export {};
|
|
66
88
|
//# sourceMappingURL=contract_function_interaction.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAkE,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,KAAK,WAAW,EAAkE,MAAM,mBAAmB,CAAC;AACrH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEtH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,KAAK,gBAAgB,CAAC,CAAC,SAAS,OAAO,GAAG,SAAS,IAAI,CAAC,SAAS,IAAI,GACjE;IACE;;OAEG;IACH,IAAI,EAAE;QACJ;;WAEG;QACH,OAAO,CAAC,EAAE,iBAAiB,CAAC;KAC7B,CAAC;IACF;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC;CACb,GACD,GAAG,CAAC;AAER;;;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;gBANvB,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;IAS9C;;;;;OAKG;IACmB,MAAM,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAc1F;;;;;OAKG;IACmB,OAAO,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwB5F;;;;;;;;OAQG;IACU,QAAQ,CAAC,CAAC,SAAS,qBAAqB,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;IA0DpH;;;;;OAKG;IACU,OAAO,CAClB,OAAO,GAAE,oBAA0E,GAClF,OAAO,CAAC,eAAe,CAAC;IAU3B;;;;;;OAMG;IACI,IAAI,CAAC,EACV,aAAkB,EAClB,QAAa,EACb,eAAoB,GACrB,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;CAWhC"}
|
|
@@ -12,7 +12,7 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
|
12
12
|
constructor(wallet, contractAddress, functionDao, args, authWitnesses = [], capsules = [], extraHashedArgs = []){
|
|
13
13
|
super(wallet, authWitnesses, capsules), this.contractAddress = contractAddress, this.functionDao = functionDao, this.args = args, this.extraHashedArgs = extraHashedArgs;
|
|
14
14
|
if (args.some((arg)=>arg === undefined || arg === null)) {
|
|
15
|
-
throw new Error(
|
|
15
|
+
throw new Error(`All function interaction arguments must be defined and not null. Received: ${args}`);
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
// docs:start:create
|
|
@@ -60,19 +60,21 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
|
60
60
|
const { authWitnesses, capsules } = options;
|
|
61
61
|
return new ExecutionPayload(calls, this.authWitnesses.concat(authWitnesses ?? []), this.capsules.concat(capsules ?? []), this.extraHashedArgs);
|
|
62
62
|
}
|
|
63
|
-
//
|
|
64
|
-
|
|
65
|
-
* Simulate a transaction and get its return values
|
|
66
|
-
* Differs from prove in a few important ways:
|
|
67
|
-
* 1. It returns the values of the function execution
|
|
68
|
-
* 2. It supports `utility`, `private` and `public` functions
|
|
69
|
-
*
|
|
70
|
-
* @param options - An optional object containing additional configuration for the transaction.
|
|
71
|
-
* @returns The result of the transaction as returned by the contract function.
|
|
72
|
-
*/ async simulate(options = {}) {
|
|
63
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
64
|
+
async simulate(options = {}) {
|
|
73
65
|
// docs:end:simulate
|
|
74
66
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
75
|
-
|
|
67
|
+
const utilityResult = await this.wallet.simulateUtility(this.functionDao.name, this.args, this.contractAddress, options.authWitnesses ?? [], options?.from);
|
|
68
|
+
if (options.includeMetadata) {
|
|
69
|
+
return {
|
|
70
|
+
meta: {
|
|
71
|
+
timings: utilityResult.timings
|
|
72
|
+
},
|
|
73
|
+
result: utilityResult.result
|
|
74
|
+
};
|
|
75
|
+
} else {
|
|
76
|
+
return utilityResult.result;
|
|
77
|
+
}
|
|
76
78
|
}
|
|
77
79
|
const txRequest = await this.create(options);
|
|
78
80
|
const simulatedTx = await this.wallet.simulateTx(txRequest, true, options.from, options.skipTxValidation, options.skipFeeEnforcement ?? true);
|
|
@@ -90,7 +92,17 @@ import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
|
90
92
|
// For public functions we retrieve the first values directly from the public output.
|
|
91
93
|
rawReturnValues = simulatedTx.getPublicReturnValues()?.[0].values;
|
|
92
94
|
}
|
|
93
|
-
|
|
95
|
+
const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
|
|
96
|
+
if (options.includeMetadata) {
|
|
97
|
+
return {
|
|
98
|
+
meta: {
|
|
99
|
+
timings: simulatedTx.timings
|
|
100
|
+
},
|
|
101
|
+
result: returnValue
|
|
102
|
+
};
|
|
103
|
+
} else {
|
|
104
|
+
return returnValue;
|
|
105
|
+
}
|
|
94
106
|
}
|
|
95
107
|
/**
|
|
96
108
|
* Simulate a transaction and profile the gate count for each function in the transaction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"deploy_method.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_method.ts"],"names":[],"mappings":"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"}
|
|
@@ -178,7 +178,7 @@ import { DeploySentTx } from './deploy_sent_tx.js';
|
|
|
178
178
|
* @returns The proven tx.
|
|
179
179
|
*/ async prove(options) {
|
|
180
180
|
const txProvingResult = await this.proveInternal(options);
|
|
181
|
-
return new DeployProvenTx(this.wallet, txProvingResult.toTx(), this.postDeployCtor, ()=>this.getInstance(options));
|
|
181
|
+
return new DeployProvenTx(this.wallet, txProvingResult.toTx(), this.postDeployCtor, ()=>this.getInstance(options), txProvingResult.timings);
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
184
184
|
* Estimates gas cost for this deployment operation.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
2
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
3
|
-
import type { Tx } from '@aztec/stdlib/tx';
|
|
3
|
+
import type { ProvingTimings, Tx } from '@aztec/stdlib/tx';
|
|
4
4
|
import type { Wallet } from '../wallet/wallet.js';
|
|
5
5
|
import type { Contract } from './contract.js';
|
|
6
6
|
import { DeploySentTx } from './deploy_sent_tx.js';
|
|
@@ -11,7 +11,7 @@ import { ProvenTx } from './proven_tx.js';
|
|
|
11
11
|
export declare class DeployProvenTx<TContract extends Contract = Contract> extends ProvenTx {
|
|
12
12
|
private postDeployCtor;
|
|
13
13
|
private instanceGetter;
|
|
14
|
-
constructor(wallet: Wallet, tx: Tx, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, instanceGetter: () => Promise<ContractInstanceWithAddress
|
|
14
|
+
constructor(wallet: Wallet, tx: Tx, postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>, instanceGetter: () => Promise<ContractInstanceWithAddress>, timings?: ProvingTimings);
|
|
15
15
|
/**
|
|
16
16
|
* Sends the transaction to the network via the provided wallet.
|
|
17
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy_proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"deploy_proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/deploy_proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C;;GAEG;AACH,qBAAa,cAAc,CAAC,SAAS,SAAS,QAAQ,GAAG,QAAQ,CAAE,SAAQ,QAAQ;IAI/E,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;gBAHtB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,EAAE,EACE,cAAc,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,EAC7E,cAAc,EAAE,MAAM,OAAO,CAAC,2BAA2B,CAAC,EAClE,OAAO,CAAC,EAAE,cAAc;IAK1B;;OAEG;IACa,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC;CAOhD"}
|
|
@@ -5,8 +5,8 @@ import { ProvenTx } from './proven_tx.js';
|
|
|
5
5
|
*/ export class DeployProvenTx extends ProvenTx {
|
|
6
6
|
postDeployCtor;
|
|
7
7
|
instanceGetter;
|
|
8
|
-
constructor(wallet, tx, postDeployCtor, instanceGetter){
|
|
9
|
-
super(wallet, tx), this.postDeployCtor = postDeployCtor, this.instanceGetter = instanceGetter;
|
|
8
|
+
constructor(wallet, tx, postDeployCtor, instanceGetter, timings){
|
|
9
|
+
super(wallet, tx, timings), this.postDeployCtor = postDeployCtor, this.instanceGetter = instanceGetter;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
12
|
* Sends the transaction to the network via the provided wallet.
|
|
@@ -36,6 +36,8 @@ export type SimulateMethodOptions = Pick<SendMethodOptions, 'authWitnesses' | 'c
|
|
|
36
36
|
skipTxValidation?: boolean;
|
|
37
37
|
/** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
|
|
38
38
|
skipFeeEnforcement?: boolean;
|
|
39
|
+
/** Whether to include the metadata in the simulation result, instead of just the return of the function */
|
|
40
|
+
includeMetadata?: boolean;
|
|
39
41
|
};
|
|
40
42
|
/**
|
|
41
43
|
* Represents the options for profiling an interaction.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,2CAA2C;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,kKAAkK;IAClK,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,iBAAiB,EACjB,eAAe,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAC/D,GAAG;IACF,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"interaction_options.d.ts","sourceRoot":"","sources":["../../src/contract/interaction_options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,GAAG;IACrD,2CAA2C;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,kKAAkK;IAClK,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,IAAI,CACtC,iBAAiB,EACjB,eAAe,GAAG,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,CAC/D,GAAG;IACF,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,2GAA2G;IAC3G,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG;IACzD,qEAAqE;IACrE,WAAW,EAAE,OAAO,GAAG,iBAAiB,GAAG,MAAM,CAAC;IAClD,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Tx } from '@aztec/stdlib/tx';
|
|
1
|
+
import { type ProvingTimings, Tx } from '@aztec/stdlib/tx';
|
|
2
2
|
import type { Wallet } from '../wallet/wallet.js';
|
|
3
3
|
import { SentTx } from './sent_tx.js';
|
|
4
4
|
/**
|
|
@@ -6,7 +6,8 @@ import { SentTx } from './sent_tx.js';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class ProvenTx extends Tx {
|
|
8
8
|
protected wallet: Wallet;
|
|
9
|
-
|
|
9
|
+
timings?: ProvingTimings | undefined;
|
|
10
|
+
constructor(wallet: Wallet, tx: Tx, timings?: ProvingTimings | undefined);
|
|
10
11
|
protected getPlainDataTx(): Tx;
|
|
11
12
|
/**
|
|
12
13
|
* Sends the transaction to the network via the provided wallet.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"proven_tx.d.ts","sourceRoot":"","sources":["../../src/contract/proven_tx.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;GAEG;AACH,qBAAa,QAAS,SAAQ,EAAE;IAE5B,SAAS,CAAC,MAAM,EAAE,MAAM;IAGjB,OAAO,CAAC,EAAE,cAAc;gBAHrB,MAAM,EAAE,MAAM,EACxB,EAAE,EAAE,EAAE,EAEC,OAAO,CAAC,EAAE,cAAc,YAAA;IAMjC,SAAS,CAAC,cAAc,IAAI,EAAE;IAI9B;;OAEG;IACI,IAAI,IAAI,MAAM;CAOtB"}
|
|
@@ -4,8 +4,10 @@ import { SentTx } from './sent_tx.js';
|
|
|
4
4
|
* A proven transaction that can be sent to the network. Returned by the `prove` method of a contract interaction.
|
|
5
5
|
*/ export class ProvenTx extends Tx {
|
|
6
6
|
wallet;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
timings;
|
|
8
|
+
constructor(wallet, tx, // eslint-disable-next-line jsdoc/require-jsdoc
|
|
9
|
+
timings){
|
|
10
|
+
super(tx.data, tx.clientIvcProof, tx.contractClassLogs, tx.publicFunctionCalldata), this.wallet = wallet, this.timings = timings;
|
|
9
11
|
}
|
|
10
12
|
// Clone the TX data to get a serializable object.
|
|
11
13
|
getPlainDataTx() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"sent_tx.d.ts","sourceRoot":"","sources":["../../src/contract/sent_tx.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAY,MAAM,kBAAkB,CAAC;AAEzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,2CAA2C;AAC3C,MAAM,MAAM,QAAQ,GAAG;IACrB,gKAAgK;IAChK,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0HAA0H;IAC1H,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAI7B,CAAC;AAEF;;;GAGG;AACH,qBAAa,MAAM;IAEf,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG;IACnD,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;gBAD9B,eAAe,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,EACzC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC;IAG1C;;;;;;OAMG;IACI,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;;OAMG;IACU,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC;IAK7C;;;;OAIG;IACU,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;cAUhD,cAAc,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC;CA6BpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/deployment/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;GAGG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,eAAe,CAAC;gBAHhB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"contract_deployer.d.ts","sourceRoot":"","sources":["../../src/deployment/contract_deployer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD;;;GAGG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,eAAe,CAAC;gBAHhB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,UAAU,YAAA,EACvB,eAAe,CAAC,EAAE,MAAM,YAAA;IAGlC;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;CAW7B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l1_contracts.d.ts","sourceRoot":"","sources":["../../src/ethereum/l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAKjF,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"l1_contracts.d.ts","sourceRoot":"","sources":["../../src/ethereum/l1_contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAKjF,eAAO,MAAM,sBAAsB,GAAU,KAAK,MAAM,KAAG,OAAO,CAAC,mBAAmB,CAerF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_entrypoint_meta_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/account_entrypoint_meta_payment_method.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,qBAAa,kCAAmC,YAAW,gBAAgB;IAEvE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAJb,QAAQ,EAAE,gBAAgB,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,MAAM,GAAG,gBAAgB,EACnD,cAAc,EAAE,YAAY,EAC5B,aAAa,EAAE,gBAAgB;IAGzC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3B,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"account_entrypoint_meta_payment_method.d.ts","sourceRoot":"","sources":["../../src/fee/account_entrypoint_meta_payment_method.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EAKtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;;;;;;;;;;;GAaG;AACH,qBAAa,kCAAmC,YAAW,gBAAgB;IAEvE,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,wBAAwB;IAChC,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;gBAJb,QAAQ,EAAE,gBAAgB,EAC1B,mBAAmB,EAAE,mBAAmB,EACxC,wBAAwB,EAAE,MAAM,GAAG,gBAAgB,EACnD,cAAc,EAAE,YAAY,EAC5B,aAAa,EAAE,gBAAgB;IAGzC,QAAQ,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3B,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAwC9E,WAAW,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAG7D"}
|
|
@@ -9,9 +9,8 @@ import { createPXEClient } from '../pxe_client.js';
|
|
|
9
9
|
* @param host - The URL of the host.
|
|
10
10
|
* @param rpcMethod - The RPC method to call.
|
|
11
11
|
* @param body - The body of the request.
|
|
12
|
-
* @param useApiEndpoints - Whether to use the API endpoints or inject the method in the body.
|
|
13
12
|
* @returns The response data.
|
|
14
|
-
*/ async function axiosFetch(host,
|
|
13
|
+
*/ async function axiosFetch(host, body) {
|
|
15
14
|
const request = new Axios({
|
|
16
15
|
headers: {
|
|
17
16
|
'content-type': 'application/json'
|
|
@@ -23,34 +22,29 @@ import { createPXEClient } from '../pxe_client.js';
|
|
|
23
22
|
(data)=>JSON.parse(data)
|
|
24
23
|
]
|
|
25
24
|
});
|
|
26
|
-
const [url, content] =
|
|
27
|
-
`${host}/${rpcMethod}`,
|
|
28
|
-
body
|
|
29
|
-
] : [
|
|
25
|
+
const [url, content] = [
|
|
30
26
|
host,
|
|
31
|
-
|
|
32
|
-
...body,
|
|
33
|
-
method: rpcMethod
|
|
34
|
-
}
|
|
27
|
+
body
|
|
35
28
|
];
|
|
36
29
|
const resp = await request.post(url, content).catch((error)=>{
|
|
37
30
|
if (error.response) {
|
|
38
31
|
return error.response;
|
|
39
32
|
}
|
|
40
|
-
const errorMessage = `Error fetching from host ${host}
|
|
33
|
+
const errorMessage = `Error fetching from host ${host}: ${inspect(error)}`;
|
|
41
34
|
throw new Error(errorMessage);
|
|
42
35
|
});
|
|
43
36
|
const isOK = resp.status >= 200 && resp.status < 300;
|
|
44
37
|
if (isOK) {
|
|
45
38
|
const headers = {
|
|
46
|
-
get: (header)
|
|
39
|
+
get: (header)=>// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
40
|
+
typeof resp.headers.get === 'function' ? resp.headers.get(header)?.toString() : undefined
|
|
47
41
|
};
|
|
48
42
|
return {
|
|
49
43
|
response: resp.data,
|
|
50
44
|
headers
|
|
51
45
|
};
|
|
52
46
|
} else {
|
|
53
|
-
const errorMessage = `Error ${resp.status} from json-rpc server ${host}
|
|
47
|
+
const errorMessage = `Error ${resp.status} from json-rpc server ${host}: ${resp.data}`;
|
|
54
48
|
if (resp.status >= 400 && resp.status < 500) {
|
|
55
49
|
throw new NoRetryError(errorMessage);
|
|
56
50
|
} else {
|
|
@@ -66,8 +60,8 @@ import { createPXEClient } from '../pxe_client.js';
|
|
|
66
60
|
* @returns A PXE client.
|
|
67
61
|
*/ export function createCompatibleClient(rpcUrl, logger = createLogger('aztecjs:pxe_client'), versions = {}) {
|
|
68
62
|
// Use axios due to timeout issues with fetch when proving TXs.
|
|
69
|
-
const fetch = async (host,
|
|
70
|
-
return await retry(()=>axiosFetch(host,
|
|
63
|
+
const fetch = async (host, body)=>{
|
|
64
|
+
return await retry(()=>axiosFetch(host, body), `JsonRpcClient request to ${host}`, makeBackoff([
|
|
71
65
|
1,
|
|
72
66
|
2,
|
|
73
67
|
3
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/test/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAOhE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAezB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,YAAY,CAAC;IAjBvB,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,6BAA6B,CAAC,CAAiB;IAEvD,OAAO,CAAC,MAAM,CAAiD;IAE/D,OAAO,CAAC,iBAAiB,CAAQ;gBAGvB,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,UAAU,EACZ,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"anvil_test_watcher.d.ts","sourceRoot":"","sources":["../../src/test/anvil_test_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAOhE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAezB,OAAO,CAAC,UAAU;IAGlB,OAAO,CAAC,YAAY,CAAC;IAjBvB,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,oBAAoB,CAAC,CAAiB;IAC9C,OAAO,CAAC,qBAAqB,CAAC,CAAiB;IAC/C,OAAO,CAAC,6BAA6B,CAAC,CAAiB;IAEvD,OAAO,CAAC,MAAM,CAAiD;IAE/D,OAAO,CAAC,iBAAiB,CAAQ;gBAGvB,UAAU,EAAE,aAAa,EACjC,aAAa,EAAE,UAAU,EACzB,QAAQ,EAAE,UAAU,EACZ,YAAY,CAAC,EAAE,gBAAgB,YAAA;IAezC,oBAAoB,CAAC,iBAAiB,EAAE,OAAO;IAI/C,YAAY,CAAC,SAAS,EAAE,OAAO;IAIzB,KAAK;IAwBL,IAAI;IAMJ,OAAO;IAMP,YAAY;IAOZ,cAAc;IAoBd,gBAAgB;CAwCvB"}
|
|
@@ -31,6 +31,11 @@ export declare class RollupCheatCodes {
|
|
|
31
31
|
/** Epoch duration */ epochDuration: bigint;
|
|
32
32
|
/** Slot duration */ slotDuration: bigint;
|
|
33
33
|
}>;
|
|
34
|
+
/**
|
|
35
|
+
* Advances time to the beginning of the given epoch
|
|
36
|
+
* @param epoch - The epoch to advance to
|
|
37
|
+
*/
|
|
38
|
+
advanceToEpoch(epoch: bigint): Promise<bigint>;
|
|
34
39
|
/** Warps time in L1 until the next epoch */
|
|
35
40
|
advanceToNextEpoch(): Promise<void>;
|
|
36
41
|
/** Warps time in L1 until the beginning of the next slot. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup_cheat_codes.d.ts","sourceRoot":"","sources":["../../src/test/rollup_cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAA8D,MAAM,MAAM,CAAC;AAGxH,8CAA8C;AAC9C,qBAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"rollup_cheat_codes.d.ts","sourceRoot":"","sources":["../../src/test/rollup_cheat_codes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAGjF,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAE1D,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAA8D,MAAM,MAAM,CAAC;AAGxH,8CAA8C;AAC9C,qBAAa,gBAAgB;IAOzB,OAAO,CAAC,aAAa;IANvB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAA4D;IAE1E,OAAO,CAAC,MAAM,CAAuC;gBAG3C,aAAa,EAAE,aAAa,EACpC,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE,eAAe,CAAC;IAavD,+BAA+B;IAClB,OAAO;IAKpB,gCAAgC;IACnB,QAAQ;IAKrB;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC;QAC9B,4BAA4B,CAAC,OAAO,EAAE,MAAM,CAAC;QAC7C,2BAA2B,CAAC,MAAM,EAAE,MAAM,CAAC;KAC5C,CAAC;IAQF;;OAEG;IACU,WAAW;IAmBxB,0EAA0E;IAC7D,SAAS,IAAI,OAAO,CAAC;QAChC,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC;QAC5C,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC;KAC3C,CAAC;IAQF;;;OAGG;IACU,cAAc,CAAC,KAAK,EAAE,MAAM;IAYzC,4CAA4C;IAC/B,kBAAkB;IAU/B,6DAA6D;IAChD,iBAAiB;IAQ9B;;;OAGG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM;IASzC;;;OAGG;IACU,YAAY,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM;IAiC5D;;;OAGG;IACU,OAAO,CAClB,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,qBAAqB,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;IAQ1G,4CAA4C;IAC/B,oBAAoB;IAQjC;;;OAGG;IACU,sBAAsB,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM;IAMtE;;;OAGG;IACU,qBAAqB,CAAC,QAAQ,EAAE,MAAM;CAOpD"}
|
|
@@ -73,6 +73,22 @@ import { foundry } from 'viem/chains';
|
|
|
73
73
|
slotDuration
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Advances time to the beginning of the given epoch
|
|
78
|
+
* @param epoch - The epoch to advance to
|
|
79
|
+
*/ async advanceToEpoch(epoch) {
|
|
80
|
+
const { epochDuration: slotsInEpoch } = await this.getConfig();
|
|
81
|
+
const timestamp = await this.rollup.read.getTimestampForSlot([
|
|
82
|
+
epoch * slotsInEpoch
|
|
83
|
+
]);
|
|
84
|
+
try {
|
|
85
|
+
await this.ethCheatCodes.warp(Number(timestamp));
|
|
86
|
+
this.logger.warn(`Warped to epoch ${epoch}`);
|
|
87
|
+
} catch {
|
|
88
|
+
this.logger.debug('Warp failed, time already satisfied');
|
|
89
|
+
}
|
|
90
|
+
return timestamp;
|
|
91
|
+
}
|
|
76
92
|
/** Warps time in L1 until the next epoch */ async advanceToNextEpoch() {
|
|
77
93
|
const slot = await this.getSlot();
|
|
78
94
|
const { epochDuration, slotDuration } = await this.getConfig();
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
2
|
import type { Fr } from '@aztec/foundation/fields';
|
|
5
3
|
import type { EventSelector, FunctionSelector } from '@aztec/stdlib/abi';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abi_types.d.ts","sourceRoot":"","sources":["../../src/utils/abi_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,MAAM,MAAM,SAAS,GAAG,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG;IAA2B,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEvG,yEAAyE;AACzE,MAAM,MAAM,cAAc,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,UAAU,CAAC;AAExF,2EAA2E;AAC3E,MAAM,MAAM,gBAAgB,GAAG;IAAyB,OAAO,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAE5F,8EAA8E;AAC9E,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,gBAAgB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,aAAa,CAAC;AAE1D,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvC,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAuB,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,SAAS,CAAC"}
|
package/dest/utils/authwit.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import { Fr } from '@aztec/foundation/fields';
|
|
4
2
|
import type { FunctionCall } from '@aztec/stdlib/abi';
|
|
5
3
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,8BAA8B;AAC9B,MAAM,MAAM,cAAc,GAAG;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;IACZ,8BAA8B;IAC9B,OAAO,EAAE,EAAE,CAAC;CACb,CAAC;AAEF,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG;IAC5B,qBAAqB;IACrB,QAAQ,EAAE,YAAY,CAAC;IACvB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,GAAG,EAAE,CAAC;CACxB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,YAAY,GAAG;IACzB,6BAA6B;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,4BAA4B;IAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;CACpD,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,yBAAyB,GAAU,QAAQ,eAAe,GAAG,YAAY,EAAE,UAAU,cAAc,gBAiB/G,CAAC;AAGF;;;;;;IAMI;AACJ,eAAO,MAAM,uCAAuC,GAAU,QAAQ,YAAY,EAAE,QAAQ,YAAY,gBAEvG,CAAC;AAEF;;;;;;;IAOI;AACJ,eAAO,MAAM,iCAAiC,GAC5C,QAAQ,YAAY,EACpB,QAAQ,YAAY,GAAG,2BAA2B,gBAInD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field_compressed_string.d.ts","sourceRoot":"","sources":["../../src/utils/field_compressed_string.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,yBAAyB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"field_compressed_string.d.ts","sourceRoot":"","sources":["../../src/utils/field_compressed_string.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,UAAU,yBAAyB;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,OAAO,yBAAyB,KAAG,MAU5E,CAAC"}
|
package/dest/utils/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAEjE,eAAO,MAAM,WAAW,GAAU,MAAM,SAAS,EAAE,SAAS,MAAM,kBAYjE,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,KAAK,SAAS,EAAE,MAAM,iCAAiC,CAAC"}
|
package/dest/utils/node.js
CHANGED
package/dest/utils/pxe.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../../src/utils/pxe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAE3D,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"pxe.d.ts","sourceRoot":"","sources":["../../src/utils/pxe.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAE3D,eAAO,MAAM,UAAU,GAAU,KAAK,GAAG,EAAE,SAAS,MAAM,kBAYzD,CAAC"}
|
package/dest/utils/pxe.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import type { FeeOptions, TxExecutionOptions } from '@aztec/entrypoints/interfaces';
|
|
4
2
|
import type { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
5
3
|
import { Fr } from '@aztec/foundation/fields';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,eAAe,EAGrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IAGzC,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBADnC,GAAG,EAAE,GAAG,EACE,OAAO,EAAE,gBAAgB;IAKrC,wBAAwB,CACtB,IAAI,EAAE,gBAAgB,EACtB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAI9B,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB;;;;;;;;;OASG;IACG,aAAa,CAAC,mBAAmB,EAAE,EAAE,GAAG,MAAM,GAAG,YAAY,GAAG,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC;IAa5G;;;;;;;;OAQG;IACU,gBAAgB,CAC3B,mBAAmB,EAAE,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,YAAY,EACjE,UAAU,EAAE,OAAO,GAClB,OAAO,CAAC,2BAA2B,CAAC;YAgBzB,uBAAuB;IAmBrC;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAMtB;;;;;;;;;OASG;IACG,cAAc,CAClB,UAAU,EAAE,YAAY,EACxB,MAAM,EAAE,eAAe,GAAG,YAAY,EACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC;QACT,yEAAyE;QACzE,gBAAgB,EAAE,OAAO,CAAC;QAC1B,wEAAwE;QACxE,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IA2BF,+EAA+E;IACxE,kBAAkB;IAIzB,sEAAsE;IACtD,UAAU;IAI1B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB;CAuB3B"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import type { FeeOptions, TxExecutionOptions } from '@aztec/entrypoints/interfaces';
|
|
4
2
|
import type { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
5
3
|
import type { Fr } from '@aztec/foundation/fields';
|
|
6
|
-
import type {
|
|
4
|
+
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
7
5
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
8
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
9
7
|
import type { CompleteAddress, ContractInstanceWithAddress, NodeInfo } from '@aztec/stdlib/contract';
|
|
10
8
|
import type { GasFees } from '@aztec/stdlib/gas';
|
|
11
9
|
import type { ContractClassMetadata, ContractMetadata, EventMetadataDefinition, PXE, PXEInfo } from '@aztec/stdlib/interfaces/client';
|
|
12
|
-
import type { PrivateExecutionResult, Tx, TxExecutionRequest, TxHash, TxProfileResult, TxProvingResult, TxReceipt, TxSimulationResult } from '@aztec/stdlib/tx';
|
|
10
|
+
import type { PrivateExecutionResult, Tx, TxExecutionRequest, TxHash, TxProfileResult, TxProvingResult, TxReceipt, TxSimulationResult, UtilitySimulationResult } from '@aztec/stdlib/tx';
|
|
13
11
|
import type { IntentAction, IntentInnerHash } from '../utils/authwit.js';
|
|
14
12
|
import type { Wallet } from './wallet.js';
|
|
15
13
|
/**
|
|
@@ -38,7 +36,7 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
38
36
|
simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean, msgSender?: AztecAddress, skipTxValidation?: boolean, skipFeeEnforcement?: boolean): Promise<TxSimulationResult>;
|
|
39
37
|
sendTx(tx: Tx): Promise<TxHash>;
|
|
40
38
|
getCurrentBaseFees(): Promise<GasFees>;
|
|
41
|
-
simulateUtility(functionName: string, args: any[], to: AztecAddress, authwits?: AuthWitness[], from?: AztecAddress
|
|
39
|
+
simulateUtility(functionName: string, args: any[], to: AztecAddress, authwits?: AuthWitness[], from?: AztecAddress): Promise<UtilitySimulationResult>;
|
|
42
40
|
getNodeInfo(): Promise<NodeInfo>;
|
|
43
41
|
getPXEInfo(): Promise<PXEInfo>;
|
|
44
42
|
getContractClassMetadata(id: Fr, includeArtifact?: boolean): Promise<ContractClassMetadata>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
3
1
|
import type { EntrypointInterface, FeeOptions, TxExecutionOptions } from '@aztec/entrypoints/interfaces';
|
|
4
2
|
import type { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
5
3
|
import type { Fr } from '@aztec/foundation/fields';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACzG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAG5C,OAAO,CAAC,UAAU,CAAC;gBADnB,GAAG,EAAE,GAAG,EACA,UAAU,CAAC,EAAE,mBAAmB,YAAA;IAIpC,wBAAwB,CAC5B,SAAS,EAAE,gBAAgB,EAC3B,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,kBAAkB,CAAC;IAU9B,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB,iBAAiB,IAAI,EAAE;IAIvB,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,eAAe,GAAG,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;CAG3F"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/aztec.js",
|
|
3
3
|
"homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/aztec.js",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.87.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
7
7
|
".": "./dest/index.js",
|
|
@@ -78,13 +78,13 @@
|
|
|
78
78
|
]
|
|
79
79
|
},
|
|
80
80
|
"dependencies": {
|
|
81
|
-
"@aztec/constants": "0.
|
|
82
|
-
"@aztec/entrypoints": "0.
|
|
83
|
-
"@aztec/ethereum": "0.
|
|
84
|
-
"@aztec/foundation": "0.
|
|
85
|
-
"@aztec/l1-artifacts": "0.
|
|
86
|
-
"@aztec/protocol-contracts": "0.
|
|
87
|
-
"@aztec/stdlib": "0.
|
|
81
|
+
"@aztec/constants": "0.87.0",
|
|
82
|
+
"@aztec/entrypoints": "0.87.0",
|
|
83
|
+
"@aztec/ethereum": "0.87.0",
|
|
84
|
+
"@aztec/foundation": "0.87.0",
|
|
85
|
+
"@aztec/l1-artifacts": "0.87.0",
|
|
86
|
+
"@aztec/protocol-contracts": "0.87.0",
|
|
87
|
+
"@aztec/stdlib": "0.87.0",
|
|
88
88
|
"axios": "^1.8.2",
|
|
89
89
|
"tslib": "^2.4.0",
|
|
90
90
|
"viem": "2.23.7"
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
"devDependencies": {
|
|
93
93
|
"@jest/globals": "^29.5.0",
|
|
94
94
|
"@types/jest": "^29.5.0",
|
|
95
|
-
"@types/node": "^
|
|
95
|
+
"@types/node": "^22.15.17",
|
|
96
96
|
"buffer": "^6.0.3",
|
|
97
97
|
"crypto-browserify": "^3.12.1",
|
|
98
98
|
"jest": "^29.5.0",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"stream-browserify": "^3.0.0",
|
|
103
103
|
"ts-loader": "^9.4.4",
|
|
104
104
|
"ts-node": "^10.9.1",
|
|
105
|
-
"typescript": "^5.
|
|
105
|
+
"typescript": "^5.3.3",
|
|
106
106
|
"util": "^0.12.5"
|
|
107
107
|
},
|
|
108
108
|
"files": [
|
|
@@ -112,6 +112,6 @@
|
|
|
112
112
|
],
|
|
113
113
|
"types": "./dest/index.d.ts",
|
|
114
114
|
"engines": {
|
|
115
|
-
"node": ">=
|
|
115
|
+
"node": ">=20.10"
|
|
116
116
|
}
|
|
117
117
|
}
|
|
@@ -15,7 +15,11 @@ export type DeployAccountTxReceipt = FieldsOf<TxReceipt> & {
|
|
|
15
15
|
* A deployment transaction for an account contract sent to the network, extending SentTx with methods to get the resulting wallet.
|
|
16
16
|
*/
|
|
17
17
|
export class DeployAccountSentTx extends SentTx {
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(
|
|
19
|
+
pxeOrNode: AztecNode | PXE,
|
|
20
|
+
txHashPromise: Promise<TxHash>,
|
|
21
|
+
private getWalletPromise: Promise<Wallet>,
|
|
22
|
+
) {
|
|
19
23
|
super(pxeOrNode, txHashPromise);
|
|
20
24
|
}
|
|
21
25
|
|
|
@@ -61,7 +61,7 @@ export abstract class BaseContractInteraction {
|
|
|
61
61
|
public async prove(options: SendMethodOptions = {}): Promise<ProvenTx> {
|
|
62
62
|
// docs:end:prove
|
|
63
63
|
const txProvingResult = await this.proveInternal(options);
|
|
64
|
-
return new ProvenTx(this.wallet, txProvingResult.toTx());
|
|
64
|
+
return new ProvenTx(this.wallet, txProvingResult.toTx(), txProvingResult.timings);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
// docs:start:send
|
|
@@ -8,7 +8,10 @@ import type { RequestMethodOptions, SendMethodOptions, SimulateMethodOptions } f
|
|
|
8
8
|
|
|
9
9
|
/** A batch of function calls to be sent as a single transaction through a wallet. */
|
|
10
10
|
export class BatchCall extends BaseContractInteraction {
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(
|
|
12
|
+
wallet: Wallet,
|
|
13
|
+
protected calls: BaseContractInteraction[],
|
|
14
|
+
) {
|
|
12
15
|
super(wallet);
|
|
13
16
|
}
|
|
14
17
|
|
|
@@ -106,7 +109,7 @@ export class BatchCall extends BaseContractInteraction {
|
|
|
106
109
|
|
|
107
110
|
const results: any[] = [];
|
|
108
111
|
|
|
109
|
-
utilityResults.forEach(([result, index]) => {
|
|
112
|
+
utilityResults.forEach(([{ result }, index]) => {
|
|
110
113
|
results[index] = result;
|
|
111
114
|
});
|
|
112
115
|
indexedExecutionPayloads.forEach(([request, callIndex, resultIndex]) => {
|
|
@@ -2,7 +2,7 @@ import { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
|
2
2
|
import { type FunctionAbi, FunctionSelector, FunctionType, decodeFromAbi, encodeArguments } from '@aztec/stdlib/abi';
|
|
3
3
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
4
4
|
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
-
import type { Capsule, HashedValues, TxExecutionRequest, TxProfileResult } from '@aztec/stdlib/tx';
|
|
5
|
+
import type { Capsule, HashedValues, SimulationTimings, TxExecutionRequest, TxProfileResult } from '@aztec/stdlib/tx';
|
|
6
6
|
|
|
7
7
|
import type { Wallet } from '../wallet/wallet.js';
|
|
8
8
|
import { BaseContractInteraction } from './base_contract_interaction.js';
|
|
@@ -13,6 +13,30 @@ import type {
|
|
|
13
13
|
SimulateMethodOptions,
|
|
14
14
|
} from './interaction_options.js';
|
|
15
15
|
|
|
16
|
+
/**
|
|
17
|
+
* Represents the result type of a simulation.
|
|
18
|
+
* By default, it will just be the return value of the simulated function
|
|
19
|
+
* so contract interfaces behave as plain functions. If `includeMetadata` is set to true,
|
|
20
|
+
* it will provide extra information.
|
|
21
|
+
*/
|
|
22
|
+
type SimulationReturn<T extends boolean | undefined> = T extends true
|
|
23
|
+
? {
|
|
24
|
+
/**
|
|
25
|
+
* Additional metadata about the simulation
|
|
26
|
+
*/
|
|
27
|
+
meta: {
|
|
28
|
+
/**
|
|
29
|
+
* Timings of the different operations performed, including per function breakdown
|
|
30
|
+
*/
|
|
31
|
+
timings?: SimulationTimings;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Return value of the function
|
|
35
|
+
*/
|
|
36
|
+
result: any;
|
|
37
|
+
}
|
|
38
|
+
: any;
|
|
39
|
+
|
|
16
40
|
/**
|
|
17
41
|
* This is the class that is returned when calling e.g. `contract.methods.myMethod(arg0, arg1)`.
|
|
18
42
|
* It contains available interactions one can call on a method, including view.
|
|
@@ -29,7 +53,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
29
53
|
) {
|
|
30
54
|
super(wallet, authWitnesses, capsules);
|
|
31
55
|
if (args.some(arg => arg === undefined || arg === null)) {
|
|
32
|
-
throw new Error(
|
|
56
|
+
throw new Error(`All function interaction arguments must be defined and not null. Received: ${args}`);
|
|
33
57
|
}
|
|
34
58
|
}
|
|
35
59
|
|
|
@@ -93,16 +117,29 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
93
117
|
* @param options - An optional object containing additional configuration for the transaction.
|
|
94
118
|
* @returns The result of the transaction as returned by the contract function.
|
|
95
119
|
*/
|
|
96
|
-
public async simulate(options
|
|
120
|
+
public async simulate<T extends SimulateMethodOptions>(options?: T): Promise<SimulationReturn<T['includeMetadata']>>;
|
|
121
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
122
|
+
public async simulate(
|
|
123
|
+
options: SimulateMethodOptions = {},
|
|
124
|
+
): Promise<SimulationReturn<typeof options.includeMetadata>> {
|
|
97
125
|
// docs:end:simulate
|
|
98
126
|
if (this.functionDao.functionType == FunctionType.UTILITY) {
|
|
99
|
-
|
|
127
|
+
const utilityResult = await this.wallet.simulateUtility(
|
|
100
128
|
this.functionDao.name,
|
|
101
129
|
this.args,
|
|
102
130
|
this.contractAddress,
|
|
103
131
|
options.authWitnesses ?? [],
|
|
104
132
|
options?.from,
|
|
105
133
|
);
|
|
134
|
+
|
|
135
|
+
if (options.includeMetadata) {
|
|
136
|
+
return {
|
|
137
|
+
meta: { timings: utilityResult.timings },
|
|
138
|
+
result: utilityResult.result,
|
|
139
|
+
};
|
|
140
|
+
} else {
|
|
141
|
+
return utilityResult.result;
|
|
142
|
+
}
|
|
106
143
|
}
|
|
107
144
|
|
|
108
145
|
const txRequest = await this.create(options);
|
|
@@ -129,7 +166,13 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
129
166
|
rawReturnValues = simulatedTx.getPublicReturnValues()?.[0].values;
|
|
130
167
|
}
|
|
131
168
|
|
|
132
|
-
|
|
169
|
+
const returnValue = rawReturnValues ? decodeFromAbi(this.functionDao.returnTypes, rawReturnValues) : [];
|
|
170
|
+
|
|
171
|
+
if (options.includeMetadata) {
|
|
172
|
+
return { meta: { timings: simulatedTx.timings }, result: returnValue };
|
|
173
|
+
} else {
|
|
174
|
+
return returnValue;
|
|
175
|
+
}
|
|
133
176
|
}
|
|
134
177
|
|
|
135
178
|
/**
|
|
@@ -245,8 +245,12 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
245
245
|
*/
|
|
246
246
|
public override async prove(options: DeployOptions): Promise<DeployProvenTx<TContract>> {
|
|
247
247
|
const txProvingResult = await this.proveInternal(options);
|
|
248
|
-
return new DeployProvenTx(
|
|
249
|
-
this.
|
|
248
|
+
return new DeployProvenTx(
|
|
249
|
+
this.wallet,
|
|
250
|
+
txProvingResult.toTx(),
|
|
251
|
+
this.postDeployCtor,
|
|
252
|
+
() => this.getInstance(options),
|
|
253
|
+
txProvingResult.timings,
|
|
250
254
|
);
|
|
251
255
|
}
|
|
252
256
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
2
2
|
import type { ContractInstanceWithAddress } from '@aztec/stdlib/contract';
|
|
3
|
-
import type { Tx } from '@aztec/stdlib/tx';
|
|
3
|
+
import type { ProvingTimings, Tx } from '@aztec/stdlib/tx';
|
|
4
4
|
|
|
5
5
|
import type { Wallet } from '../wallet/wallet.js';
|
|
6
6
|
import type { Contract } from './contract.js';
|
|
@@ -16,8 +16,9 @@ export class DeployProvenTx<TContract extends Contract = Contract> extends Prove
|
|
|
16
16
|
tx: Tx,
|
|
17
17
|
private postDeployCtor: (address: AztecAddress, wallet: Wallet) => Promise<TContract>,
|
|
18
18
|
private instanceGetter: () => Promise<ContractInstanceWithAddress>,
|
|
19
|
+
timings?: ProvingTimings,
|
|
19
20
|
) {
|
|
20
|
-
super(wallet, tx);
|
|
21
|
+
super(wallet, tx, timings);
|
|
21
22
|
}
|
|
22
23
|
|
|
23
24
|
/**
|
|
@@ -42,6 +42,8 @@ export type SimulateMethodOptions = Pick<
|
|
|
42
42
|
skipTxValidation?: boolean;
|
|
43
43
|
/** Whether to ensure the fee payer is not empty and has enough balance to pay for the fee. */
|
|
44
44
|
skipFeeEnforcement?: boolean;
|
|
45
|
+
/** Whether to include the metadata in the simulation result, instead of just the return of the function */
|
|
46
|
+
includeMetadata?: boolean;
|
|
45
47
|
};
|
|
46
48
|
|
|
47
49
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Tx } from '@aztec/stdlib/tx';
|
|
1
|
+
import { type ProvingTimings, Tx } from '@aztec/stdlib/tx';
|
|
2
2
|
|
|
3
3
|
import type { Wallet } from '../wallet/wallet.js';
|
|
4
4
|
import { SentTx } from './sent_tx.js';
|
|
@@ -7,7 +7,12 @@ import { SentTx } from './sent_tx.js';
|
|
|
7
7
|
* A proven transaction that can be sent to the network. Returned by the `prove` method of a contract interaction.
|
|
8
8
|
*/
|
|
9
9
|
export class ProvenTx extends Tx {
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(
|
|
11
|
+
protected wallet: Wallet,
|
|
12
|
+
tx: Tx,
|
|
13
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
14
|
+
public timings?: ProvingTimings,
|
|
15
|
+
) {
|
|
11
16
|
super(tx.data, tx.clientIvcProof, tx.contractClassLogs, tx.publicFunctionCalldata);
|
|
12
17
|
}
|
|
13
18
|
|
package/src/contract/sent_tx.ts
CHANGED
|
@@ -28,7 +28,10 @@ export const DefaultWaitOpts: WaitOpts = {
|
|
|
28
28
|
* its hash, receipt, and mining status.
|
|
29
29
|
*/
|
|
30
30
|
export class SentTx {
|
|
31
|
-
constructor(
|
|
31
|
+
constructor(
|
|
32
|
+
protected pxeWalletOrNode: Wallet | AztecNode | PXE,
|
|
33
|
+
protected txHashPromise: Promise<TxHash>,
|
|
34
|
+
) {}
|
|
32
35
|
|
|
33
36
|
/**
|
|
34
37
|
* Retrieves the transaction hash of the SentTx instance.
|
|
@@ -46,9 +46,8 @@ export class AccountEntrypointMetaPaymentMethod implements FeePaymentMethod {
|
|
|
46
46
|
async getExecutionPayload(gasSettings: GasSettings): Promise<ExecutionPayload> {
|
|
47
47
|
const emptyAppCalls = await EncodedAppEntrypointCalls.fromAppExecution([]);
|
|
48
48
|
// Get the execution payload for the fee, it includes the calls and potentially authWitnesses
|
|
49
|
-
const { calls: feeCalls, authWitnesses: feeAuthwitnesses } =
|
|
50
|
-
gasSettings
|
|
51
|
-
);
|
|
49
|
+
const { calls: feeCalls, authWitnesses: feeAuthwitnesses } =
|
|
50
|
+
await this.paymentMethod.getExecutionPayload(gasSettings);
|
|
52
51
|
// Encode the calls for the fee
|
|
53
52
|
const feePayer = await this.paymentMethod.getFeePayer(gasSettings);
|
|
54
53
|
const isFeePayer = feePayer.equals(this.accountAddress);
|
|
@@ -14,21 +14,20 @@ import { createPXEClient } from '../pxe_client.js';
|
|
|
14
14
|
* @param host - The URL of the host.
|
|
15
15
|
* @param rpcMethod - The RPC method to call.
|
|
16
16
|
* @param body - The body of the request.
|
|
17
|
-
* @param useApiEndpoints - Whether to use the API endpoints or inject the method in the body.
|
|
18
17
|
* @returns The response data.
|
|
19
18
|
*/
|
|
20
|
-
async function axiosFetch(host: string,
|
|
19
|
+
async function axiosFetch(host: string, body: unknown) {
|
|
21
20
|
const request = new Axios({
|
|
22
21
|
headers: { 'content-type': 'application/json' },
|
|
23
22
|
transformRequest: [(data: any) => jsonStringify(data)],
|
|
24
23
|
transformResponse: [(data: any) => JSON.parse(data)],
|
|
25
24
|
});
|
|
26
|
-
const [url, content] =
|
|
25
|
+
const [url, content] = [host, body];
|
|
27
26
|
const resp = await request.post(url, content).catch((error: AxiosError) => {
|
|
28
27
|
if (error.response) {
|
|
29
28
|
return error.response;
|
|
30
29
|
}
|
|
31
|
-
const errorMessage = `Error fetching from host ${host}
|
|
30
|
+
const errorMessage = `Error fetching from host ${host}: ${inspect(error)}`;
|
|
32
31
|
throw new Error(errorMessage);
|
|
33
32
|
});
|
|
34
33
|
|
|
@@ -36,11 +35,12 @@ async function axiosFetch(host: string, rpcMethod: string, body: any, useApiEndp
|
|
|
36
35
|
if (isOK) {
|
|
37
36
|
const headers = {
|
|
38
37
|
get: (header: string) =>
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
|
|
39
39
|
typeof resp.headers.get === 'function' ? resp.headers.get(header)?.toString() : undefined,
|
|
40
40
|
};
|
|
41
41
|
return { response: resp.data, headers };
|
|
42
42
|
} else {
|
|
43
|
-
const errorMessage = `Error ${resp.status} from json-rpc server ${host}
|
|
43
|
+
const errorMessage = `Error ${resp.status} from json-rpc server ${host}: ${resp.data}`;
|
|
44
44
|
if (resp.status >= 400 && resp.status < 500) {
|
|
45
45
|
throw new NoRetryError(errorMessage);
|
|
46
46
|
} else {
|
|
@@ -62,10 +62,10 @@ export function createCompatibleClient(
|
|
|
62
62
|
versions: Partial<ComponentsVersions> = {},
|
|
63
63
|
): Promise<PXE> {
|
|
64
64
|
// Use axios due to timeout issues with fetch when proving TXs.
|
|
65
|
-
const fetch = async (host: string,
|
|
65
|
+
const fetch = async (host: string, body: unknown) => {
|
|
66
66
|
return await retry(
|
|
67
|
-
() => axiosFetch(host,
|
|
68
|
-
`JsonRpcClient request
|
|
67
|
+
() => axiosFetch(host, body),
|
|
68
|
+
`JsonRpcClient request to ${host}`,
|
|
69
69
|
makeBackoff([1, 2, 3]),
|
|
70
70
|
logger,
|
|
71
71
|
false,
|
|
@@ -15,7 +15,10 @@ export class RollupCheatCodes {
|
|
|
15
15
|
|
|
16
16
|
private logger = createLogger('aztecjs:cheat_codes');
|
|
17
17
|
|
|
18
|
-
constructor(
|
|
18
|
+
constructor(
|
|
19
|
+
private ethCheatCodes: EthCheatCodes,
|
|
20
|
+
addresses: Pick<L1ContractAddresses, 'rollupAddress'>,
|
|
21
|
+
) {
|
|
19
22
|
this.client = createPublicClient({
|
|
20
23
|
chain: foundry,
|
|
21
24
|
transport: fallback(ethCheatCodes.rpcUrls.map(url => http(url))),
|
|
@@ -88,6 +91,22 @@ export class RollupCheatCodes {
|
|
|
88
91
|
return { epochDuration, slotDuration };
|
|
89
92
|
}
|
|
90
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Advances time to the beginning of the given epoch
|
|
96
|
+
* @param epoch - The epoch to advance to
|
|
97
|
+
*/
|
|
98
|
+
public async advanceToEpoch(epoch: bigint) {
|
|
99
|
+
const { epochDuration: slotsInEpoch } = await this.getConfig();
|
|
100
|
+
const timestamp = await this.rollup.read.getTimestampForSlot([epoch * slotsInEpoch]);
|
|
101
|
+
try {
|
|
102
|
+
await this.ethCheatCodes.warp(Number(timestamp));
|
|
103
|
+
this.logger.warn(`Warped to epoch ${epoch}`);
|
|
104
|
+
} catch {
|
|
105
|
+
this.logger.debug('Warp failed, time already satisfied');
|
|
106
|
+
}
|
|
107
|
+
return timestamp;
|
|
108
|
+
}
|
|
109
|
+
|
|
91
110
|
/** Warps time in L1 until the next epoch */
|
|
92
111
|
public async advanceToNextEpoch() {
|
|
93
112
|
const slot = await this.getSlot();
|
package/src/utils/node.ts
CHANGED
|
@@ -9,7 +9,7 @@ export const waitForNode = async (node: AztecNode, logger?: Logger) => {
|
|
|
9
9
|
await node.getNodeInfo();
|
|
10
10
|
logger?.verbose('Contacted Aztec node');
|
|
11
11
|
return true;
|
|
12
|
-
} catch
|
|
12
|
+
} catch {
|
|
13
13
|
logger?.verbose('Failed to contact Aztec Node');
|
|
14
14
|
}
|
|
15
15
|
return undefined;
|
package/src/utils/pxe.ts
CHANGED
|
@@ -22,7 +22,10 @@ import { BaseWallet } from './base_wallet.js';
|
|
|
22
22
|
* A wallet implementation that forwards authentication requests to a provided account.
|
|
23
23
|
*/
|
|
24
24
|
export class AccountWallet extends BaseWallet {
|
|
25
|
-
constructor(
|
|
25
|
+
constructor(
|
|
26
|
+
pxe: PXE,
|
|
27
|
+
protected account: AccountInterface,
|
|
28
|
+
) {
|
|
26
29
|
super(pxe);
|
|
27
30
|
}
|
|
28
31
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FeeOptions, TxExecutionOptions } from '@aztec/entrypoints/interfaces';
|
|
2
2
|
import type { ExecutionPayload } from '@aztec/entrypoints/payload';
|
|
3
3
|
import type { Fr } from '@aztec/foundation/fields';
|
|
4
|
-
import type {
|
|
4
|
+
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
5
5
|
import type { AuthWitness } from '@aztec/stdlib/auth-witness';
|
|
6
6
|
import type { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
7
7
|
import type { CompleteAddress, ContractInstanceWithAddress, NodeInfo } from '@aztec/stdlib/contract';
|
|
@@ -22,6 +22,7 @@ import type {
|
|
|
22
22
|
TxProvingResult,
|
|
23
23
|
TxReceipt,
|
|
24
24
|
TxSimulationResult,
|
|
25
|
+
UtilitySimulationResult,
|
|
25
26
|
} from '@aztec/stdlib/tx';
|
|
26
27
|
|
|
27
28
|
import type { IntentAction, IntentInnerHash } from '../utils/authwit.js';
|
|
@@ -103,8 +104,8 @@ export abstract class BaseWallet implements Wallet {
|
|
|
103
104
|
args: any[],
|
|
104
105
|
to: AztecAddress,
|
|
105
106
|
authwits?: AuthWitness[],
|
|
106
|
-
from?: AztecAddress
|
|
107
|
-
): Promise<
|
|
107
|
+
from?: AztecAddress,
|
|
108
|
+
): Promise<UtilitySimulationResult> {
|
|
108
109
|
return this.pxe.simulateUtility(functionName, args, to, authwits, from);
|
|
109
110
|
}
|
|
110
111
|
getNodeInfo(): Promise<NodeInfo> {
|
|
@@ -14,7 +14,10 @@ import { BaseWallet } from './base_wallet.js';
|
|
|
14
14
|
* Wallet implementation which creates a transaction request directly to the requested contract without any signing.
|
|
15
15
|
*/
|
|
16
16
|
export class SignerlessWallet extends BaseWallet {
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(
|
|
18
|
+
pxe: PXE,
|
|
19
|
+
private entrypoint?: EntrypointInterface,
|
|
20
|
+
) {
|
|
18
21
|
super(pxe);
|
|
19
22
|
}
|
|
20
23
|
async createTxExecutionRequest(
|