@ledgerhq/live-common 21.4.1-btcjs.4 → 21.5.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 (169) hide show
  1. package/lib/account/addAccounts.d.ts.map +1 -1
  2. package/lib/account/addAccounts.js +1 -2
  3. package/lib/account/addAccounts.js.map +1 -1
  4. package/lib/account/support.d.ts.map +1 -1
  5. package/lib/account/support.js +1 -24
  6. package/lib/account/support.js.map +1 -1
  7. package/lib/api/explorerConfig/index.js +15 -15
  8. package/lib/apps/polyfill.d.ts.map +1 -1
  9. package/lib/apps/polyfill.js +5 -0
  10. package/lib/apps/polyfill.js.map +1 -1
  11. package/lib/bridge/jsHelpers.d.ts +1 -6
  12. package/lib/bridge/jsHelpers.d.ts.map +1 -1
  13. package/lib/bridge/jsHelpers.js +3 -11
  14. package/lib/bridge/jsHelpers.js.map +1 -1
  15. package/lib/env.js +2 -2
  16. package/lib/families/bitcoin/account.d.ts.map +1 -1
  17. package/lib/families/bitcoin/account.js +2 -3
  18. package/lib/families/bitcoin/account.js.map +1 -1
  19. package/lib/families/bitcoin/datasets/bitcoin.js +6 -6
  20. package/lib/families/bitcoin/datasets/bitcoin.js.map +1 -1
  21. package/lib/families/bitcoin/datasets/litecoin.js +3 -3
  22. package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
  23. package/lib/families/bitcoin/serialization.d.ts +2 -2
  24. package/lib/families/bitcoin/serialization.d.ts.map +1 -1
  25. package/lib/families/bitcoin/serialization.js +4 -8
  26. package/lib/families/bitcoin/serialization.js.map +1 -1
  27. package/lib/families/bitcoin/specs.d.ts.map +1 -1
  28. package/lib/families/bitcoin/specs.js +5 -8
  29. package/lib/families/bitcoin/specs.js.map +1 -1
  30. package/lib/families/bitcoin/speculos-deviceActions.js +2 -2
  31. package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
  32. package/lib/families/bitcoin/test-dataset.js +1 -1
  33. package/lib/families/bitcoin/test-dataset.js.map +1 -1
  34. package/lib/families/bitcoin/transaction.d.ts +3 -3
  35. package/lib/families/bitcoin/transaction.d.ts.map +1 -1
  36. package/lib/families/bitcoin/transaction.js +61 -64
  37. package/lib/families/bitcoin/transaction.js.map +1 -1
  38. package/lib/families/bitcoin/types.d.ts +36 -66
  39. package/lib/families/bitcoin/types.d.ts.map +1 -1
  40. package/lib/families/bitcoin/types.js +1 -16
  41. package/lib/families/bitcoin/types.js.map +1 -1
  42. package/lib/families/crypto_org/logic.d.ts +1 -1
  43. package/lib/families/crypto_org/logic.js +7 -7
  44. package/lib/families/elrond/js-getTransactionStatus.d.ts.map +1 -1
  45. package/lib/families/elrond/js-getTransactionStatus.js +3 -0
  46. package/lib/families/elrond/js-getTransactionStatus.js.map +1 -1
  47. package/lib/families/elrond/js-signOperation.d.ts.map +1 -1
  48. package/lib/families/elrond/js-signOperation.js +10 -7
  49. package/lib/families/elrond/js-signOperation.js.map +1 -1
  50. package/lib/generated/bridge/js.d.ts +0 -4
  51. package/lib/generated/bridge/js.d.ts.map +1 -1
  52. package/lib/generated/bridge/js.js +18 -20
  53. package/lib/generated/bridge/js.js.map +1 -1
  54. package/lib/hw/actions/initSwap.js +2 -2
  55. package/lib/hw/actions/initSwap.js.map +1 -1
  56. package/lib/migrations/accounts-dataset.d.ts.map +1 -1
  57. package/lib/migrations/accounts-dataset.js +2 -4
  58. package/lib/migrations/accounts-dataset.js.map +1 -1
  59. package/lib/migrations/accounts.d.ts.map +1 -1
  60. package/lib/migrations/accounts.js +0 -17
  61. package/lib/migrations/accounts.js.map +1 -1
  62. package/lib/mock/account.d.ts.map +1 -1
  63. package/lib/mock/account.js +1 -2
  64. package/lib/mock/account.js.map +1 -1
  65. package/package.json +22 -22
  66. package/src/__tests__/__snapshots__/all.libcore.ts.snap +43 -6
  67. package/src/account/addAccounts.ts +1 -2
  68. package/src/account/support.ts +1 -24
  69. package/src/api/explorerConfig/index.ts +15 -15
  70. package/src/apps/polyfill.ts +5 -0
  71. package/src/bridge/jsHelpers.ts +2 -22
  72. package/src/env.ts +2 -2
  73. package/src/families/bitcoin/account.ts +1 -2
  74. package/src/families/bitcoin/datasets/bitcoin.ts +6 -6
  75. package/src/families/bitcoin/datasets/litecoin.ts +6 -6
  76. package/src/families/bitcoin/serialization.ts +0 -6
  77. package/src/families/bitcoin/specs.ts +2 -5
  78. package/src/families/bitcoin/speculos-deviceActions.ts +1 -1
  79. package/src/families/bitcoin/test-dataset.ts +1 -1
  80. package/src/families/bitcoin/transaction.ts +93 -98
  81. package/src/families/bitcoin/types.ts +37 -95
  82. package/src/families/crypto_org/logic.ts +6 -6
  83. package/src/families/elrond/js-getTransactionStatus.ts +5 -0
  84. package/src/families/elrond/js-signOperation.ts +1 -0
  85. package/src/generated/bridge/js.ts +0 -3
  86. package/src/hw/actions/initSwap.ts +2 -2
  87. package/src/migrations/accounts-dataset.ts +0 -3
  88. package/src/migrations/accounts.ts +0 -18
  89. package/src/mock/account.ts +0 -2
  90. package/lib/families/bitcoin/bridge/js.d.ts +0 -8
  91. package/lib/families/bitcoin/bridge/js.d.ts.map +0 -1
  92. package/lib/families/bitcoin/bridge/js.js +0 -149
  93. package/lib/families/bitcoin/bridge/js.js.map +0 -1
  94. package/lib/families/bitcoin/cache.d.ts +0 -28
  95. package/lib/families/bitcoin/cache.d.ts.map +0 -1
  96. package/lib/families/bitcoin/cache.js +0 -109
  97. package/lib/families/bitcoin/cache.js.map +0 -1
  98. package/lib/families/bitcoin/getAccountNetworkInfo.d.ts +0 -6
  99. package/lib/families/bitcoin/getAccountNetworkInfo.d.ts.map +0 -1
  100. package/lib/families/bitcoin/getAccountNetworkInfo.js +0 -124
  101. package/lib/families/bitcoin/getAccountNetworkInfo.js.map +0 -1
  102. package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts +0 -2
  103. package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts.map +0 -1
  104. package/lib/families/bitcoin/getAccountNetworkInfo.test.js +0 -71
  105. package/lib/families/bitcoin/getAccountNetworkInfo.test.js.map +0 -1
  106. package/lib/families/bitcoin/js-broadcast.d.ts +0 -11
  107. package/lib/families/bitcoin/js-broadcast.d.ts.map +0 -1
  108. package/lib/families/bitcoin/js-broadcast.js +0 -80
  109. package/lib/families/bitcoin/js-broadcast.js.map +0 -1
  110. package/lib/families/bitcoin/js-buildTransaction.d.ts +0 -5
  111. package/lib/families/bitcoin/js-buildTransaction.d.ts.map +0 -1
  112. package/lib/families/bitcoin/js-buildTransaction.js +0 -106
  113. package/lib/families/bitcoin/js-buildTransaction.js.map +0 -1
  114. package/lib/families/bitcoin/js-createTransaction.d.ts +0 -9
  115. package/lib/families/bitcoin/js-createTransaction.d.ts.map +0 -1
  116. package/lib/families/bitcoin/js-createTransaction.js +0 -27
  117. package/lib/families/bitcoin/js-createTransaction.js.map +0 -1
  118. package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts +0 -15
  119. package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts.map +0 -1
  120. package/lib/families/bitcoin/js-estimateMaxSpendable.js +0 -95
  121. package/lib/families/bitcoin/js-estimateMaxSpendable.js.map +0 -1
  122. package/lib/families/bitcoin/js-getFeesForTransaction.d.ts +0 -26
  123. package/lib/families/bitcoin/js-getFeesForTransaction.d.ts.map +0 -1
  124. package/lib/families/bitcoin/js-getFeesForTransaction.js +0 -100
  125. package/lib/families/bitcoin/js-getFeesForTransaction.js.map +0 -1
  126. package/lib/families/bitcoin/js-getTransactionStatus.d.ts +0 -5
  127. package/lib/families/bitcoin/js-getTransactionStatus.d.ts.map +0 -1
  128. package/lib/families/bitcoin/js-getTransactionStatus.js +0 -131
  129. package/lib/families/bitcoin/js-getTransactionStatus.js.map +0 -1
  130. package/lib/families/bitcoin/js-prepareTransaction.d.ts +0 -5
  131. package/lib/families/bitcoin/js-prepareTransaction.d.ts.map +0 -1
  132. package/lib/families/bitcoin/js-prepareTransaction.js +0 -80
  133. package/lib/families/bitcoin/js-prepareTransaction.js.map +0 -1
  134. package/lib/families/bitcoin/js-signOperation.d.ts +0 -10
  135. package/lib/families/bitcoin/js-signOperation.d.ts.map +0 -1
  136. package/lib/families/bitcoin/js-signOperation.js +0 -212
  137. package/lib/families/bitcoin/js-signOperation.js.map +0 -1
  138. package/lib/families/bitcoin/js-synchronisation.d.ts +0 -10
  139. package/lib/families/bitcoin/js-synchronisation.d.ts.map +0 -1
  140. package/lib/families/bitcoin/js-synchronisation.js +0 -411
  141. package/lib/families/bitcoin/js-synchronisation.js.map +0 -1
  142. package/lib/families/bitcoin/logic.d.ts +0 -34
  143. package/lib/families/bitcoin/logic.d.ts.map +0 -1
  144. package/lib/families/bitcoin/logic.js +0 -283
  145. package/lib/families/bitcoin/logic.js.map +0 -1
  146. package/lib/families/bitcoin/networks.d.ts +0 -3
  147. package/lib/families/bitcoin/networks.d.ts.map +0 -1
  148. package/lib/families/bitcoin/networks.js +0 -379
  149. package/lib/families/bitcoin/networks.js.map +0 -1
  150. package/lib/families/bitcoin/wallet.d.ts +0 -6
  151. package/lib/families/bitcoin/wallet.d.ts.map +0 -1
  152. package/lib/families/bitcoin/wallet.js +0 -66
  153. package/lib/families/bitcoin/wallet.js.map +0 -1
  154. package/src/families/bitcoin/bridge/js.ts +0 -76
  155. package/src/families/bitcoin/cache.ts +0 -76
  156. package/src/families/bitcoin/getAccountNetworkInfo.test.ts +0 -27
  157. package/src/families/bitcoin/getAccountNetworkInfo.ts +0 -61
  158. package/src/families/bitcoin/js-broadcast.ts +0 -30
  159. package/src/families/bitcoin/js-buildTransaction.ts +0 -57
  160. package/src/families/bitcoin/js-createTransaction.ts +0 -27
  161. package/src/families/bitcoin/js-estimateMaxSpendable.ts +0 -36
  162. package/src/families/bitcoin/js-getFeesForTransaction.ts +0 -59
  163. package/src/families/bitcoin/js-getTransactionStatus.ts +0 -118
  164. package/src/families/bitcoin/js-prepareTransaction.ts +0 -35
  165. package/src/families/bitcoin/js-signOperation.ts +0 -164
  166. package/src/families/bitcoin/js-synchronisation.ts +0 -362
  167. package/src/families/bitcoin/logic.ts +0 -243
  168. package/src/families/bitcoin/networks.ts +0 -360
  169. package/src/families/bitcoin/wallet.ts +0 -21
