@ledgerhq/live-common 34.52.0-nightly.0 → 34.52.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.
Files changed (34) hide show
  1. package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts +5 -8
  2. package/lib/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -1
  3. package/lib/bridge/generic-alpaca/buildSubAccounts.js +37 -9
  4. package/lib/bridge/generic-alpaca/buildSubAccounts.js.map +1 -1
  5. package/lib/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  6. package/lib/bridge/generic-alpaca/getAccountShape.js +18 -17
  7. package/lib/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  8. package/lib/bridge/generic-alpaca/types.d.ts +4 -1
  9. package/lib/bridge/generic-alpaca/types.d.ts.map +1 -1
  10. package/lib/bridge/generic-alpaca/utils.d.ts +2 -1
  11. package/lib/bridge/generic-alpaca/utils.d.ts.map +1 -1
  12. package/lib/bridge/generic-alpaca/utils.js +35 -3
  13. package/lib/bridge/generic-alpaca/utils.js.map +1 -1
  14. package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts +5 -8
  15. package/lib-es/bridge/generic-alpaca/buildSubAccounts.d.ts.map +1 -1
  16. package/lib-es/bridge/generic-alpaca/buildSubAccounts.js +35 -7
  17. package/lib-es/bridge/generic-alpaca/buildSubAccounts.js.map +1 -1
  18. package/lib-es/bridge/generic-alpaca/getAccountShape.d.ts.map +1 -1
  19. package/lib-es/bridge/generic-alpaca/getAccountShape.js +20 -19
  20. package/lib-es/bridge/generic-alpaca/getAccountShape.js.map +1 -1
  21. package/lib-es/bridge/generic-alpaca/types.d.ts +4 -1
  22. package/lib-es/bridge/generic-alpaca/types.d.ts.map +1 -1
  23. package/lib-es/bridge/generic-alpaca/utils.d.ts +2 -1
  24. package/lib-es/bridge/generic-alpaca/utils.d.ts.map +1 -1
  25. package/lib-es/bridge/generic-alpaca/utils.js +33 -2
  26. package/lib-es/bridge/generic-alpaca/utils.js.map +1 -1
  27. package/package.json +10 -10
  28. package/src/bridge/generic-alpaca/buildSubAccounts.test.ts +537 -0
  29. package/src/bridge/generic-alpaca/buildSubAccounts.ts +58 -21
  30. package/src/bridge/generic-alpaca/getAccountShape.ts +26 -23
  31. package/src/bridge/generic-alpaca/tests/getAccountShape.test.ts +10 -1
  32. package/src/bridge/generic-alpaca/types.ts +5 -1
  33. package/src/bridge/generic-alpaca/utils.test.ts +31 -1
  34. package/src/bridge/generic-alpaca/utils.ts +48 -4
@@ -1,16 +1,13 @@
1
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- import type { Operation, SyncConfig, TokenAccount } from "@ledgerhq/types-live";
1
+ import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
+ import type { SyncConfig, TokenAccount } from "@ledgerhq/types-live";
3
3
  import { AssetInfo, Balance } from "@ledgerhq/coin-framework/api/types";
