@1sat/utils 0.0.1 → 0.0.3

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/index.d.ts CHANGED
@@ -44,4 +44,5 @@ export declare function validIconFormat(icon: string): boolean;
44
44
  * Returns Error if validation fails, undefined if valid
45
45
  */
46
46
  export declare function validateSubTypeData(subType: 'collection' | 'collectionItem', subTypeData: CollectionItemSubTypeData | CollectionSubTypeData): Error | undefined;
47
+ export { type WalletKeys, type KeyDerivationPaths, YOURS_WALLET_PATH, YOURS_ID_PATH, YOURS_ORD_PATH, RELAYX_ORD_PATH, RELAYX_ID_PATH, RELAYX_WALLET_PATH, RELAYX_SWEEP_PATH, TWETCH_WALLET_PATH, TWETCH_ORD_PATH, AYM_WALLET_PATH, AYM_ORD_PATH, wifToHex, wifToAddress, wifToPublicKey, deriveKeyFromMnemonic, getKeysFromMnemonicAndPaths, findKeysWithVanityOrdinal, generateMnemonic, isValidMnemonic, } from './keys';
47
48
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAEf,GAAG,EACH,MAAM,EACN,MAAM,aAAa,CAAA;AAUpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ,CAWA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBzD;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAqBpE;AAMD,eAAO,MAAM,kBAAkB,OAE9B,CAAA;AACD,eAAO,MAAM,oBAAoB,OAA4C,CAAA;AAC7E,eAAO,MAAM,oBAAoB,OAAsC,CAAA;AACvE,eAAO,MAAM,6BAA6B,OAEzC,CAAA;AA2CD;;;GAGG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,eAAe,GACnB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA6BvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,YAAY,GAAG,gBAAgB,EACxC,WAAW,EAAE,yBAAyB,GAAG,qBAAqB,GAC5D,KAAK,GAAG,SAAS,CAgFnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EAEf,GAAG,EACH,MAAM,EACN,MAAM,aAAa,CAAA;AAUpB;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACZ,CAWA;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAuBzD;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS,CAqBpE;AAMD,eAAO,MAAM,kBAAkB,OAE9B,CAAA;AACD,eAAO,MAAM,oBAAoB,OAA4C,CAAA;AAC7E,eAAO,MAAM,oBAAoB,OAAsC,CAAA;AACvE,eAAO,MAAM,6BAA6B,OAEzC,CAAA;AA2CD;;;GAGG;AACH,wBAAsB,aAAa,CAClC,IAAI,EAAE,eAAe,GACnB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CA6BvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAErD;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,OAAO,EAAE,YAAY,GAAG,gBAAgB,EACxC,WAAW,EAAE,yBAAyB,GAAG,qBAAqB,GAC5D,KAAK,GAAG,SAAS,CAgFnB;AAMD,OAAO,EAEN,KAAK,UAAU,EACf,KAAK,kBAAkB,EAEvB,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,YAAY,EAEZ,QAAQ,EACR,YAAY,EACZ,cAAc,EAEd,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,GACf,MAAM,QAAQ,CAAA"}
package/dist/index.js CHANGED
@@ -232,4 +232,14 @@ export function validateSubTypeData(subType, subTypeData) {
232
232
  return new Error('Invalid JSON data');
233
233
  }
234
234
  }
