@subwallet/extension-base 1.1.29-beta.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 (60) hide show
  1. package/background/KoniTypes.d.ts +2 -1
  2. package/cjs/constants/index.js +11 -2
  3. package/cjs/koni/background/cron.js +10 -2
  4. package/cjs/koni/background/handlers/Extension.js +15 -0
  5. package/cjs/koni/background/subscription.js +12 -24
  6. package/cjs/services/earning-service/handlers/base.js +5 -3
  7. package/cjs/services/earning-service/handlers/lending/interlay.js +8 -0
  8. package/cjs/services/earning-service/handlers/liquid-staking/acala.js +16 -5
  9. package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +17 -1
  10. package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +9 -3
  11. package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +38 -11
  12. package/cjs/services/earning-service/handlers/native-staking/amplitude.js +4 -2
  13. package/cjs/services/earning-service/handlers/native-staking/astar.js +11 -6
  14. package/cjs/services/earning-service/handlers/native-staking/base.js +45 -5
  15. package/cjs/services/earning-service/handlers/native-staking/para-chain.js +3 -1
  16. package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +3 -1
  17. package/cjs/services/earning-service/handlers/nomination-pool/index.js +14 -1
  18. package/cjs/services/earning-service/handlers/special.js +7 -8
  19. package/cjs/services/earning-service/service.js +41 -5
  20. package/cjs/services/subscan-service/index.js +16 -0
  21. package/constants/index.d.ts +4 -1
  22. package/constants/index.js +4 -1
  23. package/koni/background/cron.d.ts +1 -0
  24. package/koni/background/cron.js +11 -3
  25. package/koni/background/handlers/Extension.d.ts +1 -0
  26. package/koni/background/handlers/Extension.js +15 -0
  27. package/koni/background/subscription.d.ts +1 -0
  28. package/koni/background/subscription.js +12 -23
  29. package/package.json +1 -1
  30. package/services/earning-service/handlers/base.d.ts +5 -1
  31. package/services/earning-service/handlers/base.js +5 -3
  32. package/services/earning-service/handlers/lending/interlay.d.ts +3 -2
  33. package/services/earning-service/handlers/lending/interlay.js +8 -0
  34. package/services/earning-service/handlers/liquid-staking/acala.d.ts +3 -4
  35. package/services/earning-service/handlers/liquid-staking/acala.js +16 -5
  36. package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +4 -3
  37. package/services/earning-service/handlers/liquid-staking/bifrost.js +17 -1
  38. package/services/earning-service/handlers/liquid-staking/parallel.d.ts +3 -5
  39. package/services/earning-service/handlers/liquid-staking/parallel.js +9 -3
  40. package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +4 -6
  41. package/services/earning-service/handlers/liquid-staking/stella-swap.js +38 -11
  42. package/services/earning-service/handlers/native-staking/amplitude.js +4 -2
  43. package/services/earning-service/handlers/native-staking/astar.d.ts +2 -2
  44. package/services/earning-service/handlers/native-staking/astar.js +11 -6
  45. package/services/earning-service/handlers/native-staking/base.d.ts +3 -2
  46. package/services/earning-service/handlers/native-staking/base.js +45 -5
  47. package/services/earning-service/handlers/native-staking/para-chain.js +3 -1
  48. package/services/earning-service/handlers/native-staking/relay-chain.js +3 -1
  49. package/services/earning-service/handlers/nomination-pool/index.d.ts +3 -1
  50. package/services/earning-service/handlers/nomination-pool/index.js +15 -2
  51. package/services/earning-service/handlers/special.d.ts +1 -4
  52. package/services/earning-service/handlers/special.js +7 -8
  53. package/services/earning-service/service.d.ts +7 -2
  54. package/services/earning-service/service.js +41 -5
  55. package/services/subscan-service/index.d.ts +2 -1
  56. package/services/subscan-service/index.js +15 -0
  57. package/services/subscan-service/types.d.ts +20 -0
  58. package/types/yield/info/account/info.d.ts +2 -11
  59. package/types/yield/info/account/reward.d.ts +15 -0
  60. package/types/yield/info/chain/info.d.ts +29 -3
@@ -237,4 +237,19 @@ export class SubscanService {
237
237
  await _getTransferItems(0);
238
238
  return resultMap;
239
239
  }
240
+ getRewardHistoryList(chain, address, page = 0) {
241
+ return this.addRequest(async () => {
242
+ const rs = await this.postRequest(this.getApiUrl(chain, 'api/scan/account/reward_slash'), {
243
+ page,
244
+ category: 'Reward',
245
+ row: 10,
246
+ address
247
+ });
248
+ if (rs.status !== 200) {
249
+ throw new SWError('SubscanService.getRewardHistoryList', await rs.text());
250
+ }
251
+ const jsonData = await rs.json();
252
+ return jsonData.data;
253
+ });
254
+ }
240
255
  }
@@ -175,3 +175,23 @@ export declare type RequestBlockRange = {
175
175
  from: number | null;
176
176
  to: number | null;
177
177
  };
