@ledgerhq/coin-tron 0.0.1

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 (351) hide show
  1. package/.eslintrc.js +20 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/.unimportedrc.json +25 -0
  4. package/LICENSE.txt +21 -0
  5. package/jest.config.js +8 -0
  6. package/jest.integ.config.js +7 -0
  7. package/lib/bridge/broadcast.d.ts +7 -0
  8. package/lib/bridge/broadcast.d.ts.map +1 -0
  9. package/lib/bridge/broadcast.js +26 -0
  10. package/lib/bridge/broadcast.js.map +1 -0
  11. package/lib/bridge/buildOptimisticOperation.d.ts +5 -0
  12. package/lib/bridge/buildOptimisticOperation.d.ts.map +1 -0
  13. package/lib/bridge/buildOptimisticOperation.js +101 -0
  14. package/lib/bridge/buildOptimisticOperation.js.map +1 -0
  15. package/lib/bridge/createTransaction.d.ts +4 -0
  16. package/lib/bridge/createTransaction.d.ts.map +1 -0
  17. package/lib/bridge/createTransaction.js +19 -0
  18. package/lib/bridge/createTransaction.js.map +1 -0
  19. package/lib/bridge/deviceTransactionConfig.d.ts +20 -0
  20. package/lib/bridge/deviceTransactionConfig.d.ts.map +1 -0
  21. package/lib/bridge/deviceTransactionConfig.js +65 -0
  22. package/lib/bridge/deviceTransactionConfig.js.map +1 -0
  23. package/lib/bridge/estimateMaxSpendable.d.ts +5 -0
  24. package/lib/bridge/estimateMaxSpendable.d.ts.map +1 -0
  25. package/lib/bridge/estimateMaxSpendable.js +30 -0
  26. package/lib/bridge/estimateMaxSpendable.js.map +1 -0
  27. package/lib/bridge/getEstimateFees.d.ts +6 -0
  28. package/lib/bridge/getEstimateFees.d.ts.map +1 -0
  29. package/lib/bridge/getEstimateFees.js +52 -0
  30. package/lib/bridge/getEstimateFees.js.map +1 -0
  31. package/lib/bridge/getTransactionStatus.d.ts +4 -0
  32. package/lib/bridge/getTransactionStatus.d.ts.map +1 -0
  33. package/lib/bridge/getTransactionStatus.js +218 -0
  34. package/lib/bridge/getTransactionStatus.js.map +1 -0
  35. package/lib/bridge/index.d.ts +10 -0
  36. package/lib/bridge/index.d.ts.map +1 -0
  37. package/lib/bridge/index.js +60 -0
  38. package/lib/bridge/index.js.map +1 -0
  39. package/lib/bridge/preload.d.ts +8 -0
  40. package/lib/bridge/preload.d.ts.map +1 -0
  41. package/lib/bridge/preload.js +32 -0
  42. package/lib/bridge/preload.js.map +1 -0
  43. package/lib/bridge/prepareTransaction.d.ts +4 -0
  44. package/lib/bridge/prepareTransaction.d.ts.map +1 -0
  45. package/lib/bridge/prepareTransaction.js +19 -0
  46. package/lib/bridge/prepareTransaction.js.map +1 -0
  47. package/lib/bridge/serialization.d.ts +9 -0
  48. package/lib/bridge/serialization.d.ts.map +1 -0
  49. package/lib/bridge/serialization.js +238 -0
  50. package/lib/bridge/serialization.js.map +1 -0
  51. package/lib/bridge/signOperation.d.ts +5 -0
  52. package/lib/bridge/signOperation.d.ts.map +1 -0
  53. package/lib/bridge/signOperation.js +92 -0
  54. package/lib/bridge/signOperation.js.map +1 -0
  55. package/lib/bridge/synchronization.d.ts +5 -0
  56. package/lib/bridge/synchronization.d.ts.map +1 -0
  57. package/lib/bridge/synchronization.integ.test.d.ts +3 -0
  58. package/lib/bridge/synchronization.integ.test.d.ts.map +1 -0
  59. package/lib/bridge/synchronization.integ.test.js +96 -0
  60. package/lib/bridge/synchronization.integ.test.js.map +1 -0
  61. package/lib/bridge/synchronization.js +216 -0
  62. package/lib/bridge/synchronization.js.map +1 -0
  63. package/lib/bridge/transaction.d.ts +15 -0
  64. package/lib/bridge/transaction.d.ts.map +1 -0
  65. package/lib/bridge/transaction.js +61 -0
  66. package/lib/bridge/transaction.js.map +1 -0
  67. package/lib/config.d.ts +10 -0
  68. package/lib/config.d.ts.map +1 -0
  69. package/lib/config.js +17 -0
  70. package/lib/config.js.map +1 -0
  71. package/lib/index.d.ts +3 -0
  72. package/lib/index.d.ts.map +1 -0
  73. package/lib/index.js +21 -0
  74. package/lib/index.js.map +1 -0
  75. package/lib/logic/constants.d.ts +4 -0
  76. package/lib/logic/constants.d.ts.map +1 -0
  77. package/lib/logic/constants.js +7 -0
  78. package/lib/logic/constants.js.map +1 -0
  79. package/lib/logic/pagination.d.ts +3 -0
  80. package/lib/logic/pagination.d.ts.map +1 -0
  81. package/lib/logic/pagination.js +19 -0
  82. package/lib/logic/pagination.js.map +1 -0
  83. package/lib/logic/utils.d.ts +12 -0
  84. package/lib/logic/utils.d.ts.map +1 -0
  85. package/lib/logic/utils.js +177 -0
  86. package/lib/logic/utils.js.map +1 -0
  87. package/lib/network/format.d.ts +9 -0
  88. package/lib/network/format.d.ts.map +1 -0
  89. package/lib/network/format.js +127 -0
  90. package/lib/network/format.js.map +1 -0
  91. package/lib/network/index.d.ts +30 -0
  92. package/lib/network/index.d.ts.map +1 -0
  93. package/lib/network/index.integ.test.d.ts +2 -0
  94. package/lib/network/index.integ.test.d.ts.map +1 -0
  95. package/lib/network/index.integ.test.js +38 -0
  96. package/lib/network/index.integ.test.js.map +1 -0
  97. package/lib/network/index.js +555 -0
  98. package/lib/network/index.js.map +1 -0
  99. package/lib/network/index.test.d.ts +2 -0
  100. package/lib/network/index.test.d.ts.map +1 -0
  101. package/lib/network/index.test.js +66 -0
  102. package/lib/network/index.test.js.map +1 -0
  103. package/lib/network/superRepresentativesData.mock.d.ts +69 -0
  104. package/lib/network/superRepresentativesData.mock.d.ts.map +1 -0
  105. package/lib/network/superRepresentativesData.mock.js +2208 -0
  106. package/lib/network/superRepresentativesData.mock.js.map +1 -0
  107. package/lib/network/types.d.ts +122 -0
  108. package/lib/network/types.d.ts.map +1 -0
  109. package/lib/network/types.fixture.d.ts +498 -0
  110. package/lib/network/types.fixture.d.ts.map +1 -0
  111. package/lib/network/types.fixture.js +4375 -0
  112. package/lib/network/types.fixture.js.map +1 -0
  113. package/lib/network/types.js +13 -0
  114. package/lib/network/types.js.map +1 -0
  115. package/lib/signer/getAddress.d.ts +6 -0
  116. package/lib/signer/getAddress.d.ts.map +1 -0
  117. package/lib/signer/getAddress.js +19 -0
  118. package/lib/signer/getAddress.js.map +1 -0
  119. package/lib/signer/index.d.ts +6 -0
  120. package/lib/signer/index.d.ts.map +1 -0
  121. package/lib/signer/index.js +11 -0
  122. package/lib/signer/index.js.map +1 -0
  123. package/lib/test/bot-deviceActions.d.ts +4 -0
  124. package/lib/test/bot-deviceActions.d.ts.map +1 -0
  125. package/lib/test/bot-deviceActions.js +103 -0
  126. package/lib/test/bot-deviceActions.js.map +1 -0
  127. package/lib/test/bot-specs.d.ts +7 -0
  128. package/lib/test/bot-specs.d.ts.map +1 -0
  129. package/lib/test/bot-specs.js +433 -0
  130. package/lib/test/bot-specs.js.map +1 -0
  131. package/lib/test/bridgeDatasetTest.d.ts +4 -0
  132. package/lib/test/bridgeDatasetTest.d.ts.map +1 -0
  133. package/lib/test/bridgeDatasetTest.js +1284 -0
  134. package/lib/test/bridgeDatasetTest.js.map +1 -0
  135. package/lib/test/cli.d.ts +52 -0
  136. package/lib/test/cli.d.ts.map +1 -0
  137. package/lib/test/cli.js +155 -0
  138. package/lib/test/cli.js.map +1 -0
  139. package/lib/test/index.d.ts +6 -0
  140. package/lib/test/index.d.ts.map +1 -0
  141. package/lib/test/index.js +26 -0
  142. package/lib/test/index.js.map +1 -0
  143. package/lib/types/bridge.d.ts +245 -0
  144. package/lib/types/bridge.d.ts.map +1 -0
  145. package/lib/types/bridge.js +16 -0
  146. package/lib/types/bridge.js.map +1 -0
  147. package/lib/types/errors.d.ts +49 -0
  148. package/lib/types/errors.d.ts.map +1 -0
  149. package/lib/types/errors.js +21 -0
  150. package/lib/types/errors.js.map +1 -0
  151. package/lib/types/index.d.ts +4 -0
  152. package/lib/types/index.d.ts.map +1 -0
  153. package/lib/types/index.js +21 -0
  154. package/lib/types/index.js.map +1 -0
  155. package/lib/types/signer.d.ts +10 -0
  156. package/lib/types/signer.d.ts.map +1 -0
  157. package/lib/types/signer.js +3 -0
  158. package/lib/types/signer.js.map +1 -0
  159. package/lib-es/bridge/broadcast.d.ts +7 -0
  160. package/lib-es/bridge/broadcast.d.ts.map +1 -0
  161. package/lib-es/bridge/broadcast.js +24 -0
  162. package/lib-es/bridge/broadcast.js.map +1 -0
  163. package/lib-es/bridge/buildOptimisticOperation.d.ts +5 -0
  164. package/lib-es/bridge/buildOptimisticOperation.d.ts.map +1 -0
  165. package/lib-es/bridge/buildOptimisticOperation.js +94 -0
  166. package/lib-es/bridge/buildOptimisticOperation.js.map +1 -0
  167. package/lib-es/bridge/createTransaction.d.ts +4 -0
  168. package/lib-es/bridge/createTransaction.d.ts.map +1 -0
  169. package/lib-es/bridge/createTransaction.js +14 -0
  170. package/lib-es/bridge/createTransaction.js.map +1 -0
  171. package/lib-es/bridge/deviceTransactionConfig.d.ts +20 -0
  172. package/lib-es/bridge/deviceTransactionConfig.d.ts.map +1 -0
  173. package/lib-es/bridge/deviceTransactionConfig.js +63 -0
  174. package/lib-es/bridge/deviceTransactionConfig.js.map +1 -0
  175. package/lib-es/bridge/estimateMaxSpendable.d.ts +5 -0
  176. package/lib-es/bridge/estimateMaxSpendable.d.ts.map +1 -0
  177. package/lib-es/bridge/estimateMaxSpendable.js +25 -0
  178. package/lib-es/bridge/estimateMaxSpendable.js.map +1 -0
  179. package/lib-es/bridge/getEstimateFees.d.ts +6 -0
  180. package/lib-es/bridge/getEstimateFees.d.ts.map +1 -0
  181. package/lib-es/bridge/getEstimateFees.js +47 -0
  182. package/lib-es/bridge/getEstimateFees.js.map +1 -0
  183. package/lib-es/bridge/getTransactionStatus.d.ts +4 -0
  184. package/lib-es/bridge/getTransactionStatus.d.ts.map +1 -0
  185. package/lib-es/bridge/getTransactionStatus.js +213 -0
  186. package/lib-es/bridge/getTransactionStatus.js.map +1 -0
  187. package/lib-es/bridge/index.d.ts +10 -0
  188. package/lib-es/bridge/index.d.ts.map +1 -0
  189. package/lib-es/bridge/index.js +53 -0
  190. package/lib-es/bridge/index.js.map +1 -0
  191. package/lib-es/bridge/preload.d.ts +8 -0
  192. package/lib-es/bridge/preload.d.ts.map +1 -0
  193. package/lib-es/bridge/preload.js +27 -0
  194. package/lib-es/bridge/preload.js.map +1 -0
  195. package/lib-es/bridge/prepareTransaction.d.ts +4 -0
  196. package/lib-es/bridge/prepareTransaction.d.ts.map +1 -0
  197. package/lib-es/bridge/prepareTransaction.js +15 -0
  198. package/lib-es/bridge/prepareTransaction.js.map +1 -0
  199. package/lib-es/bridge/serialization.d.ts +9 -0
  200. package/lib-es/bridge/serialization.d.ts.map +1 -0
  201. package/lib-es/bridge/serialization.js +229 -0
  202. package/lib-es/bridge/serialization.js.map +1 -0
  203. package/lib-es/bridge/signOperation.d.ts +5 -0
  204. package/lib-es/bridge/signOperation.d.ts.map +1 -0
  205. package/lib-es/bridge/signOperation.js +85 -0
  206. package/lib-es/bridge/signOperation.js.map +1 -0
  207. package/lib-es/bridge/synchronization.d.ts +5 -0
  208. package/lib-es/bridge/synchronization.d.ts.map +1 -0
  209. package/lib-es/bridge/synchronization.integ.test.d.ts +3 -0
  210. package/lib-es/bridge/synchronization.integ.test.d.ts.map +1 -0
  211. package/lib-es/bridge/synchronization.integ.test.js +89 -0
  212. package/lib-es/bridge/synchronization.integ.test.js.map +1 -0
  213. package/lib-es/bridge/synchronization.js +209 -0
  214. package/lib-es/bridge/synchronization.js.map +1 -0
  215. package/lib-es/bridge/transaction.d.ts +15 -0
  216. package/lib-es/bridge/transaction.d.ts.map +1 -0
  217. package/lib-es/bridge/transaction.js +55 -0
  218. package/lib-es/bridge/transaction.js.map +1 -0
  219. package/lib-es/config.d.ts +10 -0
  220. package/lib-es/config.d.ts.map +1 -0
  221. package/lib-es/config.js +12 -0
  222. package/lib-es/config.js.map +1 -0
  223. package/lib-es/index.d.ts +3 -0
  224. package/lib-es/index.d.ts.map +1 -0
  225. package/lib-es/index.js +3 -0
  226. package/lib-es/index.js.map +1 -0
  227. package/lib-es/logic/constants.d.ts +4 -0
  228. package/lib-es/logic/constants.d.ts.map +1 -0
  229. package/lib-es/logic/constants.js +4 -0
  230. package/lib-es/logic/constants.js.map +1 -0
  231. package/lib-es/logic/pagination.d.ts +3 -0
  232. package/lib-es/logic/pagination.d.ts.map +1 -0
  233. package/lib-es/logic/pagination.js +15 -0
  234. package/lib-es/logic/pagination.js.map +1 -0
  235. package/lib-es/logic/utils.d.ts +12 -0
  236. package/lib-es/logic/utils.d.ts.map +1 -0
  237. package/lib-es/logic/utils.js +167 -0
  238. package/lib-es/logic/utils.js.map +1 -0
  239. package/lib-es/network/format.d.ts +9 -0
  240. package/lib-es/network/format.d.ts.map +1 -0
  241. package/lib-es/network/format.js +117 -0
  242. package/lib-es/network/format.js.map +1 -0
  243. package/lib-es/network/index.d.ts +30 -0
  244. package/lib-es/network/index.d.ts.map +1 -0
  245. package/lib-es/network/index.integ.test.d.ts +2 -0
  246. package/lib-es/network/index.integ.test.d.ts.map +1 -0
  247. package/lib-es/network/index.integ.test.js +36 -0
  248. package/lib-es/network/index.integ.test.js.map +1 -0
  249. package/lib-es/network/index.js +524 -0
  250. package/lib-es/network/index.js.map +1 -0
  251. package/lib-es/network/index.test.d.ts +2 -0
  252. package/lib-es/network/index.test.d.ts.map +1 -0
  253. package/lib-es/network/index.test.js +63 -0
  254. package/lib-es/network/index.test.js.map +1 -0
  255. package/lib-es/network/superRepresentativesData.mock.d.ts +69 -0
  256. package/lib-es/network/superRepresentativesData.mock.d.ts.map +1 -0
  257. package/lib-es/network/superRepresentativesData.mock.js +2206 -0
  258. package/lib-es/network/superRepresentativesData.mock.js.map +1 -0
  259. package/lib-es/network/types.d.ts +122 -0
  260. package/lib-es/network/types.d.ts.map +1 -0
  261. package/lib-es/network/types.fixture.d.ts +498 -0
  262. package/lib-es/network/types.fixture.d.ts.map +1 -0
  263. package/lib-es/network/types.fixture.js +4371 -0
  264. package/lib-es/network/types.fixture.js.map +1 -0
  265. package/lib-es/network/types.js +8 -0
  266. package/lib-es/network/types.js.map +1 -0
  267. package/lib-es/signer/getAddress.d.ts +6 -0
  268. package/lib-es/signer/getAddress.d.ts.map +1 -0
  269. package/lib-es/signer/getAddress.js +17 -0
  270. package/lib-es/signer/getAddress.js.map +1 -0
  271. package/lib-es/signer/index.d.ts +6 -0
  272. package/lib-es/signer/index.d.ts.map +1 -0
  273. package/lib-es/signer/index.js +6 -0
  274. package/lib-es/signer/index.js.map +1 -0
  275. package/lib-es/test/bot-deviceActions.d.ts +4 -0
  276. package/lib-es/test/bot-deviceActions.d.ts.map +1 -0
  277. package/lib-es/test/bot-deviceActions.js +100 -0
  278. package/lib-es/test/bot-deviceActions.js.map +1 -0
  279. package/lib-es/test/bot-specs.d.ts +7 -0
  280. package/lib-es/test/bot-specs.d.ts.map +1 -0
  281. package/lib-es/test/bot-specs.js +428 -0
  282. package/lib-es/test/bot-specs.js.map +1 -0
  283. package/lib-es/test/bridgeDatasetTest.d.ts +4 -0
  284. package/lib-es/test/bridgeDatasetTest.d.ts.map +1 -0
  285. package/lib-es/test/bridgeDatasetTest.js +1278 -0
  286. package/lib-es/test/bridgeDatasetTest.js.map +1 -0
  287. package/lib-es/test/cli.d.ts +52 -0
  288. package/lib-es/test/cli.d.ts.map +1 -0
  289. package/lib-es/test/cli.js +149 -0
  290. package/lib-es/test/cli.js.map +1 -0
  291. package/lib-es/test/index.d.ts +6 -0
  292. package/lib-es/test/index.d.ts.map +1 -0
  293. package/lib-es/test/index.js +6 -0
  294. package/lib-es/test/index.js.map +1 -0
  295. package/lib-es/types/bridge.d.ts +245 -0
  296. package/lib-es/types/bridge.d.ts.map +1 -0
  297. package/lib-es/types/bridge.js +11 -0
  298. package/lib-es/types/bridge.js.map +1 -0
  299. package/lib-es/types/errors.d.ts +49 -0
  300. package/lib-es/types/errors.d.ts.map +1 -0
  301. package/lib-es/types/errors.js +18 -0
  302. package/lib-es/types/errors.js.map +1 -0
  303. package/lib-es/types/index.d.ts +4 -0
  304. package/lib-es/types/index.d.ts.map +1 -0
  305. package/lib-es/types/index.js +5 -0
  306. package/lib-es/types/index.js.map +1 -0
  307. package/lib-es/types/signer.d.ts +10 -0
  308. package/lib-es/types/signer.d.ts.map +1 -0
  309. package/lib-es/types/signer.js +2 -0
  310. package/lib-es/types/signer.js.map +1 -0
  311. package/package.json +133 -0
  312. package/src/bridge/broadcast.ts +24 -0
  313. package/src/bridge/buildOptimisticOperation.ts +133 -0
  314. package/src/bridge/createTransaction.ts +16 -0
  315. package/src/bridge/deviceTransactionConfig.ts +99 -0
  316. package/src/bridge/estimateMaxSpendable.ts +32 -0
  317. package/src/bridge/getEstimateFees.ts +52 -0
  318. package/src/bridge/getTransactionStatus.ts +263 -0
  319. package/src/bridge/index.ts +78 -0
  320. package/src/bridge/preload.ts +24 -0
  321. package/src/bridge/prepareTransaction.ts +12 -0
  322. package/src/bridge/serialization.ts +288 -0
  323. package/src/bridge/signOperation.ts +123 -0
  324. package/src/bridge/synchronization.integ.test.ts +105 -0
  325. package/src/bridge/synchronization.ts +284 -0
  326. package/src/bridge/transaction.ts +84 -0
  327. package/src/config.ts +24 -0
  328. package/src/index.ts +3 -0
  329. package/src/logic/constants.ts +4 -0
  330. package/src/logic/pagination.ts +21 -0
  331. package/src/logic/utils.ts +231 -0
  332. package/src/network/format.ts +148 -0
  333. package/src/network/index.integ.test.ts +33 -0
  334. package/src/network/index.test.ts +61 -0
  335. package/src/network/index.ts +747 -0
  336. package/src/network/superRepresentativesData.mock.ts +2205 -0
  337. package/src/network/types.fixture.ts +4476 -0
  338. package/src/network/types.ts +147 -0
  339. package/src/signer/getAddress.ts +13 -0
  340. package/src/signer/index.ts +7 -0
  341. package/src/test/bot-deviceActions.ts +121 -0
  342. package/src/test/bot-specs.ts +457 -0
  343. package/src/test/bridgeDatasetTest.ts +1343 -0
  344. package/src/test/cli.ts +219 -0
  345. package/src/test/index.ts +6 -0
  346. package/src/types/bridge.ts +304 -0
  347. package/src/types/errors.ts +22 -0
  348. package/src/types/index.ts +4 -0
  349. package/src/types/signer.ts +9 -0
  350. package/tsconfig.json +14 -0
  351. package/types/tronweb/index.d.ts +5 -0
