@ledgerhq/live-common 21.5.1 → 21.7.1-patch.1
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/env.js +1 -1
- package/lib/env.js.map +1 -1
- package/lib/exchange/swap/getExchangeRates.d.ts.map +1 -1
- package/lib/exchange/swap/getExchangeRates.js +9 -8
- package/lib/exchange/swap/getExchangeRates.js.map +1 -1
- package/lib/exchange/swap/hooks/index.d.ts +11 -0
- package/lib/exchange/swap/hooks/index.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/index.js +23 -0
- package/lib/exchange/swap/hooks/index.js.map +1 -0
- package/lib/exchange/swap/hooks/useFromState.d.ts +15 -0
- package/lib/exchange/swap/hooks/useFromState.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useFromState.js +67 -0
- package/lib/exchange/swap/hooks/useFromState.js.map +1 -0
- package/lib/exchange/swap/hooks/useFromState.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useFromState.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useFromState.test.js +141 -0
- package/lib/exchange/swap/hooks/useFromState.test.js.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts +5 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js +37 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.js.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js +185 -0
- package/lib/exchange/swap/hooks/usePickDefaultAccount.test.js.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.d.ts +3 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.js +17 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.js.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.test.js +73 -0
- package/lib/exchange/swap/hooks/usePickDefaultCurrency.test.js.map +1 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.d.ts +12 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.js +105 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.js.map +1 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.test.js +78 -0
- package/lib/exchange/swap/hooks/usePollKYCStatus.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.d.ts +20 -0
- package/lib/exchange/swap/hooks/useProviderRates.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.js +174 -0
- package/lib/exchange/swap/hooks/useProviderRates.js.map +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useProviderRates.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useProviderRates.test.js +261 -0
- package/lib/exchange/swap/hooks/useProviderRates.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.d.ts +15 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.js +35 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.js.map +1 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.test.js +79 -0
- package/lib/exchange/swap/hooks/useReverseAccounts.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.d.ts +5 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.js +43 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.js.map +1 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.test.js +32 -0
- package/lib/exchange/swap/hooks/useSelectableCurrencies.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useSwapProviders.d.ts +14 -0
- package/lib/exchange/swap/hooks/useSwapProviders.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSwapProviders.js +104 -0
- package/lib/exchange/swap/hooks/useSwapProviders.js.map +1 -0
- package/lib/exchange/swap/hooks/useSwapProviders.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useSwapProviders.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSwapProviders.test.js +174 -0
- package/lib/exchange/swap/hooks/useSwapProviders.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.d.ts +53 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.js +109 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.js.map +1 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.test.js +50 -0
- package/lib/exchange/swap/hooks/useSwapTransaction.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useToState.d.ts +12 -0
- package/lib/exchange/swap/hooks/useToState.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useToState.js +73 -0
- package/lib/exchange/swap/hooks/useToState.js.map +1 -0
- package/lib/exchange/swap/hooks/useToState.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useToState.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useToState.test.js +107 -0
- package/lib/exchange/swap/hooks/useToState.test.js.map +1 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.d.ts +15 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.js +106 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.js.map +1 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.d.ts +2 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.d.ts.map +1 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.js +217 -0
- package/lib/exchange/swap/hooks/useUpdateMaxAmount.test.js.map +1 -0
- package/lib/exchange/swap/mock.d.ts +6 -2
- package/lib/exchange/swap/mock.d.ts.map +1 -1
- package/lib/exchange/swap/mock.js +21 -6
- package/lib/exchange/swap/mock.js.map +1 -1
- package/lib/exchange/swap/types.d.ts +1 -1
- package/lib/exchange/swap/types.d.ts.map +1 -1
- package/lib/exchange/swap/utils/index.d.ts +16 -0
- package/lib/exchange/swap/utils/index.d.ts.map +1 -0
- package/lib/exchange/swap/utils/index.js +49 -0
- package/lib/exchange/swap/utils/index.js.map +1 -0
- package/lib/exchange/swap/utils/index.test.d.ts +2 -0
- package/lib/exchange/swap/utils/index.test.d.ts.map +1 -0
- package/lib/exchange/swap/utils/index.test.js +238 -0
- package/lib/exchange/swap/utils/index.test.js.map +1 -0
- package/lib/families/crypto_org/datasets/croeseid.d.ts.map +1 -1
- package/lib/families/crypto_org/datasets/croeseid.js +2 -6
- package/lib/families/crypto_org/datasets/croeseid.js.map +1 -1
- package/lib/families/elrond/api/apiCalls.d.ts +0 -4
- package/lib/families/elrond/api/apiCalls.d.ts.map +1 -1
- package/lib/families/elrond/api/apiCalls.js +3 -37
- package/lib/families/elrond/api/apiCalls.js.map +1 -1
- package/lib/families/elrond/api/sdk.js +2 -2
- package/lib/families/elrond/api/sdk.js.map +1 -1
- package/lib/families/elrond/js-transaction.d.ts +2 -0
- package/lib/families/elrond/js-transaction.d.ts.map +1 -1
- package/lib/families/elrond/types.d.ts +2 -0
- package/lib/families/elrond/types.d.ts.map +1 -1
- package/lib/families/elrond/types.js.map +1 -1
- package/lib/families/tezos/bridge/js.d.ts.map +1 -1
- package/lib/families/tezos/bridge/js.js +11 -1
- package/lib/families/tezos/bridge/js.js.map +1 -1
- package/lib/mock/account.d.ts +2 -1
- package/lib/mock/account.d.ts.map +1 -1
- package/lib/mock/account.js +4 -2
- package/lib/mock/account.js.map +1 -1
- package/package.json +15 -15
- package/src/__tests__/__snapshots__/all.libcore.ts.snap +10 -10
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +30 -15
- package/src/env.ts +1 -1
- package/src/exchange/swap/getExchangeRates.ts +8 -5
- package/src/exchange/swap/hooks/index.ts +10 -0
- package/src/exchange/swap/hooks/useFromState.test.ts +134 -0
- package/src/exchange/swap/hooks/useFromState.ts +84 -0
- package/src/exchange/swap/hooks/usePickDefaultAccount.test.ts +167 -0
- package/src/exchange/swap/hooks/usePickDefaultAccount.ts +47 -0
- package/src/exchange/swap/hooks/usePickDefaultCurrency.test.ts +107 -0
- package/src/exchange/swap/hooks/usePickDefaultCurrency.ts +20 -0
- package/src/exchange/swap/hooks/usePollKYCStatus.test.ts +89 -0
- package/src/exchange/swap/hooks/usePollKYCStatus.ts +43 -0
- package/src/exchange/swap/hooks/useProviderRates.test.ts +200 -0
- package/src/exchange/swap/hooks/useProviderRates.ts +130 -0
- package/src/exchange/swap/hooks/useReverseAccounts.test.ts +83 -0
- package/src/exchange/swap/hooks/useReverseAccounts.ts +56 -0
- package/src/exchange/swap/hooks/useSelectableCurrencies.test.ts +39 -0
- package/src/exchange/swap/hooks/useSelectableCurrencies.ts +26 -0
- package/src/exchange/swap/hooks/useSwapProviders.test.ts +113 -0
- package/src/exchange/swap/hooks/useSwapProviders.ts +57 -0
- package/src/exchange/swap/hooks/useSwapTransaction.test.ts +54 -0
- package/src/exchange/swap/hooks/useSwapTransaction.ts +170 -0
- package/src/exchange/swap/hooks/useToState.test.ts +53 -0
- package/src/exchange/swap/hooks/useToState.ts +86 -0
- package/src/exchange/swap/hooks/useUpdateMaxAmount.test.ts +132 -0
- package/src/exchange/swap/hooks/useUpdateMaxAmount.ts +67 -0
- package/src/exchange/swap/mock.ts +22 -3
- package/src/exchange/swap/types.ts +2 -1
- package/src/exchange/swap/utils/index.test.ts +224 -0
- package/src/exchange/swap/utils/index.ts +67 -0
- package/src/families/crypto_org/datasets/croeseid.ts +7 -9
- package/src/families/elrond/api/apiCalls.ts +3 -31
- package/src/families/elrond/api/sdk.ts +2 -2
- package/src/families/elrond/types.ts +2 -0
- package/src/families/tezos/bridge/js.ts +13 -0
- package/src/mock/account.ts +2 -2
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
17
|
+
function step(op) {
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (_) try {
|
|
20
|
+
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;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
42
|
+
};
|
|
43
|
+
exports.__esModule = true;
|
|
44
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
45
|
+
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
46
|
+
var usePickDefaultAccount_1 = require("./usePickDefaultAccount");
|
|
47
|
+
var account_1 = require("../../../mock/account");
|
|
48
|
+
var currencies_1 = require("../../../currencies");
|
|
49
|
+
function accountGenerator(currency) {
|
|
50
|
+
var id;
|
|
51
|
+
return __generator(this, function (_a) {
|
|
52
|
+
switch (_a.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
id = 0;
|
|
55
|
+
_a.label = 1;
|
|
56
|
+
case 1:
|
|
57
|
+
if (!true) return [3 /*break*/, 3];
|
|
58
|
+
id += 1;
|
|
59
|
+
// operations are not taken into account by the usePickDefaultAccount hooks
|
|
60
|
+
return [4 /*yield*/, (0, account_1.genAccount)("mocked-account-" + id, { currency: currency, operationsSize: 0 })];
|
|
61
|
+
case 2:
|
|
62
|
+
// operations are not taken into account by the usePickDefaultAccount hooks
|
|
63
|
+
_a.sent();
|
|
64
|
+
return [3 /*break*/, 1];
|
|
65
|
+
case 3: return [2 /*return*/];
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
var getAccountCreator = function (currencyId) {
|
|
70
|
+
var generator = accountGenerator((0, currencies_1.getCryptoCurrencyById)(currencyId));
|
|
71
|
+
return function () { return generator.next().value; };
|
|
72
|
+
};
|
|
73
|
+
describe("usePickDefaultAccount", function () {
|
|
74
|
+
var getEthAccount = getAccountCreator("ethereum");
|
|
75
|
+
var getBtcAccount = getAccountCreator("bitcoin");
|
|
76
|
+
var getPolkadotAccount = getAccountCreator("polkadot");
|
|
77
|
+
var getCosmosAccount = getAccountCreator("cosmos");
|
|
78
|
+
var setFromAccount = jest.fn();
|
|
79
|
+
beforeEach(function () {
|
|
80
|
+
setFromAccount.mockClear();
|
|
81
|
+
});
|
|
82
|
+
test("do nothing when fromAccount is not null/undefined", function () {
|
|
83
|
+
var accounts = [getEthAccount(), getBtcAccount()];
|
|
84
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
85
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, getEthAccount(), setFromAccount);
|
|
86
|
+
});
|
|
87
|
+
expect(setFromAccount).toHaveBeenCalledTimes(0);
|
|
88
|
+
});
|
|
89
|
+
test("do nothing when all passed accounts are disabled", function () {
|
|
90
|
+
var accounts = [
|
|
91
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
92
|
+
__assign(__assign({}, getBtcAccount()), { disabled: true }),
|
|
93
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
94
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
95
|
+
];
|
|
96
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
97
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
98
|
+
});
|
|
99
|
+
expect(setFromAccount).toHaveBeenCalledTimes(0);
|
|
100
|
+
});
|
|
101
|
+
test("returns an ethereum account when it's available", function () {
|
|
102
|
+
var ethAccount = getEthAccount();
|
|
103
|
+
var accounts = [ethAccount, getBtcAccount()];
|
|
104
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
105
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
106
|
+
});
|
|
107
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
108
|
+
expect(setFromAccount).toHaveBeenCalledWith(ethAccount);
|
|
109
|
+
});
|
|
110
|
+
test("returns the first ethereum account when all of the enabled accounts have the same balance", function () {
|
|
111
|
+
var ethAccount = getEthAccount();
|
|
112
|
+
var accounts = [
|
|
113
|
+
ethAccount,
|
|
114
|
+
getBtcAccount(),
|
|
115
|
+
getEthAccount(),
|
|
116
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
117
|
+
];
|
|
118
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
119
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
120
|
+
});
|
|
121
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
122
|
+
expect(setFromAccount).toHaveBeenCalledWith(ethAccount);
|
|
123
|
+
});
|
|
124
|
+
test("returns the ethereum enabled account with the highest balance", function () {
|
|
125
|
+
var ethAccount = getEthAccount();
|
|
126
|
+
var ethAccount2 = getEthAccount();
|
|
127
|
+
ethAccount.amount = new bignumber_js_1["default"](1000);
|
|
128
|
+
ethAccount2.amount = new bignumber_js_1["default"](0);
|
|
129
|
+
var accounts = [
|
|
130
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
131
|
+
ethAccount,
|
|
132
|
+
getBtcAccount(),
|
|
133
|
+
ethAccount2,
|
|
134
|
+
];
|
|
135
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
136
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
137
|
+
});
|
|
138
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
139
|
+
expect(setFromAccount).toHaveBeenCalledWith(ethAccount);
|
|
140
|
+
});
|
|
141
|
+
test("returns the first bitcoin account when no ethereum accounts are passed/enabled and all btc accounts have the same balance", function () {
|
|
142
|
+
var BtcAccount = getBtcAccount();
|
|
143
|
+
var accounts = [
|
|
144
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
145
|
+
BtcAccount,
|
|
146
|
+
getBtcAccount(),
|
|
147
|
+
];
|
|
148
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
149
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
150
|
+
});
|
|
151
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
152
|
+
expect(setFromAccount).toHaveBeenCalledWith(BtcAccount);
|
|
153
|
+
});
|
|
154
|
+
test("returns the bitcoin enabled account with the highest balance when no ETH accounts are passed", function () {
|
|
155
|
+
var btcAccount = getBtcAccount();
|
|
156
|
+
var btcAccount2 = getBtcAccount();
|
|
157
|
+
btcAccount.amount = new bignumber_js_1["default"](1000);
|
|
158
|
+
btcAccount2.amount = new bignumber_js_1["default"](0);
|
|
159
|
+
var accounts = [
|
|
160
|
+
__assign(__assign({}, getEthAccount()), { disabled: true }),
|
|
161
|
+
btcAccount,
|
|
162
|
+
btcAccount2,
|
|
163
|
+
];
|
|
164
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
165
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
166
|
+
});
|
|
167
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
168
|
+
expect(setFromAccount).toHaveBeenCalledWith(btcAccount);
|
|
169
|
+
});
|
|
170
|
+
test("returns the first enabled account when no ethereum/bitcoin accounts are passed", function () {
|
|
171
|
+
var dotAccount = getPolkadotAccount();
|
|
172
|
+
var accounts = [
|
|
173
|
+
__assign(__assign({}, getCosmosAccount()), { disabled: true }),
|
|
174
|
+
dotAccount,
|
|
175
|
+
getPolkadotAccount(),
|
|
176
|
+
getCosmosAccount(),
|
|
177
|
+
];
|
|
178
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
179
|
+
return (0, usePickDefaultAccount_1.usePickDefaultAccount)(accounts, undefined, setFromAccount);
|
|
180
|
+
});
|
|
181
|
+
expect(setFromAccount).toHaveBeenCalledTimes(1);
|
|
182
|
+
expect(setFromAccount).toHaveBeenCalledWith(dotAccount);
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
//# sourceMappingURL=usePickDefaultAccount.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickDefaultAccount.test.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePickDefaultAccount.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CryptoCurrency, TokenCurrency } from "../../../types";
|
|
2
|
+
export declare const usePickDefaultCurrency: (currencies: (CryptoCurrency | TokenCurrency)[], currency: (CryptoCurrency | TokenCurrency) | null | undefined, setCurrency: (currency: CryptoCurrency | TokenCurrency) => void) => void;
|
|
3
|
+
//# sourceMappingURL=usePickDefaultCurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickDefaultCurrency.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePickDefaultCurrency.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/D,eAAO,MAAM,sBAAsB,eACrB,CAAC,cAAc,GAAG,aAAa,CAAC,EAAE,YACpC,CAAC,cAAc,GAAG,aAAa,CAAC,GAAG,IAAI,GAAG,SAAS,0BACrC,cAAc,GAAG,aAAa,KAAK,IAAI,KAC9D,IAWF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
exports.usePickDefaultCurrency = void 0;
|
|
4
|
+
var react_1 = require("react");
|
|
5
|
+
// Pick a default currency target if none are selected.
|
|
6
|
+
var usePickDefaultCurrency = function (currencies, currency, setCurrency) {
|
|
7
|
+
(0, react_1.useEffect)(function () {
|
|
8
|
+
// Keep the same currency target if it is still valid.
|
|
9
|
+
var isCurrencyValid = currency && currencies.indexOf(currency) >= 0;
|
|
10
|
+
if (!currency || !isCurrencyValid) {
|
|
11
|
+
var defaultCurrency = currencies.find(function (currency) { return currency.id === "ethereum" || currency.id === "bitcoin"; });
|
|
12
|
+
defaultCurrency && setCurrency(defaultCurrency);
|
|
13
|
+
}
|
|
14
|
+
}, [currency, currencies, setCurrency]);
|
|
15
|
+
};
|
|
16
|
+
exports.usePickDefaultCurrency = usePickDefaultCurrency;
|
|
17
|
+
//# sourceMappingURL=usePickDefaultCurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickDefaultCurrency.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePickDefaultCurrency.ts"],"names":[],"mappings":";;;AAAA,+BAAkC;AAGlC,uDAAuD;AAChD,IAAM,sBAAsB,GAAG,UACpC,UAA8C,EAC9C,QAA6D,EAC7D,WAA+D;IAE/D,IAAA,iBAAS,EAAC;QACR,sDAAsD;QACtD,IAAM,eAAe,GAAG,QAAQ,IAAI,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,EAAE;YACjC,IAAM,eAAe,GAAG,UAAU,CAAC,IAAI,CACrC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,EAAE,KAAK,UAAU,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAvD,CAAuD,CACtE,CAAC;YACF,eAAe,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC;SACjD;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAfW,QAAA,sBAAsB,0BAejC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickDefaultCurrency.test.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePickDefaultCurrency.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
exports.__esModule = true;
|
|
3
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
4
|
+
var usePickDefaultCurrency_1 = require("./usePickDefaultCurrency");
|
|
5
|
+
var currencies_1 = require("../../../currencies");
|
|
6
|
+
describe("usePickDefaultCurrency", function () {
|
|
7
|
+
var setCurrency = jest.fn();
|
|
8
|
+
beforeEach(function () {
|
|
9
|
+
setCurrency.mockClear();
|
|
10
|
+
});
|
|
11
|
+
test("do nothing when the passed currency is valid", function () {
|
|
12
|
+
var currencies = [
|
|
13
|
+
(0, currencies_1.getCryptoCurrencyById)("ethereum"),
|
|
14
|
+
(0, currencies_1.getCryptoCurrencyById)("bitcoin"),
|
|
15
|
+
(0, currencies_1.getCryptoCurrencyById)("bsc"),
|
|
16
|
+
];
|
|
17
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
18
|
+
return (0, usePickDefaultCurrency_1.usePickDefaultCurrency)(currencies, (0, currencies_1.getCryptoCurrencyById)("ethereum"), setCurrency);
|
|
19
|
+
});
|
|
20
|
+
expect(setCurrency).toHaveBeenCalledTimes(0);
|
|
21
|
+
});
|
|
22
|
+
test("do nothing if the currency is undefined/null and the currencies list don't include eth/btc", function () {
|
|
23
|
+
var currencies = [
|
|
24
|
+
(0, currencies_1.getCryptoCurrencyById)("solana"),
|
|
25
|
+
(0, currencies_1.getCryptoCurrencyById)("polkadot"),
|
|
26
|
+
(0, currencies_1.getCryptoCurrencyById)("bsc"),
|
|
27
|
+
];
|
|
28
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
29
|
+
return (0, usePickDefaultCurrency_1.usePickDefaultCurrency)(currencies, undefined, setCurrency);
|
|
30
|
+
});
|
|
31
|
+
expect(setCurrency).toHaveBeenCalledTimes(0);
|
|
32
|
+
});
|
|
33
|
+
test("do nothing if the currency passed isn't valid in the list and the currencies list don't include eth/btc", function () {
|
|
34
|
+
var currencies = [
|
|
35
|
+
(0, currencies_1.getCryptoCurrencyById)("solana"),
|
|
36
|
+
(0, currencies_1.getCryptoCurrencyById)("polkadot"),
|
|
37
|
+
(0, currencies_1.getCryptoCurrencyById)("bsc"),
|
|
38
|
+
];
|
|
39
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
40
|
+
return (0, usePickDefaultCurrency_1.usePickDefaultCurrency)(currencies, (0, currencies_1.getCryptoCurrencyById)("stellar"), setCurrency);
|
|
41
|
+
});
|
|
42
|
+
expect(setCurrency).toHaveBeenCalledTimes(0);
|
|
43
|
+
});
|
|
44
|
+
test("returns the ethereum currency if the passed currency isn't valid and ethereum comes before bitcoin in the list", function () {
|
|
45
|
+
var ethereumCurrency = (0, currencies_1.getCryptoCurrencyById)("ethereum");
|
|
46
|
+
var currencies = [
|
|
47
|
+
(0, currencies_1.getCryptoCurrencyById)("bsc"),
|
|
48
|
+
ethereumCurrency,
|
|
49
|
+
(0, currencies_1.getCryptoCurrencyById)("bitcoin"),
|
|
50
|
+
(0, currencies_1.getCryptoCurrencyById)("polkadot"),
|
|
51
|
+
];
|
|
52
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
53
|
+
return (0, usePickDefaultCurrency_1.usePickDefaultCurrency)(currencies, (0, currencies_1.getCryptoCurrencyById)("stellar"), setCurrency);
|
|
54
|
+
});
|
|
55
|
+
expect(setCurrency).toHaveBeenCalledTimes(1);
|
|
56
|
+
expect(setCurrency).toHaveBeenCalledWith(ethereumCurrency);
|
|
57
|
+
});
|
|
58
|
+
test("returns the bitcoin currency if the passed currency isn't valid and bitcoin comes before ethereum in the list", function () {
|
|
59
|
+
var bitcoinCurrency = (0, currencies_1.getCryptoCurrencyById)("bitcoin");
|
|
60
|
+
var currencies = [
|
|
61
|
+
(0, currencies_1.getCryptoCurrencyById)("bsc"),
|
|
62
|
+
bitcoinCurrency,
|
|
63
|
+
(0, currencies_1.getCryptoCurrencyById)("ethereum"),
|
|
64
|
+
(0, currencies_1.getCryptoCurrencyById)("polkadot"),
|
|
65
|
+
];
|
|
66
|
+
(0, react_hooks_1.renderHook)(function () {
|
|
67
|
+
return (0, usePickDefaultCurrency_1.usePickDefaultCurrency)(currencies, (0, currencies_1.getCryptoCurrencyById)("stellar"), setCurrency);
|
|
68
|
+
});
|
|
69
|
+
expect(setCurrency).toHaveBeenCalledTimes(1);
|
|
70
|
+
expect(setCurrency).toHaveBeenCalledWith(bitcoinCurrency);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=usePickDefaultCurrency.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePickDefaultCurrency.test.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePickDefaultCurrency.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const KYC_STATUS_POLLING_INTERVAL = 10000;
|
|
2
|
+
export declare type KYCItem = {
|
|
3
|
+
id: string;
|
|
4
|
+
status: string;
|
|
5
|
+
};
|
|
6
|
+
export declare type UsePollKYCStatusProps = {
|
|
7
|
+
provider: string;
|
|
8
|
+
kyc: KYCItem;
|
|
9
|
+
onChange: (item: KYCItem) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const usePollKYCStatus: ({ provider, kyc, onChange }: UsePollKYCStatusProps, dependencies?: never[]) => void;
|
|
12
|
+
//# sourceMappingURL=usePollKYCStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePollKYCStatus.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePollKYCStatus.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AACjD,oBAAY,OAAO,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AACF,oBAAY,qBAAqB,GAAG;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AACF,eAAO,MAAM,gBAAgB,gCACE,qBAAqB,6BAEjD,IAwBF,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
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
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
39
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
40
|
+
if (!m) return o;
|
|
41
|
+
var i = m.call(o), r, ar = [], e;
|
|
42
|
+
try {
|
|
43
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
44
|
+
}
|
|
45
|
+
catch (error) { e = { error: error }; }
|
|
46
|
+
finally {
|
|
47
|
+
try {
|
|
48
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
49
|
+
}
|
|
50
|
+
finally { if (e) throw e.error; }
|
|
51
|
+
}
|
|
52
|
+
return ar;
|
|
53
|
+
};
|
|
54
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
55
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
56
|
+
if (ar || !(i in from)) {
|
|
57
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
58
|
+
ar[i] = from[i];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
62
|
+
};
|
|
63
|
+
exports.__esModule = true;
|
|
64
|
+
exports.usePollKYCStatus = exports.KYC_STATUS_POLLING_INTERVAL = void 0;
|
|
65
|
+
var react_1 = require("react");
|
|
66
|
+
var utils_1 = require("../utils");
|
|
67
|
+
var __1 = require("..");
|
|
68
|
+
// Poll the server to update the KYC status of a given provider.
|
|
69
|
+
exports.KYC_STATUS_POLLING_INTERVAL = 10000;
|
|
70
|
+
var usePollKYCStatus = function (_a, dependencies) {
|
|
71
|
+
var provider = _a.provider, kyc = _a.kyc, onChange = _a.onChange;
|
|
72
|
+
if (dependencies === void 0) { dependencies = []; }
|
|
73
|
+
(0, react_1.useEffect)(function () {
|
|
74
|
+
if ((kyc === null || kyc === void 0 ? void 0 : kyc.status) !== utils_1.KYC_STATUS.pending)
|
|
75
|
+
return;
|
|
76
|
+
var cancelled = false;
|
|
77
|
+
function updateKYCStatus() {
|
|
78
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
79
|
+
var res;
|
|
80
|
+
return __generator(this, function (_a) {
|
|
81
|
+
switch (_a.label) {
|
|
82
|
+
case 0:
|
|
83
|
+
if (!(kyc === null || kyc === void 0 ? void 0 : kyc.id))
|
|
84
|
+
return [2 /*return*/];
|
|
85
|
+
return [4 /*yield*/, (0, __1.getKYCStatus)(provider, kyc.id)];
|
|
86
|
+
case 1:
|
|
87
|
+
res = _a.sent();
|
|
88
|
+
if (cancelled || (res === null || res === void 0 ? void 0 : res.status) === (kyc === null || kyc === void 0 ? void 0 : kyc.status))
|
|
89
|
+
return [2 /*return*/];
|
|
90
|
+
onChange(res);
|
|
91
|
+
return [2 /*return*/];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
var intervalId = setInterval(updateKYCStatus, exports.KYC_STATUS_POLLING_INTERVAL);
|
|
97
|
+
updateKYCStatus();
|
|
98
|
+
return function () {
|
|
99
|
+
cancelled = true;
|
|
100
|
+
clearInterval(intervalId);
|
|
101
|
+
};
|
|
102
|
+
}, __spreadArray([provider, kyc], __read(dependencies), false));
|
|
103
|
+
};
|
|
104
|
+
exports.usePollKYCStatus = usePollKYCStatus;
|
|
105
|
+
//# sourceMappingURL=usePollKYCStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePollKYCStatus.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePollKYCStatus.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAkC;AAClC,kCAAsC;AACtC,wBAAkC;AAElC,gEAAgE;AACnD,QAAA,2BAA2B,GAAG,KAAK,CAAC;AAU1C,IAAM,gBAAgB,GAAG,UAC9B,EAAkD,EAClD,YAAiB;QADf,QAAQ,cAAA,EAAE,GAAG,SAAA,EAAE,QAAQ,cAAA;IACzB,6BAAA,EAAA,iBAAiB;IAEjB,IAAA,iBAAS,EACP;QACE,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,MAAK,kBAAU,CAAC,OAAO;YAAE,OAAO;QAC/C,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,SAAe,eAAe;;;;;;4BAC5B,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,CAAA;gCAAE,sBAAO;4BACT,qBAAM,IAAA,gBAAY,EAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,EAAA;;4BAA1C,GAAG,GAAG,SAAoC;4BAChD,IAAI,SAAS,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,OAAK,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,CAAA;gCAAE,sBAAO;4BACrD,QAAQ,CAAC,GAAG,CAAC,CAAC;;;;;SACf;QACD,IAAM,UAAU,GAAG,WAAW,CAC5B,eAAe,EACf,mCAA2B,CAC5B,CAAC;QACF,eAAe,EAAE,CAAC;QAClB,OAAO;YACL,SAAS,GAAG,IAAI,CAAC;YACjB,aAAa,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,iBAEA,QAAQ,EAAE,GAAG,UAAK,YAAY,UAChC,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,gBAAgB,oBA2B3B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePollKYCStatus.test.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePollKYCStatus.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
exports.__esModule = true;
|
|
14
|
+
var react_hooks_1 = require("@testing-library/react-hooks");
|
|
15
|
+
var utils_1 = require("ts-jest/utils");
|
|
16
|
+
var usePollKYCStatus_1 = require("./usePollKYCStatus");
|
|
17
|
+
var utils_2 = require("../utils");
|
|
18
|
+
var __1 = require("..");
|
|
19
|
+
// mock getKYCStatus
|
|
20
|
+
jest.mock("..");
|
|
21
|
+
var mockedGetKYCStatus = (0, utils_1.mocked)(__1.getKYCStatus, true);
|
|
22
|
+
describe("usePollKYCStatus", function () {
|
|
23
|
+
var defaultInput = {
|
|
24
|
+
provider: "changelly",
|
|
25
|
+
kyc: { id: "1", status: utils_2.KYC_STATUS.pending },
|
|
26
|
+
onChange: function () { }
|
|
27
|
+
};
|
|
28
|
+
beforeEach(function () {
|
|
29
|
+
mockedGetKYCStatus.mockReset();
|
|
30
|
+
jest.useFakeTimers();
|
|
31
|
+
});
|
|
32
|
+
afterEach(function () {
|
|
33
|
+
jest.runOnlyPendingTimers();
|
|
34
|
+
jest.useRealTimers();
|
|
35
|
+
});
|
|
36
|
+
test("KYC status isn't fetched when the local status isn't PENDING", function () {
|
|
37
|
+
Object.values(utils_2.KYC_STATUS)
|
|
38
|
+
.filter(function (status) { return status !== "pending"; })
|
|
39
|
+
.forEach(function (status) {
|
|
40
|
+
var input = __assign(__assign({}, defaultInput), { kyc: { id: "1", status: status } });
|
|
41
|
+
(0, react_hooks_1.renderHook)(function () { return (0, usePollKYCStatus_1.usePollKYCStatus)(input); });
|
|
42
|
+
expect(mockedGetKYCStatus).toHaveBeenCalledTimes(0);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
test("onChange isn't triggered when the local/remote status are equals", function () {
|
|
46
|
+
var onChange = jest.fn();
|
|
47
|
+
var input = __assign(__assign({}, defaultInput), { onChange: onChange });
|
|
48
|
+
var fetchedValue = { status: "pending", id: "1" };
|
|
49
|
+
mockedGetKYCStatus.mockResolvedValueOnce(fetchedValue);
|
|
50
|
+
(0, react_hooks_1.renderHook)(function () { return (0, usePollKYCStatus_1.usePollKYCStatus)(input); });
|
|
51
|
+
expect(mockedGetKYCStatus).toHaveBeenCalledTimes(1);
|
|
52
|
+
expect(mockedGetKYCStatus).toHaveBeenCalledWith(input.provider, input.kyc.id);
|
|
53
|
+
expect(onChange).toHaveBeenCalledTimes(0);
|
|
54
|
+
});
|
|
55
|
+
test("onChange is triggered when the local/remote status are different", function () {
|
|
56
|
+
var onChange = jest.fn();
|
|
57
|
+
var input = __assign(__assign({}, defaultInput), { onChange: onChange });
|
|
58
|
+
var fetchedValue = { status: "approved", id: "1" };
|
|
59
|
+
mockedGetKYCStatus.mockResolvedValueOnce(fetchedValue);
|
|
60
|
+
var waitFor = (0, react_hooks_1.renderHook)(function () { return (0, usePollKYCStatus_1.usePollKYCStatus)(input); }).waitFor;
|
|
61
|
+
expect(mockedGetKYCStatus).toHaveBeenCalledTimes(1);
|
|
62
|
+
waitFor(function () { return expect(onChange).toHaveBeenCalledTimes(1); });
|
|
63
|
+
});
|
|
64
|
+
test("setInterval retriggers the updateKYCStatus function", function () {
|
|
65
|
+
var onChange = jest.fn();
|
|
66
|
+
var input = __assign(__assign({}, defaultInput), { onChange: onChange });
|
|
67
|
+
var fetchedValue = { status: "approved", id: "1" };
|
|
68
|
+
mockedGetKYCStatus.mockResolvedValue(fetchedValue);
|
|
69
|
+
var waitFor = (0, react_hooks_1.renderHook)(function () { return (0, usePollKYCStatus_1.usePollKYCStatus)(input); }).waitFor;
|
|
70
|
+
waitFor(function () { return expect(onChange).toHaveBeenCalledTimes(1); });
|
|
71
|
+
waitFor(function () { return expect(mockedGetKYCStatus).toHaveBeenCalledTimes(1); });
|
|
72
|
+
// manually trigger the setInterval
|
|
73
|
+
jest.advanceTimersByTime(usePollKYCStatus_1.KYC_STATUS_POLLING_INTERVAL);
|
|
74
|
+
waitFor(function () { return expect(onChange).toHaveBeenCalledTimes(2); });
|
|
75
|
+
waitFor(function () { return expect(mockedGetKYCStatus).toHaveBeenCalledTimes(2); });
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=usePollKYCStatus.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePollKYCStatus.test.js","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/usePollKYCStatus.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { OnNoRatesCallback, SetExchangeRateCallback, SwapSelectorStateType } from "./useSwapTransaction";
|
|
2
|
+
import { ExchangeRate } from "../types";
|
|
3
|
+
import { Transaction } from "../../../generated/types";
|
|
4
|
+
export declare type RatesReducerState = {
|
|
5
|
+
status?: string | null;
|
|
6
|
+
value?: ExchangeRate[];
|
|
7
|
+
error?: Error;
|
|
8
|
+
};
|
|
9
|
+
export declare const useProviderRates: ({ fromState, toState, exchangeRate, transaction, onNoRates, setExchangeRate, }: {
|
|
10
|
+
fromState: SwapSelectorStateType;
|
|
11
|
+
toState: SwapSelectorStateType;
|
|
12
|
+
exchangeRate?: ExchangeRate | null | undefined;
|
|
13
|
+
transaction?: Transaction | null | undefined;
|
|
14
|
+
onNoRates?: OnNoRatesCallback | null | undefined;
|
|
15
|
+
setExchangeRate?: SetExchangeRateCallback | null | undefined;
|
|
16
|
+
}) => {
|
|
17
|
+
rates: RatesReducerState;
|
|
18
|
+
refetchRates: () => void;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=useProviderRates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useProviderRates.d.ts","sourceRoot":"","sources":["../../../../src/exchange/swap/hooks/useProviderRates.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAY,YAAY,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,oBAAY,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,CAAC;AAkBF,eAAO,MAAM,gBAAgB;eAQhB,qBAAqB;aACvB,qBAAqB;mBACf,YAAY,GAAG,IAAI,GAAG,SAAS;kBAChC,WAAW,GAAG,IAAI,GAAG,SAAS;gBAChC,iBAAiB,GAAG,IAAI,GAAG,SAAS;sBAC9B,uBAAuB,GAAG,IAAI,GAAG,SAAS;;WAErD,iBAAiB;kBACV,MAAM,IAAI;CAgFzB,CAAC"}
|