@ledgerhq/coin-sui 0.9.1-nightly.0 → 0.10.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 (48) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +16 -0
  3. package/lib/bridge/buildTransaction.d.ts +1 -1
  4. package/lib/bridge/buildTransaction.d.ts.map +1 -1
  5. package/lib/bridge/buildTransaction.integration.test.js +12 -0
  6. package/lib/bridge/buildTransaction.integration.test.js.map +1 -1
  7. package/lib/bridge/buildTransaction.js +8 -4
  8. package/lib/bridge/buildTransaction.js.map +1 -1
  9. package/lib/bridge/buildTransaction.test.js +14 -10
  10. package/lib/bridge/buildTransaction.test.js.map +1 -1
  11. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -1
  12. package/lib/bridge/getFeesForTransaction.js +2 -3
  13. package/lib/bridge/getFeesForTransaction.js.map +1 -1
  14. package/lib/logic/craftTransaction.js +1 -1
  15. package/lib/logic/craftTransaction.js.map +1 -1
  16. package/lib/network/sdk.d.ts +18 -3
  17. package/lib/network/sdk.d.ts.map +1 -1
  18. package/lib/network/sdk.js +64 -51
  19. package/lib/network/sdk.js.map +1 -1
  20. package/lib/network/sdk.test.js +148 -65
  21. package/lib/network/sdk.test.js.map +1 -1
  22. package/lib-es/bridge/buildTransaction.d.ts +1 -1
  23. package/lib-es/bridge/buildTransaction.d.ts.map +1 -1
  24. package/lib-es/bridge/buildTransaction.integration.test.js +12 -0
  25. package/lib-es/bridge/buildTransaction.integration.test.js.map +1 -1
  26. package/lib-es/bridge/buildTransaction.js +9 -5
  27. package/lib-es/bridge/buildTransaction.js.map +1 -1
  28. package/lib-es/bridge/buildTransaction.test.js +14 -10
  29. package/lib-es/bridge/buildTransaction.test.js.map +1 -1
  30. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -1
  31. package/lib-es/bridge/getFeesForTransaction.js +2 -3
  32. package/lib-es/bridge/getFeesForTransaction.js.map +1 -1
  33. package/lib-es/logic/craftTransaction.js +1 -1
  34. package/lib-es/logic/craftTransaction.js.map +1 -1
  35. package/lib-es/network/sdk.d.ts +18 -3
  36. package/lib-es/network/sdk.d.ts.map +1 -1
  37. package/lib-es/network/sdk.js +61 -48
  38. package/lib-es/network/sdk.js.map +1 -1
  39. package/lib-es/network/sdk.test.js +148 -65
  40. package/lib-es/network/sdk.test.js.map +1 -1
  41. package/package.json +4 -4
  42. package/src/bridge/buildTransaction.integration.test.ts +13 -0
  43. package/src/bridge/buildTransaction.test.ts +25 -25
  44. package/src/bridge/buildTransaction.ts +10 -5
  45. package/src/bridge/getFeesForTransaction.ts +2 -3
  46. package/src/logic/craftTransaction.ts +1 -1
  47. package/src/network/sdk.test.ts +186 -77
  48. package/src/network/sdk.ts +82 -62
@@ -26,47 +26,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- // Move all jest.mock calls to the very top
30
- jest.mock("../config", () => ({
31
- __esModule: true,
32
- default: {
33
- getCoinConfig: jest.fn(() => ({ node: { url: "http://test.com" } })),
34
- setCoinConfig: jest.fn(),
35
- },
36
- }));
37
- jest.mock("../utils", () => ({
38
- ensureAddressFormat: jest.fn((addr) => addr),
39
- }));
40
- jest.mock("@ledgerhq/live-network/cache", () => ({
41
- makeLRUCache: jest.fn(() => jest.fn()),
42
- minutes: jest.fn(() => 60000),
43
- }));
44
- jest.mock("@ledgerhq/logs", () => ({
45
- log: jest.fn(),
46
- }));
47
- jest.mock("@mysten/sui/client", () => {
48
- const mockClient = {
49
- queryTransactionBlocks: jest.fn(),
50
- getBalance: jest.fn(),
51
- getLatestCheckpointSequenceNumber: jest.fn(),
52
- getCheckpoint: jest.fn(),
53
- dryRunTransactionBlock: jest.fn(),
54
- executeTransactionBlock: jest.fn(),
55
- };
56
- return {
57
- SuiClient: jest.fn().mockImplementation(() => mockClient),
58
- };
59
- });
60
- jest.mock("@mysten/sui/transactions", () => ({
61
- Transaction: jest.fn().mockImplementation(() => ({
62
- setSender: jest.fn().mockReturnThis(),
63
- splitCoins: jest.fn().mockReturnValue([{ id: "coin1" }]),
64
- transferObjects: jest.fn().mockReturnThis(),
65
- gas: { id: "gas" },
66
- build: jest.fn().mockResolvedValue(new Uint8Array([1, 2, 3])),
67
- })),
68
- }));
69
- // Now import after mocks
70
29
  const sdk = __importStar(require("./sdk"));
