@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
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,sDAAmE;AACnE,yCAA8C;AAC9C,mDAIwB;AACxB,0FAA+D;AAG/D,MAAa,gBAAiB,SAAQ,kCAAsB;IAG1D,YAAY,WAAmB,EAAE,cAA+C;QAC9E,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QAClC,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,EAAE;YACvB,IAAI,CAAC,WAAW,GAAG,mBAAe,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;SACtE;IACH,CAAC;IAEK,oBAAoB;;YACxB,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,oBAAoB,EAAE,CAAA;YACtF,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,YAAY,CAAC,WAAmB;;YACpC,IAAI,UAAU,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CACzC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,WAAW,CAAC,CACjE,CAAA;YACD,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAEK,iBAAiB,CAAC,WAAmB;;YACzC,IAAI,SAAS,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CACxC,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CACtE,CAAA;YACD,OAAO,SAAS,CAAA;QAClB,CAAC;KAAA;IAEK,cAAc,CAAC,IAAY;;YAC/B,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACpE,CAAC;KAAA;IAEK,iBAAiB,CAAC,IAAY;;YAClC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;QACvE,CAAC;KAAA;IAEK,kBAAkB,CAAC,IAAY;;YACnC,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACxE,CAAC;KAAA;IAEK,cAAc,CAClB,IAAY,EACZ,SAAiB;;YAKjB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;aAC7C;YACD,IAAI,KAAK,GAAG,MAAM,IAAA,sBAAc,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAY,CAAC,sBAAsB,CAAC,SAAS,CAAC,EAAE;gBAC1F,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,IAAI;aACjB,CAAC,CAAA;YACF,IAAI,KAAK,GAAG,IAAA,oCAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAC7C,OAAO,KAAK,CAAA;QACd,CAAC;KAAA;IAEK,eAAe,CAAC,WASrB;;YACC,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;YAExF,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,CAAA;YACrC,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,CAAA;YACzC,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;gBACvD,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;gBACxD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;gBAC5B,WAAW,GAAG,MAAM,CAAC,WAAW,CAAA;aACjC;YACD,IAAI,QAAQ,GAAG,IAAA,mCAAmB,EAAC,cAAc,CAAC,CAAA;YAClD,IAAI,WAAW,GACb,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,SAAU,CAAC,CAAC,CAAA;YAEtF,OAAO;gBACL,QAAQ;gBACR,WAAW;gBACX,WAAW,EAAE,WAAY;gBACzB,SAAS,EAAE,SAAU;aACtB,CAAA;QACH,CAAC;KAAA;IAGK,oBAAoB,CACxB,SAAmB,EACnB,WAAmB,EACnB,aAMM,EAAE;;YAER,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;aACxC;YACD,IAAI,WAAW,GAAG,MAAM,IAAA,sBAAc,EACpC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAY,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,EAC7D;gBACE,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,IAAI;aACjB,CACF,CAAA;YACD,OAAO,IAAA,2DAA2C,EAChD,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAA;QACH,CAAC;KAAA;IAGK,6BAA6B,CACjC,SAAmB,EACnB,gBAAwB,EACxB,cAAsB,EACtB,aAMM,EAAE;;YAER,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,KAAK,IAAI,WAAW,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;gBAC7F,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBACpF,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;aACzD;YACD,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;KAAA;CACF;AA/ID,4CA+IC;AAED,kBAAe,gBAAgB,CAAA"}
@@ -1,10 +1,11 @@
1
1
  /// <reference types="node" />
2
2
  import { Network, Payment } from "bitcoinjs-lib";
3
3
  import { BitcoinTransactionBuilder } from "./transaction-builder";
4
- import type { BitcoinConnectionInfo } from "./type";
5
- import type { ExtendedUtxo, SignerInfo, Target } from "./transaction-builder/transaction-builder";
4
+ import type { RPCConnectionInfo, UtxoConnectionInfo } from "./type";
5
+ import type { ExtendedUtxo, SignerInfo, Target, TargetAddress } from "./transaction-builder/transaction-builder";
6
6
  import BitcoinSign from "./sign/sign-transaction";
