@teleportdao/bitcoin 1.9.0 → 2.0.0

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.
Files changed (70) hide show
  1. package/.tmp/block-parser.ts +58 -0
  2. package/.tmp/ordinal-helper.ts +133 -0
  3. package/.tmp/ordinal.ts +25 -0
  4. package/.tmp/rbf.ts +27 -24
  5. package/dist/bitcoin-interface-ordinal.d.ts +2 -2
  6. package/dist/bitcoin-interface-ordinal.d.ts.map +1 -1
  7. package/dist/bitcoin-interface-ordinal.js +1 -1
  8. package/dist/bitcoin-interface-ordinal.js.map +1 -1
  9. package/dist/bitcoin-interface-teleswap.d.ts +2 -53
  10. package/dist/bitcoin-interface-teleswap.d.ts.map +1 -1
  11. package/dist/bitcoin-interface-teleswap.js +6 -17
  12. package/dist/bitcoin-interface-teleswap.js.map +1 -1
  13. package/dist/bitcoin-interface-wallet.d.ts +29 -0
  14. package/dist/bitcoin-interface-wallet.d.ts.map +1 -0
  15. package/dist/bitcoin-interface-wallet.js +126 -0
  16. package/dist/bitcoin-interface-wallet.js.map +1 -0
  17. package/dist/bitcoin-interface.d.ts +5 -23
  18. package/dist/bitcoin-interface.d.ts.map +1 -1
  19. package/dist/bitcoin-interface.js +13 -92
  20. package/dist/bitcoin-interface.js.map +1 -1
  21. package/dist/bitcoin-wallet-base.d.ts +55 -31
  22. package/dist/bitcoin-wallet-base.d.ts.map +1 -1
  23. package/dist/bitcoin-wallet-base.js +105 -84
  24. package/dist/bitcoin-wallet-base.js.map +1 -1
  25. package/dist/ordinal-wallet.d.ts +29 -71
  26. package/dist/ordinal-wallet.d.ts.map +1 -1
  27. package/dist/ordinal-wallet.js +48 -108
  28. package/dist/ordinal-wallet.js.map +1 -1
  29. package/dist/teleswap-wallet.d.ts +10 -16
  30. package/dist/teleswap-wallet.d.ts.map +1 -1
  31. package/dist/teleswap-wallet.js +10 -30
  32. package/dist/teleswap-wallet.js.map +1 -1
  33. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +4 -11
  34. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  35. package/dist/transaction-builder/bitcoin-transaction-builder.js +2 -23
  36. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  37. package/dist/transaction-builder/ordinal-transaction-builder.d.ts +3 -2
  38. package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -1
  39. package/dist/transaction-builder/ordinal-transaction-builder.js +1 -6
  40. package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -1
  41. package/dist/transaction-builder/transaction-builder.d.ts +3 -7
  42. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  43. package/dist/transaction-builder/transaction-builder.js +22 -49
  44. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  45. package/dist/type.d.ts +33 -18
  46. package/dist/type.d.ts.map +1 -1
  47. package/package.json +4 -4
  48. package/src/bitcoin-interface-ordinal.ts +185 -181
  49. package/src/bitcoin-interface-teleswap.ts +237 -252
  50. package/src/bitcoin-interface-utils.ts +60 -60
  51. package/src/bitcoin-interface-wallet.ts +114 -0
  52. package/src/bitcoin-interface.ts +156 -239
  53. package/src/bitcoin-utils.ts +591 -591
  54. package/src/bitcoin-wallet-base.ts +344 -310
  55. package/src/helper/brc20-helper.ts +179 -179
  56. package/src/helper/ordinal-helper.ts +118 -118
  57. package/src/index.ts +15 -15
  58. package/src/ordinal-wallet.ts +659 -748
  59. package/src/sign/index.ts +1 -1
  60. package/src/sign/sign-transaction.ts +108 -108
  61. package/src/teleswap-wallet.ts +133 -155
  62. package/src/transaction-builder/bitcoin-transaction-builder.ts +26 -44
  63. package/src/transaction-builder/index.ts +3 -3
  64. package/src/transaction-builder/ordinal-transaction-builder.ts +139 -147
  65. package/src/transaction-builder/transaction-builder.ts +690 -706
  66. package/src/type.ts +74 -48
  67. package/src/utils/networks.ts +33 -33
  68. package/src/utils/tools.ts +92 -92
  69. package/tsconfig.json +9 -9
  70. package/webpack.config.js +16 -16
