@ledgerhq/coin-filecoin 1.3.2

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 (316) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.unimportedrc.json +21 -0
  3. package/CHANGELOG.md +19 -0
  4. package/LICENSE.txt +21 -0
  5. package/jest.config.js +8 -0
  6. package/lib/api/api.d.ts +9 -0
  7. package/lib/api/api.d.ts.map +1 -0
  8. package/lib/api/api.js +99 -0
  9. package/lib/api/api.js.map +1 -0
  10. package/lib/api/index.d.ts +2 -0
  11. package/lib/api/index.d.ts.map +1 -0
  12. package/lib/api/index.js +18 -0
  13. package/lib/api/index.js.map +1 -0
  14. package/lib/bridge/broadcast.d.ts +4 -0
  15. package/lib/bridge/broadcast.d.ts.map +1 -0
  16. package/lib/bridge/broadcast.js +27 -0
  17. package/lib/bridge/broadcast.js.map +1 -0
  18. package/lib/bridge/buildOptimisticOperation.d.ts +5 -0
  19. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  20. package/lib/bridge/buildOptimisticOperation.js +62 -0
  21. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  22. package/lib/bridge/createTransaction.d.ts +4 -0
  23. package/lib/bridge/createTransaction.d.ts.map +1 -0
  24. package/lib/bridge/createTransaction.js +24 -0
  25. package/lib/bridge/createTransaction.js.map +1 -0
  26. package/lib/bridge/deviceTransactionConfig.d.ts +33 -0
  27. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
  28. package/lib/bridge/deviceTransactionConfig.js +71 -0
  29. package/lib/bridge/deviceTransactionConfig.js.map +1 -0
  30. package/lib/bridge/estimateMaxSpendable.d.ts +4 -0
  31. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  32. package/lib/bridge/estimateMaxSpendable.js +100 -0
  33. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  34. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  35. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  36. package/lib/bridge/getTransactionStatus.js +84 -0
  37. package/lib/bridge/getTransactionStatus.js.map +1 -0
  38. package/lib/bridge/index.d.ts +8 -0
  39. package/lib/bridge/index.d.ts.map +1 -0
  40. package/lib/bridge/index.js +54 -0
  41. package/lib/bridge/index.js.map +1 -0
  42. package/lib/bridge/prepareTransaction.d.ts +4 -0
  43. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  44. package/lib/bridge/prepareTransaction.js +75 -0
  45. package/lib/bridge/prepareTransaction.js.map +1 -0
  46. package/lib/bridge/serializer.d.ts +13 -0
  47. package/lib/bridge/serializer.d.ts.map +1 -0
  48. package/lib/bridge/serializer.js +65 -0
  49. package/lib/bridge/serializer.js.map +1 -0
  50. package/lib/bridge/signOperation.d.ts +5 -0
  51. package/lib/bridge/signOperation.d.ts.map +1 -0
  52. package/lib/bridge/signOperation.js +80 -0
  53. package/lib/bridge/signOperation.js.map +1 -0
  54. package/lib/bridge/transaction.d.ts +14 -0
  55. package/lib/bridge/transaction.d.ts.map +1 -0
  56. package/lib/bridge/transaction.js +41 -0
  57. package/lib/bridge/transaction.js.map +1 -0
  58. package/lib/bridge/utils.d.ts +26 -0
  59. package/lib/bridge/utils.d.ts.map +1 -0
  60. package/lib/bridge/utils.js +67 -0
  61. package/lib/bridge/utils.js.map +1 -0
  62. package/lib/bridge/utils.unit.test.d.ts +2 -0
  63. package/lib/bridge/utils.unit.test.d.ts.map +1 -0
  64. package/lib/bridge/utils.unit.test.js +23 -0
  65. package/lib/bridge/utils.unit.test.js.map +1 -0
  66. package/lib/common-logic/index.d.ts +2 -0
  67. package/lib/common-logic/index.d.ts.map +1 -0
  68. package/lib/common-logic/index.js +13 -0
  69. package/lib/common-logic/index.js.map +1 -0
  70. package/lib/common-logic/utils.d.ts +22 -0
  71. package/lib/common-logic/utils.d.ts.map +1 -0
  72. package/lib/common-logic/utils.js +189 -0
  73. package/lib/common-logic/utils.js.map +1 -0
  74. package/lib/erc20/ERC20.json +12 -0
  75. package/lib/erc20/tokenAccounts.d.ts +10 -0
  76. package/lib/erc20/tokenAccounts.d.ts.map +1 -0
  77. package/lib/erc20/tokenAccounts.js +169 -0
  78. package/lib/erc20/tokenAccounts.js.map +1 -0
  79. package/lib/errors.d.ts +7 -0
  80. package/lib/errors.d.ts.map +1 -0
  81. package/lib/errors.js +13 -0
  82. package/lib/errors.js.map +1 -0
  83. package/lib/hw-signMessage.d.ts +12 -0
  84. package/lib/hw-signMessage.d.ts.map +1 -0
  85. package/lib/hw-signMessage.js +32 -0
  86. package/lib/hw-signMessage.js.map +1 -0
  87. package/lib/index.d.ts +2 -0
  88. package/lib/index.d.ts.map +1 -0
  89. package/lib/index.js +6 -0
  90. package/lib/index.js.map +1 -0
  91. package/lib/network/addresses.d.ts +16 -0
  92. package/lib/network/addresses.d.ts.map +1 -0
  93. package/lib/network/addresses.js +75 -0
  94. package/lib/network/addresses.js.map +1 -0
  95. package/lib/network/index.d.ts +2 -0
  96. package/lib/network/index.d.ts.map +1 -0
  97. package/lib/network/index.js +18 -0
  98. package/lib/network/index.js.map +1 -0
  99. package/lib/signer/getAddress.d.ts +6 -0
  100. package/lib/signer/getAddress.d.ts.map +1 -0
  101. package/lib/signer/getAddress.js +30 -0
  102. package/lib/signer/getAddress.js.map +1 -0
  103. package/lib/signer/index.d.ts +3 -0
  104. package/lib/signer/index.d.ts.map +1 -0
  105. package/lib/signer/index.js +8 -0
  106. package/lib/signer/index.js.map +1 -0
  107. package/lib/test/bot-specs.d.ts +7 -0
  108. package/lib/test/bot-specs.d.ts.map +1 -0
  109. package/lib/test/bot-specs.js +151 -0
  110. package/lib/test/bot-specs.js.map +1 -0
  111. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  112. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  113. package/lib/test/bridgeDatasetTest.js +401 -0
  114. package/lib/test/bridgeDatasetTest.js.map +1 -0
  115. package/lib/test/cli.d.ts +19 -0
  116. package/lib/test/cli.d.ts.map +1 -0
  117. package/lib/test/cli.js +59 -0
  118. package/lib/test/cli.js.map +1 -0
  119. package/lib/test/index.d.ts +6 -0
  120. package/lib/test/index.d.ts.map +1 -0
  121. package/lib/test/index.js +26 -0
  122. package/lib/test/index.js.map +1 -0
  123. package/lib/test/speculos-deviceActions.d.ts +5 -0
  124. package/lib/test/speculos-deviceActions.d.ts.map +1 -0
  125. package/lib/test/speculos-deviceActions.js +159 -0
  126. package/lib/test/speculos-deviceActions.js.map +1 -0
  127. package/lib/types/bridge.d.ts +35 -0
  128. package/lib/types/bridge.d.ts.map +1 -0
  129. package/lib/types/bridge.js +3 -0
  130. package/lib/types/bridge.js.map +1 -0
  131. package/lib/types/common.d.ts +96 -0
  132. package/lib/types/common.d.ts.map +1 -0
  133. package/lib/types/common.js +10 -0
  134. package/lib/types/common.js.map +1 -0
  135. package/lib/types/index.d.ts +4 -0
  136. package/lib/types/index.d.ts.map +1 -0
  137. package/lib/types/index.js +20 -0
  138. package/lib/types/index.js.map +1 -0
  139. package/lib/types/signer.d.ts +19 -0
  140. package/lib/types/signer.d.ts.map +1 -0
  141. package/lib/types/signer.js +3 -0
  142. package/lib/types/signer.js.map +1 -0
  143. package/lib-es/api/api.d.ts +9 -0
  144. package/lib-es/api/api.d.ts.map +1 -0
  145. package/lib-es/api/api.js +87 -0
  146. package/lib-es/api/api.js.map +1 -0
  147. package/lib-es/api/index.d.ts +2 -0
  148. package/lib-es/api/index.d.ts.map +1 -0
  149. package/lib-es/api/index.js +2 -0
  150. package/lib-es/api/index.js.map +1 -0
  151. package/lib-es/bridge/broadcast.d.ts +4 -0
  152. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  153. package/lib-es/bridge/broadcast.js +23 -0
  154. package/lib-es/bridge/broadcast.js.map +1 -0
  155. package/lib-es/bridge/buildOptimisticOperation.d.ts +5 -0
  156. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  157. package/lib-es/bridge/buildOptimisticOperation.js +58 -0
  158. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  159. package/lib-es/bridge/createTransaction.d.ts +4 -0
  160. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  161. package/lib-es/bridge/createTransaction.js +17 -0
  162. package/lib-es/bridge/createTransaction.js.map +1 -0
  163. package/lib-es/bridge/deviceTransactionConfig.d.ts +33 -0
  164. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
  165. package/lib-es/bridge/deviceTransactionConfig.js +69 -0
  166. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
  167. package/lib-es/bridge/estimateMaxSpendable.d.ts +4 -0
  168. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  169. package/lib-es/bridge/estimateMaxSpendable.js +93 -0
  170. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  171. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  172. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  173. package/lib-es/bridge/getTransactionStatus.js +80 -0
  174. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  175. package/lib-es/bridge/index.d.ts +8 -0
  176. package/lib-es/bridge/index.d.ts.map +1 -0
  177. package/lib-es/bridge/index.js +47 -0
  178. package/lib-es/bridge/index.js.map +1 -0
  179. package/lib-es/bridge/prepareTransaction.d.ts +4 -0
  180. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  181. package/lib-es/bridge/prepareTransaction.js +68 -0
  182. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  183. package/lib-es/bridge/serializer.d.ts +13 -0
  184. package/lib-es/bridge/serializer.d.ts.map +1 -0
  185. package/lib-es/bridge/serializer.js +58 -0
  186. package/lib-es/bridge/serializer.js.map +1 -0
  187. package/lib-es/bridge/signOperation.d.ts +5 -0
  188. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  189. package/lib-es/bridge/signOperation.js +76 -0
  190. package/lib-es/bridge/signOperation.js.map +1 -0
  191. package/lib-es/bridge/transaction.d.ts +14 -0
  192. package/lib-es/bridge/transaction.d.ts.map +1 -0
  193. package/lib-es/bridge/transaction.js +33 -0
  194. package/lib-es/bridge/transaction.js.map +1 -0
  195. package/lib-es/bridge/utils.d.ts +26 -0
  196. package/lib-es/bridge/utils.d.ts.map +1 -0
  197. package/lib-es/bridge/utils.js +57 -0
  198. package/lib-es/bridge/utils.js.map +1 -0
  199. package/lib-es/bridge/utils.unit.test.d.ts +2 -0
  200. package/lib-es/bridge/utils.unit.test.d.ts.map +1 -0
  201. package/lib-es/bridge/utils.unit.test.js +21 -0
  202. package/lib-es/bridge/utils.unit.test.js.map +1 -0
  203. package/lib-es/common-logic/index.d.ts +2 -0
  204. package/lib-es/common-logic/index.d.ts.map +1 -0
  205. package/lib-es/common-logic/index.js +2 -0
  206. package/lib-es/common-logic/index.js.map +1 -0
  207. package/lib-es/common-logic/utils.d.ts +22 -0
  208. package/lib-es/common-logic/utils.d.ts.map +1 -0
  209. package/lib-es/common-logic/utils.js +175 -0
  210. package/lib-es/common-logic/utils.js.map +1 -0
  211. package/lib-es/erc20/ERC20.json +12 -0
  212. package/lib-es/erc20/tokenAccounts.d.ts +10 -0
  213. package/lib-es/erc20/tokenAccounts.d.ts.map +1 -0
  214. package/lib-es/erc20/tokenAccounts.js +158 -0
  215. package/lib-es/erc20/tokenAccounts.js.map +1 -0
  216. package/lib-es/errors.d.ts +7 -0
  217. package/lib-es/errors.d.ts.map +1 -0
  218. package/lib-es/errors.js +10 -0
  219. package/lib-es/errors.js.map +1 -0
  220. package/lib-es/hw-signMessage.d.ts +12 -0
  221. package/lib-es/hw-signMessage.d.ts.map +1 -0
  222. package/lib-es/hw-signMessage.js +28 -0
  223. package/lib-es/hw-signMessage.js.map +1 -0
  224. package/lib-es/index.d.ts +2 -0
  225. package/lib-es/index.d.ts.map +1 -0
  226. package/lib-es/index.js +2 -0
  227. package/lib-es/index.js.map +1 -0
  228. package/lib-es/network/addresses.d.ts +16 -0
  229. package/lib-es/network/addresses.d.ts.map +1 -0
  230. package/lib-es/network/addresses.js +64 -0
  231. package/lib-es/network/addresses.js.map +1 -0
  232. package/lib-es/network/index.d.ts +2 -0
  233. package/lib-es/network/index.d.ts.map +1 -0
  234. package/lib-es/network/index.js +2 -0
  235. package/lib-es/network/index.js.map +1 -0
  236. package/lib-es/signer/getAddress.d.ts +6 -0
  237. package/lib-es/signer/getAddress.d.ts.map +1 -0
  238. package/lib-es/signer/getAddress.js +28 -0
  239. package/lib-es/signer/getAddress.js.map +1 -0
  240. package/lib-es/signer/index.d.ts +3 -0
  241. package/lib-es/signer/index.d.ts.map +1 -0
  242. package/lib-es/signer/index.js +3 -0
  243. package/lib-es/signer/index.js.map +1 -0
  244. package/lib-es/test/bot-specs.d.ts +7 -0
  245. package/lib-es/test/bot-specs.d.ts.map +1 -0
  246. package/lib-es/test/bot-specs.js +146 -0
  247. package/lib-es/test/bot-specs.js.map +1 -0
  248. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  249. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  250. package/lib-es/test/bridgeDatasetTest.js +395 -0
  251. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  252. package/lib-es/test/cli.d.ts +19 -0
  253. package/lib-es/test/cli.d.ts.map +1 -0
  254. package/lib-es/test/cli.js +53 -0
  255. package/lib-es/test/cli.js.map +1 -0
  256. package/lib-es/test/index.d.ts +6 -0
  257. package/lib-es/test/index.d.ts.map +1 -0
  258. package/lib-es/test/index.js +6 -0
  259. package/lib-es/test/index.js.map +1 -0
  260. package/lib-es/test/speculos-deviceActions.d.ts +5 -0
  261. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -0
  262. package/lib-es/test/speculos-deviceActions.js +152 -0
  263. package/lib-es/test/speculos-deviceActions.js.map +1 -0
  264. package/lib-es/types/bridge.d.ts +35 -0
  265. package/lib-es/types/bridge.d.ts.map +1 -0
  266. package/lib-es/types/bridge.js +2 -0
  267. package/lib-es/types/bridge.js.map +1 -0
  268. package/lib-es/types/common.d.ts +96 -0
  269. package/lib-es/types/common.d.ts.map +1 -0
  270. package/lib-es/types/common.js +7 -0
  271. package/lib-es/types/common.js.map +1 -0
  272. package/lib-es/types/index.d.ts +4 -0
  273. package/lib-es/types/index.d.ts.map +1 -0
  274. package/lib-es/types/index.js +4 -0
  275. package/lib-es/types/index.js.map +1 -0
  276. package/lib-es/types/signer.d.ts +19 -0
  277. package/lib-es/types/signer.d.ts.map +1 -0
  278. package/lib-es/types/signer.js +2 -0
  279. package/lib-es/types/signer.js.map +1 -0
  280. package/package.json +135 -0
  281. package/src/api/api.ts +125 -0
  282. package/src/api/index.ts +1 -0
  283. package/src/bridge/broadcast.ts +20 -0
  284. package/src/bridge/buildOptimisticOperation.ts +58 -0
  285. package/src/bridge/createTransaction.ts +20 -0
  286. package/src/bridge/deviceTransactionConfig.ts +119 -0
  287. package/src/bridge/estimateMaxSpendable.ts +120 -0
  288. package/src/bridge/getTransactionStatus.ts +80 -0
  289. package/src/bridge/index.ts +63 -0
  290. package/src/bridge/prepareTransaction.ts +82 -0
  291. package/src/bridge/serializer.ts +63 -0
  292. package/src/bridge/signOperation.ts +97 -0
  293. package/src/bridge/transaction.ts +69 -0
  294. package/src/bridge/utils.ts +73 -0
  295. package/src/bridge/utils.unit.test.ts +27 -0
  296. package/src/common-logic/index.ts +10 -0
  297. package/src/common-logic/utils.ts +232 -0
  298. package/src/erc20/ERC20.json +12 -0
  299. package/src/erc20/tokenAccounts.ts +183 -0
  300. package/src/errors.ts +13 -0
  301. package/src/hw-signMessage.ts +27 -0
  302. package/src/index.ts +1 -0
  303. package/src/network/addresses.ts +93 -0
  304. package/src/network/index.ts +1 -0
  305. package/src/signer/getAddress.ts +28 -0
  306. package/src/signer/index.ts +3 -0
  307. package/src/test/bot-specs.ts +163 -0
  308. package/src/test/bridgeDatasetTest.ts +403 -0
  309. package/src/test/cli.ts +80 -0
  310. package/src/test/index.ts +6 -0
  311. package/src/test/speculos-deviceActions.ts +166 -0
  312. package/src/types/bridge.ts +42 -0
  313. package/src/types/common.ts +105 -0
  314. package/src/types/index.ts +3 -0
  315. package/src/types/signer.ts +19 -0
  316. package/tsconfig.json +14 -0