7
- import { BitcoinInterface } from "./bitcoin-interface";
7
+ import { BitcoinInterfaceWallet } from "./bitcoin-interface-wallet";
8
+ export type FeeRateType = "normal" | "slow" | "fast" | number;
8
9
  export declare class BitcoinBaseWallet {
9
10
  network: Network;
10
11
  hdWalletPath: {
@@ -17,7 +18,7 @@ export declare class BitcoinBaseWallet {
17
18
  p2tr: string;
18
19
  };
19
20
  transactionBuilder: BitcoinTransactionBuilder;
20
- btcInterface: BitcoinInterface;
21
+ btcInterface: BitcoinInterfaceWallet;
21
22
  signer: BitcoinSign;
22
23
  currentAccount?: string;
23
24
  currentAccountType?: string;
@@ -26,51 +27,73 @@ export declare class BitcoinBaseWallet {
26
27
  publicKeys?: Buffer[];
27
28
  addressObj?: Payment;
28
29
  bitcoinAddress: string | undefined;
29
- constructor(networkName: string, connectionInfo?: BitcoinConnectionInfo);
30
+ constructor(networkName: string, connectionInfo?: {
31
+ utxo?: UtxoConnectionInfo;
32
+ rpc?: RPCConnectionInfo;
33
+ });
34
+ static satoshiToBTC(satoshi: number | string): string;
35
+ static btcToSatoshi(btc: number | string): string;
30
36
  get signerInfo(): {
31
37
  address: string;
32
38
  publicKey: string;
33
39
  addressType: string;
34
40
  } | undefined;
35
- createTransactionInputsAndOutputs({ targets, extendedUtxo, changeAddress, feeRate, }: {
36
- targets: Target[];
37
- extendedUtxo: ExtendedUtxo[];
38
- changeAddress: string;
39
- feeRate: number;
40
- fullAmount?: boolean;
41
- }): {
42
- inputs: ExtendedUtxo[];
43
- fee: number;
44
- outputs: Target[];
45
- change: import("./transaction-builder").ChangeTarget | undefined;
46
- };
47
- checkBalanceIsSufficient({ targets, extendedUtxo, changeAddress, feeRate, fullAmount, }: {
48
- targets: Target[];
49
- extendedUtxo: ExtendedUtxo[];
50
- changeAddress: string;
51
- feeRate: number;
52
- fullAmount?: boolean;
53
- }): boolean;
54
- setMultiSigAccount(accountType?: string): void;
55
41
  setAccountPrivateKey(privateKeyHex: string): void;
42
+ setAccountType(accountType?: string): string;
56
43
  setAccountPrivateKeyByMnemonic({ mnemonic, mnemonicPassword, index, walletNumber, addressType, }: {
57
44
  mnemonic: string;
58
45
  mnemonicPassword?: string;
59
46
  index?: number;
60
47
  walletNumber?: number;
61
48
  addressType?: string;
62
- }): string | undefined;
63
- setAccountPublicKey(publicKeyHex: string): void;
64
- setAccount(accountType?: string): string | undefined;
49
+ }): string;
50
+ checkBalanceIsSufficient({ targets, extendedUtxo, changeAddress, feeRate, }: {
51
+ targets: Target[];
52
+ extendedUtxo: ExtendedUtxo[];
53
+ changeAddress: string;
54
+ feeRate: number;
55
+ }): boolean;
65
56
  getExtendedUtxo(input: SignerInfo): Promise<{
66
- signerInfo: SignerInfo;
67
57
  hash: string;
68
58
  value: number;
69
59
  index: number;
60
+ signerInfo: SignerInfo;
70
61
  }[]>;
71
- send(receiverAddress: string, amount: string | number, fullAmount?: boolean, speed?: "normal" | "slow" | "fast"): Promise<string>;
72
- sendSignedPsbt(signedPsbt: string): Promise<string>;
62
+ getFeeRate(feeRate?: FeeRateType): Promise<number>;
63
+ sendBTC(receiverAddress: string, amountInSatoshi: number | "all", fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<string>;
64
+ sendBTCMultipleAddress(receivers: TargetAddress[], fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<string>;
65
+ sendBTCToMultipleAddressUnsignedTx(receivers: TargetAddress[], signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[], fullAmount?: boolean): Promise<{
66
+ unsignedTransaction: string;
67
+ outputs: Target[];
68
+ inputs: {
69
+ hash: string;
70
+ value: number;
71
+ index: number;
72
+ signerInfo: SignerInfo;
73
+ }[];
74
+ fee: number;
75
+ change: import("./transaction-builder").ChangeTarget | undefined;
76
+ possibleTxId: string | undefined;
77
+ }>;
78
+ sendBTCUnsignedTx(receiver: string, amountInSatoshi: number | "all", signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<{
79
+ unsignedTransaction: string;
80
+ outputs: Target[];
81
+ inputs: {
82
+ hash: string;
83
+ value: number;
84
+ index: number;
85
+ signerInfo: SignerInfo;
86
+ }[];
87
+ fee: number;
88
+ change: import("./transaction-builder").ChangeTarget | undefined;
89
+ possibleTxId: string | undefined;
90
+ }>;
73
91
  sendSignedTx(signedTx: string): Promise<string>;
92
+ sendSignedPsbt(signedPsbt: string): Promise<string>;
93
+ sendSignedPsbtWithRetry(signedPsbt: string, { maxTries, retrySleep }?: {
94
+ maxTries?: number | undefined;
95
+ retrySleep?: number | undefined;
96
+ }): Promise<string>;
74
97
  sendMultiSignedPsbt(signedPsbts?: string[]): Promise<string>;
75
98
  increaseTransactionFeeUnsignedPsbt(txId: string, signerInfos: SignerInfo[], extraExtendedUtxo: ExtendedUtxo[], changeAddress: string, staticFeeRate?: number): Promise<{
76
99
  unsignedTransaction: string;
@@ -83,6 +106,7 @@ export declare class BitcoinBaseWallet {
83
106
  }[];
84
107
  fee: number;
85
108
  change: import("./transaction-builder").ChangeTarget | undefined;
109
+ possibleTxId: string | undefined;
86
110
  }>;
87
111
  }
88
112
  //# sourceMappingURL=bitcoin-wallet-base.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-wallet-base.d.ts","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-wallet-base.d.ts","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"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"}
@@ -45,23 +45,25 @@ const transaction_builder_1 = require("./transaction-builder");
45
45
  const sign_transaction_1 = __importDefault(require("./sign/sign-transaction"));
46
46
  const bitcoin_utils_1 = require("./bitcoin-utils");
47
47
  const networks_1 = __importDefault(require("./utils/networks"));
48
+ const tools_1 = require("./utils/tools");
48
49
  const bip32 = (0, bip32_1.default)(secp256k1_1.default);
49
50
  class BitcoinBaseWallet {
50
- constructor(networkName, connectionInfo = {
51
- api: {
52
- provider: "BlockStream",
53
- },
54
- }) {
51
+ constructor(networkName, connectionInfo) {
55
52
  this.network = networks_1.default[networkName];
56
53
  this.hdWalletPath = configs_1.hdWalletPath.bitcoin;
57
- this.transactionBuilder = new transaction_builder_1.BitcoinTransactionBuilder(connectionInfo, networkName, this.network);
54
+ this.transactionBuilder = new transaction_builder_1.BitcoinTransactionBuilder(networkName, this.network, connectionInfo);
58
55
  this.btcInterface = this.transactionBuilder.btcInterface;
59
56
  this.signer = new sign_transaction_1.default(this.network);
60
57
  this.currentAccount = undefined;
61
58
  this.currentAccountType = undefined;
62
59
  this.privateKey = undefined;
63
60
  this.publicKey = undefined;
64
- this.publicKeys = [];
61
+ }
62
+ static satoshiToBTC(satoshi) {
63
+ return new bignumber_js_1.default(satoshi).dividedBy(1e8).toString();
64
+ }
65
+ static btcToSatoshi(btc) {
66
+ return new bignumber_js_1.default(btc).multipliedBy(1e8).toFixed(0);
65
67
  }
66
68
  get signerInfo() {
67
69
  return this.privateKey
@@ -72,44 +74,25 @@ class BitcoinBaseWallet {
72
74
  }
73
75
  : undefined;
74
76
  }
75
- createTransactionInputsAndOutputs({ targets, extendedUtxo, changeAddress, feeRate, }) {
76
- return this.transactionBuilder.helperHandleInputsAndOutputs({
77
- targets,
78
- extendedUtxo,
79
- changeObject: {
80
- address: changeAddress,
81
- },
82
- feeRate,
83
- });
84
- }
85
- checkBalanceIsSufficient({ targets, extendedUtxo, changeAddress, feeRate, fullAmount = false, }) {
86
- try {
87
- this.transactionBuilder.helperHandleInputsAndOutputs({
88
- targets,
89
- extendedUtxo,
90
- changeObject: {
91
- address: changeAddress,
92
- },
93
- feeRate,
94
- });
95
- return true;
96
- }
97
- catch (err) {
98
- return false;
99
- }
100
- }
101
- setMultiSigAccount(accountType = "p2sh") {
102
- throw new Error("not supported yet");
103
- switch (accountType) {
104
- default:
105
- throw new Error("accountType is incorrect");
106
- }
107
- this.currentAccountType = accountType;
108
- }
109
77
  setAccountPrivateKey(privateKeyHex) {
110
78
  this.privateKey = Buffer.from(privateKeyHex, "hex");
111
79
  let publicKey = (0, bitcoin_utils_1.getPubKeyFromPrivateKeyHex)(privateKeyHex, this.network);
112
80
  this.publicKey = publicKey;
81
+ this.setAccountType("p2wpkh");
82
+ }
83
+ setAccountType(accountType = "p2pkh") {
84
+ if (!this.publicKey) {
85
+ throw new Error("account not initialized");
86
+ }
87
+ let addressObj = this.transactionBuilder.createAddressObject({
88
+ addressType: accountType,
89
+ publicKey: this.publicKey,
90
+ });
91
+ this.currentAccount = addressObj.address;
92
+ this.currentAccountType = accountType;
93
+ this.addressObj = addressObj;
94
+ this.bitcoinAddress = addressObj.address;
95
+ return addressObj.address;
113
96
  }
114
97
  setAccountPrivateKeyByMnemonic({ mnemonic, mnemonicPassword = "", index = 0, walletNumber = 0, addressType = "p2sh-p2wpkh", }) {
115
98
  if (!bip39.validateMnemonic(mnemonic))
@@ -124,78 +107,116 @@ class BitcoinBaseWallet {
124
107
  const account = node.derivePath(path);
125
108
  const userKeyPair = account.derive(index);
126
109
  this.setAccountPrivateKey(userKeyPair.privateKey.toString("hex"));
127
- return this.setAccount(addressType);
128
- }
129
- setAccountPublicKey(publicKeyHex) {
130
- this.publicKey = Buffer.from(publicKeyHex, "hex");
110
+ return this.setAccountType(addressType);
131
111
  }
132
- setAccount(accountType = "p2pkh") {
133
- if (!this.publicKey) {
134
- throw new Error("account not initialized");
112
+ checkBalanceIsSufficient({ targets, extendedUtxo, changeAddress, feeRate, }) {
113
+ try {
114
+ this.transactionBuilder.helperHandleInputsAndOutputs({
115
+ targets,
116
+ extendedUtxo,
117
+ changeObject: {
118
+ address: changeAddress,
119
+ },
120
+ feeRate,
121
+ });
122
+ return true;
123
+ }
124
+ catch (err) {
125
+ return false;
135
126
  }
136
- let addressObj = this.transactionBuilder.createAddressObject({
137
- addressType: accountType,
138
- publicKey: this.publicKey,
139
- });
140
- this.currentAccount = addressObj.address;
141
- this.currentAccountType = accountType;
142
- this.addressObj = addressObj;
143
- this.bitcoinAddress = addressObj.address;
144
- return addressObj.address;
145
127
  }
146
128
  getExtendedUtxo(input) {
147
129
  return __awaiter(this, void 0, void 0, function* () {
148
- return this.transactionBuilder.getExtendedUtxo(input);
130
+ return this.btcInterface.getExtendedUtxo(input);
131
+ });
132
+ }
133
+ getFeeRate(feeRate = "normal") {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ if (feeRate === 0)
136
+ throw new Error("feeRate should be greater than 0");
137
+ if (+feeRate > 0)
138
+ return +feeRate;
139
+ if (typeof feeRate === "string")
140
+ return this.btcInterface.getFeeRate(feeRate);
141
+ throw new Error("incorrect feeRate");
149
142
  });
150
143
  }
151
- send(receiverAddress, amount, fullAmount = false, speed = "normal") {
144
+ sendBTC(receiverAddress, amountInSatoshi, fee = "normal", staticExtendedUtxo) {
152
145
  return __awaiter(this, void 0, void 0, function* () {
153
- if (!this.currentAccount || !this.currentAccountType || !this.publicKey || !this.privateKey) {
146
+ if (!this.signerInfo || !this.privateKey) {
154
147
  throw new Error("account not initialized");
155
148
  }
156
- let extendedUtxo = yield this.getExtendedUtxo({
157
- address: this.currentAccount,
158
- addressType: this.currentAccountType,
159
- publicKey: this.publicKey.toString("hex"),
160
- });
161
- if (!fullAmount && (0, bignumber_js_1.default)(amount).isEqualTo(0))
162
- throw new Error("incorrect amount. amount should be in satoshi");
163
- let feeRate = yield this.transactionBuilder._getFeeRate(speed);
149
+ const unsignedTx = yield this.sendBTCUnsignedTx(receiverAddress, amountInSatoshi, this.signerInfo, fee, staticExtendedUtxo);
150
+ let signedPsbt = yield this.signer.signPsbt(unsignedTx, this.privateKey);
151
+ let signedTx = this.signer.finalizePsbts([signedPsbt]);
152
+ let txId = yield this.sendSignedTx(signedTx);
153
+ return txId;
154
+ });
155
+ }
156
+ sendBTCMultipleAddress(receivers, fee = "normal", staticExtendedUtxo) {
157
+ return __awaiter(this, void 0, void 0, function* () {
158
+ if (!this.signerInfo || !this.privateKey) {
159
+ throw new Error("account not initialized");
160
+ }
161
+ const unsignedTx = yield this.sendBTCToMultipleAddressUnsignedTx(receivers, this.signerInfo, fee, staticExtendedUtxo);
162
+ let signedPsbt = yield this.signer.signPsbt(unsignedTx, this.privateKey);
163
+ let signedTx = this.signer.finalizePsbts([signedPsbt]);
164
+ let txId = yield this.sendSignedTx(signedTx);
165
+ return txId;
166
+ });
167
+ }
168
+ sendBTCToMultipleAddressUnsignedTx(receivers, signerInfo, fee = "normal", staticExtendedUtxo, fullAmount = false) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ if (!fullAmount) {
171
+ receivers.forEach((r) => {
172
+ if ((0, bignumber_js_1.default)(r.value).isEqualTo(0))
173
+ throw new Error("incorrect amount");
174
+ });
175
+ }
176
+ else if (receivers.length > 1)
177
+ throw new Error("fullAmount only support one receiver");
178
+ let feeRate = yield this.getFeeRate(fee);
179
+ let extendedUtxo = staticExtendedUtxo || (yield this.getExtendedUtxo(signerInfo));
164
180
  let unsignedTx = yield this.transactionBuilder.processUnsignedTransaction({
165
181
  extendedUtxo,
166
- targets: [
167
- {
168
- address: receiverAddress,
169
- value: +amount,
170
- },
171
- ],
172
- changeAddress: this.currentAccount,
182
+ targets: receivers,
183
+ changeAddress: signerInfo.address,
173
184
  feeRate,
174
185
  fullAmount,
175
186
  });
176
- let signedPsbt = yield this.signer.signPsbt(unsignedTx, this.privateKey);
177
- let signedTx = this.signer.finalizePsbts([signedPsbt]);
178
- let txId = yield this.transactionBuilder.sendTx(signedTx);
187
+ return unsignedTx;
188
+ });
189
+ }
190
+ sendBTCUnsignedTx(receiver, amountInSatoshi, signerInfo, fee = "normal", staticExtendedUtxo) {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ return this.sendBTCToMultipleAddressUnsignedTx([{ address: receiver, value: amountInSatoshi === "all" ? 0 : amountInSatoshi }], signerInfo, fee, staticExtendedUtxo, amountInSatoshi === "all");
193
+ });
194
+ }
195
+ sendSignedTx(signedTx) {
196
+ return __awaiter(this, void 0, void 0, function* () {
197
+ let txId = yield this.btcInterface.sendRawTransaction(signedTx);
179
198
  return txId;
180
199
  });
181
200
  }
182
201
  sendSignedPsbt(signedPsbt) {
183
202
  return __awaiter(this, void 0, void 0, function* () {
184
203
  let signedTx = this.signer.finalizePsbts([signedPsbt]);
185
- let txId = yield this.transactionBuilder.sendTx(signedTx);
204
+ let txId = yield this.sendSignedTx(signedTx);
186
205
  return txId;
187
206
  });
188
207
  }
189
- sendSignedTx(signedTx) {
208
+ sendSignedPsbtWithRetry(signedPsbt, { maxTries = 5, retrySleep = 5000 } = {}) {
190
209
  return __awaiter(this, void 0, void 0, function* () {
191
- let txId = yield this.transactionBuilder.sendTx(signedTx);
192
- return txId;
210
+ return (0, tools_1.runWithRetries)(() => this.sendSignedPsbt(signedPsbt), {
211
+ retrySleep,
212
+ maxTries,
213
+ });
193
214
  });
194
215
  }
195
216
  sendMultiSignedPsbt(signedPsbts = []) {
196
217
  return __awaiter(this, void 0, void 0, function* () {
197
218
  let signedTx = this.signer.finalizePsbts(signedPsbts);
198
- let txId = yield this.transactionBuilder.sendTx(signedTx);
219
+ let txId = yield this.btcInterface.sendRawTransaction(signedTx);
199
220
  return txId;
200
221
  });
201
222
  }
@@ -212,7 +233,7 @@ class BitcoinBaseWallet {
212
233
  throw new Error("signerInfo not match");
213
234
  }
214
235
  let changeIndex = transaction.vout.findIndex((vo) => transaction.vin.find((vi) => vo.address === vi.address || vo.address === changeAddress));
215
- const feeRate = staticFeeRate || (yield this.transactionBuilder._getFeeRate("fast"));
236
+ const feeRate = staticFeeRate || (yield this.btcInterface.getFeeRate("fast"));
216
237
  let targets = transaction.vout
217
238
  .filter((_, index) => index !== changeIndex)
218
239
  .map((vo) => vo.address
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-wallet-base.js","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-wallet-base.js","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"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"}