71
30
  const config_1 = __importDefault(require("../config"));
72
31
  const bignumber_js_1 = require("bignumber.js");
@@ -229,6 +188,15 @@ const mockTransaction = {
229
188
  checkpoint: "313024",
230
189
  };
231
190
  const mockApi = new client_1.SuiClient({ url: "mock" });
191
+ // Helper function to generate mock coins from an array of balances
192
+ const createMockCoins = (balances) => {
193
+ return balances.map((balance, index) => ({
194
+ coinObjectId: `0xcoin${index + 1}`,
195
+ balance,
196
+ digest: `0xdigest${index + 1}`,
197
+ version: "1",
198
+ }));
199
+ };
232
200
  beforeAll(() => {
233
201
  config_1.default.setCoinConfig(() => ({
234
202
  status: {
@@ -299,7 +267,9 @@ describe("SDK Functions", () => {
299
267
  expect(sdk.getOperationFee(mockTransaction)).toEqual(new bignumber_js_1.BigNumber(1009880));
300
268
  });
301
269
  test("getOperationDate should return correct date", () => {
302
- expect(sdk.getOperationDate(mockTransaction)).toEqual(new Date("2025-03-18T10:40:54.878Z"));
270
+ const date = sdk.getOperationDate(mockTransaction);
271
+ expect(date).toBeDefined();
272
+ expect(date).toBeInstanceOf(Date);
303
273
  });
304
274
  test("getOperationCoinType should extract token coin type", () => {
305
275
  // For a token transaction
@@ -478,29 +448,6 @@ describe("SDK Functions", () => {
478
448
  expect(info).toHaveProperty("totalGasUsed");
479
449
  expect(info).toHaveProperty("fees");
480
450
  });
481
- test("getCoinObjectIds should return array of object IDs for token transactions", async () => {
482
- const address = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
483
- const transaction = {
484
- mode: "token.send",
485
- coinType: "0x123::test::TOKEN",
486
- amount: new bignumber_js_1.BigNumber(100),
487
- recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
488
- };
489
- const coinObjectIds = await sdk.getCoinObjectIds(address, transaction);
490
- expect(Array.isArray(coinObjectIds)).toBe(true);
491
- expect(coinObjectIds).toContain("0xtest_coin_object_id");
492
- });
493
- test("getCoinObjectIds should return null for SUI transactions", async () => {
494
- const address = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
495
- const transaction = {
496
- mode: "send",
497
- coinType: sdk.DEFAULT_COIN_TYPE,
498
- amount: new bignumber_js_1.BigNumber(100),
499
- recipient: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
500
- };
501
- const coinObjectIds = await sdk.getCoinObjectIds(address, transaction);
502
- expect(coinObjectIds).toBeNull();
503
- });
504
451
  test("createTransaction should build a transaction", async () => {
505
452
  const address = "0x6e143fe0a8ca010a86580dafac44298e5b1b7d73efc345356a59a15f0d7824f0";
506
453
  const transaction = {
@@ -1296,4 +1243,140 @@ describe("filterOperations", () => {
1296
1243
  });
1297
1244
  });
1298
1245
  });
1246
+ describe("getCoinsForAmount", () => {
1247
+ const mockAddress = "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164";
1248
+ const mockCoinType = "0x2::sui::SUI";
1249
+ beforeEach(() => {
1250
+ mockApi.getCoins.mockReset();
1251
+ });
1252
+ describe("basic functionality", () => {
1253
+ test("handles single coin scenarios", async () => {
1254
+ const sufficientCoins = createMockCoins(["1000"]);
1255
+ mockApi.getCoins.mockResolvedValueOnce({ data: sufficientCoins, hasNextPage: false });
1256
+ let result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1257
+ expect(result).toHaveLength(1);
1258
+ expect(result[0].balance).toBe("1000");
1259
+ const insufficientCoins = createMockCoins(["500"]);
1260
+ mockApi.getCoins.mockResolvedValueOnce({ data: insufficientCoins, hasNextPage: false });
1261
+ result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1262
+ expect(result).toHaveLength(1);
1263
+ expect(result[0].balance).toBe("500");
1264
+ });
1265
+ test("selects minimum coins needed", async () => {
1266
+ const exactMatchCoins = createMockCoins(["600", "400", "300"]);
1267
+ mockApi.getCoins.mockResolvedValueOnce({ data: exactMatchCoins, hasNextPage: false });
1268
+ let result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1269
+ expect(result).toHaveLength(2);
1270
+ expect(result[0].balance).toBe("600");
1271
+ expect(result[1].balance).toBe("400");
1272
+ const exceedCoins = createMockCoins(["800", "400", "200"]);
1273
+ mockApi.getCoins.mockResolvedValueOnce({ data: exceedCoins, hasNextPage: false });
1274
+ result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1275
+ expect(result).toHaveLength(2);
1276
+ expect(result[0].balance).toBe("800");
1277
+ expect(result[1].balance).toBe("400");
1278
+ });
1279
+ test("handles edge cases", async () => {
1280
+ mockApi.getCoins.mockResolvedValueOnce({ data: [], hasNextPage: false });
1281
+ let result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1282
+ expect(result).toHaveLength(0);
1283
+ const coins = createMockCoins(["1000"]);
1284
+ mockApi.getCoins.mockResolvedValueOnce({ data: coins, hasNextPage: false });
1285
+ result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 0);
1286
+ expect(result).toHaveLength(0);
1287
+ });
1288
+ });
1289
+ describe("sorting and filtering", () => {
1290
+ test("filters zero balance coins", async () => {
1291
+ const mockCoins = createMockCoins(["1000", "500"]);
1292
+ mockCoins.splice(1, 0, createMockCoins(["0"])[0]);
1293
+ mockCoins.push({ coinObjectId: "0xcoin4", balance: "0", digest: "0xdigest4", version: "1" });
1294
+ mockApi.getCoins.mockResolvedValueOnce({ data: mockCoins, hasNextPage: false });
1295
+ const result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1296
+ expect(result).toHaveLength(1);
1297
+ expect(result[0].balance).toBe("1000");
1298
+ expect(result.every(coin => parseInt(coin.balance) > 0)).toBe(true);
1299
+ });
1300
+ test("sorts and optimizes coin selection", async () => {
1301
+ const unsortedCoins = createMockCoins(["100", "800", "300", "500"]);
1302
+ mockApi.getCoins.mockResolvedValueOnce({ data: unsortedCoins, hasNextPage: false });
1303
+ let result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1304
+ expect(result).toHaveLength(2);
1305
+ expect(result[0].balance).toBe("800");
1306
+ expect(result[1].balance).toBe("500");
1307
+ const mixedCoins = createMockCoins(["200", "800", "400"]);
1308
+ mixedCoins.unshift(createMockCoins(["0"])[0]);
1309
+ mixedCoins.splice(2, 0, createMockCoins(["0"])[0]);
1310
+ mockApi.getCoins.mockResolvedValueOnce({ data: mixedCoins, hasNextPage: false });
1311
+ result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1312
+ expect(result).toHaveLength(2);
1313
+ expect(result[0].balance).toBe("800");
1314
+ expect(result[1].balance).toBe("400");
1315
+ expect(result.every(coin => parseInt(coin.balance) > 0)).toBe(true);
1316
+ });
1317
+ test("handles all zero balance coins", async () => {
1318
+ const mockCoins = createMockCoins(["0", "0", "0"]);
1319
+ mockApi.getCoins.mockResolvedValueOnce({ data: mockCoins, hasNextPage: false });
1320
+ const result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1321
+ expect(result).toHaveLength(0);
1322
+ expect(result).toEqual([]);
1323
+ });
1324
+ });
1325
+ describe("pagination", () => {
1326
+ test("handles single page scenarios", async () => {
1327
+ const mockCoins = createMockCoins(["800", "400", "300"]);
1328
+ mockApi.getCoins.mockResolvedValueOnce({
1329
+ data: mockCoins,
1330
+ hasNextPage: true,
1331
+ nextCursor: "cursor1",
1332
+ });
1333
+ const result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1334
+ expect(result).toHaveLength(2);
1335
+ expect(result[0].balance).toBe("800");
1336
+ expect(result[1].balance).toBe("400");
1337
+ expect(mockApi.getCoins).toHaveBeenCalledTimes(1);
1338
+ });
1339
+ test("handles multi-page scenarios", async () => {
1340
+ const firstPageCoins = createMockCoins(["300", "200"]);
1341
+ const secondPageCoins = createMockCoins(["600", "400", "100"]);
1342
+ mockApi.getCoins
1343
+ .mockResolvedValueOnce({
1344
+ data: firstPageCoins,
1345
+ hasNextPage: true,
1346
+ nextCursor: "cursor1",
1347
+ })
1348
+ .mockResolvedValueOnce({
1349
+ data: secondPageCoins,
1350
+ hasNextPage: false,
1351
+ });
1352
+ const result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1353
+ expect(result).toHaveLength(3);
1354
+ expect(result[0].balance).toBe("300");
1355
+ expect(result[1].balance).toBe("200");
1356
+ expect(result[2].balance).toBe("600");
1357
+ expect(mockApi.getCoins).toHaveBeenCalledTimes(2);
1358
+ });
1359
+ test("handles insufficient funds across pages", async () => {
1360
+ const firstPageCoins = createMockCoins(["300", "200"]);
1361
+ const secondPageCoins = createMockCoins(["200", "100"]);
1362
+ mockApi.getCoins
1363
+ .mockResolvedValueOnce({
1364
+ data: firstPageCoins,
1365
+ hasNextPage: true,
1366
+ nextCursor: "cursor1",
1367
+ })
1368
+ .mockResolvedValueOnce({
1369
+ data: secondPageCoins,
1370
+ hasNextPage: false,
1371
+ });
1372
+ const result = await sdk.getCoinsForAmount(mockApi, mockAddress, mockCoinType, 1000);
1373
+ expect(result).toHaveLength(4);
1374
+ expect(result[0].balance).toBe("300");
1375
+ expect(result[1].balance).toBe("200");
1376
+ expect(result[2].balance).toBe("200");
1377
+ expect(result[3].balance).toBe("100");
1378
+ expect(mockApi.getCoins).toHaveBeenCalledTimes(2);
1379
+ });
1380
+ });
1381
+ });
1299
1382
  //# sourceMappingURL=sdk.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/network/sdk.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../src/network/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ import type { SuiAccount, Transaction } from "../types";
3
3
  * @param {Account} account
4
4
  * @param {Transaction} transaction
5
5
  */
6
- export declare const buildTransaction: (account: SuiAccount, { recipient, mode, amount, coinType }: Transaction) => Promise<import("../types").CoreTransaction>;
6
+ export declare const buildTransaction: (account: SuiAccount, { amount, mode, recipient, subAccountId }: Transaction) => Promise<import("../types").CoreTransaction>;
7
7
  //# sourceMappingURL=buildTransaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIxD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAClB,UAAU,yCACoB,WAAW,gDASnD,CAAC"}
1
+ {"version":3,"file":"buildTransaction.d.ts","sourceRoot":"","sources":["../../src/bridge/buildTransaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAIxD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,YAClB,UAAU,6CACwB,WAAW,gDAavD,CAAC"}
@@ -18,9 +18,21 @@ describe("buildTransaction", () => {
18
18
  it("returns unsigned tx bytes for given tx with USDT coin type and can decode coinType from unsigned", async () => {
19
19
  // GIVEN
20
20
  const account = createFixtureAccount({
21
+ id: "parentAccountId",
21
22
  freshAddress: "0x33444cf803c690db96527cec67e3c9ab512596f4ba2d4eace43f0b4f716e0164",
23
+ subAccounts: [
24
+ createFixtureAccount({
25
+ id: "subAccountId",
26
+ parentId: "parentAccountId",
27
+ type: "TokenAccount",
28
+ token: {
29
+ contractAddress: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
30
+ },
31
+ }),
32
+ ],
22
33
  });
23
34
  const transaction = createFixtureTransaction({
35
+ subAccountId: "subAccountId",
24
36
  coinType: "0x375f70cf2ae4c00bf37117d0c85a2c71545e6ee05c4a5c7d282cd66a4504b068::usdt::USDT",
25
37
  amount: BigNumber(1),
26
38
  });
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.integration.test.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,UAAU,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAElE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC;YAC9B,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;YACD,IAAI,EAAE;gBACJ,GAAG,EAAE,cAAc,CAAC,SAAS,CAAC;aAC/B;SACF,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kGAAkG,EAAE,KAAK,IAAI,EAAE;QAChH,QAAQ;QACR,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,YAAY,EAAE,oEAAoE;SACnF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,wBAAwB,CAAC;YAC3C,QAAQ,EAAE,gFAAgF;YAC1F,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;SACrB,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,OAAO;QACP,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,MAAM,eAAe,GAAG,MAAM,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wGAAwG,EAAE,KAAK,IAAI,EAAE;QACtH,QAAQ;QACR,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,YAAY,EAAE,oEAAoE;SACnF,CAAC,CAAC;QACH,MAAM,WAAW,GAAG,wBAAwB,CAAC;YAC3C,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC;SAC3B,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE5D,OAAO;QACP,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAEnD,8BAA8B;QAC9B,MAAM,eAAe,GAAG,MAAM,6BAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,MAAM,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"buildTransaction.integration.test.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,20 @@
1
+ import { findSubAccountById } from "@ledgerhq/coin-framework/account/helpers";
1
2
  import { craftTransaction } from "../logic";
2
- import { toSuiAsset } from "../network/sdk";
3
+ import { DEFAULT_COIN_TYPE, toSuiAsset } from "../network/sdk";
3
4
  /**
4
5
  * @param {Account} account
5
6
  * @param {Transaction} transaction
6
7
  */
7
- export const buildTransaction = async (account, { recipient, mode, amount, coinType }) => {
8
+ export const buildTransaction = async (account, { amount, mode, recipient, subAccountId }) => {
9
+ const { freshAddress } = account;
10
+ const subAccount = findSubAccountById(account, subAccountId ?? "");
11
+ const asset = toSuiAsset(subAccount?.token.contractAddress ?? DEFAULT_COIN_TYPE);
8
12
  return craftTransaction({
9
- sender: account.freshAddress,
13
+ amount: BigInt(amount.toString()),
14
+ asset,
10
15
  recipient,
16
+ sender: freshAddress,
11
17
  type: mode,
12
- amount: BigInt(amount.toString()),
13
- asset: toSuiAsset(coinType),
14
18
  });
15
19
  };
16
20
  //# sourceMappingURL=buildTransaction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAmB,EACnB,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAe,EAClD,EAAE;IACF,OAAO,gBAAgB,CAAC;QACtB,MAAM,EAAE,OAAO,CAAC,YAAY;QAC5B,SAAS;QACT,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC,CAAC"}
1
+ {"version":3,"file":"buildTransaction.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAE9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE/D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EACnC,OAAmB,EACnB,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAe,EACtD,EAAE;IACF,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,IAAI,EAAE,CAAC,CAAC;IACnE,MAAM,KAAK,GAAG,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC,eAAe,IAAI,iBAAiB,CAAC,CAAC;IAEjF,OAAO,gBAAgB,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,KAAK;QACL,SAAS;QACT,MAAM,EAAE,YAAY;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;AACL,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { BigNumber } from "bignumber.js";
2
2
  import { buildTransaction } from "./buildTransaction";
3
+ import { createFixtureAccount } from "../types/bridge.fixture";
3
4
  // Mock the craftTransaction function
4
5
  jest.mock("../logic", () => ({
5
6
  craftTransaction: jest.fn(),
@@ -57,7 +58,7 @@ describe("buildTransaction", () => {
57
58
  });
58
59
  });
59
60
  describe("buildTransaction", () => {
60
- it("should call craftTransaction with correct parameters", async () => {
61
+ it("should call craftTransaction with correct parameters for native asset", async () => {
61
62
  // WHEN
62
63
  await buildTransaction(mockAccount, mockTransaction);
63
64
  // THEN
@@ -69,28 +70,31 @@ describe("buildTransaction", () => {
69
70
  asset: { type: "native" },
70
71
  });
71
72
  });
72
- it("should handle craftTransaction for token asset", async () => {
73
- // WHEN
74
- await buildTransaction({
75
- ...mockAccount,
73
+ it("should call craftTransaction with correct parameters for token asset", async () => {
74
+ const account = createFixtureAccount({
76
75
  id: "parentAccountId",
77
76
  balance: BigNumber(0),
78
77
  spendableBalance: BigNumber(0),
79
78
  subAccounts: [
80
- {
81
- ...mockAccount,
79
+ createFixtureAccount({
82
80
  id: "subAccountId",
83
81
  parentId: "parentAccountId",
84
82
  type: "TokenAccount",
85
83
  token: {
86
84
  contractAddress: "0x3::usdt::USDT",
87
85
  },
88
- },
86
+ }),
89
87
  ],
90
- }, { ...mockTransaction, subAccountId: "subAccountId", coinType: "0x3::usdt::USDT" });
88
+ });
89
+ // WHEN
90
+ await buildTransaction(account, {
91
+ ...mockTransaction,
92
+ subAccountId: "subAccountId",
93
+ coinType: "0x3::usdt::USDT",
94
+ });
91
95
  // THEN
92
96
  expect(craftTransaction).toHaveBeenCalledWith({
93
- sender: mockAccount.freshAddress,
97
+ sender: account.freshAddress,
94
98
  recipient: mockTransaction.recipient,
95
99
  type: mockTransaction.mode,
96
100
  amount: BigInt(mockTransaction.amount.toString()),