@ledgerhq/coin-multiversx 0.2.0-next.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/.eslintrc.js +23 -0
  2. package/.turbo/turbo-build.log +4 -0
  3. package/.unimportedrc.json +31 -0
  4. package/CHANGELOG.md +400 -0
  5. package/LICENSE.txt +21 -0
  6. package/jest.config.js +8 -0
  7. package/lib/api/apiCalls.d.ts +22 -0
  8. package/lib/api/apiCalls.d.ts.map +1 -0
  9. package/lib/api/apiCalls.js +153 -0
  10. package/lib/api/apiCalls.js.map +1 -0
  11. package/lib/api/dtos/multiversx-account.d.ts +9 -0
  12. package/lib/api/dtos/multiversx-account.d.ts.map +1 -0
  13. package/lib/api/dtos/multiversx-account.js +17 -0
  14. package/lib/api/dtos/multiversx-account.js.map +1 -0
  15. package/lib/api/index.d.ts +2 -0
  16. package/lib/api/index.d.ts.map +1 -0
  17. package/lib/api/index.js +16 -0
  18. package/lib/api/index.js.map +1 -0
  19. package/lib/api/sdk.d.ts +29 -0
  20. package/lib/api/sdk.d.ts.map +1 -0
  21. package/lib/api/sdk.js +281 -0
  22. package/lib/api/sdk.js.map +1 -0
  23. package/lib/bridge/js.d.ts +11 -0
  24. package/lib/bridge/js.d.ts.map +1 -0
  25. package/lib/bridge/js.js +62 -0
  26. package/lib/bridge/js.js.map +1 -0
  27. package/lib/bridge.integration.test.d.ts +4 -0
  28. package/lib/bridge.integration.test.d.ts.map +1 -0
  29. package/lib/bridge.integration.test.js +142 -0
  30. package/lib/bridge.integration.test.js.map +1 -0
  31. package/lib/broadcast.d.ts +9 -0
  32. package/lib/broadcast.d.ts.map +1 -0
  33. package/lib/broadcast.js +16 -0
  34. package/lib/broadcast.js.map +1 -0
  35. package/lib/buildOptimisticOperation.d.ts +4 -0
  36. package/lib/buildOptimisticOperation.d.ts.map +1 -0
  37. package/lib/buildOptimisticOperation.js +100 -0
  38. package/lib/buildOptimisticOperation.js.map +1 -0
  39. package/lib/buildOptimisticOperation.test.d.ts +2 -0
  40. package/lib/buildOptimisticOperation.test.d.ts.map +1 -0
  41. package/lib/buildOptimisticOperation.test.js +78 -0
  42. package/lib/buildOptimisticOperation.test.js.map +1 -0
  43. package/lib/buildSubAccounts.d.ts +11 -0
  44. package/lib/buildSubAccounts.d.ts.map +1 -0
  45. package/lib/buildSubAccounts.js +117 -0
  46. package/lib/buildSubAccounts.js.map +1 -0
  47. package/lib/buildTransaction.d.ts +19 -0
  48. package/lib/buildTransaction.d.ts.map +1 -0
  49. package/lib/buildTransaction.js +49 -0
  50. package/lib/buildTransaction.js.map +1 -0
  51. package/lib/buildTransaction.unit.test.d.ts +2 -0
  52. package/lib/buildTransaction.unit.test.d.ts.map +1 -0
  53. package/lib/buildTransaction.unit.test.js +47 -0
  54. package/lib/buildTransaction.unit.test.js.map +1 -0
  55. package/lib/cli-transaction.d.ts +16 -0
  56. package/lib/cli-transaction.d.ts.map +1 -0
  57. package/lib/cli-transaction.js +35 -0
  58. package/lib/cli-transaction.js.map +1 -0
  59. package/lib/config.d.ts +14 -0
  60. package/lib/config.d.ts.map +1 -0
  61. package/lib/config.js +16 -0
  62. package/lib/config.js.map +1 -0
  63. package/lib/constants.d.ts +21 -0
  64. package/lib/constants.d.ts.map +1 -0
  65. package/lib/constants.js +27 -0
  66. package/lib/constants.js.map +1 -0
  67. package/lib/createTransaction.d.ts +9 -0
  68. package/lib/createTransaction.d.ts.map +1 -0
  69. package/lib/createTransaction.js +26 -0
  70. package/lib/createTransaction.js.map +1 -0
  71. package/lib/datasets/multiversx1.d.ts +3 -0
  72. package/lib/datasets/multiversx1.d.ts.map +1 -0
  73. package/lib/datasets/multiversx1.js +21 -0
  74. package/lib/datasets/multiversx1.js.map +1 -0
  75. package/lib/deviceTransactionConfig.d.ts +10 -0
  76. package/lib/deviceTransactionConfig.d.ts.map +1 -0
  77. package/lib/deviceTransactionConfig.js +60 -0
  78. package/lib/deviceTransactionConfig.js.map +1 -0
  79. package/lib/encode.d.ts +11 -0
  80. package/lib/encode.d.ts.map +1 -0
  81. package/lib/encode.js +39 -0
  82. package/lib/encode.js.map +1 -0
  83. package/lib/errors.d.ts +16 -0
  84. package/lib/errors.d.ts.map +1 -0
  85. package/lib/errors.js +10 -0
  86. package/lib/errors.js.map +1 -0
  87. package/lib/estimateMaxSpendable.d.ts +10 -0
  88. package/lib/estimateMaxSpendable.d.ts.map +1 -0
  89. package/lib/estimateMaxSpendable.js +35 -0
  90. package/lib/estimateMaxSpendable.js.map +1 -0
  91. package/lib/formatters.d.ts +11 -0
  92. package/lib/formatters.d.ts.map +1 -0
  93. package/lib/formatters.js +65 -0
  94. package/lib/formatters.js.map +1 -0
  95. package/lib/getTransactionStatus.d.ts +5 -0
  96. package/lib/getTransactionStatus.d.ts.map +1 -0
  97. package/lib/getTransactionStatus.js +107 -0
  98. package/lib/getTransactionStatus.js.map +1 -0
  99. package/lib/helpers/denominate.d.ts +9 -0
  100. package/lib/helpers/denominate.d.ts.map +1 -0
  101. package/lib/helpers/denominate.js +75 -0
  102. package/lib/helpers/denominate.js.map +1 -0
  103. package/lib/helpers/handleTransactionStatus.d.ts +7 -0
  104. package/lib/helpers/handleTransactionStatus.d.ts.map +1 -0
  105. package/lib/helpers/handleTransactionStatus.js +18 -0
  106. package/lib/helpers/handleTransactionStatus.js.map +1 -0
  107. package/lib/helpers/hasMinimumDelegableBalance.d.ts +3 -0
  108. package/lib/helpers/hasMinimumDelegableBalance.d.ts.map +1 -0
  109. package/lib/helpers/hasMinimumDelegableBalance.js +7 -0
  110. package/lib/helpers/hasMinimumDelegableBalance.js.map +1 -0
  111. package/lib/helpers/randomizeProviders.d.ts +7 -0
  112. package/lib/helpers/randomizeProviders.d.ts.map +1 -0
  113. package/lib/helpers/randomizeProviders.js +12 -0
  114. package/lib/helpers/randomizeProviders.js.map +1 -0
  115. package/lib/hw-getAddress.d.ts +6 -0
  116. package/lib/hw-getAddress.d.ts.map +1 -0
  117. package/lib/hw-getAddress.js +14 -0
  118. package/lib/hw-getAddress.js.map +1 -0
  119. package/lib/logic.d.ts +15 -0
  120. package/lib/logic.d.ts.map +1 -0
  121. package/lib/logic.js +77 -0
  122. package/lib/logic.js.map +1 -0
  123. package/lib/preload.d.ts +11 -0
  124. package/lib/preload.d.ts.map +1 -0
  125. package/lib/preload.js +94 -0
  126. package/lib/preload.js.map +1 -0
  127. package/lib/prepareTransaction.d.ts +10 -0
  128. package/lib/prepareTransaction.d.ts.map +1 -0
  129. package/lib/prepareTransaction.js +72 -0
  130. package/lib/prepareTransaction.js.map +1 -0
  131. package/lib/reconciliation.d.ts +3 -0
  132. package/lib/reconciliation.d.ts.map +1 -0
  133. package/lib/reconciliation.js +56 -0
  134. package/lib/reconciliation.js.map +1 -0
  135. package/lib/serialization.d.ts +9 -0
  136. package/lib/serialization.d.ts.map +1 -0
  137. package/lib/serialization.js +65 -0
  138. package/lib/serialization.js.map +1 -0
  139. package/lib/signOperation.d.ts +10 -0
  140. package/lib/signOperation.d.ts.map +1 -0
  141. package/lib/signOperation.js +65 -0
  142. package/lib/signOperation.js.map +1 -0
  143. package/lib/signer.d.ts +16 -0
  144. package/lib/signer.d.ts.map +1 -0
  145. package/lib/signer.js +3 -0
  146. package/lib/signer.js.map +1 -0
  147. package/lib/specs.d.ts +7 -0
  148. package/lib/specs.d.ts.map +1 -0
  149. package/lib/specs.js +286 -0
  150. package/lib/specs.js.map +1 -0
  151. package/lib/speculos-deviceActions.d.ts +16 -0
  152. package/lib/speculos-deviceActions.d.ts.map +1 -0
  153. package/lib/speculos-deviceActions.js +250 -0
  154. package/lib/speculos-deviceActions.js.map +1 -0
  155. package/lib/synchronisation.d.ts +5 -0
  156. package/lib/synchronisation.d.ts.map +1 -0
  157. package/lib/synchronisation.js +69 -0
  158. package/lib/synchronisation.js.map +1 -0
  159. package/lib/transaction.d.ts +15 -0
  160. package/lib/transaction.d.ts.map +1 -0
  161. package/lib/transaction.js +62 -0
  162. package/lib/transaction.js.map +1 -0
  163. package/lib/types.d.ts +188 -0
  164. package/lib/types.d.ts.map +1 -0
  165. package/lib/types.js +17 -0
  166. package/lib/types.js.map +1 -0
  167. package/lib/utils/binary.utils.d.ts +5 -0
  168. package/lib/utils/binary.utils.d.ts.map +1 -0
  169. package/lib/utils/binary.utils.js +16 -0
  170. package/lib/utils/binary.utils.js.map +1 -0
  171. package/lib-es/api/apiCalls.d.ts +22 -0
  172. package/lib-es/api/apiCalls.d.ts.map +1 -0
  173. package/lib-es/api/apiCalls.js +147 -0
  174. package/lib-es/api/apiCalls.js.map +1 -0
  175. package/lib-es/api/dtos/multiversx-account.d.ts +9 -0
  176. package/lib-es/api/dtos/multiversx-account.d.ts.map +1 -0
  177. package/lib-es/api/dtos/multiversx-account.js +13 -0
  178. package/lib-es/api/dtos/multiversx-account.js.map +1 -0
  179. package/lib-es/api/index.d.ts +2 -0
  180. package/lib-es/api/index.d.ts.map +1 -0
  181. package/lib-es/api/index.js +2 -0
  182. package/lib-es/api/index.js.map +1 -0
  183. package/lib-es/api/sdk.d.ts +29 -0
  184. package/lib-es/api/sdk.d.ts.map +1 -0
  185. package/lib-es/api/sdk.js +264 -0
  186. package/lib-es/api/sdk.js.map +1 -0
  187. package/lib-es/bridge/js.d.ts +11 -0
  188. package/lib-es/bridge/js.d.ts.map +1 -0
  189. package/lib-es/bridge/js.js +53 -0
  190. package/lib-es/bridge/js.js.map +1 -0
  191. package/lib-es/bridge.integration.test.d.ts +4 -0
  192. package/lib-es/bridge.integration.test.d.ts.map +1 -0
  193. package/lib-es/bridge.integration.test.js +139 -0
  194. package/lib-es/bridge.integration.test.js.map +1 -0
  195. package/lib-es/broadcast.d.ts +9 -0
  196. package/lib-es/broadcast.d.ts.map +1 -0
  197. package/lib-es/broadcast.js +12 -0
  198. package/lib-es/broadcast.js.map +1 -0
  199. package/lib-es/buildOptimisticOperation.d.ts +4 -0
  200. package/lib-es/buildOptimisticOperation.d.ts.map +1 -0
  201. package/lib-es/buildOptimisticOperation.js +93 -0
  202. package/lib-es/buildOptimisticOperation.js.map +1 -0
  203. package/lib-es/buildOptimisticOperation.test.d.ts +2 -0
  204. package/lib-es/buildOptimisticOperation.test.d.ts.map +1 -0
  205. package/lib-es/buildOptimisticOperation.test.js +73 -0
  206. package/lib-es/buildOptimisticOperation.test.js.map +1 -0
  207. package/lib-es/buildSubAccounts.d.ts +11 -0
  208. package/lib-es/buildSubAccounts.d.ts.map +1 -0
  209. package/lib-es/buildSubAccounts.js +112 -0
  210. package/lib-es/buildSubAccounts.js.map +1 -0
  211. package/lib-es/buildTransaction.d.ts +19 -0
  212. package/lib-es/buildTransaction.d.ts.map +1 -0
  213. package/lib-es/buildTransaction.js +44 -0
  214. package/lib-es/buildTransaction.js.map +1 -0
  215. package/lib-es/buildTransaction.unit.test.d.ts +2 -0
  216. package/lib-es/buildTransaction.unit.test.d.ts.map +1 -0
  217. package/lib-es/buildTransaction.unit.test.js +42 -0
  218. package/lib-es/buildTransaction.unit.test.js.map +1 -0
  219. package/lib-es/cli-transaction.d.ts +16 -0
  220. package/lib-es/cli-transaction.d.ts.map +1 -0
  221. package/lib-es/cli-transaction.js +29 -0
  222. package/lib-es/cli-transaction.js.map +1 -0
  223. package/lib-es/config.d.ts +14 -0
  224. package/lib-es/config.d.ts.map +1 -0
  225. package/lib-es/config.js +11 -0
  226. package/lib-es/config.js.map +1 -0
  227. package/lib-es/constants.d.ts +21 -0
  228. package/lib-es/constants.d.ts.map +1 -0
  229. package/lib-es/constants.js +21 -0
  230. package/lib-es/constants.js.map +1 -0
  231. package/lib-es/createTransaction.d.ts +9 -0
  232. package/lib-es/createTransaction.d.ts.map +1 -0
  233. package/lib-es/createTransaction.js +19 -0
  234. package/lib-es/createTransaction.js.map +1 -0
  235. package/lib-es/datasets/multiversx1.d.ts +3 -0
  236. package/lib-es/datasets/multiversx1.d.ts.map +1 -0
  237. package/lib-es/datasets/multiversx1.js +18 -0
  238. package/lib-es/datasets/multiversx1.js.map +1 -0
  239. package/lib-es/deviceTransactionConfig.d.ts +10 -0
  240. package/lib-es/deviceTransactionConfig.d.ts.map +1 -0
  241. package/lib-es/deviceTransactionConfig.js +55 -0
  242. package/lib-es/deviceTransactionConfig.js.map +1 -0
  243. package/lib-es/encode.d.ts +11 -0
  244. package/lib-es/encode.d.ts.map +1 -0
  245. package/lib-es/encode.js +35 -0
  246. package/lib-es/encode.js.map +1 -0
  247. package/lib-es/errors.d.ts +16 -0
  248. package/lib-es/errors.d.ts.map +1 -0
  249. package/lib-es/errors.js +7 -0
  250. package/lib-es/errors.js.map +1 -0
  251. package/lib-es/estimateMaxSpendable.d.ts +10 -0
  252. package/lib-es/estimateMaxSpendable.d.ts.map +1 -0
  253. package/lib-es/estimateMaxSpendable.js +31 -0
  254. package/lib-es/estimateMaxSpendable.js.map +1 -0
  255. package/lib-es/formatters.d.ts +11 -0
  256. package/lib-es/formatters.d.ts.map +1 -0
  257. package/lib-es/formatters.js +60 -0
  258. package/lib-es/formatters.js.map +1 -0
  259. package/lib-es/getTransactionStatus.d.ts +5 -0
  260. package/lib-es/getTransactionStatus.d.ts.map +1 -0
  261. package/lib-es/getTransactionStatus.js +100 -0
  262. package/lib-es/getTransactionStatus.js.map +1 -0
  263. package/lib-es/helpers/denominate.d.ts +9 -0
  264. package/lib-es/helpers/denominate.d.ts.map +1 -0
  265. package/lib-es/helpers/denominate.js +71 -0
  266. package/lib-es/helpers/denominate.js.map +1 -0
  267. package/lib-es/helpers/handleTransactionStatus.d.ts +7 -0
  268. package/lib-es/helpers/handleTransactionStatus.d.ts.map +1 -0
  269. package/lib-es/helpers/handleTransactionStatus.js +14 -0
  270. package/lib-es/helpers/handleTransactionStatus.js.map +1 -0
  271. package/lib-es/helpers/hasMinimumDelegableBalance.d.ts +3 -0
  272. package/lib-es/helpers/hasMinimumDelegableBalance.d.ts.map +1 -0
  273. package/lib-es/helpers/hasMinimumDelegableBalance.js +3 -0
  274. package/lib-es/helpers/hasMinimumDelegableBalance.js.map +1 -0
  275. package/lib-es/helpers/randomizeProviders.d.ts +7 -0
  276. package/lib-es/helpers/randomizeProviders.d.ts.map +1 -0
  277. package/lib-es/helpers/randomizeProviders.js +8 -0
  278. package/lib-es/helpers/randomizeProviders.js.map +1 -0
  279. package/lib-es/hw-getAddress.d.ts +6 -0
  280. package/lib-es/hw-getAddress.d.ts.map +1 -0
  281. package/lib-es/hw-getAddress.js +12 -0
  282. package/lib-es/hw-getAddress.js.map +1 -0
  283. package/lib-es/logic.d.ts +15 -0
  284. package/lib-es/logic.d.ts.map +1 -0
  285. package/lib-es/logic.js +65 -0
  286. package/lib-es/logic.js.map +1 -0
  287. package/lib-es/preload.d.ts +11 -0
  288. package/lib-es/preload.d.ts.map +1 -0
  289. package/lib-es/preload.js +85 -0
  290. package/lib-es/preload.js.map +1 -0
  291. package/lib-es/prepareTransaction.d.ts +10 -0
  292. package/lib-es/prepareTransaction.d.ts.map +1 -0
  293. package/lib-es/prepareTransaction.js +68 -0
  294. package/lib-es/prepareTransaction.js.map +1 -0
  295. package/lib-es/reconciliation.d.ts +3 -0
  296. package/lib-es/reconciliation.d.ts.map +1 -0
  297. package/lib-es/reconciliation.js +52 -0
  298. package/lib-es/reconciliation.js.map +1 -0
  299. package/lib-es/serialization.d.ts +9 -0
  300. package/lib-es/serialization.d.ts.map +1 -0
  301. package/lib-es/serialization.js +53 -0
  302. package/lib-es/serialization.js.map +1 -0
  303. package/lib-es/signOperation.d.ts +10 -0
  304. package/lib-es/signOperation.d.ts.map +1 -0
  305. package/lib-es/signOperation.js +61 -0
  306. package/lib-es/signOperation.js.map +1 -0
  307. package/lib-es/signer.d.ts +16 -0
  308. package/lib-es/signer.d.ts.map +1 -0
  309. package/lib-es/signer.js +2 -0
  310. package/lib-es/signer.js.map +1 -0
  311. package/lib-es/specs.d.ts +7 -0
  312. package/lib-es/specs.d.ts.map +1 -0
  313. package/lib-es/specs.js +281 -0
  314. package/lib-es/specs.js.map +1 -0
  315. package/lib-es/speculos-deviceActions.d.ts +16 -0
  316. package/lib-es/speculos-deviceActions.d.ts.map +1 -0
  317. package/lib-es/speculos-deviceActions.js +244 -0
  318. package/lib-es/speculos-deviceActions.js.map +1 -0
  319. package/lib-es/synchronisation.d.ts +5 -0
  320. package/lib-es/synchronisation.d.ts.map +1 -0
  321. package/lib-es/synchronisation.js +62 -0
  322. package/lib-es/synchronisation.js.map +1 -0
  323. package/lib-es/transaction.d.ts +15 -0
  324. package/lib-es/transaction.d.ts.map +1 -0
  325. package/lib-es/transaction.js +56 -0
  326. package/lib-es/transaction.js.map +1 -0
  327. package/lib-es/types.d.ts +188 -0
  328. package/lib-es/types.d.ts.map +1 -0
  329. package/lib-es/types.js +12 -0
  330. package/lib-es/types.js.map +1 -0
  331. package/lib-es/utils/binary.utils.d.ts +5 -0
  332. package/lib-es/utils/binary.utils.d.ts.map +1 -0
  333. package/lib-es/utils/binary.utils.js +12 -0
  334. package/lib-es/utils/binary.utils.js.map +1 -0
  335. package/package.json +86 -0
  336. package/src/__snapshots__/bridge.integration.test.ts.snap +181 -0
  337. package/src/api/apiCalls.ts +243 -0
  338. package/src/api/dtos/multiversx-account.ts +20 -0
  339. package/src/api/index.ts +13 -0
  340. package/src/api/sdk.ts +368 -0
  341. package/src/bridge/js.ts +77 -0
  342. package/src/bridge.integration.test.ts +147 -0
  343. package/src/broadcast.ts +16 -0
  344. package/src/buildOptimisticOperation.test.ts +88 -0
  345. package/src/buildOptimisticOperation.ts +120 -0
  346. package/src/buildSubAccounts.ts +153 -0
  347. package/src/buildTransaction.ts +67 -0
  348. package/src/buildTransaction.unit.test.ts +49 -0
  349. package/src/cli-transaction.ts +41 -0
  350. package/src/config.ts +26 -0
  351. package/src/constants.ts +24 -0
  352. package/src/createTransaction.ts +21 -0
  353. package/src/datasets/multiversx1.ts +19 -0
  354. package/src/deviceTransactionConfig.ts +74 -0
  355. package/src/encode.ts +46 -0
  356. package/src/errors.ts +19 -0
  357. package/src/estimateMaxSpendable.ts +43 -0
  358. package/src/formatters.ts +76 -0
  359. package/src/getTransactionStatus.ts +151 -0
  360. package/src/helpers/denominate.ts +95 -0
  361. package/src/helpers/handleTransactionStatus.ts +26 -0
  362. package/src/helpers/hasMinimumDelegableBalance.ts +6 -0
  363. package/src/helpers/randomizeProviders.ts +20 -0
  364. package/src/hw-getAddress.ts +19 -0
  365. package/src/logic.ts +83 -0
  366. package/src/preload.ts +95 -0
  367. package/src/prepareTransaction.ts +78 -0
  368. package/src/reconciliation.ts +64 -0
  369. package/src/serialization.ts +72 -0
  370. package/src/signOperation.ts +99 -0
  371. package/src/signer.ts +21 -0
  372. package/src/specs.ts +387 -0
  373. package/src/speculos-deviceActions.ts +269 -0
  374. package/src/synchronisation.ts +74 -0
  375. package/src/transaction.ts +76 -0
  376. package/src/types.ts +235 -0
  377. package/src/utils/binary.utils.ts +13 -0
  378. package/tsconfig.json +13 -0
