@aztec/aztec.js 0.28.1 → 0.30.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 (60) 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 +6 -7
  6. package/dest/contract/contract_base.d.ts +1 -2
  7. package/dest/contract/contract_base.d.ts.map +1 -1
  8. package/dest/contract/contract_base.js +1 -1
  9. package/dest/contract/deploy_method.d.ts.map +1 -1
  10. package/dest/contract/deploy_method.js +5 -4
  11. package/dest/deployment/deploy_instance.d.ts +1 -4
  12. package/dest/deployment/deploy_instance.d.ts.map +1 -1
  13. package/dest/deployment/deploy_instance.js +9 -6
  14. package/dest/fee/native_fee_payment_method.d.ts +6 -3
  15. package/dest/fee/native_fee_payment_method.d.ts.map +1 -1
  16. package/dest/fee/native_fee_payment_method.js +19 -13
  17. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  18. package/dest/fee/private_fee_payment_method.js +4 -4
  19. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  20. package/dest/fee/public_fee_payment_method.js +4 -4
  21. package/dest/index.d.ts +4 -3
  22. package/dest/index.d.ts.map +1 -1
  23. package/dest/index.js +5 -4
  24. package/dest/rpc_clients/pxe_client.d.ts.map +1 -1
  25. package/dest/rpc_clients/pxe_client.js +2 -4
  26. package/dest/utils/authwit.d.ts +2 -2
  27. package/dest/utils/authwit.d.ts.map +1 -1
  28. package/dest/utils/authwit.js +6 -6
  29. package/dest/utils/index.d.ts +0 -1
  30. package/dest/utils/index.d.ts.map +1 -1
  31. package/dest/utils/index.js +1 -2
  32. package/dest/wallet/account_wallet.d.ts +36 -8
  33. package/dest/wallet/account_wallet.d.ts.map +1 -1
  34. package/dest/wallet/account_wallet.js +36 -9
  35. package/dest/wallet/base_wallet.d.ts +17 -5
  36. package/dest/wallet/base_wallet.d.ts.map +1 -1
  37. package/dest/wallet/base_wallet.js +12 -9
  38. package/dest/wallet/signerless_wallet.d.ts +1 -1
  39. package/dest/wallet/signerless_wallet.d.ts.map +1 -1
  40. package/dest/wallet/signerless_wallet.js +2 -2
  41. package/package.json +7 -7
  42. package/src/account/interface.ts +22 -6
  43. package/src/account_manager/index.ts +5 -6
  44. package/src/contract/contract_base.ts +1 -2
  45. package/src/contract/deploy_method.ts +3 -2
  46. package/src/deployment/deploy_instance.ts +11 -10
  47. package/src/fee/native_fee_payment_method.ts +18 -10
  48. package/src/fee/private_fee_payment_method.ts +2 -9
  49. package/src/fee/public_fee_payment_method.ts +1 -5
  50. package/src/index.ts +1 -5
  51. package/src/rpc_clients/pxe_client.ts +0 -4
  52. package/src/utils/authwit.ts +5 -5
  53. package/src/utils/index.ts +0 -1
  54. package/src/wallet/account_wallet.ts +76 -9
  55. package/src/wallet/base_wallet.ts +27 -12
  56. package/src/wallet/signerless_wallet.ts +1 -1
  57. package/dest/utils/l2_contracts.d.ts +0 -10
  58. package/dest/utils/l2_contracts.d.ts.map +0 -1
  59. package/dest/utils/l2_contracts.js +0 -10
  60. package/src/utils/l2_contracts.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAkB,MAAM,oBAAoB,CAAC;AAItE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,WAAY,YAAY,WAAW,YAAY,OASpF,CAAC;AAGF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAAU,EAAE,EAAE,OAKjD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,aAAc,YAAY,aAAa,EAAE,OAK5E,CAAC"}
