Skip to content

Commit d6a5561

Browse files
committed
Merge remote-tracking branch 'refs/remotes/subwallet/webapp-dev' into webapp-dev
# Conflicts: # packages/extension-koni/public/locales/en/translation.json # packages/extension-koni/public/locales/ja/translation.json # packages/extension-koni/public/locales/ru/translation.json # packages/extension-koni/public/locales/vi/translation.json # packages/extension-koni/public/locales/zh/translation.json # packages/extension-web-ui/src/Popup/Confirmations/variants/Transaction/variants/Bond.tsx # packages/web-runner/public/locales/en/translation.json # packages/web-runner/public/locales/ja/translation.json # packages/web-runner/public/locales/ru/translation.json # packages/web-runner/public/locales/vi/translation.json # packages/web-runner/public/locales/zh/translation.json # packages/webapp/package.json # packages/webapp/public/locales/en/translation.json # packages/webapp/public/locales/ja/translation.json # packages/webapp/public/locales/ru/translation.json # packages/webapp/public/locales/vi/translation.json # packages/webapp/public/locales/zh/translation.json
2 parents 10be2fd + 9b8f7a0 commit d6a5561

File tree

71 files changed

+868
-906
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+868
-906
lines changed

.123trigger

+2-1
Original file line numberDiff line numberDiff line change
@@ -138,4 +138,5 @@
138138
1.1.68
139139
1.2.2
140140
1.2.3
141-
1.2.4
141+
1.2.4
142+
1.2.5

CHANGELOG.md

+12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# CHANGELOG
22

