@1sat/wallet 0.0.31 → 0.0.32

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.
@@ -0,0 +1,45 @@
1
+ import { OneSatServices } from '@1sat/client';
2
+ import { PrivateKey } from '@bsv/sdk';
3
+ import type { sdk as toolboxSdk } from '@bsv/wallet-toolbox';
4
+ type WalletStorageProvider = toolboxSdk.WalletStorageProvider;
5
+ export type Chain = 'main' | 'test';
6
+ export declare const DEFAULT_FEE_MODEL: {
7
+ model: "sat/kb";
8
+ value: number;
9
+ };
10
+ export declare const DEFAULT_CONNECTION_TIMEOUT = 5000;
11
+ export interface WalletCoreConfig {
12
+ privateKey: PrivateKey | string;
13
+ chain: Chain;
14
+ feeModel?: {
15
+ model: 'sat/kb';
16
+ value: number;
17
+ };
18
+ activeRemote?: string;
19
+ backups?: string[];
20
+ connectionTimeout?: number;
21
+ onTransactionBroadcasted?: (txid: string) => void;
22
+ onTransactionProven?: (txid: string, blockHeight: number) => void;
23
+ }
24
+ export interface WalletCoreResult {
25
+ wallet: InstanceType<any>;
26
+ services: OneSatServices;
27
+ storage: InstanceType<any>;
28
+ destroy: () => Promise<void>;
29
+ remoteClients: InstanceType<any>[];
30
+ migrateRemote: (url: string) => Promise<void>;
31
+ feeModel: {
32
+ model: 'sat/kb';
33
+ value: number;
34
+ };
35
+ }
36
+ export declare function createWalletCore(config: WalletCoreConfig, localStorage: WalletStorageProvider | undefined, toolbox: {
37
+ Services: any;
38
+ StorageClient: any;
39
+ StorageProvider: any;
40
+ Wallet: any;
41
+ WalletStorageManager: any;
42
+ Monitor?: any;
43
+ }): Promise<WalletCoreResult>;
44
+ export {};
45
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAc,UAAU,EAAwB,MAAM,UAAU,CAAA;AACvE,OAAO,KAAK,EAAE,GAAG,IAAI,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAI5D,KAAK,qBAAqB,GAAG,UAAU,CAAC,qBAAqB,CAAA;AAE7D,MAAM,MAAM,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnC,eAAO,MAAM,iBAAiB;;;CAA2C,CAAA;AACzE,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,GAAG,MAAM,CAAA;IAC/B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IACzB,QAAQ,EAAE,cAAc,CAAA;IACxB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAA;IAC1B,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,aAAa,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,CAAA;IAClC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,QAAQ,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAED,wBAAsB,gBAAgB,CACrC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,qBAAqB,GAAG,SAAS,EAC/C,OAAO,EAAE;IACR,QAAQ,EAAE,GAAG,CAAA;IACb,aAAa,EAAE,GAAG,CAAA;IAClB,eAAe,EAAE,GAAG,CAAA;IACpB,MAAM,EAAE,GAAG,CAAA;IACX,oBAAoB,EAAE,GAAG,CAAA;IACzB,OAAO,CAAC,EAAE,GAAG,CAAA;CACb,GACC,OAAO,CAAC,gBAAgB,CAAC,CAmI3B"}
@@ -0,0 +1,115 @@
1
+ import { OneSatServices } from '@1sat/client';
2
+ import { KeyDeriver } from '@bsv/sdk';
3
+ import { parsePrivateKey } from './parsePrivateKey';
4
+ export const DEFAULT_FEE_MODEL = { model: 'sat/kb', value: 100 };
5
+ export const DEFAULT_CONNECTION_TIMEOUT = 5000;
6
+ export async function createWalletCore(config, localStorage, toolbox) {
7
+ const { chain } = config;
8
+ const feeModel = config.feeModel ?? DEFAULT_FEE_MODEL;
9
+ const timeout = config.connectionTimeout ?? DEFAULT_CONNECTION_TIMEOUT;
10
+ const privateKey = parsePrivateKey(config.privateKey);
11
+ const identityPubKey = privateKey.toPublicKey().toString();
12
+ const keyDeriver = new KeyDeriver(privateKey);
13
+ // 1. Create services
14
+ const fallbackServices = new toolbox.Services(chain);
15
+ const oneSatServices = new OneSatServices(chain, undefined, fallbackServices);
16
+ // 2. Create storage manager
17
+ let storage;
18
+ if (localStorage) {
19
+ storage = new toolbox.WalletStorageManager(identityPubKey, localStorage, []);
20
+ await storage.makeAvailable();
21
+ }
22
+ else {
23
+ storage = new toolbox.WalletStorageManager(identityPubKey);
24
+ }
25
+ // 3. Create wallet (needed for StorageClient auth)
26
+ const wallet = new toolbox.Wallet({
27
+ chain,
28
+ keyDeriver,
29
+ storage,
30
+ services: oneSatServices,
31
+ });
32
+ // 4. Connect remotes
33
+ const remoteClients = [];
34
+ const connectRemote = async (url) => {
35
+ const client = new toolbox.StorageClient(wallet, url);
36
+ const timeoutPromise = new Promise((_, reject) => setTimeout(() => reject(new Error(`Remote storage connection timeout: ${url}`)), timeout));
37
+ await Promise.race([
38
+ storage.addWalletStorageProvider(client),
39
+ timeoutPromise,
40
+ ]);
41
+ remoteClients.push(client);
42
+ return client;
43
+ };
44
+ // Connect active remote
45
+ if (config.activeRemote) {
46
+ const activeClient = await connectRemote(config.activeRemote);
47
+ const settings = activeClient.getSettings();
48
+ if (settings?.storageIdentityKey) {
49
+ await storage.setActive(settings.storageIdentityKey);
50
+ }
51
+ }
52
+ // Connect backup remotes
53
+ if (config.backups) {
54
+ for (const url of config.backups) {
55
+ await connectRemote(url);
56
+ }
57
+ }
58
+ // 5. Wire updateBackups interception (with guard to prevent double-wrapping)
59
+ let backupInterceptionWired = false;
60
+ const wireBackupInterception = () => {
61
+ if (backupInterceptionWired)
62
+ return;
63
+ if (storage.getBackupStores().length === 0)
64
+ return;
65
+ backupInterceptionWired = true;
66
+ const originalCreateAction = wallet.createAction.bind(wallet);
67
+ wallet.createAction = async (args) => {
68
+ const result = await originalCreateAction(args);
69
+ if (result.txid) {
70
+ storage.updateBackups().catch(() => { });
71
+ }
72
+ return result;
73
+ };
74
+ const originalSignAction = wallet.signAction.bind(wallet);
75
+ wallet.signAction = async (args) => {
76
+ const result = await originalSignAction(args);
77
+ if (result.txid) {
78
+ storage.updateBackups().catch(() => { });
79
+ }
80
+ return result;
81
+ };
82
+ };
83
+ wireBackupInterception();
84
+ // 6. migrateRemote implementation
85
+ const migrateRemote = async (url) => {
86
+ const existing = remoteClients.find((c) => c.endpointUrl === url);
87
+ if (existing) {
88
+ const settings = existing.getSettings();
89
+ if (settings?.storageIdentityKey) {
90
+ await storage.setActive(settings.storageIdentityKey);
91
+ }
92
+ return;
93
+ }
94
+ const client = await connectRemote(url);
95
+ const settings = client.getSettings();
96
+ if (settings?.storageIdentityKey) {
97
+ await storage.setActive(settings.storageIdentityKey);
98
+ }
99
+ wireBackupInterception();
100
+ };
101
+ // 7. Destroy
102
+ const destroy = async () => {
103
+ await wallet.destroy();
104
+ };
105
+ return {
106
+ wallet,
107
+ services: oneSatServices,
108
+ storage,
109
+ destroy,
110
+ remoteClients,
111
+ migrateRemote,
112
+ feeModel,
113
+ };
114
+ }
115
+ //# sourceMappingURL=factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../src/factory.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -6,4 +6,6 @@ export { Bsv21Indexer, CosignIndexer, deriveFundAddress, FundIndexer, Indexer, I
6
6
  export { AddressManager, BRC29_PROTOCOL_ID, YOURS_PREFIX, type AddressDerivation, } from './address-sync';
