@subwallet/extension-base 1.1.35-0 → 1.1.35-beta.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 (317) hide show
  1. package/background/KoniTypes.d.ts +111 -69
  2. package/background/KoniTypes.js +19 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +20 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/dotsama/balance.js +464 -0
  8. package/cjs/koni/api/nft/config.js +33 -23
  9. package/cjs/koni/api/nft/index.js +14 -0
  10. package/cjs/koni/api/nft/nft.js +1 -22
  11. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  12. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  13. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  14. package/cjs/koni/api/staking/bonding/amplitude.js +19 -16
  15. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  16. package/cjs/koni/api/staking/bonding/index.js +4 -1
  17. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  18. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  19. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  20. package/cjs/koni/api/staking/index.js +6 -5
  21. package/cjs/koni/api/staking/paraChain.js +6 -5
  22. package/cjs/koni/api/staking/relayChain.js +3 -2
  23. package/cjs/koni/api/yield/helper/utils.js +46 -0
  24. package/cjs/koni/background/cron.js +3 -21
  25. package/cjs/koni/background/handlers/Extension.js +368 -69
  26. package/cjs/koni/background/handlers/State.js +18 -12
  27. package/cjs/koni/background/handlers/index.js +4 -2
  28. package/cjs/koni/background/subscription.js +7 -104
  29. package/cjs/services/campaign-service/index.js +9 -6
  30. package/cjs/services/chain-service/constants.js +1 -16
  31. package/cjs/services/chain-service/index.js +6 -2
  32. package/cjs/services/chain-service/utils.js +7 -1
  33. package/cjs/services/earning-service/constants/chains.js +30 -0
  34. package/cjs/services/earning-service/constants/index.js +27 -0
  35. package/cjs/services/earning-service/constants/step.js +18 -0
  36. package/cjs/services/earning-service/handlers/base.js +262 -0
  37. package/cjs/services/earning-service/handlers/index.js +60 -0
  38. package/cjs/services/earning-service/handlers/lending/base.js +81 -0
  39. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  40. package/cjs/services/earning-service/handlers/lending/interlay.js +192 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +240 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/base.js +97 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/bifrost-manta.js +140 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +298 -0
  45. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  46. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +227 -0
  47. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +404 -0
  48. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +434 -0
  49. package/cjs/services/earning-service/handlers/native-staking/astar.js +466 -0
  50. package/cjs/services/earning-service/handlers/native-staking/base-para.js +146 -0
  51. package/cjs/services/earning-service/handlers/native-staking/base.js +161 -0
  52. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  53. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +390 -0
  54. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +567 -0
  55. package/cjs/services/earning-service/handlers/nomination-pool/index.js +566 -0
  56. package/cjs/services/earning-service/handlers/special.js +493 -0
  57. package/cjs/services/earning-service/service.js +733 -0
  58. package/cjs/services/earning-service/utils/index.js +128 -0
  59. package/cjs/services/event-service/index.js +5 -0
  60. package/cjs/services/keyring-service/index.js +14 -2
  61. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  62. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  63. package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
  64. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  65. package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
  66. package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
  67. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  68. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  69. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  70. package/cjs/services/migration-service/scripts/index.js +6 -1
  71. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  72. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  73. package/cjs/services/mint-campaign-service/constants.js +11 -0
  74. package/cjs/services/mint-campaign-service/index.js +18 -0
  75. package/cjs/services/notification-service/NotificationService.js +3 -2
  76. package/cjs/services/request-service/handler/PopupHandler.js +2 -3
  77. package/cjs/services/storage-service/DatabaseService.js +63 -0
  78. package/cjs/services/storage-service/databases/index.js +4 -0
  79. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  80. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  81. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +71 -0
  82. package/cjs/services/storage-service/index.js +241 -0
  83. package/cjs/services/subscan-service/index.js +16 -0
  84. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  85. package/cjs/services/transaction-service/helpers/index.js +3 -1
  86. package/cjs/services/transaction-service/index.js +249 -75
  87. package/cjs/services/transaction-service/utils.js +1 -0
  88. package/cjs/types/campaigns/index.js +16 -0
  89. package/cjs/types/campaigns/unlock-dot.js +1 -0
  90. package/cjs/types/index.js +44 -0
  91. package/cjs/types/ordinal.js +1 -0
  92. package/cjs/types/transaction.js +1 -0
  93. package/cjs/types/yield/actions/index.js +27 -0
  94. package/cjs/types/yield/actions/join/index.js +38 -0
  95. package/cjs/types/yield/actions/join/step.js +47 -0
  96. package/cjs/types/yield/actions/join/submit.js +1 -0
  97. package/cjs/types/yield/actions/join/validate.js +16 -0
  98. package/cjs/types/yield/actions/others.js +1 -0
  99. package/cjs/types/yield/index.js +27 -0
  100. package/cjs/types/yield/info/account/index.js +49 -0
  101. package/cjs/types/yield/info/account/info.js +1 -0
  102. package/cjs/types/yield/info/account/reward.js +1 -0
  103. package/cjs/types/yield/info/account/target.js +32 -0
  104. package/cjs/types/yield/info/account/unstake.js +27 -0
  105. package/cjs/types/yield/info/base.js +41 -0
  106. package/cjs/types/yield/info/chain/index.js +27 -0
  107. package/cjs/types/yield/info/chain/info.js +1 -0
  108. package/cjs/types/yield/info/chain/target.js +1 -0
  109. package/cjs/types/yield/info/index.js +49 -0
  110. package/cjs/types/yield/info/pallet.js +15 -0
  111. package/cjs/types.js +1 -0
  112. package/cjs/utils/address.js +34 -0
  113. package/cjs/utils/environment.js +23 -28
  114. package/cjs/utils/fetchStaticCache.js +22 -0
  115. package/cjs/utils/fetchStaticData.js +2 -1
  116. package/cjs/utils/index.js +94 -10
  117. package/cjs/utils/keyring.js +57 -0
  118. package/cjs/utils/mv3.js +21 -0
  119. package/cjs/utils/number.js +6 -2
  120. package/cjs/utils/object.js +12 -0
  121. package/constants/index.d.ts +6 -1
  122. package/constants/index.js +6 -1
  123. package/koni/api/nft/config.js +33 -23
  124. package/koni/api/nft/index.js +15 -1
  125. package/koni/api/nft/nft.js +2 -23
  126. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  127. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  128. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  129. package/koni/api/nft/ordinal_nft/index.js +114 -0
  130. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  131. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  132. package/koni/api/staking/bonding/amplitude.js +13 -10
  133. package/koni/api/staking/bonding/astar.js +9 -8
  134. package/koni/api/staking/bonding/index.d.ts +1 -1
  135. package/koni/api/staking/bonding/index.js +5 -1
  136. package/koni/api/staking/bonding/paraChain.js +12 -10
  137. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  138. package/koni/api/staking/bonding/relayChain.js +33 -30
  139. package/koni/api/staking/bonding/utils.d.ts +15 -38
  140. package/koni/api/staking/bonding/utils.js +85 -69
  141. package/koni/api/staking/index.js +2 -1
  142. package/koni/api/staking/paraChain.js +7 -6
  143. package/koni/api/staking/relayChain.js +4 -3
  144. package/koni/api/yield/helper/utils.d.ts +10 -0
  145. package/koni/api/yield/helper/utils.js +32 -0
  146. package/koni/background/cron.d.ts +0 -4
  147. package/koni/background/cron.js +4 -22
  148. package/koni/background/handlers/Extension.d.ts +17 -1
  149. package/koni/background/handlers/Extension.js +327 -30
  150. package/koni/background/handlers/State.d.ts +6 -1
  151. package/koni/background/handlers/State.js +17 -12
  152. package/koni/background/handlers/index.js +4 -2
  153. package/koni/background/subscription.d.ts +1 -6
  154. package/koni/background/subscription.js +8 -104
  155. package/package.json +326 -3
  156. package/services/campaign-service/index.js +9 -6
  157. package/services/chain-service/constants.d.ts +0 -12
  158. package/services/chain-service/constants.js +0 -14
  159. package/services/chain-service/index.js +6 -2
  160. package/services/chain-service/utils.d.ts +1 -0
  161. package/services/chain-service/utils.js +5 -1
  162. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  163. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  164. package/services/earning-service/constants/chains.d.ts +15 -0
  165. package/services/earning-service/constants/chains.js +22 -0
  166. package/services/earning-service/constants/index.d.ts +2 -0
  167. package/services/earning-service/constants/index.js +5 -0
  168. package/services/earning-service/constants/step.d.ts +3 -0
  169. package/services/earning-service/constants/step.js +10 -0
  170. package/services/earning-service/handlers/base.d.ts +113 -0
  171. package/services/earning-service/handlers/base.js +256 -0
  172. package/services/earning-service/handlers/index.d.ts +5 -0
  173. package/services/earning-service/handlers/index.js +8 -0
  174. package/services/earning-service/handlers/lending/base.d.ts +8 -0
  175. package/services/earning-service/handlers/lending/base.js +73 -0
  176. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  177. package/services/earning-service/handlers/lending/index.js +4 -0
  178. package/services/earning-service/handlers/lending/interlay.d.ts +24 -0
  179. package/services/earning-service/handlers/lending/interlay.js +184 -0
  180. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  181. package/services/earning-service/handlers/liquid-staking/acala.js +232 -0
  182. package/services/earning-service/handlers/liquid-staking/base.d.ts +11 -0
  183. package/services/earning-service/handlers/liquid-staking/base.js +89 -0
  184. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +46 -0
  185. package/services/earning-service/handlers/liquid-staking/bifrost.js +287 -0
  186. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  187. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  188. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +26 -0
  189. package/services/earning-service/handlers/liquid-staking/parallel.js +219 -0
  190. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  191. package/services/earning-service/handlers/liquid-staking/stella-swap.js +394 -0
  192. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  193. package/services/earning-service/handlers/native-staking/amplitude.js +425 -0
  194. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  195. package/services/earning-service/handlers/native-staking/astar.js +456 -0
  196. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  197. package/services/earning-service/handlers/native-staking/base-para.js +138 -0
  198. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  199. package/services/earning-service/handlers/native-staking/base.js +152 -0
  200. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  201. package/services/earning-service/handlers/native-staking/index.js +7 -0
  202. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  203. package/services/earning-service/handlers/native-staking/para-chain.js +382 -0
  204. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  205. package/services/earning-service/handlers/native-staking/relay-chain.js +558 -0
  206. package/services/earning-service/handlers/nomination-pool/index.d.ts +36 -0
  207. package/services/earning-service/handlers/nomination-pool/index.js +556 -0
  208. package/services/earning-service/handlers/special.d.ts +64 -0
  209. package/services/earning-service/handlers/special.js +485 -0
  210. package/services/earning-service/service.d.ts +94 -0
  211. package/services/earning-service/service.js +722 -0
  212. package/services/earning-service/utils/index.d.ts +18 -0
  213. package/services/earning-service/utils/index.js +112 -0
  214. package/services/event-service/index.d.ts +2 -0
  215. package/services/event-service/index.js +5 -0
  216. package/services/event-service/types.d.ts +9 -0
  217. package/services/keyring-service/index.d.ts +2 -1
  218. package/services/keyring-service/index.js +14 -2
  219. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  220. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  221. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  222. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  223. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  224. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  225. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  226. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  227. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  228. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  229. package/services/migration-service/scripts/index.js +6 -1
  230. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  231. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  232. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  233. package/services/mint-campaign-service/campaigns/index.js +4 -0
  234. package/services/mint-campaign-service/constants.d.ts +1 -0
  235. package/services/mint-campaign-service/constants.js +4 -0
  236. package/services/mint-campaign-service/index.d.ts +7 -0
  237. package/services/mint-campaign-service/index.js +11 -0
  238. package/services/notification-service/NotificationService.js +3 -2
  239. package/services/request-service/handler/PopupHandler.js +3 -4
  240. package/services/storage-service/DatabaseService.d.ts +22 -1
  241. package/services/storage-service/DatabaseService.js +63 -0
  242. package/services/storage-service/databases/index.d.ts +3 -1
  243. package/services/storage-service/databases/index.js +4 -0
  244. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  245. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  246. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  247. package/services/storage-service/db-stores/YieldPositionStore.d.ts +11 -0
  248. package/services/storage-service/db-stores/YieldPositionStore.js +63 -0
  249. package/services/subscan-service/index.d.ts +3 -2
  250. package/services/subscan-service/index.js +15 -0
  251. package/services/subscan-service/types.d.ts +20 -0
  252. package/services/transaction-service/event-parser/index.d.ts +3 -1
  253. package/services/transaction-service/event-parser/index.js +57 -1
  254. package/services/transaction-service/helpers/index.js +3 -1
  255. package/services/transaction-service/index.d.ts +6 -13
  256. package/services/transaction-service/index.js +247 -73
  257. package/services/transaction-service/types.d.ts +2 -0
  258. package/services/transaction-service/utils.js +1 -0
  259. package/types/campaigns/index.d.ts +1 -0
  260. package/types/campaigns/index.js +4 -0
  261. package/types/campaigns/unlock-dot.d.ts +71 -0
  262. package/types/campaigns/unlock-dot.js +1 -0
  263. package/types/index.d.ts +5 -0
  264. package/types/index.js +5 -1
  265. package/types/ordinal.d.ts +69 -0
  266. package/types/ordinal.js +1 -0
  267. package/types/transaction.d.ts +3 -0
  268. package/types/transaction.js +1 -0
  269. package/types/yield/actions/index.d.ts +2 -0
  270. package/types/yield/actions/index.js +5 -0
  271. package/types/yield/actions/join/index.d.ts +3 -0
  272. package/types/yield/actions/join/index.js +6 -0
  273. package/types/yield/actions/join/step.d.ts +95 -0
  274. package/types/yield/actions/join/step.js +46 -0
  275. package/types/yield/actions/join/submit.d.ts +58 -0
  276. package/types/yield/actions/join/submit.js +1 -0
  277. package/types/yield/actions/join/validate.d.ts +18 -0
  278. package/types/yield/actions/join/validate.js +10 -0
  279. package/types/yield/actions/others.d.ts +85 -0
  280. package/types/yield/actions/others.js +1 -0
  281. package/types/yield/index.d.ts +2 -0
  282. package/types/yield/index.js +5 -0
  283. package/types/yield/info/account/index.d.ts +4 -0
  284. package/types/yield/info/account/index.js +7 -0
  285. package/types/yield/info/account/info.d.ts +92 -0
  286. package/types/yield/info/account/info.js +1 -0
  287. package/types/yield/info/account/reward.d.ts +47 -0
  288. package/types/yield/info/account/reward.js +1 -0
  289. package/types/yield/info/account/target.d.ts +43 -0
  290. package/types/yield/info/account/target.js +27 -0
  291. package/types/yield/info/account/unstake.d.ts +31 -0
  292. package/types/yield/info/account/unstake.js +22 -0
  293. package/types/yield/info/base.d.ts +45 -0
  294. package/types/yield/info/base.js +36 -0
  295. package/types/yield/info/chain/index.d.ts +2 -0
  296. package/types/yield/info/chain/index.js +5 -0
  297. package/types/yield/info/chain/info.d.ts +252 -0
  298. package/types/yield/info/chain/info.js +1 -0
  299. package/types/yield/info/chain/target.d.ts +37 -0
  300. package/types/yield/info/chain/target.js +1 -0
  301. package/types/yield/info/index.d.ts +4 -0
  302. package/types/yield/info/index.js +7 -0
  303. package/types/yield/info/pallet.d.ts +143 -0
  304. package/types/yield/info/pallet.js +9 -0
  305. package/utils/environment.d.ts +9 -2
  306. package/utils/environment.js +14 -26
  307. package/utils/fetchStaticCache.d.ts +1 -0
  308. package/utils/fetchStaticCache.js +14 -0
  309. package/utils/fetchStaticData.js +2 -1
  310. package/utils/index.d.ts +5 -1
  311. package/utils/index.js +53 -3
  312. package/utils/mv3.d.ts +2 -0
  313. package/utils/mv3.js +13 -0
  314. package/utils/number.d.ts +2 -1
  315. package/utils/number.js +2 -1
  316. package/utils/object.d.ts +1 -0
  317. package/utils/object.js +6 -0
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _constants = require("@subwallet/extension-base/constants");
8
+ var _nft = require("@subwallet/extension-base/koni/api/nft/nft");
9
+ var _utils = require("@subwallet/extension-base/koni/api/nft/ordinal_nft/utils");
10
+ var _handlers = require("@subwallet/extension-base/koni/background/handlers");
11
+ // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
12
+ // SPDX-License-Identifier: Apache-2.0
13
+
14
+ const parseParamData = (param, event, chain, address) => {
15
+ const ordinalData = JSON.parse(param.value);
16
+ if ('p' in ordinalData) {
17
+ const properties = {};
18
+ for (const [key, value] of Object.entries(ordinalData)) {
19
+ const _name = key.charAt(0).toUpperCase() + key.slice(1);
20
+ properties[_name] = {
21
+ value: value
22
+ };
23
+ }
24
+ properties['Block number'] = {
25
+ value: event.extrinsic_index.split('-')[0]
26
+ };
27
+ properties.Timestamp = {
28
+ value: event.block_timestamp
29
+ };
30
+ const op = ordinalData.op.charAt(0).toUpperCase() + ordinalData.op.slice(1);
31
+ const nameParams = [op];
32
+ if (ordinalData.amt !== undefined) {
33
+ nameParams.push(ordinalData.amt);
34
+ }
35
+ nameParams.push(ordinalData.tick);
36
+ const name = nameParams.join(' ');
37
+ return {
38
+ chain: chain,
39
+ collectionId: _constants.ORDINAL_COLLECTION,
40
+ id: event.extrinsic_hash,
41
+ description: JSON.stringify(ordinalData),
42
+ name,
43
+ owner: address,
44
+ properties: properties
45
+ };
46
+ }
47
+ return undefined;
48
+ };
49
+ class OrdinalNftApi extends _nft.BaseNftApi {
50
+ constructor(addresses, chain, subscanChain) {
51
+ super(chain, undefined, addresses);
52
+ this.subscanChain = subscanChain;
53
+ }
54
+ async handleNft(address, handleNftParams) {
55
+ const events = await _handlers.state.subscanService.addRequest(async () => {
56
+ return await (0, _utils.fetchRemarkEvent)(this.subscanChain, address);
57
+ });
58
+ if (events && events.length) {
59
+ const extrinsicIds = events.map(data => data.extrinsic_index);
60
+ const extrinsicParams = await _handlers.state.subscanService.addRequest(async () => {
61
+ return await (0, _utils.fetchExtrinsicParams)(this.subscanChain, extrinsicIds);
62
+ });
63
+ const items = [];
64
+ for (const data of extrinsicParams) {
65
+ const {
66
+ extrinsic_index: extrinsicIndex,
67
+ params
68
+ } = data;
69
+ const event = events.find(item => item.extrinsic_index === extrinsicIndex);
70
+ if (params.length === 1 && event) {
71
+ const [param] = params;
72
+ if (param.name === 'remark') {
73
+ const childParam = {
74
+ name: param.name,
75
+ type: param.type,
76
+ value: param.value
77
+ };
78
+ const item = parseParamData(childParam, event, this.chain, address);
79
+ if (item) {
80
+ items.push(item);
81
+ }
82
+ } else if (param.name === 'calls') {
83
+ const children = param.value;
84
+ for (const child of children) {
85
+ if (child.call_module === 'System' && child.call_name === 'remark_with_event') {
86
+ for (const childParam of child.params) {
87
+ const item = parseParamData(childParam, event, this.chain, address);
88
+ if (item) {
89
+ items.push(item);
90
+ }
91
+ }
92
+ }
93
+ }
94
+ }
95
+ }
96
+ }
97
+ if (items.length) {
98
+ // handleNftParams.updateCollection(this.chain, {
99
+ // chain: this.chain,
100
+ // collectionId: ORDINAL_COLLECTION
101
+ // });
102
+
103
+ for (const item of items) {
104
+ handleNftParams.updateItem(this.chain, item, address);
105
+ }
106
+ }
107
+ }
108
+ }
109
+ async handleNfts(params) {
110
+ await Promise.all(this.addresses.map(address => this.handleNft(address, params)));
111
+ }
112
+ async fetchNfts(params) {
113
+ try {
114
+ await this.handleNfts(params);
115
+ } catch (e) {
116
+ return 0;
117
+ }
118
+ return 1;
119
+ }
120
+ }
121
+ exports.default = OrdinalNftApi;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.fetchRemarkEvent = exports.fetchExtrinsicParams = void 0;
7
+ var _constants = require("./constants");
8
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
9
+ // SPDX-License-Identifier: Apache-2.0
10
+
11
+ const fetchRemarkEvent = async (chain, address) => {
12
+ const params = {
13
+ ..._constants.BASE_FETCH_ORDINAL_EVENT_DATA,
14
+ address
15
+ };
16
+ const response = await fetch(_constants.GET_EVENT_LIST_API.replace('{{chain}}', chain), {
17
+ method: 'POST',
18
+ headers: {
19
+ 'Content-Type': 'application/json'
20
+ },
21
+ body: JSON.stringify(params)
22
+ });
23
+ const data = await response.json();
24
+ return data.data.events;
25
+ };
26
+ exports.fetchRemarkEvent = fetchRemarkEvent;
27
+ const fetchExtrinsicParams = async (chain, extrinsicIndexes) => {
28
+ const params = {
29
+ extrinsic_index: extrinsicIndexes
30
+ };
31
+ const response = await fetch(_constants.GET_EXTRINSIC_PARAMS_API.replace('{{chain}}', chain), {
32
+ method: 'POST',
33
+ headers: {
34
+ 'Content-Type': 'application/json'
35
+ },
36
+ body: JSON.stringify(params)
37
+ });
38
+ const data = await response.json();
39
+ return data.data;
40
+ };
41
+ exports.fetchExtrinsicParams = fetchExtrinsicParams;
@@ -15,7 +15,10 @@ exports.subscribeAmplitudeStakingMetadata = subscribeAmplitudeStakingMetadata;
15
15
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
16
16
  var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
