@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.
- package/.turbo/turbo-build.log +1 -1
- package/CHANGELOG.md +20 -0
- package/package.json +6 -6
- package/lib/__test__/api/index.unit.test.d.ts +0 -2
- package/lib/__test__/api/index.unit.test.d.ts.map +0 -1
- package/lib/__test__/api/index.unit.test.js +0 -164
- package/lib/__test__/api/index.unit.test.js.map +0 -1
- package/lib/__test__/unit/buildTransaction.test.d.ts +0 -2
- package/lib/__test__/unit/buildTransaction.test.d.ts.map +0 -1
- package/lib/__test__/unit/buildTransaction.test.js +0 -70
- package/lib/__test__/unit/buildTransaction.test.js.map +0 -1
- package/lib/__test__/unit/getFeesForTransaction.unit.test.d.ts +0 -2
- package/lib/__test__/unit/getFeesForTransaction.unit.test.d.ts.map +0 -1
- package/lib/__test__/unit/getFeesForTransaction.unit.test.js +0 -92
- package/lib/__test__/unit/getFeesForTransaction.unit.test.js.map +0 -1
- package/lib/__test__/unit/getTransactionStatus.unit.test.d.ts +0 -2
- package/lib/__test__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
- package/lib/__test__/unit/getTransactionStatus.unit.test.js +0 -169
- package/lib/__test__/unit/getTransactionStatus.unit.test.js.map +0 -1
- package/lib/__test__/unit/logic.unit.test.d.ts +0 -2
- package/lib/__test__/unit/logic.unit.test.d.ts.map +0 -1
- package/lib/__test__/unit/logic.unit.test.js +0 -112
- package/lib/__test__/unit/logic.unit.test.js.map +0 -1
- package/lib/__test__/unit/serializations.unit.test.d.ts +0 -2
- package/lib/__test__/unit/serializations.unit.test.d.ts.map +0 -1
- package/lib/__test__/unit/serializations.unit.test.js +0 -73
- package/lib/__test__/unit/serializations.unit.test.js.map +0 -1
- package/lib/__test__/unit/transaction.unit.test.d.ts +0 -2
- package/lib/__test__/unit/transaction.unit.test.d.ts.map +0 -1
- package/lib/__test__/unit/transaction.unit.test.js +0 -130
- package/lib/__test__/unit/transaction.unit.test.js.map +0 -1
- package/lib/bridge.integration.test.d.ts +0 -4
- package/lib/bridge.integration.test.d.ts.map +0 -1
- package/lib/bridge.integration.test.js +0 -105
- package/lib/bridge.integration.test.js.map +0 -1
- package/lib-es/__test__/api/index.unit.test.d.ts +0 -2
- package/lib-es/__test__/api/index.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/api/index.unit.test.js +0 -136
- package/lib-es/__test__/api/index.unit.test.js.map +0 -1
- package/lib-es/__test__/unit/buildTransaction.test.d.ts +0 -2
- package/lib-es/__test__/unit/buildTransaction.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/buildTransaction.test.js +0 -65
- package/lib-es/__test__/unit/buildTransaction.test.js.map +0 -1
- package/lib-es/__test__/unit/getFeesForTransaction.unit.test.d.ts +0 -2
- package/lib-es/__test__/unit/getFeesForTransaction.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/getFeesForTransaction.unit.test.js +0 -64
- package/lib-es/__test__/unit/getFeesForTransaction.unit.test.js.map +0 -1
- package/lib-es/__test__/unit/getTransactionStatus.unit.test.d.ts +0 -2
- package/lib-es/__test__/unit/getTransactionStatus.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/getTransactionStatus.unit.test.js +0 -144
- package/lib-es/__test__/unit/getTransactionStatus.unit.test.js.map +0 -1
- package/lib-es/__test__/unit/logic.unit.test.d.ts +0 -2
- package/lib-es/__test__/unit/logic.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/logic.unit.test.js +0 -107
- package/lib-es/__test__/unit/logic.unit.test.js.map +0 -1
- package/lib-es/__test__/unit/serializations.unit.test.d.ts +0 -2
- package/lib-es/__test__/unit/serializations.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/serializations.unit.test.js +0 -71
- package/lib-es/__test__/unit/serializations.unit.test.js.map +0 -1
- package/lib-es/__test__/unit/transaction.unit.test.d.ts +0 -2
- package/lib-es/__test__/unit/transaction.unit.test.d.ts.map +0 -1
- package/lib-es/__test__/unit/transaction.unit.test.js +0 -128
- package/lib-es/__test__/unit/transaction.unit.test.js.map +0 -1
- package/lib-es/bridge.integration.test.d.ts +0 -4
- package/lib-es/bridge.integration.test.d.ts.map +0 -1
- package/lib-es/bridge.integration.test.js +0 -99
- package/lib-es/bridge.integration.test.js.map +0 -1
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import BigNumber from "bignumber.js";
|
|
2
|
-
import { createFixtureAccount, createFixtureTransaction } from "../../types/bridge.fixture";
|
|
3
|
-
import { buildTransaction } from "../../buildTransaction";
|
|
4
|
-
const mockFrom = jest.fn().mockReturnThis();
|
|
5
|
-
const mockTo = jest.fn().mockReturnThis();
|
|
6
|
-
const mockValue = jest.fn().mockReturnThis();
|
|
7
|
-
const mockNid = jest.fn().mockReturnThis();
|
|
8
|
-
const mockNonce = jest.fn().mockReturnThis();
|
|
9
|
-
const mockTimestamp = jest.fn().mockReturnThis();
|
|
10
|
-
const mockVersion = jest.fn().mockReturnThis();
|
|
11
|
-
const mockStepLimit = jest.fn().mockReturnThis();
|
|
12
|
-
const mockBuild = jest.fn().mockReturnValue("mocked-transaction");
|
|
13
|
-
jest.mock("icon-sdk-js", () => ({
|
|
14
|
-
IconBuilder: {
|
|
15
|
-
IcxTransactionBuilder: jest.fn().mockImplementation(() => ({
|
|
16
|
-
from: mockFrom,
|
|
17
|
-
to: mockTo,
|
|
18
|
-
value: mockValue,
|
|
19
|
-
nid: mockNid,
|
|
20
|
-
nonce: mockNonce,
|
|
21
|
-
timestamp: mockTimestamp,
|
|
22
|
-
version: mockVersion,
|
|
23
|
-
stepLimit: mockStepLimit,
|
|
24
|
-
build: mockBuild,
|
|
25
|
-
})),
|
|
26
|
-
},
|
|
27
|
-
IconConverter: {
|
|
28
|
-
toHexNumber: jest.fn(value => `0x${value}`),
|
|
29
|
-
},
|
|
30
|
-
}));
|
|
31
|
-
jest.mock("../../logic", () => ({
|
|
32
|
-
getNid: jest.fn().mockReturnValue(1),
|
|
33
|
-
getNonce: jest.fn().mockReturnValue(1),
|
|
34
|
-
}));
|
|
35
|
-
describe("buildTransaction", () => {
|
|
36
|
-
const account = createFixtureAccount();
|
|
37
|
-
const transaction = createFixtureTransaction({
|
|
38
|
-
mode: "send",
|
|
39
|
-
recipient: "WHATEVER",
|
|
40
|
-
});
|
|
41
|
-
afterEach(() => {
|
|
42
|
-
jest.clearAllMocks();
|
|
43
|
-
});
|
|
44
|
-
it("should build a transfer transaction", async () => {
|
|
45
|
-
const stepLimit = new BigNumber(100000);
|
|
46
|
-
const result = await buildTransaction(account, transaction, stepLimit);
|
|
47
|
-
expect(mockFrom).toHaveBeenCalledWith(account.freshAddress);
|
|
48
|
-
expect(mockTo).toHaveBeenCalledWith(transaction.recipient);
|
|
49
|
-
expect(mockValue).toHaveBeenCalledWith(expect.any(String));
|
|
50
|
-
expect(mockNid).toHaveBeenCalledWith(expect.any(String));
|
|
51
|
-
expect(mockNonce).toHaveBeenCalledWith(expect.any(String));
|
|
52
|
-
expect(mockTimestamp).toHaveBeenCalledWith(expect.any(String));
|
|
53
|
-
expect(mockVersion).toHaveBeenCalledWith(expect.any(String));
|
|
54
|
-
expect(mockStepLimit).toHaveBeenCalledWith(expect.any(String));
|
|
55
|
-
expect(result.unsigned).toBe("mocked-transaction");
|
|
56
|
-
});
|
|
57
|
-
it("should throw an error for unsupported transaction mode", async () => {
|
|
58
|
-
const invalidTransaction = {
|
|
59
|
-
...transaction,
|
|
60
|
-
mode: "invalid-mode",
|
|
61
|
-
};
|
|
62
|
-
await expect(buildTransaction(account, invalidTransaction)).rejects.toThrow("Unsupported transaction mode: invalid-mode");
|
|
63
|
-
});
|
|
64
|
-
});
|
|
65
|
-
//# 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getFeesForTransaction.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/getFeesForTransaction.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import { getAbandonSeedAddress } from "@ledgerhq/cryptoassets";
|
|
3
|
-
import { buildTransaction } from "../../buildTransaction";
|
|
4
|
-
import { getFees, getStepPrice } from "../../api/node";
|
|
5
|
-
import getEstimatedFees from "../../getFeesForTransaction";
|
|
6
|
-
import * as logic from "../../logic";
|
|
7
|
-
jest.mock("../../buildTransaction");
|
|
8
|
-
jest.mock("../../api/node");
|
|
9
|
-
jest.mock("@ledgerhq/cryptoassets");
|
|
10
|
-
jest.mock("../../logic");
|
|
11
|
-
const mockedLogic = jest.mocked(logic);
|
|
12
|
-
describe("getEstimatedFees", () => {
|
|
13
|
-
beforeAll(() => {
|
|
14
|
-
global.FEES_SAFETY_BUFFER = new BigNumber(100);
|
|
15
|
-
});
|
|
16
|
-
it("should fetch the estimated fees correctly", async () => {
|
|
17
|
-
const account = {
|
|
18
|
-
currency: { id: "icon" },
|
|
19
|
-
spendableBalance: new BigNumber(1000),
|
|
20
|
-
pendingOperations: [],
|
|
21
|
-
iconResources: { nonce: 1 },
|
|
22
|
-
};
|
|
23
|
-
const transaction = {
|
|
24
|
-
amount: new BigNumber(100),
|
|
25
|
-
recipient: "recipient-address",
|
|
26
|
-
fees: new BigNumber(10),
|
|
27
|
-
};
|
|
28
|
-
const unsignedTx = {
|
|
29
|
-
/* mock unsigned transaction */
|
|
30
|
-
};
|
|
31
|
-
const stepLimit = new BigNumber(100000);
|
|
32
|
-
const stepPrice = new BigNumber(10);
|
|
33
|
-
getAbandonSeedAddress.mockReturnValue("fake-recipient-address");
|
|
34
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(100));
|
|
35
|
-
buildTransaction.mockResolvedValue({ unsigned: unsignedTx });
|
|
36
|
-
getFees.mockResolvedValue(stepLimit);
|
|
37
|
-
getStepPrice.mockResolvedValue(stepPrice);
|
|
38
|
-
const estimatedFees = await getEstimatedFees({ account, transaction });
|
|
39
|
-
expect(estimatedFees.isEqualTo(stepLimit.multipliedBy(stepPrice))).toBe(true);
|
|
40
|
-
expect(transaction.stepLimit).toEqual(stepLimit);
|
|
41
|
-
});
|
|
42
|
-
it("should return FEES_SAFETY_BUFFER if an error occurs", async () => {
|
|
43
|
-
const account = {
|
|
44
|
-
currency: { id: "icon" },
|
|
45
|
-
spendableBalance: new BigNumber(1000),
|
|
46
|
-
pendingOperations: [],
|
|
47
|
-
iconResources: { nonce: 1 },
|
|
48
|
-
};
|
|
49
|
-
const transaction = {
|
|
50
|
-
amount: new BigNumber(100),
|
|
51
|
-
recipient: "recipient-address",
|
|
52
|
-
fees: new BigNumber(10),
|
|
53
|
-
};
|
|
54
|
-
getAbandonSeedAddress.mockReturnValue("fake-recipient-address");
|
|
55
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(100));
|
|
56
|
-
// @ts-expect-error type
|
|
57
|
-
mockedLogic.FEES_SAFETY_BUFFER = new BigNumber(100);
|
|
58
|
-
buildTransaction.mockRejectedValue(new Error("Error"));
|
|
59
|
-
// Mock getFees and getStepPrice if necessary, but they won't be called in this test case
|
|
60
|
-
const estimatedFees = await getEstimatedFees({ account, transaction });
|
|
61
|
-
expect(estimatedFees.isEqualTo(new BigNumber(100))).toBe(true);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
//# 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/getTransactionStatus.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import { NotEnoughBalance, RecipientRequired, InvalidAddress, FeeNotLoaded, InvalidAddressBecauseDestinationIsAlsoSource, AmountRequired, } from "@ledgerhq/errors";
|
|
3
|
-
import * as logic from "../../logic";
|
|
4
|
-
import { getSendTransactionStatus, getTransactionStatus } from "../../getTransactionStatus";
|
|
5
|
-
import * as TransactionStatus from "../../getTransactionStatus";
|
|
6
|
-
import { formatCurrencyUnit } from "@ledgerhq/coin-framework/currencies/index";
|
|
7
|
-
import { IconDoMaxSendInstead } from "../../errors";
|
|
8
|
-
jest.mock("../../logic");
|
|
9
|
-
jest.mock("../../api");
|
|
10
|
-
jest.mock("@ledgerhq/coin-framework/currencies/index");
|
|
11
|
-
const mockedLogic = jest.mocked(logic);
|
|
12
|
-
const mockedFormatCurrencyUnit = jest.mocked(formatCurrencyUnit);
|
|
13
|
-
describe("getSendTransactionStatus", () => {
|
|
14
|
-
let account;
|
|
15
|
-
let transaction;
|
|
16
|
-
beforeEach(() => {
|
|
17
|
-
account = {
|
|
18
|
-
spendableBalance: new BigNumber(1000),
|
|
19
|
-
currency: {
|
|
20
|
-
name: "Icon",
|
|
21
|
-
units: [
|
|
22
|
-
{
|
|
23
|
-
code: "ICX",
|
|
24
|
-
name: "",
|
|
25
|
-
magnitude: 0,
|
|
26
|
-
},
|
|
27
|
-
],
|
|
28
|
-
},
|
|
29
|
-
iconResources: {
|
|
30
|
-
totalDelegated: new BigNumber(0),
|
|
31
|
-
votingPower: new BigNumber(0),
|
|
32
|
-
nonce: 0,
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
transaction = {
|
|
36
|
-
fees: new BigNumber(10),
|
|
37
|
-
recipient: "test-recipient",
|
|
38
|
-
useAllAmount: false,
|
|
39
|
-
};
|
|
40
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(100));
|
|
41
|
-
mockedLogic.getMinimumBalance.mockReturnValue(new BigNumber(50));
|
|
42
|
-
mockedLogic.isSelfTransaction.mockReturnValue(false);
|
|
43
|
-
mockedLogic.isValidAddress.mockReturnValue(true);
|
|
44
|
-
mockedFormatCurrencyUnit.mockReturnValue("1 ICX");
|
|
45
|
-
});
|
|
46
|
-
it("should return FeeNotLoaded error if fees are not loaded", async () => {
|
|
47
|
-
transaction.fees = null;
|
|
48
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
49
|
-
expect(result.errors.fees).toBeInstanceOf(FeeNotLoaded);
|
|
50
|
-
});
|
|
51
|
-
it("should return RecipientRequired error if recipient is missing", async () => {
|
|
52
|
-
transaction.recipient = "";
|
|
53
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
54
|
-
expect(result.errors.recipient).toBeInstanceOf(RecipientRequired);
|
|
55
|
-
});
|
|
56
|
-
it("should return InvalidAddressBecauseDestinationIsAlsoSource error if recipient is the same as source", async () => {
|
|
57
|
-
mockedLogic.isSelfTransaction.mockReturnValue(true);
|
|
58
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
59
|
-
expect(result.errors.recipient).toBeInstanceOf(InvalidAddressBecauseDestinationIsAlsoSource);
|
|
60
|
-
});
|
|
61
|
-
it("should return InvalidAddress error if recipient is invalid", async () => {
|
|
62
|
-
mockedLogic.isValidAddress.mockReturnValue(false);
|
|
63
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
64
|
-
expect(result.errors.recipient).toBeInstanceOf(InvalidAddress);
|
|
65
|
-
});
|
|
66
|
-
it("should return AmountRequired error if amount is less than or equal to zero", async () => {
|
|
67
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(0));
|
|
68
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
69
|
-
expect(result.errors.amount).toBeInstanceOf(AmountRequired);
|
|
70
|
-
});
|
|
71
|
-
it("should return NotEnoughBalance error if total spent exceeds spendable balance", async () => {
|
|
72
|
-
account.spendableBalance = new BigNumber(50);
|
|
73
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
74
|
-
expect(result.errors.amount).toBeInstanceOf(NotEnoughBalance);
|
|
75
|
-
});
|
|
76
|
-
it("should return proper TransactionStatus when everything is valid", async () => {
|
|
77
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
78
|
-
expect(result.errors).toEqual({});
|
|
79
|
-
expect(result.warnings).toEqual({});
|
|
80
|
-
expect(result.estimatedFees).toEqual(transaction.fees);
|
|
81
|
-
expect(result.amount).toEqual(new BigNumber(100));
|
|
82
|
-
expect(result.totalSpent).toEqual(new BigNumber(110));
|
|
83
|
-
});
|
|
84
|
-
it("should return IconDoMaxSendInstead error if leftover balance is less than minimumBalanceExistential but greater than zero", async () => {
|
|
85
|
-
account.spendableBalance = new BigNumber(120);
|
|
86
|
-
const result = await getSendTransactionStatus(account, transaction);
|
|
87
|
-
expect(result.errors.amount).toBeInstanceOf(IconDoMaxSendInstead);
|
|
88
|
-
expect(result.errors.amount.message).toBe("Balance cannot be below {{minimumBalance}}. Send max to empty account.");
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
describe("getTransactionStatus", () => {
|
|
92
|
-
let account;
|
|
93
|
-
let transaction;
|
|
94
|
-
beforeEach(() => {
|
|
95
|
-
account = {
|
|
96
|
-
spendableBalance: new BigNumber(1000),
|
|
97
|
-
currency: { name: "ICON", units: [{ code: "ICX" }] },
|
|
98
|
-
};
|
|
99
|
-
transaction = {
|
|
100
|
-
fees: new BigNumber(10),
|
|
101
|
-
mode: "send",
|
|
102
|
-
useAllAmount: false,
|
|
103
|
-
};
|
|
104
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(100));
|
|
105
|
-
});
|
|
106
|
-
it("should delegate to getSendTransactionStatus for send mode", async () => {
|
|
107
|
-
const sendTransactionStatus = {
|
|
108
|
-
errors: {},
|
|
109
|
-
warnings: {},
|
|
110
|
-
estimatedFees: new BigNumber(10),
|
|
111
|
-
amount: new BigNumber(100),
|
|
112
|
-
totalSpent: new BigNumber(110),
|
|
113
|
-
};
|
|
114
|
-
jest
|
|
115
|
-
.spyOn(TransactionStatus, "getSendTransactionStatus")
|
|
116
|
-
.mockResolvedValue(sendTransactionStatus);
|
|
117
|
-
const result = await getTransactionStatus(account, transaction);
|
|
118
|
-
expect(result).toEqual(sendTransactionStatus);
|
|
119
|
-
});
|
|
120
|
-
it("should handle default case correctly", async () => {
|
|
121
|
-
transaction.mode = "other";
|
|
122
|
-
const result = await getTransactionStatus(account, transaction);
|
|
123
|
-
expect(result.errors).toEqual({});
|
|
124
|
-
expect(result.warnings).toEqual({});
|
|
125
|
-
expect(result.estimatedFees).toEqual(transaction.fees);
|
|
126
|
-
expect(result.amount).toEqual(new BigNumber(100));
|
|
127
|
-
expect(result.totalSpent).toEqual(new BigNumber(110));
|
|
128
|
-
});
|
|
129
|
-
it("should return NotEnoughBalance error if totalSpent is greater than spendableBalance", async () => {
|
|
130
|
-
transaction.mode = "";
|
|
131
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(1000));
|
|
132
|
-
transaction.fees = new BigNumber(100);
|
|
133
|
-
const result = await getTransactionStatus(account, transaction);
|
|
134
|
-
expect(result.errors.amount).toBeInstanceOf(NotEnoughBalance);
|
|
135
|
-
});
|
|
136
|
-
it("should return AmountRequired error if amount is less than or equal to zero and useAllAmount is false", async () => {
|
|
137
|
-
transaction.mode = "";
|
|
138
|
-
mockedLogic.calculateAmount.mockReturnValue(new BigNumber(0));
|
|
139
|
-
transaction.useAllAmount = false;
|
|
140
|
-
const result = await getTransactionStatus(account, transaction);
|
|
141
|
-
expect(result.errors.amount).toBeInstanceOf(AmountRequired);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
//# 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 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logic.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/logic.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import IconService from "icon-sdk-js";
|
|
3
|
-
import { convertLoopToIcx, convertICXtoLoop, EXISTENTIAL_DEPOSIT, isValidAddress, isSelfTransaction, getNonce, isTestnet, getNid, calculateAmount, getMinimumBalance, } from "../../logic";
|
|
4
|
-
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
|
|
5
|
-
import { BERLIN_TESTNET_NID, MAINNET_NID } from "../../constants";
|
|
6
|
-
jest.mock("@ledgerhq/cryptoassets", () => ({
|
|
7
|
-
getCryptoCurrencyById: jest.fn(),
|
|
8
|
-
}));
|
|
9
|
-
const { IconAmount } = IconService;
|
|
10
|
-
describe("Icon Utils", () => {
|
|
11
|
-
describe("Conversion functions", () => {
|
|
12
|
-
it("should convert loop to ICX correctly", () => {
|
|
13
|
-
const value = "1000000000000000000";
|
|
14
|
-
const result = convertLoopToIcx(value);
|
|
15
|
-
expect(result.isEqualTo(new BigNumber(IconAmount.fromLoop(value, IconAmount.Unit.ICX.toString())))).toBe(true);
|
|
16
|
-
});
|
|
17
|
-
it("should convert ICX to loop correctly", () => {
|
|
18
|
-
const value = "1";
|
|
19
|
-
const result = convertICXtoLoop(value);
|
|
20
|
-
expect(result.isEqualTo(new BigNumber(IconAmount.toLoop(value, IconAmount.Unit.ICX.toString())))).toBe(true);
|
|
21
|
-
});
|
|
22
|
-
});
|
|
23
|
-
describe("Validation functions", () => {
|
|
24
|
-
it("should validate address correctly", () => {
|
|
25
|
-
const validAddress = "hx1234567890123456789012345678901234567890";
|
|
26
|
-
const invalidAddress = "hx12345";
|
|
27
|
-
expect(isValidAddress(validAddress)).toBe(true);
|
|
28
|
-
expect(isValidAddress(invalidAddress)).toBe(false);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe("Transaction-related functions", () => {
|
|
32
|
-
it("should identify self transaction correctly", () => {
|
|
33
|
-
const account = { freshAddress: "hx1234567890123456789012345678901234567890" };
|
|
34
|
-
const transaction = {
|
|
35
|
-
recipient: "hx1234567890123456789012345678901234567890",
|
|
36
|
-
};
|
|
37
|
-
expect(isSelfTransaction(account, transaction)).toBe(true);
|
|
38
|
-
});
|
|
39
|
-
it("should get nonce correctly", () => {
|
|
40
|
-
const account = {
|
|
41
|
-
iconResources: { nonce: 5 },
|
|
42
|
-
pendingOperations: [{ transactionSequenceNumber: 4 }],
|
|
43
|
-
};
|
|
44
|
-
expect(getNonce(account)).toBe(5);
|
|
45
|
-
account.pendingOperations = [{ transactionSequenceNumber: 6 }];
|
|
46
|
-
expect(getNonce(account)).toBe(7);
|
|
47
|
-
});
|
|
48
|
-
});
|
|
49
|
-
describe("Network-related functions", () => {
|
|
50
|
-
it("should identify testnet correctly", () => {
|
|
51
|
-
getCryptoCurrencyById.mockReturnValue({ isTestnetFor: true });
|
|
52
|
-
const currency = { id: "icon" };
|
|
53
|
-
expect(isTestnet(currency)).toBe(true);
|
|
54
|
-
});
|
|
55
|
-
it("should return correct network ID", () => {
|
|
56
|
-
getCryptoCurrencyById.mockReturnValue({ isTestnetFor: true });
|
|
57
|
-
const currency = { id: "icon" };
|
|
58
|
-
expect(getNid(currency)).toBe(BERLIN_TESTNET_NID);
|
|
59
|
-
getCryptoCurrencyById.mockReturnValue({ isTestnetFor: false });
|
|
60
|
-
expect(getNid(currency)).toBe(MAINNET_NID);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
describe("Amount calculation functions", () => {
|
|
64
|
-
it("should calculate correct amount if useAllAmount is true and mode is send", () => {
|
|
65
|
-
const account = {
|
|
66
|
-
spendableBalance: new BigNumber(1000),
|
|
67
|
-
};
|
|
68
|
-
const transaction = {
|
|
69
|
-
useAllAmount: true,
|
|
70
|
-
mode: "send",
|
|
71
|
-
fees: new BigNumber(10),
|
|
72
|
-
};
|
|
73
|
-
const result = calculateAmount({ account, transaction });
|
|
74
|
-
expect(result.isEqualTo(new BigNumber(990))).toBe(true);
|
|
75
|
-
});
|
|
76
|
-
it("should calculate correct amount if useAllAmount is true and mode is not send", () => {
|
|
77
|
-
const account = {
|
|
78
|
-
spendableBalance: new BigNumber(1000),
|
|
79
|
-
};
|
|
80
|
-
const transaction = {
|
|
81
|
-
useAllAmount: true,
|
|
82
|
-
mode: "other",
|
|
83
|
-
fees: new BigNumber(10),
|
|
84
|
-
};
|
|
85
|
-
const result = calculateAmount({ account, transaction });
|
|
86
|
-
expect(result.isEqualTo(new BigNumber(990))).toBe(true);
|
|
87
|
-
});
|
|
88
|
-
it("calculates the correct amount if useAllAmount is false", () => {
|
|
89
|
-
const account = {};
|
|
90
|
-
const transaction = {
|
|
91
|
-
useAllAmount: false,
|
|
92
|
-
amount: new BigNumber("10000000000000000000000000000000000"),
|
|
93
|
-
};
|
|
94
|
-
const result = calculateAmount({ account, transaction });
|
|
95
|
-
expect(result).toStrictEqual(new BigNumber("10000000000000000000000000000000000"));
|
|
96
|
-
});
|
|
97
|
-
it("should calculate minimum balance correctly", () => {
|
|
98
|
-
const account = {
|
|
99
|
-
balance: new BigNumber(1000),
|
|
100
|
-
spendableBalance: new BigNumber(900),
|
|
101
|
-
};
|
|
102
|
-
const result = getMinimumBalance(account);
|
|
103
|
-
expect(result.isEqualTo(EXISTENTIAL_DEPOSIT.minus(new BigNumber(100)))).toBe(true);
|
|
104
|
-
});
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
//# sourceMappingURL=logic.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logic.unit.test.js","sourceRoot":"","sources":["../../../src/__test__/unit/logic.unit.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializations.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/serializations.unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import { BigNumber } from "bignumber.js";
|
|
2
|
-
import { assignFromAccountRaw, assignToAccountRaw, fromIconResourcesRaw, toIconResourcesRaw, } from "../../serialization";
|
|
3
|
-
describe("Icon Resources Utilities", () => {
|
|
4
|
-
describe("toIconResourcesRaw", () => {
|
|
5
|
-
it("should convert IconResources to IconResourcesRaw", () => {
|
|
6
|
-
const resources = {
|
|
7
|
-
nonce: 1,
|
|
8
|
-
votingPower: new BigNumber(1000),
|
|
9
|
-
totalDelegated: new BigNumber(2000),
|
|
10
|
-
};
|
|
11
|
-
const expectedRaw = {
|
|
12
|
-
nonce: 1,
|
|
13
|
-
votingPower: "1000",
|
|
14
|
-
totalDelegated: "2000",
|
|
15
|
-
};
|
|
16
|
-
expect(toIconResourcesRaw(resources)).toEqual(expectedRaw);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
describe("fromIconResourcesRaw", () => {
|
|
20
|
-
it("should convert IconResourcesRaw to IconResources", () => {
|
|
21
|
-
const rawResources = {
|
|
22
|
-
nonce: 1,
|
|
23
|
-
votingPower: "1000",
|
|
24
|
-
totalDelegated: "2000",
|
|
25
|
-
};
|
|
26
|
-
const expectedResources = {
|
|
27
|
-
nonce: 1,
|
|
28
|
-
votingPower: new BigNumber(1000),
|
|
29
|
-
totalDelegated: new BigNumber(2000),
|
|
30
|
-
};
|
|
31
|
-
expect(fromIconResourcesRaw(rawResources)).toEqual(expectedResources);
|
|
32
|
-
});
|
|
33
|
-
});
|
|
34
|
-
describe("assignToAccountRaw", () => {
|
|
35
|
-
it("should assign IconResources to AccountRaw", () => {
|
|
36
|
-
const account = {
|
|
37
|
-
iconResources: {
|
|
38
|
-
nonce: 1,
|
|
39
|
-
votingPower: new BigNumber(1000),
|
|
40
|
-
totalDelegated: new BigNumber(2000),
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
const accountRaw = {};
|
|
44
|
-
assignToAccountRaw(account, accountRaw);
|
|
45
|
-
expect(accountRaw.iconResources).toEqual({
|
|
46
|
-
nonce: 1,
|
|
47
|
-
votingPower: "1000",
|
|
48
|
-
totalDelegated: "2000",
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe("assignFromAccountRaw", () => {
|
|
53
|
-
it("should assign IconResourcesRaw to Account", () => {
|
|
54
|
-
const accountRaw = {
|
|
55
|
-
iconResources: {
|
|
56
|
-
nonce: 1,
|
|
57
|
-
votingPower: "1000",
|
|
58
|
-
totalDelegated: "2000",
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
const account = {};
|
|
62
|
-
assignFromAccountRaw(accountRaw, account);
|
|
63
|
-
expect(account.iconResources).toEqual({
|
|
64
|
-
nonce: 1,
|
|
65
|
-
votingPower: new BigNumber(1000),
|
|
66
|
-
totalDelegated: new BigNumber(2000),
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
//# sourceMappingURL=serializations.unit.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"serializations.unit.test.js","sourceRoot":"","sources":["../../../src/__test__/unit/serializations.unit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAE7B,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,SAAS,GAAkB;gBAC/B,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;gBAChC,cAAc,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;aACpC,CAAC;YAEF,MAAM,WAAW,GAAqB;gBACpC,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,MAAM;gBACnB,cAAc,EAAE,MAAM;aACvB,CAAC;YAEF,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;YAC1D,MAAM,YAAY,GAAqB;gBACrC,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,MAAM;gBACnB,cAAc,EAAE,MAAM;aACvB,CAAC;YAEF,MAAM,iBAAiB,GAAkB;gBACvC,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;gBAChC,cAAc,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;aACpC,CAAC;YAEF,MAAM,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,OAAO,GAAgB;gBAC3B,aAAa,EAAE;oBACb,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;oBAChC,cAAc,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;iBACpC;aACa,CAAC;YAEjB,MAAM,UAAU,GAAe,EAAoB,CAAC;YAEpD,kBAAkB,CAAC,OAAkB,EAAE,UAAU,CAAC,CAAC;YAEnD,MAAM,CAAE,UAA6B,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;gBAC3D,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,MAAM;gBACnB,cAAc,EAAE,MAAM;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,UAAU,GAAG;gBACjB,aAAa,EAAE;oBACb,KAAK,EAAE,CAAC;oBACR,WAAW,EAAE,MAAM;oBACnB,cAAc,EAAE,MAAM;iBACvB;aACK,CAAC;YAET,MAAM,OAAO,GAAY,EAAiB,CAAC;YAE3C,oBAAoB,CAAC,UAAwB,EAAE,OAAO,CAAC,CAAC;YAExD,MAAM,CAAE,OAAuB,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC;gBACrD,KAAK,EAAE,CAAC;gBACR,WAAW,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;gBAChC,cAAc,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__test__/unit/transaction.unit.test.ts"],"names":[],"mappings":""}
|