3+
## 1.2.5
4+
Build date: Jun 11, 2024.
5+
6+
Features & Update:
7+
- Add CheckMetadataHash signed extension support (#3175)
8+
- Improve the Substrate Provider to meet the demands of dApps utilizing both EVM and Substrate (#2869)
9+
- Refactoring code earning service (#3000)
10+
11+
Bugs fixed:
12+
- Fixed bug Sign transaction failed for some tokens with Aleph Zero Ledger account (#3145)
13+
14+
315
## 1.2.4
416
Build date: Jun 08, 2024.
517

CONTRIBUTORS

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
2665 AnhMTV Release version 1.2.4
1+
2675 AnhMTV Release version 1.2.5
22
2421 Nam Phạm [Issue 3134] chore: update chainlist
3-
2065 S2kael [Issue-3161] Update stable version for chain-list
3+
2070 S2kael
44
817 lw-cdm [Issue-3150] Extension - Update insufficient balance message for earn screen
55
465 Jaco 0.42.5 (#969)
6-
447 nguyentiendung [Issue-3139] Extension - Remove Parallel liquid staking
6+
451 nguyentiendung [Issue-3140] WebApp - Remove Parallel liquid staking
77
185 quangdo
8-
159 bluezdot [Issue-3136] Update hydradation logo in swap
9-
130 Thiendekaco [Issue 3144] [fix] [mv3] Extension - Update lock time of MV3 extension
10-
115 Automation Bot [CI Skip] Auto increase webapp build number
8+
174 bluezdot
9+
137 Thiendekaco [Issue 2779] [fix] WebApp - Re-check bug error page #2
10+
117 Automation Bot [CI Skip] Auto increase webapp build number
1111
106 dominhquang [Issue-2649] Add send crash log feature
1212
104 khainh predefine metadata for Polkadot & Kusama chains
1313
101 lw-cdm

package.json

+14-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"url": "https://github.com/Koniverse/Subwallet-V2.git"
1111
},
1212
"sideEffects": false,
13-
"version": "1.2.4",
13+
"version": "1.2.5",
1414
"workspaces": [
1515
"packages/*"
1616
],
@@ -84,13 +84,21 @@
8484
"@ethereumjs/common": "^4.1.0",
8585
"@google/model-viewer": "3.1.1",
8686
"@ledgerhq/hw-app-eth": "6.33.4",
87+
"@ledgerhq/hw-transport": "6.30.3",
8788
"@mangata-finance/type-definitions": "2.1.2",
88-
"@polkadot/api": "^11.0.3",
89-
"@polkadot/api-base": "^11.0.3",
90-
"@polkadot/api-contract": "^11.0.3",
89+
"@polkadot/api": "^11.2.1",
90+
"@polkadot/api-augment": "^11.2.1",
91+
"@polkadot/api-base": "^11.2.1",
92+
"@polkadot/api-contract": "^11.2.1",
93+
"@polkadot/api-derive": "^11.2.1",
9194
"@polkadot/networks": "^12.6.2",
92-
"@polkadot/types": "^11.0.3",
93-
"@polkadot/types-codec": "^11.0.3",
95+
"@polkadot/rpc-augment": "^11.2.1",
96+
"@polkadot/rpc-core": "^11.2.1",
97+
"@polkadot/rpc-provider": "^11.2.1",
98+
"@polkadot/types": "^11.2.1",
99+
"@polkadot/types-codec": "^11.2.1",
100+
"@polkadot/types-known": "^11.2.1",
101+
"@polkadot/types-support": "^11.2.1",
94102
"@polkadot/util": "^12.6.2",
95103
"@polkadot/util-crypto": "^12.6.2",
96104
"@subwallet/chain-list": "0.2.67",

packages/extension-base/package.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"./detectPackage.cjs"
1818
],
1919
"type": "module",
20-
"version": "1.2.4-0",
20+
"version": "1.2.5-0",
2121
"main": "index.js",
2222
"dependencies": {
2323
"@acala-network/api": "^5.0.2",
@@ -53,10 +53,10 @@
5353
"@sora-substrate/type-definitions": "^1.17.7",
5454
"@substrate/connect": "^0.8.9",
5555
"@subwallet/chain-list": "0.2.67",
56-
"@subwallet/extension-base": "^1.2.4-0",
57-
"@subwallet/extension-chains": "^1.2.4-0",
58-
"@subwallet/extension-dapp": "^1.2.4-0",
59-
"@subwallet/extension-inject": "^1.2.4-0",
56+
"@subwallet/extension-base": "^1.2.5-0",
57+
"@subwallet/extension-chains": "^1.2.5-0",
58+
"@subwallet/extension-dapp": "^1.2.5-0",
59+
"@subwallet/extension-inject": "^1.2.5-0",
6060
"@subwallet/keyring": "^0.1.5",
6161
"@subwallet/ui-keyring": "^0.1.5",
6262
"@walletconnect/keyvaluestorage": "^1.1.1",
@@ -96,7 +96,7 @@
9696
"web3-utils": "^1.10.0"
9797
},
9898
"devDependencies": {
99-
"@subwallet/extension-mocks": "^1.2.4-0",
99+
"@subwallet/extension-mocks": "^1.2.5-0",
100100
"@types/uuid": "^9.0.1"
101101
}
102102
}

packages/extension-base/src/koni/api/staking/bonding/utils.ts

+44-6
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,10 @@ import { _ChainInfo } from '@subwallet/chain-list/types';
55
import { NominationInfo, NominatorMetadata, StakingType, UnstakingInfo } from '@subwallet/extension-base/background/KoniTypes';
66
import { getAstarWithdrawable } from '@subwallet/extension-base/koni/api/staking/bonding/astar';
77
import { _KNOWN_CHAIN_INFLATION_PARAMS, _SUBSTRATE_DEFAULT_INFLATION_PARAMS, _SubstrateInflationParams } from '@subwallet/extension-base/services/chain-service/constants';
8+
import { _SubstrateApi } from '@subwallet/extension-base/services/chain-service/types';
89
import { _getChainNativeTokenBasicInfo } from '@subwallet/extension-base/services/chain-service/utils';
910
import { _STAKING_CHAIN_GROUP } from '@subwallet/extension-base/services/earning-service/constants';
10-
import { EarningStatus, PalletStakingEraRewardPoints, UnstakingStatus, YieldPoolInfo, YieldPoolType, YieldPositionInfo } from '@subwallet/extension-base/types';
11+
import { EarningStatus, PalletStakingEraRewardPoints, PalletStakingValidatorPrefs, UnstakingStatus, YieldPoolInfo, YieldPoolType, YieldPositionInfo } from '@subwallet/extension-base/types';
1112
import { detectTranslate, parseRawNumber, reformatAddress } from '@subwallet/extension-base/utils';
1213
import { balanceFormatter, formatNumber } from '@subwallet/extension-base/utils/number';
1314
import BigNumber from 'bignumber.js';
@@ -581,16 +582,14 @@ export function getSupportedDaysByHistoryDepth (erasPerDay: number, maxSupported
581582
}
582583
}
583584

584-
export function getValidatorPointsMap (eraRewardMap: Record<string, PalletStakingEraRewardPoints>) {
585+
export function getRelayValidatorPointsMap (eraRewardMap: Record<string, PalletStakingEraRewardPoints>) {
585586
// mapping store validator and totalPoints
586587
const validatorTotalPointsMap: Record<string, BigNumber> = {};
587588

588589
Object.values(eraRewardMap).forEach((info) => {
589590
const individual = info.individual;
590591

591-
Object.entries(individual).forEach(([validator, rawPoints]) => {
592-
const points = rawPoints.replaceAll(',', '');
593-
592+
Object.entries(individual).forEach(([validator, points]) => {
594593
if (!validatorTotalPointsMap[validator]) {
595594
validatorTotalPointsMap[validator] = new BigNumber(points);
596595
} else {
@@ -602,7 +601,7 @@ export function getValidatorPointsMap (eraRewardMap: Record<string, PalletStakin
602601
return validatorTotalPointsMap;
603602
}
604603

605-
export function getTopValidatorByPoints (validatorPointsList: Record<string, BigNumber>) {
604+
export function getRelayTopValidatorByPoints (validatorPointsList: Record<string, BigNumber>) {
606605
const sortValidatorPointsList = Object.fromEntries(
607606
Object.entries(validatorPointsList)
608607
.sort(
@@ -623,6 +622,45 @@ export function getTopValidatorByPoints (validatorPointsList: Record<string, Big
623622
return Object.keys(top50PercentRecord);
624623
}
625624

625+
export function getRelayBlockedValidatorList (validators: any[]) {
626+
const blockValidatorList: string[] = [];
627+
628+
for (const validator of validators) {
629+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
630+
const validatorAddress = validator[0].toHuman()[0] as string;
631+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access
632+
const validatorPrefs = validator[1].toHuman() as unknown as PalletStakingValidatorPrefs;
633+
634+
const isBlocked = validatorPrefs.blocked;
635+
636+
if (isBlocked) {
637+
blockValidatorList.push(validatorAddress);
638+
}
639+
}
640+
641+
return blockValidatorList;
642+
}
643+
644+
export function getRelayEraRewardMap (eraRewardPointArray: Codec[], startEraForPoints: number) {
645+
const eraRewardMap: Record<string, PalletStakingEraRewardPoints> = {};
646+
647+
for (const item of eraRewardPointArray) {
648+
eraRewardMap[startEraForPoints] = item.toPrimitive() as unknown as PalletStakingEraRewardPoints;
649+
startEraForPoints++;
650+
}
651+
652+
return eraRewardMap;
653+
}
654+
655+
export async function getRelayMaxNominations (substrateApi: _SubstrateApi) {
656+
await substrateApi.isReady;
657+
const maxNominations = substrateApi.api.consts.staking?.maxNominations?.toString() || '16';
658+
const _maxNominationsByNominationQuota = await substrateApi.api.call.stakingApi?.nominationsQuota(0); // todo: review param. Currently return constant for all param.
659+
const maxNominationsByNominationQuota = _maxNominationsByNominationQuota?.toString();
660+
661+
return maxNominationsByNominationQuota || maxNominations;
662+
}
663+
626664
export const getMinStakeErrorMessage = (chainInfo: _ChainInfo, bnMinStake: BN): string => {
627665
const tokenInfo = _getChainNativeTokenBasicInfo(chainInfo);
628666
const number = formatNumber(bnMinStake.toString(), tokenInfo.decimals || 0, balanceFormatter);

packages/extension-base/src/koni/background/handlers/Tabs.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ export default class KoniTabs {
290290
anyType }: RequestAccountList): Promise<InjectedAccount[]> {
291291
const authInfo = await this.getAuthInfo(url);
292292

293-
return transformAccountsV2(this.#koniState.keyringService.accounts, anyType, authInfo, accountAuthType);
293+
return transformAccountsV2(this.#koniState.keyringService.accounts, anyType, authInfo, authInfo?.accountAuthType || accountAuthType);
294294
}
295295

296296
private accountsSubscribeV2 (url: string, { accountAuthType }: RequestAccountSubscribe, id: string, port: chrome.runtime.Port): string {
@@ -302,9 +302,10 @@ export default class KoniTabs {
302302
subscription: authInfoSubject.subscribe((infos: AuthUrls) => {
303303
this.getAuthInfo(url, infos)
304304
.then((authInfo) => {
305+
const accountAuthType_ = authInfo?.accountAuthType || accountAuthType;
305306
const accounts = this.#koniState.keyringService.accounts;
306307

307-
return cb(transformAccountsV2(accounts, false, authInfo, accountAuthType));
308+
return cb(transformAccountsV2(accounts, false, authInfo, accountAuthType_));
308309
})
309310
.catch(console.error);
310311
}),

packages/extension-base/src/packageInfo.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33

44
// Do not edit, auto-generated by @polkadot/dev
55

6-
export const packageInfo = { name: '@subwallet/extension-base', path: 'auto', type: 'auto', version: '1.2.4-0' };
6+
export const packageInfo = { name: '@subwallet/extension-base', path: 'auto', type: 'auto', version: '1.2.5-0' };

packages/extension-base/src/page/index.ts

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import type { MessageTypes, MessageTypesWithNoSubscriptions, MessageTypesWithNul
66
import { ProviderError } from '@subwallet/extension-base/background/errors/ProviderError';
77
import { ProviderErrorType } from '@subwallet/extension-base/background/KoniTypes';
88
import { SubWalletEvmProvider } from '@subwallet/extension-base/page/SubWalleEvmProvider';
9-
import { EvmProvider } from '@subwallet/extension-inject/types';
9+
import { AuthRequestOption, EvmProvider } from '@subwallet/extension-inject/types';
1010

1111
import { MESSAGE_ORIGIN_PAGE } from '../defaults';
1212
import { getId } from '../utils/getId';
@@ -54,8 +54,9 @@ export function sendMessage<TMessageType extends MessageTypes> (message: TMessag
5454
}
5555

5656
// the enable function, called by the dapp to allow access
57-
export async function enable (origin: string): Promise<Injected> {
58-
await sendMessage('pub(authorize.tabV2)', { origin });
57+
58+
export async function enable (origin: string, opt?: AuthRequestOption): Promise<Injected> {
59+
await sendMessage('pub(authorize.tabV2)', { origin, accountAuthType: opt?.accountAuthType || 'substrate' });
5960

6061
return new Injected(sendMessage);
6162
}

0 commit comments

Comments
 (0)