@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.
- package/lib/account/addAccounts.d.ts.map +1 -1
- package/lib/account/addAccounts.js +1 -2
- package/lib/account/addAccounts.js.map +1 -1
- package/lib/account/support.d.ts.map +1 -1
- package/lib/account/support.js +1 -24
- package/lib/account/support.js.map +1 -1
- package/lib/api/explorerConfig/index.js +15 -15
- package/lib/apps/polyfill.d.ts.map +1 -1
- package/lib/apps/polyfill.js +5 -0
- package/lib/apps/polyfill.js.map +1 -1
- package/lib/bridge/jsHelpers.d.ts +1 -6
- package/lib/bridge/jsHelpers.d.ts.map +1 -1
- package/lib/bridge/jsHelpers.js +3 -11
- package/lib/bridge/jsHelpers.js.map +1 -1
- package/lib/env.js +2 -2
- package/lib/families/bitcoin/account.d.ts.map +1 -1
- package/lib/families/bitcoin/account.js +2 -3
- package/lib/families/bitcoin/account.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.js +6 -6
- package/lib/families/bitcoin/datasets/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.js +3 -3
- package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
- package/lib/families/bitcoin/serialization.d.ts +2 -2
- package/lib/families/bitcoin/serialization.d.ts.map +1 -1
- package/lib/families/bitcoin/serialization.js +4 -8
- package/lib/families/bitcoin/serialization.js.map +1 -1
- package/lib/families/bitcoin/specs.d.ts.map +1 -1
- package/lib/families/bitcoin/specs.js +5 -8
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/speculos-deviceActions.js +2 -2
- package/lib/families/bitcoin/speculos-deviceActions.js.map +1 -1
- package/lib/families/bitcoin/test-dataset.js +1 -1
- package/lib/families/bitcoin/test-dataset.js.map +1 -1
- package/lib/families/bitcoin/transaction.d.ts +3 -3
- package/lib/families/bitcoin/transaction.d.ts.map +1 -1
- package/lib/families/bitcoin/transaction.js +61 -64
- package/lib/families/bitcoin/transaction.js.map +1 -1
- package/lib/families/bitcoin/types.d.ts +36 -66
- package/lib/families/bitcoin/types.d.ts.map +1 -1
- package/lib/families/bitcoin/types.js +1 -16
- package/lib/families/bitcoin/types.js.map +1 -1
- package/lib/families/crypto_org/logic.d.ts +1 -1
- package/lib/families/crypto_org/logic.js +7 -7
- package/lib/families/elrond/js-getTransactionStatus.d.ts.map +1 -1
- package/lib/families/elrond/js-getTransactionStatus.js +3 -0
- package/lib/families/elrond/js-getTransactionStatus.js.map +1 -1
- package/lib/families/elrond/js-signOperation.d.ts.map +1 -1
- package/lib/families/elrond/js-signOperation.js +10 -7
- package/lib/families/elrond/js-signOperation.js.map +1 -1
- package/lib/generated/bridge/js.d.ts +0 -4
- package/lib/generated/bridge/js.d.ts.map +1 -1
- package/lib/generated/bridge/js.js +18 -20
- package/lib/generated/bridge/js.js.map +1 -1
- package/lib/hw/actions/initSwap.js +2 -2
- package/lib/hw/actions/initSwap.js.map +1 -1
- package/lib/migrations/accounts-dataset.d.ts.map +1 -1
- package/lib/migrations/accounts-dataset.js +2 -4
- package/lib/migrations/accounts-dataset.js.map +1 -1
- package/lib/migrations/accounts.d.ts.map +1 -1
- package/lib/migrations/accounts.js +0 -17
- package/lib/migrations/accounts.js.map +1 -1
- package/lib/mock/account.d.ts.map +1 -1
- package/lib/mock/account.js +1 -2
- package/lib/mock/account.js.map +1 -1
- package/package.json +22 -22
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +43 -6
- package/src/account/addAccounts.ts +1 -2
- package/src/account/support.ts +1 -24
- package/src/api/explorerConfig/index.ts +15 -15
- package/src/apps/polyfill.ts +5 -0
- package/src/bridge/jsHelpers.ts +2 -22
- package/src/env.ts +2 -2
- package/src/families/bitcoin/account.ts +1 -2
- package/src/families/bitcoin/datasets/bitcoin.ts +6 -6
- package/src/families/bitcoin/datasets/litecoin.ts +6 -6
- package/src/families/bitcoin/serialization.ts +0 -6
- package/src/families/bitcoin/specs.ts +2 -5
- package/src/families/bitcoin/speculos-deviceActions.ts +1 -1
- package/src/families/bitcoin/test-dataset.ts +1 -1
- package/src/families/bitcoin/transaction.ts +93 -98
- package/src/families/bitcoin/types.ts +37 -95
- package/src/families/crypto_org/logic.ts +6 -6
- package/src/families/elrond/js-getTransactionStatus.ts +5 -0
- package/src/families/elrond/js-signOperation.ts +1 -0
- package/src/generated/bridge/js.ts +0 -3
- package/src/hw/actions/initSwap.ts +2 -2
- package/src/migrations/accounts-dataset.ts +0 -3
- package/src/migrations/accounts.ts +0 -18
- package/src/mock/account.ts +0 -2
- package/lib/families/bitcoin/bridge/js.d.ts +0 -8
- package/lib/families/bitcoin/bridge/js.d.ts.map +0 -1
- package/lib/families/bitcoin/bridge/js.js +0 -149
- package/lib/families/bitcoin/bridge/js.js.map +0 -1
- package/lib/families/bitcoin/cache.d.ts +0 -28
- package/lib/families/bitcoin/cache.d.ts.map +0 -1
- package/lib/families/bitcoin/cache.js +0 -109
- package/lib/families/bitcoin/cache.js.map +0 -1
- package/lib/families/bitcoin/getAccountNetworkInfo.d.ts +0 -6
- package/lib/families/bitcoin/getAccountNetworkInfo.d.ts.map +0 -1
- package/lib/families/bitcoin/getAccountNetworkInfo.js +0 -124
- package/lib/families/bitcoin/getAccountNetworkInfo.js.map +0 -1
- package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts +0 -2
- package/lib/families/bitcoin/getAccountNetworkInfo.test.d.ts.map +0 -1
- package/lib/families/bitcoin/getAccountNetworkInfo.test.js +0 -71
- package/lib/families/bitcoin/getAccountNetworkInfo.test.js.map +0 -1
- package/lib/families/bitcoin/js-broadcast.d.ts +0 -11
- package/lib/families/bitcoin/js-broadcast.d.ts.map +0 -1
- package/lib/families/bitcoin/js-broadcast.js +0 -80
- package/lib/families/bitcoin/js-broadcast.js.map +0 -1
- package/lib/families/bitcoin/js-buildTransaction.d.ts +0 -5
- package/lib/families/bitcoin/js-buildTransaction.d.ts.map +0 -1
- package/lib/families/bitcoin/js-buildTransaction.js +0 -106
- package/lib/families/bitcoin/js-buildTransaction.js.map +0 -1
- package/lib/families/bitcoin/js-createTransaction.d.ts +0 -9
- package/lib/families/bitcoin/js-createTransaction.d.ts.map +0 -1
- package/lib/families/bitcoin/js-createTransaction.js +0 -27
- package/lib/families/bitcoin/js-createTransaction.js.map +0 -1
- package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts +0 -15
- package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts.map +0 -1
- package/lib/families/bitcoin/js-estimateMaxSpendable.js +0 -95
- package/lib/families/bitcoin/js-estimateMaxSpendable.js.map +0 -1
- package/lib/families/bitcoin/js-getFeesForTransaction.d.ts +0 -26
- package/lib/families/bitcoin/js-getFeesForTransaction.d.ts.map +0 -1
- package/lib/families/bitcoin/js-getFeesForTransaction.js +0 -100
- package/lib/families/bitcoin/js-getFeesForTransaction.js.map +0 -1
- package/lib/families/bitcoin/js-getTransactionStatus.d.ts +0 -5
- package/lib/families/bitcoin/js-getTransactionStatus.d.ts.map +0 -1
- package/lib/families/bitcoin/js-getTransactionStatus.js +0 -131
- package/lib/families/bitcoin/js-getTransactionStatus.js.map +0 -1
- package/lib/families/bitcoin/js-prepareTransaction.d.ts +0 -5
- package/lib/families/bitcoin/js-prepareTransaction.d.ts.map +0 -1
- package/lib/families/bitcoin/js-prepareTransaction.js +0 -80
- package/lib/families/bitcoin/js-prepareTransaction.js.map +0 -1
- package/lib/families/bitcoin/js-signOperation.d.ts +0 -10
- package/lib/families/bitcoin/js-signOperation.d.ts.map +0 -1
- package/lib/families/bitcoin/js-signOperation.js +0 -212
- package/lib/families/bitcoin/js-signOperation.js.map +0 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts +0 -10
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +0 -1
- package/lib/families/bitcoin/js-synchronisation.js +0 -411
- package/lib/families/bitcoin/js-synchronisation.js.map +0 -1
- package/lib/families/bitcoin/logic.d.ts +0 -34
- package/lib/families/bitcoin/logic.d.ts.map +0 -1
- package/lib/families/bitcoin/logic.js +0 -283
- package/lib/families/bitcoin/logic.js.map +0 -1
- package/lib/families/bitcoin/networks.d.ts +0 -3
- package/lib/families/bitcoin/networks.d.ts.map +0 -1
- package/lib/families/bitcoin/networks.js +0 -379
- package/lib/families/bitcoin/networks.js.map +0 -1
- package/lib/families/bitcoin/wallet.d.ts +0 -6
- package/lib/families/bitcoin/wallet.d.ts.map +0 -1
- package/lib/families/bitcoin/wallet.js +0 -66
- package/lib/families/bitcoin/wallet.js.map +0 -1
- package/src/families/bitcoin/bridge/js.ts +0 -76
- package/src/families/bitcoin/cache.ts +0 -76
- package/src/families/bitcoin/getAccountNetworkInfo.test.ts +0 -27
- package/src/families/bitcoin/getAccountNetworkInfo.ts +0 -61
- package/src/families/bitcoin/js-broadcast.ts +0 -30
- package/src/families/bitcoin/js-buildTransaction.ts +0 -57
- package/src/families/bitcoin/js-createTransaction.ts +0 -27
- package/src/families/bitcoin/js-estimateMaxSpendable.ts +0 -36
- package/src/families/bitcoin/js-getFeesForTransaction.ts +0 -59
- package/src/families/bitcoin/js-getTransactionStatus.ts +0 -118
- package/src/families/bitcoin/js-prepareTransaction.ts +0 -35
- package/src/families/bitcoin/js-signOperation.ts +0 -164
- package/src/families/bitcoin/js-synchronisation.ts +0 -362
- package/src/families/bitcoin/logic.ts +0 -243
- package/src/families/bitcoin/networks.ts +0 -360
- 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;
|