@aztec/aztec.js 0.28.0 → 0.29.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.
Files changed (54) hide show
  1. package/dest/account/interface.d.ts +17 -6
  2. package/dest/account/interface.d.ts.map +1 -1
  3. package/dest/account/interface.js +1 -1
  4. package/dest/account_manager/index.d.ts.map +1 -1
  5. package/dest/account_manager/index.js +2 -1
  6. package/dest/contract/deploy_method.d.ts.map +1 -1
  7. package/dest/contract/deploy_method.js +4 -3
  8. package/dest/deployment/deploy_instance.d.ts +1 -4
  9. package/dest/deployment/deploy_instance.d.ts.map +1 -1
  10. package/dest/deployment/deploy_instance.js +9 -6
  11. package/dest/fee/native_fee_payment_method.js +3 -3
  12. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  13. package/dest/fee/private_fee_payment_method.js +4 -4
  14. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  15. package/dest/fee/public_fee_payment_method.js +4 -4
  16. package/dest/index.d.ts +4 -3
  17. package/dest/index.d.ts.map +1 -1
  18. package/dest/index.js +5 -4
  19. package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
  20. package/dest/rpc_clients/pxe_client.js +2 -4
  21. package/dest/utils/authwit.d.ts +2 -2
  22. package/dest/utils/authwit.d.ts.map +1 -1
  23. package/dest/utils/authwit.js +6 -6
  24. package/dest/utils/index.d.ts +0 -1
  25. package/dest/utils/index.d.ts.map +1 -1
  26. package/dest/utils/index.js +1 -2
  27. package/dest/wallet/account_wallet.d.ts +36 -8
  28. package/dest/wallet/account_wallet.d.ts.map +1 -1
  29. package/dest/wallet/account_wallet.js +36 -9
  30. package/dest/wallet/base_wallet.d.ts +11 -4
  31. package/dest/wallet/base_wallet.d.ts.map +1 -1
  32. package/dest/wallet/base_wallet.js +7 -7
  33. package/dest/wallet/signerless_wallet.d.ts +1 -1
  34. package/dest/wallet/signerless_wallet.d.ts.map +1 -1
  35. package/dest/wallet/signerless_wallet.js +2 -2
  36. package/package.json +7 -7
  37. package/src/account/interface.ts +22 -6
  38. package/src/account_manager/index.ts +1 -0
  39. package/src/contract/deploy_method.ts +2 -1
  40. package/src/deployment/deploy_instance.ts +11 -10
  41. package/src/fee/native_fee_payment_method.ts +2 -2
  42. package/src/fee/private_fee_payment_method.ts +2 -9
  43. package/src/fee/public_fee_payment_method.ts +1 -5
  44. package/src/index.ts +1 -4
  45. package/src/rpc_clients/pxe_client.ts +0 -4
  46. package/src/utils/authwit.ts +5 -5
  47. package/src/utils/index.ts +0 -1
  48. package/src/wallet/account_wallet.ts +76 -9
  49. package/src/wallet/base_wallet.ts +18 -9
  50. package/src/wallet/signerless_wallet.ts +1 -1
  51. package/dest/utils/l2_contracts.d.ts +0 -10
  52. package/dest/utils/l2_contracts.d.ts.map +0 -1
  53. package/dest/utils/l2_contracts.js +0 -10
  54. package/src/utils/l2_contracts.ts +0 -12
@@ -1,6 +1,7 @@
1
1
  import { Fr } from '@aztec/circuits.js';
2
2
  import { FunctionType } from '@aztec/foundation/abi';
3
3
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
+ import { computeAuthWitMessageHash } from '../utils/authwit.js';
4
5
  import { BaseWallet } from './base_wallet.js';