@@ -0,0 +1,58 @@
1
+ import blockchainConfig from "@teleportdao/teleswap-nodes/src/config/blockchain.config"
2
+ import { BitcoinInterface } from "../src"
3
+ import { parseRawTransaction } from "../src/bitcoin-utils"
4
+
5
+ async function start() {
6
+ const btcInterface = new BitcoinInterface(
7
+ blockchainConfig.sourceNetwork.connection,
8
+ blockchainConfig.sourceNetwork.name,
9
+ )
10
+
11
+ // const txs = await btcInterface.getMultipleBlocksTransactions(
12
+ // ["3QMbvA6PhMSJAhr4Usr7JxVC6LuxQJqNKa"],
13
+ // 862571,
14
+ // 862572,
15
+ // [
16
+ // {
17
+ // txId: "7fc88095bf4a8722295b51615965b46b5f429ebe18c38d7d7746a8c00b58b724",
18
+ // index: 2,
19
+ // value: 546,
20
+ // script: "a914f89ef33376877ad6d01bf5e23bc263f9553bb2d587",
21
+ // address: "3QMbvA6PhMSJAhr4Usr7JxVC6LuxQJqNKa",
22
+ // },
23
+ // {
24
+ // txId: "49daf17deab7e8ecfd9eacb4d0476a5dbca7a333cc9aee94e208d718870743e7",
25
+ // index: 2,
26
+ // value: 546,
27
+ // script: "a914f89ef33376877ad6d01bf5e23bc263f9553bb2d587",
28
+ // address: "3QMbvA6PhMSJAhr4Usr7JxVC6LuxQJqNKa",
29
+ // },
30
+ // {
31
+ // txId: "3ac54d4ff0c8e971658b3a20a9f75d912795da2fd83b94465a2cafad3b25f3ef",
32
+ // index: 2,
33
+ // value: 546,
34
+ // script: "a914f89ef33376877ad6d01bf5e23bc263f9553bb2d587",
35
+ // address: "3QMbvA6PhMSJAhr4Usr7JxVC6LuxQJqNKa",
36
+ // },
37
+ // {
38
+ // txId: "49f4fc74c20ea50e2ce6d2c9b3bcfdcbba600a1f691d20bfb4f39b77170bd2e6",
39
+ // index: 3,
40
+ // value: 35637,
41
+ // script: "a914f89ef33376877ad6d01bf5e23bc263f9553bb2d587",
42
+ // address: "3QMbvA6PhMSJAhr4Usr7JxVC6LuxQJqNKa",
43
+ // },
44
+ // ],
45
+ // )
46
+ const a = await btcInterface.getRequestProof({
47
+ txId: "4a24b07a9faa9929153d544fd1cbb0f83f5b7eb43977a88b8c1c2b704fa112af",
48
+ })
49
+ console.log(JSON.stringify(a, null, 2))
50
+
51
+ // console.log(
52
+ // txs.filter(
53
+ // (t, i) => !txs.find((tt, ii) => t.txId === tt.txId && t.address === tt.address && ii < i),
54
+ // ),
55
+ // )
56
+ }
57
+
58
+ start()
@@ -0,0 +1,133 @@
1
+ import * as bitcoin from "bitcoinjs-lib"
2
+ import ecc from "@bitcoinerlab/secp256k1"
3
+
4
+ bitcoin.initEccLib(ecc)
5
+
6
+ // eslint-disable-next-line consistent-return
7
+ export function createAddressObjectByScriptNoType(
8
+ script: Buffer,
9
+ network: bitcoin.Network = bitcoin.networks.bitcoin,
10
+ ) {
11
+ let addressObject: bitcoin.payments.Payment
12
+
13
+ try {
14
+ addressObject = bitcoin.payments.p2pkh({
15
+ output: script,
16
+ network,
17
+ })
18
+ if (addressObject.address) {
19
+ return {
20
+ addressObject,
21
+ addressType: "p2pkh",
22
+ }
23
+ }
24
+ } catch (err) {
25
+ /* empty */
26
+ }
27
+
28
+ try {
29
+ addressObject = bitcoin.payments.p2wpkh({
30
+ output: script,
31
+ network,
32
+ })
33
+ if (addressObject.address) {
34
+ return {
35
+ addressObject,
36
+ addressType: "p2wpkh",
37
+ }
38
+ }
39
+ } catch (err) {
40
+ /* empty */
41
+ }
42
+
43
+ try {
44
+ addressObject = bitcoin.payments.p2sh({
45
+ output: script,
46
+ network,
47
+ })
48
+ if (addressObject.address) {
49
+ return {
50
+ addressObject,
51
+ addressType: "p2sh",
52
+ }
53
+ }
54
+ } catch (err) {
55
+ /* empty */
56
+ }
57
+
58
+ try {
59
+ addressObject = bitcoin.payments.p2wsh({
60
+ output: script,
61
+ network,
62
+ })
63
+ if (addressObject.address) {
64
+ return {
65
+ addressObject,
66
+ addressType: "p2wsh",
67
+ }
68
+ }
69
+ } catch (err) {
70
+ /* empty */
71
+ }
72
+
73
+ try {
74
+ addressObject = bitcoin.payments.p2tr({
75
+ output: script,
76
+ network,
77
+ })
78
+ if (addressObject.address) {
79
+ return {
80
+ addressObject,
81
+ addressType: "p2tr",
82
+ }
83
+ }
84
+ } catch (err) {
85
+ /* empty */
86
+ }
87
+ }
88
+
89
+ export function splitBuffer(buffer: Buffer, partLength: number) {
90
+ const parts: Buffer[] = []
91
+ for (let i = 0; i < buffer.length; i += partLength) {
92
+ const part = buffer.subarray(i, i + partLength)
93
+ parts.push(part)
94
+ }
95
+ return parts
96
+ }
97
+
98
+ export function getOrdinalScript(
99
+ file: { buffer: Buffer; type: string },
100
+ internalPublicKeyHex: string,
101
+ ) {
102
+ let bufferParts = splitBuffer(file.buffer, 520)
103
+ // const splittedFileHex = bufferParts.map((part) => part.toString("hex")).join(" ")
104
+ // const script = `${internalPublicKeyHex} OP_CHECKSIG OP_FALSE OP_IF ${ORDINAL_ORD_HEX} 00000000000000000000 ${fileTypeHex} OP_0 ${splittedFileHex} OP_ENDIF`
105
+
106
+ // ? bitcoinjs-lib converts "OP_PUSH 1" to "0x51" instead of "0x0101" as required by the ordinal protocol
107
+ // ? so we push 00000000000000000000 instead of 1 and then replace 0a00000000000000000000 with 0101
108
+ let leafScript = bitcoin.script.compile([
109
+ Buffer.from(internalPublicKeyHex, "hex"),
110
+ bitcoin.opcodes.OP_CHECKSIG,
111
+ bitcoin.opcodes.OP_FALSE,
112
+ bitcoin.opcodes.OP_IF,
113
+ Buffer.from("ord", "utf8"),
114
+ // instead of 1 we push 00000000000000000000
115
+ Buffer.from("00000000000000000000", "hex"),
116
+ //
117
+ Buffer.from(file.type!, "utf8"),
118
+ bitcoin.opcodes.OP_0,
119
+ ...bufferParts,
120
+ bitcoin.opcodes.OP_ENDIF,
121
+ ])
122
+
123
+ leafScript = Buffer.from(
124
+ leafScript.toString("hex").replace("0a00000000000000000000", "0101"),
125
+ "hex",
126
+ )
127
+
128
+ return leafScript
129
+ }
130
+
131
+ export function toXOnly(pubKey: Buffer) {
132
+ return pubKey.length === 32 ? pubKey : pubKey.subarray(1, 33)
133
+ }
@@ -0,0 +1,25 @@
1
+ import { OrdinalWallet } from "../"
2
+ import getAndDecryptAccount from "@teleportdao/teleswap-nodes/src/config/account"
3
+
4
+ require("dotenv").config()
5
+
6
+ import blockchainConfig from "@teleportdao/teleswap-nodes/src/config/blockchain.config"
7
+ ;(async () => {
8
+ const account = await getAndDecryptAccount()
9
+
10
+ let btc = new OrdinalWallet("bitcoin", "", blockchainConfig.sourceNetwork.connection)
11
+ btc.setAccountPrivateKeyByMnemonic({
12
+ mnemonic: account.mnemonic,
13
+ index: 2,
14
+ addressType: "p2wpkh",
15
+ })
16
+ const x = btc.transactionBuilder.createOrdinalAddress(
17
+ {
18
+ buffer: Buffer.from("Hello World", "utf8"),
19
+ type: "text/plain",
20
+ },
21
+ btc.publicKey!,
22
+ )
23
+
24
+ console.log(x)
25
+ })()
package/.tmp/rbf.ts CHANGED
@@ -1,42 +1,45 @@
1
- import blockchainConfig from "@teleportdao/teleswap-nodes/src/config/blockchain.config"
2
- import getAndDecryptAccount from "@teleportdao/teleswap-nodes/src/config/account"
3
1
  import { sleep } from "../dist/utils/tools"
