@ledgerhq/coin-hedera 1.12.0-nightly.2 → 1.12.0-nightly.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +73 -11
  3. package/lib/api/network.d.ts +2 -6
  4. package/lib/api/network.d.ts.map +1 -1
  5. package/lib/api/network.js +4 -25
  6. package/lib/api/network.js.map +1 -1
  7. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -1
  8. package/lib/bridge/buildOptimisticOperation.js +6 -2
  9. package/lib/bridge/buildOptimisticOperation.js.map +1 -1
  10. package/lib/bridge/getTransactionStatus.d.ts.map +1 -1
  11. package/lib/bridge/getTransactionStatus.js +10 -13
  12. package/lib/bridge/getTransactionStatus.js.map +1 -1
  13. package/lib/bridge/getTransactionStatus.test.js +24 -8
  14. package/lib/bridge/getTransactionStatus.test.js.map +1 -1
  15. package/lib/bridge/index.d.ts.map +1 -1
  16. package/lib/bridge/index.js +3 -0
  17. package/lib/bridge/index.js.map +1 -1
  18. package/lib/bridge/utils.d.ts +4 -0
  19. package/lib/bridge/utils.d.ts.map +1 -1
  20. package/lib/bridge/utils.integration.test.js +40 -0
  21. package/lib/bridge/utils.integration.test.js.map +1 -1
  22. package/lib/bridge/utils.js +41 -3
  23. package/lib/bridge/utils.js.map +1 -1
  24. package/lib/errors.d.ts +12 -0
  25. package/lib/errors.d.ts.map +1 -1
  26. package/lib/errors.js +5 -1
  27. package/lib/errors.js.map +1 -1
  28. package/lib-es/api/network.d.ts +2 -6
  29. package/lib-es/api/network.d.ts.map +1 -1
  30. package/lib-es/api/network.js +3 -24
  31. package/lib-es/api/network.js.map +1 -1
  32. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -1
  33. package/lib-es/bridge/buildOptimisticOperation.js +7 -3
  34. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -1
  35. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -1
  36. package/lib-es/bridge/getTransactionStatus.js +9 -12
  37. package/lib-es/bridge/getTransactionStatus.js.map +1 -1
  38. package/lib-es/bridge/getTransactionStatus.test.js +21 -5
  39. package/lib-es/bridge/getTransactionStatus.test.js.map +1 -1
  40. package/lib-es/bridge/index.d.ts.map +1 -1
  41. package/lib-es/bridge/index.js +3 -0
  42. package/lib-es/bridge/index.js.map +1 -1
  43. package/lib-es/bridge/utils.d.ts +4 -0
  44. package/lib-es/bridge/utils.d.ts.map +1 -1
  45. package/lib-es/bridge/utils.integration.test.js +41 -1
  46. package/lib-es/bridge/utils.integration.test.js.map +1 -1
  47. package/lib-es/bridge/utils.js +40 -3
  48. package/lib-es/bridge/utils.js.map +1 -1
  49. package/lib-es/errors.d.ts +12 -0
  50. package/lib-es/errors.d.ts.map +1 -1
  51. package/lib-es/errors.js +4 -0
  52. package/lib-es/errors.js.map +1 -1
  53. package/package.json +10 -10
  54. package/src/api/network.ts +2 -35
  55. package/src/bridge/buildOptimisticOperation.ts +7 -3
  56. package/src/bridge/getTransactionStatus.test.ts +27 -5
  57. package/src/bridge/getTransactionStatus.ts +14 -13
  58. package/src/bridge/index.ts +3 -0
  59. package/src/bridge/utils.integration.test.ts +52 -0
  60. package/src/bridge/utils.ts +49 -2
  61. package/src/errors.ts +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,SAAS,mBAAmB,CAAC,aAA0C;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,gBAAgB,CAAC;QACpC,eAAe;QACf,kBAAkB;QAClB,YAAY,EAAE,iBAAiB,CAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;AAE3C,SAAS,kBAAkB,CACzB,aAA0C;IAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,aAAa;QACb,SAAS;QACT,8BAA8B;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAA0C;IACtE,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,GAClB,MAAM,2CAA2C,CAAC;AACnD,OAAO,iBAAiB,MAAM,mDAAmD,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAGvC,SAAS,mBAAmB,CAAC,aAA0C;IACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,gBAAgB,CAAC;QACpC,eAAe;QACf,kBAAkB;QAClB,YAAY,EAAE,iBAAiB,CAAC,UAAU,CAAC;KAC5C,CAAC,CAAC;IAEH,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC;QACjB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;AAE3C,SAAS,kBAAkB,CACzB,aAA0C;IAE1C,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB;QACpB,iBAAiB;QACjB,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;QAClB,kBAAkB;QAClB,oBAAoB;QACpB,IAAI;QACJ,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,aAAa;QACb,gBAAgB,EAAE,GAAG,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QACD,SAAS;QACT,8BAA8B;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,aAA0C;IACtE,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC"}