5
6
  /**
6
7
  * A wallet implementation that forwards authentication requests to a provided account.
@@ -13,20 +14,45 @@ export class AccountWallet extends BaseWallet {
13
14
  createTxExecutionRequest(execs, fee) {
14
15
  return this.account.createTxExecutionRequest(execs, fee);
15
16
  }
16
- async createAuthWitness(message) {
17
- message = Buffer.isBuffer(message) ? Fr.fromBuffer(message) : message;
18
- const witness = await this.account.createAuthWitness(message);
17
+ /**
18
+ * Computes an authentication witness from either a message or a caller and an action.
19
+ * If a message is provided, it will create a witness for the message directly.
20
+ * Otherwise, it will compute the message using the caller and the action.
21
+ * @param messageHashOrIntent - The message or the caller and action to approve
22
+ * @returns The authentication witness
23
+ */
24
+ async createAuthWit(messageHashOrIntent) {
25
+ const messageHash = this.getMessageHash(messageHashOrIntent);
26
+ const witness = await this.account.createAuthWit(messageHash);
19
27
  await this.pxe.addAuthWitness(witness);
20
28
  return witness;
21
29
  }
22
30
  /**
23
- * Returns a function interaction to set a message hash as authorized in this account.
31
+ * Returns the message hash for the given message or authwit input.
32
+ * @param messageHashOrIntent - The message hash or the caller and action to authorize
33
+ * @returns The message hash
34
+ */
35
+ getMessageHash(messageHashOrIntent) {
36
+ if (Buffer.isBuffer(messageHashOrIntent)) {
37
+ return Fr.fromBuffer(messageHashOrIntent);
38
+ }
39
+ else if (messageHashOrIntent instanceof Fr) {
40
+ return messageHashOrIntent;
41
+ }
42
+ else if (messageHashOrIntent.action instanceof ContractFunctionInteraction) {
43
+ return computeAuthWitMessageHash(messageHashOrIntent.caller, messageHashOrIntent.action.request());
44
+ }
45
+ return computeAuthWitMessageHash(messageHashOrIntent.caller, messageHashOrIntent.action);
46
+ }
47
+ /**
48
+ * Returns a function interaction to set a message hash as authorized or revoked in this account.
24
49
  * Public calls can then consume this authorization.
25
- * @param message - Message hash to authorize.
50
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
26
51
  * @param authorized - True to authorize, false to revoke authorization.
27
52
  * @returns - A function interaction.
28
53
  */
