@subwallet/extension-base 1.1.28-1 → 1.1.28-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/background/KoniTypes.d.ts +94 -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 +9 -3
  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 +2 -0
  24. package/cjs/koni/background/handlers/Extension.js +347 -69
  25. package/cjs/koni/background/handlers/State.js +57 -4
  26. package/cjs/koni/background/handlers/index.js +4 -2
  27. package/cjs/koni/background/subscription.js +89 -19
  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 +220 -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 +170 -0
  39. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +198 -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 +259 -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 +182 -0
  44. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +375 -0
  45. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +373 -0
  46. package/cjs/services/earning-service/handlers/native-staking/astar.js +446 -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 +119 -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 +375 -0
  51. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +529 -0
  52. package/cjs/services/earning-service/handlers/nomination-pool/index.js +521 -0
  53. package/cjs/services/earning-service/handlers/special.js +411 -0
  54. package/cjs/services/earning-service/service.js +351 -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/transaction-service/event-parser/index.js +58 -0
  76. package/cjs/services/transaction-service/helpers/index.js +3 -1
  77. package/cjs/services/transaction-service/index.js +180 -74
  78. package/cjs/services/transaction-service/utils.js +1 -0
  79. package/cjs/types/campaigns/index.js +16 -0
  80. package/cjs/types/campaigns/unlock-dot.js +1 -0
  81. package/cjs/types/index.js +44 -0
  82. package/cjs/types/ordinal.js +1 -0
  83. package/cjs/types/transaction.js +1 -0
  84. package/cjs/types/yield/actions/index.js +27 -0
  85. package/cjs/types/yield/actions/join/index.js +38 -0
  86. package/cjs/types/yield/actions/join/step.js +47 -0
  87. package/cjs/types/yield/actions/join/submit.js +1 -0
  88. package/cjs/types/yield/actions/join/validate.js +16 -0
  89. package/cjs/types/yield/actions/others.js +1 -0
  90. package/cjs/types/yield/index.js +27 -0
  91. package/cjs/types/yield/info/account/index.js +49 -0
  92. package/cjs/types/yield/info/account/info.js +1 -0
  93. package/cjs/types/yield/info/account/reward.js +1 -0
  94. package/cjs/types/yield/info/account/target.js +32 -0
  95. package/cjs/types/yield/info/account/unstake.js +27 -0
  96. package/cjs/types/yield/info/base.js +41 -0
  97. package/cjs/types/yield/info/chain/index.js +27 -0
  98. package/cjs/types/yield/info/chain/info.js +1 -0
  99. package/cjs/types/yield/info/chain/target.js +1 -0
  100. package/cjs/types/yield/info/index.js +49 -0
  101. package/cjs/types/yield/info/pallet.js +15 -0
  102. package/cjs/utils/fetchStaticData.js +2 -1
  103. package/cjs/utils/index.js +89 -1
  104. package/cjs/utils/object.js +12 -0
  105. package/cjs/utils/yield/index.js +3 -0
  106. package/constants/index.d.ts +2 -0
  107. package/constants/index.js +2 -0
  108. package/koni/api/nft/config.js +33 -23
  109. package/koni/api/nft/index.js +15 -1
  110. package/koni/api/nft/nft.js +2 -23
  111. package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
  112. package/koni/api/nft/ordinal_nft/constants.js +12 -0
  113. package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
  114. package/koni/api/nft/ordinal_nft/index.js +114 -0
  115. package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
  116. package/koni/api/nft/ordinal_nft/utils.js +33 -0
  117. package/koni/api/staking/bonding/amplitude.js +11 -9
  118. package/koni/api/staking/bonding/astar.js +9 -8
  119. package/koni/api/staking/bonding/index.d.ts +1 -1
  120. package/koni/api/staking/bonding/index.js +5 -1
  121. package/koni/api/staking/bonding/paraChain.js +12 -10
  122. package/koni/api/staking/bonding/relayChain.d.ts +2 -2
  123. package/koni/api/staking/bonding/relayChain.js +33 -30
  124. package/koni/api/staking/bonding/utils.d.ts +15 -38
  125. package/koni/api/staking/bonding/utils.js +85 -69
  126. package/koni/api/staking/index.js +2 -1
  127. package/koni/api/staking/paraChain.js +7 -6
  128. package/koni/api/staking/relayChain.js +4 -3
  129. package/koni/api/yield/helper/utils.d.ts +10 -0
  130. package/koni/api/yield/helper/utils.js +32 -0
  131. package/koni/background/cron.js +2 -0
  132. package/koni/background/handlers/Extension.d.ts +16 -1
  133. package/koni/background/handlers/Extension.js +306 -30
  134. package/koni/background/handlers/State.d.ts +18 -2
  135. package/koni/background/handlers/State.js +56 -4
  136. package/koni/background/handlers/index.js +4 -2
  137. package/koni/background/subscription.d.ts +5 -1
  138. package/koni/background/subscription.js +91 -21
  139. package/package.json +317 -4
  140. package/services/campaign-service/index.js +9 -6
  141. package/services/chain-service/constants.d.ts +0 -11
  142. package/services/chain-service/constants.js +1 -14
  143. package/services/chain-service/utils.d.ts +1 -0
  144. package/services/chain-service/utils.js +5 -1
  145. package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
  146. package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
  147. package/services/earning-service/constants/chains.d.ts +14 -0
  148. package/services/earning-service/constants/chains.js +21 -0
  149. package/services/earning-service/constants/index.d.ts +2 -0
  150. package/services/earning-service/constants/index.js +5 -0
  151. package/services/earning-service/constants/step.d.ts +3 -0
  152. package/services/earning-service/constants/step.js +10 -0
  153. package/services/earning-service/handlers/base.d.ts +107 -0
  154. package/services/earning-service/handlers/base.js +213 -0
  155. package/services/earning-service/handlers/index.d.ts +5 -0
  156. package/services/earning-service/handlers/index.js +8 -0
  157. package/services/earning-service/handlers/lending/base.d.ts +6 -0
  158. package/services/earning-service/handlers/lending/base.js +12 -0
  159. package/services/earning-service/handlers/lending/index.d.ts +1 -0
  160. package/services/earning-service/handlers/lending/index.js +4 -0
  161. package/services/earning-service/handlers/lending/interlay.d.ts +22 -0
  162. package/services/earning-service/handlers/lending/interlay.js +162 -0
  163. package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
  164. package/services/earning-service/handlers/liquid-staking/acala.js +190 -0
  165. package/services/earning-service/handlers/liquid-staking/base.d.ts +9 -0
  166. package/services/earning-service/handlers/liquid-staking/base.js +35 -0
  167. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +44 -0
  168. package/services/earning-service/handlers/liquid-staking/bifrost.js +248 -0
  169. package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
  170. package/services/earning-service/handlers/liquid-staking/index.js +7 -0
  171. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +27 -0
  172. package/services/earning-service/handlers/liquid-staking/parallel.js +174 -0
  173. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +36 -0
  174. package/services/earning-service/handlers/liquid-staking/stella-swap.js +365 -0
  175. package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
  176. package/services/earning-service/handlers/native-staking/amplitude.js +364 -0
  177. package/services/earning-service/handlers/native-staking/astar.d.ts +19 -0
  178. package/services/earning-service/handlers/native-staking/astar.js +436 -0
  179. package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
  180. package/services/earning-service/handlers/native-staking/base-para.js +129 -0
  181. package/services/earning-service/handlers/native-staking/base.d.ts +20 -0
  182. package/services/earning-service/handlers/native-staking/base.js +110 -0
  183. package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
  184. package/services/earning-service/handlers/native-staking/index.js +7 -0
  185. package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
  186. package/services/earning-service/handlers/native-staking/para-chain.js +367 -0
  187. package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
  188. package/services/earning-service/handlers/native-staking/relay-chain.js +520 -0
  189. package/services/earning-service/handlers/nomination-pool/index.d.ts +33 -0
  190. package/services/earning-service/handlers/nomination-pool/index.js +511 -0
  191. package/services/earning-service/handlers/special.d.ts +58 -0
  192. package/services/earning-service/handlers/special.js +403 -0
  193. package/services/earning-service/service.d.ts +40 -0
  194. package/services/earning-service/service.js +343 -0
  195. package/services/earning-service/utils/index.d.ts +18 -0
  196. package/services/earning-service/utils/index.js +112 -0
  197. package/services/event-service/index.d.ts +1 -0
  198. package/services/event-service/index.js +4 -0
  199. package/services/event-service/types.d.ts +8 -0
  200. package/services/keyring-service/index.d.ts +2 -1
  201. package/services/keyring-service/index.js +14 -2
  202. package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
  203. package/services/migration-service/scripts/DeleteEarningData.js +13 -0
  204. package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
  205. package/services/migration-service/scripts/EnableEarningChains.js +13 -0
  206. package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
  207. package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
  208. package/services/migration-service/scripts/databases/MigrateEarningHistory.d.ts +4 -0
  209. package/services/migration-service/scripts/databases/MigrateEarningHistory.js +13 -0
  210. package/services/migration-service/scripts/databases/MigrateEarningVersion.d.ts +4 -0
  211. package/services/migration-service/scripts/databases/MigrateEarningVersion.js +13 -0
  212. package/services/migration-service/scripts/index.js +7 -1
  213. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
  214. package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
  215. package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
  216. package/services/mint-campaign-service/campaigns/index.js +4 -0
  217. package/services/mint-campaign-service/constants.d.ts +1 -0
  218. package/services/mint-campaign-service/constants.js +4 -0
  219. package/services/mint-campaign-service/index.d.ts +7 -0
  220. package/services/mint-campaign-service/index.js +11 -0
  221. package/services/notification-service/NotificationService.js +1 -1
  222. package/services/storage-service/DatabaseService.d.ts +18 -1
  223. package/services/storage-service/DatabaseService.js +51 -0
  224. package/services/storage-service/databases/index.d.ts +3 -1
  225. package/services/storage-service/databases/index.js +4 -0
  226. package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
  227. package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
  228. package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
  229. package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
  230. package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
  231. package/services/subscan-service/index.d.ts +2 -2
  232. package/services/transaction-service/event-parser/index.d.ts +3 -1
  233. package/services/transaction-service/event-parser/index.js +57 -1
  234. package/services/transaction-service/helpers/index.js +3 -1
  235. package/services/transaction-service/index.d.ts +4 -15
  236. package/services/transaction-service/index.js +178 -72
  237. package/services/transaction-service/types.d.ts +2 -0
  238. package/services/transaction-service/utils.js +1 -0
  239. package/types/campaigns/index.d.ts +1 -0
  240. package/types/campaigns/index.js +4 -0
  241. package/types/campaigns/unlock-dot.d.ts +71 -0
  242. package/types/campaigns/unlock-dot.js +1 -0
  243. package/types/index.d.ts +5 -0
  244. package/types/index.js +5 -1
  245. package/types/ordinal.d.ts +69 -0
  246. package/types/ordinal.js +1 -0
  247. package/types/transaction.d.ts +3 -0
  248. package/types/transaction.js +1 -0
  249. package/types/yield/actions/index.d.ts +2 -0
  250. package/types/yield/actions/index.js +5 -0
  251. package/types/yield/actions/join/index.d.ts +3 -0
  252. package/types/yield/actions/join/index.js +6 -0
  253. package/types/yield/actions/join/step.d.ts +94 -0
  254. package/types/yield/actions/join/step.js +46 -0
  255. package/types/yield/actions/join/submit.d.ts +53 -0
  256. package/types/yield/actions/join/submit.js +1 -0
  257. package/types/yield/actions/join/validate.d.ts +18 -0
  258. package/types/yield/actions/join/validate.js +10 -0
  259. package/types/yield/actions/others.d.ts +63 -0
  260. package/types/yield/actions/others.js +1 -0
  261. package/types/yield/index.d.ts +2 -0
  262. package/types/yield/index.js +5 -0
  263. package/types/yield/info/account/index.d.ts +4 -0
  264. package/types/yield/info/account/index.js +7 -0
  265. package/types/yield/info/account/info.d.ts +101 -0
  266. package/types/yield/info/account/info.js +1 -0
  267. package/types/yield/info/account/reward.d.ts +30 -0
  268. package/types/yield/info/account/reward.js +1 -0
  269. package/types/yield/info/account/target.d.ts +43 -0
  270. package/types/yield/info/account/target.js +27 -0
  271. package/types/yield/info/account/unstake.d.ts +31 -0
  272. package/types/yield/info/account/unstake.js +22 -0
  273. package/types/yield/info/base.d.ts +45 -0
  274. package/types/yield/info/base.js +36 -0
  275. package/types/yield/info/chain/index.d.ts +2 -0
  276. package/types/yield/info/chain/index.js +5 -0
  277. package/types/yield/info/chain/info.d.ts +208 -0
  278. package/types/yield/info/chain/info.js +1 -0
  279. package/types/yield/info/chain/target.d.ts +37 -0
  280. package/types/yield/info/chain/target.js +1 -0
  281. package/types/yield/info/index.d.ts +4 -0
  282. package/types/yield/info/index.js +7 -0
  283. package/types/yield/info/pallet.d.ts +143 -0
  284. package/types/yield/info/pallet.js +9 -0
  285. package/utils/fetchStaticData.js +2 -1
  286. package/utils/index.d.ts +5 -0
  287. package/utils/index.js +53 -1
  288. package/utils/object.d.ts +1 -0
  289. package/utils/object.js +6 -0
