@ledgerhq/coin-aptos 2.2.0-next.0 → 2.2.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 (72) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +13 -8
  3. package/lib/__tests__/api/getBalance.unit.test.js +68 -28
  4. package/lib/__tests__/api/getBalance.unit.test.js.map +1 -1
  5. package/lib/__tests__/api/index.integ.test.js +16 -4
  6. package/lib/__tests__/api/index.integ.test.js.map +1 -1
  7. package/lib/__tests__/bridge/synchronisation.test.js +15 -6
  8. package/lib/__tests__/bridge/synchronisation.test.js.map +1 -1
  9. package/lib/__tests__/logic/getBalances.test.d.ts +2 -0
  10. package/lib/__tests__/logic/getBalances.test.d.ts.map +1 -0
  11. package/lib/__tests__/logic/getBalances.test.js +63 -0
  12. package/lib/__tests__/logic/getBalances.test.js.map +1 -0
  13. package/lib/__tests__/network/client.test.js +63 -63
  14. package/lib/__tests__/network/client.test.js.map +1 -1
  15. package/lib/api/index.js +2 -2
  16. package/lib/api/index.js.map +1 -1
  17. package/lib/bridge/synchronisation.d.ts.map +1 -1
  18. package/lib/bridge/synchronisation.js +7 -2
  19. package/lib/bridge/synchronisation.js.map +1 -1
  20. package/lib/logic/getBalances.d.ts +5 -0
  21. package/lib/logic/getBalances.d.ts.map +1 -0
  22. package/lib/logic/getBalances.js +21 -0
  23. package/lib/logic/getBalances.js.map +1 -0
  24. package/lib/network/client.d.ts +1 -5
  25. package/lib/network/client.d.ts.map +1 -1
  26. package/lib/network/client.js +25 -60
  27. package/lib/network/client.js.map +1 -1
  28. package/lib-es/__tests__/api/getBalance.unit.test.js +69 -26
  29. package/lib-es/__tests__/api/getBalance.unit.test.js.map +1 -1
  30. package/lib-es/__tests__/api/index.integ.test.js +16 -4
  31. package/lib-es/__tests__/api/index.integ.test.js.map +1 -1
  32. package/lib-es/__tests__/bridge/synchronisation.test.js +15 -6
  33. package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -1
  34. package/lib-es/__tests__/logic/getBalances.test.d.ts +2 -0
  35. package/lib-es/__tests__/logic/getBalances.test.d.ts.map +1 -0
  36. package/lib-es/__tests__/logic/getBalances.test.js +61 -0
  37. package/lib-es/__tests__/logic/getBalances.test.js.map +1 -0
  38. package/lib-es/__tests__/network/client.test.js +63 -63
  39. package/lib-es/__tests__/network/client.test.js.map +1 -1
  40. package/lib-es/api/index.js +2 -2
  41. package/lib-es/api/index.js.map +1 -1
  42. package/lib-es/bridge/synchronisation.d.ts.map +1 -1
  43. package/lib-es/bridge/synchronisation.js +4 -2
  44. package/lib-es/bridge/synchronisation.js.map +1 -1
  45. package/lib-es/logic/getBalances.d.ts +5 -0
  46. package/lib-es/logic/getBalances.d.ts.map +1 -0
  47. package/lib-es/logic/getBalances.js +17 -0
  48. package/lib-es/logic/getBalances.js.map +1 -0
  49. package/lib-es/network/client.d.ts +1 -5
  50. package/lib-es/network/client.d.ts.map +1 -1
  51. package/lib-es/network/client.js +25 -60
  52. package/lib-es/network/client.js.map +1 -1
  53. package/package.json +6 -6
  54. package/src/__tests__/api/craftTransaction.unit.test.ts +1 -1
  55. package/src/__tests__/api/getBalance.unit.test.ts +82 -28
  56. package/src/__tests__/api/index.integ.test.ts +19 -4
  57. package/src/__tests__/bridge/synchronisation.test.ts +21 -6
  58. package/src/__tests__/logic/getBalances.test.ts +80 -0
  59. package/src/__tests__/network/client.test.ts +70 -79
  60. package/src/api/index.ts +2 -2
  61. package/src/bridge/synchronisation.ts +4 -2
  62. package/src/logic/getBalances.ts +27 -0
  63. package/src/network/client.ts +26 -64
  64. package/lib/logic/getBalance.d.ts +0 -5
  65. package/lib/logic/getBalance.d.ts.map +0 -1
  66. package/lib/logic/getBalance.js +0 -12
  67. package/lib/logic/getBalance.js.map +0 -1
  68. package/lib-es/logic/getBalance.d.ts +0 -5
  69. package/lib-es/logic/getBalance.d.ts.map +0 -1
  70. package/lib-es/logic/getBalance.js +0 -8
  71. package/lib-es/logic/getBalance.js.map +0 -1
  72. package/src/logic/getBalance.ts +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/network/client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-aptos",
