@ledgerhq/coin-icon 0.13.0-nightly.5 → 0.13.0-nightly.7

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 (67) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +20 -0
  3. package/package.json +6 -6
  4. package/lib/__test__/api/index.unit.test.d.ts +0 -2
  5. package/lib/__test__/api/index.unit.test.d.ts.map +0 -1
  6. package/lib/__test__/api/index.unit.test.js +0 -164
  7. package/lib/__test__/api/index.unit.test.js.map +0 -1
  8. package/lib/__test__/unit/buildTransaction.test.d.ts +0 -2
  9. package/lib/__test__/unit/buildTransaction.test.d.ts.map +0 -1
  10. package/lib/__test__/unit/buildTransaction.test.js +0 -70
  11. package/lib/__test__/unit/buildTransaction.test.js.map +0 -1
  12. package/lib/__test__/unit/getFeesForTransaction.unit.test.d.ts +0 -2
  13. package/lib/__test__/unit/getFeesForTransaction.unit.test.d.ts.map +0 -1
  14. package/lib/__test__/unit/getFeesForTransaction.unit.test.js +0 -92
  15. package/lib/__test__/unit/getFeesForTransaction.unit.test.js.map +0 -1
  16. package/lib/__test__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  17. package/lib/__test__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  18. package/lib/__test__/unit/getTransactionStatus.unit.test.js +0 -169
  19. package/lib/__test__/unit/getTransactionStatus.unit.test.js.map +0 -1
  20. package/lib/__test__/unit/logic.unit.test.d.ts +0 -2
  21. package/lib/__test__/unit/logic.unit.test.d.ts.map +0 -1
  22. package/lib/__test__/unit/logic.unit.test.js +0 -112
  23. package/lib/__test__/unit/logic.unit.test.js.map +0 -1
  24. package/lib/__test__/unit/serializations.unit.test.d.ts +0 -2
  25. package/lib/__test__/unit/serializations.unit.test.d.ts.map +0 -1
  26. package/lib/__test__/unit/serializations.unit.test.js +0 -73
  27. package/lib/__test__/unit/serializations.unit.test.js.map +0 -1
  28. package/lib/__test__/unit/transaction.unit.test.d.ts +0 -2
  29. package/lib/__test__/unit/transaction.unit.test.d.ts.map +0 -1
  30. package/lib/__test__/unit/transaction.unit.test.js +0 -130
  31. package/lib/__test__/unit/transaction.unit.test.js.map +0 -1
  32. package/lib/bridge.integration.test.d.ts +0 -4
  33. package/lib/bridge.integration.test.d.ts.map +0 -1
  34. package/lib/bridge.integration.test.js +0 -105
  35. package/lib/bridge.integration.test.js.map +0 -1
  36. package/lib-es/__test__/api/index.unit.test.d.ts +0 -2
  37. package/lib-es/__test__/api/index.unit.test.d.ts.map +0 -1
  38. package/lib-es/__test__/api/index.unit.test.js +0 -136
  39. package/lib-es/__test__/api/index.unit.test.js.map +0 -1
  40. package/lib-es/__test__/unit/buildTransaction.test.d.ts +0 -2
  41. package/lib-es/__test__/unit/buildTransaction.test.d.ts.map +0 -1
  42. package/lib-es/__test__/unit/buildTransaction.test.js +0 -65
  43. package/lib-es/__test__/unit/buildTransaction.test.js.map +0 -1
  44. package/lib-es/__test__/unit/getFeesForTransaction.unit.test.d.ts +0 -2
  45. package/lib-es/__test__/unit/getFeesForTransaction.unit.test.d.ts.map +0 -1
  46. package/lib-es/__test__/unit/getFeesForTransaction.unit.test.js +0 -64
  47. package/lib-es/__test__/unit/getFeesForTransaction.unit.test.js.map +0 -1
  48. package/lib-es/__test__/unit/getTransactionStatus.unit.test.d.ts +0 -2
  49. package/lib-es/__test__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
  50. package/lib-es/__test__/unit/getTransactionStatus.unit.test.js +0 -144
  51. package/lib-es/__test__/unit/getTransactionStatus.unit.test.js.map +0 -1
  52. package/lib-es/__test__/unit/logic.unit.test.d.ts +0 -2
  53. package/lib-es/__test__/unit/logic.unit.test.d.ts.map +0 -1
  54. package/lib-es/__test__/unit/logic.unit.test.js +0 -107
  55. package/lib-es/__test__/unit/logic.unit.test.js.map +0 -1
  56. package/lib-es/__test__/unit/serializations.unit.test.d.ts +0 -2
  57. package/lib-es/__test__/unit/serializations.unit.test.d.ts.map +0 -1
  58. package/lib-es/__test__/unit/serializations.unit.test.js +0 -71
  59. package/lib-es/__test__/unit/serializations.unit.test.js.map +0 -1
  60. package/lib-es/__test__/unit/transaction.unit.test.d.ts +0 -2
  61. package/lib-es/__test__/unit/transaction.unit.test.d.ts.map +0 -1
  62. package/lib-es/__test__/unit/transaction.unit.test.js +0 -128
  63. package/lib-es/__test__/unit/transaction.unit.test.js.map +0 -1
  64. package/lib-es/bridge.integration.test.d.ts +0 -4
  65. package/lib-es/bridge.integration.test.d.ts.map +0 -1
  66. package/lib-es/bridge.integration.test.js +0 -99
  67. package/lib-es/bridge.integration.test.js.map +0 -1