@@ -1 +0,0 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../src/families/bitcoin/networks.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { WalletLedger } from "@ledgerhq/wallet-btc";
2
- import type { Account } from "./../../types";
3
- export declare const getWalletAccount: (account: Account) => Promise<import("@ledgerhq/wallet-btc").Account>;
4
- declare const _default: WalletLedger;
5
- export default _default;
6
- //# sourceMappingURL=wallet.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../src/families/bitcoin/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,eAAO,MAAM,gBAAgB,YAAmB,OAAO,oDAOtD,CAAC;;AAUF,wBAA2B"}
@@ -1,66 +0,0 @@
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
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- exports.__esModule = true;
39
- exports.getWalletAccount = void 0;
40
- var wallet_btc_1 = require("@ledgerhq/wallet-btc");
41
- var wallet = null;
42
- var getWalletAccount = function (account) { return __awaiter(void 0, void 0, void 0, function () {
43
- var walletData, walletInstance;
44
- var _a;
45
- return __generator(this, function (_b) {
46
- switch (_b.label) {
47
- case 0:
48
- walletData = (_a = account.bitcoinResources) === null || _a === void 0 ? void 0 : _a.serializedData;
49
- if (!walletData) {
50
- throw new Error("bitcoin wallet account expected");
51
- }
52
- walletInstance = getWallet();
53
- return [4 /*yield*/, walletInstance.importFromSerializedAccount(walletData)];
54
- case 1: return [2 /*return*/, _b.sent()];
55
- }
56
- });
57
- }); };
58
- exports.getWalletAccount = getWalletAccount;
59
- var getWallet = function () {
60
- if (!wallet) {
61
- wallet = new wallet_btc_1.WalletLedger();
62
- }
63
- return wallet;
64
- };
65
- exports["default"] = getWallet();
66
- //# sourceMappingURL=wallet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../src/families/bitcoin/wallet.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoD;AAEpD,IAAI,MAAM,GAAwB,IAAI,CAAC;AAChC,IAAM,gBAAgB,GAAG,UAAO,OAAgB;;;;;;gBAC/C,UAAU,GAAG,MAAA,OAAO,CAAC,gBAAgB,0CAAE,cAAc,CAAC;gBAC5D,IAAI,CAAC,UAAU,EAAE;oBACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;iBACpD;gBACK,cAAc,GAAG,SAAS,EAAE,CAAC;gBAC5B,qBAAM,cAAc,CAAC,2BAA2B,CAAC,UAAU,CAAC,EAAA;oBAAnE,sBAAO,SAA4D,EAAC;;;KACrE,CAAC;AAPW,QAAA,gBAAgB,oBAO3B;AAEF,IAAM,SAAS,GAAG;IAChB,IAAI,CAAC,MAAM,EAAE;QACX,MAAM,GAAG,IAAI,yBAAY,EAAE,CAAC;KAC7B;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,qBAAe,SAAS,EAAE,CAAC"}
@@ -1,76 +0,0 @@
1
- import type { AccountBridge, CurrencyBridge } from "../../../types/bridge";
2
- import type { Transaction } from "../types";
3
- import { sync, scanAccounts } from "../js-synchronisation";
4
- import createTransaction from "../js-createTransaction";
5
- import prepareTransaction from "../js-prepareTransaction";
6
- import getTransactionStatus from "../js-getTransactionStatus";
7
- import estimateMaxSpendable from "../js-estimateMaxSpendable";
8
- import signOperation from "../js-signOperation";
9
- import broadcast from "../js-broadcast";
10
- import { calculateFees } from "./../cache";
11
- import { perCoinLogic } from "../logic";
12
- import { makeAccountBridgeReceive } from "../../../bridge/jsHelpers";
13
- import * as explorerConfigAPI from "../../../api/explorerConfig";
14
- const receive = makeAccountBridgeReceive({
15
- injectGetAddressParams: (account) => {
16
- const perCoin = perCoinLogic[account.currency.id];
17
-
18
- if (perCoin && perCoin.injectGetAddressParams) {
19
- return perCoin.injectGetAddressParams(account);
20
- }
21
- },
22
- });
23
-
24
- const updateTransaction = (t, patch) => {
25
- const updatedT = { ...t, ...patch };
26
-
27
- if (updatedT.recipient.toLowerCase().indexOf("bc1") === 0) {
28
- updatedT.recipient = updatedT.recipient.toLowerCase();
29
- }
30
-
31
- return updatedT;
32
- };
33
-
34
- const preload = async () => {
35
- const explorerConfig = await explorerConfigAPI.preload();
36
- return {
37
- explorerConfig,
38
- };
39
- };
40
-
41
- const hydrate = (maybeConfig: any) => {
42
- if (
43
- typeof maybeConfig === "object" &&
44
- maybeConfig &&
45
- maybeConfig.explorerConfig
46
- ) {
47
- explorerConfigAPI.hydrate(maybeConfig.explorerConfig);
48
- }
49
- };
50
-
51
- const currencyBridge: CurrencyBridge = {
52
- scanAccounts,
53
- preload,
54
- hydrate,
55
- };
56
- const accountBridge: AccountBridge<Transaction> = {
57
- estimateMaxSpendable,
58
- createTransaction,
59
- prepareTransaction,
60
- updateTransaction,
61
- getTransactionStatus,
62
- receive,
63
- sync,
64
- signOperation,
65
- broadcast: async ({ account, signedOperation }) => {
66
- calculateFees.reset();
67
- return broadcast({
68
- account,
69
- signedOperation,
70
- });
71
- },
72
- };
73
- export default {
74
- currencyBridge,
75
- accountBridge,
76
- };
@@ -1,76 +0,0 @@
1
- import { RecipientRequired } from "@ledgerhq/errors";
2
- import { makeLRUCache } from "./../../cache";
3
- import type { Account, CryptoCurrency } from "./../../types";
4
- import type { Transaction } from "./types";
5
- import getFeesForTransaction from "./js-getFeesForTransaction";
6
- import { isValidRecipient } from "./logic";
7
-
8
- const getCacheKeyForCalculateFees = ({
9
- a,
10
- t,
11
- }: {
12
- a: Account;
13
- t: Transaction;
14
- }) =>
15
- `${a.id}_${a.blockHeight || 0}_${t.amount.toString()}_${String(
16
- t.useAllAmount
17
- )}_${t.recipient}_${t.feePerByte ? t.feePerByte.toString() : ""}_${
18
- t.utxoStrategy.pickUnconfirmedRBF ? 1 : 0
19
- }_${t.utxoStrategy.strategy}_${String(t.rbf)}_${t.utxoStrategy.excludeUTXOs
20
- .map(({ hash, outputIndex }) => `${hash}@${outputIndex}`)
21
- .join("+")}`;
22
-
23
- export const calculateFees = makeLRUCache(
24
- async ({
25
- account,
26
- transaction,
27
- }: {
28
- account: Account;
29
- transaction: Transaction;
30
- }) =>
31
- getFeesForTransaction({
32
- account,
33
- transaction,
34
- }),
35
- ({ account, transaction }) =>
36
- getCacheKeyForCalculateFees({
37
- a: account,
38
- t: transaction,
39
- }),
40
- {
41
- maxAge: 5 * 60 * 1000, // 5 minutes
42
- }
43
- );
44
- export const validateRecipient: (
45
- arg0: CryptoCurrency,
46
- arg1: string | null | undefined
47
- ) => Promise<{
48
- recipientError: Error | null | undefined;
49
- recipientWarning: Error | null | undefined;
50
- }> = makeLRUCache(
51
- async (currency, recipient) => {
52
- if (!recipient) {
53
- return {
54
- recipientError: new RecipientRequired(""),
55
- recipientWarning: null,
56
- };
57
- }
58
-
59
- try {
60
- const recipientWarning = await isValidRecipient({
61
- currency,
62
- recipient,
63
- });
64
- return {
65
- recipientError: null,
66
- recipientWarning,
67
- };
68
- } catch (recipientError) {
69
- return {
70
- recipientError,
71
- recipientWarning: null,
72
- };
73
- }
74
- },
75
- (currency, recipient) => `${currency.id}_${recipient || ""}`
76
- );
@@ -1,27 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import { avoidDups } from "./getAccountNetworkInfo";
3
- test("avoidFeeDupsInFeePerByte [3,2,2] => [4,3,2]", async () => {
4
- expect(
5
- avoidDups([new BigNumber(3), new BigNumber(3), new BigNumber(2)])
6
- ).toEqual([new BigNumber(4), new BigNumber(3), new BigNumber(2)]);
7
- });
8
- test("avoidFeeDupsInFeePerByte [2,2,1] => [3,2,1]", async () => {
9
- expect(
10
- avoidDups([new BigNumber(2), new BigNumber(2), new BigNumber(1)])
11
- ).toEqual([new BigNumber(3), new BigNumber(2), new BigNumber(1)]);
12
- });
13
- test("avoidFeeDupsInFeePerByte [3,3,3] => [5,4,3]", async () => {
14
- expect(
15
- avoidDups([new BigNumber(3), new BigNumber(3), new BigNumber(3)])
16
- ).toEqual([new BigNumber(5), new BigNumber(4), new BigNumber(3)]);
17
- });
18
- test("avoidFeeDupsInFeePerByte [3,2,1] => [3,2,1]", async () => {
19
- expect(
20
- avoidDups([new BigNumber(3), new BigNumber(2), new BigNumber(1)])
21
- ).toEqual([new BigNumber(3), new BigNumber(2), new BigNumber(1)]);
22
- });
23
- test("avoidFeeDupsInFeePerByte [100,100,1] => [101,100,1]", async () => {
24
- expect(
25
- avoidDups([new BigNumber(100), new BigNumber(100), new BigNumber(1)])
26
- ).toEqual([new BigNumber(101), new BigNumber(100), new BigNumber(1)]);
27
- });
@@ -1,61 +0,0 @@
1
- import flow from "lodash/flow";
2
- import { BigNumber } from "bignumber.js";
3
- import type { Account } from "../../types";
4
- import type { NetworkInfo } from "./types";
5
- import { getWalletAccount } from "./wallet";
6
- const speeds = ["fast", "medium", "slow"];
7
- export function avoidDups(nums: Array<BigNumber>): Array<BigNumber> {
8
- nums = nums.slice(0);
9
-
10
- for (let i = nums.length - 2; i >= 0; i--) {
11
- if (nums[i + 1].gte(nums[i])) {
12
- nums[i] = nums[i + 1].plus(1);
13
- }
14
- }
15
-
16
- return nums;
17
- }
18
- export async function getAccountNetworkInfo(
19
- account: Account
20
- ): Promise<NetworkInfo> {
21
- const walletAccount = await getWalletAccount(account);
22
- const rawFees = await walletAccount.xpub.explorer.getFees();
23
- // Convoluted logic to convert from:
24
- // { "2": 2435, "3": 1241, "6": 1009, "last_updated": 1627973170 }
25
- // to:
26
- // { 2435, 1241, 1009 }
27
- const feesPerByte = flow([
28
- // Remove the 'last_updated' key
29
- Object.entries,
30
- (entries) => entries.filter(([key]) => !isNaN(key)),
31
- // Reconstruct the array with only the values
32
- Object.fromEntries,
33
- Object.values,
34
- // Safety against invalid data
35
- (f) => f.filter((f) => f != null && typeof f === "number"),
36
- // Normalize values
37
- (f) =>
38
- f.map((f) =>
39
- new BigNumber(f).div(1000).integerValue(BigNumber.ROUND_CEIL)
40
- ),
41
- avoidDups,
42
- ])(rawFees);
43
-
44
- if (feesPerByte.length !== 3) {
45
- throw new Error("cardinality of feesPerByte should be exactly 3");
46
- }
47
-
48
- const feeItems = {
49
- items: feesPerByte.map((feePerByte, i) => ({
50
- key: String(i),
51
- speed: speeds[i],
52
- feePerByte,
53
- })),
54
- defaultFeePerByte:
55
- feesPerByte[Math.floor(feesPerByte.length / 2)] || new BigNumber(0),
56
- };
57
- return {
58
- family: "bitcoin",
59
- feeItems,
60
- };
61
- }
@@ -1,30 +0,0 @@
1
- import { patchOperationWithHash } from "./../../operation";
2
- import type { Account, Operation, SignedOperation } from "./../../types";
3
- import wallet from "./wallet";
4
-
5
- /**
6
- * Broadcast a signed transaction
7
- * @param {signature: string, operation: string} signedOperation
8
- */
9
- const broadcast = async ({
10
- account,
11
- signedOperation,
12
- }: {
13
- account: Account;
14
- signedOperation: SignedOperation;
15
- }): Promise<Operation> => {
16
- const { signature, operation } = signedOperation;
17
- const walletData = account.bitcoinResources?.serializedData;
18
- if (!walletData) {
19
- throw new Error("bitcoin wallet account expected");
20
- }
21
- const walletAccount = await wallet.importFromSerializedAccount(walletData);
22
- try {
23
- const hash = await wallet.broadcastTx(walletAccount, signature);
24
- return patchOperationWithHash(operation, hash);
25
- } catch (error: any) {
26
- throw new Error(error); // TODO Improve error message for broadcast failure cases
27
- }
28
- };
29
-
30
- export default broadcast;
@@ -1,57 +0,0 @@
1
- import type { Account as WalletAccount } from "@ledgerhq/wallet-btc";
2
- import { CoinSelect, DeepFirst, Merge } from "@ledgerhq/wallet-btc";
3
- import type { TransactionInfo as WalletTxInfo } from "@ledgerhq/wallet-btc";
4
- import { FeeNotLoaded } from "@ledgerhq/errors";
5
-
6
- import type { Account } from "../../types";
7
- import type { Transaction, UtxoStrategy } from "./types";
8
- import { bitcoinPickingStrategy } from "./types";
9
- import wallet, { getWalletAccount } from "./wallet";
10
-
11
- const selectUtxoPickingStrategy = (
12
- walletAccount: WalletAccount,
13
- utxoStrategy: UtxoStrategy
14
- ) => {
15
- const handler = {
16
- [bitcoinPickingStrategy.MERGE_OUTPUTS]: Merge,
17
- [bitcoinPickingStrategy.DEEP_OUTPUTS_FIRST]: DeepFirst,
18
- [bitcoinPickingStrategy.OPTIMIZE_SIZE]: CoinSelect,
19
- }[utxoStrategy.strategy];
20
- if (!handler) throw new Error("Unsupported Bitcoin UTXO picking strategy");
21
-
22
- return new handler(
23
- walletAccount.xpub.crypto,
24
- walletAccount.xpub.derivationMode,
25
- utxoStrategy.excludeUTXOs
26
- );
27
- };
28
-
29
- export const buildTransaction = async (
30
- account: Account,
31
- transaction: Transaction
32
- ): Promise<WalletTxInfo> => {
33
- if (!transaction.feePerByte) {
34
- throw new FeeNotLoaded();
35
- }
36
- const walletAccount = await getWalletAccount(account);
37
- const utxoPickingStrategy = selectUtxoPickingStrategy(
38
- walletAccount,
39
- transaction.utxoStrategy
40
- );
41
-
42
- const maxSpendable = await wallet.estimateAccountMaxSpendable(
43
- walletAccount,
44
- transaction.feePerByte.toNumber() //!\ wallet-btc handles fees as JS number
45
- );
46
-
47
- const txInfo = await wallet.buildAccountTx({
48
- fromAccount: walletAccount,
49
- dest: transaction.recipient,
50
- amount: transaction.useAllAmount ? maxSpendable : transaction.amount,
51
- feePerByte: transaction.feePerByte.toNumber(), //!\ wallet-btc handles fees as JS number
52
- utxoPickingStrategy,
53
- // Definition of replaceable, per the standard: https://github.com/bitcoin/bips/blob/61ccc84930051e5b4a99926510d0db4a8475a4e6/bip-0125.mediawiki#summary
54
- sequence: transaction.rbf ? 0 : 0xffffffff,
55
- });
56
- return txInfo;
57
- };
@@ -1,27 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import type { Transaction } from "./types";
3
-
4
- /**
5
- * Create an empty transaction
6
- *
7
- * @returns {Transaction}
8
- */
9
- const createTransaction = (): Transaction => {
10
- return {
11
- family: "bitcoin",
12
- amount: new BigNumber(0),
13
- utxoStrategy: {
14
- strategy: 0,
15
- pickUnconfirmedRBF: false,
16
- excludeUTXOs: [],
17
- },
18
- recipient: "",
19
- rbf: false,
20
- feePerByte: null,
21
- networkInfo: null,
22
- useAllAmount: false,
23
- feesStrategy: "medium",
24
- };
25
- };
26
-
27
- export default createTransaction;