@meshsdk/bitcoin 1.9.0-beta.50 → 1.9.0-beta.53
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/README.md +8 -0
- package/dist/index.cjs +78 -76
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +29 -23
- package/dist/index.d.ts +29 -23
- package/dist/index.js +78 -77
- package/dist/index.js.map +1 -1
- package/package.json +4 -3
package/README.md
CHANGED
package/dist/index.cjs
CHANGED
@@ -3607,24 +3607,23 @@ var axios_default = axios;
|
|
3607
3607
|
var Axios2 = axios_default.Axios, AxiosError2 = axios_default.AxiosError, CanceledError2 = axios_default.CanceledError, isCancel2 = axios_default.isCancel, CancelToken2 = axios_default.CancelToken, VERSION2 = axios_default.VERSION, all2 = axios_default.all, Cancel = axios_default.Cancel, isAxiosError2 = axios_default.isAxiosError, spread2 = axios_default.spread, toFormData2 = axios_default.toFormData, AxiosHeaders2 = axios_default.AxiosHeaders, HttpStatusCode2 = axios_default.HttpStatusCode, formToJSON = axios_default.formToJSON, getAdapter = axios_default.getAdapter, mergeConfig2 = axios_default.mergeConfig;
|
3608
3608
|
// src/providers/common.ts
|
3609
3609
|
var parseHttpError = function(error) {
|
3610
|
-
if (axios_default.isAxiosError(error)) {
|
3611
|
-
if (error.response) {
|
3612
|
-
return JSON.stringify({
|
3613
|
-
data: error.response.data,
|
3614
|
-
headers: error.response.headers,
|
3615
|
-
status: error.response.status
|
3616
|
-
});
|
3617
|
-
} else if (error.request && !_instanceof(error.request, XMLHttpRequest)) {
|
3618
|
-
return JSON.stringify(error.request);
|
3619
|
-
} else {
|
3620
|
-
return JSON.stringify({
|
3621
|
-
code: error.code,
|
3622
|
-
message: error.message
|
3623
|
-
});
|
3624
|
-
}
|
3625
|
-
} else {
|
3610
|
+
if (!axios_default.isAxiosError(error)) {
|
3626
3611
|
return JSON.stringify(error);
|
3627
3612
|
}
|
3613
|
+
if (error.response) {
|
3614
|
+
return JSON.stringify({
|
3615
|
+
data: error.response.data,
|
3616
|
+
headers: error.response.headers,
|
3617
|
+
status: error.response.status
|
3618
|
+
});
|
3619
|
+
}
|
3620
|
+
if (error.request && !_instanceof(error.request, XMLHttpRequest)) {
|
3621
|
+
return JSON.stringify(error.request);
|
3622
|
+
}
|
3623
|
+
return JSON.stringify({
|
3624
|
+
code: error.code,
|
3625
|
+
message: error.message
|
3626
|
+
});
|
3628
3627
|
};
|
3629
3628
|
// src/providers/blockstream.ts
|
3630
3629
|
var BlockstreamProvider = /*#__PURE__*/ function() {
|
@@ -4306,57 +4305,67 @@ var WalletStaticMethods = /*#__PURE__*/ function() {
|
|
4306
4305
|
return WalletStaticMethods;
|
4307
4306
|
}();
|
4308
4307
|
// src/wallets/embedded/index.ts
|
4308
|
+
var import_bip39 = require("bip39");
|
4309
4309
|
var EmbeddedWallet = /*#__PURE__*/ function() {
|
4310
4310
|
function EmbeddedWallet(options) {
|
4311
4311
|
_class_call_check(this, EmbeddedWallet);
|
4312
|
-
this.
|
4313
|
-
var
|
4314
|
-
this.
|
4315
|
-
this._p2wpkh = bitcoin.payments.p2wpkh({
|
4316
|
-
pubkey: this._BIP32Interface.publicKey,
|
4317
|
-
network: this._networkId === 0 ? bitcoin.networks.bitcoin : bitcoin.networks.testnet
|
4318
|
-
});
|
4312
|
+
this._network = options.testnet ? bitcoin.networks.testnet : bitcoin.networks.bitcoin;
|
4313
|
+
var _options_path;
|
4314
|
+
this._wallet = _derive(options.key.words, (_options_path = options.path) !== null && _options_path !== void 0 ? _options_path : "m/84'/0'/0'/0/0", this._network);
|
4319
4315
|
this._provider = options.provider;
|
4320
4316
|
}
|
4321
4317
|
_create_class(EmbeddedWallet, [
|
4322
4318
|
{
|
4323
4319
|
/**
|
4324
|
-
*
|
4320
|
+
* Returns the wallet's SegWit (P2WPKH) address and associated public key.
|
4325
4321
|
*
|
4326
|
-
* @returns
|
4327
|
-
|
4328
|
-
|
4329
|
-
|
4330
|
-
|
4331
|
-
|
4332
|
-
|
4333
|
-
|
4334
|
-
|
4335
|
-
|
4336
|
-
|
4337
|
-
|
4338
|
-
|
4339
|
-
|
4340
|
-
address: this._p2wpkh.address,
|
4341
|
-
publicKey: this._BIP32Interface.publicKey.toString("hex"),
|
4322
|
+
* @returns {Address} The wallet address object including address, public key, and metadata.
|
4323
|
+
* @throws {Error} If internal address or public key is not properly initialized.
|
4324
|
+
*/ key: "getAddress",
|
4325
|
+
value: function getAddress() {
|
4326
|
+
var p2wpkh = bitcoin.payments.p2wpkh({
|
4327
|
+
pubkey: this._wallet.publicKey,
|
4328
|
+
network: this._network
|
4329
|
+
});
|
4330
|
+
if (!(p2wpkh === null || p2wpkh === void 0 ? void 0 : p2wpkh.address)) {
|
4331
|
+
throw new Error("Address is not initialized.");
|
4332
|
+
}
|
4333
|
+
return {
|
4334
|
+
address: p2wpkh.address,
|
4335
|
+
publicKey: this._wallet.publicKey.toString("hex"),
|
4342
4336
|
purpose: "payment",
|
4343
4337
|
addressType: "p2wpkh"
|
4344
4338
|
};
|
4345
|
-
return address;
|
4346
4339
|
}
|
4347
4340
|
},
|
4348
4341
|
{
|
4349
|
-
|
4342
|
+
/**
|
4343
|
+
* Returns the hex-encoded public key of the wallet.
|
4344
|
+
*
|
4345
|
+
* @returns {string} The public key in hexadecimal format.
|
4346
|
+
*/ key: "getPublicKey",
|
4350
4347
|
value: function getPublicKey() {
|
4351
|
-
return this.
|
4348
|
+
return this._wallet.publicKey.toString("hex");
|
4349
|
+
}
|
4350
|
+
},
|
4351
|
+
{
|
4352
|
+
/**
|
4353
|
+
* Returns the network identifier of the wallet.
|
4354
|
+
* 0': Indicates the Bitcoin mainnet.
|
4355
|
+
* 1': Indicates the Bitcoin testnet.
|
4356
|
+
*
|
4357
|
+
* @returns {0 | 1} The Bitcoin network ID.
|
4358
|
+
*/ key: "getNetworkId",
|
4359
|
+
value: function getNetworkId() {
|
4360
|
+
return this._network === bitcoin.networks.testnet ? 1 : 0;
|
4352
4361
|
}
|
4353
4362
|
},
|
4354
4363
|
{
|
4355
|
-
key: "
|
4364
|
+
key: "getUTxOs",
|
4356
4365
|
value: /**
|
4357
4366
|
* Get UTXOs for the wallet address.
|
4358
4367
|
* @returns An array of UTXOs.
|
4359
|
-
*/ function
|
4368
|
+
*/ function getUTxOs() {
|
4360
4369
|
var _this = this;
|
4361
4370
|
return _async_to_generator(function() {
|
4362
4371
|
var _this__provider, address;
|
@@ -4364,7 +4373,7 @@ var EmbeddedWallet = /*#__PURE__*/ function() {
|
|
4364
4373
|
switch(_state.label){
|
4365
4374
|
case 0:
|
4366
4375
|
console.log("getUtxos");
|
4367
|
-
address = _this.
|
4376
|
+
address = _this.getAddress();
|
4368
4377
|
if (_this._provider === void 0) {
|
4369
4378
|
throw new Error("`provider` is not defined. Provide a BitcoinProvider.");
|
4370
4379
|
}
|
@@ -4407,12 +4416,22 @@ var EmbeddedWallet = /*#__PURE__*/ function() {
|
|
4407
4416
|
{
|
4408
4417
|
key: "brew",
|
4409
4418
|
value: /**
|
4410
|
-
*
|
4419
|
+
* Generates a mnemonic phrase and returns it as an array of words.
|
4411
4420
|
*
|
4412
|
-
* @param
|
4413
|
-
* @returns
|
4421
|
+
* @param {number} [strength=128] - The strength of the mnemonic in bits (must be a multiple of 32 between 128 and 256).
|
4422
|
+
* @returns {string[]} An array of words representing the generated mnemonic.
|
4423
|
+
* @throws {Error} If the strength is not valid.
|
4414
4424
|
*/ function brew() {
|
4415
4425
|
var strength = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 128;
|
4426
|
+
if (![
|
4427
|
+
128,
|
4428
|
+
160,
|
4429
|
+
192,
|
4430
|
+
224,
|
4431
|
+
256
|
4432
|
+
].includes(strength)) {
|
4433
|
+
throw new Error("Invalid strength. Must be one of: 128, 160, 192, 224, 256.");
|
4434
|
+
}
|
4416
4435
|
var mnemonic = bip39.generateMnemonic(strength);
|
4417
4436
|
return mnemonic.split(" ");
|
4418
4437
|
}
|
@@ -4420,32 +4439,15 @@ var EmbeddedWallet = /*#__PURE__*/ function() {
|
|
4420
4439
|
]);
|
4421
4440
|
return EmbeddedWallet;
|
4422
4441
|
}();
|
4423
|
-
|
4424
|
-
|
4425
|
-
|
4442
|
+
function _derive(words) {
|
4443
|
+
var path = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "m/84'/0'/0'/0/0", network = arguments.length > 2 ? arguments[2] : void 0;
|
4444
|
+
var mnemonic = words.join(" ");
|
4445
|
+
if (!(0, import_bip39.validateMnemonic)(mnemonic)) {
|
4446
|
+
throw new Error("Invalid mnemonic provided.");
|
4426
4447
|
}
|
4427
|
-
|
4428
|
-
|
4429
|
-
|
4430
|
-
|
4431
|
-
|
4432
|
-
var seed = bip39.mnemonicToSeedSync(mnemonic);
|
4433
|
-
var root = bip32.fromSeed(seed, _WalletStaticMethods.getNetwork(networkId));
|
4434
|
-
var purpose = 84;
|
4435
|
-
var coinType = networkId;
|
4436
|
-
var path = "m/".concat(purpose, "'/").concat(coinType, "'/").concat(accountIndex, "'/").concat(change, "/").concat(addressIndex);
|
4437
|
-
var child = root.derivePath(path);
|
4438
|
-
return child;
|
4439
|
-
}
|
4440
|
-
},
|
4441
|
-
{
|
4442
|
-
key: "getNetwork",
|
4443
|
-
value: // todo: this is the confusing part in our sdk, since cardano 0 is testnet. we need to use enums or string instead for clearer
|
4444
|
-
function getNetwork(network) {
|
4445
|
-
return network === 0 ? bitcoin.networks.bitcoin : bitcoin.networks.testnet;
|
4446
|
-
}
|
4447
|
-
}
|
4448
|
-
]);
|
4449
|
-
return _WalletStaticMethods;
|
4450
|
-
}();
|
4448
|
+
var seed = (0, import_bip39.mnemonicToSeedSync)(mnemonic);
|
4449
|
+
var root = bip32.fromSeed(seed, network);
|
4450
|
+
var child = root.derivePath(path);
|
4451
|
+
return child;
|
4452
|
+
}
|
4451
4453
|
//# sourceMappingURL=index.cjs.map
|