@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
package/lib/broadcast.js CHANGED
@@ -10,15 +10,22 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.broadcast = void 0;
13
+ const nftOperationId_1 = require("@ledgerhq/coin-framework/nft/nftOperationId");
14
+ const nftId_1 = require("@ledgerhq/coin-framework/nft/nftId");
13
15
  const operation_1 = require("@ledgerhq/coin-framework/operation");
14
16
  const rpc_1 = require("./api/rpc");
15
17
  /**
16
18
  * Broadcast a transaction and update the operation linked
17
19
  */
18
20
  const broadcast = ({ account, signedOperation: { signature, operation }, }) => __awaiter(void 0, void 0, void 0, function* () {
19
- var _a;
21
+ var _a, _b;
20
22
  const txResponse = yield (0, rpc_1.broadcastTransaction)(account.currency, signature);
21
- return Object.assign(Object.assign({}, operation), { id: (0, operation_1.encodeOperationId)(operation.accountId, txResponse.hash, operation.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()), subOperations: ((_a = operation.subOperations) === null || _a === void 0 ? void 0 : _a.map(subOp => (Object.assign(Object.assign({}, subOp), { id: (0, operation_1.encodeOperationId)(subOp.accountId, txResponse.hash, subOp.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) })))) || [] });
23
+ return Object.assign(Object.assign({}, operation), { id: (0, operation_1.encodeOperationId)(operation.accountId, txResponse.hash, operation.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()), subOperations: ((_a = operation.subOperations) === null || _a === void 0 ? void 0 : _a.map(subOp => (Object.assign(Object.assign({}, subOp), { id: (0, operation_1.encodeOperationId)(subOp.accountId, txResponse.hash, subOp.type), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) })))) || [], nftOperations: ((_b = operation.nftOperations) === null || _b === void 0 ? void 0 : _b.map(nftOp => {
24
+ const nftId = (0, nftId_1.encodeNftId)(nftOp.accountId, nftOp.contract || "", nftOp.tokenId || "", account.currency.id);
25
+ return Object.assign(Object.assign({}, nftOp), { id: nftOp.standard === "ERC721"
26
+ ? (0, nftOperationId_1.encodeERC721OperationId)(nftId, txResponse.hash, nftOp.type, 0)
27
+ : (0, nftOperationId_1.encodeERC1155OperationId)(nftId, txResponse.hash, nftOp.type, 0), hash: txResponse.hash, blockNumber: txResponse.blockNumber, blockHeight: txResponse.blockNumber, blockHash: txResponse.blockHash, date: new Date(txResponse.timestamp ? txResponse.timestamp * 1000 : Date.now()) });
28
+ })) || [] });
22
29
  });
23
30
  exports.broadcast = broadcast;
24
31
  exports.default = exports.broadcast;
