@kynesyslabs/demosdk 2.1.10 → 2.1.12

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 CHANGED
@@ -1,12 +1,18 @@
1
- Demos SDKs metapackage
1
+ # Demos SDKs
2
2
 
3
- ### Multichain SDKs Usage
3
+ To use this package, install it in your project using:
4
4
 
5
- Check out the [multichain documentation](./documentation/multichain/README.md).
5
+ ```sh
6
+ yarn add @kynesyslabs/demosdk
7
+
8
+ # or
9
+
10
+ npm -i @kynesyslabs/demosdk
11
+ ```
6
12
 
7
- ### Using this package locally
13
+ ### Installing from local source
8
14
 
9
- To use this package locally, you need to build it then install it in your project as shown:
15
+ To use this package from a local folder, follow these steps:
10
16
 
11
17
  On the root of this repo, run:
12
18
 
@@ -26,85 +32,59 @@ Assuming both repos are in the same directory, that would be:
26
32
  yarn add file:../sdks
27
33
  ```
28
34
 
29
- Then you can import stuff from the package normally, as shown:
35
+ Then you can import stuff from the package normally, eg:
30
36
 
31
37
  ```ts
32
38
  import { Demos } from "@kynesyslabs/demosdk/websdk"
33
39
  ```
34
40
 
35
- > [!TIP]
41
+ > [!IMPORTANT]
36
42
  > Installing this package will replace the NPM version of the package.
43
+ >
44
+ > Changes to the sdks will not be reflected on your project until you rebuild and reinstall the sdk in your project.
37
45
 
38
- > [!IMPORTANT]
39
- > Changes to the sdks will not be reflected on your project until you rebuild the sdks and reinstall them in your project all over again.
46
+ <br>
40
47
 
41
- ### Adding stuff
48
+ ### Exporting modules
42
49
 
43
- Create a new folder in the `src` directory and add your stuff. Export items on the `index.ts` file in your new folder. Then add an export entry in `package.json` as shown:
50
+ To export a `src/module/index.ts` from the package as a module, configure `package.json` as shown:
44
51
 
45
52
  ```jsonc
46
53
  "exports": {
47
54
  // ...
48
- "./stuff": "./build/stuff/index.js"
55
+ "./module": "./build/module/index.js"
49
56
  }
50
57
  ```
51
58
 
52
- This will allow users to use the new things as follows:
59
+ This will allow users to use the module exports as follows:
53
60
 
54
61
  ```js
55
- import { Stuff, otherStuff } from "@kynesyslabs/demosdk/stuff"
62
+ import { ModuleItem, otherModuleItem } from "@kynesyslabs/demosdk/module"
56
63
  ```
57
64
 
58
- ### Tests
59
-
60
- Here are all the available tests:
61
-
62
- ### 1. Multichain
63
-
64
- Tests for the multichain SDKs.
65
-
66
- ```sh
67
- yarn test:multichain
68
- ```
69
-
70
- ### 2. A crosschain write transaction on DEMOS
71
-
72
- Creates a demos crosschain transaction to send tokens on Sepolia via the DEMOS testnet.
73
-
74
- ```sh
75
- yarn test:tx
76
- ```
77
-
78
- ### 3. Demoswork
79
-
80
- ```sh
81
- yarn test:demoswork
82
- ```
83
-
84
- ### 4. Native Transactions
85
-
86
- ```sh
87
- yarn test:native
88
- ```
65
+ <br>
89
66
 
90
67
  ### Publishing on NPM
91
68
 
92
69
  Publishing to NPM is automated using a Github Workflow. To publish a new version:
93
70
 
94
- 1. Incrememt the `package.json` version field
71
+ 1. Increment the `package.json` version field
95
72
  2. Commit your changes with a message starting with the word `release`
96
73
  3. Push to Github.
97
74
 
75
+ For example:
76
+
98
77
  ```sh
99
- # Example:
100
78
  git commit -m "release v1.0.5"
101
79
  ```
102
80
 
103
81
  The commit will trigger a workflow run to build the files and publish a new version on NPM.
104
82
 
83
+ <br>
84
+
105
85
  ### Setup pre-push hook
106
86
 
107
- The release pre-push hook will prevent you from pushing a release commit, if the code can't build.
87
+ The release pre-push hook will prevent you from pushing a release commit, if the code can't build successfully.
108
88
 
109
89
  ```sh
110
90
  yarn setup:pre-push
