@aztec/accounts 0.17.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 (59) hide show
  1. package/README.md +38 -0
  2. package/dest/artifacts/EcdsaAccount.json +1090 -0
  3. package/dest/artifacts/SchnorrAccount.json +1078 -0
  4. package/dest/artifacts/SchnorrSingleKeyAccount.json +951 -0
  5. package/dest/defaults/account_contract.d.ts +16 -0
  6. package/dest/defaults/account_contract.d.ts.map +1 -0
  7. package/dest/defaults/account_contract.js +17 -0
  8. package/dest/defaults/account_entrypoint.d.ts +17 -0
  9. package/dest/defaults/account_entrypoint.d.ts.map +1 -0
  10. package/dest/defaults/account_entrypoint.js +117 -0
  11. package/dest/defaults/account_interface.d.ts +17 -0
  12. package/dest/defaults/account_interface.d.ts.map +1 -0
  13. package/dest/defaults/account_interface.js +22 -0
  14. package/dest/defaults/constants.d.ts +5 -0
  15. package/dest/defaults/constants.d.ts.map +1 -0
  16. package/dest/defaults/constants.js +5 -0
  17. package/dest/defaults/entrypoint_payload.d.ts +32 -0
  18. package/dest/defaults/entrypoint_payload.d.ts.map +1 -0
  19. package/dest/defaults/entrypoint_payload.js +50 -0
  20. package/dest/defaults/index.d.ts +13 -0
  21. package/dest/defaults/index.d.ts.map +1 -0
  22. package/dest/defaults/index.js +13 -0
  23. package/dest/ecdsa/account_contract.d.ts +15 -0
  24. package/dest/ecdsa/account_contract.d.ts.map +1 -0
  25. package/dest/ecdsa/account_contract.js +33 -0
  26. package/dest/ecdsa/artifact.d.ts +3 -0
  27. package/dest/ecdsa/artifact.d.ts.map +1 -0
  28. package/dest/ecdsa/artifact.js +3 -0
  29. package/dest/ecdsa/index.d.ts +31 -0
  30. package/dest/ecdsa/index.d.ts.map +1 -0
  31. package/dest/ecdsa/index.js +32 -0
  32. package/dest/schnorr/account_contract.d.ts +15 -0
  33. package/dest/schnorr/account_contract.d.ts.map +1 -0
  34. package/dest/schnorr/account_contract.js +33 -0
  35. package/dest/schnorr/artifact.d.ts +3 -0
  36. package/dest/schnorr/artifact.d.ts.map +1 -0
  37. package/dest/schnorr/artifact.js +3 -0
  38. package/dest/schnorr/index.d.ts +30 -0
  39. package/dest/schnorr/index.d.ts.map +1 -0
  40. package/dest/schnorr/index.js +32 -0
  41. package/dest/single_key/account_contract.d.ts +14 -0
  42. package/dest/single_key/account_contract.d.ts.map +1 -0
  43. package/dest/single_key/account_contract.js +40 -0
  44. package/dest/single_key/artifact.d.ts +3 -0
  45. package/dest/single_key/artifact.d.ts.map +1 -0
  46. package/dest/single_key/artifact.js +3 -0
  47. package/dest/single_key/index.d.ts +31 -0
  48. package/dest/single_key/index.d.ts.map +1 -0
  49. package/dest/single_key/index.js +33 -0
  50. package/dest/testing/create_account.d.ts +16 -0
  51. package/dest/testing/create_account.d.ts.map +1 -0
  52. package/dest/testing/create_account.js +30 -0
  53. package/dest/testing/index.d.ts +11 -0
  54. package/dest/testing/index.d.ts.map +1 -0
  55. package/dest/testing/index.js +11 -0
  56. package/dest/testing/sandbox.d.ts +22 -0
  57. package/dest/testing/sandbox.d.ts.map +1 -0
  58. package/dest/testing/sandbox.js +48 -0
  59. package/package.json +74 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schnorr/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAa,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;AAE/D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,oBAAoB,EAAE,kBAAkB,EACxC,iBAAiB,EAAE,kBAAkB,EACrC,aAAa,CAAC,EAAE,IAAI,GAAG,eAAe,GACrC,cAAc,CAEhB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,YAAY,EACrB,iBAAiB,EAAE,kBAAkB,GACpC,OAAO,CAAC,aAAa,CAAC,CAExB"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The `@aztec/accounts/schnorr` export provides an account contract implementation that uses Schnorr signatures with a Grumpkin key for authentication, and a separate Grumpkin key for encryption.
