@teleportdao/bitcoin 1.8.9 → 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 (55) hide show
  1. package/.tmp/block-parser.ts +58 -0
  2. package/dist/bitcoin-interface-ordinal.d.ts +2 -2
  3. package/dist/bitcoin-interface-ordinal.d.ts.map +1 -1
  4. package/dist/bitcoin-interface-ordinal.js +1 -1
  5. package/dist/bitcoin-interface-ordinal.js.map +1 -1
  6. package/dist/bitcoin-interface-teleswap.d.ts +2 -53
  7. package/dist/bitcoin-interface-teleswap.d.ts.map +1 -1
  8. package/dist/bitcoin-interface-teleswap.js +6 -17
  9. package/dist/bitcoin-interface-teleswap.js.map +1 -1
  10. package/dist/bitcoin-interface-wallet.d.ts +29 -0
  11. package/dist/bitcoin-interface-wallet.d.ts.map +1 -0
  12. package/dist/bitcoin-interface-wallet.js +126 -0
  13. package/dist/bitcoin-interface-wallet.js.map +1 -0
  14. package/dist/bitcoin-interface.d.ts +5 -23
  15. package/dist/bitcoin-interface.d.ts.map +1 -1
  16. package/dist/bitcoin-interface.js +13 -92
  17. package/dist/bitcoin-interface.js.map +1 -1
  18. package/dist/bitcoin-wallet-base.d.ts +55 -31
  19. package/dist/bitcoin-wallet-base.d.ts.map +1 -1
  20. package/dist/bitcoin-wallet-base.js +105 -84
  21. package/dist/bitcoin-wallet-base.js.map +1 -1
  22. package/dist/ordinal-wallet.d.ts +29 -71
  23. package/dist/ordinal-wallet.d.ts.map +1 -1
  24. package/dist/ordinal-wallet.js +48 -108
  25. package/dist/ordinal-wallet.js.map +1 -1
  26. package/dist/teleswap-wallet.d.ts +10 -16
  27. package/dist/teleswap-wallet.d.ts.map +1 -1
  28. package/dist/teleswap-wallet.js +10 -30
  29. package/dist/teleswap-wallet.js.map +1 -1
  30. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +4 -11
  31. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  32. package/dist/transaction-builder/bitcoin-transaction-builder.js +2 -23
  33. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  34. package/dist/transaction-builder/ordinal-transaction-builder.d.ts +3 -2
  35. package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -1
  36. package/dist/transaction-builder/ordinal-transaction-builder.js +1 -6
  37. package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -1
  38. package/dist/transaction-builder/transaction-builder.d.ts +3 -7
  39. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  40. package/dist/transaction-builder/transaction-builder.js +22 -49
  41. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  42. package/dist/type.d.ts +33 -18
  43. package/dist/type.d.ts.map +1 -1
  44. package/package.json +4 -4
  45. package/src/bitcoin-interface-ordinal.ts +7 -3
  46. package/src/bitcoin-interface-teleswap.ts +7 -22
  47. package/src/bitcoin-interface-wallet.ts +114 -0
  48. package/src/bitcoin-interface.ts +15 -98
  49. package/src/bitcoin-wallet-base.ts +166 -132
  50. package/src/ordinal-wallet.ts +73 -162
  51. package/src/teleswap-wallet.ts +50 -72
  52. package/src/transaction-builder/bitcoin-transaction-builder.ts +6 -24
  53. package/src/transaction-builder/ordinal-transaction-builder.ts +2 -10
  54. package/src/transaction-builder/transaction-builder.ts +34 -50
  55. package/src/type.ts +45 -19