@@ -25,5 +25,9 @@ export declare const mergeSubAccounts: (initialAccount: Account | undefined, new
25
25
  export declare const applyPendingExtras: (existing: Operation[], pending: Operation[]) => Operation[];
26
26
  export declare function patchOperationWithExtra(operation: Operation, extra: HederaOperationExtra): Operation;
27
27
  export declare const checkAccountTokenAssociationStatus: import("@ledgerhq/live-network/cache").CacheRes<[accountId: string, tokenId: string], boolean>;
28
+ export declare const safeParseAccountId: (address: string) => [Error, null] | [null, {
29
+ accountId: string;
30
+ checksum: string | null;
31
+ }];
28
32
  export {};
29
33
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAGrC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAe7E,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAiB,MAAM,8BAA8B,CAAC;AAI5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,EAAkC,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtF,eAAO,MAAM,oBAAoB,yFAoBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAClB,OAAO,iBACD,sBAAsB,KACpC,QAAQ,SAAS,CAgBnB,CAAC;AAEF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;CACvB;AAyCD,eAAO,MAAM,eAAe;aAIjB,OAAO;iBACH,WAAW;MACtB,QAAQ,qBAAqB,CAahC,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1D;AAID,eAAO,MAAM,WAAW,aACZ,cAAc,wBACH,MAAM,EAAE,KAC5B,MAaF,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,uBACI,SAAS,EAAE,gBAClB,iBAAiB,EAAE,KAChC,QAAQ,YAAY,EAAE,CAwFxB,CAAC;AAmCF,eAAO,MAAM,iBAAiB,mBACZ,SAAS,EAAE,mBACV,SAAS,EAAE,gBACd,iBAAiB,EAAE,KAChC,SAAS,EAoDX,CAAC;AAaF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,YAAY,EAAE,KAC7B,MAAM,YAAY,CAmDpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,SAAS,EAAE,WAAW,SAAS,EAAE,gBAiB7E,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAoB,GAC1B,SAAS,CAOX;AAED,eAAO,MAAM,kCAAkC,gGAiB9C,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAKrC,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAgB7E,OAAO,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAiB,MAAM,8BAA8B,CAAC;AAI5F,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,OAAO,EAAkC,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAKtF,eAAO,MAAM,oBAAoB,yFAoBhC,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAClB,OAAO,iBACD,sBAAsB,KACpC,QAAQ,SAAS,CAgBnB,CAAC;AAEF,UAAU,qBAAqB;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE,SAAS,CAAC;CACvB;AAyCD,eAAO,MAAM,eAAe;aAIjB,OAAO;iBACH,WAAW;MACtB,QAAQ,qBAAqB,CAahC,CAAC;AAGF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM1D;AAID,eAAO,MAAM,WAAW,aACZ,cAAc,wBACH,MAAM,EAAE,KAC5B,MAaF,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,uBACI,SAAS,EAAE,gBAClB,iBAAiB,EAAE,KAChC,QAAQ,YAAY,EAAE,CAwFxB,CAAC;AAmCF,eAAO,MAAM,iBAAiB,mBACZ,SAAS,EAAE,mBACV,SAAS,EAAE,gBACd,iBAAiB,EAAE,KAChC,SAAS,EAoDX,CAAC;AAaF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,YAAY,EAAE,KAC7B,MAAM,YAAY,CAmDpB,CAAC;AAEF,eAAO,MAAM,kBAAkB,aAAc,SAAS,EAAE,WAAW,SAAS,EAAE,gBAiB7E,CAAC;AAEF,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,oBAAoB,GAC1B,SAAS,CAOX;AAED,eAAO,MAAM,kCAAkC,gGAwB9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,YACpB,MAAM,KACd,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CA+BvE,CAAC"}
@@ -1,12 +1,14 @@
1
1
  import BigNumber from "bignumber.js";
2
+ import { InvalidAddress } from "@ledgerhq/errors";
2
3
  import cvsApi from "@ledgerhq/live-countervalues/api/index";
3
4
  import { encodeTokenAccountId } from "@ledgerhq/coin-framework/account";
4
5
  import { getMockedAccount, getMockedTokenAccount } from "../test/fixtures/account.fixture";
5
6
  import { getMockedTransaction } from "../test/fixtures/transaction.fixture";
6
- import { applyPendingExtras, calculateAmount, checkAccountTokenAssociationStatus, getCurrencyToUSDRate, getEstimatedFees, getSubAccounts, getSyncHash, mergeSubAccounts, patchOperationWithExtra, prepareOperations, } from "./utils";
7
+ import { applyPendingExtras, calculateAmount, checkAccountTokenAssociationStatus, getCurrencyToUSDRate, getEstimatedFees, getSubAccounts, getSyncHash, mergeSubAccounts, safeParseAccountId, patchOperationWithExtra, prepareOperations, } from "./utils";
7
8
  import { getMockedCurrency, getMockedTokenCurrency, getTokenCurrencyFromCAL, } from "../test/fixtures/currency.fixture";
8
9
  import { getMockedOperation } from "../test/fixtures/operation.fixture";
9
10
  import { getAccount } from "../api/mirror";
11
+ import { HederaRecipientInvalidChecksum } from "../errors";
10
12
  import { isValidExtra } from "../logic";
11
13
  import { getMockedMirrorToken } from "../test/fixtures/mirror.fixture";
12
14
  import { HEDERA_OPERATION_TYPES, HEDERA_TRANSACTION_KINDS } from "../constants";
@@ -418,6 +420,44 @@ describe("utils", () => {
418
420
  const result = await checkAccountTokenAssociationStatus(accountId, tokenId);
419
421
  expect(result).toBe(false);
420
422
  });
423
+ test("supports addresses with checksum", async () => {
424
+ const addressWithChecksum = "0.0.9124531-xrxlv";
425
+ mockedGetAccount.mockResolvedValueOnce({
426
+ account: accountId,
427
+ max_automatic_token_associations: 0,
428
+ balance: {
429
+ balance: 1,
430
+ timestamp: "",
431
+ tokens: [{ token_id: "0.0.9999", balance: 1 }],
432
+ },
433
+ });
434
+ await checkAccountTokenAssociationStatus(addressWithChecksum, tokenId);
435
+ expect(mockedGetAccount).toHaveBeenCalledWith("0.0.9124531");
436
+ });
437
+ });
438
+ describe("safeParseAccountId", () => {
439
+ test("returns account id and no checksum for valid address without checksum", () => {
440
+ const [error, result] = safeParseAccountId("0.0.9124531");
441
+ expect(error).toBeNull();
442
+ expect(result?.accountId).toBe("0.0.9124531");
443
+ expect(result?.checksum).toBeNull();
444
+ });
445
+ test("returns account id and checksum for valid address with correct checksum", () => {
446
+ const [error, result] = safeParseAccountId("0.0.9124531-xrxlv");
447
+ expect(error).toBeNull();
448
+ expect(result?.accountId).toBe("0.0.9124531");
449
+ expect(result?.checksum).toBe("xrxlv");
450
+ });
451
+ test("returns error for valid address with incorrect checksum", () => {
452
+ const [error, accountId] = safeParseAccountId("0.0.9124531-invld");
453
+ expect(error).toBeInstanceOf(HederaRecipientInvalidChecksum);
454
+ expect(accountId).toBeNull();
455
+ });
456
+ test("returns error for invalid address format", () => {
457
+ const [error, accountId] = safeParseAccountId("not-a-valid-address");
458
+ expect(error).toBeInstanceOf(InvalidAddress);
459
+ expect(accountId).toBeNull();
460
+ });
421
461
  });