3
+ * This is the suggested account contract type for most use cases within Aztec.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ import { AccountManager } from '@aztec/aztec.js/account';
8
+ import { getWallet } from '@aztec/aztec.js/wallet';
9
+ import { SchnorrAccountContract } from './account_contract.js';
10
+ export { SchnorrAccountContract };
11
+ export { SchnorrAccountContractArtifact } from './artifact.js';
12
+ /**
13
+ * Creates an Account Manager that relies on a Grumpkin signing key for authentication.
14
+ * @param pxe - An PXE server instance.
15
+ * @param encryptionPrivateKey - Grumpkin key used for note encryption.
16
+ * @param signingPrivateKey - Grumpkin key used for signing transactions.
17
+ * @param saltOrAddress - Deployment salt or complete address if account contract is already deployed.
18
+ */
19
+ export function getSchnorrAccount(pxe, encryptionPrivateKey, signingPrivateKey, saltOrAddress) {
20
+ return new AccountManager(pxe, encryptionPrivateKey, new SchnorrAccountContract(signingPrivateKey), saltOrAddress);
21
+ }
22
+ /**
23
+ * Gets a wallet for an already registered account using Schnorr signatures.
24
+ * @param pxe - An PXE server instance.
25
+ * @param address - Address for the account.
26
+ * @param signingPrivateKey - Grumpkin key used for signing transactions.
27
+ * @returns A wallet for this account that can be used to interact with a contract instance.
28
+ */
29
+ export function getSchnorrWallet(pxe, address, signingPrivateKey) {
30
+ return getWallet(pxe, address, new SchnorrAccountContract(signingPrivateKey));
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2Nobm9yci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSWxFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRS9ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0FBRWxDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUvRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLEdBQVEsRUFDUixvQkFBd0MsRUFDeEMsaUJBQXFDLEVBQ3JDLGFBQXNDO0lBRXRDLE9BQU8sSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLG9CQUFvQixFQUFFLElBQUksc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsRUFBRSxhQUFhLENBQUMsQ0FBQztBQUNySCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixHQUFRLEVBQ1IsT0FBcUIsRUFDckIsaUJBQXFDO0lBRXJDLE9BQU8sU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQyJ9
@@ -0,0 +1,14 @@
1
+ import { AuthWitnessProvider } from '@aztec/aztec.js/account';
2
+ import { CompleteAddress, GrumpkinPrivateKey } from '@aztec/types';
3
+ import { DefaultAccountContract } from '../defaults/account_contract.js';
4
+ /**
5
+ * Account contract that authenticates transactions using Schnorr signatures verified against
6
+ * the note encryption key, relying on a single private key for both encryption and authentication.
7
+ */
8
+ export declare class SingleKeyAccountContract extends DefaultAccountContract {
9
+ private encryptionPrivateKey;
10
+ constructor(encryptionPrivateKey: GrumpkinPrivateKey);
11
+ getDeploymentArgs(): any[];
12
+ getAuthWitnessProvider({ partialAddress }: CompleteAddress): AuthWitnessProvider;
13
+ }
14
+ //# sourceMappingURL=account_contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account_contract.d.ts","sourceRoot":"","sources":["../../src/single_key/account_contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,EAAe,eAAe,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAGzE;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,sBAAsB;IACtD,OAAO,CAAC,oBAAoB;gBAApB,oBAAoB,EAAE,kBAAkB;IAI5D,iBAAiB,IAAI,GAAG,EAAE;IAI1B,sBAAsB,CAAC,EAAE,cAAc,EAAE,EAAE,eAAe,GAAG,mBAAmB;CAGjF"}
@@ -0,0 +1,40 @@
1
+ import { generatePublicKey } from '@aztec/aztec.js';
2
+ import { Schnorr } from '@aztec/circuits.js/barretenberg';
3
+ import { AuthWitness } from '@aztec/types';
4
+ import { DefaultAccountContract } from '../defaults/account_contract.js';
5
+ import { SchnorrSingleKeyAccountContractArtifact } from './artifact.js';
6
+ /**
7
+ * Account contract that authenticates transactions using Schnorr signatures verified against
8
+ * the note encryption key, relying on a single private key for both encryption and authentication.
9
+ */
10
+ export class SingleKeyAccountContract extends DefaultAccountContract {
11
+ constructor(encryptionPrivateKey) {
12
+ super(SchnorrSingleKeyAccountContractArtifact);
13
+ this.encryptionPrivateKey = encryptionPrivateKey;
14
+ }
15
+ getDeploymentArgs() {
16
+ return [];
17
+ }
18
+ getAuthWitnessProvider({ partialAddress }) {
19
+ return new SingleKeyAuthWitnessProvider(this.encryptionPrivateKey, partialAddress);
20
+ }
21
+ }
22
+ /**
23
+ * Creates auth witnesses using Schnorr signatures and including the partial address and public key
24
+ * in the witness, so verifiers do not need to store the public key and can instead validate it
25
+ * by reconstructing the current address.
26
+ */
27
+ class SingleKeyAuthWitnessProvider {
28
+ constructor(privateKey, partialAddress) {
29
+ this.privateKey = privateKey;
30
+ this.partialAddress = partialAddress;
31
+ }
32
+ createAuthWitness(message) {
33
+ const schnorr = new Schnorr();
34
+ const signature = schnorr.constructSignature(message.toBuffer(), this.privateKey);
35
+ const publicKey = generatePublicKey(this.privateKey);
36
+ const witness = [...publicKey.toFields(), ...signature.toBuffer(), this.partialAddress];
37
+ return Promise.resolve(new AuthWitness(message, witness));
38
+ }
39
+ }
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudF9jb250cmFjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zaW5nbGVfa2V5L2FjY291bnRfY29udHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHcEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzFELE9BQU8sRUFBRSxXQUFXLEVBQXVDLE1BQU0sY0FBYyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV4RTs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsc0JBQXNCO0lBQ2xFLFlBQW9CLG9CQUF3QztRQUMxRCxLQUFLLENBQUMsdUNBQTJELENBQUMsQ0FBQztRQURqRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQW9CO0lBRTVELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxFQUFFLGNBQWMsRUFBbUI7UUFDeEQsT0FBTyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNyRixDQUFDO0NBQ0Y7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSw0QkFBNEI7SUFDaEMsWUFBb0IsVUFBOEIsRUFBVSxjQUE4QjtRQUF0RSxlQUFVLEdBQVYsVUFBVSxDQUFvQjtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtJQUFHLENBQUM7SUFFOUYsaUJBQWlCLENBQUMsT0FBVztRQUMzQixNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRCxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLEdBQUcsU0FBUyxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN4RixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGIn0=
@@ -0,0 +1,3 @@
1
+ import { ContractArtifact } from '@aztec/aztec.js';
2
+ export declare const SchnorrSingleKeyAccountContractArtifact: ContractArtifact;
3
+ //# sourceMappingURL=artifact.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifact.d.ts","sourceRoot":"","sources":["../../src/single_key/artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAInD,eAAO,MAAM,uCAAuC,kBAA0D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import SchnorrSingleKeyAccountContractJson from '../artifacts/SchnorrSingleKeyAccount.json' assert { type: 'json' };
2
+ export const SchnorrSingleKeyAccountContractArtifact = SchnorrSingleKeyAccountContractJson;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2luZ2xlX2tleS9hcnRpZmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLG1DQUFtQyxNQUFNLDJDQUEyQyxDQUFDLFNBQVMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBRXBILE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLG1DQUF1RCxDQUFDIn0=
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
+ * It is not recommended to use this account type in production.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ import { AccountManager, Salt } from '@aztec/aztec.js/account';
8
+ import { AccountWallet } from '@aztec/aztec.js/wallet';
9
+ import { AztecAddress } from '@aztec/circuits.js';
10
+ import { CompleteAddress, GrumpkinPrivateKey, PXE } from '@aztec/types';
11
+ import { SingleKeyAccountContract } from './account_contract.js';
12
+ export { SingleKeyAccountContract };
13
+ export { SchnorrSingleKeyAccountContractArtifact as SingleKeyAccountContractArtifact } from './artifact.js';
14
+ /**
15
+ * Creates an Account that uses the same Grumpkin key for encryption and authentication.
16
+ * @param pxe - An PXE server instance.
17
+ * @param encryptionAndSigningPrivateKey - Grumpkin key used for note encryption and signing transactions.
18
+ * @param saltOrAddress - Deployment salt or complete address if account contract is already deployed.
19
+ */
20
+ export declare function getSingleKeyAccount(pxe: PXE, encryptionAndSigningPrivateKey: GrumpkinPrivateKey, saltOrAddress?: Salt | CompleteAddress): AccountManager;
21
+ /**
22
+ * Gets a wallet for an already registered account using Schnorr signatures with a single key for encryption and authentication.
23
+ * @param pxe - An PXE server instance.
24
+ * @param address - Address for the account.
25
+ * @param signingPrivateKey - Grumpkin key used for note encryption and signing transactions.
26
+ * @returns A wallet for this account that can be used to interact with a contract instance.
27
+ */
28
+ export declare function getSingleKeyWallet(pxe: PXE, address: AztecAddress, signingKey: GrumpkinPrivateKey): Promise<AccountWallet>;
29
+ export { getSingleKeyAccount as getUnsafeSchnorrAccount };
30
+ export { getSingleKeyWallet as getUnsafeSchnorrWallet };
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/single_key/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAa,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,wBAAwB,EAAE,CAAC;AAEpC,OAAO,EAAE,uCAAuC,IAAI,gCAAgC,EAAE,MAAM,eAAe,CAAC;AAE5G;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,GAAG,EACR,8BAA8B,EAAE,kBAAkB,EAClD,aAAa,CAAC,EAAE,IAAI,GAAG,eAAe,GACrC,cAAc,CAOhB;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,CAAC;AAC1D,OAAO,EAAE,kBAAkB,IAAI,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The `@aztec/accounts/single_key` export provides a testing account contract implementation that uses a single Grumpkin key for both authentication and encryption.
3
+ * It is not recommended to use this account type in production.
4
+ *
5
+ * @packageDocumentation
6
+ */
7
+ import { AccountManager } from '@aztec/aztec.js/account';
8
+ import { getWallet } from '@aztec/aztec.js/wallet';
9
+ import { SingleKeyAccountContract } from './account_contract.js';
10
+ export { SingleKeyAccountContract };
11
+ export { SchnorrSingleKeyAccountContractArtifact as SingleKeyAccountContractArtifact } from './artifact.js';
12
+ /**
13
+ * Creates an Account that uses the same Grumpkin key for encryption and authentication.
14
+ * @param pxe - An PXE server instance.
15
+ * @param encryptionAndSigningPrivateKey - Grumpkin key used for note encryption and signing transactions.
16
+ * @param saltOrAddress - Deployment salt or complete address if account contract is already deployed.
17
+ */
18
+ export function getSingleKeyAccount(pxe, encryptionAndSigningPrivateKey, saltOrAddress) {
19
+ return new AccountManager(pxe, encryptionAndSigningPrivateKey, new SingleKeyAccountContract(encryptionAndSigningPrivateKey), saltOrAddress);
20
+ }
21
+ /**
22
+ * Gets a wallet for an already registered account using Schnorr signatures with a single key for encryption and authentication.
23
+ * @param pxe - An PXE server instance.
24
+ * @param address - Address for the account.
25
+ * @param signingPrivateKey - Grumpkin key used for note encryption and signing transactions.
26
+ * @returns A wallet for this account that can be used to interact with a contract instance.
27
+ */
28
+ export function getSingleKeyWallet(pxe, address, signingKey) {
29
+ return getWallet(pxe, address, new SingleKeyAccountContract(signingKey));
30
+ }
31
+ export { getSingleKeyAccount as getUnsafeSchnorrAccount };
32
+ export { getSingleKeyWallet as getUnsafeSchnorrWallet };
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2luZ2xlX2tleS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxjQUFjLEVBQVEsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQWlCLFNBQVMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBSWxFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWpFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0FBRXBDLE9BQU8sRUFBRSx1Q0FBdUMsSUFBSSxnQ0FBZ0MsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU1Rzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FDakMsR0FBUSxFQUNSLDhCQUFrRCxFQUNsRCxhQUFzQztJQUV0QyxPQUFPLElBQUksY0FBYyxDQUN2QixHQUFHLEVBQ0gsOEJBQThCLEVBQzlCLElBQUksd0JBQXdCLENBQUMsOEJBQThCLENBQUMsRUFDNUQsYUFBYSxDQUNkLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxHQUFRLEVBQ1IsT0FBcUIsRUFDckIsVUFBOEI7SUFFOUIsT0FBTyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sRUFBRSxJQUFJLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELE9BQU8sRUFBRSxtQkFBbUIsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxzQkFBc0IsRUFBRSxDQUFDIn0=
@@ -0,0 +1,16 @@
1
+ import { AccountWalletWithPrivateKey } from '@aztec/aztec.js/wallet';
2
+ import { PXE } from '@aztec/types';
3
+ /**
4
+ * Deploys and registers a new account using random private keys and returns the associated Schnorr account wallet. Useful for testing.
5
+ * @param pxe - PXE.
6
+ * @returns - A wallet for a fresh account.
7
+ */
8
+ export declare function createAccount(pxe: PXE): Promise<AccountWalletWithPrivateKey>;
9
+ /**
10
+ * Creates a given number of random accounts using the Schnorr account wallet.
11
+ * @param pxe - PXE.
12
+ * @param numberOfAccounts - How many accounts to create.
13
+ * @returns The created account wallets.
14
+ */
15
+ export declare function createAccounts(pxe: PXE, numberOfAccounts?: number): Promise<AccountWalletWithPrivateKey[]>;
16
+ //# sourceMappingURL=create_account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_account.d.ts","sourceRoot":"","sources":["../../src/testing/create_account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAInC;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAE5E;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,gBAAgB,SAAI,GAAG,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAc3G"}
@@ -0,0 +1,30 @@
1
+ import { GrumpkinScalar } from '@aztec/circuits.js';
2
+ import { getSchnorrAccount } from '../schnorr/index.js';
3
+ /**
4
+ * Deploys and registers a new account using random private keys and returns the associated Schnorr account wallet. Useful for testing.
5
+ * @param pxe - PXE.
6
+ * @returns - A wallet for a fresh account.
7
+ */
8
+ export function createAccount(pxe) {
9
+ return getSchnorrAccount(pxe, GrumpkinScalar.random(), GrumpkinScalar.random()).waitDeploy();
10
+ }
11
+ /**
12
+ * Creates a given number of random accounts using the Schnorr account wallet.
13
+ * @param pxe - PXE.
14
+ * @param numberOfAccounts - How many accounts to create.
15
+ * @returns The created account wallets.
16
+ */
17
+ export async function createAccounts(pxe, numberOfAccounts = 1) {
18
+ const accounts = [];
19
+ // Prepare deployments
20
+ for (let i = 0; i < numberOfAccounts; ++i) {
21
+ const account = getSchnorrAccount(pxe, GrumpkinScalar.random(), GrumpkinScalar.random());
22
+ await account.getDeployMethod().then(d => d.simulate({ contractAddressSalt: account.salt }));
23
+ accounts.push(account);
24
+ }
25
+ // Send them and await them to be mined
26
+ const txs = await Promise.all(accounts.map(account => account.deploy()));
27
+ await Promise.all(txs.map(tx => tx.wait({ interval: 0.1 })));
28
+ return Promise.all(accounts.map(account => account.getWallet()));
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlX2FjY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9jcmVhdGVfYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFeEQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsR0FBUTtJQUNwQyxPQUFPLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLEVBQUUsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDL0YsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQUMsR0FBUSxFQUFFLGdCQUFnQixHQUFHLENBQUM7SUFDakUsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO0lBRXBCLHNCQUFzQjtJQUN0QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDekMsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUMsR0FBRyxFQUFFLGNBQWMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN6RixNQUFNLE9BQU8sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM3RixRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3hCO0lBRUQsdUNBQXVDO0lBQ3ZDLE1BQU0sR0FBRyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RSxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ25FLENBQUMifQ==
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The `@aztec/accounts/testing` export provides utility methods for testing, in particular in a Sandbox environment.
3
+ *
4
+ * Use the {@link createAccount} and {@link createAccounts} methods to create new sample accounts for testing,
5
+ * or use {@link getSandboxAccountsWallets} to obtain a list of wallets for the sandbox pre-seeded accounts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export * from './create_account.js';
10
+ export * from './sandbox.js';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The `@aztec/accounts/testing` export provides utility methods for testing, in particular in a Sandbox environment.
3
+ *
4
+ * Use the {@link createAccount} and {@link createAccounts} methods to create new sample accounts for testing,
5
+ * or use {@link getSandboxAccountsWallets} to obtain a list of wallets for the sandbox pre-seeded accounts.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ export * from './create_account.js';
10
+ export * from './sandbox.js';
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGVzdGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGNBQWMsQ0FBQyJ9
@@ -0,0 +1,22 @@
1
+ import { AccountWalletWithPrivateKey } from '@aztec/aztec.js/wallet';
2
+ import { Fr } from '@aztec/foundation/fields';
3
+ import { PXE } from '@aztec/types';
4
+ export declare const INITIAL_SANDBOX_ENCRYPTION_KEYS: import("@aztec/foundation/fields").Fq[];
5
+ export declare const INITIAL_SANDBOX_SIGNING_KEYS: import("@aztec/foundation/fields").Fq[];
6
+ export declare const INITIAL_SANDBOX_SALTS: Fr[];
7
+ /**
8
+ * Gets a collection of wallets for the Aztec accounts that are initially stored in the sandbox.
9
+ * @param pxe - PXE instance.
10
+ * @returns A set of AccountWallet implementations for each of the initial accounts.
11
+ */
12
+ export declare function getSandboxAccountsWallets(pxe: PXE): Promise<AccountWalletWithPrivateKey[]>;
13
+ /**
14
+ * Deploys the initial set of schnorr signature accounts to the sandbox
15
+ * @param pxe - PXE instance.
16
+ * @returns The set of deployed Account objects and associated private encryption keys
17
+ */
18
+ export declare function deployInitialSandboxAccounts(pxe: PXE): Promise<{
19
+ account: import("@aztec/aztec.js").AccountManager;
20
+ privateKey: import("@aztec/foundation/fields").Fq;
21
+ }[]>;
22
+ //# sourceMappingURL=sandbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/testing/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,EAAE,EAAkB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAInC,eAAO,MAAM,+BAA+B,yCAI3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,yCAAkC,CAAC;AAE5E,eAAO,MAAM,qBAAqB,MAA8B,CAAC;AAEjE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAM1F;AAED;;;;GAIG;AACH,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,GAAG;;;KA4B1D"}
@@ -0,0 +1,48 @@
1
+ import { Fr, GrumpkinScalar } from '@aztec/foundation/fields';
2
+ import { getSchnorrAccount } from '../schnorr/index.js';
3
+ export const INITIAL_SANDBOX_ENCRYPTION_KEYS = [
4
+ GrumpkinScalar.fromString('2153536ff6628eee01cf4024889ff977a18d9fa61d0e414422f7681cf085c281'),
5
+ GrumpkinScalar.fromString('aebd1b4be76efa44f5ee655c20bf9ea60f7ae44b9a7fd1fd9f189c7a0b0cdae'),
6
+ GrumpkinScalar.fromString('0f6addf0da06c33293df974a565b03d1ab096090d907d98055a8b7f4954e120c'),
7
+ ];
8
+ export const INITIAL_SANDBOX_SIGNING_KEYS = INITIAL_SANDBOX_ENCRYPTION_KEYS;
9
+ export const INITIAL_SANDBOX_SALTS = [Fr.ZERO, Fr.ZERO, Fr.ZERO];
10
+ /**
11
+ * Gets a collection of wallets for the Aztec accounts that are initially stored in the sandbox.
12
+ * @param pxe - PXE instance.
13
+ * @returns A set of AccountWallet implementations for each of the initial accounts.
14
+ */
15
+ export function getSandboxAccountsWallets(pxe) {
16
+ return Promise.all(INITIAL_SANDBOX_ENCRYPTION_KEYS.map((encryptionKey, i) => getSchnorrAccount(pxe, encryptionKey, INITIAL_SANDBOX_SIGNING_KEYS[i], INITIAL_SANDBOX_SALTS[i]).getWallet()));
17
+ }
18
+ /**
19
+ * Deploys the initial set of schnorr signature accounts to the sandbox
20
+ * @param pxe - PXE instance.
21
+ * @returns The set of deployed Account objects and associated private encryption keys
22
+ */
23
+ export async function deployInitialSandboxAccounts(pxe) {
24
+ const accounts = INITIAL_SANDBOX_ENCRYPTION_KEYS.map((privateKey, i) => {
25
+ const account = getSchnorrAccount(pxe, privateKey, INITIAL_SANDBOX_SIGNING_KEYS[i], INITIAL_SANDBOX_SALTS[i]);
26
+ return {
27
+ account,
28
+ privateKey,
29
+ };
30
+ });
31
+ // Attempt to get as much parallelism as possible
32
+ const deployMethods = await Promise.all(accounts.map(async (x) => {
33
+ const deployMethod = await x.account.getDeployMethod();
34
+ await deployMethod.create({ contractAddressSalt: x.account.salt });
35
+ await deployMethod.simulate({});
36
+ return deployMethod;
37
+ }));
38
+ // Send tx together to try and get them in the same rollup
39
+ const sentTxs = deployMethods.map(dm => {
40
+ return dm.send();
41
+ });
42
+ await Promise.all(sentTxs.map(async (tx, i) => {
43
+ const wallet = await accounts[i].account.getWallet();
44
+ return tx.wait({ wallet });
45
+ }));
46
+ return accounts;
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuZGJveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90ZXN0aW5nL3NhbmRib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV4RCxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM3QyxjQUFjLENBQUMsVUFBVSxDQUFDLGtFQUFrRSxDQUFDO0lBQzdGLGNBQWMsQ0FBQyxVQUFVLENBQUMsaUVBQWlFLENBQUM7SUFDNUYsY0FBYyxDQUFDLFVBQVUsQ0FBQyxrRUFBa0UsQ0FBQztDQUM5RixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsK0JBQStCLENBQUM7QUFFNUUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRWpFOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUseUJBQXlCLENBQUMsR0FBUTtJQUNoRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUN2RCxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsYUFBYyxFQUFFLDRCQUE0QixDQUFDLENBQUMsQ0FBRSxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQy9HLENBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSw0QkFBNEIsQ0FBQyxHQUFRO0lBQ3pELE1BQU0sUUFBUSxHQUFHLCtCQUErQixDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyRSxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsVUFBVSxFQUFFLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUcsT0FBTztZQUNMLE9BQU87WUFDUCxVQUFVO1NBQ1gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0gsaURBQWlEO0lBQ2pELE1BQU0sYUFBYSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDckMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxFQUFDLEVBQUU7UUFDckIsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3ZELE1BQU0sWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNuRSxNQUFNLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDaEMsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNGLDBEQUEwRDtJQUMxRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1FBQ3JDLE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUMxQixNQUFNLE1BQU0sR0FBRyxNQUFNLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckQsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3QixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyJ9
package/package.json ADDED
@@ -0,0 +1,74 @@
1
+ {
2
+ "name": "@aztec/accounts",
3
+ "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/accounts",
4
+ "description": "Implementation of sample account contracts for Aztec Network",
5
+ "version": "0.17.0",
6
+ "type": "module",
7
+ "exports": {
8
+ "./defaults": "./dest/defaults/index.js",
9
+ "./ecdsa": "./dest/ecdsa/index.js",
10
+ "./schnorr": "./dest/schnorr/index.js",
11
+ "./single_key": "./dest/single_key/index.js",
12
+ "./testing": "./dest/testing/index.js"
13
+ },
14
+ "typedocOptions": {
15
+ "entryPoints": [
16
+ "./src/defaults/index.ts",
17
+ "./src/ecdsa/index.ts",
18
+ "./src/schnorr/index.ts",
19
+ "./src/single_key/index.ts",
20
+ "./src/testing/index.ts"
21
+ ],
22
+ "name": "Accounts",
23
+ "tsconfig": "./tsconfig.json"
24
+ },
25
+ "scripts": {
26
+ "build": "yarn clean && yarn build:copy-contracts && tsc -b",
27
+ "build:copy-contracts": "mkdir -p ./src/artifacts && cp ../noir-contracts/src/SchnorrAccount.json ../noir-contracts/src/EcdsaAccount.json ../noir-contracts/src/SchnorrSingleKeyAccount.json ./src/artifacts",
28
+ "build:dev": "tsc -b --watch",
29
+ "build:ts": "tsc -b",
30
+ "clean": "rm -rf ./dest .tsbuildinfo ./src/artifacts",
31
+ "formatting": "run -T prettier --check ./src && run -T eslint ./src",
32
+ "formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
33
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules $(yarn bin jest) --passWithNoTests"
34
+ },
35
+ "inherits": [
36
+ "../package.common.json",
37
+ "./package.local.json"
38
+ ],
39
+ "jest": {
40
+ "preset": "ts-jest/presets/default-esm",
41
+ "moduleNameMapper": {
42
+ "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
43
+ },
44
+ "testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
45
+ "rootDir": "./src"
46
+ },
47
+ "dependencies": {
48
+ "@aztec/aztec.js": "0.17.0",
49
+ "@aztec/circuits.js": "0.17.0",
50
+ "@aztec/ethereum": "0.17.0",
51
+ "@aztec/foundation": "0.17.0",
52
+ "@aztec/types": "0.17.0",
53
+ "tslib": "^2.4.0"
54
+ },
55
+ "devDependencies": {
56
+ "@jest/globals": "^29.5.0",
57
+ "@types/jest": "^29.5.0",
58
+ "@types/node": "^18.7.23",
59
+ "jest": "^29.5.0",
60
+ "jest-mock-extended": "^3.0.3",
61
+ "ts-jest": "^29.1.0",
62
+ "ts-loader": "^9.4.4",
63
+ "ts-node": "^10.9.1",
64
+ "typescript": "^5.0.4"
65
+ },
66
+ "files": [
67
+ "dest",
68
+ "src",
69
+ "!*.test.*"
70
+ ],
71
+ "engines": {
72
+ "node": ">=18"
73
+ }
74
+ }