@ledgerhq/coin-aptos 3.4.0-nightly.7 → 3.4.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 (299) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +25 -66
  3. package/lib/__tests__/api/craftTransaction.unit.test.d.ts +2 -0
  4. package/lib/__tests__/api/craftTransaction.unit.test.d.ts.map +1 -0
  5. package/lib/__tests__/api/craftTransaction.unit.test.js +177 -0
  6. package/lib/__tests__/api/craftTransaction.unit.test.js.map +1 -0
  7. package/lib/__tests__/api/getBalance.unit.test.d.ts +2 -0
  8. package/lib/__tests__/api/getBalance.unit.test.d.ts.map +1 -0
  9. package/lib/__tests__/api/getBalance.unit.test.js +80 -0
  10. package/lib/__tests__/api/getBalance.unit.test.js.map +1 -0
  11. package/lib/__tests__/api/index.integ.test.d.ts +2 -0
  12. package/lib/__tests__/api/index.integ.test.d.ts.map +1 -0
  13. package/lib/__tests__/api/index.integ.test.js +340 -0
  14. package/lib/__tests__/api/index.integ.test.js.map +1 -0
  15. package/lib/__tests__/api/index.test.d.ts +2 -0
  16. package/lib/__tests__/api/index.test.d.ts.map +1 -0
  17. package/lib/__tests__/api/index.test.js +66 -0
  18. package/lib/__tests__/api/index.test.js.map +1 -0
  19. package/lib/__tests__/bridge/broadcast.test.d.ts +2 -0
  20. package/lib/__tests__/bridge/broadcast.test.d.ts.map +1 -0
  21. package/lib/__tests__/bridge/broadcast.test.js +92 -0
  22. package/lib/__tests__/bridge/broadcast.test.js.map +1 -0
  23. package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
  24. package/lib/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
  25. package/lib/__tests__/bridge/deviceTransactionConfig.test.js +128 -0
  26. package/lib/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
  27. package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
  28. package/lib/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  29. package/lib/__tests__/bridge/estimateMaxSpendable.test.js +75 -0
  30. package/lib/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
  31. package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
  32. package/lib/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  33. package/lib/__tests__/bridge/getFeesForTransaction.test.js +280 -0
  34. package/lib/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
  35. package/lib/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
  36. package/lib/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
  37. package/lib/__tests__/bridge/getTransactionStatus.test.js +453 -0
  38. package/lib/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
  39. package/lib/__tests__/bridge/index.test.d.ts +2 -0
  40. package/lib/__tests__/bridge/index.test.d.ts.map +1 -0
  41. package/lib/__tests__/bridge/index.test.js +110 -0
  42. package/lib/__tests__/bridge/index.test.js.map +1 -0
  43. package/lib/__tests__/bridge/logic.test.d.ts +2 -0
  44. package/lib/__tests__/bridge/logic.test.d.ts.map +1 -0
  45. package/lib/__tests__/bridge/logic.test.js +997 -0
  46. package/lib/__tests__/bridge/logic.test.js.map +1 -0
  47. package/lib/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
  48. package/lib/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
  49. package/lib/__tests__/bridge/prepareTransaction.test.js +109 -0
  50. package/lib/__tests__/bridge/prepareTransaction.test.js.map +1 -0
  51. package/lib/__tests__/bridge/serialization.d.ts +2 -0
  52. package/lib/__tests__/bridge/serialization.d.ts.map +1 -0
  53. package/lib/__tests__/bridge/serialization.js +91 -0
  54. package/lib/__tests__/bridge/serialization.js.map +1 -0
  55. package/lib/__tests__/bridge/signOperation.test.d.ts +2 -0
  56. package/lib/__tests__/bridge/signOperation.test.d.ts.map +1 -0
  57. package/lib/__tests__/bridge/signOperation.test.js +299 -0
  58. package/lib/__tests__/bridge/signOperation.test.js.map +1 -0
  59. package/lib/__tests__/bridge/synchronisation.test.d.ts +2 -0
  60. package/lib/__tests__/bridge/synchronisation.test.d.ts.map +1 -0
  61. package/lib/__tests__/bridge/synchronisation.test.js +2226 -0
  62. package/lib/__tests__/bridge/synchronisation.test.js.map +1 -0
  63. package/lib/__tests__/bridge/transaction.test.d.ts +2 -0
  64. package/lib/__tests__/bridge/transaction.test.d.ts.map +1 -0
  65. package/lib/__tests__/bridge/transaction.test.js +221 -0
  66. package/lib/__tests__/bridge/transaction.test.js.map +1 -0
  67. package/lib/__tests__/errors.test.d.ts +2 -0
  68. package/lib/__tests__/errors.test.d.ts.map +1 -0
  69. package/lib/__tests__/errors.test.js +18 -0
  70. package/lib/__tests__/errors.test.js.map +1 -0
  71. package/lib/__tests__/index.test.d.ts +2 -0
  72. package/lib/__tests__/index.test.d.ts.map +1 -0
  73. package/lib/__tests__/index.test.js +27 -0
  74. package/lib/__tests__/index.test.js.map +1 -0
  75. package/lib/__tests__/logic/buildTransaction.test.d.ts +2 -0
  76. package/lib/__tests__/logic/buildTransaction.test.d.ts.map +1 -0
  77. package/lib/__tests__/logic/buildTransaction.test.js +114 -0
  78. package/lib/__tests__/logic/buildTransaction.test.js.map +1 -0
  79. package/lib/__tests__/logic/calculateAmount.unit.test.d.ts +2 -0
  80. package/lib/__tests__/logic/calculateAmount.unit.test.d.ts.map +1 -0
  81. package/lib/__tests__/logic/calculateAmount.unit.test.js +45 -0
  82. package/lib/__tests__/logic/calculateAmount.unit.test.js.map +1 -0
  83. package/lib/__tests__/logic/combine.unit.test.d.ts +2 -0
  84. package/lib/__tests__/logic/combine.unit.test.d.ts.map +1 -0
  85. package/lib/__tests__/logic/combine.unit.test.js +47 -0
  86. package/lib/__tests__/logic/combine.unit.test.js.map +1 -0
  87. package/lib/__tests__/logic/compareAddress.unit.test.d.ts +2 -0
  88. package/lib/__tests__/logic/compareAddress.unit.test.d.ts.map +1 -0
  89. package/lib/__tests__/logic/compareAddress.unit.test.js +26 -0
  90. package/lib/__tests__/logic/compareAddress.unit.test.js.map +1 -0
  91. package/lib/__tests__/logic/createTransaction.test.d.ts +2 -0
  92. package/lib/__tests__/logic/createTransaction.test.d.ts.map +1 -0
  93. package/lib/__tests__/logic/createTransaction.test.js +29 -0
  94. package/lib/__tests__/logic/createTransaction.test.js.map +1 -0
  95. package/lib/__tests__/logic/getBalances.test.d.ts +2 -0
  96. package/lib/__tests__/logic/getBalances.test.d.ts.map +1 -0
  97. package/lib/__tests__/logic/getBalances.test.js +62 -0
  98. package/lib/__tests__/logic/getBalances.test.js.map +1 -0
  99. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.d.ts +2 -0
  100. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.d.ts.map +1 -0
  101. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.js +186 -0
  102. package/lib/__tests__/logic/getCoinAndAmounts.unit.test.js.map +1 -0
  103. package/lib/__tests__/logic/getFunctionAddress.unit.test.d.ts +2 -0
  104. package/lib/__tests__/logic/getFunctionAddress.unit.test.d.ts.map +1 -0
  105. package/lib/__tests__/logic/getFunctionAddress.unit.test.js +29 -0
  106. package/lib/__tests__/logic/getFunctionAddress.unit.test.js.map +1 -0
  107. package/lib/__tests__/logic/getResourceAddress.unit.test.d.ts +2 -0
  108. package/lib/__tests__/logic/getResourceAddress.unit.test.d.ts.map +1 -0
  109. package/lib/__tests__/logic/getResourceAddress.unit.test.js +218 -0
  110. package/lib/__tests__/logic/getResourceAddress.unit.test.js.map +1 -0
  111. package/lib/__tests__/logic/isTestnet.unit.test.d.ts +2 -0
  112. package/lib/__tests__/logic/isTestnet.unit.test.d.ts.map +1 -0
  113. package/lib/__tests__/logic/isTestnet.unit.test.js +12 -0
  114. package/lib/__tests__/logic/isTestnet.unit.test.js.map +1 -0
  115. package/lib/__tests__/logic/normalizeAddress.unit.test.d.ts +2 -0
  116. package/lib/__tests__/logic/normalizeAddress.unit.test.d.ts.map +1 -0
  117. package/lib/__tests__/logic/normalizeAddress.unit.test.js +12 -0
  118. package/lib/__tests__/logic/normalizeAddress.unit.test.js.map +1 -0
  119. package/lib/__tests__/logic/processRecipients.unit.test.d.ts +2 -0
  120. package/lib/__tests__/logic/processRecipients.unit.test.d.ts.map +1 -0
  121. package/lib/__tests__/logic/processRecipients.unit.test.js +79 -0
  122. package/lib/__tests__/logic/processRecipients.unit.test.js.map +1 -0
  123. package/lib/__tests__/logic/staking.test.d.ts +2 -0
  124. package/lib/__tests__/logic/staking.test.d.ts.map +1 -0
  125. package/lib/__tests__/logic/staking.test.js +202 -0
  126. package/lib/__tests__/logic/staking.test.js.map +1 -0
  127. package/lib/__tests__/network/client.test.d.ts +2 -0
  128. package/lib/__tests__/network/client.test.d.ts.map +1 -0
  129. package/lib/__tests__/network/client.test.js +1179 -0
  130. package/lib/__tests__/network/client.test.js.map +1 -0
  131. package/lib/__tests__/network/index.test.d.ts +2 -0
  132. package/lib/__tests__/network/index.test.d.ts.map +1 -0
  133. package/lib/__tests__/network/index.test.js +51 -0
  134. package/lib/__tests__/network/index.test.js.map +1 -0
  135. package/lib/__tests__/network/validators.test.d.ts +2 -0
  136. package/lib/__tests__/network/validators.test.d.ts.map +1 -0
  137. package/lib/__tests__/network/validators.test.js +102 -0
  138. package/lib/__tests__/network/validators.test.js.map +1 -0
  139. package/lib/__tests__/signer/index.test.d.ts +2 -0
  140. package/lib/__tests__/signer/index.test.d.ts.map +1 -0
  141. package/lib/__tests__/signer/index.test.js +26 -0
  142. package/lib/__tests__/signer/index.test.js.map +1 -0
  143. package/lib/__tests__/utils/IconGenerator.test.d.ts +2 -0
  144. package/lib/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
  145. package/lib/__tests__/utils/IconGenerator.test.js +14 -0
  146. package/lib/__tests__/utils/IconGenerator.test.js.map +1 -0
  147. package/lib/__tests__/utils/index.test.d.ts +2 -0
  148. package/lib/__tests__/utils/index.test.d.ts.map +1 -0
  149. package/lib/__tests__/utils/index.test.js +11 -0
  150. package/lib/__tests__/utils/index.test.js.map +1 -0
  151. package/lib-es/__tests__/api/craftTransaction.unit.test.d.ts +2 -0
  152. package/lib-es/__tests__/api/craftTransaction.unit.test.d.ts.map +1 -0
  153. package/lib-es/__tests__/api/craftTransaction.unit.test.js +175 -0
  154. package/lib-es/__tests__/api/craftTransaction.unit.test.js.map +1 -0
  155. package/lib-es/__tests__/api/getBalance.unit.test.d.ts +2 -0
  156. package/lib-es/__tests__/api/getBalance.unit.test.d.ts.map +1 -0
  157. package/lib-es/__tests__/api/getBalance.unit.test.js +78 -0
  158. package/lib-es/__tests__/api/getBalance.unit.test.js.map +1 -0
  159. package/lib-es/__tests__/api/index.integ.test.d.ts +2 -0
  160. package/lib-es/__tests__/api/index.integ.test.d.ts.map +1 -0
  161. package/lib-es/__tests__/api/index.integ.test.js +338 -0
  162. package/lib-es/__tests__/api/index.integ.test.js.map +1 -0
  163. package/lib-es/__tests__/api/index.test.d.ts +2 -0
  164. package/lib-es/__tests__/api/index.test.d.ts.map +1 -0
  165. package/lib-es/__tests__/api/index.test.js +61 -0
  166. package/lib-es/__tests__/api/index.test.js.map +1 -0
  167. package/lib-es/__tests__/bridge/broadcast.test.d.ts +2 -0
  168. package/lib-es/__tests__/bridge/broadcast.test.d.ts.map +1 -0
  169. package/lib-es/__tests__/bridge/broadcast.test.js +87 -0
  170. package/lib-es/__tests__/bridge/broadcast.test.js.map +1 -0
  171. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts +2 -0
  172. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.d.ts.map +1 -0
  173. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js +123 -0
  174. package/lib-es/__tests__/bridge/deviceTransactionConfig.test.js.map +1 -0
  175. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts +2 -0
  176. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.d.ts.map +1 -0
  177. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js +70 -0
  178. package/lib-es/__tests__/bridge/estimateMaxSpendable.test.js.map +1 -0
  179. package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts +2 -0
  180. package/lib-es/__tests__/bridge/getFeesForTransaction.test.d.ts.map +1 -0
  181. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js +252 -0
  182. package/lib-es/__tests__/bridge/getFeesForTransaction.test.js.map +1 -0
  183. package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts +2 -0
  184. package/lib-es/__tests__/bridge/getTransactionStatus.test.d.ts.map +1 -0
  185. package/lib-es/__tests__/bridge/getTransactionStatus.test.js +448 -0
  186. package/lib-es/__tests__/bridge/getTransactionStatus.test.js.map +1 -0
  187. package/lib-es/__tests__/bridge/index.test.d.ts +2 -0
  188. package/lib-es/__tests__/bridge/index.test.d.ts.map +1 -0
  189. package/lib-es/__tests__/bridge/index.test.js +105 -0
  190. package/lib-es/__tests__/bridge/index.test.js.map +1 -0
  191. package/lib-es/__tests__/bridge/logic.test.d.ts +2 -0
  192. package/lib-es/__tests__/bridge/logic.test.d.ts.map +1 -0
  193. package/lib-es/__tests__/bridge/logic.test.js +992 -0
  194. package/lib-es/__tests__/bridge/logic.test.js.map +1 -0
  195. package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts +2 -0
  196. package/lib-es/__tests__/bridge/prepareTransaction.test.d.ts.map +1 -0
  197. package/lib-es/__tests__/bridge/prepareTransaction.test.js +104 -0
  198. package/lib-es/__tests__/bridge/prepareTransaction.test.js.map +1 -0
  199. package/lib-es/__tests__/bridge/serialization.d.ts +2 -0
  200. package/lib-es/__tests__/bridge/serialization.d.ts.map +1 -0
  201. package/lib-es/__tests__/bridge/serialization.js +86 -0
  202. package/lib-es/__tests__/bridge/serialization.js.map +1 -0
  203. package/lib-es/__tests__/bridge/signOperation.test.d.ts +2 -0
  204. package/lib-es/__tests__/bridge/signOperation.test.d.ts.map +1 -0
  205. package/lib-es/__tests__/bridge/signOperation.test.js +271 -0
  206. package/lib-es/__tests__/bridge/signOperation.test.js.map +1 -0
  207. package/lib-es/__tests__/bridge/synchronisation.test.d.ts +2 -0
  208. package/lib-es/__tests__/bridge/synchronisation.test.d.ts.map +1 -0
  209. package/lib-es/__tests__/bridge/synchronisation.test.js +2221 -0
  210. package/lib-es/__tests__/bridge/synchronisation.test.js.map +1 -0
  211. package/lib-es/__tests__/bridge/transaction.test.d.ts +2 -0
  212. package/lib-es/__tests__/bridge/transaction.test.d.ts.map +1 -0
  213. package/lib-es/__tests__/bridge/transaction.test.js +216 -0
  214. package/lib-es/__tests__/bridge/transaction.test.js.map +1 -0
  215. package/lib-es/__tests__/errors.test.d.ts +2 -0
  216. package/lib-es/__tests__/errors.test.d.ts.map +1 -0
  217. package/lib-es/__tests__/errors.test.js +16 -0
  218. package/lib-es/__tests__/errors.test.js.map +1 -0
  219. package/lib-es/__tests__/index.test.d.ts +2 -0
  220. package/lib-es/__tests__/index.test.d.ts.map +1 -0
  221. package/lib-es/__tests__/index.test.js +25 -0
  222. package/lib-es/__tests__/index.test.js.map +1 -0
  223. package/lib-es/__tests__/logic/buildTransaction.test.d.ts +2 -0
  224. package/lib-es/__tests__/logic/buildTransaction.test.d.ts.map +1 -0
  225. package/lib-es/__tests__/logic/buildTransaction.test.js +109 -0
  226. package/lib-es/__tests__/logic/buildTransaction.test.js.map +1 -0
  227. package/lib-es/__tests__/logic/calculateAmount.unit.test.d.ts +2 -0
  228. package/lib-es/__tests__/logic/calculateAmount.unit.test.d.ts.map +1 -0
  229. package/lib-es/__tests__/logic/calculateAmount.unit.test.js +40 -0
  230. package/lib-es/__tests__/logic/calculateAmount.unit.test.js.map +1 -0
  231. package/lib-es/__tests__/logic/combine.unit.test.d.ts +2 -0
  232. package/lib-es/__tests__/logic/combine.unit.test.d.ts.map +1 -0
  233. package/lib-es/__tests__/logic/combine.unit.test.js +45 -0
  234. package/lib-es/__tests__/logic/combine.unit.test.js.map +1 -0
  235. package/lib-es/__tests__/logic/compareAddress.unit.test.d.ts +2 -0
  236. package/lib-es/__tests__/logic/compareAddress.unit.test.d.ts.map +1 -0
  237. package/lib-es/__tests__/logic/compareAddress.unit.test.js +24 -0
  238. package/lib-es/__tests__/logic/compareAddress.unit.test.js.map +1 -0
  239. package/lib-es/__tests__/logic/createTransaction.test.d.ts +2 -0
  240. package/lib-es/__tests__/logic/createTransaction.test.d.ts.map +1 -0
  241. package/lib-es/__tests__/logic/createTransaction.test.js +24 -0
  242. package/lib-es/__tests__/logic/createTransaction.test.js.map +1 -0
  243. package/lib-es/__tests__/logic/getBalances.test.d.ts +2 -0
  244. package/lib-es/__tests__/logic/getBalances.test.d.ts.map +1 -0
  245. package/lib-es/__tests__/logic/getBalances.test.js +60 -0
  246. package/lib-es/__tests__/logic/getBalances.test.js.map +1 -0
  247. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.d.ts +2 -0
  248. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.d.ts.map +1 -0
  249. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.js +181 -0
  250. package/lib-es/__tests__/logic/getCoinAndAmounts.unit.test.js.map +1 -0
  251. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.d.ts +2 -0
  252. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.d.ts.map +1 -0
  253. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.js +27 -0
  254. package/lib-es/__tests__/logic/getFunctionAddress.unit.test.js.map +1 -0
  255. package/lib-es/__tests__/logic/getResourceAddress.unit.test.d.ts +2 -0
  256. package/lib-es/__tests__/logic/getResourceAddress.unit.test.d.ts.map +1 -0
  257. package/lib-es/__tests__/logic/getResourceAddress.unit.test.js +216 -0
  258. package/lib-es/__tests__/logic/getResourceAddress.unit.test.js.map +1 -0
  259. package/lib-es/__tests__/logic/isTestnet.unit.test.d.ts +2 -0
  260. package/lib-es/__tests__/logic/isTestnet.unit.test.d.ts.map +1 -0
  261. package/lib-es/__tests__/logic/isTestnet.unit.test.js +10 -0
  262. package/lib-es/__tests__/logic/isTestnet.unit.test.js.map +1 -0
  263. package/lib-es/__tests__/logic/normalizeAddress.unit.test.d.ts +2 -0
  264. package/lib-es/__tests__/logic/normalizeAddress.unit.test.d.ts.map +1 -0
  265. package/lib-es/__tests__/logic/normalizeAddress.unit.test.js +10 -0
  266. package/lib-es/__tests__/logic/normalizeAddress.unit.test.js.map +1 -0
  267. package/lib-es/__tests__/logic/processRecipients.unit.test.d.ts +2 -0
  268. package/lib-es/__tests__/logic/processRecipients.unit.test.d.ts.map +1 -0
  269. package/lib-es/__tests__/logic/processRecipients.unit.test.js +74 -0
  270. package/lib-es/__tests__/logic/processRecipients.unit.test.js.map +1 -0
  271. package/lib-es/__tests__/logic/staking.test.d.ts +2 -0
  272. package/lib-es/__tests__/logic/staking.test.d.ts.map +1 -0
  273. package/lib-es/__tests__/logic/staking.test.js +197 -0
  274. package/lib-es/__tests__/logic/staking.test.js.map +1 -0
  275. package/lib-es/__tests__/network/client.test.d.ts +2 -0
  276. package/lib-es/__tests__/network/client.test.d.ts.map +1 -0
  277. package/lib-es/__tests__/network/client.test.js +1174 -0
  278. package/lib-es/__tests__/network/client.test.js.map +1 -0
  279. package/lib-es/__tests__/network/index.test.d.ts +2 -0
  280. package/lib-es/__tests__/network/index.test.d.ts.map +1 -0
  281. package/lib-es/__tests__/network/index.test.js +49 -0
  282. package/lib-es/__tests__/network/index.test.js.map +1 -0
  283. package/lib-es/__tests__/network/validators.test.d.ts +2 -0
  284. package/lib-es/__tests__/network/validators.test.d.ts.map +1 -0
  285. package/lib-es/__tests__/network/validators.test.js +97 -0
  286. package/lib-es/__tests__/network/validators.test.js.map +1 -0
  287. package/lib-es/__tests__/signer/index.test.d.ts +2 -0
  288. package/lib-es/__tests__/signer/index.test.d.ts.map +1 -0
  289. package/lib-es/__tests__/signer/index.test.js +21 -0
  290. package/lib-es/__tests__/signer/index.test.js.map +1 -0
  291. package/lib-es/__tests__/utils/IconGenerator.test.d.ts +2 -0
  292. package/lib-es/__tests__/utils/IconGenerator.test.d.ts.map +1 -0
  293. package/lib-es/__tests__/utils/IconGenerator.test.js +12 -0
  294. package/lib-es/__tests__/utils/IconGenerator.test.js.map +1 -0
  295. package/lib-es/__tests__/utils/index.test.d.ts +2 -0
  296. package/lib-es/__tests__/utils/index.test.d.ts.map +1 -0
  297. package/lib-es/__tests__/utils/index.test.js +9 -0
  298. package/lib-es/__tests__/utils/index.test.js.map +1 -0
  299. package/package.json +10 -10