@@ -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()
@@ -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":";;;;;;;;;;;;;;;AACA,mDAAkD;AAClD,8DAKiC;AACjC,4EAAkD;AAwClD,MAAa,wBAAyB,SAAQ,2BAAgB;IAEtD,kBAAkB,CAAC,gBAAwB,EAAE,cAAsB;;YACvE,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,IAAI,UAAU,GAAG,IAAI,CAAA;YACrB,IAAI,eAAe,GAAG,EAAE,CAAA;YAExB,IAAI,eAAe,GAAG,gBAAgB,CAAA;YACtC,KAAK,IAAI,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;gBACxF,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;gBAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBACjC,IAAI,iBAAiB,GAAG,IAAA,gCAAgB,EAAC,WAAW,CAAC,CAAA;gBACrD,IAAI,UAAU,IAAI,iBAAiB,CAAC,UAAU,KAAK,UAAU,EAAE;oBAC7D,YAAY,CAAC,IAAI,CAAC;wBAChB,eAAe;wBACf,eAAe;wBACf,aAAa,EAAE,WAAW,GAAG,CAAC;wBAC9B,UAAU;qBACX,CAAC,CAAA;oBACF,eAAe,GAAG,WAAW,CAAA;oBAC7B,eAAe,GAAG,WAAW,CAAA;iBAC9B;qBAAM;oBACL,eAAe,IAAI,WAAW,CAAA;iBAC/B;gBACD,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAA;aAC1C;YACD,IAAI,eAAe,EAAE;gBACnB,YAAY,CAAC,IAAI,CAAC;oBAChB,eAAe;oBACf,eAAe;oBACf,aAAa,EAAE,cAAc;oBAC7B,UAAU;iBACX,CAAC,CAAA;aACH;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,eAAe,CAAC,SAAmB,EAAE,gBAAwB,EAAE,cAAsB;;YAEzF,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CACzD,SAAS,EACT,gBAAgB,EAChB,cAAc,CACf,CAAA;YAED,IAAI,QAAQ,GAAuB,EAAE,CAAA;YACrC,IAAI,eAAe,GAAyB,EAAE,CAAA;YAE9C,KAAK,IAAI,OAAO,IAAI,YAAY,EAAE;gBAChC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAC9D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,OAAO,CAAC,MAAM,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE;oBACvD,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,OAAO;wBACP,aAAa;wBACb,mBAAmB;qBACpB,CAAC,CAAA;iBACH;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;oBAC1C,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;iBACnF;aACF;YACD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;QACtC,CAAC;KAAA;IAEK,sBAAsB,CAAC,SAAmB;;YAE9C,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gDAAgD,CACxF,SAAS,CACV,CAAA;YAED,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,IAAI,eAAe,GAAG,EAAE,CAAA;YAExB,KAAK,IAAI,OAAO,IAAI,YAAY,EAAE;gBAChC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAC9D,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBACzD,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;iBAC5E;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;oBAC1C,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;iBACnF;aACF;YACD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;QACtC,CAAC;KAAA;IAEK,kBAAkB,CACtB,gBAMM,EACN,aAAqB;;YAErB,IAAI,WAIH,CAAA;YACD,IAAI,MAAM,IAAI,gBAAgB,IAAI,aAAa,IAAI,gBAAgB,EAAE;gBACnE,WAAW,GAAG,gBAAgB,CAAA;aAC/B;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;gBAC7D,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;aAC/D;YAED,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;YAC3B,IAAI,OAAO,GAAG,IAAA,0CAAwB,EAAC,IAAK,EAAE,aAAa,CAAC,CAAA;YAC5D,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa;gBACzB,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAEpE,OAAO;gBACL,WAAW;gBACX,OAAO;gBACP,aAAa;gBACb,mBAAmB;aACpB,CAAA;QACH,CAAC;KAAA;IAEK,4BAA4B,CAChC,SAAmB,EACnB,gBAAwB,EACxB,cAAsB;;YAEtB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CACzD,SAAS,EACT,gBAAgB,EAChB,cAAc,CACf,CAAA;YAED,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;gBACpC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;gBAEjC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC9E,IAAI,UAAU,EAAE;oBACd,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAA;oBACnE,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,QAAQ;wBACR,aAAa;wBACb,mBAAmB;qBACpB,CAAC,CAAA;iBACH;aACF;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEK,mCAAmC,CACvC,SAAmB,EACnB,gBAAwB,EACxB,cAAsB;;YAEtB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,6BAA6B,CACzD,SAAS,EACT,gBAAgB,EAChB,cAAc,CACf,CAAA;YAED,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;gBACpC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;gBAEjC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC9E,IAAI,UAAU,EAAE;oBACd,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAA;oBACnE,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,QAAQ;wBACR,aAAa;wBACb,mBAAmB;qBACpB,CAAC,CAAA;iBACH;aACF;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEK,4BAA4B,CAChC,WAKC,EACD,aAAqB;;YAErB,IAAI,CAAC,WAAW,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACxD,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;YAC9E,IAAI,QAAQ,GAAG,IAAA,wCAAsB,EAAC,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;YAC3E,IAAI,CAAC,QAAQ;gBAAE,OAAM;YACrB,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa;gBACzB,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YACpE,OAAO;gBACL,QAAQ;gBACR,aAAa;gBACb,mBAAmB;aACH,CAAA;QACpB,CAAC;KAAA;CACF;AA3MD,4DA2MC"}
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin-interface-wallet.js","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,15 @@
1
1
  import { bitcoin as bitcoinProvider } from "@teleportdao/providers";
