@aztec/wallets 0.0.1-commit.4d79d1f2d
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.
- package/dest/embedded/account-contract-providers/bundle.d.ts +17 -0
- package/dest/embedded/account-contract-providers/bundle.d.ts.map +1 -0
- package/dest/embedded/account-contract-providers/bundle.js +23 -0
- package/dest/embedded/account-contract-providers/lazy.d.ts +17 -0
- package/dest/embedded/account-contract-providers/lazy.d.ts.map +1 -0
- package/dest/embedded/account-contract-providers/lazy.js +25 -0
- package/dest/embedded/account-contract-providers/types.d.ts +18 -0
- package/dest/embedded/account-contract-providers/types.d.ts.map +1 -0
- package/dest/embedded/account-contract-providers/types.js +6 -0
- package/dest/embedded/embedded_wallet.d.ts +42 -0
- package/dest/embedded/embedded_wallet.d.ts.map +1 -0
- package/dest/embedded/embedded_wallet.js +154 -0
- package/dest/embedded/embedded_wallet_browser.d.ts +5 -0
- package/dest/embedded/embedded_wallet_browser.d.ts.map +1 -0
- package/dest/embedded/embedded_wallet_browser.js +31 -0
- package/dest/embedded/entrypoints/browser.d.ts +9 -0
- package/dest/embedded/entrypoints/browser.d.ts.map +1 -0
- package/dest/embedded/entrypoints/browser.js +35 -0
- package/dest/embedded/entrypoints/node.d.ts +18 -0
- package/dest/embedded/entrypoints/node.d.ts.map +1 -0
- package/dest/embedded/entrypoints/node.js +44 -0
- package/dest/embedded/wallet_db.d.ts +34 -0
- package/dest/embedded/wallet_db.d.ts.map +1 -0
- package/dest/embedded/wallet_db.js +120 -0
- package/dest/testing.d.ts +12 -0
- package/dest/testing.d.ts.map +1 -0
- package/dest/testing.js +24 -0
- package/package.json +91 -0
- package/src/embedded/account-contract-providers/bundle.ts +35 -0
- package/src/embedded/account-contract-providers/lazy.ts +37 -0
- package/src/embedded/account-contract-providers/types.ts +18 -0
- package/src/embedded/embedded_wallet.ts +203 -0
- package/src/embedded/embedded_wallet_browser.ts +40 -0
- package/src/embedded/entrypoints/browser.ts +50 -0
- package/src/embedded/entrypoints/node.ts +80 -0
- package/src/embedded/wallet_db.ts +134 -0
- package/src/testing.ts +42 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Account, AccountContract } from '@aztec/aztec.js/account';
|
|
2
|
+
import type { Fq } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
4
|
+
import type { CompleteAddress } from '@aztec/stdlib/contract';
|
|
5
|
+
import type { AccountContractsProvider } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Loads account contract artifacts eagerly via static imports.
|
|
8
|
+
* Designed for Node.js environments where all artifacts are available at startup.
|
|
9
|
+
*/
|
|
10
|
+
export declare class BundleAccountContractsProvider implements AccountContractsProvider {
|
|
11
|
+
getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract>;
|
|
12
|
+
getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
13
|
+
getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
14
|
+
getStubAccountContractArtifact(): Promise<ContractArtifact>;
|
|
15
|
+
createStubAccount(address: CompleteAddress): Promise<Account>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxlLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZW1iZWRkZWQvYWNjb3VudC1jb250cmFjdC1wcm92aWRlcnMvYnVuZGxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRTNEOzs7R0FHRztBQUNILHFCQUFhLDhCQUErQixZQUFXLHdCQUF3QjtJQUM3RSx5QkFBeUIsQ0FBQyxVQUFVLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFbEU7SUFFRCx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFckU7SUFFRCx3QkFBd0IsQ0FBQyxVQUFVLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FFckU7SUFFRCw4QkFBOEIsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FFMUQ7SUFFRCxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsZUFBZSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FFNUQ7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../src/embedded/account-contract-providers/bundle.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;;GAGG;AACH,qBAAa,8BAA+B,YAAW,wBAAwB;IAC7E,yBAAyB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAElE;IAED,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAErE;IAED,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAErE;IAED,8BAA8B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAE1D;IAED,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAE5D;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EcdsaKAccountContract, EcdsaRAccountContract } from '@aztec/accounts/ecdsa';
|
|
2
|
+
import { SchnorrAccountContract } from '@aztec/accounts/schnorr';
|
|
3
|
+
import { StubAccountContractArtifact, createStubAccount } from '@aztec/accounts/stub';
|
|
4
|
+
/**
|
|
5
|
+
* Loads account contract artifacts eagerly via static imports.
|
|
6
|
+
* Designed for Node.js environments where all artifacts are available at startup.
|
|
7
|
+
*/ export class BundleAccountContractsProvider {
|
|
8
|
+
getSchnorrAccountContract(signingKey) {
|
|
9
|
+
return Promise.resolve(new SchnorrAccountContract(signingKey));
|
|
10
|
+
}
|
|
11
|
+
getEcdsaRAccountContract(signingKey) {
|
|
12
|
+
return Promise.resolve(new EcdsaRAccountContract(signingKey));
|
|
13
|
+
}
|
|
14
|
+
getEcdsaKAccountContract(signingKey) {
|
|
15
|
+
return Promise.resolve(new EcdsaKAccountContract(signingKey));
|
|
16
|
+
}
|
|
17
|
+
getStubAccountContractArtifact() {
|
|
18
|
+
return Promise.resolve(StubAccountContractArtifact);
|
|
19
|
+
}
|
|
20
|
+
createStubAccount(address) {
|
|
21
|
+
return Promise.resolve(createStubAccount(address));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Account, AccountContract } from '@aztec/aztec.js/account';
|
|
2
|
+
import type { Fq } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
4
|
+
import type { CompleteAddress } from '@aztec/stdlib/contract';
|
|
5
|
+
import type { AccountContractsProvider } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Loads account contract artifacts lazily via dynamic imports.
|
|
8
|
+
* Designed for browser environments where code splitting reduces initial bundle size.
|
|
9
|
+
*/
|
|
10
|
+
export declare class LazyAccountContractsProvider implements AccountContractsProvider {
|
|
11
|
+
getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract>;
|
|
12
|
+
getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
13
|
+
getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
14
|
+
getStubAccountContractArtifact(): Promise<ContractArtifact>;
|
|
15
|
+
createStubAccount(address: CompleteAddress): Promise<Account>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VtYmVkZGVkL2FjY291bnQtY29udHJhY3QtcHJvdmlkZXJzL2xhenkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hFLE9BQU8sS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3pELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsT0FBTyxLQUFLLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFM0Q7OztHQUdHO0FBQ0gscUJBQWEsNEJBQTZCLFlBQVcsd0JBQXdCO0lBQ3JFLHlCQUF5QixDQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUd4RTtJQUVLLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUczRTtJQUVLLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUczRTtJQUVLLDhCQUE4QixJQUFJLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUdoRTtJQUVLLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxlQUFlLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUdsRTtDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lazy.d.ts","sourceRoot":"","sources":["../../../src/embedded/account-contract-providers/lazy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAE3D;;;GAGG;AACH,qBAAa,4BAA6B,YAAW,wBAAwB;IACrE,yBAAyB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAGxE;IAEK,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAG3E;IAEK,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAG3E;IAEK,8BAA8B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAGhE;IAEK,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAGlE;CACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loads account contract artifacts lazily via dynamic imports.
|
|
3
|
+
* Designed for browser environments where code splitting reduces initial bundle size.
|
|
4
|
+
*/ export class LazyAccountContractsProvider {
|
|
5
|
+
async getSchnorrAccountContract(signingKey) {
|
|
6
|
+
const { SchnorrAccountContract } = await import('@aztec/accounts/schnorr/lazy');
|
|
7
|
+
return new SchnorrAccountContract(signingKey);
|
|
8
|
+
}
|
|
9
|
+
async getEcdsaRAccountContract(signingKey) {
|
|
10
|
+
const { EcdsaRAccountContract } = await import('@aztec/accounts/ecdsa/lazy');
|
|
11
|
+
return new EcdsaRAccountContract(signingKey);
|
|
12
|
+
}
|
|
13
|
+
async getEcdsaKAccountContract(signingKey) {
|
|
14
|
+
const { EcdsaKAccountContract } = await import('@aztec/accounts/ecdsa/lazy');
|
|
15
|
+
return new EcdsaKAccountContract(signingKey);
|
|
16
|
+
}
|
|
17
|
+
async getStubAccountContractArtifact() {
|
|
18
|
+
const { getStubAccountContractArtifact } = await import('@aztec/accounts/stub/lazy');
|
|
19
|
+
return getStubAccountContractArtifact();
|
|
20
|
+
}
|
|
21
|
+
async createStubAccount(address) {
|
|
22
|
+
const { createStubAccount } = await import('@aztec/accounts/stub/lazy');
|
|
23
|
+
return createStubAccount(address);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Account, AccountContract } from '@aztec/aztec.js/account';
|
|
2
|
+
import type { Fq } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { ContractArtifact } from '@aztec/stdlib/abi';
|
|
4
|
+
import type { CompleteAddress } from '@aztec/stdlib/contract';
|
|
5
|
+
/**
|
|
6
|
+
* Provides account contract implementations and stub accounts for the EmbeddedWallet.
|
|
7
|
+
* Two implementations exist:
|
|
8
|
+
* - LazyAccountContractsProvider: uses dynamic imports for browser environments
|
|
9
|
+
* - EagerAccountContractsProvider: uses static imports for Node.js environments
|
|
10
|
+
*/
|
|
11
|
+
export interface AccountContractsProvider {
|
|
12
|
+
getSchnorrAccountContract(signingKey: Fq): Promise<AccountContract>;
|
|
13
|
+
getEcdsaRAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
14
|
+
getEcdsaKAccountContract(signingKey: Buffer): Promise<AccountContract>;
|
|
15
|
+
getStubAccountContractArtifact(): Promise<ContractArtifact>;
|
|
16
|
+
createStubAccount(address: CompleteAddress): Promise<Account>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbWJlZGRlZC9hY2NvdW50LWNvbnRyYWN0LXByb3ZpZGVycy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEUsT0FBTyxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEtBQUssRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUU5RDs7Ozs7R0FLRztBQUNILE1BQU0sV0FBVyx3QkFBd0I7SUFDdkMseUJBQXlCLENBQUMsVUFBVSxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDcEUsd0JBQXdCLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsd0JBQXdCLENBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDdkUsOEJBQThCLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUQsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGVBQWUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7Q0FDL0QifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/embedded/account-contract-providers/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,yBAAyB,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACvE,8BAA8B,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC5D,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/D"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provides account contract implementations and stub accounts for the EmbeddedWallet.
|
|
3
|
+
* Two implementations exist:
|
|
4
|
+
* - LazyAccountContractsProvider: uses dynamic imports for browser environments
|
|
5
|
+
* - EagerAccountContractsProvider: uses static imports for Node.js environments
|
|
6
|
+
*/ export { };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type Account } from '@aztec/aztec.js/account';
|
|
2
|
+
import type { Aliased } from '@aztec/aztec.js/wallet';
|
|
3
|
+
import { AccountManager } from '@aztec/aztec.js/wallet';
|
|
4
|
+
import { Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
5
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
6
|
+
import type { PXE } from '@aztec/pxe/server';
|
|
7
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
8
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
9
|
+
import { ExecutionPayload, type TxSimulationResult } from '@aztec/stdlib/tx';
|
|
10
|
+
import { BaseWallet, type FeeOptions } from '@aztec/wallet-sdk/base-wallet';
|
|
11
|
+
import type { AccountContractsProvider } from './account-contract-providers/types.js';
|
|
12
|
+
import { type AccountType, WalletDB } from './wallet_db.js';
|
|
13
|
+
export type EmbeddedWalletOptions = {
|
|
14
|
+
/** Parent logger. Child loggers are derived via createChild() for each subsystem. */
|
|
15
|
+
logger?: Logger;
|
|
16
|
+
/** Use ephemeral (in-memory) stores. Data will not persist across sessions. */
|
|
17
|
+
ephemeral?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare class EmbeddedWallet extends BaseWallet {
|
|
20
|
+
protected walletDB: WalletDB;
|
|
21
|
+
protected accountContracts: AccountContractsProvider;
|
|
22
|
+
constructor(pxe: PXE, aztecNode: AztecNode, walletDB: WalletDB, accountContracts: AccountContractsProvider, log?: Logger);
|
|
23
|
+
protected getAccountFromAddress(address: AztecAddress): Promise<Account>;
|
|
24
|
+
getAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
25
|
+
registerSender(address: AztecAddress, alias: string): Promise<AztecAddress>;
|
|
26
|
+
getAddressBook(): Promise<Aliased<AztecAddress>[]>;
|
|
27
|
+
/**
|
|
28
|
+
* Simulates calls via a stub account entrypoint, bypassing real account authorization.
|
|
29
|
+
* This allows kernelless simulation with contract overrides, skipping expensive
|
|
30
|
+
* private kernel circuit execution.
|
|
31
|
+
*/
|
|
32
|
+
protected simulateViaEntrypoint(executionPayload: ExecutionPayload, from: AztecAddress, feeOptions: FeeOptions, _skipTxValidation?: boolean, _skipFeeEnforcement?: boolean, scopes?: AztecAddress[]): Promise<TxSimulationResult>;
|
|
33
|
+
private getFakeAccountDataFor;
|
|
34
|
+
protected createAccountInternal(type: AccountType, secret: Fr, salt: Fr, signingKey: Buffer): Promise<AccountManager>;
|
|
35
|
+
createAndStoreAccount(alias: string, type: AccountType, secret: Fr, salt: Fr, signingKey: Buffer): Promise<AccountManager>;
|
|
36
|
+
createSchnorrAccount(secret: Fr, salt: Fr, signingKey?: Fq, alias?: string): Promise<AccountManager>;
|
|
37
|
+
createECDSARAccount(secret: Fr, salt: Fr, signingKey: Buffer, alias?: string): Promise<AccountManager>;
|
|
38
|
+
createECDSAKAccount(secret: Fr, salt: Fr, signingKey: Buffer, alias?: string): Promise<AccountManager>;
|
|
39
|
+
setMinFeePadding(value?: number): void;
|
|
40
|
+
stop(): Promise<void>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWRfd2FsbGV0LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1iZWRkZWQvZW1iZWRkZWRfd2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBcUIsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRSxPQUFPLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4RCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFFM0QsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEtBQUssa0JBQWtCLEVBQTBCLE1BQU0sa0JBQWtCLENBQUM7QUFDckcsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEYsT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTVELE1BQU0sTUFBTSxxQkFBcUIsR0FBRztJQUNsQyxxRkFBcUY7SUFDckYsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ2hCLCtFQUErRTtJQUMvRSxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUM7Q0FDckIsQ0FBQztBQUVGLHFCQUFhLGNBQWUsU0FBUSxVQUFVO0lBSTFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsUUFBUTtJQUM1QixTQUFTLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCO0lBSnRELFlBQ0UsR0FBRyxFQUFFLEdBQUcsRUFDUixTQUFTLEVBQUUsU0FBUyxFQUNWLFFBQVEsRUFBRSxRQUFRLEVBQ2xCLGdCQUFnQixFQUFFLHdCQUF3QixFQUNwRCxHQUFHLENBQUMsRUFBRSxNQUFNLEVBR2I7SUFFRCxVQUFnQixxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FjN0U7SUFFRCxXQUFXLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBRTlDO0lBRWMsY0FBYyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBR2pFO0lBRWMsY0FBYyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQVNoRTtJQUVEOzs7O09BSUc7SUFDSCxVQUF5QixxQkFBcUIsQ0FDNUMsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQ2xDLElBQUksRUFBRSxZQUFZLEVBQ2xCLFVBQVUsRUFBRSxVQUFVLEVBQ3RCLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxFQUMzQixtQkFBbUIsQ0FBQyxFQUFFLE9BQU8sRUFDN0IsTUFBTSxDQUFDLEVBQUUsWUFBWSxFQUFFLEdBQ3RCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQTRCN0I7WUFFYSxxQkFBcUI7SUFzQm5DLFVBQWdCLHFCQUFxQixDQUNuQyxJQUFJLEVBQUUsV0FBVyxFQUNqQixNQUFNLEVBQUUsRUFBRSxFQUNWLElBQUksRUFBRSxFQUFFLEVBQ1IsVUFBVSxFQUFFLE1BQU0sR0FDakIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQTRCekI7SUFFSyxxQkFBcUIsQ0FDekIsS0FBSyxFQUFFLE1BQU0sRUFDYixJQUFJLEVBQUUsV0FBVyxFQUNqQixNQUFNLEVBQUUsRUFBRSxFQUNWLElBQUksRUFBRSxFQUFFLEVBQ1IsVUFBVSxFQUFFLE1BQU0sR0FDakIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUl6QjtJQUVELG9CQUFvQixDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FHbkc7SUFFRCxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUVyRztJQUVELG1CQUFtQixDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLENBRXJHO0lBRUQsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxRQUU5QjtJQUVELElBQUksa0JBRUg7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_wallet.d.ts","sourceRoot":"","sources":["../../src/embedded/embedded_wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { SignerlessAccount } from '@aztec/aztec.js/account';
|
|
2
|
+
import { AccountManager } from '@aztec/aztec.js/wallet';
|
|
3
|
+
import { Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
4
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
5
|
+
import { getContractInstanceFromInstantiationParams } from '@aztec/stdlib/contract';
|
|
6
|
+
import { deriveSigningKey } from '@aztec/stdlib/keys';
|
|
7
|
+
import { mergeExecutionPayloads } from '@aztec/stdlib/tx';
|
|
8
|
+
import { BaseWallet } from '@aztec/wallet-sdk/base-wallet';
|
|
9
|
+
export class EmbeddedWallet extends BaseWallet {
|
|
10
|
+
walletDB;
|
|
11
|
+
accountContracts;
|
|
12
|
+
constructor(pxe, aztecNode, walletDB, accountContracts, log){
|
|
13
|
+
super(pxe, aztecNode, log), this.walletDB = walletDB, this.accountContracts = accountContracts;
|
|
14
|
+
}
|
|
15
|
+
async getAccountFromAddress(address) {
|
|
16
|
+
if (address.equals(AztecAddress.ZERO)) {
|
|
17
|
+
return new SignerlessAccount();
|
|
18
|
+
}
|
|
19
|
+
const { secretKey, salt, signingKey, type } = await this.walletDB.retrieveAccount(address);
|
|
20
|
+
const accountManager = await this.createAccountInternal(type, secretKey, salt, signingKey);
|
|
21
|
+
const account = await accountManager.getAccount();
|
|
22
|
+
if (!account) {
|
|
23
|
+
throw new Error(`Account not found in wallet for address: ${address}`);
|
|
24
|
+
}
|
|
25
|
+
return account;
|
|
26
|
+
}
|
|
27
|
+
getAccounts() {
|
|
28
|
+
return this.walletDB.listAccounts();
|
|
29
|
+
}
|
|
30
|
+
async registerSender(address, alias) {
|
|
31
|
+
await this.walletDB.storeSender(address, alias);
|
|
32
|
+
return this.pxe.registerSender(address);
|
|
33
|
+
}
|
|
34
|
+
async getAddressBook() {
|
|
35
|
+
const senders = await this.pxe.getSenders();
|
|
36
|
+
const storedSenders = await this.walletDB.listSenders();
|
|
37
|
+
for (const storedSender of storedSenders){
|
|
38
|
+
if (senders.findIndex((sender)=>sender.equals(storedSender.item)) === -1) {
|
|
39
|
+
await this.pxe.registerSender(storedSender.item);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return storedSenders;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Simulates calls via a stub account entrypoint, bypassing real account authorization.
|
|
46
|
+
* This allows kernelless simulation with contract overrides, skipping expensive
|
|
47
|
+
* private kernel circuit execution.
|
|
48
|
+
*/ async simulateViaEntrypoint(executionPayload, from, feeOptions, _skipTxValidation, _skipFeeEnforcement, scopes) {
|
|
49
|
+
const { account: fromAccount, instance, artifact } = await this.getFakeAccountDataFor(from);
|
|
50
|
+
const feeExecutionPayload = await feeOptions.walletFeePaymentMethod?.getExecutionPayload();
|
|
51
|
+
const executionOptions = {
|
|
52
|
+
txNonce: Fr.random(),
|
|
53
|
+
cancellable: this.cancellableTransactions,
|
|
54
|
+
feePaymentMethodOptions: feeOptions.accountFeePaymentMethodOptions
|
|
55
|
+
};
|
|
56
|
+
const finalExecutionPayload = feeExecutionPayload ? mergeExecutionPayloads([
|
|
57
|
+
feeExecutionPayload,
|
|
58
|
+
executionPayload
|
|
59
|
+
]) : executionPayload;
|
|
60
|
+
const chainInfo = await this.getChainInfo();
|
|
61
|
+
const txRequest = await fromAccount.createTxExecutionRequest(finalExecutionPayload, feeOptions.gasSettings, chainInfo, executionOptions);
|
|
62
|
+
return this.pxe.simulateTx(txRequest, {
|
|
63
|
+
simulatePublic: true,
|
|
64
|
+
skipFeeEnforcement: true,
|
|
65
|
+
skipTxValidation: true,
|
|
66
|
+
overrides: {
|
|
67
|
+
contracts: {
|
|
68
|
+
[from.toString()]: {
|
|
69
|
+
instance,
|
|
70
|
+
artifact
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
scopes
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
async getFakeAccountDataFor(address) {
|
|
78
|
+
const originalAccount = await this.getAccountFromAddress(address);
|
|
79
|
+
if (originalAccount instanceof SignerlessAccount) {
|
|
80
|
+
throw new Error(`Cannot create fake account data for SignerlessAccount at address: ${address}`);
|
|
81
|
+
}
|
|
82
|
+
const originalAddress = originalAccount.getCompleteAddress();
|
|
83
|
+
const contractInstance = await this.pxe.getContractInstance(originalAddress.address);
|
|
84
|
+
if (!contractInstance) {
|
|
85
|
+
throw new Error(`No contract instance found for address: ${originalAddress.address}`);
|
|
86
|
+
}
|
|
87
|
+
const stubAccount = await this.accountContracts.createStubAccount(originalAddress);
|
|
88
|
+
const stubArtifact = await this.accountContracts.getStubAccountContractArtifact();
|
|
89
|
+
const instance = await getContractInstanceFromInstantiationParams(stubArtifact, {
|
|
90
|
+
salt: Fr.random()
|
|
91
|
+
});
|
|
92
|
+
return {
|
|
93
|
+
account: stubAccount,
|
|
94
|
+
instance,
|
|
95
|
+
artifact: stubArtifact
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
async createAccountInternal(type, secret, salt, signingKey) {
|
|
99
|
+
let contract;
|
|
100
|
+
switch(type){
|
|
101
|
+
case 'schnorr':
|
|
102
|
+
{
|
|
103
|
+
contract = await this.accountContracts.getSchnorrAccountContract(Fq.fromBuffer(signingKey));
|
|
104
|
+
break;
|
|
105
|
+
}
|
|
106
|
+
case 'ecdsasecp256k1':
|
|
107
|
+
{
|
|
108
|
+
contract = await this.accountContracts.getEcdsaKAccountContract(signingKey);
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
case 'ecdsasecp256r1':
|
|
112
|
+
{
|
|
113
|
+
contract = await this.accountContracts.getEcdsaRAccountContract(signingKey);
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
116
|
+
default:
|
|
117
|
+
{
|
|
118
|
+
throw new Error(`Unknown account type ${type}`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const accountManager = await AccountManager.create(this, secret, contract, salt);
|
|
122
|
+
const instance = accountManager.getInstance();
|
|
123
|
+
const artifact = await accountManager.getAccountContract().getContractArtifact();
|
|
124
|
+
await this.registerContract(instance, artifact, accountManager.getSecretKey());
|
|
125
|
+
return accountManager;
|
|
126
|
+
}
|
|
127
|
+
async createAndStoreAccount(alias, type, secret, salt, signingKey) {
|
|
128
|
+
const accountManager = await this.createAccountInternal(type, secret, salt, signingKey);
|
|
129
|
+
await this.walletDB.storeAccount(accountManager.address, {
|
|
130
|
+
type,
|
|
131
|
+
secretKey: secret,
|
|
132
|
+
salt,
|
|
133
|
+
alias,
|
|
134
|
+
signingKey
|
|
135
|
+
});
|
|
136
|
+
return accountManager;
|
|
137
|
+
}
|
|
138
|
+
createSchnorrAccount(secret, salt, signingKey, alias) {
|
|
139
|
+
const sk = signingKey ?? deriveSigningKey(secret);
|
|
140
|
+
return this.createAndStoreAccount(alias ?? '', 'schnorr', secret, salt, sk.toBuffer());
|
|
141
|
+
}
|
|
142
|
+
createECDSARAccount(secret, salt, signingKey, alias) {
|
|
143
|
+
return this.createAndStoreAccount(alias ?? '', 'ecdsasecp256r1', secret, salt, signingKey);
|
|
144
|
+
}
|
|
145
|
+
createECDSAKAccount(secret, salt, signingKey, alias) {
|
|
146
|
+
return this.createAndStoreAccount(alias ?? '', 'ecdsasecp256k1', secret, salt, signingKey);
|
|
147
|
+
}
|
|
148
|
+
setMinFeePadding(value) {
|
|
149
|
+
this.minFeePadding = value ?? 0.5;
|
|
150
|
+
}
|
|
151
|
+
stop() {
|
|
152
|
+
return this.pxe.stop();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { EmbeddedWallet } from './embedded_wallet.js';
|
|
2
|
+
export declare class BrowserEmbeddedWallet extends EmbeddedWallet {
|
|
3
|
+
static create(nodeUrl: string): Promise<BrowserEmbeddedWallet>;
|
|
4
|
+
}
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1iZWRkZWRfd2FsbGV0X2Jyb3dzZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbWJlZGRlZC9lbWJlZGRlZF93YWxsZXRfYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHdEQscUJBQWEscUJBQXNCLFNBQVEsY0FBYztJQUN2RCxPQUFhLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQTJCbkU7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embedded_wallet_browser.d.ts","sourceRoot":"","sources":["../../src/embedded/embedded_wallet_browser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,OAAa,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA2BnE;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { createStore } from '@aztec/kv-store/indexeddb';
|
|
4
|
+
import { createPXE } from '@aztec/pxe/client/lazy';
|
|
5
|
+
import { getPXEConfig } from '@aztec/pxe/config';
|
|
6
|
+
import { LazyAccountContractsProvider } from './account-contract-providers/lazy.js';
|
|
7
|
+
import { EmbeddedWallet } from './embedded_wallet.js';
|
|
8
|
+
import { WalletDB } from './wallet_db.js';
|
|
9
|
+
export class BrowserEmbeddedWallet extends EmbeddedWallet {
|
|
10
|
+
static async create(nodeUrl) {
|
|
11
|
+
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
12
|
+
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
13
|
+
const rollupAddress = l1Contracts.rollupAddress;
|
|
14
|
+
const config = getPXEConfig();
|
|
15
|
+
config.dataDirectory = `pxe-${rollupAddress}`;
|
|
16
|
+
const pxe = await createPXE(aztecNode, config, {
|
|
17
|
+
loggers: {
|
|
18
|
+
store: createLogger('pxe:data:idb'),
|
|
19
|
+
pxe: createLogger('pxe:service'),
|
|
20
|
+
prover: createLogger('bb:wasm:lazy')
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const logger = createLogger('embedded-wallet:browser');
|
|
24
|
+
const walletDBStore = await createStore(`wallet-${rollupAddress}`, {
|
|
25
|
+
dataDirectory: 'wallet',
|
|
26
|
+
dataStoreMapSizeKb: 2e10
|
|
27
|
+
}, undefined, createLogger('wallet:data:idb'));
|
|
28
|
+
const walletDB = WalletDB.init(walletDBStore, logger.info);
|
|
29
|
+
return new BrowserEmbeddedWallet(pxe, aztecNode, walletDB, new LazyAccountContractsProvider());
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EmbeddedWallet, type EmbeddedWalletOptions } from '../embedded_wallet.js';
|
|
2
|
+
export declare class BrowserEmbeddedWallet extends EmbeddedWallet {
|
|
3
|
+
static create(nodeUrl: string, options?: EmbeddedWalletOptions): Promise<BrowserEmbeddedWallet>;
|
|
4
|
+
}
|
|
5
|
+
export { BrowserEmbeddedWallet as EmbeddedWallet };
|
|
6
|
+
export type { EmbeddedWalletOptions } from '../embedded_wallet.js';
|
|
7
|
+
export { WalletDB } from '../wallet_db.js';
|
|
8
|
+
export type { AccountType } from '../wallet_db.js';
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VtYmVkZGVkL2VudHJ5cG9pbnRzL2Jyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxLQUFLLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHbkYscUJBQWEscUJBQXNCLFNBQVEsY0FBYztJQUN2RCxPQUFhLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sR0FBRSxxQkFBMEIsR0FBRyxPQUFPLENBQUMscUJBQXFCLENBQUMsQ0FnQ3hHO0NBQ0Y7QUFFRCxPQUFPLEVBQUUscUJBQXFCLElBQUksY0FBYyxFQUFFLENBQUM7QUFDbkQsWUFBWSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/embedded/entrypoints/browser.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnF,qBAAa,qBAAsB,SAAQ,cAAc;IACvD,OAAa,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAgCxG;CACF;AAED,OAAO,EAAE,qBAAqB,IAAI,cAAc,EAAE,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { createStore, openTmpStore } from '@aztec/kv-store/indexeddb';
|
|
4
|
+
import { createPXE } from '@aztec/pxe/client/lazy';
|
|
5
|
+
import { getPXEConfig } from '@aztec/pxe/config';
|
|
6
|
+
import { LazyAccountContractsProvider } from '../account-contract-providers/lazy.js';
|
|
7
|
+
import { EmbeddedWallet } from '../embedded_wallet.js';
|
|
8
|
+
import { WalletDB } from '../wallet_db.js';
|
|
9
|
+
export class BrowserEmbeddedWallet extends EmbeddedWallet {
|
|
10
|
+
static async create(nodeUrl, options = {}) {
|
|
11
|
+
const rootLogger = options.logger ?? createLogger('embedded-wallet');
|
|
12
|
+
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
13
|
+
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
14
|
+
const rollupAddress = l1Contracts.rollupAddress;
|
|
15
|
+
const config = getPXEConfig();
|
|
16
|
+
if (!options.ephemeral) {
|
|
17
|
+
config.dataDirectory = `pxe-${rollupAddress}`;
|
|
18
|
+
}
|
|
19
|
+
const pxe = await createPXE(aztecNode, config, {
|
|
20
|
+
loggers: {
|
|
21
|
+
store: rootLogger.createChild('pxe:data'),
|
|
22
|
+
pxe: rootLogger.createChild('pxe:service'),
|
|
23
|
+
prover: rootLogger.createChild('pxe:prover')
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const walletDBStore = options.ephemeral ? await openTmpStore(true) : await createStore(`wallet-${rollupAddress}`, {
|
|
27
|
+
dataDirectory: 'wallet',
|
|
28
|
+
dataStoreMapSizeKb: 2e10
|
|
29
|
+
}, undefined, rootLogger.createChild('wallet:data'));
|
|
30
|
+
const walletDB = WalletDB.init(walletDBStore, rootLogger.createChild('wallet:db').info);
|
|
31
|
+
return new BrowserEmbeddedWallet(pxe, aztecNode, walletDB, new LazyAccountContractsProvider(), rootLogger);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export { BrowserEmbeddedWallet as EmbeddedWallet };
|
|
35
|
+
export { WalletDB } from '../wallet_db.js';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PXEConfig } from '@aztec/pxe/config';
|
|
2
|
+
import { type PXECreationOptions } from '@aztec/pxe/server';
|
|
3
|
+
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
4
|
+
import { EmbeddedWallet, type EmbeddedWalletOptions } from '../embedded_wallet.js';
|
|
5
|
+
export type NodeEmbeddedWalletOptions = EmbeddedWalletOptions & {
|
|
6
|
+
/** Override PXE configuration. */
|
|
7
|
+
pxeConfig?: Partial<PXEConfig>;
|
|
8
|
+
/** Advanced PXE creation options (custom store, prover, simulator). */
|
|
9
|
+
pxeOptions?: PXECreationOptions;
|
|
10
|
+
};
|
|
11
|
+
export declare class NodeEmbeddedWallet extends EmbeddedWallet {
|
|
12
|
+
static create(nodeOrUrl: string | AztecNode, options?: NodeEmbeddedWalletOptions): Promise<NodeEmbeddedWallet>;
|
|
13
|
+
}
|
|
14
|
+
export { NodeEmbeddedWallet as EmbeddedWallet };
|
|
15
|
+
export type { EmbeddedWalletOptions } from '../embedded_wallet.js';
|
|
16
|
+
export { WalletDB } from '../wallet_db.js';
|
|
17
|
+
export type { AccountType } from '../wallet_db.js';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VtYmVkZGVkL2VudHJ5cG9pbnRzL25vZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLEtBQUssa0JBQWtCLEVBQWEsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RSxPQUFPLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLEtBQUsscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUduRixNQUFNLE1BQU0seUJBQXlCLEdBQUcscUJBQXFCLEdBQUc7SUFDOUQsa0NBQWtDO0lBQ2xDLFNBQVMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvQix1RUFBdUU7SUFDdkUsVUFBVSxDQUFDLEVBQUUsa0JBQWtCLENBQUM7Q0FDakMsQ0FBQztBQUVGLHFCQUFhLGtCQUFtQixTQUFRLGNBQWM7SUFDcEQsT0FBYSxNQUFNLENBQ2pCLFNBQVMsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUM3QixPQUFPLEdBQUUseUJBQThCLEdBQ3RDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQWtEN0I7Q0FDRjtBQUVELE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxjQUFjLEVBQUUsQ0FBQztBQUNoRCxZQUFZLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/embedded/entrypoints/node.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAE,KAAK,kBAAkB,EAAa,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAGjE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGnF,MAAM,MAAM,yBAAyB,GAAG,qBAAqB,GAAG;IAC9D,kCAAkC;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC/B,uEAAuE;IACvE,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC,CAAC;AAEF,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAa,MAAM,CACjB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,OAAO,GAAE,yBAA8B,GACtC,OAAO,CAAC,kBAAkB,CAAC,CAkD7B;CACF;AAED,OAAO,EAAE,kBAAkB,IAAI,cAAc,EAAE,CAAC;AAChD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
+
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { createStore as createWalletStore, openTmpStore } from '@aztec/kv-store/lmdb-v2';
|
|
4
|
+
import { getPXEConfig } from '@aztec/pxe/config';
|
|
5
|
+
import { createPXE } from '@aztec/pxe/server';
|
|
6
|
+
import { BundleAccountContractsProvider } from '../account-contract-providers/bundle.js';
|
|
7
|
+
import { EmbeddedWallet } from '../embedded_wallet.js';
|
|
8
|
+
import { WalletDB } from '../wallet_db.js';
|
|
9
|
+
export class NodeEmbeddedWallet extends EmbeddedWallet {
|
|
10
|
+
static async create(nodeOrUrl, options = {}) {
|
|
11
|
+
const rootLogger = options.logger ?? createLogger('embedded-wallet');
|
|
12
|
+
const aztecNode = typeof nodeOrUrl === 'string' ? createAztecNodeClient(nodeOrUrl) : nodeOrUrl;
|
|
13
|
+
const pxeConfig = Object.assign(getPXEConfig(), {
|
|
14
|
+
proverEnabled: options.pxeConfig?.proverEnabled ?? false,
|
|
15
|
+
...options.pxeConfig
|
|
16
|
+
});
|
|
17
|
+
if (options.ephemeral) {
|
|
18
|
+
delete pxeConfig.dataDirectory;
|
|
19
|
+
}
|
|
20
|
+
const pxeOptions = {
|
|
21
|
+
...options.pxeOptions,
|
|
22
|
+
loggers: {
|
|
23
|
+
store: rootLogger.createChild('pxe:data'),
|
|
24
|
+
pxe: rootLogger.createChild('pxe:service'),
|
|
25
|
+
prover: rootLogger.createChild('pxe:prover'),
|
|
26
|
+
...options.pxeOptions?.loggers
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
const pxe = await createPXE(aztecNode, pxeConfig, pxeOptions);
|
|
30
|
+
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
31
|
+
const rollupAddress = l1Contracts.rollupAddress;
|
|
32
|
+
const walletDBStore = options.ephemeral ? await openTmpStore('wallet_data', true, undefined, undefined, rootLogger.createChild('wallet:data').getBindings()) : await createWalletStore('wallet_data', 1, {
|
|
33
|
+
dataDirectory: pxeConfig.dataDirectory,
|
|
34
|
+
dataStoreMapSizeKb: pxeConfig.dataStoreMapSizeKb,
|
|
35
|
+
l1Contracts: {
|
|
36
|
+
rollupAddress
|
|
37
|
+
}
|
|
38
|
+
}, rootLogger.createChild('wallet:data').getBindings());
|
|
39
|
+
const walletDB = WalletDB.init(walletDBStore, rootLogger.createChild('wallet:db').info);
|
|
40
|
+
return new NodeEmbeddedWallet(pxe, aztecNode, walletDB, new BundleAccountContractsProvider(), rootLogger);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export { NodeEmbeddedWallet as EmbeddedWallet };
|
|
44
|
+
export { WalletDB } from '../wallet_db.js';
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Aliased } from '@aztec/aztec.js/wallet';
|
|
2
|
+
import { Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
+
import type { LogFn } from '@aztec/foundation/log';
|
|
4
|
+
import type { AztecAsyncKVStore } from '@aztec/kv-store';
|
|
5
|
+
import { AztecAddress } from '@aztec/stdlib/aztec-address';
|
|
6
|
+
export declare const AccountTypes: readonly ["schnorr", "ecdsasecp256r1", "ecdsasecp256k1"];
|
|
7
|
+
export type AccountType = (typeof AccountTypes)[number];
|
|
8
|
+
export declare class WalletDB {
|
|
9
|
+
#private;
|
|
10
|
+
private accounts;
|
|
11
|
+
private aliases;
|
|
12
|
+
private userLog;
|
|
13
|
+
private constructor();
|
|
14
|
+
static init(store: AztecAsyncKVStore, userLog: LogFn): WalletDB;
|
|
15
|
+
storeAccount(address: AztecAddress, { type, secretKey, salt, alias, signingKey }: {
|
|
16
|
+
type: AccountType;
|
|
17
|
+
secretKey: Fr;
|
|
18
|
+
salt: Fr;
|
|
19
|
+
signingKey: Fq | Buffer;
|
|
20
|
+
alias: string | undefined;
|
|
21
|
+
}, log?: LogFn): Promise<void>;
|
|
22
|
+
storeSender(address: AztecAddress, alias: string, log?: LogFn): Promise<void>;
|
|
23
|
+
retrieveAccount(address: AztecAddress | string): Promise<{
|
|
24
|
+
address: string | AztecAddress;
|
|
25
|
+
secretKey: Fr;
|
|
26
|
+
salt: Fr;
|
|
27
|
+
type: "ecdsasecp256k1" | "ecdsasecp256r1" | "schnorr";
|
|
28
|
+
signingKey: Buffer<ArrayBufferLike>;
|
|
29
|
+
}>;
|
|
30
|
+
listAccounts(): Promise<Aliased<AztecAddress>[]>;
|
|
31
|
+
listSenders(): Promise<Aliased<AztecAddress>[]>;
|
|
32
|
+
deleteAccount(address: AztecAddress): Promise<void>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0X2RiLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZW1iZWRkZWQvd2FsbGV0X2RiLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEQsT0FBTyxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxLQUFLLEVBQUUsaUJBQWlCLEVBQWlCLE1BQU0saUJBQWlCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTNELGVBQU8sTUFBTSxZQUFZLDBEQUEyRCxDQUFDO0FBQ3JGLE1BQU0sTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFPLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBTXhELHFCQUFhLFFBQVE7O0lBRWpCLE9BQU8sQ0FBQyxRQUFRO0lBQ2hCLE9BQU8sQ0FBQyxPQUFPO0lBQ2YsT0FBTyxDQUFDLE9BQU87SUFIakIsT0FBTyxlQUlIO0lBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLEtBQUssWUFJbkQ7SUFFSyxZQUFZLENBQ2hCLE9BQU8sRUFBRSxZQUFZLEVBQ3JCLEVBQ0UsSUFBSSxFQUNKLFNBQVMsRUFDVCxJQUFJLEVBQ0osS0FBSyxFQUNMLFVBQVUsRUFDWCxFQUFFO1FBQ0QsSUFBSSxFQUFFLFdBQVcsQ0FBQztRQUNsQixTQUFTLEVBQUUsRUFBRSxDQUFDO1FBQ2QsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ3hCLEtBQUssRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO0tBQzNCLEVBQ0QsR0FBRyxHQUFFLEtBQW9CLGlCQWExQjtJQUVLLFdBQVcsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFFLEtBQW9CLGlCQUdoRjtJQUVLLGVBQWUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxHQUFHLE1BQU07Ozs7OztPQWNuRDtJQUVLLFlBQVksSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FXckQ7SUFFSyxXQUFXLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBU3BEO0lBb0JLLGFBQWEsQ0FBQyxPQUFPLEVBQUUsWUFBWSxpQkFheEM7Q0FDRiJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet_db.d.ts","sourceRoot":"","sources":["../../src/embedded/wallet_db.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,eAAO,MAAM,YAAY,0DAA2D,CAAC;AACrF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAMxD,qBAAa,QAAQ;;IAEjB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,OAAO;IAHjB,OAAO,eAIH;IAEJ,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,YAInD;IAEK,YAAY,CAChB,OAAO,EAAE,YAAY,EACrB,EACE,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,UAAU,EACX,EAAE;QACD,IAAI,EAAE,WAAW,CAAC;QAClB,SAAS,EAAE,EAAE,CAAC;QACd,IAAI,EAAE,EAAE,CAAC;QACT,UAAU,EAAE,EAAE,GAAG,MAAM,CAAC;QACxB,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;KAC3B,EACD,GAAG,GAAE,KAAoB,iBAa1B;IAEK,WAAW,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,KAAoB,iBAGhF;IAEK,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;;;;;;OAcnD;IAEK,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAWrD;IAEK,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CASpD;IAoBK,aAAa,CAAC,OAAO,EAAE,YAAY,iBAaxC;CACF"}
|