@ledgerhq/live-common 34.41.0-nightly.0 → 34.41.0-nightly.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__/test-helpers/bridge.d.ts.map +1 -1
- package/lib/__tests__/test-helpers/bridge.js +0 -4
- package/lib/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib/bridge/impl.d.ts.map +1 -1
- package/lib/bridge/impl.js +45 -4
- package/lib/bridge/impl.js.map +1 -1
- package/lib/bridge/useBridgeTransaction.test.js +9 -0
- package/lib/bridge/useBridgeTransaction.test.js.map +1 -1
- package/lib/e2e/enum/Account.d.ts +1 -0
- package/lib/e2e/enum/Account.d.ts.map +1 -1
- package/lib/e2e/enum/Account.js +1 -0
- package/lib/e2e/enum/Account.js.map +1 -1
- package/lib/e2e/index.d.ts +1 -0
- package/lib/e2e/index.d.ts.map +1 -1
- package/lib/e2e/speculos.d.ts.map +1 -1
- package/lib/e2e/speculos.js +2 -0
- package/lib/e2e/speculos.js.map +1 -1
- package/lib/env.react.d.ts +1 -1
- package/lib/env.react.d.ts.map +1 -1
- package/lib/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib/exchange/swap/completeExchange.js +13 -0
- package/lib/exchange/swap/completeExchange.js.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.d.ts.map +1 -1
- package/lib-es/__tests__/test-helpers/bridge.js +0 -4
- package/lib-es/__tests__/test-helpers/bridge.js.map +1 -1
- package/lib-es/bridge/impl.d.ts.map +1 -1
- package/lib-es/bridge/impl.js +43 -2
- package/lib-es/bridge/impl.js.map +1 -1
- package/lib-es/bridge/useBridgeTransaction.test.js +9 -0
- package/lib-es/bridge/useBridgeTransaction.test.js.map +1 -1
- package/lib-es/e2e/enum/Account.d.ts +1 -0
- package/lib-es/e2e/enum/Account.d.ts.map +1 -1
- package/lib-es/e2e/enum/Account.js +1 -0
- package/lib-es/e2e/enum/Account.js.map +1 -1
- package/lib-es/e2e/index.d.ts +1 -0
- package/lib-es/e2e/index.d.ts.map +1 -1
- package/lib-es/e2e/speculos.d.ts.map +1 -1
- package/lib-es/e2e/speculos.js +2 -0
- package/lib-es/e2e/speculos.js.map +1 -1
- package/lib-es/env.react.d.ts +1 -1
- package/lib-es/env.react.d.ts.map +1 -1
- package/lib-es/exchange/swap/completeExchange.d.ts.map +1 -1
- package/lib-es/exchange/swap/completeExchange.js +13 -0
- package/lib-es/exchange/swap/completeExchange.js.map +1 -1
- package/package.json +33 -33
- package/src/__tests__/test-helpers/bridge.ts +0 -4
- package/src/bridge/impl.ts +70 -3
- package/src/bridge/useBridgeTransaction.test.ts +10 -0
- package/src/e2e/enum/Account.ts +6 -0
- package/src/e2e/speculos.ts +2 -0
- package/src/exchange/swap/completeExchange.ts +14 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"completeExchange.js","sourceRoot":"","sources":["../../../src/exchange/swap/completeExchange.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,EACjC,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EAEd,uBAAuB,GAExB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACrC,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAwB,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEvE,OAAO,EAAE,8BAA8B,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"completeExchange.js","sourceRoot":"","sources":["../../../src/exchange/swap/completeExchange.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@ledgerhq/live-common",
|
3
3
|
"description": "Common ground for the Ledger Live apps",
|
4
|
-
"version": "34.41.0-nightly.
|
4
|
+
"version": "34.41.0-nightly.1",
|
5
5
|
"repository": {
|
6
6
|
"type": "git",
|
7
7
|
"url": "https://github.com/LedgerHQ/ledger-live.git"
|
@@ -162,32 +162,32 @@
|
|
162
162
|
"xstate": "^5.19.2",
|
163
163
|
"yargs": "^17.0.0",
|
164
164
|
"zod": "^3.22.4",
|
165
|
-
"@ledgerhq/coin-algorand": "^0.9.13-nightly.
|
166
|
-
"@ledgerhq/coin-aptos": "^2.5.1-nightly.
|
167
|
-
"@ledgerhq/coin-bitcoin": "^0.
|
168
|
-
"@ledgerhq/coin-cardano": "^0.
|
169
|
-
"@ledgerhq/coin-casper": "^2.0.4-nightly.
|
170
|
-
"@ledgerhq/coin-celo": "^1.1.11-nightly.
|
171
|
-
"@ledgerhq/coin-cosmos": "^0.16.2-nightly.
|
172
|
-
"@ledgerhq/coin-evm": "^2.
|
173
|
-
"@ledgerhq/coin-filecoin": "^1.9.13-nightly.
|
174
|
-
"@ledgerhq/coin-framework": "^5.
|
175
|
-
"@ledgerhq/coin-hedera": "^1.8.2-nightly.
|
176
|
-
"@ledgerhq/coin-icon": "^0.10.13-nightly.
|
177
|
-
"@ledgerhq/coin-internet_computer": "^1.7.13-nightly.
|
178
|
-
"@ledgerhq/coin-mina": "^1.1.12-nightly.
|
179
|
-
"@ledgerhq/coin-multiversx": "^0.4.13-nightly.
|
180
|
-
"@ledgerhq/coin-near": "^0.11.13-nightly.
|
181
|
-
"@ledgerhq/coin-polkadot": "^6.3.1-nightly.
|
182
|
-
"@ledgerhq/coin-solana": "^0.27.2-nightly.
|
183
|
-
"@ledgerhq/coin-stacks": "^0.8.13-nightly.
|
184
|
-
"@ledgerhq/coin-stellar": "^5.3.1-nightly.
|
185
|
-
"@ledgerhq/coin-sui": "^0.6.1-nightly.
|
186
|
-
"@ledgerhq/coin-tezos": "^5.6.0-nightly.
|
187
|
-
"@ledgerhq/coin-ton": "^0.13.2-nightly.
|
188
|
-
"@ledgerhq/coin-tron": "^4.4.1-nightly.
|
189
|
-
"@ledgerhq/coin-vechain": "^2.7.13-nightly.
|
190
|
-
"@ledgerhq/coin-xrp": "^6.3.1-nightly.
|
165
|
+
"@ledgerhq/coin-algorand": "^0.9.13-nightly.1",
|
166
|
+
"@ledgerhq/coin-aptos": "^2.5.1-nightly.1",
|
167
|
+
"@ledgerhq/coin-bitcoin": "^0.17.0-nightly.1",
|
168
|
+
"@ledgerhq/coin-cardano": "^0.9.0-nightly.1",
|
169
|
+
"@ledgerhq/coin-casper": "^2.0.4-nightly.1",
|
170
|
+
"@ledgerhq/coin-celo": "^1.1.11-nightly.1",
|
171
|
+
"@ledgerhq/coin-cosmos": "^0.16.2-nightly.1",
|
172
|
+
"@ledgerhq/coin-evm": "^2.23.0-nightly.1",
|
173
|
+
"@ledgerhq/coin-filecoin": "^1.9.13-nightly.1",
|
174
|
+
"@ledgerhq/coin-framework": "^5.6.0-nightly.1",
|
175
|
+
"@ledgerhq/coin-hedera": "^1.8.2-nightly.1",
|
176
|
+
"@ledgerhq/coin-icon": "^0.10.13-nightly.1",
|
177
|
+
"@ledgerhq/coin-internet_computer": "^1.7.13-nightly.1",
|
178
|
+
"@ledgerhq/coin-mina": "^1.1.12-nightly.1",
|
179
|
+
"@ledgerhq/coin-multiversx": "^0.4.13-nightly.1",
|
180
|
+
"@ledgerhq/coin-near": "^0.11.13-nightly.1",
|
181
|
+
"@ledgerhq/coin-polkadot": "^6.3.1-nightly.1",
|
182
|
+
"@ledgerhq/coin-solana": "^0.27.2-nightly.1",
|
183
|
+
"@ledgerhq/coin-stacks": "^0.8.13-nightly.1",
|
184
|
+
"@ledgerhq/coin-stellar": "^5.3.1-nightly.1",
|
185
|
+
"@ledgerhq/coin-sui": "^0.6.1-nightly.1",
|
186
|
+
"@ledgerhq/coin-tezos": "^5.6.0-nightly.1",
|
187
|
+
"@ledgerhq/coin-ton": "^0.13.2-nightly.1",
|
188
|
+
"@ledgerhq/coin-tron": "^4.4.1-nightly.1",
|
189
|
+
"@ledgerhq/coin-vechain": "^2.7.13-nightly.1",
|
190
|
+
"@ledgerhq/coin-xrp": "^6.3.1-nightly.1",
|
191
191
|
"@ledgerhq/crypto-icons-ui": "^1.16.0-nightly.0",
|
192
192
|
"@ledgerhq/cryptoassets": "^13.21.0",
|
193
193
|
"@ledgerhq/device-core": "^0.5.2-nightly.0",
|
@@ -215,17 +215,17 @@
|
|
215
215
|
"@ledgerhq/hw-transport-mocker": "^6.29.7",
|
216
216
|
"@ledgerhq/ledger-cal-service": "^1.2.0",
|
217
217
|
"@ledgerhq/live-config": "^3.1.0",
|
218
|
-
"@ledgerhq/live-countervalues": "^0.5.13-nightly.
|
219
|
-
"@ledgerhq/live-countervalues-react": "^0.2.42-nightly.
|
218
|
+
"@ledgerhq/live-countervalues": "^0.5.13-nightly.1",
|
219
|
+
"@ledgerhq/live-countervalues-react": "^0.2.42-nightly.1",
|
220
220
|
"@ledgerhq/live-dmk-shared": "^0.10.0",
|
221
221
|
"@ledgerhq/live-env": "^2.11.0",
|
222
222
|
"@ledgerhq/live-hooks": "0.1.0",
|
223
223
|
"@ledgerhq/live-network": "^2.0.12",
|
224
|
-
"@ledgerhq/live-nft": "^0.8.13-nightly.
|
224
|
+
"@ledgerhq/live-nft": "^0.8.13-nightly.1",
|
225
225
|
"@ledgerhq/live-promise": "^0.1.1",
|
226
|
-
"@ledgerhq/live-signer-evm": "^0.5.6-nightly.
|
227
|
-
"@ledgerhq/live-signer-solana": "^0.4.1-nightly.
|
228
|
-
"@ledgerhq/live-wallet": "^0.11.4-nightly.
|
226
|
+
"@ledgerhq/live-signer-evm": "^0.5.6-nightly.1",
|
227
|
+
"@ledgerhq/live-signer-solana": "^0.4.1-nightly.1",
|
228
|
+
"@ledgerhq/live-wallet": "^0.11.4-nightly.1",
|
229
229
|
"@ledgerhq/logs": "^6.13.0",
|
230
230
|
"@ledgerhq/speculos-transport": "^0.2.5",
|
231
231
|
"@ledgerhq/wallet-api-acre-module": "^0.5.0",
|
@@ -382,10 +382,6 @@ export function testBridge<T extends TransactionCommon>(data: DatasetTest<T>): v
|
|
382
382
|
});
|
383
383
|
}
|
384
384
|
}
|
385
|
-
makeTest("bridge ref equality", async () => {
|
386
|
-
const account = await getSynced();
|
387
|
-
expect(bridge).toBe(getAccountBridge(account, null)); // Original strict equality check
|
388
|
-
});
|
389
385
|
makeTest("account have no NaN values", async () => {
|
390
386
|
const account = await getSynced();
|
391
387
|
[account, ...(account.subAccounts || [])].forEach(a => {
|
package/src/bridge/impl.ts
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
import {
|
2
|
+
isAddressSanctioned,
|
3
|
+
isCheckSanctionedAddressEnabled,
|
4
|
+
} from "@ledgerhq/coin-framework/sanction/index";
|
1
5
|
import { CurrencyNotSupported } from "@ledgerhq/errors";
|
2
6
|
import { decodeAccountId, getMainAccount } from "../account";
|
3
7
|
import { getEnv } from "@ledgerhq/live-env";
|
@@ -5,9 +9,17 @@ import { checkAccountSupported } from "../account/index";
|
|
5
9
|
import jsBridges from "../generated/bridge/js";
|
6
10
|
import mockBridges from "../generated/bridge/mock";
|
7
11
|
import type { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
|
8
|
-
import {
|
12
|
+
import {
|
13
|
+
Account,
|
14
|
+
AccountBridge,
|
15
|
+
AccountLike,
|
16
|
+
CurrencyBridge,
|
17
|
+
TransactionCommon,
|
18
|
+
TransactionStatusCommon,
|
19
|
+
} from "@ledgerhq/types-live";
|
9
20
|
import { getAlpacaAccountBridge } from "./generic-alpaca/accountBridge";
|
10
21
|
import { getAlpacaCurrencyBridge } from "./generic-alpaca/currencyBridge";
|
22
|
+
import { AddressesSanctionedError } from "@ledgerhq/coin-framework/sanction/errors";
|
11
23
|
|
12
24
|
const alpacaized = {
|
13
25
|
xrp: true,
|
@@ -70,7 +82,7 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
|
|
70
82
|
|
71
83
|
if (type === "mock") {
|
72
84
|
const mockBridge = mockBridges[family];
|
73
|
-
if (mockBridge) return mockBridge.accountBridge;
|
85
|
+
if (mockBridge) return wrapAccountBridge(mockBridge.accountBridge);
|
74
86
|
}
|
75
87
|
}
|
76
88
|
|
@@ -85,5 +97,60 @@ export function getAccountBridgeByFamily(family: string, accountId?: string): Ac
|
|
85
97
|
if (!jsBridge) {
|
86
98
|
throw new CurrencyNotSupported("account bridge not found " + family);
|
87
99
|
}
|
88
|
-
return jsBridge.accountBridge;
|
100
|
+
return wrapAccountBridge(jsBridge.accountBridge);
|
101
|
+
}
|
102
|
+
|
103
|
+
function wrapAccountBridge<T extends TransactionCommon>(
|
104
|
+
bridge: AccountBridge<T>,
|
105
|
+
): AccountBridge<T> {
|
106
|
+
return {
|
107
|
+
...bridge,
|
108
|
+
getTransactionStatus: async (...args) => {
|
109
|
+
const blockchainTransactionStatus = await bridge.getTransactionStatus(...args);
|
110
|
+
|
111
|
+
const account = args[0];
|
112
|
+
if (!isCheckSanctionedAddressEnabled(account.currency)) {
|
113
|
+
return blockchainTransactionStatus;
|
114
|
+
}
|
115
|
+
|
116
|
+
const commonTransactionStatus = await commonGetTransactionStatus(...args);
|
117
|
+
return mergeResults(blockchainTransactionStatus, commonTransactionStatus);
|
118
|
+
},
|
119
|
+
};
|
120
|
+
}
|
121
|
+
|
122
|
+
function mergeResults(
|
123
|
+
blockchainTransactionStatus: TransactionStatusCommon,
|
124
|
+
commonTransactionStatus: Partial<TransactionStatusCommon>,
|
125
|
+
): TransactionStatusCommon {
|
126
|
+
const errors = { ...blockchainTransactionStatus.errors, ...commonTransactionStatus.errors };
|
127
|
+
const warnings = { ...blockchainTransactionStatus.warnings, ...commonTransactionStatus.warnings };
|
128
|
+
return { ...blockchainTransactionStatus, errors, warnings };
|
129
|
+
}
|
130
|
+
|
131
|
+
async function commonGetTransactionStatus(
|
132
|
+
account: Account,
|
133
|
+
transaction: TransactionCommon,
|
134
|
+
): Promise<Partial<TransactionStatusCommon>> {
|
135
|
+
const errors: Record<string, Error> = {};
|
136
|
+
const warnings: Record<string, Error> = {};
|
137
|
+
|
138
|
+
let isRecipientSanctioned = false;
|
139
|
+
if (transaction.recipient && transaction.recipient !== "") {
|
140
|
+
isRecipientSanctioned = await isAddressSanctioned(account.currency, transaction.recipient);
|
141
|
+
if (isRecipientSanctioned) {
|
142
|
+
errors.recipient = new AddressesSanctionedError("AddressesSanctionedError", {
|
143
|
+
addresses: [transaction.recipient],
|
144
|
+
});
|
145
|
+
}
|
146
|
+
}
|
147
|
+
|
148
|
+
const isSenderSanctioned = await isAddressSanctioned(account.currency, account.freshAddress);
|
149
|
+
if (isSenderSanctioned) {
|
150
|
+
errors.sender = new AddressesSanctionedError("AddressesSanctionedError", {
|
151
|
+
addresses: [account.freshAddress],
|
152
|
+
});
|
153
|
+
}
|
154
|
+
|
155
|
+
return { errors, warnings };
|
89
156
|
}
|
@@ -11,11 +11,21 @@ import useBridgeTransaction, {
|
|
11
11
|
getGlobalOnBridgeError,
|
12
12
|
} from "./useBridgeTransaction";
|
13
13
|
import { setSupportedCurrencies } from "../currencies";
|
14
|
+
import { LiveConfig } from "@ledgerhq/live-config/lib/LiveConfig";
|
14
15
|
|
15
16
|
const BTC = getCryptoCurrencyById("bitcoin");
|
16
17
|
|
17
18
|
setSupportedCurrencies(["bitcoin"]);
|
18
19
|
|
20
|
+
LiveConfig.setConfig({
|
21
|
+
config_currency_bitcoin: {
|
22
|
+
type: "object",
|
23
|
+
default: {
|
24
|
+
checkSanctionedAddress: false,
|
25
|
+
},
|
26
|
+
},
|
27
|
+
});
|
28
|
+
|
19
29
|
describe("useBridgeTransaction", () => {
|
20
30
|
test("initialize with a BTC account settles the transaction", async () => {
|
21
31
|
const mainAccount = genAccount("mocked-account-1", { currency: BTC });
|
package/src/e2e/enum/Account.ts
CHANGED
@@ -277,6 +277,12 @@ export class Account {
|
|
277
277
|
"0x50F293e4C3815F5214dac1Bae8F8FC3F24b8BA59",
|
278
278
|
3,
|
279
279
|
);
|
280
|
+
static readonly SANCTIONED_ETH = new Account(
|
281
|
+
Currency.ETH,
|
282
|
+
"Sanctioned Ethereum",
|
283
|
+
"0x04DBA1194ee10112fE6C3207C0687DEf0e78baCf",
|
284
|
+
0,
|
285
|
+
);
|
280
286
|
|
281
287
|
static readonly INJ_1 = new Account(
|
282
288
|
Currency.INJ,
|
package/src/e2e/speculos.ts
CHANGED
@@ -672,12 +672,14 @@ export async function signDelegationTransaction(delegatingAccount: Delegate) {
|
|
672
672
|
}
|
673
673
|
|
674
674
|
export async function verifyAmountsAndAcceptSwap(swap: Swap, amount: string) {
|
675
|
+
await waitFor(DeviceLabels.REVIEW_TRANSACTION);
|
675
676
|
const events = await pressUntilTextFound(DeviceLabels.ACCEPT);
|
676
677
|
await verifySwapData(swap, events, amount);
|
677
678
|
await pressBoth();
|
678
679
|
}
|
679
680
|
|
680
681
|
export async function verifyAmountsAndRejectSwap(swap: Swap, amount: string) {
|
682
|
+
await waitFor(DeviceLabels.REVIEW_TRANSACTION);
|
681
683
|
const events = await pressUntilTextFound(DeviceLabels.REJECT);
|
682
684
|
await verifySwapData(swap, events, amount);
|
683
685
|
await pressBoth();
|
@@ -25,6 +25,8 @@ import { CompleteExchangeStep, convertTransportError } from "../error";
|
|
25
25
|
import type { CompleteExchangeInputSwap, CompleteExchangeRequestEvent } from "../platform/types";
|
26
26
|
import { convertToAppExchangePartnerKey, getSwapProvider } from "../providers";
|
27
27
|
import { CEXProviderConfig } from "../providers/swap";
|
28
|
+
import { isAddressSanctioned } from "@ledgerhq/coin-framework/sanction/index";
|
29
|
+
import { AddressesSanctionedError } from "@ledgerhq/coin-framework/sanction/errors";
|
28
30
|
|
29
31
|
const COMPLETE_EXCHANGE_LOG = "SWAP-CompleteExchange";
|
30
32
|
|
@@ -64,6 +66,18 @@ const completeExchange = (
|
|
64
66
|
const payoutCurrency = getAccountCurrency(toAccount);
|
65
67
|
const refundCurrency = getAccountCurrency(fromAccount);
|
66
68
|
const mainRefundCurrency = getAccountCurrency(refundAccount);
|
69
|
+
|
70
|
+
const sanctionedAddresses: string[] = [];
|
71
|
+
for (const acc of [refundAccount, payoutAccount]) {
|
72
|
+
const isSanctioned = await isAddressSanctioned(acc.currency, acc.freshAddress);
|
73
|
+
if (isSanctioned) sanctionedAddresses.push(acc.freshAddress);
|
74
|
+
}
|
75
|
+
|
76
|
+
if (sanctionedAddresses.length > 0) {
|
77
|
+
throw new AddressesSanctionedError("AddressesSanctionedError", {
|
78
|
+
addresses: sanctionedAddresses,
|
79
|
+
});
|
80
|
+
}
|
67
81
|
if (mainPayoutCurrency.type !== "CryptoCurrency")
|
68
82
|
throw new Error("This should be a cryptocurrency");
|
69
83
|
if (mainRefundCurrency.type !== "CryptoCurrency")
|