3
- "version": "2.2.0-next.0",
3
+ "version": "2.2.0-nightly.1",
4
4
  "description": "Ledger Aptos Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -90,14 +90,14 @@
90
90
  "invariant": "^2.2.4",
91
91
  "lodash": "^4.17.21",
92
92
  "rxjs": "^7.8.1",
93
- "@ledgerhq/coin-framework": "^5.3.0-next.0",
94
- "@ledgerhq/cryptoassets": "^13.18.1-next.0",
93
+ "@ledgerhq/coin-framework": "^5.3.0-nightly.1",
94
+ "@ledgerhq/cryptoassets": "^13.18.1-nightly.0",
95
95
  "@ledgerhq/devices": "8.4.6",
96
96
  "@ledgerhq/errors": "^6.21.0",
97
- "@ledgerhq/live-env": "^2.10.0-next.0",
98
- "@ledgerhq/live-network": "^2.0.10-next.0",
97
+ "@ledgerhq/live-env": "^2.9.1-nightly.0",
98
+ "@ledgerhq/live-network": "^2.0.9",
99
99
  "@ledgerhq/logs": "^6.13.0",
100
- "@ledgerhq/types-live": "^6.73.0-next.0"
100
+ "@ledgerhq/types-live": "^6.73.0-nightly.1"
101
101
  },
