@aztec/aztec.js 0.40.1 → 0.41.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 (50) hide show
  1. package/dest/account/interface.d.ts +16 -1
  2. package/dest/account/interface.d.ts.map +1 -1
  3. package/dest/account/interface.js +1 -1
  4. package/dest/account/wallet.d.ts +2 -2
  5. package/dest/account/wallet.d.ts.map +1 -1
  6. package/dest/account_manager/deploy_account_method.d.ts.map +1 -1
  7. package/dest/account_manager/deploy_account_method.js +2 -1
  8. package/dest/contract/contract_function_interaction.d.ts +2 -7
  9. package/dest/contract/contract_function_interaction.d.ts.map +1 -1
  10. package/dest/contract/contract_function_interaction.js +15 -33
  11. package/dest/entrypoint/default_multi_call_entrypoint.d.ts.map +1 -1
  12. package/dest/entrypoint/default_multi_call_entrypoint.js +4 -2
  13. package/dest/entrypoint/payload.d.ts +2 -0
  14. package/dest/entrypoint/payload.d.ts.map +1 -1
  15. package/dest/entrypoint/payload.js +3 -1
  16. package/dest/fee/native_fee_payment_method.d.ts.map +1 -1
  17. package/dest/fee/native_fee_payment_method.js +3 -2
  18. package/dest/fee/private_fee_payment_method.d.ts.map +1 -1
  19. package/dest/fee/private_fee_payment_method.js +7 -3
  20. package/dest/fee/public_fee_payment_method.d.ts.map +1 -1
  21. package/dest/fee/public_fee_payment_method.js +7 -3
  22. package/dest/index.d.ts +1 -1
  23. package/dest/index.d.ts.map +1 -1
  24. package/dest/index.js +2 -2
  25. package/dest/wallet/account_wallet.d.ts +12 -1
  26. package/dest/wallet/account_wallet.d.ts.map +1 -1
  27. package/dest/wallet/account_wallet.js +58 -4
  28. package/dest/wallet/base_wallet.d.ts +4 -2
  29. package/dest/wallet/base_wallet.d.ts.map +1 -1
  30. package/dest/wallet/base_wallet.js +6 -3
  31. package/dest/wallet/create_recipient.d.ts.map +1 -1
  32. package/dest/wallet/create_recipient.js +3 -1
  33. package/dest/wallet/signerless_wallet.d.ts +2 -1
  34. package/dest/wallet/signerless_wallet.d.ts.map +1 -1
  35. package/dest/wallet/signerless_wallet.js +4 -1
  36. package/package.json +7 -7
  37. package/src/account/interface.ts +17 -1
  38. package/src/account/wallet.ts +2 -2
  39. package/src/account_manager/deploy_account_method.ts +1 -0
  40. package/src/contract/contract_function_interaction.ts +18 -31
  41. package/src/entrypoint/default_multi_call_entrypoint.ts +3 -1
  42. package/src/entrypoint/payload.ts +4 -0
  43. package/src/fee/native_fee_payment_method.ts +2 -1
  44. package/src/fee/private_fee_payment_method.ts +7 -2
  45. package/src/fee/public_fee_payment_method.ts +4 -2
  46. package/src/index.ts +2 -1
  47. package/src/wallet/account_wallet.ts +65 -3
  48. package/src/wallet/base_wallet.ts +13 -3
  49. package/src/wallet/create_recipient.ts +2 -0
  50. package/src/wallet/signerless_wallet.ts +5 -1
@@ -1,4 +1,4 @@
1
- import { Fr } from '@aztec/circuits.js';
1
+ import { AztecAddress, CANONICAL_KEY_REGISTRY_ADDRESS, Fq, Fr, derivePublicKeyFromSecretKey } from '@aztec/circuits.js';
2
2
  import { FunctionType } from '@aztec/foundation/abi';
