@ledgerhq/coin-sui 0.16.0-nightly.7 → 0.16.0-nightly.8

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 (267) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/package.json +6 -6
  4. package/lib/api/index.integration.test.d.ts +0 -2
  5. package/lib/api/index.integration.test.d.ts.map +0 -1
  6. package/lib/api/index.integration.test.js +0 -185
  7. package/lib/api/index.integration.test.js.map +0 -1
  8. package/lib/api/index.test.d.ts +0 -2
  9. package/lib/api/index.test.d.ts.map +0 -1
  10. package/lib/api/index.test.js +0 -173
  11. package/lib/api/index.test.js.map +0 -1
  12. package/lib/bridge/bridge.integration.test.d.ts +0 -4
  13. package/lib/bridge/bridge.integration.test.d.ts.map +0 -1
  14. package/lib/bridge/bridge.integration.test.js +0 -145
  15. package/lib/bridge/bridge.integration.test.js.map +0 -1
  16. package/lib/bridge/broadcast.test.d.ts +0 -2
  17. package/lib/bridge/broadcast.test.d.ts.map +0 -1
  18. package/lib/bridge/broadcast.test.js +0 -48
  19. package/lib/bridge/broadcast.test.js.map +0 -1
  20. package/lib/bridge/buildOptimisticOperation.test.d.ts +0 -2
  21. package/lib/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  22. package/lib/bridge/buildOptimisticOperation.test.js +0 -52
  23. package/lib/bridge/buildOptimisticOperation.test.js.map +0 -1
  24. package/lib/bridge/buildTransaction.integration.test.d.ts +0 -2
  25. package/lib/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  26. package/lib/bridge/buildTransaction.integration.test.js +0 -72
  27. package/lib/bridge/buildTransaction.integration.test.js.map +0 -1
  28. package/lib/bridge/buildTransaction.test.d.ts +0 -2
  29. package/lib/bridge/buildTransaction.test.d.ts.map +0 -1
  30. package/lib/bridge/buildTransaction.test.js +0 -231
  31. package/lib/bridge/buildTransaction.test.js.map +0 -1
  32. package/lib/bridge/estimateMaxSpendable.test.d.ts +0 -2
  33. package/lib/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  34. package/lib/bridge/estimateMaxSpendable.test.js +0 -52
  35. package/lib/bridge/estimateMaxSpendable.test.js.map +0 -1
  36. package/lib/bridge/formatters.test.d.ts +0 -2
  37. package/lib/bridge/formatters.test.d.ts.map +0 -1
  38. package/lib/bridge/formatters.test.js +0 -18
  39. package/lib/bridge/formatters.test.js.map +0 -1
  40. package/lib/bridge/getFeesForTransaction.test.d.ts +0 -2
  41. package/lib/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  42. package/lib/bridge/getFeesForTransaction.test.js +0 -35
  43. package/lib/bridge/getFeesForTransaction.test.js.map +0 -1
  44. package/lib/bridge/getTransactionStatus.test.d.ts +0 -2
  45. package/lib/bridge/getTransactionStatus.test.d.ts.map +0 -1
  46. package/lib/bridge/getTransactionStatus.test.js +0 -69
  47. package/lib/bridge/getTransactionStatus.test.js.map +0 -1
  48. package/lib/bridge/index.test.d.ts +0 -2
  49. package/lib/bridge/index.test.d.ts.map +0 -1
  50. package/lib/bridge/index.test.js +0 -265
  51. package/lib/bridge/index.test.js.map +0 -1
  52. package/lib/bridge/preload.test.d.ts +0 -2
  53. package/lib/bridge/preload.test.d.ts.map +0 -1
  54. package/lib/bridge/preload.test.js +0 -52
  55. package/lib/bridge/preload.test.js.map +0 -1
  56. package/lib/bridge/prepareTransaction.test.d.ts +0 -2
  57. package/lib/bridge/prepareTransaction.test.d.ts.map +0 -1
  58. package/lib/bridge/prepareTransaction.test.js +0 -97
  59. package/lib/bridge/prepareTransaction.test.js.map +0 -1
  60. package/lib/bridge/serialization.test.d.ts +0 -2
  61. package/lib/bridge/serialization.test.d.ts.map +0 -1
  62. package/lib/bridge/serialization.test.js +0 -131
  63. package/lib/bridge/serialization.test.js.map +0 -1
  64. package/lib/bridge/signOperation.integration.test.d.ts +0 -2
  65. package/lib/bridge/signOperation.integration.test.d.ts.map +0 -1
  66. package/lib/bridge/signOperation.integration.test.js +0 -80
  67. package/lib/bridge/signOperation.integration.test.js.map +0 -1
  68. package/lib/bridge/signOperation.test.d.ts +0 -2
  69. package/lib/bridge/signOperation.test.d.ts.map +0 -1
  70. package/lib/bridge/signOperation.test.js +0 -445
  71. package/lib/bridge/signOperation.test.js.map +0 -1
  72. package/lib/bridge/synchronisation.test.d.ts +0 -2
  73. package/lib/bridge/synchronisation.test.d.ts.map +0 -1
  74. package/lib/bridge/synchronisation.test.js +0 -505
  75. package/lib/bridge/synchronisation.test.js.map +0 -1
  76. package/lib/bridge/transaction.test.d.ts +0 -2
  77. package/lib/bridge/transaction.test.d.ts.map +0 -1
  78. package/lib/bridge/transaction.test.js +0 -68
  79. package/lib/bridge/transaction.test.js.map +0 -1
  80. package/lib/logic/broadcast.test.d.ts +0 -2
  81. package/lib/logic/broadcast.test.d.ts.map +0 -1
  82. package/lib/logic/broadcast.test.js +0 -62
  83. package/lib/logic/broadcast.test.js.map +0 -1
  84. package/lib/logic/combine.test.d.ts +0 -2
  85. package/lib/logic/combine.test.d.ts.map +0 -1
  86. package/lib/logic/combine.test.js +0 -37
  87. package/lib/logic/combine.test.js.map +0 -1
  88. package/lib/logic/craftTransaction.integration.test.d.ts +0 -2
  89. package/lib/logic/craftTransaction.integration.test.d.ts.map +0 -1
  90. package/lib/logic/craftTransaction.integration.test.js +0 -98
  91. package/lib/logic/craftTransaction.integration.test.js.map +0 -1
  92. package/lib/logic/craftTransaction.test.d.ts +0 -2
  93. package/lib/logic/craftTransaction.test.d.ts.map +0 -1
  94. package/lib/logic/craftTransaction.test.js +0 -127
  95. package/lib/logic/craftTransaction.test.js.map +0 -1
  96. package/lib/logic/estimateFees.integration.test.d.ts +0 -2
  97. package/lib/logic/estimateFees.integration.test.d.ts.map +0 -1
  98. package/lib/logic/estimateFees.integration.test.js +0 -82
  99. package/lib/logic/estimateFees.integration.test.js.map +0 -1
  100. package/lib/logic/estimateFees.test.d.ts +0 -2
  101. package/lib/logic/estimateFees.test.d.ts.map +0 -1
  102. package/lib/logic/estimateFees.test.js +0 -70
  103. package/lib/logic/estimateFees.test.js.map +0 -1
  104. package/lib/logic/getBalance.integration.test.d.ts +0 -2
  105. package/lib/logic/getBalance.integration.test.d.ts.map +0 -1
  106. package/lib/logic/getBalance.integration.test.js +0 -56
  107. package/lib/logic/getBalance.integration.test.js.map +0 -1
  108. package/lib/logic/getBalance.test.d.ts +0 -2
  109. package/lib/logic/getBalance.test.d.ts.map +0 -1
  110. package/lib/logic/getBalance.test.js +0 -64
  111. package/lib/logic/getBalance.test.js.map +0 -1
  112. package/lib/logic/lastBlock.test.d.ts +0 -2
  113. package/lib/logic/lastBlock.test.d.ts.map +0 -1
  114. package/lib/logic/lastBlock.test.js +0 -27
  115. package/lib/logic/lastBlock.test.js.map +0 -1
  116. package/lib/logic/listOperations.test.d.ts +0 -2
  117. package/lib/logic/listOperations.test.d.ts.map +0 -1
  118. package/lib/logic/listOperations.test.js +0 -79
  119. package/lib/logic/listOperations.test.js.map +0 -1
  120. package/lib/network/sdk.integration.test.d.ts +0 -2
  121. package/lib/network/sdk.integration.test.d.ts.map +0 -1
  122. package/lib/network/sdk.integration.test.js +0 -215
  123. package/lib/network/sdk.integration.test.js.map +0 -1
  124. package/lib/network/sdk.test.d.ts +0 -2
  125. package/lib/network/sdk.test.d.ts.map +0 -1
  126. package/lib/network/sdk.test.js +0 -1814
  127. package/lib/network/sdk.test.js.map +0 -1
  128. package/lib/signer/getAddress.test.d.ts +0 -2
  129. package/lib/signer/getAddress.test.d.ts.map +0 -1
  130. package/lib/signer/getAddress.test.js +0 -106
  131. package/lib/signer/getAddress.test.js.map +0 -1
  132. package/lib/test/config.test.d.ts +0 -2
  133. package/lib/test/config.test.d.ts.map +0 -1
  134. package/lib/test/config.test.js +0 -44
  135. package/lib/test/config.test.js.map +0 -1
  136. package/lib-es/api/index.integration.test.d.ts +0 -2
  137. package/lib-es/api/index.integration.test.d.ts.map +0 -1
  138. package/lib-es/api/index.integration.test.js +0 -183
  139. package/lib-es/api/index.integration.test.js.map +0 -1
  140. package/lib-es/api/index.test.d.ts +0 -2
  141. package/lib-es/api/index.test.d.ts.map +0 -1
  142. package/lib-es/api/index.test.js +0 -148
  143. package/lib-es/api/index.test.js.map +0 -1
  144. package/lib-es/bridge/bridge.integration.test.d.ts +0 -4
  145. package/lib-es/bridge/bridge.integration.test.d.ts.map +0 -1
  146. package/lib-es/bridge/bridge.integration.test.js +0 -139
  147. package/lib-es/bridge/bridge.integration.test.js.map +0 -1
  148. package/lib-es/bridge/broadcast.test.d.ts +0 -2
  149. package/lib-es/bridge/broadcast.test.d.ts.map +0 -1
  150. package/lib-es/bridge/broadcast.test.js +0 -46
  151. package/lib-es/bridge/broadcast.test.js.map +0 -1
  152. package/lib-es/bridge/buildOptimisticOperation.test.d.ts +0 -2
  153. package/lib-es/bridge/buildOptimisticOperation.test.d.ts.map +0 -1
  154. package/lib-es/bridge/buildOptimisticOperation.test.js +0 -47
  155. package/lib-es/bridge/buildOptimisticOperation.test.js.map +0 -1
  156. package/lib-es/bridge/buildTransaction.integration.test.d.ts +0 -2
  157. package/lib-es/bridge/buildTransaction.integration.test.d.ts.map +0 -1
  158. package/lib-es/bridge/buildTransaction.integration.test.js +0 -67
  159. package/lib-es/bridge/buildTransaction.integration.test.js.map +0 -1
  160. package/lib-es/bridge/buildTransaction.test.d.ts +0 -2
  161. package/lib-es/bridge/buildTransaction.test.d.ts.map +0 -1
  162. package/lib-es/bridge/buildTransaction.test.js +0 -229
  163. package/lib-es/bridge/buildTransaction.test.js.map +0 -1
  164. package/lib-es/bridge/estimateMaxSpendable.test.d.ts +0 -2
  165. package/lib-es/bridge/estimateMaxSpendable.test.d.ts.map +0 -1
  166. package/lib-es/bridge/estimateMaxSpendable.test.js +0 -50
  167. package/lib-es/bridge/estimateMaxSpendable.test.js.map +0 -1
  168. package/lib-es/bridge/formatters.test.d.ts +0 -2
  169. package/lib-es/bridge/formatters.test.d.ts.map +0 -1
  170. package/lib-es/bridge/formatters.test.js +0 -16
  171. package/lib-es/bridge/formatters.test.js.map +0 -1
  172. package/lib-es/bridge/getFeesForTransaction.test.d.ts +0 -2
  173. package/lib-es/bridge/getFeesForTransaction.test.d.ts.map +0 -1
  174. package/lib-es/bridge/getFeesForTransaction.test.js +0 -30
  175. package/lib-es/bridge/getFeesForTransaction.test.js.map +0 -1
  176. package/lib-es/bridge/getTransactionStatus.test.d.ts +0 -2
  177. package/lib-es/bridge/getTransactionStatus.test.d.ts.map +0 -1
  178. package/lib-es/bridge/getTransactionStatus.test.js +0 -64
  179. package/lib-es/bridge/getTransactionStatus.test.js.map +0 -1
  180. package/lib-es/bridge/index.test.d.ts +0 -2
  181. package/lib-es/bridge/index.test.d.ts.map +0 -1
  182. package/lib-es/bridge/index.test.js +0 -260
  183. package/lib-es/bridge/index.test.js.map +0 -1
  184. package/lib-es/bridge/preload.test.d.ts +0 -2
  185. package/lib-es/bridge/preload.test.d.ts.map +0 -1
  186. package/lib-es/bridge/preload.test.js +0 -50
  187. package/lib-es/bridge/preload.test.js.map +0 -1
  188. package/lib-es/bridge/prepareTransaction.test.d.ts +0 -2
  189. package/lib-es/bridge/prepareTransaction.test.d.ts.map +0 -1
  190. package/lib-es/bridge/prepareTransaction.test.js +0 -92
  191. package/lib-es/bridge/prepareTransaction.test.js.map +0 -1
  192. package/lib-es/bridge/serialization.test.d.ts +0 -2
  193. package/lib-es/bridge/serialization.test.d.ts.map +0 -1
  194. package/lib-es/bridge/serialization.test.js +0 -126
  195. package/lib-es/bridge/serialization.test.js.map +0 -1
  196. package/lib-es/bridge/signOperation.integration.test.d.ts +0 -2
  197. package/lib-es/bridge/signOperation.integration.test.d.ts.map +0 -1
  198. package/lib-es/bridge/signOperation.integration.test.js +0 -75
  199. package/lib-es/bridge/signOperation.integration.test.js.map +0 -1
  200. package/lib-es/bridge/signOperation.test.d.ts +0 -2
  201. package/lib-es/bridge/signOperation.test.d.ts.map +0 -1
  202. package/lib-es/bridge/signOperation.test.js +0 -440
  203. package/lib-es/bridge/signOperation.test.js.map +0 -1
  204. package/lib-es/bridge/synchronisation.test.d.ts +0 -2
  205. package/lib-es/bridge/synchronisation.test.d.ts.map +0 -1
  206. package/lib-es/bridge/synchronisation.test.js +0 -477
  207. package/lib-es/bridge/synchronisation.test.js.map +0 -1
  208. package/lib-es/bridge/transaction.test.d.ts +0 -2
  209. package/lib-es/bridge/transaction.test.d.ts.map +0 -1
  210. package/lib-es/bridge/transaction.test.js +0 -66
  211. package/lib-es/bridge/transaction.test.js.map +0 -1
  212. package/lib-es/logic/broadcast.test.d.ts +0 -2
  213. package/lib-es/logic/broadcast.test.d.ts.map +0 -1
  214. package/lib-es/logic/broadcast.test.js +0 -57
  215. package/lib-es/logic/broadcast.test.js.map +0 -1
  216. package/lib-es/logic/combine.test.d.ts +0 -2
  217. package/lib-es/logic/combine.test.d.ts.map +0 -1
  218. package/lib-es/logic/combine.test.js +0 -35
  219. package/lib-es/logic/combine.test.js.map +0 -1
  220. package/lib-es/logic/craftTransaction.integration.test.d.ts +0 -2
  221. package/lib-es/logic/craftTransaction.integration.test.d.ts.map +0 -1
  222. package/lib-es/logic/craftTransaction.integration.test.js +0 -93
  223. package/lib-es/logic/craftTransaction.integration.test.js.map +0 -1
  224. package/lib-es/logic/craftTransaction.test.d.ts +0 -2
  225. package/lib-es/logic/craftTransaction.test.d.ts.map +0 -1
  226. package/lib-es/logic/craftTransaction.test.js +0 -122
  227. package/lib-es/logic/craftTransaction.test.js.map +0 -1
  228. package/lib-es/logic/estimateFees.integration.test.d.ts +0 -2
  229. package/lib-es/logic/estimateFees.integration.test.d.ts.map +0 -1
  230. package/lib-es/logic/estimateFees.integration.test.js +0 -77
  231. package/lib-es/logic/estimateFees.integration.test.js.map +0 -1
  232. package/lib-es/logic/estimateFees.test.d.ts +0 -2
  233. package/lib-es/logic/estimateFees.test.d.ts.map +0 -1
  234. package/lib-es/logic/estimateFees.test.js +0 -65
  235. package/lib-es/logic/estimateFees.test.js.map +0 -1
  236. package/lib-es/logic/getBalance.integration.test.d.ts +0 -2
  237. package/lib-es/logic/getBalance.integration.test.d.ts.map +0 -1
  238. package/lib-es/logic/getBalance.integration.test.js +0 -51
  239. package/lib-es/logic/getBalance.integration.test.js.map +0 -1
  240. package/lib-es/logic/getBalance.test.d.ts +0 -2
  241. package/lib-es/logic/getBalance.test.d.ts.map +0 -1
  242. package/lib-es/logic/getBalance.test.js +0 -62
  243. package/lib-es/logic/getBalance.test.js.map +0 -1
  244. package/lib-es/logic/lastBlock.test.d.ts +0 -2
  245. package/lib-es/logic/lastBlock.test.d.ts.map +0 -1
  246. package/lib-es/logic/lastBlock.test.js +0 -25
  247. package/lib-es/logic/lastBlock.test.js.map +0 -1
  248. package/lib-es/logic/listOperations.test.d.ts +0 -2
  249. package/lib-es/logic/listOperations.test.d.ts.map +0 -1
  250. package/lib-es/logic/listOperations.test.js +0 -77
  251. package/lib-es/logic/listOperations.test.js.map +0 -1
  252. package/lib-es/network/sdk.integration.test.d.ts +0 -2
  253. package/lib-es/network/sdk.integration.test.d.ts.map +0 -1
  254. package/lib-es/network/sdk.integration.test.js +0 -210
  255. package/lib-es/network/sdk.integration.test.js.map +0 -1
  256. package/lib-es/network/sdk.test.d.ts +0 -2
  257. package/lib-es/network/sdk.test.d.ts.map +0 -1
  258. package/lib-es/network/sdk.test.js +0 -1786
  259. package/lib-es/network/sdk.test.js.map +0 -1
  260. package/lib-es/signer/getAddress.test.d.ts +0 -2
  261. package/lib-es/signer/getAddress.test.d.ts.map +0 -1
  262. package/lib-es/signer/getAddress.test.js +0 -101
  263. package/lib-es/signer/getAddress.test.js.map +0 -1
  264. package/lib-es/test/config.test.d.ts +0 -2
  265. package/lib-es/test/config.test.d.ts.map +0 -1
  266. package/lib-es/test/config.test.js +0 -39
  267. package/lib-es/test/config.test.js.map +0 -1
