@aztec/accounts 0.0.1-commit.3469e52 → 0.0.1-commit.350e0a4d

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 (114) hide show
  1. package/README.md +0 -1
  2. package/artifacts/EcdsaKAccount.json +7794 -1967
  3. package/artifacts/EcdsaRAccount.json +7794 -1967
  4. package/artifacts/SchnorrAccount.json +7818 -2025
  5. package/artifacts/SchnorrInitializerlessAccount.json +8460 -0
  6. package/artifacts/SimulatedEcdsaAccount.json +10610 -0
  7. package/artifacts/SimulatedSchnorrAccount.d.json.ts +3 -0
  8. package/artifacts/SimulatedSchnorrAccount.json +10722 -0
  9. package/dest/defaults/account_contract.d.ts +7 -1
  10. package/dest/defaults/account_contract.d.ts.map +1 -1
  11. package/dest/defaults/account_contract.js +6 -0
  12. package/dest/{stub/account_contract.d.ts → defaults/stub_account_contract.d.ts} +1 -1
  13. package/dest/defaults/stub_account_contract.d.ts.map +1 -0
  14. package/dest/ecdsa/ecdsa_k/account_contract.d.ts +1 -1
  15. package/dest/ecdsa/ecdsa_k/account_contract.js +6 -2
  16. package/dest/ecdsa/ecdsa_k/lazy.js +1 -1
  17. package/dest/ecdsa/ecdsa_r/account_contract.d.ts +1 -1
  18. package/dest/ecdsa/ecdsa_r/account_contract.js +6 -2
  19. package/dest/ecdsa/ecdsa_r/lazy.js +1 -1
  20. package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +1 -1
  21. package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +6 -2
  22. package/dest/ecdsa/stub/index.d.ts +11 -0
  23. package/dest/ecdsa/stub/index.d.ts.map +1 -0
  24. package/dest/ecdsa/stub/index.js +18 -0
  25. package/dest/ecdsa/stub/lazy.d.ts +14 -0
  26. package/dest/ecdsa/stub/lazy.d.ts.map +1 -0
  27. package/dest/ecdsa/stub/lazy.js +22 -0
  28. package/dest/schnorr/account_contract.d.ts +8 -4
  29. package/dest/schnorr/account_contract.d.ts.map +1 -1
  30. package/dest/schnorr/account_contract.js +6 -5
  31. package/dest/schnorr/index.d.ts +3 -23
  32. package/dest/schnorr/index.d.ts.map +1 -1
  33. package/dest/schnorr/index.js +2 -35
  34. package/dest/schnorr/initializerless/index.d.ts +25 -0
  35. package/dest/schnorr/initializerless/index.d.ts.map +1 -0
  36. package/dest/schnorr/initializerless/index.js +46 -0
  37. package/dest/schnorr/initializerless/lazy.d.ts +29 -0
  38. package/dest/schnorr/initializerless/lazy.d.ts.map +1 -0
  39. package/dest/schnorr/initializerless/lazy.js +54 -0
  40. package/dest/schnorr/lazy.d.ts +3 -27
  41. package/dest/schnorr/lazy.d.ts.map +1 -1
  42. package/dest/schnorr/lazy.js +2 -43
  43. package/dest/schnorr/private_immutable/index.d.ts +23 -0
  44. package/dest/schnorr/private_immutable/index.d.ts.map +1 -0
  45. package/dest/schnorr/private_immutable/index.js +35 -0
  46. package/dest/schnorr/private_immutable/lazy.d.ts +27 -0
  47. package/dest/schnorr/private_immutable/lazy.d.ts.map +1 -0
  48. package/dest/schnorr/private_immutable/lazy.js +43 -0
  49. package/dest/schnorr/stub/index.d.ts +11 -0
  50. package/dest/schnorr/stub/index.d.ts.map +1 -0
  51. package/dest/schnorr/stub/index.js +18 -0
  52. package/dest/schnorr/stub/lazy.d.ts +14 -0
  53. package/dest/schnorr/stub/lazy.d.ts.map +1 -0
  54. package/dest/schnorr/stub/lazy.js +22 -0
  55. package/dest/testing/configuration.d.ts +9 -1
  56. package/dest/testing/configuration.d.ts.map +1 -1
  57. package/dest/testing/index.d.ts +5 -5
  58. package/dest/testing/index.d.ts.map +1 -1
  59. package/dest/testing/index.js +11 -5
  60. package/dest/testing/lazy.d.ts +4 -4
  61. package/dest/testing/lazy.d.ts.map +1 -1
  62. package/dest/testing/lazy.js +11 -5
  63. package/dest/utils/ssh_agent.d.ts +1 -1
  64. package/dest/utils/ssh_agent.d.ts.map +1 -1
  65. package/dest/utils/ssh_agent.js +2 -0
  66. package/package.json +10 -13
  67. package/src/defaults/account_contract.ts +9 -0
  68. package/src/ecdsa/ecdsa_k/account_contract.ts +1 -1
  69. package/src/ecdsa/ecdsa_k/lazy.ts +1 -1
  70. package/src/ecdsa/ecdsa_r/account_contract.ts +1 -1
  71. package/src/ecdsa/ecdsa_r/lazy.ts +1 -1
  72. package/src/ecdsa/ssh_ecdsa_r/account_contract.ts +1 -1
  73. package/src/ecdsa/stub/index.ts +28 -0
  74. package/src/ecdsa/stub/lazy.ts +34 -0
  75. package/src/schnorr/account_contract.ts +18 -5
  76. package/src/schnorr/index.ts +2 -50
  77. package/src/schnorr/initializerless/index.ts +62 -0
  78. package/src/schnorr/initializerless/lazy.ts +70 -0
  79. package/src/schnorr/lazy.ts +2 -60
  80. package/src/schnorr/private_immutable/index.ts +50 -0
  81. package/src/schnorr/private_immutable/lazy.ts +60 -0
  82. package/src/schnorr/stub/index.ts +30 -0
  83. package/src/schnorr/stub/lazy.ts +34 -0
  84. package/src/testing/configuration.ts +9 -0
  85. package/src/testing/index.ts +21 -5
  86. package/src/testing/lazy.ts +20 -5
  87. package/src/utils/ssh_agent.ts +2 -0
  88. package/artifacts/SchnorrSingleKeyAccount.json +0 -4695
  89. package/artifacts/SimulatedAccount.json +0 -4496
  90. package/dest/single_key/account_contract.d.ts +0 -17
  91. package/dest/single_key/account_contract.d.ts.map +0 -1
  92. package/dest/single_key/account_contract.js +0 -42
  93. package/dest/single_key/index.d.ts +0 -20
  94. package/dest/single_key/index.d.ts.map +0 -1
  95. package/dest/single_key/index.js +0 -23
  96. package/dest/single_key/lazy.d.ts +0 -24
  97. package/dest/single_key/lazy.d.ts.map +0 -1
  98. package/dest/single_key/lazy.js +0 -31
  99. package/dest/stub/account_contract.d.ts.map +0 -1
  100. package/dest/stub/index.d.ts +0 -20
  101. package/dest/stub/index.d.ts.map +0 -1
  102. package/dest/stub/index.js +0 -28
  103. package/dest/stub/lazy.d.ts +0 -25
  104. package/dest/stub/lazy.d.ts.map +0 -1
  105. package/dest/stub/lazy.js +0 -37
  106. package/src/single_key/account_contract.ts +0 -47
  107. package/src/single_key/index.ts +0 -32
  108. package/src/single_key/lazy.ts +0 -40
  109. package/src/stub/index.ts +0 -40
  110. package/src/stub/lazy.ts +0 -51
  111. /package/artifacts/{SchnorrSingleKeyAccount.d.json.ts → SchnorrInitializerlessAccount.d.json.ts} +0 -0
  112. /package/artifacts/{SimulatedAccount.d.json.ts → SimulatedEcdsaAccount.d.json.ts} +0 -0
  113. /package/dest/{stub/account_contract.js → defaults/stub_account_contract.js} +0 -0
  114. /package/src/{stub/account_contract.ts → defaults/stub_account_contract.ts} +0 -0