3
3
  import { ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
4
4
  import { computeAuthWitMessageHash } from '../utils/authwit.js';
@@ -87,6 +87,23 @@ export class AccountWallet extends BaseWallet {
87
87
  const [isValidInPrivate, isValidInPublic] = (await interaction.simulate());
88
88
  return { isValidInPrivate, isValidInPublic };
89
89
  }
90
+ /**
91
+ * Rotates the account master nullifier key pair.
92
+ * @param newNskM - The new master nullifier secret key we want to use.
93
+ * @remarks - This function also calls the canonical key registry with the account's new derived master nullifier public key.
94
+ * We are doing it this way to avoid user error, in the case that a user rotates their keys in the key registry,
95
+ * but fails to do so in the key store. This leads to unspendable notes.
96
+ *
97
+ * This does not hinder our ability to spend notes tied to a previous master nullifier public key, provided we have the master nullifier secret key for it.
98
+ */
99
+ async rotateNullifierKeys(newNskM = Fq.random()) {
100
+ // We rotate our secret key in the keystore first, because if the subsequent interaction fails, there are no bad side-effects.
101
+ // If vice versa (the key registry is called first), but the call to the PXE fails, we will end up in a situation with unspendable notes, as we have not committed our
102
+ // nullifier secret key to our wallet.
103
+ await this.pxe.rotateNskM(this.getAddress(), newNskM);
104
+ const interaction = new ContractFunctionInteraction(this, AztecAddress.fromBigInt(CANONICAL_KEY_REGISTRY_ADDRESS), this.getRotateNpkMAbi(), [this.getAddress(), derivePublicKeyFromSecretKey(newNskM), Fr.ZERO]);
105
+ await interaction.send().wait();
106
+ }
90
107
  /**
91
108
  * Returns a function interaction to cancel a message hash as authorized in this account.
92
109
  * @param messageHashOrIntent - The message or the caller and action to authorize/revoke
@@ -109,8 +126,9 @@ export class AccountWallet extends BaseWallet {
109
126
  return {
110
127
  name: 'approve_public_authwit',
111
128
  isInitializer: false,
112
- functionType: FunctionType.OPEN,
129
+ functionType: FunctionType.PUBLIC,
113
130
  isInternal: true,
131
+ isStatic: false,
114
132
  parameters: [
115
133
  {
116
134
  name: 'message_hash',
@@ -125,8 +143,9 @@ export class AccountWallet extends BaseWallet {
125
143
  return {
126
144
  name: 'cancel_authwit',
127
145
  isInitializer: false,
128
- functionType: FunctionType.SECRET,
146
+ functionType: FunctionType.PRIVATE,
129
147
  isInternal: true,
148
+ isStatic: false,
130
149
  parameters: [
131
150
  {
132
151
  name: 'message_hash',
@@ -143,6 +162,7 @@ export class AccountWallet extends BaseWallet {
143
162
  isInitializer: false,
144
163
  functionType: FunctionType.UNCONSTRAINED,
145
164
  isInternal: false,
165
+ isStatic: false,
146
166
  parameters: [
147
167
  {
148
168
  name: 'myself',
@@ -168,5 +188,39 @@ export class AccountWallet extends BaseWallet {
168
188
  returnTypes: [{ kind: 'array', length: 2, type: { kind: 'boolean' } }],
169
189
  };
170
190
  }
191
+ getRotateNpkMAbi() {
192
+ return {
193
+ name: 'rotate_npk_m',
194
+ isInitializer: false,
195
+ functionType: FunctionType.PUBLIC,
196
+ isInternal: false,
197
+ isStatic: false,
198
+ parameters: [
199
+ {
200
+ name: 'address',
201
+ type: {
202
+ fields: [{ name: 'inner', type: { kind: 'field' } }],
203
+ kind: 'struct',
204
+ path: 'authwit::aztec::protocol_types::address::aztec_address::AztecAddress',
205
+ },
206
+ visibility: 'private',
207
+ },
208
+ {
209
+ name: 'new_npk_m',
210
+ type: {
211
+ fields: [
212
+ { name: 'x', type: { kind: 'field' } },
213
+ { name: 'y', type: { kind: 'field' } },
214
+ ],
215
+ kind: 'struct',
216
+ path: 'authwit::aztec::protocol_types::grumpkin_point::GrumpkinPoint',
217
+ },
218
+ visibility: 'private',
219
+ },
220
+ { name: 'nonce', type: { kind: 'field' }, visibility: 'private' },
221
+ ],
222
+ returnTypes: [],
223
+ };
224
+ }
171
225
  }
172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBcUIsRUFBRSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDM0QsT0FBTyxFQUFpRCxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUdwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUUzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFOUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFVBQVU7SUFDM0MsWUFBWSxHQUFRLEVBQVksT0FBeUI7UUFDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRG1CLFlBQU8sR0FBUCxPQUFPLENBQWtCO0lBRXpELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxJQUEwQjtRQUNqRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQ2pCLG1CQVlLO1FBRUwsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJ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
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2FjY291bnRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxZQUFZLEVBQUUsOEJBQThCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hILE9BQU8sRUFBaUQsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHcEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFFM0YsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxVQUFVO0lBQzNDLFlBQVksR0FBUSxFQUFZLE9BQXlCO1FBQ3ZELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUV6RCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsSUFBMEI7UUFDakQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUNqQixtQkFZSztRQUVMLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUM3RCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENB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
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" resolution-mode="require"/>
2
2
  import { type AuthWitness, type ExtendedNote, type FunctionCall, type GetUnencryptedLogsResponse, type L2Block, type LogFilter, type NoteFilter, type PXE, type SimulatedTx, type SyncStatus, type Tx, type TxEffect, type TxExecutionRequest, type TxHash, type TxReceipt } from '@aztec/circuit-types';
3
- import { type AztecAddress, type CompleteAddress, type Fr, type PartialAddress } from '@aztec/circuits.js';
3
+ import { type AztecAddress, type CompleteAddress, type Fq, type Fr, type PartialAddress } from '@aztec/circuits.js';
4
4
  import { type ContractArtifact } from '@aztec/foundation/abi';
5
5
  import { type ContractClassWithId, type ContractInstanceWithAddress } from '@aztec/types/contracts';
6
6
  import { type NodeInfo } from '@aztec/types/interfaces';
@@ -27,11 +27,13 @@ export declare abstract class BaseWallet implements Wallet {
27
27
  /** The version to approve */
28
28
  version?: Fr;
29
29
  }): Promise<AuthWitness>;