17
17
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
18
- var _utils2 = require("@subwallet/extension-base/utils");
18
+ var _constants2 = require("@subwallet/extension-base/services/earning-service/constants");
19
+ var _utils2 = require("@subwallet/extension-base/services/earning-service/utils");
20
+ var _types = require("@subwallet/extension-base/types");
21
+ var _utils3 = require("@subwallet/extension-base/utils");
19
22
  var _util = require("@polkadot/util");
20
23
  var _utilCrypto = require("@polkadot/util-crypto");
21
24
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -24,7 +27,7 @@ var _utilCrypto = require("@polkadot/util-crypto");
24
27
  function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
25
28
  return substrateApi.api.query.parachainStaking.round(_round => {
26
29
  const roundObj = _round.toHuman();
27
- const round = (0, _utils2.parseRawNumber)(roundObj.current);
30
+ const round = (0, _utils3.parseRawNumber)(roundObj.current);
28
31
  const maxDelegations = substrateApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
29
32
  const minDelegatorStake = substrateApi.api.consts.parachainStaking.minDelegatorStake.toString();
30
33
  const unstakingDelay = substrateApi.api.consts.parachainStaking.stakeDuration.toString();
@@ -48,7 +51,7 @@ function subscribeAmplitudeStakingMetadata(chain, substrateApi, callback) {
48
51
  async function getAmplitudeStakingMetadata(chain, substrateApi) {
49
52
  const chainApi = await substrateApi.isReady;
50
53
  const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
51
- const round = (0, _utils2.parseRawNumber)(_round.current);
54
+ const round = (0, _utils3.parseRawNumber)(_round.current);
52
55
  const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerRound.toString();
53
56
  const minDelegatorStake = chainApi.api.consts.parachainStaking.minDelegatorStake.toString();
54
57
  const unstakingDelay = chainApi.api.consts.parachainStaking.stakeDuration.toString();
@@ -76,16 +79,16 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
76
79
  let activeStake = '0';
77
80
  if (delegatorState) {
78
81
  // delegatorState can be null while unstaking all
79
- const identityPromises = delegatorState.map(delegate => (0, _utils.parseIdentity)(substrateApi, delegate.owner));
82
+ const identityPromises = delegatorState.map(delegate => (0, _utils2.parseIdentity)(substrateApi, delegate.owner));
80
83
  const identities = await Promise.all(identityPromises);
81
84
  for (let i = 0; i < delegatorState.length; i++) {
82
85
  const delegate = delegatorState[i];
83
86
  const [identity] = identities[i];
84
87
  activeStake = delegate.amount.toString();
85
88
  const bnActiveStake = new _util.BN(activeStake);
86
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
89
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
87
90
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
88
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
91
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
89
92
  }
90
93
  nominationList.push({
91
94
  status: delegationStatus,
@@ -111,7 +114,7 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
111
114
  const waitingTime = remainingBlock * blockDuration;
112
115
  unstakingList.push({
113
116
  chain: chainInfo.slug,
114
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
117
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
115
118
  claimable: unstakingAmount.toString(),
116
119
  waitingTime,
117
120
  validatorAddress: undefined
@@ -119,7 +122,7 @@ async function subscribeAmplitudeNominatorMetadata(chainInfo, address, substrate
119
122
  }
120
123
  }
121
124
  }
122
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(new _util.BN(activeStake), nominationList);
125
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(new _util.BN(activeStake), nominationList);
123
126
  return {
124
127
  chain: chainInfo.slug,
125
128
  type: _KoniTypes.StakingType.NOMINATED,
@@ -151,7 +154,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
151
154
  chain: chainInfo.slug,
152
155
  type: _KoniTypes.StakingType.NOMINATED,
153
156
  address,
154
- status: _KoniTypes.StakingStatus.NOT_STAKING,
157
+ status: _types.EarningStatus.NOT_STAKING,
155
158
  activeStake: '0',
156
159
  nominations: [],
157
160
  unstakings: []
@@ -160,12 +163,12 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
160
163
  let activeStake = '0';
161
164
  if (delegatorState) {
162
165
  // delegatorState can be null while unstaking all
163
- const [identity] = await (0, _utils.parseIdentity)(substrateApi, delegatorState.owner);
166
+ const [identity] = await (0, _utils2.parseIdentity)(substrateApi, delegatorState.owner);
164
167
  activeStake = delegatorState.amount.toString();
165
168
  const bnActiveStake = new _util.BN(activeStake);
166
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
169
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
167
170
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegatorStake))) {
168
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
171
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
169
172
  }
170
173
  nominationList.push({
171
174
  status: delegationStatus,
@@ -192,7 +195,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
192
195
  const waitingTime = remainingBlock * blockDuration;
193
196
  unstakingList.push({
194
197
  chain,
195
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
198
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
196
199
  claimable: nearestUnstakingAmount.toString(),
197
200
  waitingTime,
198
201
  validatorAddress: (delegatorState === null || delegatorState === void 0 ? void 0 : delegatorState.owner) || undefined
@@ -201,7 +204,7 @@ async function getAmplitudeNominatorMetadata(chainInfo, address, substrateApi) {
201
204
  if (nominationList.length === 0 && unstakingList.length === 0) {
202
205
  return;
203
206
  }
204
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(new _util.BN(activeStake), nominationList);
207
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(new _util.BN(activeStake), nominationList);
205
208
  return {
206
209
  chain,
207
210
  type: _KoniTypes.StakingType.NOMINATED,
@@ -216,7 +219,7 @@ async function getAmplitudeCollatorsInfo(chain, substrateApi) {
216
219
  const chainApi = await substrateApi.isReady;
217
220
 
218
221
  // Noted: Krest do not have reward
219
- if (_constants._STAKING_CHAIN_GROUP.krest_network.includes(chain)) {
222
+ if (_constants2._STAKING_CHAIN_GROUP.krest_network.includes(chain)) {
220
223
  const _allCollators = await chainApi.api.query.parachainStaking.candidatePool.entries();
221
224
  const maxDelegatorsPerCollator = chainApi.api.consts.parachainStaking.maxDelegatorsPerCollator.toString();
222
225
  const allCollators = [];
@@ -279,7 +282,7 @@ async function getAmplitudeBondingExtrinsic(substrateApi, amount, selectedValida
279
282
  const {
280
283
  bondedValidators
281
284
  } = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
282
- if (!bondedValidators.includes((0, _utils2.reformatAddress)(selectedValidatorInfo.address, 0))) {
285
+ if (!bondedValidators.includes((0, _utils3.reformatAddress)(selectedValidatorInfo.address, 0))) {
283
286
  return chainApi.api.tx.parachainStaking.joinDelegators(selectedValidatorInfo.address, binaryAmount);
284
287
  } else {
285
288
  const _params = chainApi.api.tx.parachainStaking.delegatorStakeMore.toJSON();
@@ -17,6 +17,7 @@ exports.subscribeAstarStakingMetadata = subscribeAstarStakingMetadata;
17
17
  var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
18
18
  var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
19
19
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
20
+ var _types = require("@subwallet/extension-base/types");
20
21
  var _utils2 = require("@subwallet/extension-base/utils");
21
22
  var _crossFetch = _interopRequireDefault(require("cross-fetch"));
22
23
  var _util = require("@polkadot/util");
@@ -115,7 +116,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
115
116
  const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
116
117
  const bnCurrentStake = new _util.BN(currentStake);
117
118
  if (bnCurrentStake.gt(_util.BN_ZERO)) {
118
- const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _KoniTypes.StakingStatus.EARNING_REWARD : _KoniTypes.StakingStatus.NOT_EARNING;
119
+ const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING;
119
120
  bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
120
121
  const dappInfo = dAppInfoMap[dappAddress];
121
122
  nominationList.push({
@@ -139,7 +140,7 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
139
140
  const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chainInfo.slug];
140
141
  unstakingList.push({
141
142
  chain: chainInfo.slug,
142
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
143
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
143
144
  claimable: unlockingChunk.amount.toString(),
144
145
  waitingTime
145
146
  });
@@ -150,13 +151,13 @@ async function subscribeAstarNominatorMetadata(chainInfo, address, substrateApi,
150
151
  chain: chainInfo.slug,
151
152
  type: _KoniTypes.StakingType.NOMINATED,
152
153
  address,
153
- status: _KoniTypes.StakingStatus.NOT_STAKING,
154
+ status: _types.EarningStatus.NOT_STAKING,
154
155
  activeStake: '0',
155
156
  nominations: [],
156
157
  unstakings: []
157
158
  };
158
159
  }
159
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
160
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
160
161
  return {
161
162
  chain: chainInfo.slug,
162
163
  type: _KoniTypes.StakingType.NOMINATED,
@@ -201,7 +202,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
201
202
  const currentStake = stakeList.slice(-1)[0].staked.toString() || '0';
202
203
  const bnCurrentStake = new _util.BN(currentStake);
203
204
  if (bnCurrentStake.gt(_util.BN_ZERO)) {
204
- const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _KoniTypes.StakingStatus.EARNING_REWARD : _KoniTypes.StakingStatus.NOT_EARNING;
205
+ const dappStakingStatus = bnCurrentStake.gt(_util.BN_ZERO) && bnCurrentStake.gte(new _util.BN(minDelegatorStake)) ? _types.EarningStatus.EARNING_REWARD : _types.EarningStatus.NOT_EARNING;
205
206
  bnTotalActiveStake = bnTotalActiveStake.add(bnCurrentStake);
206
207
  const dappInfo = dAppInfoMap[dappAddress];
207
208
  nominationList.push({
@@ -225,7 +226,7 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
225
226
  const waitingTime = remainingEra * _constants._STAKING_ERA_LENGTH_MAP[chain];
226
227
  unstakingList.push({
227
228
  chain,
228
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
229
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
229
230
  claimable: unlockingChunk.amount.toString(),
230
231
  waitingTime
231
232
  });
@@ -236,13 +237,13 @@ async function getAstarNominatorMetadata(chainInfo, address, substrateApi) {
236
237
  chain: chainInfo.slug,
237
238
  type: _KoniTypes.StakingType.NOMINATED,
238
239
  address,
239
- status: _KoniTypes.StakingStatus.NOT_STAKING,
240
+ status: _types.EarningStatus.NOT_STAKING,
240
241
  activeStake: '0',
241
242
  nominations: [],
242
243
  unstakings: []
243
244
  };
244
245
  }
245
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
246
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
246
247
  return {
247
248
  chain,
248
249
  type: _KoniTypes.StakingType.NOMINATED,
@@ -369,13 +370,13 @@ async function getAstarClaimRewardExtrinsic(substrateApi, address) {
369
370
  function getAstarWithdrawable(nominatorMetadata) {
370
371
  const unstakingInfo = {
371
372
  chain: nominatorMetadata.chain,
372
- status: _KoniTypes.UnstakingStatus.CLAIMABLE,
373
+ status: _types.UnstakingStatus.CLAIMABLE,
373
374
  claimable: '0',
374
375
  waitingTime: 0
375
376
  };
376
377
  let bnWithdrawable = _util.BN_ZERO;
377
378
  for (const unstaking of nominatorMetadata.unstakings) {
378
- if (unstaking.status === _KoniTypes.UnstakingStatus.CLAIMABLE) {
379
+ if (unstaking.status === _types.UnstakingStatus.CLAIMABLE) {
379
380
  bnWithdrawable = bnWithdrawable.add(new _util.BN(unstaking.claimable));
380
381
  }
381
382
  }
@@ -20,13 +20,16 @@ var _amplitude = require("@subwallet/extension-base/koni/api/staking/bonding/amp
20
20
  var _astar = require("@subwallet/extension-base/koni/api/staking/bonding/astar");
21
21
  var _paraChain = require("@subwallet/extension-base/koni/api/staking/bonding/paraChain");
22
22
  var _relayChain = require("@subwallet/extension-base/koni/api/staking/bonding/relayChain");
23
- var _constants = require("@subwallet/extension-base/services/chain-service/constants");
23
+ var _constants = require("@subwallet/extension-base/services/earning-service/constants");
24
24
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
25
25
  // SPDX-License-Identifier: Apache-2.0
26
26
 
27
27
  // all addresses must be converted to its chain format
28
28
 
29
29
  function validateUnbondingCondition(nominatorMetadata, amount, chain, chainStakingMetadata, selectedValidator) {
30
+ if (nominatorMetadata.type === _KoniTypes.StakingType.LIQUID_STAKING) {
31
+ return [];
32
+ }
30
33
  if (_constants._STAKING_CHAIN_GROUP.relay.includes(chain)) {
31
34
  return (0, _relayChain.validateRelayUnbondingCondition)(amount, chainStakingMetadata, nominatorMetadata);
32
35
  }
@@ -21,7 +21,9 @@ var _KoniTypes = require("@subwallet/extension-base/background/KoniTypes");
21
21
  var _utils = require("@subwallet/extension-base/koni/api/staking/bonding/utils");
22
22
  var _constants = require("@subwallet/extension-base/services/chain-service/constants");
23
23
  var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
24
- var _utils3 = require("@subwallet/extension-base/utils");
24
+ var _utils3 = require("@subwallet/extension-base/services/earning-service/utils");
25
+ var _types = require("@subwallet/extension-base/types");
26
+ var _utils4 = require("@subwallet/extension-base/utils");
25
27
  var _util = require("@polkadot/util");
26
28
  var _utilCrypto = require("@polkadot/util-crypto");
27
29
  // Copyright 2019-2022 @subwallet/extension-koni authors & contributors
@@ -31,7 +33,7 @@ function validateParaChainUnbondingCondition(amount, nominatorMetadata, chainSta
31
33
  const errors = [];
32
34
  let targetNomination;
33
35
  for (const nomination of nominatorMetadata.nominations) {
34
- if ((0, _utils3.isSameAddress)(nomination.validatorAddress, selectedCollator)) {
36
+ if ((0, _utils4.isSameAddress)(nomination.validatorAddress, selectedCollator)) {
35
37
  targetNomination = nomination;
36
38
  break;
37
39
  }
@@ -64,7 +66,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
64
66
  const minStakeErrorMessage = (0, _utils.getMinStakeErrorMessage)(chainInfo, bnMinStake);
65
67
  const maxValidatorErrorMessage = (0, _utils.getMaxValidatorErrorMessage)(chainInfo, chainStakingMetadata.maxValidatorPerNominator);
66
68
  const existUnstakeErrorMessage = (0, _utils.getExistUnstakeErrorMessage)(chainInfo.slug, nominatorMetadata === null || nominatorMetadata === void 0 ? void 0 : nominatorMetadata.type, true);
67
- if (!nominatorMetadata || nominatorMetadata.status === _KoniTypes.StakingStatus.NOT_STAKING) {
69
+ if (!nominatorMetadata || nominatorMetadata.status === _types.EarningStatus.NOT_STAKING) {
68
70
  if (!bnTotalStake.gte(bnMinStake)) {
69
71
  errors.push(new _TransactionError.TransactionError(_KoniTypes.StakingTxErrorType.NOT_ENOUGH_MIN_STAKE, minStakeErrorMessage));
70
72
  }
@@ -73,7 +75,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
73
75
  const {
74
76
  bondedValidators
75
77
  } = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
76
- const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollator.address, 0);
78
+ const parsedSelectedCollatorAddress = (0, _utils4.reformatAddress)(selectedCollator.address, 0);
77
79
  if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
78
80
  // new delegation
79
81
  if (!bnTotalStake.gte(bnMinStake)) {
@@ -87,7 +89,7 @@ function validateParaChainBondingCondition(chainInfo, amount, selectedCollators,
87
89
  let currentDelegationAmount = '0';
88
90
  let hasUnstaking = false;
89
91
  for (const delegation of nominatorMetadata.nominations) {
90
- if ((0, _utils3.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
92
+ if ((0, _utils4.reformatAddress)(delegation.validatorAddress, 0) === parsedSelectedCollatorAddress) {
91
93
  currentDelegationAmount = delegation.activeStake;
92
94
  hasUnstaking = !!delegation.hasUnstaking && delegation.hasUnstaking;
93
95
  break;
@@ -107,7 +109,7 @@ function subscribeParaChainStakingMetadata(chain, substrateApi, callback) {
107
109
  return substrateApi.api.query.parachainStaking.round(_round => {
108
110
  var _substrateApi$api$con, _substrateApi$api$con2, _substrateApi$api$con3, _substrateApi$api$con4, _substrateApi$api$con5, _substrateApi$api$con6;
109
111
  const roundObj = _round.toHuman();
110
- const round = (0, _utils3.parseRawNumber)(roundObj.current);
112
+ const round = (0, _utils4.parseRawNumber)(roundObj.current);
111
113
  const maxDelegations = (_substrateApi$api$con = substrateApi.api.consts) === null || _substrateApi$api$con === void 0 ? void 0 : (_substrateApi$api$con2 = _substrateApi$api$con.parachainStaking) === null || _substrateApi$api$con2 === void 0 ? void 0 : (_substrateApi$api$con3 = _substrateApi$api$con2.maxDelegationsPerDelegator) === null || _substrateApi$api$con3 === void 0 ? void 0 : _substrateApi$api$con3.toString();
112
114
  const unstakingDelay = substrateApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
113
115
  const unstakingPeriod = parseInt(unstakingDelay) * (_constants._STAKING_ERA_LENGTH_MAP[chain] || _constants._STAKING_ERA_LENGTH_MAP.default);
@@ -129,7 +131,7 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
129
131
  var _chainApi$api$consts$, _chainApi$api$consts$2;
130
132
  const chainApi = await substrateApi.isReady;
131
133
  const _round = (await chainApi.api.query.parachainStaking.round()).toHuman();
132
- const round = (0, _utils3.parseRawNumber)(_round.current);
134
+ const round = (0, _utils4.parseRawNumber)(_round.current);
133
135
  const maxDelegations = chainApi.api.consts.parachainStaking.maxDelegationsPerDelegator.toString();
134
136
  const unstakingDelay = chainApi.api.consts.parachainStaking.delegationBondLessDelay.toString();
135
137
  const minDelegatorStake = (_chainApi$api$consts$ = chainApi.api.consts.parachainStaking) === null || _chainApi$api$consts$ === void 0 ? void 0 : (_chainApi$api$consts$2 = _chainApi$api$consts$.minDelegatorStk) === null || _chainApi$api$consts$2 === void 0 ? void 0 : _chainApi$api$consts$2.toString();
@@ -150,7 +152,7 @@ async function getParaChainStakingMetadata(chain, substrateApi) {
150
152
  }
151
153
 
152
154
  const inflationConfig = _inflation.toHuman();
153
- const inflation = (0, _utils.getParaCurrentInflation)((0, _utils3.parseRawNumber)(totalStake.toString()), inflationConfig);
155
+ const inflation = (0, _utils.getParaCurrentInflation)((0, _utils4.parseRawNumber)(totalStake.toString()), inflationConfig);
154
156
  const unstakingPeriod = parseInt(unstakingDelay) * _constants._STAKING_ERA_LENGTH_MAP[chain];
155
157
  return {
156
158
  chain,
@@ -173,17 +175,17 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
173
175
  const roundInfo = _roundInfo.toPrimitive();
174
176
  const currentRound = roundInfo.current;
175
177
  await Promise.all(delegatorState.delegations.map(async delegation => {
176
- const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
178
+ const [_delegationScheduledRequests, [identity], _collatorInfo] = await Promise.all([substrateApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils3.parseIdentity)(substrateApi, delegation.owner), substrateApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
177
179
  const collatorInfo = _collatorInfo.toPrimitive();
178
180
  const minDelegation = collatorInfo === null || collatorInfo === void 0 ? void 0 : collatorInfo.lowestTopDelegationAmount.toString();
179
181
  const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
180
182
  let hasUnstaking = false;
181
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
183
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
182
184
 
183
185
  // parse unstaking info
184
186
  if (delegationScheduledRequests) {
185
187
  for (const scheduledRequest of delegationScheduledRequests) {
186
- if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
188
+ if ((0, _utils4.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils4.reformatAddress)(address, 0)) {
187
189
  // add network prefix
188
190
  const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
189
191
  const remainingEra = scheduledRequest.whenExecutable - currentRound;
@@ -191,7 +193,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
191
193
  const claimable = Object.values(scheduledRequest.action)[0];
192
194
  unstakingMap[delegation.owner] = {
193
195
  chain: chainInfo.slug,
194
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
196
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
195
197
  validatorAddress: delegation.owner,
196
198
  claimable: claimable.toString(),
197
199
  waitingTime
@@ -206,7 +208,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
206
208
  const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
207
209
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
208
210
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
209
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
211
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
210
212
  }
211
213
  bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
212
214
  nominationList.push({
@@ -227,7 +229,7 @@ async function subscribeParaChainNominatorMetadata(chainInfo, address, substrate
227
229
  // nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
228
230
  // }));
229
231
 
230
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
232
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
231
233
  return {
232
234
  chain: chainInfo.slug,
233
235
  type: _KoniTypes.StakingType.NOMINATED,
@@ -257,7 +259,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
257
259
  chain: chainInfo.slug,
258
260
  type: _KoniTypes.StakingType.NOMINATED,
259
261
  address,
260
- status: _KoniTypes.StakingStatus.NOT_STAKING,
262
+ status: _types.EarningStatus.NOT_STAKING,
261
263
  activeStake: '0',
262
264
  nominations: [],
263
265
  unstakings: []
@@ -265,19 +267,19 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
265
267
  }
266
268
  let bnTotalActiveStake = _util.BN_ZERO;
267
269
  await Promise.all(delegatorState.delegations.map(async delegation => {
268
- const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils.parseIdentity)(substrateApi, delegation.owner), chainApi.api.query.parachainStaking.round(), chainApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
270
+ const [_delegationScheduledRequests, [identity], _roundInfo, _collatorInfo] = await Promise.all([chainApi.api.query.parachainStaking.delegationScheduledRequests(delegation.owner), (0, _utils3.parseIdentity)(substrateApi, delegation.owner), chainApi.api.query.parachainStaking.round(), chainApi.api.query.parachainStaking.candidateInfo(delegation.owner)]);
269
271
  const rawCollatorInfo = _collatorInfo.toHuman();
270
272
  const minDelegation = (rawCollatorInfo === null || rawCollatorInfo === void 0 ? void 0 : rawCollatorInfo.lowestTopDelegationAmount).replaceAll(',', '');
271
273
  const roundInfo = _roundInfo.toPrimitive();
272
274
  const delegationScheduledRequests = _delegationScheduledRequests.toPrimitive();
273
275
  const currentRound = roundInfo.current;
274
276
  let hasUnstaking = false;
275
- let delegationStatus = _KoniTypes.StakingStatus.NOT_EARNING;
277
+ let delegationStatus = _types.EarningStatus.NOT_EARNING;
276
278
 
277
279
  // parse unstaking info
278
280
  if (delegationScheduledRequests) {
279
281
  for (const scheduledRequest of delegationScheduledRequests) {
280
- if ((0, _utils3.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils3.reformatAddress)(address, 0)) {
282
+ if ((0, _utils4.reformatAddress)(scheduledRequest.delegator, 0) === (0, _utils4.reformatAddress)(address, 0)) {
281
283
  // add network prefix
282
284
  const isClaimable = scheduledRequest.whenExecutable - currentRound < 0;
283
285
  const remainingEra = scheduledRequest.whenExecutable - (currentRound + 1);
@@ -285,7 +287,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
285
287
  const claimable = Object.values(scheduledRequest.action)[0];
286
288
  unstakingMap[delegation.owner] = {
287
289
  chain,
288
- status: isClaimable ? _KoniTypes.UnstakingStatus.CLAIMABLE : _KoniTypes.UnstakingStatus.UNLOCKING,
290
+ status: isClaimable ? _types.UnstakingStatus.CLAIMABLE : _types.UnstakingStatus.UNLOCKING,
289
291
  validatorAddress: delegation.owner,
290
292
  claimable: claimable.toString(),
291
293
  waitingTime: waitingTime
@@ -300,7 +302,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
300
302
  const bnUnstakeBalance = unstakingMap[delegation.owner] ? new _util.BN(unstakingMap[delegation.owner].claimable) : _util.BN_ZERO;
301
303
  const bnActiveStake = bnStake.sub(bnUnstakeBalance);
302
304
  if (bnActiveStake.gt(_util.BN_ZERO) && bnActiveStake.gte(new _util.BN(minDelegation))) {
303
- delegationStatus = _KoniTypes.StakingStatus.EARNING_REWARD;
305
+ delegationStatus = _types.EarningStatus.EARNING_REWARD;
304
306
  }
305
307
  bnTotalActiveStake = bnTotalActiveStake.add(bnActiveStake);
306
308
  nominationList.push({
@@ -317,7 +319,7 @@ async function getParaChainNominatorMetadata(chainInfo, address, substrateApi) {
317
319
  const collatorInfo = _collatorInfo.toPrimitive();
318
320
  nomination.validatorMinStake = collatorInfo.lowestTopDelegationAmount.toString();
319
321
  }));
320
- const stakingStatus = (0, _utils.getStakingStatusByNominations)(bnTotalActiveStake, nominationList);
322
+ const stakingStatus = (0, _utils.getEarningStatusByNominations)(bnTotalActiveStake, nominationList);
321
323
  return {
322
324
  chain,
323
325
  type: _KoniTypes.StakingType.NOMINATED,
@@ -360,7 +362,7 @@ async function getParachainCollatorsInfo(chain, substrateApi) {
360
362
  }
361
363
  const extraInfoMap = {};
362
364
  await Promise.all(allCollators.map(async collator => {
363
- const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils.parseIdentity)(apiProps, collator.address)]);
365
+ const [_info, [identity, isReasonable]] = await Promise.all([apiProps.api.query.parachainStaking.candidateInfo(collator.address), (0, _utils3.parseIdentity)(apiProps, collator.address)]);
364
366
  const rawInfo = _info.toHuman();
365
367
  const active = (rawInfo === null || rawInfo === void 0 ? void 0 : rawInfo.status) === 'Active';
366
368
  extraInfoMap[collator.address] = {
@@ -388,7 +390,7 @@ async function getParaBondingExtrinsic(chainInfo, substrateApi, amount, selected
388
390
  bondedValidators,
389
391
  nominationCount
390
392
  } = (0, _utils.getBondedValidators)(nominatorMetadata.nominations);
391
- const parsedSelectedCollatorAddress = (0, _utils3.reformatAddress)(selectedCollatorInfo.address, 0);
393
+ const parsedSelectedCollatorAddress = (0, _utils4.reformatAddress)(selectedCollatorInfo.address, 0);
392
394
  if (!bondedValidators.includes(parsedSelectedCollatorAddress)) {
393
395
  return apiPromise.api.tx.parachainStaking.delegate(selectedCollatorInfo.address, binaryAmount, new _util.BN(selectedCollatorInfo.nominatorCount), nominationCount);
394
396
  } else {