@@ -4,19 +4,29 @@
4
4
  * @packageDocumentation
5
5
  */
6
6
  import { Fr } from '@aztec/aztec.js/fields';
7
+ import type { GrumpkinScalar } from '@aztec/foundation/curves/grumpkin';
7
8
  import { deriveSigningKey } from '@aztec/stdlib/keys';
8
9
 
9
- import { getSchnorrAccountContractAddress } from '../schnorr/lazy.js';
10
+ import { getSchnorrInitializerlessAccountContractAddress } from '../schnorr/initializerless/lazy.js';
11
+ import { getSchnorrAccountContractAddress } from '../schnorr/private_immutable/lazy.js';
10
12
  import {
11
13
  INITIAL_TEST_ACCOUNT_SALTS,
12
14
  INITIAL_TEST_ENCRYPTION_KEYS,
13
15
  INITIAL_TEST_SECRET_KEYS,
14
16
  INITIAL_TEST_SIGNING_KEYS,
15
17
  type InitialAccountData,
18
+ type InitialAccountType,
16
19
  } from './configuration.js';
17
20
 
18
21
  export { INITIAL_TEST_ACCOUNT_SALTS, INITIAL_TEST_SECRET_KEYS } from './configuration.js';
19
22
 
23
+ /** Derives the account contract address for the given type */
24
+ function getTestAccountAddress(type: InitialAccountType, secret: Fr, salt: Fr, signingKey?: GrumpkinScalar) {
25
+ return type === 'schnorr'
26
+ ? getSchnorrAccountContractAddress(secret, salt, signingKey)
27
+ : getSchnorrInitializerlessAccountContractAddress(secret, salt, signingKey);
28
+ }
29
+
20
30
  /**
21
31
  * Gets the basic information for initial test accounts.
22
32
  */
