@volr/sdk-core 0.1.111 → 0.1.113
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.cjs +45 -14
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +104 -16
- package/dist/index.d.ts +104 -16
- package/dist/index.js +41 -15
- package/dist/index.js.map +1 -1
- package/package.json +2 -1
package/dist/index.cjs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var hkdf = require('@noble/hashes/hkdf');
|
|
4
4
|
var sha256 = require('@noble/hashes/sha256');
|
|
5
|
+
var bip39 = require('@scure/bip39');
|
|
6
|
+
var english = require('@scure/bip39/wordlists/english');
|
|
5
7
|
var bip32 = require('@scure/bip32');
|
|
6
8
|
var secp256k1 = require('@noble/curves/secp256k1');
|
|
7
9
|
var sha3 = require('@noble/hashes/sha3');
|
|
@@ -199,32 +201,56 @@ async function unsealMasterSeed(cipher, wrapKey, aad, nonce) {
|
|
|
199
201
|
const decrypted = await aesGcmDecrypt(cipher, { key: wrapKey, aad, nonce });
|
|
200
202
|
return decrypted;
|
|
201
203
|
}
|
|
204
|
+
function generateEntropy() {
|
|
205
|
+
return getRandomBytes(32);
|
|
206
|
+
}
|
|
207
|
+
function validateEntropy(entropy) {
|
|
208
|
+
return entropy instanceof Uint8Array && entropy.length === 32;
|
|
209
|
+
}
|
|
210
|
+
function entropyToMnemonicString(entropy) {
|
|
211
|
+
return bip39.entropyToMnemonic(entropy, english.wordlist);
|
|
212
|
+
}
|
|
213
|
+
function mnemonicStringToEntropy(mnemonic) {
|
|
214
|
+
if (!bip39.validateMnemonic(mnemonic, english.wordlist)) {
|
|
215
|
+
throw new Error("Invalid mnemonic phrase");
|
|
216
|
+
}
|
|
217
|
+
return bip39.mnemonicToEntropy(mnemonic, english.wordlist);
|
|
218
|
+
}
|
|
219
|
+
async function entropyToSeed(entropy) {
|
|
220
|
+
const mnemonic = bip39.entropyToMnemonic(entropy, english.wordlist);
|
|
221
|
+
const seed = await bip39.mnemonicToSeed(mnemonic);
|
|
222
|
+
return seed.slice(0, 32);
|
|
223
|
+
}
|
|
202
224
|
|
|
203
225
|
// src/master-key/provider.ts
|
|
226
|
+
async function createHandle(entropy) {
|
|
227
|
+
const seed = await entropyToSeed(entropy);
|
|
228
|
+
return {
|
|
229
|
+
entropy,
|
|
230
|
+
seed,
|
|
231
|
+
getMnemonic() {
|
|
232
|
+
return entropyToMnemonicString(entropy);
|
|
233
|
+
},
|
|
234
|
+
destroy() {
|
|
235
|
+
zeroize(entropy);
|
|
236
|
+
zeroize(seed);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
}
|
|
204
240
|
function createMasterKeyProvider() {
|
|
205
241
|
return {
|
|
206
242
|
async unsealFromBlob(blob, wrapKey) {
|
|
207
|
-
const
|
|
243
|
+
const entropy = await unsealMasterSeed(
|
|
208
244
|
blob.cipher,
|
|
209
245
|
wrapKey,
|
|
210
246
|
blob.aad,
|
|
211
247
|
blob.nonce
|
|
212
248
|
);
|
|
213
|
-
return
|
|
214
|
-
bytes: masterSeed,
|
|
215
|
-
destroy() {
|
|
216
|
-
zeroize(masterSeed);
|
|
217
|
-
}
|
|
218
|
-
};
|
|
249
|
+
return createHandle(entropy);
|
|
219
250
|
},
|
|
220
251
|
async generate() {
|
|
221
|
-
const
|
|
222
|
-
return
|
|
223
|
-
bytes: masterSeed,
|
|
224
|
-
destroy() {
|
|
225
|
-
zeroize(masterSeed);
|
|
226
|
-
}
|
|
227
|
-
};
|
|
252
|
+
const entropy = generateEntropy();
|
|
253
|
+
return createHandle(entropy);
|
|
228
254
|
}
|
|
229
255
|
};
|
|
230
256
|
}
|
|
@@ -1329,12 +1355,16 @@ exports.createMpcProvider = createMpcProvider;
|
|
|
1329
1355
|
exports.createPasskeyProvider = createPasskeyProvider;
|
|
1330
1356
|
exports.deriveEvmKey = deriveEvmKey;
|
|
1331
1357
|
exports.deriveWrapKey = deriveWrapKey;
|
|
1358
|
+
exports.entropyToMnemonicString = entropyToMnemonicString;
|
|
1359
|
+
exports.entropyToSeed = entropyToSeed;
|
|
1332
1360
|
exports.evmSign = evmSign;
|
|
1333
1361
|
exports.evmVerify = evmVerify;
|
|
1362
|
+
exports.generateEntropy = generateEntropy;
|
|
1334
1363
|
exports.generateNonce = generateNonce;
|
|
1335
1364
|
exports.getAuthNonce = getAuthNonce;
|
|
1336
1365
|
exports.getRandomBytes = getRandomBytes;
|
|
1337
1366
|
exports.hkdfSha256 = hkdfSha256;
|
|
1367
|
+
exports.mnemonicStringToEntropy = mnemonicStringToEntropy;
|
|
1338
1368
|
exports.normalizeWalletError = normalizeWalletError;
|
|
1339
1369
|
exports.sealMasterSeed = sealMasterSeed;
|
|
1340
1370
|
exports.selectSigner = selectSigner;
|
|
@@ -1345,6 +1375,7 @@ exports.toChecksumAddress = toChecksumAddress;
|
|
|
1345
1375
|
exports.unsealMasterSeed = unsealMasterSeed;
|
|
1346
1376
|
exports.uploadBlob = uploadBlob;
|
|
1347
1377
|
exports.uploadBlobViaPresign = uploadBlobViaPresign;
|
|
1378
|
+
exports.validateEntropy = validateEntropy;
|
|
1348
1379
|
exports.zeroize = zeroize;
|
|
1349
1380
|
//# sourceMappingURL=index.cjs.map
|
|
1350
1381
|
//# sourceMappingURL=index.cjs.map
|