178
+ export interface RewardHistoryItem {
179
+ block_num: number;
180
+ extrinsic_idx: number;
181
+ stash: string;
182
+ account: string;
183
+ module_id: string;
184
+ event_id: string;
185
+ event_method: string;
186
+ params: string;
187
+ extrinsic_hash: string;
188
+ event_idx: number;
189
+ amount: string;
190
+ block_timestamp: number;
191
+ event_index: string;
192
+ extrinsic_index: string;
193
+ }
194
+ export interface RewardHistoryListResponse {
195
+ count: number;
196
+ list: null | RewardHistoryItem[];
197
+ }
@@ -17,11 +17,6 @@ export interface BaseYieldPositionInfo extends BasePoolInfo {
17
17
  }
18
18
  /**
19
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
20
  * @prop {string} totalStake - Total stake of the account
26
21
  * @prop {string} activeStake - Active stake of the account
27
22
  * @prop {string} unstakeBalance - Unstaking balance of the account
@@ -52,15 +47,11 @@ export interface AbstractYieldPositionInfo extends BaseYieldPositionInfo {
52
47
  /**
53
48
  * @interface SpecialYieldPositionInfo
54
49
  * @extends AbstractYieldPositionInfo
55
- * @prop {string} rootAsset - Input token - Root token before stake and after unstake (slug)
50
+ * @prop {string} derivativeToken - Derivative token (slug)
56
51
  * */
57
52
  export interface SpecialYieldPositionInfo extends AbstractYieldPositionInfo {
58
53
  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
- * */
54
+ /** Derivative token (slug) */
64
55
  derivativeToken: string;
65
56
  }
66
57
  /**
@@ -28,3 +28,18 @@ export interface EarningRewardJson {
28
28
  ready: boolean;
29
29
  data: Record<string, EarningRewardItem>;
30
30
  }
31
+ /**
32
+ * @interface EarningRewardHistoryItem
33
+ * @extends BasePoolInfo
34
+ * @prop {string} address - Account address
35
+ * @prop {number} blockTimestamp - Reward history's block timestamp
36
+ * @prop {string} amount - Reward history's amount
37
+ * */
38
+ export interface EarningRewardHistoryItem extends BasePoolInfo {
39
+ /** Account address */
40
+ address: string;
41
+ /** Reward history's block timestamp */
42
+ blockTimestamp: number;
43
+ /** Reward history's amount */
44
+ amount: string;
45
+ }
@@ -19,6 +19,29 @@ export interface YieldAssetEarningStats {
19
19
  * */
20
20
  exchangeRate?: number;
21
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
+ }
22
45
  /**
23
46
  * @interface BaseYieldPoolMetadata
24
47
  * @prop {string} description - Pool's description
@@ -27,9 +50,9 @@ export interface YieldAssetEarningStats {
27
50
  * @prop {string} logo - Pool's logo
28
51
  * @prop {boolean} isAvailable - Is the pool available?
29
52
  * @prop {string} inputAsset - Input token (slug)
30
- * @prop {boolean} allowCancelUnstaking - Allow canceling un-stake
31
53
  * @prop {string} maintainAsset - Asset to maintain account's pool
32
54
  * @prop {string} maintainBalance - Balance to maintain account's pool
55
+ * @prop {YieldPoolMethodInfo} availableMethod - Pool's available method
33
56
  * */
34
57
  export interface BaseYieldPoolMetadata {
35
58
  /** Pool's description */
@@ -44,12 +67,12 @@ export interface BaseYieldPoolMetadata {
44
67
  inputAsset: string;
45
68
  /** Is the pool available? */
46
69
  isAvailable: boolean;
47
- /** Allow to cancel un-stake */
48
- allowCancelUnstaking: boolean;
49
70
  /** Asset to maintain account's pool */
50
71
  maintainAsset: string;
51
72
  /** Balance to maintain account's pool */
52
73
  maintainBalance: string;
74
+ /** Pool's available method */
75
+ availableMethod: YieldPoolMethodInfo;
53
76
  }
54
77
  /**
55
78
  * @interface NormalYieldPoolMetadata
@@ -117,12 +140,15 @@ export interface BaseYieldPoolStatistic {
117
140
  * @interface NormalYieldPoolStatistic
118
141
  * @extends BaseYieldPoolStatistic
119
142
  * @prop {number} era - Current era of network
143
+ * @prop {number} eraTime - Time of an era - in hour
120
144
  * @prop {number} unstakingPeriod - Time to wait withdraw un-stake, in hour
121
145
  * @prop {number} [inflation] - Inflation rate
122
146
  * */
123
147
  export interface NormalYieldPoolStatistic extends BaseYieldPoolStatistic {
124
148
  /** Current era of network */
125
149
  era: number;
150
+ /** Time of an era - in hour */
151
+ eraTime: number;
126
152
  /** Time to wait withdraw un-stake, in hour */
127
153
  unstakingPeriod: number;
128
154
  /** Inflation rate */