@subwallet/extension-base 1.3.24-0 → 1.3.25-0
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 +9 -1
- package/background/KoniTypes.js +1 -0
- package/background/errors/EvmProviderError.js +4 -0
- package/background/errors/ProviderError.d.ts +1 -1
- package/background/errors/ProviderError.js +2 -2
- package/cjs/background/KoniTypes.js +1 -0
- package/cjs/background/errors/EvmProviderError.js +4 -0
- package/cjs/background/errors/ProviderError.js +2 -2
- package/cjs/koni/background/handlers/Tabs.js +3 -2
- package/cjs/packageInfo.js +1 -1
- package/cjs/page/index.js +1 -1
- package/cjs/services/balance-service/helpers/subscribe/substrate/index.js +3 -3
- package/cjs/services/buy-service/constants/token.js +3 -0
- package/cjs/services/earning-service/constants/chains.js +1 -1
- package/cjs/services/earning-service/handlers/base.js +11 -5
- package/cjs/services/earning-service/handlers/native-staking/base-para.js +7 -6
- package/cjs/services/earning-service/handlers/native-staking/base.js +6 -3
- package/cjs/services/earning-service/handlers/native-staking/dtao.js +444 -0
- package/cjs/services/earning-service/handlers/native-staking/index.js +8 -1
- package/cjs/services/earning-service/handlers/native-staking/tao.js +138 -125
- package/cjs/services/earning-service/service.js +14 -4
- package/cjs/services/inapp-notification-service/index.js +3 -0
- package/cjs/services/transaction-service/index.js +6 -0
- package/cjs/types/yield/info/base.js +1 -0
- package/cjs/utils/fetchEvmChainInfo.js +10 -5
- package/koni/background/handlers/Tabs.js +3 -2
- package/package.json +11 -6
- package/packageInfo.js +1 -1
- package/page/index.js +1 -1
- package/services/balance-service/helpers/subscribe/substrate/index.js +2 -2
- package/services/buy-service/constants/token.js +3 -0
- package/services/earning-service/constants/chains.js +1 -1
- package/services/earning-service/handlers/base.d.ts +7 -5
- package/services/earning-service/handlers/base.js +11 -7
- package/services/earning-service/handlers/native-staking/base-para.d.ts +1 -1
- package/services/earning-service/handlers/native-staking/base-para.js +7 -6
- package/services/earning-service/handlers/native-staking/base.d.ts +1 -1
- package/services/earning-service/handlers/native-staking/base.js +6 -3
- package/services/earning-service/handlers/native-staking/dtao.d.ts +64 -0
- package/services/earning-service/handlers/native-staking/dtao.js +434 -0
- package/services/earning-service/handlers/native-staking/index.d.ts +1 -0
- package/services/earning-service/handlers/native-staking/index.js +2 -1
- package/services/earning-service/handlers/native-staking/tao.d.ts +16 -4
- package/services/earning-service/handlers/native-staking/tao.js +136 -121
- package/services/earning-service/service.d.ts +1 -0
- package/services/earning-service/service.js +15 -5
- package/services/inapp-notification-service/index.js +3 -0
- package/services/transaction-service/index.js +6 -0
- package/types/bridge/index.d.ts +1 -0
- package/types/buy.d.ts +1 -1
- package/types/yield/actions/join/step.d.ts +1 -0
- package/types/yield/actions/join/submit.d.ts +1 -0
- package/types/yield/info/account/info.d.ts +14 -1
- package/types/yield/info/base.d.ts +3 -1
- package/types/yield/info/base.js +1 -0
- package/types/yield/info/chain/info.d.ts +5 -1
- package/utils/fetchEvmChainInfo.d.ts +1 -1
- package/utils/fetchEvmChainInfo.js +10 -5
|
@@ -15,7 +15,7 @@ import { AuthUrls } from '@subwallet/extension-base/services/request-service/typ
|
|
|
15
15
|
import { CrowdloanContributionsResponse } from '@subwallet/extension-base/services/subscan-service/types';
|
|
16
16
|
import { SWTransactionResponse, SWTransactionResult } from '@subwallet/extension-base/services/transaction-service/types';
|
|
17
17
|
import { WalletConnectNotSupportRequest, WalletConnectSessionRequest } from '@subwallet/extension-base/services/wallet-connect-service/types';
|
|
18
|
-
import { AccountChainType, AccountJson, AccountsWithCurrentAddress, AddressJson, BalanceJson, BaseRequestSign, BuyServiceInfo, BuyTokenInfo, CommonOptimalPath, CurrentAccountInfo, EarningRewardHistoryItem, EarningRewardJson, EarningStatus, HandleYieldStepParams, InternalRequestSign, LeavePoolAdditionalData, NominationPoolInfo, OptimalSwapPathParams, OptimalYieldPath, OptimalYieldPathParams, RequestAccountBatchExportV2, RequestAccountCreateSuriV2, RequestAccountNameValidate, RequestAccountProxyEdit, RequestAccountProxyForget, RequestBatchJsonGetAccountInfo, RequestBatchRestoreV2, RequestBounceableValidate, RequestChangeAllowOneSign, RequestChangeTonWalletContractVersion, RequestCheckCrossChainTransfer, RequestCheckPublicAndSecretKey, RequestCheckTransfer, RequestCrossChainTransfer, RequestDeriveCreateMultiple, RequestDeriveCreateV3, RequestDeriveValidateV2, RequestEarlyValidateYield, RequestExportAccountProxyMnemonic, RequestGetAllTonWalletContractVersion, RequestGetAmountForPair, RequestGetDeriveAccounts, RequestGetDeriveSuggestion, RequestGetTokensCanPayFee, RequestGetYieldPoolTargets, RequestInputAccountSubscribe, RequestJsonGetAccountInfo, RequestJsonRestoreV2, RequestMetadataHash, RequestMnemonicCreateV2, RequestMnemonicValidateV2, RequestPrivateKeyValidateV2, RequestShortenMetadata, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestSubmitProcessTransaction, RequestSubscribeProcessById, RequestTransfer, RequestUnlockDotCheckCanMint, RequestUnlockDotSubscribeMintedData, RequestYieldLeave, RequestYieldStepSubmit, RequestYieldWithdrawal, ResponseAccountBatchExportV2, ResponseAccountCreateSuriV2, ResponseAccountNameValidate, ResponseBatchJsonGetAccountInfo, ResponseCheckPublicAndSecretKey, ResponseDeriveValidateV2, ResponseEarlyValidateYield, ResponseExportAccountProxyMnemonic, ResponseGetAllTonWalletContractVersion, ResponseGetDeriveAccounts, ResponseGetDeriveSuggestion, ResponseGetYieldPoolTargets, ResponseInputAccountSubscribe, ResponseJsonGetAccountInfo, ResponseMetadataHash, ResponseMnemonicCreateV2, ResponseMnemonicValidateV2, ResponsePrivateKeyValidateV2, ResponseShortenMetadata, ResponseSubscribeProcessAlive, ResponseSubscribeProcessById, StorageDataInterface, SubmitYieldStepData, SwapPair, SwapQuoteResponse, SwapRequest, SwapRequestResult, SwapSubmitParams, SwapTxData, TokenSpendingApprovalParams, UnlockDotTransactionNft, UnstakingStatus, ValidateSwapProcessParams, ValidateYieldProcessParams, YieldPoolInfo, YieldPositionInfo } from '@subwallet/extension-base/types';
|
|
18
|
+
import { AccountChainType, AccountJson, AccountsWithCurrentAddress, AddressJson, BalanceJson, BaseRequestSign, BuyServiceInfo, BuyTokenInfo, CommonOptimalPath, CurrentAccountInfo, EarningRewardHistoryItem, EarningRewardJson, EarningStatus, HandleYieldStepParams, InternalRequestSign, LeavePoolAdditionalData, NominationPoolInfo, OptimalSwapPathParams, OptimalYieldPath, OptimalYieldPathParams, RequestAccountBatchExportV2, RequestAccountCreateSuriV2, RequestAccountNameValidate, RequestAccountProxyEdit, RequestAccountProxyForget, RequestBatchJsonGetAccountInfo, RequestBatchRestoreV2, RequestBounceableValidate, RequestChangeAllowOneSign, RequestChangeTonWalletContractVersion, RequestCheckCrossChainTransfer, RequestCheckPublicAndSecretKey, RequestCheckTransfer, RequestCrossChainTransfer, RequestDeriveCreateMultiple, RequestDeriveCreateV3, RequestDeriveValidateV2, RequestEarlyValidateYield, RequestExportAccountProxyMnemonic, RequestGetAllTonWalletContractVersion, RequestGetAmountForPair, RequestGetDeriveAccounts, RequestGetDeriveSuggestion, RequestGetTokensCanPayFee, RequestGetYieldPoolTargets, RequestInputAccountSubscribe, RequestJsonGetAccountInfo, RequestJsonRestoreV2, RequestMetadataHash, RequestMnemonicCreateV2, RequestMnemonicValidateV2, RequestPrivateKeyValidateV2, RequestShortenMetadata, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestSubmitProcessTransaction, RequestSubscribeProcessById, RequestTransfer, RequestUnlockDotCheckCanMint, RequestUnlockDotSubscribeMintedData, RequestYieldLeave, RequestYieldStepSubmit, RequestYieldWithdrawal, ResponseAccountBatchExportV2, ResponseAccountCreateSuriV2, ResponseAccountNameValidate, ResponseBatchJsonGetAccountInfo, ResponseCheckPublicAndSecretKey, ResponseDeriveValidateV2, ResponseEarlyValidateYield, ResponseExportAccountProxyMnemonic, ResponseGetAllTonWalletContractVersion, ResponseGetDeriveAccounts, ResponseGetDeriveSuggestion, ResponseGetYieldPoolTargets, ResponseInputAccountSubscribe, ResponseJsonGetAccountInfo, ResponseMetadataHash, ResponseMnemonicCreateV2, ResponseMnemonicValidateV2, ResponsePrivateKeyValidateV2, ResponseShortenMetadata, ResponseSubscribeProcessAlive, ResponseSubscribeProcessById, StorageDataInterface, SubmitYieldStepData, SubnetYieldPositionInfo, SwapPair, SwapQuoteResponse, SwapRequest, SwapRequestResult, SwapSubmitParams, SwapTxData, TokenSpendingApprovalParams, UnlockDotTransactionNft, UnstakingStatus, ValidateSwapProcessParams, ValidateYieldProcessParams, YieldPoolInfo, YieldPositionInfo } from '@subwallet/extension-base/types';
|
|
19
19
|
import { RequestSubmitTransfer, RequestSubscribeTransfer, ResponseSubscribeTransfer } from '@subwallet/extension-base/types/balance/transfer';
|
|
20
20
|
import { RequestClaimBridge } from '@subwallet/extension-base/types/bridge';
|
|
21
21
|
import { GetNotificationParams, RequestIsClaimedPolygonBridge, RequestSwitchStatusParams } from '@subwallet/extension-base/types/notification';
|
|
@@ -821,6 +821,7 @@ export declare enum EvmProviderErrorType {
|
|
|
821
821
|
UNSUPPORTED_METHOD = "UNSUPPORTED_METHOD",
|
|
822
822
|
DISCONNECTED = "DISCONNECTED",
|
|
823
823
|
CHAIN_DISCONNECTED = "CHAIN_DISCONNECTED",
|
|
824
|
+
NETWORK_NOT_SUPPORTED = "NETWORK_NOT_SUPPORTED",
|
|
824
825
|
INVALID_PARAMS = "INVALID_PARAMS",
|
|
825
826
|
INTERNAL_ERROR = "INTERNAL_ERROR"
|
|
826
827
|
}
|
|
@@ -1120,6 +1121,7 @@ export interface NominationInfo {
|
|
|
1120
1121
|
hasUnstaking?: boolean;
|
|
1121
1122
|
validatorMinStake?: string;
|
|
1122
1123
|
status: EarningStatus;
|
|
1124
|
+
originActiveStake?: string;
|
|
1123
1125
|
}
|
|
1124
1126
|
export interface UnstakingInfo {
|
|
1125
1127
|
chain: string;
|
|
@@ -1163,6 +1165,9 @@ export interface BondingSubmitParams extends BaseRequestSign {
|
|
|
1163
1165
|
address: string;
|
|
1164
1166
|
selectedValidators: ValidatorInfo[];
|
|
1165
1167
|
lockPeriod?: number;
|
|
1168
|
+
poolInfo?: {
|
|
1169
|
+
metadata: SubnetYieldPositionInfo;
|
|
1170
|
+
};
|
|
1166
1171
|
}
|
|
1167
1172
|
export declare type RequestBondingSubmit = InternalRequestSign<BondingSubmitParams>;
|
|
1168
1173
|
export interface UnbondingSubmitParams extends BaseRequestSign {
|
|
@@ -1175,6 +1180,9 @@ export interface UnbondingSubmitParams extends BaseRequestSign {
|
|
|
1175
1180
|
exchangeRate?: number;
|
|
1176
1181
|
inputTokenInfo?: _ChainAsset;
|
|
1177
1182
|
isFastUnbond: boolean;
|
|
1183
|
+
poolInfo?: {
|
|
1184
|
+
metadata: SubnetYieldPositionInfo;
|
|
1185
|
+
};
|
|
1178
1186
|
}
|
|
1179
1187
|
export declare type RequestUnbondingSubmit = InternalRequestSign<UnbondingSubmitParams>;
|
|
1180
1188
|
export interface StakePoolingBondingParams extends BaseRequestSign {
|
package/background/KoniTypes.js
CHANGED
|
@@ -181,6 +181,7 @@ export let EvmProviderErrorType;
|
|
|
181
181
|
EvmProviderErrorType["UNSUPPORTED_METHOD"] = "UNSUPPORTED_METHOD";
|
|
182
182
|
EvmProviderErrorType["DISCONNECTED"] = "DISCONNECTED";
|
|
183
183
|
EvmProviderErrorType["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
184
|
+
EvmProviderErrorType["NETWORK_NOT_SUPPORTED"] = "NETWORK_NOT_SUPPORTED";
|
|
184
185
|
EvmProviderErrorType["INVALID_PARAMS"] = "INVALID_PARAMS";
|
|
185
186
|
EvmProviderErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
186
187
|
})(EvmProviderErrorType || (EvmProviderErrorType = {}));
|
|
@@ -25,6 +25,10 @@ const defaultErrorMap = {
|
|
|
25
25
|
message: detectTranslate('Network is disconnected'),
|
|
26
26
|
code: 4901
|
|
27
27
|
},
|
|
28
|
+
NETWORK_NOT_SUPPORTED: {
|
|
29
|
+
message: detectTranslate('This network is currently not supported'),
|
|
30
|
+
code: 4902
|
|
31
|
+
},
|
|
28
32
|
INVALID_PARAMS: {
|
|
29
33
|
message: detectTranslate('Undefined error. Please contact SubWallet support'),
|
|
30
34
|
code: -32602
|
|
@@ -2,5 +2,5 @@ import { SWError } from '@subwallet/extension-base/background/errors/SWError';
|
|
|
2
2
|
import { ProviderErrorType } from '@subwallet/extension-base/background/KoniTypes';
|
|
3
3
|
export declare class ProviderError extends SWError {
|
|
4
4
|
errorType: ProviderErrorType;
|
|
5
|
-
constructor(errorType: ProviderErrorType, errMessage?: string, data?: unknown);
|
|
5
|
+
constructor(errorType: ProviderErrorType, errMessage?: string, data?: unknown, errorCode?: number);
|
|
6
6
|
}
|
|
@@ -22,12 +22,12 @@ const defaultErrorMap = {
|
|
|
22
22
|
}
|
|
23
23
|
};
|
|
24
24
|
export class ProviderError extends SWError {
|
|
25
|
-
constructor(errorType, errMessage, data) {
|
|
25
|
+
constructor(errorType, errMessage, data, errorCode) {
|
|
26
26
|
const {
|
|
27
27
|
code,
|
|
28
28
|
message
|
|
29
29
|
} = defaultErrorMap[errorType];
|
|
30
|
-
super(errorType, errMessage || message, code, data);
|
|
30
|
+
super(errorType, errMessage || message, errorCode || code, data);
|
|
31
31
|
this.errorType = errorType;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
@@ -195,6 +195,7 @@ exports.EvmProviderErrorType = EvmProviderErrorType;
|
|
|
195
195
|
EvmProviderErrorType["UNSUPPORTED_METHOD"] = "UNSUPPORTED_METHOD";
|
|
196
196
|
EvmProviderErrorType["DISCONNECTED"] = "DISCONNECTED";
|
|
197
197
|
EvmProviderErrorType["CHAIN_DISCONNECTED"] = "CHAIN_DISCONNECTED";
|
|
198
|
+
EvmProviderErrorType["NETWORK_NOT_SUPPORTED"] = "NETWORK_NOT_SUPPORTED";
|
|
198
199
|
EvmProviderErrorType["INVALID_PARAMS"] = "INVALID_PARAMS";
|
|
199
200
|
EvmProviderErrorType["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
200
201
|
})(EvmProviderErrorType || (exports.EvmProviderErrorType = EvmProviderErrorType = {}));
|
|
@@ -31,6 +31,10 @@ const defaultErrorMap = {
|
|
|
31
31
|
message: (0, _utils.detectTranslate)('Network is disconnected'),
|
|
32
32
|
code: 4901
|
|
33
33
|
},
|
|
34
|
+
NETWORK_NOT_SUPPORTED: {
|
|
35
|
+
message: (0, _utils.detectTranslate)('This network is currently not supported'),
|
|
36
|
+
code: 4902
|
|
37
|
+
},
|
|
34
38
|
INVALID_PARAMS: {
|
|
35
39
|
message: (0, _utils.detectTranslate)('Undefined error. Please contact SubWallet support'),
|
|
36
40
|
code: -32602
|
|
@@ -28,12 +28,12 @@ const defaultErrorMap = {
|
|
|
28
28
|
}
|
|
29
29
|
};
|
|
30
30
|
class ProviderError extends _SWError.SWError {
|
|
31
|
-
constructor(errorType, errMessage, data) {
|
|
31
|
+
constructor(errorType, errMessage, data, errorCode) {
|
|
32
32
|
const {
|
|
33
33
|
code,
|
|
34
34
|
message
|
|
35
35
|
} = defaultErrorMap[errorType];
|
|
36
|
-
super(errorType, errMessage || message, code, data);
|
|
36
|
+
super(errorType, errMessage || message, errorCode || code, data);
|
|
37
37
|
this.errorType = errorType;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -541,11 +541,12 @@ class KoniTabs {
|
|
|
541
541
|
} else {
|
|
542
542
|
const onlineData = await (0, _utils2.getEVMChainInfo)(chainIdDec);
|
|
543
543
|
if (onlineData) {
|
|
544
|
+
var _onlineData$explorers;
|
|
544
545
|
const chainData = {
|
|
545
546
|
chainId: chainId,
|
|
546
547
|
rpcUrls: onlineData.rpc.filter(url => url.startsWith('https://')),
|
|
547
548
|
chainName: onlineData.name,
|
|
548
|
-
blockExplorerUrls: onlineData.explorers.map(explorer => explorer.url),
|
|
549
|
+
blockExplorerUrls: (_onlineData$explorers = onlineData.explorers) === null || _onlineData$explorers === void 0 ? void 0 : _onlineData$explorers.map(explorer => explorer.url),
|
|
549
550
|
nativeCurrency: onlineData.nativeCurrency,
|
|
550
551
|
requestId: id
|
|
551
552
|
};
|
|
@@ -554,7 +555,7 @@ class KoniTabs {
|
|
|
554
555
|
params: [chainData]
|
|
555
556
|
});
|
|
556
557
|
} else {
|
|
557
|
-
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.
|
|
558
|
+
throw new _EvmProviderError.EvmProviderError(_KoniTypes.EvmProviderErrorType.NETWORK_NOT_SUPPORTED, 'This network is currently not supported');
|
|
558
559
|
}
|
|
559
560
|
}
|
|
560
561
|
return null;
|
package/cjs/packageInfo.js
CHANGED
package/cjs/page/index.js
CHANGED
|
@@ -64,7 +64,7 @@ function handleResponse(data) {
|
|
|
64
64
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
65
65
|
handler.subscriber(data.subscription);
|
|
66
66
|
} else if (data.error) {
|
|
67
|
-
handler.reject(new _ProviderError.ProviderError(_KoniTypes.ProviderErrorType.INTERNAL_ERROR, data.error, data.errorCode));
|
|
67
|
+
handler.reject(new _ProviderError.ProviderError(_KoniTypes.ProviderErrorType.INTERNAL_ERROR, data.error, data.errorCode, data.errorCode));
|
|
68
68
|
} else {
|
|
69
69
|
handler.resolve(data.response);
|
|
70
70
|
}
|
|
@@ -19,7 +19,7 @@ var _wasm = require("@subwallet/extension-base/koni/api/contract-handler/wasm");
|
|
|
19
19
|
var _utils = require("@subwallet/extension-base/koni/api/contract-handler/wasm/utils");
|
|
20
20
|
var _constants2 = require("@subwallet/extension-base/services/chain-service/constants");
|
|
21
21
|
var _utils2 = require("@subwallet/extension-base/services/chain-service/utils");
|
|
22
|
-
var
|
|
22
|
+
var _dtao = require("@subwallet/extension-base/services/earning-service/handlers/native-staking/dtao");
|
|
23
23
|
var _utils3 = require("@subwallet/extension-base/utils");
|
|
24
24
|
var _bignumber = _interopRequireDefault(require("bignumber.js"));
|
|
25
25
|
var _evm = require("../evm");
|
|
@@ -140,10 +140,10 @@ const subscribeWithSystemAccountPallet = async _ref => {
|
|
|
140
140
|
});
|
|
141
141
|
}
|
|
142
142
|
let bittensorStakingBalances = new Array(addresses.length).fill(new _bignumber.default(0));
|
|
143
|
-
if (['bittensor'].includes(chainInfo.slug)) {
|
|
143
|
+
if (['bittensor', 'bittensor_testnet'].includes(chainInfo.slug)) {
|
|
144
144
|
bittensorStakingBalances = await Promise.all(addresses.map(async address => {
|
|
145
145
|
const stakeInfo = (await substrateApi.api.call.stakeInfoRuntimeApi.getStakeInfoForColdkey(address)).toJSON();
|
|
146
|
-
const price = await (0,
|
|
146
|
+
const price = await (0, _dtao.getTaoToAlphaMapping)(substrateApi);
|
|
147
147
|
let TaoTotalStake = new _bignumber.default(0);
|
|
148
148
|
if (stakeInfo) {
|
|
149
149
|
for (const validator of Object.values(stakeInfo)) {
|
|
@@ -23,7 +23,7 @@ const _STAKING_CHAIN_GROUP = {
|
|
|
23
23
|
lending: ['interlay'],
|
|
24
24
|
krest_network: ['krest_network'],
|
|
25
25
|
manta: ['manta_network'],
|
|
26
|
-
bittensor: ['bittensor', '
|
|
26
|
+
bittensor: ['bittensor', 'bittensor_testnet'],
|
|
27
27
|
mythos: ['mythos', 'muse_testnet']
|
|
28
28
|
};
|
|
29
29
|
exports._STAKING_CHAIN_GROUP = _STAKING_CHAIN_GROUP;
|
|
@@ -113,11 +113,13 @@ class BasePoolHandler {
|
|
|
113
113
|
return false;
|
|
114
114
|
}
|
|
115
115
|
async getPoolInfo() {
|
|
116
|
-
|
|
116
|
+
let slug = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.slug;
|
|
117
|
+
return await this.state.earningService.getYieldPool(slug);
|
|
117
118
|
}
|
|
118
119
|
async getPoolPosition(address) {
|
|
120
|
+
let slug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.slug;
|
|
119
121
|
const originAddress = (0, _utils2.reformatAddress)(address);
|
|
120
|
-
return await this.state.earningService.getYieldPosition(originAddress,
|
|
122
|
+
return await this.state.earningService.getYieldPosition(originAddress, slug);
|
|
121
123
|
}
|
|
122
124
|
|
|
123
125
|
/* Subscribe data */
|
|
@@ -132,7 +134,7 @@ class BasePoolHandler {
|
|
|
132
134
|
|
|
133
135
|
async earlyValidate(request) {
|
|
134
136
|
var _poolInfo$statistic, _poolInfo$statistic2, _poolInfo$statistic2$;
|
|
135
|
-
const poolInfo = await this.getPoolInfo();
|
|
137
|
+
const poolInfo = await this.getPoolInfo(request.slug);
|
|
136
138
|
if (!poolInfo || !((_poolInfo$statistic = poolInfo.statistic) !== null && _poolInfo$statistic !== void 0 && _poolInfo$statistic.earningThreshold.join)) {
|
|
137
139
|
return {
|
|
138
140
|
passed: false,
|
|
@@ -254,11 +256,11 @@ class BasePoolHandler {
|
|
|
254
256
|
/** Validate param to join the pool */
|
|
255
257
|
|
|
256
258
|
/** Create `transaction` to leave the pool */
|
|
257
|
-
async handleYieldLeave(fastLeave, amount, address, selectedTarget) {
|
|
259
|
+
async handleYieldLeave(fastLeave, amount, address, selectedTarget, netuid) {
|
|
258
260
|
if (fastLeave) {
|
|
259
261
|
return this.handleYieldRedeem(amount, address, selectedTarget);
|
|
260
262
|
} else {
|
|
261
|
-
return this.handleYieldUnstake(amount, address, selectedTarget);
|
|
263
|
+
return this.handleYieldUnstake(amount, address, selectedTarget, netuid);
|
|
262
264
|
}
|
|
263
265
|
}
|
|
264
266
|
|
|
@@ -268,6 +270,10 @@ class BasePoolHandler {
|
|
|
268
270
|
|
|
269
271
|
/** Create `transaction` to withdraw unstaked amount */
|
|
270
272
|
|
|
273
|
+
/** Check handler can handle slug */
|
|
274
|
+
canHandleSlug(slug) {
|
|
275
|
+
return this.slug === slug;
|
|
276
|
+
}
|
|
271
277
|
/* Other actions */
|
|
272
278
|
}
|
|
273
279
|
exports.default = BasePoolHandler;
|
|
@@ -32,10 +32,11 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
32
32
|
const {
|
|
33
33
|
address,
|
|
34
34
|
amount,
|
|
35
|
-
selectedValidators
|
|
35
|
+
selectedValidators,
|
|
36
|
+
slug
|
|
36
37
|
} = data;
|
|
37
|
-
const poolInfo = await this.getPoolInfo();
|
|
38
|
-
const poolPosition = await this.getPoolPosition(address);
|
|
38
|
+
const poolInfo = await this.getPoolInfo(slug);
|
|
39
|
+
const poolPosition = await this.getPoolPosition(address, slug);
|
|
39
40
|
const chainInfo = this.chainInfo;
|
|
40
41
|
const bnAmount = new _util.BN(amount);
|
|
41
42
|
if (bnAmount.lte(_util.BN_ZERO)) {
|
|
@@ -101,10 +102,10 @@ class BaseParaNativeStakingPoolHandler extends _base.default {
|
|
|
101
102
|
/**
|
|
102
103
|
* @todo Recheck
|
|
103
104
|
* */
|
|
104
|
-
async validateYieldLeave(amount, address, fastLeave, selectedTarget) {
|
|
105
|
+
async validateYieldLeave(amount, address, fastLeave, selectedTarget, slug) {
|
|
105
106
|
const errors = [];
|
|
106
|
-
const poolInfo = await this.getPoolInfo();
|
|
107
|
-
const poolPosition = await this.getPoolPosition(address);
|
|
107
|
+
const poolInfo = await this.getPoolInfo(slug);
|
|
108
|
+
const poolPosition = await this.getPoolPosition(address, slug);
|
|
108
109
|
if (!poolInfo || !poolInfo.statistic || !poolPosition || fastLeave || !selectedTarget) {
|
|
109
110
|
return [new _TransactionError.TransactionError(_types.BasicTxErrorType.INTERNAL_ERROR)];
|
|
110
111
|
}
|
|
@@ -100,6 +100,7 @@ class BaseNativeStakingPoolHandler extends _base.default {
|
|
|
100
100
|
const {
|
|
101
101
|
address,
|
|
102
102
|
amount,
|
|
103
|
+
netuid,
|
|
103
104
|
slug,
|
|
104
105
|
targets
|
|
105
106
|
} = params;
|
|
@@ -108,7 +109,8 @@ class BaseNativeStakingPoolHandler extends _base.default {
|
|
|
108
109
|
amount,
|
|
109
110
|
address,
|
|
110
111
|
slug,
|
|
111
|
-
selectedValidators
|
|
112
|
+
selectedValidators,
|
|
113
|
+
netuid
|
|
112
114
|
};
|
|
113
115
|
const positionInfo = await this.getPoolPosition(address);
|
|
114
116
|
const [, fee] = await this.createJoinExtrinsic(data, positionInfo);
|
|
@@ -119,9 +121,10 @@ class BaseNativeStakingPoolHandler extends _base.default {
|
|
|
119
121
|
const {
|
|
120
122
|
address,
|
|
121
123
|
amount,
|
|
122
|
-
selectedValidators
|
|
124
|
+
selectedValidators,
|
|
125
|
+
slug
|
|
123
126
|
} = data;
|
|
124
|
-
const positionInfo = await this.getPoolPosition(address);
|
|
127
|
+
const positionInfo = await this.getPoolPosition(address, slug);
|
|
125
128
|
const [extrinsic] = await this.createJoinExtrinsic(data, positionInfo);
|
|
126
129
|
const bondingData = {
|
|
127
130
|
poolPosition: positionInfo,
|