@@ -1 +1 @@
1
- {"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kEAAuE;AAEvE,mCAAiD;AAGjD;;GAEG;AACI,MAAM,SAAS,GAA+C,CAAO,EAC1E,OAAO,EACP,eAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAC1C,EAAE,EAAE;;IACH,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAoB,EAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3E,OAAO,gCACF,SAAS,KACZ,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAC3E,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC/E,aAAa,EACX,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iCACjC,KAAK,KACR,EAAE,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EACnE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAC/E,CAAC,KAAI,EAAE,GACC,CAAC;AACjB,CAAC,CAAA,CAAC;AAzBW,QAAA,SAAS,aAyBpB;AAEF,kBAAe,iBAAS,CAAC"}
1
+ {"version":3,"file":"broadcast.js","sourceRoot":"","sources":["../src/broadcast.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gFAGqD;AACrD,8DAAiE;AAEjE,kEAAuE;AAEvE,mCAAiD;AAEjD;;GAEG;AACI,MAAM,SAAS,GAA+C,CAAO,EAC1E,OAAO,EACP,eAAe,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,GAC1C,EAAE,EAAE;;IACH,MAAM,UAAU,GAAG,MAAM,IAAA,0BAAoB,EAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE3E,OAAO,gCACF,SAAS,KACZ,EAAE,EAAE,IAAA,6BAAiB,EAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAC3E,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAC/E,aAAa,EACX,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,iCACjC,KAAK,KACR,EAAE,EAAE,IAAA,6BAAiB,EAAC,KAAK,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EACnE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAC/E,CAAC,KAAI,EAAE,EACX,aAAa,EACX,CAAA,MAAA,SAAS,CAAC,aAAa,0CAAE,GAAG,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,KAAK,GAAG,IAAA,mBAAW,EACvB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,QAAQ,IAAI,EAAE,EACpB,KAAK,CAAC,OAAO,IAAI,EAAE,EACnB,OAAO,CAAC,QAAQ,CAAC,EAAE,CACpB,CAAC;YAEF,uCACK,KAAK,KACR,EAAE,EACA,KAAK,CAAC,QAAQ,KAAK,QAAQ;oBACzB,CAAC,CAAC,IAAA,wCAAuB,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;oBAChE,CAAC,CAAC,IAAA,yCAAwB,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EACrE,IAAI,EAAE,UAAU,CAAC,IAAI,EACrB,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,WAAW,EAAE,UAAU,CAAC,WAAW,EACnC,SAAS,EAAE,UAAU,CAAC,SAAS,EAC/B,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAC/E;QACJ,CAAC,CAAC,KAAI,EAAE,GACE,CAAC;AACjB,CAAC,CAAA,CAAC;AA/CW,QAAA,SAAS,aA+CpB;AAEF,kBAAe,iBAAS,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { Account, Operation, OperationType, TokenAccount } from "@ledgerhq/types-live";
2
- import { Transaction as EvmTransaction } from "./types";
2
+ import { EvmNftTransaction, Transaction as EvmTransaction } from "./types";
3
3
  /**
4
4
  * Build an optimistic operation for the coin of the integration (e.g. Ether for Ethereum)
5
5
  */
@@ -8,6 +8,10 @@ export declare const buildOptimisticCoinOperation: (account: Account, transactio
8
8
  * Build an optimistic operation for an ERC20 transaction
9
9
  */
10
10
  export declare const buildOptimisticTokenOperation: (account: Account, tokenAccount: TokenAccount, transaction: EvmTransaction) => Operation;
11
+ /**
12
+ * Build an optimistic operation for an ERC721 or ERC1155 transaction
13
+ */
14
+ export declare const buildOptimisticNftOperation: (account: Account, transaction: EvmNftTransaction & EvmTransaction) => Operation;
11
15
  /**
12
16
  * Create a temporary operation to use until it's confirmed by the blockchain
13
17
  */
@@ -1 +1 @@
1
- {"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIvF,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAExD;;GAEG;AACH,eAAO,MAAM,4BAA4B,YAC9B,OAAO,eACH,cAAc,oBACT,aAAa,KAC9B,SAuBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,YAC/B,OAAO,gBACF,YAAY,eACb,cAAc,KAC1B,SAsCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,cAAc,KAC1B,SAOF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"buildOptimisticOperation.d.ts","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAQvF,OAAO,EAAE,iBAAiB,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAG3E;;GAEG;AACH,eAAO,MAAM,4BAA4B,YAC9B,OAAO,eACH,cAAc,oBACT,aAAa,KAC9B,SAuBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,YAC/B,OAAO,gBACF,YAAY,eACb,cAAc,KAC1B,SAsCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,YAC7B,OAAO,eACH,iBAAiB,GAAG,cAAc,KAC9C,SAgDF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,YAC1B,OAAO,eACH,cAAc,KAC1B,SAWF,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildOptimisticOperation = exports.buildOptimisticTokenOperation = exports.buildOptimisticCoinOperation = void 0;
7
- const index_1 = require("@ledgerhq/coin-framework/account/index");
8
- const operation_1 = require("@ledgerhq/coin-framework/operation");
9
- const bignumber_js_1 = __importDefault(require("bignumber.js"));
6
+ exports.buildOptimisticOperation = exports.buildOptimisticNftOperation = exports.buildOptimisticTokenOperation = exports.buildOptimisticCoinOperation = void 0;
10
7
  const eip55_1 = __importDefault(require("eip55"));
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
+ const nftOperationId_1 = require("@ledgerhq/coin-framework/nft/nftOperationId");
10
+ const nftId_1 = require("@ledgerhq/coin-framework/nft/nftId");
11
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
12
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
11
13
  const logic_1 = require("./logic");
12
14
  /**
13
15
  * Build an optimistic operation for the coin of the integration (e.g. Ether for Ethereum)
@@ -65,10 +67,50 @@ const buildOptimisticTokenOperation = (account, tokenAccount, transaction) => {
65
67
  return operation;
66
68
  };
67
69
  exports.buildOptimisticTokenOperation = buildOptimisticTokenOperation;
70
+ /**
71
+ * Build an optimistic operation for an ERC721 or ERC1155 transaction
72
+ */
73
+ const buildOptimisticNftOperation = (account, transaction) => {
74
+ const type = "NFT_OUT";
75
+ const estimatedFees = (0, logic_1.getEstimatedFees)(transaction);
76
+ const { nft } = transaction;
77
+ const value = nft.quantity;
78
+ const coinOperation = (0, exports.buildOptimisticCoinOperation)(account, Object.assign(Object.assign({}, transaction), { recipient: nft.contract, amount: new bignumber_js_1.default(0) }), "FEES");
79
+ const nftId = (0, nftId_1.encodeNftId)(account.id, nft.contract, nft.tokenId, account.currency.id);
80
+ const nftOpId = transaction.mode === "erc721"
81
+ ? (0, nftOperationId_1.encodeERC721OperationId)(nftId, "", type, 0)
82
+ : (0, nftOperationId_1.encodeERC1155OperationId)(nftId, "", type, 0);
83
+ // keys marked with a <-- will be updated by the broadcast method
84
+ const operation = Object.assign(Object.assign({}, coinOperation), { nftOperations: [
85
+ {
86
+ id: nftOpId,
87
+ hash: "",
88
+ type,
89
+ value,
90
+ fee: estimatedFees,
91
+ blockHash: null,
92
+ blockHeight: null,
93
+ senders: [eip55_1.default.encode(account.freshAddress)],
94
+ recipients: [eip55_1.default.encode(transaction.recipient)],
95
+ accountId: account.id,
96
+ transactionSequenceNumber: transaction.nonce,
97
+ date: new Date(),
98
+ extra: {},
99
+ contract: nft.contract,
100
+ standard: transaction.mode.toUpperCase(),
101
+ tokenId: nft.tokenId,
102
+ },
103
+ ] });
104
+ return operation;
105
+ };
106
+ exports.buildOptimisticNftOperation = buildOptimisticNftOperation;
68
107
  /**
69
108
  * Create a temporary operation to use until it's confirmed by the blockchain
70
109
  */
71
110
  const buildOptimisticOperation = (account, transaction) => {
111
+ if ((0, logic_1.isNftTransaction)(transaction)) {
112
+ return (0, exports.buildOptimisticNftOperation)(account, transaction);
113
+ }
72
114
  const subAccount = (0, index_1.findSubAccountById)(account, (transaction === null || transaction === void 0 ? void 0 : transaction.subAccountId) || "");
73
115
  const isTokenTransaction = (subAccount === null || subAccount === void 0 ? void 0 : subAccount.type) === "TokenAccount";
74
116
  return isTokenTransaction
@@ -1 +1 @@
1
- {"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildOptimisticOperation.js","sourceRoot":"","sources":["../src/buildOptimisticOperation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,YAAY,OAEnC"}
1
+ {"version":3,"file":"cli-transaction.d.ts","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,YAAY,OAEnC"}
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ /* istanbul ignore file: untested because empty */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  // Needed by sync-families-dispatch script
4
5
  // libs/ledger-live-common/scripts/sync-families-dispatch.mjs
@@ -1 +1 @@
1
- {"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":";;AAAA,0CAA0C;AAC1C,6DAA6D;AAC7D,SAAwB,YAAY;IAClC,OAAO,EAAE,CAAC;AACZ,CAAC;AAFD,+BAEC"}
1
+ {"version":3,"file":"cli-transaction.js","sourceRoot":"","sources":["../src/cli-transaction.ts"],"names":[],"mappings":";AAAA,kDAAkD;;AAElD,0CAA0C;AAC1C,6DAA6D;AAC7D,SAAwB,YAAY;IAClC,OAAO,EAAE,CAAC;AACZ,CAAC;AAFD,+BAEC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum1.d.ts","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,UAiBvB,CAAC"}
1
+ {"version":3,"file":"ethereum1.d.ts","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,SAAS,EAAE,UAiBvB,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
+ /* istanbul ignore file: pure exports, test unecessary */
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.ethereum1 = void 0;
4
5
  exports.ethereum1 = {
5
- id: "js:1:ethereum:0x0E3F0bb9516F01f2C34c25E0957518b8aC9414c5:",
6
+ id: "js:1:ethereum_as_evm_test_only:0x0E3F0bb9516F01f2C34c25E0957518b8aC9414c5:",
6
7
  seedIdentifier: "0x0E3F0bb9516F01f2C34c25E0957518b8aC9414c5",
7
8
  name: "Ethereum legacy xpub6Bem...JyAdpYZy",
8
9
  derivationMode: "",
@@ -12,7 +13,7 @@ exports.ethereum1 = {
12
13
  freshAddresses: [],
13
14
  pendingOperations: [],
14
15
  operations: [],
15
- currencyId: "ethereum",
16
+ currencyId: "ethereum_as_evm_test_only",
16
17
  unitMagnitude: 18,
17
18
  balance: "",
18
19
  blockHeight: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ethereum1.js","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":";;;AAEa,QAAA,SAAS,GAAe;IACnC,EAAE,EAAE,2DAA2D;IAC/D,cAAc,EAAE,4CAA4C;IAC5D,IAAI,EAAE,qCAAqC;IAC3C,cAAc,EAAE,EAAE;IAClB,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,4CAA4C;IAC1D,gBAAgB,EAAE,gBAAgB;IAClC,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,UAAU;IACtB,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE,EAAE;CACT,CAAC"}
1
+ {"version":3,"file":"ethereum1.js","sourceRoot":"","sources":["../../src/datasets/ethereum1.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAI5C,QAAA,SAAS,GAAe;IACnC,EAAE,EAAE,4EAA4E;IAChF,cAAc,EAAE,4CAA4C;IAC5D,IAAI,EAAE,qCAAqC;IAC3C,cAAc,EAAE,EAAE;IAClB,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,4CAA4C;IAC1D,gBAAgB,EAAE,gBAAgB;IAClC,cAAc,EAAE,EAAE;IAClB,iBAAiB,EAAE,EAAE;IACrB,UAAU,EAAE,EAAE;IACd,UAAU,EAAE,2BAA2B;IACvC,aAAa,EAAE,EAAE;IACjB,OAAO,EAAE,EAAE;IACX,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,IAAI,EAAE,EAAE;CACT,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3E,KAAK,sBAAsB,GAAG,4BAA4B,CAAC;AAE3D;;GAEG;AACH,iBAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAwChC;AAED,eAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"deviceTransactionConfig.d.ts","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,EAAE,WAAW,IAAI,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3E,KAAK,sBAAsB,GAAG,4BAA4B,CAAC;AAE3D;;GAEG;AACH,iBAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GACZ,EAAE;IACD,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1C,WAAW,EAAE,cAAc,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAyGhC;AAED,eAAe,0BAA0B,CAAC"}
@@ -33,6 +33,56 @@ function getDeviceTransactionConfig({ account, parentAccount, transaction, }) {
33
33
  value: mainAccount.currency.name,
34
34
  });
35
35
  break;
36
+ case "erc721":
37
+ fields.push({
38
+ type: "text",
39
+ label: "Type",
40
+ value: `NFT Transfer`,
41
+ }, {
42
+ type: "text",
43
+ label: "To",
44
+ value: transaction.recipient,
45
+ }, {
46
+ type: "text",
47
+ label: "Collection Name",
48
+ value: transaction.nft.collectionName,
49
+ }, {
50
+ type: "address",
51
+ label: "NFT Address",
52
+ address: transaction.nft.contract,
53
+ }, {
54
+ type: "text",
55
+ label: "NFT ID",
56
+ value: transaction.nft.tokenId,
57
+ });
58
+ break;
59
+ case "erc1155":
60
+ fields.push({
61
+ type: "text",
62
+ label: "Type",
63
+ value: `NFT Transfer`,
64
+ }, {
65
+ type: "text",
66
+ label: "To",
67
+ value: transaction.recipient,
68
+ }, {
69
+ type: "text",
70
+ label: "Collection Name",
71
+ value: transaction.nft.collectionName,
72
+ }, {
73
+ type: "text",
74
+ label: "Quantity",
75
+ value: transaction.nft.quantity.toFixed(),
76
+ }, {
77
+ type: "address",
78
+ label: "NFT Address",
79
+ address: transaction.nft.contract,
80
+ }, {
81
+ type: "text",
82
+ label: "NFT ID",
83
+ value: transaction.nft.tokenId,
84
+ });
85
+ break;
36
86
  }
37
87
  fields.push({
38
88
  type: "fees",
@@ -1 +1 @@
1
- {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":";;AAAA,kEAAwE;AACxE,gEAAsE;AAQtE;;GAEG;AACH,SAAS,0BAA0B,CAAC,EAClC,OAAO,EACP,aAAa,EACb,WAAW,GAMZ;;IACC,MAAM,WAAW,GAAG,IAAA,sBAAc,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC7B,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,MAAM,cAAc,GAAG,IAAA,sBAAc,EAAC,MAAA,WAAW,CAAC,eAAe,0CAAE,MAAM,CAAC,CAAC;IAE3E,QAAQ,IAAI,EAAE;QACZ,QAAQ;QACR,KAAK,MAAM;YACT,MAAM,CAAC,IAAI,CACT;gBACE,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,QAAQ;aAChB,EACD,WAAW,CAAC,eAAe,IAAI,cAAc;gBAC3C,CAAC,CAAC;oBACE,IAAI,EAAE,MAAM;oBACZ,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,MAAM;iBAC1C;gBACH,CAAC,CAAC;oBACE,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,SAAS;oBAChB,OAAO,EAAE,WAAW,CAAC,SAAS;iBAC/B,EACL;gBACE,IAAI,EAAE,MAAM;gBACZ,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,IAAI;aACjC,CACF,CAAC;YACF,MAAM;KACT;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,UAAU;KAClB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kBAAe,0BAA0B,CAAC"}
1
+ {"version":3,"file":"deviceTransactionConfig.js","sourceRoot":"","sources":["../src/deviceTransactionConfig.ts"],"names":[],"mappings":"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"}
package/lib/errors.d.ts CHANGED
@@ -13,4 +13,13 @@ export declare const NoGasTrackerFound: import("@ledgerhq/errors/lib/helpers").L
13
13
  export declare const GasTrackerDoesNotSupportEIP1559: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
14
14
  [key: string]: unknown;
15
15
  }>;
16
+ export declare const NotOwnedNft: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
17
+ [key: string]: unknown;
18
+ }>;
19
+ export declare const NotEnoughNftOwned: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
20
+ [key: string]: unknown;
21
+ }>;
22
+ export declare const QuantityNeedsToBePositive: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
23
+ [key: string]: unknown;
24
+ }>;
16
25
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,kBAAkB;;EAA+C,CAAC;AAC/E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAG7E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,+BAA+B;;EAE3C,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAG7E,eAAO,MAAM,kBAAkB;;EAA+C,CAAC;AAC/E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAG7E,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,+BAA+B;;EAE3C,CAAC;AAGF,eAAO,MAAM,WAAW;;EAAwC,CAAC;AACjE,eAAO,MAAM,iBAAiB;;EAA8C,CAAC;AAC7E,eAAO,MAAM,yBAAyB;;EAAsD,CAAC"}
package/lib/errors.js CHANGED
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GasTrackerDoesNotSupportEIP1559 = exports.NoGasTrackerFound = exports.InsufficientFunds = exports.GasEstimationError = exports.EtherscanAPIError = void 0;
3
+ exports.QuantityNeedsToBePositive = exports.NotEnoughNftOwned = exports.NotOwnedNft = exports.GasTrackerDoesNotSupportEIP1559 = exports.NoGasTrackerFound = exports.InsufficientFunds = exports.GasEstimationError = exports.EtherscanAPIError = void 0;
4
4
  const errors_1 = require("@ledgerhq/errors");
5
+ // Etherscan API
5
6
  exports.EtherscanAPIError = (0, errors_1.createCustomErrorClass)("EtherscanAPIError");
7
+ // Gas
6
8
  exports.GasEstimationError = (0, errors_1.createCustomErrorClass)("GasEstimationError");
7
9
  exports.InsufficientFunds = (0, errors_1.createCustomErrorClass)("InsufficientFunds");
8
10
  // GasTracker errors
9
11
  exports.NoGasTrackerFound = (0, errors_1.createCustomErrorClass)("NoGasTrackerFound");
10
12
  exports.GasTrackerDoesNotSupportEIP1559 = (0, errors_1.createCustomErrorClass)("GasTrackerDoesNotSupportEIP1559");
13
+ // Nfts
14
+ exports.NotOwnedNft = (0, errors_1.createCustomErrorClass)("NotOwnedNft");
15
+ exports.NotEnoughNftOwned = (0, errors_1.createCustomErrorClass)("NotEnoughNftOwned");
16
+ exports.QuantityNeedsToBePositive = (0, errors_1.createCustomErrorClass)("QuantityNeedsToBePositive");
11
17
  //# sourceMappingURL=errors.js.map
package/lib/errors.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE7C,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,kBAAkB,GAAG,IAAA,+BAAsB,EAAC,oBAAoB,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAE7E,oBAAoB;AACP,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,+BAA+B,GAAG,IAAA,+BAAsB,EACnE,iCAAiC,CAClC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE1D,gBAAgB;AACH,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAE7E,MAAM;AACO,QAAA,kBAAkB,GAAG,IAAA,+BAAsB,EAAC,oBAAoB,CAAC,CAAC;AAClE,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAE7E,oBAAoB;AACP,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,+BAA+B,GAAG,IAAA,+BAAsB,EACnE,iCAAiC,CAClC,CAAC;AAEF,OAAO;AACM,QAAA,WAAW,GAAG,IAAA,+BAAsB,EAAC,aAAa,CAAC,CAAC;AACpD,QAAA,iBAAiB,GAAG,IAAA,+BAAsB,EAAC,mBAAmB,CAAC,CAAC;AAChE,QAAA,yBAAyB,GAAG,IAAA,+BAAsB,EAAC,2BAA2B,CAAC,CAAC"}
@@ -15,6 +15,7 @@ export declare const validateAmount: (account: Account | SubAccount, transaction
15
15
  * Validate gas properties of a transaction, depending on its type and the account emitter
16
16
  */
17
17
  export declare const validateGas: (account: Account, tx: EvmTransaction, gasLimit: BigNumber, estimatedFees: BigNumber) => Array<ValidationIssues>;
18
+ export declare const validateNft: (account: Account, tx: EvmTransaction) => Array<ValidationIssues>;
18
19
  /**
19
20
  * Validate a transaction and get all possibles errors and warnings about it
20
21
  */
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"AAYA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAGL,WAAW,IAAI,cAAc,EAC9B,MAAM,SAAS,CAAC;AAEjB,KAAK,0BAA0B,GAC3B,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,gBAAgB,CAAC;AACrB,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC;AAK3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,YACnB,OAAO,MACZ,cAAc,KACjB,MAAM,gBAAgB,CA8BxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAChB,OAAO,GAAG,UAAU,eAChB,cAAc,cACf,SAAS,KACpB,MAAM,gBAAgB,CAmBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,YACb,OAAO,MACZ,cAAc,YACR,SAAS,iBACJ,SAAS,KACvB,MAAM,gBAAgB,CAwBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAoCtF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"getTransactionStatus.d.ts","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"AAYA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG1E,OAAO,EAGL,WAAW,IAAI,cAAc,EAC9B,MAAM,SAAS,CAAC;AAGjB,KAAK,0BAA0B,GAC3B,WAAW,GACX,UAAU,GACV,UAAU,GACV,QAAQ,GACR,gBAAgB,CAAC;AACrB,KAAK,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC,CAAC;AAK3E;;GAEG;AACH,eAAO,MAAM,iBAAiB,YACnB,OAAO,MACZ,cAAc,KACjB,MAAM,gBAAgB,CA8BxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,YAChB,OAAO,GAAG,UAAU,eAChB,cAAc,cACf,SAAS,KACpB,MAAM,gBAAgB,CAmBxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,YACb,OAAO,MACZ,cAAc,YACR,SAAS,iBACJ,SAAS,KACvB,MAAM,gBAAgB,CAwBxB,CAAC;AAEF,eAAO,MAAM,WAAW,YAAa,OAAO,MAAM,cAAc,KAAG,MAAM,gBAAgB,CAoBxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,sBAAsB,CAuCtF,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -9,11 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getTransactionStatus = exports.validateGas = exports.validateAmount = exports.validateRecipient = void 0;
12
+ exports.getTransactionStatus = exports.validateNft = exports.validateGas = exports.validateAmount = exports.validateRecipient = void 0;
13
13
  const errors_1 = require("@ledgerhq/errors");
14
14
  const ethers_1 = require("ethers");
15
15
  const index_1 = require("@ledgerhq/coin-framework/account/index");
16
16
  const logic_1 = require("./logic");
17
+ const errors_2 = require("./errors");
17
18
  // This regex will not work with Starknet since addresses are 65 caracters long after the 0x
18
19
  const ethAddressRegEx = /^(0x)?[0-9a-fA-F]{40}$/;
19
20
  /**
@@ -101,6 +102,26 @@ const validateGas = (account, tx, gasLimit, estimatedFees) => {
101
102
  return [errors, warnings];
102
103
  };
103
104
  exports.validateGas = validateGas;
105
+ const validateNft = (account, tx) => {
106
+ var _a;
107
+ if (!tx.nft)
108
+ return [{}, {}];
109
+ const errors = {};
110
+ const warnings = {};
111
+ const quantityIsPositive = tx.nft.quantity.gt(0);
112
+ const nftFromAccount = (_a = account.nfts) === null || _a === void 0 ? void 0 : _a.find(nft => nft.tokenId === tx.nft.tokenId && nft.contract === tx.nft.contract);
113
+ if (!nftFromAccount) {
114
+ errors.amount = new errors_2.NotOwnedNft();
115
+ }
116
+ else if (!quantityIsPositive) {
117
+ errors.amount = new errors_2.QuantityNeedsToBePositive();
118
+ }
119
+ else if (nftFromAccount.amount.lt(tx.nft.quantity)) {
120
+ errors.amount = new errors_2.NotEnoughNftOwned();
121
+ }
122
+ return [errors, warnings];
123
+ };
124
+ exports.validateNft = validateNft;
104
125
  /**
105
126
  * Validate a transaction and get all possibles errors and warnings about it
106
127
  */
@@ -117,8 +138,9 @@ const getTransactionStatus = (account, tx) => __awaiter(void 0, void 0, void 0,
117
138
  const [amountErr, amountWarn] = (0, exports.validateAmount)(subAccount || account, tx, totalSpent);
118
139
  // Gas related errors and warnings
119
140
  const [gasErr, gasWarn] = (0, exports.validateGas)(account, tx, gasLimit, totalFees);
120
- const errors = Object.assign(Object.assign(Object.assign({}, recipientErr), gasErr), amountErr);
121
- const warnings = Object.assign(Object.assign(Object.assign({}, recipientWarn), gasWarn), amountWarn);
141
+ const [nftErr, nftWarn] = (0, exports.validateNft)(account, tx);
142
+ const errors = Object.assign(Object.assign(Object.assign(Object.assign({}, recipientErr), gasErr), amountErr), nftErr);
143
+ const warnings = Object.assign(Object.assign(Object.assign(Object.assign({}, recipientWarn), gasWarn), amountWarn), nftWarn);
122
144
  return {
123
145
  errors,
124
146
  warnings,
@@ -1 +1 @@
1
- {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getTransactionStatus.js","sourceRoot":"","sources":["../src/getTransactionStatus.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { SignerContext } from "@ledgerhq/coin-framework/signer";
2
+ import { Account, AnyMessage, DeviceId, TypedEvmMessage } from "@ledgerhq/types-live";
3
+ import { EvmSignature, EvmSigner } from "./signer";
4
+ export declare const prepareMessageToSign: ({ message }: {
5
+ message: string;
6
+ }) => TypedEvmMessage;
7
+ export declare const signMessage: (signerContext: SignerContext<EvmSigner, EvmSignature>) => (deviceId: DeviceId, account: Account, messageOpts: AnyMessage) => Promise<{
8
+ rsv: {
9
+ r: string;
10
+ s: string;
11
+ v: string | number;
12
+ };
13
+ signature: string;
14
+ }>;
15
+ //# sourceMappingURL=hw-signMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-signMessage.d.ts","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnD,eAAO,MAAM,oBAAoB;aAA4B,MAAM;MAAK,eA8BvE,CAAC;AAEF,eAAO,MAAM,WAAW,kBACN,cAAc,SAAS,EAAE,YAAY,CAAC,gBAE1C,QAAQ,WACT,OAAO,eACH,UAAU,KACtB,QAAQ;IACT,GAAG,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClD,SAAS,EAAE,MAAM,CAAC;CACnB,CA4CA,CAAC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __rest = (this && this.__rest) || function (s, e) {
12
+ var t = {};
13
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
14
+ t[p] = s[p];
15
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
16
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
17
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
18
+ t[p[i]] = s[p[i]];
19
+ }
20
+ return t;
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.signMessage = exports.prepareMessageToSign = void 0;
24
+ const ethers_1 = require("ethers");
25
+ const index_1 = require("@ledgerhq/evm-tools/message/EIP712/index");
26
+ const prepareMessageToSign = ({ message }) => {
27
+ const parsedMessage = (() => {
28
+ try {
29
+ return JSON.parse(message);
30
+ }
31
+ catch (error) {
32
+ return message;
33
+ }
34
+ })();
35
+ if ((0, index_1.isEIP712Message)(parsedMessage)) {
36
+ // With the ethers lib, EIP712Domain type should be removed otherwise
37
+ // you'll end up with a "ambiguous primary types" error
38
+ const _a = parsedMessage.types, { EIP712Domain } = _a, otherTypes = __rest(_a, ["EIP712Domain"]);
39
+ return {
40
+ standard: "EIP712",
41
+ message: parsedMessage,
42
+ domainHash: ethers_1.ethers.utils._TypedDataEncoder.hashDomain(parsedMessage.domain),
43
+ hashStruct: ethers_1.ethers.utils._TypedDataEncoder.hashStruct(parsedMessage.primaryType, otherTypes, parsedMessage.message),
44
+ };
45
+ }
46
+ return {
47
+ standard: "EIP191",
48
+ message,
49
+ };
50
+ };
51
+ exports.prepareMessageToSign = prepareMessageToSign;
52
+ const signMessage = (signerContext) => (deviceId, account, messageOpts) => __awaiter(void 0, void 0, void 0, function* () {
53
+ if (messageOpts.standard === "EIP191") {
54
+ const { r, s, v } = yield signerContext(deviceId, signer => {
55
+ return signer.signPersonalMessage(account.freshAddressPath, Buffer.from(messageOpts.message).toString("hex"));
56
+ });
57
+ const signature = ethers_1.ethers.utils.joinSignature({
58
+ r: `0x${r}`,
59
+ s: `0x${s}`,
60
+ v: typeof v === "string" ? parseInt(v, 16) : v,
61
+ });
62
+ return { rsv: { r, s, v }, signature };
63
+ }
64
+ if (messageOpts.standard === "EIP712") {
65
+ const { r, s, v } = yield signerContext(deviceId, (signer) => __awaiter(void 0, void 0, void 0, function* () {
66
+ try {
67
+ return yield signer.signEIP712Message(account.freshAddressPath, messageOpts.message);
68
+ }
69
+ catch (e) {
70
+ if (e instanceof Error && "statusText" in e && e.statusText === "INS_NOT_SUPPORTED") {
71
+ return yield signer.signEIP712HashedMessage(account.freshAddressPath, messageOpts.domainHash, messageOpts.hashStruct);
72
+ }
73
+ throw e;
74
+ }
75
+ }));
76
+ const signature = ethers_1.ethers.utils.joinSignature({
77
+ r: `0x${r}`,
78
+ s: `0x${s}`,
79
+ v: typeof v === "string" ? parseInt(v, 16) : v,
80
+ });
81
+ return { rsv: { r, s, v }, signature };
82
+ }
83
+ throw new Error("Unsupported message standard");
84
+ });
85
+ exports.signMessage = signMessage;
86
+ //# sourceMappingURL=hw-signMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hw-signMessage.js","sourceRoot":"","sources":["../src/hw-signMessage.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAgC;AAEhC,oEAA2E;AAIpE,MAAM,oBAAoB,GAAG,CAAC,EAAE,OAAO,EAAuB,EAAmB,EAAE;IACxF,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE;QAC1B,IAAI;YACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;SACvD;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,OAAO,CAAC;SAChB;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,IAAI,IAAA,uBAAe,EAAC,aAAa,CAAC,EAAE;QAClC,qEAAqE;QACrE,uDAAuD;QACvD,MAAM,KAAkC,aAAa,CAAC,KAAK,EAArD,EAAE,YAAY,OAAuC,EAAlC,UAAU,cAA7B,gBAA+B,CAAsB,CAAC;QAE5D,OAAO;YACL,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE,aAAa;YACtB,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC;YAC3E,UAAU,EAAE,eAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,UAAU,CACnD,aAAa,CAAC,WAAW,EACzB,UAAU,EACV,aAAa,CAAC,OAAO,CACtB;SACF,CAAC;KACH;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AA9BW,QAAA,oBAAoB,wBA8B/B;AAEK,MAAM,WAAW,GACtB,CAAC,aAAqD,EAAE,EAAE,CAC1D,CACE,QAAkB,EAClB,OAAgB,EAChB,WAAuB,EAItB,EAAE;IACH,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;YACzD,OAAO,MAAM,CAAC,mBAAmB,CAC/B,OAAO,CAAC,gBAAgB,EACxB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACjD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC3C,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;KACxC;IAED,IAAI,WAAW,CAAC,QAAQ,KAAK,QAAQ,EAAE;QACrC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAM,MAAM,EAAC,EAAE;YAC/D,IAAI;gBACF,OAAO,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;aACtF;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,YAAY,KAAK,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,KAAK,mBAAmB,EAAE;oBACnF,OAAO,MAAM,MAAM,CAAC,uBAAuB,CACzC,OAAO,CAAC,gBAAgB,EACxB,WAAW,CAAC,UAAU,EACtB,WAAW,CAAC,UAAU,CACvB,CAAC;iBACH;gBACD,MAAM,CAAC,CAAC;aACT;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,eAAM,CAAC,KAAK,CAAC,aAAa,CAAC;YAC3C,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,KAAK,CAAC,EAAE;YACX,CAAC,EAAE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C,CAAC,CAAC;QAEH,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;KACxC;IAED,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;AAClD,CAAC,CAAA,CAAC;AArDS,QAAA,WAAW,eAqDpB"}
package/lib/logic.d.ts CHANGED
@@ -1,6 +1,7 @@
1
+ /// <reference types="node" />
1
2
  import BigNumber from "bignumber.js";
2
3
  import { CryptoCurrency } from "@ledgerhq/types-cryptoassets";
3
- import { Account, SubAccount } from "@ledgerhq/types-live";
4
+ import { Account, SubAccount, Operation } from "@ledgerhq/types-live";
4
5
  import { Transaction as EvmTransaction, EvmTransactionEIP1559, EvmTransactionLegacy } from "./types";
5
6
  /**
6
7
  * Helper to check if a legacy transaction has the right fee property
@@ -26,6 +27,67 @@ export declare const mergeSubAccounts: (initialAccount: Account | undefined, new
26
27
  /**
27
28
  * Method creating a hash that will help triggering or not a full synchronization on an account.
28
29
  * As of now, it's checking if a token has been added, removed of changed regarding important properties
30
+ * and if the NFTs are activated/supported on this chain
29
31
  */
30
32
  export declare const getSyncHash: (currency: CryptoCurrency) => string;
33
+ /**
34
+ * Helper in charge of linking operations together based on transaction hash.
35
+ * Token operations & NFT operations are the result of a coin operation
36
+ * and if this coin operation is originated by our user we want
37
+ * to link those operations together as main & children ops.
38
+ *
39
+ * A sub operation should always be linked to a coin operation,
40
+ * even if the user isn't at the origin of the sub op.
41
+ * "NONE" coin ops can be added when necessary.
42
+ *
43
+ * ⚠️ If an NFT operation was found without a coin parent op
44
+ * just like if it was not initiated by the synced account
45
+ * and we were to find that coin op during another sync,
46
+ * the NONE operation created would not be removed,
47
+ * creating a duplicate that will cause issues.
48
+ * (Incorrect NFT balance & React key dup)
49
+ */
50
+ export declare const attachOperations: (_coinOperations: Operation[], _tokenOperations: Operation[], _nftOperations: Operation[]) => Operation[];
51
+ /**
52
+ * Type guard for NFT transactions
53
+ */
54
+ export declare const isNftTransaction: (transaction: EvmTransaction) => transaction is (import("@ledgerhq/types-live").TransactionCommon & {
55
+ family: "evm";
56
+ mode: import("./types").EvmTransactionMode;
57
+ nonce: number;
58
+ gasLimit: BigNumber;
59
+ chainId: number;
60
+ data?: Buffer | null | undefined;
61
+ type?: number | undefined;
62
+ additionalFees?: BigNumber | undefined;
63
+ gasOptions?: import("./types").GasOptions | undefined;
64
+ nft?: import("./types").EvmTransactionNftParam | undefined;
65
+ } & {
66
+ mode: "erc721" | "erc1155";
67
+ nft: import("./types").EvmTransactionNftParam;
68
+ } & {
69
+ type?: 0 | 1 | undefined;
70
+ gasPrice: BigNumber;
71
+ maxPriorityFeePerGas?: undefined;
72
+ maxFeePerGas?: undefined;
73
+ }) | (import("@ledgerhq/types-live").TransactionCommon & {
74
+ family: "evm";
75
+ mode: import("./types").EvmTransactionMode;
76
+ nonce: number;
77
+ gasLimit: BigNumber;
78
+ chainId: number;
79
+ data?: Buffer | null | undefined;
80
+ type?: number | undefined;
81
+ additionalFees?: BigNumber | undefined;
82
+ gasOptions?: import("./types").GasOptions | undefined;
83
+ nft?: import("./types").EvmTransactionNftParam | undefined;
84
+ } & {
85
+ mode: "erc721" | "erc1155";
86
+ nft: import("./types").EvmTransactionNftParam;
87
+ } & {
88
+ type: 2;
89
+ gasPrice?: undefined;
90
+ maxPriorityFeePerGas: BigNumber;
91
+ maxFeePerGas: BigNumber;
92
+ });
31
93
  //# sourceMappingURL=logic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAG3D,OAAO,EACL,WAAW,IAAI,cAAc,EAC7B,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAQ,oBAAoB,KAAG,OACjB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,yBAAyB,OAAQ,qBAAqB,KAAG,OACA,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAQ,cAAc,KAAG,SAKrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aACxB,cAAc,eACX,cAAc,KAC1B,QAAQ,SAAS,GAAG,SAAS,CAU/B,CAAC;AAcF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,QAAQ,UAAU,CAAC,EAAE,KACpC,MAAM,QAAQ,UAAU,CAAC,GAAG,UAAU,CAqDxC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,aAAc,cAAc,KAAG,MAOtD,CAAC"}
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtE,OAAO,EAEL,WAAW,IAAI,cAAc,EAC7B,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,wBAAwB,OAAQ,oBAAoB,KAAG,OACjB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,yBAAyB,OAAQ,qBAAqB,KAAG,OACA,CAAC;AAEvE;;GAEG;AACH,eAAO,MAAM,gBAAgB,OAAQ,cAAc,KAAG,SAKrD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,aACxB,cAAc,eACX,cAAc,KAC1B,QAAQ,SAAS,GAAG,SAAS,CAU/B,CAAC;AAcF;;GAEG;AACH,eAAO,MAAM,gBAAgB,mBACX,OAAO,GAAG,SAAS,kBACnB,QAAQ,UAAU,CAAC,EAAE,KACpC,MAAM,QAAQ,UAAU,CAAC,GAAG,UAAU,CAqDxC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,WAAW,aAAc,cAAc,KAAG,MAQtD,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,oBACV,SAAS,EAAE,oBACV,SAAS,EAAE,kBACb,SAAS,EAAE,KAC1B,SAAS,EA+EX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,gBACd,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEqB,CAAC"}