@ledgerhq/coin-ton 0.15.0 → 0.15.1-nightly.0

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 (149) hide show
  1. package/.unimportedrc.json +2 -1
  2. package/CHANGELOG.md +9 -0
  3. package/lib/{__tests__/integration/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +2 -2
  4. package/lib/test/bridge.dataset.d.ts.map +1 -0
  5. package/lib/{__tests__/integration/bridge.integration.test.js → test/bridge.dataset.js} +4 -4
  6. package/lib/test/bridge.dataset.js.map +1 -0
  7. package/lib/transaction.d.ts.map +1 -1
  8. package/lib/transaction.js +44 -0
  9. package/lib/transaction.js.map +1 -1
  10. package/lib/types.d.ts +40 -2
  11. package/lib/types.d.ts.map +1 -1
  12. package/lib-es/{__tests__/integration/bridge.integration.test.d.ts → test/bridge.dataset.d.ts} +2 -2
  13. package/lib-es/test/bridge.dataset.d.ts.map +1 -0
  14. package/lib-es/{__tests__/integration/bridge.integration.test.js → test/bridge.dataset.js} +4 -4
  15. package/lib-es/test/bridge.dataset.js.map +1 -0
  16. package/lib-es/transaction.d.ts.map +1 -1
  17. package/lib-es/transaction.js +44 -0
  18. package/lib-es/transaction.js.map +1 -1
  19. package/lib-es/types.d.ts +40 -2
  20. package/lib-es/types.d.ts.map +1 -1
  21. package/package.json +8 -8
  22. package/src/{__tests__/integration/bridge.integration.test.ts → test/bridge.dataset.ts} +4 -4
  23. package/src/transaction.ts +44 -0
  24. package/src/transaction.unit.test.ts +71 -8
  25. package/src/types.ts +52 -2
  26. package/lib/__tests__/fixtures/api.fixtures.d.ts +0 -4
  27. package/lib/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  28. package/lib/__tests__/fixtures/api.fixtures.js +0 -37
  29. package/lib/__tests__/fixtures/api.fixtures.js.map +0 -1
  30. package/lib/__tests__/fixtures/common.fixtures.d.ts +0 -32
  31. package/lib/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  32. package/lib/__tests__/fixtures/common.fixtures.js +0 -176
  33. package/lib/__tests__/fixtures/common.fixtures.js.map +0 -1
  34. package/lib/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  35. package/lib/__tests__/integration/bridge.integration.test.js.map +0 -1
  36. package/lib/__tests__/unit/api.unit.test.d.ts +0 -2
  37. package/lib/__tests__/unit/api.unit.test.d.ts.map +0 -1
  38. package/lib/__tests__/unit/api.unit.test.js +0 -77
  39. package/lib/__tests__/unit/api.unit.test.js.map +0 -1
  40. package/lib/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  41. package/lib/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  42. package/lib/__tests__/unit/broadcast.unit.test.js +0 -37
  43. package/lib/__tests__/unit/broadcast.unit.test.js.map +0 -1
  44. package/lib/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  45. package/lib/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  46. package/lib/__tests__/unit/createTransaction.unit.test.js +0 -25
  47. package/lib/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  48. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  49. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  50. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -111
  51. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  52. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  53. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  54. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -30
  55. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  56. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  57. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  58. package/lib/__tests__/unit/getTransactionStatus.unit.test.js +0 -120
  59. package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  60. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  61. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  62. package/lib/__tests__/unit/hw-getAddress.unit.test.js +0 -54
  63. package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  64. package/lib/__tests__/unit/logic.unit.test.d.ts +0 -2
  65. package/lib/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  66. package/lib/__tests__/unit/logic.unit.test.js +0 -18
  67. package/lib/__tests__/unit/logic.unit.test.js.map +0 -1
  68. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  69. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  70. package/lib/__tests__/unit/prepareTransaction.unit.test.js +0 -109
  71. package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  72. package/lib/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  73. package/lib/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  74. package/lib/__tests__/unit/signOperation.unit.test.js +0 -72
  75. package/lib/__tests__/unit/signOperation.unit.test.js.map +0 -1
  76. package/lib/__tests__/unit/txn.unit.test.d.ts +0 -2
  77. package/lib/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  78. package/lib/__tests__/unit/txn.unit.test.js +0 -298
  79. package/lib/__tests__/unit/txn.unit.test.js.map +0 -1
  80. package/lib/__tests__/unit/utils.unit.test.d.ts +0 -2
  81. package/lib/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  82. package/lib/__tests__/unit/utils.unit.test.js +0 -211
  83. package/lib/__tests__/unit/utils.unit.test.js.map +0 -1
  84. package/lib/transaction.unit.test.d.ts +0 -2
  85. package/lib/transaction.unit.test.d.ts.map +0 -1
  86. package/lib/transaction.unit.test.js +0 -600
  87. package/lib/transaction.unit.test.js.map +0 -1
  88. package/lib-es/__tests__/fixtures/api.fixtures.d.ts +0 -4
  89. package/lib-es/__tests__/fixtures/api.fixtures.d.ts.map +0 -1
  90. package/lib-es/__tests__/fixtures/api.fixtures.js +0 -34
  91. package/lib-es/__tests__/fixtures/api.fixtures.js.map +0 -1
  92. package/lib-es/__tests__/fixtures/common.fixtures.d.ts +0 -32
  93. package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +0 -1
  94. package/lib-es/__tests__/fixtures/common.fixtures.js +0 -170
  95. package/lib-es/__tests__/fixtures/common.fixtures.js.map +0 -1
  96. package/lib-es/__tests__/integration/bridge.integration.test.d.ts.map +0 -1
  97. package/lib-es/__tests__/integration/bridge.integration.test.js.map +0 -1
  98. package/lib-es/__tests__/unit/api.unit.test.d.ts +0 -2
  99. package/lib-es/__tests__/unit/api.unit.test.d.ts.map +0 -1
  100. package/lib-es/__tests__/unit/api.unit.test.js +0 -52
  101. package/lib-es/__tests__/unit/api.unit.test.js.map +0 -1
  102. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts +0 -2
  103. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts.map +0 -1
  104. package/lib-es/__tests__/unit/broadcast.unit.test.js +0 -32
  105. package/lib-es/__tests__/unit/broadcast.unit.test.js.map +0 -1
  106. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts +0 -2
  107. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts.map +0 -1
  108. package/lib-es/__tests__/unit/createTransaction.unit.test.js +0 -20
  109. package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +0 -1
  110. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts +0 -2
  111. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  112. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js +0 -106
  113. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +0 -1
  114. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts +0 -2
  115. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  116. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js +0 -25
  117. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +0 -1
  118. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  119. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  120. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js +0 -115
  121. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +0 -1
  122. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts +0 -2
  123. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts.map +0 -1
  124. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js +0 -49
  125. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +0 -1
  126. package/lib-es/__tests__/unit/logic.unit.test.d.ts +0 -2
  127. package/lib-es/__tests__/unit/logic.unit.test.d.ts.map +0 -1
  128. package/lib-es/__tests__/unit/logic.unit.test.js +0 -16
  129. package/lib-es/__tests__/unit/logic.unit.test.js.map +0 -1
  130. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts +0 -2
  131. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts.map +0 -1
  132. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js +0 -81
  133. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +0 -1
  134. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts +0 -2
  135. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts.map +0 -1
  136. package/lib-es/__tests__/unit/signOperation.unit.test.js +0 -67
  137. package/lib-es/__tests__/unit/signOperation.unit.test.js.map +0 -1
  138. package/lib-es/__tests__/unit/txn.unit.test.d.ts +0 -2
  139. package/lib-es/__tests__/unit/txn.unit.test.d.ts.map +0 -1
  140. package/lib-es/__tests__/unit/txn.unit.test.js +0 -293
  141. package/lib-es/__tests__/unit/txn.unit.test.js.map +0 -1
  142. package/lib-es/__tests__/unit/utils.unit.test.d.ts +0 -2
  143. package/lib-es/__tests__/unit/utils.unit.test.d.ts.map +0 -1
  144. package/lib-es/__tests__/unit/utils.unit.test.js +0 -186
  145. package/lib-es/__tests__/unit/utils.unit.test.js.map +0 -1
  146. package/lib-es/transaction.unit.test.d.ts +0 -2
  147. package/lib-es/transaction.unit.test.d.ts.map +0 -1
  148. package/lib-es/transaction.unit.test.js +0 -595
  149. package/lib-es/transaction.unit.test.js.map +0 -1
@@ -1,115 +0,0 @@
1
- import { AmountRequired, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, NotEnoughBalance, RecipientRequired, } from "@ledgerhq/errors";
2
- import BigNumber from "bignumber.js";
3
- import { TonCommentInvalid, TonExcessFee } from "../../errors";
4
- import getTransactionStatus from "../../getTransactionStatus";
5
- import { account, transaction as baseTransaction, jettonTransaction, } from "../fixtures/common.fixtures";
6
- describe("getTransactionStatus", () => {
7
- describe("Recipient", () => {
8
- it("should detect the missing recipient and have an error", async () => {
9
- const transaction = { ...baseTransaction, recipient: "" };
10
- const res = await getTransactionStatus(account, transaction);
11
- expect(res.errors).toEqual(expect.objectContaining({
12
- recipient: new RecipientRequired(),
13
- }));
14
- });
15
- it("should detect the incorrect recipient and have an error", async () => {
16
- const transaction = { ...baseTransaction, recipient: "isInvalid" };
17
- const res = await getTransactionStatus(account, transaction);
18
- expect(res.errors).toEqual(expect.objectContaining({
19
- recipient: new InvalidAddress("", {
20
- currencyName: account.currency.name,
21
- }),
22
- }));
23
- });
24
- it("should detect the recipient and the sender are the same and have an error", async () => {
25
- const transaction = {
26
- ...baseTransaction,
27
- recipient: "UQDzd8aeBOU-jqYw_ZSuZjceI5p-F4b7HMprAsUJAtRPbMol",
28
- };
29
- const res = await getTransactionStatus(account, transaction);
30
- expect(res.errors).toEqual(expect.objectContaining({
31
- recipient: new InvalidAddressBecauseDestinationIsAlsoSource("", {
32
- currencyName: account.currency.name,
33
- }),
34
- }));
35
- });
36
- });
37
- describe("Sender", () => {
38
- it("should detect the sender is not correct and have an error", async () => {
39
- const tempAccount = { ...account, freshAddress: "isInvalid" };
40
- const res = await getTransactionStatus(tempAccount, baseTransaction);
41
- expect(res.errors).toEqual(expect.objectContaining({
42
- sender: new InvalidAddress(),
43
- }));
44
- });
45
- });
46
- describe("Amount", () => {
47
- it("should detect the amount is missing and have an error", async () => {
48
- const transaction = { ...baseTransaction, amount: new BigNumber(0) };
49
- const res = await getTransactionStatus(account, transaction);
50
- expect(res.errors).toEqual(expect.objectContaining({
51
- amount: new AmountRequired(),
52
- }));
53
- });
54
- it("should detect the amount is greater than the spendable amount and have an error", async () => {
55
- const transaction = {
56
- ...baseTransaction,
57
- amount: BigNumber(1000000002),
58
- fees: new BigNumber("20"),
59
- };
60
- const res = await getTransactionStatus(account, transaction);
61
- expect(res.errors).toEqual(expect.objectContaining({
62
- amount: new NotEnoughBalance(),
63
- }));
64
- });
65
- it("should detect the amount is greater than the spendable amount of the token account and have an error", async () => {
66
- const transaction = {
67
- ...jettonTransaction,
68
- amount: BigNumber(1000000002),
69
- fees: new BigNumber("20"),
70
- };
71
- const res = await getTransactionStatus(account, transaction);
72
- expect(res.errors).toEqual(expect.objectContaining({
73
- amount: new NotEnoughBalance(),
74
- }));
75
- });
76
- it("should detect the transaction is a jetton transfer and have a warning", async () => {
77
- const transaction = {
78
- ...jettonTransaction,
79
- amount: BigNumber(1000000002),
80
- fees: new BigNumber("20"),
81
- };
82
- const res = await getTransactionStatus(account, transaction);
83
- expect(res.warnings).toEqual(expect.objectContaining({
84
- amount: new TonExcessFee(),
85
- }));
86
- });
87
- describe("Comment", () => {
88
- it("should detect the comment is not valid and have an error", async () => {
89
- const transaction = {
90
- ...baseTransaction,
91
- amount: new BigNumber("1"),
92
- comment: { isEncrypted: false, text: "comment\nInvalid" },
93
- };
94
- const res = await getTransactionStatus(account, transaction);
95
- expect(res.errors).toEqual(expect.objectContaining({
96
- transaction: new TonCommentInvalid(),
97
- }));
98
- });
99
- });
100
- describe("Successful transaction", () => {
101
- it("should not have errors", async () => {
102
- const successfulResult = {
103
- amount: baseTransaction.amount,
104
- errors: {},
105
- warnings: {},
106
- estimatedFees: baseTransaction.fees,
107
- totalSpent: baseTransaction.amount.plus(baseTransaction.fees),
108
- };
109
- const res = await getTransactionStatus(account, baseTransaction);
110
- expect(res).toEqual(successfulResult);
111
- });
112
- });
113
- });
114
- });
115
- //# sourceMappingURL=getTransactionStatus.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/getTransactionStatus.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=hw-getAddress.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hw-getAddress.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/hw-getAddress.unit.test.ts"],"names":[],"mappings":""}
@@ -1,49 +0,0 @@
1
- import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
2
- import resolver from "../../hw-getAddress";
3
- import { getLedgerTonPath } from "../../utils";
4
- const address = "0xc3f95102d5c8f2c83e49ce3acfb905edfb7f37de";
5
- const publicKey = "mockedPublicKey";
6
- const spyGetAddress = jest.fn().mockImplementation(async () => Promise.resolve({
7
- publicKey,
8
- address: address.toLowerCase(),
9
- }));
10
- const spyValidateAddress = jest.fn().mockImplementation(async () => Promise.resolve({
11
- publicKey,
12
- address: address.toLowerCase(),
13
- }));
14
- const mockSignerFactory = (_, fn) => fn({
15
- getAddress: spyGetAddress,
16
- validateAddress: spyValidateAddress,
17
- signTransaction: jest.fn(),
18
- });
19
- describe("hw-getAddress", () => {
20
- it("should return an encoded address and a public key when verifiy is false", async () => {
21
- const getAddress = resolver(mockSignerFactory);
22
- const response = await getAddress("deviceId", {
23
- path: "44'/607'/0'/0'/0'/0'",
24
- verify: false,
25
- currency: getCryptoCurrencyById("ton"),
26
- derivationMode: "ton",
27
- });
28
- expect(response.address).toBe(address);
29
- expect(response.publicKey).toBe(publicKey);
30
- expect(spyGetAddress).toHaveBeenCalledWith(getLedgerTonPath("44'/607'/0'/0'/0'/0'"), {
31
- bounceable: false,
32
- });
33
- });
34
- it("should return an encoded address and a public key when verifiy is true", async () => {
35
- const getAddress = resolver(mockSignerFactory);
36
- const response = await getAddress("deviceId", {
37
- path: "44'/607'/0'/0'/0'/0'",
38
- verify: true,
39
- currency: getCryptoCurrencyById("ton"),
40
- derivationMode: "ton",
41
- });
42
- expect(response.address).toBe(address);
43
- expect(response.publicKey).toBe(publicKey);
44
- expect(spyValidateAddress).toHaveBeenCalledWith(getLedgerTonPath("44'/607'/0'/0'/0'/0'"), {
45
- bounceable: false,
46
- });
47
- });
48
- });
49
- //# sourceMappingURL=hw-getAddress.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hw-getAddress.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/hw-getAddress.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,OAAO,GAAG,4CAA4C,CAAC;AAC7D,MAAM,SAAS,GAAG,iBAAiB,CAAC;AACpC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CAC5D,OAAO,CAAC,OAAO,CAAC;IACd,SAAS;IACT,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;CAC/B,CAAC,CACH,CAAC;AACF,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,EAAE,CACjE,OAAO,CAAC,OAAO,CAAC;IACd,SAAS;IACT,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;CAC/B,CAAC,CACH,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAI,CAAS,EAAE,EAAqC,EAAc,EAAE,CAC5F,EAAE,CAAC;IACD,UAAU,EAAE,aAAa;IACzB,eAAe,EAAE,kBAAkB;IACnC,eAAe,EAAE,IAAI,CAAC,EAAE,EAAE;CAC3B,CAAC,CAAC;AAEL,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE;YAC5C,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC;YACtC,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;YACnF,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,UAAU,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE;YAC5C,IAAI,EAAE,sBAAsB;YAC5B,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,qBAAqB,CAAC,KAAK,CAAC;YACtC,cAAc,EAAE,KAAK;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,EAAE;YACxF,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=logic.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logic.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/logic.unit.test.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { getCryptoCurrencyById, findTokenById } from "@ledgerhq/cryptoassets";
2
- import { getSyncHash } from "../../logic";
3
- describe("getSyncHash", () => {
4
- const currency = getCryptoCurrencyById("ton");
5
- it("should provide a valid hex hash", () => {
6
- // mumurhash is always returning a 32bits uint, so a 4 bytes hexa string
7
- expect(getSyncHash(currency, [])).toStrictEqual(expect.stringMatching(/^0x[A-Fa-f0-9]{8}$/));
8
- });
9
- it("should provide a new hash if a token is added to the blacklistedTokenIds", () => {
10
- const token = findTokenById("ton/jetton/eqcxe6mutqjkfngfarotkot1lzbdiix1kcixrv7nw2id_sds");
11
- if (!token)
12
- throw new Error("TON jetton token not found");
13
- expect(getSyncHash(currency, [])).not.toEqual(getSyncHash(currency, [token.id]));
14
- });
15
- });
16
- //# sourceMappingURL=logic.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logic.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/logic.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAE9C,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,wEAAwE;QACxE,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,GAAG,EAAE;QAClF,MAAM,KAAK,GAAG,aAAa,CAAC,6DAA6D,CAAC,CAAC;QAC3F,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC1D,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=prepareTransaction.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/prepareTransaction.unit.test.ts"],"names":[],"mappings":""}
@@ -1,81 +0,0 @@
1
- import BigNumber from "bignumber.js";
2
- import { estimateFee, fetchAccountInfo } from "../../bridge/bridgeHelpers/api";
3
- import { setCoinConfig } from "../../config";
4
- import prepareTransaction from "../../prepareTransaction";
5
- import mockServer, { API_TON_ENDPOINT } from "../fixtures/api.fixtures";
6
- import { account, accountInfo, transaction as baseTransaction, fees, jettonTransaction, totalFees, } from "../fixtures/common.fixtures";
7
- jest.mock("../../bridge/bridgeHelpers/api");
8
- describe("prepareTransaction", () => {
9
- beforeAll(() => {
10
- const fetchAccountInfoMock = jest.mocked(fetchAccountInfo);
11
- fetchAccountInfoMock.mockReturnValue(Promise.resolve(accountInfo));
12
- const fetchEstimateFeeMock = jest.mocked(estimateFee);
13
- fetchEstimateFeeMock.mockReturnValue(Promise.resolve(fees));
14
- setCoinConfig(() => ({
15
- status: {
16
- type: "active",
17
- },
18
- infra: {
19
- API_TON_ENDPOINT: API_TON_ENDPOINT,
20
- KNOWN_JETTONS: [],
21
- },
22
- }));
23
- mockServer.listen();
24
- });
25
- afterAll(() => {
26
- mockServer.close();
27
- });
28
- describe("Ton Transaction", () => {
29
- it("should return the transaction with the updated amount and fees", async () => {
30
- const transaction = await prepareTransaction(account, baseTransaction);
31
- expect(transaction).toEqual({
32
- ...baseTransaction,
33
- fees: totalFees,
34
- });
35
- });
36
- it("should preserve the reference when no change is detected on the transaction", async () => {
37
- const transaction = await prepareTransaction(account, { ...baseTransaction });
38
- const transaction2 = await prepareTransaction(account, transaction);
39
- expect(transaction).toBe(transaction2);
40
- });
41
- it("should create a coin transaction using the spendableBalance in the account", async () => {
42
- const transaction = await prepareTransaction(account, {
43
- ...baseTransaction,
44
- useAllAmount: true,
45
- });
46
- expect(transaction).toEqual({
47
- ...baseTransaction,
48
- useAllAmount: true,
49
- fees: totalFees,
50
- amount: account.spendableBalance.minus(totalFees),
51
- });
52
- });
53
- });
54
- describe("Jetton Transaction", () => {
55
- it("should return the transaction with the updated amount and fees", async () => {
56
- const transaction = await prepareTransaction(account, jettonTransaction);
57
- expect(transaction).toEqual({
58
- ...jettonTransaction,
59
- fees: BigNumber("100000000"),
60
- });
61
- });
62
- it("should preserve the reference when no change is detected on the transaction", async () => {
63
- const transaction = await prepareTransaction(account, { ...jettonTransaction });
64
- const transaction2 = await prepareTransaction(account, transaction);
65
- expect(transaction).toBe(transaction2);
66
- });
67
- it("should create a coin transaction using the spendableBalance in the account", async () => {
68
- const transaction = await prepareTransaction(account, {
69
- ...jettonTransaction,
70
- useAllAmount: true,
71
- });
72
- expect(transaction).toEqual({
73
- ...jettonTransaction,
74
- useAllAmount: true,
75
- fees: BigNumber("100000000"),
76
- amount: account.subAccounts?.[0].spendableBalance,
77
- });
78
- });
79
- });
80
- });
81
- //# sourceMappingURL=prepareTransaction.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/prepareTransaction.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signOperation.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/signOperation.unit.test.ts"],"names":[],"mappings":""}
@@ -1,67 +0,0 @@
1
- import { Address, Cell, beginCell, storeMessage } from "@ton/core";
2
- import BigNumber from "bignumber.js";
3
- import { fetchAccountInfo } from "../../bridge/bridgeHelpers/api";
4
- import { buildSignOperation } from "../../signOperation";
5
- import { account, accountInfo, totalFees, transaction } from "../fixtures/common.fixtures";
6
- jest.mock("../../bridge/bridgeHelpers/api");
7
- const spySignTransaction = jest.fn().mockImplementation(async () => Promise.resolve(beginCell()
8
- .store(storeMessage({
9
- info: {
10
- type: "external-in",
11
- dest: Address.parse("EQDzd8aeBOU-jqYw_ZSuZjceI5p-F4b7HMprAsUJAtRPbJfg"),
12
- importFee: BigInt(0),
13
- },
14
- body: new Cell(),
15
- }))
16
- .endCell()));
17
- const mockSignerContext = (_, fn) => {
18
- return fn({
19
- signTransaction: spySignTransaction,
20
- getAddress: jest.fn(),
21
- validateAddress: jest.fn(),
22
- });
23
- };
24
- describe("signOperation", () => {
25
- beforeAll(() => {
26
- const fetchAccountInfoMock = jest.mocked(fetchAccountInfo);
27
- fetchAccountInfoMock.mockReturnValue(Promise.resolve(accountInfo));
28
- });
29
- it("should return an optimistic operation and a signed hash returned by the app bindings", done => {
30
- const signOperation = buildSignOperation(mockSignerContext);
31
- const signOpObservable = signOperation({
32
- account,
33
- transaction: { ...transaction, fees: totalFees },
34
- deviceId: "",
35
- });
36
- signOpObservable.subscribe(obs => {
37
- if (obs.type === "signed") {
38
- const { signedOperation: { signature, operation }, } = obs;
39
- const { amount } = transaction;
40
- expect(operation).toEqual({
41
- id: "",
42
- hash: "",
43
- type: "OUT",
44
- value: new BigNumber(amount).plus(totalFees),
45
- fee: totalFees,
46
- blockHash: null,
47
- blockHeight: null,
48
- senders: [account.freshAddress],
49
- recipients: [transaction.recipient],
50
- accountId: account.id,
51
- date: expect.any(Date),
52
- extra: {
53
- comment: {
54
- isEncrypted: false,
55
- text: "",
56
- },
57
- explorerHash: "",
58
- lt: "",
59
- },
60
- });
61
- expect(signature).toBe("te6cckEBAQEASAAAi4gB5u+NPAnKfR1MYfspXMxuPEc0/C8N9jmU1gWKEgWontgEQA83fGngTlPo6mMP2UrmY3HiOafheG+xzKawLFCQLUT2wCDSMh+F");
62
- done();
63
- }
64
- });
65
- });
66
- });
67
- //# sourceMappingURL=signOperation.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.unit.test.js","sourceRoot":"","sources":["../../../src/__tests__/unit/signOperation.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=txn.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"txn.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/txn.unit.test.ts"],"names":[],"mappings":""}