102
102
  "devDependencies": {
103
103
  "@faker-js/faker": "^9.4.0",
@@ -1,5 +1,5 @@
1
1
  import { Hex, RawTransaction, Deserializer } from "@aptos-labs/ts-sdk";
2
- import type { TransactionIntent } from "@ledgerhq/coin-framework/lib/api/types";
2
+ import type { TransactionIntent } from "@ledgerhq/coin-framework/api/types";
3
3
  import { createApi } from "../../api";
4
4
  import type { AptosAsset } from "../../types/assets";
5
5
  import { AptosAPI } from "../../network";
@@ -1,44 +1,98 @@
1
1
  import { AptosAPI } from "../../network";
2
- import { getBalance } from "../../logic/getBalance";
3
- import { APTOS_ASSET_ID } from "../../constants";
4
- import BigNumber from "bignumber.js";
5
-
6
- jest.mock("../../network", () => {
7
- return {
8
- AptosAPI: jest.fn().mockImplementation(() => ({
9
- getBalances: jest.fn(),
10
- })),
11
- };
12
- });
2
+ import { APTOS_ASSET_ID, TOKEN_TYPE } from "../../constants";
3
+ import type { AptosConfig } from "../../config";
4
+ import { createApi } from "../../api";
13
5
 
14
- describe("getBalance", () => {
15
- let mockGetBalances: jest.Mock;
6
+ jest.mock("@aptos-labs/ts-sdk");
7
+ let mockedAptosApi: jest.Mocked<any>;
8
+ jest.mock("../../network");
9
+ jest.mock("../../config", () => ({
10
+ setCoinConfig: jest.fn(),
11
+ }));
16
12
 
13
+ const mockAptosConfig: AptosConfig = {} as AptosConfig;
14
+
15
+ describe("getBalance", () => {
17
16
  beforeEach(() => {
18
- jest.clearAllMocks();
17
+ mockedAptosApi = jest.mocked(AptosAPI);
18
+ });
19
19
 
20
- mockGetBalances = jest
21
- .fn()
22
- .mockResolvedValue([{ asset_type: APTOS_ASSET_ID, amount: BigNumber(10) }]);
20
+ afterEach(() => {
21
+ jest.resetAllMocks();
22
+ });
23
23
 
24
- (AptosAPI as jest.Mock).mockImplementation(() => ({
25
- getBalances: mockGetBalances,
24
+ it("should return balance with value 10", async () => {
25
+ mockedAptosApi.mockImplementation(() => ({
26
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: APTOS_ASSET_ID, amount: 10n }]),
26
27
  }));
28
+
29
+ const api = createApi(mockAptosConfig);
30
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
31
+
32
+ expect(await api.getBalance(accountAddress)).toStrictEqual([
33
+ { value: 10n, asset: { type: "native" } },
34
+ ]);
27
35
  });
28
36
 
29
- afterEach(() => {
30
- jest.clearAllMocks();
37
+ it("should return empty array when no contract_address and no data", async () => {
38
+ mockedAptosApi.mockImplementation(() => ({
39
+ getBalances: jest.fn().mockResolvedValue([]),
40
+ }));
41
+
42
+ const accountAddress = "0xno_contract_and_no_data";
43
+
44
+ const api = createApi(mockAptosConfig);
45
+ expect(await api.getBalance(accountAddress)).toStrictEqual([]);
31
46
  });
32
47
 
33
- it("should returns balance with value 10", async () => {
34
- mockGetBalances.mockResolvedValue([{ asset_type: APTOS_ASSET_ID, amount: new BigNumber(10) }]);
48
+ it("should return balance with 'native' contract_address (APTOS_ASSET_ID)", async () => {
49
+ mockedAptosApi.mockImplementation(() => ({
50
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: APTOS_ASSET_ID, amount: 15n }]),
51
+ }));
52
+
53
+ const api = createApi(mockAptosConfig);
54
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
55
+
56
+ expect(await api.getBalance(accountAddress)).toStrictEqual([
57
+ { value: 15n, asset: { type: "native" } },
58
+ ]);
59
+ });
60
+
61
+ it("should return token balance when contract_address is a coin token", async () => {
62
+ const TOKEN_ASSET_ID = "0x1::my_token::Token";
63
+ mockedAptosApi.mockImplementation(() => ({
64
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: TOKEN_ASSET_ID, amount: 25n }]),
65
+ }));
66
+
67
+ const api = createApi(mockAptosConfig);
68
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
69
+
70
+ expect(await api.getBalance(accountAddress)).toStrictEqual([
71
+ {
72
+ value: 25n,
73
+ asset: { type: "token", contractAddress: TOKEN_ASSET_ID, standard: TOKEN_TYPE.COIN },
74
+ },
75
+ ]);
76
+ });
77
+
78
+ it("should return token balance when contract_address is a fungible_asset token", async () => {
79
+ const TOKEN_ASSET_ID = "0x1";
80
+ mockedAptosApi.mockImplementation(() => ({
81
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: TOKEN_ASSET_ID, amount: 25n }]),
82
+ }));
35
83
 
84
+ const api = createApi(mockAptosConfig);
36
85
  const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
37
- const client = new AptosAPI("aptos");
38
- const balance = await getBalance(client, accountAddress);
39
86
 
40
- expect(balance).toBeDefined();
41
- expect(balance).toMatchObject([{ value: BigInt(10), asset: { type: "native" } }]);
42
- expect(mockGetBalances).toHaveBeenCalledWith(accountAddress);
87
+ expect(await api.getBalance(accountAddress)).toStrictEqual([
88
+ {
89
+ value: 25n,
90
+ asset: {
91
+ type: "token",
92
+ contractAddress: TOKEN_ASSET_ID,
93
+ standard: TOKEN_TYPE.FUNGIBLE_ASSET,
94
+ },
95
+ },
96
+ ]);
43
97
  });
44
98
  });
@@ -11,6 +11,8 @@ describe("createApi", () => {
11
11
  indexer: getEnv("APTOS_INDEXER_ENDPOINT"),
12
12
  },
13
13
  });
14
+ const assetTypeNative = "native";
15
+ const assetTypeToken = "token";
14
16
 