422
462
  });
423
463
  //# sourceMappingURL=utils.integration.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.integration.test.js","sourceRoot":"","sources":["../../src/bridge/utils.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.integration.test.js","sourceRoot":"","sources":["../../src/bridge/utils.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
1
  import BigNumber from "bignumber.js";
2
2
  import murmurhash from "imurmurhash";
3
3
  import invariant from "invariant";
4
+ import { AccountId } from "@hashgraph/sdk";
5
+ import { InvalidAddress } from "@ledgerhq/errors";
4
6
  import cvsApi from "@ledgerhq/live-countervalues/api/index";
5
- import { findTokenByAddressInCurrency, getFiatCurrencyByTicker, listTokensForCryptoCurrency, } from "@ledgerhq/cryptoassets";
7
+ import { findCryptoCurrencyById, findTokenByAddressInCurrency, getFiatCurrencyByTicker, listTokensForCryptoCurrency, } from "@ledgerhq/cryptoassets";
6
8
  import { decodeTokenAccountId, emptyHistoryCache, encodeTokenAccountId, findSubAccountById, isTokenAccount, } from "@ledgerhq/coin-framework/account";
7
9
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
8
10
  import { mergeOps } from "@ledgerhq/coin-framework/bridge/jsHelpers";
9
11
  import { makeLRUCache, seconds } from "@ledgerhq/live-network/cache";
