@ledgerhq/live-common 24.0.0-next.1 → 24.0.0-next.4
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__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js +4 -4
- package/lib/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.js.map +1 -1
- package/lib/exchange/swap/getExchangeRates.test.js +0 -1
- package/lib/exchange/swap/getExchangeRates.test.js.map +1 -1
- package/lib/families/bitcoin/bridge/mock.d.ts.map +1 -1
- package/lib/families/bitcoin/bridge/mock.js +0 -1
- package/lib/families/bitcoin/bridge/mock.js.map +1 -1
- package/lib/families/bitcoin/cache.js +1 -1
- package/lib/families/bitcoin/cache.js.map +1 -1
- package/lib/families/bitcoin/cli-transaction.d.ts +6 -6
- package/lib/families/bitcoin/cli-transaction.d.ts.map +1 -1
- package/lib/families/bitcoin/cli-transaction.js +0 -6
- package/lib/families/bitcoin/cli-transaction.js.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/bitcoin.js +0 -3
- package/lib/families/bitcoin/datasets/bitcoin.js.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/digibyte.js +0 -3
- package/lib/families/bitcoin/datasets/digibyte.js.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.d.ts.map +1 -1
- package/lib/families/bitcoin/datasets/litecoin.js +0 -3
- package/lib/families/bitcoin/datasets/litecoin.js.map +1 -1
- package/lib/families/bitcoin/js-buildTransaction.d.ts.map +1 -1
- package/lib/families/bitcoin/js-buildTransaction.js +1 -1
- package/lib/families/bitcoin/js-buildTransaction.js.map +1 -1
- package/lib/families/bitcoin/js-createTransaction.d.ts.map +1 -1
- package/lib/families/bitcoin/js-createTransaction.js +0 -1
- package/lib/families/bitcoin/js-createTransaction.js.map +1 -1
- package/lib/families/bitcoin/js-estimateMaxSpendable.d.ts.map +1 -1
- package/lib/families/bitcoin/js-estimateMaxSpendable.js +7 -7
- package/lib/families/bitcoin/js-estimateMaxSpendable.js.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.d.ts.map +1 -1
- package/lib/families/bitcoin/js-synchronisation.js +3 -3
- 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 +3 -8
- package/lib/families/bitcoin/logic.js.map +1 -1
- package/lib/families/bitcoin/specs.d.ts.map +1 -1
- package/lib/families/bitcoin/specs.js +1 -1
- package/lib/families/bitcoin/specs.js.map +1 -1
- package/lib/families/bitcoin/transaction.js +2 -2
- package/lib/families/bitcoin/transaction.js.map +1 -1
- package/lib/families/bitcoin/types.d.ts +0 -1
- package/lib/families/bitcoin/types.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.d.ts.map +1 -1
- package/lib/families/bitcoin/wallet-btc/wallet.js +9 -4
- package/lib/families/bitcoin/wallet-btc/wallet.js.map +1 -1
- package/lib/families/ethereum/modules/erc1155.d.ts.map +1 -1
- package/lib/families/ethereum/modules/erc1155.js +5 -1
- package/lib/families/ethereum/modules/erc1155.js.map +1 -1
- package/lib/families/ethereum/modules/erc721.d.ts.map +1 -1
- package/lib/families/ethereum/modules/erc721.js +5 -0
- package/lib/families/ethereum/modules/erc721.js.map +1 -1
- package/lib/families/ethereum/nft.unit.test.js +35 -15
- package/lib/families/ethereum/nft.unit.test.js.map +1 -1
- package/lib/families/ethereum/synchronisation.d.ts.map +1 -1
- package/lib/families/ethereum/synchronisation.js +17 -13
- package/lib/families/ethereum/synchronisation.js.map +1 -1
- package/lib/families/solana/api/chain/account/token.d.ts +1 -1
- package/lib/families/solana/api/chain/account/vote.d.ts +12 -12
- package/lib/families/solana/api/chain/instruction/system/types.d.ts +4 -4
- package/lib/featureFlags/defaultFeatures.d.ts.map +1 -1
- package/lib/featureFlags/defaultFeatures.js +3 -0
- package/lib/featureFlags/defaultFeatures.js.map +1 -1
- package/lib/featureFlags/types.d.ts +1 -1
- package/lib/featureFlags/types.d.ts.map +1 -1
- package/lib/generated/cli-transaction.d.ts +6 -6
- package/lib/nft/hook.d.ts +3 -0
- package/lib/nft/hook.d.ts.map +1 -0
- package/lib/nft/hook.js +73 -0
- package/lib/nft/hook.js.map +1 -0
- package/lib/nft/index.d.ts +1 -0
- package/lib/nft/index.d.ts.map +1 -1
- package/lib/nft/index.js +1 -0
- package/lib/nft/index.js.map +1 -1
- package/lib/nft/nftOperationId.d.ts +15 -0
- package/lib/nft/nftOperationId.d.ts.map +1 -0
- package/lib/nft/nftOperationId.js +50 -0
- package/lib/nft/nftOperationId.js.map +1 -0
- package/lib/operation.d.ts +1 -1
- package/lib/operation.d.ts.map +1 -1
- package/lib/operation.js +23 -1
- package/lib/operation.js.map +1 -1
- package/lib/types/nft.d.ts +4 -0
- package/lib/types/nft.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/families/bitcoin/wallet-btc/wallet.estimateMaxSpendable.test.ts +4 -12
- package/src/exchange/swap/getExchangeRates.test.ts +0 -1
- package/src/families/bitcoin/bridge/mock.ts +0 -1
- package/src/families/bitcoin/cache.ts +3 -3
- package/src/families/bitcoin/cli-transaction.ts +0 -6
- package/src/families/bitcoin/datasets/bitcoin.ts +0 -3
- package/src/families/bitcoin/datasets/digibyte.ts +0 -3
- package/src/families/bitcoin/datasets/litecoin.ts +0 -3
- package/src/families/bitcoin/js-buildTransaction.ts +0 -1
- package/src/families/bitcoin/js-createTransaction.ts +0 -1
- package/src/families/bitcoin/js-estimateMaxSpendable.ts +0 -1
- package/src/families/bitcoin/js-synchronisation.ts +6 -3
- package/src/families/bitcoin/logic.ts +4 -9
- package/src/families/bitcoin/specs.ts +0 -1
- package/src/families/bitcoin/transaction.ts +2 -2
- package/src/families/bitcoin/types.ts +0 -1
- package/src/families/bitcoin/wallet-btc/wallet.ts +8 -2
- package/src/families/ethereum/modules/erc1155.ts +12 -5
- package/src/families/ethereum/modules/erc721.ts +11 -0
- package/src/families/ethereum/nft.unit.test.ts +24 -17
- package/src/families/ethereum/synchronisation.ts +22 -18
- package/src/featureFlags/defaultFeatures.ts +3 -0
- package/src/featureFlags/types.ts +1 -0
- package/src/nft/hook.ts +29 -0
- package/src/nft/index.ts +1 -0
- package/src/nft/nftOperationId.ts +47 -0
- package/src/operation.ts +50 -1
- package/src/types/nft.ts +5 -0
package/src/operation.ts
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import
|
|
2
|
+
import { encodeNftId } from "./nft";
|
|
3
|
+
import {
|
|
4
|
+
encodeERC1155OperationId,
|
|
5
|
+
encodeERC721OperationId,
|
|
6
|
+
} from "./nft/nftOperationId";
|
|
7
|
+
import {
|
|
8
|
+
Account,
|
|
9
|
+
AccountLike,
|
|
10
|
+
decodeAccountId,
|
|
11
|
+
NFTStandard,
|
|
12
|
+
Operation,
|
|
13
|
+
} from "./types";
|
|
14
|
+
|
|
15
|
+
const nftOperationIdEncoderPerStandard: Record<
|
|
16
|
+
NFTStandard,
|
|
17
|
+
(...args: any[]) => string
|
|
18
|
+
> = {
|
|
19
|
+
ERC721: encodeERC721OperationId,
|
|
20
|
+
ERC1155: encodeERC1155OperationId,
|
|
21
|
+
};
|
|
3
22
|
|
|
4
23
|
export function findOperationInAccount(
|
|
5
24
|
{ operations, pendingOperations }: AccountLike,
|
|
@@ -32,6 +51,16 @@ export function findOperationInAccount(
|
|
|
32
51
|
for (let i = 0; i < pendingOperations.length; i++) {
|
|
33
52
|
const op = pendingOperations[i];
|
|
34
53
|
if (op.id === operationId) return op;
|
|
54
|
+
|
|
55
|
+
if (op.nftOperations) {
|
|
56
|
+
const nftOps = op.nftOperations;
|
|
57
|
+
|
|
58
|
+
for (let j = 0; j < nftOps.length; j++) {
|
|
59
|
+
const nftOp = nftOps[j];
|
|
60
|
+
|
|
61
|
+
if (nftOp.id === operationId) return nftOp;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
35
64
|
}
|
|
36
65
|
|
|
37
66
|
return null;
|
|
@@ -73,6 +102,26 @@ export function patchOperationWithHash(
|
|
|
73
102
|
hash,
|
|
74
103
|
id: encodeOperationId(op.accountId, hash, op.type),
|
|
75
104
|
})),
|
|
105
|
+
nftOperations:
|
|
106
|
+
operation.nftOperations &&
|
|
107
|
+
operation.nftOperations.map((nftOp, i) => {
|
|
108
|
+
const { currencyId } = decodeAccountId(operation.accountId);
|
|
109
|
+
const nftId = encodeNftId(
|
|
110
|
+
operation.accountId,
|
|
111
|
+
nftOp.contract || "",
|
|
112
|
+
nftOp.tokenId || "",
|
|
113
|
+
currencyId
|
|
114
|
+
);
|
|
115
|
+
const nftOperationIdEncoder =
|
|
116
|
+
nftOperationIdEncoderPerStandard[nftOp?.standard || ""] ||
|
|
117
|
+
nftOperationIdEncoderPerStandard.ERC721;
|
|
118
|
+
|
|
119
|
+
return {
|
|
120
|
+
...nftOp,
|
|
121
|
+
hash,
|
|
122
|
+
id: nftOperationIdEncoder(nftId, hash, nftOp.type, 0, i),
|
|
123
|
+
};
|
|
124
|
+
}),
|
|
76
125
|
};
|
|
77
126
|
}
|
|
78
127
|
|