@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.
- package/dist/factory.d.ts +45 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +115 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/parsePrivateKey.d.ts +3 -0
- package/dist/parsePrivateKey.d.ts.map +1 -0
- package/dist/parsePrivateKey.js +19 -0
- package/dist/parsePrivateKey.js.map +1 -0
- package/package.json +7 -7
|
@@ -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"}
|
package/dist/factory.js
ADDED
|
@@ -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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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 @@
|
|
|
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.
|
|
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.
|
|
24
|
-
"@1sat/types": "0.0.
|
|
25
|
-
"@1sat/templates": "0.0.
|
|
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.
|
|
31
|
+
"@bsv/sdk": "^2.0.6",
|
|
32
|
+
"@bsv/wallet-toolbox": "^2.1.8"
|
|
32
33
|
},
|
|
33
34
|
"devDependencies": {
|
|
34
|
-
"@bsv/sdk": "^2.0.
|
|
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
|
}
|