1
+ {"version":3,"file":"authwit.d.ts","sourceRoot":"","sources":["../../src/utils/authwit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAkB,MAAM,oBAAoB,CAAC;AAItE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,yBAAyB,WAAY,YAAY,UAAU,YAAY,OASnF,CAAC;AAGF;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,SAAU,EAAE,EAAE,OAKjD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,uBAAuB,aAAc,YAAY,aAAa,EAAE,OAK5E,CAAC"}
@@ -11,14 +11,14 @@ import { pedersenHash } from '@aztec/foundation/crypto';
11
11
  * `bob` then signs the message hash and gives it to `alice` who can then perform the
12
12
  * action.
13
13
  * @param caller - The caller approved to make the call
14
- * @param request - The request to be made (function call)
14
+ * @param action - The request to be made (function call)
15
15
  * @returns The message hash for the witness
16
16
  */
17
- export const computeAuthWitMessageHash = (caller, request) => {
18
- return computeOuterAuthWitHash(request.to.toField(), computeInnerAuthWitHash([
17
+ export const computeAuthWitMessageHash = (caller, action) => {
18
+ return computeOuterAuthWitHash(action.to.toField(), computeInnerAuthWitHash([
19
19
  caller.toField(),
20
- request.functionData.selector.toField(),
21
- PackedArguments.fromArgs(request.args).hash,
20
+ action.functionData.selector.toField(),
21
+ PackedArguments.fromArgs(action.args).hash,
22
22
  ]));
23
23
  };
24
24
  // docs:end:authwit_computeAuthWitMessageHash
@@ -48,4 +48,4 @@ export const computeInnerAuthWitHash = (args) => {
48
48
  export const computeOuterAuthWitHash = (consumer, innerHash) => {
49
49
  return pedersenHash([consumer.toField(), innerHash].map(fr => fr.toBuffer()), GeneratorIndex.AUTHWIT_OUTER);
50
50
  };
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsK0NBQStDO0FBQy9DOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFvQixFQUFFLE9BQXFCLEVBQUUsRUFBRTtJQUN2RixPQUFPLHVCQUF1QixDQUM1QixPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUNwQix1QkFBdUIsQ0FBQztRQUN0QixNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUN2QyxlQUFlLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0tBQzVDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsNkNBQTZDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ3BELE9BQU8sWUFBWSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzdCLGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsUUFBc0IsRUFBRSxTQUFhLEVBQUUsRUFBRTtJQUMvRSxPQUFPLFlBQVksQ0FDakIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aHdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRod2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFvQixjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQsK0NBQStDO0FBQy9DOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxNQUFvQixFQUFFLE1BQW9CLEVBQUUsRUFBRTtJQUN0RixPQUFPLHVCQUF1QixDQUM1QixNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUNuQix1QkFBdUIsQ0FBQztRQUN0QixNQUFNLENBQUMsT0FBTyxFQUFFO1FBQ2hCLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtRQUN0QyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJO0tBQzNDLENBQUMsQ0FDSCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsNkNBQTZDO0FBRTdDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ3BELE9BQU8sWUFBWSxDQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQzdCLGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsUUFBc0IsRUFBRSxTQUFhLEVBQUUsRUFBRTtJQUMvRSxPQUFPLFlBQVksQ0FDakIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQ3hELGNBQWMsQ0FBQyxhQUFhLENBQzdCLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -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 +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,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,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,cAAc,CAAC"}
@@ -1,9 +1,8 @@
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';
7
6
  export * from './pxe.js';
8
7
  export * from './account.js';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLGNBQWMsQ0FBQyJ9
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxjQUFjLENBQUMifQ==
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import { AuthWitness, FunctionCall, PXE, TxExecutionRequest } from '@aztec/circuit-types';
3
- import { Fr } from '@aztec/circuits.js';
3
+ import { AztecAddress, Fr } from '@aztec/circuits.js';
4
4
  import { AccountInterface, FeeOptions } from '../account/interface.js';
5
5
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
6
6
  import { BaseWallet } from './base_wallet.js';
@@ -11,25 +11,53 @@ export declare class AccountWallet extends BaseWallet {
11
11
  protected account: AccountInterface;
12
12
  constructor(pxe: PXE, account: AccountInterface);
13
13
  createTxExecutionRequest(execs: FunctionCall[], fee?: FeeOptions): Promise<TxExecutionRequest>;
14
- createAuthWitness(message: Fr | Buffer): Promise<AuthWitness>;
15
14
  /**
16
- * Returns a function interaction to set a message hash as authorized in this account.
15
+ * Computes an authentication witness from either a message or a caller and an action.
16
+ * If a message is provided, it will create a witness for the message directly.
17
+ * Otherwise, it will compute the message using the caller and the action.
18
+ * @param messageHashOrIntent - The message or the caller and action to approve
19
+ * @returns The authentication witness
20
+ */
21
+ createAuthWit(messageHashOrIntent: Fr | Buffer | {
22
+ /** The caller to approve */
23
+ caller: AztecAddress;
24
+ /** The action to approve */
25
+ action: ContractFunctionInteraction | FunctionCall;
26
+ }): Promise<AuthWitness>;
27
+ /**
28
+ * Returns the message hash for the given message or authwit input.
29
+ * @param messageHashOrIntent - The message hash or the caller and action to authorize
30
+ * @returns The message hash
31
+ */
32
+ private getMessageHash;
33
+ /**
34
+ * Returns a function interaction to set a message hash as authorized or revoked in this account.
17
35
  * Public calls can then consume this authorization.
18
- * @param message - Message hash to authorize.
36
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
19
37
  * @param authorized - True to authorize, false to revoke authorization.
20
38
  * @returns - A function interaction.
21
39
  */
22
- setPublicAuth(message: Fr | Buffer, authorized: boolean): ContractFunctionInteraction;
40
+ setPublicAuthWit(messageHashOrIntent: Fr | Buffer | {
41
+ /** The caller to approve */
42
+ caller: AztecAddress;
43
+ /** The action to approve */
44
+ action: ContractFunctionInteraction | FunctionCall;
45
+ }, authorized: boolean): ContractFunctionInteraction;
23
46
  /**
24
47
  * Returns a function interaction to cancel a message hash as authorized in this account.
25
- * @param message - Message hash to authorize.
48
+ * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
26
49
  * @returns - A function interaction.
27
50
  */
28
- cancelAuthWit(message: Fr | Buffer): ContractFunctionInteraction;
51
+ cancelAuthWit(messageHashOrIntent: Fr | Buffer | {
52
+ /** The caller to approve */
53
+ caller: AztecAddress;
54
+ /** The action to approve */
55
+ action: ContractFunctionInteraction | FunctionCall;
56
+ }): ContractFunctionInteraction;
29
57
  /** Returns the complete address of the account that implements this wallet. */
30
58
  getCompleteAddress(): import("@aztec/circuit-types").CompleteAddress;
31
59
  /** Returns the address of the account that implements this wallet. */
32
- getAddress(): import("@aztec/circuits.js").AztecAddress;
60
+ getAddress(): AztecAddress;
33
61
  private getApprovePublicAuthwitAbi;
34
62
  private getCancelAuthwitAbi;
35
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGxC,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IACrB,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBAA7C,GAAG,EAAE,GAAG,EAAY,OAAO,EAAE,gBAAgB;IAIzD,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIxF,iBAAiB,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAOnE;;;;;;OAMG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,2BAA2B;IAQ5F;;;;OAIG;IACI,aAAa,CAAC,OAAO,EAAE,EAAE,GAAG,MAAM,GAAG,2BAA2B;IAKvE,+EAA+E;IACxE,kBAAkB;IAIzB,sEAAsE;IAC/D,UAAU;IAIjB,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,mBAAmB;CAgB5B"}
1
+ {"version":3,"file":"account_wallet.d.ts","sourceRoot":"","sources":["../../src/wallet/account_wallet.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAE3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,aAAc,SAAQ,UAAU;IACrB,SAAS,CAAC,OAAO,EAAE,gBAAgB;gBAA7C,GAAG,EAAE,GAAG,EAAY,OAAO,EAAE,gBAAgB;IAIzD,wBAAwB,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI9F;;;;;;OAMG;IACG,aAAa,CACjB,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;KACpD,GACJ,OAAO,CAAC,WAAW,CAAC;IAOvB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAqBtB;;;;;;OAMG;IACI,gBAAgB,CACrB,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;KACpD,EACL,UAAU,EAAE,OAAO,GAClB,2BAA2B;IAS9B;;;;OAIG;IACI,aAAa,CAClB,mBAAmB,EACf,EAAE,GACF,MAAM,GACN;QACE,6BAA6B;QAC7B,MAAM,EAAE,YAAY,CAAC;QACrB,4BAA4B;QAC5B,MAAM,EAAE,2BAA2B,GAAG,YAAY,CAAC;KACpD,GACJ,2BAA2B;IAM9B,+EAA+E;IACxE,kBAAkB;IAIzB,sEAAsE;IAC/D,UAAU;IAIjB,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,mBAAmB;CAgB5B"}
@@ -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,12 @@
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, 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';
4
+ import { ContractArtifact } from '@aztec/foundation/abi';
3
5
  import { ContractClassWithId, ContractInstanceWithAddress } from '@aztec/types/contracts';
4
6
  import { NodeInfo } from '@aztec/types/interfaces';
5
7
  import { FeeOptions } from '../account/interface.js';
6
8
  import { Wallet } from '../account/wallet.js';
9
+ import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
7
10
  /**
8
11
  * A base class for Wallet implementations
9
12
  */
@@ -12,7 +15,13 @@ export declare abstract class BaseWallet implements Wallet {
12
15
  constructor(pxe: PXE);
13
16
  abstract getCompleteAddress(): CompleteAddress;
14
17
  abstract createTxExecutionRequest(execs: FunctionCall[], fee?: FeeOptions): Promise<TxExecutionRequest>;
15
- abstract createAuthWitness(message: Fr): Promise<AuthWitness>;
18
+ abstract createAuthWit(messageHashOrIntent: Fr | Buffer | {
19
+ /** The caller to approve */
20
+ caller: AztecAddress;
21
+ /** The action to approve */
22
+ action: ContractFunctionInteraction | FunctionCall;
23
+ }): Promise<AuthWitness>;
24
+ getAddress(): AztecAddress;
16
25
  getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
17
26
  getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
18
27
  addCapsule(capsule: Fr[]): Promise<void>;
@@ -22,7 +31,11 @@ export declare abstract class BaseWallet implements Wallet {
22
31
  getRegisteredAccount(address: AztecAddress): Promise<CompleteAddress | undefined>;
23
32
  getRecipients(): Promise<CompleteAddress[]>;
24
33
  getRecipient(address: AztecAddress): Promise<CompleteAddress | undefined>;
25
- addContracts(contracts: DeployedContract[]): Promise<void>;
34
+ registerContract(contract: {
35
+ /** Instance */ instance: ContractInstanceWithAddress;
36
+ /** Associated artifact */ artifact?: ContractArtifact;
37
+ }): Promise<void>;
38
+ registerContractClass(artifact: ContractArtifact): Promise<void>;
26
39
  getContracts(): Promise<AztecAddress[]>;
27
40
  simulateTx(txRequest: TxExecutionRequest, simulatePublic: boolean): Promise<Tx>;
28
41
  sendTx(tx: Tx): Promise<TxHash>;
@@ -34,8 +47,6 @@ export declare abstract class BaseWallet implements Wallet {
34
47
  addNote(note: ExtendedNote): Promise<void>;
35
48
  getBlock(number: number): Promise<L2Block | undefined>;
36
49
  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
50
  getUnencryptedLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
40
51
  getBlockNumber(): Promise<number>;
41
52
  getNodeInfo(): Promise<NodeInfo>;
@@ -44,5 +55,6 @@ export declare abstract class BaseWallet implements Wallet {
44
55
  getSyncStatus(): Promise<SyncStatus>;
45
56
  addAuthWitness(authWitness: AuthWitness): Promise<void>;
46
57
  isContractClassPubliclyRegistered(id: Fr): Promise<boolean>;
58
+ isContractPubliclyDeployed(address: AztecAddress): Promise<boolean>;
47
59
  }
48
60
  //# 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
  }
@@ -32,8 +35,11 @@ export class BaseWallet {
32
35
  getRecipient(address) {
33
36
  return this.pxe.getRecipient(address);
34
37
  }
35
- addContracts(contracts) {
36
- return this.pxe.addContracts(contracts);
38
+ registerContract(contract) {
39
+ return this.pxe.registerContract(contract);
40
+ }
41
+ registerContractClass(artifact) {
42
+ return this.pxe.registerContractClass(artifact);
37
43
  }
38
44
  getContracts() {
39
45
  return this.pxe.getContracts();
@@ -69,12 +75,6 @@ export class BaseWallet {
69
75
  viewTx(functionName, args, to, from) {
70
76
  return this.pxe.viewTx(functionName, args, to, from);
71
77
  }
72
- getExtendedContractData(contractAddress) {
73
- return this.pxe.getExtendedContractData(contractAddress);
74
- }
75
- getContractData(contractAddress) {
76
- return this.pxe.getContractData(contractAddress);
77
- }
78
78
  getUnencryptedLogs(filter) {
79
79
  return this.pxe.getUnencryptedLogs(filter);
80
80
  }
@@ -99,5 +99,8 @@ export class BaseWallet {
99
99
  isContractClassPubliclyRegistered(id) {
100
100
  return this.pxe.isContractClassPubliclyRegistered(id);
101
101
  }
102
+ isContractPubliclyDeployed(address) {
103
+ return this.pxe.isContractPubliclyDeployed(address);
104
+ }
102
105
  }
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUFRM0MsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLE9BQTJCLEVBQUUsY0FBOEI7UUFDekUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUNELGlCQUFpQixDQUFDLE9BQXdCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QscUJBQXFCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFDRCxvQkFBb0IsQ0FBQyxPQUFxQjtRQUN4QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUNELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFD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
106
+ //# 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.1",
4
+ "version": "0.30.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.1",
53
- "@aztec/circuits.js": "0.28.1",
54
- "@aztec/ethereum": "0.28.1",
55
- "@aztec/foundation": "0.28.1",
56
- "@aztec/protocol-contracts": "0.28.1",
57
- "@aztec/types": "0.28.1",
52
+ "@aztec/circuit-types": "0.30.0",
53
+ "@aztec/circuits.js": "0.30.0",
54
+ "@aztec/ethereum": "0.30.0",
55
+ "@aztec/foundation": "0.30.0",
56
+ "@aztec/protocol-contracts": "0.30.0",
57
+ "@aztec/types": "0.30.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
@@ -104,12 +104,10 @@ export class AccountManager {
104
104
  */
105
105
  public async register(opts: WaitOpts = DefaultWaitOpts): Promise<AccountWalletWithPrivateKey> {
106
106
  await this.#register();
107
- await this.pxe.addContracts([
108
- {
109
- artifact: this.accountContract.getContractArtifact(),
110
- instance: this.getInstance(),
111
- },
112
- ]);
107
+ await this.pxe.registerContract({
108
+ artifact: this.accountContract.getContractArtifact(),
109
+ instance: this.getInstance(),
110
+ });
113
111
 
114
112
  await waitForAccountSynch(this.pxe, this.getCompleteAddress(), opts);
115
113
  return this.getWallet();
@@ -159,6 +157,7 @@ export class AccountManager {
159
157
  contractAddressSalt: this.salt,
160
158
  skipClassRegistration: true,
161
159
  skipPublicDeployment: true,
160
+ universalDeploy: true,
162
161
  });
163
162
  return new DeployAccountSentTx(wallet, sentTx.getTxHash());
164
163
  }
@@ -1,4 +1,3 @@
1
- import { DeployedContract } from '@aztec/circuit-types';
2
1
  import { computePartialAddress } from '@aztec/circuits.js';
3
2
  import { ContractArtifact, FunctionArtifact, FunctionSelector } from '@aztec/foundation/abi';
4
3
  import { ContractInstanceWithAddress } from '@aztec/types/contracts';
@@ -20,7 +19,7 @@ export type ContractMethod = ((...args: any[]) => ContractFunctionInteraction) &
20
19
  /**
21
20
  * Abstract implementation of a contract extended by the Contract class and generated contract types.
22
21
  */
23
- export class ContractBase implements DeployedContract {
22
+ export class ContractBase {
24
23
  /**
25
24
  * An object containing contract methods mapped to their respective names.
26
25
  */
@@ -92,7 +92,7 @@ export class DeployMethod<TContract extends ContractBase = Contract> extends Bas
92
92
  }
93
93
  this.txRequest = await this.wallet.createTxExecutionRequest(await this.request(options));
94
94
  // TODO: Should we add the contracts to the DB here, or once the tx has been sent or mined?
95
- await this.pxe.addContracts([{ artifact: this.artifact, instance: this.instance! }]);
95
+ await this.pxe.registerContract({ artifact: this.artifact, instance: this.instance! });
96
96
  }
97
97
  return this.txRequest;
98
98
  }
@@ -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
  }