7
7
  export { FileBackupProvider, FileRestoreReader, Zip, ZipDeflate, unzip, type BackupManifest, type BackupProgressCallback, type BackupProgressEvent, type Unzipped, } from './backup';
8
8
  export { ChromeCWI, CWIEventName, EventCWI, createChromeCWI, createCWI, createEventCWI, createSigmaCWI, createWebCWI, type CWIResponseDetail, type CWITransport, type SigmaCWIConfig, type SigmaCWIResult, type WebCWIConfig, type WebCWIResult, } from './cwi';
9
+ export { parsePrivateKey } from './parsePrivateKey';
10
+ export { createWalletCore, DEFAULT_FEE_MODEL, DEFAULT_CONNECTION_TIMEOUT, type Chain, type WalletCoreConfig, type WalletCoreResult, } from './factory';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,UAAU,GACV,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,GAAG,GACR,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACb,MAAM,UAAU,CAAA;AAGjB,OAAO,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,YAAY,EACX,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,UAAU,GACV,MAAM,aAAa,CAAA;AAGpB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAGzD,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAGrB,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,KAAK,EACV,KAAK,GAAG,GACR,MAAM,YAAY,CAAA;AAGnB,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,QAAQ,GACb,MAAM,UAAU,CAAA;AAGjB,OAAO,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,EACZ,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,GACjB,MAAM,OAAO,CAAA;AAMd,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGnD,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,EAC1B,KAAK,KAAK,EACV,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,GACrB,MAAM,WAAW,CAAA"}
package/dist/index.js CHANGED
@@ -14,4 +14,8 @@ export { FileBackupProvider, FileRestoreReader, Zip, ZipDeflate, unzip, } from '
14
14
  export { ChromeCWI, CWIEventName, EventCWI, createChromeCWI, createCWI, createEventCWI, createSigmaCWI, createWebCWI, } from './cwi';