@@ -114,3 +94,23 @@ The command will copy the pre-push file from `.github/hooks/pre-push` to the `.g
114
94
 
115
95
  > [!TIP]
116
96
  > This hook is not pushed to Github, so you need to run the command again if you reclone the repository.
97
+
98
+ ### Tests
99
+
100
+ ```sh
101
+ yarn test:multichain multichain sdks payload generation
102
+
103
+ yarn test:tx sending crosschain pay txs
104
+
105
+ yarn test:demoswork demoswork operations
106
+
107
+ yarn test:native native pay txs
108
+
109
+ yarn test:identities adding xm identities
110
+
111
+ yarn test:identities:web2 adding web2 identities
112
+
113
+ yarn test:web2 using the web2 proxy
114
+
115
+ yarn test:rubic-service rubic brigde service
116
+ ```
@@ -0,0 +1,40 @@
1
+ import * as bitcoin from "bitcoinjs-lib";
2
+ import { ECPairInterface } from "ecpair";
3
+ import { DefaultChain } from "./types/defaultChain";
4
+ import { IPayParams } from "./types/interfaces";
5
+ export declare class BTC extends DefaultChain {
6
+ provider: string;
7
+ network: bitcoin.Network;
8
+ wallet: ECPairInterface;
9
+ address?: string;
10
+ private changeIndex;
11
+ private lastUsedUtxos;
12
+ private usedChangeAddresses;
13
+ constructor(rpc_url: string, network?: bitcoin.Network);
14
+ connect(): Promise<boolean>;
15
+ /**
16
+ * Generate a private key for the BTC chain
17
+ * @param seed - The seed to generate the private key from (optional)
18
+ * @returns The private key as a WIF string
19
+ */
20
+ generatePrivateKey(seed?: Buffer): string;
21
+ private generateChangeAddress;
22
+ connectWallet(privateKeyWIF: string): Promise<ECPairInterface>;
23
+ getAddress(): string;
24
+ private getApiUrl;
25
+ fetchUTXOs(address: string): Promise<any[]>;
26
+ fetchAllUTXOs(): Promise<any[]>;
27
+ getTxHex(txid: string): Promise<string>;
28
+ private toSigner;
29
+ preparePay(address: string, amount: string, overrideFeeRate?: number, addNoise?: boolean): Promise<string>;
30
+ preparePays(payments: IPayParams[], overrideFeeRate?: number, addNoise?: boolean): Promise<string[]>;
31
+ private createUnsignedPSBT;
32
+ getFeeRate(overrideRate?: number): Promise<number>;
33
+ private calculateFee;
34
+ signTransaction(psbt: bitcoin.Psbt): Promise<string>;
35
+ signTransactions(psbts: bitcoin.Psbt[]): Promise<string[]>;
36
+ getBalance(): Promise<string>;
37
+ getEmptyTransaction(): Promise<any>;
38
+ signMessage(): Promise<string>;
39
+ verifyMessage(): Promise<boolean>;
40
+ }
@@ -0,0 +1,372 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.BTC = void 0;
40
+ const bitcoin = __importStar(require("bitcoinjs-lib"));
41
+ const bip32_1 = require("bip32");
42
+ const ecc = __importStar(require("tiny-secp256k1"));
43
+ const utils_1 = require("./utils");
44
+ const axios_1 = __importDefault(require("axios"));
45
+ const ecpair_1 = require("ecpair");
46
+ const defaultChain_1 = require("./types/defaultChain");
47
+ const ECPair = (0, ecpair_1.ECPairFactory)(ecc);
48
+ const bip32 = (0, bip32_1.BIP32Factory)(ecc);
49
+ const BITCOIN_CONSTANTS = {
50
+ DUST_LIMIT_P2WPKH: 294,
51
+ BASE_TX_SIZE: 10,
52
+ INPUT_SIZE: 68,
53
+ OUTPUT_SIZE: 31,
54
+ SAT_PER_VBYTE: 1,
55
+ MAX_ATTEMPTS: 100,
56
+ MAX_INDEX: 100,
57
+ DEFAULT_NETWORK: bitcoin.networks.testnet,
58
+ MAX_EMPTY: 5,
59
+ };
60
+ class BTC extends defaultChain_1.DefaultChain {
61
+ constructor(rpc_url, network = BITCOIN_CONSTANTS.DEFAULT_NETWORK) {
62
+ super(rpc_url);
63
+ this.changeIndex = 0;
64
+ this.lastUsedUtxos = [];
65
+ this.usedChangeAddresses = new Set(); // For storing used change addresses
66
+ this.name = "btc";
67
+ this.provider = rpc_url;
68
+ this.network = network;
69
+ }
70
+ async connect() {
71
+ try {
72
+ const url = this.getApiUrl("/blocks/tip/height");
73
+ const response = await axios_1.default.get(url);
74
+ this.connected = !!response.data;
75
+ return this.connected;
76
+ }
77
+ catch (error) {
78
+ console.error("BTC connection error:", error);
79
+ this.connected = false;
80
+ return false;
81
+ }
82
+ }
83
+ /**
84
+ * Generate a private key for the BTC chain
85
+ * @param seed - The seed to generate the private key from (optional)
86
+ * @returns The private key as a WIF string
87
+ */
88
+ generatePrivateKey(seed) {
89
+ if (seed) {
90
+ // Generate deterministic key from seed using BIP32
91
+ const root = bip32.fromSeed(seed, this.network);
92
+ const path = this.network === bitcoin.networks.testnet
93
+ ? "m/84'/1'/0'/0/0"
94
+ : "m/84'/0'/0'/0/0";
95
+ const child = root.derivePath(path);
96
+ return child.toWIF();
97
+ }
98
+ else {
99
+ // Generate random key if no seed provided
100
+ const keyPair = ECPair.makeRandom({ network: this.network });
101
+ return keyPair.toWIF();
102
+ }
103
+ }
104
+ async generateChangeAddress() {
105
+ const seed = this.wallet.privateKey;
106
+ const root = bip32.fromSeed(seed, this.network);
107
+ let address;
108
+ let attempts = 0;
109
+ // Check if the address has been used before
110
+ while (attempts < BITCOIN_CONSTANTS.MAX_ATTEMPTS) {
111
+ const child = root.derivePath(`m/84'/1'/0'/1/${this.changeIndex}`);
112
+ const payment = bitcoin.payments.p2wpkh({
113
+ pubkey: Buffer.from(child.publicKey),
114
+ network: this.network,
115
+ });
116
+ address = payment.address;
117
+ // Check if there is a UTXO at this address (i.e., if it was used)
118
+ const utxos = await this.fetchUTXOs(address);
119
+ if (utxos.length === 0 && !this.usedChangeAddresses.has(address)) {
120
+ this.usedChangeAddresses.add(address); // Add to the list of used addresses
121
+ this.changeIndex++;
122
+ return address;
123
+ }
124
+ this.changeIndex++;
125
+ attempts++;
126
+ }
127
+ throw new Error("Failed to generate a unique change address after maximum attempts");
128
+ }
129
+ async connectWallet(privateKeyWIF) {
130
+ try {
131
+ this.wallet = ECPair.fromWIF(privateKeyWIF, this.network);
132
+ const { address } = bitcoin.payments.p2wpkh({
133
+ pubkey: Buffer.from(this.wallet.publicKey),
134
+ network: this.network,
135
+ });
136
+ this.address = address;
137
+ return this.wallet;
138
+ }
139
+ catch (error) {
140
+ throw new Error(`Failed to connect wallet: ${error}`);
141
+ }
142
+ }
143
+ getAddress() {
144
+ (0, utils_1.required)(this.address, "Wallet not connected");
145
+ return this.address;
146
+ }
147
+ getApiUrl(path) {
148
+ const baseUrl = this.provider.replace(/\/api$/, "");
149
+ return `${baseUrl}/api${path}`;
150
+ }
151
+ async fetchUTXOs(address) {
152
+ try {
153
+ const url = this.getApiUrl(`/address/${address}/utxo`);
154
+ const response = await axios_1.default.get(url);
155
+ const utxos = response.data || [];
156
+ return utxos;
157
+ }
158
+ catch (error) {
159
+ throw new Error(`Error receiving UTXOs: ${error}`);
160
+ }
161
+ }
162
+ async fetchAllUTXOs() {
163
+ const mainAddressUTXOs = await this.fetchUTXOs(this.getAddress());
164
+ const seed = this.wallet.privateKey;
165
+ const root = bip32.fromSeed(seed, this.network);
166
+ let changeUTXOs = [];
167
+ let i = 0;
168
+ let emptyCount = 0;
169
+ while (i < BITCOIN_CONSTANTS.MAX_INDEX &&
170
+ emptyCount < BITCOIN_CONSTANTS.MAX_EMPTY) {
171
+ const child = root.derivePath(`m/84'/1'/0'/1/${i}`);
172
+ const { address } = bitcoin.payments.p2wpkh({
173
+ pubkey: Buffer.from(child.publicKey),
174
+ network: this.network,
175
+ });
176
+ const utxos = await this.fetchUTXOs(address);
177
+ if (utxos.length === 0) {
178
+ emptyCount++;
179
+ }
180
+ else {
181
+ emptyCount = 0;
182
+ }
183
+ changeUTXOs = changeUTXOs.concat(utxos.map(utxo => ({
184
+ ...utxo,
185
+ derivedKey: child,
186
+ })));
187
+ i++;
188
+ }
189
+ return [...mainAddressUTXOs, ...changeUTXOs];
190
+ }
191
+ async getTxHex(txid) {
192
+ try {
193
+ const url = this.getApiUrl(`/tx/${txid}/hex`);
194
+ const response = await axios_1.default.get(url);
195
+ const txHex = response.data;
196
+ return txHex;
197
+ }
198
+ catch (error) {
199
+ throw new Error(`Failed to get transaction hex: ${error}`);
200
+ }
201
+ }
202
+ toSigner(ecpair) {
203
+ return {
204
+ publicKey: Buffer.from(ecpair.publicKey),
205
+ sign: (hash, lowR) => {
206
+ const signature = ecpair.sign(hash, lowR);
207
+ return Buffer.from(signature);
208
+ },
209
+ };
210
+ }
211
+ async preparePay(address, amount, overrideFeeRate, addNoise = false) {
212
+ const txs = await this.preparePays([{ address, amount }], overrideFeeRate, addNoise);
213
+ return txs[0];
214
+ }
215
+ async preparePays(payments, overrideFeeRate, addNoise = false) {
216
+ (0, utils_1.required)(this.wallet, "Wallet not connected");
217
+ let availableUtxos = await this.fetchAllUTXOs();
218
+ const psbts = [];
219
+ for (const payment of payments) {
220
+ const { psbt, usedUtxos } = await this.createUnsignedPSBT(payment.address, payment.amount, availableUtxos, overrideFeeRate, addNoise);
221
+ psbts.push(psbt);
222
+ this.lastUsedUtxos = usedUtxos.map((u, i) => ({
223
+ ...u,
224
+ derivedKey: availableUtxos.find(utxo => utxo.txid === u.txid && utxo.vout === u.vout)?.derivedKey,
225
+ }));
226
+ availableUtxos = availableUtxos.filter(utxo => !usedUtxos.some(used => used.txid === utxo.txid && used.vout === utxo.vout));
227
+ }
228
+ return this.signTransactions(psbts);
229
+ }
230
+ async createUnsignedPSBT(address, amount, availableUtxos, overrideFeeRate, addNoise = false) {
231
+ const amountNum = Number(amount);
232
+ if (isNaN(amountNum) || amountNum <= 0)
233
+ throw new Error("Incorrect amount");
234
+ if (availableUtxos.length === 0)
235
+ throw new Error("No UTXOs available");
236
+ const psbt = new bitcoin.Psbt({ network: this.network });
237
+ let totalInput = 0;
238
+ let inputCount = 0;
239
+ const usedUtxos = [];
240
+ const inputAddresses = new Set(); // Store input addresses for verification
241
+ const sortedUtxos = [...availableUtxos].sort((a, b) => b.value - a.value);
242
+ const outputCount = addNoise ? 3 : 2;
243
+ let estimatedFee = await this.calculateFee(1, outputCount, overrideFeeRate);
244
+ for (const utxo of sortedUtxos) {
245
+ const pubkey = utxo.derivedKey
246
+ ? utxo.derivedKey.publicKey
247
+ : this.wallet.publicKey;
248
+ const p2wpkh = bitcoin.payments.p2wpkh({
249
+ pubkey: Buffer.from(pubkey),
250
+ network: this.network,
251
+ });
252
+ const utxoAddress = p2wpkh.address;
253
+ inputAddresses.add(utxoAddress); // Save input address
254
+ psbt.addInput({
255
+ hash: utxo.txid,
256
+ index: utxo.vout,
257
+ witnessUtxo: {
258
+ script: p2wpkh.output,
259
+ value: utxo.value,
260
+ },
261
+ sequence: 0xfffffffe, // Enable RBF
262
+ });
263
+ totalInput += utxo.value;
264
+ inputCount++;
265
+ usedUtxos.push({ txid: utxo.txid, vout: utxo.vout });
266
+ estimatedFee = await this.calculateFee(inputCount, outputCount, overrideFeeRate);
267
+ if (totalInput >= amountNum + estimatedFee)
268
+ break;
269
+ }
270
+ const finalFee = await this.calculateFee(inputCount, outputCount, overrideFeeRate);
271
+ if (totalInput < amountNum + finalFee) {
272
+ throw new Error(`Insufficient funds: There is ${totalInput}, need ${amountNum + finalFee}`);
273
+ }
274
+ psbt.addOutput({
275
+ address,
276
+ value: amountNum,
277
+ });
278
+ const change = totalInput - amountNum - finalFee;
279
+ let remainingChange = change;
280
+ if (addNoise &&
281
+ remainingChange >= BITCOIN_CONSTANTS.DUST_LIMIT_P2WPKH * 2) {
282
+ const noiseAmount = Math.floor(remainingChange / 3);
283
+ if (noiseAmount >= BITCOIN_CONSTANTS.DUST_LIMIT_P2WPKH) {
284
+ const noiseAddress = await this.generateChangeAddress();
285
+ if (inputAddresses.has(noiseAddress)) {
286
+ throw new Error("Generated noise address matches an input address");
287
+ }
288
+ psbt.addOutput({
289
+ address: noiseAddress,
290
+ value: noiseAmount,
291
+ });
292
+ remainingChange -= noiseAmount;
293
+ }
294
+ }
295
+ if (remainingChange >= BITCOIN_CONSTANTS.DUST_LIMIT_P2WPKH) {
296
+ const changeAddress = await this.generateChangeAddress();
297
+ if (inputAddresses.has(changeAddress)) {
298
+ throw new Error("Generated change address matches an input address");
299
+ }
300
+ psbt.addOutput({
301
+ address: changeAddress,
302
+ value: remainingChange,
303
+ });
304
+ }
305
+ else if (remainingChange > 0) {
306
+ console.log(`The remaining ${remainingChange} satoshi went to the commission`);
307
+ }
308
+ return { psbt, usedUtxos };
309
+ }
310
+ async getFeeRate(overrideRate) {
311
+ if (overrideRate !== undefined) {
312
+ return overrideRate;
313
+ }
314
+ try {
315
+ const url = this.getApiUrl("/fee-estimates");
316
+ const response = await axios_1.default.get(url);
317
+ const feeRate = Math.ceil(response.data["2"]) || BITCOIN_CONSTANTS.SAT_PER_VBYTE;
318
+ return feeRate > 0 ? feeRate : BITCOIN_CONSTANTS.SAT_PER_VBYTE;
319
+ }
320
+ catch (error) {
321
+ console.error("Error receiving commission, using standard:", error);
322
+ return BITCOIN_CONSTANTS.SAT_PER_VBYTE;
323
+ }
324
+ }
325
+ async calculateFee(inputsCount, outputsCount, overrideFeeRate) {
326
+ const txSize = BITCOIN_CONSTANTS.BASE_TX_SIZE +
327
+ inputsCount * BITCOIN_CONSTANTS.INPUT_SIZE +
328
+ outputsCount * BITCOIN_CONSTANTS.OUTPUT_SIZE;
329
+ const feeRate = await this.getFeeRate(overrideFeeRate);
330
+ const fee = Math.ceil(txSize * feeRate);
331
+ return fee;
332
+ }
333
+ async signTransaction(psbt) {
334
+ const [signed] = await this.signTransactions([psbt]);
335
+ return signed;
336
+ }
337
+ async signTransactions(psbts) {
338
+ (0, utils_1.required)(this.wallet, "Wallet not connected");
339
+ return psbts.map(psbt => {
340
+ psbt.data.inputs.forEach((input, index) => {
341
+ const utxo = this.lastUsedUtxos[index];
342
+ const keyPair = utxo.derivedKey || this.wallet;
343
+ psbt.signInput(index, this.toSigner(keyPair));
344
+ });
345
+ psbt.finalizeAllInputs();
346
+ const tx = psbt.extractTransaction();
347
+ const txHex = tx.toHex();
348
+ return txHex;
349
+ });
350
+ }
351
+ async getBalance() {
352
+ const utxos = await this.fetchAllUTXOs();
353
+ const totalBalance = utxos.reduce((sum, utxo) => sum + utxo.value, 0);
354
+ return totalBalance.toString();
355
+ }
356
+ async getEmptyTransaction() {
357
+ return {
358
+ version: 2,
359
+ locktime: 0,
360
+ ins: [],
361
+ outs: [],
362
+ };
363
+ }
364
+ async signMessage() {
365
+ throw new Error("Method not implemented");
366
+ }
367
+ async verifyMessage() {
368
+ throw new Error("Method not implemented");
369
+ }
370
+ }
371
+ exports.BTC = BTC;
372
+ //# sourceMappingURL=btc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc.js","sourceRoot":"","sources":["../../../../src/multichain/core/btc.ts"],"names":[],"mappings":"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"}
@@ -6,5 +6,6 @@ export { IBC } from './ibc';
6
6
  export { MULTIVERSX } from './multiversx';