10
12
  import { estimateMaxSpendable } from "./estimateMaxSpendable";
11
13
  import { getAccount } from "../api/mirror";
14
+ import { getHederaClient } from "../api/network";
15
+ import { HederaRecipientInvalidChecksum } from "../errors";
12
16
  import { isTokenAssociateTransaction, isValidExtra } from "../logic";
13
17
  import { BASE_USD_FEE_BY_OPERATION_TYPE, HEDERA_OPERATION_TYPES } from "../constants";
14
18
  const ESTIMATED_FEE_SAFETY_RATE = 2;
@@ -318,8 +322,13 @@ export function patchOperationWithExtra(operation, extra) {
318
322
  nftOperations: (operation.nftOperations ?? []).map(op => ({ ...op, extra })),
319
323
  };
320
324
  }
321
- export const checkAccountTokenAssociationStatus = makeLRUCache(async (accountId, tokenId) => {
322
- const mirrorAccount = await getAccount(accountId);
325
+ export const checkAccountTokenAssociationStatus = makeLRUCache(async (address, tokenId) => {
326
+ const [parsingError, parsingResult] = safeParseAccountId(address);
327
+ if (parsingError) {
328
+ throw parsingError;
329
+ }
330
+ const addressWithoutChecksum = parsingResult.accountId;
331
+ const mirrorAccount = await getAccount(addressWithoutChecksum);
323
332
  // auto association is enabled
324
333
  if (mirrorAccount.max_automatic_token_associations === -1) {
325
334
  return true;
@@ -329,4 +338,32 @@ export const checkAccountTokenAssociationStatus = makeLRUCache(async (accountId,
329
338
  });
330
339
  return isTokenAssociated;
331
340
  }, (accountId, tokenId) => `${accountId}-${tokenId}`, seconds(30));
341
+ export const safeParseAccountId = (address) => {
342
+ const currency = findCryptoCurrencyById("hedera");
343
+ const currencyName = currency?.name ?? "Hedera";
344
+ try {
345
+ const accountId = AccountId.fromString(address);
346
+ // verify checksum if present
347
+ // FIXME: migrate to EntityIdHelper methods once SDK is upgraded:
348
+ // https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L197
349
+ // https://github.com/hiero-ledger/hiero-sdk-js/blob/main/src/EntityIdHelper.js#L446
350
+ const checksum = address.split("-")[1] ?? null;
351
+ if (checksum) {
352
+ const client = getHederaClient();
353
+ const recipientWithChecksum = accountId.toStringWithChecksum(client);
354
+ const expectedChecksum = recipientWithChecksum.split("-")[1];
355
+ if (checksum !== expectedChecksum) {
356
+ return [new HederaRecipientInvalidChecksum(), null];
357
+ }
358
+ }
359
+ const result = {
360
+ accountId: accountId.toString(),
361
+ checksum,
362
+ };
363
+ return [null, result];
364
+ }
365
+ catch (err) {
366
+ return [new InvalidAddress("", { currencyName }), null];
367
+ }
368
+ };
332
369
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/bridge/utils.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  export declare const HederaAddAccountError: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
2
2
  [key: string]: unknown;
3
3
  }>;
4
+ export declare const HederaRecipientInvalidChecksum: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
5
+ [key: string]: unknown;
6
+ }>;
7
+ export declare const HederaInsufficientFundsForAssociation: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
8
+ [key: string]: unknown;
9
+ }>;
10
+ export declare const HederaRecipientTokenAssociationRequired: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
11
+ [key: string]: unknown;
12
+ }>;
13
+ export declare const HederaRecipientTokenAssociationUnverified: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
14
+ [key: string]: unknown;
15
+ }>;
4
16
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;EAAkD,CAAC;AACrF,eAAO,MAAM,8BAA8B;;EAE1C,CAAC;AACF,eAAO,MAAM,qCAAqC;;EAEjD,CAAC;AACF,eAAO,MAAM,uCAAuC;;EAEnD,CAAC;AACF,eAAO,MAAM,yCAAyC;;EAErD,CAAC"}
package/lib-es/errors.js CHANGED
@@ -1,3 +1,7 @@
1
1
  import { createCustomErrorClass } from "@ledgerhq/errors";