15
15
  // Note: Storage utilities (StorageIdb, WalletStorageManager, Chain) should be
16
16
  // imported directly from '@bsv/wallet-toolbox/mobile'
17
+ // Factory utilities
18
+ export { parsePrivateKey } from './parsePrivateKey';
19
+ // Factory core
20
+ export { createWalletCore, DEFAULT_FEE_MODEL, DEFAULT_CONNECTION_TIMEOUT, } from './factory';
17
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAU7C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,cAAc;AACd,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAErB,WAAW;AACX,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,GAYZ,MAAM,YAAY,CAAA;AAEnB,eAAe;AACf,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEZ,MAAM,gBAAgB,CAAA;AAEvB,SAAS;AACT,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,GAKL,MAAM,UAAU,CAAA;AAEjB,+BAA+B;AAC/B,OAAO,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,GAOZ,MAAM,OAAO,CAAA;AAEd,8EAA8E;AAC9E,sDAAsD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAU7C,UAAU;AACV,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAEzD,cAAc;AACd,OAAO,EACN,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,aAAa,EACb,SAAS,GACT,MAAM,cAAc,CAAA;AAErB,WAAW;AACX,OAAO,EACN,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,OAAO,EACP,kBAAkB,EAClB,WAAW,EACX,OAAO,EACP,UAAU,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,YAAY,GAYZ,MAAM,YAAY,CAAA;AAEnB,eAAe;AACf,OAAO,EACN,cAAc,EACd,iBAAiB,EACjB,YAAY,GAEZ,MAAM,gBAAgB,CAAA;AAEvB,SAAS;AACT,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,GAAG,EACH,UAAU,EACV,KAAK,GAKL,MAAM,UAAU,CAAA;AAEjB,+BAA+B;AAC/B,OAAO,EACN,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,SAAS,EACT,cAAc,EACd,cAAc,EACd,YAAY,GAOZ,MAAM,OAAO,CAAA;AAEd,8EAA8E;AAC9E,sDAAsD;AAEtD,oBAAoB;AACpB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,eAAe;AACf,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,0BAA0B,GAI1B,MAAM,WAAW,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { PrivateKey } from '@bsv/sdk';
2
+ export declare function parsePrivateKey(input: PrivateKey | string): PrivateKey;
3
+ //# sourceMappingURL=parsePrivateKey.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePrivateKey.d.ts","sourceRoot":"","sources":["../src/parsePrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,GAAG,UAAU,CAoBtE"}
@@ -0,0 +1,19 @@
1
+ import { PrivateKey } from '@bsv/sdk';
2
+ export function parsePrivateKey(input) {
3
+ if (input instanceof PrivateKey) {
4
+ return input;
5
+ }
6
+ if (/^[5KLc][1-9A-HJ-NP-Za-km-z]{50,51}$/.test(input)) {
7
+ return PrivateKey.fromWif(input);
8
+ }
9
+ if (/^[0-9a-fA-F]{64}$/.test(input)) {
10
+ return new PrivateKey(input);
11
+ }
12
+ try {
13
+ return PrivateKey.fromWif(input);
14
+ }
15
+ catch {
16
+ throw new Error('Invalid private key format. Expected PrivateKey instance, WIF string, or 64-char hex string.');
17
+ }
18
+ }
19
+ //# sourceMappingURL=parsePrivateKey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsePrivateKey.js","sourceRoot":"","sources":["../src/parsePrivateKey.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,MAAM,UAAU,eAAe,CAAC,KAA0B;IACzD,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QACjC,OAAO,KAAK,CAAA;IACb,CAAC;IAED,IAAI,qCAAqC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,CAAC;QACJ,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CACd,8FAA8F,CAC9F,CAAA;IACF,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/wallet",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "description": "BRC-100 wallet engine for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,19 +20,19 @@
20
20
  "keywords": ["1sat", "bsv", "ordinals", "wallet", "brc-100"],
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@1sat/client": "0.0.16",
24
- "@1sat/types": "0.0.13",
25
- "@1sat/templates": "0.0.2",
23
+ "@1sat/client": "0.0.17",
24
+ "@1sat/types": "0.0.14",
25
+ "@1sat/templates": "0.0.3",
26
26
  "@bopen-io/templates": "^1.2.3",
27
27
  "@msgpack/msgpack": "^3.1.3",
28
28
  "fflate": "^0.8.2"
29
29
  },
30
30
  "peerDependencies": {
31
- "@bsv/sdk": "^2.0.4"
31
+ "@bsv/sdk": "^2.0.6",
32
+ "@bsv/wallet-toolbox": "^2.1.8"
32
33
  },
33
34
  "devDependencies": {
34
- "@bsv/sdk": "^2.0.4",
35
- "@bsv/wallet-toolbox": "^2.0.20",
35
+ "@bsv/sdk": "^2.0.6",
36
36
  "@types/chrome": "^0.1.32",
37
37
  "typescript": "^5.9.3"
38
38
  }