@@ -0,0 +1,153 @@
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 live_network_1 = __importDefault(require("@ledgerhq/live-network"));
7
+ const constants_1 = require("../constants");
8
+ const types_1 = require("../types");
9
+ const decodeTransactionMode = (action) => {
10
+ if (!action) {
11
+ return "send";
12
+ }
13
+ if (!action.category) {
14
+ return "send";
15
+ }
16
+ if (action.category !== "stake") {
17
+ return "send";
18
+ }
19
+ const mode = action.name;
20
+ return mode;
21
+ };
22
+ class MultiversXApi {
23
+ API_URL;
24
+ DELEGATION_API_URL;
25
+ constructor(API_URL, DELEGATION_API_URL) {
26
+ this.API_URL = API_URL;
27
+ this.DELEGATION_API_URL = DELEGATION_API_URL;
28
+ }
29
+ async getAccountDetails(addr) {
30
+ const { data: { balance, nonce, isGuarded }, } = await (0, live_network_1.default)({
31
+ method: "GET",
32
+ url: `${this.API_URL}/accounts/${addr}?withGuardianInfo=true`,
33
+ });
34
+ return {
35
+ balance,
36
+ nonce,
37
+ isGuarded,
38
+ };
39
+ }
40
+ async getProviders() {
41
+ const { data: providers } = await (0, live_network_1.default)({
42
+ method: "GET",
43
+ url: `${this.DELEGATION_API_URL}/providers`,
44
+ });
45
+ return providers;
46
+ }
47
+ async getNetworkConfig() {
48
+ const { data: { data: { config: { erd_chain_id: chainId, erd_denomination: denomination, erd_min_gas_limit: gasLimit, erd_min_gas_price: gasPrice, erd_gas_per_data_byte: gasPerByte, erd_gas_price_modifier: gasPriceModifier, }, }, }, } = await (0, live_network_1.default)({
49
+ method: "GET",
50
+ url: `${this.API_URL}/network/config`,
51
+ });
52
+ return {
53
+ chainID: chainId,
54
+ denomination,
55
+ gasLimit,
56
+ gasPrice,
57
+ gasPerByte,
58
+ gasPriceModifier,
59
+ };
60
+ }
61
+ async submit(signedOperation) {
62
+ const transaction = {
63
+ ...signedOperation.rawData,
64
+ signature: signedOperation.signature,
65
+ };
66
+ const { data: { data: { txHash: hash }, }, } = await (0, live_network_1.default)({
67
+ method: "POST",
68
+ url: `${this.API_URL}/transaction/send`,
69
+ data: transaction,
70
+ });
71
+ return hash;
72
+ }
73
+ async getHistory(addr, startAt) {
74
+ const { data: transactionsCount } = await (0, live_network_1.default)({
75
+ method: "GET",
76
+ url: `${this.API_URL}/accounts/${addr}/transactions/count?after=${startAt}`,
77
+ });
78
+ let allTransactions = [];
79
+ let from = 0;
80
+ while (from < transactionsCount) {
81
+ const { data: transactions } = await (0, live_network_1.default)({
82
+ method: "GET",
83
+ url: `${this.API_URL}/accounts/${addr}/transactions?after=${startAt}&from=${from}&size=${constants_1.MAX_PAGINATION_SIZE}&withOperations=true&withScResults=true`,
84
+ });
85
+ for (const transaction of transactions) {
86
+ transaction.mode = decodeTransactionMode(transaction.action);
87
+ }
88
+ allTransactions = [...allTransactions, ...transactions];
89
+ from = from + constants_1.MAX_PAGINATION_SIZE;
90
+ }
91
+ return allTransactions;
92
+ }
93
+ async getAccountDelegations(addr) {
94
+ const { data: delegations } = await (0, live_network_1.default)({
95
+ method: "GET",
96
+ url: `${this.DELEGATION_API_URL}/accounts/${addr}/delegations`,
97
+ });
98
+ return delegations;
99
+ }
100
+ async getESDTTransactionsForAddress(addr, token, startAt) {
101
+ const { data: tokenTransactionsCount } = await (0, live_network_1.default)({
102
+ method: "GET",
103
+ url: `${this.API_URL}/accounts/${addr}/transactions/count?token=${token}&after=${startAt}`,
104
+ });
105
+ let allTokenTransactions = [];
106
+ let from = 0;
107
+ while (from < tokenTransactionsCount) {
108
+ const { data: tokenTransactions } = await (0, live_network_1.default)({
109
+ method: "GET",
110
+ url: `${this.API_URL}/accounts/${addr}/transactions?token=${token}&from=${from}&after=${startAt}&size=${constants_1.MAX_PAGINATION_SIZE}`,
111
+ });
112
+ allTokenTransactions = [...allTokenTransactions, ...tokenTransactions];
113
+ from = from + constants_1.MAX_PAGINATION_SIZE;
114
+ }
115
+ for (const esdtTransaction of allTokenTransactions) {
116
+ esdtTransaction.transfer = types_1.MultiversXTransferOptions.esdt;
117
+ }
118
+ return allTokenTransactions;
119
+ }
120
+ async getESDTTokensForAddress(addr) {
121
+ const { data: tokensCount } = await (0, live_network_1.default)({
122
+ method: "GET",
123
+ url: `${this.API_URL}/accounts/${addr}/tokens/count`,
124
+ });
125
+ let allTokens = [];
126
+ let from = 0;
127
+ while (from < tokensCount) {
128
+ const { data: tokens } = await (0, live_network_1.default)({
129
+ method: "GET",
130
+ url: `${this.API_URL}/accounts/${addr}/tokens?from=${from}&size=${constants_1.MAX_PAGINATION_SIZE}`,
131
+ });
132
+ allTokens = [...allTokens, ...tokens];
133
+ from = from + constants_1.MAX_PAGINATION_SIZE;
134
+ }
135
+ return allTokens;
136
+ }
137
+ async getESDTTokensCountForAddress(addr) {
138
+ const { data: tokensCount } = await (0, live_network_1.default)({
139
+ method: "GET",
140
+ url: `${this.API_URL}/accounts/${addr}/tokens/count`,
141
+ });
142
+ return tokensCount;
143
+ }
144
+ async getBlockchainBlockHeight() {
145
+ const { data: [{ round: blockHeight }], } = await (0, live_network_1.default)({
146
+ method: "GET",
147
+ url: `${this.API_URL}/blocks?shard=${constants_1.METACHAIN_SHARD}&fields=round`,
148
+ });
149
+ return blockHeight;
150
+ }
151
+ }
152
+ exports.default = MultiversXApi;
153
+ //# sourceMappingURL=apiCalls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiCalls.js","sourceRoot":"","sources":["../../src/api/apiCalls.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import BigNumber from "bignumber.js";
2
+ export declare class MultiversXAccount {
3
+ balance: BigNumber;
4
+ nonce: number;
5
+ isGuarded: boolean;
6
+ blockHeight: number;
7
+ constructor(balance: BigNumber, nonce: number, isGuarded: boolean | null | undefined, blockHeight: number);
8
+ }
9
+ //# sourceMappingURL=multiversx-account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiversx-account.d.ts","sourceRoot":"","sources":["../../../src/api/dtos/multiversx-account.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAErC,qBAAa,iBAAiB;IAC5B,OAAO,EAAE,SAAS,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;gBAGlB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EACrC,WAAW,EAAE,MAAM;CAOtB"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiversXAccount = void 0;
4
+ class MultiversXAccount {
5
+ balance;
6
+ nonce;
7
+ isGuarded;
8
+ blockHeight;
9
+ constructor(balance, nonce, isGuarded, blockHeight) {
10
+ this.balance = balance;
11
+ this.nonce = nonce;
12
+ this.isGuarded = isGuarded ? true : false;
13
+ this.blockHeight = blockHeight;
14
+ }
15
+ }
16
+ exports.MultiversXAccount = MultiversXAccount;
17
+ //# sourceMappingURL=multiversx-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiversx-account.js","sourceRoot":"","sources":["../../../src/api/dtos/multiversx-account.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,OAAO,CAAY;IACnB,KAAK,CAAS;IACd,SAAS,CAAU;IACnB,WAAW,CAAS;IAEpB,YACE,OAAkB,EAClB,KAAa,EACb,SAAqC,EACrC,WAAmB;QAEnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;CACF;AAjBD,8CAiBC"}
@@ -0,0 +1,2 @@
1
+ export { getAccount, getNetworkConfig, getProviders, getEGLDOperations, getFees, broadcastTransaction, getAccountESDTTokens, getAccountDelegations, getESDTOperations, hasESDTTokens, getAccountNonce, } from "./sdk";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,OAAO,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAccountNonce = exports.hasESDTTokens = exports.getESDTOperations = exports.getAccountDelegations = exports.getAccountESDTTokens = exports.broadcastTransaction = exports.getFees = exports.getEGLDOperations = exports.getProviders = exports.getNetworkConfig = exports.getAccount = void 0;
4
+ var sdk_1 = require("./sdk");
5
+ Object.defineProperty(exports, "getAccount", { enumerable: true, get: function () { return sdk_1.getAccount; } });
6
+ Object.defineProperty(exports, "getNetworkConfig", { enumerable: true, get: function () { return sdk_1.getNetworkConfig; } });
7
+ Object.defineProperty(exports, "getProviders", { enumerable: true, get: function () { return sdk_1.getProviders; } });
8
+ Object.defineProperty(exports, "getEGLDOperations", { enumerable: true, get: function () { return sdk_1.getEGLDOperations; } });
9
+ Object.defineProperty(exports, "getFees", { enumerable: true, get: function () { return sdk_1.getFees; } });
10
+ Object.defineProperty(exports, "broadcastTransaction", { enumerable: true, get: function () { return sdk_1.broadcastTransaction; } });
11
+ Object.defineProperty(exports, "getAccountESDTTokens", { enumerable: true, get: function () { return sdk_1.getAccountESDTTokens; } });
12
+ Object.defineProperty(exports, "getAccountDelegations", { enumerable: true, get: function () { return sdk_1.getAccountDelegations; } });
13
+ Object.defineProperty(exports, "getESDTOperations", { enumerable: true, get: function () { return sdk_1.getESDTOperations; } });
14
+ Object.defineProperty(exports, "hasESDTTokens", { enumerable: true, get: function () { return sdk_1.hasESDTTokens; } });
15
+ Object.defineProperty(exports, "getAccountNonce", { enumerable: true, get: function () { return sdk_1.getAccountNonce; } });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;AAAA,6BAYe;AAXb,iGAAA,UAAU,OAAA;AACV,uGAAA,gBAAgB,OAAA;AAChB,mGAAA,YAAY,OAAA;AACZ,wGAAA,iBAAiB,OAAA;AACjB,8FAAA,OAAO,OAAA;AACP,2GAAA,oBAAoB,OAAA;AACpB,2GAAA,oBAAoB,OAAA;AACpB,4GAAA,qBAAqB,OAAA;AACrB,wGAAA,iBAAiB,OAAA;AACjB,oGAAA,aAAa,OAAA;AACb,sGAAA,eAAe,OAAA"}
@@ -0,0 +1,29 @@
1
+ import type { SignedOperation, TokenAccount } from "@ledgerhq/types-live";
2
+ import { INetworkConfig, INonce } from "@multiversx/sdk-core";
3
+ import { BigNumber } from "bignumber.js";
4
+ import { ESDTToken, MultiversXDelegation, MultiversXOperation, MultiversXProvider, Transaction } from "../types";
5
+ import { MultiversXAccount } from "./dtos/multiversx-account";
6
+ /**
7
+ * Get account balances and nonce
8
+ */
9
+ export declare const getAccount: (addr: string) => Promise<MultiversXAccount>;
10
+ export declare const getProviders: () => Promise<MultiversXProvider[]>;
11
+ export declare const getNetworkConfig: () => Promise<INetworkConfig>;
12
+ export declare const getAccountNonce: (addr: string) => Promise<INonce>;
13
+ /**
14
+ * Fetch operation list
15
+ */
16
+ export declare const getEGLDOperations: (accountId: string, addr: string, startAt: number, subAccounts: TokenAccount[]) => Promise<MultiversXOperation[]>;
17
+ export declare const getAccountESDTTokens: (address: string) => Promise<ESDTToken[]>;
18
+ export declare const getAccountDelegations: (address: string) => Promise<MultiversXDelegation[]>;
19
+ export declare const hasESDTTokens: (address: string) => Promise<boolean>;
20
+ export declare const getESDTOperations: (tokenAccountId: string, address: string, tokenIdentifier: string, startAt: number) => Promise<MultiversXOperation[]>;
21
+ /**
22
+ * Obtain fees from blockchain
23
+ */
24
+ export declare const getFees: (t: Transaction) => Promise<BigNumber>;
25
+ /**
26
+ * Broadcast blob to blockchain
27
+ */
28
+ export declare const broadcastTransaction: (signedOperation: SignedOperation) => Promise<string>;
29
+ //# sourceMappingURL=sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../../src/api/sdk.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzF,OAAO,EAGL,cAAc,EACd,MAAM,EAGP,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,OAAO,EACL,SAAS,EAET,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAGlB,WAAW,EACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAS9D;;GAEG;AACH,eAAO,MAAM,UAAU,SAAgB,MAAM,KAAG,QAAQ,iBAAiB,CAMxE,CAAC;AAEF,eAAO,MAAM,YAAY,QAAa,QAAQ,kBAAkB,EAAE,CAGjE,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAa,QAAQ,cAAc,CAE/D,CAAC;AAEF,eAAO,MAAM,eAAe,SAAgB,MAAM,KAAG,QAAQ,MAAM,CAMlE,CAAC;AA8NF;;GAEG;AACH,eAAO,MAAM,iBAAiB,cACjB,MAAM,QACX,MAAM,WACH,MAAM,eACF,YAAY,EAAE,KAC1B,QAAQ,mBAAmB,EAAE,CAM/B,CAAC;AAEF,eAAO,MAAM,oBAAoB,YAAmB,MAAM,KAAG,QAAQ,SAAS,EAAE,CAE/E,CAAC;AAEF,eAAO,MAAM,qBAAqB,YAAmB,MAAM,KAAG,QAAQ,oBAAoB,EAAE,CAE3F,CAAC;AAEF,eAAO,MAAM,aAAa,YAAmB,MAAM,KAAG,QAAQ,OAAO,CAGpE,CAAC;AAEF,eAAO,MAAM,iBAAiB,mBACZ,MAAM,WACb,MAAM,mBACE,MAAM,WACd,MAAM,KACd,QAAQ,mBAAmB,EAAE,CAU/B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,MAAa,WAAW,KAAG,QAAQ,SAAS,CAoB/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,oBAA2B,eAAe,KAAG,QAAQ,MAAM,CAE3F,CAAC"}
package/lib/api/sdk.js ADDED
@@ -0,0 +1,281 @@
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
+ exports.broadcastTransaction = exports.getFees = exports.getESDTOperations = exports.hasESDTTokens = exports.getAccountDelegations = exports.getAccountESDTTokens = exports.getEGLDOperations = exports.getAccountNonce = exports.getNetworkConfig = exports.getProviders = exports.getAccount = void 0;
7
+ const operation_1 = require("@ledgerhq/coin-framework/operation");
8
+ const index_1 = require("@ledgerhq/coin-framework/serialization/index");
9
+ const cryptoassets_1 = require("@ledgerhq/cryptoassets");
10
+ const live_env_1 = require("@ledgerhq/live-env");
11
+ const sdk_core_1 = require("@multiversx/sdk-core");
12
+ const bignumber_js_1 = require("bignumber.js");
13
+ const constants_1 = require("../constants");
14
+ const types_1 = require("../types");
15
+ const binary_utils_1 = require("../utils/binary.utils");
16
+ const apiCalls_1 = __importDefault(require("./apiCalls"));
17
+ const multiversx_account_1 = require("./dtos/multiversx-account");
18
+ const api = new apiCalls_1.default((0, live_env_1.getEnv)("MULTIVERSX_API_ENDPOINT"), (0, live_env_1.getEnv)("MULTIVERSX_DELEGATION_API_ENDPOINT"));
19
+ const networkConfig = { clientName: "ledger-live" };
20
+ const proxy = new sdk_core_1.ApiNetworkProvider((0, live_env_1.getEnv)("MULTIVERSX_API_ENDPOINT"), networkConfig);
21
+ /**
22
+ * Get account balances and nonce
23
+ */
24
+ const getAccount = async (addr) => {
25
+ const { balance, nonce, isGuarded } = await api.getAccountDetails(addr);
26
+ const blockHeight = await api.getBlockchainBlockHeight();
27
+ const account = new multiversx_account_1.MultiversXAccount(new bignumber_js_1.BigNumber(balance), nonce, isGuarded, blockHeight);
28
+ return account;
29
+ };
30
+ exports.getAccount = getAccount;
31
+ const getProviders = async () => {
32
+ const providers = await api.getProviders();
33
+ return providers;
34
+ };
35
+ exports.getProviders = getProviders;
36
+ const getNetworkConfig = async () => {
37
+ return await proxy.getNetworkConfig();
38
+ };
39
+ exports.getNetworkConfig = getNetworkConfig;
40
+ const getAccountNonce = async (addr) => {
41
+ const address = new sdk_core_1.Address(addr);
42
+ const account = await proxy.getAccount(address);
43
+ return account.nonce;
44
+ };
45
+ exports.getAccountNonce = getAccountNonce;
46
+ /**
47
+ * Returns true if account is the signer
48
+ */
49
+ function isSender(transaction, addr) {
50
+ return transaction.sender === addr;
51
+ }
52
+ function isSelfSend(transaction) {
53
+ return (!!transaction.sender && !!transaction.receiver && transaction.sender === transaction.receiver);
54
+ }
55
+ /**
56
+ * Map transaction to an Operation Type
57
+ */
58
+ function getEGLDOperationType(transaction, addr) {
59
+ if (transaction.action && transaction.action.category == "stake") {
60
+ const stakeAction = transaction.action.name;
61
+ switch (stakeAction) {
62
+ case "delegate":
63
+ return "DELEGATE";
64
+ case "unDelegate":
65
+ return "UNDELEGATE";
66
+ case "withdraw":
67
+ return "WITHDRAW_UNBONDED";
68
+ case "claimRewards":
69
+ return "REWARD";
70
+ case "reDelegateRewards":
71
+ return "DELEGATE";
72
+ }
73
+ }
74
+ return isSender(transaction, addr)
75
+ ? transaction.transfer === types_1.MultiversXTransferOptions.esdt
76
+ ? "FEES"
77
+ : "OUT"
78
+ : "IN";
79
+ }
80
+ function getESDTOperationValue(transaction, tokenIdentifier) {
81
+ const hasFailed = !transaction.status || transaction.status === "fail" || transaction.status === "invalid";
82
+ if (!transaction.action || hasFailed) {
83
+ return new bignumber_js_1.BigNumber(0);
84
+ }
85
+ let token1, token2;
86
+ switch (transaction.action.name) {
87
+ case "transfer":
88
+ return new bignumber_js_1.BigNumber(transaction.action.arguments.transfers[0].value ?? 0);
89
+ case "swap":
90
+ token1 = transaction.action.arguments.transfers[0];
91
+ token2 = transaction.action.arguments.transfers[1];
92
+ if (token1.token === tokenIdentifier) {
93
+ return new bignumber_js_1.BigNumber(token1.value);
94
+ }
95
+ else {
96
+ return new bignumber_js_1.BigNumber(token2.value);
97
+ }
98
+ default:
99
+ return new bignumber_js_1.BigNumber(transaction.tokenValue ?? 0);
100
+ }
101
+ }
102
+ function getStakingAmount(transaction, address) {
103
+ const operation = transaction.operations?.find(({ sender, receiver, action, type }) => action == "transfer" &&
104
+ type == "egld" &&
105
+ sender == transaction.receiver &&
106
+ (receiver == address || receiver == constants_1.MULTIVERSX_STAKING_POOL));
107
+ let dataDecoded;
108
+ switch (transaction.mode) {
109
+ case "send":
110
+ return new bignumber_js_1.BigNumber(0);
111
+ case "delegate":
112
+ return new bignumber_js_1.BigNumber(transaction.value ?? 0);
113
+ case "unDelegate":
114
+ dataDecoded = binary_utils_1.BinaryUtils.base64Decode(transaction.data ?? "");
115
+ return new bignumber_js_1.BigNumber(`0x${dataDecoded.split("@")[1]}`);
116
+ case "reDelegateRewards":
117
+ case "claimRewards":
118
+ case "withdraw":
119
+ default:
120
+ return new bignumber_js_1.BigNumber(operation?.value ?? new bignumber_js_1.BigNumber(0));
121
+ }
122
+ }
123
+ /**
124
+ * Map transaction to a correct Operation Value (affecting account balance)
125
+ */
126
+ function getEGLDOperationValue(transaction, address) {
127
+ if (transaction.mode === "send") {
128
+ if (transaction.transfer === types_1.MultiversXTransferOptions.esdt) {
129
+ // Only fees paid in EGLD for token transactions
130
+ return isSender(transaction, address) && transaction.fee
131
+ ? new bignumber_js_1.BigNumber(transaction.fee)
132
+ : new bignumber_js_1.BigNumber(0);
133
+ }
134
+ else {
135
+ return isSender(transaction, address)
136
+ ? isSelfSend(transaction)
137
+ ? new bignumber_js_1.BigNumber(transaction.fee ?? 0) // Self-send, only fees are paid
138
+ : new bignumber_js_1.BigNumber(transaction.value ?? 0).plus(transaction.fee ?? 0) // The sender pays the amount and the fees
139
+ : new bignumber_js_1.BigNumber(transaction.value ?? 0); // The recipient gets the amount
140
+ }
141
+ }
142
+ else {
143
+ // Operation value for staking transactions are just the fees, plus possible rewards
144
+ // Other amounts are put in extra.amount
145
+ return new bignumber_js_1.BigNumber(transaction.fee ?? 0);
146
+ }
147
+ }
148
+ /**
149
+ * Map the MultiversX history transaction to a Ledger Live Operation
150
+ */
151
+ function transactionToEGLDOperation(accountId, addr, transaction, subAccounts) {
152
+ const type = getEGLDOperationType(transaction, addr);
153
+ const fee = new bignumber_js_1.BigNumber(transaction.fee ?? 0);
154
+ const hasFailed = !transaction.status || transaction.status === "fail" || transaction.status === "invalid";
155
+ const delegationAmount = getStakingAmount(transaction, addr);
156
+ const value = hasFailed
157
+ ? isSender(transaction, addr)
158
+ ? fee
159
+ : new bignumber_js_1.BigNumber(0)
160
+ : transaction.mode === "claimRewards"
161
+ ? delegationAmount.minus(fee)
162
+ : getEGLDOperationValue(transaction, addr);
163
+ const operation = {
164
+ id: (0, operation_1.encodeOperationId)(accountId, transaction.txHash ?? "", type),
165
+ accountId,
166
+ fee,
167
+ value,
168
+ type,
169
+ hash: transaction.txHash ?? "",
170
+ blockHash: transaction.miniBlockHash,
171
+ blockHeight: transaction.round,
172
+ date: new Date(transaction.timestamp ? transaction.timestamp * 1000 : 0),
173
+ extra: {
174
+ amount: delegationAmount,
175
+ },
176
+ senders: (type == "OUT" || type == "IN") && transaction.sender ? [transaction.sender] : [],
177
+ recipients: (type == "OUT" || type == "IN") && transaction.receiver ? [transaction.receiver] : [],
178
+ transactionSequenceNumber: isSender(transaction, addr) ? transaction.nonce : undefined,
179
+ hasFailed,
180
+ };
181
+ const subOperations = subAccounts
182
+ ? (0, index_1.inferSubOperations)(transaction.txHash ?? "", subAccounts)
183
+ : undefined;
184
+ if (subOperations) {
185
+ operation.subOperations = subOperations;
186
+ }
187
+ let contract = undefined;
188
+ if (transaction.receiver) {
189
+ const isReceiverSmartContract = sdk_core_1.Address.newFromBech32(transaction.receiver).isSmartContract();
190
+ contract = isReceiverSmartContract ? transaction.receiver : undefined;
191
+ }
192
+ if (contract) {
193
+ operation.contract = contract;
194
+ }
195
+ return operation;
196
+ }
197
+ const getESDTOperationType = (transaction, address) => {
198
+ return isSender(transaction, address) ? "OUT" : "IN";
199
+ };
200
+ const transactionToESDTOperation = (tokenAccountId, addr, transaction, tokenIdentifier) => {
201
+ const type = getESDTOperationType(transaction, addr);
202
+ const value = getESDTOperationValue(transaction, tokenIdentifier);
203
+ const fee = new bignumber_js_1.BigNumber(transaction.fee ?? 0);
204
+ const senders = transaction.sender ? [transaction.sender] : [];
205
+ const recipients = transaction.receiver ? [transaction.receiver] : [];
206
+ const hash = transaction.txHash ?? "";
207
+ const blockHeight = transaction.round;
208
+ const date = new Date(transaction.timestamp ? transaction.timestamp * 1000 : 0);
209
+ return {
210
+ id: (0, operation_1.encodeOperationId)(tokenAccountId, hash, type),
211
+ accountId: tokenAccountId,
212
+ hash,
213
+ date,
214
+ type,
215
+ value,
216
+ fee,
217
+ senders,
218
+ recipients,
219
+ blockHeight,
220
+ blockHash: transaction.miniBlockHash,
221
+ extra: {},
222
+ };
223
+ };
224
+ /**
225
+ * Fetch operation list
226
+ */
227
+ const getEGLDOperations = async (accountId, addr, startAt, subAccounts) => {
228
+ const rawTransactions = await api.getHistory(addr, startAt);
229
+ if (!rawTransactions)
230
+ return rawTransactions;
231
+ return rawTransactions.map(transaction => transactionToEGLDOperation(accountId, addr, transaction, subAccounts));
232
+ };
233
+ exports.getEGLDOperations = getEGLDOperations;
234
+ const getAccountESDTTokens = async (address) => {
235
+ return await api.getESDTTokensForAddress(address);
236
+ };
237
+ exports.getAccountESDTTokens = getAccountESDTTokens;
238
+ const getAccountDelegations = async (address) => {
239
+ return await api.getAccountDelegations(address);
240
+ };
241
+ exports.getAccountDelegations = getAccountDelegations;
242
+ const hasESDTTokens = async (address) => {
243
+ const tokensCount = await api.getESDTTokensCountForAddress(address);
244
+ return tokensCount > 0;
245
+ };
246
+ exports.hasESDTTokens = hasESDTTokens;
247
+ const getESDTOperations = async (tokenAccountId, address, tokenIdentifier, startAt) => {
248
+ const accountESDTTransactions = await api.getESDTTransactionsForAddress(address, tokenIdentifier, startAt);
249
+ return accountESDTTransactions.map(transaction => transactionToESDTOperation(tokenAccountId, address, transaction, tokenIdentifier));
250
+ };
251
+ exports.getESDTOperations = getESDTOperations;
252
+ /**
253
+ * Obtain fees from blockchain
254
+ */
255
+ const getFees = async (t) => {
256
+ const networkConfig = {
257
+ MinGasLimit: constants_1.MIN_GAS_LIMIT,
258
+ GasPerDataByte: constants_1.GAS_PER_DATA_BYTE,
259
+ GasPriceModifier: constants_1.GAS_PRICE_MODIFIER,
260
+ ChainID: constants_1.CHAIN_ID,
261
+ };
262
+ const transaction = new sdk_core_1.Transaction({
263
+ data: sdk_core_1.TransactionPayload.fromEncoded(t.data?.trim()),
264
+ receiver: new sdk_core_1.Address((0, cryptoassets_1.getAbandonSeedAddress)("elrond")),
265
+ chainID: constants_1.CHAIN_ID,
266
+ gasPrice: constants_1.GAS_PRICE,
267
+ gasLimit: t.gasLimit ?? networkConfig.MinGasLimit,
268
+ sender: sdk_core_1.Address.empty(),
269
+ });
270
+ const feesStr = transaction.computeFee(networkConfig).toFixed();
271
+ return new bignumber_js_1.BigNumber(feesStr);
272
+ };
273
+ exports.getFees = getFees;
274
+ /**
275
+ * Broadcast blob to blockchain
276
+ */
277
+ const broadcastTransaction = async (signedOperation) => {
278
+ return await api.submit(signedOperation);
279
+ };
280
+ exports.broadcastTransaction = broadcastTransaction;
281
+ //# sourceMappingURL=sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../src/api/sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { SignerContext } from "@ledgerhq/coin-framework/lib/signer";
2
+ import type { AccountBridge, CurrencyBridge } from "@ledgerhq/types-live";
3
+ import { MultiversXSigner } from "../signer";
4
+ import type { MultiversXAccount, Transaction, TransactionStatus } from "../types";
5
+ export declare function buildCurrencyBridge(signerContext: SignerContext<MultiversXSigner>): CurrencyBridge;
6
+ export declare function buildAccountBridge(signerContext: SignerContext<MultiversXSigner>): AccountBridge<Transaction, MultiversXAccount, TransactionStatus>;
7
+ export declare function createBridges(signerContext: SignerContext<MultiversXSigner>): {
8
+ currencyBridge: CurrencyBridge;
9
+ accountBridge: AccountBridge<Transaction, MultiversXAccount, import("@ledgerhq/types-live").TransactionStatusCommon>;
10
+ };
11
+ //# sourceMappingURL=js.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.d.ts","sourceRoot":"","sources":["../../src/bridge/js.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAc1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAG7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElF,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAC7C,cAAc,CAchB;AAED,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAAC,GAC7C,aAAa,CAAC,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAsBlE;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,CAAC,gBAAgB,CAAC;;;EAK3E"}
@@ -0,0 +1,62 @@
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
+ exports.createBridges = exports.buildAccountBridge = exports.buildCurrencyBridge = void 0;
7
+ const getAddressWrapper_1 = __importDefault(require("@ledgerhq/coin-framework/bridge/getAddressWrapper"));
8
+ const jsHelpers_1 = require("@ledgerhq/coin-framework/bridge/jsHelpers");
9
+ const broadcast_1 = require("../broadcast");
10
+ const createTransaction_1 = require("../createTransaction");
11
+ const estimateMaxSpendable_1 = require("../estimateMaxSpendable");
12
+ const getTransactionStatus_1 = require("../getTransactionStatus");
13
+ const hw_getAddress_1 = __importDefault(require("../hw-getAddress"));
14
+ const preload_1 = require("../preload");
15
+ const prepareTransaction_1 = require("../prepareTransaction");
16
+ const serialization_1 = require("../serialization");
17
+ const signOperation_1 = require("../signOperation");
18
+ const synchronisation_1 = require("../synchronisation");
19
+ function buildCurrencyBridge(signerContext) {
20
+ const getAddress = (0, hw_getAddress_1.default)(signerContext);
21
+ const scanAccounts = (0, jsHelpers_1.makeScanAccounts)({
22
+ getAccountShape: synchronisation_1.getAccountShape,
23
+ getAddressFn: getAddress,
24
+ });
25
+ return {
26
+ getPreloadStrategy: preload_1.getPreloadStrategy,
27
+ preload: preload_1.preload,
28
+ hydrate: preload_1.hydrate,
29
+ scanAccounts,
30
+ };
31
+ }
32
+ exports.buildCurrencyBridge = buildCurrencyBridge;
33
+ function buildAccountBridge(signerContext) {
34
+ const getAddress = (0, hw_getAddress_1.default)(signerContext);
35
+ const receive = (0, jsHelpers_1.makeAccountBridgeReceive)((0, getAddressWrapper_1.default)(getAddress));
36
+ const signOperation = (0, signOperation_1.buildSignOperation)(signerContext);
37
+ return {
38
+ estimateMaxSpendable: estimateMaxSpendable_1.estimateMaxSpendable,
39
+ createTransaction: createTransaction_1.createTransaction,
40
+ updateTransaction: jsHelpers_1.updateTransaction,
41
+ getTransactionStatus: getTransactionStatus_1.getTransactionStatus,
42
+ prepareTransaction: prepareTransaction_1.prepareTransaction,
43
+ sync: synchronisation_1.sync,
44
+ receive,
45
+ signOperation,
46
+ broadcast: broadcast_1.broadcast,
47
+ assignFromAccountRaw: serialization_1.assignFromAccountRaw,
48
+ assignToAccountRaw: serialization_1.assignToAccountRaw,
49
+ fromOperationExtraRaw: serialization_1.fromOperationExtraRaw,
50
+ toOperationExtraRaw: serialization_1.toOperationExtraRaw,
51
+ getSerializedAddressParameters: jsHelpers_1.getSerializedAddressParameters,
52
+ };
53
+ }
54
+ exports.buildAccountBridge = buildAccountBridge;
55
+ function createBridges(signerContext) {
56
+ return {
57
+ currencyBridge: buildCurrencyBridge(signerContext),
58
+ accountBridge: buildAccountBridge(signerContext),
59
+ };
60
+ }
61
+ exports.createBridges = createBridges;
62
+ //# sourceMappingURL=js.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js.js","sourceRoot":"","sources":["../../src/bridge/js.ts"],"names":[],"mappings":";;;;;;AAAA,0GAAkF;AAClF,yEAKmD;AAGnD,4CAAyC;AACzC,4DAAyD;AACzD,kEAA+D;AAC/D,kEAA+D;AAC/D,qEAAwC;AACxC,wCAAkE;AAClE,8DAA2D;AAC3D,oDAK0B;AAE1B,oDAAsD;AACtD,wDAA2D;AAG3D,SAAgB,mBAAmB,CACjC,aAA8C;IAE9C,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAA,4BAAgB,EAAC;QACpC,eAAe,EAAf,iCAAe;QACf,YAAY,EAAE,UAAU;KACzB,CAAC,CAAC;IAEH,OAAO;QACL,kBAAkB,EAAlB,4BAAkB;QAClB,OAAO,EAAP,iBAAO;QACP,OAAO,EAAP,iBAAO;QACP,YAAY;KACb,CAAC;AACJ,CAAC;AAhBD,kDAgBC;AAED,SAAgB,kBAAkB,CAChC,aAA8C;IAE9C,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,aAAa,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,IAAA,oCAAwB,EAAC,IAAA,2BAAiB,EAAC,UAAU,CAAC,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,IAAA,kCAAkB,EAAC,aAAa,CAAC,CAAC;IAExD,OAAO;QACL,oBAAoB,EAApB,2CAAoB;QACpB,iBAAiB,EAAjB,qCAAiB;QACjB,iBAAiB,EAAjB,6BAAiB;QACjB,oBAAoB,EAApB,2CAAoB;QACpB,kBAAkB,EAAlB,uCAAkB;QAClB,IAAI,EAAJ,sBAAI;QACJ,OAAO;QACP,aAAa;QACb,SAAS,EAAT,qBAAS;QACT,oBAAoB,EAApB,oCAAoB;QACpB,kBAAkB,EAAlB,kCAAkB;QAClB,qBAAqB,EAArB,qCAAqB;QACrB,mBAAmB,EAAnB,mCAAmB;QACnB,8BAA8B,EAA9B,0CAA8B;KAC/B,CAAC;AACJ,CAAC;AAxBD,gDAwBC;AAED,SAAgB,aAAa,CAAC,aAA8C;IAC1E,OAAO;QACL,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAAC;QAClD,aAAa,EAAE,kBAAkB,CAAC,aAAa,CAAC;KACjD,CAAC;AACJ,CAAC;AALD,sCAKC"}