235
+ // ============================================================================
236
+ // Key Derivation Utilities
237
+ // ============================================================================
238
+ export {
239
+ // Derivation path constants
240
+ YOURS_WALLET_PATH, YOURS_ID_PATH, YOURS_ORD_PATH, RELAYX_ORD_PATH, RELAYX_ID_PATH, RELAYX_WALLET_PATH, RELAYX_SWEEP_PATH, TWETCH_WALLET_PATH, TWETCH_ORD_PATH, AYM_WALLET_PATH, AYM_ORD_PATH,
241
+ // Conversion utilities
242
+ wifToHex, wifToAddress, wifToPublicKey,
243
+ // Key derivation functions
244
+ deriveKeyFromMnemonic, getKeysFromMnemonicAndPaths, findKeysWithVanityOrdinal, generateMnemonic, isValidMnemonic, } from './keys';
235
245
  //# 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":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/keys.d.ts ADDED
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Key derivation utilities for BSV wallets
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { getKeysFromMnemonicAndPaths, YOURS_WALLET_PATH, YOURS_ORD_PATH } from '@1sat/utils'
7
+ *
8
+ * const keys = getKeysFromMnemonicAndPaths(mnemonic, {
9
+ * changeAddressPath: YOURS_WALLET_PATH,
10
+ * ordAddressPath: YOURS_ORD_PATH,
11
+ * })
12
+ * ```
13
+ */
14
+ import { PrivateKey } from '@bsv/sdk';
15
+ /**
16
+ * Wallet keys in WIF format
17
+ * This is the standard format used by 1sat-web and compatible wallets
18
+ */
19
+ export interface WalletKeys {
20
+ /** Payment private key (WIF) */
21
+ payPk: string;
22
+ /** Ordinal private key (WIF) */
23
+ ordPk: string;
24
+ /** Original mnemonic (optional, for backup) */
25
+ mnemonic?: string;
26
+ /** Derivation path for payment key */
27
+ changeAddressPath?: number | string;
28
+ /** Derivation path for ordinal key */
29
+ ordAddressPath?: number | string;
30
+ /** Identity private key (WIF, optional) */
31
+ identityPk?: string;
32
+ /** Derivation path for identity key */
33
+ identityAddressPath?: number | string;
34
+ }
35
+ /**
36
+ * Configuration for key derivation paths
37
+ */
38
+ export interface KeyDerivationPaths {
39
+ /** Path for payment/change address (e.g., "m/44'/236'/0'/1/0") */
40
+ changeAddressPath: string;
41
+ /** Path for ordinal address (e.g., "m/44'/236'/1'/0/0") */
42
+ ordAddressPath: string;
43
+ /** Path for identity address (optional) */
44
+ identityAddressPath?: string;
45
+ }
46
+ /** Yours Wallet payment derivation path */
47
+ export declare const YOURS_WALLET_PATH = "m/44'/236'/0'/1/0";
48
+ /** Yours Wallet identity derivation path */
49
+ export declare const YOURS_ID_PATH = "m/0'/236'/0'/0/0";
50
+ /** Yours Wallet ordinal derivation path */
51
+ export declare const YOURS_ORD_PATH = "m/44'/236'/1'/0/0";
52
+ /** RelayX ordinal derivation path */
53
+ export declare const RELAYX_ORD_PATH = "m/44'/236'/0'/2/0";
54
+ /** RelayX identity path (same as Yours) */
55
+ export declare const RELAYX_ID_PATH = "m/0'/236'/0'/0/0";
56
+ /** RelayX payment path (same as Yours) */
57
+ export declare const RELAYX_WALLET_PATH = "m/44'/236'/0'/1/0";
58
+ /** RelayX sweep path */
59
+ export declare const RELAYX_SWEEP_PATH = "m/44'/236'/0'/0/0";
60
+ /** Twetch payment derivation path */
61
+ export declare const TWETCH_WALLET_PATH = "m/0/0";
62
+ /** Twetch ordinal path (same as Yours) */
63
+ export declare const TWETCH_ORD_PATH = "m/44'/236'/1'/0/0";
64
+ /** AYM payment derivation path */
65
+ export declare const AYM_WALLET_PATH = "m/0/0";
66
+ /** AYM ordinal derivation path (master key) */
67
+ export declare const AYM_ORD_PATH = "m";
68
+ /**
69
+ * Convert a WIF (Wallet Import Format) private key to hex format
70
+ * Useful for wallet-toolbox which uses rootKeyHex format
71
+ */
72
+ export declare function wifToHex(wif: string): string;
73
+ /**
74
+ * Get the public address from a WIF private key
75
+ */
76
+ export declare function wifToAddress(wif: string): string;
77
+ /**
78
+ * Get the public key (hex) from a WIF private key
79
+ */
80
+ export declare function wifToPublicKey(wif: string): string;
81
+ /**
82
+ * Derive a single private key from a mnemonic and path
83
+ *
84
+ * @param mnemonic - BIP39 mnemonic phrase
85
+ * @param path - Derivation path (e.g., "m/44'/236'/0'/0/0")
86
+ * @returns PrivateKey object
87
+ */
88
+ export declare function deriveKeyFromMnemonic(mnemonic: string, path: string): PrivateKey;
89
+ /**
90
+ * Derive wallet keys from a mnemonic using specified paths
91
+ * Returns keys in WIF format for compatibility with 1sat-web
92
+ *
93
+ * @param mnemonic - BIP39 mnemonic phrase
94
+ * @param paths - Derivation paths for each key type
95
+ * @returns WalletKeys with WIF-encoded private keys
96
+ */
97
+ export declare function getKeysFromMnemonicAndPaths(mnemonic: string, paths: KeyDerivationPaths): WalletKeys;
98
+ /**
99
+ * Find wallet keys from a mnemonic, searching for a "1s" vanity ordinal address
100
+ * This searches child keys until finding an ordinal address starting with "1s"
101
+ *
102
+ * @param mnemonic - BIP39 mnemonic phrase
103
+ * @param timeoutMs - Maximum time to search (default: 100000ms)
104
+ * @returns Promise resolving to WalletKeys with the found vanity address
105
+ */
106
+ export declare function findKeysWithVanityOrdinal(mnemonic: string, timeoutMs?: number): Promise<WalletKeys>;
107
+ /**
108
+ * Generate a new BIP39 mnemonic phrase
109
+ *
110
+ * @param strength - Bits of entropy (128 = 12 words, 256 = 24 words)
111
+ * @returns Mnemonic phrase string
112
+ */
113
+ export declare function generateMnemonic(strength?: 128 | 256): string;
114
+ /**
115
+ * Validate a BIP39 mnemonic phrase
116
+ *
117
+ * @param mnemonic - Mnemonic phrase to validate
118
+ * @returns true if valid, false otherwise
119
+ */
120
+ export declare function isValidMnemonic(mnemonic: string): boolean;
121
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,UAAU,EAAE,MAAM,UAAU,CAAA;AAMnD;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sCAAsC;IACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACnC,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAChC,2CAA2C;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,uCAAuC;IACvC,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,kEAAkE;IAClE,iBAAiB,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAA;IACtB,2CAA2C;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAMD,2CAA2C;AAC3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,4CAA4C;AAC5C,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAE/C,2CAA2C;AAC3C,eAAO,MAAM,cAAc,sBAAsB,CAAA;AAEjD,qCAAqC;AACrC,eAAO,MAAM,eAAe,sBAAsB,CAAA;AAElD,2CAA2C;AAC3C,eAAO,MAAM,cAAc,qBAAgB,CAAA;AAE3C,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,sBAAoB,CAAA;AAEnD,wBAAwB;AACxB,eAAO,MAAM,iBAAiB,sBAAsB,CAAA;AAEpD,qCAAqC;AACrC,eAAO,MAAM,kBAAkB,UAAU,CAAA;AAEzC,0CAA0C;AAC1C,eAAO,MAAM,eAAe,sBAAiB,CAAA;AAE7C,kCAAkC;AAClC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,+CAA+C;AAC/C,eAAO,MAAM,YAAY,MAAM,CAAA;AAM/B;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAElD;AAMD;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACV,UAAU,CAKZ;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CAC1C,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,kBAAkB,GACvB,UAAU,CA6CZ;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,SAAS,GAChB,OAAO,CAAC,UAAU,CAAC,CA4CrB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,GAAG,GAAG,GAAS,GAAG,MAAM,CAElE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOzD"}
package/dist/keys.js ADDED
@@ -0,0 +1,192 @@
1
+ /**
2
+ * Key derivation utilities for BSV wallets
3
+ *
4
+ * @example
5
+ * ```typescript
6
+ * import { getKeysFromMnemonicAndPaths, YOURS_WALLET_PATH, YOURS_ORD_PATH } from '@1sat/utils'
7
+ *
8
+ * const keys = getKeysFromMnemonicAndPaths(mnemonic, {
9
+ * changeAddressPath: YOURS_WALLET_PATH,
10
+ * ordAddressPath: YOURS_ORD_PATH,
11
+ * })
12
+ * ```
13
+ */
14
+ import { HD, Mnemonic, PrivateKey } from '@bsv/sdk';
15
+ // ============================================================================
16
+ // Standard Derivation Paths
17
+ // ============================================================================
18
+ /** Yours Wallet payment derivation path */
19
+ export const YOURS_WALLET_PATH = "m/44'/236'/0'/1/0";
20
+ /** Yours Wallet identity derivation path */
21
+ export const YOURS_ID_PATH = "m/0'/236'/0'/0/0";
22
+ /** Yours Wallet ordinal derivation path */
23
+ export const YOURS_ORD_PATH = "m/44'/236'/1'/0/0";
24
+ /** RelayX ordinal derivation path */
25
+ export const RELAYX_ORD_PATH = "m/44'/236'/0'/2/0";
26
+ /** RelayX identity path (same as Yours) */
27
+ export const RELAYX_ID_PATH = YOURS_ID_PATH;
28
+ /** RelayX payment path (same as Yours) */
29
+ export const RELAYX_WALLET_PATH = YOURS_WALLET_PATH;
30
+ /** RelayX sweep path */
31
+ export const RELAYX_SWEEP_PATH = "m/44'/236'/0'/0/0";
32
+ /** Twetch payment derivation path */
33
+ export const TWETCH_WALLET_PATH = 'm/0/0';
34
+ /** Twetch ordinal path (same as Yours) */
35
+ export const TWETCH_ORD_PATH = YOURS_ORD_PATH;
36
+ /** AYM payment derivation path */
37
+ export const AYM_WALLET_PATH = 'm/0/0';
38
+ /** AYM ordinal derivation path (master key) */
39
+ export const AYM_ORD_PATH = 'm';
40
+ // ============================================================================
41
+ // Key Conversion Utilities
42
+ // ============================================================================
43
+ /**
44
+ * Convert a WIF (Wallet Import Format) private key to hex format
45
+ * Useful for wallet-toolbox which uses rootKeyHex format
46
+ */
47
+ export function wifToHex(wif) {
48
+ return PrivateKey.fromWif(wif).toString();
49
+ }
50
+ /**
51
+ * Get the public address from a WIF private key
52
+ */
53
+ export function wifToAddress(wif) {
54
+ return PrivateKey.fromWif(wif).toAddress();
55
+ }
56
+ /**
57
+ * Get the public key (hex) from a WIF private key
58
+ */
59
+ export function wifToPublicKey(wif) {
60
+ return PrivateKey.fromWif(wif).toPublicKey().toString();
61
+ }
62
+ // ============================================================================
63
+ // Key Derivation Functions
64
+ // ============================================================================
65
+ /**
66
+ * Derive a single private key from a mnemonic and path
67
+ *
68
+ * @param mnemonic - BIP39 mnemonic phrase
69
+ * @param path - Derivation path (e.g., "m/44'/236'/0'/0/0")
70
+ * @returns PrivateKey object
71
+ */
72
+ export function deriveKeyFromMnemonic(mnemonic, path) {
73
+ const seed = Mnemonic.fromString(mnemonic).toSeed();
74
+ const masterNode = HD.fromSeed(seed);
75
+ const derived = masterNode.derive(path);
76
+ return derived.privKey;
77
+ }
78
+ /**
79
+ * Derive wallet keys from a mnemonic using specified paths
80
+ * Returns keys in WIF format for compatibility with 1sat-web
81
+ *
82
+ * @param mnemonic - BIP39 mnemonic phrase
83
+ * @param paths - Derivation paths for each key type
84
+ * @returns WalletKeys with WIF-encoded private keys
85
+ */
86
+ export function getKeysFromMnemonicAndPaths(mnemonic, paths) {
87
+ const seed = Mnemonic.fromString(mnemonic).toSeed();
88
+ const masterNode = HD.fromSeed(seed);
89
+ // Normalize payment path
90
+ const changeAddressPath = paths.changeAddressPath.startsWith('m/')
91
+ ? paths.changeAddressPath
92
+ : `m/${paths.changeAddressPath}`;
93
+ const payPrivKey = masterNode.derive(changeAddressPath);
94
+ const payPk = payPrivKey.privKey.toWif();
95
+ // Normalize ordinal path
96
+ const ordAddressPath = paths.ordAddressPath.startsWith('m/')
97
+ ? paths.ordAddressPath
98
+ : `m/${paths.ordAddressPath}`;
99
+ const ordPrivKey = paths.ordAddressPath === 'm'
100
+ ? masterNode
101
+ : masterNode.derive(ordAddressPath);
102
+ const ordPk = ordPrivKey.privKey.toWif();
103
+ // Optional identity key
104
+ let identityPk;
105
+ if (paths.identityAddressPath) {
106
+ const identityPath = paths.identityAddressPath.startsWith('m/')
107
+ ? paths.identityAddressPath
108
+ : `m/${paths.identityAddressPath}`;
109
+ const identityPrivKey = masterNode.derive(identityPath);
110
+ identityPk = identityPrivKey.privKey.toWif();
111
+ }
112
+ const keys = {
113
+ mnemonic,
114
+ payPk,
115
+ ordPk,
116
+ changeAddressPath: paths.changeAddressPath,
117
+ ordAddressPath: paths.ordAddressPath,
118
+ };
119
+ if (identityPk) {
120
+ keys.identityPk = identityPk;
121
+ keys.identityAddressPath = paths.identityAddressPath;
122
+ }
123
+ return keys;
124
+ }
125
+ /**
126
+ * Find wallet keys from a mnemonic, searching for a "1s" vanity ordinal address
127
+ * This searches child keys until finding an ordinal address starting with "1s"
128
+ *
129
+ * @param mnemonic - BIP39 mnemonic phrase
130
+ * @param timeoutMs - Maximum time to search (default: 100000ms)
131
+ * @returns Promise resolving to WalletKeys with the found vanity address
132
+ */
133
+ export function findKeysWithVanityOrdinal(mnemonic, timeoutMs = 100000) {
134
+ return new Promise((resolve, reject) => {
135
+ const seed = Mnemonic.fromString(mnemonic).toSeed();
136
+ const masterNode = HD.fromSeed(seed);
137
+ // Payment key is always at m/0
138
+ const payPrivKey = masterNode.derive('m/0');
139
+ const payPk = payPrivKey.privKey.toWif();
140
+ const startTime = Date.now();
141
+ let found = false;
142
+ const searchForAddress = (i) => {
143
+ if (Date.now() - startTime > timeoutMs && !found) {
144
+ reject(new Error('Timeout while searching for the desired address prefix.'));
145
+ return;
146
+ }
147
+ const ordPrivKey = masterNode.derive(`m/${i}`);
148
+ const ordAddress = ordPrivKey.privKey.toAddress();
149
+ if (ordAddress?.startsWith('1s')) {
150
+ found = true;
151
+ const ordPk = ordPrivKey.privKey.toWif();
152
+ resolve({
153
+ mnemonic,
154
+ payPk,
155
+ ordPk,
156
+ changeAddressPath: 0,
157
+ ordAddressPath: i,
158
+ });
159
+ return;
160
+ }
161
+ // Continue searching on next tick
162
+ setTimeout(() => searchForAddress(i + 1), 0);
163
+ };
164
+ // Start searching from child key 1
165
+ searchForAddress(1);
166
+ });
167
+ }
168
+ /**
169
+ * Generate a new BIP39 mnemonic phrase
170
+ *
171
+ * @param strength - Bits of entropy (128 = 12 words, 256 = 24 words)
172
+ * @returns Mnemonic phrase string
173
+ */
174
+ export function generateMnemonic(strength = 128) {
175
+ return Mnemonic.fromRandom(strength).toString();
176
+ }
177
+ /**
178
+ * Validate a BIP39 mnemonic phrase
179
+ *
180
+ * @param mnemonic - Mnemonic phrase to validate
181
+ * @returns true if valid, false otherwise
182
+ */
183
+ export function isValidMnemonic(mnemonic) {
184
+ try {
185
+ Mnemonic.fromString(mnemonic);
186
+ return true;
187
+ }
188
+ catch {
189
+ return false;
190
+ }
191
+ }
192
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/utils",
3
- "version": "0.0.1",
3
+ "version": "0.0.3",
4
4
  "description": "Utility functions for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,7 +20,7 @@
20
20
  "keywords": ["1sat", "bsv", "ordinals", "utils"],
21
21
  "license": "MIT",
22
22
  "dependencies": {
23
- "@1sat/types": "workspace:*",
23
+ "@1sat/types": "^0.0.2",
24
24
  "image-meta": "^0.2.2"
25
25
  },
26
26
  "peerDependencies": {