2
2
  export const HederaAddAccountError = createCustomErrorClass("HederaAddAccountError");
3
+ export const HederaRecipientInvalidChecksum = createCustomErrorClass("HederaRecipientInvalidChecksum");
4
+ export const HederaInsufficientFundsForAssociation = createCustomErrorClass("HederaInsufficientFundsForAssociation");
5
+ export const HederaRecipientTokenAssociationRequired = createCustomErrorClass("HederaRecipientTokenAssociationRequired");
6
+ export const HederaRecipientTokenAssociationUnverified = createCustomErrorClass("HederaRecipientTokenAssociationUnverified");
3
7
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,qBAAqB,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,8BAA8B,GAAG,sBAAsB,CAClE,gCAAgC,CACjC,CAAC;AACF,MAAM,CAAC,MAAM,qCAAqC,GAAG,sBAAsB,CACzE,uCAAuC,CACxC,CAAC;AACF,MAAM,CAAC,MAAM,uCAAuC,GAAG,sBAAsB,CAC3E,yCAAyC,CAC1C,CAAC;AACF,MAAM,CAAC,MAAM,yCAAyC,GAAG,sBAAsB,CAC7E,2CAA2C,CAC5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-hedera",
3
- "version": "1.12.0-nightly.2",
3
+ "version": "1.12.0-nightly.4",
4
4
  "description": "Ledger Hedera Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -82,14 +82,14 @@
82
82
  "invariant": "^2.2.2",
83
83
  "lodash": "^4.17.21",
84
84
  "rxjs": "^7.8.1",
85
- "@ledgerhq/coin-framework": "^6.6.0-nightly.1",
86
- "@ledgerhq/cryptoassets": "^13.30.0-nightly.0",
87
- "@ledgerhq/devices": "8.6.0",
88
- "@ledgerhq/errors": "^6.26.0-nightly.0",
89
- "@ledgerhq/live-countervalues": "^0.8.0-nightly.2",
90
- "@ledgerhq/live-env": "^2.17.0",
91
- "@ledgerhq/live-network": "^2.0.18",
92
- "@ledgerhq/types-live": "^6.86.0-nightly.0"
85
+ "@ledgerhq/coin-framework": "^6.7.0-nightly.4",
86
+ "@ledgerhq/cryptoassets": "^13.31.0-nightly.4",
87
+ "@ledgerhq/devices": "8.6.2-nightly.0",
88
+ "@ledgerhq/errors": "^6.27.0-nightly.0",
89
+ "@ledgerhq/live-countervalues": "^0.8.0-nightly.4",
90
+ "@ledgerhq/live-env": "^2.19.0-nightly.0",
91
+ "@ledgerhq/live-network": "^2.0.20-nightly.1",
92
+ "@ledgerhq/types-live": "^6.87.0-nightly.3"
93
93
  },