29
- setPublicAuth(message, authorized) {
54
+ setPublicAuthWit(messageHashOrIntent, authorized) {
55
+ const message = this.getMessageHash(messageHashOrIntent);
30
56
  if (authorized) {
31
57
  return new ContractFunctionInteraction(this, this.getAddress(), this.getApprovePublicAuthwitAbi(), [message]);
32
58
  }
@@ -36,10 +62,11 @@ export class AccountWallet extends BaseWallet {
36
62
  }
37
63
  /**
38
64
  * Returns a function interaction to cancel a message hash as authorized in this account.
39
- * @param message - Message hash to authorize.
65
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
40
66
  * @returns - A function interaction.
41
67
  */
42
- cancelAuthWit(message) {
68
+ cancelAuthWit(messageHashOrIntent) {
69
+ const message = this.getMessageHash(messageHashOrIntent);
43
70
  const args = [message];
44
71
  return new ContractFunctionInteraction(this, this.getAddress(), this.getCancelAuthwitAbi(), args);
45
72
  }
@@ -84,4 +111,4 @@ export class AccountWallet extends BaseWallet {
84
111
  };
85
112
  }
86
113
  }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4QyxPQUFPLEVBQXVDLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRzFGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxhQUFjLFNBQVEsVUFBVTtJQUMzQyxZQUFZLEdBQVEsRUFBWSxPQUF5QjtRQUN2RCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFEbUIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7SUFFekQsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQXFCLEVBQUUsR0FBZ0I7UUFDOUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQW9CO1FBQzFDLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLGFBQWEsQ0FBQyxPQUFvQixFQUFFLFVBQW1CO1FBQzVELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksMkJBQTJCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEgsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksYUFBYSxDQUFDLE9BQW9CO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsT0FBTyxJQUFJLDJCQUEyQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEcsQ0FBQztJQUVELCtFQUErRTtJQUN4RSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHNFQUFzRTtJQUMvRCxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDM0MsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxPQUFPO1lBQ0wsSUFBSSxFQUFFLHdCQUF3QjtZQUM5QixhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDL0IsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixPQUFPO1lBQ0wsSUFBSSxFQUFFLGdCQUFnQjtZQUN0QixhQUFhLEVBQUUsS0FBSztZQUNwQixZQUFZLEVBQUUsWUFBWSxDQUFDLE1BQU07WUFDakMsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFO2dCQUNWO29CQUNFLElBQUksRUFBRSxjQUFjO29CQUNwQixJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFO29CQUN2QixVQUFVLEVBQUUsU0FBbUM7aUJBQ2hEO2FBQ0Y7WUFDRCxXQUFXLEVBQUUsRUFBRTtTQUNoQixDQUFDO0lBQ0osQ0FBQztDQUNGIn0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUF1QyxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUcxRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUMzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFDM0MsWUFBWSxHQUFRLEVBQVksT0FBeUI7UUFDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRXpELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFxQixFQUFFLEdBQWdCO1FBQzlELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQ2pCLG1CQVFLO1FBRUwsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGNBQWMsQ0FDcEIsbUJBUUs7UUFF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
@@ -1,9 +1,11 @@
1
- import { AuthWitness, ContractData, DeployedContract, ExtendedContractData, ExtendedNote, FunctionCall, GetUnencryptedLogsResponse, L2Block, LogFilter, NoteFilter, PXE, SyncStatus, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/circuit-types';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import { AuthWitness, DeployedContract, ExtendedNote, FunctionCall, GetUnencryptedLogsResponse, L2Block, LogFilter, NoteFilter, PXE, SyncStatus, Tx, TxEffect, TxExecutionRequest, TxHash, TxReceipt } from '@aztec/circuit-types';
2
3
  import { AztecAddress, CompleteAddress, Fr, GrumpkinPrivateKey, PartialAddress } from '@aztec/circuits.js';
3
4
  import { ContractClassWithId, ContractInstanceWithAddress } from '@aztec/types/contracts';
4
5
  import { NodeInfo } from '@aztec/types/interfaces';
5
6
  import { FeeOptions } from '../account/interface.js';
6
7
  import { Wallet } from '../account/wallet.js';
8
+ import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
7
9
  /**
8
10
  * A base class for Wallet implementations
9
11
  */
@@ -12,7 +14,13 @@ export declare abstract class BaseWallet implements Wallet {
12
14
  constructor(pxe: PXE);
13
15
  abstract getCompleteAddress(): CompleteAddress;
14
16
  abstract createTxExecutionRequest(execs: FunctionCall[], fee?: FeeOptions): Promise<TxExecutionRequest>;
15
- abstract createAuthWitness(message: Fr): Promise<AuthWitness>;
17
+ abstract createAuthWit(messageHashOrIntent: Fr | Buffer | {
18
+ /** The caller to approve */
19
+ caller: AztecAddress;
20
+ /** The action to approve */
21
+ action: ContractFunctionInteraction | FunctionCall;
22
+ }): Promise<AuthWitness>;
23
+ getAddress(): AztecAddress;
16
24
  getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
17
25
  getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
18
26
  addCapsule(capsule: Fr[]): Promise<void>;
@@ -34,8 +42,6 @@ export declare abstract class BaseWallet implements Wallet {
34
42
  addNote(note: ExtendedNote): Promise<void>;
35
43
  getBlock(number: number): Promise<L2Block | undefined>;
36
44
  viewTx(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<any>;
37
- getExtendedContractData(contractAddress: AztecAddress): Promise<ExtendedContractData | undefined>;
38
- getContractData(contractAddress: AztecAddress): Promise<ContractData | undefined>;
39
45
  getUnencryptedLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
40
46
  getBlockNumber(): Promise<number>;
41
47
  getNodeInfo(): Promise<NodeInfo>;
@@ -44,5 +50,6 @@ export declare abstract class BaseWallet implements Wallet {
44
50
  getSyncStatus(): Promise<SyncStatus>;
45
51
  addAuthWitness(authWitness: AuthWitness): Promise<void>;
46
52
  isContractClassPubliclyRegistered(id: Fr): Promise<boolean>;
53
+ isContractPubliclyDeployed(address: AztecAddress): Promise<boolean>;
47
54
  }
48
55
  //# 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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"}
@@ -5,6 +5,9 @@ export class BaseWallet {
5
5
  constructor(pxe) {
6
6
  this.pxe = pxe;
7
7
  }
8
+ getAddress() {
9
+ return this.getCompleteAddress().address;
10
+ }
8
11
  getContractInstance(address) {
9
12
  return this.pxe.getContractInstance(address);
10
13
  }
@@ -69,12 +72,6 @@ export class BaseWallet {
69
72
  viewTx(functionName, args, to, from) {
70
73
  return this.pxe.viewTx(functionName, args, to, from);
71
74
  }
72
- getExtendedContractData(contractAddress) {
73
- return this.pxe.getExtendedContractData(contractAddress);
74
- }
75
- getContractData(contractAddress) {
76
- return this.pxe.getContractData(contractAddress);
77
- }
78
75
  getUnencryptedLogs(filter) {
79
76
  return this.pxe.getUnencryptedLogs(filter);
80
77
  }
@@ -99,5 +96,8 @@ export class BaseWallet {
99
96
  isContractClassPubliclyRegistered(id) {
100
97
  return this.pxe.isContractClassPubliclyRegistered(id);
101
98
  }
99
+ isContractPubliclyDeployed(address) {
100
+ return this.pxe.isContractPubliclyDeployed(address);
101
+ }
102
102
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUFRM0MsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQTJCLEVBQUUsY0FBOEI7UUFDekUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUFxQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFD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
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUFrQjNDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQTJCLEVBQUUsY0FBOEI7UUFDekUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUFxQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7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
@@ -7,6 +7,6 @@ import { BaseWallet } from './base_wallet.js';
7
7
  export declare class SignerlessWallet extends BaseWallet {
8
8
  createTxExecutionRequest(executions: FunctionCall[]): Promise<TxExecutionRequest>;
9
9
  getCompleteAddress(): CompleteAddress;
10
- createAuthWitness(_message: Fr): Promise<AuthWitness>;
10
+ createAuthWit(_message: Fr): Promise<AuthWitness>;
11
11
  }
12
12
  //# sourceMappingURL=signerless_wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,EAAE,EAAa,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxC,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoBvF,kBAAkB,IAAI,eAAe;IAIrC,iBAAiB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAGtD"}
1
+ {"version":3,"file":"signerless_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/signerless_wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAmB,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,eAAe,EAAE,EAAE,EAAa,MAAM,oBAAoB,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxC,wBAAwB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoBvF,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAGlD"}
@@ -18,8 +18,8 @@ export class SignerlessWallet extends BaseWallet {
18
18
  getCompleteAddress() {
19
19
  throw new Error('Method not implemented.');
20
20
  }
21
- createAuthWitness(_message) {
21
+ createAuthWit(_message) {
22
22
  throw new Error('Method not implemented.');
23
23
  }
24
24
  }
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUF1QixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxLQUFLLENBQUMsd0JBQXdCLENBQUMsVUFBMEI7UUFDdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQy9CLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQkFBa0IsQ0FDcEIsU0FBUyxDQUFDLEVBQUUsRUFDWixTQUFTLENBQUMsWUFBWSxFQUN0QixlQUFlLENBQUMsSUFBSSxFQUNwQixTQUFTLEVBQ1QsQ0FBQyxlQUFlLENBQUMsRUFDakIsRUFBRSxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUFZO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YifQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUF1QixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxLQUFLLENBQUMsd0JBQXdCLENBQUMsVUFBMEI7UUFDdkQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTRELFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BHLENBQUM7UUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsVUFBVSxDQUFDO1FBQy9CLE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVELE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FDcEIsSUFBSSxrQkFBa0IsQ0FDcEIsU0FBUyxDQUFDLEVBQUUsRUFDWixTQUFTLENBQUMsWUFBWSxFQUN0QixlQUFlLENBQUMsSUFBSSxFQUNwQixTQUFTLEVBQ1QsQ0FBQyxlQUFlLENBQUMsRUFDakIsRUFBRSxDQUNILENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxhQUFhLENBQUMsUUFBWTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIn0=
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.28.0",
4
+ "version": "0.29.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": "./dest/index.js",
@@ -49,12 +49,12 @@
49
49
  "rootDir": "./src"
50
50
  },
51
51
  "dependencies": {
52
- "@aztec/circuit-types": "0.28.0",
53
- "@aztec/circuits.js": "0.28.0",
54
- "@aztec/ethereum": "0.28.0",
55
- "@aztec/foundation": "0.28.0",
56
- "@aztec/protocol-contracts": "0.28.0",
57
- "@aztec/types": "0.28.0",
52
+ "@aztec/circuit-types": "0.29.0",
53
+ "@aztec/circuits.js": "0.29.0",
54
+ "@aztec/ethereum": "0.29.0",
55
+ "@aztec/foundation": "0.29.0",
56
+ "@aztec/protocol-contracts": "0.29.0",
57
+ "@aztec/types": "0.29.0",
58
58
  "tslib": "^2.4.0"
59
59
  },
60
60
  "devDependencies": {
@@ -1,6 +1,8 @@
1
1
  import { AuthWitness, CompleteAddress, FunctionCall, TxExecutionRequest } from '@aztec/circuit-types';
2
+ import { AztecAddress } from '@aztec/circuits.js';
2
3
  import { Fr } from '@aztec/foundation/fields';
3
4
 
5
+ import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
6
  import { FeePaymentMethod } from '../fee/fee_payment_method.js';
5
7
 
6
8
  /**
@@ -17,10 +19,23 @@ export type FeeOptions = {
17
19
  /** Creates authorization witnesses. */
18
20
  export interface AuthWitnessProvider {
19
21
  /**
20
- * Create an authorization witness for the given message.
21
- * @param message - Message to authorize.
22
+ * Computes an authentication witness from either a message hash or an intent (caller and an action).
23
+ * If a message hash is provided, it will create a witness for that directly.
24
+ * Otherwise, it will compute the message hash using the caller and the action of the intent.
25
+ * @param messageHashOrIntent - The message hash or the intent (caller and action) to approve
26
+ * @returns The authentication witness
22
27
  */
23
- createAuthWitness(message: Fr): Promise<AuthWitness>;
28
+ createAuthWit(
29
+ messageHashOrIntent:
30
+ | Fr
31
+ | Buffer
32
+ | {
33
+ /** The caller to approve */
34
+ caller: AztecAddress;
35
+ /** The action to approve */
36
+ action: ContractFunctionInteraction | FunctionCall;
37
+ },
38
+ ): Promise<AuthWitness>;
24
39
  }
25
40
 
26
41
  /** Creates transaction execution requests out of a set of function calls. */
@@ -39,9 +54,10 @@ export interface EntrypointInterface {
39
54
  * requests and authorize actions for its corresponding account.
40
55
  */
41
56
  export interface AccountInterface extends AuthWitnessProvider, EntrypointInterface {
42
- /**
43
- * Returns the complete address for this account.
44
- */
57
+ /** Returns the complete address for this account. */
45
58
  getCompleteAddress(): CompleteAddress;
59
+
60
+ /** Returns the address for this account. */
61
+ getAddress(): AztecAddress;
46
62
  }
47
63
  // docs:end:account-interface
@@ -159,6 +159,7 @@ export class AccountManager {
159
159
  contractAddressSalt: this.salt,
160
160
  skipClassRegistration: true,
161
161
  skipPublicDeployment: true,
162
+ universalDeploy: true,
162
163
  });
163
164
  return new DeployAccountSentTx(wallet, sentTx.getTxHash());
164
165
  }
@@ -159,7 +159,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
159
159
 
160
160
  // Deploy the contract via the instance deployer.
161
161
  if (!options.skipPublicDeployment) {
162
- calls.push(deployInstance(this.wallet, instance, { universalDeploy: options.universalDeploy }).request());
162
+ calls.push(deployInstance(this.wallet, instance).request());
163
163
  }
164
164
 
165
165
  return calls;
@@ -192,6 +192,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
192
192
  portalAddress: options.portalContract,
193
193
  publicKey: this.publicKey,
194
194
  constructorArtifact: this.constructorArtifact,
195
+ deployer: options.universalDeploy ? AztecAddress.ZERO : this.wallet.getAddress(),
195
196
  });
196
197
  }
197
198
  return this.instance;
@@ -8,21 +8,22 @@ import { getDeployerContract } from './protocol_contracts.js';
8
8
  * Sets up a call to the canonical deployer contract to publicly deploy a contract instance.
9
9
  * @param wallet - The wallet to use for the deployment.
10
10
  * @param instance - The instance to deploy.
11
- * @param opts - Additional options.
12
11
  */
13
- export function deployInstance(
14
- wallet: Wallet,
15
- instance: ContractInstanceWithAddress,
16
- opts: { /** Set to true to *not* mix in the deployer into the address. */ universalDeploy?: boolean } = {},
17
- ): ContractFunctionInteraction {
18
- const deployer = getDeployerContract(wallet);
19
- const { salt, contractClassId, portalContractAddress, publicKeysHash } = instance;
20
- return deployer.methods.deploy(
12
+ export function deployInstance(wallet: Wallet, instance: ContractInstanceWithAddress): ContractFunctionInteraction {
13
+ const deployerContract = getDeployerContract(wallet);
14
+ const { salt, contractClassId, portalContractAddress, publicKeysHash, deployer } = instance;
15
+ const isUniversalDeploy = deployer.isZero();
16
+ if (!isUniversalDeploy && !wallet.getAddress().equals(deployer)) {
17
+ throw new Error(
18
+ `Expected deployer ${deployer.toString()} does not match sender wallet ${wallet.getAddress().toString()}`,
19
+ );
20
+ }
21
+ return deployerContract.methods.deploy(
21
22
  salt,
22
23
  contractClassId,
23
24
  instance.initializationHash,
24
25
  portalContractAddress,
25
26
  publicKeysHash,
26
- !!opts.universalDeploy,
27
+ isUniversalDeploy,
27
28
  );
28
29
  }
@@ -47,12 +47,12 @@ export class NativeFeePaymentMethod implements FeePaymentMethod {
47
47
  return Promise.resolve([
48
48
  {
49
49
  to: NativeFeePaymentMethod.#GAS_TOKEN,
50
- functionData: new FunctionData(FunctionSelector.fromSignature('check_balance(Field)'), false, false, false),
50
+ functionData: new FunctionData(FunctionSelector.fromSignature('check_balance(Field)'), false),
51
51
  args: [feeLimit],
52
52
  },
53
53
  {
54
54
  to: NativeFeePaymentMethod.#GAS_TOKEN,
55
- functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), false, false, false),
55
+ functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), false),
56
56
  args: [feeLimit],
57
57
  },
58
58
  ]);
@@ -60,15 +60,10 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
60
60
  const nonce = Fr.random();
61
61
  const messageHash = computeAuthWitMessageHash(this.paymentContract, {
62
62
  args: [this.wallet.getCompleteAddress().address, this.paymentContract, maxFee, nonce],
63
- functionData: new FunctionData(
64
- FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'),
65
- false,
66
- true,
67
- false,
68
- ),
63
+ functionData: new FunctionData(FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'), true),
69
64
  to: this.asset,
70
65
  });
71
- await this.wallet.createAuthWitness(messageHash);
66
+ await this.wallet.createAuthWit(messageHash);
72
67
 
73
68
  const secretHashForRebate = computeMessageSecretHash(this.rebateSecret);
74
69
 
@@ -77,9 +72,7 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
77
72
  to: this.getPaymentContract(),
78
73
  functionData: new FunctionData(
79
74
  FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field,Field)'),
80
- false,
81
75
  true,
82
- false,
83
76
  ),
84
77
  args: [maxFee, this.asset, secretHashForRebate, nonce],
85
78
  },
@@ -56,21 +56,17 @@ export class PublicFeePaymentMethod implements FeePaymentMethod {
56
56
  functionData: new FunctionData(
57
57
  FunctionSelector.fromSignature('transfer_public((Field),(Field),Field,Field)'),
58
58
  false,
59
- false,
60
- false,
61
59
  ),
62
60
  to: this.asset,
63
61
  });
64
62
 
65
63
  return Promise.resolve([
66
- this.wallet.setPublicAuth(messageHash, true).request(),
64
+ this.wallet.setPublicAuthWit(messageHash, true).request(),
67
65
  {
68
66
  to: this.getPaymentContract(),
69
67
  functionData: new FunctionData(
70
68
  FunctionSelector.fromSignature('fee_entrypoint_public(Field,(Field),Field)'),
71
- false,
72
69
  true,
73
- false,
74
70
  ),
75
71
  args: [maxFee, this.asset, nonce],
76
72
  },
package/src/index.ts CHANGED
@@ -41,7 +41,6 @@ export {
41
41
  AztecAddressLike,
42
42
  FunctionSelectorLike,
43
43
  WrappedFieldLike,
44
- isContractDeployed,
45
44
  EthCheatCodes,
46
45
  computeAuthWitMessageHash,
47
46
  computeInnerAuthWitHash,
@@ -69,7 +68,7 @@ export {
69
68
  GlobalVariables,
70
69
  GrumpkinScalar,
71
70
  Point,
72
- getContractInstanceFromDeployParams,
71
+ getContractInstanceFromDeployParams, // TODO(@spalladino) This method should be used from within the DeployMethod but not exposed in aztec.js
73
72
  getContractClassFromArtifact,
74
73
  INITIAL_L2_BLOCK_NUM,
75
74
  } from '@aztec/circuits.js';
@@ -83,9 +82,7 @@ export {
83
82
  AztecNode,
84
83
  Body,
85
84
  CompleteAddress,
86
- ContractData,
87
85
  DeployedContract,
88
- ExtendedContractData,
89
86
  ExtendedNote,
90
87
  FunctionCall,
91
88
  GrumpkinPrivateKey,
@@ -1,7 +1,5 @@
1
1
  import {
2
2
  AuthWitness,
3
- ContractData,
4
- ExtendedContractData,
5
3
  ExtendedNote,
6
4
  ExtendedUnencryptedL2Log,
7
5
  L2Block,
@@ -40,10 +38,8 @@ export const createPXEClient = (url: string, fetch = makeFetch([1, 2, 3], false)
40
38
  AuthWitness,
41
39
  AztecAddress,
42
40
  CompleteAddress,
43
- ContractData,
44
41
  FunctionSelector,
45
42
  EthAddress,
46
- ExtendedContractData,
47
43
  ExtendedNote,
48
44
  ExtendedUnencryptedL2Log,
49
45
  Fr,
@@ -12,16 +12,16 @@ import { pedersenHash } from '@aztec/foundation/crypto';
12
12
  * `bob` then signs the message hash and gives it to `alice` who can then perform the
13
13
  * action.
14
14
  * @param caller - The caller approved to make the call
15
- * @param request - The request to be made (function call)
15
+ * @param action - The request to be made (function call)
16
16
  * @returns The message hash for the witness
17
17
  */
18
- export const computeAuthWitMessageHash = (caller: AztecAddress, request: FunctionCall) => {
18
+ export const computeAuthWitMessageHash = (caller: AztecAddress, action: FunctionCall) => {
19
19
  return computeOuterAuthWitHash(
20
- request.to.toField(),
20
+ action.to.toField(),
21
21
  computeInnerAuthWitHash([
22
22
  caller.toField(),
23
- request.functionData.selector.toField(),
24
- PackedArguments.fromArgs(request.args).hash,
23
+ action.functionData.selector.toField(),
24
+ PackedArguments.fromArgs(action.args).hash,
25
25
  ]),
26
26
  );
27
27
  };
@@ -1,6 +1,5 @@
1
1
  export * from './pub_key.js';
2
2
  export * from './l1_contracts.js';
3
- export * from './l2_contracts.js';
4
3
  export * from './abi_types.js';
5
4
  export * from './cheat_codes.js';
6
5
  export * from './authwit.js';
@@ -1,9 +1,10 @@
1
1
  import { AuthWitness, FunctionCall, PXE, TxExecutionRequest } from '@aztec/circuit-types';
2
- import { Fr } from '@aztec/circuits.js';
2
+ import { AztecAddress, Fr } from '@aztec/circuits.js';
3
3
  import { ABIParameterVisibility, FunctionAbi, FunctionType } from '@aztec/foundation/abi';
4
4
 
5
5
  import { AccountInterface, FeeOptions } from '../account/interface.js';
6
6
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
7
+ import { computeAuthWitMessageHash } from '../utils/authwit.js';
7
8
  import { BaseWallet } from './base_wallet.js';
8
9
 
9
10
  /**
@@ -18,21 +19,76 @@ export class AccountWallet extends BaseWallet {
18
19
  return this.account.createTxExecutionRequest(execs, fee);
19
20
  }
20
21
 
21
- async createAuthWitness(message: Fr | Buffer): Promise<AuthWitness> {
22
- message = Buffer.isBuffer(message) ? Fr.fromBuffer(message) : message;
23
- const witness = await this.account.createAuthWitness(message);
22
+ /**
23
+ * Computes an authentication witness from either a message or a caller and an action.
24
+ * If a message is provided, it will create a witness for the message directly.
25
+ * Otherwise, it will compute the message using the caller and the action.
26
+ * @param messageHashOrIntent - The message or the caller and action to approve
27
+ * @returns The authentication witness
28
+ */
29
+ async createAuthWit(
30
+ messageHashOrIntent:
31
+ | Fr
32
+ | Buffer
33
+ | {
34
+ /** The caller to approve */
35
+ caller: AztecAddress;
36
+ /** The action to approve */
37
+ action: ContractFunctionInteraction | FunctionCall;
38
+ },
39
+ ): Promise<AuthWitness> {
40
+ const messageHash = this.getMessageHash(messageHashOrIntent);
41
+ const witness = await this.account.createAuthWit(messageHash);
24
42
  await this.pxe.addAuthWitness(witness);
25
43
  return witness;
26
44
  }
27
45
 
28
46
  /**
29
- * Returns a function interaction to set a message hash as authorized in this account.
47
+ * Returns the message hash for the given message or authwit input.
48
+ * @param messageHashOrIntent - The message hash or the caller and action to authorize
49
+ * @returns The message hash
50
+ */
51
+ private getMessageHash(
52
+ messageHashOrIntent:
53
+ | Fr
54
+ | Buffer
55
+ | {
56
+ /** The caller to approve */
57
+ caller: AztecAddress;
58
+ /** The action to approve */
59
+ action: ContractFunctionInteraction | FunctionCall;
60
+ },
61
+ ): Fr {
62
+ if (Buffer.isBuffer(messageHashOrIntent)) {
63
+ return Fr.fromBuffer(messageHashOrIntent);
64
+ } else if (messageHashOrIntent instanceof Fr) {
65
+ return messageHashOrIntent;
66
+ } else if (messageHashOrIntent.action instanceof ContractFunctionInteraction) {
67
+ return computeAuthWitMessageHash(messageHashOrIntent.caller, messageHashOrIntent.action.request());
68
+ }
69
+ return computeAuthWitMessageHash(messageHashOrIntent.caller, messageHashOrIntent.action);
70
+ }
71
+
72
+ /**
73
+ * Returns a function interaction to set a message hash as authorized or revoked in this account.
30
74
  * Public calls can then consume this authorization.
31
- * @param message - Message hash to authorize.
75
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
32
76
  * @param authorized - True to authorize, false to revoke authorization.
33
77
  * @returns - A function interaction.
34
78
  */
35
- public setPublicAuth(message: Fr | Buffer, authorized: boolean): ContractFunctionInteraction {
79
+ public setPublicAuthWit(
80
+ messageHashOrIntent:
81
+ | Fr
82
+ | Buffer
83
+ | {
84
+ /** The caller to approve */
85
+ caller: AztecAddress;
86
+ /** The action to approve */
87
+ action: ContractFunctionInteraction | FunctionCall;
88
+ },
89
+ authorized: boolean,
90
+ ): ContractFunctionInteraction {
91
+ const message = this.getMessageHash(messageHashOrIntent);
36
92
  if (authorized) {
37
93
  return new ContractFunctionInteraction(this, this.getAddress(), this.getApprovePublicAuthwitAbi(), [message]);
38
94
  } else {
@@ -42,10 +98,21 @@ export class AccountWallet extends BaseWallet {
42
98
 
43
99
  /**
44
100
  * Returns a function interaction to cancel a message hash as authorized in this account.
45
- * @param message - Message hash to authorize.
101
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
46
102
  * @returns - A function interaction.
47
103
  */
48
- public cancelAuthWit(message: Fr | Buffer): ContractFunctionInteraction {
104
+ public cancelAuthWit(
105
+ messageHashOrIntent:
106
+ | Fr
107
+ | Buffer
108
+ | {
109
+ /** The caller to approve */
110
+ caller: AztecAddress;
111
+ /** The action to approve */
112
+ action: ContractFunctionInteraction | FunctionCall;
113
+ },
114
+ ): ContractFunctionInteraction {
115
+ const message = this.getMessageHash(messageHashOrIntent);
49
116
  const args = [message];
50
117
  return new ContractFunctionInteraction(this, this.getAddress(), this.getCancelAuthwitAbi(), args);
51
118
  }