@@ -0,0 +1,448 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { createFixtureAccount, createFixtureAccountWithSubAccount, createFixtureTransaction, createFixtureTransactionWithSubAccount, } from "../../bridge/bridge.fixture";
3
+ import getTransactionStatus from "../../bridge/getTransactionStatus";
4
+ import { AmountRequired, FeeNotLoaded, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, NotEnoughBalance, NotEnoughToRestake, NotEnoughToStake, NotEnoughToUnstake, RecipientRequired, } from "@ledgerhq/errors";
5
+ import { MIN_COINS_ON_SHARES_POOL } from "../../constants";
6
+ const aptosResources = {
7
+ activeBalance: BigNumber(45988443248),
8
+ pendingInactiveBalance: BigNumber(67874023),
9
+ inactiveBalance: BigNumber(567600900),
10
+ stakingPositions: [
11
+ {
12
+ active: BigNumber(123456789),
13
+ inactive: BigNumber(567567567),
14
+ pendingInactive: BigNumber(5345),
15
+ validatorId: "validator-1",
16
+ },
17
+ {
18
+ active: BigNumber(3),
19
+ inactive: BigNumber(33333),
20
+ pendingInactive: BigNumber(67868678),
21
+ validatorId: "validator-2",
22
+ },
23
+ {
24
+ active: BigNumber(45864986459),
25
+ inactive: BigNumber(0),
26
+ pendingInactive: BigNumber(0),
27
+ validatorId: "validator-3",
28
+ },
29
+ ],
30
+ };
31
+ describe("getTransactionStatus Test", () => {
32
+ it("should return error for AmountRequired", async () => {
33
+ const account = createFixtureAccount();
34
+ const transaction = createFixtureTransaction();
35
+ transaction.fees = BigNumber(2);
36
+ transaction.recipient = "0x" + "0".repeat(64);
37
+ const result = await getTransactionStatus(account, transaction);
38
+ const expected = {
39
+ errors: {
40
+ amount: new AmountRequired(),
41
+ },
42
+ warnings: {},
43
+ estimatedFees: BigNumber(2),
44
+ amount: BigNumber(0),
45
+ totalSpent: BigNumber(2),
46
+ };
47
+ expect(result).toEqual(expected);
48
+ });
49
+ it("should return error for FeeNotLoaded", async () => {
50
+ const account = createFixtureAccount();
51
+ account.spendableBalance = BigNumber(10);
52
+ const transaction = createFixtureTransaction();
53
+ transaction.fees = null;
54
+ transaction.amount = BigNumber(2);
55
+ transaction.recipient = "0x" + "0".repeat(64);
56
+ const result = await getTransactionStatus(account, transaction);
57
+ const expected = {
58
+ errors: {
59
+ fees: new FeeNotLoaded(),
60
+ amount: new NotEnoughBalance(),
61
+ },
62
+ warnings: {},
63
+ estimatedFees: BigNumber(0),
64
+ amount: BigNumber(2),
65
+ totalSpent: BigNumber(2),
66
+ };
67
+ expect(result).toEqual(expected);
68
+ });
69
+ it("should return error for NotEnoughBalance", async () => {
70
+ const account = createFixtureAccount();
71
+ account.spendableBalance = BigNumber(1);
72
+ const transaction = createFixtureTransaction();
73
+ transaction.recipient = "0x" + "0".repeat(64);
74
+ transaction.amount = BigNumber(2);
75
+ transaction.fees = BigNumber(2);
76
+ const result = await getTransactionStatus(account, transaction);
77
+ const expected = {
78
+ errors: {
79
+ amount: new NotEnoughBalance(),
80
+ },
81
+ warnings: {},
82
+ estimatedFees: BigNumber(2),
83
+ amount: BigNumber(2),
84
+ totalSpent: BigNumber(4),
85
+ };
86
+ expect(result).toEqual(expected);
87
+ });
88
+ it("should return error for NotEnoughBalance and amount equal to zero with use all amount option", async () => {
89
+ const account = createFixtureAccount();
90
+ account.spendableBalance = BigNumber(1);
91
+ const transaction = createFixtureTransaction();
92
+ transaction.recipient = "0x" + "0".repeat(64);
93
+ transaction.amount = BigNumber(2);
94
+ transaction.fees = BigNumber(2);
95
+ transaction.useAllAmount = true;
96
+ const result = await getTransactionStatus(account, transaction);
97
+ const expected = {
98
+ errors: {
99
+ amount: new NotEnoughBalance(),
100
+ },
101
+ warnings: {},
102
+ estimatedFees: BigNumber(2),
103
+ amount: BigNumber(0),
104
+ totalSpent: BigNumber(2),
105
+ };
106
+ expect(result).toEqual(expected);
107
+ });
108
+ it("should return error for NotEnoughBalance for token account when not enough tokens", async () => {
109
+ const account = createFixtureAccountWithSubAccount("coin");
110
+ account.spendableBalance = BigNumber(300);
111
+ const transaction = createFixtureTransactionWithSubAccount();
112
+ transaction.recipient = "0x" + "0".repeat(64);
113
+ transaction.amount = BigNumber(2000);
114
+ transaction.fees = BigNumber(200);
115
+ const result = await getTransactionStatus(account, transaction);
116
+ const expected = {
117
+ errors: {
118
+ amount: new NotEnoughBalance(),
119
+ },
120
+ warnings: {},
121
+ estimatedFees: BigNumber(200),
122
+ amount: BigNumber(2000),
123
+ totalSpent: BigNumber(2000),
124
+ };
125
+ expect(result).toEqual(expected);
126
+ });
127
+ it("should return error for NotEnoughBalance with use all amount option", async () => {
128
+ const account = createFixtureAccount();
129
+ account.spendableBalance = BigNumber(1);
130
+ const transaction = createFixtureTransaction();
131
+ transaction.recipient = "0x" + "0".repeat(64);
132
+ transaction.amount = BigNumber(2);
133
+ transaction.fees = BigNumber(2);
134
+ transaction.useAllAmount = true;
135
+ const result = await getTransactionStatus(account, transaction);
136
+ const expected = {
137
+ errors: {
138
+ amount: new NotEnoughBalance(),
139
+ },
140
+ warnings: {},
141
+ estimatedFees: BigNumber(2),
142
+ amount: BigNumber(0),
143
+ totalSpent: BigNumber(2),
144
+ };
145
+ expect(result).toEqual(expected);
146
+ });
147
+ it("should return error for NotEnoughBalance for token account with use all amount option when not enough fees", async () => {
148
+ const account = createFixtureAccountWithSubAccount("coin");
149
+ account.spendableBalance = BigNumber(10);
150
+ const transaction = createFixtureTransactionWithSubAccount();
151
+ transaction.recipient = "0x" + "0".repeat(64);
152
+ transaction.amount = BigNumber(2000);
153
+ transaction.fees = BigNumber(200);
154
+ transaction.useAllAmount = true;
155
+ const result = await getTransactionStatus(account, transaction);
156
+ const expected = {
157
+ errors: {
158
+ amount: new NotEnoughBalance(),
159
+ },
160
+ warnings: {},
161
+ estimatedFees: BigNumber(200),
162
+ amount: BigNumber(1000),
163
+ totalSpent: BigNumber(1000),
164
+ };
165
+ expect(result).toEqual(expected);
166
+ });
167
+ it("should return error for NotEnoughBalanceFees", async () => {
168
+ const account = createFixtureAccountWithSubAccount("coin");
169
+ account.spendableBalance = BigNumber(1);
170
+ const transaction = createFixtureTransactionWithSubAccount();
171
+ transaction.recipient = "0x" + "0".repeat(64);
172
+ transaction.amount = BigNumber(2);
173
+ transaction.fees = BigNumber(0);
174
+ transaction.errors = { maxGasAmount: "GasInsufficientBalance" };
175
+ const result = await getTransactionStatus(account, transaction);
176
+ const expected = {
177
+ errors: {
178
+ amount: new NotEnoughBalance(),
179
+ },
180
+ warnings: {},
181
+ estimatedFees: BigNumber(0),
182
+ amount: BigNumber(2),
183
+ totalSpent: BigNumber(2),
184
+ };
185
+ expect(result).toEqual(expected);
186
+ });
187
+ it("should return error for RecipientRequired", async () => {
188
+ const account = createFixtureAccount();
189
+ account.spendableBalance = BigNumber(10);
190
+ const transaction = createFixtureTransaction();
191
+ transaction.amount = BigNumber(2);
192
+ transaction.fees = BigNumber(2);
193
+ transaction.recipient = "";
194
+ const result = await getTransactionStatus(account, transaction);
195
+ const expected = {
196
+ errors: {
197
+ recipient: new RecipientRequired(),
198
+ amount: new NotEnoughBalance(),
199
+ },
200
+ warnings: {},
201
+ estimatedFees: BigNumber(2),
202
+ amount: BigNumber(2),
203
+ totalSpent: BigNumber(4),
204
+ };
205
+ expect(result).toEqual(expected);
206
+ });
207
+ it("should return error for InvalidAddress", async () => {
208
+ const account = createFixtureAccount();
209
+ const transaction = createFixtureTransaction();
210
+ transaction.amount = BigNumber(2);
211
+ transaction.fees = BigNumber(2);
212
+ transaction.recipient = "0x";
213
+ const result = await getTransactionStatus(account, transaction);
214
+ const expected = {
215
+ errors: {
216
+ recipient: new InvalidAddress(),
217
+ amount: new NotEnoughBalance(),
218
+ },
219
+ warnings: {},
220
+ estimatedFees: BigNumber(2),
221
+ amount: BigNumber(2),
222
+ totalSpent: BigNumber(4),
223
+ };
224
+ expect(result).toEqual(expected);
225
+ });
226
+ it("should return error for InvalidAddressBecauseDestinationIsAlsoSource", async () => {
227
+ const account = createFixtureAccount();
228
+ const transaction = createFixtureTransaction();
229
+ transaction.amount = BigNumber(2);
230
+ transaction.fees = BigNumber(2);
231
+ transaction.recipient = "0x" + "0".repeat(64);
232
+ account.freshAddress = transaction.recipient;
233
+ const result = await getTransactionStatus(account, transaction);
234
+ const expected = {
235
+ errors: {
236
+ recipient: new InvalidAddressBecauseDestinationIsAlsoSource(),
237
+ amount: new NotEnoughBalance(),
238
+ },
239
+ warnings: {},
240
+ estimatedFees: BigNumber(2),
241
+ amount: BigNumber(2),
242
+ totalSpent: BigNumber(4),
243
+ };
244
+ expect(result).toEqual(expected);
245
+ });
246
+ it("should return error for RecipientRequired", async () => {
247
+ const account = createFixtureAccount();
248
+ const transaction = createFixtureTransaction();
249
+ transaction.amount = BigNumber(2);
250
+ transaction.fees = BigNumber(2);
251
+ transaction.recipient = "";
252
+ account.freshAddress = transaction.recipient;
253
+ const result = await getTransactionStatus(account, transaction);
254
+ const expected = {
255
+ errors: {
256
+ recipient: new RecipientRequired(),
257
+ amount: new NotEnoughBalance(),
258
+ },
259
+ warnings: {},
260
+ estimatedFees: BigNumber(2),
261
+ amount: BigNumber(2),
262
+ totalSpent: BigNumber(4),
263
+ };
264
+ expect(result).toEqual(expected);
265
+ });
266
+ it("should return right amount and total spent with use all amount option", async () => {
267
+ const account = createFixtureAccount();
268
+ account.spendableBalance = BigNumber(10);
269
+ const transaction = createFixtureTransaction();
270
+ transaction.recipient = "0x" + "0".repeat(64);
271
+ transaction.fees = BigNumber(2);
272
+ transaction.useAllAmount = true;
273
+ const result = await getTransactionStatus(account, transaction);
274
+ const expected = {
275
+ errors: {},
276
+ warnings: {},
277
+ estimatedFees: BigNumber(2),
278
+ amount: BigNumber(8),
279
+ totalSpent: BigNumber(10),
280
+ };
281
+ expect(result).toEqual(expected);
282
+ });
283
+ it("should return not enough balance if trying to stake more than the current balance", async () => {
284
+ const account = createFixtureAccount({
285
+ balance: BigNumber(123456),
286
+ spendableBalance: BigNumber(123456),
287
+ });
288
+ const transaction = createFixtureTransaction({ mode: "stake", amount: BigNumber(123453336) });
289
+ const result = await getTransactionStatus(account, transaction);
290
+ const expected = {
291
+ errors: {
292
+ amount: new NotEnoughBalance(),
293
+ },
294
+ };
295
+ expect(result).toMatchObject(expected);
296
+ });
297
+ it(`should return not enough balance to stake if trying to stake less than ${MIN_COINS_ON_SHARES_POOL} APT`, async () => {
298
+ const account = createFixtureAccount({
299
+ balance: BigNumber(123456),
300
+ spendableBalance: BigNumber(123456),
301
+ });
302
+ const transaction = createFixtureTransaction({ mode: "stake", amount: BigNumber(5) });
303
+ const result = await getTransactionStatus(account, transaction);
304
+ const expected = {
305
+ errors: {
306
+ amount: new NotEnoughToStake(),
307
+ },
308
+ };
309
+ expect(result).toMatchObject(expected);
310
+ });
311
+ it(`should return not enough balance to stake if trying to stake the max balance but it is less than ${MIN_COINS_ON_SHARES_POOL} APT`, async () => {
312
+ const account = createFixtureAccount({
313
+ balance: BigNumber(4),
314
+ spendableBalance: BigNumber(4),
315
+ });
316
+ const transaction = createFixtureTransaction({ mode: "stake", useAllAmount: true });
317
+ const result = await getTransactionStatus(account, transaction);
318
+ const expected = {
319
+ errors: {
320
+ amount: new NotEnoughToStake(),
321
+ },
322
+ };
323
+ expect(result).toMatchObject(expected);
324
+ });
325
+ it("should return an error if there's no staking position to restake", async () => {
326
+ const account = createFixtureAccount({
327
+ balance: BigNumber(4),
328
+ spendableBalance: BigNumber(4),
329
+ });
330
+ const transaction = createFixtureTransaction({ mode: "restake" });
331
+ const result = await getTransactionStatus(account, transaction);
332
+ const expected = {
333
+ errors: {
334
+ recipient: new RecipientRequired(),
335
+ },
336
+ };
337
+ expect(result).toMatchObject(expected);
338
+ });
339
+ it("should return an error if there's not enough pending inactive balance", async () => {
340
+ const account = createFixtureAccount({
341
+ balance: BigNumber(4),
342
+ spendableBalance: BigNumber(4),
343
+ aptosResources,
344
+ });
345
+ const transaction = createFixtureTransaction({
346
+ mode: "restake",
347
+ recipient: "validator-1",
348
+ amount: BigNumber(67874022223),
349
+ fees: BigNumber(1),
350
+ });
351
+ const result = await getTransactionStatus(account, transaction);
352
+ const expected = {
353
+ errors: {
354
+ amount: new NotEnoughBalance(),
355
+ },
356
+ };
357
+ expect(result).toMatchObject(expected);
358
+ });
359
+ it(`should return not enough amount if trying to restake but it is less than ${MIN_COINS_ON_SHARES_POOL} APT`, async () => {
360
+ const account = createFixtureAccount({
361
+ balance: BigNumber(4),
362
+ spendableBalance: BigNumber(4),
363
+ aptosResources,
364
+ });
365
+ const transaction = createFixtureTransaction({
366
+ mode: "restake",
367
+ recipient: "validator-2",
368
+ amount: BigNumber(4),
369
+ fees: BigNumber(1),
370
+ });
371
+ const result = await getTransactionStatus(account, transaction);
372
+ const expected = {
373
+ errors: {
374
+ amount: new NotEnoughToRestake(),
375
+ },
376
+ };
377
+ expect(result).toMatchObject(expected);
378
+ });
379
+ it("should return an error if there's no staking position to unstake", async () => {
380
+ const account = createFixtureAccount({
381
+ balance: BigNumber(4),
382
+ spendableBalance: BigNumber(4),
383
+ });
384
+ const transaction = createFixtureTransaction({ mode: "unstake" });
385
+ const result = await getTransactionStatus(account, transaction);
386
+ const expected = {
387
+ errors: {
388
+ recipient: new RecipientRequired(),
389
+ },
390
+ };
391
+ expect(result).toMatchObject(expected);
392
+ });
393
+ it(`should return not enough to unstake if the amount to unstake is less than ${MIN_COINS_ON_SHARES_POOL} APT`, async () => {
394
+ const account = createFixtureAccount({
395
+ balance: BigNumber(4),
396
+ spendableBalance: BigNumber(4),
397
+ aptosResources,
398
+ });
399
+ const transaction = createFixtureTransaction({
400
+ mode: "unstake",
401
+ recipient: "validator-2",
402
+ amount: BigNumber(2),
403
+ fees: BigNumber(0.5),
404
+ });
405
+ const result = await getTransactionStatus(account, transaction);
406
+ const expected = {
407
+ errors: {
408
+ amount: new NotEnoughToUnstake(),
409
+ },
410
+ };
411
+ expect(result).toMatchObject(expected);
412
+ });
413
+ it("should return an error if there's no staking position to withdraw", async () => {
414
+ const account = createFixtureAccount({
415
+ balance: BigNumber(4),
416
+ spendableBalance: BigNumber(4),
417
+ });
418
+ const transaction = createFixtureTransaction({ mode: "withdraw" });
419
+ const result = await getTransactionStatus(account, transaction);
420
+ const expected = {
421
+ errors: {
422
+ recipient: new RecipientRequired(),
423
+ },
424
+ };
425
+ expect(result).toMatchObject(expected);
426
+ });
427
+ it("should return an error if there's not enough inactive balance to withdraw", async () => {
428
+ const account = createFixtureAccount({
429
+ balance: BigNumber(4),
430
+ spendableBalance: BigNumber(4),
431
+ aptosResources,
432
+ });
433
+ const transaction = createFixtureTransaction({
434
+ mode: "restake",
435
+ recipient: "validator-1",
436
+ amount: BigNumber(56756756745),
437
+ fees: BigNumber(1),
438
+ });
439
+ const result = await getTransactionStatus(account, transaction);
440
+ const expected = {
441
+ errors: {
442
+ amount: new NotEnoughBalance(),
443
+ },
444
+ };
445
+ expect(result).toMatchObject(expected);
446
+ });
447
+ });
448
+ //# sourceMappingURL=getTransactionStatus.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTransactionStatus.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/getTransactionStatus.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bridge/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ jest.mock("../../network/validators", () => ({
2
+ getValidators: jest.fn(() => Promise.resolve([])),
3
+ }));
4
+ import BigNumber from "bignumber.js";
5
+ import { createBridges } from "../../bridge";
6
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
7
+ const signer = jest.fn();
8
+ const bridge = createBridges(signer);
9
+ describe("Aptos bridge interface ", () => {
10
+ describe("currencyBridge", () => {
11
+ it("should have a preload method that returns a promise", async () => {
12
+ const cryptoCurrency = getCryptoCurrencyById("aptos");
13
+ const result = bridge.currencyBridge.preload(cryptoCurrency);
14
+ expect(result).toBeInstanceOf(Promise);
15
+ await expect(result).resolves.toMatchObject({ validatorsWithMeta: [] });
16
+ });
17
+ it("should have a hydrate method that is a function", () => {
18
+ expect(bridge.currencyBridge.hydrate).toBeDefined();
19
+ expect(typeof bridge.currencyBridge.hydrate).toBe("function");
20
+ const cryptoCurrency = getCryptoCurrencyById("aptos");
21
+ const result = bridge.currencyBridge.hydrate({}, cryptoCurrency);
22
+ expect(result).toBeUndefined();
23
+ });
24
+ it("should have a scanAccounts method that is a function", () => {
25
+ expect(bridge.currencyBridge.scanAccounts).toBeDefined();
26
+ expect(typeof bridge.currencyBridge.scanAccounts).toBe("function");
27
+ const cryptoCurrency = getCryptoCurrencyById("aptos");
28
+ const deviceId = "test-device";
29
+ const result = bridge.currencyBridge.scanAccounts({
30
+ currency: cryptoCurrency,
31
+ deviceId,
32
+ syncConfig: { paginationConfig: {} },
33
+ });
34
+ expect(result).toBeDefined();
35
+ });
36
+ });
37
+ describe("accountBridge", () => {
38
+ it("should contain all methods", () => {
39
+ expect(bridge.accountBridge.estimateMaxSpendable).toBeDefined();
40
+ expect(typeof bridge.accountBridge.estimateMaxSpendable).toBe("function");
41
+ expect(bridge.accountBridge.createTransaction).toBeDefined();
42
+ expect(typeof bridge.accountBridge.createTransaction).toBe("function");
43
+ expect(bridge.accountBridge.updateTransaction).toBeDefined();
44
+ expect(typeof bridge.accountBridge.updateTransaction).toBe("function");
45
+ expect(bridge.accountBridge.getTransactionStatus).toBeDefined();
46
+ expect(typeof bridge.accountBridge.getTransactionStatus).toBe("function");
47
+ expect(bridge.accountBridge.prepareTransaction).toBeDefined();
48
+ expect(typeof bridge.accountBridge.prepareTransaction).toBe("function");
49
+ expect(bridge.accountBridge.sync).toBeDefined();
50
+ expect(typeof bridge.accountBridge.sync).toBe("function");
51
+ expect(bridge.accountBridge.receive).toBeDefined();
52
+ expect(typeof bridge.accountBridge.receive).toBe("function");
53
+ expect(bridge.accountBridge.signOperation).toBeDefined();
54
+ expect(typeof bridge.accountBridge.signOperation).toBe("function");
55
+ expect(bridge.accountBridge.broadcast).toBeDefined();
56
+ expect(typeof bridge.accountBridge.broadcast).toBe("function");
57
+ expect(bridge.currencyBridge.hydrate).toBeDefined();
58
+ expect(typeof bridge.currencyBridge.hydrate).toBe("function");
59
+ expect(bridge.currencyBridge.preload).toBeDefined();
60
+ expect(typeof bridge.currencyBridge.preload).toBe("function");
61
+ expect(bridge.currencyBridge.scanAccounts).toBeDefined();
62
+ expect(typeof bridge.currencyBridge.scanAccounts).toBe("function");
63
+ });
64
+ });
65
+ describe("updateTransaction", () => {
66
+ it("should update the transaction with the given patch", () => {
67
+ const initialTransaction = {
68
+ amount: new BigNumber(100),
69
+ recipient: "address1",
70
+ mode: "send",
71
+ family: "aptos",
72
+ options: { maxGasAmount: "", gasUnitPrice: "" },
73
+ };
74
+ const patch = { amount: new BigNumber(200) };
75
+ const updatedTransaction = bridge.accountBridge.updateTransaction(initialTransaction, patch);
76
+ expect(updatedTransaction).toEqual({
77
+ amount: new BigNumber(200),
78
+ recipient: "address1",
79
+ mode: "send",
80
+ family: "aptos",
81
+ options: { maxGasAmount: "", gasUnitPrice: "" },
82
+ });
83
+ });
84
+ it("should not modify the original transaction object", () => {
85
+ const initialTransaction = {
86
+ amount: new BigNumber(100),
87
+ recipient: "address1",
88
+ mode: "send",
89
+ family: "aptos",
90
+ options: { maxGasAmount: "", gasUnitPrice: "" },
91
+ };
92
+ const patch = { amount: new BigNumber(200) };
93
+ const updatedTransaction = bridge.accountBridge.updateTransaction(initialTransaction, patch);
94
+ expect(initialTransaction).toEqual({
95
+ amount: new BigNumber(100),
96
+ recipient: "address1",
97
+ mode: "send",
98
+ family: "aptos",
99
+ options: { maxGasAmount: "", gasUnitPrice: "" },
100
+ });
101
+ expect(updatedTransaction).not.toBe(initialTransaction);
102
+ });
103
+ });
104
+ });
105
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../src/__tests__/bridge/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=logic.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bridge/logic.test.ts"],"names":[],"mappings":""}