@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.
Files changed (178) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +6 -6
  3. package/lib/bridge/broadcast.test.d.ts +0 -2
  4. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  5. package/lib/bridge/broadcast.test.js +0 -188
  6. package/lib/bridge/broadcast.test.js.map +0 -1
  7. package/lib/bridge/buildOptimisticOperatioin.test.d.ts +0 -2
  8. package/lib/bridge/buildOptimisticOperatioin.test.d.ts.map +0 -1
  9. package/lib/bridge/buildOptimisticOperatioin.test.js +0 -286
  10. package/lib/bridge/buildOptimisticOperatioin.test.js.map +0 -1
  11. package/lib/bridge/createTransaction.test.d.ts +0 -2
  12. package/lib/bridge/createTransaction.test.d.ts.map +0 -1
  13. package/lib/bridge/createTransaction.test.js +0 -167
  14. package/lib/bridge/createTransaction.test.js.map +0 -1
  15. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  16. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  17. package/lib/bridge/estimateMaxSpendable.test.js +0 -269
  18. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  19. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  20. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  21. package/lib/bridge/getTransactionStatus.test.js +0 -282
  22. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  23. package/lib/bridge/helpers.test.d.ts +0 -2
  24. package/lib/bridge/helpers.test.d.ts.map +0 -1
  25. package/lib/bridge/helpers.test.js +0 -298
  26. package/lib/bridge/helpers.test.js.map +0 -1
  27. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  28. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  29. package/lib/bridge/prepareTransaction.test.js +0 -277
  30. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  31. package/lib/bridge/signOperation.test.d.ts +0 -2
  32. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  33. package/lib/bridge/signOperation.test.js +0 -295
  34. package/lib/bridge/signOperation.test.js.map +0 -1
  35. package/lib/bridge/synchronisation.test.d.ts +0 -2
  36. package/lib/bridge/synchronisation.test.d.ts.map +0 -1
  37. package/lib/bridge/synchronisation.test.js +0 -201
  38. package/lib/bridge/synchronisation.test.js.map +0 -1
  39. package/lib/bridge/transaction.test.d.ts +0 -2
  40. package/lib/bridge/transaction.test.d.ts.map +0 -1
  41. package/lib/bridge/transaction.test.js +0 -353
  42. package/lib/bridge/transaction.test.js.map +0 -1
  43. package/lib/common-logic/calculateClauses.test.d.ts +0 -2
  44. package/lib/common-logic/calculateClauses.test.d.ts.map +0 -1
  45. package/lib/common-logic/calculateClauses.test.js +0 -156
  46. package/lib/common-logic/calculateClauses.test.js.map +0 -1
  47. package/lib/common-logic/calculateGasFees.test.d.ts +0 -2
  48. package/lib/common-logic/calculateGasFees.test.d.ts.map +0 -1
  49. package/lib/common-logic/calculateGasFees.test.js +0 -279
  50. package/lib/common-logic/calculateGasFees.test.js.map +0 -1
  51. package/lib/common-logic/calculateTransactionInfo.test.d.ts +0 -2
  52. package/lib/common-logic/calculateTransactionInfo.test.d.ts.map +0 -1
  53. package/lib/common-logic/calculateTransactionInfo.test.js +0 -314
  54. package/lib/common-logic/calculateTransactionInfo.test.js.map +0 -1
  55. package/lib/common-logic/estimateGas.test.d.ts +0 -2
  56. package/lib/common-logic/estimateGas.test.d.ts.map +0 -1
  57. package/lib/common-logic/estimateGas.test.js +0 -129
  58. package/lib/common-logic/estimateGas.test.js.map +0 -1
  59. package/lib/common-logic/fixPrefixCase.test.d.ts +0 -2
  60. package/lib/common-logic/fixPrefixCase.test.d.ts.map +0 -1
  61. package/lib/common-logic/fixPrefixCase.test.js +0 -46
  62. package/lib/common-logic/fixPrefixCase.test.js.map +0 -1
  63. package/lib/common-logic/generateNonce.test.d.ts +0 -2
  64. package/lib/common-logic/generateNonce.test.d.ts.map +0 -1
  65. package/lib/common-logic/generateNonce.test.js +0 -59
  66. package/lib/common-logic/generateNonce.test.js.map +0 -1
  67. package/lib/common-logic/getThorClient.test.d.ts +0 -2
  68. package/lib/common-logic/getThorClient.test.d.ts.map +0 -1
  69. package/lib/common-logic/getThorClient.test.js +0 -53
  70. package/lib/common-logic/getThorClient.test.js.map +0 -1
  71. package/lib/common-logic/mapTransfersToOperations.test.d.ts +0 -2
  72. package/lib/common-logic/mapTransfersToOperations.test.d.ts.map +0 -1
  73. package/lib/common-logic/mapTransfersToOperations.test.js +0 -274
  74. package/lib/common-logic/mapTransfersToOperations.test.js.map +0 -1
  75. package/lib/common-logic/padAddress.test.d.ts +0 -2
  76. package/lib/common-logic/padAddress.test.d.ts.map +0 -1
  77. package/lib/common-logic/padAddress.test.js +0 -59
  78. package/lib/common-logic/padAddress.test.js.map +0 -1
  79. package/lib/common-logic/parseAddress.test.d.ts +0 -2
  80. package/lib/common-logic/parseAddress.test.d.ts.map +0 -1
  81. package/lib/common-logic/parseAddress.test.js +0 -97
  82. package/lib/common-logic/parseAddress.test.js.map +0 -1
  83. package/lib/signer/getAddress.test.d.ts +0 -2
  84. package/lib/signer/getAddress.test.d.ts.map +0 -1
  85. package/lib/signer/getAddress.test.js +0 -357
  86. package/lib/signer/getAddress.test.js.map +0 -1
  87. package/lib/signer/signMessage.test.d.ts +0 -2
  88. package/lib/signer/signMessage.test.d.ts.map +0 -1
  89. package/lib/signer/signMessage.test.js +0 -242
  90. package/lib/signer/signMessage.test.js.map +0 -1
  91. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  92. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  93. package/lib-es/bridge/broadcast.test.js +0 -183
  94. package/lib-es/bridge/broadcast.test.js.map +0 -1
  95. package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts +0 -2
  96. package/lib-es/bridge/buildOptimisticOperatioin.test.d.ts.map +0 -1
  97. package/lib-es/bridge/buildOptimisticOperatioin.test.js +0 -281
  98. package/lib-es/bridge/buildOptimisticOperatioin.test.js.map +0 -1
  99. package/lib-es/bridge/createTransaction.test.d.ts +0 -2
  100. package/lib-es/bridge/createTransaction.test.d.ts.map +0 -1
  101. package/lib-es/bridge/createTransaction.test.js +0 -162
  102. package/lib-es/bridge/createTransaction.test.js.map +0 -1
  103. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  104. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  105. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -264
  106. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  107. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  108. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  109. package/lib-es/bridge/getTransactionStatus.test.js +0 -277
  110. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  111. package/lib-es/bridge/helpers.test.d.ts +0 -2
  112. package/lib-es/bridge/helpers.test.d.ts.map +0 -1
  113. package/lib-es/bridge/helpers.test.js +0 -293
  114. package/lib-es/bridge/helpers.test.js.map +0 -1
  115. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  116. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  117. package/lib-es/bridge/prepareTransaction.test.js +0 -272
  118. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  119. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  120. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  121. package/lib-es/bridge/signOperation.test.js +0 -290
  122. package/lib-es/bridge/signOperation.test.js.map +0 -1
  123. package/lib-es/bridge/synchronisation.test.d.ts +0 -2
  124. package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
  125. package/lib-es/bridge/synchronisation.test.js +0 -196
  126. package/lib-es/bridge/synchronisation.test.js.map +0 -1
  127. package/lib-es/bridge/transaction.test.d.ts +0 -2
  128. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  129. package/lib-es/bridge/transaction.test.js +0 -347
  130. package/lib-es/bridge/transaction.test.js.map +0 -1
  131. package/lib-es/common-logic/calculateClauses.test.d.ts +0 -2
  132. package/lib-es/common-logic/calculateClauses.test.d.ts.map +0 -1
  133. package/lib-es/common-logic/calculateClauses.test.js +0 -151
  134. package/lib-es/common-logic/calculateClauses.test.js.map +0 -1
  135. package/lib-es/common-logic/calculateGasFees.test.d.ts +0 -2
  136. package/lib-es/common-logic/calculateGasFees.test.d.ts.map +0 -1
  137. package/lib-es/common-logic/calculateGasFees.test.js +0 -274
  138. package/lib-es/common-logic/calculateGasFees.test.js.map +0 -1
  139. package/lib-es/common-logic/calculateTransactionInfo.test.d.ts +0 -2
  140. package/lib-es/common-logic/calculateTransactionInfo.test.d.ts.map +0 -1
  141. package/lib-es/common-logic/calculateTransactionInfo.test.js +0 -309
  142. package/lib-es/common-logic/calculateTransactionInfo.test.js.map +0 -1
  143. package/lib-es/common-logic/estimateGas.test.d.ts +0 -2
  144. package/lib-es/common-logic/estimateGas.test.d.ts.map +0 -1
  145. package/lib-es/common-logic/estimateGas.test.js +0 -127
  146. package/lib-es/common-logic/estimateGas.test.js.map +0 -1
  147. package/lib-es/common-logic/fixPrefixCase.test.d.ts +0 -2
  148. package/lib-es/common-logic/fixPrefixCase.test.d.ts.map +0 -1
  149. package/lib-es/common-logic/fixPrefixCase.test.js +0 -44
  150. package/lib-es/common-logic/fixPrefixCase.test.js.map +0 -1
  151. package/lib-es/common-logic/generateNonce.test.d.ts +0 -2
  152. package/lib-es/common-logic/generateNonce.test.d.ts.map +0 -1
  153. package/lib-es/common-logic/generateNonce.test.js +0 -57
  154. package/lib-es/common-logic/generateNonce.test.js.map +0 -1
  155. package/lib-es/common-logic/getThorClient.test.d.ts +0 -2
  156. package/lib-es/common-logic/getThorClient.test.d.ts.map +0 -1
  157. package/lib-es/common-logic/getThorClient.test.js +0 -51
  158. package/lib-es/common-logic/getThorClient.test.js.map +0 -1
  159. package/lib-es/common-logic/mapTransfersToOperations.test.d.ts +0 -2
  160. package/lib-es/common-logic/mapTransfersToOperations.test.d.ts.map +0 -1
  161. package/lib-es/common-logic/mapTransfersToOperations.test.js +0 -269
  162. package/lib-es/common-logic/mapTransfersToOperations.test.js.map +0 -1
  163. package/lib-es/common-logic/padAddress.test.d.ts +0 -2
  164. package/lib-es/common-logic/padAddress.test.d.ts.map +0 -1
  165. package/lib-es/common-logic/padAddress.test.js +0 -57
  166. package/lib-es/common-logic/padAddress.test.js.map +0 -1
  167. package/lib-es/common-logic/parseAddress.test.d.ts +0 -2
  168. package/lib-es/common-logic/parseAddress.test.d.ts.map +0 -1
  169. package/lib-es/common-logic/parseAddress.test.js +0 -95
  170. package/lib-es/common-logic/parseAddress.test.js.map +0 -1
  171. package/lib-es/signer/getAddress.test.d.ts +0 -2
  172. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  173. package/lib-es/signer/getAddress.test.js +0 -352
  174. package/lib-es/signer/getAddress.test.js.map +0 -1
  175. package/lib-es/signer/signMessage.test.d.ts +0 -2
  176. package/lib-es/signer/signMessage.test.d.ts.map +0 -1
  177. package/lib-es/signer/signMessage.test.js +0 -240
  178. package/lib-es/signer/signMessage.test.js.map +0 -1
