@subwallet/extension-base 1.3.75-2 → 1.3.76-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 +4 -1
- package/background/KoniTypes.js +1 -0
- package/cjs/background/KoniTypes.js +1 -0
- package/cjs/koni/background/handlers/Extension.js +21 -1
- package/cjs/packageInfo.js +1 -1
- package/cjs/services/balance-service/index.js +6 -1
- package/cjs/services/chain-service/index.js +1 -1
- package/cjs/services/earning-service/handlers/native-staking/dtao.js +85 -113
- package/cjs/services/earning-service/handlers/native-staking/tanssi.js +2 -1
- package/cjs/services/earning-service/handlers/native-staking/tao.js +85 -100
- package/cjs/services/earning-service/service.js +17 -2
- package/cjs/services/substrate-proxy-service/constant.js +1 -1
- package/cjs/utils/account/transform.js +3 -3
- package/koni/background/handlers/Extension.d.ts +1 -0
- package/koni/background/handlers/Extension.js +21 -1
- package/package.json +6 -6
- package/packageInfo.js +1 -1
- package/services/balance-service/index.js +6 -1
- package/services/chain-service/index.js +1 -1
- package/services/earning-service/handlers/native-staking/dtao.d.ts +2 -10
- package/services/earning-service/handlers/native-staking/dtao.js +86 -116
- package/services/earning-service/handlers/native-staking/tanssi.js +2 -1
- package/services/earning-service/handlers/native-staking/tao.d.ts +4 -3
- package/services/earning-service/handlers/native-staking/tao.js +84 -101
- package/services/earning-service/service.d.ts +2 -1
- package/services/earning-service/service.js +17 -2
- package/services/substrate-proxy-service/constant.js +1 -1
- package/types/yield/actions/join/submit.d.ts +8 -1
- package/types/yield/info/account/info.d.ts +11 -5
- package/utils/account/transform.js +3 -3
|
@@ -113,36 +113,6 @@ export class BittensorCache {
|
|
|
113
113
|
}
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
|
-
|
|
117
|
-
// export async function fetchTaoDelegateState (address: string): Promise<RawDelegateState> {
|
|
118
|
-
// const apiKey = bittensorApiKey();
|
|
119
|
-
|
|
120
|
-
// return new Promise(function (resolve) {
|
|
121
|
-
// fetch(`https://api.taostats.io/api/stake_balance/latest/v1?coldkey=${address}`, {
|
|
122
|
-
// method: 'GET',
|
|
123
|
-
// headers: {
|
|
124
|
-
// 'Content-Type': 'application/json',
|
|
125
|
-
// Authorization: `${apiKey}`
|
|
126
|
-
// }
|
|
127
|
-
// }).then((resp) => {
|
|
128
|
-
// resolve(resp.json());
|
|
129
|
-
// }).catch(console.error);
|
|
130
|
-
// });
|
|
131
|
-
// }
|
|
132
|
-
|
|
133
|
-
/* Fetch data */
|
|
134
|
-
|
|
135
|
-
// const testnetDelegate = {
|
|
136
|
-
// '5G6wdAdS7hpBuH1tjuZDhpzrGw9Wf71WEVakDCxHDm1cxEQ2': {
|
|
137
|
-
// name: '0x436c6f776e4e616d65f09fa4a1',
|
|
138
|
-
// url: 'https://example.com ',
|
|
139
|
-
// image: 'https://example.com/image.png',
|
|
140
|
-
// discord: '0xe28094446973636f7264',
|
|
141
|
-
// description: 'This is an example identity.',
|
|
142
|
-
// additional: ''
|
|
143
|
-
// }
|
|
144
|
-
// };
|
|
145
|
-
|
|
146
116
|
export const getAlphaToTaoRate = async (substrateApi, netuid) => {
|
|
147
117
|
const subnetInfo = (await substrateApi.api.call.subnetInfoRuntimeApi.getDynamicInfo(netuid)).toJSON();
|
|
148
118
|
if (!subnetInfo) {
|
|
@@ -196,20 +166,9 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
196
166
|
super(state, chain);
|
|
197
167
|
this.bittensorCache = BittensorCache.getInstance();
|
|
198
168
|
}
|
|
199
|
-
|
|
200
|
-
/* Unimplemented function */
|
|
201
|
-
handleYieldWithdraw(address, unstakingInfo) {
|
|
202
|
-
return Promise.reject(new TransactionError(BasicTxErrorType.UNSUPPORTED));
|
|
203
|
-
}
|
|
204
|
-
handleYieldCancelUnstake(params) {
|
|
205
|
-
return Promise.reject(new TransactionError(BasicTxErrorType.UNSUPPORTED));
|
|
206
|
-
}
|
|
207
|
-
/* Unimplemented function */
|
|
208
|
-
|
|
209
169
|
get maintainBalance() {
|
|
210
170
|
const ed = new BigN(this.nativeToken.minAmount || '0');
|
|
211
|
-
const
|
|
212
|
-
const maintainBalance = calculateMaintainBalance;
|
|
171
|
+
const maintainBalance = new BigN(15).multipliedBy(ed).dividedBy(10);
|
|
213
172
|
return maintainBalance.toString();
|
|
214
173
|
}
|
|
215
174
|
|
|
@@ -333,66 +292,74 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
333
292
|
const chainInfo = this.chainInfo;
|
|
334
293
|
const _delegateInfo = await this.bittensorCache.get();
|
|
335
294
|
const getPoolPosition = async () => {
|
|
336
|
-
const
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
295
|
+
const rawDelegateStateInfo = await substrateApi.api.call.stakeInfoRuntimeApi.getStakeInfoForColdkeys(useAddresses);
|
|
296
|
+
const delegateStateInfo = rawDelegateStateInfo.toPrimitive();
|
|
297
|
+
const rootClaimType = await substrateApi.api.query.subtensorModule.rootClaimType.multi(useAddresses);
|
|
298
|
+
if (!delegateStateInfo || delegateStateInfo.length === 0) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
delegateStateInfo.forEach(([coldkey, stakeInfos], i) => {
|
|
302
|
+
var _rootClaimType$i;
|
|
303
|
+
const owner = reformatAddress(coldkey, 42);
|
|
304
|
+
const delegatorState = [];
|
|
305
|
+
let bnTotalBalance = BN_ZERO;
|
|
306
|
+
const totalDelegate = {};
|
|
307
|
+
for (const delegate of stakeInfos) {
|
|
308
|
+
const hotkey = delegate.hotkey;
|
|
309
|
+
const netuid = delegate.netuid;
|
|
310
|
+
const stake = new BigN(delegate.stake);
|
|
311
|
+
if (netuid === 0) {
|
|
312
|
+
const taoStake = stake.toFixed(0);
|
|
313
|
+
if (totalDelegate[hotkey]) {
|
|
314
|
+
totalDelegate[hotkey] = new BigN(totalDelegate[hotkey]).plus(taoStake).toFixed();
|
|
315
|
+
} else {
|
|
316
|
+
totalDelegate[hotkey] = taoStake;
|
|
355
317
|
}
|
|
356
318
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
delegatorState.push({
|
|
365
|
-
owner: hotkey,
|
|
366
|
-
amount: totalDelegate[hotkey],
|
|
367
|
-
identity: identity
|
|
368
|
-
});
|
|
319
|
+
}
|
|
320
|
+
for (const hotkey in totalDelegate) {
|
|
321
|
+
bnTotalBalance = bnTotalBalance.add(new BN(totalDelegate[hotkey]));
|
|
322
|
+
let identity = '';
|
|
323
|
+
if (_delegateInfo) {
|
|
324
|
+
const delegateInfo = _delegateInfo.data.find(info => info.hotkey.ss58 === hotkey);
|
|
325
|
+
identity = delegateInfo ? delegateInfo.name : '';
|
|
369
326
|
}
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
327
|
+
delegatorState.push({
|
|
328
|
+
owner: hotkey,
|
|
329
|
+
amount: totalDelegate[hotkey],
|
|
330
|
+
identity: identity
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
const rawType = (_rootClaimType$i = rootClaimType[i]) === null || _rootClaimType$i === void 0 ? void 0 : _rootClaimType$i.toString();
|
|
334
|
+
const rootClaimForAddress = rawType === 'Swap' || rawType === 'Keep' ? rawType : 'Others';
|
|
335
|
+
if (delegateStateInfo && delegateStateInfo.length > 0) {
|
|
336
|
+
this.parseNominatorMetadata(chainInfo, delegatorState).then(nominatorMetadata => {
|
|
380
337
|
rsCallback({
|
|
381
338
|
...defaultInfo,
|
|
382
|
-
|
|
339
|
+
...nominatorMetadata,
|
|
383
340
|
address: owner,
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
status: EarningStatus.NOT_STAKING,
|
|
389
|
-
isBondedBefore: false,
|
|
390
|
-
nominations: [],
|
|
391
|
-
unstakings: []
|
|
341
|
+
metadata: {
|
|
342
|
+
bittensorRootClaimType: rootClaimForAddress
|
|
343
|
+
},
|
|
344
|
+
type: this.type
|
|
392
345
|
});
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
|
-
|
|
346
|
+
}).catch(console.error);
|
|
347
|
+
} else {
|
|
348
|
+
rsCallback({
|
|
349
|
+
...defaultInfo,
|
|
350
|
+
type: this.type,
|
|
351
|
+
address: owner,
|
|
352
|
+
balanceToken: this.nativeToken.slug,
|
|
353
|
+
totalStake: '0',
|
|
354
|
+
activeStake: '0',
|
|
355
|
+
unstakeBalance: '0',
|
|
356
|
+
status: EarningStatus.NOT_STAKING,
|
|
357
|
+
isBondedBefore: false,
|
|
358
|
+
nominations: [],
|
|
359
|
+
unstakings: []
|
|
360
|
+
});
|
|
361
|
+
}
|
|
362
|
+
});
|
|
396
363
|
};
|
|
397
364
|
const getStakingPositionInterval = async () => {
|
|
398
365
|
if (cancel) {
|
|
@@ -440,8 +407,7 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
440
407
|
}));
|
|
441
408
|
}
|
|
442
409
|
async getMainnetPoolTargets(netuid) {
|
|
443
|
-
const
|
|
444
|
-
const topValidator = _topValidator;
|
|
410
|
+
const topValidator = await this.bittensorCache.get();
|
|
445
411
|
const bnMinBond = await this.getMinBond();
|
|
446
412
|
const validatorList = topValidator.data;
|
|
447
413
|
const aprResponse = await this.bittensorCache.fetchApr(netuid);
|
|
@@ -449,7 +415,7 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
449
415
|
aprResponse.data.forEach(item => {
|
|
450
416
|
aprMap[item.hotkey.ss58] = item.thirty_day_apy;
|
|
451
417
|
});
|
|
452
|
-
|
|
418
|
+
return await Promise.all(validatorList.map(validator => {
|
|
453
419
|
const address = validator.hotkey.ss58;
|
|
454
420
|
// With bittensor we use total weight, root weight and alpha staked insted of total stake, own stake and other stake
|
|
455
421
|
const bnTotalWeightStake = new BigN(validator.global_weighted_stake);
|
|
@@ -477,7 +443,6 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
477
443
|
identity: name
|
|
478
444
|
};
|
|
479
445
|
}));
|
|
480
|
-
return results;
|
|
481
446
|
}
|
|
482
447
|
async getPoolTargets(netuid) {
|
|
483
448
|
if (this.chain === 'bittensor') {
|
|
@@ -625,7 +590,25 @@ export default class TaoNativeStakingPoolHandler extends BaseParaStakingPoolHand
|
|
|
625
590
|
}
|
|
626
591
|
})));
|
|
627
592
|
}
|
|
628
|
-
|
|
629
|
-
return extrinsic;
|
|
593
|
+
return chainApi.api.tx.subtensorModule.moveStake(originValidator, destValidator, netuid, netuid, amount);
|
|
630
594
|
}
|
|
595
|
+
|
|
596
|
+
/* Others function */
|
|
597
|
+
async handleChangeRootClaimType(type) {
|
|
598
|
+
if (type !== 'Keep' && type !== 'Swap') {
|
|
599
|
+
return Promise.reject(new TransactionError(BasicTxErrorType.INVALID_PARAMS));
|
|
600
|
+
}
|
|
601
|
+
const chainApi = await this.substrateApi.isReady;
|
|
602
|
+
return chainApi.api.tx.subtensorModule.setRootClaimType(type);
|
|
603
|
+
}
|
|
604
|
+
/* Others function */
|
|
605
|
+
|
|
606
|
+
/* Unimplemented function */
|
|
607
|
+
handleYieldWithdraw(address, unstakingInfo) {
|
|
608
|
+
return Promise.reject(new TransactionError(BasicTxErrorType.UNSUPPORTED));
|
|
609
|
+
}
|
|
610
|
+
handleYieldCancelUnstake(params) {
|
|
611
|
+
return Promise.reject(new TransactionError(BasicTxErrorType.UNSUPPORTED));
|
|
612
|
+
}
|
|
613
|
+
/* Unimplemented function */
|
|
631
614
|
}
|
|
@@ -3,7 +3,7 @@ import { TransactionError } from '@subwallet/extension-base/background/errors/Tr
|
|
|
3
3
|
import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
|
|
4
4
|
import KoniState from '@subwallet/extension-base/koni/background/handlers/State';
|
|
5
5
|
import { PersistDataServiceInterface, ServiceStatus, StoppableServiceInterface } from '@subwallet/extension-base/services/base/types';
|
|
6
|
-
import { EarningRewardHistoryItem, EarningRewardItem, EarningRewardJson, HandleYieldStepData, HandleYieldStepParams, OptimalYieldPath, OptimalYieldPathParams, RequestEarlyValidateYield, RequestEarningImpact, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestYieldLeave, RequestYieldWithdrawal, ResponseEarlyValidateYield, SubmitChangeValidatorStaking, TransactionData, ValidateYieldProcessParams, YieldPoolInfo, YieldPoolTarget, YieldPositionInfo } from '@subwallet/extension-base/types';
|
|
6
|
+
import { EarningRewardHistoryItem, EarningRewardItem, EarningRewardJson, HandleYieldStepData, HandleYieldStepParams, OptimalYieldPath, OptimalYieldPathParams, RequestChangeBittensorRootClaimType, RequestEarlyValidateYield, RequestEarningImpact, RequestStakeCancelWithdrawal, RequestStakeClaimReward, RequestYieldLeave, RequestYieldWithdrawal, ResponseEarlyValidateYield, SubmitChangeValidatorStaking, TransactionData, ValidateYieldProcessParams, YieldPoolInfo, YieldPoolTarget, YieldPositionInfo } from '@subwallet/extension-base/types';
|
|
7
7
|
import { PromiseHandler } from '@subwallet/extension-base/utils';
|
|
8
8
|
import { BehaviorSubject } from 'rxjs';
|
|
9
9
|
import { EarningImpactResult } from './handlers/native-staking/dtao';
|
|
@@ -109,5 +109,6 @@ export default class EarningService implements StoppableServiceInterface, Persis
|
|
|
109
109
|
handleYieldClaimReward(params: RequestStakeClaimReward): Promise<TransactionData>;
|
|
110
110
|
yieldGetEarningImpact(params: RequestEarningImpact): Promise<EarningImpactResult>;
|
|
111
111
|
handleYieldChangeValidator(params: SubmitChangeValidatorStaking): Promise<TransactionData>;
|
|
112
|
+
handleChangeRootClaimType(params: RequestChangeBittensorRootClaimType): Promise<TransactionData>;
|
|
112
113
|
resetWallet(): Promise<void>;
|
|
113
114
|
}
|
|
@@ -90,8 +90,6 @@ export default class EarningService {
|
|
|
90
90
|
handlers.push(new AmplitudeNativeStakingPoolHandler(this.state, chain));
|
|
91
91
|
}
|
|
92
92
|
if (_STAKING_CHAIN_GROUP.bittensor.includes(chain)) {
|
|
93
|
-
// todo: check support for testnet
|
|
94
|
-
// Mainnet only
|
|
95
93
|
handlers.push(new TaoNativeStakingPoolHandler(this.state, chain));
|
|
96
94
|
handlers.push(new SubnetTaoStakingPoolHandler(this.state, chain));
|
|
97
95
|
}
|
|
@@ -982,6 +980,23 @@ export default class EarningService {
|
|
|
982
980
|
return Promise.reject(new TransactionError(BasicTxErrorType.INTERNAL_ERROR));
|
|
983
981
|
}
|
|
984
982
|
}
|
|
983
|
+
async handleChangeRootClaimType(params) {
|
|
984
|
+
await this.eventService.waitChainReady;
|
|
985
|
+
const {
|
|
986
|
+
bittensorRootClaimType,
|
|
987
|
+
chain,
|
|
988
|
+
slug
|
|
989
|
+
} = params;
|
|
990
|
+
if (!_STAKING_CHAIN_GROUP.bittensor.includes(chain)) {
|
|
991
|
+
return Promise.reject(new TransactionError(BasicTxErrorType.UNSUPPORTED));
|
|
992
|
+
}
|
|
993
|
+
const handler = this.getPoolHandler(slug);
|
|
994
|
+
if (handler) {
|
|
995
|
+
return handler.handleChangeRootClaimType(bittensorRootClaimType);
|
|
996
|
+
} else {
|
|
997
|
+
return Promise.reject(new TransactionError(BasicTxErrorType.INTERNAL_ERROR));
|
|
998
|
+
}
|
|
999
|
+
}
|
|
985
1000
|
|
|
986
1001
|
/* Other */
|
|
987
1002
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
import { ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
|
|
5
5
|
const SUBSTRATE_PROXY_ACCOUNT_EXTRINSIC_GROUPS = {
|
|
6
|
-
STAKING: [ExtrinsicType.STAKING_BOND, ExtrinsicType.STAKING_UNBOND, ExtrinsicType.STAKING_WITHDRAW, ExtrinsicType.STAKING_JOIN_POOL, ExtrinsicType.STAKING_LEAVE_POOL, ExtrinsicType.CHANGE_EARNING_VALIDATOR, ExtrinsicType.STAKING_CANCEL_UNSTAKE, ExtrinsicType.STAKING_CLAIM_REWARD],
|
|
6
|
+
STAKING: [ExtrinsicType.STAKING_BOND, ExtrinsicType.STAKING_UNBOND, ExtrinsicType.STAKING_WITHDRAW, ExtrinsicType.STAKING_JOIN_POOL, ExtrinsicType.STAKING_LEAVE_POOL, ExtrinsicType.CHANGE_EARNING_VALIDATOR, ExtrinsicType.STAKING_CANCEL_UNSTAKE, ExtrinsicType.STAKING_CLAIM_REWARD, ExtrinsicType.CHANGE_BITTENSOR_ROOT_CLAIM_TYPE],
|
|
7
7
|
GOV: [ExtrinsicType.GOV_VOTE, ExtrinsicType.GOV_UNVOTE, ExtrinsicType.GOV_UNLOCK_VOTE],
|
|
8
8
|
PROXY: [
|
|
9
9
|
// only type any can add proxy
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { _Address, ChainType, ExtrinsicType } from '@subwallet/extension-base/background/KoniTypes';
|
|
2
2
|
import { BaseProcessRequestSign, BaseRequestSign, InternalRequestSign, TransactionData } from '../../../transaction';
|
|
3
|
-
import { NominationPoolInfo, ValidatorInfo, YieldPoolType, YieldPositionInfo } from '../../info';
|
|
3
|
+
import { BittensorRootClaimType, NominationPoolInfo, ValidatorInfo, YieldPoolType, YieldPositionInfo } from '../../info';
|
|
4
4
|
import { OptimalYieldPath } from './step';
|
|
5
5
|
export interface HandleYieldStepData {
|
|
6
6
|
txChain: string;
|
|
@@ -95,3 +95,10 @@ export interface SubmitBittensorChangeValidatorStaking extends SubmitJoinNativeS
|
|
|
95
95
|
subnetSymbol: string;
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
+
export interface ChangeBittensorRootClaimTypeParams extends BaseRequestSign {
|
|
99
|
+
slug: string;
|
|
100
|
+
address: string;
|
|
101
|
+
chain: string;
|
|
102
|
+
bittensorRootClaimType: BittensorRootClaimType;
|
|
103
|
+
}
|
|
104
|
+
export declare type RequestChangeBittensorRootClaimType = InternalRequestSign<ChangeBittensorRootClaimTypeParams>;
|
|
@@ -48,12 +48,18 @@ export interface AbstractYieldPositionInfo extends BaseYieldPositionInfo {
|
|
|
48
48
|
subnetShortName: string;
|
|
49
49
|
originalTotalStake: string;
|
|
50
50
|
};
|
|
51
|
-
metadata?:
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
metadata?: TanssiStakingMetadata | BittensorStakingMetadata;
|
|
52
|
+
}
|
|
53
|
+
export interface TanssiStakingMetadata {
|
|
54
|
+
isShowActiveStakeDetails?: boolean;
|
|
55
|
+
pendingStake?: string;
|
|
56
|
+
compoundingStake?: string;
|
|
57
|
+
manualStake?: string;
|
|
58
|
+
}
|
|
59
|
+
export interface BittensorStakingMetadata {
|
|
60
|
+
bittensorRootClaimType?: BittensorRootClaimType;
|
|
56
61
|
}
|
|
62
|
+
export declare type BittensorRootClaimType = 'Swap' | 'Keep' | 'Others';
|
|
57
63
|
/**
|
|
58
64
|
* @interface SpecialYieldPositionInfo
|
|
59
65
|
* @extends AbstractYieldPositionInfo
|
|
@@ -166,7 +166,7 @@ export const getAccountTransactionActions = (signMode, networkType, type, _meta,
|
|
|
166
166
|
if ([AccountSignMode.PASSWORD, AccountSignMode.INJECTED].includes(signMode)) {
|
|
167
167
|
switch (networkType) {
|
|
168
168
|
case AccountChainType.SUBSTRATE:
|
|
169
|
-
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_VDOT_ACTIONS, ...EARN_LDOT_ACTIONS, ...EARN_SDOT_ACTIONS, ...EARN_QDOT_ACTIONS, ...EARN_VMANTA_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...OPEN_GOV_ACTIONS, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
169
|
+
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_VDOT_ACTIONS, ...EARN_LDOT_ACTIONS, ...EARN_SDOT_ACTIONS, ...EARN_QDOT_ACTIONS, ...EARN_VMANTA_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...OPEN_GOV_ACTIONS, ExtrinsicType.CHANGE_BITTENSOR_ROOT_CLAIM_TYPE, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
170
170
|
case AccountChainType.ETHEREUM:
|
|
171
171
|
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_STDOT_ACTIONS, ...OTHER_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...SUBSTRATE_PROXY_ACTION, ...EVM_ACTIONS];
|
|
172
172
|
case AccountChainType.TON:
|
|
@@ -179,7 +179,7 @@ export const getAccountTransactionActions = (signMode, networkType, type, _meta,
|
|
|
179
179
|
} else if (signMode === AccountSignMode.QR) {
|
|
180
180
|
switch (networkType) {
|
|
181
181
|
case AccountChainType.SUBSTRATE:
|
|
182
|
-
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_VDOT_ACTIONS, ...EARN_LDOT_ACTIONS, ...EARN_SDOT_ACTIONS, ...EARN_QDOT_ACTIONS, ...EARN_VMANTA_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...OPEN_GOV_ACTIONS, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
182
|
+
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_VDOT_ACTIONS, ...EARN_LDOT_ACTIONS, ...EARN_SDOT_ACTIONS, ...EARN_QDOT_ACTIONS, ...EARN_VMANTA_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...OPEN_GOV_ACTIONS, ExtrinsicType.CHANGE_BITTENSOR_ROOT_CLAIM_TYPE, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
183
183
|
case AccountChainType.ETHEREUM:
|
|
184
184
|
return [...(isProductionMode ? [] : [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_STDOT_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ...OTHER_ACTIONS, ...EVM_ACTIONS])];
|
|
185
185
|
case AccountChainType.TON:
|
|
@@ -213,7 +213,7 @@ export const getAccountTransactionActions = (signMode, networkType, type, _meta,
|
|
|
213
213
|
case AccountChainType.SUBSTRATE:
|
|
214
214
|
return [...BASE_TRANSFER_ACTIONS, ...NATIVE_STAKE_ACTIONS, ...POOL_STAKE_ACTIONS, ...EARN_VDOT_ACTIONS, ...EARN_VMANTA_ACTIONS, ...EARN_LDOT_ACTIONS, ...EARN_SDOT_ACTIONS,
|
|
215
215
|
// ...EARN_QDOT_ACTIONS,
|
|
216
|
-
...OPEN_GOV_ACTIONS, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
216
|
+
...OPEN_GOV_ACTIONS, ExtrinsicType.CHANGE_BITTENSOR_ROOT_CLAIM_TYPE, ...MULTISIG_ACTIONS, ...SUBSTRATE_PROXY_ACTION, ...OTHER_ACTIONS];
|
|
217
217
|
case AccountChainType.ETHEREUM:
|
|
218
218
|
return [...BASE_TRANSFER_ACTIONS, ...EARN_STDOT_ACTIONS, ...EVM_ACTIONS, ...CLAIM_AVAIL_BRIDGE, ExtrinsicType.STAKING_WITHDRAW,
|
|
219
219
|
// For liquid staking
|