@ledgerhq/live-common 27.3.2 → 27.4.0-next.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/__tests__/environment.test.d.ts +2 -0
- package/lib/__tests__/environment.test.d.ts.map +1 -0
- package/lib/__tests__/environment.test.js +13 -0
- package/lib/__tests__/environment.test.js.map +1 -0
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js +0 -31
- package/lib/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.js.map +1 -1
- package/lib/account/support.d.ts.map +1 -1
- package/lib/account/support.js +3 -2
- package/lib/account/support.js.map +1 -1
- package/lib/apps/hw.d.ts +4 -1
- package/lib/apps/hw.d.ts.map +1 -1
- package/lib/apps/hw.js +10 -4
- package/lib/apps/hw.js.map +1 -1
- package/lib/apps/mock.d.ts +1 -0
- package/lib/apps/mock.d.ts.map +1 -1
- package/lib/apps/mock.js +24 -2
- package/lib/apps/mock.js.map +1 -1
- package/lib/apps/runner.d.ts +8 -1
- package/lib/apps/runner.d.ts.map +1 -1
- package/lib/apps/runner.js +15 -3
- package/lib/apps/runner.js.map +1 -1
- package/lib/apps/support.js +1 -1
- package/lib/bot/engine.d.ts.map +1 -1
- package/lib/bot/engine.js +5 -2
- package/lib/bot/engine.js.map +1 -1
- package/lib/bot/index.d.ts.map +1 -1
- package/lib/bot/index.js +5 -3
- package/lib/bot/index.js.map +1 -1
- package/lib/bot/types.d.ts +2 -0
- package/lib/bot/types.d.ts.map +1 -1
- package/lib/data/icons/react/index.d.ts +1 -0
- package/lib/data/icons/react/index.d.ts.map +1 -1
- package/lib/data/icons/react/index.js +3 -1
- package/lib/data/icons/react/index.js.map +1 -1
- package/lib/data/icons/react/yae.d.ts +8 -0
- package/lib/data/icons/react/yae.d.ts.map +1 -0
- package/lib/data/icons/react/yae.js +36 -0
- package/lib/data/icons/react/yae.js.map +1 -0
- package/lib/data/icons/reactNative/index.d.ts +1 -0
- package/lib/data/icons/reactNative/index.d.ts.map +1 -1
- package/lib/data/icons/reactNative/index.js +3 -1
- package/lib/data/icons/reactNative/index.js.map +1 -1
- package/lib/data/icons/reactNative/yae.d.ts +8 -0
- package/lib/data/icons/reactNative/yae.d.ts.map +1 -0
- package/lib/data/icons/reactNative/yae.js +37 -0
- package/lib/data/icons/reactNative/yae.js.map +1 -0
- package/lib/exchange/hw-app-exchange/Exchange.js +4 -4
- package/lib/families/bitcoin/account.d.ts.map +1 -1
- package/lib/families/bitcoin/bech32m.d.ts +2 -8
- package/lib/families/bitcoin/bech32m.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/js.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/js.js.map +1 -1
- package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/mock.js.map +1 -1
- package/lib/families/bitcoin/cache.d.ts +2 -15
- package/lib/families/bitcoin/cache.d.ts.map +1 -1
- package/lib/families/bitcoin/js-getFeesForTransaction.d.ts +2 -15
- package/lib/families/bitcoin/js-getFeesForTransaction.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.js.map +1 -1
- package/lib/families/bitcoin/logic.d.ts +1 -1
- package/lib/families/bitcoin/logic.d.ts.map +1 -1
- package/lib/families/bitcoin/logic.js.map +1 -1
- package/lib/families/bitcoin/presync.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts +0 -2
- package/lib/families/bitcoin/wallet-btc/crypto/base.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/base.js +0 -16
- package/lib/families/bitcoin/wallet-btc/crypto/base.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.d.ts +4 -3
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.js +3 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bip32.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts +2 -3
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js +0 -7
- package/lib/families/bitcoin/wallet-btc/crypto/bitcoincash.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/factory.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/factory.js +0 -3
- package/lib/families/bitcoin/wallet-btc/crypto/factory.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts +2 -3
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js +0 -16
- package/lib/families/bitcoin/wallet-btc/crypto/litecoin.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts +0 -1
- package/lib/families/bitcoin/wallet-btc/crypto/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts +0 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zec.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js +0 -5
- package/lib/families/bitcoin/wallet-btc/crypto/zec.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts +0 -2
- package/lib/families/bitcoin/wallet-btc/crypto/zen.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js +0 -5
- package/lib/families/bitcoin/wallet-btc/crypto/zen.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts +11 -5
- package/lib/families/bitcoin/wallet-btc/explorer/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/explorer/index.js +8 -40
- package/lib/families/bitcoin/wallet-btc/explorer/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/pickingstrategies/Merge.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/index.d.ts +1 -5
- package/lib/families/bitcoin/wallet-btc/storage/index.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/storage/index.js +7 -9
- package/lib/families/bitcoin/wallet-btc/storage/index.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.d.ts +3 -3
- package/lib/families/bitcoin/wallet-btc/utils.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/utils.js +2 -11
- package/lib/families/bitcoin/wallet-btc/utils.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts +10 -7
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.js +1 -18
- package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts +1 -9
- package/lib/families/bitcoin/wallet-btc/xpub.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/xpub.js +60 -208
- package/lib/families/bitcoin/wallet-btc/xpub.js.map +1 -1
- package/lib/families/cardano/js-synchronisation.js +1 -1
- package/lib/families/cardano/js-synchronisation.js.map +1 -1
- package/lib/families/cardano/specs.js +1 -1
- package/lib/families/celo/specs/createSendMutation.d.ts.map +1 -1
- package/lib/families/celo/specs/createSendMutation.js +0 -2
- package/lib/families/celo/specs/createSendMutation.js.map +1 -1
- package/lib/families/celo/specs.js +1 -1
- package/lib/families/crypto_org/specs.d.ts.map +1 -1
- package/lib/families/crypto_org/specs.js +3 -2
- package/lib/families/crypto_org/specs.js.map +1 -1
- package/lib/families/ethereum/specs.js +3 -3
- package/lib/families/ethereum/specs.js.map +1 -1
- package/lib/families/evm/specs.js +6 -6
- package/lib/families/evm/specs.js.map +1 -1
- package/lib/families/filecoin/specs.d.ts.map +1 -1
- package/lib/families/filecoin/specs.js +1 -2
- package/lib/families/filecoin/specs.js.map +1 -1
- package/lib/families/hedera/api/network.d.ts.map +1 -1
- package/lib/families/hedera/api/network.js +16 -8
- package/lib/families/hedera/api/network.js.map +1 -1
- package/lib/families/hedera/errors.d.ts +4 -0
- package/lib/families/hedera/errors.d.ts.map +1 -0
- package/lib/families/hedera/errors.js +6 -0
- package/lib/families/hedera/errors.js.map +1 -0
- package/lib/families/hedera/specs.d.ts.map +1 -1
- package/lib/families/hedera/specs.js +0 -11
- package/lib/families/hedera/specs.js.map +1 -1
- package/lib/families/osmosis/specs.js +1 -1
- package/lib/families/polkadot/specs.d.ts.map +1 -1
- package/lib/families/polkadot/specs.js +1 -0
- package/lib/families/polkadot/specs.js.map +1 -1
- package/lib/families/solana/specs.d.ts.map +1 -1
- package/lib/families/solana/specs.js +1 -0
- package/lib/families/solana/specs.js.map +1 -1
- package/lib/families/tezos/bakers.whitelist-default.d.ts.map +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js +1 -1
- package/lib/families/tezos/bakers.whitelist-default.js.map +1 -1
- package/lib/families/tezos/bridge/js.d.ts.map +1 -1
- package/lib/families/tezos/bridge/js.js +2 -1
- package/lib/families/tezos/bridge/js.js.map +1 -1
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +6 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/hw/actions/app.d.ts +7 -0
- package/lib/hw/actions/app.d.ts.map +1 -1
- package/lib/hw/actions/app.js +25 -11
- package/lib/hw/actions/app.js.map +1 -1
- package/lib/hw/connectApp.d.ts +4 -0
- package/lib/hw/connectApp.d.ts.map +1 -1
- package/lib/hw/connectApp.js +10 -1
- package/lib/hw/connectApp.js.map +1 -1
- package/lib/manager/localization.d.ts +1 -1
- package/lib/manager/localization.d.ts.map +1 -1
- package/lib/manager/localization.js +1 -1
- package/lib/manager/localization.js.map +1 -1
- package/lib/rxjs/operators/retryWithDelay.d.ts +12 -0
- package/lib/rxjs/operators/retryWithDelay.d.ts.map +1 -0
- package/lib/rxjs/operators/retryWithDelay.js +28 -0
- package/lib/rxjs/operators/retryWithDelay.js.map +1 -0
- package/lib/rxjs/operators/throwIf.d.ts +23 -0
- package/lib/rxjs/operators/throwIf.d.ts.map +1 -0
- package/lib/rxjs/operators/throwIf.js +37 -0
- package/lib/rxjs/operators/throwIf.js.map +1 -0
- package/package.json +5 -5
- package/src/__tests__/environment.test.ts +12 -0
- package/src/__tests__/families/bitcoin/wallet-btc/xpub.syncing.integration.test.ts +0 -33
- package/src/account/support.ts +3 -2
- package/src/apps/hw.ts +17 -4
- package/src/apps/mock.ts +24 -2
- package/src/apps/runner.ts +28 -4
- package/src/apps/support.ts +1 -1
- package/src/bot/engine.ts +9 -1
- package/src/bot/index.ts +7 -2
- package/src/bot/types.ts +3 -0
- package/src/currencies/__snapshots__/sortByMarketcap.test.ts.snap +33 -0
- package/src/data/icons/react/index.tsx +1 -0
- package/src/data/icons/react/yae.tsx +14 -0
- package/src/data/icons/reactNative/index.tsx +1 -0
- package/src/data/icons/reactNative/yae.tsx +15 -0
- package/src/data/icons/svg/YAE.svg +4 -0
- package/src/exchange/hw-app-exchange/Exchange.ts +4 -4
- package/src/families/algorand/__snapshots__/bridge.integration.test.ts.snap +807 -27
- package/src/families/bitcoin/account.ts +1 -1
- package/src/families/bitcoin/bech32m.ts +2 -2
- package/src/families/bitcoin/bridge/js.ts +6 -3
- package/src/families/bitcoin/bridge/mock.ts +6 -2
- package/src/families/bitcoin/js-getFeesForTransaction.ts +1 -1
- package/src/families/bitcoin/js-synchronisation.ts +0 -1
- package/src/families/bitcoin/logic.ts +5 -2
- package/src/families/bitcoin/presync.ts +1 -1
- package/src/families/bitcoin/specs.ts +1 -1
- package/src/families/bitcoin/wallet-btc/crypto/base.ts +0 -20
- package/src/families/bitcoin/wallet-btc/crypto/bip32.ts +6 -5
- package/src/families/bitcoin/wallet-btc/crypto/bitcoincash.ts +1 -9
- package/src/families/bitcoin/wallet-btc/crypto/factory.ts +1 -4
- package/src/families/bitcoin/wallet-btc/crypto/litecoin.ts +1 -20
- package/src/families/bitcoin/wallet-btc/crypto/types.ts +0 -3
- package/src/families/bitcoin/wallet-btc/crypto/zec.ts +1 -7
- package/src/families/bitcoin/wallet-btc/crypto/zen.ts +1 -7
- package/src/families/bitcoin/wallet-btc/explorer/index.ts +24 -49
- package/src/families/bitcoin/wallet-btc/pickingstrategies/CoinSelect.ts +6 -1
- package/src/families/bitcoin/wallet-btc/pickingstrategies/DeepFirst.ts +6 -1
- package/src/families/bitcoin/wallet-btc/pickingstrategies/Merge.ts +6 -1
- package/src/families/bitcoin/wallet-btc/storage/index.ts +34 -20
- package/src/families/bitcoin/wallet-btc/utils.ts +16 -21
- package/src/families/bitcoin/wallet-btc/wallet.ts +17 -31
- package/src/families/bitcoin/wallet-btc/xpub.ts +41 -150
- package/src/families/cardano/js-synchronisation.ts +1 -1
- package/src/families/cardano/specs.ts +1 -1
- package/src/families/celo/specs/createSendMutation.ts +1 -3
- package/src/families/celo/specs.ts +1 -1
- package/src/families/crypto_org/specs.ts +3 -2
- package/src/families/ethereum/specs.ts +3 -3
- package/src/families/evm/specs.ts +6 -6
- package/src/families/filecoin/__snapshots__/bridge.integration.test.ts.snap +24 -2
- package/src/families/filecoin/specs.ts +1 -2
- package/src/families/hedera/api/network.ts +10 -3
- package/src/families/hedera/errors.ts +5 -0
- package/src/families/hedera/specs.ts +0 -17
- package/src/families/osmosis/__snapshots__/bridge.integration.test.ts.snap +101 -3
- package/src/families/osmosis/specs.ts +1 -1
- package/src/families/polkadot/specs.ts +1 -0
- package/src/families/solana/specs.ts +1 -0
- package/src/families/tezos/bakers.whitelist-default.ts +0 -2
- package/src/families/tezos/bridge/js.ts +4 -1
- package/src/featureFlags/defaultFeatures.ts +6 -0
- package/src/hw/actions/app.ts +35 -4
- package/src/hw/connectApp.ts +18 -1
- package/src/manager/localization.ts +2 -2
- package/src/rxjs/operators/retryWithDelay.ts +36 -0
- package/src/rxjs/operators/throwIf.ts +40 -0
- package/lib/families/bitcoin/wallet-btc/utils/eventemitter.d.ts +0 -6
- package/lib/families/bitcoin/wallet-btc/utils/eventemitter.d.ts.map +0 -1
- package/lib/families/bitcoin/wallet-btc/utils/eventemitter.js +0 -64
- package/lib/families/bitcoin/wallet-btc/utils/eventemitter.js.map +0 -1
- package/src/families/bitcoin/wallet-btc/utils/eventemitter.ts +0 -9
package/src/apps/mock.ts
CHANGED
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
import { findCryptoCurrency } from "../currencies";
|
|
12
12
|
import type { ListAppsResult, AppOp, Exec, InstalledItem } from "./types";
|
|
13
13
|
import { getBTCValues } from "../countervalues/mock";
|
|
14
|
-
import { DeviceModelId } from "@ledgerhq/devices";
|
|
14
|
+
import { DeviceModelId, identifyTargetId } from "@ledgerhq/devices";
|
|
15
15
|
import { App, DeviceInfo, FinalFirmware } from "@ledgerhq/types-live";
|
|
16
16
|
|
|
17
17
|
export const deviceInfo155 = {
|
|
@@ -25,6 +25,26 @@ export const deviceInfo155 = {
|
|
|
25
25
|
majMin: "1.5",
|
|
26
26
|
targetId: 823132164,
|
|
27
27
|
};
|
|
28
|
+
|
|
29
|
+
export const deviceInfo210lo5: DeviceInfo = {
|
|
30
|
+
bootloaderVersion: "1.16",
|
|
31
|
+
hardwareVersion: 0,
|
|
32
|
+
isBootloader: false,
|
|
33
|
+
isOSU: false,
|
|
34
|
+
isRecoveryMode: false,
|
|
35
|
+
languageId: 0,
|
|
36
|
+
majMin: "2.1",
|
|
37
|
+
managerAllowed: false,
|
|
38
|
+
mcuVersion: "2.30",
|
|
39
|
+
onboarded: true,
|
|
40
|
+
pinValidated: true,
|
|
41
|
+
providerName: null,
|
|
42
|
+
seTargetId: 855638020,
|
|
43
|
+
seVersion: "2.1.0-lo5",
|
|
44
|
+
targetId: 855638020,
|
|
45
|
+
version: "2.1.0-lo5",
|
|
46
|
+
};
|
|
47
|
+
|
|
28
48
|
const firmware155: FinalFirmware = {
|
|
29
49
|
id: 24,
|
|
30
50
|
name: "1.5.5",
|
|
@@ -145,7 +165,9 @@ export function mockListAppsResult(
|
|
|
145
165
|
appByName,
|
|
146
166
|
appsListNames: apps.map((a) => a.name),
|
|
147
167
|
deviceInfo,
|
|
148
|
-
deviceModelId:
|
|
168
|
+
deviceModelId: deviceInfo.seTargetId
|
|
169
|
+
? identifyTargetId(deviceInfo.seTargetId)?.id ?? <DeviceModelId>"nanoS"
|
|
170
|
+
: <DeviceModelId>"nanoS",
|
|
149
171
|
firmware: firmware155,
|
|
150
172
|
installed,
|
|
151
173
|
installedAvailable: true,
|
package/src/apps/runner.ts
CHANGED
|
@@ -75,11 +75,18 @@ export const runAppOp = (
|
|
|
75
75
|
);
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
type InlineInstallProgress = {
|
|
79
|
+
globalProgress: number;
|
|
80
|
+
itemProgress: number;
|
|
81
|
+
currentAppOp: AppOp | null | undefined;
|
|
82
|
+
installQueue: string[];
|
|
83
|
+
};
|
|
84
|
+
|
|
78
85
|
export const runAllWithProgress = (
|
|
79
86
|
state: State,
|
|
80
87
|
exec: Exec,
|
|
81
88
|
precision = 100
|
|
82
|
-
): Observable<
|
|
89
|
+
): Observable<InlineInstallProgress> => {
|
|
83
90
|
const total = state.uninstallQueue.length + state.installQueue.length;
|
|
84
91
|
|
|
85
92
|
function globalProgress(s, localProgress) {
|
|
@@ -102,9 +109,26 @@ export const runAllWithProgress = (
|
|
|
102
109
|
),
|
|
103
110
|
scan(reducer, state),
|
|
104
111
|
mergeMap((s) => {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
112
|
+
// Nb if you also want to expose the uninstall queue, feel free.
|
|
113
|
+
const { currentProgressSubject, currentAppOp, installQueue } = s;
|
|
114
|
+
|
|
115
|
+
if (!currentProgressSubject)
|
|
116
|
+
return of({
|
|
117
|
+
globalProgress: globalProgress(s, 0),
|
|
118
|
+
itemProgress: 0,
|
|
119
|
+
installQueue,
|
|
120
|
+
currentAppOp,
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
// Expose more information about what's happening during the install
|
|
124
|
+
return currentProgressSubject.pipe(
|
|
125
|
+
map((v) => ({
|
|
126
|
+
globalProgress: globalProgress(s, v),
|
|
127
|
+
itemProgress: v,
|
|
128
|
+
installQueue,
|
|
129
|
+
currentAppOp,
|
|
130
|
+
}))
|
|
131
|
+
);
|
|
108
132
|
}),
|
|
109
133
|
distinctUntilChanged()
|
|
110
134
|
);
|
package/src/apps/support.ts
CHANGED
package/src/bot/engine.ts
CHANGED
|
@@ -52,6 +52,7 @@ import type {
|
|
|
52
52
|
} from "@ledgerhq/types-live";
|
|
53
53
|
import type { Transaction, TransactionStatus } from "../generated/types";
|
|
54
54
|
import { botTest } from "./bot-test-context";
|
|
55
|
+
import { retryWithDelay } from "../rxjs/operators/retryWithDelay";
|
|
55
56
|
|
|
56
57
|
let appCandidates;
|
|
57
58
|
const localCache = {};
|
|
@@ -74,6 +75,9 @@ async function crossAccount(account: Account): Promise<Account> {
|
|
|
74
75
|
return synced;
|
|
75
76
|
}
|
|
76
77
|
|
|
78
|
+
const defaultScanAccountsRetries = 2;
|
|
79
|
+
const delayBetweenScanAccountRetries = 5000;
|
|
80
|
+
|
|
77
81
|
export async function runWithAppSpec<T extends Transaction>(
|
|
78
82
|
spec: AppSpec<T>,
|
|
79
83
|
reportLog: (arg0: string) => void
|
|
@@ -156,6 +160,10 @@ export async function runWithAppSpec<T extends Transaction>(
|
|
|
156
160
|
syncConfig,
|
|
157
161
|
})
|
|
158
162
|
.pipe(
|
|
163
|
+
retryWithDelay(
|
|
164
|
+
delayBetweenScanAccountRetries,
|
|
165
|
+
spec.scanAccountsRetries || defaultScanAccountsRetries
|
|
166
|
+
),
|
|
159
167
|
filter((e) => e.type === "discovered"),
|
|
160
168
|
map((e) => e.account),
|
|
161
169
|
reduce<Account, Account[]>((all, a) => all.concat(a), []),
|
|
@@ -587,7 +595,7 @@ export async function runOnAccount<T extends Transaction>({
|
|
|
587
595
|
// wait the condition are good (operation confirmed)
|
|
588
596
|
// test() is run over and over until either timeout is reach OR success
|
|
589
597
|
const testBefore = now();
|
|
590
|
-
const timeOut = mutation.testTimeout || spec.testTimeout ||
|
|
598
|
+
const timeOut = mutation.testTimeout || spec.testTimeout || 5 * 60 * 1000;
|
|
591
599
|
const step = (account) => {
|
|
592
600
|
const timedOut = now() - testBefore > timeOut;
|
|
593
601
|
const operation = account.operations.find(
|
package/src/bot/index.ts
CHANGED
|
@@ -55,7 +55,7 @@ function convertMutation<T extends Transaction>(
|
|
|
55
55
|
accountId: account?.id,
|
|
56
56
|
destinationId: destination?.id,
|
|
57
57
|
operationId: operation?.id,
|
|
58
|
-
error: error ?
|
|
58
|
+
error: error ? formatError(error) : undefined,
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
|
|
@@ -82,9 +82,10 @@ function convertSpecReport<T extends Transaction>(
|
|
|
82
82
|
const mutations = result.mutations?.map(convertMutation);
|
|
83
83
|
return {
|
|
84
84
|
specName: result.spec.name,
|
|
85
|
-
fatalError: result.fatalError ?
|
|
85
|
+
fatalError: result.fatalError ? formatError(result.fatalError) : undefined,
|
|
86
86
|
accounts,
|
|
87
87
|
mutations,
|
|
88
|
+
existingMutationNames: result.spec.mutations.map((m) => m.name),
|
|
88
89
|
};
|
|
89
90
|
}
|
|
90
91
|
|
|
@@ -392,6 +393,10 @@ export async function bot({
|
|
|
392
393
|
slackBody += warn;
|
|
393
394
|
}
|
|
394
395
|
|
|
396
|
+
appendBody(
|
|
397
|
+
"\n> What is the bot and how does it work? [Everything is documented here!](https://github.com/LedgerHQ/ledger-live/wiki/LLC:bot)\n\n"
|
|
398
|
+
);
|
|
399
|
+
|
|
395
400
|
appendBody("\n\n");
|
|
396
401
|
|
|
397
402
|
if (specFatals.length) {
|
package/src/bot/types.ts
CHANGED
|
@@ -96,6 +96,8 @@ export type AppSpec<T extends Transaction> = {
|
|
|
96
96
|
currency: CryptoCurrency;
|
|
97
97
|
// how much time in ms does the test need to wait the operation to appear
|
|
98
98
|
testTimeout?: number;
|
|
99
|
+
// how much should we retry scan accounts if an error occurs
|
|
100
|
+
scanAccountsRetries?: number;
|
|
99
101
|
// if define, will run the mutations {multipleRuns} times in order to cover 2 txs in the same run and detect possible issues at the "second tx time"
|
|
100
102
|
multipleRuns?: number;
|
|
101
103
|
// define the frequency of exporting/importing back the account to simulate mobile export
|
|
@@ -186,6 +188,7 @@ export type MinimalSerializedSpecReport = {
|
|
|
186
188
|
accounts: AccountRaw[] | undefined;
|
|
187
189
|
fatalError: string | undefined;
|
|
188
190
|
mutations: MinimalSerializedMutationReport[] | undefined;
|
|
191
|
+
existingMutationNames: string[];
|
|
189
192
|
};
|
|
190
193
|
|
|
191
194
|
export type MinimalSerializedReport = {
|
|
@@ -1658,6 +1658,7 @@ Array [
|
|
|
1658
1658
|
"ethereum/erc20/aurei",
|
|
1659
1659
|
"ethereum/erc20/aureus_nummus_gold",
|
|
1660
1660
|
"ethereum/erc20/auric_network",
|
|
1661
|
+
"ethereum/erc20/aurora(_near)",
|
|
1661
1662
|
"ethereum/erc20/aurox_token",
|
|
1662
1663
|
"ethereum/erc20/auruscoin_old",
|
|
1663
1664
|
"ethereum/erc20/aurusdefi",
|
|
@@ -2409,6 +2410,7 @@ Array [
|
|
|
2409
2410
|
"ethereum/erc20/darkenergycrystals",
|
|
2410
2411
|
"ethereum/erc20/darktoken",
|
|
2411
2412
|
"ethereum/erc20/dart_token",
|
|
2413
|
+
"ethereum/erc20/daruma",
|
|
2412
2414
|
"ethereum/erc20/darwinia_commitment_token",
|
|
2413
2415
|
"ethereum/erc20/data_economy_index",
|
|
2414
2416
|
"ethereum/erc20/data_exchange_token",
|
|
@@ -2663,6 +2665,7 @@ Array [
|
|
|
2663
2665
|
"ethereum/erc20/earn_network",
|
|
2664
2666
|
"ethereum/erc20/earnbase",
|
|
2665
2667
|
"ethereum/erc20/earth_token",
|
|
2668
|
+
"ethereum/erc20/ease_token",
|
|
2666
2669
|
"ethereum/erc20/easticoin",
|
|
2667
2670
|
"ethereum/erc20/easy",
|
|
2668
2671
|
"ethereum/erc20/easy_v2",
|
|
@@ -2754,6 +2757,7 @@ Array [
|
|
|
2754
2757
|
"ethereum/erc20/eth_2x_flexible_leverage_index",
|
|
2755
2758
|
"ethereum/erc20/eth_gas",
|
|
2756
2759
|
"ethereum/erc20/eth_limited",
|
|
2760
|
+
"ethereum/erc20/eth_max_yield_index",
|
|
2757
2761
|
"ethereum/erc20/eth_momentum_trigger_set",
|
|
2758
2762
|
"ethereum/erc20/eth_moonshot_x_yield_set",
|
|
2759
2763
|
"ethereum/erc20/eth_price_action_candlestick_set",
|
|
@@ -2809,6 +2813,7 @@ Array [
|
|
|
2809
2813
|
"ethereum/erc20/etor",
|
|
2810
2814
|
"ethereum/erc20/etrade_token",
|
|
2811
2815
|
"ethereum/erc20/eub_chain",
|
|
2816
|
+
"ethereum/erc20/euler",
|
|
2812
2817
|
"ethereum/erc20/eur_tether__erc20_",
|
|
2813
2818
|
"ethereum/erc20/eurbase_stablecoin",
|
|
2814
2819
|
"ethereum/erc20/euro_coin",
|
|
@@ -3254,6 +3259,7 @@ Array [
|
|
|
3254
3259
|
"ethereum/erc20/hot_cross_token",
|
|
3255
3260
|
"ethereum/erc20/hotbit_token",
|
|
3256
3261
|
"ethereum/erc20/hotdollars_token",
|
|
3262
|
+
"ethereum/erc20/hourglass",
|
|
3257
3263
|
"ethereum/erc20/hplus",
|
|
3258
3264
|
"ethereum/erc20/hst",
|
|
3259
3265
|
"ethereum/erc20/hub_finance",
|
|
@@ -3409,6 +3415,7 @@ Array [
|
|
|
3409
3415
|
"ethereum/erc20/joos_token",
|
|
3410
3416
|
"ethereum/erc20/joyso",
|
|
3411
3417
|
"ethereum/erc20/jpeg_governance_token",
|
|
3418
|
+
"ethereum/erc20/jpg_nft_index",
|
|
3412
3419
|
"ethereum/erc20/jpy_coin",
|
|
3413
3420
|
"ethereum/erc20/jpyq_stablecoin_by_q_dao_v1_0",
|
|
3414
3421
|
"ethereum/erc20/jubi_token",
|
|
@@ -3478,6 +3485,7 @@ Array [
|
|
|
3478
3485
|
"ethereum/erc20/kmcc",
|
|
3479
3486
|
"ethereum/erc20/knit_finance",
|
|
3480
3487
|
"ethereum/erc20/knoxstertoken_old",
|
|
3488
|
+
"ethereum/erc20/kodachi_token",
|
|
3481
3489
|
"ethereum/erc20/koinos",
|
|
3482
3490
|
"ethereum/erc20/koji",
|
|
3483
3491
|
"ethereum/erc20/kokoswap_token",
|
|
@@ -3657,10 +3665,12 @@ Array [
|
|
|
3657
3665
|
"ethereum/erc20/marginswap",
|
|
3658
3666
|
"ethereum/erc20/markaccy",
|
|
3659
3667
|
"ethereum/erc20/marlin_pond",
|
|
3668
|
+
"ethereum/erc20/mars4",
|
|
3660
3669
|
"ethereum/erc20/mars_context_network",
|
|
3661
3670
|
"ethereum/erc20/marsan_exchange_token",
|
|
3662
3671
|
"ethereum/erc20/marstoken",
|
|
3663
3672
|
"ethereum/erc20/martcoin",
|
|
3673
|
+
"ethereum/erc20/martin_shkreli_inu",
|
|
3664
3674
|
"ethereum/erc20/marx",
|
|
3665
3675
|
"ethereum/erc20/mask",
|
|
3666
3676
|
"ethereum/erc20/mask_network",
|
|
@@ -3668,6 +3678,7 @@ Array [
|
|
|
3668
3678
|
"ethereum/erc20/masq",
|
|
3669
3679
|
"ethereum/erc20/math_token",
|
|
3670
3680
|
"ethereum/erc20/matic",
|
|
3681
|
+
"ethereum/erc20/maximus_decimus",
|
|
3671
3682
|
"ethereum/erc20/maxxer",
|
|
3672
3683
|
"ethereum/erc20/maya_coin",
|
|
3673
3684
|
"ethereum/erc20/mbcash",
|
|
@@ -4049,6 +4060,7 @@ Array [
|
|
|
4049
4060
|
"ethereum/erc20/pamp_network",
|
|
4050
4061
|
"ethereum/erc20/panda_finance",
|
|
4051
4062
|
"ethereum/erc20/pando_coin",
|
|
4063
|
+
"ethereum/erc20/pandoren_metaworld",
|
|
4052
4064
|
"ethereum/erc20/pantheon_x",
|
|
4053
4065
|
"ethereum/erc20/pantos_token",
|
|
4054
4066
|
"ethereum/erc20/papa_shiba",
|
|
@@ -4407,6 +4419,7 @@ Array [
|
|
|
4407
4419
|
"ethereum/erc20/rizubot",
|
|
4408
4420
|
"ethereum/erc20/rmpl",
|
|
4409
4421
|
"ethereum/erc20/robo_token",
|
|
4422
|
+
"ethereum/erc20/roboape",
|
|
4410
4423
|
"ethereum/erc20/robonomics_web_services_v1",
|
|
4411
4424
|
"ethereum/erc20/roc",
|
|
4412
4425
|
"ethereum/erc20/rock",
|
|
@@ -4900,6 +4913,7 @@ Array [
|
|
|
4900
4913
|
"ethereum/erc20/talkado",
|
|
4901
4914
|
"ethereum/erc20/tama_egg_niftygotchi",
|
|
4902
4915
|
"ethereum/erc20/tamadoge",
|
|
4916
|
+
"ethereum/erc20/tamadoge_(0x99c6)",
|
|
4903
4917
|
"ethereum/erc20/tamy_token",
|
|
4904
4918
|
"ethereum/erc20/tangguotao_token",
|
|
4905
4919
|
"ethereum/erc20/tapcoin",
|
|
@@ -4913,6 +4927,7 @@ Array [
|
|
|
4913
4927
|
"ethereum/erc20/tattoomoney",
|
|
4914
4928
|
"ethereum/erc20/taurus_chain",
|
|
4915
4929
|
"ethereum/erc20/tavittcoin",
|
|
4930
|
+
"ethereum/erc20/tax_haven_inu",
|
|
4916
4931
|
"ethereum/erc20/tbc2",
|
|
4917
4932
|
"ethereum/erc20/tbc_mart_token",
|
|
4918
4933
|
"ethereum/erc20/tbitbot",
|
|
@@ -5572,6 +5587,7 @@ Array [
|
|
|
5572
5587
|
"ethereum/erc20/yield_guild_games_token",
|
|
5573
5588
|
"ethereum/erc20/yield_protocol",
|
|
5574
5589
|
"ethereum/erc20/yieldfarming_insure",
|
|
5590
|
+
"ethereum/erc20/yieldification",
|
|
5575
5591
|
"ethereum/erc20/yieldly",
|
|
5576
5592
|
"ethereum/erc20/yieldwars_com",
|
|
5577
5593
|
"ethereum/erc20/ymax",
|
|
@@ -5743,6 +5759,7 @@ Array [
|
|
|
5743
5759
|
"polygon/erc20/crv_(pos)",
|
|
5744
5760
|
"polygon/erc20/cryption_network_token",
|
|
5745
5761
|
"polygon/erc20/crypto_development_services",
|
|
5762
|
+
"polygon/erc20/cryptonovae",
|
|
5746
5763
|
"polygon/erc20/curve_amdaiamusdcamusdt",
|
|
5747
5764
|
"polygon/erc20/curve_factory_plain_pool_2jpy",
|
|
5748
5765
|
"polygon/erc20/curve_factory_plain_pool_4eur",
|
|
@@ -5841,6 +5858,7 @@ Array [
|
|
|
5841
5858
|
"polygon/erc20/kastatoken",
|
|
5842
5859
|
"polygon/erc20/keep_token",
|
|
5843
5860
|
"polygon/erc20/kiwi_lemon",
|
|
5861
|
+
"polygon/erc20/klima_dao",
|
|
5844
5862
|
"polygon/erc20/kommunitas",
|
|
5845
5863
|
"polygon/erc20/krill",
|
|
5846
5864
|
"polygon/erc20/kyber_network_crystal_v2_(pos)",
|
|
@@ -5860,6 +5878,7 @@ Array [
|
|
|
5860
5878
|
"polygon/erc20/masq_(pos)",
|
|
5861
5879
|
"polygon/erc20/matic_aave_interest_bearing_usdc",
|
|
5862
5880
|
"polygon/erc20/meta",
|
|
5881
|
+
"polygon/erc20/metavault_trade",
|
|
5863
5882
|
"polygon/erc20/metaverse_index_(pos)",
|
|
5864
5883
|
"polygon/erc20/mimatic",
|
|
5865
5884
|
"polygon/erc20/minerva_wallet_supertoken",
|
|
@@ -6021,6 +6040,7 @@ Array [
|
|
|
6021
6040
|
"polygon/erc20/wlitidao",
|
|
6022
6041
|
"polygon/erc20/woofy",
|
|
6023
6042
|
"polygon/erc20/wootrade_network",
|
|
6043
|
+
"polygon/erc20/wrapped_banano",
|
|
6024
6044
|
"polygon/erc20/wrapped_celo",
|
|
6025
6045
|
"polygon/erc20/wrapped_ether",
|
|
6026
6046
|
"polygon/erc20/wrapped_filecoin_(pos)",
|
|
@@ -6239,6 +6259,7 @@ Array [
|
|
|
6239
6259
|
"bsc/bep20/dogedash",
|
|
6240
6260
|
"bsc/bep20/doggy",
|
|
6241
6261
|
"bsc/bep20/dopple_token",
|
|
6262
|
+
"bsc/bep20/dor_token",
|
|
6242
6263
|
"bsc/bep20/dos_network_token_bep20",
|
|
6243
6264
|
"bsc/bep20/dragonslayer",
|
|
6244
6265
|
"bsc/bep20/drip_token",
|
|
@@ -6325,6 +6346,7 @@ Array [
|
|
|
6325
6346
|
"bsc/bep20/itam",
|
|
6326
6347
|
"bsc/bep20/jedstar",
|
|
6327
6348
|
"bsc/bep20/jefe",
|
|
6349
|
+
"bsc/bep20/jimizz",
|
|
6328
6350
|
"bsc/bep20/jointer",
|
|
6329
6351
|
"bsc/bep20/juggernaut_defi",
|
|
6330
6352
|
"bsc/bep20/julswap",
|
|
@@ -6344,6 +6366,7 @@ Array [
|
|
|
6344
6366
|
"bsc/bep20/linear_token",
|
|
6345
6367
|
"bsc/bep20/litentry",
|
|
6346
6368
|
"bsc/bep20/littlemoose",
|
|
6369
|
+
"bsc/bep20/lovelace",
|
|
6347
6370
|
"bsc/bep20/lovely_inu_finance",
|
|
6348
6371
|
"bsc/bep20/lto_network",
|
|
6349
6372
|
"bsc/bep20/luckyblock",
|
|
@@ -6379,6 +6402,7 @@ Array [
|
|
|
6379
6402
|
"bsc/bep20/moomonster_token",
|
|
6380
6403
|
"bsc/bep20/moonienft_token",
|
|
6381
6404
|
"bsc/bep20/moonpot",
|
|
6405
|
+
"bsc/bep20/moonscape",
|
|
6382
6406
|
"bsc/bep20/morphie",
|
|
6383
6407
|
"bsc/bep20/mound_token",
|
|
6384
6408
|
"bsc/bep20/movez.me",
|
|
@@ -6435,9 +6459,11 @@ Array [
|
|
|
6435
6459
|
"bsc/bep20/pnetwork_token",
|
|
6436
6460
|
"bsc/bep20/poco_token",
|
|
6437
6461
|
"bsc/bep20/poken",
|
|
6462
|
+
"bsc/bep20/polka_city",
|
|
6438
6463
|
"bsc/bep20/polkamon",
|
|
6439
6464
|
"bsc/bep20/polkastartertoken",
|
|
6440
6465
|
"bsc/bep20/polycrowns",
|
|
6466
|
+
"bsc/bep20/prismvio",
|
|
6441
6467
|
"bsc/bep20/project_galaxy",
|
|
6442
6468
|
"bsc/bep20/prometeus",
|
|
6443
6469
|
"bsc/bep20/propel",
|
|
@@ -6495,6 +6521,7 @@ Array [
|
|
|
6495
6521
|
"bsc/bep20/singularity_dao",
|
|
6496
6522
|
"bsc/bep20/smart_advertising_transaction_token",
|
|
6497
6523
|
"bsc/bep20/snappy_doge",
|
|
6524
|
+
"bsc/bep20/snufflesinu",
|
|
6498
6525
|
"bsc/bep20/socialdefi",
|
|
6499
6526
|
"bsc/bep20/solana_farm",
|
|
6500
6527
|
"bsc/bep20/spartan_protocol_token_v2",
|
|
@@ -6538,6 +6565,7 @@ Array [
|
|
|
6538
6565
|
"bsc/bep20/torekko",
|
|
6539
6566
|
"bsc/bep20/torum",
|
|
6540
6567
|
"bsc/bep20/torum_finance",
|
|
6568
|
+
"bsc/bep20/torum_old",
|
|
6541
6569
|
"bsc/bep20/totally_a_rug_pull",
|
|
6542
6570
|
"bsc/bep20/tozex",
|
|
6543
6571
|
"bsc/bep20/tree_token",
|
|
@@ -6560,6 +6588,7 @@ Array [
|
|
|
6560
6588
|
"bsc/bep20/unmarshaltoken",
|
|
6561
6589
|
"bsc/bep20/upbots",
|
|
6562
6590
|
"bsc/bep20/usdp_stablecoin",
|
|
6591
|
+
"bsc/bep20/usdtatsu",
|
|
6563
6592
|
"bsc/bep20/vagabond",
|
|
6564
6593
|
"bsc/bep20/vai_stablecoin",
|
|
6565
6594
|
"bsc/bep20/vallhund_inu",
|
|
@@ -6585,6 +6614,7 @@ Array [
|
|
|
6585
6614
|
"bsc/bep20/venus_xrp",
|
|
6586
6615
|
"bsc/bep20/venus_xvs",
|
|
6587
6616
|
"bsc/bep20/vfox",
|
|
6617
|
+
"bsc/bep20/vitalik_bigdick_inu",
|
|
6588
6618
|
"bsc/bep20/volt_inu",
|
|
6589
6619
|
"bsc/bep20/vswap.fi",
|
|
6590
6620
|
"bsc/bep20/wall_street_games",
|
|
@@ -6600,6 +6630,8 @@ Array [
|
|
|
6600
6630
|
"bsc/bep20/wink",
|
|
6601
6631
|
"bsc/bep20/wootrade_network",
|
|
6602
6632
|
"bsc/bep20/wrapped_banano",
|
|
6633
|
+
"bsc/bep20/wrapped_bitcoinz",
|
|
6634
|
+
"bsc/bep20/wrapped_blackcoin",
|
|
6603
6635
|
"bsc/bep20/wrapped_bnb",
|
|
6604
6636
|
"bsc/bep20/wrapped_mass",
|
|
6605
6637
|
"bsc/bep20/wrapped_mir_token",
|
|
@@ -6618,6 +6650,7 @@ Array [
|
|
|
6618
6650
|
"bsc/bep20/yieldwatch",
|
|
6619
6651
|
"bsc/bep20/yourkiss",
|
|
6620
6652
|
"bsc/bep20/yummy",
|
|
6653
|
+
"bsc/bep20/zeedex",
|
|
6621
6654
|
"bsc/bep20/zeroswaptoken",
|
|
6622
6655
|
"bsc/bep20/zilliqa",
|
|
6623
6656
|
"bsc/bep20/zmine_token",
|
|
@@ -448,6 +448,7 @@ export { default as xuc } from "./xuc";
|
|
|
448
448
|
export { default as xvc } from "./xvc";
|
|
449
449
|
export { default as xvg } from "./xvg";
|
|
450
450
|
export { default as xzc } from "./xzc";
|
|
451
|
+
export { default as yae } from "./yae";
|
|
451
452
|
export { default as yfi } from "./yfi";
|
|
452
453
|
export { default as yoyow } from "./yoyow";
|
|
453
454
|
export { default as zcl } from "./zcl";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
interface Props {
|
|
6
|
+
size: number;
|
|
7
|
+
color?: string;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
function yae({size, color = "currentColor"}: Props) {
|
|
11
|
+
return <svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M16.001 31.914c8.838 0 16.002-7.144 16.002-15.957S24.839 0 16 0C7.164 0 0 7.144 0 15.957s7.164 15.957 16.001 15.957z" fill={color} /><path d="m24.277 18.12-4.242 8.662H14.06l4.242-8.662-2.122-4.328h5.978l2.12 4.328zm-10.574-4.326 4.24-8.662h-5.976l-4.24 8.662 2.12 4.33h5.976l-2.12-4.33z" fill={color} /></svg>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export default yae;
|
|
@@ -448,6 +448,7 @@ export { default as xuc } from "./xuc";
|
|
|
448
448
|
export { default as xvc } from "./xvc";
|
|
449
449
|
export { default as xvg } from "./xvg";
|
|
450
450
|
export { default as xzc } from "./xzc";
|
|
451
|
+
export { default as yae } from "./yae";
|
|
451
452
|
export { default as yfi } from "./yfi";
|
|
452
453
|
export { default as yoyow } from "./yoyow";
|
|
453
454
|
export { default as zcl } from "./zcl";
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
|
|
2
|
+
// @ts-nocheck
|
|
3
|
+
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import Svg, { Path } from "react-native-svg";
|
|
6
|
+
interface Props {
|
|
7
|
+
size: number;
|
|
8
|
+
color: string;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
function yae({ size, color }: Props) {
|
|
12
|
+
return <Svg width={size} height={size} viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><Path d="M16.001 31.914c8.838 0 16.002-7.144 16.002-15.957S24.839 0 16 0C7.164 0 0 7.144 0 15.957s7.164 15.957 16.001 15.957z" fill={color} /><Path d="m24.277 18.12-4.242 8.662H14.06l4.242-8.662-2.122-4.328h5.978l2.12 4.328zm-10.574-4.326 4.24-8.662h-5.976l-4.24 8.662 2.12 4.33h5.976l-2.12-4.33z" fill={color} /></Svg>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export default yae;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M16.001 31.914c8.838 0 16.002-7.144 16.002-15.957S24.839 0 16 0C7.164 0 0 7.144 0 15.957s7.164 15.957 16.001 15.957z" fill="#ff2f67"/>
|
|
3
|
+
<path d="m24.277 18.12-4.242 8.662H14.06l4.242-8.662-2.122-4.328h5.978l2.12 4.328zm-10.574-4.326 4.24-8.662h-5.976l-4.24 8.662 2.12 4.33h5.976l-2.12-4.33z" fill="#fff"/>
|
|
4
|
+
</svg>
|
|
@@ -138,9 +138,9 @@ export default class Exchange {
|
|
|
138
138
|
invariant(payoutCurrencyConfig.length <= 255, "Currency config is too big");
|
|
139
139
|
invariant(addressParameters.length <= 255, "Address parameter is too big.");
|
|
140
140
|
invariant(
|
|
141
|
-
currencyConfigSignature.length >=
|
|
141
|
+
currencyConfigSignature.length >= 67 &&
|
|
142
142
|
currencyConfigSignature.length <= 73,
|
|
143
|
-
"Signature should be DER serialized and have length in [
|
|
143
|
+
"Signature should be DER serialized and have length in [67, 73] bytes."
|
|
144
144
|
);
|
|
145
145
|
const bufferToSend: Buffer = Buffer.concat([
|
|
146
146
|
Buffer.from([payoutCurrencyConfig.length]),
|
|
@@ -170,9 +170,9 @@ export default class Exchange {
|
|
|
170
170
|
invariant(refundCurrencyConfig.length <= 255, "Currency config is too big");
|
|
171
171
|
invariant(addressParameters.length <= 255, "Address parameter is too big.");
|
|
172
172
|
invariant(
|
|
173
|
-
currencyConfigSignature.length >=
|
|
173
|
+
currencyConfigSignature.length >= 67 &&
|
|
174
174
|
currencyConfigSignature.length <= 73,
|
|
175
|
-
"Signature should be DER serialized and have length in [
|
|
175
|
+
"Signature should be DER serialized and have length in [67, 73] bytes."
|
|
176
176
|
);
|
|
177
177
|
const bufferToSend: Buffer = Buffer.concat([
|
|
178
178
|
Buffer.from([refundCurrencyConfig.length]),
|