@ledgerhq/coin-celo 1.1.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 (387) hide show
  1. package/.eslintrc.js +22 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/.unimportedrc.json +56 -0
  4. package/CHANGELOG.md +15 -0
  5. package/LICENSE.txt +21 -0
  6. package/jest.config.js +8 -0
  7. package/jest.integ.config.js +8 -0
  8. package/lib/bridge/broadcast.d.ts +5 -0
  9. package/lib/bridge/broadcast.d.ts.map +1 -0
  10. package/lib/bridge/broadcast.js +13 -0
  11. package/lib/bridge/broadcast.js.map +1 -0
  12. package/lib/bridge/buildOptimisticOperation.d.ts +4 -0
  13. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  14. package/lib/bridge/buildOptimisticOperation.js +49 -0
  15. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  16. package/lib/bridge/buildTransaction.d.ts +5 -0
  17. package/lib/bridge/buildTransaction.d.ts.map +1 -0
  18. package/lib/bridge/buildTransaction.js +142 -0
  19. package/lib/bridge/buildTransaction.js.map +1 -0
  20. package/lib/bridge/createTransaction.d.ts +5 -0
  21. package/lib/bridge/createTransaction.d.ts.map +1 -0
  22. package/lib/bridge/createTransaction.js +16 -0
  23. package/lib/bridge/createTransaction.js.map +1 -0
  24. package/lib/bridge/deviceTransactionConfig.d.ts +4 -0
  25. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
  26. package/lib/bridge/deviceTransactionConfig.js +16 -0
  27. package/lib/bridge/deviceTransactionConfig.js.map +1 -0
  28. package/lib/bridge/estimateMaxSpendable.d.ts +5 -0
  29. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  30. package/lib/bridge/estimateMaxSpendable.js +23 -0
  31. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  32. package/lib/bridge/getFeesForTransaction.d.ts +8 -0
  33. package/lib/bridge/getFeesForTransaction.d.ts.map +1 -0
  34. package/lib/bridge/getFeesForTransaction.js +93 -0
  35. package/lib/bridge/getFeesForTransaction.js.map +1 -0
  36. package/lib/bridge/getTransactionStatus.d.ts +5 -0
  37. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  38. package/lib/bridge/getTransactionStatus.js +98 -0
  39. package/lib/bridge/getTransactionStatus.js.map +1 -0
  40. package/lib/bridge/index.d.ts +11 -0
  41. package/lib/bridge/index.d.ts.map +1 -0
  42. package/lib/bridge/index.js +62 -0
  43. package/lib/bridge/index.js.map +1 -0
  44. package/lib/bridge/preload.d.ts +10 -0
  45. package/lib/bridge/preload.d.ts.map +1 -0
  46. package/lib/bridge/preload.js +72 -0
  47. package/lib/bridge/preload.js.map +1 -0
  48. package/lib/bridge/prepareTransaction.d.ts +5 -0
  49. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  50. package/lib/bridge/prepareTransaction.js +28 -0
  51. package/lib/bridge/prepareTransaction.js.map +1 -0
  52. package/lib/bridge/serialization.d.ts +9 -0
  53. package/lib/bridge/serialization.d.ts.map +1 -0
  54. package/lib/bridge/serialization.js +92 -0
  55. package/lib/bridge/serialization.js.map +1 -0
  56. package/lib/bridge/signOperation.d.ts +10 -0
  57. package/lib/bridge/signOperation.d.ts.map +1 -0
  58. package/lib/bridge/signOperation.js +77 -0
  59. package/lib/bridge/signOperation.js.map +1 -0
  60. package/lib/bridge/synchronisation.d.ts +5 -0
  61. package/lib/bridge/synchronisation.d.ts.map +1 -0
  62. package/lib/bridge/synchronisation.js +49 -0
  63. package/lib/bridge/synchronisation.js.map +1 -0
  64. package/lib/bridge/transaction.d.ts +14 -0
  65. package/lib/bridge/transaction.d.ts.map +1 -0
  66. package/lib/bridge/transaction.js +47 -0
  67. package/lib/bridge/transaction.js.map +1 -0
  68. package/lib/config.d.ts +3 -0
  69. package/lib/config.d.ts.map +1 -0
  70. package/lib/config.js +14 -0
  71. package/lib/config.js.map +1 -0
  72. package/lib/datasets/celo.scanAccounts.1.d.ts +5 -0
  73. package/lib/datasets/celo.scanAccounts.1.d.ts.map +1 -0
  74. package/lib/datasets/celo.scanAccounts.1.js +364 -0
  75. package/lib/datasets/celo.scanAccounts.1.js.map +1 -0
  76. package/lib/errors.d.ts +4 -0
  77. package/lib/errors.d.ts.map +1 -0
  78. package/lib/errors.js +6 -0
  79. package/lib/errors.js.map +1 -0
  80. package/lib/logic.d.ts +21 -0
  81. package/lib/logic.d.ts.map +1 -0
  82. package/lib/logic.js +97 -0
  83. package/lib/logic.js.map +1 -0
  84. package/lib/network/hubble.d.ts +12 -0
  85. package/lib/network/hubble.d.ts.map +1 -0
  86. package/lib/network/hubble.js +141 -0
  87. package/lib/network/hubble.js.map +1 -0
  88. package/lib/network/index.d.ts +4 -0
  89. package/lib/network/index.d.ts.map +1 -0
  90. package/lib/network/index.js +23 -0
  91. package/lib/network/index.js.map +1 -0
  92. package/lib/network/sdk.d.ts +27 -0
  93. package/lib/network/sdk.d.ts.map +1 -0
  94. package/lib/network/sdk.js +93 -0
  95. package/lib/network/sdk.js.map +1 -0
  96. package/lib/network/validators.d.ts +2 -0
  97. package/lib/network/validators.d.ts.map +1 -0
  98. package/lib/network/validators.js +6 -0
  99. package/lib/network/validators.js.map +1 -0
  100. package/lib/signer/hw-getAddress.d.ts +6 -0
  101. package/lib/signer/hw-getAddress.d.ts.map +1 -0
  102. package/lib/signer/hw-getAddress.js +26 -0
  103. package/lib/signer/hw-getAddress.js.map +1 -0
  104. package/lib/signer/index.d.ts +2 -0
  105. package/lib/signer/index.d.ts.map +1 -0
  106. package/lib/signer/index.js +18 -0
  107. package/lib/signer/index.js.map +1 -0
  108. package/lib/signer/signer.d.ts +16 -0
  109. package/lib/signer/signer.d.ts.map +1 -0
  110. package/lib/signer/signer.js +3 -0
  111. package/lib/signer/signer.js.map +1 -0
  112. package/lib/test/bot-specs.d.ts +7 -0
  113. package/lib/test/bot-specs.d.ts.map +1 -0
  114. package/lib/test/bot-specs.js +42 -0
  115. package/lib/test/bot-specs.js.map +1 -0
  116. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  117. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  118. package/lib/test/bridgeDatasetTest.js +14 -0
  119. package/lib/test/bridgeDatasetTest.js.map +1 -0
  120. package/lib/test/cli-transaction.d.ts +25 -0
  121. package/lib/test/cli-transaction.d.ts.map +1 -0
  122. package/lib/test/cli-transaction.js +56 -0
  123. package/lib/test/cli-transaction.js.map +1 -0
  124. package/lib/test/please-add-coverage.test.d.ts +2 -0
  125. package/lib/test/please-add-coverage.test.d.ts.map +1 -0
  126. package/lib/test/please-add-coverage.test.js +6 -0
  127. package/lib/test/please-add-coverage.test.js.map +1 -0
  128. package/lib/test/specs/createActivateVoteMutation.d.ts +4 -0
  129. package/lib/test/specs/createActivateVoteMutation.d.ts.map +1 -0
  130. package/lib/test/specs/createActivateVoteMutation.js +37 -0
  131. package/lib/test/specs/createActivateVoteMutation.js.map +1 -0
  132. package/lib/test/specs/createLockMutation.d.ts +4 -0
  133. package/lib/test/specs/createLockMutation.d.ts.map +1 -0
  134. package/lib/test/specs/createLockMutation.js +37 -0
  135. package/lib/test/specs/createLockMutation.js.map +1 -0
  136. package/lib/test/specs/createRegisterAccountMutation.d.ts +4 -0
  137. package/lib/test/specs/createRegisterAccountMutation.d.ts.map +1 -0
  138. package/lib/test/specs/createRegisterAccountMutation.js +31 -0
  139. package/lib/test/specs/createRegisterAccountMutation.js.map +1 -0
  140. package/lib/test/specs/createRevokeVoteMutation.d.ts +4 -0
  141. package/lib/test/specs/createRevokeVoteMutation.d.ts.map +1 -0
  142. package/lib/test/specs/createRevokeVoteMutation.js +38 -0
  143. package/lib/test/specs/createRevokeVoteMutation.js.map +1 -0
  144. package/lib/test/specs/createSendMutation.d.ts +6 -0
  145. package/lib/test/specs/createSendMutation.d.ts.map +1 -0
  146. package/lib/test/specs/createSendMutation.js +45 -0
  147. package/lib/test/specs/createSendMutation.js.map +1 -0
  148. package/lib/test/specs/createUnlockMutation.d.ts +4 -0
  149. package/lib/test/specs/createUnlockMutation.d.ts.map +1 -0
  150. package/lib/test/specs/createUnlockMutation.js +37 -0
  151. package/lib/test/specs/createUnlockMutation.js.map +1 -0
  152. package/lib/test/specs/createVoteMutation.d.ts +4 -0
  153. package/lib/test/specs/createVoteMutation.d.ts.map +1 -0
  154. package/lib/test/specs/createVoteMutation.js +48 -0
  155. package/lib/test/specs/createVoteMutation.js.map +1 -0
  156. package/lib/test/specs/createWithdrawMutation.d.ts +4 -0
  157. package/lib/test/specs/createWithdrawMutation.d.ts.map +1 -0
  158. package/lib/test/specs/createWithdrawMutation.js +37 -0
  159. package/lib/test/specs/createWithdrawMutation.js.map +1 -0
  160. package/lib/test/specs/index.d.ts +9 -0
  161. package/lib/test/specs/index.d.ts.map +1 -0
  162. package/lib/test/specs/index.js +25 -0
  163. package/lib/test/specs/index.js.map +1 -0
  164. package/lib/test/speculos-deviceActions.d.ts +4 -0
  165. package/lib/test/speculos-deviceActions.d.ts.map +1 -0
  166. package/lib/test/speculos-deviceActions.js +58 -0
  167. package/lib/test/speculos-deviceActions.js.map +1 -0
  168. package/lib/types/index.d.ts +4 -0
  169. package/lib/types/index.d.ts.map +1 -0
  170. package/lib/types/index.js +19 -0
  171. package/lib/types/index.js.map +1 -0
  172. package/lib/types/types.d.ts +126 -0
  173. package/lib/types/types.d.ts.map +1 -0
  174. package/lib/types/types.js +11 -0
  175. package/lib/types/types.js.map +1 -0
  176. package/lib-es/bridge/broadcast.d.ts +5 -0
  177. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  178. package/lib-es/bridge/broadcast.js +9 -0
  179. package/lib-es/bridge/broadcast.js.map +1 -0
  180. package/lib-es/bridge/buildOptimisticOperation.d.ts +4 -0
  181. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  182. package/lib-es/bridge/buildOptimisticOperation.js +42 -0
  183. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  184. package/lib-es/bridge/buildTransaction.d.ts +5 -0
  185. package/lib-es/bridge/buildTransaction.d.ts.map +1 -0
  186. package/lib-es/bridge/buildTransaction.js +140 -0
  187. package/lib-es/bridge/buildTransaction.js.map +1 -0
  188. package/lib-es/bridge/createTransaction.d.ts +5 -0
  189. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  190. package/lib-es/bridge/createTransaction.js +12 -0
  191. package/lib-es/bridge/createTransaction.js.map +1 -0
  192. package/lib-es/bridge/deviceTransactionConfig.d.ts +4 -0
  193. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
  194. package/lib-es/bridge/deviceTransactionConfig.js +14 -0
  195. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
  196. package/lib-es/bridge/estimateMaxSpendable.d.ts +5 -0
  197. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  198. package/lib-es/bridge/estimateMaxSpendable.js +16 -0
  199. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  200. package/lib-es/bridge/getFeesForTransaction.d.ts +8 -0
  201. package/lib-es/bridge/getFeesForTransaction.d.ts.map +1 -0
  202. package/lib-es/bridge/getFeesForTransaction.js +91 -0
  203. package/lib-es/bridge/getFeesForTransaction.js.map +1 -0
  204. package/lib-es/bridge/getTransactionStatus.d.ts +5 -0
  205. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  206. package/lib-es/bridge/getTransactionStatus.js +94 -0
  207. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  208. package/lib-es/bridge/index.d.ts +11 -0
  209. package/lib-es/bridge/index.d.ts.map +1 -0
  210. package/lib-es/bridge/index.js +54 -0
  211. package/lib-es/bridge/index.js.map +1 -0
  212. package/lib-es/bridge/preload.d.ts +10 -0
  213. package/lib-es/bridge/preload.d.ts.map +1 -0
  214. package/lib-es/bridge/preload.js +64 -0
  215. package/lib-es/bridge/preload.js.map +1 -0
  216. package/lib-es/bridge/prepareTransaction.d.ts +5 -0
  217. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  218. package/lib-es/bridge/prepareTransaction.js +21 -0
  219. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  220. package/lib-es/bridge/serialization.d.ts +9 -0
  221. package/lib-es/bridge/serialization.d.ts.map +1 -0
  222. package/lib-es/bridge/serialization.js +84 -0
  223. package/lib-es/bridge/serialization.js.map +1 -0
  224. package/lib-es/bridge/signOperation.d.ts +10 -0
  225. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  226. package/lib-es/bridge/signOperation.js +70 -0
  227. package/lib-es/bridge/signOperation.js.map +1 -0
  228. package/lib-es/bridge/synchronisation.d.ts +5 -0
  229. package/lib-es/bridge/synchronisation.d.ts.map +1 -0
  230. package/lib-es/bridge/synchronisation.js +45 -0
  231. package/lib-es/bridge/synchronisation.js.map +1 -0
  232. package/lib-es/bridge/transaction.d.ts +14 -0
  233. package/lib-es/bridge/transaction.d.ts.map +1 -0
  234. package/lib-es/bridge/transaction.js +42 -0
  235. package/lib-es/bridge/transaction.js.map +1 -0
  236. package/lib-es/config.d.ts +3 -0
  237. package/lib-es/config.d.ts.map +1 -0
  238. package/lib-es/config.js +11 -0
  239. package/lib-es/config.js.map +1 -0
  240. package/lib-es/datasets/celo.scanAccounts.1.d.ts +5 -0
  241. package/lib-es/datasets/celo.scanAccounts.1.d.ts.map +1 -0
  242. package/lib-es/datasets/celo.scanAccounts.1.js +359 -0
  243. package/lib-es/datasets/celo.scanAccounts.1.js.map +1 -0
  244. package/lib-es/errors.d.ts +4 -0
  245. package/lib-es/errors.d.ts.map +1 -0
  246. package/lib-es/errors.js +3 -0
  247. package/lib-es/errors.js.map +1 -0
  248. package/lib-es/logic.d.ts +21 -0
  249. package/lib-es/logic.d.ts.map +1 -0
  250. package/lib-es/logic.js +77 -0
  251. package/lib-es/logic.js.map +1 -0
  252. package/lib-es/network/hubble.d.ts +12 -0
  253. package/lib-es/network/hubble.d.ts.map +1 -0
  254. package/lib-es/network/hubble.js +133 -0
  255. package/lib-es/network/hubble.js.map +1 -0
  256. package/lib-es/network/index.d.ts +4 -0
  257. package/lib-es/network/index.d.ts.map +1 -0
  258. package/lib-es/network/index.js +4 -0
  259. package/lib-es/network/index.js.map +1 -0
  260. package/lib-es/network/sdk.d.ts +27 -0
  261. package/lib-es/network/sdk.d.ts.map +1 -0
  262. package/lib-es/network/sdk.js +85 -0
  263. package/lib-es/network/sdk.js.map +1 -0
  264. package/lib-es/network/validators.d.ts +2 -0
  265. package/lib-es/network/validators.d.ts.map +1 -0
  266. package/lib-es/network/validators.js +2 -0
  267. package/lib-es/network/validators.js.map +1 -0
  268. package/lib-es/signer/hw-getAddress.d.ts +6 -0
  269. package/lib-es/signer/hw-getAddress.d.ts.map +1 -0
  270. package/lib-es/signer/hw-getAddress.js +21 -0
  271. package/lib-es/signer/hw-getAddress.js.map +1 -0
  272. package/lib-es/signer/index.d.ts +2 -0
  273. package/lib-es/signer/index.d.ts.map +1 -0
  274. package/lib-es/signer/index.js +2 -0
  275. package/lib-es/signer/index.js.map +1 -0
  276. package/lib-es/signer/signer.d.ts +16 -0
  277. package/lib-es/signer/signer.d.ts.map +1 -0
  278. package/lib-es/signer/signer.js +2 -0
  279. package/lib-es/signer/signer.js.map +1 -0
  280. package/lib-es/test/bot-specs.d.ts +7 -0
  281. package/lib-es/test/bot-specs.d.ts.map +1 -0
  282. package/lib-es/test/bot-specs.js +40 -0
  283. package/lib-es/test/bot-specs.js.map +1 -0
  284. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  285. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  286. package/lib-es/test/bridgeDatasetTest.js +8 -0
  287. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  288. package/lib-es/test/cli-transaction.d.ts +25 -0
  289. package/lib-es/test/cli-transaction.d.ts.map +1 -0
  290. package/lib-es/test/cli-transaction.js +50 -0
  291. package/lib-es/test/cli-transaction.js.map +1 -0
  292. package/lib-es/test/please-add-coverage.test.d.ts +1 -0
  293. package/lib-es/test/please-add-coverage.test.d.ts.map +1 -0
  294. package/lib-es/test/please-add-coverage.test.js +5 -0
  295. package/lib-es/test/please-add-coverage.test.js.map +1 -0
  296. package/lib-es/test/specs/createActivateVoteMutation.d.ts +4 -0
  297. package/lib-es/test/specs/createActivateVoteMutation.d.ts.map +1 -0
  298. package/lib-es/test/specs/createActivateVoteMutation.js +30 -0
  299. package/lib-es/test/specs/createActivateVoteMutation.js.map +1 -0
  300. package/lib-es/test/specs/createLockMutation.d.ts +4 -0
  301. package/lib-es/test/specs/createLockMutation.d.ts.map +1 -0
  302. package/lib-es/test/specs/createLockMutation.js +30 -0
  303. package/lib-es/test/specs/createLockMutation.js.map +1 -0
  304. package/lib-es/test/specs/createRegisterAccountMutation.d.ts +4 -0
  305. package/lib-es/test/specs/createRegisterAccountMutation.d.ts.map +1 -0
  306. package/lib-es/test/specs/createRegisterAccountMutation.js +24 -0
  307. package/lib-es/test/specs/createRegisterAccountMutation.js.map +1 -0
  308. package/lib-es/test/specs/createRevokeVoteMutation.d.ts +4 -0
  309. package/lib-es/test/specs/createRevokeVoteMutation.d.ts.map +1 -0
  310. package/lib-es/test/specs/createRevokeVoteMutation.js +31 -0
  311. package/lib-es/test/specs/createRevokeVoteMutation.js.map +1 -0
  312. package/lib-es/test/specs/createSendMutation.d.ts +6 -0
  313. package/lib-es/test/specs/createSendMutation.d.ts.map +1 -0
  314. package/lib-es/test/specs/createSendMutation.js +37 -0
  315. package/lib-es/test/specs/createSendMutation.js.map +1 -0
  316. package/lib-es/test/specs/createUnlockMutation.d.ts +4 -0
  317. package/lib-es/test/specs/createUnlockMutation.d.ts.map +1 -0
  318. package/lib-es/test/specs/createUnlockMutation.js +30 -0
  319. package/lib-es/test/specs/createUnlockMutation.js.map +1 -0
  320. package/lib-es/test/specs/createVoteMutation.d.ts +4 -0
  321. package/lib-es/test/specs/createVoteMutation.d.ts.map +1 -0
  322. package/lib-es/test/specs/createVoteMutation.js +41 -0
  323. package/lib-es/test/specs/createVoteMutation.js.map +1 -0
  324. package/lib-es/test/specs/createWithdrawMutation.d.ts +4 -0
  325. package/lib-es/test/specs/createWithdrawMutation.d.ts.map +1 -0
  326. package/lib-es/test/specs/createWithdrawMutation.js +30 -0
  327. package/lib-es/test/specs/createWithdrawMutation.js.map +1 -0
  328. package/lib-es/test/specs/index.d.ts +9 -0
  329. package/lib-es/test/specs/index.d.ts.map +1 -0
  330. package/lib-es/test/specs/index.js +9 -0
  331. package/lib-es/test/specs/index.js.map +1 -0
  332. package/lib-es/test/speculos-deviceActions.d.ts +4 -0
  333. package/lib-es/test/speculos-deviceActions.d.ts.map +1 -0
  334. package/lib-es/test/speculos-deviceActions.js +55 -0
  335. package/lib-es/test/speculos-deviceActions.js.map +1 -0
  336. package/lib-es/types/index.d.ts +4 -0
  337. package/lib-es/types/index.d.ts.map +1 -0
  338. package/lib-es/types/index.js +3 -0
  339. package/lib-es/types/index.js.map +1 -0
  340. package/lib-es/types/types.d.ts +126 -0
  341. package/lib-es/types/types.d.ts.map +1 -0
  342. package/lib-es/types/types.js +7 -0
  343. package/lib-es/types/types.js.map +1 -0
  344. package/package.json +156 -0
  345. package/src/bridge/broadcast.ts +14 -0
  346. package/src/bridge/buildOptimisticOperation.ts +53 -0
  347. package/src/bridge/buildTransaction.ts +154 -0
  348. package/src/bridge/createTransaction.ts +15 -0
  349. package/src/bridge/deviceTransactionConfig.ts +19 -0
  350. package/src/bridge/estimateMaxSpendable.ts +22 -0
  351. package/src/bridge/getFeesForTransaction.ts +115 -0
  352. package/src/bridge/getTransactionStatus.ts +120 -0
  353. package/src/bridge/index.ts +77 -0
  354. package/src/bridge/preload.ts +75 -0
  355. package/src/bridge/prepareTransaction.ts +33 -0
  356. package/src/bridge/serialization.ts +114 -0
  357. package/src/bridge/signOperation.ts +121 -0
  358. package/src/bridge/synchronisation.ts +60 -0
  359. package/src/bridge/transaction.ts +53 -0
  360. package/src/config.ts +12 -0
  361. package/src/datasets/celo.scanAccounts.1.ts +370 -0
  362. package/src/errors.ts +3 -0
  363. package/src/logic.ts +146 -0
  364. package/src/network/hubble.ts +183 -0
  365. package/src/network/index.ts +3 -0
  366. package/src/network/sdk.ts +101 -0
  367. package/src/network/validators.ts +1 -0
  368. package/src/signer/hw-getAddress.ts +27 -0
  369. package/src/signer/index.ts +1 -0
  370. package/src/signer/signer.ts +36 -0
  371. package/src/test/bot-specs.ts +55 -0
  372. package/src/test/bridgeDatasetTest.ts +10 -0
  373. package/src/test/cli-transaction.ts +70 -0
  374. package/src/test/please-add-coverage.test.ts +3 -0
  375. package/src/test/specs/createActivateVoteMutation.ts +37 -0
  376. package/src/test/specs/createLockMutation.ts +38 -0
  377. package/src/test/specs/createRegisterAccountMutation.ts +35 -0
  378. package/src/test/specs/createRevokeVoteMutation.ts +38 -0
  379. package/src/test/specs/createSendMutation.ts +41 -0
  380. package/src/test/specs/createUnlockMutation.ts +35 -0
  381. package/src/test/specs/createVoteMutation.ts +55 -0
  382. package/src/test/specs/createWithdrawMutation.ts +37 -0
  383. package/src/test/specs/index.ts +8 -0
  384. package/src/test/speculos-deviceActions.ts +63 -0
  385. package/src/types/index.ts +3 -0
  386. package/src/types/types.ts +155 -0
  387. package/tsconfig.json +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,8BAA8B,IAAI,wBAAwB,EAC1D,sBAAsB,EACtB,4BAA4B,IAAI,sBAAsB,GACvD,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,OAAgB,EAAU,EAAE,CAAC;OAE7E,CAAC,CAAC,YAAY;IACZ,CAAC,CAAC,UAAU;IACZ,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QACjE,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;KACtB,CACP;KACK,CAAC,CAAC,SAAS,EAAE,CAAC;AAEnB,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IAC7D,MAAM,MAAM,GAAG,wBAAwB,CAAC,EAAE,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC7C,IAAI,EAAE,EAAE,CAAC,IAAI;QACb,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;IACjE,MAAM,MAAM,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,IAAI;QAChC,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB;IACjB,kBAAkB;IAClB,gBAAgB;IAChB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ConfigInfo } from "@ledgerhq/live-config/LiveConfig";