30
+ abstract rotateNullifierKeys(newNskM: Fq): Promise<void>;
30
31
  getAddress(): AztecAddress;
31
32
  getContractInstance(address: AztecAddress): Promise<ContractInstanceWithAddress | undefined>;
32
33
  getContractClass(id: Fr): Promise<ContractClassWithId | undefined>;
33
34
  addCapsule(capsule: Fr[]): Promise<void>;
34
35
  registerAccount(secretKey: Fr, partialAddress: PartialAddress): Promise<CompleteAddress>;
36
+ rotateNskM(address: AztecAddress, secretKey: Fq): Promise<void>;
35
37
  registerRecipient(account: CompleteAddress): Promise<void>;
36
38
  getRegisteredAccounts(): Promise<CompleteAddress[]>;
37
39
  getRegisteredAccount(address: AztecAddress): Promise<CompleteAddress | undefined>;
@@ -53,7 +55,7 @@ export declare abstract class BaseWallet implements Wallet {
53
55
  getPublicStorageAt(contract: AztecAddress, storageSlot: Fr): Promise<any>;
54
56
  addNote(note: ExtendedNote): Promise<void>;
55
57
  getBlock(number: number): Promise<L2Block | undefined>;
56
- viewTx(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<any>;
58
+ simulateUnconstrained(functionName: string, args: any[], to: AztecAddress, from?: AztecAddress | undefined): Promise<any>;
57
59
  getUnencryptedLogs(filter: LogFilter): Promise<GetUnencryptedLogsResponse>;
58
60
  getBlockNumber(): Promise<number>;
59
61
  getNodeInfo(): Promise<NodeInfo>;
@@ -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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"}
@@ -20,6 +20,9 @@ export class BaseWallet {
20
20
  registerAccount(secretKey, partialAddress) {
21
21
  return this.pxe.registerAccount(secretKey, partialAddress);
22
22
  }
23
+ rotateNskM(address, secretKey) {
24
+ return this.pxe.rotateNskM(address, secretKey);
25
+ }
23
26
  registerRecipient(account) {
24
27
  return this.pxe.registerRecipient(account);
25
28
  }
@@ -75,8 +78,8 @@ export class BaseWallet {
75
78
  getBlock(number) {
76
79
  return this.pxe.getBlock(number);
77
80
  }
78
- viewTx(functionName, args, to, from) {
79
- return this.pxe.viewTx(functionName, args, to, from);
81
+ simulateUnconstrained(functionName, args, to, from) {
82
+ return this.pxe.simulateUnconstrained(functionName, args, to, from);
80
83
  }
81
84
  getUnencryptedLogs(filter) {
82
85
  return this.pxe.getUnencryptedLogs(filter);
@@ -109,4 +112,4 @@ export class BaseWallet {
109
112
  return this.pxe.isContractPubliclyDeployed(address);
110
113
  }
111
114
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUEwQjNDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQWEsRUFBRSxjQUE4QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELG9CQUFvQixDQUFDLE9BQXFCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJ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
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZV93YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L2Jhc2Vfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBCQTs7R0FFRztBQUNILE1BQU0sT0FBZ0IsVUFBVTtJQUM5QixZQUErQixHQUFRO1FBQVIsUUFBRyxHQUFILEdBQUcsQ0FBSztJQUFHLENBQUM7SUE0QjNDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLE9BQU8sQ0FBQztJQUMzQyxDQUFDO0lBQ0QsbUJBQW1CLENBQUMsT0FBcUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxFQUFNO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0QsZUFBZSxDQUFDLFNBQWEsRUFBRSxjQUE4QjtRQUMzRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsVUFBVSxDQUFDLE9BQXFCLEVBQUUsU0FBYTtRQUM3QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBQ0QsaUJBQWlCLENBQUMsT0FBd0I7UUFDeEMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLHFC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
@@ -1 +1 @@
1
- {"version":3,"file":"create_recipient.d.ts","sourceRoot":"","sources":["../../src/wallet/create_recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAIxE"}
1
+ {"version":3,"file":"create_recipient.d.ts","sourceRoot":"","sources":["../../src/wallet/create_recipient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,eAAe,CAAC,CAMxE"}
@@ -6,7 +6,9 @@ import { CompleteAddress } from '@aztec/circuits.js';
6
6
  */
7
7
  export async function createRecipient(pxe) {
8
8
  const completeAddress = CompleteAddress.random();
9
+ // docs:start:register-recipient
9
10
  await pxe.registerRecipient(completeAddress);
11
+ // docs:end:register-recipient
10
12
  return completeAddress;
11
13
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3JlY2lwaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvY3JlYXRlX3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEdBQVE7SUFDNUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pELE1BQU0sR0FBRyxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQzdDLE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX3JlY2lwaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy93YWxsZXQvY3JlYXRlX3JlY2lwaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFckQ7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsZUFBZSxDQUFDLEdBQVE7SUFDNUMsTUFBTSxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2pELGdDQUFnQztJQUNoQyxNQUFNLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3Qyw4QkFBOEI7SUFDOUIsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQyJ9
@@ -1,5 +1,5 @@
1
1
  import { type AuthWitness, type PXE, type TxExecutionRequest } from '@aztec/circuit-types';
2
- import { type CompleteAddress, type Fr } from '@aztec/circuits.js';
2
+ import { type CompleteAddress, type Fq, type Fr } from '@aztec/circuits.js';
3
3
  import { type EntrypointInterface, type ExecutionRequestInit } from '../entrypoint/entrypoint.js';
4
4
  import { BaseWallet } from './base_wallet.js';
5
5
  /**
@@ -14,5 +14,6 @@ export declare class SignerlessWallet extends BaseWallet {
14
14
  getPublicKeysHash(): Fr;
15
15
  getCompleteAddress(): CompleteAddress;
16
16
  createAuthWit(_messageHash: Fr): Promise<AuthWitness>;
17
+ rotateNullifierKeys(_newNskM: Fq): Promise<void>;
17
18
  }
18
19
  //# 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,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAGnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxB,OAAO,CAAC,UAAU,CAAC;gBAA7B,GAAG,EAAE,GAAG,EAAU,UAAU,CAAC,iCAAqB;IAIxD,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU5F,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB,iBAAiB,IAAI,EAAE;IAIvB,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,YAAY,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,KAAK,WAAW,EAAE,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,oBAAoB,CAAC;AAG5E,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IACxB,OAAO,CAAC,UAAU,CAAC;gBAA7B,GAAG,EAAE,GAAG,EAAU,UAAU,CAAC,iCAAqB;IAIxD,wBAAwB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAU5F,UAAU,IAAI,EAAE;IAIhB,UAAU,IAAI,EAAE;IAIhB,iBAAiB,IAAI,EAAE;IAIvB,kBAAkB,IAAI,eAAe;IAIrC,aAAa,CAAC,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrD,mBAAmB,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAGjD"}
@@ -31,5 +31,8 @@ export class SignerlessWallet extends BaseWallet {
31
31
  createAuthWit(_messageHash) {
32
32
  throw new Error('Method not implemented.');
33
33
  }
34
+ rotateNullifierKeys(_newNskM) {
35
+ throw new Error('Method not implemented.');
36
+ }
34
37
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksR0FBUSxFQUFVLFVBQWdDO1FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURpQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUU5RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQStCO1FBQzVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xFLFVBQVUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFlBQWdCO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0YifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmVybGVzc193YWxsZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2FsbGV0L3NpZ25lcmxlc3Nfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUU5Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxVQUFVO0lBQzlDLFlBQVksR0FBUSxFQUFVLFVBQWdDO1FBQzVELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQURpQixlQUFVLEdBQVYsVUFBVSxDQUFzQjtJQUU5RCxDQUFDO0lBRUQsS0FBSyxDQUFDLHdCQUF3QixDQUFDLFNBQStCO1FBQzVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2xFLFVBQVUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsQ0FBQztRQUMvRCxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsYUFBYSxDQUFDLFlBQWdCO1FBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsbUJBQW1CLENBQUMsUUFBWTtRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIn0=
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.40.1",
4
+ "version": "0.41.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": "./dest/index.js",
@@ -65,12 +65,12 @@
65
65
  ]
66
66
  },
67
67
  "dependencies": {
68
- "@aztec/circuit-types": "0.40.1",
69
- "@aztec/circuits.js": "0.40.1",
70
- "@aztec/ethereum": "0.40.1",
71
- "@aztec/foundation": "0.40.1",
72
- "@aztec/protocol-contracts": "0.40.1",
73
- "@aztec/types": "0.40.1",
68
+ "@aztec/circuit-types": "0.41.0",
69
+ "@aztec/circuits.js": "0.41.0",
70
+ "@aztec/ethereum": "0.41.0",
71
+ "@aztec/foundation": "0.41.0",
72
+ "@aztec/protocol-contracts": "0.41.0",
73
+ "@aztec/types": "0.41.0",
74
74
  "tslib": "^2.4.0"
75
75
  },
76
76
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  import { type AuthWitness, type CompleteAddress, type FunctionCall } from '@aztec/circuit-types';
2
2
  import { type AztecAddress } from '@aztec/circuits.js';
3
- import { type Fr } from '@aztec/foundation/fields';
3
+ import { type Fq, type Fr } from '@aztec/foundation/fields';
4
4
 
5
5
  import { type ContractFunctionInteraction } from '../contract/contract_function_interaction.js';
6
6
  import { type EntrypointInterface } from '../entrypoint/entrypoint.js';
@@ -51,4 +51,20 @@ export interface AccountInterface extends AuthWitnessProvider, EntrypointInterfa
51
51
  /** Returns the rollup version for this account */
52
52
  getVersion(): Fr;
53
53
  }
54
+
55
+ /**
56
+ * Handler for interfacing with an account's ability to rotate its keys.
57
+ */
58
+ export interface AccountKeyRotationInterface {
59
+ /**
60
+ * Rotates the account master nullifier key pair.
61
+ * @param newNskM - The new master nullifier secret key we want to use.
62
+ * @remarks - This function also calls the canonical key registry with the account's new derived master nullifier public key.
63
+ * We are doing it this way to avoid user error, in the case that a user rotates their keys in the key registry,
64
+ * but fails to do so in the key store. This leads to unspendable notes.
65
+ *
66
+ * This does not hinder our ability to spend notes tied to a previous master nullifier public key, provided we have the master nullifier secret key for it.
67
+ */
68
+ rotateNullifierKeys(newNskM: Fq): Promise<void>;
69
+ }
54
70
  // docs:end:account-interface
@@ -1,8 +1,8 @@
1
1
  import { type PXE } from '@aztec/circuit-types';
2
2
 
3
- import { type AccountInterface } from './interface.js';
3
+ import { type AccountInterface, type AccountKeyRotationInterface } from './interface.js';
4
4
 
5
5
  /**
6
6
  * The wallet interface.
7
7
  */
8
- export type Wallet = AccountInterface & PXE;
8
+ export type Wallet = AccountInterface & PXE & AccountKeyRotationInterface;
@@ -57,6 +57,7 @@ export class DeployAccountMethod extends DeployMethod {
57
57
  to: address,
58
58
  args: encodeArguments(this.#feePaymentArtifact, [emptyAppPayload, feePayload]),
59
59
  functionData: FunctionData.fromAbi(this.#feePaymentArtifact),
60
+ isStatic: this.#feePaymentArtifact.isStatic,
60
61
  });
61
62
 
62
63
  exec.authWitnesses ??= [];
@@ -1,5 +1,5 @@
1
- import { type FunctionCall, PackedValues, TxExecutionRequest } from '@aztec/circuit-types';
2
- import { type AztecAddress, FunctionData, GasSettings, TxContext } from '@aztec/circuits.js';
1
+ import type { FunctionCall, TxExecutionRequest } from '@aztec/circuit-types';
2
+ import { type AztecAddress, FunctionData, type GasSettings } from '@aztec/circuits.js';
3
3
  import { type FunctionAbi, FunctionType, decodeReturnValues, encodeArguments } from '@aztec/foundation/abi';
4
4
 
5
5
  import { type Wallet } from '../account/wallet.js';
@@ -62,7 +62,7 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
62
62
  public request(): FunctionCall {
63
63
  const args = encodeArguments(this.functionDao, this.args);
64
64
  const functionData = FunctionData.fromAbi(this.functionDao);
65
- return { args, functionData, to: this.contractAddress };
65
+ return { args, functionData, to: this.contractAddress, isStatic: this.functionDao.isStatic };
66
66
  }
67
67
 
68
68
  /**
@@ -70,42 +70,29 @@ export class ContractFunctionInteraction extends BaseContractInteraction {
70
70
  * Differs from prove in a few important ways:
71
71
  * 1. It returns the values of the function execution
72
72
  * 2. It supports `unconstrained`, `private` and `public` functions
73
- * 3. For `private` execution it:
74
- * 3.a SKIPS the entrypoint and starts directly at the function
75
- * 4. For `public` execution it:
76
- * 4.a Removes the `txRequest` value after ended simulation
77
- * 4.b Ignores the `from` in the options
78
73
  *
79
74
  * @param options - An optional object containing additional configuration for the transaction.
80
75
  * @returns The result of the transaction as returned by the contract function.
81
76
  */
82
77
  public async simulate(options: SimulateMethodOptions = {}): Promise<any> {
83
78
  if (this.functionDao.functionType == FunctionType.UNCONSTRAINED) {
84
- return this.wallet.viewTx(this.functionDao.name, this.args, this.contractAddress, options.from);
79
+ return this.wallet.simulateUnconstrained(this.functionDao.name, this.args, this.contractAddress, options?.from);
85
80
  }
86
81
 
87
- if (this.functionDao.functionType == FunctionType.SECRET) {
88
- const nodeInfo = await this.wallet.getNodeInfo();
89
- const packedArgs = PackedValues.fromValues(encodeArguments(this.functionDao, this.args));
90
- const gasSettings = options.gasSettings ?? GasSettings.simulation();
82
+ const txRequest = await this.create();
83
+ // const from =
84
+ // this.functionDao.functionType == FunctionType.PRIVATE ? options.from ?? this.wallet.getAddress() : undefined;
91
85
 
92
- const txRequest = TxExecutionRequest.from({
93
- firstCallArgsHash: packedArgs.hash,
94
- origin: this.contractAddress,
95
- functionData: FunctionData.fromAbi(this.functionDao),
96
- txContext: new TxContext(nodeInfo.chainId, nodeInfo.protocolVersion, gasSettings),
97
- argsOfCalls: [packedArgs],
98
- authWitnesses: [],
99
- });
100
- const simulatedTx = await this.wallet.simulateTx(txRequest, true, options.from ?? this.wallet.getAddress());
101
- const flattened = simulatedTx.privateReturnValues;
102
- return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
103
- } else {
104
- const txRequest = await this.create();
105
- const simulatedTx = await this.wallet.simulateTx(txRequest, true);
106
- this.txRequest = undefined;
107
- const flattened = simulatedTx.publicOutput?.publicReturnValues;
108
- return flattened ? decodeReturnValues(this.functionDao, flattened) : [];
109
- }
86
+ const simulatedTx = await this.wallet.simulateTx(txRequest, true, options?.from);
87
+
88
+ // As account entrypoints are private, for private functions we retrieve the return values from the first nested call
89
+ // since we're interested in the first set of values AFTER the account entrypoint
90
+ // For public functions we retrieve the first values directly from the public output.
91
+ const rawReturnValues =
92
+ this.functionDao.functionType == FunctionType.PRIVATE
93
+ ? simulatedTx.privateReturnValues?.nested?.[0].values
94
+ : simulatedTx.publicOutput?.publicReturnValues?.values;
95
+
96
+ return rawReturnValues ? decodeReturnValues(this.functionDao, rawReturnValues) : [];
110
97
  }
111
98
  }
@@ -37,8 +37,9 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
37
37
  return {
38
38
  name: 'entrypoint',
39
39
  isInitializer: false,
40
- functionType: 'secret',
40
+ functionType: 'private',
41
41
  isInternal: false,
42
+ isStatic: false,
42
43
  parameters: [
43
44
  {
44
45
  name: 'app_payload',
@@ -73,6 +74,7 @@ export class DefaultMultiCallEntrypoint implements EntrypointInterface {
73
74
  },
74
75
  },
75
76
  { name: 'is_public', type: { kind: 'boolean' } },
77
+ { name: 'is_static', type: { kind: 'boolean' } },
76
78
  ],
77
79
  },
78
80
  },
@@ -33,6 +33,8 @@ type EncodedFunctionCall = {
33
33
  target_address: Fr;
34
34
  /** Whether the function is public or private */
35
35
  is_public: boolean;
36
+ /** Whether the function can alter state */
37
+ is_static: boolean;
36
38
  };
37
39
  /* eslint-enable camelcase */
38
40
 
@@ -54,6 +56,7 @@ export class EntrypointPayload {
54
56
  function_selector: call.functionData.selector.toField(),
55
57
  target_address: call.to.toField(),
56
58
  is_public: !call.functionData.isPrivate,
59
+ is_static: call.isStatic,
57
60
  }));
58
61
  /* eslint-enable camelcase */
59
62
 
@@ -96,6 +99,7 @@ export class EntrypointPayload {
96
99
  call.function_selector,
97
100
  call.target_address,
98
101
  new Fr(call.is_public),
102
+ new Fr(call.is_static),
99
103
  ]),
100
104
  this.#nonce,
101
105
  ];
@@ -54,7 +54,8 @@ export class NativeFeePaymentMethod implements FeePaymentMethod {
54
54
  return Promise.resolve([
55
55
  {
56
56
  to: this.#gasTokenAddress,
57
- functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), false),
57
+ functionData: new FunctionData(FunctionSelector.fromSignature('pay_fee(Field)'), /*isPrivate=*/ false),
58
+ isStatic: false,
58
59
  args: [gasSettings.getFeeLimit()],
59
60
  },
60
61
  ]);
@@ -65,7 +65,11 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
65
65
  this.wallet.getVersion(),
66
66
  {
67
67
  args: [this.wallet.getCompleteAddress().address, this.paymentContract, maxFee, nonce],
68
- functionData: new FunctionData(FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'), true),
68
+ functionData: new FunctionData(
69
+ FunctionSelector.fromSignature('unshield((Field),(Field),Field,Field)'),
70
+ /*isPrivate=*/ true,
71
+ ),
72
+ isStatic: false,
69
73
  to: this.asset,
70
74
  },
71
75
  );
@@ -78,8 +82,9 @@ export class PrivateFeePaymentMethod implements FeePaymentMethod {
78
82
  to: this.getPaymentContract(),
79
83
  functionData: new FunctionData(
80
84
  FunctionSelector.fromSignature('fee_entrypoint_private(Field,(Field),Field,Field)'),
81
- true,
85
+ /*isPrivate=*/ true,
82
86
  ),
87
+ isStatic: false,
83
88
  args: [maxFee, this.asset, secretHashForRebate, nonce],
84
89
  },
85
90
  ];
@@ -60,8 +60,9 @@ export class PublicFeePaymentMethod implements FeePaymentMethod {
60
60
  args: [this.wallet.getAddress(), this.paymentContract, maxFee, nonce],
61
61
  functionData: new FunctionData(
62
62
  FunctionSelector.fromSignature('transfer_public((Field),(Field),Field,Field)'),
63
- false,
63
+ /*isPrivate=*/ false,
64
64
  ),
65
+ isStatic: false,
65
66
  to: this.asset,
66
67
  },
67
68
  );
@@ -72,8 +73,9 @@ export class PublicFeePaymentMethod implements FeePaymentMethod {
72
73
  to: this.getPaymentContract(),
73
74
  functionData: new FunctionData(
74
75
  FunctionSelector.fromSignature('fee_entrypoint_public(Field,(Field),Field)'),
75
- true,
76
+ /*isPrivate=*/ true,
76
77
  ),
78
+ isStatic: false,
77
79
  args: [maxFee, this.asset, nonce],
78
80
  },
79
81
  ]);
package/src/index.ts CHANGED
@@ -124,7 +124,8 @@ export {
124
124
  Comparator,
125
125
  SiblingPath,
126
126
  EncryptedLogHeader,
127
- EncryptedLogBody,
127
+ EncryptedLogIncomingBody,
128
+ EncryptedLogOutgoingBody,
128
129
  } from '@aztec/circuit-types';
129
130
  export { NodeInfo } from '@aztec/types/interfaces';
130
131