94
94
  "devDependencies": {
95
95
  "@types/imurmurhash": "^0.1.4",
@@ -100,7 +100,7 @@
100
100
  "jest": "^29.7.0",
101
101
  "ts-jest": "^29.1.1",
102
102
  "@ledgerhq/disable-network-setup": "^0.0.0",
103
- "@ledgerhq/types-cryptoassets": "^7.28.0-nightly.0"
103
+ "@ledgerhq/types-cryptoassets": "^7.29.0-nightly.0"
104
104
  },
105
105
  "scripts": {
106
106
  "clean": "rimraf lib lib-es",
@@ -1,4 +1,3 @@
1
- import BigNumber from "bignumber.js";
2
1
  import invariant from "invariant";
3
2
  import type { Transaction as HederaTransaction, TransactionResponse } from "@hashgraph/sdk";
4
3
  import {
@@ -7,18 +6,15 @@ import {
7
6
  Hbar,
8
7
  AccountId,
9
8
  TransactionId,
10
- AccountBalanceQuery,
11
- HbarUnit,
12
9
  TokenAssociateTransaction,
13
10
  } from "@hashgraph/sdk";
14
11
  import type { Account, TokenAccount } from "@ledgerhq/types-live";
15
12
  import { findSubAccountById, isTokenAccount } from "@ledgerhq/coin-framework/account/helpers";
16
- import { HederaAddAccountError } from "../errors";
17
13
  import { Transaction } from "../types";
18
14
  import { isTokenAssociateTransaction } from "../logic";
19
15
 
20
16
  export function broadcastTransaction(transaction: HederaTransaction): Promise<TransactionResponse> {
21
- return transaction.execute(getClient());
17
+ return transaction.execute(getHederaClient());
22
18
  }
23
19
 
24
20
  // https://github.com/LedgerHQ/ledger-live/pull/72/commits/1e942687d4301660e43e0c4b5419fcfa2733b290
@@ -118,41 +114,12 @@ export async function buildUnsignedTransaction({
118
114
  }
119
115
  }
120
116
 
121
- export interface AccountBalance {
122
- balance: BigNumber;
123
- }
124
-
125
- export async function getAccountBalance(address: string): Promise<AccountBalance> {
126
- const accountId = AccountId.fromString(address);
127
- let accountBalance;
128
-
129
- try {
130
- accountBalance = await new AccountBalanceQuery({
131
- accountId,
132
- }).execute(getBalanceClient());
133
- } catch {
134
- throw new HederaAddAccountError();
135
- }
136
-
137
- return {
138
- balance: accountBalance.hbars.to(HbarUnit.Tinybar),
139
- };
140
- }
141
-
142
117
  let _hederaClient: Client | null = null;
143
118
 
144
- let _hederaBalanceClient: Client | null = null;
145
-
146
- function getClient(): Client {
119
+ export function getHederaClient(): Client {
147
120
  _hederaClient ??= Client.forMainnet().setMaxNodesPerTransaction(1);
148
121
 
149
122
  //_hederaClient.setNetwork({ mainnet: "https://hedera.coin.ledger.com" });
150
123
 
151
124
  return _hederaClient;
152
125
  }
153
-
154
- function getBalanceClient(): Client {
155
- _hederaBalanceClient ??= Client.forMainnet();
156
-
157
- return _hederaBalanceClient;
158
- }
@@ -3,7 +3,7 @@ import type { Account, Operation, OperationType, TokenAccount } from "@ledgerhq/
3
3
  import { encodeOperationId } from "@ledgerhq/coin-framework/operation";
4
4
  import { findSubAccountById, isTokenAccount } from "@ledgerhq/coin-framework/account/helpers";
5
5
  import type { HederaOperationExtra, Transaction } from "../types";
6
- import { getEstimatedFees } from "./utils";
6
+ import { getEstimatedFees, safeParseAccountId } from "./utils";
7
7
  import { isTokenAssociateTransaction } from "../logic";
8
8
  import { HEDERA_OPERATION_TYPES } from "../constants";
9
9
 
@@ -55,6 +55,8 @@ const buildOptimisticCoinOperation = async ({
55
55
  : await getEstimatedFees(account, HEDERA_OPERATION_TYPES.CryptoTransfer);
56
56
  const value = transaction.amount;
57
57
  const type: OperationType = transactionType ?? "OUT";
58
+ const [_, recipientAddress] = safeParseAccountId(transaction.recipient);
59
+ const recipientWithoutChecksum = recipientAddress?.accountId ?? transaction.recipient;
58
60
 
59
61
  const operation: Operation = {
60
62
  id: encodeOperationId(account.id, "", type),
@@ -65,7 +67,7 @@ const buildOptimisticCoinOperation = async ({
65
67
  blockHash: null,
66
68
  blockHeight: null,
67
69
  senders: [account.freshAddress.toString()],
68
- recipients: [transaction.recipient],
70
+ recipients: [recipientWithoutChecksum],
69
71
  accountId: account.id,
70
72
  date: new Date(),
71
73
  extra: {},
@@ -86,6 +88,8 @@ const buildOptimisticTokenOperation = async ({
86
88
  const estimatedFee = await getEstimatedFees(account, HEDERA_OPERATION_TYPES.TokenTransfer);
87
89
  const value = transaction.amount;
88
90
  const type: OperationType = "OUT";
91
+ const [_, recipientAddress] = safeParseAccountId(transaction.recipient);
92
+ const recipientWithoutChecksum = recipientAddress?.accountId ?? transaction.recipient;
89
93
 
90
94
  const coinOperation = await buildOptimisticCoinOperation({
91
95
  account,
@@ -109,7 +113,7 @@ const buildOptimisticTokenOperation = async ({
109
113
  blockHash: null,
110
114
  blockHeight: null,
111
115
  senders: [account.freshAddress.toString()],
112
- recipients: [transaction.recipient],
116
+ recipients: [recipientWithoutChecksum],
113
117
  accountId: tokenAccount.id,
114
118
  date: new Date(),
115
119
  extra: {},
@@ -4,10 +4,13 @@ import {
4
4
  InvalidAddressBecauseDestinationIsAlsoSource,
5
5
  AmountRequired,
6
6
  NotEnoughBalance,
7
+ } from "@ledgerhq/errors";
8
+ import {
9
+ HederaRecipientInvalidChecksum,
7
10
  HederaInsufficientFundsForAssociation,
8
11
  HederaRecipientTokenAssociationRequired,
9
12
  HederaRecipientTokenAssociationUnverified,
10
- } from "@ledgerhq/errors";
13
+ } from "../errors";
11
14
  import { getMockedAccount, getMockedTokenAccount } from "../test/fixtures/account.fixture";
12
15
  import { getMockedTokenCurrency } from "../test/fixtures/currency.fixture";
13
16
  import { getMockedTransaction } from "../test/fixtures/transaction.fixture";
@@ -19,7 +22,7 @@ describe("getTransactionStatus", () => {
19
22
  const mockedEstimatedFee = new BigNumber(1);
20
23
  const mockedUsdRate = new BigNumber(1);
21
24
  const validRecipientAddress = "0.0.1234567";
22
- const invalidRecipientAddress = "invalid_address";
25
+ const validRecipientAddressWithChecksum = "0.0.1234567-ylkls";
23
26
 
24
27
  beforeEach(() => {
25
28
  jest.clearAllMocks();
@@ -81,13 +84,32 @@ describe("getTransactionStatus", () => {
81
84
  expect(result.estimatedFees).toEqual(mockedEstimatedFee);
82
85
  });
83
86
 
87
+ test("recipient with checksum is supported", async () => {
88
+ const mockedAccount = getMockedAccount({ balance: new BigNumber(1000) });
89
+ const mockedTransaction = getMockedTransaction({
90
+ recipient: validRecipientAddressWithChecksum,
91
+ amount: new BigNumber(100),
92
+ });
93
+
94
+ const result = await getTransactionStatus(mockedAccount, mockedTransaction);
95
+
96
+ expect(result.errors).toEqual({});
97
+ expect(result.warnings).toEqual({});
98
+ });
99
+
84
100
  test("adds error for invalid recipient address", async () => {
85
101
  const mockedAccount = getMockedAccount();
86
- const mockedTransaction = getMockedTransaction({ recipient: invalidRecipientAddress });
87
102
 
88
- const result = await getTransactionStatus(mockedAccount, mockedTransaction);
103
+ const txWithInvalidAddress = getMockedTransaction({ recipient: "invalid_address" });
104
+ const txWithInvalidAddressChecksum = getMockedTransaction({ recipient: "0.0.9124531-invld" });
105
+
106
+ const [result1, result2] = await Promise.all([
107
+ getTransactionStatus(mockedAccount, txWithInvalidAddress),
108
+ getTransactionStatus(mockedAccount, txWithInvalidAddressChecksum),
109
+ ]);
89
110
 
90
- expect(result.errors.recipient).toBeInstanceOf(InvalidAddress);
111
+ expect(result1.errors.recipient).toBeInstanceOf(InvalidAddress);
112
+ expect(result2.errors.recipient).toBeInstanceOf(HederaRecipientInvalidChecksum);
91
113
  });
92
114
 
93
115
  test("adds error for self transfers", async () => {
@@ -1,18 +1,18 @@
1
1
  import BigNumber from "bignumber.js";
2
- import { AccountId } from "@hashgraph/sdk";
3
2
  import {
4
3
  AmountRequired,
5
4
  NotEnoughBalance,
6
- InvalidAddress,
7
5
  InvalidAddressBecauseDestinationIsAlsoSource,
8
6
  RecipientRequired,
9
- HederaInsufficientFundsForAssociation,
10
- HederaRecipientTokenAssociationRequired,
11
- HederaRecipientTokenAssociationUnverified,
12
7
  } from "@ledgerhq/errors";
13
8
  import type { Account, AccountBridge, TokenAccount } from "@ledgerhq/types-live";
14
9
  import { findSubAccountById, isTokenAccount } from "@ledgerhq/coin-framework/account";
15
10
  import { getEnv } from "@ledgerhq/live-env";
11
+ import {
12
+ HederaInsufficientFundsForAssociation,
13
+ HederaRecipientTokenAssociationRequired,
14
+ HederaRecipientTokenAssociationUnverified,
15
+ } from "../errors";
16
16
  import { isTokenAssociateTransaction, isTokenAssociationRequired } from "../logic";
17
17
  import type { TokenAssociateProperties, Transaction, TransactionStatus } from "../types";
18
18
  import {
@@ -20,6 +20,7 @@ import {
20
20
  checkAccountTokenAssociationStatus,
21
21
  getCurrencyToUSDRate,
22
22
  getEstimatedFees,
23
+ safeParseAccountId,
23
24
  } from "./utils";
24
25
  import { HEDERA_OPERATION_TYPES } from "../constants";
25
26
 
@@ -31,16 +32,16 @@ function validateRecipient(account: Account, recipient: string): Error | null {
31
32
  return new RecipientRequired();
32
33
  }
33
34
 
34
- if (account.freshAddress === recipient) {
35
- return new InvalidAddressBecauseDestinationIsAlsoSource();
35
+ const [parsingError, parsingResult] = safeParseAccountId(recipient);
36
+
37
+ if (parsingError) {
38
+ return parsingError;
36
39
  }
37
40
 
38
- try {
39
- AccountId.fromString(recipient);
40
- } catch (err) {
41
- return new InvalidAddress("", {
42
- currencyName: account.currency.name,
43
- });
41
+ const recipientWithoutChecksum = parsingResult.accountId;
42
+
43
+ if (account.freshAddress === recipientWithoutChecksum) {
44
+ return new InvalidAddressBecauseDestinationIsAlsoSource();
44
45
  }
45
46
 
46
47
  return null;
@@ -55,6 +55,9 @@ function buildAccountBridge(
55
55
  sync,
56
56
  receive: receive(getAddressWrapper(getAddress)),
57
57
  signOperation,
58
+ signRawOperation: () => {
59
+ throw new Error("signRawOperation is not supported");
60
+ },
58
61
  broadcast,
59
62
  getSerializedAddressParameters,
60
63
  };