@aztec-labs/wallets 6.0.0-nightly.20260829

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 (41) hide show
  1. package/dest/embedded/account-contract-providers/bundle.d.ts +19 -0
  2. package/dest/embedded/account-contract-providers/bundle.d.ts.map +1 -0
  3. package/dest/embedded/account-contract-providers/bundle.js +29 -0
  4. package/dest/embedded/account-contract-providers/lazy.d.ts +19 -0
  5. package/dest/embedded/account-contract-providers/lazy.d.ts.map +1 -0
  6. package/dest/embedded/account-contract-providers/lazy.js +39 -0
  7. package/dest/embedded/account-contract-providers/types.d.ts +20 -0
  8. package/dest/embedded/account-contract-providers/types.d.ts.map +1 -0
  9. package/dest/embedded/account-contract-providers/types.js +6 -0
  10. package/dest/embedded/embedded_wallet.d.ts +103 -0
  11. package/dest/embedded/embedded_wallet.d.ts.map +1 -0
  12. package/dest/embedded/embedded_wallet.js +359 -0
  13. package/dest/embedded/entrypoints/browser.d.ts +14 -0
  14. package/dest/embedded/entrypoints/browser.d.ts.map +1 -0
  15. package/dest/embedded/entrypoints/browser.js +72 -0
  16. package/dest/embedded/entrypoints/node.d.ts +14 -0
  17. package/dest/embedded/entrypoints/node.d.ts.map +1 -0
  18. package/dest/embedded/entrypoints/node.js +75 -0
  19. package/dest/embedded/entrypoints/resolve_aztec_node.d.ts +4 -0
  20. package/dest/embedded/entrypoints/resolve_aztec_node.d.ts.map +1 -0
  21. package/dest/embedded/entrypoints/resolve_aztec_node.js +4 -0
  22. package/dest/embedded/store_encryption.d.ts +74 -0
  23. package/dest/embedded/store_encryption.d.ts.map +1 -0
  24. package/dest/embedded/store_encryption.js +93 -0
  25. package/dest/embedded/wallet_db.d.ts +41 -0
  26. package/dest/embedded/wallet_db.d.ts.map +1 -0
  27. package/dest/embedded/wallet_db.js +133 -0
  28. package/dest/testing.d.ts +16 -0
  29. package/dest/testing.d.ts.map +1 -0
  30. package/dest/testing.js +18 -0
  31. package/package.json +102 -0
  32. package/src/embedded/account-contract-providers/bundle.ts +43 -0
  33. package/src/embedded/account-contract-providers/lazy.ts +53 -0
  34. package/src/embedded/account-contract-providers/types.ts +21 -0
  35. package/src/embedded/embedded_wallet.ts +481 -0
  36. package/src/embedded/entrypoints/browser.ts +93 -0
  37. package/src/embedded/entrypoints/node.ts +100 -0
  38. package/src/embedded/entrypoints/resolve_aztec_node.ts +10 -0
  39. package/src/embedded/store_encryption.ts +146 -0
  40. package/src/embedded/wallet_db.ts +150 -0
  41. package/src/testing.ts +37 -0