2
+ export declare const celoConfig: Record<string, ConfigInfo>;
3
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAE9D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CASjD,CAAC"}
@@ -0,0 +1,11 @@
1
+ export const celoConfig = {
2
+ config_currency_celo: {
3
+ type: "object",
4
+ default: {
5
+ status: {
6
+ type: "active",
7
+ },
8
+ },
9
+ },
10
+ };
11
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,oBAAoB,EAAE;QACpB,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;aACf;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CurrenciesData } from "@ledgerhq/types-live";
2
+ import type { Transaction } from "../types/types";
3
+ declare const dataset: CurrenciesData<Transaction>;
4
+ export default dataset;
5
+ //# sourceMappingURL=celo.scanAccounts.1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"celo.scanAccounts.1.d.ts","sourceRoot":"","sources":["../../src/datasets/celo.scanAccounts.1.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAc,cAAc,EAA2B,MAAM,sBAAsB,CAAC;AAChG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AASlD,QAAA,MAAM,OAAO,EAAE,cAAc,CAAC,WAAW,CA4VxC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,359 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { AmountRequired, InvalidAddress, InvalidAddressBecauseDestinationIsAlsoSource, NotEnoughBalance, } from "@ledgerhq/errors";
3
+ import TransactionModule from "../bridge/transaction";
4
+ import { CeloAllFundsWarning } from "../errors";
5
+ // This account is registered for staking and has available funds, locked voting funds,
6
+ // locked non-voting funds, and withdrawable funds.
7
+ const LEDGER_CELO_ACCOUNT_1 = "0xcfD48e0FAf9f19377509cE68a6A6F4D9C85ff8AB";
8
+ // This account has no funds and isn't registered for staking.
9
+ const LEDGER_CELO_ACCOUNT_2 = "0x2cC7E5913bADa8FA2895bDeF7F4C2E36C2368Abb";
10
+ const VALIDATOR_ACCOUNT_1 = "0x0861a61Bf679A30680510EcC238ee43B82C5e843";
11
+ const dataset = {
12
+ scanAccounts: [
13
+ {
14
+ name: "Celo 1",
15
+ apdus: `
16
+ => e00200000d038000002c8000ce1080000000
17
+ <= 410453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a328383735443736394535333337363338363732386136374632463564326435666561374637356233399000
18
+ => e002000015058000002c8000ce10800000000000000000000000
19
+ <= 4104eedca4417737f2dae0e12320edba0e845e4ced411e6e2978a9165dde3891099402ff4906ecaab03232f8273592287a94866f14f17b5e2bf6e31837278127919c28636644343865304641663966313933373735303963453638613641364634443943383566663841429000
20
+ => e002000015058000002c8000ce10800000010000000000000000
21
+ <= 41042304dfd28a236eb03471986b90f0a3a111537b35766ae8ff78a9f588071f56ec127531a2498b36e856c759bc2734297a07f9f4b331153a8c9c21171f6488884e28326343374535393133624144613846413238393562446546374634433245333643323336384162629000
22
+ `,
23
+ },
24
+ ],
25
+ accounts: [
26
+ {
27
+ // Ignoring the "balance is sum of ops" test since that
28
+ // doesn't seem to take into account staked tokens properly.
29
+ FIXME_tests: ["balance is sum of ops"],
30
+ raw: {
31
+ id: `js:2:celo:${LEDGER_CELO_ACCOUNT_1}:`,
32
+ seedIdentifier: "0453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a3",
33
+ name: "Celo 1",
34
+ derivationMode: "",
35
+ index: 0,
36
+ freshAddress: LEDGER_CELO_ACCOUNT_1,
37
+ freshAddressPath: "44'/52752'/0'/0/0",
38
+ blockHeight: 0,
39
+ operations: [],
40
+ pendingOperations: [],
41
+ currencyId: "celo",
42
+ lastSyncDate: "",
43
+ balance: "399893159500000000",
44
+ celoResources: {
45
+ registrationStatus: true,
46
+ lockedBalance: "1000000",
47
+ nonvotingLockedBalance: "900000",
48
+ pendingWithdrawals: [],
49
+ votes: [
50
+ {
51
+ validatorGroup: VALIDATOR_ACCOUNT_1,
52
+ amount: "100000",
53
+ activatable: true,
54
+ revokable: true,
55
+ type: "active",
56
+ index: 0,
57
+ },
58
+ ],
59
+ electionAddress: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6",
60
+ lockedGoldAddress: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E",
61
+ },
62
+ },
63
+ transactions: [
64
+ {
65
+ name: "Same as Recipient",
66
+ transaction: t => ({
67
+ ...t,
68
+ amount: new BigNumber(100),
69
+ recipient: LEDGER_CELO_ACCOUNT_1,
70
+ }),
71
+ expectedStatus: {
72
+ errors: {
73
+ recipient: new InvalidAddressBecauseDestinationIsAlsoSource(),
74
+ },
75
+ warnings: {},
76
+ },
77
+ },
78
+ {
79
+ name: "Invalid Address",
80
+ transaction: t => ({
81
+ ...t,
82
+ amount: new BigNumber(100),
83
+ recipient: "dsadasdasdasdas",
84
+ }),
85
+ expectedStatus: {
86
+ errors: {
87
+ recipient: new InvalidAddress(),
88
+ },
89
+ warnings: {},
90
+ },
91
+ },
92
+ {
93
+ name: "Amount Required",
94
+ transaction: TransactionModule.fromTransactionRaw({
95
+ family: "celo",
96
+ recipient: LEDGER_CELO_ACCOUNT_2,
97
+ amount: "0",
98
+ mode: "send",
99
+ fees: null,
100
+ index: 0,
101
+ }),
102
+ expectedStatus: {
103
+ errors: {
104
+ amount: new AmountRequired(),
105
+ },
106
+ warnings: {},
107
+ },
108
+ },
109
+ {
110
+ name: "Not enough balance",
111
+ transaction: TransactionModule.fromTransactionRaw({
112
+ family: "celo",
113
+ recipient: LEDGER_CELO_ACCOUNT_2,
114
+ amount: "399893159500000005",
115
+ mode: "send",
116
+ fees: null,
117
+ index: 0,
118
+ }),
119
+ expectedStatus: {
120
+ errors: {
121
+ amount: new NotEnoughBalance(),
122
+ },
123
+ warnings: {},
124
+ },
125
+ },
126
+ {
127
+ name: "[send] use all amount - should warn all funds",
128
+ transaction: t => ({
129
+ ...t,
130
+ useAllAmount: true,
131
+ mode: "send",
132
+ recipient: LEDGER_CELO_ACCOUNT_2,
133
+ }),
134
+ expectedStatus: () => ({
135
+ errors: {},
136
+ warnings: {
137
+ amount: new CeloAllFundsWarning(),
138
+ },
139
+ }),
140
+ },
141
+ {
142
+ name: "Lock - success",
143
+ transaction: t => ({
144
+ ...t,
145
+ mode: "lock",
146
+ amount: new BigNumber(5000),
147
+ }),
148
+ expectedStatus: () => {
149
+ return {
150
+ errors: {},
151
+ warnings: {},
152
+ amount: new BigNumber(5000),
153
+ };
154
+ },
155
+ },
156
+ {
157
+ name: "Unlock - success",
158
+ transaction: t => ({
159
+ ...t,
160
+ mode: "unlock",
161
+ amount: new BigNumber(50000),
162
+ }),
163
+ expectedStatus: () => {
164
+ return {
165
+ errors: {},
166
+ warnings: {},
167
+ amount: new BigNumber(50000),
168
+ };
169
+ },
170
+ },
171
+ {
172
+ name: "Lock - amount required",
173
+ transaction: t => ({
174
+ ...t,
175
+ mode: "lock",
176
+ }),
177
+ expectedStatus: () => {
178
+ return {
179
+ errors: {
180
+ amount: new AmountRequired(),
181
+ },
182
+ warnings: {},
183
+ };
184
+ },
185
+ },
186
+ {
187
+ name: "Unlock - amount required",
188
+ transaction: t => ({
189
+ ...t,
190
+ mode: "unlock",
191
+ }),
192
+ expectedStatus: () => {
193
+ return {
194
+ errors: {
195
+ amount: new AmountRequired(),
196
+ },
197
+ warnings: {},
198
+ };
199
+ },
200
+ },
201
+ {
202
+ name: "Unlock - Not enough balance",
203
+ transaction: t => ({
204
+ ...t,
205
+ mode: "unlock",
206
+ amount: new BigNumber(200000000000000000),
207
+ }),
208
+ expectedStatus: () => {
209
+ return {
210
+ errors: {
211
+ amount: new NotEnoughBalance(),
212
+ },
213
+ warnings: {},
214
+ };
215
+ },
216
+ },
217
+ {
218
+ name: "Vote - success",
219
+ transaction: t => ({
220
+ ...t,
221
+ mode: "vote",
222
+ useAllAmount: true,
223
+ recipient: VALIDATOR_ACCOUNT_1,
224
+ }),
225
+ expectedStatus: () => {
226
+ return {
227
+ errors: {},
228
+ warnings: {},
229
+ amount: new BigNumber(100000000000000000),
230
+ };
231
+ },
232
+ },
233
+ {
234
+ name: "Vote - Not enough balance",
235
+ transaction: t => ({
236
+ ...t,
237
+ mode: "vote",
238
+ recipient: VALIDATOR_ACCOUNT_1,
239
+ amount: new BigNumber(200000000000000000),
240
+ }),
241
+ expectedStatus: () => {
242
+ return {
243
+ errors: {
244
+ amount: new NotEnoughBalance(),
245
+ },
246
+ warnings: {},
247
+ };
248
+ },
249
+ },
250
+ {
251
+ name: "Activate Vote - success",
252
+ transaction: t => ({
253
+ ...t,
254
+ mode: "activate",
255
+ recipient: VALIDATOR_ACCOUNT_1,
256
+ }),
257
+ expectedStatus: () => {
258
+ return {
259
+ errors: {},
260
+ warnings: {},
261
+ };
262
+ },
263
+ },
264
+ {
265
+ name: "Revoke Vote - success",
266
+ transaction: t => ({
267
+ ...t,
268
+ mode: "revoke",
269
+ recipient: VALIDATOR_ACCOUNT_1,
270
+ amount: new BigNumber(9000000),
271
+ index: 0,
272
+ }),
273
+ expectedStatus: () => {
274
+ return {
275
+ errors: {},
276
+ warnings: {},
277
+ };
278
+ },
279
+ },
280
+ {
281
+ name: "Revoke Vote - Not enough balance",
282
+ transaction: t => ({
283
+ ...t,
284
+ mode: "revoke",
285
+ recipient: VALIDATOR_ACCOUNT_1,
286
+ amount: new BigNumber(20000000000000000000),
287
+ index: 0,
288
+ }),
289
+ expectedStatus: () => {
290
+ return {
291
+ errors: {
292
+ amount: new NotEnoughBalance(),
293
+ },
294
+ warnings: {},
295
+ };
296
+ },
297
+ },
298
+ {
299
+ name: "Revoke Vote - voted amount should be used when revoke amount is set",
300
+ transaction: t => ({
301
+ ...t,
302
+ mode: "revoke",
303
+ recipient: VALIDATOR_ACCOUNT_1,
304
+ useAllAmount: true,
305
+ index: 0,
306
+ }),
307
+ expectedStatus: () => {
308
+ return {
309
+ errors: {},
310
+ warnings: {},
311
+ };
312
+ },
313
+ },
314
+ ],
315
+ },
316
+ {
317
+ FIXME_tests: ["balance is sum of ops"],
318
+ raw: {
319
+ id: `js:2:celo:${LEDGER_CELO_ACCOUNT_2}:`,
320
+ seedIdentifier: "0453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a3",
321
+ name: "Celo 1",
322
+ derivationMode: "",
323
+ index: 0,
324
+ freshAddress: LEDGER_CELO_ACCOUNT_2,
325
+ freshAddressPath: "44'/52752'/0'/0/0",
326
+ blockHeight: 0,
327
+ operations: [],
328
+ pendingOperations: [],
329
+ currencyId: "celo",
330
+ lastSyncDate: "",
331
+ balance: "399893159500000000",
332
+ celoResources: {
333
+ registrationStatus: false,
334
+ lockedBalance: "0",
335
+ nonvotingLockedBalance: "0",
336
+ pendingWithdrawals: [],
337
+ votes: [],
338
+ electionAddress: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6",
339
+ lockedGoldAddress: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E",
340
+ },
341
+ },
342
+ transactions: [
343
+ {
344
+ name: "Register Account - success",
345
+ transaction: t => ({
346
+ ...t,
347
+ mode: "register",
348
+ }),
349
+ expectedStatus: {
350
+ errors: {},
351
+ warnings: {},
352
+ },
353
+ },
354
+ ],
355
+ },
356
+ ],
357
+ };
358
+ export default dataset;
359
+ //# sourceMappingURL=celo.scanAccounts.1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"celo.scanAccounts.1.js","sourceRoot":"","sources":["../../src/datasets/celo.scanAccounts.1.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,cAAc,EACd,cAAc,EACd,4CAA4C,EAC5C,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAIhD,uFAAuF;AACvF,mDAAmD;AACnD,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAC3E,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,4CAA4C,CAAC;AAC3E,MAAM,mBAAmB,GAAG,4CAA4C,CAAC;AAEzE,MAAM,OAAO,GAAgC;IAC3C,YAAY,EAAE;QACZ;YACE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;;;;;;;OAON;SACF;KACF;IACD,QAAQ,EAAE;QACR;YACE,uDAAuD;YACvD,4DAA4D;YAC5D,WAAW,EAAE,CAAC,uBAAuB,CAAC;YACtC,GAAG,EAAE;gBACH,EAAE,EAAE,aAAa,qBAAqB,GAAG;gBACzC,cAAc,EACZ,oIAAoI;gBACtI,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,qBAAqB;gBACnC,gBAAgB,EAAE,mBAAmB;gBACrC,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE;oBACb,kBAAkB,EAAE,IAAI;oBACxB,aAAa,EAAE,SAAS;oBACxB,sBAAsB,EAAE,QAAQ;oBAChC,kBAAkB,EAAE,EAAE;oBACtB,KAAK,EAAE;wBACL;4BACE,cAAc,EAAE,mBAAmB;4BACnC,MAAM,EAAE,QAAQ;4BAChB,WAAW,EAAE,IAAI;4BACjB,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,CAAC;yBACT;qBACF;oBACD,eAAe,EAAE,4CAA4C;oBAC7D,iBAAiB,EAAE,4CAA4C;iBAChE;aACY;YACf,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,mBAAmB;oBACzB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;wBAC1B,SAAS,EAAE,qBAAqB;qBACjC,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI,4CAA4C,EAAE;yBAC9D;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,MAAM,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC;wBAC1B,SAAS,EAAE,iBAAiB;qBAC7B,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,SAAS,EAAE,IAAI,cAAc,EAAE;yBAChC;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,iBAAiB;oBACvB,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;wBAChD,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,qBAAqB;wBAChC,MAAM,EAAE,GAAG;wBACX,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,cAAc,EAAE;yBAC7B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,WAAW,EAAE,iBAAiB,CAAC,kBAAkB,CAAC;wBAChD,MAAM,EAAE,MAAM;wBACd,SAAS,EAAE,qBAAqB;wBAChC,MAAM,EAAE,oBAAoB;wBAC5B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI;wBACV,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE;4BACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;yBAC/B;wBACD,QAAQ,EAAE,EAAE;qBACb;iBACF;gBACD;oBACE,IAAI,EAAE,+CAA+C;oBACrD,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,YAAY,EAAE,IAAI;wBAClB,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,qBAAqB;qBACjC,CAAC;oBACF,cAAc,EAAE,GAAG,EAAE,CAAC,CAAC;wBACrB,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE;4BACR,MAAM,EAAE,IAAI,mBAAmB,EAAE;yBAClC;qBACF,CAAC;iBACH;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,MAAM;wBACZ,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;qBAC5B,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;4BACZ,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC;yBAC5B,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,kBAAkB;oBACxB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;qBAC7B,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;4BACZ,MAAM,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC;yBAC7B,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,wBAAwB;oBAC9B,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,MAAM;qBACb,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE;gCACN,MAAM,EAAE,IAAI,cAAc,EAAE;6BAC7B;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,0BAA0B;oBAChC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE;gCACN,MAAM,EAAE,IAAI,cAAc,EAAE;6BAC7B;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,6BAA6B;oBACnC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;wBACd,MAAM,EAAE,IAAI,SAAS,CAAC,kBAAkB,CAAC;qBAC1C,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE;gCACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;6BAC/B;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,gBAAgB;oBACtB,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,MAAM;wBACZ,YAAY,EAAE,IAAI;wBAClB,SAAS,EAAE,mBAAmB;qBAC/B,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;4BACZ,MAAM,EAAE,IAAI,SAAS,CAAC,kBAAkB,CAAC;yBAC1C,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,2BAA2B;oBACjC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,MAAM;wBACZ,SAAS,EAAE,mBAAmB;wBAC9B,MAAM,EAAE,IAAI,SAAS,CAAC,kBAAkB,CAAC;qBAC1C,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE;gCACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;6BAC/B;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,yBAAyB;oBAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,UAAU;wBAChB,SAAS,EAAE,mBAAmB;qBAC/B,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,uBAAuB;oBAC7B,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,mBAAmB;wBAC9B,MAAM,EAAE,IAAI,SAAS,CAAC,OAAO,CAAC;wBAC9B,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,kCAAkC;oBACxC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,mBAAmB;wBAC9B,MAAM,EAAE,IAAI,SAAS,CAAC,oBAAoB,CAAC;wBAC3C,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE;gCACN,MAAM,EAAE,IAAI,gBAAgB,EAAE;6BAC/B;4BACD,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;gBACD;oBACE,IAAI,EAAE,qEAAqE;oBAC3E,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,QAAQ;wBACd,SAAS,EAAE,mBAAmB;wBAC9B,YAAY,EAAE,IAAI;wBAClB,KAAK,EAAE,CAAC;qBACT,CAAC;oBACF,cAAc,EAAE,GAAqC,EAAE;wBACrD,OAAO;4BACL,MAAM,EAAE,EAAE;4BACV,QAAQ,EAAE,EAAE;yBACb,CAAC;oBACJ,CAAC;iBACF;aACF;SACF;QACD;YACE,WAAW,EAAE,CAAC,uBAAuB,CAAC;YACtC,GAAG,EAAE;gBACH,EAAE,EAAE,aAAa,qBAAqB,GAAG;gBACzC,cAAc,EACZ,oIAAoI;gBACtI,IAAI,EAAE,QAAQ;gBACd,cAAc,EAAE,EAAE;gBAClB,KAAK,EAAE,CAAC;gBACR,YAAY,EAAE,qBAAqB;gBACnC,gBAAgB,EAAE,mBAAmB;gBACrC,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,EAAE;gBACd,iBAAiB,EAAE,EAAE;gBACrB,UAAU,EAAE,MAAM;gBAClB,YAAY,EAAE,EAAE;gBAChB,OAAO,EAAE,oBAAoB;gBAC7B,aAAa,EAAE;oBACb,kBAAkB,EAAE,KAAK;oBACzB,aAAa,EAAE,GAAG;oBAClB,sBAAsB,EAAE,GAAG;oBAC3B,kBAAkB,EAAE,EAAE;oBACtB,KAAK,EAAE,EAAE;oBACT,eAAe,EAAE,4CAA4C;oBAC7D,iBAAiB,EAAE,4CAA4C;iBAChE;aACY;YACf,YAAY,EAAE;gBACZ;oBACE,IAAI,EAAE,4BAA4B;oBAClC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;wBACjB,GAAG,CAAC;wBACJ,IAAI,EAAE,UAAU;qBACjB,CAAC;oBACF,cAAc,EAAE;wBACd,MAAM,EAAE,EAAE;wBACV,QAAQ,EAAE,EAAE;qBACb;iBACF;aACF;SACF;KACF;CACF,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const CeloAllFundsWarning: import("@ledgerhq/errors/lib/helpers").LedgerErrorConstructor<{
2
+ [key: string]: unknown;
3
+ }>;
4
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;EAAgD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createCustomErrorClass } from "@ledgerhq/errors";
2
+ export const CeloAllFundsWarning = createCustomErrorClass("CeloAllFundsWarning");
3
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { CeloAccount, CeloPendingWithdrawal, CeloValidatorGroup, CeloVote, CeloVoteStatus, PendingStakingOperationAmounts } from "./types/types";
2
+ import { BigNumber } from "bignumber.js";
3
+ export declare const PRELOAD_MAX_AGE: number;
4
+ export declare const availablePendingWithdrawals: (account: CeloAccount) => CeloPendingWithdrawal[];
5
+ export declare const withdrawableBalance: (account: CeloAccount) => BigNumber;
6
+ export declare const hasWithdrawableBalance: (account: CeloAccount) => boolean;
7
+ export declare const defaultValidatorGroupAddress: () => string;
8
+ export declare const isDefaultValidatorGroupAddress: (address: string) => boolean;
9
+ export declare const isDefaultValidatorGroup: (validatorGroup: CeloValidatorGroup) => boolean;
10
+ export declare const activatableVotes: (account: CeloAccount) => CeloVote[];
11
+ export declare const hasActivatableVotes: (account: CeloAccount) => boolean;
12
+ export declare const revokableVotes: (account: CeloAccount) => CeloVote[];
13
+ export declare const hasRevokableVotes: (account: CeloAccount) => boolean;
14
+ export declare const getVote: (account: CeloAccount, validatorGroupAddress: string, index: number | null | undefined) => CeloVote | undefined;
15
+ export declare const voteStatus: (vote: CeloVote) => CeloVoteStatus;
16
+ export declare const fallbackValidatorGroup: (address: string) => CeloValidatorGroup;
17
+ export declare const isAccountRegistrationPending: (account: CeloAccount) => boolean;
18
+ export declare const getPendingStakingOperationAmounts: (account: CeloAccount) => PendingStakingOperationAmounts;
19
+ export declare const getValidatorGroupsWithVotes: (validatorGroups: CeloValidatorGroup[], votes: CeloVote[] | null) => CeloValidatorGroup[];
20
+ export declare const getValidatorGroupsWithoutVotes: (validatorGroups: CeloValidatorGroup[], votes?: CeloVote[] | null) => CeloValidatorGroup[];
21
+ //# sourceMappingURL=logic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,8BAA8B,EAC/B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,eAAO,MAAM,eAAe,QAAiB,CAAC;AAG9C,eAAO,MAAM,2BAA2B,YAAa,WAAW,KAAG,qBAAqB,EAMvF,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,WAAW,KAAG,SAIxD,CAAC;AAEJ,eAAO,MAAM,sBAAsB,YAAa,WAAW,KAAG,OACf,CAAC;AAEhD,eAAO,MAAM,4BAA4B,QAAO,MAAmD,CAAC;AAEpG,eAAO,MAAM,8BAA8B,YAAa,MAAM,KAAG,OACV,CAAC;AAExD,eAAO,MAAM,uBAAuB,mBAAoB,kBAAkB,KAAG,OACrB,CAAC;AAEzD,eAAO,MAAM,gBAAgB,YAAa,WAAW,KAAG,QAAQ,EAI/D,CAAC;AAEF,eAAO,MAAM,mBAAmB,YAAa,WAAW,KAAG,OACrB,CAAC;AAEvC,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,QAAQ,EAI7D,CAAC;AAEF,eAAO,MAAM,iBAAiB,YAAa,WAAW,KAAG,OACrB,CAAC;AAErC,eAAO,MAAM,OAAO,YACT,WAAW,yBACG,MAAM,SACtB,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,QAAQ,GAAG,SAKb,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,QAAQ,KAAG,cACoC,CAAC;AAEjF,eAAO,MAAM,sBAAsB,YAAa,MAAM,KAAG,kBAIvD,CAAC;AAEH,eAAO,MAAM,4BAA4B,YAAa,WAAW,KAAG,OAWnE,CAAC;AAMF,eAAO,MAAM,iCAAiC,YACnC,WAAW,KACnB,8BA+BF,CAAC;AAUF,eAAO,MAAM,2BAA2B,oBACrB,kBAAkB,EAAE,SAC9B,QAAQ,EAAE,GAAG,IAAI,KACvB,kBAAkB,EAA4E,CAAC;AAElG,eAAO,MAAM,8BAA8B,oBACxB,kBAAkB,EAAE,UAC9B,QAAQ,EAAE,GAAG,IAAI,KACvB,kBAAkB,EAA6E,CAAC"}
@@ -0,0 +1,77 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ export const PRELOAD_MAX_AGE = 10 * 60 * 1000; // 10 minutes, used for max age in preload strategy
3
+ const LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS = "0x0861a61Bf679A30680510EcC238ee43B82C5e843";
4
+ export const availablePendingWithdrawals = (account) => {
5
+ const { pendingWithdrawals } = account.celoResources || {};
6
+ return (pendingWithdrawals || []).filter(withdrawal => new Date(withdrawal.time.toNumber() * 1000) < new Date());
7
+ };
8
+ export const withdrawableBalance = (account) => availablePendingWithdrawals(account).reduce((sum, withdrawal) => sum.plus(withdrawal.value), new BigNumber(0));
9
+ export const hasWithdrawableBalance = (account) => withdrawableBalance(account).isGreaterThan(0);
10
+ export const defaultValidatorGroupAddress = () => LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
11
+ export const isDefaultValidatorGroupAddress = (address) => address === LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
12
+ export const isDefaultValidatorGroup = (validatorGroup) => isDefaultValidatorGroupAddress(validatorGroup.address);
13
+ export const activatableVotes = (account) => {
14
+ const { votes } = account.celoResources || {};
15
+ return (votes || []).filter(vote => vote.activatable);
16
+ };
17
+ export const hasActivatableVotes = (account) => activatableVotes(account).length > 0;
18
+ export const revokableVotes = (account) => {
19
+ const { votes } = account.celoResources || {};
20
+ return (votes || []).filter(vote => vote.revokable);
21
+ };
22
+ export const hasRevokableVotes = (account) => revokableVotes(account).length > 0;
23
+ export const getVote = (account, validatorGroupAddress, index) => {
24
+ const { votes } = account.celoResources || {};
25
+ return votes?.find(revoke => revoke.validatorGroup === validatorGroupAddress && revoke.index == index);
26
+ };
27
+ export const voteStatus = (vote) => vote.type === "pending" && vote.activatable ? "awaitingActivation" : vote.type;
28
+ export const fallbackValidatorGroup = (address) => ({
29
+ address: address,
30
+ name: address,
31
+ votes: new BigNumber(0),
32
+ });
33
+ export const isAccountRegistrationPending = (account) => {
34
+ // If there's a pending "REGISTER" operation and the
35
+ // account's registration status is false, then
36
+ // we know that the account is truly not registered yet.
37
+ const isAccountRegistrationPending = !!account &&
38
+ account.pendingOperations.some(currentAccount => currentAccount.type === "REGISTER") &&
39
+ !account.celoResources?.registrationStatus;
40
+ return isAccountRegistrationPending;
41
+ };
42
+ const isOperationTrulyPending = (operation, activeOperations) => {
43
+ return !activeOperations.some(activeOperation => activeOperation.hash === operation.hash);
44
+ };
45
+ export const getPendingStakingOperationAmounts = (account) => {
46
+ const operationAmounts = account.pendingOperations.reduce((acc, currentOperation) => {
47
+ if (currentOperation.type !== "VOTE" && currentOperation.type !== "LOCK") {
48
+ return acc;
49
+ }
50
+ if (isOperationTrulyPending(currentOperation, account.operations)) {
51
+ const value = new BigNumber(currentOperation.value);
52
+ switch (currentOperation.type) {
53
+ case "VOTE":
54
+ return {
55
+ ...acc,
56
+ vote: acc.vote.plus(value),
57
+ };
58
+ case "LOCK":
59
+ return {
60
+ ...acc,
61
+ lock: acc.lock.plus(value),
62
+ };
63
+ }
64
+ }
65
+ return acc;
66
+ }, {
67
+ vote: new BigNumber(0),
68
+ lock: new BigNumber(0),
69
+ });
70
+ return operationAmounts;
71
+ };
72
+ const getValidatorGroupsByVotingActivity = (validatorGroups, votes, withVotes) => {
73
+ return validatorGroups.filter(v => votes.some(d => d.validatorGroup === v.address) === withVotes);
74
+ };
75
+ export const getValidatorGroupsWithVotes = (validatorGroups, votes) => getValidatorGroupsByVotingActivity(validatorGroups, votes || [], true);
76
+ export const getValidatorGroupsWithoutVotes = (validatorGroups, votes = []) => getValidatorGroupsByVotingActivity(validatorGroups, votes || [], false);
77
+ //# sourceMappingURL=logic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../src/logic.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { BigNumber } from "bignumber.js";
2
+ import { CeloOperation, CeloValidatorGroup } from "../types/types";
3
+ export declare const getAccountDetails: (address: string, accountId: string) => Promise<{
4
+ blockHeight: any;
5
+ balance: BigNumber;
6
+ spendableBalance: BigNumber;
7
+ operations: CeloOperation[];
8
+ lockedBalance: BigNumber;
9
+ nonvotingLockedBalance: BigNumber;
10
+ }>;
11
+ export declare const getValidatorGroups: () => Promise<CeloValidatorGroup[]>;
12
+ //# sourceMappingURL=hubble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubble.d.ts","sourceRoot":"","sources":["../../src/network/hubble.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAA6B,MAAM,gBAAgB,CAAC;AAyG9F,eAAO,MAAM,iBAAiB,YACnB,MAAM,aACJ,MAAM,KAChB,OAAO,CAAC;IACT,WAAW,EAAE,GAAG,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,aAAa,EAAE,SAAS,CAAC;IACzB,sBAAsB,EAAE,SAAS,CAAC;CACnC,CA6BA,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAa,OAAO,CAAC,kBAAkB,EAAE,CAkBvE,CAAC"}