@ledgerhq/coin-vechain 2.11.0 → 2.11.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.
- package/CHANGELOG.md +8 -0
- package/package.json +6 -6
- package/lib/bridge/broadcast.test.d.ts +0 -2
- package/lib/bridge/broadcast.test.d.ts.map +0 -1
- package/lib/bridge/broadcast.test.js +0 -188
- package/lib/bridge/broadcast.test.js.map +0 -1
- package/lib/bridge/buildOptimisticOperatioin.test.d.ts +0 -2
- package/lib/bridge/buildOptimisticOperatioin.test.d.ts.map +0 -1
- package/lib/bridge/buildOptimisticOperatioin.test.js +0 -286
- package/lib/bridge/buildOptimisticOperatioin.test.js.map +0 -1
- package/lib/bridge/createTransaction.test.d.ts +0 -2
- package/lib/bridge/createTransaction.test.d.ts.map +0 -1
- package/lib/bridge/createTransaction.test.js +0 -167
- package/lib/bridge/createTransaction.test.js.map +0 -1
- package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
- package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
- package/lib/bridge/estimateMaxSpendable.test.js +0 -269
- package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
- package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
- package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
- package/lib/bridge/getTransactionStatus.test.js +0 -282
- package/lib/bridge/getTransactionStatus.test.js.map +0 -1
- package/lib/bridge/helpers.test.d.ts +0 -2
- package/lib/bridge/helpers.test.d.ts.map +0 -1
- package/lib/bridge/helpers.test.js +0 -298
- package/lib/bridge/helpers.test.js.map +0 -1
- package/lib/bridge/prepareTransaction.test.d.ts +0 -2
- package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
- package/lib/bridge/prepareTransaction.test.js +0 -277
- package/lib/bridge/prepareTransaction.test.js.map +0 -1
- package/lib/bridge/signOperation.test.d.ts +0 -2
- package/lib/bridge/signOperation.test.d.ts.map +0 -1
- package/lib/bridge/signOperation.test.js +0 -295
- package/lib/bridge/signOperation.test.js.map +0 -1
- package/lib/bridge/synchronisation.test.d.ts +0 -2
- package/lib/bridge/synchronisation.test.d.ts.map +0 -1
- package/lib/bridge/synchronisation.test.js +0 -201
- package/lib/bridge/synchronisation.test.js.map +0 -1
- package/lib/bridge/transaction.test.d.ts +0 -2
- package/lib/bridge/transaction.test.d.ts.map +0 -1
- package/lib/bridge/transaction.test.js +0 -353
- package/lib/bridge/transaction.test.js.map +0 -1
- package/lib/common-logic/calculateClauses.test.d.ts +0 -2
- package/lib/common-logic/calculateClauses.test.d.ts.map +0 -1
- package/lib/common-logic/calculateClauses.test.js +0 -156
- package/lib/common-logic/calculateClauses.test.js.map +0 -1
- package/lib/common-logic/calculateGasFees.test.d.ts +0 -2
- package/lib/common-logic/calculateGasFees.test.d.ts.map +0 -1
- package/lib/common-logic/calculateGasFees.test.js +0 -279
- package/lib/common-logic/calculateGasFees.test.js.map +0 -1
- package/lib/common-logic/calculateTransactionInfo.test.d.ts +0 -2
- package/lib/common-logic/calculateTransactionInfo.test.d.ts.map +0 -1
- package/lib/common-logic/calculateTransactionInfo.test.js +0 -314
- package/lib/common-logic/calculateTransactionInfo.test.js.map +0 -1
- package/lib/common-logic/estimateGas.test.d.ts +0 -2
- package/lib/common-logic/estimateGas.test.d.ts.map +0 -1
- package/lib/common-logic/estimateGas.test.js +0 -129
- package/lib/common-logic/estimateGas.test.js.map +0 -1
- package/lib/common-logic/fixPrefixCase.test.d.ts +0 -2
- package/lib/common-logic/fixPrefixCase.test.d.ts.map +0 -1
- package/lib/common-logic/fixPrefixCase.test.js +0 -46
- package/lib/common-logic/fixPrefixCase.test.js.map +0 -1
- package/lib/common-logic/generateNonce.test.d.ts +0 -2
- package/lib/common-logic/generateNonce.test.d.ts.map +0 -1
- package/lib/common-logic/generateNonce.test.js +0 -59
- package/lib/common-logic/generateNonce.test.js.map +0 -1
- package/lib/common-logic/getThorClient.test.d.ts +0 -2
- package/lib/common-logic/getThorClient.test.d.ts.map +0 -1
- package/lib/common-logic/getThorClient.test.js +0 -53
- package/lib/common-logic/getThorClient.test.js.map +0 -1
- package/lib/common-logic/mapTransfersToOperations.test.d.ts +0 -2
- package/lib/common-logic/mapTransfersToOperations.test.d.ts.map +0 -1
- package/lib/common-logic/mapTransfersToOperations.test.js +0 -274
- package/lib/common-logic/mapTransfersToOperations.test.js.map +0 -1
- package/lib/common-logic/padAddress.test.d.ts +0 -2
- package/lib/common-logic/padAddress.test.d.ts.map +0 -1
- package/lib/common-logic/padAddress.test.js +0 -59
- package/lib/common-logic/padAddress.test.js.map +0 -1
- package/lib/common-logic/parseAddress.test.d.ts +0 -2
- package/lib/common-logic/parseAddress.test.d.ts.map +0 -1
- package/lib/common-logic/parseAddress.test.js +0 -97
- package/lib/common-logic/parseAddress.test.js.map +0 -1
- package/lib/signer/getAddress.test.d.ts +0 -2
- package/lib/signer/getAddress.test.d.ts.map +0 -1
- package/lib/signer/getAddress.test.js +0 -357
- package/lib/signer/getAddress.test.js.map +0 -1
- package/lib/signer/signMessage.test.d.ts +0 -2
- package/lib/signer/signMessage.test.d.ts.map +0 -1
- package/lib/signer/signMessage.test.js +0 -242
- package/lib/signer/signMessage.test.js.map +0 -1
- package/lib-es/bridge/broadcast.test.d.ts +0 -2
- package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
- package/lib-es/bridge/broadcast.test.js +0 -183
- package/lib-es/bridge/broadcast.test.js.map +0 -1
- package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts +0 -2
- package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts.map +0 -1
- package/lib-es/bridge/buildOptimisticOperatioin.test.js +0 -281
- package/lib-es/bridge/buildOptimisticOperatioin.test.js.map +0 -1
- package/lib-es/bridge/createTransaction.test.d.ts +0 -2
- package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
- package/lib-es/bridge/createTransaction.test.js +0 -162
- package/lib-es/bridge/createTransaction.test.js.map +0 -1
- package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
- package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
- package/lib-es/bridge/estimateMaxSpendable.test.js +0 -264
- package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
- package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
- package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
- package/lib-es/bridge/getTransactionStatus.test.js +0 -277
- package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
- package/lib-es/bridge/helpers.test.d.ts +0 -2
- package/lib-es/bridge/helpers.test.d.ts.map +0 -1
- package/lib-es/bridge/helpers.test.js +0 -293
- package/lib-es/bridge/helpers.test.js.map +0 -1
- package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
- package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
- package/lib-es/bridge/prepareTransaction.test.js +0 -272
- package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
- package/lib-es/bridge/signOperation.test.d.ts +0 -2
- package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
- package/lib-es/bridge/signOperation.test.js +0 -290
- package/lib-es/bridge/signOperation.test.js.map +0 -1
- package/lib-es/bridge/synchronisation.test.d.ts +0 -2
- package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
- package/lib-es/bridge/synchronisation.test.js +0 -196
- package/lib-es/bridge/synchronisation.test.js.map +0 -1
- package/lib-es/bridge/transaction.test.d.ts +0 -2
- package/lib-es/bridge/transaction.test.d.ts.map +0 -1
- package/lib-es/bridge/transaction.test.js +0 -347
- package/lib-es/bridge/transaction.test.js.map +0 -1
- package/lib-es/common-logic/calculateClauses.test.d.ts +0 -2
- package/lib-es/common-logic/calculateClauses.test.d.ts.map +0 -1
- package/lib-es/common-logic/calculateClauses.test.js +0 -151
- package/lib-es/common-logic/calculateClauses.test.js.map +0 -1
- package/lib-es/common-logic/calculateGasFees.test.d.ts +0 -2
- package/lib-es/common-logic/calculateGasFees.test.d.ts.map +0 -1
- package/lib-es/common-logic/calculateGasFees.test.js +0 -274
- package/lib-es/common-logic/calculateGasFees.test.js.map +0 -1
- package/lib-es/common-logic/calculateTransactionInfo.test.d.ts +0 -2
- package/lib-es/common-logic/calculateTransactionInfo.test.d.ts.map +0 -1
- package/lib-es/common-logic/calculateTransactionInfo.test.js +0 -309
- package/lib-es/common-logic/calculateTransactionInfo.test.js.map +0 -1
- package/lib-es/common-logic/estimateGas.test.d.ts +0 -2
- package/lib-es/common-logic/estimateGas.test.d.ts.map +0 -1
- package/lib-es/common-logic/estimateGas.test.js +0 -127
- package/lib-es/common-logic/estimateGas.test.js.map +0 -1
- package/lib-es/common-logic/fixPrefixCase.test.d.ts +0 -2
- package/lib-es/common-logic/fixPrefixCase.test.d.ts.map +0 -1
- package/lib-es/common-logic/fixPrefixCase.test.js +0 -44
- package/lib-es/common-logic/fixPrefixCase.test.js.map +0 -1
- package/lib-es/common-logic/generateNonce.test.d.ts +0 -2
- package/lib-es/common-logic/generateNonce.test.d.ts.map +0 -1
- package/lib-es/common-logic/generateNonce.test.js +0 -57
- package/lib-es/common-logic/generateNonce.test.js.map +0 -1
- package/lib-es/common-logic/getThorClient.test.d.ts +0 -2
- package/lib-es/common-logic/getThorClient.test.d.ts.map +0 -1
- package/lib-es/common-logic/getThorClient.test.js +0 -51
- package/lib-es/common-logic/getThorClient.test.js.map +0 -1
- package/lib-es/common-logic/mapTransfersToOperations.test.d.ts +0 -2
- package/lib-es/common-logic/mapTransfersToOperations.test.d.ts.map +0 -1
- package/lib-es/common-logic/mapTransfersToOperations.test.js +0 -269
- package/lib-es/common-logic/mapTransfersToOperations.test.js.map +0 -1
- package/lib-es/common-logic/padAddress.test.d.ts +0 -2
- package/lib-es/common-logic/padAddress.test.d.ts.map +0 -1
- package/lib-es/common-logic/padAddress.test.js +0 -57
- package/lib-es/common-logic/padAddress.test.js.map +0 -1
- package/lib-es/common-logic/parseAddress.test.d.ts +0 -2
- package/lib-es/common-logic/parseAddress.test.d.ts.map +0 -1
- package/lib-es/common-logic/parseAddress.test.js +0 -95
- package/lib-es/common-logic/parseAddress.test.js.map +0 -1
- package/lib-es/signer/getAddress.test.d.ts +0 -2
- package/lib-es/signer/getAddress.test.d.ts.map +0 -1
- package/lib-es/signer/getAddress.test.js +0 -352
- package/lib-es/signer/getAddress.test.js.map +0 -1
- package/lib-es/signer/signMessage.test.d.ts +0 -2
- package/lib-es/signer/signMessage.test.d.ts.map +0 -1
- package/lib-es/signer/signMessage.test.js +0 -240
- package/lib-es/signer/signMessage.test.js.map +0 -1
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
import BigNumber from "bignumber.js";
|
|
2
|
-
import { getTransactionStatus } from "./getTransactionStatus";
|
|
3
|
-
import { calculateTransactionInfo, parseAddress } from "../common-logic";
|
|
4
|
-
import { AmountRequired, FeeNotLoaded, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, NotEnoughBalance, RecipientRequired, } from "@ledgerhq/errors";
|
|
5
|
-
import { NotEnoughVTHO } from "../errors";
|
|
6
|
-
// Mock dependencies
|
|
7
|
-
jest.mock("../common-logic");
|
|
8
|
-
const mockedCalculateTransactionInfo = jest.mocked(calculateTransactionInfo);
|
|
9
|
-
const mockedParseAddress = jest.mocked(parseAddress);
|
|
10
|
-
describe("getTransactionStatus", () => {
|
|
11
|
-
const mockVthoAccount = {
|
|
12
|
-
type: "TokenAccount",
|
|
13
|
-
id: "vechain:1:0x123:+vtho",
|
|
14
|
-
parentId: "vechain:1:0x123:",
|
|
15
|
-
token: {},
|
|
16
|
-
balance: new BigNumber("1000000000000000000000"), // 1000 VTHO
|
|
17
|
-
spendableBalance: new BigNumber("1000000000000000000000"),
|
|
18
|
-
creationDate: new Date("2022-01-01"),
|
|
19
|
-
operationsCount: 5,
|
|
20
|
-
operations: [],
|
|
21
|
-
pendingOperations: [],
|
|
22
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
23
|
-
swapHistory: [],
|
|
24
|
-
};
|
|
25
|
-
const mockAccount = {
|
|
26
|
-
type: "Account",
|
|
27
|
-
id: "vechain:1:0x123:",
|
|
28
|
-
seedIdentifier: "seed123",
|
|
29
|
-
derivationMode: "",
|
|
30
|
-
index: 0,
|
|
31
|
-
freshAddress: "0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4",
|
|
32
|
-
freshAddressPath: "44'/818'/0'/0/0",
|
|
33
|
-
used: true,
|
|
34
|
-
balance: new BigNumber("5000000000000000000"), // 5 VET
|
|
35
|
-
spendableBalance: new BigNumber("5000000000000000000"),
|
|
36
|
-
creationDate: new Date("2022-01-01"),
|
|
37
|
-
blockHeight: 12345,
|
|
38
|
-
currency: { name: "VeChain" },
|
|
39
|
-
operationsCount: 10,
|
|
40
|
-
operations: [],
|
|
41
|
-
pendingOperations: [],
|
|
42
|
-
lastSyncDate: new Date("2022-01-01"),
|
|
43
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
44
|
-
swapHistory: [],
|
|
45
|
-
subAccounts: [mockVthoAccount],
|
|
46
|
-
};
|
|
47
|
-
const mockTransaction = {
|
|
48
|
-
family: "vechain",
|
|
49
|
-
recipient: "0x456789012345678901234567890123456789abcd",
|
|
50
|
-
amount: new BigNumber("1000000000000000000"), // 1 VET
|
|
51
|
-
estimatedFees: "210000000000000000", // 0.21 VET
|
|
52
|
-
body: {
|
|
53
|
-
chainTag: 74,
|
|
54
|
-
blockRef: "0x00000000000b2bce",
|
|
55
|
-
expiration: 18,
|
|
56
|
-
clauses: [],
|
|
57
|
-
maxFeePerGas: 10000000000000,
|
|
58
|
-
maxPriorityFeePerGas: 1000000000000,
|
|
59
|
-
gas: 21000,
|
|
60
|
-
dependsOn: null,
|
|
61
|
-
nonce: "0x12345678",
|
|
62
|
-
},
|
|
63
|
-
};
|
|
64
|
-
beforeEach(() => {
|
|
65
|
-
jest.clearAllMocks();
|
|
66
|
-
mockedCalculateTransactionInfo.mockResolvedValue({
|
|
67
|
-
isTokenAccount: false,
|
|
68
|
-
amount: new BigNumber("1000000000000000000"),
|
|
69
|
-
spendableBalance: new BigNumber("4790000000000000000"), // 5 VET - 0.21 VET fees
|
|
70
|
-
balance: new BigNumber("5000000000000000000"),
|
|
71
|
-
tokenAccount: undefined,
|
|
72
|
-
estimatedFees: "210000000000000000",
|
|
73
|
-
estimatedGas: 21000,
|
|
74
|
-
maxFeePerGas: 10000000000000,
|
|
75
|
-
maxPriorityFeePerGas: 1000000000000,
|
|
76
|
-
});
|
|
77
|
-
mockedParseAddress.mockReturnValue(true);
|
|
78
|
-
});
|
|
79
|
-
describe("successful transaction validation", () => {
|
|
80
|
-
it("should return valid status for a normal VET transaction", async () => {
|
|
81
|
-
const result = await getTransactionStatus(mockAccount, mockTransaction);
|
|
82
|
-
expect(result.errors).toEqual({});
|
|
83
|
-
expect(result.warnings).toEqual({});
|
|
84
|
-
expect(result.estimatedFees).toEqual(new BigNumber("210000000000000000"));
|
|
85
|
-
expect(result.amount).toEqual(new BigNumber("1000000000000000000"));
|
|
86
|
-
expect(result.totalSpent).toEqual(new BigNumber("1000000000000000000"));
|
|
87
|
-
});
|
|
88
|
-
it("should return valid status for a token transaction", async () => {
|
|
89
|
-
const tokenTransaction = {
|
|
90
|
-
...mockTransaction,
|
|
91
|
-
subAccountId: "vechain:1:0x123:+vtho",
|
|
92
|
-
};
|
|
93
|
-
mockedCalculateTransactionInfo.mockResolvedValue({
|
|
94
|
-
isTokenAccount: true,
|
|
95
|
-
amount: new BigNumber("1000000000000000000"),
|
|
96
|
-
spendableBalance: new BigNumber("999790000000000000000"),
|
|
97
|
-
balance: new BigNumber("1000000000000000000000"),
|
|
98
|
-
tokenAccount: mockVthoAccount,
|
|
99
|
-
estimatedFees: "210000000000000000",
|
|
100
|
-
estimatedGas: 21000,
|
|
101
|
-
maxFeePerGas: 10000000000000,
|
|
102
|
-
maxPriorityFeePerGas: 1000000000000,
|
|
103
|
-
});
|
|
104
|
-
const result = await getTransactionStatus(mockAccount, tokenTransaction);
|
|
105
|
-
expect(result.errors).toEqual({});
|
|
106
|
-
expect(result.totalSpent).toEqual(new BigNumber("1210000000000000000")); // amount + fees
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
describe("fee validation", () => {
|
|
110
|
-
it("should return FeeNotLoaded error when body is missing", async () => {
|
|
111
|
-
const transactionWithoutBody = { ...mockTransaction, body: undefined };
|
|
112
|
-
await expect(getTransactionStatus(mockAccount, transactionWithoutBody)).rejects.toThrow();
|
|
113
|
-
});
|
|
114
|
-
it("should return FeeNotLoaded error when gas is missing", async () => {
|
|
115
|
-
const transactionWithoutGas = {
|
|
116
|
-
...mockTransaction,
|
|
117
|
-
body: { ...mockTransaction.body, gas: undefined },
|
|
118
|
-
};
|
|
119
|
-
const result = await getTransactionStatus(mockAccount, transactionWithoutGas);
|
|
120
|
-
expect(result.errors.fees).toBeInstanceOf(FeeNotLoaded);
|
|
121
|
-
});
|
|
122
|
-
it("should return FeeNotLoaded error when gas is zero", async () => {
|
|
123
|
-
const transactionWithZeroGas = {
|
|
124
|
-
...mockTransaction,
|
|
125
|
-
body: { ...mockTransaction.body, gas: 0 },
|
|
126
|
-
};
|
|
127
|
-
const result = await getTransactionStatus(mockAccount, transactionWithZeroGas);
|
|
128
|
-
expect(result.errors.fees).toBeInstanceOf(FeeNotLoaded);
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
describe("recipient validation", () => {
|
|
132
|
-
it("should return RecipientRequired error when recipient is empty", async () => {
|
|
133
|
-
const transactionWithoutRecipient = { ...mockTransaction, recipient: "" };
|
|
134
|
-
const result = await getTransactionStatus(mockAccount, transactionWithoutRecipient);
|
|
135
|
-
expect(result.errors.recipient).toBeInstanceOf(RecipientRequired);
|
|
136
|
-
});
|
|
137
|
-
it("should return InvalidAddressBecauseDestinationIsAlsoSource warning when sending to self", async () => {
|
|
138
|
-
const selfTransaction = {
|
|
139
|
-
...mockTransaction,
|
|
140
|
-
recipient: mockAccount.freshAddress,
|
|
141
|
-
};
|
|
142
|
-
const result = await getTransactionStatus(mockAccount, selfTransaction);
|
|
143
|
-
expect(result.warnings.recipient).toBeInstanceOf(InvalidAddressBecauseDestinationIsAlsoSource);
|
|
144
|
-
});
|
|
145
|
-
it("should handle case-insensitive self-send detection", async () => {
|
|
146
|
-
const selfTransaction = {
|
|
147
|
-
...mockTransaction,
|
|
148
|
-
recipient: mockAccount.freshAddress.toUpperCase(),
|
|
149
|
-
};
|
|
150
|
-
const result = await getTransactionStatus(mockAccount, selfTransaction);
|
|
151
|
-
expect(result.warnings.recipient).toBeInstanceOf(InvalidAddressBecauseDestinationIsAlsoSource);
|
|
152
|
-
});
|
|
153
|
-
it("should return InvalidAddress error for invalid recipient", async () => {
|
|
154
|
-
mockedParseAddress.mockReturnValue(false);
|
|
155
|
-
const result = await getTransactionStatus(mockAccount, mockTransaction);
|
|
156
|
-
expect(result.errors.recipient).toBeInstanceOf(InvalidAddress);
|
|
157
|
-
expect(mockedParseAddress).toHaveBeenCalledWith(mockTransaction.recipient);
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
describe("amount validation", () => {
|
|
161
|
-
it("should return AmountRequired error when amount is zero and not useAllAmount", async () => {
|
|
162
|
-
const zeroAmountTransaction = {
|
|
163
|
-
...mockTransaction,
|
|
164
|
-
amount: new BigNumber(0),
|
|
165
|
-
useAllAmount: false,
|
|
166
|
-
};
|
|
167
|
-
const result = await getTransactionStatus(mockAccount, zeroAmountTransaction);
|
|
168
|
-
expect(result.errors.amount).toBeInstanceOf(AmountRequired);
|
|
169
|
-
});
|
|
170
|
-
it("should return NotEnoughBalance error when amount is zero and useAllAmount is true", async () => {
|
|
171
|
-
const useAllAmountTransaction = {
|
|
172
|
-
...mockTransaction,
|
|
173
|
-
amount: new BigNumber(0),
|
|
174
|
-
useAllAmount: true,
|
|
175
|
-
};
|
|
176
|
-
const result = await getTransactionStatus(mockAccount, useAllAmountTransaction);
|
|
177
|
-
expect(result.errors.amount).toBeInstanceOf(NotEnoughBalance);
|
|
178
|
-
});
|
|
179
|
-
it("should return NotEnoughBalance error when amount exceeds spendable balance", async () => {
|
|
180
|
-
const largeAmountTransaction = {
|
|
181
|
-
...mockTransaction,
|
|
182
|
-
amount: new BigNumber("10000000000000000000"), // 10 VET, more than spendable
|
|
183
|
-
};
|
|
184
|
-
mockedCalculateTransactionInfo.mockResolvedValue({
|
|
185
|
-
isTokenAccount: false,
|
|
186
|
-
amount: new BigNumber("10000000000000000000"),
|
|
187
|
-
spendableBalance: new BigNumber("4790000000000000000"), // Less than amount
|
|
188
|
-
balance: new BigNumber("5000000000000000000"),
|
|
189
|
-
tokenAccount: undefined,
|
|
190
|
-
estimatedFees: "210000000000000000",
|
|
191
|
-
estimatedGas: 21000,
|
|
192
|
-
maxFeePerGas: 10000000000000,
|
|
193
|
-
maxPriorityFeePerGas: 1000000000000,
|
|
194
|
-
});
|
|
195
|
-
const result = await getTransactionStatus(mockAccount, largeAmountTransaction);
|
|
196
|
-
expect(result.errors.amount).toBeInstanceOf(NotEnoughBalance);
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
describe("VTHO balance validation", () => {
|
|
200
|
-
it("should return NotEnoughVTHO error when VTHO balance is insufficient for fees", async () => {
|
|
201
|
-
const accountWithLowVtho = {
|
|
202
|
-
...mockAccount,
|
|
203
|
-
subAccounts: [{ ...mockVthoAccount, balance: new BigNumber("100000000000000000") }], // 0.1 VTHO
|
|
204
|
-
};
|
|
205
|
-
const result = await getTransactionStatus(accountWithLowVtho, mockTransaction);
|
|
206
|
-
expect(result.errors.amount).toBeInstanceOf(NotEnoughVTHO);
|
|
207
|
-
});
|
|
208
|
-
it("should handle missing VTHO subaccount gracefully", async () => {
|
|
209
|
-
const accountWithoutVtho = {
|
|
210
|
-
...mockAccount,
|
|
211
|
-
subAccounts: [],
|
|
212
|
-
};
|
|
213
|
-
// This should throw an error when trying to access subAccounts[0].balance
|
|
214
|
-
await expect(getTransactionStatus(accountWithoutVtho, mockTransaction)).rejects.toThrow();
|
|
215
|
-
});
|
|
216
|
-
it("should handle undefined subAccounts gracefully", async () => {
|
|
217
|
-
const accountWithUndefinedSub = {
|
|
218
|
-
...mockAccount,
|
|
219
|
-
subAccounts: [],
|
|
220
|
-
};
|
|
221
|
-
// This should throw an error when trying to access subAccounts[0].balance
|
|
222
|
-
await expect(getTransactionStatus(accountWithUndefinedSub, mockTransaction)).rejects.toThrow();
|
|
223
|
-
});
|
|
224
|
-
it("should not check VTHO balance for token transactions", async () => {
|
|
225
|
-
const tokenTransaction = {
|
|
226
|
-
...mockTransaction,
|
|
227
|
-
subAccountId: "vechain:1:0x123:+vtho",
|
|
228
|
-
};
|
|
229
|
-
mockedCalculateTransactionInfo.mockResolvedValue({
|
|
230
|
-
isTokenAccount: true,
|
|
231
|
-
amount: new BigNumber("1000000000000000000"),
|
|
232
|
-
spendableBalance: new BigNumber("999790000000000000000"),
|
|
233
|
-
balance: new BigNumber("1000000000000000000000"),
|
|
234
|
-
tokenAccount: mockVthoAccount,
|
|
235
|
-
estimatedFees: "210000000000000000",
|
|
236
|
-
estimatedGas: 21000,
|
|
237
|
-
maxFeePerGas: 10000000000000,
|
|
238
|
-
maxPriorityFeePerGas: 1000000000000,
|
|
239
|
-
});
|
|
240
|
-
const accountWithLowVtho = {
|
|
241
|
-
...mockAccount,
|
|
242
|
-
subAccounts: [{ ...mockVthoAccount, balance: new BigNumber("100000000000000000") }],
|
|
243
|
-
};
|
|
244
|
-
const result = await getTransactionStatus(accountWithLowVtho, tokenTransaction);
|
|
245
|
-
expect(result.errors.amount).toBeUndefined();
|
|
246
|
-
});
|
|
247
|
-
});
|
|
248
|
-
describe("multiple errors", () => {
|
|
249
|
-
it("should return multiple errors when multiple validations fail", async () => {
|
|
250
|
-
const invalidTransaction = {
|
|
251
|
-
...mockTransaction,
|
|
252
|
-
recipient: "",
|
|
253
|
-
amount: new BigNumber(0),
|
|
254
|
-
useAllAmount: false,
|
|
255
|
-
body: undefined,
|
|
256
|
-
};
|
|
257
|
-
await expect(getTransactionStatus(mockAccount, invalidTransaction)).rejects.toThrow();
|
|
258
|
-
});
|
|
259
|
-
});
|
|
260
|
-
describe("calculateTransactionInfo integration", () => {
|
|
261
|
-
it("should call calculateTransactionInfo with correct parameters", async () => {
|
|
262
|
-
await getTransactionStatus(mockAccount, mockTransaction);
|
|
263
|
-
expect(mockedCalculateTransactionInfo).toHaveBeenCalledWith(mockAccount, mockTransaction, {
|
|
264
|
-
estimatedGas: mockTransaction.body.gas,
|
|
265
|
-
estimatedGasFees: new BigNumber(mockTransaction.estimatedFees),
|
|
266
|
-
maxFeePerGas: mockTransaction.body.maxFeePerGas,
|
|
267
|
-
maxPriorityFeePerGas: mockTransaction.body.maxPriorityFeePerGas,
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
it("should handle calculateTransactionInfo errors", async () => {
|
|
271
|
-
const error = new Error("Calculation failed");
|
|
272
|
-
mockedCalculateTransactionInfo.mockRejectedValue(error);
|
|
273
|
-
await expect(getTransactionStatus(mockAccount, mockTransaction)).rejects.toThrow("Calculation failed");
|
|
274
|
-
});
|
|
275
|
-
});
|
|
276
|
-
});
|
|
277
|
-
//# sourceMappingURL=getTransactionStatus.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../../src/bridge/helpers.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,293 +0,0 @@
|
|
|
1
|
-
import BigNumber from "bignumber.js";
|
|
2
|
-
import { isAccountEmpty } from "./helpers";
|
|
3
|
-
describe("isAccountEmpty", () => {
|
|
4
|
-
const baseAccount = {
|
|
5
|
-
balance: new BigNumber("0"),
|
|
6
|
-
operationsCount: 0,
|
|
7
|
-
subAccounts: undefined,
|
|
8
|
-
};
|
|
9
|
-
describe("empty accounts", () => {
|
|
10
|
-
it("should return true for completely empty account", () => {
|
|
11
|
-
const account = {
|
|
12
|
-
...baseAccount,
|
|
13
|
-
balance: new BigNumber("0"),
|
|
14
|
-
operationsCount: 0,
|
|
15
|
-
subAccounts: undefined,
|
|
16
|
-
};
|
|
17
|
-
const result = isAccountEmpty(account);
|
|
18
|
-
expect(result).toBe(true);
|
|
19
|
-
});
|
|
20
|
-
it("should return true for account with undefined subAccounts", () => {
|
|
21
|
-
const account = {
|
|
22
|
-
balance: new BigNumber("0"),
|
|
23
|
-
operationsCount: 0,
|
|
24
|
-
subAccounts: undefined,
|
|
25
|
-
};
|
|
26
|
-
const result = isAccountEmpty(account);
|
|
27
|
-
expect(result).toBe(true);
|
|
28
|
-
});
|
|
29
|
-
it("should return true for account with empty subAccounts array", () => {
|
|
30
|
-
const account = {
|
|
31
|
-
...baseAccount,
|
|
32
|
-
balance: new BigNumber("0"),
|
|
33
|
-
operationsCount: 0,
|
|
34
|
-
subAccounts: undefined,
|
|
35
|
-
};
|
|
36
|
-
const result = isAccountEmpty(account);
|
|
37
|
-
expect(result).toBe(true);
|
|
38
|
-
});
|
|
39
|
-
it("should return true when subAccount has zero balance", () => {
|
|
40
|
-
const mockSubAccount = {
|
|
41
|
-
type: "TokenAccount",
|
|
42
|
-
id: "vechain:1:0x123:+vtho",
|
|
43
|
-
parentId: "vechain:1:0x123:",
|
|
44
|
-
token: {},
|
|
45
|
-
balance: new BigNumber("0"),
|
|
46
|
-
spendableBalance: new BigNumber("0"),
|
|
47
|
-
creationDate: new Date("2022-01-01"),
|
|
48
|
-
operationsCount: 0,
|
|
49
|
-
operations: [],
|
|
50
|
-
pendingOperations: [],
|
|
51
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
52
|
-
swapHistory: [],
|
|
53
|
-
};
|
|
54
|
-
const account = {
|
|
55
|
-
balance: new BigNumber("0"),
|
|
56
|
-
operationsCount: 0,
|
|
57
|
-
subAccounts: [mockSubAccount],
|
|
58
|
-
};
|
|
59
|
-
const result = isAccountEmpty(account);
|
|
60
|
-
expect(result).toBe(true);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
describe("non-empty accounts", () => {
|
|
64
|
-
it("should return false when account has balance", () => {
|
|
65
|
-
const account = {
|
|
66
|
-
...baseAccount,
|
|
67
|
-
balance: new BigNumber("1000000000000000000"), // 1 VET
|
|
68
|
-
operationsCount: 0,
|
|
69
|
-
subAccounts: undefined,
|
|
70
|
-
};
|
|
71
|
-
const result = isAccountEmpty(account);
|
|
72
|
-
expect(result).toBe(false);
|
|
73
|
-
});
|
|
74
|
-
it("should return false when account has operations", () => {
|
|
75
|
-
const account = {
|
|
76
|
-
...baseAccount,
|
|
77
|
-
balance: new BigNumber("0"),
|
|
78
|
-
operationsCount: 5,
|
|
79
|
-
subAccounts: undefined,
|
|
80
|
-
};
|
|
81
|
-
const result = isAccountEmpty(account);
|
|
82
|
-
expect(result).toBe(false);
|
|
83
|
-
});
|
|
84
|
-
it("should return false when subAccount has balance", () => {
|
|
85
|
-
const mockSubAccountWithBalance = {
|
|
86
|
-
type: "TokenAccount",
|
|
87
|
-
id: "vechain:1:0x123:+vtho",
|
|
88
|
-
parentId: "vechain:1:0x123:",
|
|
89
|
-
token: {},
|
|
90
|
-
balance: new BigNumber("1000000000000000000"), // 1 VTHO
|
|
91
|
-
spendableBalance: new BigNumber("1000000000000000000"),
|
|
92
|
-
creationDate: new Date("2022-01-01"),
|
|
93
|
-
operationsCount: 0,
|
|
94
|
-
operations: [],
|
|
95
|
-
pendingOperations: [],
|
|
96
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
97
|
-
swapHistory: [],
|
|
98
|
-
};
|
|
99
|
-
const account = {
|
|
100
|
-
...baseAccount,
|
|
101
|
-
balance: new BigNumber("0"),
|
|
102
|
-
operationsCount: 0,
|
|
103
|
-
subAccounts: [mockSubAccountWithBalance],
|
|
104
|
-
};
|
|
105
|
-
const result = isAccountEmpty(account);
|
|
106
|
-
expect(result).toBe(false);
|
|
107
|
-
});
|
|
108
|
-
it("should return false when account has both balance and operations", () => {
|
|
109
|
-
const account = {
|
|
110
|
-
...baseAccount,
|
|
111
|
-
balance: new BigNumber("1000000000000000000"),
|
|
112
|
-
operationsCount: 3,
|
|
113
|
-
subAccounts: undefined,
|
|
114
|
-
};
|
|
115
|
-
const result = isAccountEmpty(account);
|
|
116
|
-
expect(result).toBe(false);
|
|
117
|
-
});
|
|
118
|
-
it("should return false when account has balance and subAccount with balance", () => {
|
|
119
|
-
const mockSubAccountWithBalance = {
|
|
120
|
-
type: "TokenAccount",
|
|
121
|
-
id: "vechain:1:0x123:+vtho",
|
|
122
|
-
parentId: "vechain:1:0x123:",
|
|
123
|
-
token: {},
|
|
124
|
-
balance: new BigNumber("500000000000000000"), // 0.5 VTHO
|
|
125
|
-
spendableBalance: new BigNumber("500000000000000000"),
|
|
126
|
-
creationDate: new Date("2022-01-01"),
|
|
127
|
-
operationsCount: 0,
|
|
128
|
-
operations: [],
|
|
129
|
-
pendingOperations: [],
|
|
130
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
131
|
-
swapHistory: [],
|
|
132
|
-
};
|
|
133
|
-
const account = {
|
|
134
|
-
...baseAccount,
|
|
135
|
-
balance: new BigNumber("2000000000000000000"), // 2 VET
|
|
136
|
-
operationsCount: 0,
|
|
137
|
-
subAccounts: [mockSubAccountWithBalance],
|
|
138
|
-
};
|
|
139
|
-
const result = isAccountEmpty(account);
|
|
140
|
-
expect(result).toBe(false);
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
describe("edge cases", () => {
|
|
144
|
-
it("should handle very small balances", () => {
|
|
145
|
-
const account = {
|
|
146
|
-
...baseAccount,
|
|
147
|
-
balance: new BigNumber("1"), // 1 wei
|
|
148
|
-
operationsCount: 0,
|
|
149
|
-
subAccounts: undefined,
|
|
150
|
-
};
|
|
151
|
-
const result = isAccountEmpty(account);
|
|
152
|
-
expect(result).toBe(false);
|
|
153
|
-
});
|
|
154
|
-
it("should handle very large balances", () => {
|
|
155
|
-
const account = {
|
|
156
|
-
...baseAccount,
|
|
157
|
-
balance: new BigNumber("1000000000000000000000000"), // 1M VET
|
|
158
|
-
operationsCount: 0,
|
|
159
|
-
subAccounts: undefined,
|
|
160
|
-
};
|
|
161
|
-
const result = isAccountEmpty(account);
|
|
162
|
-
expect(result).toBe(false);
|
|
163
|
-
});
|
|
164
|
-
it("should handle negative balance", () => {
|
|
165
|
-
const account = {
|
|
166
|
-
...baseAccount,
|
|
167
|
-
balance: new BigNumber("-1000000000000000000"), // -1 VET (edge case)
|
|
168
|
-
operationsCount: 0,
|
|
169
|
-
subAccounts: undefined,
|
|
170
|
-
};
|
|
171
|
-
const result = isAccountEmpty(account);
|
|
172
|
-
expect(result).toBe(false);
|
|
173
|
-
});
|
|
174
|
-
it("should handle multiple subAccounts where first is empty", () => {
|
|
175
|
-
const emptySubAccount = {
|
|
176
|
-
type: "TokenAccount",
|
|
177
|
-
id: "vechain:1:0x123:+empty",
|
|
178
|
-
parentId: "vechain:1:0x123:",
|
|
179
|
-
token: {},
|
|
180
|
-
balance: new BigNumber("0"),
|
|
181
|
-
spendableBalance: new BigNumber("0"),
|
|
182
|
-
creationDate: new Date("2022-01-01"),
|
|
183
|
-
operationsCount: 0,
|
|
184
|
-
operations: [],
|
|
185
|
-
pendingOperations: [],
|
|
186
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
187
|
-
swapHistory: [],
|
|
188
|
-
};
|
|
189
|
-
const nonEmptySubAccount = {
|
|
190
|
-
type: "TokenAccount",
|
|
191
|
-
id: "vechain:1:0x123:+vtho",
|
|
192
|
-
parentId: "vechain:1:0x123:",
|
|
193
|
-
token: {},
|
|
194
|
-
balance: new BigNumber("1000000000000000000"),
|
|
195
|
-
spendableBalance: new BigNumber("1000000000000000000"),
|
|
196
|
-
creationDate: new Date("2022-01-01"),
|
|
197
|
-
operationsCount: 0,
|
|
198
|
-
operations: [],
|
|
199
|
-
pendingOperations: [],
|
|
200
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
201
|
-
swapHistory: [],
|
|
202
|
-
};
|
|
203
|
-
const account = {
|
|
204
|
-
...baseAccount,
|
|
205
|
-
balance: new BigNumber("0"),
|
|
206
|
-
operationsCount: 0,
|
|
207
|
-
subAccounts: [emptySubAccount, nonEmptySubAccount],
|
|
208
|
-
};
|
|
209
|
-
const result = isAccountEmpty(account);
|
|
210
|
-
// Should check only the first subAccount according to the implementation
|
|
211
|
-
expect(result).toBe(true);
|
|
212
|
-
});
|
|
213
|
-
it("should handle account with operations but zero balance", () => {
|
|
214
|
-
const account = {
|
|
215
|
-
...baseAccount,
|
|
216
|
-
balance: new BigNumber("0"),
|
|
217
|
-
operationsCount: 1,
|
|
218
|
-
subAccounts: undefined,
|
|
219
|
-
};
|
|
220
|
-
const result = isAccountEmpty(account);
|
|
221
|
-
expect(result).toBe(false);
|
|
222
|
-
});
|
|
223
|
-
it("should handle decimal balance", () => {
|
|
224
|
-
const account = {
|
|
225
|
-
...baseAccount,
|
|
226
|
-
balance: new BigNumber("0.5"), // 0.5 VET (unlikely but possible)
|
|
227
|
-
operationsCount: 0,
|
|
228
|
-
subAccounts: undefined,
|
|
229
|
-
};
|
|
230
|
-
const result = isAccountEmpty(account);
|
|
231
|
-
expect(result).toBe(false);
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
describe("subAccount balance checking logic", () => {
|
|
235
|
-
it("should correctly identify when subAccount balance isZero() returns false", () => {
|
|
236
|
-
const mockSubAccountWithBalance = {
|
|
237
|
-
type: "TokenAccount",
|
|
238
|
-
id: "vechain:1:0x123:+vtho",
|
|
239
|
-
parentId: "vechain:1:0x123:",
|
|
240
|
-
token: {},
|
|
241
|
-
balance: new BigNumber("0.000000000000000001"), // Very small but non-zero
|
|
242
|
-
spendableBalance: new BigNumber("0.000000000000000001"),
|
|
243
|
-
creationDate: new Date("2022-01-01"),
|
|
244
|
-
operationsCount: 0,
|
|
245
|
-
operations: [],
|
|
246
|
-
pendingOperations: [],
|
|
247
|
-
balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
|
|
248
|
-
swapHistory: [],
|
|
249
|
-
};
|
|
250
|
-
const account = {
|
|
251
|
-
...baseAccount,
|
|
252
|
-
balance: new BigNumber("0"),
|
|
253
|
-
operationsCount: 0,
|
|
254
|
-
subAccounts: [mockSubAccountWithBalance],
|
|
255
|
-
};
|
|
256
|
-
const result = isAccountEmpty(account);
|
|
257
|
-
expect(result).toBe(false);
|
|
258
|
-
});
|
|
259
|
-
it("should correctly handle when subAccounts is null", () => {
|
|
260
|
-
const account = {
|
|
261
|
-
...baseAccount,
|
|
262
|
-
balance: new BigNumber("0"),
|
|
263
|
-
operationsCount: 0,
|
|
264
|
-
subAccounts: null,
|
|
265
|
-
};
|
|
266
|
-
const result = isAccountEmpty(account);
|
|
267
|
-
expect(result).toBe(true);
|
|
268
|
-
});
|
|
269
|
-
});
|
|
270
|
-
describe("BigNumber behavior", () => {
|
|
271
|
-
it("should correctly use BigNumber.isZero() method", () => {
|
|
272
|
-
const zeroBalance = new BigNumber("0");
|
|
273
|
-
const nonZeroBalance = new BigNumber("1");
|
|
274
|
-
expect(zeroBalance.isZero()).toBe(true);
|
|
275
|
-
expect(nonZeroBalance.isZero()).toBe(false);
|
|
276
|
-
const accountWithZero = {
|
|
277
|
-
...baseAccount,
|
|
278
|
-
balance: zeroBalance,
|
|
279
|
-
operationsCount: 0,
|
|
280
|
-
subAccounts: undefined,
|
|
281
|
-
};
|
|
282
|
-
const accountWithNonZero = {
|
|
283
|
-
...baseAccount,
|
|
284
|
-
balance: nonZeroBalance,
|
|
285
|
-
operationsCount: 0,
|
|
286
|
-
subAccounts: undefined,
|
|
287
|
-
};
|
|
288
|
-
expect(isAccountEmpty(accountWithZero)).toBe(true);
|
|
289
|
-
expect(isAccountEmpty(accountWithNonZero)).toBe(false);
|
|
290
|
-
});
|
|
291
|
-
});
|
|
292
|
-
});
|
|
293
|
-
//# sourceMappingURL=helpers.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.test.js","sourceRoot":"","sources":["../../src/bridge/helpers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepareTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":""}
|