4
- import { BitcoinBaseWallet } from "@teleportdao/bitcoin"
2
+ import { BitcoinBase, TeleportDaoPayment, TransferRequest } from "@teleportdao/bitcoin"
5
3
  import { parseRawTransaction } from "../dist/bitcoin-utils"
6
-
7
4
  require("dotenv").config()
8
5
  ;(async () => {
9
- let btc = new BitcoinBaseWallet("bitcoin", {
6
+ let btc = new TeleportDaoPayment("bitcoin_testnet", {
10
7
  api: {
8
+ enabled: true,
11
9
  provider: "MempoolSpace",
12
10
  },
13
11
  })
14
-
15
- const account = await getAndDecryptAccount()
16
12
  btc.setAccountPrivateKeyByMnemonic({
17
- mnemonic: account.mnemonic,
18
- mnemonicPassword: account.mnemonicPassword,
19
- index: 3,
20
- addressType: "p2tr",
13
+ mnemonic: process.env.ACCOUNT__MNEMONIC!,
14
+ index: 2,
15
+ addressType: "p2wpkh",
21
16
  })
22
17
 
23
18
  console.log(btc.bitcoinAddress)
19
+ let balance = await btc.btcInterface.getBalance(btc.bitcoinAddress!)
24
20
 
25
- const extendedUtxo = await btc.getExtendedUtxo(btc.signerInfo!)
21
+ console.log(balance)
26
22
 
27
- const unsignedTx = await btc.transactionBuilder.processUnsignedTransaction({
28
- extendedUtxo,
29
- feeRate: await btc.btcInterface.getFeeRate(),
30
- targets: [
31
- btc.transactionBuilder.getOpReturnTarget("0x0101010101"),
32
- btc.transactionBuilder.getOpReturnTarget("0x0202020202"),
33
- ],
34
- changeAddress: btc.bitcoinAddress!,
35
- fullAmount: false,
23
+ let txId = await btc.send({
24
+ receiverAddress: btc.bitcoinAddress!,
25
+ fullAmount: true,
26
+ amount: 0,
36
27
  })
37
28
 
38
- const signedTx = await btc.signer.signPsbt(unsignedTx, btc.privateKey!)
39
- const txId = await btc.sendSignedPsbt(signedTx)
40
-
41
29
  console.log(txId)
30
+ await sleep(5_000)
31
+
32
+ // const txId = "a4335df47c09cc983d0ba56373212b86c266ea434bb87d610ae5c892da79e1b7"
33
+
34
+ let unsigned = await btc.increaseTransactionFeeUnsignedPsbt(
35
+ txId,
36
+ [btc.signerInfo!],
37
+ [],
38
+ btc.bitcoinAddress!,
39
+ 5,
40
+ )
41
+ let signedPsbt = await btc.signer.signPsbt(unsigned, btc.privateKey!)
42
+ let txIdNew = await btc.sendSignedPsbt(signedPsbt)
43
+
44
+ console.log(txIdNew)
42
45
  })()
@@ -1,10 +1,10 @@
1
1
  import { bitcoin as bitcoinProviders } from "@teleportdao/providers";
2
2
  import { BitcoinInterface } from "./bitcoin-interface";
3
- import { Transaction, BitcoinConnectionInfo } from "./type";
3
+ import { Transaction, BitcoinTokenNodeConnectionInfo } from "./type";
4
4
  import type { SignerInfo } from "./transaction-builder";
5
5
  export declare class BitcoinInterfaceOrdinal extends BitcoinInterface {
6
6
  unisat: bitcoinProviders.UniSat;
7
- constructor(connectionInfo: BitcoinConnectionInfo, networkName: string, uniSatToken: string);
7
+ constructor(connectionInfo: BitcoinTokenNodeConnectionInfo, networkName: string, uniSatToken: string);
8
8
  getInscriptionWithRetry(inscriptionId: string, { numberOfRetry, sleepTime }?: {
9
9
  numberOfRetry?: number | undefined;
10
10
  sleepTime?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-ordinal.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-ordinal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAKvD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAA;gBACnB,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IASrF,uBAAuB,CAC3B,aAAa,EAAE,MAAM,EACrB,EAAE,aAAiB,EAAE,SAAiB,EAAE;;;KAAK;IAkBzC,+BAA+B,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;YACd,KAAK,EAAE,MAAM,CAAA;SACd,EAAE,CAAA;QACH,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,EAAE,CAAA;KACJ;cAES,MAAM;kBACF,MAAM;eACT,MAAM;eACN;YACL,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,EAAE,MAAM,CAAA;YACX,GAAG,EAAE,MAAM,CAAA;YACX,OAAO,EAAE,MAAM,CAAA;SAChB;qBACY,iBAAiB,iBAAiB;;IA2B7C,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM;;;;;;;;;;;;;;;;IAezE,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDlB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;;;;;;IAWlD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;;;;;;CAUjE"}
1
+ {"version":3,"file":"bitcoin-interface-ordinal.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-ordinal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAA;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAKvD,qBAAa,uBAAwB,SAAQ,gBAAgB;IAC3D,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAA;gBAE7B,cAAc,EAAE,8BAA8B,EAC9C,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM;IAUf,uBAAuB,CAC3B,aAAa,EAAE,MAAM,EACrB,EAAE,aAAiB,EAAE,SAAiB,EAAE;;;KAAK;IAkBzC,+BAA+B,CAAC,WAAW,EAAE;QACjD,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;YACd,KAAK,EAAE,MAAM,CAAA;SACd,EAAE,CAAA;QACH,GAAG,EAAE;YACH,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,EAAE,CAAA;KACJ;cAES,MAAM;kBACF,MAAM;eACT,MAAM;eACN;YACL,EAAE,EAAE,MAAM,CAAA;YACV,IAAI,EAAE,MAAM,CAAA;YACZ,GAAG,EAAE,MAAM,CAAA;YACX,GAAG,EAAE,MAAM,CAAA;YACX,OAAO,EAAE,MAAM,CAAA;SAChB;qBACY,iBAAiB,iBAAiB;;IA2B7C,yBAAyB,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM;;;;;;;;;;;;;;;;IAezE,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgDlB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;;;;;;IAWlD,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;;;;;;CAUjE"}
@@ -20,7 +20,7 @@ const tools_1 = require("./utils/tools");
20
20
  const brc20_helper_1 = require("./helper/brc20-helper");
21
21
  class BitcoinInterfaceOrdinal extends bitcoin_interface_1.BitcoinInterface {
22
22
  constructor(connectionInfo, networkName, uniSatToken) {
23
- super(connectionInfo, networkName);
23
+ super(networkName, connectionInfo);
24
24
  this.unisat = new providers_1.bitcoin.UniSat({
25
25
  token: uniSatToken,
26
26
  }, networkName.includes("testnet"));
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-ordinal.js","sourceRoot":"","sources":["../src/bitcoin-interface-ordinal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface-ordinal.js","sourceRoot":"","sources":["../src/bitcoin-interface-ordinal.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { bitcoin } from "@teleportdao/providers";
2
2
  import { UnwrapInfo, WrapOpReturnWithType } from "./helper/teleswap-helper";
3
3
  import BitcoinInterface from "./bitcoin-interface";
4
- import { Transaction } from "./type";
4
+ import { BitcoinNodeConnectionInfo, Transaction } from "./type";
5
5
  export type ValidWrapRequest = {
6
6
  transaction: bitcoin.Types.ConfirmedTransaction & {
7
7
  address?: string;
@@ -37,6 +37,7 @@ export type UnwrapRequest = {
37
37
  lockerLockingScript: string;
38
38
  };
39
39
  export declare class BitcoinInterfaceTeleswap extends BitcoinInterface {
40
+ constructor(connectionInfo: BitcoinNodeConnectionInfo, networkName: string);
40
41
  getHexBlockHeaders(startBlockNumber: number, endBlockNumber: number): Promise<{
41
42
  hexBlockHeaders: string;
42
43
  fromBlockNumber: number;
@@ -47,58 +48,6 @@ export declare class BitcoinInterfaceTeleswap extends BitcoinInterface {
47
48
  requests: ValidWrapRequest[];
48
49
  invalidRequests: InValidWrapRequest[];
49
50
  }>;
50
- getMempoolWrapRequests(addresses: string[]): Promise<{
51
- requests: {
52
- transaction: bitcoin.Types.ConfirmedTransaction & {
53
- address?: string | undefined;
54
- addressScript?: string | undefined;
55
- merkleProof?: {
56
- intermediateNodes: string;
57
- transactionIndex: number;
58
- } | undefined;
59
- };
60
- request: {
61
- status: boolean;
62
- message: string;
63
- code: string;
64
- data?: undefined;
65
- value?: undefined;
66
- valueOutputIndex?: undefined;
67
- requestOutputIndex?: undefined;
68
- } | {
69
- status: true;
70
- data: WrapOpReturnWithType;
71
- value: number;
72
- valueOutputIndex: number;
73
- requestOutputIndex: number;
74
- message?: undefined;
75
- code?: undefined;
76
- };
77
- lockerAddress: string;
78
- lockerLockingScript: string;
79
- }[];
80
- invalidRequests: {
81
- transaction: bitcoin.Types.ConfirmedTransaction & {
82
- address?: string | undefined;
83
- addressScript?: string | undefined;
84
- merkleProof?: {
85
- intermediateNodes: string;
86
- transactionIndex: number;
87
- } | undefined;
88
- };
89
- request: {
90
- status: boolean;
91
- message: string;
92
- code: string;
93
- data?: undefined;
94
- value?: undefined;
95
- valueOutputIndex?: undefined;
96
- requestOutputIndex?: undefined;
97
- };
98
- lockerAddress: string;
99
- lockerLockingScript: string;
100
- }[];
101
- }>;
102
51
  getWrapRequestByTx(inputTransaction: {
103
52
  txId: string;
104
53
  } | (bitcoin.Types.ConfirmedTransaction & {
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-teleswap.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-teleswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAGL,UAAU,EACV,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QAChD,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAA;IACD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAA;QACf,IAAI,EAAE,oBAAoB,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QAChD,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAA;IACD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;IAEtD,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;IAoCnE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IA4BrF,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqB1C,kBAAkB,CACtB,gBAAgB,EACZ;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QACpC,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAC,EACN,aAAa,EAAE,MAAM;;;;0BAKL,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;IAuBtC,4BAA4B,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;IA0BlB,mCAAmC,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;IA0BlB,4BAA4B,CAChC,WAAW,EAAE;QACX,IAAI,EAAE,GAAG,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,GAAG,CAAC,EAAE,GAAG,CAAA;QACT,aAAa,CAAC,EAAE,GAAG,CAAA;KACpB,EACD,aAAa,EAAE,MAAM;CAexB"}
1
+ {"version":3,"file":"bitcoin-interface-teleswap.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-teleswap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAGL,UAAU,EACV,oBAAoB,EACrB,MAAM,0BAA0B,CAAA;AACjC,OAAO,gBAAgB,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAE/D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QAChD,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAA;IACD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAA;QACf,IAAI,EAAE,oBAAoB,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QAChD,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAA;IACD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,mBAAmB,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,qBAAa,wBAAyB,SAAQ,gBAAgB;gBAChD,cAAc,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM;IAOpE,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;IAoCnE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;IA4BrF,kBAAkB,CACtB,gBAAgB,EACZ;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAChB,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG;QACpC,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,WAAW,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAA;KACzC,CAAC,EACN,aAAa,EAAE,MAAM;;;;0BAKL,WAAW,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;IAuBtC,4BAA4B,CAChC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;IA0BlB,mCAAmC,CACvC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM;;;;;;IA0BlB,4BAA4B,CAChC,WAAW,EAAE;QACX,IAAI,EAAE,GAAG,CAAA;QACT,IAAI,CAAC,EAAE,GAAG,CAAA;QACV,GAAG,CAAC,EAAE,GAAG,CAAA;QACT,aAAa,CAAC,EAAE,GAAG,CAAA;KACpB,EACD,aAAa,EAAE,MAAM;CAexB"}
@@ -17,6 +17,12 @@ const bitcoin_utils_1 = require("./bitcoin-utils");
17
17
  const teleswap_helper_1 = require("./helper/teleswap-helper");
18
18
  const bitcoin_interface_1 = __importDefault(require("./bitcoin-interface"));
19
19
  class BitcoinInterfaceTeleswap extends bitcoin_interface_1.default {
20
+ constructor(connectionInfo, networkName) {
21
+ if (!connectionInfo.rpc) {
22
+ throw new Error("rpc provider is required");
23
+ }
24
+ super(networkName, connectionInfo);
25
+ }
20
26
  getHexBlockHeaders(startBlockNumber, endBlockNumber) {
21
27
  return __awaiter(this, void 0, void 0, function* () {
22
28
  const blockHeaders = [];
@@ -75,23 +81,6 @@ class BitcoinInterfaceTeleswap extends bitcoin_interface_1.default {
75
81
  return { requests, invalidRequests };
76
82
  });
77
83
  }
78
- getMempoolWrapRequests(addresses) {
79
- return __awaiter(this, void 0, void 0, function* () {
80
- let transactions = yield this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
81
- let requests = [];
82
- let invalidRequests = [];
83
- for (let inputTx of transactions) {
84
- let { transaction, request, lockerAddress, lockerLockingScript } = yield this.getWrapRequestByTx(inputTx, inputTx.address);
85
- if (request.status) {
86
- requests.push({ transaction, request, lockerAddress, lockerLockingScript });
87
- }
88
- else if (request.code !== "NO_OP_RETURN") {
89
- invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
90
- }
91
- }
92
- return { requests, invalidRequests };
93
- });
94
- }
95
84
  getWrapRequestByTx(inputTransaction, lockerAddress) {
96
85
  return __awaiter(this, void 0, void 0, function* () {
97
86
  let transaction;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-teleswap.js","sourceRoot":"","sources":["../src/bitcoin-interface-teleswap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface-teleswap.js","sourceRoot":"","sources":["../src/bitcoin-interface-teleswap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { bitcoin as bitcoinProvider } from "@teleportdao/providers";
2
+ import { BitcoinInterfaceUtils } from "./bitcoin-interface-utils";
3
+ import type { BitcoinWalletInterfaceConnectionInfo } from "./type";
4
+ import type { SignerInfo } from "./transaction-builder/transaction-builder";
5
+ export declare class BitcoinInterfaceWallet extends BitcoinInterfaceUtils {
6
+ utxoProvider: bitcoinProvider.Types.UtxoProvider;
7
+ apiProvider: bitcoinProvider.MempoolSpace;
8
+ constructor(networkName: string, connectionInfo?: BitcoinWalletInterfaceConnectionInfo);
9
+ getFeeRate(speed?: "normal" | "slow" | "fast"): Promise<number>;
10
+ getUtxo(address: string): Promise<bitcoinProvider.Types.Utxo[]>;
11
+ getRawTransaction(txId: string): Promise<string>;
12
+ sendRawTransaction(txHex: string): Promise<string>;
13
+ getExtendedUtxo(signerInfo: SignerInfo): Promise<{
14
+ hash: string;
15
+ value: number;
16
+ index: number;
17
+ signerInfo: SignerInfo;
18
+ }[]>;
19
+ getAddressesUtxo(allAddresses: string[]): Promise<bitcoinProvider.Types.Utxo[]>;
20
+ getAddressesExtendedUtxo(signerInfos: SignerInfo[]): Promise<{
21
+ hash: string;
22
+ value: number;
23
+ index: number;
24
+ signerInfo: SignerInfo;
25
+ }[]>;
26
+ getBalance(address: string): Promise<number>;
27
+ }
28
+ export default BitcoinInterfaceWallet;
29
+ //# sourceMappingURL=bitcoin-interface-wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin-interface-wallet.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,QAAQ,CAAA;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAE3E,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC/D,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,eAAe,CAAC,YAAY,CAAA;gBAE7B,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,oCAAoC;IAahF,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM;IAI7C,OAAO,CAAC,OAAO,EAAE,MAAM;IAOvB,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAO9B,kBAAkB,CAAC,KAAK,EAAE,MAAM;IAOhC,eAAe,CAAC,UAAU,EAAE,UAAU;;;;;;IAUtC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE;IAyBvC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE;;;;;;IAyBlD,UAAU,CAAC,OAAO,EAAE,MAAM;CAIjC;AAED,eAAe,sBAAsB,CAAA"}
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BitcoinInterfaceWallet = void 0;
13
+ const providers_1 = require("@teleportdao/providers");
14
+ const bitcoin_interface_utils_1 = require("./bitcoin-interface-utils");
15
+ class BitcoinInterfaceWallet extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
16
+ constructor(networkName, connectionInfo) {
17
+ var _a;
18
+ super(networkName);
19
+ if (((_a = connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.api) === null || _a === void 0 ? void 0 : _a.provider) === "BlockStream") {
20
+ this.apiProvider = new providers_1.bitcoin.BlockStream(this.testnet);
21
+ }
22
+ else {
23
+ this.apiProvider = new providers_1.bitcoin.MempoolSpace(this.testnet);
24
+ }
25
+ this.utxoProvider = (connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.utxo)
26
+ ? providers_1.bitcoin.getUtxoProvider(connectionInfo.utxo, networkName)
27
+ : this.apiProvider;
28
+ }
29
+ getFeeRate(speed) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ return new providers_1.bitcoin.MempoolSpace(this.testnet).getRecommendedFeeRate(speed);
32
+ });
33
+ }
34
+ getUtxo(address) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ if (!this.utxoProvider) {
37
+ throw new Error("utxo provider not set");
38
+ }
39
+ return this.utxoProvider.getUtxos(address);
40
+ });
41
+ }
42
+ getRawTransaction(txId) {
43
+ return __awaiter(this, void 0, void 0, function* () {
44
+ if (this.utxoProvider.getRawTransaction) {
45
+ return this.utxoProvider.getRawTransaction(txId);
46
+ }
47
+ return this.apiProvider.getRawTransaction(txId);
48
+ });
49
+ }
50
+ sendRawTransaction(txHex) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ if (this.utxoProvider.sendRawTransaction) {
53
+ return this.utxoProvider.sendRawTransaction(txHex);
54
+ }
55
+ return this.apiProvider.sendRawTransaction(txHex);
56
+ });
57
+ }
58
+ getExtendedUtxo(signerInfo) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ let utxos = yield this.getUtxo(signerInfo.address);
61
+ return utxos.map((tx) => ({
62
+ hash: tx.txId,
63
+ value: tx.value,
64
+ index: tx.index,
65
+ signerInfo,
66
+ }));
67
+ });
68
+ }
69
+ getAddressesUtxo(allAddresses) {
70
+ return __awaiter(this, void 0, void 0, function* () {
71
+ const chunkOfAddresses = [];
72
+ const chunkLength = 20;
73
+ for (let i = 0; i < allAddresses.length; i += chunkLength) {
74
+ const tmp = allAddresses.slice(i, i + chunkLength);
75
+ chunkOfAddresses.push(tmp);
76
+ }
77
+ let results = [];
78
+ for (let addresses of chunkOfAddresses) {
79
+ const allPromises = [];
80
+ for (let address of addresses) {
81
+ let promise = yield this.getUtxo(address);
82
+ allPromises.push(promise);
83
+ }
84
+ let result = yield Promise.all(allPromises);
85
+ if (result.flat(1).length === 0) {
86
+ break;
87
+ }
88
+ results.push(result.flat(1));
89
+ }
90
+ return results.flat(1);
91
+ });
92
+ }
93
+ getAddressesExtendedUtxo(signerInfos) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ const chunkOfAddresses = [];
96
+ const chunkLength = 20;
97
+ for (let i = 0; i < signerInfos.length; i += chunkLength) {
98
+ const tmp = signerInfos.slice(i, i + chunkLength);
99
+ chunkOfAddresses.push(tmp);
100
+ }
101
+ let results = [];
102
+ for (let addresses of chunkOfAddresses) {
103
+ const allPromises = [];
104
+ for (let signerInfo of addresses) {
105
+ let promise = yield this.getExtendedUtxo(signerInfo);
106
+ allPromises.push(promise);
107
+ }
108
+ let result = yield Promise.all(allPromises);
109
+ if (result.flat(1).length === 0) {
110
+ break;
111
+ }
112
+ results.push(result.flat(1));
113
+ }
114
+ return results.flat(1);
115
+ });
116
+ }
117
+ getBalance(address) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ let utxos = yield this.utxoProvider.getUtxos(address);
120
+ return utxos.reduce((a, tx) => a + Number(tx.value), 0);
121
+ });
122
+ }
123
+ }
124
+ exports.BitcoinInterfaceWallet = BitcoinInterfaceWallet;
125
+ exports.default = BitcoinInterfaceWallet;
126
+ //# sourceMappingURL=bitcoin-interface-wallet.js.map