@subwallet/extension-base 1.1.29-0 → 1.1.29-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 (293) hide show
  1. package/background/KoniTypes.d.ts +95 -68
  2. package/background/KoniTypes.js +16 -13
  3. package/background/errors/TransactionError.js +9 -0
  4. package/cjs/background/KoniTypes.js +17 -16
  5. package/cjs/background/errors/TransactionError.js +9 -0
  6. package/cjs/constants/index.js +19 -4
  7. package/cjs/koni/api/nft/config.js +33 -23
  8. package/cjs/koni/api/nft/index.js +14 -0
  9. package/cjs/koni/api/nft/nft.js +1 -22
  10. package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
  11. package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
  12. package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
  13. package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
  14. package/cjs/koni/api/staking/bonding/astar.js +11 -10
  15. package/cjs/koni/api/staking/bonding/index.js +4 -1
  16. package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
  17. package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
  18. package/cjs/koni/api/staking/bonding/utils.js +104 -86
  19. package/cjs/koni/api/staking/index.js +6 -5
  20. package/cjs/koni/api/staking/paraChain.js +6 -5
  21. package/cjs/koni/api/staking/relayChain.js +3 -2
  22. package/cjs/koni/api/yield/helper/utils.js +46 -0
  23. package/cjs/koni/background/cron.js +11 -1
  24. package/cjs/koni/background/handlers/Extension.js +362 -69
  25. package/cjs/koni/background/handlers/State.js +51 -3
  26. package/cjs/koni/background/handlers/index.js +4 -2
  27. package/cjs/koni/background/subscription.js +95 -37
  28. package/cjs/services/campaign-service/index.js +9 -6
  29. package/cjs/services/chain-service/constants.js +2 -16
  30. package/cjs/services/chain-service/utils.js +7 -1
  31. package/cjs/services/earning-service/constants/chains.js +29 -0
  32. package/cjs/services/earning-service/constants/index.js +27 -0
  33. package/cjs/services/earning-service/constants/step.js +18 -0
  34. package/cjs/services/earning-service/handlers/base.js +232 -0
  35. package/cjs/services/earning-service/handlers/index.js +60 -0
  36. package/cjs/services/earning-service/handlers/lending/base.js +20 -0
  37. package/cjs/services/earning-service/handlers/lending/index.js +13 -0
  38. package/cjs/services/earning-service/handlers/lending/interlay.js +184 -0
  39. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +217 -0
  40. package/cjs/services/earning-service/handlers/liquid-staking/base.js +43 -0
  41. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +283 -0
  42. package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
  43. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +196 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +409 -0
  45. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +382 -0
  46. package/cjs/services/earning-service/handlers/native-staking/astar.js +459 -0
  47. package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
  48. package/cjs/services/earning-service/handlers/native-staking/base.js +159 -0
  49. package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
  50. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +383 -0
  51. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +542 -0
  52. package/cjs/services/earning-service/handlers/nomination-pool/index.js +541 -0
  53. package/cjs/services/earning-service/handlers/special.js +411 -0
  54. package/cjs/services/earning-service/service.js +387 -0
  55. package/cjs/services/earning-service/utils/index.js +128 -0
  56. package/cjs/services/event-service/index.js +4 -0
  57. package/cjs/services/keyring-service/index.js +14 -2
  58. package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
  59. package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
  60. package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  61. package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  62. package/cjs/services/migration-service/scripts/databases/MigrateEarningHistory.js +21 -0
  63. package/cjs/services/migration-service/scripts/databases/MigrateEarningVersion.js +21 -0
  64. package/cjs/services/migration-service/scripts/index.js +7 -1
  65. package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
  66. package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
  67. package/cjs/services/mint-campaign-service/constants.js +11 -0
  68. package/cjs/services/mint-campaign-service/index.js +18 -0
  69. package/cjs/services/notification-service/NotificationService.js +1 -1
  70. package/cjs/services/storage-service/DatabaseService.js +51 -0
  71. package/cjs/services/storage-service/databases/index.js +4 -0
  72. package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  73. package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
  74. package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
  75. package/cjs/services/subscan-service/index.js +16 -0
  76. package/cjs/services/transaction-service/event-parser/index.js +58 -0
  77. package/cjs/services/transaction-service/helpers/index.js +3 -1
  78. package/cjs/services/transaction-service/index.js +185 -74
  79. package/cjs/services/transaction-service/utils.js +1 -0
  80. package/cjs/types/campaigns/index.js +16 -0
  81. package/cjs/types/campaigns/unlock-dot.js +1 -0
  82. package/cjs/types/index.js +44 -0
  83. package/cjs/types/ordinal.js +1 -0
  84. package/cjs/types/transaction.js +1 -0
  85. package/cjs/types/yield/actions/index.js +27 -0
  86. package/cjs/types/yield/actions/join/index.js +38 -0
  87. package/cjs/types/yield/actions/join/step.js +47 -0
  88. package/cjs/types/yield/actions/join/submit.js +1 -0
  89. package/cjs/types/yield/actions/join/validate.js +16 -0
  90. package/cjs/types/yield/actions/others.js +1 -0
  91. package/cjs/types/yield/index.js +27 -0
  92. package/cjs/types/yield/info/account/index.js +49 -0
  93. package/cjs/types/yield/info/account/info.js +1 -0
  94. package/cjs/types/yield/info/account/reward.js +1 -0
  95. package/cjs/types/yield/info/account/target.js +32 -0
  96. package/cjs/types/yield/info/account/unstake.js +27 -0
  97. package/cjs/types/yield/info/base.js +41 -0
  98. package/cjs/types/yield/info/chain/index.js +27 -0
  99. package/cjs/types/yield/info/chain/info.js +1 -0
  100. package/cjs/types/yield/info/chain/target.js +1 -0
  101. package/cjs/types/yield/info/index.js +49 -0
  102. package/cjs/types/yield/info/pallet.js +15 -0
  103. package/cjs/utils/fetchStaticData.js +2 -1
  104. package/cjs/utils/index.js +89 -1
  105. package/cjs/utils/object.js +12 -0
  106. package/cjs/utils/yield/index.js +3 -0
  107. package/constants/index.d.ts +6 -1
  108. package/constants/index.js +6 -1
  109. package/koni/api/nft/config.js +33 -23
  110. package/koni/api/nft/index.js +15 -1
  111. package/koni/api/nft/nft.js +2 -23
  112. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  113. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  114. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  115. package/koni/api/nft/ordinal_nft/index.js +114 -0
  116. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  117. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  118. package/koni/api/staking/bonding/amplitude.js +11 -9
  119. package/koni/api/staking/bonding/astar.js +9 -8
  120. package/koni/api/staking/bonding/index.d.ts +1 -1
  121. package/koni/api/staking/bonding/index.js +5 -1
  122. package/koni/api/staking/bonding/paraChain.js +12 -10
  123. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  124. package/koni/api/staking/bonding/relayChain.js +33 -30
  125. package/koni/api/staking/bonding/utils.d.ts +15 -38
  126. package/koni/api/staking/bonding/utils.js +85 -69
  127. package/koni/api/staking/index.js +2 -1
  128. package/koni/api/staking/paraChain.js +7 -6
  129. package/koni/api/staking/relayChain.js +4 -3
  130. package/koni/api/yield/helper/utils.d.ts +10 -0
  131. package/koni/api/yield/helper/utils.js +32 -0
  132. package/koni/background/cron.d.ts +1 -0
  133. package/koni/background/cron.js +12 -2
  134. package/koni/background/handlers/Extension.d.ts +17 -1
  135. package/koni/background/handlers/Extension.js +321 -30
  136. package/koni/background/handlers/State.d.ts +18 -2
  137. package/koni/background/handlers/State.js +50 -3
  138. package/koni/background/handlers/index.js +4 -2
  139. package/koni/background/subscription.d.ts +6 -1
  140. package/koni/background/subscription.js +97 -38
  141. package/package.json +316 -3
  142. package/services/campaign-service/index.js +9 -6
  143. package/services/chain-service/constants.d.ts +0 -11
  144. package/services/chain-service/constants.js +1 -14
  145. package/services/chain-service/utils.d.ts +1 -0
  146. package/services/chain-service/utils.js +5 -1
  147. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  148. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  149. package/services/earning-service/constants/chains.d.ts +14 -0
  150. package/services/earning-service/constants/chains.js +21 -0
  151. package/services/earning-service/constants/index.d.ts +2 -0
  152. package/services/earning-service/constants/index.js +5 -0
  153. package/services/earning-service/constants/step.d.ts +3 -0
  154. package/services/earning-service/constants/step.js +10 -0
  155. package/services/earning-service/handlers/base.d.ts +112 -0
  156. package/services/earning-service/handlers/base.js +226 -0
  157. package/services/earning-service/handlers/index.d.ts +5 -0
  158. package/services/earning-service/handlers/index.js +8 -0
  159. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  160. package/services/earning-service/handlers/lending/base.js +12 -0
  161. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  162. package/services/earning-service/handlers/lending/index.js +4 -0
  163. package/services/earning-service/handlers/lending/interlay.d.ts +23 -0
  164. package/services/earning-service/handlers/lending/interlay.js +176 -0
  165. package/services/earning-service/handlers/liquid-staking/acala.d.ts +26 -0
  166. package/services/earning-service/handlers/liquid-staking/acala.js +209 -0
  167. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  168. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  169. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +45 -0
  170. package/services/earning-service/handlers/liquid-staking/bifrost.js +272 -0
  171. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  172. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  173. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +25 -0
  174. package/services/earning-service/handlers/liquid-staking/parallel.js +188 -0
  175. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +34 -0
  176. package/services/earning-service/handlers/liquid-staking/stella-swap.js +399 -0
  177. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  178. package/services/earning-service/handlers/native-staking/amplitude.js +373 -0
  179. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  180. package/services/earning-service/handlers/native-staking/astar.js +449 -0
  181. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  182. package/services/earning-service/handlers/native-staking/base-para.js +129 -0
  183. package/services/earning-service/handlers/native-staking/base.d.ts +21 -0
  184. package/services/earning-service/handlers/native-staking/base.js +150 -0
  185. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  186. package/services/earning-service/handlers/native-staking/index.js +7 -0
  187. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  188. package/services/earning-service/handlers/native-staking/para-chain.js +375 -0
  189. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  190. package/services/earning-service/handlers/native-staking/relay-chain.js +533 -0
  191. package/services/earning-service/handlers/nomination-pool/index.d.ts +35 -0
  192. package/services/earning-service/handlers/nomination-pool/index.js +531 -0
  193. package/services/earning-service/handlers/special.d.ts +56 -0
  194. package/services/earning-service/handlers/special.js +403 -0
  195. package/services/earning-service/service.d.ts +45 -0
  196. package/services/earning-service/service.js +379 -0
  197. package/services/earning-service/utils/index.d.ts +18 -0
  198. package/services/earning-service/utils/index.js +112 -0
  199. package/services/event-service/index.d.ts +1 -0
  200. package/services/event-service/index.js +4 -0
  201. package/services/event-service/types.d.ts +8 -0
  202. package/services/keyring-service/index.d.ts +2 -1
  203. package/services/keyring-service/index.js +14 -2
  204. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  205. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  206. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  207. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  208. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  209. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  210. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  211. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  212. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  213. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  214. package/services/migration-service/scripts/index.js +7 -1
  215. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  216. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  217. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  218. package/services/mint-campaign-service/campaigns/index.js +4 -0
  219. package/services/mint-campaign-service/constants.d.ts +1 -0
  220. package/services/mint-campaign-service/constants.js +4 -0
  221. package/services/mint-campaign-service/index.d.ts +7 -0
  222. package/services/mint-campaign-service/index.js +11 -0
  223. package/services/notification-service/NotificationService.js +1 -1
  224. package/services/storage-service/DatabaseService.d.ts +18 -1
  225. package/services/storage-service/DatabaseService.js +51 -0
  226. package/services/storage-service/databases/index.d.ts +3 -1
  227. package/services/storage-service/databases/index.js +4 -0
  228. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  229. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  230. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  231. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  232. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  233. package/services/subscan-service/index.d.ts +3 -2
  234. package/services/subscan-service/index.js +15 -0
  235. package/services/subscan-service/types.d.ts +20 -0
  236. package/services/transaction-service/event-parser/index.d.ts +3 -1
  237. package/services/transaction-service/event-parser/index.js +57 -1
  238. package/services/transaction-service/helpers/index.js +3 -1
  239. package/services/transaction-service/index.d.ts +4 -15
  240. package/services/transaction-service/index.js +183 -72
  241. package/services/transaction-service/types.d.ts +2 -0
  242. package/services/transaction-service/utils.js +1 -0
  243. package/types/campaigns/index.d.ts +1 -0
  244. package/types/campaigns/index.js +4 -0
  245. package/types/campaigns/unlock-dot.d.ts +71 -0
  246. package/types/campaigns/unlock-dot.js +1 -0
  247. package/types/index.d.ts +5 -0
  248. package/types/index.js +5 -1
  249. package/types/ordinal.d.ts +69 -0
  250. package/types/ordinal.js +1 -0
  251. package/types/transaction.d.ts +3 -0
  252. package/types/transaction.js +1 -0
  253. package/types/yield/actions/index.d.ts +2 -0
  254. package/types/yield/actions/index.js +5 -0
  255. package/types/yield/actions/join/index.d.ts +3 -0
  256. package/types/yield/actions/join/index.js +6 -0
  257. package/types/yield/actions/join/step.d.ts +94 -0
  258. package/types/yield/actions/join/step.js +46 -0
  259. package/types/yield/actions/join/submit.d.ts +53 -0
  260. package/types/yield/actions/join/submit.js +1 -0
  261. package/types/yield/actions/join/validate.d.ts +18 -0
  262. package/types/yield/actions/join/validate.js +10 -0
  263. package/types/yield/actions/others.d.ts +63 -0
  264. package/types/yield/actions/others.js +1 -0
  265. package/types/yield/index.d.ts +2 -0
  266. package/types/yield/index.js +5 -0
  267. package/types/yield/info/account/index.d.ts +4 -0
  268. package/types/yield/info/account/index.js +7 -0
  269. package/types/yield/info/account/info.d.ts +92 -0
  270. package/types/yield/info/account/info.js +1 -0
  271. package/types/yield/info/account/reward.d.ts +45 -0
  272. package/types/yield/info/account/reward.js +1 -0
  273. package/types/yield/info/account/target.d.ts +43 -0
  274. package/types/yield/info/account/target.js +27 -0
  275. package/types/yield/info/account/unstake.d.ts +31 -0
  276. package/types/yield/info/account/unstake.js +22 -0
  277. package/types/yield/info/base.d.ts +45 -0
  278. package/types/yield/info/base.js +36 -0
  279. package/types/yield/info/chain/index.d.ts +2 -0
  280. package/types/yield/info/chain/index.js +5 -0
  281. package/types/yield/info/chain/info.d.ts +243 -0
  282. package/types/yield/info/chain/info.js +1 -0
  283. package/types/yield/info/chain/target.d.ts +37 -0
  284. package/types/yield/info/chain/target.js +1 -0
  285. package/types/yield/info/index.d.ts +4 -0
  286. package/types/yield/info/index.js +7 -0
  287. package/types/yield/info/pallet.d.ts +143 -0
  288. package/types/yield/info/pallet.js +9 -0
  289. package/utils/fetchStaticData.js +2 -1
  290. package/utils/index.d.ts +5 -0
  291. package/utils/index.js +53 -1
  292. package/utils/object.d.ts +1 -0
  293. package/utils/object.js +6 -0
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @enum {string}
3
+ * @description The earning status of an account in a pool.
4
+ * */
5
+ export declare enum EarningStatus {
6
+ /** Earning reward */
7
+ EARNING_REWARD = "EARNING_REWARD",
8
+ /** Partially earning */
9
+ PARTIALLY_EARNING = "PARTIALLY_EARNING",
10
+ /** Not earning */
11
+ NOT_EARNING = "NOT_EARNING",
12
+ /** Waiting (Pool selected not in the reward list) */
13
+ WAITING = "WAITING",
14
+ /** Account not staking */
15
+ NOT_STAKING = "NOT_STAKING"
16
+ }
17
+ /**
18
+ * @interface NominationInfo
19
+ * @description Info of the validator account joined
20
+ * @prop {string} chain - Slug of chain
21
+ * @prop {string} validatorAddress - Validator's address or nomination pool's id
22
+ * @prop {string} [validatorIdentity] - Validator's identity
23
+ * @prop {string} activeStake - Active staked value
24
+ * @prop {boolean} [hasUnstaking] - Does the account have unstake request with validator?
25
+ * @prop {string} [validatorMinStake] - Min amount to join with validator
26
+ * @prop {EarningStatus} status - The staking status of the account
27
+ * */
28
+ export interface NominationInfo {
29
+ /** Slug of chain */
30
+ chain: string;
31
+ /** Validator's address or nomination pool's id */
32
+ validatorAddress: string;
33
+ /** Validator's identity */
34
+ validatorIdentity?: string;
35
+ /** Active staked value */
36
+ activeStake: string;
37
+ /** Does the account have unstake request with validator? */
38
+ hasUnstaking?: boolean;
39
+ /** Min amount to join with validator */
40
+ validatorMinStake?: string;
41
+ /** The staking status of the account */
42
+ status: EarningStatus;
43
+ }
@@ -0,0 +1,27 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @enum {string}
6
+ * @description The earning status of an account in a pool.
7
+ * */
8
+ export let EarningStatus;
9
+
10
+ /**
11
+ * @interface NominationInfo
12
+ * @description Info of the validator account joined
13
+ * @prop {string} chain - Slug of chain
14
+ * @prop {string} validatorAddress - Validator's address or nomination pool's id
15
+ * @prop {string} [validatorIdentity] - Validator's identity
16
+ * @prop {string} activeStake - Active staked value
17
+ * @prop {boolean} [hasUnstaking] - Does the account have unstake request with validator?
18
+ * @prop {string} [validatorMinStake] - Min amount to join with validator
19
+ * @prop {EarningStatus} status - The staking status of the account
20
+ * */
21
+ (function (EarningStatus) {
22
+ EarningStatus["EARNING_REWARD"] = "EARNING_REWARD";
23
+ EarningStatus["PARTIALLY_EARNING"] = "PARTIALLY_EARNING";
24
+ EarningStatus["NOT_EARNING"] = "NOT_EARNING";
25
+ EarningStatus["WAITING"] = "WAITING";
26
+ EarningStatus["NOT_STAKING"] = "NOT_STAKING";
27
+ })(EarningStatus || (EarningStatus = {}));
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @enum {string}
3
+ * @description The status of un-staked request.
4
+ * */
5
+ export declare enum UnstakingStatus {
6
+ /** Can withdraw unstaked value */
7
+ CLAIMABLE = "CLAIMABLE",
8
+ /** Waiting to unlock unstake value */
9
+ UNLOCKING = "UNLOCKING"
10
+ }
11
+ /**
12
+ * @interface UnstakingInfo
13
+ * @description Info of un-stake request
14
+ * @prop {string} chain - Slug of chain
15
+ * @prop {UnstakingStatus} status - Status of request
16
+ * @prop {string} claimable - Amount to be withdrawn
17
+ * @prop {number} [waitingTime] - Time remains to wait (in hours)
18
+ * @prop {string} [validatorAddress] - Address of validator
19
+ * */
20
+ export interface UnstakingInfo {
21
+ /** Slug of chain */
22
+ chain: string;
23
+ /** Status of request */
24
+ status: UnstakingStatus;
25
+ /** Amount to be withdrawn */
26
+ claimable: string;
27
+ /** Time remains to wait (in hours) */
28
+ waitingTime?: number;
29
+ /** Address of validator */
30
+ validatorAddress?: string;
31
+ }
@@ -0,0 +1,22 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @enum {string}
6
+ * @description The status of un-staked request.
7
+ * */
8
+ export let UnstakingStatus;
9
+
10
+ /**
11
+ * @interface UnstakingInfo
12
+ * @description Info of un-stake request
13
+ * @prop {string} chain - Slug of chain
14
+ * @prop {UnstakingStatus} status - Status of request
15
+ * @prop {string} claimable - Amount to be withdrawn
16
+ * @prop {number} [waitingTime] - Time remains to wait (in hours)
17
+ * @prop {string} [validatorAddress] - Address of validator
18
+ * */
19
+ (function (UnstakingStatus) {
20
+ UnstakingStatus["CLAIMABLE"] = "CLAIMABLE";
21
+ UnstakingStatus["UNLOCKING"] = "UNLOCKING";
22
+ })(UnstakingStatus || (UnstakingStatus = {}));
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @enum {string}
3
+ * @description The types of yield pool.
4
+ * */
5
+ export declare enum YieldPoolType {
6
+ /** Liquid staking */
7
+ LIQUID_STAKING = "LIQUID_STAKING",
8
+ /** Lending */
9
+ LENDING = "LENDING",
10
+ /** Single farming */
11
+ SINGLE_FARMING = "SINGLE_FARMING",
12
+ /** Pool staking */
13
+ NOMINATION_POOL = "NOMINATION_POOL",
14
+ /** Native staking */
15
+ NATIVE_STAKING = "NATIVE_STAKING",
16
+ /** Parachain staking */
17
+ PARACHAIN_STAKING = "PARACHAIN_STAKING"
18
+ }
19
+ /**
20
+ * @enum {number}
21
+ * @description Time to calculate profit
22
+ * */
23
+ export declare enum YieldCompoundingPeriod {
24
+ DAILY = 1,
25
+ WEEKLY = 7,
26
+ MONTHLY = 30,
27
+ YEARLY = 365
28
+ }
29
+ /**
30
+ * @interface BasePoolInfo
31
+ * @prop {string} slug - Pool's slug
32
+ * @prop {string} chain - Pool's chain
33
+ * @prop {string} type - Pool's type
34
+ * @prop {string} group - Pool's group (by token)
35
+ * */
36
+ export interface BasePoolInfo {
37
+ /** Pool's slug */
38
+ slug: string;
39
+ /** Pool's chain */
40
+ chain: string;
41
+ /** Pool's type */
42
+ type: YieldPoolType;
43
+ /** Pool's group (by token) */
44
+ group: string;
45
+ }
@@ -0,0 +1,36 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @enum {string}
6
+ * @description The types of yield pool.
7
+ * */
8
+ export let YieldPoolType;
9
+
10
+ /**
11
+ * @enum {number}
12
+ * @description Time to calculate profit
13
+ * */
14
+ (function (YieldPoolType) {
15
+ YieldPoolType["LIQUID_STAKING"] = "LIQUID_STAKING";
16
+ YieldPoolType["LENDING"] = "LENDING";
17
+ YieldPoolType["SINGLE_FARMING"] = "SINGLE_FARMING";
18
+ YieldPoolType["NOMINATION_POOL"] = "NOMINATION_POOL";
19
+ YieldPoolType["NATIVE_STAKING"] = "NATIVE_STAKING";
20
+ YieldPoolType["PARACHAIN_STAKING"] = "PARACHAIN_STAKING";
21
+ })(YieldPoolType || (YieldPoolType = {}));
22
+ export let YieldCompoundingPeriod;
23
+
24
+ /**
25
+ * @interface BasePoolInfo
26
+ * @prop {string} slug - Pool's slug
27
+ * @prop {string} chain - Pool's chain
28
+ * @prop {string} type - Pool's type
29
+ * @prop {string} group - Pool's group (by token)
30
+ * */
31
+ (function (YieldCompoundingPeriod) {
32
+ YieldCompoundingPeriod[YieldCompoundingPeriod["DAILY"] = 1] = "DAILY";
33
+ YieldCompoundingPeriod[YieldCompoundingPeriod["WEEKLY"] = 7] = "WEEKLY";
34
+ YieldCompoundingPeriod[YieldCompoundingPeriod["MONTHLY"] = 30] = "MONTHLY";
35
+ YieldCompoundingPeriod[YieldCompoundingPeriod["YEARLY"] = 365] = "YEARLY";
36
+ })(YieldCompoundingPeriod || (YieldCompoundingPeriod = {}));
@@ -0,0 +1,2 @@
1
+ export * from './info';
2
+ export * from './target';
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./info.js";
5
+ export * from "./target.js";
@@ -0,0 +1,243 @@
1
+ import { BasePoolInfo, YieldPoolType } from '../base';
2
+ /**
3
+ * @interface YieldAssetEarningStats
4
+ * @prop {string} slug - Token's slug
5
+ * @prop {number} [apr] - Token's apr
6
+ * @prop {number} [apy] - Token's apy
7
+ * @prop {number} [exchangeRate] - Token's exchangeRate
8
+ * */
9
+ export interface YieldAssetEarningStats {
10
+ /** Token's slug */
11
+ slug: string;
12
+ /** Token's apr */
13
+ apr?: number;
14
+ /** Token's apy */
15
+ apy?: number;
16
+ /**
17
+ * @description Token's exchangeRate
18
+ * @example input token amount = reward token amount * exchange rate
19
+ * */
20
+ exchangeRate?: number;
21
+ }
22
+ /**
23
+ * @interface YieldPoolMethodInfo
24
+ * @prop {boolean} join - Pool can join
25
+ * @prop {boolean} defaultUnstake - Pool can default unstake
26
+ * @prop {boolean} fastUnstake - Pool can fast unstake
27
+ * @prop {boolean} cancelUnstake - Pool can cancel unstake
28
+ * @prop {boolean} withdraw - Pool can withdraw
29
+ * @prop {boolean} claimReward - Pool can claim reward
30
+ * */
31
+ export interface YieldPoolMethodInfo {
32
+ /** Pool can join */
33
+ join: boolean;
34
+ /** Pool can default unstake */
35
+ defaultUnstake: boolean;
36
+ /** Pool can fast unstake */
37
+ fastUnstake: boolean;
38
+ /** Pool can cancel unstake */
39
+ cancelUnstake: boolean;
40
+ /** Pool can withdraw */
41
+ withdraw: boolean;
42
+ /** Pool can claim reward */
43
+ claimReward: boolean;
44
+ }
45
+ /**
46
+ * @interface BaseYieldPoolMetadata
47
+ * @prop {string} description - Pool's description
48
+ * @prop {string} name - Pool's name
49
+ * @prop {string} shortName - Pool's short name
50
+ * @prop {string} logo - Pool's logo
51
+ * @prop {boolean} isAvailable - Is the pool available?
52
+ * @prop {string} inputAsset - Input token (slug)
53
+ * @prop {string} maintainAsset - Asset to maintain account's pool
54
+ * @prop {string} maintainBalance - Balance to maintain account's pool
55
+ * @prop {YieldPoolMethodInfo} availableMethod - Pool's available method
56
+ * */
57
+ export interface BaseYieldPoolMetadata {
58
+ /** Pool's description */
59
+ description: string;
60
+ /** Pool's name */
61
+ name: string;
62
+ /** Pool's short name */
63
+ shortName: string;
64
+ /** Pool's logo */
65
+ logo: string;
66
+ /** Input token (slug) */
67
+ inputAsset: string;
68
+ /** Is the pool available? */
69
+ isAvailable: boolean;
70
+ /** Asset to maintain account's pool */
71
+ maintainAsset: string;
72
+ /** Balance to maintain account's pool */
73
+ maintainBalance: string;
74
+ /** Pool's available method */
75
+ availableMethod: YieldPoolMethodInfo;
76
+ }
77
+ /**
78
+ * @interface NormalYieldPoolMetadata
79
+ * @extends BaseYieldPoolMetadata
80
+ * */
81
+ export declare type NormalYieldPoolMetadata = BaseYieldPoolMetadata;
82
+ /**
83
+ * @interface SpecialYieldPoolMetadata
84
+ * @extends BaseYieldPoolMetadata
85
+ * @prop {string[]} derivativeAssets - Array of derivative tokens (slug)
86
+ * @prop {string[]} rewardAssets - Array of reward tokens (slug)
87
+ * @prop {string[]} feeAssets - Array of fee tokens (slug)
88
+ * @prop {string} [altInputAssets] - Alt input token (slug) - optional
89
+ * */
90
+ export interface SpecialYieldPoolMetadata extends BaseYieldPoolMetadata {
91
+ /** Array of derivative tokens (slug) */
92
+ derivativeAssets: string[];
93
+ /** Array of reward tokens (slug) */
94
+ rewardAssets: string[];
95
+ /** Alt input token (slug) - optional */
96
+ altInputAssets?: string;
97
+ /**
98
+ * Array of fee tokens (slug)
99
+ * <p>
100
+ * If the pool has more than one token, the mint step can use input token for fee instead native token
101
+ * </p>
102
+ * */
103
+ feeAssets: string[];
104
+ }
105
+ /**
106
+ * @description Required data
107
+ * */
108
+ export declare type YieldPoolMetadata = NormalYieldPoolMetadata | SpecialYieldPoolMetadata;
109
+ /**
110
+ * @interface BaseYieldPoolStatistic
111
+ * @description Statistic data of pool
112
+ * @prop {YieldAssetEarningStats[]} assetEarning - Info for asset earning
113
+ * @prop {number} maxCandidatePerFarmer - Max candidates per farmer
114
+ * @prop {number} maxWithdrawalRequestPerFarmer - Max withdrawal request per farmer
115
+ * @prop {string} minJoinPool - Min amount to join pool
116
+ * @prop {number} [farmerCount] - Total farmer
117
+ * @prop {string} [tvl] - Total value staked in pool
118
+ * @prop {number} [totalApy] - Total apy of earning assets
119
+ * @prop {number} [totalApr] - Total apr of earning assets
120
+ * */
121
+ export interface BaseYieldPoolStatistic {
122
+ /** Info for asset earning */
123
+ assetEarning: YieldAssetEarningStats[];
124
+ /** Max candidate per farmer */
125
+ maxCandidatePerFarmer: number;
126
+ /** Max withdrawal request per farmer */
127
+ maxWithdrawalRequestPerFarmer: number;
128
+ /** Min amount to join pool */
129
+ minJoinPool: string;
130
+ /** Total farmer */
131
+ farmerCount?: number;
132
+ /** Total value staked in pool */
133
+ tvl?: string;
134
+ /** Total apy of earning assets */
135
+ totalApy?: number;
136
+ /** Total apr of earning assets */
137
+ totalApr?: number;
138
+ }
139
+ /**
140
+ * @interface NormalYieldPoolStatistic
141
+ * @extends BaseYieldPoolStatistic
142
+ * @prop {number} era - Current era of network
143
+ * @prop {number} eraTime - Time of an era - in hour
144
+ * @prop {number} unstakingPeriod - Time to wait withdraw un-stake, in hour
145
+ * @prop {number} [inflation] - Inflation rate
146
+ * */
147
+ export interface NormalYieldPoolStatistic extends BaseYieldPoolStatistic {
148
+ /** Current era of network */
149
+ era: number;
150
+ /** Time of an era - in hour */
151
+ eraTime: number;
152
+ /** Time to wait withdraw un-stake, in hour */
153
+ unstakingPeriod: number;
154
+ /** Inflation rate */
155
+ inflation?: number;
156
+ }
157
+ /**
158
+ * @interface SpecialYieldPoolStatistic
159
+ * @extends BaseYieldPoolStatistic
160
+ * @prop {string} minWithdrawal - Min amount for withdrawal request
161
+ * @prop {number} [unstakingPeriod] - Time to wait withdraw un-stake, in hour
162
+ * */
163
+ export interface SpecialYieldPoolStatistic extends BaseYieldPoolStatistic {
164
+ /** Min amount for withdrawal request */
165
+ minWithdrawal: string;
166
+ /** Time to wait withdraw un-stake, in hour */
167
+ unstakingPeriod?: number;
168
+ }
169
+ export declare type YieldPoolStatistic = NormalYieldPoolStatistic | SpecialYieldPoolStatistic;
170
+ /**
171
+ * @interface AbstractYieldPoolInfo
172
+ * @extends BasePoolInfo
173
+ * @prop {string} description - Pool's description
174
+ * @prop {string} name - Pool's name
175
+ * @prop {string} shortName - Pool's short name
176
+ * @prop {string} logo - Pool's logo
177
+ * @prop {YieldPoolStatistic} [statistic] - Pool's metadata
178
+ * */
179
+ export interface AbstractYieldPoolInfo extends BasePoolInfo {
180
+ metadata: YieldPoolMetadata;
181
+ /** Pool's metadata */
182
+ statistic?: YieldPoolStatistic;
183
+ }
184
+ /**
185
+ * @interface SpecialYieldPoolInfo
186
+ * @extends AbstractYieldPoolInfo
187
+ * @prop {SpecialYieldPoolStatistic} [statistic] - Pool's metadata
188
+ * */
189
+ export interface SpecialYieldPoolInfo extends AbstractYieldPoolInfo {
190
+ type: YieldPoolType.LIQUID_STAKING | YieldPoolType.LENDING;
191
+ metadata: SpecialYieldPoolMetadata;
192
+ statistic?: SpecialYieldPoolStatistic;
193
+ }
194
+ /**
195
+ * @interface LiquidYieldPoolInfo
196
+ * @extends SpecialYieldPoolInfo
197
+ * @prop {YieldPoolType.LIQUID_STAKING} type - Pool's type
198
+ * */
199
+ export interface LiquidYieldPoolInfo extends SpecialYieldPoolInfo {
200
+ type: YieldPoolType.LIQUID_STAKING;
201
+ }
202
+ /**
203
+ * @interface LendingYieldPoolInfo
204
+ * @extends SpecialYieldPoolInfo
205
+ * @prop {YieldPoolType.LENDING} type - Pool's type
206
+ * */
207
+ export interface LendingYieldPoolInfo extends SpecialYieldPoolInfo {
208
+ type: YieldPoolType.LENDING;
209
+ }
210
+ /**
211
+ * @interface NominationYieldPoolInfo
212
+ * @extends AbstractYieldPoolInfo
213
+ * @prop {YieldPoolType.NOMINATION_POOL} type - Pool's type
214
+ * @prop {NormalYieldPoolStatistic} [statistic] - Pool's metadata
215
+ * */
216
+ export interface NominationYieldPoolInfo extends AbstractYieldPoolInfo {
217
+ type: YieldPoolType.NOMINATION_POOL;
218
+ metadata: NormalYieldPoolMetadata;
219
+ statistic?: NormalYieldPoolStatistic;
220
+ }
221
+ /**
222
+ * @interface NativeYieldPoolInfo
223
+ * @extends AbstractYieldPoolInfo
224
+ * @prop {YieldPoolType.NATIVE_STAKING} type - Pool's type
225
+ * @prop {NormalYieldPoolStatistic} [statistic] - Pool's metadata
226
+ * */
227
+ export interface NativeYieldPoolInfo extends AbstractYieldPoolInfo {
228
+ type: YieldPoolType.NATIVE_STAKING;
229
+ metadata: NormalYieldPoolMetadata;
230
+ statistic?: NormalYieldPoolStatistic;
231
+ }
232
+ /**
233
+ * Info of yield pool
234
+ * */
235
+ export declare type YieldPoolInfo = NativeYieldPoolInfo | NominationYieldPoolInfo | LiquidYieldPoolInfo | LendingYieldPoolInfo;
236
+ /**
237
+ * @interface YieldAssetExpectedEarning
238
+ * Pool expected return
239
+ * */
240
+ export interface YieldAssetExpectedEarning {
241
+ apy?: number;
242
+ rewardInToken?: number;
243
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,37 @@
1
+ import { PalletNominationPoolsBondedPoolInner } from '../pallet';
2
+ export interface NominationPoolInfo extends Pick<PalletNominationPoolsBondedPoolInner, 'roles' | 'memberCounter' | 'state'> {
3
+ id: number;
4
+ address: string;
5
+ name?: string;
6
+ bondedAmount: string;
7
+ isProfitable: boolean;
8
+ }
9
+ export interface ValidatorInfo {
10
+ address: string;
11
+ chain: string;
12
+ totalStake: string;
13
+ ownStake: string;
14
+ otherStake: string;
15
+ minBond: string;
16
+ nominatorCount: number;
17
+ commission: number;
18
+ expectedReturn?: number;
19
+ blocked: boolean;
20
+ identity?: string;
21
+ isVerified: boolean;
22
+ icon?: string;
23
+ isCrowded: boolean;
24
+ }
25
+ export declare type YieldPoolTarget = NominationPoolInfo | ValidatorInfo;
26
+ export interface RequestGetYieldPoolTargets {
27
+ slug: string;
28
+ }
29
+ export interface ResponseGetYieldPoolTargets {
30
+ slug: string;
31
+ targets: YieldPoolTarget[];
32
+ }
33
+ export interface CollatorExtraInfo {
34
+ active: boolean;
35
+ identity?: string;
36
+ isVerified: boolean;
37
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ export * from './account';
2
+ export * from './base';
3
+ export * from './chain';
4
+ export * from './pallet';
@@ -0,0 +1,7 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./account/index.js";
5
+ export * from "./base.js";
6
+ export * from "./chain/index.js";
7
+ export * from "./pallet.js";
@@ -0,0 +1,143 @@
1
+ /// <reference types="bn.js" />
2
+ import { BN } from '@polkadot/util';
3
+ export interface PalletNominationPoolsPoolMember {
4
+ poolId: number;
5
+ points: number;
6
+ lasRecordedRewardCounter: number;
7
+ unbondingEras: Record<string, number>;
8
+ }
9
+ export interface PalletStakingExposureItem {
10
+ who: string;
11
+ value: number;
12
+ }
13
+ export interface PalletStakingExposure {
14
+ total: number;
15
+ own: number;
16
+ others: PalletStakingExposureItem[];
17
+ }
18
+ export interface PalletDappsStakingDappInfo {
19
+ address: string;
20
+ name: string;
21
+ gitHubUrl: string;
22
+ tags: string[];
23
+ url: string;
24
+ imagesUrl: string[];
25
+ }
26
+ export interface PalletDappsStakingUnlockingChunk {
27
+ amount: number;
28
+ unlockEra: number;
29
+ }
30
+ export interface PalletDappsStakingAccountLedger {
31
+ locked: number;
32
+ unbondingInfo: {
33
+ unlockingChunks: PalletDappsStakingUnlockingChunk[];
34
+ };
35
+ }
36
+ export interface BlockHeader {
37
+ parentHash: string;
38
+ number: number;
39
+ stateRoot: string;
40
+ extrinsicsRoot: string;
41
+ }
42
+ export interface ParachainStakingStakeOption {
43
+ owner: string;
44
+ amount: number;
45
+ }
46
+ export interface ParachainStakingCandidateMetadata {
47
+ bond: string;
48
+ delegationCount: number;
49
+ totalCounted: string;
50
+ lowestTopDelegationAmount: string;
51
+ status: any | 'Active';
52
+ }
53
+ export declare enum PalletParachainStakingRequestType {
54
+ REVOKE = "revoke",
55
+ DECREASE = "decrease",
56
+ BOND_LESS = "bondLess"
57
+ }
58
+ export interface PalletParachainStakingDelegationRequestsScheduledRequest {
59
+ delegator: string;
60
+ whenExecutable: number;
61
+ action: Record<PalletParachainStakingRequestType, number>;
62
+ }
63
+ export interface PalletParachainStakingDelegationInfo {
64
+ owner: string;
65
+ amount: number;
66
+ }
67
+ export interface PalletParachainStakingDelegator {
68
+ id: string;
69
+ delegations: PalletParachainStakingDelegationInfo[];
70
+ total: number;
71
+ lessTotal: number;
72
+ status: number;
73
+ }
74
+ export interface PalletIdentityRegistration {
75
+ judgements: any[];
76
+ deposit: number;
77
+ info: {
78
+ display: {
79
+ Raw: string;
80
+ };
81
+ web: {
82
+ Raw: string;
83
+ };
84
+ twitter: {
85
+ Raw: string;
86
+ };
87
+ riot: {
88
+ Raw: string;
89
+ };
90
+ };
91
+ }
92
+ export declare type PalletIdentitySuper = [string, {
93
+ Raw: string;
94
+ }];
95
+ export interface Unlocking {
96
+ remainingEras: BN;
97
+ value: BN;
98
+ }
99
+ export interface TernoaStakingRewardsStakingRewardsData {
100
+ sessionEraPayout: string;
101
+ sessionExtraRewardPayout: string;
102
+ }
103
+ export interface ValidatorExtraInfo {
104
+ commission: string;
105
+ blocked: false;
106
+ identity?: string;
107
+ isVerified: boolean;
108
+ }
109
+ export interface PalletNominationPoolsBondedPoolInner {
110
+ points: number;
111
+ state: 'Open' | 'Destroying' | 'Locked';
112
+ memberCounter: number;
113
+ roles: {
114
+ depositor: string;
115
+ root: string;
116
+ nominator: string;
117
+ bouncer: string;
118
+ };
119
+ }
120
+ export interface PalletStakingNominations {
121
+ targets: string[];
122
+ submittedIn: number;
123
+ suppressed: boolean;
124
+ }
125
+ export interface UnlockingChunk {
126
+ value: number;
127
+ era: number;
128
+ }
129
+ export interface PalletStakingStakingLedger {
130
+ stash: string;
131
+ total: number;
132
+ active: number;
133
+ unlocking: UnlockingChunk[];
134
+ claimedRewards: number[];
135
+ }
136
+ export interface RuntimeDispatchInfo {
137
+ weight: {
138
+ refTime: number;
139
+ proofSize: number;
140
+ };
141
+ class: string;
142
+ partialFee: number;
143
+ }
@@ -0,0 +1,9 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export let PalletParachainStakingRequestType;
5
+ (function (PalletParachainStakingRequestType) {
6
+ PalletParachainStakingRequestType["REVOKE"] = "revoke";
7
+ PalletParachainStakingRequestType["DECREASE"] = "decrease";
8
+ PalletParachainStakingRequestType["BOND_LESS"] = "bondLess";
9
+ })(PalletParachainStakingRequestType || (PalletParachainStakingRequestType = {}));
@@ -2,8 +2,9 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  import axios from 'axios';
5
+ const PRODUCTION_BRANCHES = ['master', 'webapp', 'webapp-dev'];
5
6
  const branchName = process.env.BRANCH_NAME || 'koni-dev';
6
- const fetchTarget = branchName === 'master' || branchName === 'webapp' ? 'list.json' : 'preview.json';
7
+ const fetchTarget = PRODUCTION_BRANCHES.indexOf(branchName) > -1 ? 'list.json' : 'preview.json';
7
8
  export async function fetchStaticData(slug, targetFile) {
8
9
  const fetchFile = targetFile || fetchTarget;
9
10
  const rs = await axios.get(`https://static-data.subwallet.app/${slug}/${fetchFile}`);