@aztec/accounts 0.0.1-commit.03f7ef2 → 0.0.1-commit.04d373f

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 (74) hide show
  1. package/README.md +0 -1
  2. package/artifacts/EcdsaKAccount.json +6743 -2310
  3. package/artifacts/EcdsaRAccount.json +6746 -2313
  4. package/artifacts/SchnorrAccount.json +6768 -2507
  5. package/artifacts/SimulatedEcdsaAccount.json +10114 -0
  6. package/artifacts/SimulatedSchnorrAccount.json +10206 -0
  7. package/dest/defaults/account_contract.d.ts +3 -3
  8. package/dest/defaults/account_contract.d.ts.map +1 -1
  9. package/dest/defaults/account_contract.js +5 -3
  10. package/dest/defaults/index.d.ts +1 -2
  11. package/dest/defaults/index.d.ts.map +1 -1
  12. package/dest/defaults/index.js +1 -2
  13. package/dest/ecdsa/ecdsa_k/account_contract.d.ts +1 -1
  14. package/dest/ecdsa/ecdsa_k/account_contract.js +6 -2
  15. package/dest/ecdsa/ecdsa_r/account_contract.d.ts +1 -1
  16. package/dest/ecdsa/ecdsa_r/account_contract.js +6 -2
  17. package/dest/ecdsa/ssh_ecdsa_r/account_contract.d.ts +1 -1
  18. package/dest/ecdsa/ssh_ecdsa_r/account_contract.js +6 -2
  19. package/dest/schnorr/account_contract.js +2 -4
  20. package/dest/stub/ecdsa/index.d.ts +11 -0
  21. package/dest/stub/ecdsa/index.d.ts.map +1 -0
  22. package/dest/stub/ecdsa/index.js +18 -0
  23. package/dest/stub/ecdsa/lazy.d.ts +14 -0
  24. package/dest/stub/ecdsa/lazy.d.ts.map +1 -0
  25. package/dest/stub/ecdsa/lazy.js +22 -0
  26. package/dest/stub/schnorr/index.d.ts +11 -0
  27. package/dest/stub/schnorr/index.d.ts.map +1 -0
  28. package/dest/stub/schnorr/index.js +18 -0
  29. package/dest/stub/schnorr/lazy.d.ts +14 -0
  30. package/dest/stub/schnorr/lazy.d.ts.map +1 -0
  31. package/dest/stub/schnorr/lazy.js +22 -0
  32. package/dest/utils/ssh_agent.d.ts +1 -1
  33. package/dest/utils/ssh_agent.d.ts.map +1 -1
  34. package/dest/utils/ssh_agent.js +2 -0
  35. package/package.json +12 -13
  36. package/src/defaults/account_contract.ts +9 -5
  37. package/src/defaults/index.ts +0 -1
  38. package/src/ecdsa/ecdsa_k/account_contract.ts +1 -1
  39. package/src/ecdsa/ecdsa_r/account_contract.ts +1 -1
  40. package/src/ecdsa/ssh_ecdsa_r/account_contract.ts +1 -1
  41. package/src/schnorr/account_contract.ts +2 -2
  42. package/src/stub/ecdsa/index.ts +28 -0
  43. package/src/stub/ecdsa/lazy.ts +34 -0
  44. package/src/stub/schnorr/index.ts +30 -0
  45. package/src/stub/schnorr/lazy.ts +34 -0
  46. package/src/utils/ssh_agent.ts +2 -0
  47. package/artifacts/SchnorrSingleKeyAccount.json +0 -4691
  48. package/artifacts/SimulatedAccount.json +0 -4635
  49. package/dest/defaults/account_interface.d.ts +0 -28
  50. package/dest/defaults/account_interface.d.ts.map +0 -1
  51. package/dest/defaults/account_interface.js +0 -36
  52. package/dest/single_key/account_contract.d.ts +0 -17
  53. package/dest/single_key/account_contract.d.ts.map +0 -1
  54. package/dest/single_key/account_contract.js +0 -42
  55. package/dest/single_key/index.d.ts +0 -20
  56. package/dest/single_key/index.d.ts.map +0 -1
  57. package/dest/single_key/index.js +0 -23
  58. package/dest/single_key/lazy.d.ts +0 -24
  59. package/dest/single_key/lazy.d.ts.map +0 -1
  60. package/dest/single_key/lazy.js +0 -31
  61. package/dest/stub/index.d.ts +0 -21
  62. package/dest/stub/index.d.ts.map +0 -1
  63. package/dest/stub/index.js +0 -29
  64. package/dest/stub/lazy.d.ts +0 -23
  65. package/dest/stub/lazy.d.ts.map +0 -1
  66. package/dest/stub/lazy.js +0 -35
  67. package/src/defaults/account_interface.ts +0 -63
  68. package/src/single_key/account_contract.ts +0 -47
  69. package/src/single_key/index.ts +0 -32
  70. package/src/single_key/lazy.ts +0 -40
  71. package/src/stub/index.ts +0 -41
  72. package/src/stub/lazy.ts +0 -49
  73. /package/artifacts/{SchnorrSingleKeyAccount.d.json.ts → SimulatedEcdsaAccount.d.json.ts} +0 -0
  74. /package/artifacts/{SimulatedAccount.d.json.ts → SimulatedSchnorrAccount.d.json.ts} +0 -0
@@ -0,0 +1,34 @@
1
+ import { BaseAccount } from '@aztec/aztec.js/account';
2
+ import type { CompleteAddress } from '@aztec/aztec.js/addresses';
3
+ import { DefaultAccountEntrypoint } from '@aztec/entrypoints/account';
4
+ import { loadContractArtifact } from '@aztec/stdlib/abi';
5
+
6
+ import { StubBaseAccountContract } from '../account_contract.js';
7
+
8
+ /**
9
+ * Lazily loads the Schnorr stub contract artifact (browser-compatible).
10
+ */
11
+ export async function getStubSchnorrAccountContractArtifact() {
12
+ // Cannot assert this import as it's incompatible with bundlers like vite
13
+ // https://github.com/vitejs/vite/issues/19095#issuecomment-2566074352
14
+ const { default: json } = await import('../../../artifacts/SimulatedSchnorrAccount.json');
15
+ return loadContractArtifact(json);
16
+ }
17
+
18
+ /** Stub account contract for Schnorr accounts. Lazily loads the contract artifact. */
19
+ export class StubSchnorrAccountContract extends StubBaseAccountContract {
20
+ override getContractArtifact() {
21
+ return getStubSchnorrAccountContractArtifact();
22
+ }
23
+ }
24
+
25
+ /** Creates a Schnorr stub account that impersonates the one with the provided address. */
26
+ export function createStubSchnorrAccount(originalAddress: CompleteAddress) {
27
+ const accountContract = new StubSchnorrAccountContract();
28
+ const authWitnessProvider = accountContract.getAuthWitnessProvider(originalAddress);
29
+ return new BaseAccount(
30
+ new DefaultAccountEntrypoint(originalAddress.address, authWitnessProvider),
31
+ authWitnessProvider,
32
+ originalAddress,
33
+ );
34
+ }
@@ -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([