@ledgerhq/coin-vechain 2.11.0-nightly.8 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +20 -68
  3. package/lib/bridge/broadcast.test.d.ts +2 -0
  4. package/lib/bridge/broadcast.test.d.ts.map +1 -0
  5. package/lib/bridge/broadcast.test.js +188 -0
  6. package/lib/bridge/broadcast.test.js.map +1 -0
  7. package/lib/bridge/buildOptimisticOperatioin.test.d.ts +2 -0
  8. package/lib/bridge/buildOptimisticOperatioin.test.d.ts.map +1 -0
  9. package/lib/bridge/buildOptimisticOperatioin.test.js +286 -0
  10. package/lib/bridge/buildOptimisticOperatioin.test.js.map +1 -0
  11. package/lib/bridge/createTransaction.test.d.ts +2 -0
  12. package/lib/bridge/createTransaction.test.d.ts.map +1 -0
  13. package/lib/bridge/createTransaction.test.js +167 -0
  14. package/lib/bridge/createTransaction.test.js.map +1 -0
  15. package/lib/bridge/estimateMaxSpendable.test.d.ts +2 -0
  16. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  17. package/lib/bridge/estimateMaxSpendable.test.js +269 -0
  18. package/lib/bridge/estimateMaxSpendable.test.js.map +1 -0
  19. package/lib/bridge/getTransactionStatus.test.d.ts +2 -0
  20. package/lib/bridge/getTransactionStatus.test.d.ts.map +1 -0
  21. package/lib/bridge/getTransactionStatus.test.js +282 -0
  22. package/lib/bridge/getTransactionStatus.test.js.map +1 -0
  23. package/lib/bridge/helpers.test.d.ts +2 -0
  24. package/lib/bridge/helpers.test.d.ts.map +1 -0
  25. package/lib/bridge/helpers.test.js +298 -0
  26. package/lib/bridge/helpers.test.js.map +1 -0
  27. package/lib/bridge/prepareTransaction.test.d.ts +2 -0
  28. package/lib/bridge/prepareTransaction.test.d.ts.map +1 -0
  29. package/lib/bridge/prepareTransaction.test.js +277 -0
  30. package/lib/bridge/prepareTransaction.test.js.map +1 -0
  31. package/lib/bridge/signOperation.test.d.ts +2 -0
  32. package/lib/bridge/signOperation.test.d.ts.map +1 -0
  33. package/lib/bridge/signOperation.test.js +295 -0
  34. package/lib/bridge/signOperation.test.js.map +1 -0
  35. package/lib/bridge/synchronisation.test.d.ts +2 -0
  36. package/lib/bridge/synchronisation.test.d.ts.map +1 -0
  37. package/lib/bridge/synchronisation.test.js +201 -0
  38. package/lib/bridge/synchronisation.test.js.map +1 -0
  39. package/lib/bridge/transaction.test.d.ts +2 -0
  40. package/lib/bridge/transaction.test.d.ts.map +1 -0
  41. package/lib/bridge/transaction.test.js +353 -0
  42. package/lib/bridge/transaction.test.js.map +1 -0
  43. package/lib/common-logic/calculateClauses.test.d.ts +2 -0
  44. package/lib/common-logic/calculateClauses.test.d.ts.map +1 -0
  45. package/lib/common-logic/calculateClauses.test.js +156 -0
  46. package/lib/common-logic/calculateClauses.test.js.map +1 -0
  47. package/lib/common-logic/calculateGasFees.test.d.ts +2 -0
  48. package/lib/common-logic/calculateGasFees.test.d.ts.map +1 -0
  49. package/lib/common-logic/calculateGasFees.test.js +279 -0
  50. package/lib/common-logic/calculateGasFees.test.js.map +1 -0
  51. package/lib/common-logic/calculateTransactionInfo.test.d.ts +2 -0
  52. package/lib/common-logic/calculateTransactionInfo.test.d.ts.map +1 -0
  53. package/lib/common-logic/calculateTransactionInfo.test.js +314 -0
  54. package/lib/common-logic/calculateTransactionInfo.test.js.map +1 -0
  55. package/lib/common-logic/estimateGas.test.d.ts +2 -0
  56. package/lib/common-logic/estimateGas.test.d.ts.map +1 -0
  57. package/lib/common-logic/estimateGas.test.js +129 -0
  58. package/lib/common-logic/estimateGas.test.js.map +1 -0
  59. package/lib/common-logic/fixPrefixCase.test.d.ts +2 -0
  60. package/lib/common-logic/fixPrefixCase.test.d.ts.map +1 -0
  61. package/lib/common-logic/fixPrefixCase.test.js +46 -0
  62. package/lib/common-logic/fixPrefixCase.test.js.map +1 -0
  63. package/lib/common-logic/generateNonce.test.d.ts +2 -0
  64. package/lib/common-logic/generateNonce.test.d.ts.map +1 -0
  65. package/lib/common-logic/generateNonce.test.js +59 -0
  66. package/lib/common-logic/generateNonce.test.js.map +1 -0
  67. package/lib/common-logic/getThorClient.test.d.ts +2 -0
  68. package/lib/common-logic/getThorClient.test.d.ts.map +1 -0
  69. package/lib/common-logic/getThorClient.test.js +53 -0
  70. package/lib/common-logic/getThorClient.test.js.map +1 -0
  71. package/lib/common-logic/mapTransfersToOperations.test.d.ts +2 -0
  72. package/lib/common-logic/mapTransfersToOperations.test.d.ts.map +1 -0
  73. package/lib/common-logic/mapTransfersToOperations.test.js +274 -0
  74. package/lib/common-logic/mapTransfersToOperations.test.js.map +1 -0
  75. package/lib/common-logic/padAddress.test.d.ts +2 -0
  76. package/lib/common-logic/padAddress.test.d.ts.map +1 -0
  77. package/lib/common-logic/padAddress.test.js +59 -0
  78. package/lib/common-logic/padAddress.test.js.map +1 -0
  79. package/lib/common-logic/parseAddress.test.d.ts +2 -0
  80. package/lib/common-logic/parseAddress.test.d.ts.map +1 -0
  81. package/lib/common-logic/parseAddress.test.js +97 -0
  82. package/lib/common-logic/parseAddress.test.js.map +1 -0
  83. package/lib/signer/getAddress.test.d.ts +2 -0
  84. package/lib/signer/getAddress.test.d.ts.map +1 -0
  85. package/lib/signer/getAddress.test.js +357 -0
  86. package/lib/signer/getAddress.test.js.map +1 -0
  87. package/lib/signer/signMessage.test.d.ts +2 -0
  88. package/lib/signer/signMessage.test.d.ts.map +1 -0
  89. package/lib/signer/signMessage.test.js +242 -0
  90. package/lib/signer/signMessage.test.js.map +1 -0
  91. package/lib-es/bridge/broadcast.test.d.ts +2 -0
  92. package/lib-es/bridge/broadcast.test.d.ts.map +1 -0
  93. package/lib-es/bridge/broadcast.test.js +183 -0
  94. package/lib-es/bridge/broadcast.test.js.map +1 -0
  95. package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts +2 -0
  96. package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts.map +1 -0
  97. package/lib-es/bridge/buildOptimisticOperatioin.test.js +281 -0
  98. package/lib-es/bridge/buildOptimisticOperatioin.test.js.map +1 -0
  99. package/lib-es/bridge/createTransaction.test.d.ts +2 -0
  100. package/lib-es/bridge/createTransaction.test.d.ts.map +1 -0
  101. package/lib-es/bridge/createTransaction.test.js +162 -0
  102. package/lib-es/bridge/createTransaction.test.js.map +1 -0
  103. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +2 -0
  104. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  105. package/lib-es/bridge/estimateMaxSpendable.test.js +264 -0
  106. package/lib-es/bridge/estimateMaxSpendable.test.js.map +1 -0
  107. package/lib-es/bridge/getTransactionStatus.test.d.ts +2 -0
  108. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +1 -0
  109. package/lib-es/bridge/getTransactionStatus.test.js +277 -0
  110. package/lib-es/bridge/getTransactionStatus.test.js.map +1 -0
  111. package/lib-es/bridge/helpers.test.d.ts +2 -0
  112. package/lib-es/bridge/helpers.test.d.ts.map +1 -0
  113. package/lib-es/bridge/helpers.test.js +293 -0
  114. package/lib-es/bridge/helpers.test.js.map +1 -0
  115. package/lib-es/bridge/prepareTransaction.test.d.ts +2 -0
  116. package/lib-es/bridge/prepareTransaction.test.d.ts.map +1 -0
  117. package/lib-es/bridge/prepareTransaction.test.js +272 -0
  118. package/lib-es/bridge/prepareTransaction.test.js.map +1 -0
  119. package/lib-es/bridge/signOperation.test.d.ts +2 -0
  120. package/lib-es/bridge/signOperation.test.d.ts.map +1 -0
  121. package/lib-es/bridge/signOperation.test.js +290 -0
  122. package/lib-es/bridge/signOperation.test.js.map +1 -0
  123. package/lib-es/bridge/synchronisation.test.d.ts +2 -0
  124. package/lib-es/bridge/synchronisation.test.d.ts.map +1 -0
  125. package/lib-es/bridge/synchronisation.test.js +196 -0
  126. package/lib-es/bridge/synchronisation.test.js.map +1 -0
  127. package/lib-es/bridge/transaction.test.d.ts +2 -0
  128. package/lib-es/bridge/transaction.test.d.ts.map +1 -0
  129. package/lib-es/bridge/transaction.test.js +347 -0
  130. package/lib-es/bridge/transaction.test.js.map +1 -0
  131. package/lib-es/common-logic/calculateClauses.test.d.ts +2 -0
  132. package/lib-es/common-logic/calculateClauses.test.d.ts.map +1 -0
  133. package/lib-es/common-logic/calculateClauses.test.js +151 -0
  134. package/lib-es/common-logic/calculateClauses.test.js.map +1 -0
  135. package/lib-es/common-logic/calculateGasFees.test.d.ts +2 -0
  136. package/lib-es/common-logic/calculateGasFees.test.d.ts.map +1 -0
  137. package/lib-es/common-logic/calculateGasFees.test.js +274 -0
  138. package/lib-es/common-logic/calculateGasFees.test.js.map +1 -0
  139. package/lib-es/common-logic/calculateTransactionInfo.test.d.ts +2 -0
  140. package/lib-es/common-logic/calculateTransactionInfo.test.d.ts.map +1 -0
  141. package/lib-es/common-logic/calculateTransactionInfo.test.js +309 -0
  142. package/lib-es/common-logic/calculateTransactionInfo.test.js.map +1 -0
  143. package/lib-es/common-logic/estimateGas.test.d.ts +2 -0
  144. package/lib-es/common-logic/estimateGas.test.d.ts.map +1 -0
  145. package/lib-es/common-logic/estimateGas.test.js +127 -0
  146. package/lib-es/common-logic/estimateGas.test.js.map +1 -0
  147. package/lib-es/common-logic/fixPrefixCase.test.d.ts +2 -0
  148. package/lib-es/common-logic/fixPrefixCase.test.d.ts.map +1 -0
  149. package/lib-es/common-logic/fixPrefixCase.test.js +44 -0
  150. package/lib-es/common-logic/fixPrefixCase.test.js.map +1 -0
  151. package/lib-es/common-logic/generateNonce.test.d.ts +2 -0
  152. package/lib-es/common-logic/generateNonce.test.d.ts.map +1 -0
  153. package/lib-es/common-logic/generateNonce.test.js +57 -0
  154. package/lib-es/common-logic/generateNonce.test.js.map +1 -0
  155. package/lib-es/common-logic/getThorClient.test.d.ts +2 -0
  156. package/lib-es/common-logic/getThorClient.test.d.ts.map +1 -0
  157. package/lib-es/common-logic/getThorClient.test.js +51 -0
  158. package/lib-es/common-logic/getThorClient.test.js.map +1 -0
  159. package/lib-es/common-logic/mapTransfersToOperations.test.d.ts +2 -0
  160. package/lib-es/common-logic/mapTransfersToOperations.test.d.ts.map +1 -0
  161. package/lib-es/common-logic/mapTransfersToOperations.test.js +269 -0
  162. package/lib-es/common-logic/mapTransfersToOperations.test.js.map +1 -0
  163. package/lib-es/common-logic/padAddress.test.d.ts +2 -0
  164. package/lib-es/common-logic/padAddress.test.d.ts.map +1 -0
  165. package/lib-es/common-logic/padAddress.test.js +57 -0
  166. package/lib-es/common-logic/padAddress.test.js.map +1 -0
  167. package/lib-es/common-logic/parseAddress.test.d.ts +2 -0
  168. package/lib-es/common-logic/parseAddress.test.d.ts.map +1 -0
  169. package/lib-es/common-logic/parseAddress.test.js +95 -0
  170. package/lib-es/common-logic/parseAddress.test.js.map +1 -0
  171. package/lib-es/signer/getAddress.test.d.ts +2 -0
  172. package/lib-es/signer/getAddress.test.d.ts.map +1 -0
  173. package/lib-es/signer/getAddress.test.js +352 -0
  174. package/lib-es/signer/getAddress.test.js.map +1 -0
  175. package/lib-es/signer/signMessage.test.d.ts +2 -0
  176. package/lib-es/signer/signMessage.test.d.ts.map +1 -0
  177. package/lib-es/signer/signMessage.test.js +240 -0
  178. package/lib-es/signer/signMessage.test.js.map +1 -0
  179. package/package.json +9 -9
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildOptimisticOperatioin.test.js","sourceRoot":"","sources":["../../src/bridge/buildOptimisticOperatioin.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=createTransaction.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,167 @@
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 createTransaction_1 = require("./createTransaction");
7
+ const common_logic_1 = require("../common-logic");
8
+ const types_1 = require("../types");
9
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
+ // Mock dependencies
11
+ jest.mock("../common-logic");
12
+ jest.mock("../types", () => ({
13
+ ...jest.requireActual("../types"),
14
+ MAINNET_CHAIN_TAG: 74,
15
+ }));
16
+ const mockedGenerateNonce = jest.mocked(common_logic_1.generateNonce);
17
+ describe("createTransaction", () => {
18
+ const mockAccount = {
19
+ type: "Account",
20
+ id: "vechain:1:0x123:",
21
+ seedIdentifier: "seed123",
22
+ derivationMode: "",
23
+ index: 0,
24
+ freshAddress: "0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4",
25
+ freshAddressPath: "44'/818'/0'/0/0",
26
+ used: true,
27
+ balance: new bignumber_js_1.default("5000000000000000000"),
28
+ spendableBalance: new bignumber_js_1.default("5000000000000000000"),
29
+ creationDate: new Date("2022-01-01"),
30
+ blockHeight: 12345,
31
+ currency: {},
32
+ operationsCount: 10,
33
+ operations: [],
34
+ pendingOperations: [],
35
+ lastSyncDate: new Date("2022-01-01"),
36
+ balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
37
+ swapHistory: [],
38
+ subAccounts: [],
39
+ };
40
+ beforeEach(() => {
41
+ jest.clearAllMocks();
42
+ mockedGenerateNonce.mockReturnValue("0x1234567890abcdef");
43
+ });
44
+ it("should create a transaction with correct default values", () => {
45
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
46
+ expect(result).toEqual({
47
+ family: "vechain",
48
+ body: {
49
+ chainTag: 74,
50
+ blockRef: "0x0000000000000000",
51
+ expiration: 18,
52
+ clauses: [],
53
+ maxFeePerGas: 0,
54
+ maxPriorityFeePerGas: 0,
55
+ gas: "0",
56
+ dependsOn: null,
57
+ nonce: "0x1234567890abcdef",
58
+ },
59
+ amount: new bignumber_js_1.default(0),
60
+ estimatedFees: "0",
61
+ recipient: "",
62
+ useAllAmount: false,
63
+ });
64
+ });
65
+ it("should use MAINNET_CHAIN_TAG for chainTag", () => {
66
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
67
+ expect(result.body.chainTag).toBe(types_1.MAINNET_CHAIN_TAG);
68
+ expect(result.body.chainTag).toBe(74);
69
+ });
70
+ it("should generate a unique nonce for each transaction", () => {
71
+ mockedGenerateNonce
72
+ .mockReturnValueOnce("0x1111111111111111")
73
+ .mockReturnValueOnce("0x2222222222222222")
74
+ .mockReturnValueOnce("0x3333333333333333");
75
+ const tx1 = (0, createTransaction_1.createTransaction)(mockAccount);
76
+ const tx2 = (0, createTransaction_1.createTransaction)(mockAccount);
77
+ const tx3 = (0, createTransaction_1.createTransaction)(mockAccount);
78
+ expect(tx1.body.nonce).toBe("0x1111111111111111");
79
+ expect(tx2.body.nonce).toBe("0x2222222222222222");
80
+ expect(tx3.body.nonce).toBe("0x3333333333333333");
81
+ expect(mockedGenerateNonce).toHaveBeenCalledTimes(3);
82
+ });
83
+ it("should create transaction with empty clauses array", () => {
84
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
85
+ expect(result.body.clauses).toEqual([]);
86
+ expect(Array.isArray(result.body.clauses)).toBe(true);
87
+ });
88
+ it("should set default expiration to 18", () => {
89
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
90
+ expect(result.body.expiration).toBe(18);
91
+ });
92
+ it("should set default blockRef to zero", () => {
93
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
94
+ expect(result.body.blockRef).toBe("0x0000000000000000");
95
+ });
96
+ it("should set default gas values to zero", () => {
97
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
98
+ expect(result.body.maxFeePerGas).toBe(0);
99
+ expect(result.body.maxPriorityFeePerGas).toBe(0);
100
+ expect(result.body.gas).toBe("0");
101
+ });
102
+ it("should set dependsOn to null", () => {
103
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
104
+ expect(result.body.dependsOn).toBe(null);
105
+ });
106
+ it("should create BigNumber amount with zero value", () => {
107
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
108
+ expect(result.amount).toBeInstanceOf(bignumber_js_1.default);
109
+ expect(result.amount.isZero()).toBe(true);
110
+ expect(result.amount.toString()).toBe("0");
111
+ });
112
+ it("should set default recipient to empty string", () => {
113
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
114
+ expect(result.recipient).toBe("");
115
+ });
116
+ it("should set useAllAmount to false", () => {
117
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
118
+ expect(result.useAllAmount).toBe(false);
119
+ });
120
+ it("should set estimatedFees to zero string", () => {
121
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
122
+ expect(result.estimatedFees).toBe("0");
123
+ expect(typeof result.estimatedFees).toBe("string");
124
+ });
125
+ it("should set family to vechain", () => {
126
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
127
+ expect(result.family).toBe("vechain");
128
+ });
129
+ it("should call generateNonce exactly once", () => {
130
+ (0, createTransaction_1.createTransaction)(mockAccount);
131
+ expect(mockedGenerateNonce).toHaveBeenCalledTimes(1);
132
+ expect(mockedGenerateNonce).toHaveBeenCalledWith();
133
+ });
134
+ it("should handle different nonce formats from generateNonce", () => {
135
+ const testNonces = [
136
+ "0x0000000000000000",
137
+ "0xffffffffffffffff",
138
+ "0x123456789abcdef0",
139
+ "0xa1b2c3d4e5f67890",
140
+ ];
141
+ testNonces.forEach(nonce => {
142
+ mockedGenerateNonce.mockReturnValueOnce(nonce);
143
+ const result = (0, createTransaction_1.createTransaction)(mockAccount);
144
+ expect(result.body.nonce).toBe(nonce);
145
+ });
146
+ });
147
+ it("should create independent transaction objects", () => {
148
+ mockedGenerateNonce
149
+ .mockReturnValueOnce("0x1111111111111111")
150
+ .mockReturnValueOnce("0x2222222222222222");
151
+ const tx1 = (0, createTransaction_1.createTransaction)(mockAccount);
152
+ const tx2 = (0, createTransaction_1.createTransaction)(mockAccount);
153
+ // Modify one transaction
154
+ tx1.amount = new bignumber_js_1.default(100);
155
+ tx1.recipient = "0x123";
156
+ tx1.body.clauses.push({
157
+ to: "0x123",
158
+ value: "100",
159
+ data: "0x",
160
+ });
161
+ // Verify the other transaction is unchanged
162
+ expect(tx2.amount.isZero()).toBe(true);
163
+ expect(tx2.recipient).toBe("");
164
+ expect(tx2.body.clauses).toEqual([]);
165
+ });
166
+ });
167
+ //# sourceMappingURL=createTransaction.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/createTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=estimateMaxSpendable.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateMaxSpendable.test.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,269 @@
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 estimateMaxSpendable_1 = require("./estimateMaxSpendable");
8
+ const common_logic_1 = require("../common-logic");
9
+ // Mock dependencies
10
+ jest.mock("../common-logic");
11
+ const mockedCalculateGasFees = jest.mocked(common_logic_1.calculateGasFees);
12
+ describe("estimateMaxSpendable", () => {
13
+ const mockAccount = {
14
+ type: "Account",
15
+ id: "vechain:1:0x123:",
16
+ seedIdentifier: "seed123",
17
+ derivationMode: "",
18
+ index: 0,
19
+ freshAddress: "0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4",
20
+ freshAddressPath: "44'/818'/0'/0/0",
21
+ used: true,
22
+ balance: new bignumber_js_1.default("5000000000000000000"), // 5 VET
23
+ spendableBalance: new bignumber_js_1.default("5000000000000000000"),
24
+ creationDate: new Date("2022-01-01"),
25
+ blockHeight: 12345,
26
+ currency: {},
27
+ operationsCount: 10,
28
+ operations: [],
29
+ pendingOperations: [],
30
+ lastSyncDate: new Date("2022-01-01"),
31
+ balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
32
+ swapHistory: [],
33
+ subAccounts: [],
34
+ };
35
+ const mockTokenAccount = {
36
+ type: "TokenAccount",
37
+ id: "vechain:1:0x123:+vtho",
38
+ parentId: "vechain:1:0x123:",
39
+ token: {},
40
+ balance: new bignumber_js_1.default("1000000000000000000000"), // 1000 VTHO
41
+ spendableBalance: new bignumber_js_1.default("1000000000000000000000"),
42
+ creationDate: new Date("2022-01-01"),
43
+ operationsCount: 5,
44
+ operations: [],
45
+ pendingOperations: [],
46
+ balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
47
+ swapHistory: [],
48
+ };
49
+ const mockTransaction = {
50
+ family: "vechain",
51
+ recipient: "0x456789012345678901234567890123456789abcd",
52
+ amount: new bignumber_js_1.default("1000000000000000000"),
53
+ estimatedFees: "210000000000000000",
54
+ body: {
55
+ chainTag: 74,
56
+ blockRef: "0x00000000000b2bce",
57
+ expiration: 18,
58
+ clauses: [],
59
+ maxFeePerGas: 10000000000000,
60
+ maxPriorityFeePerGas: 1000000000000,
61
+ gas: 21000,
62
+ dependsOn: null,
63
+ nonce: "0x12345678",
64
+ },
65
+ };
66
+ beforeEach(() => {
67
+ jest.clearAllMocks();
68
+ mockedCalculateGasFees.mockResolvedValue({
69
+ estimatedGas: 21000,
70
+ estimatedGasFees: new bignumber_js_1.default("210000000000000000"), // 0.21 VET
71
+ maxFeePerGas: 10000000000000,
72
+ maxPriorityFeePerGas: 1000000000000,
73
+ });
74
+ });
75
+ describe("Account type handling", () => {
76
+ it("should return account balance for Account type", async () => {
77
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
78
+ account: mockAccount,
79
+ transaction: mockTransaction,
80
+ });
81
+ expect(result).toEqual(new bignumber_js_1.default("5000000000000000000"));
82
+ expect(mockedCalculateGasFees).not.toHaveBeenCalled();
83
+ });
84
+ it("should return account balance when transaction is missing", async () => {
85
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
86
+ account: mockTokenAccount,
87
+ transaction: undefined,
88
+ });
89
+ expect(result).toEqual(new bignumber_js_1.default("1000000000000000000000"));
90
+ expect(mockedCalculateGasFees).not.toHaveBeenCalled();
91
+ });
92
+ it("should return account balance when transaction is null", async () => {
93
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
94
+ account: mockTokenAccount,
95
+ transaction: null,
96
+ });
97
+ expect(result).toEqual(new bignumber_js_1.default("1000000000000000000000"));
98
+ expect(mockedCalculateGasFees).not.toHaveBeenCalled();
99
+ });
100
+ });
101
+ describe("Token account handling", () => {
102
+ it("should calculate max spendable for token account with sufficient balance", async () => {
103
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
104
+ account: mockTokenAccount,
105
+ transaction: mockTransaction,
106
+ });
107
+ expect(result).toEqual(new bignumber_js_1.default("999790000000000000000")); // 1000 - 0.21 VTHO
108
+ expect(mockedCalculateGasFees).toHaveBeenCalledWith(mockTransaction, true);
109
+ });
110
+ it("should return zero when gas fees exceed token balance", async () => {
111
+ mockedCalculateGasFees.mockResolvedValue({
112
+ estimatedGas: 21000,
113
+ estimatedGasFees: new bignumber_js_1.default("2000000000000000000000"), // 2000 VET (more than balance)
114
+ maxFeePerGas: 10000000000000,
115
+ maxPriorityFeePerGas: 1000000000000,
116
+ });
117
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
118
+ account: mockTokenAccount,
119
+ transaction: mockTransaction,
120
+ });
121
+ expect(result).toEqual(new bignumber_js_1.default("0"));
122
+ });
123
+ it("should return zero when gas fees equal token balance", async () => {
124
+ mockedCalculateGasFees.mockResolvedValue({
125
+ estimatedGas: 21000,
126
+ estimatedGasFees: new bignumber_js_1.default("1000000000000000000000"), // Exactly 1000 VET
127
+ maxFeePerGas: 10000000000000,
128
+ maxPriorityFeePerGas: 1000000000000,
129
+ });
130
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
131
+ account: mockTokenAccount,
132
+ transaction: mockTransaction,
133
+ });
134
+ expect(result).toEqual(new bignumber_js_1.default("0"));
135
+ });
136
+ it("should handle very small gas fees", async () => {
137
+ mockedCalculateGasFees.mockResolvedValue({
138
+ estimatedGas: 21000,
139
+ estimatedGasFees: new bignumber_js_1.default("1"), // 1 wei
140
+ maxFeePerGas: 10000000000000,
141
+ maxPriorityFeePerGas: 1000000000000,
142
+ });
143
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
144
+ account: mockTokenAccount,
145
+ transaction: mockTransaction,
146
+ });
147
+ expect(result).toEqual(new bignumber_js_1.default("999999999999999999999")); // 1000 VTHO - 1 wei
148
+ });
149
+ });
150
+ describe("calculateGasFees integration", () => {
151
+ it("should call calculateGasFees with correct parameters for token account", async () => {
152
+ await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
153
+ account: mockTokenAccount,
154
+ transaction: mockTransaction,
155
+ });
156
+ expect(mockedCalculateGasFees).toHaveBeenCalledWith(mockTransaction, true);
157
+ expect(mockedCalculateGasFees).toHaveBeenCalledTimes(1);
158
+ });
159
+ it("should handle calculateGasFees errors", async () => {
160
+ const error = new Error("Gas calculation failed");
161
+ mockedCalculateGasFees.mockRejectedValue(error);
162
+ await expect((0, estimateMaxSpendable_1.estimateMaxSpendable)({
163
+ account: mockTokenAccount,
164
+ transaction: mockTransaction,
165
+ })).rejects.toThrow("Gas calculation failed");
166
+ });
167
+ });
168
+ describe("edge cases", () => {
169
+ it("should handle zero balance token account", async () => {
170
+ const zeroBalanceTokenAccount = {
171
+ ...mockTokenAccount,
172
+ balance: new bignumber_js_1.default("0"),
173
+ spendableBalance: new bignumber_js_1.default("0"),
174
+ };
175
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
176
+ account: zeroBalanceTokenAccount,
177
+ transaction: mockTransaction,
178
+ });
179
+ expect(result).toEqual(new bignumber_js_1.default("0"));
180
+ });
181
+ it("should handle zero balance account", async () => {
182
+ const zeroBalanceAccount = {
183
+ ...mockAccount,
184
+ balance: new bignumber_js_1.default("0"),
185
+ spendableBalance: new bignumber_js_1.default("0"),
186
+ };
187
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
188
+ account: zeroBalanceAccount,
189
+ transaction: mockTransaction,
190
+ });
191
+ expect(result).toEqual(new bignumber_js_1.default("0"));
192
+ });
193
+ it("should handle very large balances", async () => {
194
+ const largeBalanceTokenAccount = {
195
+ ...mockTokenAccount,
196
+ balance: new bignumber_js_1.default("1000000000000000000000000"), // 1M tokens
197
+ };
198
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
199
+ account: largeBalanceTokenAccount,
200
+ transaction: mockTransaction,
201
+ });
202
+ expect(result).toEqual(new bignumber_js_1.default("999999790000000000000000")); // 1M - 0.21
203
+ });
204
+ it("should handle different transaction types", async () => {
205
+ const tokenTransaction = {
206
+ ...mockTransaction,
207
+ subAccountId: "vechain:1:0x123:+vtho",
208
+ };
209
+ await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
210
+ account: mockTokenAccount,
211
+ transaction: tokenTransaction,
212
+ });
213
+ expect(mockedCalculateGasFees).toHaveBeenCalledWith(tokenTransaction, true);
214
+ });
215
+ });
216
+ describe("BigNumber operations", () => {
217
+ it("should handle precise BigNumber calculations", async () => {
218
+ const preciseBalanceTokenAccount = {
219
+ ...mockTokenAccount,
220
+ balance: new bignumber_js_1.default("1000000000000000000001"), // 1000.000000000000000001 tokens
221
+ };
222
+ mockedCalculateGasFees.mockResolvedValue({
223
+ estimatedGas: 21000,
224
+ estimatedGasFees: new bignumber_js_1.default("1"), // 1 wei
225
+ maxFeePerGas: 10000000000000,
226
+ maxPriorityFeePerGas: 1000000000000,
227
+ });
228
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
229
+ account: preciseBalanceTokenAccount,
230
+ transaction: mockTransaction,
231
+ });
232
+ expect(result).toEqual(new bignumber_js_1.default("1000000000000000000000")); // Exactly 1000 tokens
233
+ });
234
+ it("should handle decimal precision in calculations", async () => {
235
+ mockedCalculateGasFees.mockResolvedValue({
236
+ estimatedGas: 21000,
237
+ estimatedGasFees: new bignumber_js_1.default("123456789012345"), // Non-round number
238
+ maxFeePerGas: 10000000000000,
239
+ maxPriorityFeePerGas: 1000000000000,
240
+ });
241
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
242
+ account: mockTokenAccount,
243
+ transaction: mockTransaction,
244
+ });
245
+ expect(result).toEqual(new bignumber_js_1.default("999999876543210987655")); // Precise subtraction
246
+ });
247
+ });
248
+ describe("account type validation", () => {
249
+ it("should correctly identify Account type", async () => {
250
+ const accountTypeAccount = { ...mockAccount, type: "Account" };
251
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
252
+ account: accountTypeAccount,
253
+ transaction: mockTransaction,
254
+ });
255
+ expect(result).toEqual(accountTypeAccount.balance);
256
+ expect(mockedCalculateGasFees).not.toHaveBeenCalled();
257
+ });
258
+ it("should correctly identify TokenAccount type", async () => {
259
+ const tokenTypeAccount = { ...mockTokenAccount, type: "TokenAccount" };
260
+ const result = await (0, estimateMaxSpendable_1.estimateMaxSpendable)({
261
+ account: tokenTypeAccount,
262
+ transaction: mockTransaction,
263
+ });
264
+ expect(mockedCalculateGasFees).toHaveBeenCalled();
265
+ expect(result).toEqual(new bignumber_js_1.default("999790000000000000000"));
266
+ });
267
+ });
268
+ });
269
+ //# sourceMappingURL=estimateMaxSpendable.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"estimateMaxSpendable.test.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getTransactionStatus.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":""}