package/package.json ADDED
@@ -0,0 +1,102 @@
1
+ {
2
+ "name": "@aztec-labs/wallets",
3
+ "homepage": "https://github.com/AztecProtocol/aztec-packages/tree/master/yarn-project/wallets",
4
+ "version": "6.0.0-nightly.20260829",
5
+ "type": "module",
6
+ "exports": {
7
+ "./embedded": {
8
+ "browser": {
9
+ "types": "./dest/embedded/entrypoints/browser.d.ts",
10
+ "default": "./dest/embedded/entrypoints/browser.js"
11
+ },
12
+ "default": {
13
+ "types": "./dest/embedded/entrypoints/node.d.ts",
14
+ "default": "./dest/embedded/entrypoints/node.js"
15
+ }
16
+ },
17
+ "./embedded/store-encryption": "./dest/embedded/store_encryption.js",
18
+ "./testing": "./dest/testing.js"
19
+ },
20
+ "scripts": {
21
+ "build": "yarn clean && ../scripts/tsc.sh",
22
+ "build:dev": "../scripts/tsc.sh --watch",
23
+ "build:ts": "../scripts/tsc.sh",
24
+ "clean": "rm -rf ./dest .tsbuildinfo",
25
+ "test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
26
+ },
27
+ "inherits": [
28
+ "../package.common.json"
29
+ ],
30
+ "dependencies": {
31
+ "@aztec-labs/accounts": "6.0.0-nightly.20260829",
32
+ "@aztec-labs/aztec.js": "6.0.0-nightly.20260829",
33
+ "@aztec-labs/entrypoints": "6.0.0-nightly.20260829",
34
+ "@aztec-labs/foundation": "6.0.0-nightly.20260829",
35
+ "@aztec-labs/kv-store": "6.0.0-nightly.20260829",
36
+ "@aztec-labs/pxe": "6.0.0-nightly.20260829",
37
+ "@aztec-labs/standard-contracts": "6.0.0-nightly.20260829",
38
+ "@aztec-labs/stdlib": "6.0.0-nightly.20260829",
39
+ "@aztec-labs/wallet-sdk": "6.0.0-nightly.20260829"
40
+ },
41
+ "devDependencies": {
42
+ "@jest/globals": "^30.0.0",
43
+ "@typescript/native-preview": "7.0.0-dev.20260113.1",
44
+ "jest": "^30.0.0",
45
+ "ts-node": "^10.9.1",
46
+ "typescript": "^5.3.3"
47
+ },
48
+ "typedocOptions": {
49
+ "entryPoints": [
50
+ "./src/embedded/entrypoints/browser.ts",
51
+ "./src/embedded/entrypoints/node.ts",
52
+ "./src/testing.ts"
53
+ ],
54
+ "name": "Wallets",
55
+ "tsconfig": "./tsconfig.json"
56
+ },
57
+ "files": [
58
+ "dest",
59
+ "src",
60
+ "!*.test.*"
61
+ ],
62
+ "engines": {
63
+ "node": ">=20.10"
64
+ },
65
+ "jest": {
66
+ "extensionsToTreatAsEsm": [
67
+ ".ts"
68
+ ],
69
+ "transform": {
70
+ "^.+\\.tsx?$": [
71
+ "@swc/jest",
72
+ {
73
+ "jsc": {
74
+ "parser": {
75
+ "syntax": "typescript",
76
+ "decorators": true
77
+ },
78
+ "transform": {
79
+ "decoratorVersion": "2022-03"
80
+ }
81
+ }
82
+ }
83
+ ]
84
+ },
85
+ "moduleNameMapper": {
86
+ "^(\\.{1,2}/.*)\\.[cm]?js$": "$1"
87
+ },
88
+ "reporters": [
89
+ "default"
90
+ ],
91
+ "testTimeout": 120000,
92
+ "testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
93
+ "rootDir": "./src",
94
+ "setupFiles": [
95
+ "../../foundation/src/jest/setup.mjs"
96
+ ],
97
+ "setupFilesAfterEnv": [
98
+ "../../foundation/src/jest/setupAfterEnv.mjs"
99
+ ],
100
+ "testEnvironment": "../../foundation/src/jest/env.mjs"
101
+ }
102
+ }
@@ -0,0 +1,43 @@
1
+ import { EcdsaKAccountContract, EcdsaRAccountContract } from '@aztec-labs/accounts/ecdsa';
2
+ import { StubEcdsaAccountContractArtifact, createStubEcdsaAccount } from '@aztec-labs/accounts/ecdsa/stub';
3
+ import { SchnorrAccountContract, SchnorrInitializerlessAccountContract } from '@aztec-labs/accounts/schnorr';
4
+ import { StubSchnorrAccountContractArtifact, createStubSchnorrAccount } from '@aztec-labs/accounts/schnorr/stub';
5
+ import type { Account, AccountContract } from '@aztec-labs/aztec.js/account';
6
+ import type { Fq } from '@aztec-labs/foundation/curves/bn254';
7
+ import type { ContractArtifact } from '@aztec-labs/stdlib/abi';
8
+ import type { CompleteAddress } from '@aztec-labs/stdlib/contract';
9
+
10
+ import type { AccountType } from '../wallet_db.js';
11
+ import type { AccountContractsProvider } from './types.js';
12
+
13
+ /**
14
+ * Loads account contract artifacts eagerly via static imports.
15
+ * Designed for Node.js environments where all artifacts are available at startup.
16
+ */
17
+ export class BundleAccountContractsProvider implements AccountContractsProvider {
18
+ getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract> {
19
+ return Promise.resolve(new SchnorrAccountContract(signingKey));
20
+ }
21
+
22
+ getSchnorrInitializerlessAccountContract(signingKey: Fq): Promise<AccountContract> {
23
+ return Promise.resolve(new SchnorrInitializerlessAccountContract(signingKey));
24
+ }
25
+
26
+ getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract> {
27
+ return Promise.resolve(new EcdsaRAccountContract(signingKey));
28
+ }
29
+
30
+ getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract> {
31
+ return Promise.resolve(new EcdsaKAccountContract(signingKey));
32
+ }
33
+
34
+ getStubAccountContractArtifact(type: AccountType): Promise<ContractArtifact> {
35
+ const isSchnorr = type === 'schnorr' || type === 'schnorr_initializerless';
36
+ return Promise.resolve(isSchnorr ? StubSchnorrAccountContractArtifact : StubEcdsaAccountContractArtifact);
37
+ }
38
+
39
+ createStubAccount(address: CompleteAddress, type: AccountType): Promise<Account> {
40
+ const isSchnorr = type === 'schnorr' || type === 'schnorr_initializerless';
41
+ return Promise.resolve(isSchnorr ? createStubSchnorrAccount(address) : createStubEcdsaAccount(address));
42
+ }
43
+ }
@@ -0,0 +1,53 @@
1
+ import type { Account, AccountContract } from '@aztec-labs/aztec.js/account';
2
+ import type { Fq } from '@aztec-labs/foundation/curves/bn254';
3
+ import type { ContractArtifact } from '@aztec-labs/stdlib/abi';
4
+ import type { CompleteAddress } from '@aztec-labs/stdlib/contract';
5
+
6
+ import type { AccountType } from '../wallet_db.js';
7
+ import type { AccountContractsProvider } from './types.js';
8
+
9
+ /**
10
+ * Loads account contract artifacts lazily via dynamic imports.
11
+ * Designed for browser environments where code splitting reduces initial bundle size.
12
+ */
13
+ export class LazyAccountContractsProvider implements AccountContractsProvider {
14
+ async getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract> {
15
+ const { SchnorrAccountContract } = await import('@aztec-labs/accounts/schnorr/lazy');
16
+ return new SchnorrAccountContract(signingKey);
17
+ }
18
+
19
+ async getSchnorrInitializerlessAccountContract(signingKey: Fq): Promise<AccountContract> {
20
+ const { SchnorrInitializerlessAccountContract } = await import('@aztec-labs/accounts/schnorr/lazy');
21
+ return new SchnorrInitializerlessAccountContract(signingKey);
22
+ }
23
+
24
+ async getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract> {
25
+ const { EcdsaRAccountContract } = await import('@aztec-labs/accounts/ecdsa/lazy');
26
+ return new EcdsaRAccountContract(signingKey);
27
+ }
28
+
29
+ async getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract> {
30
+ const { EcdsaKAccountContract } = await import('@aztec-labs/accounts/ecdsa/lazy');
31
+ return new EcdsaKAccountContract(signingKey);
32
+ }
33
+
34
+ async getStubAccountContractArtifact(type: AccountType): Promise<ContractArtifact> {
35
+ if (type === 'schnorr' || type === 'schnorr_initializerless') {
36
+ const { getStubSchnorrAccountContractArtifact } = await import('@aztec-labs/accounts/schnorr/stub/lazy');
37
+ return getStubSchnorrAccountContractArtifact();
38
+ } else {
39
+ const { getStubEcdsaAccountContractArtifact } = await import('@aztec-labs/accounts/ecdsa/stub/lazy');
40
+ return getStubEcdsaAccountContractArtifact();
41
+ }
42
+ }
43
+
44
+ async createStubAccount(address: CompleteAddress, type: AccountType): Promise<Account> {
45
+ if (type === 'schnorr' || type === 'schnorr_initializerless') {
46
+ const { createStubSchnorrAccount } = await import('@aztec-labs/accounts/schnorr/stub/lazy');
47
+ return createStubSchnorrAccount(address);
48
+ } else {
49
+ const { createStubEcdsaAccount } = await import('@aztec-labs/accounts/ecdsa/stub/lazy');
50
+ return createStubEcdsaAccount(address);
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,21 @@
1
+ import type { Account, AccountContract } from '@aztec-labs/aztec.js/account';
2
+ import type { Fq } from '@aztec-labs/foundation/curves/bn254';
3
+ import type { ContractArtifact } from '@aztec-labs/stdlib/abi';
4
+ import type { CompleteAddress } from '@aztec-labs/stdlib/contract';
5
+
6
+ import type { AccountType } from '../wallet_db.js';
7
+
8
+ /**
9
+ * Provides account contract implementations and stub accounts for the EmbeddedWallet.
10
+ * Two implementations exist:
11
+ * - LazyAccountContractsProvider: uses dynamic imports for browser environments
12
+ * - EagerAccountContractsProvider: uses static imports for Node.js environments
13
+ */
14
+ export interface AccountContractsProvider {
15
+ getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract>;
16
+ getSchnorrInitializerlessAccountContract(signingKey: Fq): Promise<AccountContract>;
17
+ getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract>;
18
+ getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract>;
19
+ getStubAccountContractArtifact(type: AccountType): Promise<ContractArtifact>;
20
+ createStubAccount(address: CompleteAddress, type: AccountType): Promise<Account>;
21
+ }