@@ -0,0 +1,395 @@
1
+ import { InvalidAddress, NotEnoughBalance, AmountRequired } from "@ledgerhq/errors";
2
+ import { fromTransactionRaw } from "../bridge/transaction";
3
+ import { InvalidRecipientForTokenTransfer } from "../errors";
4
+ import { getSubAccount } from "../common-logic";
5
+ import BigNumber from "bignumber.js";
6
+ const SEED_IDENTIFIER = "f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia";
7
+ const ACCOUNT_1 = "f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia";
8
+ const ACCOUNT_2 = "f410fncojwmrseefktoco6rcnb3zv2eiqfli7muhvqma";
9
+ const ACCOUNT_3 = "0x689c9b3232210aa9b84ef444d0ef35d11102ad1f";
10
+ const ACCOUNT_4 = "f01840380";
11
+ const filecoin = {
12
+ scanAccounts: [
13
+ {
14
+ name: "filecoin seed 1",
15
+ apdus: `
16
+ => 0600000000
17
+ <= 0000180100331000049000
18
+ => 06010000142c000080cd010080000000800000000000000000
19
+ <= 04ca7b02cafdf36e8b4caaf530a96b949764af71b956b2a3328b7a10940794c860f574a9199be98bde3c261887fec8e5fd94bc5f104908bf5f992f52ef2a89abb015017ff83e316c2605c018ab3a6126d5d8ce0a3023e529663170373464346d6c6d657963346167666c686a71736e766f797a796664616937666d6b79736f32619000
20
+ => 0600000000
21
+ <= 0000180100331000049000
22
+ => 06010000142c00008001000080000000800000000000000000
23
+ <= 04d493dab3ff63d6f0673454f8f6d6adec08db19e8c0298c65cfcace76a10757774afdee518b15a8b82452531bcb7860eefce02a89ef9051037646f5d4d6bd74171501eac14c6468ac13f66f0e0ee3766472c7e98394ab297431356c6175797a646976716a376d33796f623372786d7a6473793775796866666c777968657572699000
24
+ => 0600000000
25
+ <= 0000180100331000049000
26
+ => 06010000142c00008001000080000000800000000001000000
27
+ <= 040cbb57791d797268e34340565393f8a014ae754026159973fbe46bdcef3b6d28d155f4923256a2beb9bcff3bd39e5066d1c778306f28a2d4faa3a66dbf70453e150148c9b66fef1fce116652099bec6301ced31e56472974316a6465336d33377064376862637a737362676e36797979627a336a7234767368676370696b32619000
28
+ => 0600000000
29
+ <= 0000180100331000049000
30
+ => 06010000142c00008001000080000000800000000002000000
31
+ <= 04b5d3766bcfe150e887fe08355d8801901957d4f940ac33086b211cbd2879ccdb475765391f6bdc93329670c899e82ec212e9c90912117d002e5f8d4a25d6c6d01501917d45c3017ba05f783d3ff6c88921273a73daac297431736636756c717962706f7166363662356837336d72636a62653435686877766d6f737a6d7a71719000
32
+ => 0600000000
33
+ <= 0000180100331000049000
34
+ => 06010000142c00008001000080000000800000000003000000
35
+ <= 041e039416e7b916778a6a6fbcb7b3bce298fb46f084ba27b3f584f7fac52410140cbc275974f9dcb03dde23d39940833fca8d2998710323102e87e04a15e249a215019948a798f70a807872e490d53b50bb0315d494632974317466656b70676878626b61687134786573646b7477756633616d6b356a66646468346b613776699000
36
+ => 0600000000
37
+ <= 0000180100331000049000
38
+ => 06010000142c00008001000080000000800000000004000000
39
+ <= 04eb83d066b4cb200f1632379f73b1ca6bff0fff17111f7e82a89c8433c6226b34139531f184499b333f31dc9937987a5536953eace7d8ba288aadd42d69d78dc01501d42efce0327edbdf975dcadf472de1d97b5003d1297431327178707a79627370336e35376632357a6c70756f6c7062336635766161367261796f68716a719000
40
+ => 0600000000
41
+ <= 0000180100331000049000
42
+ => 06010000142c00008001000080000000800000000005000000
43
+ <= 0407230f40bade572d4feeec0e3768789860227986e85b01bb4d462c1b517cd2cc5af4ce2097b06fda52176a542ecce4482291b4f6ece48d59fb9b2a1247f2418d1501d981129d32078f65537f1061f28cd00f005fb4832974313367617266686a73613668776b753337636271376664677162346166376e65647272737a6561619000
44
+ => 0600000000
45
+ <= 0000180100331000049000
46
+ => 06010000142c00008001000080000000800000000006000000
47
+ <= 0466a53388d30f8323cb39ca62cd261a63d43b6f1bbf05250ea7bef8077037ae74bfa6a42f5ef9757e53e713a9695c2de82cad06472385292c63337db0cbd80daa150144b33ed6e4940cce710c70146b8cfd18eb97f85929743169737a74357678657371676d3434696d6f616b67786468356464767a7036637a6b61756f377a799000
48
+ => 0600000000
49
+ <= 0000180100331000049000
50
+ => 06010000142c000080cd010080010000800000000000000000
51
+ <= 0463c18e9a3c08ecffab4fa384f977e5d380d2b252dbbd96875df9cc91c44c81e82639fd659a3eeeaed96901696d8c7832b03befafd0af6ab2bee634ea8141e52a15016f62da10a416f416e80ec32866b91f01f7746af82966316e35726e75656665633332626e32616f796d75676e6f693761683378693278796e766c746e71699000
52
+ => 0600000000
53
+ <= 0000180100331000049000
54
+ => 06010000142c000080cd010080020000800000000000000000
55
+ <= 04f838a8b60e8c8ddaa40b164c458b32094be15606c261008fbb4a38d9d7fd63d0b3343f1e0b861b142774fa242234185f79d95e180609bf6c56ad38f36197bf3715010b485688119885d1fa4a27d026c7f30531a62936296631626e65666e636172746363356436736b653769636e723774617579326d6b6a7732796e676275799000
56
+ => 0600000000
57
+ <= 0000180100331000049000
58
+ => 06010000142c000080cd010080030000800000000000000000
59
+ <= 04e3493fab64823760f42c5fca00dc27a3eb9cb8ba0b52c498b940a7ec82bad70f8b68bd2c7d6cc4074eb08d24187d925fab1fa54dbe7c26f544fd53b454ebcacd1501188ac818a6471dc0c43deef4cc4fb3594a85885d2966316463666d7167666769346f34627262353533326d797435746c6666696c6363353236637a7578699000
60
+ => 0600000000
61
+ <= 0000180100331000049000
62
+ => 06010000142c000080cd010080040000800000000000000000
63
+ <= 04851093dcfb51ae7eb3a085003c50a2f6ee635cc7192b713bd5d89301c1ce38d6ee44ec601b0c67218f502dfd7bc8bc96014e1db2f3754552507a5c313ebe0e2c1501ac247d637e126ed294b6761bf3877bda8f04d9002966317671736832793336636a786e666666776f796e3768623333336b68716a7769616b7a63616e32799000
64
+ => 0600000000
65
+ <= 0000180100331000049000
66
+ => 06010000142c000080cd010080050000800000000000000000
67
+ <= 04368d7fe53c84f52574cb0f9b0a78dcddf37d1b1e09e9c8a7bfab2e9bf06ce71a7ab0f453b938ffa093d1c8028b159bad8727b71a6508acbc2d530eb45ff9dab51501ec13e2bf751dd038dceb18db8447699bc67a3d6c29663135716a3666703376647869647278686c64646e796972336a7470646875706c6d6f656f717463699000
68
+ => 0600000000
69
+ <= 0000180100331000049000
70
+ => 06010000142c000080cd010080060000800000000000000000
71
+ <= 0418de25cee71d38de134e9fede2c42c28c5a8b06a4643527fe61ac272e45e562d957b18d85364da0cce8ffb470a30dba6e1d56f68cbaffc25f2332932731227991501a223f50f49d9804314bd96636ae7f5267360aeb2296631756972376b64326a3367616567666635737a7277767a3776657a7a77626c7673776669347974699000
72
+ => 0600000000
73
+ <= 0000180100331000049000
74
+ => 06010000142c000080cd010080000000800000000001000000
75
+ <= 0419d91b4f9c3015637f5aa6b601b337f2770b1dcf93ba896d64627cd2aa67493ba924decd3024643478a84e06486b0a6b10d9f7607b6e92b0545bb3c998d4d75d15017ad86da94bab1ae1942e43050edb5f634b2d1ec9296631706c6d67336b6b6c766d6e6f6466626f696d6371357732376d6e66733268776a746173366769619000
76
+ => 0600000000
77
+ <= 0000180100331000049000
78
+ => 06010000142c000080cd010080000000800000000002000000
79
+ <= 047fc6dc24f9c4bb243023b760637fc604c492da6406824f22592d96a4f435767c975d675b5aef0e160f87d2950860c50e2ab691f197033d234ce7af61fcded4b01501eb4fc162c42bfcf0572941424d3a2c603fc60176296631356e6834637977656670367061767a6a69666265326f726d6d6137346d616c77647979357266719000
80
+ => 0600000000
81
+ <= 0000180100331000049000
82
+ => 06010000142c000080cd010080000000800000000003000000
83
+ <= 04b5a4495a2edc7d6e121715332fcac13a28e1167c702d0a3ddbb5a5ff9027182db0a4c94387ee5c9cdd53fb7474b968a9f1310225c02c375d10189b4fc5e1f24a150159b7be7dd3ba42bb42fe7b60d83b3c142c0943bf2966316c67333334376f74786a626c77717836706e716e716f7a346371776173713537796f32627863799000
84
+ => 0600000000
85
+ <= 0000180100331000049000
86
+ => 06010000142c000080cd010080000000800000000004000000
87
+ <= 04b479cb2a3d8fe60534943f3bfad0e55ba4283d31974581e8d348623aeb4a3e15c8167a003c92dcf52e12ee253126faebc7d445bce8e347bdd26d8a2e53a46b3315014ea8e251c8a4987d19c35e3854547e33988f024c2966316a32756f65756f6975736d6832676f646c79346669766436676f6d693661736d7a6b6434376c699000
88
+ => 0600000000
89
+ <= 0000180100331000049000
90
+ => 06010000142c000080cd010080000000800000000005000000
91
+ <= 04a2dc85c8669642342c476dfd7a85f23309c7c06df209ed6846815786a6740ab35f8b9024b1616780a39dea7a9e7a05b8e808539688f70ad1ad814889546e738815015fcfe6d5c16405f00e1f7ae60ea9bfb8173bf95e2966316c3768366e766f626d71633761647137706c7461356b6e3778616c7478366b366c3770617173719000
92
+ => 0600000000
93
+ <= 0000180100331000049000
94
+ => 06010000142c000080cd010080000000800000000006000000
95
+ <= 045d4460005b5218e70aac7e6d1d8980b24fae39c743fa50b2cfd0dd062b5f88ea27ea5fe614ff059e0a62691bb91774dea71f5b8c0bf57703688a05e1bb0b436a150146871b490baefaf7ffa3a8fba2357b71e005501a296631693264727773696c763335707037356476643532656e6c336f6871616b7561326d7368663566799000
96
+ => 0600000000
97
+ <= 0000180100331000049000
98
+ => 06010000142c000080cd010080000000800000000007000000
99
+ <= 0453fd3f49647650ba84cf7016e370a7f26a2b19684fc90c0e669ea1f7120ef4fb812c6b8e9e8fc9bf9d20b02109064482742c478e275851a181eb1bb24ac0b1ae1501df3f92e7e94676e250afd2e2115ad3d7ba44ab7a2966313334377a667a376a697a336f65756670326c726263777774323635656a6b33326e327771726c619000
100
+
101
+ `,
102
+ },
103
+ ],
104
+ accounts: [
105
+ {
106
+ raw: {
107
+ id: `js:2:filecoin:${SEED_IDENTIFIER}:glif`,
108
+ seedIdentifier: SEED_IDENTIFIER,
109
+ name: "Filecoin 1",
110
+ derivationMode: "",
111
+ index: 0,
112
+ freshAddress: SEED_IDENTIFIER,
113
+ freshAddressPath: "44'/461'/0'/0/0",
114
+ blockHeight: 0,
115
+ operations: [],
116
+ pendingOperations: [],
117
+ currencyId: "filecoin",
118
+ lastSyncDate: "",
119
+ balance: "1000",
120
+ },
121
+ transactions: [
122
+ {
123
+ name: "Not a valid address (fil)",
124
+ transaction: fromTransactionRaw({
125
+ family: "filecoin",
126
+ method: 1,
127
+ version: 1,
128
+ nonce: 100,
129
+ gasFeeCap: "1000",
130
+ gasLimit: 100,
131
+ gasPremium: "200",
132
+ recipient: "novalidaddress",
133
+ amount: "100000000",
134
+ }),
135
+ expectedStatus: {
136
+ errors: {
137
+ recipient: new InvalidAddress(),
138
+ },
139
+ warnings: {},
140
+ },
141
+ },
142
+ {
143
+ name: "Not a valid address (eth)",
144
+ transaction: fromTransactionRaw({
145
+ family: "filecoin",
146
+ method: 1,
147
+ version: 1,
148
+ nonce: 100,
149
+ gasFeeCap: "1000",
150
+ gasLimit: 100,
151
+ gasPremium: "200",
152
+ recipient: "0x689c9b3232210tt9b84ef444d0ef35d11102adjj",
153
+ amount: "100000000",
154
+ }),
155
+ expectedStatus: {
156
+ errors: {
157
+ recipient: new InvalidAddress(),
158
+ },
159
+ warnings: {},
160
+ },
161
+ },
162
+ {
163
+ name: "Not enough balance",
164
+ transaction: fromTransactionRaw({
165
+ family: "filecoin",
166
+ method: 1,
167
+ version: 1,
168
+ nonce: 100,
169
+ gasFeeCap: "1000",
170
+ gasLimit: 10,
171
+ gasPremium: "10000",
172
+ recipient: ACCOUNT_1,
173
+ amount: "100000000000000000000",
174
+ }),
175
+ expectedStatus: {
176
+ errors: {
177
+ amount: new NotEnoughBalance(),
178
+ },
179
+ warnings: {},
180
+ },
181
+ },
182
+ {
183
+ name: "Amount Required",
184
+ transaction: fromTransactionRaw({
185
+ family: "filecoin",
186
+ method: 1,
187
+ version: 1,
188
+ nonce: 100,
189
+ gasFeeCap: "10",
190
+ gasLimit: 10,
191
+ gasPremium: "10000",
192
+ recipient: ACCOUNT_1,
193
+ amount: "0",
194
+ }),
195
+ expectedStatus: {
196
+ errors: {
197
+ amount: new AmountRequired(),
198
+ },
199
+ warnings: {},
200
+ },
201
+ },
202
+ {
203
+ name: "New account and sufficient amount (f1)",
204
+ transaction: fromTransactionRaw({
205
+ family: "filecoin",
206
+ method: 1,
207
+ version: 1,
208
+ nonce: 100,
209
+ gasFeeCap: "1000",
210
+ gasLimit: 10,
211
+ gasPremium: "10000",
212
+ recipient: ACCOUNT_1,
213
+ amount: "1",
214
+ }),
215
+ expectedStatus: {
216
+ amount: new BigNumber("1"),
217
+ errors: {},
218
+ warnings: {},
219
+ },
220
+ },
221
+ {
222
+ name: "New account and sufficient amount (f0)",
223
+ transaction: fromTransactionRaw({
224
+ family: "filecoin",
225
+ method: 1,
226
+ version: 1,
227
+ nonce: 100,
228
+ gasFeeCap: "1000",
229
+ gasLimit: 10,
230
+ gasPremium: "10000",
231
+ recipient: ACCOUNT_4,
232
+ amount: "1",
233
+ }),
234
+ expectedStatus: {
235
+ amount: new BigNumber("1"),
236
+ errors: {},
237
+ warnings: {},
238
+ },
239
+ },
240
+ {
241
+ name: "New account and sufficient amount (0x eth)",
242
+ transaction: fromTransactionRaw({
243
+ family: "filecoin",
244
+ method: 1,
245
+ version: 1,
246
+ nonce: 100,
247
+ gasFeeCap: "1000",
248
+ gasLimit: 10,
249
+ gasPremium: "10000",
250
+ recipient: ACCOUNT_3,
251
+ amount: "1",
252
+ }),
253
+ expectedStatus: {
254
+ amount: new BigNumber("1"),
255
+ errors: {},
256
+ warnings: {},
257
+ },
258
+ },
259
+ {
260
+ name: "New account and sufficient amount (f4)",
261
+ transaction: fromTransactionRaw({
262
+ family: "filecoin",
263
+ method: 1,
264
+ version: 1,
265
+ nonce: 100,
266
+ gasFeeCap: "1000",
267
+ gasLimit: 10,
268
+ gasPremium: "10000",
269
+ recipient: ACCOUNT_2,
270
+ amount: "1",
271
+ }),
272
+ expectedStatus: {
273
+ amount: new BigNumber("1"),
274
+ errors: {},
275
+ warnings: {},
276
+ },
277
+ },
278
+ {
279
+ name: "Send max",
280
+ transaction: fromTransactionRaw({
281
+ family: "filecoin",
282
+ method: 1,
283
+ version: 1,
284
+ nonce: 100,
285
+ gasFeeCap: "1000",
286
+ gasLimit: 10,
287
+ gasPremium: "10000",
288
+ recipient: ACCOUNT_1,
289
+ amount: "1",
290
+ useAllAmount: true,
291
+ }),
292
+ expectedStatus: (account, tx, status) => {
293
+ return {
294
+ amount: account.spendableBalance.minus(status.estimatedFees),
295
+ errors: {},
296
+ warnings: {},
297
+ };
298
+ },
299
+ },
300
+ // Subaccout tests
301
+ {
302
+ name: "Subaccount erc20 transfer",
303
+ transaction: fromTransactionRaw({
304
+ family: "filecoin",
305
+ method: 1,
306
+ version: 1,
307
+ nonce: 100,
308
+ gasFeeCap: "1000",
309
+ gasLimit: 10,
310
+ gasPremium: "10000",
311
+ recipient: ACCOUNT_4,
312
+ amount: "10",
313
+ subAccountId: "js:2:filecoin:f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia:+filecoin%2Ferc20%2Fwrapped~!underscore!~fil",
314
+ }),
315
+ expectedStatus: {
316
+ errors: {},
317
+ warnings: {},
318
+ },
319
+ },
320
+ {
321
+ name: "Subaccount Send to unsupported address",
322
+ transaction: fromTransactionRaw({
323
+ family: "filecoin",
324
+ method: 1,
325
+ version: 1,
326
+ nonce: 100,
327
+ gasFeeCap: "1000",
328
+ gasLimit: 10,
329
+ gasPremium: "10000",
330
+ recipient: ACCOUNT_1,
331
+ amount: "10000",
332
+ subAccountId: "js:2:filecoin:f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia:+filecoin%2Ferc20%2Fwrapped~!underscore!~fil",
333
+ }),
334
+ expectedStatus: {
335
+ errors: {
336
+ recipient: new InvalidRecipientForTokenTransfer(),
337
+ },
338
+ },
339
+ },
340
+ {
341
+ name: "Subaccount Send max",
342
+ transaction: fromTransactionRaw({
343
+ family: "filecoin",
344
+ method: 1,
345
+ version: 1,
346
+ nonce: 100,
347
+ gasFeeCap: "1000",
348
+ gasLimit: 10,
349
+ gasPremium: "10000",
350
+ recipient: ACCOUNT_2,
351
+ amount: "1",
352
+ useAllAmount: true,
353
+ subAccountId: "js:2:filecoin:f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia:+filecoin%2Ferc20%2Fwrapped~!underscore!~fil",
354
+ }),
355
+ expectedStatus: (account, tx) => {
356
+ const subAccount = getSubAccount(account, tx);
357
+ return {
358
+ amount: (subAccount === null || subAccount === void 0 ? void 0 : subAccount.spendableBalance) || new BigNumber(0),
359
+ errors: {},
360
+ warnings: {},
361
+ };
362
+ },
363
+ },
364
+ {
365
+ name: "Subaccount not enough balance",
366
+ transaction: fromTransactionRaw({
367
+ family: "filecoin",
368
+ method: 1,
369
+ version: 1,
370
+ nonce: 100,
371
+ gasFeeCap: "1000",
372
+ gasLimit: 10,
373
+ gasPremium: "10000",
374
+ recipient: ACCOUNT_3,
375
+ amount: "123400000000000000",
376
+ subAccountId: "js:2:filecoin:f1plmg3kklvmnodfboimcq5w27mnfs2hwjtas6gia:+filecoin%2Ferc20%2Fwrapped~!underscore!~fil",
377
+ }),
378
+ expectedStatus: {
379
+ errors: {
380
+ amount: new NotEnoughBalance(),
381
+ },
382
+ warnings: {},
383
+ },
384
+ },
385
+ ],
386
+ },
387
+ ],
388
+ };
389
+ export const dataset = {
390
+ implementations: ["js"],
391
+ currencies: {
392
+ filecoin,
393
+ },
394
+ };
395
+ //# sourceMappingURL=bridgeDatasetTest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bridgeDatasetTest.js","sourceRoot":"","sources":["../../src/test/bridgeDatasetTest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { Account, AccountLike, AccountLikeArray } from "@ledgerhq/types-live";
2
+ import type { Transaction } from "../types";
3
+ declare function inferAccounts(account: Account, opts: Record<string, any>): AccountLikeArray;
4
+ declare function inferTransactions(transactions: Array<{
5
+ account: AccountLike;
6
+ transaction: Transaction;
7
+ }>): Transaction[];
8
+ export default function makeCliTools(): {
9
+ options: {
10
+ name: string;
11
+ alias: string;
12
+ type: StringConstructor;
13
+ desc: string;
14
+ }[];
15
+ inferAccounts: typeof inferAccounts;
16
+ inferTransactions: typeof inferTransactions;
17
+ };
18
+ export {};
19
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAa5C,iBAAS,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,gBAAgB,CAiCpF;AAED,iBAAS,iBAAiB,CACxB,YAAY,EAAE,KAAK,CAAC;IAClB,OAAO,EAAE,WAAW,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC,GACD,WAAW,EAAE,CAef;AAED,MAAM,CAAC,OAAO,UAAU,YAAY;;;;;;;;;EAMnC"}
@@ -0,0 +1,53 @@
1
+ import invariant from "invariant";
2
+ import flatMap from "lodash/flatMap";
3
+ import { getAccountCurrency } from "@ledgerhq/coin-framework/account/index";
4
+ import { AccountType } from "../bridge/utils";
5
+ const options = [
6
+ {
7
+ name: "token",
8
+ alias: "t",
9
+ type: String,
10
+ desc: "use an token account children of the account",
11
+ },
12
+ ];
13
+ function inferAccounts(account, opts) {
14
+ invariant(account.currency.family === "filecoin", "filecoin family");
15
+ if (!opts.token) {
16
+ const accounts = [account];
17
+ return accounts;
18
+ }
19
+ const token = opts.token;
20
+ const subAccounts = account.subAccounts || [];
21
+ if (token) {
22
+ const subAccount = subAccounts.find(t => {
23
+ const currency = getAccountCurrency(t);
24
+ return (token.toLowerCase() === currency.ticker.toLowerCase() || token.toLowerCase() === currency.id);
25
+ });
26
+ if (!subAccount) {
27
+ throw new Error("token account '" +
28
+ token +
29
+ "' not found. Available: " +
30
+ subAccounts.map(t => getAccountCurrency(t).ticker).join(", "));
31
+ }
32
+ return [subAccount];
33
+ }
34
+ return [];
35
+ }
36
+ function inferTransactions(transactions) {
37
+ return flatMap(transactions, ({ transaction, account }) => {
38
+ invariant(transaction.family === "filecoin", "filecoin family");
39
+ if (account.type === AccountType.TokenAccount) {
40
+ const isDelisted = account.token.delisted === true;
41
+ invariant(!isDelisted, "token is delisted");
42
+ }
43
+ return Object.assign(Object.assign({}, transaction), { family: "filecoin", subAccountId: account.type === AccountType.TokenAccount ? account.id : null });
44
+ });
45
+ }
46
+ export default function makeCliTools() {
47
+ return {
48
+ options,
49
+ inferAccounts,
50
+ inferTransactions,
51
+ };
52
+ }
53
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/test/cli.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,OAAO,GAAG;IACd;QACE,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,GAAG;QACV,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,8CAA8C;KACrD;CACF,CAAC;AAEF,SAAS,aAAa,CAAC,OAAgB,EAAE,IAAyB;IAChE,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAErE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAChB,MAAM,QAAQ,GAAc,CAAC,OAAO,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IAEzB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAE9C,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtC,MAAM,QAAQ,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACvC,OAAO,CACL,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,CAC7F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CACb,iBAAiB;gBACf,KAAK;gBACL,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,iBAAiB,CACxB,YAGE;IAEF,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE;QACxD,SAAS,CAAC,WAAW,CAAC,MAAM,KAAK,UAAU,EAAE,iBAAiB,CAAC,CAAC;QAEhE,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC;YACnD,SAAS,CAAC,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,gCACF,WAAW,KACd,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAC7D,CAAC;IACnB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,YAAY;IAClC,OAAO;QACL,OAAO;QACP,aAAa;QACb,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import makeCliTools from "./cli";
2
+ export * from "./bridgeDatasetTest";
3
+ export { makeCliTools };
4
+ export * from "./bot-specs";
5
+ export * from "./speculos-deviceActions";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,OAAO,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,6 @@
1
+ import makeCliTools from "./cli";
2
+ export * from "./bridgeDatasetTest";
3
+ export { makeCliTools };
4
+ export * from "./bot-specs";
5
+ export * from "./speculos-deviceActions";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,OAAO,CAAC;AAEjC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { DeviceAction } from "@ledgerhq/coin-framework/bot/types";
2
+ import type { Transaction } from "../types";
3
+ import { BotScenario } from "../bridge/utils";
4
+ export declare const generateDeviceActionFlow: (scenario: BotScenario) => DeviceAction<Transaction, any>;
5
+ //# sourceMappingURL=speculos-deviceActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speculos-deviceActions.d.ts","sourceRoot":"","sources":["../../src/test/speculos-deviceActions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAM5C,OAAO,EACL,WAAW,EAIZ,MAAM,iBAAiB,CAAC;AAMzB,eAAO,MAAM,wBAAwB,aAAc,WAAW,KAAG,aAAa,WAAW,EAAE,GAAG,CAmJ7F,CAAC"}