@@ -0,0 +1,555 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.claimRewardTronTransaction = exports.getUnwithdrawnReward = exports.getTronResources = exports.voteTronSuperRepresentatives = exports.getTronSuperRepresentativeData = exports.getNextVotingDate = exports.hydrateSuperRepresentatives = exports.getTronSuperRepresentatives = exports.getBrokerage = exports.getAccountName = exports.validateAddress = exports.getTronAccountNetwork = exports.fetchTronContract = exports.getContractUserEnergyRatioConsumption = exports.fetchTronAccountTxs = exports.fetchCurrentBlockHeight = exports.fetchTronAccount = exports.broadcastTron = exports.createTronTransaction = exports.getDelegatedResource = exports.legacyUnfreezeTronTransaction = exports.unDelegateResourceTransaction = exports.withdrawExpireUnfreezeTronTransaction = exports.unfreezeTronTransaction = exports.freezeTronTransaction = void 0;
16
+ const cache_1 = require("@ledgerhq/live-network/cache");
17
+ const live_network_1 = __importDefault(require("@ledgerhq/live-network"));
18
+ const live_promise_1 = require("@ledgerhq/live-promise");
19
+ const logs_1 = require("@ledgerhq/logs");
20
+ const bignumber_js_1 = require("bignumber.js");
21
+ const compact_1 = __importDefault(require("lodash/compact"));
22
+ const drop_1 = __importDefault(require("lodash/drop"));
23
+ const get_1 = __importDefault(require("lodash/get"));
24
+ const sumBy_1 = __importDefault(require("lodash/sumBy"));
25
+ const take_1 = __importDefault(require("lodash/take"));
26
+ const tronweb_1 = __importDefault(require("tronweb"));
27
+ const errors_1 = require("../types/errors");
28
+ const config_1 = require("../config");
29
+ const utils_1 = require("../logic/utils");
30
+ const format_1 = require("./format");
31
+ const types_1 = require("./types");
32
+ const querystring_1 = require("querystring");
33
+ const getBaseApiUrl = () => (0, config_1.getCoinConfig)().explorer.url;
34
+ function post(endPoint, body) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const { data } = yield (0, live_network_1.default)({
37
+ method: "POST",
38
+ url: `${getBaseApiUrl()}${endPoint}`,
39
+ data: body,
40
+ });
41
+ // Ugly but trongrid send a 200 status event if there are errors
42
+ if ("Error" in data) {
43
+ (0, logs_1.log)("tron-error", (0, querystring_1.stringify)(data.Error), {
44
+ endPoint,
45
+ body,
46
+ });
47
+ throw new Error((0, querystring_1.stringify)(data.Error));
48
+ }
49
+ return data;
50
+ });
51
+ }
52
+ function fetch(endPoint) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return fetchWithBaseUrl(`${getBaseApiUrl()}${endPoint}`);
55
+ });
56
+ }
57
+ function fetchWithBaseUrl(url) {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ const { data } = yield (0, live_network_1.default)({ url });
60
+ // Ugly but trongrid send a 200 status event if there are errors
61
+ if ("Error" in data) {
62
+ (0, logs_1.log)("tron-error", (0, querystring_1.stringify)(data.Error), {
63
+ url,
64
+ });
65
+ throw new Error((0, querystring_1.stringify)(data.Error));
66
+ }
67
+ return data;
68
+ });
69
+ }
70
+ const freezeTronTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
71
+ const txData = {
72
+ frozen_balance: transaction.amount.toNumber(),
73
+ resource: transaction.resource,
74
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
75
+ };
76
+ const url = `/wallet/freezebalancev2`;
77
+ const result = yield post(url, txData);
78
+ return result;
79
+ });
80
+ exports.freezeTronTransaction = freezeTronTransaction;
81
+ const unfreezeTronTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
82
+ const txData = {
83
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
84
+ resource: transaction.resource,
85
+ unfreeze_balance: transaction.amount.toNumber(),
86
+ };
87
+ const url = `/wallet/unfreezebalancev2`;
88
+ const result = yield post(url, txData);
89
+ return result;
90
+ });
91
+ exports.unfreezeTronTransaction = unfreezeTronTransaction;
92
+ const withdrawExpireUnfreezeTronTransaction = (account, _transaction) => __awaiter(void 0, void 0, void 0, function* () {
93
+ const txData = {
94
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
95
+ };
96
+ const url = `/wallet/withdrawexpireunfreeze`;
97
+ const result = yield post(url, txData);
98
+ return result;
99
+ });
100
+ exports.withdrawExpireUnfreezeTronTransaction = withdrawExpireUnfreezeTronTransaction;
101
+ const unDelegateResourceTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
102
+ const txData = {
103
+ balance: transaction.amount.toNumber(),
104
+ resource: transaction.resource,
105
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
106
+ receiver_address: (0, format_1.decode58Check)(transaction.recipient),
107
+ };
108
+ const url = `/wallet/undelegateresource`;
109
+ const result = yield post(url, txData);
110
+ return result;
111
+ });
112
+ exports.unDelegateResourceTransaction = unDelegateResourceTransaction;
113
+ const legacyUnfreezeTronTransaction = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
114
+ const txData = {
115
+ resource: transaction.resource,
116
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
117
+ receiver_address: transaction.recipient ? (0, format_1.decode58Check)(transaction.recipient) : undefined,
118
+ };
119
+ const url = `/wallet/unfreezebalance`;
120
+ const result = yield post(url, txData);
121
+ return result;
122
+ });
123
+ exports.legacyUnfreezeTronTransaction = legacyUnfreezeTronTransaction;
124
+ function getDelegatedResource(account, transaction, resource) {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ const url = `/wallet/getdelegatedresourcev2`;
127
+ const { delegatedResource = [], } = yield post(url, {
128
+ fromAddress: (0, format_1.decode58Check)(account.freshAddress),
129
+ toAddress: (0, format_1.decode58Check)(transaction.recipient),
130
+ });
131
+ const { frozen_balance_for_bandwidth, frozen_balance_for_energy } = delegatedResource.reduce((accum, cur) => {
132
+ if (cur.frozen_balance_for_bandwidth) {
133
+ accum.frozen_balance_for_bandwidth += cur.frozen_balance_for_bandwidth;
134
+ }
135
+ if (cur.frozen_balance_for_energy) {
136
+ accum.frozen_balance_for_energy += cur.frozen_balance_for_energy;
137
+ }
138
+ return accum;
139
+ }, { frozen_balance_for_bandwidth: 0, frozen_balance_for_energy: 0 });
140
+ const amount = resource === "BANDWIDTH" ? frozen_balance_for_bandwidth : frozen_balance_for_energy;
141
+ return new bignumber_js_1.BigNumber(amount);
142
+ });
143
+ }
144
+ exports.getDelegatedResource = getDelegatedResource;
145
+ // Send trx or trc10/trc20 tokens
146
+ const createTronTransaction = (account, transaction, subAccount) => __awaiter(void 0, void 0, void 0, function* () {
147
+ const [tokenType, tokenId] = subAccount && subAccount.type === "TokenAccount"
148
+ ? (0, drop_1.default)(subAccount.token.id.split("/"), 1)
149
+ : [undefined, undefined];
150
+ // trc20
151
+ if (tokenType === "trc20" && tokenId) {
152
+ const tokenContractAddress = subAccount.token.contractAddress;
153
+ const txData = {
154
+ function_selector: "transfer(address,uint256)",
155
+ fee_limit: 50000000,
156
+ call_value: 0,
157
+ contract_address: (0, format_1.decode58Check)(tokenContractAddress),
158
+ parameter: (0, utils_1.abiEncodeTrc20Transfer)((0, format_1.decode58Check)(transaction.recipient), transaction.amount),
159
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
160
+ };
161
+ const url = `/wallet/triggersmartcontract`;
162
+ const { transaction: preparedTransaction } = yield post(url, txData);
163
+ return extendTronTxExpirationTimeBy10mn(preparedTransaction);
164
+ }
165
+ else {
166
+ // trx/trc10
167
+ const txData = {
168
+ to_address: (0, format_1.decode58Check)(transaction.recipient),
169
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
170
+ amount: transaction.amount.toNumber(),
171
+ asset_name: tokenId && Buffer.from(tokenId).toString("hex"),
172
+ };
173
+ const url = subAccount ? `/wallet/transferasset` : `/wallet/createtransaction`;
174
+ const preparedTransaction = yield post(url, txData);
175
+ // for the ledger Vault we need to increase the expiration
176
+ return extendTronTxExpirationTimeBy10mn(preparedTransaction);
177
+ }
178
+ });
179
+ exports.createTronTransaction = createTronTransaction;
180
+ function extendTronTxExpirationTimeBy10mn(preparedTransaction) {
181
+ const VAULT_EXPIRATION_TIME = 600;
182
+ const HttpProvider = tronweb_1.default.providers.HttpProvider;
183
+ const fullNode = new HttpProvider(getBaseApiUrl());
184
+ const solidityNode = new HttpProvider(getBaseApiUrl());
185
+ const eventServer = new HttpProvider(getBaseApiUrl());
186
+ const tronWeb = new tronweb_1.default(fullNode, solidityNode, eventServer);
187
+ //FIXME: test it and rewrite it
188
+ return tronWeb.transactionBuilder.extendExpiration(preparedTransaction, VAULT_EXPIRATION_TIME);
189
+ }
190
+ const broadcastTron = (trxTransaction) => __awaiter(void 0, void 0, void 0, function* () {
191
+ const result = yield post(`/wallet/broadcasttransaction`, trxTransaction);
192
+ if (result.code === "TRANSACTION_EXPIRATION_ERROR") {
193
+ throw new errors_1.TronTransactionExpired();
194
+ }
195
+ return result;
196
+ });
197
+ exports.broadcastTron = broadcastTron;
198
+ function fetchTronAccount(addr) {
199
+ return __awaiter(this, void 0, void 0, function* () {
200
+ try {
201
+ const data = yield fetch(`/v1/accounts/${addr}`);
202
+ return data.data;
203
+ }
204
+ catch (e) {
205
+ return [];
206
+ }
207
+ });
208
+ }
209
+ exports.fetchTronAccount = fetchTronAccount;
210
+ function fetchCurrentBlockHeight() {
211
+ return __awaiter(this, void 0, void 0, function* () {
212
+ const data = yield fetch(`/wallet/getnowblock`);
213
+ return data.block_header.raw_data.number;
214
+ });
215
+ }
216
+ exports.fetchCurrentBlockHeight = fetchCurrentBlockHeight;
217
+ // For the moment, fetching transaction info is the only way to get fees from a transaction
218
+ function fetchTronTxDetail(txId) {
219
+ return __awaiter(this, void 0, void 0, function* () {
220
+ const { fee, blockNumber, withdraw_amount, unfreeze_amount } = yield fetch(`/wallet/gettransactioninfobyid?value=${encodeURIComponent(txId)}`);
221
+ return {
222
+ fee,
223
+ blockNumber,
224
+ withdraw_amount,
225
+ unfreeze_amount,
226
+ };
227
+ });
228
+ }
229
+ function getAllTransactions(initialUrl, shouldFetchMoreTxs, getTxs) {
230
+ return __awaiter(this, void 0, void 0, function* () {
231
+ let all = [];
232
+ let url = initialUrl;
233
+ while (url && shouldFetchMoreTxs(all)) {
234
+ const { nextUrl, results } = yield getTxs(url);
235
+ url = nextUrl;
236
+ all = all.concat(results);
237
+ }
238
+ return all;
239
+ });
240
+ }
241
+ const getTransactions = (cacheTransactionInfoById) => (url) => __awaiter(void 0, void 0, void 0, function* () {
242
+ var _a;
243
+ const transactions = yield fetchWithBaseUrl(url);
244
+ const nextUrl = (_a = transactions.meta.links) === null || _a === void 0 ? void 0 : _a.next;
245
+ const results = yield (0, live_promise_1.promiseAllBatched)(3, transactions.data || [], (tx) => __awaiter(void 0, void 0, void 0, function* () {
246
+ if ((0, types_1.isMalformedTransactionTronAPI)(tx)) {
247
+ return tx;
248
+ }
249
+ const txID = tx.txID;
250
+ const detail = cacheTransactionInfoById[txID] || (yield fetchTronTxDetail(txID));
251
+ cacheTransactionInfoById[txID] = detail;
252
+ return Object.assign(Object.assign({}, tx), { detail });
253
+ }));
254
+ return {
255
+ results,
256
+ nextUrl,
257
+ };
258
+ });
259
+ const getTrc20 = (url) => __awaiter(void 0, void 0, void 0, function* () {
260
+ var _b;
261
+ const transactions = yield fetchWithBaseUrl(url);
262
+ return {
263
+ results: transactions.data,
264
+ nextUrl: (_b = transactions.meta.links) === null || _b === void 0 ? void 0 : _b.next,
265
+ };
266
+ });
267
+ function fetchTronAccountTxs(addr, shouldFetchMoreTxs, cacheTransactionInfoById) {
268
+ return __awaiter(this, void 0, void 0, function* () {
269
+ const entireTxs = (yield getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions?limit=100`, shouldFetchMoreTxs, getTransactions(cacheTransactionInfoById)))
270
+ .filter((tx) => (0, types_1.isTransactionTronAPI)(tx))
271
+ .filter(tx => {
272
+ // custom smart contract tx has internal txs
273
+ const hasInternalTxs = tx.txID && tx.internal_transactions && tx.internal_transactions.length > 0;
274
+ // and also a duplicated malformed tx that we have to ignore
275
+ const isDuplicated = tx.tx_id;
276
+ const type = tx.raw_data.contract[0].type;
277
+ if (hasInternalTxs) {
278
+ // log once
279
+ (0, logs_1.log)("tron-error", `unsupported transaction ${tx.txID}`);
280
+ }
281
+ return !isDuplicated && !hasInternalTxs && type !== "TriggerSmartContract";
282
+ })
283
+ .map(tx => (0, format_1.formatTrongridTxResponse)(tx));
284
+ // we need to fetch and filter trc20 transactions from another endpoint
285
+ const entireTrc20Txs = (yield getAllTransactions(`${getBaseApiUrl()}/v1/accounts/${addr}/transactions/trc20?get_detail=true`, shouldFetchMoreTxs, getTrc20)).map(tx => (0, format_1.formatTrongridTrc20TxResponse)(tx));
286
+ const txInfos = (0, compact_1.default)(entireTxs.concat(entireTrc20Txs)).sort((a, b) => b.date.getTime() - a.date.getTime());
287
+ return txInfos;
288
+ });
289
+ }
290
+ exports.fetchTronAccountTxs = fetchTronAccountTxs;
291
+ const getContractUserEnergyRatioConsumption = (address) => __awaiter(void 0, void 0, void 0, function* () {
292
+ const result = yield (0, exports.fetchTronContract)(address);
293
+ if (result) {
294
+ const { consume_user_resource_percent } = result;
295
+ return consume_user_resource_percent;
296
+ }
297
+ return 0;
298
+ });
299
+ exports.getContractUserEnergyRatioConsumption = getContractUserEnergyRatioConsumption;
300
+ const fetchTronContract = (addr) => __awaiter(void 0, void 0, void 0, function* () {
301
+ try {
302
+ const data = yield post(`/wallet/getcontract`, {
303
+ value: (0, format_1.decode58Check)(addr),
304
+ });
305
+ return Object.keys(data).length !== 0 ? data : undefined;
306
+ }
307
+ catch (e) {
308
+ return undefined;
309
+ }
310
+ });
311
+ exports.fetchTronContract = fetchTronContract;
312
+ const getTronAccountNetwork = (address) => __awaiter(void 0, void 0, void 0, function* () {
313
+ const result = yield fetch(`/wallet/getaccountresource?address=${encodeURIComponent((0, format_1.decode58Check)(address))}`);
314
+ const { freeNetUsed = 0, freeNetLimit = 0, NetUsed = 0, NetLimit = 0, EnergyUsed = 0, EnergyLimit = 0, } = result;
315
+ return {
316
+ family: "tron",
317
+ freeNetUsed: new bignumber_js_1.BigNumber(freeNetUsed),
318
+ freeNetLimit: new bignumber_js_1.BigNumber(freeNetLimit),
319
+ netUsed: new bignumber_js_1.BigNumber(NetUsed),
320
+ netLimit: new bignumber_js_1.BigNumber(NetLimit),
321
+ energyUsed: new bignumber_js_1.BigNumber(EnergyUsed),
322
+ energyLimit: new bignumber_js_1.BigNumber(EnergyLimit),
323
+ };
324
+ });
325
+ exports.getTronAccountNetwork = getTronAccountNetwork;
326
+ const validateAddress = (address) => __awaiter(void 0, void 0, void 0, function* () {
327
+ try {
328
+ const result = yield post(`/wallet/validateaddress`, {
329
+ address: (0, format_1.decode58Check)(address),
330
+ });
331
+ return result.result || false;
332
+ }
333
+ catch (e) {
334
+ // FIXME we should not silent errors!
335
+ (0, logs_1.log)("tron-error", "validateAddress fails with " + e.message, {
336
+ address,
337
+ });
338
+ return false;
339
+ }
340
+ });
341
+ exports.validateAddress = validateAddress;
342
+ // cache for account names (name is unchanged over time)
343
+ const accountNamesCache = (0, cache_1.makeLRUCache)((addr) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports.getAccountName)(addr); }), (addr) => addr, (0, cache_1.hours)(3, 300));
344
+ // cache for super representative brokerages (brokerage is unchanged over time)
345
+ const srBrokeragesCache = (0, cache_1.makeLRUCache)((addr) => __awaiter(void 0, void 0, void 0, function* () { return (0, exports.getBrokerage)(addr); }), (addr) => addr, (0, cache_1.hours)(3, 300));
346
+ const getAccountName = (addr) => __awaiter(void 0, void 0, void 0, function* () {
347
+ const tronAcc = yield fetchTronAccount(addr);
348
+ const acc = tronAcc[0];
349
+ const accountName = acc && acc.account_name ? (0, utils_1.hexToAscii)(acc.account_name) : undefined;
350
+ accountNamesCache.hydrate(addr, accountName); // put it in cache
351
+ return accountName;
352
+ });
353
+ exports.getAccountName = getAccountName;
354
+ const getBrokerage = (addr) => __awaiter(void 0, void 0, void 0, function* () {
355
+ const { brokerage } = yield fetch(`/wallet/getBrokerage?address=${encodeURIComponent(addr)}`);
356
+ srBrokeragesCache.hydrate(addr, brokerage); // put it in cache
357
+ return brokerage;
358
+ });
359
+ exports.getBrokerage = getBrokerage;
360
+ const superRepresentativesCache = (0, cache_1.makeLRUCache)(() => __awaiter(void 0, void 0, void 0, function* () {
361
+ const superRepresentatives = yield fetchSuperRepresentatives();
362
+ (0, logs_1.log)("tron/superRepresentatives", "loaded " + superRepresentatives.length + " super representatives");
363
+ return superRepresentatives;
364
+ }), () => "", (0, cache_1.hours)(1, 300));
365
+ const getTronSuperRepresentatives = () => __awaiter(void 0, void 0, void 0, function* () {
366
+ return yield superRepresentativesCache();
367
+ });
368
+ exports.getTronSuperRepresentatives = getTronSuperRepresentatives;
369
+ const hydrateSuperRepresentatives = (list) => {
370
+ (0, logs_1.log)("tron/superRepresentatives", "hydrate " + list.length + " super representatives");
371
+ superRepresentativesCache.hydrate("", list);
372
+ };
373
+ exports.hydrateSuperRepresentatives = hydrateSuperRepresentatives;
374
+ const fetchSuperRepresentatives = () => __awaiter(void 0, void 0, void 0, function* () {
375
+ const result = yield fetch(`/wallet/listwitnesses`);
376
+ const sorted = result.witnesses.sort((a, b) => b.voteCount - a.voteCount);
377
+ const superRepresentatives = yield (0, live_promise_1.promiseAllBatched)(3, sorted, (w) => __awaiter(void 0, void 0, void 0, function* () {
378
+ const encodedAddress = (0, format_1.encode58Check)(w.address);
379
+ const accountName = yield accountNamesCache(encodedAddress);
380
+ const brokerage = yield srBrokeragesCache(encodedAddress);
381
+ return Object.assign(Object.assign({}, w), { address: encodedAddress, name: accountName, brokerage, voteCount: w.voteCount || 0, isJobs: w.isJobs || false });
382
+ }));
383
+ (0, exports.hydrateSuperRepresentatives)(superRepresentatives); // put it in cache
384
+ return superRepresentatives;
385
+ });
386
+ const getNextVotingDate = () => __awaiter(void 0, void 0, void 0, function* () {
387
+ const { num } = yield fetch(`/wallet/getnextmaintenancetime`);
388
+ return new Date(num);
389
+ });
390
+ exports.getNextVotingDate = getNextVotingDate;
391
+ const getTronSuperRepresentativeData = (max) => __awaiter(void 0, void 0, void 0, function* () {
392
+ const list = yield (0, exports.getTronSuperRepresentatives)();
393
+ const nextVotingDate = yield (0, exports.getNextVotingDate)();
394
+ return {
395
+ list: max ? (0, take_1.default)(list, max) : list,
396
+ totalVotes: (0, sumBy_1.default)(list, "voteCount"),
397
+ nextVotingDate,
398
+ };
399
+ });
400
+ exports.getTronSuperRepresentativeData = getTronSuperRepresentativeData;
401
+ const voteTronSuperRepresentatives = (account, transaction) => __awaiter(void 0, void 0, void 0, function* () {
402
+ const payload = {
403
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
404
+ votes: transaction.votes.map(v => ({
405
+ vote_address: (0, format_1.decode58Check)(v.address),
406
+ vote_count: v.voteCount,
407
+ })),
408
+ };
409
+ return yield post(`/wallet/votewitnessaccount`, payload);
410
+ });
411
+ exports.voteTronSuperRepresentatives = voteTronSuperRepresentatives;
412
+ function getTronResources(acc_1, txs_1) {
413
+ return __awaiter(this, arguments, void 0, function* (acc, txs, cacheTransactionInfoById = {}) {
414
+ if (!acc) {
415
+ return utils_1.defaultTronResources;
416
+ }
417
+ const delegatedFrozenBandwidth = (0, get_1.default)(acc, "delegated_frozenV2_balance_for_bandwidth", undefined);
418
+ const delegatedFrozenEnergy = (0, get_1.default)(acc, "account_resource.delegated_frozenV2_balance_for_energy", undefined);
419
+ const frozenBalances = (0, get_1.default)(acc, "frozenV2", undefined);
420
+ const legacyFrozenBandwidth = (0, get_1.default)(acc, "frozen[0]", undefined);
421
+ const legacyFrozenEnergy = (0, get_1.default)(acc, "account_resource.frozen_balance_for_energy", undefined);
422
+ const legacyFrozen = {
423
+ bandwidth: legacyFrozenBandwidth
424
+ ? {
425
+ amount: new bignumber_js_1.BigNumber(legacyFrozenBandwidth.frozen_balance),
426
+ expiredAt: new Date(legacyFrozenBandwidth.expire_time),
427
+ }
428
+ : undefined,
429
+ energy: legacyFrozenEnergy
430
+ ? {
431
+ amount: new bignumber_js_1.BigNumber(legacyFrozenEnergy.frozen_balance),
432
+ expiredAt: new Date(legacyFrozenEnergy.expire_time),
433
+ }
434
+ : undefined,
435
+ };
436
+ const { frozenEnergy, frozenBandwidth } = frozenBalances.reduce((accum, cur) => {
437
+ var _a;
438
+ const amount = new bignumber_js_1.BigNumber((_a = cur === null || cur === void 0 ? void 0 : cur.amount) !== null && _a !== void 0 ? _a : 0);
439
+ if (cur.type === "ENERGY") {
440
+ accum.frozenEnergy = accum.frozenEnergy.plus(amount);
441
+ }
442
+ else if (cur.type === undefined) {
443
+ accum.frozenBandwidth = accum.frozenBandwidth.plus(amount);
444
+ }
445
+ return accum;
446
+ }, {
447
+ frozenEnergy: new bignumber_js_1.BigNumber(0),
448
+ frozenBandwidth: new bignumber_js_1.BigNumber(0),
449
+ });
450
+ const unFrozenBalances = (0, get_1.default)(acc, "unfrozenV2", undefined);
451
+ const unFrozen = unFrozenBalances
452
+ ? unFrozenBalances.reduce((accum, cur) => {
453
+ if (cur && cur.type === "ENERGY") {
454
+ accum.energy.push({
455
+ amount: new bignumber_js_1.BigNumber(cur.unfreeze_amount),
456
+ expireTime: new Date(cur.unfreeze_expire_time),
457
+ });
458
+ }
459
+ else if (cur) {
460
+ accum.bandwidth.push({
461
+ amount: new bignumber_js_1.BigNumber(cur.unfreeze_amount),
462
+ expireTime: new Date(cur.unfreeze_expire_time),
463
+ });
464
+ }
465
+ return accum;
466
+ }, { bandwidth: [], energy: [] })
467
+ : { bandwidth: [], energy: [] };
468
+ const encodedAddress = (0, format_1.encode58Check)(acc.address);
469
+ const tronNetworkInfo = yield (0, exports.getTronAccountNetwork)(encodedAddress);
470
+ const unwithdrawnReward = yield (0, exports.getUnwithdrawnReward)(encodedAddress);
471
+ const energy = tronNetworkInfo.energyLimit.minus(tronNetworkInfo.energyUsed);
472
+ const bandwidth = (0, utils_1.extractBandwidthInfo)(tronNetworkInfo);
473
+ const frozen = {
474
+ bandwidth: frozenBandwidth.isGreaterThan(0)
475
+ ? {
476
+ amount: frozenBandwidth,
477
+ }
478
+ : undefined,
479
+ energy: frozenEnergy.isGreaterThan(0)
480
+ ? {
481
+ amount: frozenEnergy,
482
+ }
483
+ : undefined,
484
+ };
485
+ const delegatedFrozen = {
486
+ bandwidth: delegatedFrozenBandwidth
487
+ ? {
488
+ amount: new bignumber_js_1.BigNumber(delegatedFrozenBandwidth),
489
+ }
490
+ : undefined,
491
+ energy: delegatedFrozenEnergy
492
+ ? {
493
+ amount: new bignumber_js_1.BigNumber(delegatedFrozenEnergy),
494
+ }
495
+ : undefined,
496
+ };
497
+ const tronPower = new bignumber_js_1.BigNumber((0, get_1.default)(frozen, "bandwidth.amount", 0))
498
+ .plus((0, get_1.default)(frozen, "energy.amount", 0))
499
+ .plus((0, get_1.default)(delegatedFrozen, "bandwidth.amount", 0))
500
+ .plus((0, get_1.default)(delegatedFrozen, "energy.amount", 0))
501
+ .plus((0, get_1.default)(legacyFrozen, "energy.amount", 0))
502
+ .plus((0, get_1.default)(legacyFrozen, "bandwidth.amount", 0))
503
+ .dividedBy(1000000)
504
+ .integerValue(bignumber_js_1.BigNumber.ROUND_FLOOR)
505
+ .toNumber();
506
+ const votes = (0, get_1.default)(acc, "votes", []).map((v) => ({
507
+ address: v.vote_address,
508
+ voteCount: v.vote_count,
509
+ }));
510
+ const lastWithdrawnRewardDate = acc.latest_withdraw_time
511
+ ? new Date(acc.latest_withdraw_time)
512
+ : undefined;
513
+ // TODO: rely on the account object when trongrid will provide this info.
514
+ const getLastVotedDate = (txs) => {
515
+ const lastOp = txs.find(({ type }) => type === "VoteWitnessContract");
516
+ return lastOp ? lastOp.date : null;
517
+ };
518
+ const lastVotedDate = txs ? getLastVotedDate(txs) : undefined;
519
+ return {
520
+ energy,
521
+ bandwidth,
522
+ frozen,
523
+ unFrozen,
524
+ delegatedFrozen,
525
+ legacyFrozen,
526
+ votes,
527
+ tronPower,
528
+ unwithdrawnReward,
529
+ lastWithdrawnRewardDate,
530
+ lastVotedDate,
531
+ cacheTransactionInfoById,
532
+ };
533
+ });
534
+ }
535
+ exports.getTronResources = getTronResources;
536
+ const getUnwithdrawnReward = (addr) => __awaiter(void 0, void 0, void 0, function* () {
537
+ try {
538
+ const { reward = 0 } = yield fetch(`/wallet/getReward?address=${encodeURIComponent((0, format_1.decode58Check)(addr))}`);
539
+ return new bignumber_js_1.BigNumber(reward);
540
+ }
541
+ catch (e) {
542
+ return Promise.resolve(new bignumber_js_1.BigNumber(0));
543
+ }
544
+ });
545
+ exports.getUnwithdrawnReward = getUnwithdrawnReward;
546
+ const claimRewardTronTransaction = (account) => __awaiter(void 0, void 0, void 0, function* () {
547
+ const url = `/wallet/withdrawbalance`;
548
+ const data = {
549
+ owner_address: (0, format_1.decode58Check)(account.freshAddress),
550
+ };
551
+ const result = yield post(url, data);
552
+ return result;
553
+ });
554
+ exports.claimRewardTronTransaction = claimRewardTronTransaction;
555
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/network/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const TRON_BASE_URL_TEST = "https://httpbin.org";
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/network/index.test.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,wBAAwB,CAAC"}