@aztec/aztec.js 0.69.1 → 0.70.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_method.d.ts +1 -1
- package/dest/account_manager/deploy_account_method.js +3 -3
- package/dest/contract/base_contract_interaction.d.ts.map +1 -1
- package/dest/contract/base_contract_interaction.js +9 -1
- package/dest/contract/contract_function_interaction.d.ts.map +1 -1
- package/dest/contract/contract_function_interaction.js +7 -1
- package/dest/contract/deploy_method.d.ts +2 -2
- package/dest/contract/deploy_method.js +2 -2
- package/dest/entrypoint/default_entrypoint.js +4 -4
- package/dest/entrypoint/default_multi_call_entrypoint.js +5 -5
- package/dest/entrypoint/entrypoint.d.ts +3 -3
- package/dest/entrypoint/payload.d.ts +3 -3
- package/dest/entrypoint/payload.js +9 -9
- package/dest/index.d.ts +2 -2
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -2
- package/dest/utils/authwit.js +2 -2
- package/dest/utils/chain_monitor.d.ts +20 -0
- package/dest/utils/chain_monitor.d.ts.map +1 -0
- package/dest/utils/chain_monitor.js +53 -0
- package/dest/utils/index.d.ts +1 -0
- package/dest/utils/index.d.ts.map +1 -1
- package/dest/utils/index.js +2 -1
- package/dest/wallet/base_wallet.d.ts +1 -0
- package/dest/wallet/base_wallet.d.ts.map +1 -1
- package/dest/wallet/base_wallet.js +4 -1
- package/package.json +8 -8
- package/src/account_manager/deploy_account_method.ts +4 -4
- package/src/contract/base_contract_interaction.ts +8 -0
- package/src/contract/contract_function_interaction.ts +6 -0
- package/src/contract/deploy_method.ts +4 -4
- package/src/entrypoint/default_entrypoint.ts +5 -5
- package/src/entrypoint/default_multi_call_entrypoint.ts +5 -5
- package/src/entrypoint/entrypoint.ts +3 -3
- package/src/entrypoint/payload.ts +7 -7
- package/src/index.ts +2 -2
- package/src/utils/authwit.ts +2 -2
- package/src/utils/chain_monitor.ts +75 -0
- package/src/utils/index.ts +1 -0
- package/src/wallet/base_wallet.ts +3 -0
|
@@ -10,6 +10,6 @@ import { DeployMethod, type DeployOptions } from '../contract/deploy_method.js';
|
|
|
10
10
|
export declare class DeployAccountMethod extends DeployMethod {
|
|
11
11
|
#private;
|
|
12
12
|
constructor(authWitnessProvider: AuthWitnessProvider, publicKeys: PublicKeys, wallet: Wallet, artifact: ContractArtifact, args?: any[], constructorNameOrArtifact?: string | FunctionArtifact, feePaymentNameOrArtifact?: string | FunctionArtifact);
|
|
13
|
-
protected getInitializeFunctionCalls(options: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
13
|
+
protected getInitializeFunctionCalls(options: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=deploy_account_method.d.ts.map
|
|
@@ -34,10 +34,10 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
34
34
|
returnTypes: __classPrivateFieldGet(this, _DeployAccountMethod_feePaymentArtifact, "f").returnTypes,
|
|
35
35
|
});
|
|
36
36
|
exec.authWitnesses ?? (exec.authWitnesses = []);
|
|
37
|
-
exec.
|
|
37
|
+
exec.hashedArguments ?? (exec.hashedArguments = []);
|
|
38
38
|
exec.authWitnesses.push(await __classPrivateFieldGet(this, _DeployAccountMethod_authWitnessProvider, "f").createAuthWit(computeCombinedPayloadHash(emptyAppPayload, feePayload)));
|
|
39
|
-
exec.
|
|
40
|
-
exec.
|
|
39
|
+
exec.hashedArguments.push(...emptyAppPayload.hashedArguments);
|
|
40
|
+
exec.hashedArguments.push(...feePayload.hashedArguments);
|
|
41
41
|
}
|
|
42
42
|
return exec;
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,kKAAkK;IAClK,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAG/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAFpC,SAAS,CAAC,GAAG,yCAAgD;gBAEvC,MAAM,EAAE,MAAM;IAEpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;;;OAMG;cACa,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"base_contract_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/base_contract_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAG1D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAGhF,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,2EAA2E;IAC3E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,cAAc,CAAC;IACrB,kKAAkK;IAClK,KAAK,CAAC,EAAE,EAAE,CAAC;IACX,qIAAqI;IACrI,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,8BAAsB,uBAAuB;IAG/B,SAAS,CAAC,MAAM,EAAE,MAAM;IAFpC,SAAS,CAAC,GAAG,yCAAgD;gBAEvC,MAAM,EAAE,MAAM;IAEpC;;;;OAIG;aACa,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAEhF;;;;;;OAMG;cACa,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC;IAOxF;;;;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,GAAG,sBAAsB,CAAC,GACrE,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;IAQ1F;;;;;OAKG;cACa,aAAa,CAC3B,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG;QAAmC,GAAG,CAAC,EAAE,cAAc,CAAA;KAAE,GACrG,OAAO,CAAC,UAAU,CAAC;CA8BvB"}
|
|
@@ -25,15 +25,18 @@ export class BaseContractInteraction {
|
|
|
25
25
|
const txSimulationResult = await this.wallet.simulateTx(txRequest, !options.skipPublicSimulation, undefined, true);
|
|
26
26
|
return await this.wallet.proveTx(txRequest, txSimulationResult.privateExecutionResult);
|
|
27
27
|
}
|
|
28
|
+
// docs:start:prove
|
|
28
29
|
/**
|
|
29
30
|
* Proves a transaction execution request and returns a tx object ready to be sent.
|
|
30
31
|
* @param options - optional arguments to be used in the creation of the transaction
|
|
31
32
|
* @returns The resulting transaction
|
|
32
33
|
*/
|
|
33
34
|
async prove(options = {}) {
|
|
35
|
+
// docs:end:prove
|
|
34
36
|
const txProvingResult = await this.proveInternal(options);
|
|
35
37
|
return new ProvenTx(this.wallet, txProvingResult.toTx());
|
|
36
38
|
}
|
|
39
|
+
// docs:start:send
|
|
37
40
|
/**
|
|
38
41
|
* Sends a transaction to the contract function with the specified options.
|
|
39
42
|
* This function throws an error if called on an unconstrained function.
|
|
@@ -44,12 +47,14 @@ export class BaseContractInteraction {
|
|
|
44
47
|
* @returns A SentTx instance for tracking the transaction status and information.
|
|
45
48
|
*/
|
|
46
49
|
send(options = {}) {
|
|
50
|
+
// docs:end:send
|
|
47
51
|
const promise = (async () => {
|
|
48
52
|
const txProvingResult = await this.proveInternal(options);
|
|
49
53
|
return this.wallet.sendTx(txProvingResult.toTx());
|
|
50
54
|
})();
|
|
51
55
|
return new SentTx(this.wallet, promise);
|
|
52
56
|
}
|
|
57
|
+
// docs:start:estimateGas
|
|
53
58
|
/**
|
|
54
59
|
* Estimates gas for a given tx request and returns gas limits for it.
|
|
55
60
|
* @param opts - Options.
|
|
@@ -57,6 +62,7 @@ export class BaseContractInteraction {
|
|
|
57
62
|
* @returns Gas limits.
|
|
58
63
|
*/
|
|
59
64
|
async estimateGas(opts) {
|
|
65
|
+
// docs:end:estimateGas
|
|
60
66
|
const txRequest = await this.create({ ...opts, fee: { ...opts?.fee, estimateGas: false } });
|
|
61
67
|
const simulationResult = await this.wallet.simulateTx(txRequest, true /*simulatePublic*/, undefined /* msgSender */, undefined /* skipTxValidation */, false /* enforceFeePayment */);
|
|
62
68
|
const { totalGas: gasLimits, teardownGas: teardownGasLimits } = getGasLimits(simulationResult, opts?.fee?.estimatedGasPadding);
|
|
@@ -72,6 +78,7 @@ export class BaseContractInteraction {
|
|
|
72
78
|
const gasSettings = GasSettings.default({ ...fee?.gasSettings, maxFeesPerGas });
|
|
73
79
|
return { gasSettings, paymentMethod };
|
|
74
80
|
}
|
|
81
|
+
// docs:start:getFeeOptions
|
|
75
82
|
/**
|
|
76
83
|
* Return fee options based on the user opts, estimating tx gas if needed.
|
|
77
84
|
* @param request - Request to execute for this interaction.
|
|
@@ -79,6 +86,7 @@ export class BaseContractInteraction {
|
|
|
79
86
|
* @returns Fee options for the actual transaction.
|
|
80
87
|
*/
|
|
81
88
|
async getFeeOptions(request) {
|
|
89
|
+
// docs:end:getFeeOptions
|
|
82
90
|
const defaultFeeOptions = await this.getDefaultFeeOptions(request.fee);
|
|
83
91
|
const paymentMethod = defaultFeeOptions.paymentMethod;
|
|
84
92
|
const maxFeesPerGas = defaultFeeOptions.gasSettings.maxFeesPerGas;
|
|
@@ -95,4 +103,4 @@ export class BaseContractInteraction {
|
|
|
95
103
|
return { gasSettings, paymentMethod };
|
|
96
104
|
}
|
|
97
105
|
}
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV9jb250cmFjdF9pbnRlcmFjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdC9iYXNlX2NvbnRyYWN0X2ludGVyYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBVyxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBaUJ0Qzs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLHVCQUF1QjtJQUczQyxZQUFzQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUYxQixRQUFHLEdBQUcsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUM7SUFFdEIsQ0FBQztJQVN4Qzs7Ozs7O09BTUc7SUFDTyxLQUFLLENBQUMsYUFBYSxDQUFDLFVBQTZCLEVBQUU7UUFDM0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25ILE9BQU8sTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsbUJBQW1CO0lBQ25COzs7O09BSUc7SUFD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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gCAAgC,GAAG;IAC7D,0EAA0E;IAC1E,YAAY,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHrB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"contract_function_interaction.d.ts","sourceRoot":"","sources":["../../src/contract/contract_function_interaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,gCAAgC,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kCAAkC;IAClC,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,8HAA8H;IAC9H,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,gCAAgC,GAAG;IAC7D,0EAA0E;IAC1E,YAAY,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,qBAAa,2BAA4B,SAAQ,uBAAuB;IAGpE,SAAS,CAAC,eAAe,EAAE,YAAY;IACvC,SAAS,CAAC,WAAW,EAAE,WAAW;IAClC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE;gBAHrB,MAAM,EAAE,MAAM,EACJ,eAAe,EAAE,YAAY,EAC7B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,GAAG,EAAE;IASvB;;;;;OAKG;IACU,MAAM,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAY9E;;;;OAIG;IACI,OAAO,IAAI,YAAY;IAe9B;;;;;;;;OAQG;IACU,QAAQ,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,GAAG,CAAC;IA2BxE;;;;;OAKG;IACU,mBAAmB,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;CA0B9F"}
|
|
@@ -14,6 +14,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
14
14
|
throw new Error('All function interaction arguments must be defined and not null. Received: ' + args);
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
// docs:start:create
|
|
17
18
|
/**
|
|
18
19
|
* Create a transaction execution request that represents this call, encoded and authenticated by the
|
|
19
20
|
* user's wallet, ready to be simulated.
|
|
@@ -21,6 +22,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
21
22
|
* @returns A Promise that resolves to a transaction instance.
|
|
22
23
|
*/
|
|
23
24
|
async create(opts = {}) {
|
|
25
|
+
// docs:end:create
|
|
24
26
|
if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
|
|
25
27
|
throw new Error("Can't call `create` on an unconstrained function.");
|
|
26
28
|
}
|
|
@@ -29,12 +31,14 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
29
31
|
const { nonce, cancellable } = opts;
|
|
30
32
|
return await this.wallet.createTxExecutionRequest({ calls, fee, nonce, cancellable });
|
|
31
33
|
}
|
|
34
|
+
// docs:start:request
|
|
32
35
|
/**
|
|
33
36
|
* Returns an execution request that represents this operation. Useful as a building
|
|
34
37
|
* block for constructing batch requests.
|
|
35
38
|
* @returns An execution request wrapped in promise.
|
|
36
39
|
*/
|
|
37
40
|
request() {
|
|
41
|
+
// docs:end:request
|
|
38
42
|
const args = encodeArguments(this.functionDao, this.args);
|
|
39
43
|
return {
|
|
40
44
|
name: this.functionDao.name,
|
|
@@ -46,6 +50,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
46
50
|
returnTypes: this.functionDao.returnTypes,
|
|
47
51
|
};
|
|
48
52
|
}
|
|
53
|
+
// docs:start:simulate
|
|
49
54
|
/**
|
|
50
55
|
* Simulate a transaction and get its return values
|
|
51
56
|
* Differs from prove in a few important ways:
|
|
@@ -56,6 +61,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
56
61
|
* @returns The result of the transaction as returned by the contract function.
|
|
57
62
|
*/
|
|
58
63
|
async simulate(options = {}) {
|
|
64
|
+
// docs:end:simulate
|
|
59
65
|
if (this.functionDao.functionType == FunctionType.UNCONSTRAINED) {
|
|
60
66
|
return this.wallet.simulateUnconstrained(this.functionDao.name, this.args, this.contractAddress, options?.from);
|
|
61
67
|
}
|
|
@@ -101,4 +107,4 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
101
107
|
};
|
|
102
108
|
}
|
|
103
109
|
}
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3QvY29udHJhY3RfZnVuY3Rpb25faW50ZXJhY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLGdCQUFnQixFQUNoQixZQUFZLEVBQ1osYUFBYSxFQUNiLGVBQWUsR0FDaEIsTUFBTSx1QkFBdUIsQ0FBQztBQUcvQixPQUFPLEVBQUUsdUJBQXVCLEVBQTBCLE1BQU0sZ0NBQWdDLENBQUM7QUEwQmpHOzs7R0FHRztBQUNILE1BQU0sT0FBTywyQkFBNEIsU0FBUSx1QkFBdUI7SUFDdEUsWUFDRSxNQUFjLEVBQ0osZUFBNkIsRUFDN0IsV0FBd0IsRUFDeEIsSUFBVztRQUVyQixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFKSixvQkFBZSxHQUFmLGVBQWUsQ0FBYztRQUM3QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFPO1FBR3JCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDeEQsTUFBTSxJQUFJLEtBQUssQ0FBQyw2RUFBNkUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUN4RyxDQUFDO0lBQ0gsQ0FBQztJQUVELG9CQUFvQjtJQUNwQjs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBMEIsRUFBRTtRQUM5QyxrQkFBa0I7UUFDbEIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksS0FBSyxZQUFZLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDakUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFP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
|
|
@@ -68,13 +68,13 @@ export declare class DeployMethod<TContract extends ContractBase = Contract> ext
|
|
|
68
68
|
* @param options - Deployment options.
|
|
69
69
|
* @returns A function call array with potentially requests to the class registerer and instance deployer.
|
|
70
70
|
*/
|
|
71
|
-
protected getDeploymentFunctionCalls(options?: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
71
|
+
protected getDeploymentFunctionCalls(options?: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>>;
|
|
72
72
|
/**
|
|
73
73
|
* Returns the calls necessary to initialize the contract.
|
|
74
74
|
* @param options - Deployment options.
|
|
75
75
|
* @returns - An array of function calls.
|
|
76
76
|
*/
|
|
77
|
-
protected getInitializeFunctionCalls(options: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
77
|
+
protected getInitializeFunctionCalls(options: DeployOptions): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>>;
|
|
78
78
|
/**
|
|
79
79
|
* Send the contract deployment transaction using the provided options.
|
|
80
80
|
* This function extends the 'send' method from the ContractFunctionInteraction class,
|
|
@@ -63,9 +63,9 @@ export class DeployMethod extends BaseContractInteraction {
|
|
|
63
63
|
}
|
|
64
64
|
const calls = [...deployment.calls, ...bootstrap.calls];
|
|
65
65
|
const authWitnesses = [...(deployment.authWitnesses ?? []), ...(bootstrap.authWitnesses ?? [])];
|
|
66
|
-
const
|
|
66
|
+
const hashedArguments = [...(deployment.hashedArguments ?? []), ...(bootstrap.hashedArguments ?? [])];
|
|
67
67
|
const { cancellable, nonce, fee: userFee } = options;
|
|
68
|
-
const request = { calls, authWitnesses,
|
|
68
|
+
const request = { calls, authWitnesses, hashedArguments, cancellable, fee: userFee, nonce };
|
|
69
69
|
const fee = await this.getFeeOptions(request);
|
|
70
70
|
return { ...request, fee };
|
|
71
71
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HashedValues, TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { TxContext } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
4
|
/**
|
|
@@ -10,7 +10,7 @@ export class DefaultEntrypoint {
|
|
|
10
10
|
this.protocolVersion = protocolVersion;
|
|
11
11
|
}
|
|
12
12
|
createTxExecutionRequest(exec) {
|
|
13
|
-
const { fee, calls, authWitnesses = [],
|
|
13
|
+
const { fee, calls, authWitnesses = [], hashedArguments = [] } = exec;
|
|
14
14
|
if (calls.length > 1) {
|
|
15
15
|
throw new Error(`Expected a single call, got ${calls.length}`);
|
|
16
16
|
}
|
|
@@ -18,9 +18,9 @@ export class DefaultEntrypoint {
|
|
|
18
18
|
if (call.type !== FunctionType.PRIVATE) {
|
|
19
19
|
throw new Error('Public entrypoints are not allowed');
|
|
20
20
|
}
|
|
21
|
-
const
|
|
21
|
+
const entrypointHashedValues = HashedValues.fromValues(call.args);
|
|
22
22
|
const txContext = new TxContext(this.chainId, this.protocolVersion, fee.gasSettings);
|
|
23
|
-
return Promise.resolve(new TxExecutionRequest(call.to, call.selector,
|
|
23
|
+
return Promise.resolve(new TxExecutionRequest(call.to, call.selector, entrypointHashedValues.hash, txContext, [...hashedArguments, entrypointHashedValues], authWitnesses));
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdF9lbnRyeXBvaW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2VudHJ5cG9pbnQvZGVmYXVsdF9lbnRyeXBvaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBSXJEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUFvQixPQUFlLEVBQVUsZUFBdUI7UUFBaEQsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUFVLG9CQUFlLEdBQWYsZUFBZSxDQUFRO0lBQUcsQ0FBQztJQUV4RSx3QkFBd0IsQ0FBQyxJQUEwQjtRQUNqRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxhQUFhLEdBQUcsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUM7UUFFdEUsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFdEIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUVELE1BQU0sc0JBQXNCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQ3BCLElBQUksa0JBQWtCLENBQ3BCLElBQUksQ0FBQyxFQUFFLEVBQ1AsSUFBSSxDQUFDLFFBQVEsRUFDYixzQkFBc0IsQ0FBQyxJQUFJLEVBQzNCLFNBQVMsRUFDVCxDQUFDLEdBQUcsZUFBZSxFQUFFLHNCQUFzQixDQUFDLEVBQzVDLGFBQWEsQ0FDZCxDQUNGLENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EntrypointPayload } from '@aztec/aztec.js/entrypoint';
|
|
2
|
-
import {
|
|
2
|
+
import { HashedValues, TxExecutionRequest } from '@aztec/circuit-types';
|
|
3
3
|
import { TxContext } from '@aztec/circuits.js';
|
|
4
4
|
import { FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
|
|
5
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -13,16 +13,16 @@ export class DefaultMultiCallEntrypoint {
|
|
|
13
13
|
this.address = address;
|
|
14
14
|
}
|
|
15
15
|
createTxExecutionRequest(executions) {
|
|
16
|
-
const { fee, calls, authWitnesses = [],
|
|
16
|
+
const { fee, calls, authWitnesses = [], hashedArguments = [] } = executions;
|
|
17
17
|
const payload = EntrypointPayload.fromAppExecution(calls);
|
|
18
18
|
const abi = this.getEntrypointAbi();
|
|
19
|
-
const
|
|
19
|
+
const entrypointHashedArgs = HashedValues.fromValues(encodeArguments(abi, [payload]));
|
|
20
20
|
const txRequest = TxExecutionRequest.from({
|
|
21
|
-
firstCallArgsHash:
|
|
21
|
+
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
22
22
|
origin: this.address,
|
|
23
23
|
functionSelector: FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
|
|
24
24
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
25
|
-
argsOfCalls: [...payload.
|
|
25
|
+
argsOfCalls: [...payload.hashedArguments, ...hashedArguments, entrypointHashedArgs],
|
|
26
26
|
authWitnesses,
|
|
27
27
|
});
|
|
28
28
|
return Promise.resolve(txRequest);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AuthWitness, type FunctionCall, type
|
|
1
|
+
import { type AuthWitness, type FunctionCall, type HashedValues, type TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { type Fr } from '@aztec/circuits.js';
|
|
3
3
|
import { EntrypointPayload, type FeeOptions, computeCombinedPayloadHash } from './payload.js';
|
|
4
4
|
export { EntrypointPayload, FeeOptions, computeCombinedPayloadHash };
|
|
@@ -10,8 +10,8 @@ export type ExecutionRequestInit = {
|
|
|
10
10
|
calls: FunctionCall[];
|
|
11
11
|
/** Any transient auth witnesses needed for this execution */
|
|
12
12
|
authWitnesses?: AuthWitness[];
|
|
13
|
-
/** Any transient
|
|
14
|
-
|
|
13
|
+
/** Any transient hashed arguments for this execution */
|
|
14
|
+
hashedArguments?: HashedValues[];
|
|
15
15
|
/** How the fee is going to be payed */
|
|
16
16
|
fee: FeeOptions;
|
|
17
17
|
/** An optional nonce. Used to repeat a previous tx with a higher fee so that the first one is cancelled */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionCall,
|
|
1
|
+
import { FunctionCall, HashedValues } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, Fr, type GasSettings } from '@aztec/circuits.js';
|
|
3
3
|
import { type Tuple } from '@aztec/foundation/serialize';
|
|
4
4
|
import { type FieldsOf } from '@aztec/foundation/types';
|
|
@@ -51,9 +51,9 @@ export declare abstract class EntrypointPayload {
|
|
|
51
51
|
*/
|
|
52
52
|
get nonce(): Fr;
|
|
53
53
|
/**
|
|
54
|
-
* The
|
|
54
|
+
* The hashed arguments for the function calls
|
|
55
55
|
*/
|
|
56
|
-
get
|
|
56
|
+
get hashedArguments(): HashedValues[];
|
|
57
57
|
/**
|
|
58
58
|
* Serializes the payload to an array of fields
|
|
59
59
|
* @returns The fields of the payload
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var
|
|
1
|
+
var _EntrypointPayload_hashedArguments, _EntrypointPayload_functionCalls, _EntrypointPayload_nonce, _EntrypointPayload_generatorIndex, _FeeEntrypointPayload_isFeePayer;
|
|
2
2
|
import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
import { FunctionCall,
|
|
3
|
+
import { FunctionCall, HashedValues } from '@aztec/circuit-types';
|
|
4
4
|
import { Fr, GeneratorIndex } from '@aztec/circuits.js';
|
|
5
5
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
6
6
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
@@ -14,16 +14,16 @@ const FEE_MAX_CALLS = 2;
|
|
|
14
14
|
/** Assembles an entrypoint payload */
|
|
15
15
|
export class EntrypointPayload {
|
|
16
16
|
constructor(functionCalls, generatorIndex, nonce = Fr.random()) {
|
|
17
|
-
|
|
17
|
+
_EntrypointPayload_hashedArguments.set(this, []);
|
|
18
18
|
_EntrypointPayload_functionCalls.set(this, []);
|
|
19
19
|
_EntrypointPayload_nonce.set(this, void 0);
|
|
20
20
|
_EntrypointPayload_generatorIndex.set(this, void 0);
|
|
21
21
|
for (const call of functionCalls) {
|
|
22
|
-
__classPrivateFieldGet(this,
|
|
22
|
+
__classPrivateFieldGet(this, _EntrypointPayload_hashedArguments, "f").push(HashedValues.fromValues(call.args));
|
|
23
23
|
}
|
|
24
24
|
/* eslint-disable camelcase */
|
|
25
25
|
__classPrivateFieldSet(this, _EntrypointPayload_functionCalls, functionCalls.map((call, index) => ({
|
|
26
|
-
args_hash: __classPrivateFieldGet(this,
|
|
26
|
+
args_hash: __classPrivateFieldGet(this, _EntrypointPayload_hashedArguments, "f")[index].hash,
|
|
27
27
|
function_selector: call.selector.toField(),
|
|
28
28
|
target_address: call.to.toField(),
|
|
29
29
|
is_public: call.type == FunctionType.PUBLIC,
|
|
@@ -50,10 +50,10 @@ export class EntrypointPayload {
|
|
|
50
50
|
return __classPrivateFieldGet(this, _EntrypointPayload_nonce, "f");
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
* The
|
|
53
|
+
* The hashed arguments for the function calls
|
|
54
54
|
*/
|
|
55
|
-
get
|
|
56
|
-
return __classPrivateFieldGet(this,
|
|
55
|
+
get hashedArguments() {
|
|
56
|
+
return __classPrivateFieldGet(this, _EntrypointPayload_hashedArguments, "f");
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* Hashes the payload
|
|
@@ -107,7 +107,7 @@ export class EntrypointPayload {
|
|
|
107
107
|
return new FeeEntrypointPayload(paddedCalls, GeneratorIndex.FEE_PAYLOAD, isFeePayer);
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
|
|
110
|
+
_EntrypointPayload_hashedArguments = new WeakMap(), _EntrypointPayload_functionCalls = new WeakMap(), _EntrypointPayload_nonce = new WeakMap(), _EntrypointPayload_generatorIndex = new WeakMap();
|
|
111
111
|
/** Entrypoint payload for app phase execution. */
|
|
112
112
|
class AppEntrypointPayload extends EntrypointPayload {
|
|
113
113
|
toFields() {
|
package/dest/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* TODO: Ultimately reimplement this mega exporter by mega exporting a granular api (then deprecate it).
|
|
21
21
|
*/
|
|
22
22
|
export { ContractDeployer } from './deployment/index.js';
|
|
23
|
-
export { AnvilTestWatcher, CheatCodes, L1FeeJuicePortalManager, L1ToL2TokenPortalManager, L1TokenManager, L1TokenPortalManager, computeAuthWitMessageHash, computeInnerAuthWitHash, computeInnerAuthWitHashFromAction, generateClaimSecret, generatePublicKey, readFieldCompressedString, waitForPXE, waitForNode, type AztecAddressLike, type EthAddressLike, type EventSelectorLike, type FieldLike, type FunctionSelectorLike, type L2AmountClaim, type L2AmountClaimWithRecipient, type L2Claim, type WrappedFieldLike, } from './utils/index.js';
|
|
23
|
+
export { AnvilTestWatcher, CheatCodes, L1FeeJuicePortalManager, L1ToL2TokenPortalManager, L1TokenManager, L1TokenPortalManager, computeAuthWitMessageHash, computeInnerAuthWitHash, computeInnerAuthWitHashFromAction, generateClaimSecret, generatePublicKey, readFieldCompressedString, waitForPXE, waitForNode, type AztecAddressLike, type EthAddressLike, type EventSelectorLike, type FieldLike, type FunctionSelectorLike, type L2AmountClaim, type L2AmountClaimWithRecipient, type L2Claim, type WrappedFieldLike, type IntentAction, } from './utils/index.js';
|
|
24
24
|
export { NoteSelector } from '@aztec/foundation/abi';
|
|
25
25
|
export { createCompatibleClient, createPXEClient } from './rpc_clients/index.js';
|
|
26
26
|
export { type AuthWitnessProvider } from './account/index.js';
|
|
@@ -31,7 +31,7 @@ export { ContractClassWithId, ContractInstanceWithAddress, EthAddress, Fq, Fr, G
|
|
|
31
31
|
export { computeSecretHash } from '@aztec/circuits.js/hash';
|
|
32
32
|
export { computeAppNullifierSecretKey, deriveKeys, deriveMasterIncomingViewingSecretKey, deriveMasterNullifierSecretKey, } from '@aztec/circuits.js/keys';
|
|
33
33
|
export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
34
|
-
export { AuthWitness, Body, Comparator, ContractClass2BlockL2Logs, EncryptedLogPayload, EpochProofQuote, EpochProofQuotePayload, EventMetadata, EventType, ExtendedNote, FunctionCall, L1Actor, L1EventPayload, L1NotePayload, L1ToL2Message, L2Actor, L2Block, LogId, MerkleTreeId, Note,
|
|
34
|
+
export { AuthWitness, Body, Comparator, ContractClass2BlockL2Logs, EncryptedLogPayload, EpochProofQuote, EpochProofQuotePayload, EventMetadata, EventType, ExtendedNote, FunctionCall, L1Actor, L1EventPayload, L1NotePayload, L1ToL2Message, L2Actor, L2Block, LogId, MerkleTreeId, Note, HashedValues, SiblingPath, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2BlockL2Logs, UnencryptedL2Log, UniqueNote, createAztecNodeClient, getTimestampRangeForEpoch, merkleTreeIds, mockEpochProofQuote, mockTx, type AztecNode, type LogFilter, type PXE, type PartialAddress, type PublicKey, } from '@aztec/circuit-types';
|
|
35
35
|
export { decodeFromAbi, encodeArguments, type AbiType } from '@aztec/foundation/abi';
|
|
36
36
|
export { toBigIntBE } from '@aztec/foundation/bigint-buffer';
|
|
37
37
|
export { sha256 } from '@aztec/foundation/crypto';
|
package/dest/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,iCAAiC,EACjC,mBAAmB,EACnB,iBAAiB,EACjB,yBAAyB,EACzB,UAAU,EACV,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,SAAS,EACd,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,OAAO,EACZ,KAAK,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dest/index.js
CHANGED
|
@@ -31,7 +31,7 @@ export { EthAddress, Fq, Fr, GlobalVariables, GrumpkinScalar, INITIAL_L2_BLOCK_N
|
|
|
31
31
|
export { computeSecretHash } from '@aztec/circuits.js/hash';
|
|
32
32
|
export { computeAppNullifierSecretKey, deriveKeys, deriveMasterIncomingViewingSecretKey, deriveMasterNullifierSecretKey, } from '@aztec/circuits.js/keys';
|
|
33
33
|
export { Grumpkin, Schnorr } from '@aztec/circuits.js/barretenberg';
|
|
34
|
-
export { AuthWitness, Body, Comparator, ContractClass2BlockL2Logs, EncryptedLogPayload, EpochProofQuote, EpochProofQuotePayload, EventMetadata, EventType, ExtendedNote, FunctionCall, L1Actor, L1EventPayload, L1NotePayload, L1ToL2Message, L2Actor, L2Block, LogId, MerkleTreeId, Note,
|
|
34
|
+
export { AuthWitness, Body, Comparator, ContractClass2BlockL2Logs, EncryptedLogPayload, EpochProofQuote, EpochProofQuotePayload, EventMetadata, EventType, ExtendedNote, FunctionCall, L1Actor, L1EventPayload, L1NotePayload, L1ToL2Message, L2Actor, L2Block, LogId, MerkleTreeId, Note, HashedValues, SiblingPath, Tx, TxExecutionRequest, TxHash, TxReceipt, TxStatus, UnencryptedL2BlockL2Logs, UnencryptedL2Log, UniqueNote, createAztecNodeClient, getTimestampRangeForEpoch, merkleTreeIds, mockEpochProofQuote, mockTx, } from '@aztec/circuit-types';
|
|
35
35
|
// TODO: These kinds of things have no place on our public api.
|
|
36
36
|
// External devs will almost certainly have their own methods of doing these things.
|
|
37
37
|
// If we want to use them in our own "aztec.js consuming code", import them from foundation as needed.
|
|
@@ -55,4 +55,4 @@ export * from './api/init.js';
|
|
|
55
55
|
// Granular export, even if not in the api folder
|
|
56
56
|
export * from './contract/index.js';
|
|
57
57
|
export * from './api/addresses.js';
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFekQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN4QixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsaUNBQWlDLEVBQ2pDLG1CQUFtQixFQUNuQixpQkFBaUIsRUFDakIseUJBQXlCLEVBQ3pCLFVBQVUsRUFDVixXQUFXLEdBV1osTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBS2pGLE9BQU8sRUFBRSxjQUFjLEVBQTZCLE1BQU0sNEJBQTRCLENBQUM7QUFFdkYsT0FBTyxFQUFFLGFBQWEsRUFBRSwwQkFBMEIsRUFBRSxnQkFBZ0IsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBRTdHLHdIQUF3SDtBQUN4SCxzQ0FBc0M7QUFDdEMsT0FBTyxFQUdMLFVBQVUsRUFDVixFQUFFLEVBQ0YsRUFBRSxFQUNGLGVBQWUsRUFDZixjQUFjLEVBQ2Qsb0JBQW9CLEVBRXBCLEtBQUssRUFDTCxVQUFVLEVBQ1YsNEJBQTRCLEVBQzVCLG1DQUFtQyxHQUNwQyxNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTVELE9BQU8sRUFDTCw0QkFBNEIsRUFDNUIsVUFBVSxFQUNWLG9DQUFvQyxFQUNwQyw4QkFBOEIsR0FDL0IsTUFBTSx5QkFBeUIsQ0FBQztBQUVqQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXBFLE9BQU8sRUFDTCxXQUFXLEVBQ1gsSUFBSSxFQUNKLFVBQVUsRUFDVix5QkFBeUIsRUFDekIsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixzQkFBc0IsRUFDdEIsYUFBYSxFQUNiLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE9BQU8sRUFDUCxjQUFjLEVBQ2QsYUFBYSxFQUNiLGFBQWEsRUFDYixPQUFPLEVBQ1AsT0FBTyxFQUNQLEtBQUssRUFDTCxZQUFZLEVBQ1osSUFBSSxFQUNKLFlBQVksRUFDWixXQUFXLEVBQ1gsRUFBRSxFQUNGLGtCQUFrQixFQUNsQixNQUFNLEVBQ04sU0FBUyxFQUNULFFBQVEsRUFDUix3QkFBd0IsRUFDeEIsZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixxQkFBcUIsRUFDckIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsTUFBTSxHQU1QLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsK0RBQStEO0FBQy9ELG9GQUFvRjtBQUNwRixzR0FBc0c7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBZSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDaEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUEwQixNQUFNLGlCQUFpQixDQUFDO0FBRTdHLDZEQUE2RDtBQUM3RCxzRkFBc0Y7QUFDdEYsaUZBQWlGO0FBQ2pGLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGlEQUFpRDtBQUNqRCxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsb0JBQW9CLENBQUMifQ==
|
package/dest/utils/authwit.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HashedValues } from '@aztec/circuit-types';
|
|
2
2
|
import { Fr, GeneratorIndex } from '@aztec/circuits.js';
|
|
3
3
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
4
4
|
import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
|
|
@@ -37,7 +37,7 @@ export const computeAuthWitMessageHash = (intent, metadata) => {
|
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
// docs:end:authwit_computeAuthWitMessageHash
|
|
40
|
-
export const computeInnerAuthWitHashFromAction = (caller, action) => computeInnerAuthWitHash([caller.toField(), action.selector.toField(),
|
|
40
|
+
export const computeInnerAuthWitHashFromAction = (caller, action) => computeInnerAuthWitHash([caller.toField(), action.selector.toField(), HashedValues.fromValues(action.args).hash]);
|
|
41
41
|
/**
|
|
42
42
|
* Compute the inner hash for an authentication witness.
|
|
43
43
|
* This is the "intent" of the message, before siloed with the consumer.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type RollupContract } from '@aztec/ethereum';
|
|
2
|
+
/** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
|
|
3
|
+
export declare class ChainMonitor {
|
|
4
|
+
private readonly rollup;
|
|
5
|
+
private logger;
|
|
6
|
+
private readonly intervalMs;
|
|
7
|
+
private readonly l1Client;
|
|
8
|
+
private handle;
|
|
9
|
+
/** Current L1 block number */
|
|
10
|
+
l1BlockNumber: number;
|
|
11
|
+
/** Current L2 block number */
|
|
12
|
+
l2BlockNumber: number;
|
|
13
|
+
/** Current L2 proven block number */
|
|
14
|
+
l2ProvenBlockNumber: number;
|
|
15
|
+
constructor(rollup: RollupContract, logger?: import("@aztec/foundation/log").Logger, intervalMs?: number);
|
|
16
|
+
start(): void;
|
|
17
|
+
stop(): void;
|
|
18
|
+
run(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=chain_monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain_monitor.d.ts","sourceRoot":"","sources":["../../src/utils/chain_monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKtD,8GAA8G;AAC9G,qBAAa,YAAY;IAYrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,QAAQ,CAAC,UAAU;IAb7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,MAAM,CAA6B;IAE3C,8BAA8B;IACvB,aAAa,EAAG,MAAM,CAAC;IAC9B,8BAA8B;IACvB,aAAa,EAAG,MAAM,CAAC;IAC9B,qCAAqC;IAC9B,mBAAmB,EAAG,MAAM,CAAC;gBAGjB,MAAM,EAAE,cAAc,EAC/B,MAAM,yCAA8C,EAC3C,UAAU,SAAM;IAKnC,KAAK;IAOL,IAAI;IAOE,GAAG;CAmCV"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
2
|
+
/** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
|
|
3
|
+
export class ChainMonitor {
|
|
4
|
+
constructor(rollup, logger = createLogger('aztecjs:utils:chain_monitor'), intervalMs = 200) {
|
|
5
|
+
this.rollup = rollup;
|
|
6
|
+
this.logger = logger;
|
|
7
|
+
this.intervalMs = intervalMs;
|
|
8
|
+
this.l1Client = rollup.client;
|
|
9
|
+
}
|
|
10
|
+
start() {
|
|
11
|
+
if (this.handle) {
|
|
12
|
+
throw new Error('Chain monitor already started');
|
|
13
|
+
}
|
|
14
|
+
this.handle = setInterval(() => this.run(), this.intervalMs);
|
|
15
|
+
}
|
|
16
|
+
stop() {
|
|
17
|
+
if (this.handle) {
|
|
18
|
+
clearInterval(this.handle);
|
|
19
|
+
this.handle = undefined;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
async run() {
|
|
23
|
+
const newL1BlockNumber = Number(await this.l1Client.getBlockNumber({ cacheTime: 0 }));
|
|
24
|
+
if (this.l1BlockNumber === newL1BlockNumber) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.l1BlockNumber = newL1BlockNumber;
|
|
28
|
+
const block = await this.l1Client.getBlock({ blockNumber: BigInt(newL1BlockNumber), includeTransactions: false });
|
|
29
|
+
const timestamp = block.timestamp;
|
|
30
|
+
const timestampString = new Date(Number(timestamp) * 1000).toTimeString().split(' ')[0];
|
|
31
|
+
let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
|
|
32
|
+
const newL2BlockNumber = Number(await this.rollup.getBlockNumber());
|
|
33
|
+
if (this.l2BlockNumber !== newL2BlockNumber) {
|
|
34
|
+
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2BlockNumber));
|
|
35
|
+
msg += ` with new L2 block ${newL2BlockNumber} for epoch ${epochNumber}`;
|
|
36
|
+
this.l2BlockNumber = newL2BlockNumber;
|
|
37
|
+
}
|
|
38
|
+
const newL2ProvenBlockNumber = Number(await this.rollup.getProvenBlockNumber());
|
|
39
|
+
if (this.l2ProvenBlockNumber !== newL2ProvenBlockNumber) {
|
|
40
|
+
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2ProvenBlockNumber));
|
|
41
|
+
msg += ` with proof up to L2 block ${newL2ProvenBlockNumber} for epoch ${epochNumber}`;
|
|
42
|
+
this.l2ProvenBlockNumber = newL2ProvenBlockNumber;
|
|
43
|
+
}
|
|
44
|
+
this.logger.info(msg, {
|
|
45
|
+
l1Timestamp: timestamp,
|
|
46
|
+
l1BlockNumber: this.l1BlockNumber,
|
|
47
|
+
l2SlotNumber: await this.rollup.getSlotNumber(),
|
|
48
|
+
l2BlockNumber: this.l2BlockNumber,
|
|
49
|
+
l2ProvenBlockNumber: this.l2ProvenBlockNumber,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW5fbW9uaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jaGFpbl9tb25pdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUlyRCw4R0FBOEc7QUFDOUcsTUFBTSxPQUFPLFlBQVk7SUFXdkIsWUFDbUIsTUFBc0IsRUFDL0IsU0FBUyxZQUFZLENBQUMsNkJBQTZCLENBQUMsRUFDM0MsYUFBYSxHQUFHO1FBRmhCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQy9CLFdBQU0sR0FBTixNQUFNLENBQThDO1FBQzNDLGVBQVUsR0FBVixVQUFVLENBQU07UUFFakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFPLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQztRQUMxQixDQUFDO0lBQ0gsQ0FBQztJQUVELEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxJQUFJLENBQUMsYUFBYSxLQUFLLGdCQUFnQixFQUFFLENBQUM7WUFDNUMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDO1FBRXRDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsbUJBQW1CLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsSCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2xDLE1BQU0sZUFBZSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEYsSUFBSSxHQUFHLEdBQUcsWUFBWSxnQkFBZ0IsYUFBYSxlQUFlLEVBQUUsQ0FBQztRQUVyRSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNwRSxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxNQUFNLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7WUFDL0UsR0FBRyxJQUFJLHNCQUFzQixnQkFBZ0IsY0FBYyxXQUFXLEVBQUUsQ0FBQztZQUN6RSxJQUFJLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDO1FBQ3hDLENBQUM7UUFFRCxNQUFNLHNCQUFzQixHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1FBQ2hGLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLHNCQUFzQixFQUFFLENBQUM7WUFDeEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO1lBQ3JGLEdBQUcsSUFBSSw4QkFBOEIsc0JBQXNCLGNBQWMsV0FBVyxFQUFFLENBQUM7WUFDdkYsSUFBSSxDQUFDLG1CQUFtQixHQUFHLHNCQUFzQixDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDcEIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFlBQVksRUFBRSxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CO1NBQzlDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRiJ9
|
package/dest/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
package/dest/utils/index.js
CHANGED
|
@@ -8,4 +8,5 @@ export * from './node.js';
|
|
|
8
8
|
export * from './anvil_test_watcher.js';
|
|
9
9
|
export * from './field_compressed_string.js';
|
|
10
10
|
export * from './portal_manager.js';
|
|
11
|
-
|
|
11
|
+
export * from './chain_monitor.js';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -63,5 +63,6 @@ export declare abstract class BaseWallet implements Wallet {
|
|
|
63
63
|
getEncryptedEvents<T>(event: EventMetadataDefinition, from: number, limit: number, vpks?: Point[]): Promise<T[]>;
|
|
64
64
|
getUnencryptedEvents<T>(event: EventMetadataDefinition, from: number, limit: number): Promise<T[]>;
|
|
65
65
|
getL1ToL2MembershipWitness(contractAddress: AztecAddress, messageHash: Fr, secret: Fr): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]>;
|
|
66
|
+
getL2ToL1MembershipWitness(blockNumber: number, l2Tol1Message: Fr): Promise<[bigint, SiblingPath<number>]>;
|
|
66
67
|
}
|
|
67
68
|
//# sourceMappingURL=base_wallet.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"base_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/base_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,5 +129,8 @@ export class BaseWallet {
|
|
|
129
129
|
getL1ToL2MembershipWitness(contractAddress, messageHash, secret) {
|
|
130
130
|
return this.pxe.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
|
|
131
131
|
}
|
|
132
|
+
getL2ToL1MembershipWitness(blockNumber, l2Tol1Message) {
|
|
133
|
+
return this.pxe.getL2ToL1MembershipWitness(blockNumber, l2Tol1Message);
|
|
134
|
+
}
|
|
132
135
|
}
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNDQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRLEVBQVUsTUFBdUI7UUFBekMsUUFBRyxHQUFILEdBQUcsQ0FBSztRQUFVLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQUcsQ0FBQztJQWM1RSxTQUFTLENBQUMsTUFBc0I7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsRUFBTTtRQUN4QixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUNELFVBQVUsQ0FBQyxPQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxTQUFhLEVBQUUsY0FBOEI7UUFDM0QsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDN0QsQ0FB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
|
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.70.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/circuit-types": "0.
|
|
82
|
-
"@aztec/circuits.js": "0.
|
|
83
|
-
"@aztec/ethereum": "0.
|
|
84
|
-
"@aztec/foundation": "0.
|
|
85
|
-
"@aztec/l1-artifacts": "0.
|
|
86
|
-
"@aztec/protocol-contracts": "0.
|
|
87
|
-
"@aztec/types": "0.
|
|
81
|
+
"@aztec/circuit-types": "0.70.0",
|
|
82
|
+
"@aztec/circuits.js": "0.70.0",
|
|
83
|
+
"@aztec/ethereum": "0.70.0",
|
|
84
|
+
"@aztec/foundation": "0.70.0",
|
|
85
|
+
"@aztec/l1-artifacts": "0.70.0",
|
|
86
|
+
"@aztec/protocol-contracts": "0.70.0",
|
|
87
|
+
"@aztec/types": "0.70.0",
|
|
88
88
|
"axios": "^1.7.2",
|
|
89
89
|
"tslib": "^2.4.0",
|
|
90
90
|
"viem": "^2.7.15"
|
|
@@ -48,7 +48,7 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
48
48
|
|
|
49
49
|
protected override async getInitializeFunctionCalls(
|
|
50
50
|
options: DeployOptions,
|
|
51
|
-
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
51
|
+
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>> {
|
|
52
52
|
const exec = await super.getInitializeFunctionCalls(options);
|
|
53
53
|
|
|
54
54
|
if (options.fee && this.#feePaymentArtifact) {
|
|
@@ -71,14 +71,14 @@ export class DeployAccountMethod extends DeployMethod {
|
|
|
71
71
|
});
|
|
72
72
|
|
|
73
73
|
exec.authWitnesses ??= [];
|
|
74
|
-
exec.
|
|
74
|
+
exec.hashedArguments ??= [];
|
|
75
75
|
|
|
76
76
|
exec.authWitnesses.push(
|
|
77
77
|
await this.#authWitnessProvider.createAuthWit(computeCombinedPayloadHash(emptyAppPayload, feePayload)),
|
|
78
78
|
);
|
|
79
79
|
|
|
80
|
-
exec.
|
|
81
|
-
exec.
|
|
80
|
+
exec.hashedArguments.push(...emptyAppPayload.hashedArguments);
|
|
81
|
+
exec.hashedArguments.push(...feePayload.hashedArguments);
|
|
82
82
|
}
|
|
83
83
|
|
|
84
84
|
return exec;
|
|
@@ -54,16 +54,19 @@ export abstract class BaseContractInteraction {
|
|
|
54
54
|
return await this.wallet.proveTx(txRequest, txSimulationResult.privateExecutionResult);
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
+
// docs:start:prove
|
|
57
58
|
/**
|
|
58
59
|
* Proves a transaction execution request and returns a tx object ready to be sent.
|
|
59
60
|
* @param options - optional arguments to be used in the creation of the transaction
|
|
60
61
|
* @returns The resulting transaction
|
|
61
62
|
*/
|
|
62
63
|
public async prove(options: SendMethodOptions = {}): Promise<ProvenTx> {
|
|
64
|
+
// docs:end:prove
|
|
63
65
|
const txProvingResult = await this.proveInternal(options);
|
|
64
66
|
return new ProvenTx(this.wallet, txProvingResult.toTx());
|
|
65
67
|
}
|
|
66
68
|
|
|
69
|
+
// docs:start:send
|
|
67
70
|
/**
|
|
68
71
|
* Sends a transaction to the contract function with the specified options.
|
|
69
72
|
* This function throws an error if called on an unconstrained function.
|
|
@@ -74,6 +77,7 @@ export abstract class BaseContractInteraction {
|
|
|
74
77
|
* @returns A SentTx instance for tracking the transaction status and information.
|
|
75
78
|
*/
|
|
76
79
|
public send(options: SendMethodOptions = {}): SentTx {
|
|
80
|
+
// docs:end:send
|
|
77
81
|
const promise = (async () => {
|
|
78
82
|
const txProvingResult = await this.proveInternal(options);
|
|
79
83
|
return this.wallet.sendTx(txProvingResult.toTx());
|
|
@@ -81,6 +85,7 @@ export abstract class BaseContractInteraction {
|
|
|
81
85
|
return new SentTx(this.wallet, promise);
|
|
82
86
|
}
|
|
83
87
|
|
|
88
|
+
// docs:start:estimateGas
|
|
84
89
|
/**
|
|
85
90
|
* Estimates gas for a given tx request and returns gas limits for it.
|
|
86
91
|
* @param opts - Options.
|
|
@@ -90,6 +95,7 @@ export abstract class BaseContractInteraction {
|
|
|
90
95
|
public async estimateGas(
|
|
91
96
|
opts?: Omit<SendMethodOptions, 'estimateGas' | 'skipPublicSimulation'>,
|
|
92
97
|
): Promise<Pick<GasSettings, 'gasLimits' | 'teardownGasLimits'>> {
|
|
98
|
+
// docs:end:estimateGas
|
|
93
99
|
const txRequest = await this.create({ ...opts, fee: { ...opts?.fee, estimateGas: false } });
|
|
94
100
|
const simulationResult = await this.wallet.simulateTx(
|
|
95
101
|
txRequest,
|
|
@@ -116,6 +122,7 @@ export abstract class BaseContractInteraction {
|
|
|
116
122
|
return { gasSettings, paymentMethod };
|
|
117
123
|
}
|
|
118
124
|
|
|
125
|
+
// docs:start:getFeeOptions
|
|
119
126
|
/**
|
|
120
127
|
* Return fee options based on the user opts, estimating tx gas if needed.
|
|
121
128
|
* @param request - Request to execute for this interaction.
|
|
@@ -125,6 +132,7 @@ export abstract class BaseContractInteraction {
|
|
|
125
132
|
protected async getFeeOptions(
|
|
126
133
|
request: Omit<ExecutionRequestInit, 'fee'> & { /** User-provided fee options */ fee?: UserFeeOptions },
|
|
127
134
|
): Promise<FeeOptions> {
|
|
135
|
+
// docs:end:getFeeOptions
|
|
128
136
|
const defaultFeeOptions = await this.getDefaultFeeOptions(request.fee);
|
|
129
137
|
const paymentMethod = defaultFeeOptions.paymentMethod;
|
|
130
138
|
const maxFeesPerGas = defaultFeeOptions.gasSettings.maxFeesPerGas;
|
|
@@ -52,6 +52,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
// docs:start:create
|
|
55
56
|
/**
|
|
56
57
|
* Create a transaction execution request that represents this call, encoded and authenticated by the
|
|
57
58
|
* user's wallet, ready to be simulated.
|
|
@@ -59,6 +60,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
59
60
|
* @returns A Promise that resolves to a transaction instance.
|
|
60
61
|
*/
|
|
61
62
|
public async create(opts: SendMethodOptions = {}): Promise<TxExecutionRequest> {
|
|
63
|
+
// docs:end:create
|
|
62
64
|
if (this.functionDao.functionType === FunctionType.UNCONSTRAINED) {
|
|
63
65
|
throw new Error("Can't call `create` on an unconstrained function.");
|
|
64
66
|
}
|
|
@@ -68,12 +70,14 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
68
70
|
return await this.wallet.createTxExecutionRequest({ calls, fee, nonce, cancellable });
|
|
69
71
|
}
|
|
70
72
|
|
|
73
|
+
// docs:start:request
|
|
71
74
|
/**
|
|
72
75
|
* Returns an execution request that represents this operation. Useful as a building
|
|
73
76
|
* block for constructing batch requests.
|
|
74
77
|
* @returns An execution request wrapped in promise.
|
|
75
78
|
*/
|
|
76
79
|
public request(): FunctionCall {
|
|
80
|
+
// docs:end:request
|
|
77
81
|
const args = encodeArguments(this.functionDao, this.args);
|
|
78
82
|
return {
|
|
79
83
|
name: this.functionDao.name,
|
|
@@ -86,6 +90,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
86
90
|
};
|
|
87
91
|
}
|
|
88
92
|
|
|
93
|
+
// docs:start:simulate
|
|
89
94
|
/**
|
|
90
95
|
* Simulate a transaction and get its return values
|
|
91
96
|
* Differs from prove in a few important ways:
|
|
@@ -96,6 +101,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
|
|
|
96
101
|
* @returns The result of the transaction as returned by the contract function.
|
|
97
102
|
*/
|
|
98
103
|
public async simulate(options: SimulateMethodOptions = {}): Promise<any> {
|
|
104
|
+
// docs:end:simulate
|
|
99
105
|
if (this.functionDao.functionType == FunctionType.UNCONSTRAINED) {
|
|
100
106
|
return this.wallet.simulateUnconstrained(this.functionDao.name, this.args, this.contractAddress, options?.from);
|
|
101
107
|
}
|
|
@@ -110,10 +110,10 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
110
110
|
|
|
111
111
|
const calls = [...deployment.calls, ...bootstrap.calls];
|
|
112
112
|
const authWitnesses = [...(deployment.authWitnesses ?? []), ...(bootstrap.authWitnesses ?? [])];
|
|
113
|
-
const
|
|
113
|
+
const hashedArguments = [...(deployment.hashedArguments ?? []), ...(bootstrap.hashedArguments ?? [])];
|
|
114
114
|
const { cancellable, nonce, fee: userFee } = options;
|
|
115
115
|
|
|
116
|
-
const request = { calls, authWitnesses,
|
|
116
|
+
const request = { calls, authWitnesses, hashedArguments, cancellable, fee: userFee, nonce };
|
|
117
117
|
|
|
118
118
|
const fee = await this.getFeeOptions(request);
|
|
119
119
|
return { ...request, fee };
|
|
@@ -136,7 +136,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
136
136
|
*/
|
|
137
137
|
protected async getDeploymentFunctionCalls(
|
|
138
138
|
options: DeployOptions = {},
|
|
139
|
-
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
139
|
+
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>> {
|
|
140
140
|
const calls: FunctionCall[] = [];
|
|
141
141
|
|
|
142
142
|
// Set contract instance object so it's available for populating the DeploySendTx object
|
|
@@ -180,7 +180,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
|
|
|
180
180
|
*/
|
|
181
181
|
protected getInitializeFunctionCalls(
|
|
182
182
|
options: DeployOptions,
|
|
183
|
-
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | '
|
|
183
|
+
): Promise<Pick<ExecutionRequestInit, 'calls' | 'authWitnesses' | 'hashedArguments'>> {
|
|
184
184
|
const { address } = this.getInstance(options);
|
|
185
185
|
const calls: FunctionCall[] = [];
|
|
186
186
|
if (this.constructorArtifact && !options.skipInitialization) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HashedValues, TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { TxContext } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
4
|
|
|
@@ -11,7 +11,7 @@ export class DefaultEntrypoint implements EntrypointInterface {
|
|
|
11
11
|
constructor(private chainId: number, private protocolVersion: number) {}
|
|
12
12
|
|
|
13
13
|
createTxExecutionRequest(exec: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
14
|
-
const { fee, calls, authWitnesses = [],
|
|
14
|
+
const { fee, calls, authWitnesses = [], hashedArguments = [] } = exec;
|
|
15
15
|
|
|
16
16
|
if (calls.length > 1) {
|
|
17
17
|
throw new Error(`Expected a single call, got ${calls.length}`);
|
|
@@ -23,15 +23,15 @@ export class DefaultEntrypoint implements EntrypointInterface {
|
|
|
23
23
|
throw new Error('Public entrypoints are not allowed');
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
-
const
|
|
26
|
+
const entrypointHashedValues = HashedValues.fromValues(call.args);
|
|
27
27
|
const txContext = new TxContext(this.chainId, this.protocolVersion, fee.gasSettings);
|
|
28
28
|
return Promise.resolve(
|
|
29
29
|
new TxExecutionRequest(
|
|
30
30
|
call.to,
|
|
31
31
|
call.selector,
|
|
32
|
-
|
|
32
|
+
entrypointHashedValues.hash,
|
|
33
33
|
txContext,
|
|
34
|
-
[...
|
|
34
|
+
[...hashedArguments, entrypointHashedValues],
|
|
35
35
|
authWitnesses,
|
|
36
36
|
),
|
|
37
37
|
);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type EntrypointInterface, EntrypointPayload, type ExecutionRequestInit } from '@aztec/aztec.js/entrypoint';
|
|
2
|
-
import {
|
|
2
|
+
import { HashedValues, TxExecutionRequest } from '@aztec/circuit-types';
|
|
3
3
|
import { type AztecAddress, TxContext } from '@aztec/circuits.js';
|
|
4
4
|
import { type FunctionAbi, FunctionSelector, encodeArguments } from '@aztec/foundation/abi';
|
|
5
5
|
import { ProtocolContractAddress } from '@aztec/protocol-contracts';
|
|
@@ -15,17 +15,17 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
|
|
|
15
15
|
) {}
|
|
16
16
|
|
|
17
17
|
createTxExecutionRequest(executions: ExecutionRequestInit): Promise<TxExecutionRequest> {
|
|
18
|
-
const { fee, calls, authWitnesses = [],
|
|
18
|
+
const { fee, calls, authWitnesses = [], hashedArguments = [] } = executions;
|
|
19
19
|
const payload = EntrypointPayload.fromAppExecution(calls);
|
|
20
20
|
const abi = this.getEntrypointAbi();
|
|
21
|
-
const
|
|
21
|
+
const entrypointHashedArgs = HashedValues.fromValues(encodeArguments(abi, [payload]));
|
|
22
22
|
|
|
23
23
|
const txRequest = TxExecutionRequest.from({
|
|
24
|
-
firstCallArgsHash:
|
|
24
|
+
firstCallArgsHash: entrypointHashedArgs.hash,
|
|
25
25
|
origin: this.address,
|
|
26
26
|
functionSelector: FunctionSelector.fromNameAndParameters(abi.name, abi.parameters),
|
|
27
27
|
txContext: new TxContext(this.chainId, this.version, fee.gasSettings),
|
|
28
|
-
argsOfCalls: [...payload.
|
|
28
|
+
argsOfCalls: [...payload.hashedArguments, ...hashedArguments, entrypointHashedArgs],
|
|
29
29
|
authWitnesses,
|
|
30
30
|
});
|
|
31
31
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AuthWitness, type FunctionCall, type
|
|
1
|
+
import { type AuthWitness, type FunctionCall, type HashedValues, type TxExecutionRequest } from '@aztec/circuit-types';
|
|
2
2
|
import { type Fr } from '@aztec/circuits.js';
|
|
3
3
|
|
|
4
4
|
import { EntrypointPayload, type FeeOptions, computeCombinedPayloadHash } from './payload.js';
|
|
@@ -14,8 +14,8 @@ export type ExecutionRequestInit = {
|
|
|
14
14
|
calls: FunctionCall[];
|
|
15
15
|
/** Any transient auth witnesses needed for this execution */
|
|
16
16
|
authWitnesses?: AuthWitness[];
|
|
17
|
-
/** Any transient
|
|
18
|
-
|
|
17
|
+
/** Any transient hashed arguments for this execution */
|
|
18
|
+
hashedArguments?: HashedValues[];
|
|
19
19
|
/** How the fee is going to be payed */
|
|
20
20
|
fee: FeeOptions;
|
|
21
21
|
/** An optional nonce. Used to repeat a previous tx with a higher fee so that the first one is cancelled */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FunctionCall,
|
|
1
|
+
import { FunctionCall, HashedValues } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, Fr, type GasSettings, GeneratorIndex } from '@aztec/circuits.js';
|
|
3
3
|
import { FunctionType } from '@aztec/foundation/abi';
|
|
4
4
|
import { padArrayEnd } from '@aztec/foundation/collection';
|
|
@@ -54,19 +54,19 @@ type EncodedFunctionCall = {
|
|
|
54
54
|
|
|
55
55
|
/** Assembles an entrypoint payload */
|
|
56
56
|
export abstract class EntrypointPayload {
|
|
57
|
-
#
|
|
57
|
+
#hashedArguments: HashedValues[] = [];
|
|
58
58
|
#functionCalls: EncodedFunctionCall[] = [];
|
|
59
59
|
#nonce: Fr;
|
|
60
60
|
#generatorIndex: number;
|
|
61
61
|
|
|
62
62
|
protected constructor(functionCalls: FunctionCall[], generatorIndex: number, nonce = Fr.random()) {
|
|
63
63
|
for (const call of functionCalls) {
|
|
64
|
-
this.#
|
|
64
|
+
this.#hashedArguments.push(HashedValues.fromValues(call.args));
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
/* eslint-disable camelcase */
|
|
68
68
|
this.#functionCalls = functionCalls.map((call, index) => ({
|
|
69
|
-
args_hash: this.#
|
|
69
|
+
args_hash: this.#hashedArguments[index].hash,
|
|
70
70
|
function_selector: call.selector.toField(),
|
|
71
71
|
target_address: call.to.toField(),
|
|
72
72
|
is_public: call.type == FunctionType.PUBLIC,
|
|
@@ -97,10 +97,10 @@ export abstract class EntrypointPayload {
|
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
/**
|
|
100
|
-
* The
|
|
100
|
+
* The hashed arguments for the function calls
|
|
101
101
|
*/
|
|
102
|
-
get
|
|
103
|
-
return this.#
|
|
102
|
+
get hashedArguments() {
|
|
103
|
+
return this.#hashedArguments;
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/**
|
package/src/index.ts
CHANGED
|
@@ -46,6 +46,7 @@ export {
|
|
|
46
46
|
type L2AmountClaimWithRecipient,
|
|
47
47
|
type L2Claim,
|
|
48
48
|
type WrappedFieldLike,
|
|
49
|
+
type IntentAction,
|
|
49
50
|
} from './utils/index.js';
|
|
50
51
|
|
|
51
52
|
export { NoteSelector } from '@aztec/foundation/abi';
|
|
@@ -109,7 +110,7 @@ export {
|
|
|
109
110
|
LogId,
|
|
110
111
|
MerkleTreeId,
|
|
111
112
|
Note,
|
|
112
|
-
|
|
113
|
+
HashedValues,
|
|
113
114
|
SiblingPath,
|
|
114
115
|
Tx,
|
|
115
116
|
TxExecutionRequest,
|
|
@@ -125,7 +126,6 @@ export {
|
|
|
125
126
|
mockEpochProofQuote,
|
|
126
127
|
mockTx,
|
|
127
128
|
type AztecNode,
|
|
128
|
-
type EpochConstants,
|
|
129
129
|
type LogFilter,
|
|
130
130
|
type PXE,
|
|
131
131
|
type PartialAddress,
|
package/src/utils/authwit.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type FunctionCall,
|
|
1
|
+
import { type FunctionCall, HashedValues } from '@aztec/circuit-types';
|
|
2
2
|
import { type AztecAddress, Fr, GeneratorIndex } from '@aztec/circuits.js';
|
|
3
3
|
import { poseidon2HashWithSeparator } from '@aztec/foundation/crypto';
|
|
4
4
|
|
|
@@ -70,7 +70,7 @@ export const computeAuthWitMessageHash = (intent: IntentInnerHash | IntentAction
|
|
|
70
70
|
// docs:end:authwit_computeAuthWitMessageHash
|
|
71
71
|
|
|
72
72
|
export const computeInnerAuthWitHashFromAction = (caller: AztecAddress, action: FunctionCall) =>
|
|
73
|
-
computeInnerAuthWitHash([caller.toField(), action.selector.toField(),
|
|
73
|
+
computeInnerAuthWitHash([caller.toField(), action.selector.toField(), HashedValues.fromValues(action.args).hash]);
|
|
74
74
|
|
|
75
75
|
/**
|
|
76
76
|
* Compute the inner hash for an authentication witness.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { type RollupContract } from '@aztec/ethereum';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
|
|
4
|
+
import { type PublicClient } from 'viem';
|
|
5
|
+
|
|
6
|
+
/** Utility class that polls the chain on quick intervals and logs new L1 blocks, L2 blocks, and L2 proofs. */
|
|
7
|
+
export class ChainMonitor {
|
|
8
|
+
private readonly l1Client: PublicClient;
|
|
9
|
+
private handle: NodeJS.Timeout | undefined;
|
|
10
|
+
|
|
11
|
+
/** Current L1 block number */
|
|
12
|
+
public l1BlockNumber!: number;
|
|
13
|
+
/** Current L2 block number */
|
|
14
|
+
public l2BlockNumber!: number;
|
|
15
|
+
/** Current L2 proven block number */
|
|
16
|
+
public l2ProvenBlockNumber!: number;
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
private readonly rollup: RollupContract,
|
|
20
|
+
private logger = createLogger('aztecjs:utils:chain_monitor'),
|
|
21
|
+
private readonly intervalMs = 200,
|
|
22
|
+
) {
|
|
23
|
+
this.l1Client = rollup.client;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
start() {
|
|
27
|
+
if (this.handle) {
|
|
28
|
+
throw new Error('Chain monitor already started');
|
|
29
|
+
}
|
|
30
|
+
this.handle = setInterval(() => this.run(), this.intervalMs);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
stop() {
|
|
34
|
+
if (this.handle) {
|
|
35
|
+
clearInterval(this.handle!);
|
|
36
|
+
this.handle = undefined;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
async run() {
|
|
41
|
+
const newL1BlockNumber = Number(await this.l1Client.getBlockNumber({ cacheTime: 0 }));
|
|
42
|
+
if (this.l1BlockNumber === newL1BlockNumber) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this.l1BlockNumber = newL1BlockNumber;
|
|
46
|
+
|
|
47
|
+
const block = await this.l1Client.getBlock({ blockNumber: BigInt(newL1BlockNumber), includeTransactions: false });
|
|
48
|
+
const timestamp = block.timestamp;
|
|
49
|
+
const timestampString = new Date(Number(timestamp) * 1000).toTimeString().split(' ')[0];
|
|
50
|
+
|
|
51
|
+
let msg = `L1 block ${newL1BlockNumber} mined at ${timestampString}`;
|
|
52
|
+
|
|
53
|
+
const newL2BlockNumber = Number(await this.rollup.getBlockNumber());
|
|
54
|
+
if (this.l2BlockNumber !== newL2BlockNumber) {
|
|
55
|
+
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2BlockNumber));
|
|
56
|
+
msg += ` with new L2 block ${newL2BlockNumber} for epoch ${epochNumber}`;
|
|
57
|
+
this.l2BlockNumber = newL2BlockNumber;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const newL2ProvenBlockNumber = Number(await this.rollup.getProvenBlockNumber());
|
|
61
|
+
if (this.l2ProvenBlockNumber !== newL2ProvenBlockNumber) {
|
|
62
|
+
const epochNumber = await this.rollup.getEpochNumber(BigInt(newL2ProvenBlockNumber));
|
|
63
|
+
msg += ` with proof up to L2 block ${newL2ProvenBlockNumber} for epoch ${epochNumber}`;
|
|
64
|
+
this.l2ProvenBlockNumber = newL2ProvenBlockNumber;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
this.logger.info(msg, {
|
|
68
|
+
l1Timestamp: timestamp,
|
|
69
|
+
l1BlockNumber: this.l1BlockNumber,
|
|
70
|
+
l2SlotNumber: await this.rollup.getSlotNumber(),
|
|
71
|
+
l2BlockNumber: this.l2BlockNumber,
|
|
72
|
+
l2ProvenBlockNumber: this.l2ProvenBlockNumber,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
package/src/utils/index.ts
CHANGED
|
@@ -211,4 +211,7 @@ export abstract class BaseWallet implements Wallet {
|
|
|
211
211
|
): Promise<[bigint, SiblingPath<typeof L1_TO_L2_MSG_TREE_HEIGHT>]> {
|
|
212
212
|
return this.pxe.getL1ToL2MembershipWitness(contractAddress, messageHash, secret);
|
|
213
213
|
}
|
|
214
|
+
getL2ToL1MembershipWitness(blockNumber: number, l2Tol1Message: Fr): Promise<[bigint, SiblingPath<number>]> {
|
|
215
|
+
return this.pxe.getL2ToL1MembershipWitness(blockNumber, l2Tol1Message);
|
|
216
|
+
}
|
|
214
217
|
}
|