15
17
  const sender = {
16
18
  xpub: "0x934887885b27a0407bf8a5e0bbc6b6371254bea94de5510e948bcc92dc0a519b",
@@ -210,12 +212,25 @@ describe("createApi", () => {
210
212
  });
211
213
  });
212
214
 
213
- describe("getBalance", () => {
214
- it("return balances from account", async () => {
215
+ describe("getBalances", () => {
216
+ it("returned balances should have one native asset", async () => {
215
217
  const balances = await api.getBalance(sender.freshAddress);
218
+ const nativeBalance = balances.filter(b => b.asset.type === assetTypeNative);
219
+ expect(nativeBalance.length).toBe(1);
220
+ expect(nativeBalance[0].value).toBeGreaterThan(0);
221
+ });
216
222
 
217
- expect(balances.length).toBeGreaterThan(0);
218
- expect(balances[0].value).toBeGreaterThanOrEqual(0);
223
+ it("returned balances should have a token asset", async () => {
224
+ const balances = await api.getBalance(tokenAccount.freshAddress);
225
+ const tokenBalances = balances.filter(
226
+ b =>
227
+ b.asset.type === assetTypeToken &&
228
+ b.asset.contractAddress ===
229
+ "0x2ebb2ccac5e027a87fa0e2e5f656a3a4238d6a48d93ec9b610d570fc0aa0df12",
230
+ );
231
+ expect(tokenBalances.length).toBeGreaterThan(0);
232
+ expect(balances.length).toBeGreaterThan(1);
233
+ expect(balances[0].value).toBeGreaterThan(0);
219
234
  });
220
235
  });
221
236
 
@@ -798,10 +798,15 @@ describe("getAccountShape", () => {
798
798
  blockHeight: 316278241,
799
799
  }));
800
800
 
801
- const mockGetBalance = jest.fn().mockImplementation(() => BigNumber(5000000));
801
+ const TOKEN_CONTRACT_ADDRESS = "0xd111::staked_coin::StakedAptos";
802
+
803
+ const mockGetBalances = jest
804
+ .fn()
805
+ .mockResolvedValue([{ contractAddress: TOKEN_CONTRACT_ADDRESS, amount: BigNumber(1234567) }]);
806
+
802
807
  mockedAptosAPI.mockImplementation(() => ({
808
+ getBalances: mockGetBalances,
803
809
  getAccountInfo: mockGetAccountInfo,
804
- getBalance: mockGetBalance,
805
810
  }));
806
811
 
807
812
  const mockGetAccountSpy = jest.spyOn({ getAccount: mockGetAccountInfo }, "getAccount");
@@ -1312,9 +1317,14 @@ describe("getSubAccountShape", () => {
1312
1317
  ] as Operation[];
1313
1318
 
1314
1319
  it("returns the correct information", async () => {
1315
- const mockGetBalance = jest.fn().mockImplementation(() => BigNumber(1234567));
1320
+ const TOKEN_CONTRACT_ADDRESS = "0xd111::staked_coin::StakedAptos";
1321
+
1322
+ const mockGetBalances = jest
1323
+ .fn()
1324
+ .mockResolvedValue([{ contractAddress: TOKEN_CONTRACT_ADDRESS, amount: BigNumber(1234567) }]);
1325
+
1316
1326
  mockedAptosAPI.mockImplementation(() => ({
1317
- getBalance: mockGetBalance,
1327
+ getBalances: mockGetBalances,
1318
1328
  }));
1319
1329
 
1320
1330
  const subAccount = await getSubAccountShape(currency, address, parentId, token, operations);
@@ -1421,9 +1431,14 @@ describe("getSubAccounts", () => {
1421
1431
  ] as Operation[];
1422
1432
 
1423
1433
  it("returns the correct information", async () => {
1424
- const mockGetBalance = jest.fn().mockImplementation(() => BigNumber(1234567));
1434
+ const TOKEN_CONTRACT_ADDRESS = "0xd111::staked_coin::StakedAptos";
1435
+
1436
+ const mockGetBalances = jest
1437
+ .fn()
1438
+ .mockResolvedValue([{ contractAddress: TOKEN_CONTRACT_ADDRESS, amount: BigNumber(1234567) }]);
1439
+
1425
1440
  mockedAptosAPI.mockImplementation(() => ({
1426
- getBalance: mockGetBalance,
1441
+ getBalances: mockGetBalances,
1427
1442
  }));
1428
1443
 
1429
1444
  mockedDecodeTokenAccountId.mockReturnValue({
@@ -0,0 +1,80 @@
1
+ import { getBalances } from "../../logic/getBalances";
2
+ import { APTOS_ASSET_ID, TOKEN_TYPE } from "../../constants";
3
+ import type { AptosAPI } from "../../network";
4
+
5
+ describe("getBalance", () => {
6
+ it("should return balance with value 10", async () => {
7
+ const mockAptosClient = {
8
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: APTOS_ASSET_ID, amount: 10n }]),
9
+ } as Partial<AptosAPI> as AptosAPI;
10
+
11
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
12
+
13
+ const balances = await getBalances(mockAptosClient, accountAddress);
14
+
15
+ expect(balances).toStrictEqual([{ value: 10n, asset: { type: "native" } }]);
16
+ });
17
+
18
+ it("should return empty array when no contract_address and no data", async () => {
19
+ const mockAptosClient = {
20
+ getBalances: jest.fn().mockResolvedValue([]),
21
+ } as Partial<AptosAPI> as AptosAPI;
22
+
23
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
24
+
25
+ const balances = await getBalances(mockAptosClient, accountAddress);
26
+ expect(balances).toStrictEqual([]);
27
+ });
28
+
29
+ it("should return balance with 'native' contract_address (APTOS_ASSET_ID)", async () => {
30
+ const mockAptosClient = {
31
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: APTOS_ASSET_ID, amount: 10n }]),
32
+ } as Partial<AptosAPI> as AptosAPI;
33
+
34
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
35
+
36
+ const balances = await getBalances(mockAptosClient, accountAddress);
37
+
38
+ expect(balances).toStrictEqual([{ value: 10n, asset: { type: "native" } }]);
39
+ });
40
+
41
+ it("should return token balance when contract_address is a coin token", async () => {
42
+ const TOKEN_ASSET_ID = "0x1::my_token::Token";
43
+ const mockAptosClient = {
44
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: TOKEN_ASSET_ID, amount: 25n }]),
45
+ } as Partial<AptosAPI> as AptosAPI;
46
+
47
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
48
+
49
+ const balances = await getBalances(mockAptosClient, accountAddress);
50
+
51
+ expect(balances).toStrictEqual([
52
+ {
53
+ value: 25n,
54
+ asset: { type: "token", contractAddress: TOKEN_ASSET_ID, standard: TOKEN_TYPE.COIN },
55
+ },
56
+ ]);
57
+ });
58
+
59
+ it("should return token balance when contract_address is a fungible_asset token", async () => {
60
+ const TOKEN_ASSET_ID = "0x1";
61
+ const mockAptosClient = {
62
+ getBalances: jest.fn().mockResolvedValue([{ contractAddress: TOKEN_ASSET_ID, amount: 25n }]),
63
+ } as Partial<AptosAPI> as AptosAPI;
64
+
65
+ const accountAddress = "0x4be47904b31063d60ac0dfde06e5dc203e647edbe853bae0e666ae5a763c3906";
66
+
67
+ const balances = await getBalances(mockAptosClient, accountAddress);
68
+
69
+ expect(balances).toStrictEqual([
70
+ {
71
+ value: 25n,
72
+ asset: {
73
+ type: "token",
74
+ contractAddress: TOKEN_ASSET_ID,
75
+ standard: TOKEN_TYPE.FUNGIBLE_ASSET,
76
+ },
77
+ },
78
+ ]);
79
+ });
80
+ });
@@ -16,9 +16,8 @@ import BigNumber from "bignumber.js";
16
16
  import { AptosAPI } from "../../network";
17
17
  import { AptosAsset } from "../../types/assets";
18
18
  import { Pagination, TransactionIntent } from "@ledgerhq/coin-framework/api/types";
19
- import { TokenCurrency } from "@ledgerhq/types-cryptoassets";
20
19
  import { APTOS_ASSET_ID } from "../../constants";
21
- import { AptosTransaction } from "../../types";
20
+ import { AptosBalance, AptosTransaction } from "../../types";
22
21
 
23
22
  jest.mock("@aptos-labs/ts-sdk");
24
23
  jest.mock("@apollo/client");
@@ -96,75 +95,6 @@ describe("Aptos API", () => {
96
95
  });
97
96
  });
