@ledgerhq/coin-evm 0.3.0 → 0.4.0-next.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 (582) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/jest.config.js +4 -0
  3. package/lib/__tests__/fixtures/common.fixtures.d.ts +9 -0
  4. package/lib/__tests__/fixtures/common.fixtures.d.ts.map +1 -0
  5. package/lib/{testUtils.js → __tests__/fixtures/common.fixtures.js} +40 -9
  6. package/lib/__tests__/fixtures/common.fixtures.js.map +1 -0
  7. package/lib/__tests__/fixtures/etherscan.fixtures.d.ts +86 -0
  8. package/lib/__tests__/fixtures/etherscan.fixtures.d.ts.map +1 -0
  9. package/lib/__tests__/fixtures/etherscan.fixtures.js +267 -0
  10. package/lib/__tests__/fixtures/etherscan.fixtures.js.map +1 -0
  11. package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts +10 -0
  12. package/lib/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -0
  13. package/lib/__tests__/fixtures/prepareTransaction.fixtures.js +69 -0
  14. package/lib/__tests__/fixtures/prepareTransaction.fixtures.js.map +1 -0
  15. package/lib/__tests__/fixtures/synchronization.fixtures.d.ts +44 -0
  16. package/lib/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -0
  17. package/lib/__tests__/fixtures/synchronization.fixtures.js +219 -0
  18. package/lib/__tests__/fixtures/synchronization.fixtures.js.map +1 -0
  19. package/lib/__tests__/fixtures/transaction.fixtures.d.ts +47 -0
  20. package/lib/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -0
  21. package/lib/__tests__/fixtures/transaction.fixtures.js +182 -0
  22. package/lib/__tests__/fixtures/transaction.fixtures.js.map +1 -0
  23. package/lib/__tests__/integration/bridge.integration.test.d.ts +7 -0
  24. package/lib/__tests__/integration/bridge.integration.test.d.ts.map +1 -0
  25. package/lib/__tests__/integration/bridge.integration.test.js +74 -0
  26. package/lib/__tests__/integration/bridge.integration.test.js.map +1 -0
  27. package/lib/__tests__/unit/adapters.unit.test.d.ts.map +1 -0
  28. package/lib/__tests__/unit/adapters.unit.test.js +989 -0
  29. package/lib/__tests__/unit/adapters.unit.test.js.map +1 -0
  30. package/lib/__tests__/unit/api/explorer/etherscan.unit.test.d.ts +2 -0
  31. package/lib/__tests__/unit/api/explorer/etherscan.unit.test.d.ts.map +1 -0
  32. package/lib/__tests__/unit/api/explorer/etherscan.unit.test.js +430 -0
  33. package/lib/__tests__/unit/api/explorer/etherscan.unit.test.js.map +1 -0
  34. package/lib/__tests__/unit/api/explorer/index.unit.test.d.ts +2 -0
  35. package/lib/__tests__/unit/api/explorer/index.unit.test.d.ts.map +1 -0
  36. package/lib/__tests__/unit/api/explorer/index.unit.test.js +49 -0
  37. package/lib/__tests__/unit/api/explorer/index.unit.test.js.map +1 -0
  38. package/lib/__tests__/unit/api/gasTracker/index.unit.test.d.ts +2 -0
  39. package/lib/__tests__/unit/api/gasTracker/index.unit.test.d.ts.map +1 -0
  40. package/lib/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.js +3 -3
  41. package/lib/__tests__/unit/api/gasTracker/index.unit.test.js.map +1 -0
  42. package/lib/__tests__/unit/api/gasTracker/ledger.unit.test.d.ts.map +1 -0
  43. package/lib/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.js +2 -2
  44. package/lib/__tests__/unit/api/gasTracker/ledger.unit.test.js.map +1 -0
  45. package/lib/__tests__/unit/api/rpc/rpc.unit.test.d.ts.map +1 -0
  46. package/lib/__tests__/{rpc.unit.test.js → unit/api/rpc/rpc.unit.test.js} +14 -14
  47. package/lib/__tests__/unit/api/rpc/rpc.unit.test.js.map +1 -0
  48. package/lib/__tests__/unit/broadcast.unit.test.d.ts.map +1 -0
  49. package/lib/__tests__/unit/broadcast.unit.test.js +335 -0
  50. package/lib/__tests__/unit/broadcast.unit.test.js.map +1 -0
  51. package/lib/__tests__/unit/buildOptimisticOperation.unit.test.d.ts.map +1 -0
  52. package/lib/__tests__/{buildOptimisticOperation.unit.test.js → unit/buildOptimisticOperation.unit.test.js} +132 -6
  53. package/lib/__tests__/unit/buildOptimisticOperation.unit.test.js.map +1 -0
  54. package/lib/__tests__/unit/createTransaction.unit.test.d.ts.map +1 -0
  55. package/lib/__tests__/{createTransaction.unit.test.js → unit/createTransaction.unit.test.js} +5 -5
  56. package/lib/__tests__/unit/createTransaction.unit.test.js.map +1 -0
  57. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +1 -0
  58. package/lib/__tests__/{deviceTransactionConfig.unit.test.js → unit/deviceTransactionConfig.unit.test.js} +123 -6
  59. package/lib/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -0
  60. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +1 -0
  61. package/lib/__tests__/{estimateMaxSpendable.unit.test.js → unit/estimateMaxSpendable.unit.test.js} +6 -6
  62. package/lib/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -0
  63. package/lib/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +1 -0
  64. package/lib/__tests__/{getTransactionStatus.unit.test.js → unit/getTransactionStatus.unit.test.js} +76 -6
  65. package/lib/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -0
  66. package/lib/__tests__/unit/hw-getAddress.unit.test.d.ts.map +1 -0
  67. package/lib/__tests__/{hw-getAddress.unit.test.js → unit/hw-getAddress.unit.test.js} +5 -1
  68. package/lib/__tests__/unit/hw-getAddress.unit.test.js.map +1 -0
  69. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
  70. package/lib/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
  71. package/lib/__tests__/unit/hw-signMessage.unit.test.js +188 -0
  72. package/lib/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
  73. package/lib/__tests__/unit/logic.unit.test.d.ts.map +1 -0
  74. package/lib/__tests__/{logic.unit.test.js → unit/logic.unit.test.js} +111 -20
  75. package/lib/__tests__/unit/logic.unit.test.js.map +1 -0
  76. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
  77. package/lib/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
  78. package/lib/__tests__/unit/nftResolvers.unit.test.js +163 -0
  79. package/lib/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
  80. package/lib/__tests__/unit/preload.unit.test.d.ts.map +1 -0
  81. package/lib/__tests__/{preload.unit.test.js → unit/preload.unit.test.js} +3 -3
  82. package/lib/__tests__/unit/preload.unit.test.js.map +1 -0
  83. package/lib/__tests__/unit/prepareTransaction.unit.test.d.ts.map +1 -0
  84. package/lib/__tests__/unit/prepareTransaction.unit.test.js +300 -0
  85. package/lib/__tests__/unit/prepareTransaction.unit.test.js.map +1 -0
  86. package/lib/__tests__/unit/signOperation.unit.test.d.ts.map +1 -0
  87. package/lib/__tests__/{signOperation.unit.test.js → unit/signOperation.unit.test.js} +14 -17
  88. package/lib/__tests__/unit/signOperation.unit.test.js.map +1 -0
  89. package/lib/__tests__/unit/synchronization.unit.test.d.ts.map +1 -0
  90. package/lib/__tests__/{synchronization.unit.test.js → unit/synchronization.unit.test.js} +139 -231
  91. package/lib/__tests__/unit/synchronization.unit.test.js.map +1 -0
  92. package/lib/__tests__/unit/transaction.unit.test.d.ts.map +1 -0
  93. package/lib/__tests__/{transaction.unit.test.js → unit/transaction.unit.test.js} +48 -80
  94. package/lib/__tests__/unit/transaction.unit.test.js.map +1 -0
  95. package/lib/abis/erc1155.abi.json +314 -0
  96. package/lib/abis/erc721.abi.json +346 -0
  97. package/lib/adapters.d.ts +18 -7
  98. package/lib/adapters.d.ts.map +1 -1
  99. package/lib/adapters.js +131 -46
  100. package/lib/adapters.js.map +1 -1
  101. package/lib/api/explorer/etherscan.d.ts +39 -11
  102. package/lib/api/explorer/etherscan.d.ts.map +1 -1
  103. package/lib/api/explorer/etherscan.js +151 -9
  104. package/lib/api/explorer/etherscan.js.map +1 -1
  105. package/lib/api/explorer/index.d.ts +7 -16
  106. package/lib/api/explorer/index.d.ts.map +1 -1
  107. package/lib/api/explorer/index.js.map +1 -1
  108. package/lib/api/nft/index.d.ts +24 -0
  109. package/lib/api/nft/index.d.ts.map +1 -0
  110. package/lib/api/nft/index.js +54 -0
  111. package/lib/api/nft/index.js.map +1 -0
  112. package/lib/api/rpc/index.native.d.ts.map +1 -1
  113. package/lib/api/rpc/index.native.js +1 -0
  114. package/lib/api/rpc/index.native.js.map +1 -1
  115. package/lib/api/rpc/rpc.common.d.ts +2 -2
  116. package/lib/api/rpc/rpc.common.d.ts.map +1 -1
  117. package/lib/api/rpc/rpc.common.js +3 -3
  118. package/lib/api/rpc/rpc.common.js.map +1 -1
  119. package/lib/bridge/js.d.ts +1 -1
  120. package/lib/bridge/js.d.ts.map +1 -1
  121. package/lib/bridge/js.js +10 -10
  122. package/lib/bridge/js.js.map +1 -1
  123. package/lib/broadcast.d.ts.map +1 -1
  124. package/lib/broadcast.js +9 -2
  125. package/lib/broadcast.js.map +1 -1
  126. package/lib/buildOptimisticOperation.d.ts +5 -1
  127. package/lib/buildOptimisticOperation.d.ts.map +1 -1
  128. package/lib/buildOptimisticOperation.js +46 -4
  129. package/lib/buildOptimisticOperation.js.map +1 -1
  130. package/lib/cli-transaction.d.ts.map +1 -1
  131. package/lib/cli-transaction.js +1 -0
  132. package/lib/cli-transaction.js.map +1 -1
  133. package/lib/datasets/ethereum1.d.ts.map +1 -1
  134. package/lib/datasets/ethereum1.js +3 -2
  135. package/lib/datasets/ethereum1.js.map +1 -1
  136. package/lib/deviceTransactionConfig.d.ts.map +1 -1
  137. package/lib/deviceTransactionConfig.js +50 -0
  138. package/lib/deviceTransactionConfig.js.map +1 -1
  139. package/lib/errors.d.ts +9 -0
  140. package/lib/errors.d.ts.map +1 -1
  141. package/lib/errors.js +7 -1
  142. package/lib/errors.js.map +1 -1
  143. package/lib/getTransactionStatus.d.ts +1 -0
  144. package/lib/getTransactionStatus.d.ts.map +1 -1
  145. package/lib/getTransactionStatus.js +25 -3
  146. package/lib/getTransactionStatus.js.map +1 -1
  147. package/lib/hw-signMessage.d.ts +15 -0
  148. package/lib/hw-signMessage.d.ts.map +1 -0
  149. package/lib/hw-signMessage.js +86 -0
  150. package/lib/hw-signMessage.js.map +1 -0
  151. package/lib/logic.d.ts +63 -1
  152. package/lib/logic.d.ts.map +1 -1
  153. package/lib/logic.js +98 -2
  154. package/lib/logic.js.map +1 -1
  155. package/lib/nftResolvers.d.ts +19 -0
  156. package/lib/nftResolvers.d.ts.map +1 -0
  157. package/lib/nftResolvers.js +58 -0
  158. package/lib/nftResolvers.js.map +1 -0
  159. package/lib/preload.d.ts.map +1 -1
  160. package/lib/preload.js +7 -3
  161. package/lib/preload.js.map +1 -1
  162. package/lib/prepareTransaction.d.ts +6 -1
  163. package/lib/prepareTransaction.d.ts.map +1 -1
  164. package/lib/prepareTransaction.js +69 -18
  165. package/lib/prepareTransaction.js.map +1 -1
  166. package/lib/signOperation.d.ts +1 -1
  167. package/lib/signOperation.d.ts.map +1 -1
  168. package/lib/signOperation.js +17 -6
  169. package/lib/signOperation.js.map +1 -1
  170. package/lib/signer.d.ts +24 -1
  171. package/lib/signer.d.ts.map +1 -1
  172. package/lib/specs.d.ts +3 -1
  173. package/lib/specs.d.ts.map +1 -1
  174. package/lib/specs.js +3 -3
  175. package/lib/specs.js.map +1 -1
  176. package/lib/speculos-deviceActions.d.ts.map +1 -1
  177. package/lib/speculos-deviceActions.js +2 -1
  178. package/lib/speculos-deviceActions.js.map +1 -1
  179. package/lib/synchronization.d.ts +7 -2
  180. package/lib/synchronization.d.ts.map +1 -1
  181. package/lib/synchronization.js +45 -45
  182. package/lib/synchronization.js.map +1 -1
  183. package/lib/transaction.d.ts +3 -4
  184. package/lib/transaction.d.ts.map +1 -1
  185. package/lib/transaction.js +58 -12
  186. package/lib/transaction.js.map +1 -1
  187. package/lib/types.d.ts +85 -10
  188. package/lib/types.d.ts.map +1 -1
  189. package/lib-es/__tests__/fixtures/common.fixtures.d.ts +9 -0
  190. package/lib-es/__tests__/fixtures/common.fixtures.d.ts.map +1 -0
  191. package/lib-es/{testUtils.js → __tests__/fixtures/common.fixtures.js} +36 -8
  192. package/lib-es/__tests__/fixtures/common.fixtures.js.map +1 -0
  193. package/lib-es/__tests__/fixtures/etherscan.fixtures.d.ts +86 -0
  194. package/lib-es/__tests__/fixtures/etherscan.fixtures.d.ts.map +1 -0
  195. package/lib-es/__tests__/fixtures/etherscan.fixtures.js +264 -0
  196. package/lib-es/__tests__/fixtures/etherscan.fixtures.js.map +1 -0
  197. package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts +10 -0
  198. package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.d.ts.map +1 -0
  199. package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.js +62 -0
  200. package/lib-es/__tests__/fixtures/prepareTransaction.fixtures.js.map +1 -0
  201. package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts +44 -0
  202. package/lib-es/__tests__/fixtures/synchronization.fixtures.d.ts.map +1 -0
  203. package/lib-es/__tests__/fixtures/synchronization.fixtures.js +190 -0
  204. package/lib-es/__tests__/fixtures/synchronization.fixtures.js.map +1 -0
  205. package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts +47 -0
  206. package/lib-es/__tests__/fixtures/transaction.fixtures.d.ts.map +1 -0
  207. package/lib-es/__tests__/fixtures/transaction.fixtures.js +176 -0
  208. package/lib-es/__tests__/fixtures/transaction.fixtures.js.map +1 -0
  209. package/lib-es/__tests__/integration/bridge.integration.test.d.ts +7 -0
  210. package/lib-es/__tests__/integration/bridge.integration.test.d.ts.map +1 -0
  211. package/lib-es/__tests__/integration/bridge.integration.test.js +71 -0
  212. package/lib-es/__tests__/integration/bridge.integration.test.js.map +1 -0
  213. package/lib-es/__tests__/unit/adapters.unit.test.d.ts.map +1 -0
  214. package/lib-es/__tests__/unit/adapters.unit.test.js +984 -0
  215. package/lib-es/__tests__/unit/adapters.unit.test.js.map +1 -0
  216. package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.d.ts +2 -0
  217. package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.d.ts.map +1 -0
  218. package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.js +402 -0
  219. package/lib-es/__tests__/unit/api/explorer/etherscan.unit.test.js.map +1 -0
  220. package/lib-es/__tests__/unit/api/explorer/index.unit.test.d.ts.map +1 -0
  221. package/lib-es/__tests__/unit/api/explorer/index.unit.test.js +44 -0
  222. package/lib-es/__tests__/unit/api/explorer/index.unit.test.js.map +1 -0
  223. package/lib-es/__tests__/unit/api/gasTracker/index.unit.test.d.ts.map +1 -0
  224. package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.js +3 -3
  225. package/lib-es/__tests__/unit/api/gasTracker/index.unit.test.js.map +1 -0
  226. package/lib-es/__tests__/unit/api/gasTracker/ledger.unit.test.d.ts.map +1 -0
  227. package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.js +2 -2
  228. package/lib-es/__tests__/unit/api/gasTracker/ledger.unit.test.js.map +1 -0
  229. package/lib-es/__tests__/unit/api/rpc/rpc.unit.test.d.ts.map +1 -0
  230. package/lib-es/__tests__/{rpc.unit.test.js → unit/api/rpc/rpc.unit.test.js} +13 -13
  231. package/lib-es/__tests__/unit/api/rpc/rpc.unit.test.js.map +1 -0
  232. package/lib-es/__tests__/unit/broadcast.unit.test.d.ts.map +1 -0
  233. package/lib-es/__tests__/unit/broadcast.unit.test.js +307 -0
  234. package/lib-es/__tests__/unit/broadcast.unit.test.js.map +1 -0
  235. package/lib-es/__tests__/unit/buildOptimisticOperation.unit.test.d.ts.map +1 -0
  236. package/lib-es/__tests__/{buildOptimisticOperation.unit.test.js → unit/buildOptimisticOperation.unit.test.js} +130 -4
  237. package/lib-es/__tests__/unit/buildOptimisticOperation.unit.test.js.map +1 -0
  238. package/lib-es/__tests__/unit/createTransaction.unit.test.d.ts.map +1 -0
  239. package/lib-es/__tests__/{createTransaction.unit.test.js → unit/createTransaction.unit.test.js} +3 -3
  240. package/lib-es/__tests__/unit/createTransaction.unit.test.js.map +1 -0
  241. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.d.ts.map +1 -0
  242. package/lib-es/__tests__/{deviceTransactionConfig.unit.test.js → unit/deviceTransactionConfig.unit.test.js} +121 -4
  243. package/lib-es/__tests__/unit/deviceTransactionConfig.unit.test.js.map +1 -0
  244. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.d.ts.map +1 -0
  245. package/lib-es/__tests__/{estimateMaxSpendable.unit.test.js → unit/estimateMaxSpendable.unit.test.js} +4 -4
  246. package/lib-es/__tests__/unit/estimateMaxSpendable.unit.test.js.map +1 -0
  247. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.d.ts.map +1 -0
  248. package/lib-es/__tests__/{getTransactionStatus.unit.test.js → unit/getTransactionStatus.unit.test.js} +74 -4
  249. package/lib-es/__tests__/unit/getTransactionStatus.unit.test.js.map +1 -0
  250. package/lib-es/__tests__/unit/hw-getAddress.unit.test.d.ts.map +1 -0
  251. package/lib-es/__tests__/{hw-getAddress.unit.test.js → unit/hw-getAddress.unit.test.js} +5 -1
  252. package/lib-es/__tests__/unit/hw-getAddress.unit.test.js.map +1 -0
  253. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts +2 -0
  254. package/lib-es/__tests__/unit/hw-signMessage.unit.test.d.ts.map +1 -0
  255. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js +186 -0
  256. package/lib-es/__tests__/unit/hw-signMessage.unit.test.js.map +1 -0
  257. package/lib-es/__tests__/unit/logic.unit.test.d.ts.map +1 -0
  258. package/lib-es/__tests__/{logic.unit.test.js → unit/logic.unit.test.js} +97 -6
  259. package/lib-es/__tests__/unit/logic.unit.test.js.map +1 -0
  260. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts +2 -0
  261. package/lib-es/__tests__/unit/nftResolvers.unit.test.d.ts.map +1 -0
  262. package/lib-es/__tests__/unit/nftResolvers.unit.test.js +158 -0
  263. package/lib-es/__tests__/unit/nftResolvers.unit.test.js.map +1 -0
  264. package/lib-es/__tests__/unit/preload.unit.test.d.ts.map +1 -0
  265. package/lib-es/__tests__/{preload.unit.test.js → unit/preload.unit.test.js} +3 -3
  266. package/lib-es/__tests__/unit/preload.unit.test.js.map +1 -0
  267. package/lib-es/__tests__/unit/prepareTransaction.unit.test.d.ts.map +1 -0
  268. package/lib-es/__tests__/{prepareTransaction.unit.test.js → unit/prepareTransaction.unit.test.js} +134 -82
  269. package/lib-es/__tests__/unit/prepareTransaction.unit.test.js.map +1 -0
  270. package/lib-es/__tests__/unit/signOperation.unit.test.d.ts.map +1 -0
  271. package/lib-es/__tests__/{signOperation.unit.test.js → unit/signOperation.unit.test.js} +13 -16
  272. package/lib-es/__tests__/unit/signOperation.unit.test.js.map +1 -0
  273. package/lib-es/__tests__/unit/synchronization.unit.test.d.ts.map +1 -0
  274. package/lib-es/__tests__/{synchronization.unit.test.js → unit/synchronization.unit.test.js} +115 -207
  275. package/lib-es/__tests__/unit/synchronization.unit.test.js.map +1 -0
  276. package/lib-es/__tests__/unit/transaction.unit.test.d.ts.map +1 -0
  277. package/lib-es/__tests__/{transaction.unit.test.js → unit/transaction.unit.test.js} +40 -72
  278. package/lib-es/__tests__/unit/transaction.unit.test.js.map +1 -0
  279. package/lib-es/abis/erc1155.abi.json +314 -0
  280. package/lib-es/abis/erc721.abi.json +346 -0
  281. package/lib-es/adapters.d.ts +18 -7
  282. package/lib-es/adapters.d.ts.map +1 -1
  283. package/lib-es/adapters.js +127 -44
  284. package/lib-es/adapters.js.map +1 -1
  285. package/lib-es/api/explorer/etherscan.d.ts +39 -11
  286. package/lib-es/api/explorer/etherscan.d.ts.map +1 -1
  287. package/lib-es/api/explorer/etherscan.js +146 -10
  288. package/lib-es/api/explorer/etherscan.js.map +1 -1
  289. package/lib-es/api/explorer/index.d.ts +7 -16
  290. package/lib-es/api/explorer/index.d.ts.map +1 -1
  291. package/lib-es/api/explorer/index.js.map +1 -1
  292. package/lib-es/api/nft/index.d.ts +24 -0
  293. package/lib-es/api/nft/index.d.ts.map +1 -0
  294. package/lib-es/api/nft/index.js +46 -0
  295. package/lib-es/api/nft/index.js.map +1 -0
  296. package/lib-es/api/rpc/index.native.d.ts.map +1 -1
  297. package/lib-es/api/rpc/index.native.js +1 -0
  298. package/lib-es/api/rpc/index.native.js.map +1 -1
  299. package/lib-es/api/rpc/rpc.common.d.ts +2 -2
  300. package/lib-es/api/rpc/rpc.common.d.ts.map +1 -1
  301. package/lib-es/api/rpc/rpc.common.js +3 -3
  302. package/lib-es/api/rpc/rpc.common.js.map +1 -1
  303. package/lib-es/bridge/js.d.ts +1 -1
  304. package/lib-es/bridge/js.d.ts.map +1 -1
  305. package/lib-es/bridge/js.js +10 -10
  306. package/lib-es/bridge/js.js.map +1 -1
  307. package/lib-es/broadcast.d.ts.map +1 -1
  308. package/lib-es/broadcast.js +9 -2
  309. package/lib-es/broadcast.js.map +1 -1
  310. package/lib-es/buildOptimisticOperation.d.ts +5 -1
  311. package/lib-es/buildOptimisticOperation.d.ts.map +1 -1
  312. package/lib-es/buildOptimisticOperation.js +45 -4
  313. package/lib-es/buildOptimisticOperation.js.map +1 -1
  314. package/lib-es/cli-transaction.d.ts.map +1 -1
  315. package/lib-es/cli-transaction.js +1 -0
  316. package/lib-es/cli-transaction.js.map +1 -1
  317. package/lib-es/datasets/ethereum1.d.ts.map +1 -1
  318. package/lib-es/datasets/ethereum1.js +3 -2
  319. package/lib-es/datasets/ethereum1.js.map +1 -1
  320. package/lib-es/deviceTransactionConfig.d.ts.map +1 -1
  321. package/lib-es/deviceTransactionConfig.js +50 -0
  322. package/lib-es/deviceTransactionConfig.js.map +1 -1
  323. package/lib-es/errors.d.ts +9 -0
  324. package/lib-es/errors.d.ts.map +1 -1
  325. package/lib-es/errors.js +6 -0
  326. package/lib-es/errors.js.map +1 -1
  327. package/lib-es/getTransactionStatus.d.ts +1 -0
  328. package/lib-es/getTransactionStatus.d.ts.map +1 -1
  329. package/lib-es/getTransactionStatus.js +23 -2
  330. package/lib-es/getTransactionStatus.js.map +1 -1
  331. package/lib-es/hw-signMessage.d.ts +15 -0
  332. package/lib-es/hw-signMessage.d.ts.map +1 -0
  333. package/lib-es/hw-signMessage.js +81 -0
  334. package/lib-es/hw-signMessage.js.map +1 -0
  335. package/lib-es/logic.d.ts +63 -1
  336. package/lib-es/logic.d.ts.map +1 -1
  337. package/lib-es/logic.js +95 -1
  338. package/lib-es/logic.js.map +1 -1
  339. package/lib-es/nftResolvers.d.ts +19 -0
  340. package/lib-es/nftResolvers.d.ts.map +1 -0
  341. package/lib-es/nftResolvers.js +50 -0
  342. package/lib-es/nftResolvers.js.map +1 -0
  343. package/lib-es/preload.d.ts.map +1 -1
  344. package/lib-es/preload.js +7 -3
  345. package/lib-es/preload.js.map +1 -1
  346. package/lib-es/prepareTransaction.d.ts +6 -1
  347. package/lib-es/prepareTransaction.d.ts.map +1 -1
  348. package/lib-es/prepareTransaction.js +68 -18
  349. package/lib-es/prepareTransaction.js.map +1 -1
  350. package/lib-es/signOperation.d.ts +1 -1
  351. package/lib-es/signOperation.d.ts.map +1 -1
  352. package/lib-es/signOperation.js +17 -6
  353. package/lib-es/signOperation.js.map +1 -1
  354. package/lib-es/signer.d.ts +24 -1
  355. package/lib-es/signer.d.ts.map +1 -1
  356. package/lib-es/specs.d.ts +3 -1
  357. package/lib-es/specs.d.ts.map +1 -1
  358. package/lib-es/specs.js +3 -3
  359. package/lib-es/specs.js.map +1 -1
  360. package/lib-es/speculos-deviceActions.d.ts.map +1 -1
  361. package/lib-es/speculos-deviceActions.js +2 -1
  362. package/lib-es/speculos-deviceActions.js.map +1 -1
  363. package/lib-es/synchronization.d.ts +7 -2
  364. package/lib-es/synchronization.d.ts.map +1 -1
  365. package/lib-es/synchronization.js +46 -46
  366. package/lib-es/synchronization.js.map +1 -1
  367. package/lib-es/transaction.d.ts +3 -4
  368. package/lib-es/transaction.d.ts.map +1 -1
  369. package/lib-es/transaction.js +58 -12
  370. package/lib-es/transaction.js.map +1 -1
  371. package/lib-es/types.d.ts +85 -10
  372. package/lib-es/types.d.ts.map +1 -1
  373. package/package.json +13 -12
  374. package/src/{testUtils.ts → __tests__/fixtures/common.fixtures.ts} +78 -11
  375. package/src/__tests__/fixtures/etherscan.fixtures.ts +266 -0
  376. package/src/__tests__/fixtures/prepareTransaction.fixtures.ts +86 -0
  377. package/src/__tests__/fixtures/synchronization.fixtures.ts +229 -0
  378. package/src/__tests__/fixtures/transaction.fixtures.ts +229 -0
  379. package/src/__tests__/integration/bridge.integration.test.ts +74 -0
  380. package/src/__tests__/unit/adapters.unit.test.ts +1076 -0
  381. package/src/__tests__/unit/api/explorer/etherscan.unit.test.ts +563 -0
  382. package/src/__tests__/unit/api/explorer/index.unit.test.ts +36 -0
  383. package/src/__tests__/{gasTracker → unit/api/gasTracker}/index.unit.test.ts +3 -3
  384. package/src/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.ts +3 -3
  385. package/src/__tests__/{rpc.unit.test.ts → unit/api/rpc/rpc.unit.test.ts} +17 -14
  386. package/src/__tests__/unit/broadcast.unit.test.ts +332 -0
  387. package/src/__tests__/{buildOptimisticOperation.unit.test.ts → unit/buildOptimisticOperation.unit.test.ts} +144 -5
  388. package/src/__tests__/{createTransaction.unit.test.ts → unit/createTransaction.unit.test.ts} +4 -4
  389. package/src/__tests__/{deviceTransactionConfig.unit.test.ts → unit/deviceTransactionConfig.unit.test.ts} +130 -5
  390. package/src/__tests__/{estimateMaxSpendable.unit.test.ts → unit/estimateMaxSpendable.unit.test.ts} +5 -5
  391. package/src/__tests__/{getTransactionStatus.unit.test.ts → unit/getTransactionStatus.unit.test.ts} +121 -5
  392. package/src/__tests__/{hw-getAddress.unit.test.ts → unit/hw-getAddress.unit.test.ts} +6 -2
  393. package/src/__tests__/unit/hw-signMessage.unit.test.ts +192 -0
  394. package/src/__tests__/{logic.unit.test.ts → unit/logic.unit.test.ts} +143 -8
  395. package/src/__tests__/unit/nftResolvers.unit.test.ts +179 -0
  396. package/src/__tests__/{preload.unit.test.ts → unit/preload.unit.test.ts} +4 -4
  397. package/src/__tests__/{prepareTransaction.unit.test.ts → unit/prepareTransaction.unit.test.ts} +284 -109
  398. package/src/__tests__/{signOperation.unit.test.ts → unit/signOperation.unit.test.ts} +18 -20
  399. package/src/__tests__/{synchronization.unit.test.ts → unit/synchronization.unit.test.ts} +202 -280
  400. package/src/__tests__/unit/transaction.unit.test.ts +198 -0
  401. package/src/abis/erc1155.abi.json +314 -0
  402. package/src/abis/erc20.abi.json +4 -12
  403. package/src/abis/erc721.abi.json +346 -0
  404. package/src/adapters.ts +177 -64
  405. package/src/api/explorer/etherscan.ts +265 -49
  406. package/src/api/explorer/index.ts +24 -10
  407. package/src/api/nft/index.ts +49 -0
  408. package/src/api/rpc/index.native.ts +2 -0
  409. package/src/api/rpc/rpc.common.ts +3 -3
  410. package/src/bridge/js.ts +13 -16
  411. package/src/broadcast.ts +29 -2
  412. package/src/buildOptimisticOperation.ts +71 -6
  413. package/src/cli-transaction.ts +2 -0
  414. package/src/datasets/ethereum1.ts +4 -2
  415. package/src/deviceTransactionConfig.ts +65 -0
  416. package/src/errors.ts +8 -0
  417. package/src/getTransactionStatus.ts +26 -0
  418. package/src/hw-signMessage.ts +92 -0
  419. package/src/logic.ts +118 -2
  420. package/src/nftResolvers.ts +71 -0
  421. package/src/preload.ts +9 -3
  422. package/src/prepareTransaction.ts +102 -24
  423. package/src/signOperation.ts +21 -8
  424. package/src/signer.ts +44 -1
  425. package/src/specs.ts +11 -6
  426. package/src/speculos-deviceActions.ts +3 -1
  427. package/src/synchronization.ts +73 -59
  428. package/src/transaction.ts +68 -15
  429. package/src/types.ts +108 -10
  430. package/.eslintrc.js +0 -22
  431. package/lib/__tests__/adapters.unit.test.d.ts.map +0 -1
  432. package/lib/__tests__/adapters.unit.test.js +0 -455
  433. package/lib/__tests__/adapters.unit.test.js.map +0 -1
  434. package/lib/__tests__/broadcast.unit.test.d.ts.map +0 -1
  435. package/lib/__tests__/broadcast.unit.test.js +0 -181
  436. package/lib/__tests__/broadcast.unit.test.js.map +0 -1
  437. package/lib/__tests__/buildOptimisticOperation.unit.test.d.ts.map +0 -1
  438. package/lib/__tests__/buildOptimisticOperation.unit.test.js.map +0 -1
  439. package/lib/__tests__/createTransaction.unit.test.d.ts.map +0 -1
  440. package/lib/__tests__/createTransaction.unit.test.js.map +0 -1
  441. package/lib/__tests__/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  442. package/lib/__tests__/deviceTransactionConfig.unit.test.js.map +0 -1
  443. package/lib/__tests__/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  444. package/lib/__tests__/estimateMaxSpendable.unit.test.js.map +0 -1
  445. package/lib/__tests__/gasTracker/index.unit.test.d.ts.map +0 -1
  446. package/lib/__tests__/gasTracker/index.unit.test.js.map +0 -1
  447. package/lib/__tests__/gasTracker/ledger.unit.test.d.ts.map +0 -1
  448. package/lib/__tests__/gasTracker/ledger.unit.test.js.map +0 -1
  449. package/lib/__tests__/getTransactionStatus.unit.test.d.ts.map +0 -1
  450. package/lib/__tests__/getTransactionStatus.unit.test.js.map +0 -1
  451. package/lib/__tests__/hw-getAddress.unit.test.d.ts.map +0 -1
  452. package/lib/__tests__/hw-getAddress.unit.test.js.map +0 -1
  453. package/lib/__tests__/logic.unit.test.d.ts.map +0 -1
  454. package/lib/__tests__/logic.unit.test.js.map +0 -1
  455. package/lib/__tests__/preload.unit.test.d.ts.map +0 -1
  456. package/lib/__tests__/preload.unit.test.js.map +0 -1
  457. package/lib/__tests__/prepareTransaction.unit.test.d.ts.map +0 -1
  458. package/lib/__tests__/prepareTransaction.unit.test.js +0 -248
  459. package/lib/__tests__/prepareTransaction.unit.test.js.map +0 -1
  460. package/lib/__tests__/rpc.unit.test.d.ts.map +0 -1
  461. package/lib/__tests__/rpc.unit.test.js.map +0 -1
  462. package/lib/__tests__/signOperation.unit.test.d.ts.map +0 -1
  463. package/lib/__tests__/signOperation.unit.test.js.map +0 -1
  464. package/lib/__tests__/synchronization.unit.test.d.ts.map +0 -1
  465. package/lib/__tests__/synchronization.unit.test.js.map +0 -1
  466. package/lib/__tests__/transaction.unit.test.d.ts.map +0 -1
  467. package/lib/__tests__/transaction.unit.test.js.map +0 -1
  468. package/lib/bridge.integration.test.d.ts +0 -14
  469. package/lib/bridge.integration.test.d.ts.map +0 -1
  470. package/lib/bridge.integration.test.js +0 -85
  471. package/lib/bridge.integration.test.js.map +0 -1
  472. package/lib/datasets/ethereum.scanAccounts.1.d.ts +0 -7
  473. package/lib/datasets/ethereum.scanAccounts.1.d.ts.map +0 -1
  474. package/lib/datasets/ethereum.scanAccounts.1.js +0 -51
  475. package/lib/datasets/ethereum.scanAccounts.1.js.map +0 -1
  476. package/lib/datasets/ethereum2.d.ts +0 -3
  477. package/lib/datasets/ethereum2.d.ts.map +0 -1
  478. package/lib/datasets/ethereum2.js +0 -22
  479. package/lib/datasets/ethereum2.js.map +0 -1
  480. package/lib/datasets/ethereum_classic.d.ts +0 -5
  481. package/lib/datasets/ethereum_classic.d.ts.map +0 -1
  482. package/lib/datasets/ethereum_classic.js +0 -69
  483. package/lib/datasets/ethereum_classic.js.map +0 -1
  484. package/lib/testUtils.d.ts +0 -6
  485. package/lib/testUtils.d.ts.map +0 -1
  486. package/lib/testUtils.js.map +0 -1
  487. package/lib-es/__tests__/adapters.unit.test.d.ts.map +0 -1
  488. package/lib-es/__tests__/adapters.unit.test.js +0 -450
  489. package/lib-es/__tests__/adapters.unit.test.js.map +0 -1
  490. package/lib-es/__tests__/broadcast.unit.test.d.ts.map +0 -1
  491. package/lib-es/__tests__/broadcast.unit.test.js +0 -153
  492. package/lib-es/__tests__/broadcast.unit.test.js.map +0 -1
  493. package/lib-es/__tests__/buildOptimisticOperation.unit.test.d.ts.map +0 -1
  494. package/lib-es/__tests__/buildOptimisticOperation.unit.test.js.map +0 -1
  495. package/lib-es/__tests__/createTransaction.unit.test.d.ts.map +0 -1
  496. package/lib-es/__tests__/createTransaction.unit.test.js.map +0 -1
  497. package/lib-es/__tests__/deviceTransactionConfig.unit.test.d.ts.map +0 -1
  498. package/lib-es/__tests__/deviceTransactionConfig.unit.test.js.map +0 -1
  499. package/lib-es/__tests__/estimateMaxSpendable.unit.test.d.ts.map +0 -1
  500. package/lib-es/__tests__/estimateMaxSpendable.unit.test.js.map +0 -1
  501. package/lib-es/__tests__/gasTracker/index.unit.test.d.ts.map +0 -1
  502. package/lib-es/__tests__/gasTracker/index.unit.test.js.map +0 -1
  503. package/lib-es/__tests__/gasTracker/ledger.unit.test.d.ts.map +0 -1
  504. package/lib-es/__tests__/gasTracker/ledger.unit.test.js.map +0 -1
  505. package/lib-es/__tests__/getTransactionStatus.unit.test.d.ts.map +0 -1
  506. package/lib-es/__tests__/getTransactionStatus.unit.test.js.map +0 -1
  507. package/lib-es/__tests__/hw-getAddress.unit.test.d.ts.map +0 -1
  508. package/lib-es/__tests__/hw-getAddress.unit.test.js.map +0 -1
  509. package/lib-es/__tests__/logic.unit.test.d.ts.map +0 -1
  510. package/lib-es/__tests__/logic.unit.test.js.map +0 -1
  511. package/lib-es/__tests__/preload.unit.test.d.ts.map +0 -1
  512. package/lib-es/__tests__/preload.unit.test.js.map +0 -1
  513. package/lib-es/__tests__/prepareTransaction.unit.test.d.ts.map +0 -1
  514. package/lib-es/__tests__/prepareTransaction.unit.test.js.map +0 -1
  515. package/lib-es/__tests__/rpc.unit.test.d.ts.map +0 -1
  516. package/lib-es/__tests__/rpc.unit.test.js.map +0 -1
  517. package/lib-es/__tests__/signOperation.unit.test.d.ts.map +0 -1
  518. package/lib-es/__tests__/signOperation.unit.test.js.map +0 -1
  519. package/lib-es/__tests__/synchronization.unit.test.d.ts.map +0 -1
  520. package/lib-es/__tests__/synchronization.unit.test.js.map +0 -1
  521. package/lib-es/__tests__/transaction.unit.test.d.ts.map +0 -1
  522. package/lib-es/__tests__/transaction.unit.test.js.map +0 -1
  523. package/lib-es/bridge.integration.test.d.ts +0 -14
  524. package/lib-es/bridge.integration.test.d.ts.map +0 -1
  525. package/lib-es/bridge.integration.test.js +0 -79
  526. package/lib-es/bridge.integration.test.js.map +0 -1
  527. package/lib-es/datasets/ethereum.scanAccounts.1.d.ts +0 -7
  528. package/lib-es/datasets/ethereum.scanAccounts.1.d.ts.map +0 -1
  529. package/lib-es/datasets/ethereum.scanAccounts.1.js +0 -49
  530. package/lib-es/datasets/ethereum.scanAccounts.1.js.map +0 -1
  531. package/lib-es/datasets/ethereum2.d.ts +0 -3
  532. package/lib-es/datasets/ethereum2.d.ts.map +0 -1
  533. package/lib-es/datasets/ethereum2.js +0 -19
  534. package/lib-es/datasets/ethereum2.js.map +0 -1
  535. package/lib-es/datasets/ethereum_classic.d.ts +0 -5
  536. package/lib-es/datasets/ethereum_classic.d.ts.map +0 -1
  537. package/lib-es/datasets/ethereum_classic.js +0 -67
  538. package/lib-es/datasets/ethereum_classic.js.map +0 -1
  539. package/lib-es/testUtils.d.ts +0 -6
  540. package/lib-es/testUtils.d.ts.map +0 -1
  541. package/lib-es/testUtils.js.map +0 -1
  542. package/src/__tests__/adapters.unit.test.ts +0 -497
  543. package/src/__tests__/broadcast.unit.test.ts +0 -163
  544. package/src/__tests__/transaction.unit.test.ts +0 -188
  545. package/src/bridge.integration.test.ts +0 -86
  546. package/src/datasets/ethereum.scanAccounts.1.ts +0 -48
  547. package/src/datasets/ethereum2.ts +0 -20
  548. package/src/datasets/ethereum_classic.ts +0 -68
  549. /package/lib/__tests__/{adapters.unit.test.d.ts → unit/adapters.unit.test.d.ts} +0 -0
  550. /package/lib/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.d.ts +0 -0
  551. /package/lib/__tests__/{rpc.unit.test.d.ts → unit/api/rpc/rpc.unit.test.d.ts} +0 -0
  552. /package/lib/__tests__/{broadcast.unit.test.d.ts → unit/broadcast.unit.test.d.ts} +0 -0
  553. /package/lib/__tests__/{buildOptimisticOperation.unit.test.d.ts → unit/buildOptimisticOperation.unit.test.d.ts} +0 -0
  554. /package/lib/__tests__/{createTransaction.unit.test.d.ts → unit/createTransaction.unit.test.d.ts} +0 -0
  555. /package/lib/__tests__/{deviceTransactionConfig.unit.test.d.ts → unit/deviceTransactionConfig.unit.test.d.ts} +0 -0
  556. /package/lib/__tests__/{estimateMaxSpendable.unit.test.d.ts → unit/estimateMaxSpendable.unit.test.d.ts} +0 -0
  557. /package/lib/__tests__/{getTransactionStatus.unit.test.d.ts → unit/getTransactionStatus.unit.test.d.ts} +0 -0
  558. /package/lib/__tests__/{hw-getAddress.unit.test.d.ts → unit/hw-getAddress.unit.test.d.ts} +0 -0
  559. /package/lib/__tests__/{logic.unit.test.d.ts → unit/logic.unit.test.d.ts} +0 -0
  560. /package/lib/__tests__/{preload.unit.test.d.ts → unit/preload.unit.test.d.ts} +0 -0
  561. /package/lib/__tests__/{prepareTransaction.unit.test.d.ts → unit/prepareTransaction.unit.test.d.ts} +0 -0
  562. /package/lib/__tests__/{signOperation.unit.test.d.ts → unit/signOperation.unit.test.d.ts} +0 -0
  563. /package/lib/__tests__/{synchronization.unit.test.d.ts → unit/synchronization.unit.test.d.ts} +0 -0
  564. /package/lib/__tests__/{transaction.unit.test.d.ts → unit/transaction.unit.test.d.ts} +0 -0
  565. /package/lib-es/__tests__/{adapters.unit.test.d.ts → unit/adapters.unit.test.d.ts} +0 -0
  566. /package/lib-es/__tests__/{gasTracker → unit/api/explorer}/index.unit.test.d.ts +0 -0
  567. /package/{lib/__tests__ → lib-es/__tests__/unit/api}/gasTracker/index.unit.test.d.ts +0 -0
  568. /package/lib-es/__tests__/{gasTracker → unit/api/gasTracker}/ledger.unit.test.d.ts +0 -0
  569. /package/lib-es/__tests__/{rpc.unit.test.d.ts → unit/api/rpc/rpc.unit.test.d.ts} +0 -0
  570. /package/lib-es/__tests__/{broadcast.unit.test.d.ts → unit/broadcast.unit.test.d.ts} +0 -0
  571. /package/lib-es/__tests__/{buildOptimisticOperation.unit.test.d.ts → unit/buildOptimisticOperation.unit.test.d.ts} +0 -0
  572. /package/lib-es/__tests__/{createTransaction.unit.test.d.ts → unit/createTransaction.unit.test.d.ts} +0 -0
  573. /package/lib-es/__tests__/{deviceTransactionConfig.unit.test.d.ts → unit/deviceTransactionConfig.unit.test.d.ts} +0 -0
  574. /package/lib-es/__tests__/{estimateMaxSpendable.unit.test.d.ts → unit/estimateMaxSpendable.unit.test.d.ts} +0 -0
  575. /package/lib-es/__tests__/{getTransactionStatus.unit.test.d.ts → unit/getTransactionStatus.unit.test.d.ts} +0 -0
  576. /package/lib-es/__tests__/{hw-getAddress.unit.test.d.ts → unit/hw-getAddress.unit.test.d.ts} +0 -0
  577. /package/lib-es/__tests__/{logic.unit.test.d.ts → unit/logic.unit.test.d.ts} +0 -0
  578. /package/lib-es/__tests__/{preload.unit.test.d.ts → unit/preload.unit.test.d.ts} +0 -0
  579. /package/lib-es/__tests__/{prepareTransaction.unit.test.d.ts → unit/prepareTransaction.unit.test.d.ts} +0 -0
  580. /package/lib-es/__tests__/{signOperation.unit.test.d.ts → unit/signOperation.unit.test.d.ts} +0 -0
  581. /package/lib-es/__tests__/{synchronization.unit.test.d.ts → unit/synchronization.unit.test.d.ts} +0 -0
  582. /package/lib-es/__tests__/{transaction.unit.test.d.ts → unit/transaction.unit.test.d.ts} +0 -0