7
7
  export { SOLANA } from './solana';
8
8
  export { TON } from "./ton";
9
+ export { BTC } from "./btc";
9
10
  export { XRPL, xrplGetLastSequence } from './xrp';
10
11
  export { NEAR } from './near';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NEAR = exports.xrplGetLastSequence = exports.XRPL = exports.TON = exports.SOLANA = exports.MULTIVERSX = exports.IBC = exports.EVM = exports.required = exports.DefaultChain = void 0;
3
+ exports.NEAR = exports.xrplGetLastSequence = exports.XRPL = exports.BTC = exports.TON = exports.SOLANA = exports.MULTIVERSX = exports.IBC = exports.EVM = exports.required = exports.DefaultChain = void 0;
4
4
  var defaultChain_1 = require("./types/defaultChain");
5
5
  Object.defineProperty(exports, "DefaultChain", { enumerable: true, get: function () { return defaultChain_1.DefaultChain; } });
6
6
  var utils_1 = require("./utils");
@@ -16,6 +16,8 @@ var solana_1 = require("./solana");
16
16
  Object.defineProperty(exports, "SOLANA", { enumerable: true, get: function () { return solana_1.SOLANA; } });
17
17
  var ton_1 = require("./ton");
18
18
  Object.defineProperty(exports, "TON", { enumerable: true, get: function () { return ton_1.TON; } });