98
97
 
99
- describe("getBalance", () => {
100
- let token: TokenCurrency;
101
-
102
- beforeEach(() => {
103
- token = {
104
- type: "TokenCurrency",
105
- id: "aptos_token",
106
- name: "Aptos Token",
107
- ticker: "APT",
108
- units: [{ name: "APT", code: "APT", magnitude: 6 }],
109
- contractAddress: "APTOS_1_ADDRESS",
110
- tokenType: "fungible_asset",
111
- parentCurrency: {
112
- type: "CryptoCurrency",
113
- id: "aptos",
114
- name: "Aptos",
115
- ticker: "APT",
116
- units: [{ name: "APT", code: "APT", magnitude: 6 }],
117
- color: "#000000",
118
- family: "aptos",
119
- scheme: "aptos",
120
- explorerViews: [],
121
- managerAppName: "Aptos",
122
- coinType: 637,
123
- },
124
- };
125
- });
126
-
127
- it("get coin balance", async () => {
128
- mockedAptos.mockImplementation(() => ({
129
- view: jest.fn().mockReturnValue(["1234"]),
130
- }));
131
-
132
- token.tokenType = "coin";
133
- const api = new AptosAPI("aptos");
134
- const balance = await api.getBalance("address", token);
135
-
136
- expect(balance).toEqual(new BigNumber(1234));
137
- });
138
-
139
- it("get fungible assets balance", async () => {
140
- mockedAptos.mockImplementation(() => ({
141
- view: jest.fn().mockReturnValue(["12345"]),
142
- }));
143
-
144
- token.tokenType = "fungible_asset";
145
-
146
- const api = new AptosAPI("aptos");
147
- const balance = await api.getBalance("address", token);
148
-
149
- expect(balance).toEqual(new BigNumber(12345));
150
- });
151
-
152
- it("return 0 balace if could not retrieve proper balance of fungible assets", async () => {
153
- mockedAptos.mockImplementation(() => ({
154
- view: jest.fn().mockImplementation(() => {
155
- throw new Error("error");
156
- }),
157
- }));
158
-
159
- token.tokenType = "fungible_asset";
160
-
161
- const api = new AptosAPI("aptos");
162
- const balance = await api.getBalance("address", token);
163
-
164
- expect(balance).toEqual(new BigNumber(0));
165
- });
166
- });
167
-
168
98
  describe("getAccountInfo", () => {
169
99
  it("calls getCoinBalance, fetchTransactions and getHeight", async () => {
170
100
  mockedAptos.mockImplementation(() => ({
@@ -177,6 +107,12 @@ describe("Aptos API", () => {
177
107
  block_height: "1",
178
108
  block_hash: "83ca6d",
179
109
  }),
110
+ getCurrentFungibleAssetBalances: jest.fn().mockResolvedValue([
111
+ {
112
+ asset_type: APTOS_ASSET_ID,
113
+ amount: new BigNumber(123),
114
+ },
115
+ ]),
180
116
  }));
181
117
 
182
118
  mockedNetwork.mockResolvedValue(
@@ -307,6 +243,12 @@ describe("Aptos API", () => {
307
243
  block_height: "1",
308
244
  block_hash: "83ca6d",
309
245
  }),
246
+ getCurrentFungibleAssetBalances: jest.fn().mockResolvedValue([
247
+ {
248
+ asset_type: APTOS_ASSET_ID,
249
+ amount: new BigNumber(123),
250
+ },
251
+ ]),
310
252
  }));
311
253
 
312
254
  mockedNetwork.mockResolvedValue(
@@ -361,6 +303,12 @@ describe("Aptos API", () => {
361
303
  block_height: "1",
362
304
  block_hash: "83ca6d",
363
305
  }),
306
+ getCurrentFungibleAssetBalances: jest.fn().mockResolvedValue([
307
+ {
308
+ asset_type: APTOS_ASSET_ID,
309
+ amount: new BigNumber(123),
310
+ },
311
+ ]),
364
312
  }));
