@subwallet/extension-base 1.1.28-0 → 1.1.28-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.
- package/background/KoniTypes.d.ts +92 -68
- package/background/KoniTypes.js +16 -13
- package/background/errors/TransactionError.js +9 -0
- package/cjs/background/KoniTypes.js +17 -16
- package/cjs/background/errors/TransactionError.js +9 -0
- package/cjs/constants/index.js +9 -3
- package/cjs/koni/api/dotsama/balance.js +464 -0
- package/cjs/koni/api/nft/config.js +33 -23
- package/cjs/koni/api/nft/index.js +14 -0
- package/cjs/koni/api/nft/nft.js +1 -22
- package/cjs/koni/api/nft/ordinal_nft/constants.js +21 -0
- package/cjs/koni/api/nft/ordinal_nft/index.js +121 -0
- package/cjs/koni/api/nft/ordinal_nft/utils.js +41 -0
- package/cjs/koni/api/staking/bonding/amplitude.js +17 -15
- package/cjs/koni/api/staking/bonding/astar.js +11 -10
- package/cjs/koni/api/staking/bonding/index.js +4 -1
- package/cjs/koni/api/staking/bonding/paraChain.js +25 -23
- package/cjs/koni/api/staking/bonding/relayChain.js +48 -45
- package/cjs/koni/api/staking/bonding/utils.js +104 -86
- package/cjs/koni/api/staking/index.js +6 -5
- package/cjs/koni/api/staking/paraChain.js +6 -5
- package/cjs/koni/api/staking/relayChain.js +3 -2
- package/cjs/koni/api/yield/helper/utils.js +46 -0
- package/cjs/koni/background/cron.js +2 -0
- package/cjs/koni/background/handlers/Extension.js +323 -69
- package/cjs/koni/background/handlers/State.js +57 -4
- package/cjs/koni/background/handlers/index.js +4 -2
- package/cjs/koni/background/subscription.js +89 -19
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/campaign-service/index.js +9 -6
- package/cjs/services/chain-service/constants.js +2 -16
- package/cjs/services/chain-service/utils.js +7 -1
- package/cjs/services/earning-service/constants/chains.js +29 -0
- package/cjs/services/earning-service/constants/index.js +27 -0
- package/cjs/services/earning-service/constants/step.js +18 -0
- package/cjs/services/earning-service/handlers/base.js +202 -0
- package/cjs/services/earning-service/handlers/index.js +60 -0
- package/cjs/services/earning-service/handlers/lending/base.js +20 -0
- package/cjs/services/earning-service/handlers/lending/index.js +13 -0
- package/cjs/services/earning-service/handlers/lending/interlay.js +168 -0
- package/cjs/services/earning-service/handlers/liquid-staking/acala.js +196 -0
- package/cjs/services/earning-service/handlers/liquid-staking/base.js +39 -0
- package/cjs/services/earning-service/handlers/liquid-staking/bifrost.js +257 -0
- package/cjs/services/earning-service/handlers/liquid-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/liquid-staking/parallel.js +180 -0
- package/cjs/services/earning-service/handlers/liquid-staking/stella-swap.js +373 -0
- package/cjs/services/earning-service/handlers/native-staking/amplitude.js +359 -0
- package/cjs/services/earning-service/handlers/native-staking/astar.js +426 -0
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +137 -0
- package/cjs/services/earning-service/handlers/native-staking/base.js +109 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +34 -0
- package/cjs/services/earning-service/handlers/native-staking/para-chain.js +361 -0
- package/cjs/services/earning-service/handlers/native-staking/relay-chain.js +512 -0
- package/cjs/services/earning-service/handlers/nomination-pool/index.js +501 -0
- package/cjs/services/earning-service/handlers/special.js +387 -0
- package/cjs/services/earning-service/service.js +327 -0
- package/cjs/services/earning-service/utils/index.js +111 -0
- package/cjs/services/event-service/index.js +4 -0
- package/cjs/services/keyring-service/index.js +14 -2
- package/cjs/services/migration-service/scripts/DeleteEarningData.js +21 -0
- package/cjs/services/migration-service/scripts/EnableEarningChains.js +21 -0
- package/cjs/services/migration-service/scripts/MigrateEthProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/cjs/services/migration-service/scripts/MigratePioneerProvider.js +17 -0
- package/cjs/services/migration-service/scripts/MigrateProvider.js +29 -0
- package/cjs/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/cjs/services/migration-service/scripts/index.js +4 -0
- package/cjs/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +149 -0
- package/cjs/services/mint-campaign-service/campaigns/index.js +13 -0
- package/cjs/services/mint-campaign-service/constants.js +11 -0
- package/cjs/services/mint-campaign-service/index.js +18 -0
- package/cjs/services/notification-service/NotificationService.js +1 -1
- package/cjs/services/storage-service/DatabaseService.js +47 -0
- package/cjs/services/storage-service/databases/index.js +4 -0
- package/cjs/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/cjs/services/storage-service/db-stores/YieldPoolStore.js +36 -0
- package/cjs/services/storage-service/db-stores/YieldPositionStore.js +65 -0
- package/cjs/services/storage-service/index.js +241 -0
- package/cjs/services/transaction-service/event-parser/index.js +58 -0
- package/cjs/services/transaction-service/helpers/index.js +3 -1
- package/cjs/services/transaction-service/index.js +180 -74
- package/cjs/services/transaction-service/utils.js +1 -0
- package/cjs/types/campaigns/index.js +16 -0
- package/cjs/types/campaigns/unlock-dot.js +1 -0
- package/cjs/types/index.js +44 -0
- package/cjs/types/ordinal.js +1 -0
- package/cjs/types/transaction.js +1 -0
- package/cjs/types/yield/actions/index.js +27 -0
- package/cjs/types/yield/actions/join/index.js +38 -0
- package/cjs/types/yield/actions/join/step.js +37 -0
- package/cjs/types/yield/actions/join/submit.js +1 -0
- package/cjs/types/yield/actions/join/validate.js +16 -0
- package/cjs/types/yield/actions/others.js +1 -0
- package/cjs/types/yield/index.js +27 -0
- package/cjs/types/yield/info/account/index.js +49 -0
- package/cjs/types/yield/info/account/info.js +1 -0
- package/cjs/types/yield/info/account/reward.js +1 -0
- package/cjs/types/yield/info/account/target.js +32 -0
- package/cjs/types/yield/info/account/unstake.js +27 -0
- package/cjs/types/yield/info/base.js +34 -0
- package/cjs/types/yield/info/chain/index.js +27 -0
- package/cjs/types/yield/info/chain/info.js +1 -0
- package/cjs/types/yield/info/chain/target.js +1 -0
- package/cjs/types/yield/info/index.js +49 -0
- package/cjs/types/yield/info/pallet.js +15 -0
- package/cjs/types.js +1 -0
- package/cjs/utils/address.js +34 -0
- package/cjs/utils/fetchStaticData.js +2 -1
- package/cjs/utils/index.js +89 -1
- package/cjs/utils/keyring.js +57 -0
- package/cjs/utils/object.js +12 -0
- package/constants/index.d.ts +2 -0
- package/constants/index.js +2 -0
- package/koni/api/nft/config.js +33 -23
- package/koni/api/nft/index.js +15 -1
- package/koni/api/nft/nft.js +2 -23
- package/koni/api/nft/ordinal_nft/constants.d.ts +9 -0
- package/koni/api/nft/ordinal_nft/constants.js +12 -0
- package/koni/api/nft/ordinal_nft/index.d.ts +8 -0
- package/koni/api/nft/ordinal_nft/index.js +114 -0
- package/koni/api/nft/ordinal_nft/utils.d.ts +2 -0
- package/koni/api/nft/ordinal_nft/utils.js +33 -0
- package/koni/api/staking/bonding/amplitude.js +11 -9
- package/koni/api/staking/bonding/astar.js +9 -8
- package/koni/api/staking/bonding/index.d.ts +1 -1
- package/koni/api/staking/bonding/index.js +5 -1
- package/koni/api/staking/bonding/paraChain.js +12 -10
- package/koni/api/staking/bonding/relayChain.d.ts +2 -2
- package/koni/api/staking/bonding/relayChain.js +33 -30
- package/koni/api/staking/bonding/utils.d.ts +15 -38
- package/koni/api/staking/bonding/utils.js +85 -69
- package/koni/api/staking/index.js +2 -1
- package/koni/api/staking/paraChain.js +7 -6
- package/koni/api/staking/relayChain.js +4 -3
- package/koni/api/yield/helper/utils.d.ts +10 -0
- package/koni/api/yield/helper/utils.js +32 -0
- package/koni/background/cron.js +2 -0
- package/koni/background/handlers/Extension.d.ts +14 -1
- package/koni/background/handlers/Extension.js +282 -30
- package/koni/background/handlers/State.d.ts +18 -2
- package/koni/background/handlers/State.js +56 -4
- package/koni/background/handlers/index.js +4 -2
- package/koni/background/subscription.d.ts +5 -1
- package/koni/background/subscription.js +91 -21
- package/package.json +311 -8
- package/packageInfo.js +1 -1
- package/services/campaign-service/index.js +9 -6
- package/services/chain-service/constants.d.ts +0 -11
- package/services/chain-service/constants.js +1 -14
- package/services/chain-service/utils.d.ts +1 -0
- package/services/chain-service/utils.js +5 -1
- package/services/earning-service/constants/abis/compound_finance_v2_abi.json +1235 -0
- package/services/earning-service/constants/abis/st_liquid_token_abi.json +1355 -0
- package/services/earning-service/constants/chains.d.ts +14 -0
- package/services/earning-service/constants/chains.js +21 -0
- package/services/earning-service/constants/index.d.ts +2 -0
- package/services/earning-service/constants/index.js +5 -0
- package/services/earning-service/constants/step.d.ts +3 -0
- package/services/earning-service/constants/step.js +10 -0
- package/services/earning-service/handlers/base.d.ts +105 -0
- package/services/earning-service/handlers/base.js +195 -0
- package/services/earning-service/handlers/index.d.ts +5 -0
- package/services/earning-service/handlers/index.js +8 -0
- package/services/earning-service/handlers/lending/base.d.ts +6 -0
- package/services/earning-service/handlers/lending/base.js +12 -0
- package/services/earning-service/handlers/lending/index.d.ts +1 -0
- package/services/earning-service/handlers/lending/index.js +4 -0
- package/services/earning-service/handlers/lending/interlay.d.ts +22 -0
- package/services/earning-service/handlers/lending/interlay.js +160 -0
- package/services/earning-service/handlers/liquid-staking/acala.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/acala.js +188 -0
- package/services/earning-service/handlers/liquid-staking/base.d.ts +8 -0
- package/services/earning-service/handlers/liquid-staking/base.js +31 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.d.ts +44 -0
- package/services/earning-service/handlers/liquid-staking/bifrost.js +246 -0
- package/services/earning-service/handlers/liquid-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/liquid-staking/index.js +7 -0
- package/services/earning-service/handlers/liquid-staking/parallel.d.ts +27 -0
- package/services/earning-service/handlers/liquid-staking/parallel.js +172 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.d.ts +36 -0
- package/services/earning-service/handlers/liquid-staking/stella-swap.js +363 -0
- package/services/earning-service/handlers/native-staking/amplitude.d.ts +22 -0
- package/services/earning-service/handlers/native-staking/amplitude.js +350 -0
- package/services/earning-service/handlers/native-staking/astar.d.ts +18 -0
- package/services/earning-service/handlers/native-staking/astar.js +416 -0
- package/services/earning-service/handlers/native-staking/base-para.d.ts +11 -0
- package/services/earning-service/handlers/native-staking/base-para.js +129 -0
- package/services/earning-service/handlers/native-staking/base.d.ts +19 -0
- package/services/earning-service/handlers/native-staking/base.js +101 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +4 -0
- package/services/earning-service/handlers/native-staking/index.js +7 -0
- package/services/earning-service/handlers/native-staking/para-chain.d.ts +15 -0
- package/services/earning-service/handlers/native-staking/para-chain.js +353 -0
- package/services/earning-service/handlers/native-staking/relay-chain.d.ts +21 -0
- package/services/earning-service/handlers/native-staking/relay-chain.js +503 -0
- package/services/earning-service/handlers/nomination-pool/index.d.ts +33 -0
- package/services/earning-service/handlers/nomination-pool/index.js +492 -0
- package/services/earning-service/handlers/special.d.ts +56 -0
- package/services/earning-service/handlers/special.js +379 -0
- package/services/earning-service/service.d.ts +36 -0
- package/services/earning-service/service.js +320 -0
- package/services/earning-service/utils/index.d.ts +14 -0
- package/services/earning-service/utils/index.js +100 -0
- package/services/event-service/index.d.ts +1 -0
- package/services/event-service/index.js +4 -0
- package/services/event-service/types.d.ts +8 -0
- package/services/keyring-service/index.d.ts +2 -1
- package/services/keyring-service/index.js +14 -2
- package/services/migration-service/scripts/DeleteEarningData.d.ts +4 -0
- package/services/migration-service/scripts/DeleteEarningData.js +13 -0
- package/services/migration-service/scripts/EnableEarningChains.d.ts +4 -0
- package/services/migration-service/scripts/EnableEarningChains.js +13 -0
- package/services/migration-service/scripts/MigrateLedgerAccount.js +1 -1
- package/services/migration-service/scripts/MigrateTransactionHistory.js +1 -1
- package/services/migration-service/scripts/index.js +4 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.d.ts +13 -0
- package/services/mint-campaign-service/campaigns/UnlockDotCampaign.js +139 -0
- package/services/mint-campaign-service/campaigns/index.d.ts +1 -0
- package/services/mint-campaign-service/campaigns/index.js +4 -0
- package/services/mint-campaign-service/constants.d.ts +1 -0
- package/services/mint-campaign-service/constants.js +4 -0
- package/services/mint-campaign-service/index.d.ts +7 -0
- package/services/mint-campaign-service/index.js +11 -0
- package/services/notification-service/NotificationService.js +1 -1
- package/services/storage-service/DatabaseService.d.ts +17 -1
- package/services/storage-service/DatabaseService.js +47 -0
- package/services/storage-service/databases/index.d.ts +3 -1
- package/services/storage-service/databases/index.js +4 -0
- package/services/storage-service/db-stores/NominatorMetadata.js +3 -3
- package/services/storage-service/db-stores/YieldPoolStore.d.ts +10 -0
- package/services/storage-service/db-stores/YieldPoolStore.js +28 -0
- package/services/storage-service/db-stores/YieldPositionStore.d.ts +9 -0
- package/services/storage-service/db-stores/YieldPositionStore.js +57 -0
- package/services/subscan-service/index.d.ts +2 -2
- package/services/transaction-service/event-parser/index.d.ts +3 -1
- package/services/transaction-service/event-parser/index.js +57 -1
- package/services/transaction-service/helpers/index.js +3 -1
- package/services/transaction-service/index.d.ts +4 -15
- package/services/transaction-service/index.js +178 -72
- package/services/transaction-service/types.d.ts +2 -0
- package/services/transaction-service/utils.js +1 -0
- package/types/campaigns/index.d.ts +1 -0
- package/types/campaigns/index.js +4 -0
- package/types/campaigns/unlock-dot.d.ts +71 -0
- package/types/campaigns/unlock-dot.js +1 -0
- package/types/index.d.ts +5 -0
- package/types/index.js +5 -1
- package/types/ordinal.d.ts +69 -0
- package/types/ordinal.js +1 -0
- package/types/transaction.d.ts +3 -0
- package/types/transaction.js +1 -0
- package/types/yield/actions/index.d.ts +2 -0
- package/types/yield/actions/index.js +5 -0
- package/types/yield/actions/join/index.d.ts +3 -0
- package/types/yield/actions/join/index.js +6 -0
- package/types/yield/actions/join/step.d.ts +75 -0
- package/types/yield/actions/join/step.js +34 -0
- package/types/yield/actions/join/submit.d.ts +53 -0
- package/types/yield/actions/join/submit.js +1 -0
- package/types/yield/actions/join/validate.d.ts +18 -0
- package/types/yield/actions/join/validate.js +10 -0
- package/types/yield/actions/others.d.ts +60 -0
- package/types/yield/actions/others.js +1 -0
- package/types/yield/index.d.ts +2 -0
- package/types/yield/index.js +5 -0
- package/types/yield/info/account/index.d.ts +4 -0
- package/types/yield/info/account/index.js +7 -0
- package/types/yield/info/account/info.d.ts +112 -0
- package/types/yield/info/account/info.js +1 -0
- package/types/yield/info/account/reward.d.ts +41 -0
- package/types/yield/info/account/reward.js +1 -0
- package/types/yield/info/account/target.d.ts +43 -0
- package/types/yield/info/account/target.js +27 -0
- package/types/yield/info/account/unstake.d.ts +31 -0
- package/types/yield/info/account/unstake.js +22 -0
- package/types/yield/info/base.d.ts +28 -0
- package/types/yield/info/base.js +28 -0
- package/types/yield/info/chain/index.d.ts +2 -0
- package/types/yield/info/chain/index.js +5 -0
- package/types/yield/info/chain/info.d.ts +190 -0
- package/types/yield/info/chain/info.js +1 -0
- package/types/yield/info/chain/target.d.ts +33 -0
- package/types/yield/info/chain/target.js +1 -0
- package/types/yield/info/index.d.ts +4 -0
- package/types/yield/info/index.js +7 -0
- package/types/yield/info/pallet.d.ts +143 -0
- package/types/yield/info/pallet.js +9 -0
- package/utils/fetchStaticData.js +2 -1
- package/utils/index.d.ts +5 -0
- package/utils/index.js +53 -1
- package/utils/object.d.ts +1 -0
- package/utils/object.js +6 -0
|
@@ -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
|
+
}
|
package/types/ordinal.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { YieldPoolTarget } from '@subwallet/extension-base/types';
|
|
2
|
+
/**
|
|
3
|
+
* @interface OptimalYieldPathParams
|
|
4
|
+
* @description Params to generate steps
|
|
5
|
+
* */
|
|
6
|
+
export interface OptimalYieldPathParams {
|
|
7
|
+
slug: string;
|
|
8
|
+
address: string;
|
|
9
|
+
amount: string;
|
|
10
|
+
targets?: YieldPoolTarget[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @enum {string}
|
|
14
|
+
* @description Type of join yield step
|
|
15
|
+
* */
|
|
16
|
+
export declare enum YieldStepType {
|
|
17
|
+
DEFAULT = "DEFAULT",
|
|
18
|
+
XCM = "XCM",
|
|
19
|
+
NOMINATE = "NOMINATE",
|
|
20
|
+
JOIN_NOMINATION_POOL = "JOIN_NOMINATION_POOL",
|
|
21
|
+
MINT_VDOT = "MINT_VDOT",
|
|
22
|
+
MINT_LDOT = "MINT_LDOT",
|
|
23
|
+
MINT_QDOT = "MINT_QDOT",
|
|
24
|
+
MINT_SDOT = "MINT_SDOT",
|
|
25
|
+
MINT_STDOT = "MINT_STDOT",
|
|
26
|
+
TOKEN_APPROVAL = "TOKEN_APPROVAL"
|
|
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
|
+
export interface BaseYieldStepDetail {
|
|
36
|
+
/** Step's name */
|
|
37
|
+
name: string;
|
|
38
|
+
/** Step's type */
|
|
39
|
+
type: YieldStepType;
|
|
40
|
+
/** Metadata for generating extrinsic */
|
|
41
|
+
metadata?: Record<string, unknown>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* @interface YieldStepDetail
|
|
45
|
+
* @extends BaseYieldStepDetail
|
|
46
|
+
* @description Detail of a step
|
|
47
|
+
* @prop {number} id - Step's id
|
|
48
|
+
* */
|
|
49
|
+
export interface YieldStepDetail extends BaseYieldStepDetail {
|
|
50
|
+
/** Step's id */
|
|
51
|
+
id: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @interface YieldTokenBaseInfo
|
|
55
|
+
* @prop {string} slug - Token's slug
|
|
56
|
+
* @prop {string} [amount] - Token's amount
|
|
57
|
+
* */
|
|
58
|
+
export interface YieldTokenBaseInfo {
|
|
59
|
+
/** Token's slug */
|
|
60
|
+
slug: string;
|
|
61
|
+
/** Token's amount */
|
|
62
|
+
amount?: string;
|
|
63
|
+
}
|
|
64
|
+
/** Base info and fee of a step */
|
|
65
|
+
export declare type YieldStepBaseInfo = [BaseYieldStepDetail, YieldTokenBaseInfo];
|
|
66
|
+
/**
|
|
67
|
+
* @interface OptimalYieldPath
|
|
68
|
+
* @description Result after generate steps
|
|
69
|
+
* */
|
|
70
|
+
export interface OptimalYieldPath {
|
|
71
|
+
totalFee: YieldTokenBaseInfo[];
|
|
72
|
+
steps: YieldStepDetail[];
|
|
73
|
+
connectionError?: string;
|
|
74
|
+
}
|
|
75
|
+
export declare type GenStepFunction = (params: OptimalYieldPathParams) => Promise<YieldStepBaseInfo | undefined>;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Copyright 2019-2022 @subwallet/extension-base
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @interface OptimalYieldPathParams
|
|
6
|
+
* @description Params to generate steps
|
|
7
|
+
* */
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @enum {string}
|
|
11
|
+
* @description Type of join yield step
|
|
12
|
+
* */
|
|
13
|
+
|
|
14
|
+
export let YieldStepType;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* @interface BaseYieldStepDetail
|
|
18
|
+
* @description Base info of a step
|
|
19
|
+
* @prop {string} name - Step's name
|
|
20
|
+
* @prop {YieldStepType} type - Step's type
|
|
21
|
+
* @prop {Record<string,unknown>} [metadata] - Metadata for generating extrinsic
|
|
22
|
+
* */
|
|
23
|
+
(function (YieldStepType) {
|
|
24
|
+
YieldStepType["DEFAULT"] = "DEFAULT";
|
|
25
|
+
YieldStepType["XCM"] = "XCM";
|
|
26
|
+
YieldStepType["NOMINATE"] = "NOMINATE";
|
|
27
|
+
YieldStepType["JOIN_NOMINATION_POOL"] = "JOIN_NOMINATION_POOL";
|
|
28
|
+
YieldStepType["MINT_VDOT"] = "MINT_VDOT";
|
|
29
|
+
YieldStepType["MINT_LDOT"] = "MINT_LDOT";
|
|
30
|
+
YieldStepType["MINT_QDOT"] = "MINT_QDOT";
|
|
31
|
+
YieldStepType["MINT_SDOT"] = "MINT_SDOT";
|
|
32
|
+
YieldStepType["MINT_STDOT"] = "MINT_STDOT";
|
|
33
|
+
YieldStepType["TOKEN_APPROVAL"] = "TOKEN_APPROVAL";
|
|
34
|
+
})(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,60 @@
|
|
|
1
|
+
import { BaseRequestSign, InternalRequestSign } from '@subwallet/extension-base/background/KoniTypes';
|
|
2
|
+
import { UnstakingInfo } 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
|
+
* */
|
|
12
|
+
export interface YieldLeaveParams extends BaseRequestSign {
|
|
13
|
+
/** Request account */
|
|
14
|
+
address: string;
|
|
15
|
+
/** Amount token want to leave */
|
|
16
|
+
amount: string;
|
|
17
|
+
/** Pool's slug */
|
|
18
|
+
slug: string;
|
|
19
|
+
/** Pool target want to leave (nomination pool and native staking need) */
|
|
20
|
+
selectedTarget?: string;
|
|
21
|
+
/** Fast leave pool (swap token) */
|
|
22
|
+
fastLeave: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare type RequestYieldLeave = InternalRequestSign<YieldLeaveParams>;
|
|
25
|
+
/**
|
|
26
|
+
* @interface RequestYieldWithdrawal
|
|
27
|
+
* @description Request params to withdraw
|
|
28
|
+
* @prop {string} address - Request account
|
|
29
|
+
* @prop {string} slug - Pool's slug
|
|
30
|
+
* @prop {UnstakingInfo} unstakingInfo - Info of unstaking request wants to withdraw
|
|
31
|
+
* */
|
|
32
|
+
export interface YieldWithdrawalParams extends BaseRequestSign {
|
|
33
|
+
/** Request account */
|
|
34
|
+
address: string;
|
|
35
|
+
/** Pool's slug */
|
|
36
|
+
slug: string;
|
|
37
|
+
/**
|
|
38
|
+
* <p>
|
|
39
|
+
* Info of unstaking request wants to withdraw
|
|
40
|
+
* </p>
|
|
41
|
+
* <p>
|
|
42
|
+
* Need to create amount on history
|
|
43
|
+
* </p>
|
|
44
|
+
* */
|
|
45
|
+
unstakingInfo: UnstakingInfo;
|
|
46
|
+
}
|
|
47
|
+
export declare type RequestYieldWithdrawal = InternalRequestSign<YieldWithdrawalParams>;
|
|
48
|
+
export interface StakeCancelWithdrawalParams extends BaseRequestSign {
|
|
49
|
+
address: string;
|
|
50
|
+
slug: string;
|
|
51
|
+
selectedUnstaking: UnstakingInfo;
|
|
52
|
+
}
|
|
53
|
+
export declare type RequestStakeCancelWithdrawal = InternalRequestSign<StakeCancelWithdrawalParams>;
|
|
54
|
+
export interface StakeClaimRewardParams extends BaseRequestSign {
|
|
55
|
+
address: string;
|
|
56
|
+
slug: string;
|
|
57
|
+
unclaimedReward?: string;
|
|
58
|
+
bondReward?: boolean;
|
|
59
|
+
}
|
|
60
|
+
export declare type RequestStakeClaimReward = InternalRequestSign<StakeClaimRewardParams>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { 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
|
+
* @prop {string} address - Account address
|
|
12
|
+
* @prop {string} chain - Chain's slug
|
|
13
|
+
* @prop {string} group - Pool's group
|
|
14
|
+
* @prop {string} slug - Pool's slug
|
|
15
|
+
* @prop {YieldPoolType} type - Pool's type
|
|
16
|
+
* */
|
|
17
|
+
export interface BaseYieldPositionInfo {
|
|
18
|
+
/** Account address */
|
|
19
|
+
address: string;
|
|
20
|
+
/** Chain's slug */
|
|
21
|
+
chain: string;
|
|
22
|
+
/** Pool's group */
|
|
23
|
+
group: string;
|
|
24
|
+
/** Pool's slug */
|
|
25
|
+
slug: string;
|
|
26
|
+
/** Pool's type */
|
|
27
|
+
type: YieldPoolType;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @interface AbstractYieldPositionInfo
|
|
31
|
+
* @prop {string} address - Account address
|
|
32
|
+
* @prop {string} chain - Chain's slug
|
|
33
|
+
* @prop {YieldPoolGroup} group - Pool's group
|
|
34
|
+
* @prop {string} slug - Pool's slug
|
|
35
|
+
* @prop {YieldPoolType} type - Pool's type
|
|
36
|
+
* @prop {string} totalStake - Total stake of the account
|
|
37
|
+
* @prop {string} activeStake - Active stake of the account
|
|
38
|
+
* @prop {string} unstakeBalance - Unstaking balance of the account
|
|
39
|
+
* @prop {YieldAssetBalance[]} balance - List balance related with stake
|
|
40
|
+
* @prop {boolean} isBondedBefore - Is the account bonded in pool before?
|
|
41
|
+
* @prop {NominationInfo[]} nominations - List nominations account joined - use for nomination pool and native staking
|
|
42
|
+
* @prop {EarningStatus} status - Earning status of the account
|
|
43
|
+
* @prop {UnstakingInfo[]} unstakings - List unstake request of the account - use for nomination pool and native staking
|
|
44
|
+
* */
|
|
45
|
+
export interface AbstractYieldPositionInfo extends BaseYieldPositionInfo {
|
|
46
|
+
/** Token to show */
|
|
47
|
+
balanceToken: string;
|
|
48
|
+
/** Total stake of the account */
|
|
49
|
+
totalStake: string;
|
|
50
|
+
/** Active stake of the account */
|
|
51
|
+
activeStake: string;
|
|
52
|
+
/** Unstaking balance of the account */
|
|
53
|
+
unstakeBalance: string;
|
|
54
|
+
/** Is the account bonded in pool before? */
|
|
55
|
+
isBondedBefore: boolean;
|
|
56
|
+
/** List nominations account joined - use for nomination pool and native staking */
|
|
57
|
+
nominations: NominationInfo[];
|
|
58
|
+
/** Earning status of the account */
|
|
59
|
+
status: EarningStatus;
|
|
60
|
+
/** List unstake request of the account - use for nomination pool and native staking */
|
|
61
|
+
unstakings: UnstakingInfo[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* @interface SpecialYieldPositionInfo
|
|
65
|
+
* @extends AbstractYieldPositionInfo
|
|
66
|
+
* @prop {string} rootAsset - Input token - Root token before stake and after unstake (slug)
|
|
67
|
+
* */
|
|
68
|
+
export interface SpecialYieldPositionInfo extends AbstractYieldPositionInfo {
|
|
69
|
+
type: YieldPoolType.LIQUID_STAKING | YieldPoolType.LENDING;
|
|
70
|
+
/** @description
|
|
71
|
+
* <p>Derivative token - Token got after stake (slug)</p>
|
|
72
|
+
* <p>To detect exchange rate</p>
|
|
73
|
+
* <p>Exchange rate = root token amount / balance token amount</p>
|
|
74
|
+
* */
|
|
75
|
+
derivativeToken: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* @interface LiquidYieldPositionInfo
|
|
79
|
+
* @extends SpecialYieldPositionInfo
|
|
80
|
+
* @prop {YieldPoolType.LIQUID_STAKING} type - Pool's type
|
|
81
|
+
* */
|
|
82
|
+
export interface LiquidYieldPositionInfo extends SpecialYieldPositionInfo {
|
|
83
|
+
type: YieldPoolType.LIQUID_STAKING;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* @interface LendingYieldPositionInfo
|
|
87
|
+
* @extends SpecialYieldPositionInfo
|
|
88
|
+
* @prop {YieldPoolType.LENDING} type - Pool's type
|
|
89
|
+
* */
|
|
90
|
+
export interface LendingYieldPositionInfo extends SpecialYieldPositionInfo {
|
|
91
|
+
type: YieldPoolType.LENDING;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* @interface NominationYieldPositionInfo
|
|
95
|
+
* @extends AbstractYieldPositionInfo
|
|
96
|
+
* @prop {YieldPoolType.NOMINATION_POOL} type - Pool's type
|
|
97
|
+
* */
|
|
98
|
+
export interface NominationYieldPositionInfo extends AbstractYieldPositionInfo {
|
|
99
|
+
type: YieldPoolType.NOMINATION_POOL;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* @interface NativeYieldPositionInfo
|
|
103
|
+
* @extends AbstractYieldPositionInfo
|
|
104
|
+
* @prop {YieldPoolType.NATIVE_STAKING} type - Pool's type
|
|
105
|
+
* */
|
|
106
|
+
export interface NativeYieldPositionInfo extends AbstractYieldPositionInfo {
|
|
107
|
+
type: YieldPoolType.NATIVE_STAKING;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Info of yield pool
|
|
111
|
+
* */
|
|
112
|
+
export declare type YieldPositionInfo = NativeYieldPositionInfo | NominationYieldPositionInfo | LiquidYieldPositionInfo | LendingYieldPositionInfo;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { APIItemState } from '@subwallet/extension-base/background/KoniTypes';
|
|
2
|
+
import { YieldPoolType } from '../base';
|
|
3
|
+
/**
|
|
4
|
+
* @interface EarningRewardItem
|
|
5
|
+
* @prop {string} address - Account address
|
|
6
|
+
* @prop {string} chain - Chain's slug
|
|
7
|
+
* @prop {string} group - Pool's group
|
|
8
|
+
* @prop {string} slug - Pool's slug
|
|
9
|
+
* @prop {YieldPoolType} type - Pool's type
|
|
10
|
+
* @prop {APIItemState} state - State of item
|
|
11
|
+
* @prop {string} [latestReward] - Latest rewarded claimed
|
|
12
|
+
* @prop {string} [totalReward] - Total rewarded claimed
|
|
13
|
+
* @prop {string} [totalSlash] - Total token slashed
|
|
14
|
+
* @prop {string} [unclaimedReward] - Un-claim reward
|
|
15
|
+
* */
|
|
16
|
+
export interface EarningRewardItem {
|
|
17
|
+
/** Account address */
|
|
18
|
+
address: string;
|
|
19
|
+
/** Chain's slug */
|
|
20
|
+
chain: string;
|
|
21
|
+
/** Pool's group */
|
|
22
|
+
group: string;
|
|
23
|
+
/** Pool's slug */
|
|
24
|
+
slug: string;
|
|
25
|
+
/** Pool's type */
|
|
26
|
+
type: YieldPoolType;
|
|
27
|
+
/** State of item */
|
|
28
|
+
state: APIItemState;
|
|
29
|
+
/** Latest rewarded claimed */
|
|
30
|
+
latestReward?: string;
|
|
31
|
+
/** Total rewarded claimed */
|
|
32
|
+
totalReward?: string;
|
|
33
|
+
/** Total token slashed */
|
|
34
|
+
totalSlash?: string;
|
|
35
|
+
/** Un-claim reward */
|
|
36
|
+
unclaimedReward?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface EarningRewardJson {
|
|
39
|
+
ready: boolean;
|
|
40
|
+
data: Record<string, EarningRewardItem>;
|
|
41
|
+
}
|
|
@@ -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 = {}));
|
|
@@ -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
|
+
}
|