@aztec/wallets 0.0.1-commit.e2b2873ed → 0.0.1-commit.e304674f1
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 +6 -2
- package/dest/embedded/account-contract-providers/bundle.d.ts.map +1 -1
- package/dest/embedded/account-contract-providers/bundle.js +4 -0
- package/dest/embedded/account-contract-providers/lazy.d.ts +6 -2
- package/dest/embedded/account-contract-providers/lazy.d.ts.map +1 -1
- package/dest/embedded/account-contract-providers/lazy.js +4 -0
- package/dest/embedded/account-contract-providers/types.d.ts +6 -2
- package/dest/embedded/account-contract-providers/types.d.ts.map +1 -1
- package/dest/embedded/embedded_wallet.d.ts +38 -6
- package/dest/embedded/embedded_wallet.d.ts.map +1 -1
- package/dest/embedded/embedded_wallet.js +148 -48
- package/dest/embedded/entrypoints/browser.d.ts +8 -3
- package/dest/embedded/entrypoints/browser.d.ts.map +1 -1
- package/dest/embedded/entrypoints/browser.js +32 -15
- package/dest/embedded/entrypoints/node.d.ts +7 -11
- package/dest/embedded/entrypoints/node.d.ts.map +1 -1
- package/dest/embedded/entrypoints/node.js +22 -14
- package/dest/testing.d.ts +1 -1
- package/dest/testing.d.ts.map +1 -1
- package/dest/testing.js +2 -2
- package/package.json +19 -9
- package/src/embedded/account-contract-providers/bundle.ts +6 -1
- package/src/embedded/account-contract-providers/lazy.ts +6 -1
- package/src/embedded/account-contract-providers/types.ts +2 -1
- package/src/embedded/embedded_wallet.ts +201 -56
- package/src/embedded/entrypoints/browser.ts +46 -19
- package/src/embedded/entrypoints/node.ts +34 -30
- package/src/testing.ts +2 -1
- package/dest/embedded/embedded_wallet_browser.d.ts +0 -5
- package/dest/embedded/embedded_wallet_browser.d.ts.map +0 -1
- package/dest/embedded/embedded_wallet_browser.js +0 -31
- package/src/embedded/embedded_wallet_browser.ts +0 -40
|
@@ -1,34 +1,41 @@
|
|
|
1
1
|
import { createAztecNodeClient } from '@aztec/aztec.js/node';
|
|
2
|
-
import { createLogger } from '@aztec/foundation/log';
|
|
3
|
-
import { createStore
|
|
4
|
-
import type
|
|
5
|
-
import {
|
|
6
|
-
import { type PXECreationOptions, createPXE } from '@aztec/pxe/server';
|
|
2
|
+
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
3
|
+
import { createStore, openTmpStore } from '@aztec/kv-store/lmdb-v2';
|
|
4
|
+
import { type PXEConfig, getPXEConfig } from '@aztec/pxe/config';
|
|
5
|
+
import { type PXE, type PXECreationOptions, createPXE } from '@aztec/pxe/server';
|
|
7
6
|
import type { AztecNode } from '@aztec/stdlib/interfaces/client';
|
|
8
7
|
|
|
9
8
|
import { BundleAccountContractsProvider } from '../account-contract-providers/bundle.js';
|
|
10
|
-
import {
|
|
9
|
+
import type { AccountContractsProvider } from '../account-contract-providers/types.js';
|
|
10
|
+
import { EmbeddedWallet, type EmbeddedWalletOptions, splitPxeOptions } from '../embedded_wallet.js';
|
|
11
11
|
import { WalletDB } from '../wallet_db.js';
|
|
12
12
|
|
|
13
|
-
export type NodeEmbeddedWalletOptions = EmbeddedWalletOptions & {
|
|
14
|
-
/** Override PXE configuration. */
|
|
15
|
-
pxeConfig?: Partial<PXEConfig>;
|
|
16
|
-
/** Advanced PXE creation options (custom store, prover, simulator). */
|
|
17
|
-
pxeOptions?: PXECreationOptions;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
13
|
export class NodeEmbeddedWallet extends EmbeddedWallet {
|
|
21
|
-
static async create(
|
|
14
|
+
static async create<T extends NodeEmbeddedWallet = NodeEmbeddedWallet>(
|
|
15
|
+
this: new (
|
|
16
|
+
pxe: PXE,
|
|
17
|
+
aztecNode: AztecNode,
|
|
18
|
+
walletDB: WalletDB,
|
|
19
|
+
accountContracts: AccountContractsProvider,
|
|
20
|
+
log?: Logger,
|
|
21
|
+
) => T,
|
|
22
22
|
nodeOrUrl: string | AztecNode,
|
|
23
|
-
options:
|
|
24
|
-
): Promise<
|
|
23
|
+
options: EmbeddedWalletOptions = {},
|
|
24
|
+
): Promise<T> {
|
|
25
25
|
const rootLogger = options.logger ?? createLogger('embedded-wallet');
|
|
26
26
|
|
|
27
27
|
const aztecNode = typeof nodeOrUrl === 'string' ? createAztecNodeClient(nodeOrUrl) : nodeOrUrl;
|
|
28
|
+
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
29
|
+
|
|
30
|
+
// Support both the new unified `pxe` option and the deprecated `pxeConfig`/`pxeOptions`.
|
|
31
|
+
const { config: pxeConfigFromPxe, creation: pxeCreationFromPxe } = splitPxeOptions(options.pxe);
|
|
32
|
+
const mergedConfigOverrides = { ...options.pxeConfig, ...pxeConfigFromPxe };
|
|
33
|
+
const mergedCreationOverrides: PXECreationOptions = { ...options.pxeOptions, ...pxeCreationFromPxe };
|
|
28
34
|
|
|
29
|
-
const pxeConfig = Object.assign(getPXEConfig(), {
|
|
30
|
-
proverEnabled:
|
|
31
|
-
|
|
35
|
+
const pxeConfig: PXEConfig = Object.assign(getPXEConfig(), {
|
|
36
|
+
proverEnabled: mergedConfigOverrides.proverEnabled ?? false,
|
|
37
|
+
dataDirectory: `pxe_data_${l1Contracts.rollupAddress}`,
|
|
38
|
+
...mergedConfigOverrides,
|
|
32
39
|
});
|
|
33
40
|
|
|
34
41
|
if (options.ephemeral) {
|
|
@@ -36,45 +43,42 @@ export class NodeEmbeddedWallet extends EmbeddedWallet {
|
|
|
36
43
|
}
|
|
37
44
|
|
|
38
45
|
const pxeOptions: PXECreationOptions = {
|
|
39
|
-
...
|
|
46
|
+
...mergedCreationOverrides,
|
|
40
47
|
loggers: {
|
|
41
48
|
store: rootLogger.createChild('pxe:data'),
|
|
42
49
|
pxe: rootLogger.createChild('pxe:service'),
|
|
43
50
|
prover: rootLogger.createChild('pxe:prover'),
|
|
44
|
-
...
|
|
51
|
+
...mergedCreationOverrides.loggers,
|
|
45
52
|
},
|
|
46
53
|
};
|
|
47
54
|
|
|
48
55
|
const pxe = await createPXE(aztecNode, pxeConfig, pxeOptions);
|
|
49
56
|
|
|
50
|
-
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
51
|
-
const rollupAddress = l1Contracts.rollupAddress;
|
|
52
|
-
|
|
53
57
|
const walletDBStore = options.ephemeral
|
|
54
58
|
? await openTmpStore(
|
|
55
|
-
|
|
59
|
+
`wallet_data_${l1Contracts.rollupAddress}`,
|
|
56
60
|
true,
|
|
57
61
|
undefined,
|
|
58
62
|
undefined,
|
|
59
63
|
rootLogger.createChild('wallet:data').getBindings(),
|
|
60
64
|
)
|
|
61
|
-
: await
|
|
65
|
+
: await createStore(
|
|
62
66
|
'wallet_data',
|
|
63
67
|
1,
|
|
64
68
|
{
|
|
65
|
-
dataDirectory:
|
|
69
|
+
dataDirectory: `wallet_data_${l1Contracts.rollupAddress}`,
|
|
66
70
|
dataStoreMapSizeKb: pxeConfig.dataStoreMapSizeKb,
|
|
67
|
-
l1Contracts
|
|
71
|
+
l1Contracts,
|
|
68
72
|
},
|
|
69
73
|
rootLogger.createChild('wallet:data').getBindings(),
|
|
70
74
|
);
|
|
71
75
|
const walletDB = WalletDB.init(walletDBStore, rootLogger.createChild('wallet:db').info);
|
|
72
76
|
|
|
73
|
-
return new
|
|
77
|
+
return new this(pxe, aztecNode, walletDB, new BundleAccountContractsProvider(), rootLogger) as T;
|
|
74
78
|
}
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
export { NodeEmbeddedWallet as EmbeddedWallet };
|
|
78
|
-
export type { EmbeddedWalletOptions } from '../embedded_wallet.js';
|
|
82
|
+
export type { EmbeddedWalletOptions, EmbeddedWalletPXEOptions } from '../embedded_wallet.js';
|
|
79
83
|
export { WalletDB } from '../wallet_db.js';
|
|
80
84
|
export type { AccountType } from '../wallet_db.js';
|
package/src/testing.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { InitialAccountData } from '@aztec/accounts/testing';
|
|
2
2
|
import { getInitialTestAccountsData } from '@aztec/accounts/testing/lazy';
|
|
3
|
+
import { NO_FROM } from '@aztec/aztec.js/account';
|
|
3
4
|
import type { WaitOpts } from '@aztec/aztec.js/contracts';
|
|
4
5
|
import type { AccountManager } from '@aztec/aztec.js/wallet';
|
|
5
6
|
import type { Fq, Fr } from '@aztec/foundation/curves/bn254';
|
|
@@ -21,7 +22,7 @@ export async function deployFundedSchnorrAccounts(
|
|
|
21
22
|
const accountManager = await wallet.createSchnorrAccount(secret, salt, signingKey);
|
|
22
23
|
const deployMethod = await accountManager.getDeployMethod();
|
|
23
24
|
await deployMethod.send({
|
|
24
|
-
from:
|
|
25
|
+
from: NO_FROM,
|
|
25
26
|
skipClassPublication: i !== 0,
|
|
26
27
|
wait: waitOptions,
|
|
27
28
|
});
|
|
@@ -1,5 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,31 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
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
|
-
|
|
7
|
-
import { LazyAccountContractsProvider } from './account-contract-providers/lazy.js';
|
|
8
|
-
import { EmbeddedWallet } from './embedded_wallet.js';
|
|
9
|
-
import { WalletDB } from './wallet_db.js';
|
|
10
|
-
|
|
11
|
-
export class BrowserEmbeddedWallet extends EmbeddedWallet {
|
|
12
|
-
static async create(nodeUrl: string): Promise<BrowserEmbeddedWallet> {
|
|
13
|
-
const aztecNode = createAztecNodeClient(nodeUrl);
|
|
14
|
-
|
|
15
|
-
const l1Contracts = await aztecNode.getL1ContractAddresses();
|
|
16
|
-
const rollupAddress = l1Contracts.rollupAddress;
|
|
17
|
-
|
|
18
|
-
const config = getPXEConfig();
|
|
19
|
-
config.dataDirectory = `pxe-${rollupAddress}`;
|
|
20
|
-
|
|
21
|
-
const pxe = await createPXE(aztecNode, config, {
|
|
22
|
-
loggers: {
|
|
23
|
-
store: createLogger('pxe:data:idb'),
|
|
24
|
-
pxe: createLogger('pxe:service'),
|
|
25
|
-
prover: createLogger('bb:wasm:lazy'),
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
const logger = createLogger('embedded-wallet:browser');
|
|
30
|
-
const walletDBStore = await createStore(
|
|
31
|
-
`wallet-${rollupAddress}`,
|
|
32
|
-
{ dataDirectory: 'wallet', dataStoreMapSizeKb: 2e10 },
|
|
33
|
-
undefined,
|
|
34
|
-
createLogger('wallet:data:idb'),
|
|
35
|
-
);
|
|
36
|
-
const walletDB = WalletDB.init(walletDBStore, logger.info);
|
|
37
|
-
|
|
38
|
-
return new BrowserEmbeddedWallet(pxe, aztecNode, walletDB, new LazyAccountContractsProvider());
|
|
39
|
-
}
|
|
40
|
-
}
|