365
313
 
366
314
  mockedNetwork.mockResolvedValue(
@@ -398,8 +346,7 @@ describe("Aptos API", () => {
398
346
  }));
399
347
 
400
348
  const api = new AptosAPI("aptos");
401
- const accountInfo = await api.getAccountInfo("APTOS_1_ADDRESS", "1");
402
-
349
+ const accountInfo = await api.getAccountInfo(APTOS_ASSET_ID, "1");
403
350
  expect(accountInfo.balance).toEqual(new BigNumber(123));
404
351
  expect(accountInfo.transactions).toEqual([null]);
405
352
  expect(accountInfo.blockHeight).toEqual(999);
@@ -785,6 +732,10 @@ describe("Aptos API", () => {
785
732
 
786
733
  describe("getBalances", () => {
787
734
  it("returns an array of AptosBalances objects", async () => {
735
+ const expectedAptosBalace: AptosBalance = {
736
+ contractAddress: APTOS_ASSET_ID,
737
+ amount: BigNumber(200),
738
+ };
788
739
  const assets = [{ asset_type: APTOS_ASSET_ID, amount: 200 }];
789
740
  const mockGetCurrentFungibleAssetBalances = jest.fn().mockResolvedValue(assets);
790
741
  mockedAptos.mockImplementation(() => ({
@@ -794,21 +745,61 @@ describe("Aptos API", () => {
794
745
  const address = "0x42";
795
746
 
796
747
  const api = new AptosAPI("aptos");
797
- const balances = await api.getBalances(address);
748
+ const balances = await api.getBalances(address, APTOS_ASSET_ID);
798
749
 
799
750
  expect(mockGetCurrentFungibleAssetBalances).toHaveBeenCalledWith({
800
751
  options: {
801
- offset: 0,
802
- limit: 1000,
803
752
  where: {
804
753
  asset_type: { _eq: APTOS_ASSET_ID },
805
754
  owner_address: { _eq: address },
806
755
  },
807
756
  },
808
757
  });
809
- expect(balances).toHaveLength(1);
810
- expect(balances[0].contractAddress).toBe(assets[0].asset_type);
811
- expect(balances[0].amount).toStrictEqual(BigNumber(assets[0].amount));
758
+ expect(balances).toEqual([expectedAptosBalace]);
759
+ });
760
+
761
+ it("returns an array of AptosBalances when just address ispassed", async () => {
762
+ const expectedAptosBalace: AptosBalance = {
763
+ contractAddress: APTOS_ASSET_ID,
764
+ amount: BigNumber(200),
765
+ };
766
+ const assets = [{ asset_type: APTOS_ASSET_ID, amount: 200n }];
767
+ const mockGetCurrentFungibleAssetBalances = jest.fn().mockResolvedValue(assets);
768
+ mockedAptos.mockImplementation(() => ({
769
+ getCurrentFungibleAssetBalances: mockGetCurrentFungibleAssetBalances,
770
+ }));
771
+ const address = "0x42";
772
+ const api = new AptosAPI("aptos");
773
+
774
+ const balance = await api.getBalances(address);
775
+
776
+ expect(mockGetCurrentFungibleAssetBalances).toHaveBeenCalledWith({
777
+ options: {
778
+ where: {
779
+ owner_address: { _eq: address },
780
+ },
781
+ },
782
+ });
783
+ expect(balance).toEqual([expectedAptosBalace]);
784
+ });
785
+
786
+ it("return 0 balace if could not retrieve proper balance of fungible assets", async () => {
787
+ const expectedBalance = new BigNumber(0);
788
+ mockedAptos.mockImplementation(() => ({
789
+ getCurrentFungibleAssetBalances: jest.fn().mockImplementation(() => {
790
+ throw new Error("error");
791
+ }),
792
+ }));
793
+
794
+ const api = new AptosAPI("aptos");
795
+ const balance = await api.getBalances("address", "0x42");
796
+
797
+ expect(balance).toEqual([
798
+ {
799
+ contractAddress: "",
800
+ amount: expectedBalance,
801
+ },
802
+ ]);
812
803
  });
813
804
  });
814
805
 
package/src/api/index.ts CHANGED
@@ -6,7 +6,7 @@ import type { AptosAsset } from "../types/assets";
6
6
  import { AptosAPI } from "../network";
7
7
  import { combine } from "../logic/combine";
8
8
  import { craftTransaction } from "../logic/craftTransaction";
9
- import { getBalance } from "../logic/getBalance";
9
+ import { getBalances } from "../logic/getBalances";
10
10
 
11
11
  export function createApi(config: AptosConfigApi): AlpacaApi<AptosAsset> {
12
12
  coinConfig.setCoinConfig(() => ({ ...config, status: { type: "active" } }));
@@ -20,7 +20,7 @@ export function createApi(config: AptosConfigApi): AlpacaApi<AptosAsset> {
20
20
  craftTransaction(client, transactionIntent),
21
21
  estimateFees: (transactionIntent: TransactionIntent<AptosAsset>) =>
22
22
  client.estimateFees(transactionIntent),
23
- getBalance: (address): Promise<Balance<AptosAsset>[]> => getBalance(client, address),
23
+ getBalance: (address): Promise<Balance<AptosAsset>[]> => getBalances(client, address),
24
24
  lastBlock: () => client.getLastBlock(),
25
25
  listOperations: (address: string, pagination: Pagination) =>
26
26
  client.listOperations(address, pagination),
@@ -13,6 +13,7 @@ import {
13
13
  encodeTokenAccountId,
14
14
  } from "@ledgerhq/coin-framework/account/index";
15
15
  import { AccountShapeInfo } from "@ledgerhq/coin-framework/bridge/jsHelpers";
16
+ import BigNumber from "bignumber.js";
16
17
 
17
18
  /**
18
19
  * List of properties of a sub account that can be updated when 2 "identical" accounts are found
@@ -70,7 +71,7 @@ export const mergeSubAccounts = (
70
71
  mergeOps(
71
72
  duplicatedAccount[name as keyof TokenAccount] as Operation[],
72
73
  newSubAccount[name as keyof TokenAccount] as Operation[],
73
- ) || [];
74
+ ) ?? [];
74
75
  }
75
76
  }
76
77
 
@@ -100,7 +101,8 @@ export const getSubAccountShape = async (
100
101
  ): Promise<TokenAccount> => {
101
102
  const aptosClient = new AptosAPI(currency.id);
102
103
  const tokenAccountId = encodeTokenAccountId(parentId, token);
103
- const balance = await aptosClient.getBalance(address, token);
104
+ const balances = await aptosClient.getBalances(address, token.contractAddress);
105
+ const balance = balances.length > 0 ? balances[0].amount : BigNumber(0);
104
106
  const firstOperation = operations
105
107
  .sort((a, b) => b.date.getTime() - a.date.getTime())
106
108
  .at(operations.length - 1);
@@ -0,0 +1,27 @@
1
+ import type { Balance } from "@ledgerhq/coin-framework/lib/api/types";
2
+ import type { AptosAsset } from "../types/assets";
3
+ import type { AptosAPI } from "../network";
4
+ import { APTOS_ASSET_ID, TOKEN_TYPE } from "../constants";
5
+
6
+ export async function getBalances(
7
+ aptosClient: AptosAPI,
8
+ address: string,
9
+ contract_address?: string,
10
+ ): Promise<Balance<AptosAsset>[]> {
11
+ const balances = await aptosClient.getBalances(address, contract_address);
12
+
13
+ return balances.map(balance => {
14
+ const isNative = balance.contractAddress === APTOS_ASSET_ID;
15
+ const standard =
16
+ balance.contractAddress.split("::").length === 3
17
+ ? TOKEN_TYPE.COIN
18
+ : TOKEN_TYPE.FUNGIBLE_ASSET;
19
+
20
+ return {
21
+ value: BigInt(balance.amount.toString()),
22
+ asset: isNative
23
+ ? { type: "native" }
24
+ : { type: "token", contractAddress: balance.contractAddress, standard: standard },
25
+ };
26
+ });
27
+ }