4
- export interface OperationCommon extends Operation {
5
- extra: Record<string, any>;
6
- }
7
- export declare const getAssetIdFromTokenId: (tokenId: string) => string;
8
- export declare function buildSubAccounts({ currency, accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }: {
9
- currency: CryptoCurrency;
4
+ import { OperationCommon } from "./types";
5
+ export declare function buildSubAccounts({ accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }: {
10
6
  accountId: string;
11
7
  allTokenAssetsBalances: Balance[];
12
8
  syncConfig: SyncConfig;
13
9
  operations: OperationCommon[];
14
10
  getTokenFromAsset?: (asset: AssetInfo) => Promise<TokenCurrency | undefined>;
15
11
  }): Promise<TokenAccount[]>;
12
+ export declare function mergeSubAccounts(oldSubAccounts: Array<TokenAccount>, newSubAccounts: Array<TokenAccount>): Array<TokenAccount>;
16
13
  //# sourceMappingURL=buildSubAccounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,YAAa,MAAM,KAAG,MAA+B,CAAC;AA6CxF,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9E,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6B1B"}
1
+ {"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkD1C,wBAAsB,gBAAgB,CAAC,EACrC,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9E,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4B1B;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,EACnC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,GAClC,KAAK,CAAC,YAAY,CAAC,CAkCrB"}
@@ -3,24 +3,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildSubAccounts = exports.getAssetIdFromTokenId = void 0;
6
+ exports.mergeSubAccounts = exports.buildSubAccounts = void 0;
7
7
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
8
8
  const index_1 = require("@ledgerhq/coin-framework/account/index");
9
9
  const operation_1 = require("@ledgerhq/coin-framework/operation");
10
- const cryptoassets_1 = require("@ledgerhq/cryptoassets");
11
- const getAssetIdFromTokenId = (tokenId) => tokenId.split("/")[2];
12
- exports.getAssetIdFromTokenId = getAssetIdFromTokenId;
10
+ const jsHelpers_1 = require("../jsHelpers");
11
+ const utils_1 = require("./utils");
13
12
  function buildTokenAccount({ parentAccountId, assetBalance, token, operations, }) {
14
13
  const id = (0, index_1.encodeTokenAccountId)(parentAccountId, token);
15
14
  const balance = new bignumber_js_1.default(assetBalance.value.toString() || "0");
16
15
  // TODO: recheck this logic
17
16
  const spendableBalance = new bignumber_js_1.default(assetBalance.value.toString()).minus(new bignumber_js_1.default(assetBalance.locked?.toString() || "0"));
18
- const tokenOperations = operations.map(op => ({
17
+ const tokenOperations = operations.map(op => (0, utils_1.cleanedOperation)({
19
18
  ...op,
20
19
  id: (0, operation_1.encodeOperationId)(id, op.hash, op.extra?.ledgerOpType),
21
20
  accountId: id,
22
21
  type: op.extra?.ledgerOpType,
22
+ contract: token.contractAddress,
23
23
  value: op.extra?.assetAmount ? new bignumber_js_1.default(op.extra?.assetAmount) : op.value,
24
+ senders: op.extra?.assetSenders ?? op.senders,
25
+ recipients: op.extra?.assetRecipients ?? op.recipients,
24
26
  }));
25
27
  return {
26
28
  type: "TokenAccount",
@@ -37,15 +39,14 @@ function buildTokenAccount({ parentAccountId, assetBalance, token, operations, }
37
39
  balanceHistoryCache: index_1.emptyHistoryCache, // calculated in the jsHelpers
38
40
  };
39
41
  }
40
- async function buildSubAccounts({ currency, accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }) {
42
+ async function buildSubAccounts({ accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }) {
41
43
  const { blacklistedTokenIds = [] } = syncConfig;
42
- const allTokens = (0, cryptoassets_1.listTokensForCryptoCurrency)(currency);
43
44
  const tokenAccounts = [];
44
- if (allTokens.length === 0 || allTokenAssetsBalances.length === 0) {
45
+ if (allTokenAssetsBalances.length === 0 || !getTokenFromAsset) {
45
46
  return tokenAccounts;
46
47
  }
47
48
  for (const balance of allTokenAssetsBalances) {
48
- const token = getTokenFromAsset && (await getTokenFromAsset(balance.asset));
49
+ const token = await getTokenFromAsset(balance.asset);
49
50
  // NOTE: for future tokens, will need to check over currencyName/standard(erc20,trc10,trc20, etc)/id
50
51
  if (token && !blacklistedTokenIds.includes(token.id)) {
51
52
  tokenAccounts.push(buildTokenAccount({
@@ -60,4 +61,31 @@ async function buildSubAccounts({ currency, accountId, allTokenAssetsBalances, s
60
61
  return tokenAccounts;
61
62
  }
62
63
  exports.buildSubAccounts = buildSubAccounts;
64
+ function mergeSubAccounts(oldSubAccounts, newSubAccounts) {
65
+ if (!oldSubAccounts.length) {
66
+ return newSubAccounts;
67
+ }
68
+ const oldSubAccountsById = Object.fromEntries(oldSubAccounts.map(account => [account.id, account]));
69
+ const newSubAccountsToAdd = [];
70
+ for (const newSubAccount of newSubAccounts) {
71
+ const existingSubAccount = oldSubAccountsById[newSubAccount.id];
72
+ if (!existingSubAccount) {
73
+ // New sub account does not exist yet. Just add it as is.
74
+ newSubAccountsToAdd.push(newSubAccount);
75
+ continue;
76
+ }
77
+ // New sub account is already known, probably outdated
78
+ const operations = (0, jsHelpers_1.mergeOps)(existingSubAccount.operations, newSubAccount.operations);
79
+ oldSubAccountsById[newSubAccount.id] = {
80
+ ...existingSubAccount,
81
+ balance: newSubAccount.balance,
82
+ spendableBalance: newSubAccount.spendableBalance,
83
+ operations,
84
+ operationsCount: operations.length,
85
+ };
86
+ }
87
+ const updatedOldSubAccounts = Object.values(oldSubAccountsById);
88
+ return [...updatedOldSubAccounts, ...newSubAccountsToAdd];
89
+ }
90
+ exports.mergeSubAccounts = mergeSubAccounts;
63
91
  //# sourceMappingURL=buildSubAccounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":";;;;;;AAAA,gEAAqC;AACrC,kEAAiG;AAGjG,kEAAuE;AACvE,yDAAqE;AAO9D,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAA3E,QAAA,qBAAqB,yBAAsD;AAExF,SAAS,iBAAiB,CAAC,EACzB,eAAe,EACf,YAAY,EACZ,KAAK,EACL,UAAU,GAMX;IACC,MAAM,EAAE,GAAG,IAAA,4BAAoB,EAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;IAEpE,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,IAAI,sBAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CACzE,IAAI,sBAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CACtD,CAAC;IAEF,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,GAAG,EAAE;QACL,EAAE,EAAE,IAAA,6BAAiB,EAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1D,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY;QAC5B,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,sBAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;KAC/E,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE;QACF,QAAQ,EAAE,eAAe;QACzB,KAAK;QACL,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,UAAU,EAAE,eAAe;QAC3B,iBAAiB,EAAE,EAAE;QACrB,OAAO;QACP,gBAAgB,EAAE,gBAAgB;QAClC,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QACzF,mBAAmB,EAAE,yBAAiB,EAAE,8BAA8B;KACvE,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAQlB;IACC,MAAM,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;IAChD,MAAM,SAAS,GAAG,IAAA,0CAA2B,EAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjE,OAAO,aAAa,CAAC;KACtB;IAED,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE;QAC5C,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,oGAAoG;QACpG,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACpD,aAAa,CAAC,IAAI,CAChB,iBAAiB,CAAC;gBAChB,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,OAAO;gBACrB,KAAK;gBACL,UAAU,EAAE,UAAU,CAAC,MAAM,CAC3B,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC;oBAC7D,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CACxD;aACF,CAAC,CACH,CAAC;SACH;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AA3CD,4CA2CC"}
1
+ {"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAStF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA8FrF"}
1
+ {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAiBtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAyFrF"}
@@ -12,6 +12,10 @@ const alpaca_1 = require("./alpaca");
12
12
  const utils_1 = require("./utils");
13
13
  const serialization_1 = require("@ledgerhq/coin-framework/serialization");
14
14
  const buildSubAccounts_1 = require("./buildSubAccounts");
15
+ function isNftCoreOp(operation) {
16
+ return (typeof operation.details?.ledgerOpType === "string" &&
17
+ ["NFT_IN", "NFT_OUT"].includes(operation.details?.ledgerOpType));
18
+ }
15
19
  function genericGetAccountShape(network, kind) {
16
20
  return async (info, syncConfig) => {
17
21
  const { address, initialAccount, currency, derivationMode } = info;
@@ -50,31 +54,28 @@ function genericGetAccountShape(network, kind) {
50
54
  paginationParams.lastPagingToken = lastPagingToken;
51
55
  }
52
56
  const [newCoreOps] = await alpacaApi.listOperations(address, paginationParams);
53
- const newOps = newCoreOps.map(op => (0, utils_1.adaptCoreOperationToLiveOperation)(accountId, op));
54
- const mergedOps = (0, jsHelpers_1.mergeOps)(oldOps, newOps);
55
- const assetOperations = [];
56
- mergedOps.forEach(operation => {
57
- if (operation?.extra?.assetReference &&
58
- operation?.extra?.assetOwner &&
59
- !["OPT_IN", "OPT_OUT"].includes(operation.type)) {
60
- assetOperations.push(operation);
61
- }
62
- });
63
- const subAccounts = await (0, buildSubAccounts_1.buildSubAccounts)({
64
- currency,
57
+ const newOps = newCoreOps
58
+ .filter(op => !isNftCoreOp(op))
59
+ .map(op => (0, utils_1.adaptCoreOperationToLiveOperation)(accountId, op));
60
+ const newAssetOperations = newOps.filter(operation => operation?.extra?.assetReference &&
61
+ operation?.extra?.assetOwner &&
62
+ !["OPT_IN", "OPT_OUT"].includes(operation.type));
63
+ const newSubAccounts = await (0, buildSubAccounts_1.buildSubAccounts)({
65
64
  accountId,
66
65
  allTokenAssetsBalances,
67
66
  syncConfig,
68
- operations: assetOperations,
67
+ operations: newAssetOperations,
69
68
  getTokenFromAsset: alpacaApi.getTokenFromAsset,
70
69
  });
71
- const operations = mergedOps.map(op => {
72
- const subOperations = (0, serialization_1.inferSubOperations)(op.hash, subAccounts);
73
- return {
70
+ const subAccounts = (0, buildSubAccounts_1.mergeSubAccounts)(initialAccount?.subAccounts ?? [], newSubAccounts);
71
+ const newOpsWithSubs = newOps.map(op => {
72
+ const subOperations = (0, serialization_1.inferSubOperations)(op.hash, newSubAccounts);
73
+ return (0, utils_1.cleanedOperation)({
74
74
  ...op,
75
75
  subOperations,
76
- };
76
+ });
77
77
  });
78
+ const operations = (0, jsHelpers_1.mergeOps)(oldOps, newOpsWithSubs);
78
79
  const res = {
79
80
  id: accountId,
80
81
  xpub: address,
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { TransactionCommon } from "@ledgerhq/types-live";
3
+ import type { Operation, TransactionCommon } from "@ledgerhq/types-live";
4
4
  import BigNumber from "bignumber.js";
5
5
  import type { Unit } from "@ledgerhq/types-cryptoassets";
6
6
  type NetworkInfo = {
@@ -26,5 +26,8 @@ export type GenericTransaction = TransactionCommon & {
26
26
  assetOwner?: string;
27
27
  networkInfo?: NetworkInfo | null;
28
28
  };
29
+ export interface OperationCommon extends Operation {
30
+ extra: Record<string, any>;
31
+ }
29
32
  export {};
30
33
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/types.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,UAAU,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;SAAE,CAAC;KACzC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EACD,MAAM,GACN,aAAa,GACb,aAAa,GACb,cAAc,GACd,UAAU,GACV,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/types.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,UAAU,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;SAAE,CAAC;KACzC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EACD,MAAM,GACN,aAAa,GACb,aAAa,GACb,cAAc,GACd,UAAU,GACV,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B"}
@@ -1,9 +1,10 @@
1
1
  import { Account, Operation } from "@ledgerhq/types-live";
2
2
  import { Balance, Operation as CoreOperation, TransactionIntent } from "@ledgerhq/coin-framework/api/types";
3
3
  import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
4
- import { GenericTransaction } from "./types";
4
+ import { GenericTransaction, OperationCommon } from "./types";
5
5
  export declare function findCryptoCurrencyByNetwork(network: string): CryptoCurrency | undefined;
6
6
  export declare function extractBalance(balances: Balance[], type: string): Balance;
7
+ export declare function cleanedOperation(operation: OperationCommon): OperationCommon;
7
8
  export declare function adaptCoreOperationToLiveOperation(accountId: string, op: CoreOperation): Operation;
8
9
  /**
9
10
  * Converts a transaction object into a `TransactionIntent` object, which is used to represent
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAGzE,OAAO,EACL,OAAO,EACP,SAAS,IAAI,aAAa,EAC1B,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAKvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzE;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,SAAS,CAiDjG;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,MAAM,GAC9D,iBAAiB,GAAG;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IACnE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C,CA4CA;AAED,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,kBAAkB,mBACd,MAAM,KACtB,SAgEF,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AAGzE,OAAO,EACL,OAAO,EACP,SAAS,IAAI,aAAa,EAC1B,iBAAiB,EAClB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE9D,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAKvF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOzE;AAMD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,CAkB5E;AAED,wBAAgB,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,GAAG,SAAS,CAqEjG;AAqBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,kBAAkB,KAAK,MAAM,GAC9D,iBAAiB,GAAG;IAAE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAAG;IACnE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC1C,CA4CA;AAED,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,kBAAkB,mBACd,MAAM,KACtB,SAgEF,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildOptimisticOperation = exports.transactionToIntent = exports.adaptCoreOperationToLiveOperation = exports.extractBalance = exports.findCryptoCurrencyByNetwork = void 0;
6
+ exports.buildOptimisticOperation = exports.transactionToIntent = exports.adaptCoreOperationToLiveOperation = exports.cleanedOperation = exports.extractBalance = exports.findCryptoCurrencyByNetwork = void 0;
7
7
  const operation_1 = require("@ledgerhq/coin-framework/operation");
8
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
9
  const utils_1 = require("@ledgerhq/coin-framework/utils");
@@ -22,6 +22,26 @@ function extractBalance(balances, type) {
22
22
  });
23
23
  }
24
24
  exports.extractBalance = extractBalance;
25
+ function isStringArray(value) {
26
+ return Array.isArray(value) && value.every(item => typeof item === "string");
27
+ }
28
+ function cleanedOperation(operation) {
29
+ if (!operation.extra)
30
+ return operation;
31
+ const extraToClean = new Set([
32
+ "assetReference",
33
+ "assetAmount",
34
+ "assetOwner",
35
+ "assetSenders",
36
+ "assetRecipients",
37
+ "parentSenders",
38
+ "parentRecipients",
39
+ "ledgerOpType",
40
+ ]);
41
+ const cleanedExtra = Object.fromEntries(Object.entries(operation.extra).filter(([key]) => !extraToClean.has(key)));
42
+ return { ...operation, extra: cleanedExtra };
43
+ }
44
+ exports.cleanedOperation = cleanedOperation;
25
45
  function adaptCoreOperationToLiveOperation(accountId, op) {
26
46
  const opType = op.type;
27
47
  const extra = {};
@@ -31,6 +51,18 @@ function adaptCoreOperationToLiveOperation(accountId, op) {
31
51
  if (op.details?.assetAmount !== undefined) {
32
52
  extra.assetAmount = op.details.assetAmount;
33
53
  }
54
+ if (isStringArray(op.details?.assetSenders)) {
55
+ extra.assetSenders = op.details?.assetSenders;
56
+ }
57
+ if (isStringArray(op.details?.assetRecipients)) {
58
+ extra.assetRecipients = op.details?.assetRecipients;
59
+ }
60
+ if (isStringArray(op.details?.parentSenders)) {
61
+ extra.parentSenders = op.details?.parentSenders;
62
+ }
63
+ if (isStringArray(op.details?.parentRecipients)) {
64
+ extra.parentRecipients = op.details?.parentRecipients;
65
+ }
34
66
  if (op.asset?.type !== "native") {
35
67
  extra.assetReference =
36
68
  "assetReference" in (op.asset ?? {}) ? op.asset.assetReference : "";
@@ -51,8 +83,8 @@ function adaptCoreOperationToLiveOperation(accountId, op) {
51
83
  fee: bnFees,
52
84
  blockHash: op.tx.block.hash,
53
85
  blockHeight: op.tx.block.height,
54
- senders: op.senders,
55
- recipients: op.recipients,
86
+ senders: extra.parentSenders ?? op.senders,
87
+ recipients: extra.parentRecipients ?? op.recipients,
56
88
  date: op.tx.date,
57
89
  transactionSequenceNumber: op.details?.sequence,
58
90
  hasFailed: op.details?.status === "failed",
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/utils.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,13 @@
1
- import type { CryptoCurrency, TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
- import type { Operation, SyncConfig, TokenAccount } from "@ledgerhq/types-live";
1
+ import type { TokenCurrency } from "@ledgerhq/types-cryptoassets";
2
+ import type { SyncConfig, TokenAccount } from "@ledgerhq/types-live";
3
3
  import { AssetInfo, Balance } from "@ledgerhq/coin-framework/api/types";
4
- export interface OperationCommon extends Operation {
5
- extra: Record<string, any>;
6
- }
7
- export declare const getAssetIdFromTokenId: (tokenId: string) => string;
8
- export declare function buildSubAccounts({ currency, accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }: {
9
- currency: CryptoCurrency;
4
+ import { OperationCommon } from "./types";
5
+ export declare function buildSubAccounts({ accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }: {
10
6
  accountId: string;
11
7
  allTokenAssetsBalances: Balance[];
12
8
  syncConfig: SyncConfig;
13
9
  operations: OperationCommon[];
14
10
  getTokenFromAsset?: (asset: AssetInfo) => Promise<TokenCurrency | undefined>;
15
11
  }): Promise<TokenAccount[]>;
12
+ export declare function mergeSubAccounts(oldSubAccounts: Array<TokenAccount>, newSubAccounts: Array<TokenAccount>): Array<TokenAccount>;
16
13
  //# sourceMappingURL=buildSubAccounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B;AAED,eAAO,MAAM,qBAAqB,YAAa,MAAM,KAAG,MAA+B,CAAC;AA6CxF,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9E,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA6B1B"}
1
+ {"version":3,"file":"buildSubAccounts.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAkD1C,wBAAsB,gBAAgB,CAAC,EACrC,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,OAAO,EAAE,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;CAC9E,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CA4B1B;AAED,wBAAgB,gBAAgB,CAC9B,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,EACnC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,GAClC,KAAK,CAAC,YAAY,CAAC,CAkCrB"}
@@ -1,19 +1,22 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import { emptyHistoryCache, encodeTokenAccountId } from "@ledgerhq/coin-framework/account/index";
3
3
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
4
- import { listTokensForCryptoCurrency } from "@ledgerhq/cryptoassets";
5
- export const getAssetIdFromTokenId = (tokenId) => tokenId.split("/")[2];
4
+ import { mergeOps } from "../jsHelpers";
5
+ import { cleanedOperation } from "./utils";
6
6
  function buildTokenAccount({ parentAccountId, assetBalance, token, operations, }) {
7
7
  const id = encodeTokenAccountId(parentAccountId, token);
8
8
  const balance = new BigNumber(assetBalance.value.toString() || "0");
9
9
  // TODO: recheck this logic
10
10
  const spendableBalance = new BigNumber(assetBalance.value.toString()).minus(new BigNumber(assetBalance.locked?.toString() || "0"));
11
- const tokenOperations = operations.map(op => ({
11
+ const tokenOperations = operations.map(op => cleanedOperation({
12
12
  ...op,
13
13
  id: encodeOperationId(id, op.hash, op.extra?.ledgerOpType),
14
14
  accountId: id,
15
15
  type: op.extra?.ledgerOpType,
16
+ contract: token.contractAddress,
16
17
  value: op.extra?.assetAmount ? new BigNumber(op.extra?.assetAmount) : op.value,
18
+ senders: op.extra?.assetSenders ?? op.senders,
19
+ recipients: op.extra?.assetRecipients ?? op.recipients,
17
20
  }));
18
21
  return {
19
22
  type: "TokenAccount",
@@ -30,15 +33,14 @@ function buildTokenAccount({ parentAccountId, assetBalance, token, operations, }
30
33
  balanceHistoryCache: emptyHistoryCache, // calculated in the jsHelpers
31
34
  };
32
35
  }
33
- export async function buildSubAccounts({ currency, accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }) {
36
+ export async function buildSubAccounts({ accountId, allTokenAssetsBalances, syncConfig, operations, getTokenFromAsset, }) {
34
37
  const { blacklistedTokenIds = [] } = syncConfig;
35
- const allTokens = listTokensForCryptoCurrency(currency);
36
38
  const tokenAccounts = [];
37
- if (allTokens.length === 0 || allTokenAssetsBalances.length === 0) {
39
+ if (allTokenAssetsBalances.length === 0 || !getTokenFromAsset) {
38
40
  return tokenAccounts;
39
41
  }
40
42
  for (const balance of allTokenAssetsBalances) {
41
- const token = getTokenFromAsset && (await getTokenFromAsset(balance.asset));
43
+ const token = await getTokenFromAsset(balance.asset);
42
44
  // NOTE: for future tokens, will need to check over currencyName/standard(erc20,trc10,trc20, etc)/id
43
45
  if (token && !blacklistedTokenIds.includes(token.id)) {
44
46
  tokenAccounts.push(buildTokenAccount({
@@ -52,4 +54,30 @@ export async function buildSubAccounts({ currency, accountId, allTokenAssetsBala
52
54
  }
53
55
  return tokenAccounts;
54
56
  }
57
+ export function mergeSubAccounts(oldSubAccounts, newSubAccounts) {
58
+ if (!oldSubAccounts.length) {
59
+ return newSubAccounts;
60
+ }
61
+ const oldSubAccountsById = Object.fromEntries(oldSubAccounts.map(account => [account.id, account]));
62
+ const newSubAccountsToAdd = [];
63
+ for (const newSubAccount of newSubAccounts) {
64
+ const existingSubAccount = oldSubAccountsById[newSubAccount.id];
65
+ if (!existingSubAccount) {
66
+ // New sub account does not exist yet. Just add it as is.
67
+ newSubAccountsToAdd.push(newSubAccount);
68
+ continue;
69
+ }
70
+ // New sub account is already known, probably outdated
71
+ const operations = mergeOps(existingSubAccount.operations, newSubAccount.operations);
72
+ oldSubAccountsById[newSubAccount.id] = {
73
+ ...existingSubAccount,
74
+ balance: newSubAccount.balance,
75
+ spendableBalance: newSubAccount.spendableBalance,
76
+ operations,
77
+ operationsCount: operations.length,
78
+ };
79
+ }
80
+ const updatedOldSubAccounts = Object.values(oldSubAccountsById);
81
+ return [...updatedOldSubAccounts, ...newSubAccountsToAdd];
82
+ }
55
83
  //# sourceMappingURL=buildSubAccounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAOrE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAExF,SAAS,iBAAiB,CAAC,EACzB,eAAe,EACf,YAAY,EACZ,KAAK,EACL,UAAU,GAMX;IACC,MAAM,EAAE,GAAG,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC;IAEpE,2BAA2B;IAC3B,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CACzE,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,CACtD,CAAC;IAEF,MAAM,eAAe,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5C,GAAG,EAAE;QACL,EAAE,EAAE,iBAAiB,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;QAC1D,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY;QAC5B,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;KAC/E,CAAC,CAAC,CAAC;IAEJ,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,EAAE;QACF,QAAQ,EAAE,eAAe;QACzB,KAAK;QACL,eAAe,EAAE,UAAU,CAAC,MAAM;QAClC,UAAU,EAAE,eAAe;QAC3B,iBAAiB,EAAE,EAAE;QACrB,OAAO;QACP,gBAAgB,EAAE,gBAAgB;QAClC,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;QACzF,mBAAmB,EAAE,iBAAiB,EAAE,8BAA8B;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,QAAQ,EACR,SAAS,EACT,sBAAsB,EACtB,UAAU,EACV,UAAU,EACV,iBAAiB,GAQlB;IACC,MAAM,EAAE,mBAAmB,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;IAChD,MAAM,SAAS,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;QACjE,OAAO,aAAa,CAAC;KACtB;IAED,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE;QAC5C,MAAM,KAAK,GAAG,iBAAiB,IAAI,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,oGAAoG;QACpG,IAAI,KAAK,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACpD,aAAa,CAAC,IAAI,CAChB,iBAAiB,CAAC;gBAChB,eAAe,EAAE,SAAS;gBAC1B,YAAY,EAAE,OAAO;gBACrB,KAAK;gBACL,UAAU,EAAE,UAAU,CAAC,MAAM,CAC3B,EAAE,CAAC,EAAE,CACH,EAAE,CAAC,KAAK,CAAC,cAAc,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC;oBAC7D,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,YAAY,CAAC,CACxD;aACF,CAAC,CACH,CAAC;SACH;KACF;IAED,OAAO,aAAa,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"buildSubAccounts.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/buildSubAccounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAStF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA8FrF"}
1
+ {"version":3,"file":"getAccountShape.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAY,MAAM,2CAA2C,CAAC;AAiBtF,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAyFrF"}
@@ -3,9 +3,13 @@ import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
3
3
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
4
4
  import BigNumber from "bignumber.js";
5
5
  import { getAlpacaApi } from "./alpaca";
6
- import { adaptCoreOperationToLiveOperation, extractBalance } from "./utils";
6
+ import { adaptCoreOperationToLiveOperation, cleanedOperation, extractBalance } from "./utils";
7
7
  import { inferSubOperations } from "@ledgerhq/coin-framework/serialization";
8
- import { buildSubAccounts } from "./buildSubAccounts";
8
+ import { buildSubAccounts, mergeSubAccounts } from "./buildSubAccounts";
9
+ function isNftCoreOp(operation) {
10
+ return (typeof operation.details?.ledgerOpType === "string" &&
11
+ ["NFT_IN", "NFT_OUT"].includes(operation.details?.ledgerOpType));
12
+ }
9
13
  export function genericGetAccountShape(network, kind) {
10
14
  return async (info, syncConfig) => {
11
15
  const { address, initialAccount, currency, derivationMode } = info;
@@ -44,31 +48,28 @@ export function genericGetAccountShape(network, kind) {
44
48
  paginationParams.lastPagingToken = lastPagingToken;
45
49
  }
46
50
  const [newCoreOps] = await alpacaApi.listOperations(address, paginationParams);
47
- const newOps = newCoreOps.map(op => adaptCoreOperationToLiveOperation(accountId, op));
48
- const mergedOps = mergeOps(oldOps, newOps);
49
- const assetOperations = [];
50
- mergedOps.forEach(operation => {
51
- if (operation?.extra?.assetReference &&
52
- operation?.extra?.assetOwner &&
53
- !["OPT_IN", "OPT_OUT"].includes(operation.type)) {
54
- assetOperations.push(operation);
55
- }
56
- });
57
- const subAccounts = await buildSubAccounts({
58
- currency,
51
+ const newOps = newCoreOps
52
+ .filter(op => !isNftCoreOp(op))
53
+ .map(op => adaptCoreOperationToLiveOperation(accountId, op));
54
+ const newAssetOperations = newOps.filter(operation => operation?.extra?.assetReference &&
55
+ operation?.extra?.assetOwner &&
56
+ !["OPT_IN", "OPT_OUT"].includes(operation.type));
57
+ const newSubAccounts = await buildSubAccounts({
59
58
  accountId,
60
59
  allTokenAssetsBalances,
61
60
  syncConfig,
62
- operations: assetOperations,
61
+ operations: newAssetOperations,
63
62
  getTokenFromAsset: alpacaApi.getTokenFromAsset,
64
63
  });
65
- const operations = mergedOps.map(op => {
66
- const subOperations = inferSubOperations(op.hash, subAccounts);
67
- return {
64
+ const subAccounts = mergeSubAccounts(initialAccount?.subAccounts ?? [], newSubAccounts);
65
+ const newOpsWithSubs = newOps.map(op => {
66
+ const subOperations = inferSubOperations(op.hash, newSubAccounts);
67
+ return cleanedOperation({
68
68
  ...op,
69
69
  subOperations,
70
- };
70
+ });
71
71
  });
72
+ const operations = mergeOps(oldOps, newOpsWithSubs);
72
73
  const res = {
73
74
  id: accountId,
74
75
  xpub: address,
@@ -1 +1 @@
1
- {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAmB,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,iCAAiC,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,oBAAoB,CAAC;AAGvE,MAAM,UAAU,sBAAsB,CAAC,OAAe,EAAE,IAAY;IAClE,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE;QAChC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QACnE,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAElD,IAAI,SAAS,CAAC,qBAAqB,EAAE;YACnC,MAAM,uBAAuB,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;YAClE,IAAI,uBAAuB,CAAC,eAAe,EAAE;gBAC3C,uBAAuB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;aAClD;SACF;QAED,MAAM,SAAS,GAAG,eAAe,CAAC;YAChC,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,GAAG;YACZ,UAAU,EAAE,QAAQ,CAAC,EAAE;YACvB,aAAa,EAAE,OAAO;YACtB,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,cAAc,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEzD,MAAM,sBAAsB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,GAAG,CAAC,CAAC;QAExD,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,WAAW,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC;QAEpF,uFAAuF;QACvF,MAAM,MAAM,GAAI,CAAC,cAAc,EAAE,UAAU,IAAI,EAAE,CAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAChF,EAAE,CAAC,SAAS,KAAK,SAAS;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAC7E,CAAC;QACF,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,IAAI,EAAE,CAAC;QAE5D,qCAAqC;QACrC,IAAI,SAAS,GAAW,CAAC,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,EAAE,WAAW,KAAK,CAAC,EAAE;YAC1D,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;SAC9C;QACD,MAAM,gBAAgB,GAAe,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACjE,IAAI,eAAe,EAAE;YACnB,gBAAgB,CAAC,eAAe,GAAG,eAAe,CAAC;SACpD;QAED,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CACjC,iCAAiC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC5B,CAAC;QACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAsB,CAAC;QAEhE,MAAM,eAAe,GAAsB,EAAE,CAAC;QAC9C,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,IACE,SAAS,EAAE,KAAK,EAAE,cAAc;gBAChC,SAAS,EAAE,KAAK,EAAE,UAAU;gBAC5B,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAC/C;gBACA,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC;YACzC,QAAQ;YACR,SAAS;YACT,sBAAsB;YACtB,UAAU;YACV,UAAU,EAAE,eAAe;YAC3B,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAE/D,OAAO;gBACL,GAAG,EAAE;gBACL,aAAa;aACd,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG;YACV,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,cAAc,EAAE,WAAW;YAC1F,OAAO,EAAE,IAAI,SAAS,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAChD,gBAAgB,EAAE,IAAI,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5D,UAAU;YACV,WAAW;YACX,eAAe,EAAE,UAAU,CAAC,MAAM;SACnC,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getAccountShape.js","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/getAccountShape.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  /// <reference types="node" />
3
- import { TransactionCommon } from "@ledgerhq/types-live";
3
+ import type { Operation, TransactionCommon } from "@ledgerhq/types-live";
4
4
  import BigNumber from "bignumber.js";
5
5
  import type { Unit } from "@ledgerhq/types-cryptoassets";
6
6
  type NetworkInfo = {
@@ -26,5 +26,8 @@ export type GenericTransaction = TransactionCommon & {
26
26
  assetOwner?: string;
27
27
  networkInfo?: NetworkInfo | null;
28
28
  };
29
+ export interface OperationCommon extends Operation {
30
+ extra: Record<string, any>;
31
+ }
29
32
  export {};
30
33
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/types.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,UAAU,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;SAAE,CAAC;KACzC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EACD,MAAM,GACN,aAAa,GACb,aAAa,GACb,cAAc,GACd,UAAU,GACV,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/bridge/generic-alpaca/types.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AAEzD,KAAK,WAAW,GAAG;IACjB,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,UAAU,EAAE;YAAE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;SAAE,CAAC;KACzC,CAAC;IACF,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EACD,MAAM,GACN,aAAa,GACb,aAAa,GACb,cAAc,GACd,UAAU,GACV,OAAO,GACP,YAAY,GACZ,SAAS,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CAClC,CAAC;AAEF,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B"}