@@ -0,0 +1,62 @@
1
+ import { ethers } from "ethers";
2
+ import BigNumber from "bignumber.js";
3
+ import { getTokenById } from "@ledgerhq/cryptoassets/tokens";
4
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
5
+ import { makeAccount, makeTokenAccount } from "./common.fixtures";
6
+ import ERC1155ABI from "../../abis/erc1155.abi.json";
7
+ import ERC721ABI from "../../abis/erc721.abi.json";
8
+ import ERC20ABI from "../../abis/erc20.abi.json";
9
+ const currency = getCryptoCurrencyById("ethereum");
10
+ export const tokenAccount = makeTokenAccount("0xkvn", getTokenById("ethereum/erc20/usd__coin"));
11
+ export const account = makeAccount("0x6cBCD73CD8e8a42844662f0A0e76D7F79Afd933d", currency, [
12
+ tokenAccount,
13
+ ]);
14
+ export const transaction = Object.freeze({
15
+ amount: new BigNumber(100),
16
+ useAllAmount: false,
17
+ subAccountId: "id",
18
+ recipient: "0x6bfD74C0996F269Bcece59191EFf667b3dFD73b9",
19
+ feesStrategy: "medium",
20
+ family: "evm",
21
+ mode: "send",
22
+ gasPrice: new BigNumber(0),
23
+ gasLimit: new BigNumber(21000),
24
+ nonce: 0,
25
+ chainId: 1,
26
+ });
27
+ export const tokenTransaction = Object.freeze(Object.assign(Object.assign({}, transaction), { subAccountId: tokenAccount.id }));
28
+ export const nftTransaction = Object.freeze(Object.assign(Object.assign({}, transaction), { mode: "erc721", nft: {
29
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
30
+ tokenId: "1",
31
+ quantity: new BigNumber(1),
32
+ collectionName: "",
33
+ } }));
34
+ export const expectedData = (account, transaction, type) => {
35
+ var _a, _b, _c, _d;
36
+ switch (type) {
37
+ case "erc20":
38
+ return Buffer.from(new ethers.utils.Interface(ERC20ABI)
39
+ .encodeFunctionData("transfer", [transaction.recipient, transaction.amount.toFixed()])
40
+ .slice(2), "hex");
41
+ case "erc721":
42
+ return Buffer.from(new ethers.utils.Interface(ERC721ABI)
43
+ .encodeFunctionData("safeTransferFrom(address,address,uint256,bytes)", [
44
+ account.freshAddress,
45
+ transaction.recipient,
46
+ (_a = transaction.nft) === null || _a === void 0 ? void 0 : _a.tokenId,
47
+ "0x",
48
+ ])
49
+ .slice(2), "hex");
50
+ case "erc1155":
51
+ return Buffer.from(new ethers.utils.Interface(ERC1155ABI)
52
+ .encodeFunctionData("safeTransferFrom(address,address,uint256,uint256,bytes)", [
53
+ account.freshAddress,
54
+ transaction.recipient,
55
+ (_b = transaction.nft) === null || _b === void 0 ? void 0 : _b.tokenId,
56
+ (_d = (_c = transaction.nft) === null || _c === void 0 ? void 0 : _c.quantity) === null || _d === void 0 ? void 0 : _d.toFixed(),
57
+ "0x",
58
+ ])
59
+ .slice(2), "hex");
60
+ }
61
+ };
62
+ //# sourceMappingURL=prepareTransaction.fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareTransaction.fixtures.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/prepareTransaction.fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
3
+ export declare const currency: CryptoCurrency;
4
+ export declare const tokenCurrencies: Readonly<import("@ledgerhq/types-cryptoassets").TokenCurrency>[];
5
+ export declare const tokenAccount: import("@ledgerhq/types-live").TokenAccount;
6
+ export declare const account: Readonly<{
7
+ syncHash: string;
8
+ type: "Account";
9
+ id: string;
10
+ seedIdentifier: string;
11
+ xpub?: string | undefined;
12
+ derivationMode: string;
13
+ index: number;
14
+ freshAddress: string;
15
+ freshAddressPath: string;
16
+ freshAddresses: import("@ledgerhq/types-live").Address[];
17
+ name: string;
18
+ starred: boolean;
19
+ used: boolean;
20
+ balance: BigNumber;
21
+ spendableBalance: BigNumber;
22
+ creationDate: Date;
23
+ blockHeight: number;
24
+ currency: CryptoCurrency;
25
+ feesCurrency?: import("@ledgerhq/types-cryptoassets").TokenCurrency | CryptoCurrency | undefined;
26
+ unit: import("@ledgerhq/types-cryptoassets").Unit;
27
+ operationsCount: number;
28
+ operations: import("@ledgerhq/types-live").Operation[];
29
+ pendingOperations: import("@ledgerhq/types-live").Operation[];
30
+ lastSyncDate: Date;
31
+ endpointConfig?: string | null | undefined;
32
+ subAccounts?: import("@ledgerhq/types-live").SubAccount[] | undefined;
33
+ balanceHistoryCache: import("@ledgerhq/types-live").BalanceHistoryCache;
34
+ swapHistory: import("@ledgerhq/types-live/lib/swap").SwapOperation[];
35
+ nfts?: import("@ledgerhq/types-live").ProtoNFT[] | undefined;
36
+ }>;
37
+ export declare const coinOperations: import("@ledgerhq/types-live").Operation[];
38
+ export declare const tokenOperations: import("@ledgerhq/types-live").Operation[];
39
+ export declare const erc721Operations: import("@ledgerhq/types-live").Operation[];
40
+ export declare const erc1155Operations: import("@ledgerhq/types-live").Operation[];
41
+ export declare const ignoredTokenOperation: import("@ledgerhq/types-live").Operation;
42
+ export declare const pendingOperation: import("@ledgerhq/types-live").Operation;
43
+ export declare const nfts: import("@ledgerhq/types-live").ProtoNFT[];
44
+ //# sourceMappingURL=synchronization.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/synchronization.fixtures.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAa9D,eAAO,MAAM,QAAQ,EAAE,cAUrB,CAAC;AAEH,eAAO,MAAM,eAAe,kEAG3B,CAAC;AAEF,eAAO,MAAM,YAAY,6CAAgD,CAAC;AAC1E,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGlB,CAAC;AAEH,eAAO,MAAM,cAAc,4CAwB1B,CAAC;AAEF,eAAO,MAAM,eAAe,4CAmC3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,4CAuD5B,CAAC;AAEF,eAAO,MAAM,iBAAiB,4CAqC7B,CAAC;AAEF,eAAO,MAAM,qBAAqB,0CAMhC,CAAC;AAEH,eAAO,MAAM,gBAAgB,0CAE3B,CAAC;AAEH,eAAO,MAAM,IAAI,2CAiBhB,CAAC"}
@@ -0,0 +1,190 @@
1
+ /* instanbul ignore file: don't test fixtures */
2
+ import BigNumber from "bignumber.js";
3
+ import { getTokenById } from "@ledgerhq/cryptoassets/tokens";
4
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
5
+ import * as logic from "../../logic";
6
+ import { makeAccount, makeNft, makeNftOperation, makeOperation, makeTokenAccount, } from "./common.fixtures";
7
+ jest.useFakeTimers().setSystemTime(new Date("2014-04-21"));
8
+ export const currency = Object.freeze(Object.assign(Object.assign({}, getCryptoCurrencyById("ethereum")), { ethereumLikeInfo: {
9
+ chainId: 1,
10
+ rpc: "https://my-rpc.com",
11
+ explorer: {
12
+ uri: "https://api.com",
13
+ type: "etherscan",
14
+ },
15
+ } }));
16
+ export const tokenCurrencies = [
17
+ Object.freeze(getTokenById("ethereum/erc20/usd__coin")),
18
+ Object.freeze(getTokenById("ethereum/erc20/usd_tether__erc20_")),
19
+ ];
20
+ export const tokenAccount = makeTokenAccount("0xkvn", tokenCurrencies[0]);
21
+ export const account = Object.freeze(Object.assign(Object.assign({}, makeAccount("0xkvn", currency, [tokenAccount])), { syncHash: logic.getSyncHash(currency) }));
22
+ export const coinOperations = [
23
+ makeOperation({
24
+ hash: "0xCoinOp1Hash",
25
+ accountId: "js:2:ethereum:0xkvn:",
26
+ blockHash: "0x8df71a12a8c06b36c06c26bf6248857dd2a2b75b6edbb4e33e9477078897b282",
27
+ senders: ["0xd48f2332Eeed88243Cb6b1D0d65a10368A5370f0"],
28
+ transactionSequenceNumber: 1,
29
+ date: new Date(),
30
+ blockHeight: 1,
31
+ }),
32
+ makeOperation({
33
+ hash: "0xCoinOp2Hash",
34
+ accountId: "js:2:ethereum:0xkvn:",
35
+ transactionSequenceNumber: 2,
36
+ date: new Date(Date.now() + 1),
37
+ blockHeight: 100,
38
+ }),
39
+ makeOperation({
40
+ hash: "0xCoinOp3Hash",
41
+ accountId: "js:2:ethereum:0xkvn:",
42
+ transactionSequenceNumber: 5,
43
+ date: new Date(Date.now() + 2),
44
+ blockHeight: 1000,
45
+ }),
46
+ ];
47
+ export const tokenOperations = [
48
+ makeOperation({
49
+ hash: coinOperations[0].hash,
50
+ accountId: "js:2:ethereum:0xkvn:+ethereum%2Ferc20%2Fusd__coin",
51
+ blockHash: "0x95dc138a02c1b0e3fd49305f785e8e27e88a885004af13a9b4c62ad94eed07dd",
52
+ recipients: ["0xB0B"],
53
+ senders: ["0x9b744C0451D73C0958d8aA566dAd33022E4Ee797"],
54
+ contract: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
55
+ value: new BigNumber(152021496),
56
+ fee: new BigNumber(1935663357068271),
57
+ type: "OUT",
58
+ date: new Date(),
59
+ blockHeight: 10,
60
+ }),
61
+ makeOperation({
62
+ hash: "0xTokenHashAga1n",
63
+ accountId: "js:2:ethereum:0xkvn:+ethereum%2Ferc20%2Fusd__coin",
64
+ contract: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
65
+ date: new Date(Date.now() + 1),
66
+ blockHeight: 1000,
67
+ }),
68
+ makeOperation({
69
+ hash: "0xTokenHashAga1n",
70
+ accountId: "js:2:ethereum:0xkvn:+ethereum%2Ferc20%2Fusd__coin",
71
+ contract: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
72
+ date: new Date(Date.now() + 2),
73
+ blockHeight: 10000,
74
+ }),
75
+ makeOperation({
76
+ hash: "0xTokenHashOtherToken",
77
+ accountId: "js:2:ethereum:0xkvn:+ethereum%2Ferc20%2Fusd_tether__erc20_",
78
+ contract: "0xdac17f958d2ee523a2206206994597c13d831ec7",
79
+ date: new Date(Date.now() + 3),
80
+ blockHeight: 11000,
81
+ }),
82
+ ];
83
+ export const erc721Operations = [
84
+ makeNftOperation({
85
+ hash: coinOperations[0].hash,
86
+ accountId: coinOperations[0].accountId,
87
+ blockHash: coinOperations[0].blockHash,
88
+ recipients: ["0xB0B"],
89
+ senders: ["0x1084b55cB63dE549806A521036F7dad2d37E3fAE"],
90
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
91
+ tokenId: "1",
92
+ standard: "ERC721",
93
+ value: new BigNumber(1),
94
+ fee: coinOperations[0].fee,
95
+ type: "NFT_IN",
96
+ date: coinOperations[0].date,
97
+ blockHeight: coinOperations[0].blockHeight,
98
+ }, 0),
99
+ makeNftOperation({
100
+ hash: coinOperations[1].hash,
101
+ accountId: coinOperations[1].accountId,
102
+ blockHash: coinOperations[1].blockHash,
103
+ recipients: ["0xB0B"],
104
+ senders: ["0x1084b55cB63dE549806A521036F7dad2d37E3fAE"],
105
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
106
+ tokenId: "2",
107
+ standard: "ERC721",
108
+ value: new BigNumber(1),
109
+ fee: coinOperations[1].fee,
110
+ type: "NFT_IN",
111
+ date: coinOperations[1].date,
112
+ blockHeight: coinOperations[1].blockHeight,
113
+ }, 0),
114
+ makeNftOperation({
115
+ hash: coinOperations[1].hash,
116
+ accountId: coinOperations[1].accountId,
117
+ blockHash: coinOperations[1].blockHash,
118
+ recipients: ["0xB0B"],
119
+ senders: ["0x1084b55cB63dE549806A521036F7dad2d37E3fAE"],
120
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
121
+ tokenId: "1",
122
+ standard: "ERC721",
123
+ value: new BigNumber(1),
124
+ fee: coinOperations[1].fee,
125
+ type: "NFT_OUT",
126
+ date: coinOperations[1].date,
127
+ blockHeight: coinOperations[1].blockHeight,
128
+ }, 1),
129
+ ];
130
+ export const erc1155Operations = [
131
+ makeNftOperation({
132
+ hash: coinOperations[0].hash,
133
+ accountId: "js:2:ethereum:0xkvn:",
134
+ blockHash: "0x95dc138a02c1b0e3fd49305f785e8e27e88a885004af13a9b4c62ad94eed07dd",
135
+ recipients: ["0xB0B"],
136
+ senders: ["0x1084b55cB63dE549806A521036F7dad2d37E3fAE"],
137
+ contract: "0xBa98C7d6B25309FF097e88D24400c0EbC4D68e3a",
138
+ tokenId: "1",
139
+ standard: "ERC1155",
140
+ value: new BigNumber(10),
141
+ fee: new BigNumber(1935663357068271),
142
+ type: "NFT_IN",
143
+ date: new Date(),
144
+ blockHeight: 10,
145
+ }, 0),
146
+ makeNftOperation({
147
+ hash: coinOperations[1].hash,
148
+ accountId: "js:2:ethereum:0xkvn:",
149
+ blockHash: "0x95dc138a02c1b0e3fd49305f785e8e27e88a885004af13a9b4c62ad94eed07dd",
150
+ recipients: ["0xB0B"],
151
+ senders: ["0x1084b55cB63dE549806A521036F7dad2d37E3fAE"],
152
+ contract: "0xBa98C7d6B25309FF097e88D24400c0EbC4D68e3a",
153
+ tokenId: "1",
154
+ standard: "ERC1155",
155
+ value: new BigNumber(9),
156
+ fee: new BigNumber(1935663357068271),
157
+ type: "NFT_OUT",
158
+ date: new Date(Date.now() + 1),
159
+ blockHeight: 11,
160
+ }, 0),
161
+ ];
162
+ export const ignoredTokenOperation = makeOperation({
163
+ hash: "0xigN0r3Me",
164
+ accountId: "js:2:ethereum:0xkvn:+ethereum%2Ferc20%2Fusd_tether__erc20_",
165
+ contract: "0xUnknownContract",
166
+ date: new Date(Date.now() + 4),
167
+ blockHeight: 12000,
168
+ });
169
+ export const pendingOperation = makeOperation({
170
+ hash: "123",
171
+ });
172
+ export const nfts = [
173
+ makeNft({
174
+ amount: new BigNumber("1"),
175
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
176
+ currencyId: "ethereum",
177
+ id: "js:2:ethereum:0xkvn:+0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D+2+ethereum",
178
+ standard: "ERC721",
179
+ tokenId: "2",
180
+ }),
181
+ makeNft({
182
+ amount: new BigNumber("1"),
183
+ contract: "0xBa98C7d6B25309FF097e88D24400c0EbC4D68e3a",
184
+ currencyId: "ethereum",
185
+ id: "js:2:ethereum:0xkvn:+0xBa98C7d6B25309FF097e88D24400c0EbC4D68e3a+1+ethereum",
186
+ standard: "ERC1155",
187
+ tokenId: "1",
188
+ }),
189
+ ];
190
+ //# sourceMappingURL=synchronization.fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"synchronization.fixtures.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/synchronization.fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /// <reference types="node" />
2
+ import BigNumber from "bignumber.js";
3
+ import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
4
+ import { EvmTransactionEIP1559, EvmTransactionEIP1559Raw, EvmTransactionLegacy, EvmTransactionLegacyRaw, Transaction as EvmTransaction, EvmNftTransactionRaw, EvmNftTransaction } from "../../types";
5
+ export declare const testData: string;
6
+ export declare const rawEip1559Tx: EvmTransactionEIP1559Raw;
7
+ export declare const rawNftEip1559Tx: EvmTransactionEIP1559Raw & EvmNftTransactionRaw;
8
+ export declare const eip1559Tx: EvmTransactionEIP1559;
9
+ export declare const nftEip1559tx: Readonly<{
10
+ mode: "erc721";
11
+ nft: Readonly<{
12
+ tokenId: "123";
13
+ contract: "0xContract";
14
+ quantity: BigNumber;
15
+ collectionName: "collectionName";
16
+ }>;
17
+ amount: BigNumber;
18
+ recipient: string;
19
+ recipientDomain?: import("@ledgerhq/types-live").DomainServiceResolution | undefined;
20
+ useAllAmount?: boolean | undefined;
21
+ subAccountId?: string | null | undefined;
22
+ feesStrategy?: "slow" | "medium" | "fast" | "custom" | null | undefined;
23
+ family: "evm";
24
+ nonce: number;
25
+ gasLimit: BigNumber;
26
+ chainId: number;
27
+ data?: Buffer | null | undefined;
28
+ type: 2;
29
+ additionalFees?: BigNumber | undefined;
30
+ gasOptions?: import("../../types").GasOptions | undefined;
31
+ gasPrice?: undefined;
32
+ maxPriorityFeePerGas: BigNumber;
33
+ maxFeePerGas: BigNumber;
34
+ }>;
35
+ export declare const rawLegacyTx: EvmTransactionLegacyRaw;
36
+ export declare const nftRawLegacyTx: EvmTransactionLegacyRaw & EvmNftTransactionRaw;
37
+ export declare const legacyTx: EvmTransactionLegacy;
38
+ export declare const nftLegacyTx: EvmTransactionLegacy & EvmNftTransaction;
39
+ export declare const currency: CryptoCurrency;
40
+ export declare const tokenCurrency: Readonly<import("@ledgerhq/types-cryptoassets").TokenCurrency>;
41
+ export declare const tokenAccount: import("@ledgerhq/types-live").TokenAccount;
42
+ export declare const account: import("@ledgerhq/types-live").Account;
43
+ export declare const tokenTransaction: EvmTransaction;
44
+ export declare const erc721Transaction: EvmTransaction;
45
+ export declare const erc1155Transaction: EvmTransaction;
46
+ export declare const erc1155TransactionNonFinite: EvmTransaction;
47
+ //# sourceMappingURL=transaction.fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.fixtures.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fixtures/transaction.fixtures.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,WAAW,IAAI,cAAc,EAC7B,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,QAAQ,QAAiE,CAAC;AAgBvF,eAAO,MAAM,YAAY,EAAE,wBAkB1B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,wBAAwB,GAAG,oBAIvD,CAAC;AAEH,eAAO,MAAM,SAAS,EAAE,qBAkBvB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;EAIvB,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,uBAexB,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,uBAAuB,GAAG,oBAIrD,CAAC;AAEH,eAAO,MAAM,QAAQ,EAAE,oBAiBtB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,oBAAoB,GAAG,iBAI/C,CAAC;AAEH,eAAO,MAAM,QAAQ,EAAE,cAUrB,CAAC;AACH,eAAO,MAAM,aAAa,gEAA0D,CAAC;AACrF,eAAO,MAAM,YAAY,6CAGxB,CAAC;AACF,eAAO,MAAM,OAAO,wCAElB,CAAC;AAEH,eAAO,MAAM,gBAAgB,EAAE,cAc7B,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,cAmB9B,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,cAmB/B,CAAC;AAEH,eAAO,MAAM,2BAA2B,EAAE,cAmBxC,CAAC"}
@@ -0,0 +1,176 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { getTokenById } from "@ledgerhq/cryptoassets/tokens";
3
+ import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets/currencies";
4
+ import { makeAccount, makeTokenAccount } from "./common.fixtures";
5
+ export const testData = Object.freeze(Buffer.from("testBufferString").toString("hex"));
6
+ const rawNft = Object.freeze({
7
+ tokenId: "123",
8
+ contract: "0xContract",
9
+ quantity: "10",
10
+ collectionName: "collectionName",
11
+ });
12
+ const nft = Object.freeze({
13
+ tokenId: "123",
14
+ contract: "0xContract",
15
+ quantity: new BigNumber("10"),
16
+ collectionName: "collectionName",
17
+ });
18
+ export const rawEip1559Tx = Object.freeze(Object.freeze({
19
+ amount: "100",
20
+ useAllAmount: false,
21
+ subAccountId: "id",
22
+ recipient: "0xkvn",
23
+ feesStrategy: "custom",
24
+ family: "evm",
25
+ mode: "send",
26
+ nonce: 0,
27
+ gasLimit: "21000",
28
+ chainId: 1,
29
+ data: testData,
30
+ maxFeePerGas: "10000",
31
+ maxPriorityFeePerGas: "10000",
32
+ additionalFees: "420",
33
+ type: 2,
34
+ }));
35
+ export const rawNftEip1559Tx = Object.freeze(Object.assign(Object.assign({}, rawEip1559Tx), { mode: "erc721", nft: rawNft }));
36
+ export const eip1559Tx = Object.freeze(Object.freeze({
37
+ amount: new BigNumber(100),
38
+ useAllAmount: false,
39
+ subAccountId: "id",
40
+ recipient: "0xkvn",
41
+ feesStrategy: "custom",
42
+ family: "evm",
43
+ mode: "send",
44
+ nonce: 0,
45
+ gasLimit: new BigNumber(21000),
46
+ chainId: 1,
47
+ data: Buffer.from(testData, "hex"),
48
+ maxFeePerGas: new BigNumber(10000),
49
+ maxPriorityFeePerGas: new BigNumber(10000),
50
+ additionalFees: new BigNumber(420),
51
+ type: 2,
52
+ }));
53
+ export const nftEip1559tx = Object.freeze(Object.assign(Object.assign({}, eip1559Tx), { mode: "erc721", nft }));
54
+ export const rawLegacyTx = Object.freeze({
55
+ amount: "100",
56
+ useAllAmount: false,
57
+ subAccountId: "id",
58
+ recipient: "0xkvn",
59
+ feesStrategy: "custom",
60
+ family: "evm",
61
+ mode: "send",
62
+ nonce: 0,
63
+ gasLimit: "21000",
64
+ chainId: 1,
65
+ data: testData,
66
+ gasPrice: "10000",
67
+ additionalFees: "420",
68
+ type: 0,
69
+ });
70
+ export const nftRawLegacyTx = Object.freeze(Object.assign(Object.assign({}, rawLegacyTx), { mode: "erc721", nft: rawNft }));
71
+ export const legacyTx = Object.freeze(Object.freeze({
72
+ amount: new BigNumber(100),
73
+ useAllAmount: false,
74
+ subAccountId: "id",
75
+ recipient: "0xkvn",
76
+ feesStrategy: "custom",
77
+ family: "evm",
78
+ mode: "send",
79
+ nonce: 0,
80
+ gasLimit: new BigNumber(21000),
81
+ chainId: 1,
82
+ data: Buffer.from(testData, "hex"),
83
+ gasPrice: new BigNumber(10000),
84
+ additionalFees: new BigNumber(420),
85
+ type: 0,
86
+ }));
87
+ export const nftLegacyTx = Object.freeze(Object.assign(Object.assign({}, legacyTx), { mode: "erc721", nft }));
88
+ export const currency = Object.freeze(Object.assign(Object.assign({}, getCryptoCurrencyById("ethereum")), { ethereumLikeInfo: {
89
+ chainId: 1,
90
+ rpc: "https://my-rpc.com",
91
+ explorer: {
92
+ uri: "https://api.com",
93
+ type: "etherscan",
94
+ },
95
+ } }));
96
+ export const tokenCurrency = Object.freeze(getTokenById("ethereum/erc20/usd__coin"));
97
+ export const tokenAccount = makeTokenAccount("0x6cBCD73CD8e8a42844662f0A0e76D7F79Afd933d", tokenCurrency);
98
+ export const account = makeAccount("0x6cBCD73CD8e8a42844662f0A0e76D7F79Afd933d", currency, [
99
+ tokenAccount,
100
+ ]);
101
+ export const tokenTransaction = Object.freeze({
102
+ family: "evm",
103
+ mode: "send",
104
+ amount: new BigNumber(100),
105
+ useAllAmount: false,
106
+ subAccountId: tokenAccount.id,
107
+ recipient: "0x51DF0aF74a0DBae16cB845B46dAF2a35cB1D4168",
108
+ feesStrategy: "custom",
109
+ nonce: 0,
110
+ gasLimit: new BigNumber(60000),
111
+ chainId: 1,
112
+ maxFeePerGas: new BigNumber(100),
113
+ maxPriorityFeePerGas: new BigNumber(100),
114
+ type: 2,
115
+ });
116
+ export const erc721Transaction = Object.freeze({
117
+ family: "evm",
118
+ mode: "erc721",
119
+ amount: new BigNumber(0),
120
+ useAllAmount: false,
121
+ recipient: "0x51DF0aF74a0DBae16cB845B46dAF2a35cB1D4168",
122
+ feesStrategy: "custom",
123
+ nonce: 0,
124
+ gasLimit: new BigNumber(60000),
125
+ chainId: 1,
126
+ nft: {
127
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
128
+ tokenId: "1",
129
+ quantity: new BigNumber(1),
130
+ collectionName: "BAYC",
131
+ },
132
+ maxFeePerGas: new BigNumber(100),
133
+ maxPriorityFeePerGas: new BigNumber(100),
134
+ type: 2,
135
+ });
136
+ export const erc1155Transaction = Object.freeze({
137
+ family: "evm",
138
+ mode: "erc1155",
139
+ amount: new BigNumber(0),
140
+ useAllAmount: false,
141
+ recipient: "0x51DF0aF74a0DBae16cB845B46dAF2a35cB1D4168",
142
+ feesStrategy: "custom",
143
+ nonce: 0,
144
+ gasLimit: new BigNumber(60000),
145
+ chainId: 1,
146
+ nft: {
147
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
148
+ tokenId: "1",
149
+ quantity: new BigNumber(10),
150
+ collectionName: "BAYC",
151
+ },
152
+ maxFeePerGas: new BigNumber(100),
153
+ maxPriorityFeePerGas: new BigNumber(100),
154
+ type: 2,
155
+ });
156
+ export const erc1155TransactionNonFinite = Object.freeze({
157
+ family: "evm",
158
+ mode: "erc1155",
159
+ amount: new BigNumber(0),
160
+ useAllAmount: false,
161
+ recipient: "0x51DF0aF74a0DBae16cB845B46dAF2a35cB1D4168",
162
+ feesStrategy: "custom",
163
+ nonce: 0,
164
+ gasLimit: new BigNumber(60000),
165
+ chainId: 1,
166
+ nft: {
167
+ contract: "0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D",
168
+ tokenId: "1",
169
+ quantity: new BigNumber(Infinity),
170
+ collectionName: "BAYC",
171
+ },
172
+ maxFeePerGas: new BigNumber(100),
173
+ maxPriorityFeePerGas: new BigNumber(100),
174
+ type: 2,
175
+ });
176
+ //# sourceMappingURL=transaction.fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.fixtures.js","sourceRoot":"","sources":["../../../src/__tests__/fixtures/transaction.fixtures.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAWlE,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;IAC7B,cAAc,EAAE,gBAAgB;CACjC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAA6B,MAAM,CAAC,MAAM,CACjE,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,QAAQ;IACd,YAAY,EAAE,OAAO;IACrB,oBAAoB,EAAE,OAAO;IAC7B,cAAc,EAAE,KAAK;IACrB,IAAI,EAAE,CAAC;CACR,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAoD,MAAM,CAAC,MAAM,iCACxF,YAAY,KACf,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,IACX,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAA0B,MAAM,CAAC,MAAM,CAC3D,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAC1B,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;IAClC,YAAY,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAClC,oBAAoB,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC1C,cAAc,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAClC,IAAI,EAAE,CAAC;CACR,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,iCACpC,SAAS,KACZ,IAAI,EAAE,QAAQ,EACd,GAAG,IACH,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAA4B,MAAM,CAAC,MAAM,CAAC;IAChE,MAAM,EAAE,KAAK;IACb,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,OAAO;IACjB,cAAc,EAAE,KAAK;IACrB,IAAI,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,cAAc,GAAmD,MAAM,CAAC,MAAM,iCACtF,WAAW,KACd,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,IACX,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAyB,MAAM,CAAC,MAAM,CACzD,MAAM,CAAC,MAAM,CAAC;IACZ,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAC1B,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,OAAO;IAClB,YAAY,EAAE,QAAQ;IACtB,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;IAClC,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,cAAc,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAClC,IAAI,EAAE,CAAC;CACR,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAA6C,MAAM,CAAC,MAAM,iCAC7E,QAAQ,KACX,IAAI,EAAE,QAAQ,EACd,GAAG,IACH,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAmB,MAAM,CAAC,MAAM,iCAChD,qBAAqB,CAAC,UAAU,CAAC,KACpC,gBAAgB,EAAE;QAChB,OAAO,EAAE,CAAC;QACV,GAAG,EAAE,oBAAoB;QACzB,QAAQ,EAAE;YACR,GAAG,EAAE,iBAAiB;YACtB,IAAI,EAAE,WAAoB;SAC3B;KACF,IACD,CAAC;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC,CAAC;AACrF,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAC1C,4CAA4C,EAC5C,aAAa,CACd,CAAC;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,WAAW,CAAC,4CAA4C,EAAE,QAAQ,EAAE;IACzF,YAAY;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC5D,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAC1B,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,YAAY,CAAC,EAAE;IAC7B,SAAS,EAAE,4CAA4C;IACvD,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,YAAY,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAChC,oBAAoB,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;IACxB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,4CAA4C;IACvD,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,4CAA4C;QACtD,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;QAC1B,cAAc,EAAE,MAAM;KACvB;IACD,YAAY,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAChC,oBAAoB,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAmB,MAAM,CAAC,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;IACxB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,4CAA4C;IACvD,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,4CAA4C;QACtD,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC;QAC3B,cAAc,EAAE,MAAM;KACvB;IACD,YAAY,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAChC,oBAAoB,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAmB,MAAM,CAAC,MAAM,CAAC;IACvE,MAAM,EAAE,KAAK;IACb,IAAI,EAAE,SAAS;IACf,MAAM,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC;IACxB,YAAY,EAAE,KAAK;IACnB,SAAS,EAAE,4CAA4C;IACvD,YAAY,EAAE,QAAQ;IACtB,KAAK,EAAE,CAAC;IACR,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;IAC9B,OAAO,EAAE,CAAC;IACV,GAAG,EAAE;QACH,QAAQ,EAAE,4CAA4C;QACtD,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,CAAC;QACjC,cAAc,EAAE,MAAM;KACvB;IACD,YAAY,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IAChC,oBAAoB,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;IACxC,IAAI,EAAE,CAAC;CACR,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * ⚠️ In order to test this file, you must run the test from the live-common repo
3
+ */
4
+ import type { DatasetTest } from "@ledgerhq/types-live";
5
+ import type { Transaction } from "../../types";
6
+ export declare const dataset: DatasetTest<Transaction>;
7
+ //# sourceMappingURL=bridge.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.integration.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/integration/bridge.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,eAAO,MAAM,OAAO,EAAE,WAAW,CAAC,WAAW,CA8D5C,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * ⚠️ In order to test this file, you must run the test from the live-common repo
3
+ */
4
+ import { BigNumber } from "bignumber.js";
5
+ import { FeeNotLoaded, NotEnoughBalance } from "@ledgerhq/errors";
6
+ import { fromTransactionRaw } from "../../transaction";
7
+ import { ethereum1 } from "../../datasets/ethereum1";
8
+ export const dataset = {
9
+ implementations: ["mock", "js"],
10
+ currencies: {
11
+ ethereum_as_evm_test_only: {
12
+ accounts: [
13
+ {
14
+ FIXME_tests: ["balance is sum of ops"],
15
+ implementations: ["js"],
16
+ raw: ethereum1,
17
+ transactions: [
18
+ {
19
+ name: "Send",
20
+ transaction: fromTransactionRaw({
21
+ family: "evm",
22
+ mode: "send",
23
+ recipient: "0x17733CAb76d9A2112576443F21735789733B1ca3",
24
+ amount: (1e19).toString(),
25
+ gasPrice: "0",
26
+ gasLimit: "21000",
27
+ chainId: 1,
28
+ nonce: 0,
29
+ }),
30
+ expectedStatus: (account, transaction) => {
31
+ const estimatedFees = transaction.gasLimit.times(transaction.maxFeePerGas || 0);
32
+ return {
33
+ amount: new BigNumber(1e19),
34
+ estimatedFees,
35
+ totalSpent: new BigNumber(1e19).plus(estimatedFees),
36
+ errors: {
37
+ amount: new NotEnoughBalance(),
38
+ gasLimit: new FeeNotLoaded(), // "Could not load fee rates. Please set manual fees" because gas estimation failed as the account is empty
39
+ },
40
+ warnings: {},
41
+ };
42
+ },
43
+ },
44
+ {
45
+ name: "Send max",
46
+ transaction: fromTransactionRaw({
47
+ family: "evm",
48
+ mode: "send",
49
+ recipient: "0x17733CAb76d9A2112576443F21735789733B1ca3",
50
+ amount: "1",
51
+ gasPrice: "100000000",
52
+ gasLimit: "21000",
53
+ chainId: 1,
54
+ nonce: 0,
55
+ useAllAmount: true,
56
+ }),
57
+ expectedStatus: (account, _, status) => {
58
+ return {
59
+ amount: BigNumber.max(account.balance.minus(status.estimatedFees), 0),
60
+ errors: {},
61
+ warnings: {},
62
+ };
63
+ },
64
+ },
65
+ ],
66
+ },
67
+ ],
68
+ },
69
+ },
70
+ };
71
+ //# sourceMappingURL=bridge.integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridge.integration.test.js","sourceRoot":"","sources":["../../../src/__tests__/integration/bridge.integration.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,MAAM,CAAC,MAAM,OAAO,GAA6B;IAC/C,eAAe,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;IAC/B,UAAU,EAAE;QACV,yBAAyB,EAAE;YACzB,QAAQ,EAAE;gBACR;oBACE,WAAW,EAAE,CAAC,uBAAuB,CAAC;oBACtC,eAAe,EAAE,CAAC,IAAI,CAAC;oBACvB,GAAG,EAAE,SAAuB;oBAC5B,YAAY,EAAE;wBACZ;4BACE,IAAI,EAAE,MAAM;4BACZ,WAAW,EAAE,kBAAkB,CAAC;gCAC9B,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,MAAM;gCACZ,SAAS,EAAE,4CAA4C;gCACvD,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;gCACzB,QAAQ,EAAE,GAAG;gCACb,QAAQ,EAAE,OAAO;gCACjB,OAAO,EAAE,CAAC;gCACV,KAAK,EAAE,CAAC;6BACT,CAAC;4BACF,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,EAAE;gCACvC,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC;gCAChF,OAAO;oCACL,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;oCAC3B,aAAa;oCACb,UAAU,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;oCACnD,MAAM,EAAE;wCACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;wCAC9B,QAAQ,EAAE,IAAI,YAAY,EAAE,EAAE,2GAA2G;qCAC1I;oCACD,QAAQ,EAAE,EAAE;iCACb,CAAC;4BACJ,CAAC;yBACF;wBACD;4BACE,IAAI,EAAE,UAAU;4BAChB,WAAW,EAAE,kBAAkB,CAAC;gCAC9B,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,MAAM;gCACZ,SAAS,EAAE,4CAA4C;gCACvD,MAAM,EAAE,GAAG;gCACX,QAAQ,EAAE,WAAW;gCACrB,QAAQ,EAAE,OAAO;gCACjB,OAAO,EAAE,CAAC;gCACV,KAAK,EAAE,CAAC;gCACR,YAAY,EAAE,IAAI;6BACnB,CAAC;4BACF,cAAc,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE;gCACrC,OAAO;oCACL,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oCACrE,MAAM,EAAE,EAAE;oCACV,QAAQ,EAAE,EAAE;iCACb,CAAC;4BACJ,CAAC;yBACF;qBACF;iBACF;aACF;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.unit.test.d.ts","sourceRoot":"","sources":["../../../src/__tests__/unit/adapters.unit.test.ts"],"names":[],"mappings":""}