@@ -1,229 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import { buildTransaction } from "./buildTransaction";
3
- import { createFixtureAccount } from "../types/bridge.fixture";
4
- // Mock the craftTransaction function
5
- jest.mock("../logic", () => ({
6
- craftTransaction: jest.fn(),
7
- }));
8
- import { craftTransaction } from "../logic";
9
- describe("buildTransaction", () => {
10
- const mockAccount = {
11
- id: "test-account-id",
12
- name: "Test Account",
13
- address: "0x1234567890abcdef",
14
- freshAddress: "0x1234567890abcdef",
15
- freshAddressPath: "m/44'/784'/0'/0'/0'",
16
- currency: {
17
- id: "sui",
18
- name: "Sui",
19
- family: "sui",
20
- units: [],
21
- type: "CryptoCurrency",
22
- },
23
- balance: new BigNumber("1000000000"),
24
- spendableBalance: new BigNumber("1000000000"),
25
- blockHeight: 1000,
26
- lastSyncDate: new Date(),
27
- operations: [],
28
- pendingOperations: [],
29
- unit: {
30
- name: "SUI",
31
- code: "SUI",
32
- magnitude: 9,
33
- },
34
- type: "Account",
35
- };
36
- const mockTransaction = {
37
- id: "test-transaction-id",
38
- family: "sui",
39
- mode: "send",
40
- coinType: "0x2::sui::SUI",
41
- amount: new BigNumber("100000000"),
42
- recipient: "0xabcdef1234567890",
43
- fees: new BigNumber("1000000"),
44
- errors: {},
45
- warnings: {},
46
- useAllAmount: false,
47
- estimatedFees: new BigNumber("1000000"),
48
- feeStrategy: "medium",
49
- networkInfo: {
50
- family: "sui",
51
- fees: new BigNumber("1000000"),
52
- },
53
- };
54
- beforeEach(() => {
55
- jest.clearAllMocks();
56
- craftTransaction.mockResolvedValue({
57
- unsigned: new Uint8Array([1, 2, 3, 4, 5]),
58
- });
59
- });
60
- describe("buildTransaction", () => {
61
- it("should call craftTransaction with correct parameters for native asset", async () => {
62
- // WHEN
63
- await buildTransaction(mockAccount, mockTransaction);
64
- // THEN
65
- expect(craftTransaction).toHaveBeenCalledWith({
66
- intentType: "transaction",
67
- sender: mockAccount.freshAddress,
68
- recipient: mockTransaction.recipient,
69
- type: mockTransaction.mode,
70
- amount: BigInt(mockTransaction.amount.toString()),
71
- asset: { type: "native" },
72
- useAllAmount: false,
73
- stakedSuiId: "",
74
- });
75
- });
76
- it("should call craftTransaction with correct parameters for token asset", async () => {
77
- const account = createFixtureAccount({
78
- id: "parentAccountId",
79
- balance: BigNumber(0),
80
- spendableBalance: BigNumber(0),
81
- subAccounts: [
82
- createFixtureAccount({
83
- id: "subAccountId",
84
- parentId: "parentAccountId",
85
- type: "TokenAccount",
86
- token: {
87
- contractAddress: "0x3::usdt::USDT",
88
- },
89
- }),
90
- ],
91
- });
92
- // WHEN
93
- await buildTransaction(account, {
94
- ...mockTransaction,
95
- subAccountId: "subAccountId",
96
- coinType: "0x3::usdt::USDT",
97
- });
98
- // THEN
99
- expect(craftTransaction).toHaveBeenCalledWith({
100
- intentType: "transaction",
101
- sender: account.freshAddress,
102
- recipient: mockTransaction.recipient,
103
- type: mockTransaction.mode,
104
- useAllAmount: false,
105
- stakedSuiId: "",
106
- amount: BigInt(mockTransaction.amount.toString()),
107
- asset: { type: "token", assetReference: "0x3::usdt::USDT" },
108
- });
109
- });
110
- it("should return the result from craftTransaction", async () => {
111
- const expectedResult = {
112
- unsigned: new Uint8Array([1, 2, 3, 4, 5]),
113
- };
114
- // WHEN
115
- const result = await buildTransaction(mockAccount, mockTransaction);
116
- // THEN
117
- expect(result).toEqual(expectedResult);
118
- expect(result.unsigned).toBeInstanceOf(Uint8Array);
119
- });
120
- it("should handle BigNumber amount conversion correctly", async () => {
121
- const transactionWithLargeAmount = {
122
- ...mockTransaction,
123
- amount: new BigNumber("999999999999999999"),
124
- };
125
- // WHEN
126
- await buildTransaction(mockAccount, transactionWithLargeAmount);
127
- // THEN
128
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
129
- amount: BigInt("999999999999999999"),
130
- }));
131
- });
132
- it("should handle zero amount", async () => {
133
- const transactionWithZeroAmount = {
134
- ...mockTransaction,
135
- amount: new BigNumber("0"),
136
- };
137
- // WHEN
138
- await buildTransaction(mockAccount, transactionWithZeroAmount);
139
- // THEN
140
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
141
- amount: BigInt("0"),
142
- }));
143
- });
144
- it("should handle different transaction modes", async () => {
145
- const transactionWithDifferentMode = {
146
- ...mockTransaction,
147
- mode: "send",
148
- };
149
- // WHEN
150
- await buildTransaction(mockAccount, transactionWithDifferentMode);
151
- // THEN
152
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
153
- type: "send",
154
- }));
155
- });
156
- it("should handle different recipient addresses", async () => {
157
- const transactionWithDifferentRecipient = {
158
- ...mockTransaction,
159
- recipient: "0x9876543210fedcba",
160
- };
161
- // WHEN
162
- await buildTransaction(mockAccount, transactionWithDifferentRecipient);
163
- // THEN
164
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
165
- recipient: "0x9876543210fedcba",
166
- }));
167
- });
168
- it("should handle different account addresses", async () => {
169
- const accountWithDifferentAddress = {
170
- ...mockAccount,
171
- freshAddress: "0xabcdef1234567890",
172
- };
173
- // WHEN
174
- await buildTransaction(accountWithDifferentAddress, mockTransaction);
175
- // THEN
176
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
177
- sender: "0xabcdef1234567890",
178
- }));
179
- });
180
- it("should propagate errors from craftTransaction", async () => {
181
- const error = new Error("Transaction creation failed");
182
- craftTransaction.mockRejectedValue(error);
183
- // WHEN & THEN
184
- await expect(buildTransaction(mockAccount, mockTransaction)).rejects.toThrow("Transaction creation failed");
185
- });
186
- it("should handle craftTransaction returning null", async () => {
187
- craftTransaction.mockResolvedValue(null);
188
- // WHEN
189
- const result = await buildTransaction(mockAccount, mockTransaction);
190
- // THEN
191
- expect(result).toBeNull();
192
- });
193
- it("should handle craftTransaction returning undefined", async () => {
194
- craftTransaction.mockResolvedValue(undefined);
195
- // WHEN
196
- const result = await buildTransaction(mockAccount, mockTransaction);
197
- // THEN
198
- expect(result).toBeUndefined();
199
- });
200
- });
201
- describe("Edge Cases", () => {
202
- it("should handle empty recipient string", async () => {
203
- const transactionWithEmptyRecipient = {
204
- ...mockTransaction,
205
- recipient: "",
206
- };
207
- // WHEN
208
- await buildTransaction(mockAccount, transactionWithEmptyRecipient);
209
- // THEN
210
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
211
- recipient: "",
212
- }));
213
- });
214
- it("should handle very long recipient addresses", async () => {
215
- const longAddress = "0x" + "a".repeat(100);
216
- const transactionWithLongRecipient = {
217
- ...mockTransaction,
218
- recipient: longAddress,
219
- };
220
- // WHEN
221
- await buildTransaction(mockAccount, transactionWithLongRecipient);
222
- // THEN
223
- expect(craftTransaction).toHaveBeenCalledWith(expect.objectContaining({
224
- recipient: longAddress,
225
- }));
226
- });
227
- });
228
- });
229
- //# sourceMappingURL=buildTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/buildTransaction.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=estimateMaxSpendable.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimateMaxSpendable.test.d.ts","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":""}
@@ -1,50 +0,0 @@
1
- import { BigNumber } from "bignumber.js";
2
- import { estimateMaxSpendable } from "./estimateMaxSpendable";
3
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
4
- const mockEstimateFees = jest.fn();
5
- jest.mock("../logic", () => ({
6
- estimateFees: () => mockEstimateFees(),
7
- }));
8
- describe("estimateMaxSpendable", () => {
9
- it("should return the correct spendable amount when fees are deducted", async () => {
10
- // GIVEN
11
- const balance = new BigNumber(100);
12
- const account = createFixtureAccount({ spendableBalance: balance });
13
- const transaction = createFixtureTransaction();
14
- const fees = new BigNumber(10);
15
- mockEstimateFees.mockResolvedValue(fees);
16
- // WHEN
17
- const result = await estimateMaxSpendable({ account, transaction });
18
- // THEN
19
- expect(mockEstimateFees).toHaveBeenCalledTimes(1);
20
- expect(result).toEqual(balance.minus(fees));
21
- });
22
- it("should apply delegation-specific constraints and gas reservation", async () => {
23
- // GIVEN
24
- const balance = new BigNumber("5000000000"); // 5 SUI
25
- const account = createFixtureAccount({ spendableBalance: balance });
26
- const transaction = createFixtureTransaction({ mode: "delegate" });
27
- const fees = new BigNumber("100000000"); // 0.1 SUI
28
- mockEstimateFees.mockResolvedValue(fees);
29
- // WHEN
30
- const result = await estimateMaxSpendable({ account, transaction });
31
- // THEN
32
- // Should deduct fees (0.1 SUI) = 0.1 SUI from 5 SUI = 4.9 SUI
33
- const expectedAmount = balance.minus(fees); // 4.8 SUI
34
- expect(result).toEqual(expectedAmount);
35
- });
36
- it("should return 0 for delegation when balance is below minimum threshold", async () => {
37
- // GIVEN
38
- const balance = new BigNumber("800000000"); // 0.8 SUI (below 1 SUI minimum after fees/reserve)
39
- const account = createFixtureAccount({ spendableBalance: balance });
40
- const transaction = createFixtureTransaction({ mode: "delegate" });
41
- const fees = new BigNumber("100000000"); // 0.1 SUI
42
- mockEstimateFees.mockResolvedValue(fees);
43
- // WHEN
44
- const result = await estimateMaxSpendable({ account, transaction });
45
- // THEN
46
- // After deducting fees (0.1) + gas reserve (0.1) = 0.6 SUI, which is < 1 SUI minimum
47
- expect(result).toEqual(new BigNumber(0));
48
- });
49
- });
50
- //# sourceMappingURL=estimateMaxSpendable.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"estimateMaxSpendable.test.js","sourceRoot":"","sources":["../../src/bridge/estimateMaxSpendable.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=formatters.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.test.d.ts","sourceRoot":"","sources":["../../src/bridge/formatters.test.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { fromOperationExtraRaw, toOperationExtraRaw } from "./formatters";
2
- describe("formatters", () => {
3
- describe("fromOperationExtraRaw", () => {
4
- it("should return an empty object when no extraRaw is provided", () => {
5
- const result = fromOperationExtraRaw(undefined);
6
- expect(result).toEqual({});
7
- });
8
- });
9
- describe("toOperationExtraRaw", () => {
10
- it("should return an empty object when no extra is provided", () => {
11
- const result = toOperationExtraRaw(undefined);
12
- expect(result).toEqual({});
13
- });
14
- });
15
- });
16
- //# sourceMappingURL=formatters.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"formatters.test.js","sourceRoot":"","sources":["../../src/bridge/formatters.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE1E,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getFeesForTransaction.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":""}
@@ -1,30 +0,0 @@
1
- import getEstimatedFees from "./getFeesForTransaction";
2
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
3
- const estimateFees = jest.fn();
4
- jest.mock("../logic", () => {
5
- return {
6
- estimateFees: (arg) => estimateFees(arg),
7
- };
8
- });
9
- describe("getEstimatedFees", () => {
10
- const transaction = createFixtureTransaction();
11
- beforeEach(() => {
12
- estimateFees.mockClear();
13
- });
14
- it("returns fees estimation by sui sdk", async () => {
15
- // GIVEN
16
- const account = createFixtureAccount();
17
- const gasBudget = BigInt("3976000");
18
- estimateFees.mockResolvedValue(gasBudget);
19
- // WHEN
20
- const result = await getEstimatedFees({
21
- account,
22
- transaction,
23
- });
24
- // THEN
25
- expect(estimateFees).toHaveBeenCalledTimes(1);
26
- expect(estimateFees.mock.lastCall).not.toBeNull();
27
- expect(result.toString()).toEqual(gasBudget.toString());
28
- });
29
- });
30
- //# sourceMappingURL=getFeesForTransaction.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFeesForTransaction.test.js","sourceRoot":"","sources":["../../src/bridge/getFeesForTransaction.test.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEzF,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;AAE/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;IACzB,OAAO;QACL,YAAY,EAAE,CAAC,GAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC;KAC9C,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,WAAW,GAAG,wBAAwB,EAAE,CAAC;IAE/C,UAAU,CAAC,GAAG,EAAE;QACd,YAAY,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,QAAQ;QACR,MAAM,OAAO,GAAG,oBAAoB,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,YAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO;QACP,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,OAAO;YACP,WAAW;SACZ,CAAC,CAAC;QAEH,OAAO;QACP,MAAM,CAAC,YAAY,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getTransactionStatus.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTransactionStatus.test.d.ts","sourceRoot":"","sources":["../../src/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":""}
@@ -1,64 +0,0 @@
1
- import { NotEnoughBalance, NotEnoughBalanceInParentAccount, RecipientRequired, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, AmountRequired, FeeNotLoaded, } from "@ledgerhq/errors";
2
- import { createFixtureAccount, createFixtureTransaction } from "../types/bridge.fixture";
3
- import getTransactionStatus from "./getTransactionStatus";
4
- import BigNumber from "bignumber.js";
5
- const account = createFixtureAccount();
6
- describe("getTransactionStatus", () => {
7
- it("should return errors if recipient empty", async () => {
8
- const transaction = createFixtureTransaction({ recipient: null });
9
- const result = await getTransactionStatus(account, transaction);
10
- const expected = { recipient: new RecipientRequired() };
11
- expect(result.errors).toEqual(expected);
12
- });
13
- it("should return errors if recipient is invalid sui adress", async () => {
14
- const transaction = createFixtureTransaction({ recipient: "notValidSuiAddress" });
15
- const result = await getTransactionStatus(account, transaction);
16
- const expected = { recipient: new InvalidAddress() };
17
- expect(result.errors).toEqual(expected);
18
- });
19
- it("should return errors if recipient equals to sender", async () => {
20
- const transaction = createFixtureTransaction({ recipient: account.freshAddress });
21
- const result = await getTransactionStatus(account, transaction);
22
- const expected = { recipient: new InvalidAddressBecauseDestinationIsAlsoSource() };
23
- expect(result.errors).toEqual(expected);
24
- });
25
- it("should return errors if amount not provided", async () => {
26
- const transaction = createFixtureTransaction({ amount: null });
27
- const result = await getTransactionStatus(account, transaction);
28
- const expected = { amount: new AmountRequired() };
29
- expect(result.errors).toEqual(expected);
30
- });
31
- it("should return errors if amount exceeds balance", async () => {
32
- const transaction = createFixtureTransaction({ amount: account.balance.plus(1) });
33
- const result = await getTransactionStatus(account, transaction);
34
- const expected = { amount: new NotEnoughBalance() };
35
- expect(result.errors).toEqual(expected);
36
- });
37
- it("should return errors fees not loaded", async () => {
38
- const transaction = createFixtureTransaction({ fees: null });
39
- const result = await getTransactionStatus(account, transaction);
40
- const expected = { fees: new FeeNotLoaded() };
41
- expect(result.errors).toEqual(expected);
42
- });
43
- it("should return errors if not enought balance for fees", async () => {
44
- const transaction = createFixtureTransaction({
45
- subAccountId: "subAccountId",
46
- });
47
- const account = createFixtureAccount({
48
- id: "parentAccountId",
49
- balance: BigNumber(0),
50
- spendableBalance: BigNumber(0),
51
- subAccounts: [
52
- createFixtureAccount({
53
- id: "subAccountId",
54
- parentId: "parentAccountId",
55
- type: "TokenAccount",
56
- }),
57
- ],
58
- });
59
- const result = await getTransactionStatus(account, transaction);
60
- const expected = { amount: new NotEnoughBalanceInParentAccount() };
61
- expect(result.errors).toEqual(expected);
62
- });
63
- });
64
- //# 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,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/bridge/index.test.ts"],"names":[],"mappings":""}