package/types/index.js CHANGED
@@ -1,6 +1,10 @@
1
- // Copyright 2019-2022 @polkadot/extension authors & contributors
1
+ // Copyright 2019-2022 @subwallet/extension-base authors & contributors
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  export * from "./balance.js";
5
5
  export * from "./buy.js";
6
+ export * from "./campaigns/index.js";
7
+ export * from "./ordinal.js";
8
+ export * from "./transaction.js";
9
+ export * from "./yield/index.js";
6
10
  export {};
@@ -0,0 +1,69 @@
1
+ export interface OrdinalItem {
2
+ chain: string;
3
+ address: string;
4
+ data: Record<string, any>;
5
+ }
6
+ export interface SubscanEventBaseItemData {
7
+ id: number;
8
+ block_timestamp: number;
9
+ extrinsic_index: string;
10
+ extrinsic_hash: string;
11
+ finalized: boolean;
12
+ event_index: string;
13
+ phase: number;
14
+ module_id: string;
15
+ event_id: string;
16
+ }
17
+ export interface SubscanEventListResponse {
18
+ code: number;
19
+ message: string;
20
+ generated_at: number;
21
+ data: {
22
+ count: number;
23
+ events: SubscanEventBaseItemData[];
24
+ };
25
+ }
26
+ export interface SubscanBatchChildParam {
27
+ name: string;
28
+ type: string;
29
+ value: string;
30
+ }
31
+ export interface SubscanBatchChild {
32
+ call_index: string;
33
+ call_module: string;
34
+ call_name: string;
35
+ params: SubscanBatchChildParam[];
36
+ }
37
+ export interface SubscanExtrinsicParamDetail {
38
+ name: string;
39
+ type: string;
40
+ type_name: string;
41
+ value: string | SubscanBatchChild[];
42
+ }
43
+ export interface SubscanExtrinsicParam {
44
+ extrinsic_index: string;
45
+ params: SubscanExtrinsicParamDetail[];
46
+ }
47
+ export interface SubscanExtrinsicParamResponse {
48
+ code: number;
49
+ message: string;
50
+ generated_at: number;
51
+ data: SubscanExtrinsicParam[];
52
+ }
53
+ export interface OrdinalRemarkData {
54
+ p: string;
55
+ op: string;
56
+ tick: string;
57
+ amt: string;
58
+ }
59
+ export interface OrdinalNftProperties {
60
+ P: {
61
+ value: string;
62
+ };
63
+ Op: {
64
+ value: string;
65
+ };
66
+ Tick: {
67
+ value: string;
68
+ };
69
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { TransactionConfig } from 'web3-core';
2
+ import { SubmittableExtrinsic } from '@polkadot/api/types';
3
+ export declare type TransactionData = SubmittableExtrinsic<'promise'> | TransactionConfig;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './join';
2
+ export * from './others';
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./join/index.js";
5
+ export * from "./others.js";
@@ -0,0 +1,3 @@
1
+ export * from './step';
2
+ export * from './submit';
3
+ export * from './validate';
@@ -0,0 +1,6 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./step.js";
5
+ export * from "./submit.js";
6
+ export * from "./validate.js";
@@ -0,0 +1,94 @@
1
+ import { YieldPoolTarget } from '@subwallet/extension-base/types';
2
+ /**
3
+ * @interface RequestEarlyValidateYield
4
+ * @description Params to early validate join pool
5
+ * @prop {string} slug - Pool's slug
6
+ * @prop {string} address - Account's address
7
+ * */
8
+ export interface RequestEarlyValidateYield {
9
+ /** Pool's slug */
10
+ slug: string;
11
+ /** Account's address */
12
+ address: string;
13
+ }
14
+ /**
15
+ * @interface ResponseEarlyValidateYield
16
+ * @prop {boolean} passed - Passed validate
17
+ * */
18
+ export interface ResponseEarlyValidateYield {
19
+ passed: boolean;
20
+ }
21
+ /**
22
+ * @interface OptimalYieldPathParams
23
+ * @description Params to generate steps
24
+ * */
25
+ export interface OptimalYieldPathParams {
26
+ slug: string;
27
+ address: string;
28
+ amount: string;
29
+ targets?: YieldPoolTarget[];
30
+ }
31
+ /**
32
+ * @enum {string}
33
+ * @description Type of join yield step
34
+ * */
35
+ export declare enum YieldStepType {
36
+ DEFAULT = "DEFAULT",
37
+ XCM = "XCM",
38
+ NOMINATE = "NOMINATE",
39
+ JOIN_NOMINATION_POOL = "JOIN_NOMINATION_POOL",
40
+ MINT_VDOT = "MINT_VDOT",
41
+ MINT_LDOT = "MINT_LDOT",
42
+ MINT_QDOT = "MINT_QDOT",
43
+ MINT_SDOT = "MINT_SDOT",
44
+ MINT_STDOT = "MINT_STDOT",
45
+ TOKEN_APPROVAL = "TOKEN_APPROVAL"
46
+ }
47
+ /**
48
+ * @interface BaseYieldStepDetail
49
+ * @description Base info of a step
50
+ * @prop {string} name - Step's name
51
+ * @prop {YieldStepType} type - Step's type
52
+ * @prop {Record<string,unknown>} [metadata] - Metadata for generating extrinsic
53
+ * */
54
+ export interface BaseYieldStepDetail {
55
+ /** Step's name */
56
+ name: string;
57
+ /** Step's type */
58
+ type: YieldStepType;
59
+ /** Metadata for generating extrinsic */
60
+ metadata?: Record<string, unknown>;
61
+ }
62
+ /**
63
+ * @interface YieldStepDetail
64
+ * @extends BaseYieldStepDetail
65
+ * @description Detail of a step
66
+ * @prop {number} id - Step's id
67
+ * */
68
+ export interface YieldStepDetail extends BaseYieldStepDetail {
69
+ /** Step's id */
70
+ id: number;
71
+ }
72
+ /**
73
+ * @interface YieldTokenBaseInfo
74
+ * @prop {string} slug - Token's slug
75
+ * @prop {string} [amount] - Token's amount
76
+ * */
77
+ export interface YieldTokenBaseInfo {
78
+ /** Token's slug */
79
+ slug: string;
80
+ /** Token's amount */
81
+ amount?: string;
82
+ }
83
+ /** Base info and fee of a step */
84
+ export declare type YieldStepBaseInfo = [BaseYieldStepDetail, YieldTokenBaseInfo];
85
+ /**
86
+ * @interface OptimalYieldPath
87
+ * @description Result after generate steps
88
+ * */
89
+ export interface OptimalYieldPath {
90
+ totalFee: YieldTokenBaseInfo[];
91
+ steps: YieldStepDetail[];
92
+ connectionError?: string;
93
+ }
94
+ export declare type GenStepFunction = (params: OptimalYieldPathParams) => Promise<YieldStepBaseInfo | undefined>;
@@ -0,0 +1,46 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * @interface RequestEarlyValidateYield
6
+ * @description Params to early validate join pool
7
+ * @prop {string} slug - Pool's slug
8
+ * @prop {string} address - Account's address
9
+ * */
10
+
11
+ /**
12
+ * @interface ResponseEarlyValidateYield
13
+ * @prop {boolean} passed - Passed validate
14
+ * */
15
+
16
+ /**
17
+ * @interface OptimalYieldPathParams
18
+ * @description Params to generate steps
19
+ * */
20
+
21
+ /**
22
+ * @enum {string}
23
+ * @description Type of join yield step
24
+ * */
25
+
26
+ export let YieldStepType;
27
+
28
+ /**
29
+ * @interface BaseYieldStepDetail
30
+ * @description Base info of a step
31
+ * @prop {string} name - Step's name
32
+ * @prop {YieldStepType} type - Step's type
33
+ * @prop {Record<string,unknown>} [metadata] - Metadata for generating extrinsic
34
+ * */
35
+ (function (YieldStepType) {
36
+ YieldStepType["DEFAULT"] = "DEFAULT";
37
+ YieldStepType["XCM"] = "XCM";
38
+ YieldStepType["NOMINATE"] = "NOMINATE";
39
+ YieldStepType["JOIN_NOMINATION_POOL"] = "JOIN_NOMINATION_POOL";
40
+ YieldStepType["MINT_VDOT"] = "MINT_VDOT";
41
+ YieldStepType["MINT_LDOT"] = "MINT_LDOT";
42
+ YieldStepType["MINT_QDOT"] = "MINT_QDOT";
43
+ YieldStepType["MINT_SDOT"] = "MINT_SDOT";
44
+ YieldStepType["MINT_STDOT"] = "MINT_STDOT";
45
+ YieldStepType["TOKEN_APPROVAL"] = "TOKEN_APPROVAL";
46
+ })(YieldStepType || (YieldStepType = {}));
@@ -0,0 +1,53 @@
1
+ import { BaseRequestSign, ExtrinsicType, InternalRequestSign } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { TransactionData } from '../../../transaction';
3
+ import { NominationPoolInfo, ValidatorInfo, YieldPositionInfo } from '../../info';
4
+ import { OptimalYieldPath } from './step';
5
+ export interface HandleYieldStepData {
6
+ txChain: string;
7
+ extrinsicType: ExtrinsicType;
8
+ extrinsic: TransactionData;
9
+ txData: any;
10
+ transferNativeAmount: string;
11
+ }
12
+ export interface AbstractSubmitYieldJoinData {
13
+ slug: string;
14
+ amount: string;
15
+ address: string;
16
+ }
17
+ export interface SubmitJoinNativeStaking extends AbstractSubmitYieldJoinData {
18
+ selectedValidators: ValidatorInfo[];
19
+ }
20
+ export interface SubmitJoinNominationPool extends AbstractSubmitYieldJoinData {
21
+ selectedPool: NominationPoolInfo;
22
+ }
23
+ export interface SubmitYieldStepData extends AbstractSubmitYieldJoinData {
24
+ exchangeRate: number;
25
+ inputTokenSlug: string;
26
+ derivativeTokenSlug?: string;
27
+ rewardTokenSlug: string;
28
+ feeTokenSlug: string;
29
+ }
30
+ export declare type SubmitYieldJoinData = SubmitYieldStepData | SubmitJoinNativeStaking | SubmitJoinNominationPool;
31
+ export interface HandleYieldStepParams extends BaseRequestSign {
32
+ path: OptimalYieldPath;
33
+ data: SubmitYieldJoinData;
34
+ currentStep: number;
35
+ }
36
+ export declare type RequestYieldStepSubmit = InternalRequestSign<HandleYieldStepParams>;
37
+ export interface StakePoolingBondingParams extends BaseRequestSign {
38
+ poolPosition?: YieldPositionInfo;
39
+ slug: string;
40
+ selectedPool: NominationPoolInfo;
41
+ amount: string;
42
+ address: string;
43
+ }
44
+ export declare type RequestStakePoolingBonding = InternalRequestSign<StakePoolingBondingParams>;
45
+ export interface BondingSubmitParams extends BaseRequestSign {
46
+ slug: string;
47
+ poolPosition?: YieldPositionInfo;
48
+ amount: string;
49
+ address: string;
50
+ selectedValidators: ValidatorInfo[];
51
+ lockPeriod?: number;
52
+ }
53
+ export declare type RequestBondingSubmit = InternalRequestSign<BondingSubmitParams>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,18 @@
1
+ import { OptimalYieldPath, YieldStepDetail } from './step';
2
+ import { SubmitYieldJoinData } from './submit';
3
+ export declare enum YieldValidationStatus {
4
+ NOT_ENOUGH_FEE = "NOT_ENOUGH_FEE",
5
+ NOT_ENOUGH_BALANCE = "NOT_ENOUGH_BALANCE",
6
+ NOT_ENOUGH_MIN_JOIN_POOL = "NOT_ENOUGH_MIN_JOIN_POOL",
7
+ OK = "OK"
8
+ }
9
+ export interface YieldProcessValidation {
10
+ ok: boolean;
11
+ status: YieldValidationStatus;
12
+ failedStep?: YieldStepDetail;
13
+ message?: string;
14
+ }
15
+ export interface ValidateYieldProcessParams {
16
+ path: OptimalYieldPath;
17
+ data: SubmitYieldJoinData;
18
+ }
@@ -0,0 +1,10 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export let YieldValidationStatus;
5
+ (function (YieldValidationStatus) {
6
+ YieldValidationStatus["NOT_ENOUGH_FEE"] = "NOT_ENOUGH_FEE";
7
+ YieldValidationStatus["NOT_ENOUGH_BALANCE"] = "NOT_ENOUGH_BALANCE";
8
+ YieldValidationStatus["NOT_ENOUGH_MIN_JOIN_POOL"] = "NOT_ENOUGH_MIN_JOIN_POOL";
9
+ YieldValidationStatus["OK"] = "OK";
10
+ })(YieldValidationStatus || (YieldValidationStatus = {}));
@@ -0,0 +1,63 @@
1
+ import { BaseRequestSign, InternalRequestSign } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { UnstakingInfo, YieldPoolInfo } from '../info';
3
+ /**
4
+ * @interface YieldLeaveParams
5
+ * @description Request params to leave pool
6
+ * @prop {string} address - Request account
7
+ * @prop {string} amount - Amount token want to leave
8
+ * @prop {string} slug - Pool's slug
9
+ * @prop {string} [selectedTarget] - Pool target want to leave (nomination pool and native staking need)
10
+ * @prop {boolean} fastLeave - Fast leave pool (swap token)
11
+ * @prop {YieldPoolInfo} poolInfo - Pool's info - use for create history
12
+ * */
13
+ export interface YieldLeaveParams extends BaseRequestSign {
14
+ /** Request account */
15
+ address: string;
16
+ /** Amount token want to leave */
17
+ amount: string;
18
+ /** Pool's slug */
19
+ slug: string;
20
+ /** Pool target want to leave (nomination pool and native staking need) */
21
+ selectedTarget?: string;
22
+ /** Fast leave pool (swap token) */
23
+ fastLeave: boolean;
24
+ /** Pool's info - use for create history */
25
+ poolInfo: YieldPoolInfo;
26
+ }
27
+ export declare type RequestYieldLeave = InternalRequestSign<YieldLeaveParams>;
28
+ /**
29
+ * @interface RequestYieldWithdrawal
30
+ * @description Request params to withdraw
31
+ * @prop {string} address - Request account
32
+ * @prop {string} slug - Pool's slug
33
+ * @prop {UnstakingInfo} unstakingInfo - Info of unstaking request wants to withdraw
34
+ * */
35
+ export interface YieldWithdrawalParams extends BaseRequestSign {
36
+ /** Request account */
37
+ address: string;
38
+ /** Pool's slug */
39
+ slug: string;
40
+ /**
41
+ * <p>
42
+ * Info of unstaking request wants to withdraw
43
+ * </p>
44
+ * <p>
45
+ * Need to create amount on history
46
+ * </p>
47
+ * */
48
+ unstakingInfo: UnstakingInfo;
49
+ }
50
+ export declare type RequestYieldWithdrawal = InternalRequestSign<YieldWithdrawalParams>;
51
+ export interface StakeCancelWithdrawalParams extends BaseRequestSign {
52
+ address: string;
53
+ slug: string;
54
+ selectedUnstaking: UnstakingInfo;
55
+ }
56
+ export declare type RequestStakeCancelWithdrawal = InternalRequestSign<StakeCancelWithdrawalParams>;
57
+ export interface StakeClaimRewardParams extends BaseRequestSign {
58
+ address: string;
59
+ slug: string;
60
+ unclaimedReward?: string;
61
+ bondReward?: boolean;
62
+ }
63
+ export declare type RequestStakeClaimReward = InternalRequestSign<StakeClaimRewardParams>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './info';
2
+ export * from './actions';
@@ -0,0 +1,5 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./info/index.js";
5
+ export * from "./actions/index.js";
@@ -0,0 +1,4 @@
1
+ export * from './info';
2
+ export * from './reward';
3
+ export * from './target';
4
+ export * from './unstake';
@@ -0,0 +1,7 @@
1
+ // Copyright 2019-2022 @subwallet/extension-base
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from "./info.js";
5
+ export * from "./reward.js";
6
+ export * from "./target.js";
7
+ export * from "./unstake.js";
@@ -0,0 +1,101 @@
1
+ import { BasePoolInfo, YieldPoolType } from '../base';
2
+ import { EarningStatus, NominationInfo } from './target';
3
+ import { UnstakingInfo } from './unstake';
4
+ export interface YieldAssetBalance {
5
+ slug: string;
6
+ activeBalance: string;
7
+ exchangeRate?: number;
8
+ }
9
+ /**
10
+ * @interface BaseYieldPositionInfo
11
+ * @extends BasePoolInfo
12
+ * @prop {string} address - Account address
13
+ * */
14
+ export interface BaseYieldPositionInfo extends BasePoolInfo {
15
+ /** Account address */
16
+ address: string;
17
+ }
18
+ /**
19
+ * @interface AbstractYieldPositionInfo
20
+ * @prop {string} address - Account address
21
+ * @prop {string} chain - Chain's slug
22
+ * @prop {YieldPoolGroup} group - Pool's group
23
+ * @prop {string} slug - Pool's slug
24
+ * @prop {YieldPoolType} type - Pool's type
25
+ * @prop {string} totalStake - Total stake of the account
26
+ * @prop {string} activeStake - Active stake of the account
27
+ * @prop {string} unstakeBalance - Unstaking balance of the account
28
+ * @prop {YieldAssetBalance[]} balance - List balance related with stake
29
+ * @prop {boolean} isBondedBefore - Is the account bonded in pool before?
30
+ * @prop {NominationInfo[]} nominations - List nominations account joined - use for nomination pool and native staking
31
+ * @prop {EarningStatus} status - Earning status of the account
32
+ * @prop {UnstakingInfo[]} unstakings - List unstake request of the account - use for nomination pool and native staking
33
+ * */
34
+ export interface AbstractYieldPositionInfo extends BaseYieldPositionInfo {
35
+ /** Token to show */
36
+ balanceToken: string;
37
+ /** Total stake of the account */
38
+ totalStake: string;
39
+ /** Active stake of the account */
40
+ activeStake: string;
41
+ /** Unstaking balance of the account */
42
+ unstakeBalance: string;
43
+ /** Is the account bonded in pool before? */
44
+ isBondedBefore: boolean;
45
+ /** List nominations account joined - use for nomination pool and native staking */
46
+ nominations: NominationInfo[];
47
+ /** Earning status of the account */
48
+ status: EarningStatus;
49
+ /** List unstake request of the account - use for nomination pool and native staking */
50
+ unstakings: UnstakingInfo[];
51
+ }
52
+ /**
53
+ * @interface SpecialYieldPositionInfo
54
+ * @extends AbstractYieldPositionInfo
55
+ * @prop {string} rootAsset - Input token - Root token before stake and after unstake (slug)
56
+ * */
57
+ export interface SpecialYieldPositionInfo extends AbstractYieldPositionInfo {
58
+ type: YieldPoolType.LIQUID_STAKING | YieldPoolType.LENDING;
59
+ /** @description
60
+ * <p>Derivative token - Token got after stake (slug)</p>
61
+ * <p>To detect exchange rate</p>
62
+ * <p>Exchange rate = root token amount / balance token amount</p>
63
+ * */
64
+ derivativeToken: string;
65
+ }
66
+ /**
67
+ * @interface LiquidYieldPositionInfo
68
+ * @extends SpecialYieldPositionInfo
69
+ * @prop {YieldPoolType.LIQUID_STAKING} type - Pool's type
70
+ * */
71
+ export interface LiquidYieldPositionInfo extends SpecialYieldPositionInfo {
72
+ type: YieldPoolType.LIQUID_STAKING;
73
+ }
74
+ /**
75
+ * @interface LendingYieldPositionInfo
76
+ * @extends SpecialYieldPositionInfo
77
+ * @prop {YieldPoolType.LENDING} type - Pool's type
78
+ * */
79
+ export interface LendingYieldPositionInfo extends SpecialYieldPositionInfo {
80
+ type: YieldPoolType.LENDING;
81
+ }
82
+ /**
83
+ * @interface NominationYieldPositionInfo
84
+ * @extends AbstractYieldPositionInfo
85
+ * @prop {YieldPoolType.NOMINATION_POOL} type - Pool's type
86
+ * */
87
+ export interface NominationYieldPositionInfo extends AbstractYieldPositionInfo {
88
+ type: YieldPoolType.NOMINATION_POOL;
89
+ }
90
+ /**
91
+ * @interface NativeYieldPositionInfo
92
+ * @extends AbstractYieldPositionInfo
93
+ * @prop {YieldPoolType.NATIVE_STAKING} type - Pool's type
94
+ * */
95
+ export interface NativeYieldPositionInfo extends AbstractYieldPositionInfo {
96
+ type: YieldPoolType.NATIVE_STAKING;
97
+ }
98
+ /**
99
+ * Info of yield pool
100
+ * */
101
+ export declare type YieldPositionInfo = NativeYieldPositionInfo | NominationYieldPositionInfo | LiquidYieldPositionInfo | LendingYieldPositionInfo;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,30 @@
1
+ import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
2
+ import { BasePoolInfo } from '../base';
3
+ /**
4
+ * @interface EarningRewardItem
5
+ * @extends BasePoolInfo
6
+ * @prop {string} address - Account address
7
+ * @prop {APIItemState} state - State of item
8
+ * @prop {string} [latestReward] - Latest rewarded claimed
9
+ * @prop {string} [totalReward] - Total rewarded claimed
10
+ * @prop {string} [totalSlash] - Total token slashed
11
+ * @prop {string} [unclaimedReward] - Un-claim reward
12
+ * */
13
+ export interface EarningRewardItem extends BasePoolInfo {
14
+ /** Account address */
15
+ address: string;
16
+ /** State of item */
17
+ state: APIItemState;
18
+ /** Latest rewarded claimed */
19
+ latestReward?: string;
20
+ /** Total rewarded claimed */
21
+ totalReward?: string;
22
+ /** Total token slashed */
23
+ totalSlash?: string;
24
+ /** Un-claim reward */
25
+ unclaimedReward?: string;
26
+ }
27
+ export interface EarningRewardJson {
28
+ ready: boolean;
29
+ data: Record<string, EarningRewardItem>;
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -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 = {}));