@@ -26,7 +36,8 @@ export function getInitialTestAccountsData(): Promise<InitialAccountData[]> {
26
36
  secret,
27
37
  signingKey: INITIAL_TEST_ENCRYPTION_KEYS[i],
28
38
  salt: INITIAL_TEST_ACCOUNT_SALTS[i],
29
- address: await getSchnorrAccountContractAddress(
39
+ type: 'schnorr_initializerless' as const,
40
+ address: await getSchnorrInitializerlessAccountContractAddress(
30
41
  secret,
31
42
  INITIAL_TEST_ACCOUNT_SALTS[i],
32
43
  INITIAL_TEST_SIGNING_KEYS[i],
@@ -36,9 +47,12 @@ export function getInitialTestAccountsData(): Promise<InitialAccountData[]> {
36
47
  }
37
48
 
38
49
  /**
39
- * Generate a fixed amount of random schnorr account contract instance.
50
+ * Generate a fixed amount of random schnorr account contract instances of the given type
40
51
  */
41
- export async function generateSchnorrAccounts(numberOfAccounts: number): Promise<InitialAccountData[]> {
52
+ export async function generateSchnorrAccounts(
53
+ numberOfAccounts: number,
54
+ type: InitialAccountType = 'schnorr_initializerless',
55
+ ): Promise<InitialAccountData[]> {
42
56
  const secrets = Array.from({ length: numberOfAccounts }, () => Fr.random());
43
57
  return await Promise.all(
44
58
  secrets.map(async secret => {
@@ -47,7 +61,8 @@ export async function generateSchnorrAccounts(numberOfAccounts: number): Promise
47
61
  secret,
48
62
  signingKey: deriveSigningKey(secret),
49
63
  salt,
50
- address: await getSchnorrAccountContractAddress(secret, salt),
64
+ type,
65
+ address: await getTestAccountAddress(type, secret, salt),
51
66
  };
52
67
  }),
53
68
  );
@@ -41,6 +41,7 @@ type StoredKey = {
41
41
  export function getIdentities(): Promise<StoredKey[]> {
42
42
  return new Promise((resolve, reject) => {
43
43
  const stream = connectToAgent();
44
+ stream.on('error', reject);
44
45
  stream.on('connect', () => {
45
46
  const request = Buffer.concat([
46
47
  Buffer.from([0, 0, 0, 5 + 4]), // length
@@ -96,6 +97,7 @@ export function getIdentities(): Promise<StoredKey[]> {
96
97
  export function signWithAgent(keyType: Buffer, curveName: Buffer, publicKey: Buffer, data: Buffer) {
97
98
  return new Promise<Buffer>((resolve, reject) => {
98
99
  const stream = connectToAgent();
100
+ stream.on('error', reject);
99
101
  stream.on('connect', () => {
100
102
  // Construct the key blob
101
103
  const keyBlob = Buffer.concat([