2
- import { BitcoinInterfaceUtils } from "./bitcoin-interface-utils";
3
- import type { BitcoinConnectionInfo } from "./type";
4
- import type { SignerInfo } from "./transaction-builder/transaction-builder";
5
- export declare class BitcoinInterface extends BitcoinInterfaceUtils {
2
+ import BitcoinInterfaceWallet from "./bitcoin-interface-wallet";
3
+ import type { BitcoinInterfaceConnectionInfo } from "./type";
4
+ export declare class BitcoinInterface extends BitcoinInterfaceWallet {
6
5
  rpcProvider?: bitcoinProvider.BitcoinRPC;
7
- utxoProvider: bitcoinProvider.Types.UtxoProvider;
8
- apiProvider: bitcoinProvider.MempoolSpace;
9
- constructor(connectionInfo: BitcoinConnectionInfo, networkName: string);
10
- getFeeRate(speed?: "normal" | "slow" | "fast"): Promise<number>;
6
+ constructor(networkName: string, connectionInfo?: BitcoinInterfaceConnectionInfo);
11
7
  getLatestBlockNumber(): Promise<number>;
12
8
  getBlockHash(blockNumber: number): Promise<string>;
13
9
  getBlockHeaderHex(blockNumber: number): Promise<string>;
14
10
  getTransaction(txId: string): Promise<bitcoinProvider.Types.ConfirmedTransaction>;
15
11
  getRawTransaction(txId: string): Promise<string>;
12
+ sendRawTransaction(txId: string): Promise<any>;
16
13
  getMerkleProof(txId: string, blockHash: string): Promise<{
17
14
  intermediateNodes: string;
18
15
  transactionIndex: number;
@@ -42,21 +39,6 @@ export declare class BitcoinInterface extends BitcoinInterfaceUtils {
42
39
  blockNumber: number;
43
40
  blockHash: string;
44
41
  }>;
45
- getUtxo(address: string): Promise<bitcoinProvider.Types.Utxo[]>;
46
- getExtendedUtxo(signerInfo: SignerInfo): Promise<{
47
- hash: string;
48
- value: number;
49
- index: number;
50
- signerInfo: SignerInfo;
51
- }[]>;
52
- getAddressesUtxo(allAddresses: string[]): Promise<bitcoinProvider.Types.Utxo[]>;
53
- getAddressesExtendedUtxo(signerInfos: SignerInfo[]): Promise<{
54
- hash: string;
55
- value: number;
56
- index: number;
57
- signerInfo: SignerInfo;
58
- }[]>;
59
- getBalance(address: string): Promise<number>;
60
42
  getBlockTransactions(addresses: string[], blockNumber: number, inputTxIds?: {
61
43
  txId: string;
62
44
  index: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAOnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAE3E,qBAAa,gBAAiB,SAAQ,qBAAqB;IACzD,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAA;IACxC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,eAAe,CAAC,YAAY,CAAA;gBAE7B,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAehE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM;IAI7C,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,iBAAiB,EAAE,MAAM,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC;IAYI,eAAe,CAAC,WAAW,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE;YACZ,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;KACF;;;;;;;;;;;;;;;;IAsBK,OAAO,CAAC,OAAO,EAAE,MAAM;IAOvB,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;IAM1B,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;;;;;;;;;;IAsBJ,6BAA6B,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;CAWX;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAOnE,OAAO,sBAAsB,MAAM,4BAA4B,CAAA;AAC/D,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,QAAQ,CAAA;AAE5D,qBAAa,gBAAiB,SAAQ,sBAAsB;IAC1D,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAA;gBAE5B,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,8BAA8B;IAO1E,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,iBAAiB,EAAE,MAAM,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC;IAYI,eAAe,CAAC,WAAW,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE;YACZ,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;KACF;;;;;;;;;;;;;;;;IAuBK,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;;;;;;;;;;IAsBJ,6BAA6B,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;CAWX;AAED,eAAe,gBAAgB,CAAA"}
@@ -8,32 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.BitcoinInterface = void 0;
13
16
  const providers_1 = require("@teleportdao/providers");
14
17
  const tools_1 = require("./utils/tools");
15
18
  const bitcoin_utils_1 = require("./bitcoin-utils");
16
- const bitcoin_interface_utils_1 = require("./bitcoin-interface-utils");
17
- class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
18
- constructor(connectionInfo, networkName) {
19
- var _a;
20
- super(networkName);
21
- if (connectionInfo.api.provider === "BlockStream") {
22
- this.apiProvider = new providers_1.bitcoin.BlockStream(this.testnet);
23
- }
24
- else {
25
- this.apiProvider = new providers_1.bitcoin.MempoolSpace(this.testnet);
26
- }
27
- if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
19
+ const bitcoin_interface_wallet_1 = __importDefault(require("./bitcoin-interface-wallet"));
20
+ class BitcoinInterface extends bitcoin_interface_wallet_1.default {
21
+ constructor(networkName, connectionInfo) {
22
+ super(networkName, connectionInfo);
23
+ if (connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.rpc) {
28
24
  this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo.rpc);
29
25
  }
30
- const utxoProvider = connectionInfo.utxo || connectionInfo.api;
31
- this.utxoProvider = providers_1.bitcoin.getUtxoProvider(utxoProvider, networkName);
32
- }
33
- getFeeRate(speed) {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- return new providers_1.bitcoin.MempoolSpace(this.testnet).getRecommendedFeeRate(speed);
36
- });
37
26
  }
38
27
  getLatestBlockNumber() {
39
28
  return __awaiter(this, void 0, void 0, function* () {
@@ -63,6 +52,11 @@ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
63
52
  return (this.rpcProvider || this.apiProvider).getRawTransaction(txId);
64
53
  });
65
54
  }
55
+ sendRawTransaction(txId) {
56
+ return __awaiter(this, void 0, void 0, function* () {
57
+ return (this.rpcProvider || this.apiProvider).sendRawTransaction(txId);
58
+ });
59
+ }
66
60
  getMerkleProof(txId, blockHash) {
67
61
  return __awaiter(this, void 0, void 0, function* () {
68
62
  if (!this.rpcProvider) {
@@ -96,79 +90,6 @@ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
96
90
  };
97
91
  });
98
92
  }
99
- getUtxo(address) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- if (!this.utxoProvider) {
102
- throw new Error("utxo provider not set");
103
- }
104
- return this.utxoProvider.getUtxos(address);
105
- });
106
- }
107
- getExtendedUtxo(signerInfo) {
108
- return __awaiter(this, void 0, void 0, function* () {
109
- let utxos = yield this.getUtxo(signerInfo.address);
110
- return utxos.map((tx) => ({
111
- hash: tx.txId,
112
- value: tx.value,
113
- index: tx.index,
114
- signerInfo,
115
- }));
116
- });
117
- }
118
- getAddressesUtxo(allAddresses) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- const chunkOfAddresses = [];
121
- const chunkLength = 20;
122
- for (let i = 0; i < allAddresses.length; i += chunkLength) {
123
- const tmp = allAddresses.slice(i, i + chunkLength);
124
- chunkOfAddresses.push(tmp);
125
- }
126
- let results = [];
127
- for (let addresses of chunkOfAddresses) {
128
- const allPromises = [];
129
- for (let address of addresses) {
130
- let promise = yield this.getUtxo(address);
131
- allPromises.push(promise);
132
- }
133
- let result = yield Promise.all(allPromises);
134
- if (result.flat(1).length === 0) {
135
- break;
136
- }
137
- results.push(result.flat(1));
138
- }
139
- return results.flat(1);
140
- });
141
- }
142
- getAddressesExtendedUtxo(signerInfos) {
143
- return __awaiter(this, void 0, void 0, function* () {
144
- const chunkOfAddresses = [];
145
- const chunkLength = 20;
146
- for (let i = 0; i < signerInfos.length; i += chunkLength) {
147
- const tmp = signerInfos.slice(i, i + chunkLength);
148
- chunkOfAddresses.push(tmp);
149
- }
150
- let results = [];
151
- for (let addresses of chunkOfAddresses) {
152
- const allPromises = [];
153
- for (let signerInfo of addresses) {
154
- let promise = yield this.getExtendedUtxo(signerInfo);
155
- allPromises.push(promise);
156
- }
157
- let result = yield Promise.all(allPromises);
158
- if (result.flat(1).length === 0) {
159
- break;
160
- }
161
- results.push(result.flat(1));
162
- }
163
- return results.flat(1);
164
- });
165
- }
166
- getBalance(address) {
167
- return __awaiter(this, void 0, void 0, function* () {
168
- let utxos = yield this.utxoProvider.getUtxos(address);
169
- return utxos.reduce((a, tx) => a + Number(tx.value), 0);
170
- });
171
- }
172
93
  getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
173
94
  return __awaiter(this, void 0, void 0, function* () {
174
95
  if (!this.rpcProvider) {