@@ -1,4 +1,4 @@
1
1
 
2
- > @ledgerhq/coin-icon@0.13.0-nightly.4 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-icon
2
+ > @ledgerhq/coin-icon@0.13.0-nightly.6 build /home/runner/work/ledger-live/ledger-live/libs/coin-modules/coin-icon
3
3
  > tsc && tsc -m esnext --moduleResolution bundler --outDir lib-es
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @ledgerhq/coin-algorand
2
2
 
3
+ ## 0.13.0-nightly.7
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [[`b4ceaff`](https://github.com/LedgerHQ/ledger-live/commit/b4ceaff2ecf68d8a14e09801c76ab0b014c45286), [`f392f69`](https://github.com/LedgerHQ/ledger-live/commit/f392f6912f445cc2f7cf4dfcfd030fa3da76f736), [`cbc0648`](https://github.com/LedgerHQ/ledger-live/commit/cbc064885d8e0459e40d327a2e5389204b3ec705)]:
8
+ - @ledgerhq/cryptoassets@13.31.0-nightly.7
9
+ - @ledgerhq/types-live@6.87.0-nightly.5
10
+ - @ledgerhq/live-env@2.19.0-nightly.2
11
+ - @ledgerhq/coin-framework@6.7.0-nightly.7
12
+ - @ledgerhq/live-network@2.0.20-nightly.3
13
+
14
+ ## 0.13.0-nightly.6
15
+
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [[`51995e9`](https://github.com/LedgerHQ/ledger-live/commit/51995e96a9e1fafe14c7cbe45ce0b1ec8ebd106b)]:
19
+ - @ledgerhq/types-live@6.87.0-nightly.4
20
+ - @ledgerhq/coin-framework@6.7.0-nightly.6
21
+ - @ledgerhq/cryptoassets@13.31.0-nightly.6
22
+
3
23
  ## 0.13.0-nightly.5
4
24
 
5
25
  ### Patch Changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/coin-icon",
3
- "version": "0.13.0-nightly.5",
3
+ "version": "0.13.0-nightly.7",
4
4
  "description": "Ledger Icon Coin integration",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -52,16 +52,16 @@
52
52
  "lodash": "^4.17.21",
53
53
  "prando": "^6.0.1",
54
54
  "rxjs": "^7.8.1",
55
- "@ledgerhq/coin-framework": "^6.7.0-nightly.5",
56
- "@ledgerhq/cryptoassets": "^13.31.0-nightly.5",
55
+ "@ledgerhq/coin-framework": "^6.7.0-nightly.7",
56
+ "@ledgerhq/cryptoassets": "^13.31.0-nightly.7",
57
57
  "@ledgerhq/devices": "8.6.2-nightly.0",
58
58
  "@ledgerhq/errors": "^6.27.0-nightly.0",
59
- "@ledgerhq/live-env": "^2.19.0-nightly.1",
60
- "@ledgerhq/live-network": "^2.0.20-nightly.2",
59
+ "@ledgerhq/live-env": "^2.19.0-nightly.2",
60
+ "@ledgerhq/live-network": "^2.0.20-nightly.3",
61
61
  "@ledgerhq/live-promise": "^0.1.1",
62
62
  "@ledgerhq/logs": "^6.13.0",
63
63
  "@ledgerhq/types-cryptoassets": "^7.29.0-nightly.0",
64
- "@ledgerhq/types-live": "^6.87.0-nightly.3"
64
+ "@ledgerhq/types-live": "^6.87.0-nightly.5"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/invariant": "^2.2.2",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/api/index.unit.test.ts"],"names":[],"mappings":""}
@@ -1,164 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const network_1 = __importDefault(require("@ledgerhq/live-network/network"));
30
- const api_1 = require("../../api");
31
- const logic_1 = require("../../logic");
32
- const config_1 = require("../../config");
33
- const querystring_1 = __importDefault(require("querystring"));
34
- const contants = __importStar(require("../../constants"));
35
- // Mock the necessary modules and functions
36
- jest.mock("@ledgerhq/live-network/network");
37
- jest.mock("@ledgerhq/coin-framework/operation");
38
- jest.mock("@ledgerhq/cryptoassets");
39
- jest.mock("../../logic");
40
- jest.mock("../../config");
41
- jest.mock("querystring");
42
- jest.mock("@ledgerhq/logs");
43
- describe("ICON API", () => {
44
- const networkMock = network_1.default;
45
- const isTestnetMock = logic_1.isTestnet;
46
- const getCoinConfigMock = config_1.getCoinConfig;
47
- const querystringMock = querystring_1.default.stringify;
48
- const mockedLogic = jest.mocked(contants);
49
- isTestnetMock.mockReturnValue(true);
50
- getCoinConfigMock.mockReturnValue({
51
- infra: {
52
- indexer: "mainnet-url",
53
- indexer_testnet: "testnet-url",
54
- },
55
- });
56
- beforeEach(() => {
57
- jest.clearAllMocks();
58
- });
59
- describe("fetchOperationList", () => {
60
- it("should recursively fetch operation list correctly", async () => {
61
- const accountId = "accountId";
62
- const addr = "hx123";
63
- const skip = 0;
64
- const network = { id: "icon" };
65
- const maxLength = 10;
66
- // @ts-expect-error type
67
- mockedLogic.LIMIT = 10;
68
- const tx1 = {
69
- hash: "tx1",
70
- from_address: addr,
71
- to_address: "hx456",
72
- transaction_fee: "10",
73
- block_number: 12345,
74
- block_timestamp: 1609459200000,
75
- status: "0x1",
76
- value: "1000",
77
- };
78
- const tx2 = {
79
- hash: "tx2",
80
- from_address: "hx456",
81
- to_address: addr,
82
- transaction_fee: "5",
83
- block_number: 12346,
84
- block_timestamp: 1609459201000,
85
- status: "0x1",
86
- value: "2000",
87
- };
88
- const txHistory = [tx1, tx2];
89
- querystringMock.mockReturnValue("address=hx123&skip=0&limit=10");
90
- networkMock.mockResolvedValue({ data: txHistory });
91
- const result = await (0, api_1.fetchOperationList)(accountId, addr, skip, network, maxLength);
92
- expect(result.length).toBe(2);
93
- expect(networkMock).toHaveBeenCalledWith({
94
- method: "GET",
95
- url: `testnet-url/transactions/address/${addr}?address=${addr}&skip=${skip}&limit=${10}`,
96
- });
97
- });
98
- it("should recursively fetch operation list correctly", async () => {
99
- const accountId = "accountId";
100
- const addr = "hx123";
101
- const skip = 0;
102
- const network = { id: "icon" };
103
- const maxLength = 10;
104
- // @ts-expect-error type
105
- mockedLogic.LIMIT = 2; // set a small limit for easier testing
106
- const tx1 = {
107
- hash: "tx1",
108
- from_address: addr,
109
- to_address: "hx456",
110
- transaction_fee: "10",
111
- block_number: 12345,
112
- block_timestamp: 1609459200000,
113
- status: "0x1",
114
- value: "1000",
115
- };
116
- const tx2 = {
117
- hash: "tx2",
118
- from_address: "hx456",
119
- to_address: addr,
120
- transaction_fee: "5",
121
- block_number: 12346,
122
- block_timestamp: 1609459201000,
123
- status: "0x1",
124
- value: "2000",
125
- };
126
- const tx3 = {
127
- hash: "tx3",
128
- from_address: addr,
129
- to_address: "hx456",
130
- transaction_fee: "15",
131
- block_number: 12347,
132
- block_timestamp: 1609459202000,
133
- status: "0x1",
134
- value: "1500",
135
- };
136
- networkMock
137
- .mockResolvedValueOnce({ data: [tx1, tx2] }) // First fetch returns two transactions
138
- .mockResolvedValueOnce({ data: [tx3] }); // Second fetch returns one transaction
139
- querystringMock
140
- .mockReturnValueOnce("address=hx123&skip=0&limit=2")
141
- .mockReturnValueOnce("address=hx123&skip=2&limit=2");
142
- const result = await (0, api_1.fetchOperationList)(accountId, addr, skip, network, maxLength);
143
- // Verify that the function was called recursively
144
- expect(networkMock).toHaveBeenCalledTimes(2);
145
- // Verify that the result includes all transactions fetched
146
- expect(result.length).toBe(3);
147
- expect(result).toEqual([
148
- expect.objectContaining({ hash: "tx1" }),
149
- expect.objectContaining({ hash: "tx2" }),
150
- expect.objectContaining({ hash: "tx3" }),
151
- ]);
152
- // Verify the URLs used in the network calls
153
- expect(networkMock).toHaveBeenCalledWith({
154
- method: "GET",
155
- url: `testnet-url/transactions/address/${addr}?address=${addr}&skip=${skip}&limit=${2}`,
156
- });
157
- expect(networkMock).toHaveBeenCalledWith({
158
- method: "GET",
159
- url: `testnet-url/transactions/address/${addr}?address=${addr}&skip=${skip + 2}&limit=${2}`,
160
- });
161
- });
162
- });
163
- });
164
- //# sourceMappingURL=index.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.unit.test.js","sourceRoot":"","sources":["../../../src/__test__/api/index.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=buildTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/buildTransaction.test.ts"],"names":[],"mappings":""}
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
- const bridge_fixture_1 = require("../../types/bridge.fixture");
8
- const buildTransaction_1 = require("../../buildTransaction");
9
- const mockFrom = jest.fn().mockReturnThis();
10
- const mockTo = jest.fn().mockReturnThis();
11
- const mockValue = jest.fn().mockReturnThis();
12
- const mockNid = jest.fn().mockReturnThis();
13
- const mockNonce = jest.fn().mockReturnThis();
14
- const mockTimestamp = jest.fn().mockReturnThis();
15
- const mockVersion = jest.fn().mockReturnThis();
16
- const mockStepLimit = jest.fn().mockReturnThis();
17
- const mockBuild = jest.fn().mockReturnValue("mocked-transaction");
18
- jest.mock("icon-sdk-js", () => ({
19
- IconBuilder: {
20
- IcxTransactionBuilder: jest.fn().mockImplementation(() => ({
21
- from: mockFrom,
22
- to: mockTo,
23
- value: mockValue,
24
- nid: mockNid,
25
- nonce: mockNonce,
26
- timestamp: mockTimestamp,
27
- version: mockVersion,
28
- stepLimit: mockStepLimit,
29
- build: mockBuild,
30
- })),
31
- },
32
- IconConverter: {
33
- toHexNumber: jest.fn(value => `0x${value}`),
34
- },
35
- }));
36
- jest.mock("../../logic", () => ({
37
- getNid: jest.fn().mockReturnValue(1),
38
- getNonce: jest.fn().mockReturnValue(1),
39
- }));
40
- describe("buildTransaction", () => {
41
- const account = (0, bridge_fixture_1.createFixtureAccount)();
42
- const transaction = (0, bridge_fixture_1.createFixtureTransaction)({
43
- mode: "send",
44
- recipient: "WHATEVER",
45
- });
46
- afterEach(() => {
47
- jest.clearAllMocks();
48
- });
49
- it("should build a transfer transaction", async () => {
50
- const stepLimit = new bignumber_js_1.default(100000);
51
- const result = await (0, buildTransaction_1.buildTransaction)(account, transaction, stepLimit);
52
- expect(mockFrom).toHaveBeenCalledWith(account.freshAddress);
53
- expect(mockTo).toHaveBeenCalledWith(transaction.recipient);
54
- expect(mockValue).toHaveBeenCalledWith(expect.any(String));
55
- expect(mockNid).toHaveBeenCalledWith(expect.any(String));
56
- expect(mockNonce).toHaveBeenCalledWith(expect.any(String));
57
- expect(mockTimestamp).toHaveBeenCalledWith(expect.any(String));
58
- expect(mockVersion).toHaveBeenCalledWith(expect.any(String));
59
- expect(mockStepLimit).toHaveBeenCalledWith(expect.any(String));
60
- expect(result.unsigned).toBe("mocked-transaction");
61
- });
62
- it("should throw an error for unsupported transaction mode", async () => {
63
- const invalidTransaction = {
64
- ...transaction,
65
- mode: "invalid-mode",
66
- };
67
- await expect((0, buildTransaction_1.buildTransaction)(account, invalidTransaction)).rejects.toThrow("Unsupported transaction mode: invalid-mode");
68
- });
69
- });
70
- //# sourceMappingURL=buildTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.js","sourceRoot":"","sources":["../../../src/__test__/unit/buildTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getFeesForTransaction.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/getFeesForTransaction.unit.test.ts"],"names":[],"mappings":""}
@@ -1,92 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const bignumber_js_1 = require("bignumber.js");
30
- const cryptoassets_1 = require("@ledgerhq/cryptoassets");
31
- const buildTransaction_1 = require("../../buildTransaction");
32
- const node_1 = require("../../api/node");
33
- const getFeesForTransaction_1 = __importDefault(require("../../getFeesForTransaction"));
34
- const logic = __importStar(require("../../logic"));
35
- jest.mock("../../buildTransaction");
36
- jest.mock("../../api/node");
37
- jest.mock("@ledgerhq/cryptoassets");
38
- jest.mock("../../logic");
39
- const mockedLogic = jest.mocked(logic);
40
- describe("getEstimatedFees", () => {
41
- beforeAll(() => {
42
- global.FEES_SAFETY_BUFFER = new bignumber_js_1.BigNumber(100);
43
- });
44
- it("should fetch the estimated fees correctly", async () => {
45
- const account = {
46
- currency: { id: "icon" },
47
- spendableBalance: new bignumber_js_1.BigNumber(1000),
48
- pendingOperations: [],
49
- iconResources: { nonce: 1 },
50
- };
51
- const transaction = {
52
- amount: new bignumber_js_1.BigNumber(100),
53
- recipient: "recipient-address",
54
- fees: new bignumber_js_1.BigNumber(10),
55
- };
56
- const unsignedTx = {
57
- /* mock unsigned transaction */
58
- };
59
- const stepLimit = new bignumber_js_1.BigNumber(100000);
60
- const stepPrice = new bignumber_js_1.BigNumber(10);
61
- cryptoassets_1.getAbandonSeedAddress.mockReturnValue("fake-recipient-address");
62
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(100));
63
- buildTransaction_1.buildTransaction.mockResolvedValue({ unsigned: unsignedTx });
64
- node_1.getFees.mockResolvedValue(stepLimit);
65
- node_1.getStepPrice.mockResolvedValue(stepPrice);
66
- const estimatedFees = await (0, getFeesForTransaction_1.default)({ account, transaction });
67
- expect(estimatedFees.isEqualTo(stepLimit.multipliedBy(stepPrice))).toBe(true);
68
- expect(transaction.stepLimit).toEqual(stepLimit);
69
- });
70
- it("should return FEES_SAFETY_BUFFER if an error occurs", async () => {
71
- const account = {
72
- currency: { id: "icon" },
73
- spendableBalance: new bignumber_js_1.BigNumber(1000),
74
- pendingOperations: [],
75
- iconResources: { nonce: 1 },
76
- };
77
- const transaction = {
78
- amount: new bignumber_js_1.BigNumber(100),
79
- recipient: "recipient-address",
80
- fees: new bignumber_js_1.BigNumber(10),
81
- };
82
- cryptoassets_1.getAbandonSeedAddress.mockReturnValue("fake-recipient-address");
83
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(100));
84
- // @ts-expect-error type
85
- mockedLogic.FEES_SAFETY_BUFFER = new bignumber_js_1.BigNumber(100);
86
- buildTransaction_1.buildTransaction.mockRejectedValue(new Error("Error"));
87
- // Mock getFees and getStepPrice if necessary, but they won't be called in this test case
88
- const estimatedFees = await (0, getFeesForTransaction_1.default)({ account, transaction });
89
- expect(estimatedFees.isEqualTo(new bignumber_js_1.BigNumber(100))).toBe(true);
90
- });
91
- });
92
- //# sourceMappingURL=getFeesForTransaction.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.unit.test.js","sourceRoot":"","sources":["../../../src/__test__/unit/getFeesForTransaction.unit.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getTransactionStatus.unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/getTransactionStatus.unit.test.ts"],"names":[],"mappings":""}
@@ -1,169 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const bignumber_js_1 = require("bignumber.js");
27
- const errors_1 = require("@ledgerhq/errors");
28
- const logic = __importStar(require("../../logic"));
29
- const getTransactionStatus_1 = require("../../getTransactionStatus");
30
- const TransactionStatus = __importStar(require("../../getTransactionStatus"));
31
- const index_1 = require("@ledgerhq/coin-framework/currencies/index");
32
- const errors_2 = require("../../errors");
33
- jest.mock("../../logic");
34
- jest.mock("../../api");
35
- jest.mock("@ledgerhq/coin-framework/currencies/index");
36
- const mockedLogic = jest.mocked(logic);
37
- const mockedFormatCurrencyUnit = jest.mocked(index_1.formatCurrencyUnit);
38
- describe("getSendTransactionStatus", () => {
39
- let account;
40
- let transaction;
41
- beforeEach(() => {
42
- account = {
43
- spendableBalance: new bignumber_js_1.BigNumber(1000),
44
- currency: {
45
- name: "Icon",
46
- units: [
47
- {
48
- code: "ICX",
49
- name: "",
50
- magnitude: 0,
51
- },
52
- ],
53
- },
54
- iconResources: {
55
- totalDelegated: new bignumber_js_1.BigNumber(0),
56
- votingPower: new bignumber_js_1.BigNumber(0),
57
- nonce: 0,
58
- },
59
- };
60
- transaction = {
61
- fees: new bignumber_js_1.BigNumber(10),
62
- recipient: "test-recipient",
63
- useAllAmount: false,
64
- };
65
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(100));
66
- mockedLogic.getMinimumBalance.mockReturnValue(new bignumber_js_1.BigNumber(50));
67
- mockedLogic.isSelfTransaction.mockReturnValue(false);
68
- mockedLogic.isValidAddress.mockReturnValue(true);
69
- mockedFormatCurrencyUnit.mockReturnValue("1 ICX");
70
- });
71
- it("should return FeeNotLoaded error if fees are not loaded", async () => {
72
- transaction.fees = null;
73
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
74
- expect(result.errors.fees).toBeInstanceOf(errors_1.FeeNotLoaded);
75
- });
76
- it("should return RecipientRequired error if recipient is missing", async () => {
77
- transaction.recipient = "";
78
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
79
- expect(result.errors.recipient).toBeInstanceOf(errors_1.RecipientRequired);
80
- });
81
- it("should return InvalidAddressBecauseDestinationIsAlsoSource error if recipient is the same as source", async () => {
82
- mockedLogic.isSelfTransaction.mockReturnValue(true);
83
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
84
- expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddressBecauseDestinationIsAlsoSource);
85
- });
86
- it("should return InvalidAddress error if recipient is invalid", async () => {
87
- mockedLogic.isValidAddress.mockReturnValue(false);
88
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
89
- expect(result.errors.recipient).toBeInstanceOf(errors_1.InvalidAddress);
90
- });
91
- it("should return AmountRequired error if amount is less than or equal to zero", async () => {
92
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(0));
93
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
94
- expect(result.errors.amount).toBeInstanceOf(errors_1.AmountRequired);
95
- });
96
- it("should return NotEnoughBalance error if total spent exceeds spendable balance", async () => {
97
- account.spendableBalance = new bignumber_js_1.BigNumber(50);
98
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
99
- expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughBalance);
100
- });
101
- it("should return proper TransactionStatus when everything is valid", async () => {
102
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
103
- expect(result.errors).toEqual({});
104
- expect(result.warnings).toEqual({});
105
- expect(result.estimatedFees).toEqual(transaction.fees);
106
- expect(result.amount).toEqual(new bignumber_js_1.BigNumber(100));
107
- expect(result.totalSpent).toEqual(new bignumber_js_1.BigNumber(110));
108
- });
109
- it("should return IconDoMaxSendInstead error if leftover balance is less than minimumBalanceExistential but greater than zero", async () => {
110
- account.spendableBalance = new bignumber_js_1.BigNumber(120);
111
- const result = await (0, getTransactionStatus_1.getSendTransactionStatus)(account, transaction);
112
- expect(result.errors.amount).toBeInstanceOf(errors_2.IconDoMaxSendInstead);
113
- expect(result.errors.amount.message).toBe("Balance cannot be below {{minimumBalance}}. Send max to empty account.");
114
- });
115
- });
116
- describe("getTransactionStatus", () => {
117
- let account;
118
- let transaction;
119
- beforeEach(() => {
120
- account = {
121
- spendableBalance: new bignumber_js_1.BigNumber(1000),
122
- currency: { name: "ICON", units: [{ code: "ICX" }] },
123
- };
124
- transaction = {
125
- fees: new bignumber_js_1.BigNumber(10),
126
- mode: "send",
127
- useAllAmount: false,
128
- };
129
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(100));
130
- });
131
- it("should delegate to getSendTransactionStatus for send mode", async () => {
132
- const sendTransactionStatus = {
133
- errors: {},
134
- warnings: {},
135
- estimatedFees: new bignumber_js_1.BigNumber(10),
136
- amount: new bignumber_js_1.BigNumber(100),
137
- totalSpent: new bignumber_js_1.BigNumber(110),
138
- };
139
- jest
140
- .spyOn(TransactionStatus, "getSendTransactionStatus")
141
- .mockResolvedValue(sendTransactionStatus);
142
- const result = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
143
- expect(result).toEqual(sendTransactionStatus);
144
- });
145
- it("should handle default case correctly", async () => {
146
- transaction.mode = "other";
147
- const result = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
148
- expect(result.errors).toEqual({});
149
- expect(result.warnings).toEqual({});
150
- expect(result.estimatedFees).toEqual(transaction.fees);
151
- expect(result.amount).toEqual(new bignumber_js_1.BigNumber(100));
152
- expect(result.totalSpent).toEqual(new bignumber_js_1.BigNumber(110));
153
- });
154
- it("should return NotEnoughBalance error if totalSpent is greater than spendableBalance", async () => {
155
- transaction.mode = "";
156
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(1000));
157
- transaction.fees = new bignumber_js_1.BigNumber(100);
158
- const result = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
159
- expect(result.errors.amount).toBeInstanceOf(errors_1.NotEnoughBalance);
160
- });
161
- it("should return AmountRequired error if amount is less than or equal to zero and useAllAmount is false", async () => {
162
- transaction.mode = "";
163
- mockedLogic.calculateAmount.mockReturnValue(new bignumber_js_1.BigNumber(0));
164
- transaction.useAllAmount = false;
165
- const result = await (0, getTransactionStatus_1.getTransactionStatus)(account, transaction);
166
- expect(result.errors.amount).toBeInstanceOf(errors_1.AmountRequired);
167
- });
168
- });
169
- //# sourceMappingURL=getTransactionStatus.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.unit.test.js","sourceRoot":"","sources":["../../../src/__test__/unit/getTransactionStatus.unit.test.ts"],"names":[],"mappings":"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"}
@@ -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/__test__/unit/logic.unit.test.ts"],"names":[],"mappings":""}