@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.d.ts","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAWlE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,MAAO,WAAW,WAAW,OAAO,KAAG,MASnD,CAAC;AAanB,eAAO,MAAM,gBAAgB,MAAO,WAAW,KAAG,cASjD,CAAC;;2BA/BmC,WAAW,WAAW,OAAO,KAAG,MAAM;6BAW3C,cAAc,KAAG,WAAW;0BAWxB,WAAW,KAAG,cAAc;;;;;AAWhE,wBAOE"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toTransactionRaw = exports.formatTransaction = void 0;
4
+ const bignumber_js_1 = require("bignumber.js");
5
+ const formatters_1 = require("@ledgerhq/coin-framework/formatters");
6
+ const serialization_1 = require("@ledgerhq/coin-framework/serialization");
7
+ const index_1 = require("@ledgerhq/coin-framework/account/index");
8
+ const index_2 = require("@ledgerhq/coin-framework/currencies/index");
9
+ const formatTransaction = (t, account) => `
10
+ SEND ${t.useAllAmount
11
+ ? "MAX CELO"
12
+ : (0, index_2.formatCurrencyUnit)((0, index_1.getAccountCurrency)(account).units[0], t.amount, {
13
+ showCode: true,
14
+ disableRounding: true,
15
+ })}
16
+ TO ${t.recipient}`;
17
+ exports.formatTransaction = formatTransaction;
18
+ const fromTransactionRaw = (tr) => {
19
+ const common = (0, serialization_1.fromTransactionCommonRaw)(tr);
20
+ return {
21
+ ...common,
22
+ family: tr.family,
23
+ fees: tr.fees ? new bignumber_js_1.BigNumber(tr.fees) : null,
24
+ mode: tr.mode,
25
+ index: tr.index,
26
+ };
27
+ };
28
+ const toTransactionRaw = (t) => {
29
+ const common = (0, serialization_1.toTransactionCommonRaw)(t);
30
+ return {
31
+ ...common,
32
+ family: t.family,
33
+ fees: t.fees?.toString() || null,
34
+ mode: t.mode,
35
+ index: t.index,
36
+ };
37
+ };
38
+ exports.toTransactionRaw = toTransactionRaw;
39
+ exports.default = {
40
+ formatTransaction: exports.formatTransaction,
41
+ fromTransactionRaw,
42
+ toTransactionRaw: exports.toTransactionRaw,
43
+ fromTransactionStatusRaw: serialization_1.fromTransactionStatusRawCommon,
44
+ toTransactionStatusRaw: serialization_1.toTransactionStatusRawCommon,
45
+ formatTransactionStatus: formatters_1.formatTransactionStatus,
46
+ };
47
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../src/bridge/transaction.ts"],"names":[],"mappings":";;;AACA,+CAAyC;AACzC,oEAA8E;AAC9E,0EAKgD;AAChD,kEAA4E;AAC5E,qEAA+E;AAExE,MAAM,iBAAiB,GAAG,CAAC,CAAc,EAAE,OAAgB,EAAU,EAAE,CAAC;OAE7E,CAAC,CAAC,YAAY;IACZ,CAAC,CAAC,UAAU;IACZ,CAAC,CAAC,IAAA,0BAAkB,EAAC,IAAA,0BAAkB,EAAC,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;AATN,QAAA,iBAAiB,qBASX;AAEnB,MAAM,kBAAkB,GAAG,CAAC,EAAkB,EAAe,EAAE;IAC7D,MAAM,MAAM,GAAG,IAAA,wCAAwB,EAAC,EAAE,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,MAAM;QACT,MAAM,EAAE,EAAE,CAAC,MAAM;QACjB,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,wBAAS,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;AAEK,MAAM,gBAAgB,GAAG,CAAC,CAAc,EAAkB,EAAE;IACjE,MAAM,MAAM,GAAG,IAAA,sCAAsB,EAAC,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;AATW,QAAA,gBAAgB,oBAS3B;AAEF,kBAAe;IACb,iBAAiB,EAAjB,yBAAiB;IACjB,kBAAkB;IAClB,gBAAgB,EAAhB,wBAAgB;IAChB,wBAAwB,EAAxB,8CAAwB;IACxB,sBAAsB,EAAtB,4CAAsB;IACtB,uBAAuB,EAAvB,oCAAuB;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"}
package/lib/config.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.celoConfig = void 0;
4
+ exports.celoConfig = {
5
+ config_currency_celo: {
6
+ type: "object",
7
+ default: {
8
+ status: {
9
+ type: "active",
10
+ },
11
+ },
12
+ },
13
+ };
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAEa,QAAA,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,364 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
7
+ const errors_1 = require("@ledgerhq/errors");
8
+ const transaction_1 = __importDefault(require("../bridge/transaction"));
9
+ const errors_2 = require("../errors");
10
+ // This account is registered for staking and has available funds, locked voting funds,
11
+ // locked non-voting funds, and withdrawable funds.
12
+ const LEDGER_CELO_ACCOUNT_1 = "0xcfD48e0FAf9f19377509cE68a6A6F4D9C85ff8AB";
13
+ // This account has no funds and isn't registered for staking.
14
+ const LEDGER_CELO_ACCOUNT_2 = "0x2cC7E5913bADa8FA2895bDeF7F4C2E36C2368Abb";
15
+ const VALIDATOR_ACCOUNT_1 = "0x0861a61Bf679A30680510EcC238ee43B82C5e843";
16
+ const dataset = {
17
+ scanAccounts: [
18
+ {
19
+ name: "Celo 1",
20
+ apdus: `
21
+ => e00200000d038000002c8000ce1080000000
22
+ <= 410453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a328383735443736394535333337363338363732386136374632463564326435666561374637356233399000
23
+ => e002000015058000002c8000ce10800000000000000000000000
24
+ <= 4104eedca4417737f2dae0e12320edba0e845e4ced411e6e2978a9165dde3891099402ff4906ecaab03232f8273592287a94866f14f17b5e2bf6e31837278127919c28636644343865304641663966313933373735303963453638613641364634443943383566663841429000
25
+ => e002000015058000002c8000ce10800000010000000000000000
26
+ <= 41042304dfd28a236eb03471986b90f0a3a111537b35766ae8ff78a9f588071f56ec127531a2498b36e856c759bc2734297a07f9f4b331153a8c9c21171f6488884e28326343374535393133624144613846413238393562446546374634433245333643323336384162629000
27
+ `,
28
+ },
29
+ ],
30
+ accounts: [
31
+ {
32
+ // Ignoring the "balance is sum of ops" test since that
33
+ // doesn't seem to take into account staked tokens properly.
34
+ FIXME_tests: ["balance is sum of ops"],
35
+ raw: {
36
+ id: `js:2:celo:${LEDGER_CELO_ACCOUNT_1}:`,
37
+ seedIdentifier: "0453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a3",
38
+ name: "Celo 1",
39
+ derivationMode: "",
40
+ index: 0,
41
+ freshAddress: LEDGER_CELO_ACCOUNT_1,
42
+ freshAddressPath: "44'/52752'/0'/0/0",
43
+ blockHeight: 0,
44
+ operations: [],
45
+ pendingOperations: [],
46
+ currencyId: "celo",
47
+ lastSyncDate: "",
48
+ balance: "399893159500000000",
49
+ celoResources: {
50
+ registrationStatus: true,
51
+ lockedBalance: "1000000",
52
+ nonvotingLockedBalance: "900000",
53
+ pendingWithdrawals: [],
54
+ votes: [
55
+ {
56
+ validatorGroup: VALIDATOR_ACCOUNT_1,
57
+ amount: "100000",
58
+ activatable: true,
59
+ revokable: true,
60
+ type: "active",
61
+ index: 0,
62
+ },
63
+ ],
64
+ electionAddress: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6",
65
+ lockedGoldAddress: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E",
66
+ },
67
+ },
68
+ transactions: [
69
+ {
70
+ name: "Same as Recipient",
71
+ transaction: t => ({
72
+ ...t,
73
+ amount: new bignumber_js_1.default(100),
74
+ recipient: LEDGER_CELO_ACCOUNT_1,
75
+ }),
76
+ expectedStatus: {
77
+ errors: {
78
+ recipient: new errors_1.InvalidAddressBecauseDestinationIsAlsoSource(),
79
+ },
80
+ warnings: {},
81
+ },
82
+ },
83
+ {
84
+ name: "Invalid Address",
85
+ transaction: t => ({
86
+ ...t,
87
+ amount: new bignumber_js_1.default(100),
88
+ recipient: "dsadasdasdasdas",
89
+ }),
90
+ expectedStatus: {
91
+ errors: {
92
+ recipient: new errors_1.InvalidAddress(),
93
+ },
94
+ warnings: {},
95
+ },
96
+ },
97
+ {
98
+ name: "Amount Required",
99
+ transaction: transaction_1.default.fromTransactionRaw({
100
+ family: "celo",
101
+ recipient: LEDGER_CELO_ACCOUNT_2,
102
+ amount: "0",
103
+ mode: "send",
104
+ fees: null,
105
+ index: 0,
106
+ }),
107
+ expectedStatus: {
108
+ errors: {
109
+ amount: new errors_1.AmountRequired(),
110
+ },
111
+ warnings: {},
112
+ },
113
+ },
114
+ {
115
+ name: "Not enough balance",
116
+ transaction: transaction_1.default.fromTransactionRaw({
117
+ family: "celo",
118
+ recipient: LEDGER_CELO_ACCOUNT_2,
119
+ amount: "399893159500000005",
120
+ mode: "send",
121
+ fees: null,
122
+ index: 0,
123
+ }),
124
+ expectedStatus: {
125
+ errors: {
126
+ amount: new errors_1.NotEnoughBalance(),
127
+ },
128
+ warnings: {},
129
+ },
130
+ },
131
+ {
132
+ name: "[send] use all amount - should warn all funds",
133
+ transaction: t => ({
134
+ ...t,
135
+ useAllAmount: true,
136
+ mode: "send",
137
+ recipient: LEDGER_CELO_ACCOUNT_2,
138
+ }),
139
+ expectedStatus: () => ({
140
+ errors: {},
141
+ warnings: {
142
+ amount: new errors_2.CeloAllFundsWarning(),
143
+ },
144
+ }),
145
+ },
146
+ {
147
+ name: "Lock - success",
148
+ transaction: t => ({
149
+ ...t,
150
+ mode: "lock",
151
+ amount: new bignumber_js_1.default(5000),
152
+ }),
153
+ expectedStatus: () => {
154
+ return {
155
+ errors: {},
156
+ warnings: {},
157
+ amount: new bignumber_js_1.default(5000),
158
+ };
159
+ },
160
+ },
161
+ {
162
+ name: "Unlock - success",
163
+ transaction: t => ({
164
+ ...t,
165
+ mode: "unlock",
166
+ amount: new bignumber_js_1.default(50000),
167
+ }),
168
+ expectedStatus: () => {
169
+ return {
170
+ errors: {},
171
+ warnings: {},
172
+ amount: new bignumber_js_1.default(50000),
173
+ };
174
+ },
175
+ },
176
+ {
177
+ name: "Lock - amount required",
178
+ transaction: t => ({
179
+ ...t,
180
+ mode: "lock",
181
+ }),
182
+ expectedStatus: () => {
183
+ return {
184
+ errors: {
185
+ amount: new errors_1.AmountRequired(),
186
+ },
187
+ warnings: {},
188
+ };
189
+ },
190
+ },
191
+ {
192
+ name: "Unlock - amount required",
193
+ transaction: t => ({
194
+ ...t,
195
+ mode: "unlock",
196
+ }),
197
+ expectedStatus: () => {
198
+ return {
199
+ errors: {
200
+ amount: new errors_1.AmountRequired(),
201
+ },
202
+ warnings: {},
203
+ };
204
+ },
205
+ },
206
+ {
207
+ name: "Unlock - Not enough balance",
208
+ transaction: t => ({
209
+ ...t,
210
+ mode: "unlock",
211
+ amount: new bignumber_js_1.default(200000000000000000),
212
+ }),
213
+ expectedStatus: () => {
214
+ return {
215
+ errors: {
216
+ amount: new errors_1.NotEnoughBalance(),
217
+ },
218
+ warnings: {},
219
+ };
220
+ },
221
+ },
222
+ {
223
+ name: "Vote - success",
224
+ transaction: t => ({
225
+ ...t,
226
+ mode: "vote",
227
+ useAllAmount: true,
228
+ recipient: VALIDATOR_ACCOUNT_1,
229
+ }),
230
+ expectedStatus: () => {
231
+ return {
232
+ errors: {},
233
+ warnings: {},
234
+ amount: new bignumber_js_1.default(100000000000000000),
235
+ };
236
+ },
237
+ },
238
+ {
239
+ name: "Vote - Not enough balance",
240
+ transaction: t => ({
241
+ ...t,
242
+ mode: "vote",
243
+ recipient: VALIDATOR_ACCOUNT_1,
244
+ amount: new bignumber_js_1.default(200000000000000000),
245
+ }),
246
+ expectedStatus: () => {
247
+ return {
248
+ errors: {
249
+ amount: new errors_1.NotEnoughBalance(),
250
+ },
251
+ warnings: {},
252
+ };
253
+ },
254
+ },
255
+ {
256
+ name: "Activate Vote - success",
257
+ transaction: t => ({
258
+ ...t,
259
+ mode: "activate",
260
+ recipient: VALIDATOR_ACCOUNT_1,
261
+ }),
262
+ expectedStatus: () => {
263
+ return {
264
+ errors: {},
265
+ warnings: {},
266
+ };
267
+ },
268
+ },
269
+ {
270
+ name: "Revoke Vote - success",
271
+ transaction: t => ({
272
+ ...t,
273
+ mode: "revoke",
274
+ recipient: VALIDATOR_ACCOUNT_1,
275
+ amount: new bignumber_js_1.default(9000000),
276
+ index: 0,
277
+ }),
278
+ expectedStatus: () => {
279
+ return {
280
+ errors: {},
281
+ warnings: {},
282
+ };
283
+ },
284
+ },
285
+ {
286
+ name: "Revoke Vote - Not enough balance",
287
+ transaction: t => ({
288
+ ...t,
289
+ mode: "revoke",
290
+ recipient: VALIDATOR_ACCOUNT_1,
291
+ amount: new bignumber_js_1.default(20000000000000000000),
292
+ index: 0,
293
+ }),
294
+ expectedStatus: () => {
295
+ return {
296
+ errors: {
297
+ amount: new errors_1.NotEnoughBalance(),
298
+ },
299
+ warnings: {},
300
+ };
301
+ },
302
+ },
303
+ {
304
+ name: "Revoke Vote - voted amount should be used when revoke amount is set",
305
+ transaction: t => ({
306
+ ...t,
307
+ mode: "revoke",
308
+ recipient: VALIDATOR_ACCOUNT_1,
309
+ useAllAmount: true,
310
+ index: 0,
311
+ }),
312
+ expectedStatus: () => {
313
+ return {
314
+ errors: {},
315
+ warnings: {},
316
+ };
317
+ },
318
+ },
319
+ ],
320
+ },
321
+ {
322
+ FIXME_tests: ["balance is sum of ops"],
323
+ raw: {
324
+ id: `js:2:celo:${LEDGER_CELO_ACCOUNT_2}:`,
325
+ seedIdentifier: "0453390dcc1e6f1be0fb34f837b278ed1b4c84097c7493c13a0d915c735af1d8aa445d2738a95e8f50bc22abd2e17cb868d4db22a623d99d861740eb93373d50a3",
326
+ name: "Celo 1",
327
+ derivationMode: "",
328
+ index: 0,
329
+ freshAddress: LEDGER_CELO_ACCOUNT_2,
330
+ freshAddressPath: "44'/52752'/0'/0/0",
331
+ blockHeight: 0,
332
+ operations: [],
333
+ pendingOperations: [],
334
+ currencyId: "celo",
335
+ lastSyncDate: "",
336
+ balance: "399893159500000000",
337
+ celoResources: {
338
+ registrationStatus: false,
339
+ lockedBalance: "0",
340
+ nonvotingLockedBalance: "0",
341
+ pendingWithdrawals: [],
342
+ votes: [],
343
+ electionAddress: "0x8D6677192144292870907E3Fa8A5527fE55A7ff6",
344
+ lockedGoldAddress: "0x6cC083Aed9e3ebe302A6336dBC7c921C9f03349E",
345
+ },
346
+ },
347
+ transactions: [
348
+ {
349
+ name: "Register Account - success",
350
+ transaction: t => ({
351
+ ...t,
352
+ mode: "register",
353
+ }),
354
+ expectedStatus: {
355
+ errors: {},
356
+ warnings: {},
357
+ },
358
+ },
359
+ ],
360
+ },
361
+ ],
362
+ };
363
+ exports.default = dataset;
364
+ //# 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":"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"}
@@ -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"}
package/lib/errors.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CeloAllFundsWarning = void 0;
4
+ const errors_1 = require("@ledgerhq/errors");
5
+ exports.CeloAllFundsWarning = (0, errors_1.createCustomErrorClass)("CeloAllFundsWarning");
6
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE7C,QAAA,mBAAmB,GAAG,IAAA,+BAAsB,EAAC,qBAAqB,CAAC,CAAC"}
package/lib/logic.d.ts ADDED
@@ -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"}
package/lib/logic.js ADDED
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getValidatorGroupsWithoutVotes = exports.getValidatorGroupsWithVotes = exports.getPendingStakingOperationAmounts = exports.isAccountRegistrationPending = exports.fallbackValidatorGroup = exports.voteStatus = exports.getVote = exports.hasRevokableVotes = exports.revokableVotes = exports.hasActivatableVotes = exports.activatableVotes = exports.isDefaultValidatorGroup = exports.isDefaultValidatorGroupAddress = exports.defaultValidatorGroupAddress = exports.hasWithdrawableBalance = exports.withdrawableBalance = exports.availablePendingWithdrawals = exports.PRELOAD_MAX_AGE = void 0;
4
+ const bignumber_js_1 = require("bignumber.js");
5
+ exports.PRELOAD_MAX_AGE = 10 * 60 * 1000; // 10 minutes, used for max age in preload strategy
6
+ const LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS = "0x0861a61Bf679A30680510EcC238ee43B82C5e843";
7
+ const availablePendingWithdrawals = (account) => {
8
+ const { pendingWithdrawals } = account.celoResources || {};
9
+ return (pendingWithdrawals || []).filter(withdrawal => new Date(withdrawal.time.toNumber() * 1000) < new Date());
10
+ };
11
+ exports.availablePendingWithdrawals = availablePendingWithdrawals;
12
+ const withdrawableBalance = (account) => (0, exports.availablePendingWithdrawals)(account).reduce((sum, withdrawal) => sum.plus(withdrawal.value), new bignumber_js_1.BigNumber(0));
13
+ exports.withdrawableBalance = withdrawableBalance;
14
+ const hasWithdrawableBalance = (account) => (0, exports.withdrawableBalance)(account).isGreaterThan(0);
15
+ exports.hasWithdrawableBalance = hasWithdrawableBalance;
16
+ const defaultValidatorGroupAddress = () => LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
17
+ exports.defaultValidatorGroupAddress = defaultValidatorGroupAddress;
18
+ const isDefaultValidatorGroupAddress = (address) => address === LEDGER_BY_FIGMENT_VALIDATOR_GROUP_ADDRESS;
19
+ exports.isDefaultValidatorGroupAddress = isDefaultValidatorGroupAddress;
20
+ const isDefaultValidatorGroup = (validatorGroup) => (0, exports.isDefaultValidatorGroupAddress)(validatorGroup.address);
21
+ exports.isDefaultValidatorGroup = isDefaultValidatorGroup;
22
+ const activatableVotes = (account) => {
23
+ const { votes } = account.celoResources || {};
24
+ return (votes || []).filter(vote => vote.activatable);
25
+ };
26
+ exports.activatableVotes = activatableVotes;
27
+ const hasActivatableVotes = (account) => (0, exports.activatableVotes)(account).length > 0;
28
+ exports.hasActivatableVotes = hasActivatableVotes;
29
+ const revokableVotes = (account) => {
30
+ const { votes } = account.celoResources || {};
31
+ return (votes || []).filter(vote => vote.revokable);
32
+ };
33
+ exports.revokableVotes = revokableVotes;
34
+ const hasRevokableVotes = (account) => (0, exports.revokableVotes)(account).length > 0;
35
+ exports.hasRevokableVotes = hasRevokableVotes;
36
+ const getVote = (account, validatorGroupAddress, index) => {
37
+ const { votes } = account.celoResources || {};
38
+ return votes?.find(revoke => revoke.validatorGroup === validatorGroupAddress && revoke.index == index);
39
+ };
40
+ exports.getVote = getVote;
41
+ const voteStatus = (vote) => vote.type === "pending" && vote.activatable ? "awaitingActivation" : vote.type;
42
+ exports.voteStatus = voteStatus;
43
+ const fallbackValidatorGroup = (address) => ({
44
+ address: address,
45
+ name: address,
46
+ votes: new bignumber_js_1.BigNumber(0),
47
+ });
48
+ exports.fallbackValidatorGroup = fallbackValidatorGroup;
49
+ const isAccountRegistrationPending = (account) => {
50
+ // If there's a pending "REGISTER" operation and the
51
+ // account's registration status is false, then
52
+ // we know that the account is truly not registered yet.
53
+ const isAccountRegistrationPending = !!account &&
54
+ account.pendingOperations.some(currentAccount => currentAccount.type === "REGISTER") &&
55
+ !account.celoResources?.registrationStatus;
56
+ return isAccountRegistrationPending;
57
+ };
58
+ exports.isAccountRegistrationPending = isAccountRegistrationPending;
59
+ const isOperationTrulyPending = (operation, activeOperations) => {
60
+ return !activeOperations.some(activeOperation => activeOperation.hash === operation.hash);
61
+ };
62
+ const getPendingStakingOperationAmounts = (account) => {
63
+ const operationAmounts = account.pendingOperations.reduce((acc, currentOperation) => {
64
+ if (currentOperation.type !== "VOTE" && currentOperation.type !== "LOCK") {
65
+ return acc;
66
+ }
67
+ if (isOperationTrulyPending(currentOperation, account.operations)) {
68
+ const value = new bignumber_js_1.BigNumber(currentOperation.value);
69
+ switch (currentOperation.type) {
70
+ case "VOTE":
71
+ return {
72
+ ...acc,
73
+ vote: acc.vote.plus(value),
74
+ };
75
+ case "LOCK":
76
+ return {
77
+ ...acc,
78
+ lock: acc.lock.plus(value),
79
+ };
80
+ }
81
+ }
82
+ return acc;
83
+ }, {
84
+ vote: new bignumber_js_1.BigNumber(0),
85
+ lock: new bignumber_js_1.BigNumber(0),
86
+ });
87
+ return operationAmounts;
88
+ };
89
+ exports.getPendingStakingOperationAmounts = getPendingStakingOperationAmounts;
90
+ const getValidatorGroupsByVotingActivity = (validatorGroups, votes, withVotes) => {
91
+ return validatorGroups.filter(v => votes.some(d => d.validatorGroup === v.address) === withVotes);
92
+ };
93
+ const getValidatorGroupsWithVotes = (validatorGroups, votes) => getValidatorGroupsByVotingActivity(validatorGroups, votes || [], true);
94
+ exports.getValidatorGroupsWithVotes = getValidatorGroupsWithVotes;
95
+ const getValidatorGroupsWithoutVotes = (validatorGroups, votes = []) => getValidatorGroupsByVotingActivity(validatorGroups, votes || [], false);
96
+ exports.getValidatorGroupsWithoutVotes = getValidatorGroupsWithoutVotes;
97
+ //# 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"}