@@ -1,277 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
- const prepareTransaction_1 = require("./prepareTransaction");
8
- const common_logic_1 = require("../common-logic");
9
- const network_1 = require("../network");
10
- // Mock dependencies
11
- jest.mock("../common-logic");
12
- jest.mock("../network");
13
- const mockedCalculateTransactionInfo = jest.mocked(common_logic_1.calculateTransactionInfo);
14
- const mockedCalculateClausesVet = jest.mocked(common_logic_1.calculateClausesVet);
15
- const mockedCalculateClausesVtho = jest.mocked(common_logic_1.calculateClausesVtho);
16
- const mockedParseAddress = jest.mocked(common_logic_1.parseAddress);
17
- const mockedGetBlockRef = jest.mocked(network_1.getBlockRef);
18
- describe("prepareTransaction", () => {
19
- const mockAccount = {
20
- type: "Account",
21
- id: "vechain:1:0x123:",
22
- seedIdentifier: "seed123",
23
- derivationMode: "",
24
- index: 0,
25
- freshAddress: "0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4",
26
- freshAddressPath: "44'/818'/0'/0/0",
27
- used: true,
28
- balance: new bignumber_js_1.default("5000000000000000000"), // 5 VET
29
- spendableBalance: new bignumber_js_1.default("5000000000000000000"),
30
- creationDate: new Date("2022-01-01"),
31
- blockHeight: 12345,
32
- currency: { name: "VeChain" },
33
- operationsCount: 10,
34
- operations: [],
35
- pendingOperations: [],
36
- lastSyncDate: new Date("2022-01-01"),
37
- balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
38
- swapHistory: [],
39
- subAccounts: [],
40
- };
41
- const mockTransaction = {
42
- family: "vechain",
43
- recipient: "0x456789012345678901234567890123456789abcd",
44
- amount: new bignumber_js_1.default("1000000000000000000"), // 1 VET
45
- estimatedFees: "0",
46
- body: {
47
- chainTag: 74,
48
- blockRef: "0x0000000000000000",
49
- expiration: 18,
50
- clauses: [],
51
- maxFeePerGas: 0,
52
- maxPriorityFeePerGas: 0,
53
- gas: "0",
54
- dependsOn: null,
55
- nonce: "0x12345678",
56
- },
57
- };
58
- const mockTransactionInfo = {
59
- amount: new bignumber_js_1.default("1000000000000000000"),
60
- isTokenAccount: false,
61
- estimatedFees: "210000000000000000",
62
- estimatedGas: 21000,
63
- maxFeePerGas: 10000000000000,
64
- maxPriorityFeePerGas: 1000000000000,
65
- spendableBalance: new bignumber_js_1.default("4790000000000000000"),
66
- balance: new bignumber_js_1.default("5000000000000000000"),
67
- tokenAccount: undefined,
68
- };
69
- const mockVetClauses = [
70
- {
71
- to: "0x456789012345678901234567890123456789abcd",
72
- value: "1000000000000000000",
73
- data: "0x",
74
- },
75
- ];
76
- const mockVthoClauses = [
77
- {
78
- to: "0x0000000000000000000000000000456e65726779",
79
- value: "0",
80
- data: "0xa9059cbb000000000000000000000000456789012345678901234567890123456789abcd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
81
- },
82
- ];
83
- beforeEach(() => {
84
- jest.clearAllMocks();
85
- mockedCalculateTransactionInfo.mockResolvedValue(mockTransactionInfo);
86
- mockedParseAddress.mockReturnValue(true);
87
- mockedGetBlockRef.mockResolvedValue("0x00000000000b2bce");
88
- mockedCalculateClausesVet.mockResolvedValue(mockVetClauses);
89
- mockedCalculateClausesVtho.mockResolvedValue(mockVthoClauses);
90
- });
91
- describe("VET transactions", () => {
92
- it("should prepare a VET transaction with valid recipient", async () => {
93
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
94
- expect(result).toEqual({
95
- ...mockTransaction,
96
- body: {
97
- ...mockTransaction.body,
98
- gas: 21000,
99
- blockRef: "0x00000000000b2bce",
100
- clauses: mockVetClauses,
101
- maxFeePerGas: 10000000000000,
102
- maxPriorityFeePerGas: 1000000000000,
103
- },
104
- amount: new bignumber_js_1.default("1000000000000000000"),
105
- estimatedFees: "210000000000000000",
106
- });
107
- expect(mockedCalculateClausesVet).toHaveBeenCalledWith(mockTransaction.recipient, new bignumber_js_1.default("1000000000000000000"));
108
- expect(mockedCalculateClausesVtho).not.toHaveBeenCalled();
109
- });
110
- it("should handle VET transaction without recipient", async () => {
111
- const transactionWithoutRecipient = {
112
- ...mockTransaction,
113
- recipient: "",
114
- };
115
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, transactionWithoutRecipient);
116
- expect(result.body.clauses).toEqual([]);
117
- expect(result.body.blockRef).toBe("");
118
- expect(mockedGetBlockRef).not.toHaveBeenCalled();
119
- expect(mockedCalculateClausesVet).not.toHaveBeenCalled();
120
- });
121
- it("should handle VET transaction with invalid recipient", async () => {
122
- mockedParseAddress.mockReturnValue(false);
123
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
124
- expect(result.body.clauses).toEqual([]);
125
- expect(result.body.blockRef).toBe("");
126
- expect(mockedGetBlockRef).not.toHaveBeenCalled();
127
- expect(mockedCalculateClausesVet).not.toHaveBeenCalled();
128
- });
129
- });
130
- describe("Token transactions", () => {
131
- it("should prepare a token transaction with valid recipient", async () => {
132
- const tokenTransactionInfo = {
133
- ...mockTransactionInfo,
134
- isTokenAccount: true,
135
- tokenAccount: {},
136
- };
137
- mockedCalculateTransactionInfo.mockResolvedValue(tokenTransactionInfo);
138
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
139
- expect(result).toEqual({
140
- ...mockTransaction,
141
- body: {
142
- ...mockTransaction.body,
143
- gas: 21000,
144
- blockRef: "0x00000000000b2bce",
145
- clauses: mockVthoClauses,
146
- maxFeePerGas: 10000000000000,
147
- maxPriorityFeePerGas: 1000000000000,
148
- },
149
- amount: new bignumber_js_1.default("1000000000000000000"),
150
- estimatedFees: "210000000000000000",
151
- });
152
- expect(mockedCalculateClausesVtho).toHaveBeenCalledWith(mockTransaction.recipient, new bignumber_js_1.default("1000000000000000000"));
153
- expect(mockedCalculateClausesVet).not.toHaveBeenCalled();
154
- });
155
- });
156
- describe("calculateTransactionInfo integration", () => {
157
- it("should call calculateTransactionInfo with correct parameters", async () => {
158
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
159
- expect(mockedCalculateTransactionInfo).toHaveBeenCalledWith(mockAccount, mockTransaction);
160
- });
161
- it("should use transaction info results in the prepared transaction", async () => {
162
- const customTransactionInfo = {
163
- amount: new bignumber_js_1.default("2000000000000000000"),
164
- isTokenAccount: false,
165
- estimatedFees: "420000000000000000",
166
- estimatedGas: 42000,
167
- maxFeePerGas: 20000000000000,
168
- maxPriorityFeePerGas: 2000000000000,
169
- spendableBalance: new bignumber_js_1.default("3000000000000000000"),
170
- balance: new bignumber_js_1.default("5000000000000000000"),
171
- tokenAccount: undefined,
172
- };
173
- mockedCalculateTransactionInfo.mockResolvedValue(customTransactionInfo);
174
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
175
- expect(result.amount).toEqual(new bignumber_js_1.default("2000000000000000000"));
176
- expect(result.estimatedFees).toBe("420000000000000000");
177
- expect(result.body.gas).toBe(42000);
178
- expect(result.body.maxFeePerGas).toBe(20000000000000);
179
- expect(result.body.maxPriorityFeePerGas).toBe(2000000000000);
180
- });
181
- });
182
- describe("blockRef handling", () => {
183
- it("should get blockRef when recipient is valid", async () => {
184
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
185
- expect(mockedGetBlockRef).toHaveBeenCalledTimes(1);
186
- });
187
- it("should not get blockRef when recipient is empty", async () => {
188
- const transactionWithoutRecipient = {
189
- ...mockTransaction,
190
- recipient: "",
191
- };
192
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, transactionWithoutRecipient);
193
- expect(mockedGetBlockRef).not.toHaveBeenCalled();
194
- });
195
- it("should not get blockRef when recipient is invalid", async () => {
196
- mockedParseAddress.mockReturnValue(false);
197
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
198
- expect(mockedGetBlockRef).not.toHaveBeenCalled();
199
- });
200
- it("should handle getBlockRef errors", async () => {
201
- const error = new Error("Network error");
202
- mockedGetBlockRef.mockRejectedValue(error);
203
- await expect((0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction)).rejects.toThrow("Network error");
204
- });
205
- });
206
- describe("clause calculation", () => {
207
- it("should handle calculateClausesVet errors", async () => {
208
- const error = new Error("VET clause calculation failed");
209
- mockedCalculateClausesVet.mockRejectedValue(error);
210
- await expect((0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction)).rejects.toThrow("VET clause calculation failed");
211
- });
212
- it("should handle calculateClausesVtho errors", async () => {
213
- const tokenTransactionInfo = {
214
- ...mockTransactionInfo,
215
- isTokenAccount: true,
216
- tokenAccount: {},
217
- };
218
- mockedCalculateTransactionInfo.mockResolvedValue(tokenTransactionInfo);
219
- const error = new Error("VTHO clause calculation failed");
220
- mockedCalculateClausesVtho.mockRejectedValue(error);
221
- await expect((0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction)).rejects.toThrow("VTHO clause calculation failed");
222
- });
223
- });
224
- describe("body preservation", () => {
225
- it("should preserve existing body properties", async () => {
226
- const transactionWithBody = {
227
- ...mockTransaction,
228
- body: {
229
- ...mockTransaction.body,
230
- chainTag: 39, // testnet
231
- expiration: 32,
232
- dependsOn: "0xprevious123",
233
- nonce: "0xabcdef123456",
234
- },
235
- };
236
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, transactionWithBody);
237
- expect(result.body.chainTag).toBe(39);
238
- expect(result.body.expiration).toBe(32);
239
- expect(result.body.dependsOn).toBe("0xprevious123");
240
- expect(result.body.nonce).toBe("0xabcdef123456");
241
- });
242
- it("should override gas-related properties", async () => {
243
- const transactionWithOldGas = {
244
- ...mockTransaction,
245
- body: {
246
- ...mockTransaction.body,
247
- gas: 999,
248
- maxFeePerGas: 999,
249
- maxPriorityFeePerGas: 999,
250
- },
251
- };
252
- const result = await (0, prepareTransaction_1.prepareTransaction)(mockAccount, transactionWithOldGas);
253
- expect(result.body.gas).toBe(21000);
254
- expect(result.body.maxFeePerGas).toBe(10000000000000);
255
- expect(result.body.maxPriorityFeePerGas).toBe(1000000000000);
256
- });
257
- });
258
- describe("address validation", () => {
259
- it("should call parseAddress with recipient", async () => {
260
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, mockTransaction);
261
- expect(mockedParseAddress).toHaveBeenCalledWith(mockTransaction.recipient);
262
- });
263
- it("should handle different recipient formats", async () => {
264
- const recipients = [
265
- "0x456789012345678901234567890123456789abcd",
266
- "0X456789012345678901234567890123456789ABCD",
267
- "456789012345678901234567890123456789abcd",
268
- ];
269
- for (const recipient of recipients) {
270
- const txWithRecipient = { ...mockTransaction, recipient };
271
- await (0, prepareTransaction_1.prepareTransaction)(mockAccount, txWithRecipient);
272
- expect(mockedParseAddress).toHaveBeenCalledWith(recipient);
273
- }
274
- });
275
- });
276
- });
277
- //# sourceMappingURL=prepareTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/prepareTransaction.test.ts"],"names":[],"mappings":";;;;;AAAA,gEAAqC;AACrC,6DAA0D;AAC1D,kDAKyB;AACzB,wCAAyC;AAIzC,oBAAoB;AACpB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;AAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAExB,MAAM,8BAA8B,GAAG,IAAI,CAAC,MAAM,CAAC,uCAAwB,CAAC,CAAC;AAC7E,MAAM,yBAAyB,GAAG,IAAI,CAAC,MAAM,CAAC,kCAAmB,CAAC,CAAC;AACnE,MAAM,0BAA0B,GAAG,IAAI,CAAC,MAAM,CAAC,mCAAoB,CAAC,CAAC;AACrE,MAAM,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,2BAAY,CAAC,CAAC;AACrD,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAW,CAAC,CAAC;AAEnD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,WAAW,GAAY;QAC3B,IAAI,EAAE,SAAS;QACf,EAAE,EAAE,kBAAkB;QACtB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,EAAS;QACzB,KAAK,EAAE,CAAC;QACR,YAAY,EAAE,4CAA4C;QAC1D,gBAAgB,EAAE,iBAAiB;QACnC,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC,EAAE,QAAQ;QACvD,gBAAgB,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;QACtD,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;QACpC,WAAW,EAAE,KAAK;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAS;QACpC,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC;QACpC,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAS;QAC3D,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE;KAChB,CAAC;IAEF,MAAM,eAAe,GAAgB;QACnC,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,4CAA4C;QACvD,MAAM,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC,EAAE,QAAQ;QACtD,aAAa,EAAE,GAAG;QAClB,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,QAAQ,EAAE,oBAAoB;YAC9B,UAAU,EAAE,EAAE;YACd,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,CAAC;YACf,oBAAoB,EAAE,CAAC;YACvB,GAAG,EAAE,GAAG;YACR,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,YAAY;SACpB;KACa,CAAC;IAEjB,MAAM,mBAAmB,GAAG;QAC1B,MAAM,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;QAC5C,cAAc,EAAE,KAAK;QACrB,aAAa,EAAE,oBAAoB;QACnC,YAAY,EAAE,KAAK;QACnB,YAAY,EAAE,cAAc;QAC5B,oBAAoB,EAAE,aAAa;QACnC,gBAAgB,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;QACtD,OAAO,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;QAC7C,YAAY,EAAE,SAAS;KACxB,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB;YACE,EAAE,EAAE,4CAA4C;YAChD,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,MAAM,eAAe,GAAG;QACtB;YACE,EAAE,EAAE,4CAA4C;YAChD,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,4IAA4I;SACnJ;KACF,CAAC;IAEF,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,8BAA8B,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;QACtE,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,iBAAiB,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;QAC1D,yBAAyB,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC5D,0BAA0B,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,GAAG,eAAe;gBAClB,IAAI,EAAE;oBACJ,GAAG,eAAe,CAAC,IAAI;oBACvB,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,cAAc;oBACvB,YAAY,EAAE,cAAc;oBAC5B,oBAAoB,EAAE,aAAa;iBACpC;gBACD,MAAM,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;gBAC5C,aAAa,EAAE,oBAAoB;aACpC,CAAC,CAAC;YAEH,MAAM,CAAC,yBAAyB,CAAC,CAAC,oBAAoB,CACpD,eAAe,CAAC,SAAS,EACzB,IAAI,sBAAS,CAAC,qBAAqB,CAAC,CACrC,CAAC;YACF,MAAM,CAAC,0BAA0B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,2BAA2B,GAAG;gBAClC,GAAG,eAAe;gBAClB,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAElF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE1C,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACjD,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,oBAAoB,GAAG;gBAC3B,GAAG,mBAAmB;gBACtB,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,EAAkB;aACjC,CAAC;YAEF,8BAA8B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAEvE,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,GAAG,eAAe;gBAClB,IAAI,EAAE;oBACJ,GAAG,eAAe,CAAC,IAAI;oBACvB,GAAG,EAAE,KAAK;oBACV,QAAQ,EAAE,oBAAoB;oBAC9B,OAAO,EAAE,eAAe;oBACxB,YAAY,EAAE,cAAc;oBAC5B,oBAAoB,EAAE,aAAa;iBACpC;gBACD,MAAM,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;gBAC5C,aAAa,EAAE,oBAAoB;aACpC,CAAC,CAAC;YAEH,MAAM,CAAC,0BAA0B,CAAC,CAAC,oBAAoB,CACrD,eAAe,CAAC,SAAS,EACzB,IAAI,sBAAS,CAAC,qBAAqB,CAAC,CACrC,CAAC;YACF,MAAM,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;QACpD,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;YAC5E,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEvD,MAAM,CAAC,8BAA8B,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;YAC/E,MAAM,qBAAqB,GAAG;gBAC5B,MAAM,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;gBAC5C,cAAc,EAAE,KAAK;gBACrB,aAAa,EAAE,oBAAoB;gBACnC,YAAY,EAAE,KAAK;gBACnB,YAAY,EAAE,cAAc;gBAC5B,oBAAoB,EAAE,aAAa;gBACnC,gBAAgB,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;gBACtD,OAAO,EAAE,IAAI,sBAAS,CAAC,qBAAqB,CAAC;gBAC7C,YAAY,EAAE,SAAS;aACxB,CAAC;YAEF,8BAA8B,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;YAExE,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,sBAAS,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEvD,MAAM,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,2BAA2B,GAAG;gBAClC,GAAG,eAAe;gBAClB,SAAS,EAAE,EAAE;aACd,CAAC;YAEF,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC;YAEnE,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAE1C,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEvD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YACzC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAE3C,MAAM,MAAM,CAAC,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,eAAe,CAChB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACzD,yBAAyB,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEnD,MAAM,MAAM,CAAC,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,+BAA+B,CAChC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,oBAAoB,GAAG;gBAC3B,GAAG,mBAAmB;gBACtB,cAAc,EAAE,IAAI;gBACpB,YAAY,EAAE,EAAkB;aACjC,CAAC;YAEF,8BAA8B,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAC1D,0BAA0B,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAEpD,MAAM,MAAM,CAAC,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC5E,gCAAgC,CACjC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,mBAAmB,GAAG;gBAC1B,GAAG,eAAe;gBAClB,IAAI,EAAE;oBACJ,GAAG,eAAe,CAAC,IAAI;oBACvB,QAAQ,EAAE,EAAE,EAAE,UAAU;oBACxB,UAAU,EAAE,EAAE;oBACd,SAAS,EAAE,eAAe;oBAC1B,KAAK,EAAE,gBAAgB;iBACxB;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,qBAAqB,GAAG;gBAC5B,GAAG,eAAe;gBAClB,IAAI,EAAE;oBACJ,GAAG,eAAe,CAAC,IAAI;oBACvB,GAAG,EAAE,GAAG;oBACR,YAAY,EAAE,GAAG;oBACjB,oBAAoB,EAAE,GAAG;iBAC1B;aACF,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;YAE5E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAEvD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,UAAU,GAAG;gBACjB,4CAA4C;gBAC5C,4CAA4C;gBAC5C,0CAA0C;aAC3C,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,eAAe,GAAG,EAAE,GAAG,eAAe,EAAE,SAAS,EAAE,CAAC;gBAC1D,MAAM,IAAA,uCAAkB,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;gBAEvD,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=signOperation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.test.d.ts","sourceRoot":"","sources":["../../src/bridge/signOperation.test.ts"],"names":[],"mappings":""}
@@ -1,295 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const signOperation_1 = require("./signOperation");
7
- const buildOptimisticOperatioin_1 = require("./buildOptimisticOperatioin");
8
- const types_1 = require("../types");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
10
- // Mock dependencies
11
- jest.mock("./buildOptimisticOperatioin");
12
- jest.mock("../types", () => ({
13
- ...jest.requireActual("../types"),
14
- VechainSDKTransaction: {
15
- of: jest.fn(),
16
- },
17
- }));
18
- const mockedBuildOptimisticOperation = jest.mocked(buildOptimisticOperatioin_1.buildOptimisticOperation);
19
- const mockedVechainSDKTransaction = jest.mocked(types_1.VechainSDKTransaction);
20
- describe("buildSignOperation", () => {
21
- const mockAccount = {
22
- type: "Account",
23
- id: "vechain:1:0x123:",
24
- seedIdentifier: "seed123",
25
- derivationMode: "",
26
- index: 0,
27
- freshAddress: "0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4",
28
- freshAddressPath: "44'/818'/0'/0/0",
29
- used: true,
30
- balance: new bignumber_js_1.default("5000000000000000000"),
31
- spendableBalance: new bignumber_js_1.default("5000000000000000000"),
32
- creationDate: new Date("2022-01-01"),
33
- blockHeight: 12345,
34
- currency: {},
35
- operationsCount: 10,
36
- operations: [],
37
- pendingOperations: [],
38
- lastSyncDate: new Date("2022-01-01"),
39
- balanceHistoryCache: { HOUR: {}, DAY: {}, WEEK: {} },
40
- swapHistory: [],
41
- subAccounts: [],
42
- };
43
- const mockTransaction = {
44
- family: "vechain",
45
- recipient: "0x456789012345678901234567890123456789abcd",
46
- amount: new bignumber_js_1.default("1000000000000000000"),
47
- estimatedFees: "210000000000000000",
48
- body: {
49
- chainTag: 74,
50
- blockRef: "0x00000000000b2bce",
51
- expiration: 18,
52
- clauses: [
53
- {
54
- to: "0x456789012345678901234567890123456789abcd",
55
- value: "1000000000000000000",
56
- data: "0x",
57
- },
58
- ],
59
- maxFeePerGas: 10000000000000,
60
- maxPriorityFeePerGas: 1000000000000,
61
- gas: 21000,
62
- dependsOn: null,
63
- nonce: "0x12345678",
64
- },
65
- };
66
- const mockDeviceId = "mock-device-id";
67
- const mockSigner = {
68
- getAddress: jest.fn(),
69
- signTransaction: jest.fn(),
70
- };
71
- const mockSignerContext = jest.fn();
72
- const mockUnsignedTransaction = {
73
- encoded: Buffer.from("mockencoded", "hex"),
74
- };
75
- const mockOperation = {
76
- id: "vechain:1:0x123:0xtxhash:OUT",
77
- hash: "",
78
- type: "OUT",
79
- value: new bignumber_js_1.default("1000000000000000000"),
80
- fee: new bignumber_js_1.default("210000000000000000"),
81
- blockHash: null,
82
- blockHeight: null,
83
- senders: ["0x742d35Cc6634C0532925a3b8D0B251d8c1743eC4"],
84
- recipients: ["0x456789012345678901234567890123456789abcd"],
85
- accountId: "vechain:1:0x123:",
86
- date: new Date("2022-01-01"),
87
- extra: {},
88
- };
89
- beforeEach(() => {
90
- jest.clearAllMocks();
91
- mockedVechainSDKTransaction.of.mockReturnValue(mockUnsignedTransaction);
92
- mockedBuildOptimisticOperation.mockResolvedValue(mockOperation);
93
- mockSigner.signTransaction.mockResolvedValue(Buffer.from("signature123", "hex"));
94
- mockSignerContext.mockImplementation((deviceId, callback) => callback(mockSigner));
95
- });
96
- it("should emit correct sequence of events for successful signing", async () => {
97
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
98
- const observable = signOperation({
99
- account: mockAccount,
100
- transaction: mockTransaction,
101
- deviceId: mockDeviceId,
102
- });
103
- const events = [];
104
- const promise = new Promise((resolve, reject) => {
105
- observable.subscribe({
106
- next: event => events.push(event),
107
- complete: resolve,
108
- error: reject,
109
- });
110
- });
111
- await promise;
112
- expect(events).toHaveLength(3);
113
- expect(events[0]).toEqual({ type: "device-signature-requested" });
114
- expect(events[1]).toEqual({ type: "device-signature-granted" });
115
- expect(events[2]).toEqual({
116
- type: "signed",
117
- signedOperation: {
118
- operation: mockOperation,
119
- signature: "",
120
- rawData: mockTransaction,
121
- },
122
- });
123
- });
124
- it("should create unsigned transaction from transaction body", async () => {
125
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
126
- const observable = signOperation({
127
- account: mockAccount,
128
- transaction: mockTransaction,
129
- deviceId: mockDeviceId,
130
- });
131
- await new Promise((resolve, reject) => {
132
- observable.subscribe({ complete: resolve, error: reject });
133
- });
134
- expect(mockedVechainSDKTransaction.of).toHaveBeenCalledWith(mockTransaction.body);
135
- });
136
- it("should call signer with correct parameters", async () => {
137
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
138
- const observable = signOperation({
139
- account: mockAccount,
140
- transaction: mockTransaction,
141
- deviceId: mockDeviceId,
142
- });
143
- await new Promise((resolve, reject) => {
144
- observable.subscribe({ complete: resolve, error: reject });
145
- });
146
- expect(mockSignerContext).toHaveBeenCalledWith(mockDeviceId, expect.any(Function));
147
- expect(mockSigner.signTransaction).toHaveBeenCalledWith(mockAccount.freshAddressPath, mockUnsignedTransaction.encoded.toString("hex"));
148
- });
149
- it("should build optimistic operation with correct parameters", async () => {
150
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
151
- const observable = signOperation({
152
- account: mockAccount,
153
- transaction: mockTransaction,
154
- deviceId: mockDeviceId,
155
- });
156
- await new Promise((resolve, reject) => {
157
- observable.subscribe({ complete: resolve, error: reject });
158
- });
159
- expect(mockedBuildOptimisticOperation).toHaveBeenCalledWith(mockAccount, mockTransaction);
160
- });
161
- it("should convert signature buffer to hex string", async () => {
162
- const signatureBuffer = Buffer.from([0x12, 0x34, 0x56, 0x78]);
163
- mockSigner.signTransaction.mockResolvedValue(signatureBuffer);
164
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
165
- const observable = signOperation({
166
- account: mockAccount,
167
- transaction: mockTransaction,
168
- deviceId: mockDeviceId,
169
- });
170
- const events = [];
171
- await new Promise((resolve, reject) => {
172
- observable.subscribe({
173
- next: event => events.push(event),
174
- complete: resolve,
175
- error: reject,
176
- });
177
- });
178
- const signedEvent = events.find(e => e.type === "signed");
179
- expect(signedEvent.signedOperation.signature).toBe("12345678");
180
- });
181
- it("should handle signer errors", async () => {
182
- const signerError = new Error("Hardware wallet error");
183
- mockSigner.signTransaction.mockRejectedValue(signerError);
184
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
185
- const observable = signOperation({
186
- account: mockAccount,
187
- transaction: mockTransaction,
188
- deviceId: mockDeviceId,
189
- });
190
- await expect(new Promise((resolve, reject) => {
191
- observable.subscribe({ complete: resolve, error: reject });
192
- })).rejects.toThrow("Hardware wallet error");
193
- });
194
- it("should handle VechainSDKTransaction creation errors", async () => {
195
- const transactionError = new Error("Invalid transaction format");
196
- mockedVechainSDKTransaction.of.mockImplementation(() => {
197
- throw transactionError;
198
- });
199
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
200
- const observable = signOperation({
201
- account: mockAccount,
202
- transaction: mockTransaction,
203
- deviceId: mockDeviceId,
204
- });
205
- await expect(new Promise((resolve, reject) => {
206
- observable.subscribe({ complete: resolve, error: reject });
207
- })).rejects.toThrow("Invalid transaction format");
208
- });
209
- it("should handle buildOptimisticOperation errors", async () => {
210
- const operationError = new Error("Failed to build operation");
211
- mockedBuildOptimisticOperation.mockRejectedValue(operationError);
212
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
213
- const observable = signOperation({
214
- account: mockAccount,
215
- transaction: mockTransaction,
216
- deviceId: mockDeviceId,
217
- });
218
- await expect(new Promise((resolve, reject) => {
219
- observable.subscribe({ complete: resolve, error: reject });
220
- })).rejects.toThrow("Failed to build operation");
221
- });
222
- it("should handle signerContext errors", async () => {
223
- const contextError = new Error("Signer context failed");
224
- mockSignerContext.mockRejectedValue(contextError);
225
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
226
- const observable = signOperation({
227
- account: mockAccount,
228
- transaction: mockTransaction,
229
- deviceId: mockDeviceId,
230
- });
231
- await expect(new Promise((resolve, reject) => {
232
- observable.subscribe({ complete: resolve, error: reject });
233
- })).rejects.toThrow("Signer context failed");
234
- });
235
- it("should work with different device IDs", async () => {
236
- const deviceIds = ["device1", "device2", "device3"];
237
- for (const deviceId of deviceIds) {
238
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
239
- const observable = signOperation({
240
- account: mockAccount,
241
- transaction: mockTransaction,
242
- deviceId,
243
- });
244
- await new Promise((resolve, reject) => {
245
- observable.subscribe({ complete: resolve, error: reject });
246
- });
247
- expect(mockSignerContext).toHaveBeenCalledWith(deviceId, expect.any(Function));
248
- }
249
- });
250
- it("should include rawData as transaction in signed operation", async () => {
251
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
252
- const observable = signOperation({
253
- account: mockAccount,
254
- transaction: mockTransaction,
255
- deviceId: mockDeviceId,
256
- });
257
- const events = [];
258
- await new Promise((resolve, reject) => {
259
- observable.subscribe({
260
- next: event => events.push(event),
261
- complete: resolve,
262
- error: reject,
263
- });
264
- });
265
- const signedEvent = events.find(e => e.type === "signed");
266
- expect(signedEvent.signedOperation.rawData).toBe(mockTransaction);
267
- });
268
- it("should handle different transaction types", async () => {
269
- const tokenTransaction = {
270
- ...mockTransaction,
271
- subAccountId: "vechain:1:0x123:+vtho",
272
- body: {
273
- ...mockTransaction.body,
274
- clauses: [
275
- {
276
- to: "0x0000000000000000000000000000456e65726779",
277
- value: "0",
278
- data: "0xa9059cbb000000000000000000000000456789012345678901234567890123456789abcd0000000000000000000000000000000000000000000000000de0b6b3a7640000",
279
- },
280
- ],
281
- },
282
- };
283
- const signOperation = (0, signOperation_1.buildSignOperation)(mockSignerContext);
284
- const observable = signOperation({
285
- account: mockAccount,
286
- transaction: tokenTransaction,
287
- deviceId: mockDeviceId,
288
- });
289
- await new Promise((resolve, reject) => {
290
- observable.subscribe({ complete: resolve, error: reject });
291
- });
292
- expect(mockedVechainSDKTransaction.of).toHaveBeenCalledWith(tokenTransaction.body);
293
- });
294
- });
295
- //# sourceMappingURL=signOperation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signOperation.test.js","sourceRoot":"","sources":["../../src/bridge/signOperation.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=synchronisation.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"synchronisation.test.d.ts","sourceRoot":"","sources":["../../src/bridge/synchronisation.test.ts"],"names":[],"mappings":""}