19
+ var btc_1 = require("./btc");
20
+ Object.defineProperty(exports, "BTC", { enumerable: true, get: function () { return btc_1.BTC; } });
19
21
  // The official XRPL Library is called "xrpl" which conflicts with the name of our XRPL SDK
20
22
  var xrp_1 = require("./xrp");
21
23
  Object.defineProperty(exports, "XRPL", { enumerable: true, get: function () { return xrp_1.XRPL; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/core/index.ts"],"names":[],"mappings":";;;AAAA,qDAM6B;AALzB,4GAAA,YAAY,OAAA;AAkBhB,iCAAkC;AAAzB,iGAAA,QAAQ,OAAA;AAEjB,sBAAsB;AACtB,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AAEZ,2FAA2F;AAC3F,6BAAiD;AAAxC,2FAAA,IAAI,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAClC,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/core/index.ts"],"names":[],"mappings":";;;AAAA,qDAM6B;AALzB,4GAAA,YAAY,OAAA;AAkBhB,iCAAkC;AAAzB,iGAAA,QAAQ,OAAA;AAEjB,sBAAsB;AACtB,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AAEZ,2FAA2F;AAC3F,6BAAiD;AAAxC,2FAAA,IAAI,OAAA;AAAE,0GAAA,mBAAmB,OAAA;AAClC,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
@@ -0,0 +1,11 @@
1
+ import { BTC as BTCCore } from "../core/btc";
2
+ import * as bitcoin from "bitcoinjs-lib";
3
+ export declare class BTC extends BTCCore {
4
+ private static instances;
5
+ constructor(rpcUrl: string, network?: bitcoin.Network);
6
+ sendTransaction(signedTxHex: string): Promise<{
7
+ result: string;
8
+ hash: string;
9
+ }>;
10
+ static createInstance(networkType: string, rpcUrl: string, network: bitcoin.Network): BTC;
11
+ }
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.BTC = void 0;
40
+ const btc_1 = require("../core/btc");
41
+ const utils_1 = require("../core/utils");
42
+ const axios_1 = __importDefault(require("axios"));
43
+ const bitcoin = __importStar(require("bitcoinjs-lib"));
44
+ const interfaces_1 = require("../core/types/interfaces");
45
+ class BTC extends btc_1.BTC {
46
+ constructor(rpcUrl, network = bitcoin.networks.testnet) {
47
+ super(rpcUrl, network);
48
+ }
49
+ async sendTransaction(signedTxHex) {
50
+ (0, utils_1.required)(this.provider, "Provider not connected");
51
+ try {
52
+ const url = this.provider.includes("blockstream.info") &&
53
+ this.provider.endsWith("/api")
54
+ ? `${this.provider.slice(0, -4)}/api/tx`
55
+ : `${this.provider}/tx`;
56
+ const response = await axios_1.default.post(url, signedTxHex, {
57
+ headers: { "Content-Type": "text/plain" },
58
+ });
59
+ // Blockstream returns txid as a string; adjust if other providers differ
60
+ if (response.data) {
61
+ return {
62
+ result: interfaces_1.XmTransactionResult.success,
63
+ hash: response.data,
64
+ };
65
+ }
66
+ else {
67
+ throw new Error("Failed to send transaction: no txid in response");
68
+ }
69
+ }
70
+ catch (error) {
71
+ console.error("Error sending transaction:", error);
72
+ throw new Error(`Failed to send transaction: ${axios_1.default.isAxiosError(error) ? error.message : String(error)}`);
73
+ }
74
+ }
75
+ static createInstance(networkType, rpcUrl, network) {
76
+ if (!BTC.instances.has(networkType)) {
77
+ const instance = new BTC(rpcUrl, network);
78
+ BTC.instances.set(networkType, instance);
79
+ }
80
+ const instance = BTC.instances.get(networkType);
81
+ if (instance) {
82
+ return instance;
83
+ }
84
+ throw new Error("Could not create or retrieve instance");
85
+ }
86
+ }
87
+ exports.BTC = BTC;
88
+ BTC.instances = new Map();
89
+ //# sourceMappingURL=btc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/btc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAsD;AACtD,mDAAkD;AAClD,kDAAyB;AACzB,uDAAwC;AACxC,mEAAwE;AAExE,MAAa,GAAI,SAAQ,SAAO;IAG5B,YACI,MAAc,EACd,UAA2B,OAAO,CAAC,QAAQ,CAAC,OAAO;QAEnD,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CACjB,WAAmB;QAEnB,IAAA,gBAAQ,EAAC,IAAI,CAAC,QAAQ,EAAE,wBAAwB,CAAC,CAAA;QAEjD,IAAI,CAAC;YACD,MAAM,GAAG,GACL,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC;gBAC1C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1B,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;gBACxC,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAA;YAE/B,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE;gBAChD,OAAO,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE;aAC5C,CAAC,CAAA;YAEF,yEAAyE;YACzE,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAChB,OAAO;oBACH,MAAM,EAAE,gCAAmB,CAAC,OAAO;oBACnC,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACtB,CAAA;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,KAAK,CACX,iDAAiD,CACpD,CAAA;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAA;YAClD,MAAM,IAAI,KAAK,CACX,+BACI,eAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAC5D,EAAE,CACL,CAAA;QACL,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,cAAc,CACxB,WAAmB,EACnB,MAAc,EACd,OAAwB;QAExB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,QAAQ,CAAA;QACnB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IAC5D,CAAC;;AA7DL,kBA8DC;AA7DkB,aAAS,GAAqB,IAAI,GAAG,EAAe,CAAA"}
@@ -5,3 +5,4 @@ export { TON } from "./ton";
5
5
  export { SOLANA } from "./solana";
6
6
  export { MULTIVERSX } from "./multiversx";
7
7
  export { NEAR } from "./near";
8
+ export { BTC } from "./btc";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
3
+ exports.BTC = exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
4
4
  var xrp_1 = require("./xrp");
5
5
  Object.defineProperty(exports, "XRPL", { enumerable: true, get: function () { return xrp_1.XRPL; } });
6
6
  var evm_1 = require("./evm");
@@ -15,4 +15,6 @@ var multiversx_1 = require("./multiversx");
15
15
  Object.defineProperty(exports, "MULTIVERSX", { enumerable: true, get: function () { return multiversx_1.MULTIVERSX; } });
16
16
  var near_1 = require("./near");
17
17
  Object.defineProperty(exports, "NEAR", { enumerable: true, get: function () { return near_1.NEAR; } });
18
+ var btc_1 = require("./btc");
19
+ Object.defineProperty(exports, "BTC", { enumerable: true, get: function () { return btc_1.BTC; } });
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/localsdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA"}
@@ -0,0 +1,4 @@
1
+ import { IDefaultChainWeb, BTC as BTCCoreSDK } from '../core';
2
+ export declare class BTC extends BTCCoreSDK implements IDefaultChainWeb {
3
+ constructor(rpc_url: string);
4
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BTC = void 0;
4
+ const core_1 = require("../core");
5
+ class BTC extends core_1.BTC {
6
+ constructor(rpc_url) {
7
+ super(rpc_url);
8
+ }
9
+ }
10
+ exports.BTC = BTC;
11
+ //# sourceMappingURL=btc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc.js","sourceRoot":"","sources":["../../../../src/multichain/websdk/btc.ts"],"names":[],"mappings":";;;AAAA,4CAAuE;AAEvE,MAAa,GAAI,SAAQ,UAAU;IAC/B,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAA;IAClB,CAAC;CAGJ;AAND,kBAMC"}
@@ -5,3 +5,4 @@ export { TON } from "./ton";
5
5
  export { SOLANA } from './solana';
6
6
  export { MULTIVERSX } from './multiversx';
7
7
  export { NEAR } from './near';
8
+ export { BTC } from './btc';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
3
+ exports.BTC = exports.NEAR = exports.MULTIVERSX = exports.SOLANA = exports.TON = exports.IBC = exports.EVM = exports.XRPL = void 0;
4
4
  var xrp_1 = require("./xrp");
5
5
  Object.defineProperty(exports, "XRPL", { enumerable: true, get: function () { return xrp_1.XRPL; } });
6
6
  var evm_1 = require("./evm");
@@ -15,4 +15,6 @@ var multiversx_1 = require("./multiversx");
15
15
  Object.defineProperty(exports, "MULTIVERSX", { enumerable: true, get: function () { return multiversx_1.MULTIVERSX; } });
16
16
  var near_1 = require("./near");
17
17
  Object.defineProperty(exports, "NEAR", { enumerable: true, get: function () { return near_1.NEAR; } });
18
+ var btc_1 = require("./btc");
19
+ Object.defineProperty(exports, "BTC", { enumerable: true, get: function () { return btc_1.BTC; } });
18
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/websdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multichain/websdk/index.ts"],"names":[],"mappings":";;;AAAA,6BAA4B;AAAnB,2FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,6BAA2B;AAAlB,0FAAA,GAAG,OAAA;AACZ,mCAAiC;AAAxB,gGAAA,MAAM,OAAA;AACf,2CAAyC;AAAhC,wGAAA,UAAU,OAAA;AACnB,+BAA6B;AAApB,4FAAA,IAAI,OAAA;AACb,6BAA2B;AAAlB,0FAAA,GAAG,OAAA"}
@@ -50,7 +50,10 @@ export interface Web2CoreTargetIdentityPayload {
50
50
  context: string;
51
51
  proof: string;
52
52
  }
53
- export type GithubProof = `https://github.com/${string}/${string}`;
53
+ type GistProofUrl = `https://gist.github.com/${string}/${string}`;
54
+ type RawGistProofUrl = `https://gist.githubusercontent.com/${string}/${string}`;
55
+ type RawGithubProofUrl = `https://raw.githubusercontent.com/${string}/${string}`;
56
+ export type GithubProof = RawGistProofUrl | GistProofUrl | RawGithubProofUrl;
54
57
  export interface InferFromGithubPayload extends Web2CoreTargetIdentityPayload {
55
58
  context: "github";
56
59
  proof: GithubProof;
@@ -74,3 +77,4 @@ export interface Web2IdentityPayload {
74
77
  payload: InferFromGithubPayload | InferFromTwitterPayload;
75
78
  }
76
79
  export type IdentityPayload = XmIdentityPayload | Web2IdentityPayload;
80
+ export {};
@@ -178,7 +178,16 @@ exports.DemosTransactions = {
178
178
  // ! Problem: we are tampering the ValidityData, so the tx will fail miserably (see validateTransaction.ts -> signValidityData)
179
179
  // See prepare(data) for a possible solution
180
180
  //validationData.response.data.transaction = signedTx
181
- return await demos.call("execute", "", validationData, "broadcastTx");
181
+ const res = await demos.call("execute", "", validationData, "broadcastTx");
182
+ try {
183
+ return {
184
+ ...res,
185
+ response: JSON.parse(res.response),
186
+ };
187
+ }
188
+ catch (error) {
189
+ return res;
190
+ }
182
191
  },
183
192
  // NOTE Subnet transactions methods are imported and exposed in demos.ts from the l2ps.ts file.
184
193
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DemosTransactions.js","sourceRoot":"","sources":["../../../src/websdk/DemosTransactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DemosTransactions.js","sourceRoot":"","sources":["../../../src/websdk/DemosTransactions.ts"],"names":[],"mappings":"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"}
@@ -156,11 +156,11 @@ class Web2IdentityParsers {
156
156
  }
157
157
  parseTwitterUsername() {
158
158
  // https://x.com/demos_xyz/status/1901630063692365884
159
- const username = this.proof_url.split("/")[3];
160
- return username;
159
+ return this.proof_url.split("/")[3];
161
160
  }
162
161
  parseGithubUsername() {
163
- return "";
162
+ // https://gist.github.com/cwilvx/abf8db960c16dfc7f6dc1da840852f79
163
+ return this.proof_url.split("/")[3];
164
164
  }
165
165
  parse() {
166
166
  switch (this.context) {
@@ -1 +1 @@
1
- {"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynesyslabs/demosdk",
3
- "version": "2.1.10",
3
+ "version": "2.1.12",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "author": "Kynesys Labs",
@@ -36,7 +36,8 @@
36
36
  "test:native": "rm -rf build && jest --testMatch '**/tests/native*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose",
37
37
  "test:web2": "rm -rf build && jest --testMatch '**/tests/web2*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose",
38
38
  "test:demos": "rm -rf build && jest --testMatch '**/tests/communication/demos.spec.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose",
39
- "test:rubic-service": "rm -rf build && jest --testMatch '**/tests/**/rubic*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose"
39
+ "test:rubic-service": "rm -rf build && jest --testMatch '**/tests/**/rubic*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose",
40
+ "test:btc": "rm -rf build && jest --testMatch '**/tests/multichain**/bitcoin*.ts' --testPathIgnorePatterns **/tests/**/chainProvider* **/tests/utils/* **/tests/**/template* --verbose"
40
41
  },
41
42
  "dependencies": {
42
43
  "@cosmjs/proto-signing": "^0.32.3",
@@ -59,9 +60,12 @@
59
60
  "axios": "^1.7.4",
60
61
  "big-integer": "^1.6.52",
61
62
  "bignumber.js": "^9.1.2",
63
+ "bip32": "^5.0.0-rc.0",
64
+ "bitcoinjs-lib": "^6.1.7",
62
65
  "bs58": "^5.0.0",
63
66
  "buffer": "^6.0.3",
64
67
  "dotenv": "^16.4.7",
68
+ "ecpair": "^3.0.0",
65
69
  "ethers": "^6.11.1",
66
70
  "libsodium-wrappers-sumo": "^0.7.15",
67
71
  "lodash": "^4.17.21",
@@ -75,6 +79,7 @@
75
79
  "rubic-sdk": "^5.52.6",
76
80
  "socket.io-client": "^4.7.2",
77
81
  "superdilithium": "^2.0.6",
82
+ "tiny-secp256k1": "^2.2.3",
78
83
  "tweetnacl": "^1.0.3",
79
84
  "tweetnacl-util": "^0.15.1",
80
85
  "twitter-api-sdk": "^1.2.1",