Skip to content

Commit 2a84199

Browse files
impelcryptobobo-k2gtg7784ayumitk
authored
hotfix: merge hotfix to main branch (#1475)
* Security issue fix (#1472) * Window open fix * Resize Astar (L1) connect button * hotfix: claim staking rewards from EVM wallet (#1474) * Change zkEVM RPC endpoint (#1457) * pin firebase-tools version to 13.35.1 in PR preview workflow (#1458) * pin firebase-tools version to 13.35.1 in PR preview workflow * pin firebase-tools version to 13.35.1 in staging deployment workflow * Enable unstake from unregistered (#1461) * Disable zk bridges and network selection (#1456) * Disable zk bridges and network selection * Hide network disabled comments * hotfix: removed zkEVM links (#1462) * feat: removed zkEVM links * feat: updated Astar button * fix: rollback * fix: removed unnecessary line (#1464) * Fix for available staking balance when user has tokens locked in governance (#1466) * fix: added extra 20% to the gaslimit * fix: clean up --------- Co-authored-by: Bobo <bobo.kovacevic@gmail.com> Co-authored-by: Taegeon Alan Go <tae.gun7784@gmail.com> * Fix for a bridge tooltip being partially hidden (#1473) * Fix for unstaking max amount (#1477) * Change unstake amount to bigint * Cleanup * Fix/maintenance mode modal (#1479) * Maintenance mode modal * Typo fix * Go Home * Maintenance modal go to assets link fix (#1480) * Fix for maintenance modal dark mode (#1482) * Fix portal compatibility with XCM V5 upgrade (#1483) * remove astar 2.0 and tech stack link (#1455) * Fix `fetchAssetConfigById` for XCM v5 compatibility * Update all XCM message constructions from V3 to V5 * refactor: centralize XCM version management in base repository - Add protected readonly xcmVersion property to base XcmRepository class - Replace all hardcoded 'V5' strings with dynamic this.xcmVersion references - Remove unnecessary intermediate version variable assignments - Enable version override capability for child repositories when needed This change provides a single source of truth for XCM version configuration, making future version updates easier and maintaining consistency across all XCM repository implementations. * update to keep using `V3` for Pendulum and Interlay * Update to set V5 only for Astar * fix: updated XCM logix to apply V5 for withdrawal transactions (#1485) * fix: updated XCM logix to apply V5 * fix: removed non-used endpoint * fix: updated Phala endpoint --------- Co-authored-by: Ayumi Takahashi <ayumee528@gmail.com> Co-authored-by: Roy <92044428+impelcrypto@users.noreply.github.com> * hotfix: added a banner for Astar Snap deprecation (#1484) * feat: added a banner for Astar snap * fix: clean up * fix: refactoring * fix: increased minimum transfer amount for Bifrost assets (#1486) * revert: restore yarn.lock to Yarn v1 format (#1487) Revert yarn.lock changes from PR #1483 that converted it to Yarn Berry format. This maintains compatibility with the existing Yarn v1 setup. --------- Co-authored-by: Bobo <bobo.kovacevic@gmail.com> Co-authored-by: Taegeon Alan Go <tae.gun7784@gmail.com> Co-authored-by: Ayumi Takahashi <ayumee528@gmail.com>
1 parent 016b875 commit 2a84199

37 files changed

Lines changed: 259 additions & 144 deletions

src/components/assets/DynamicLinks.vue

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
:key="index"
77
class="card"
88
:style="`background-image: url('${t.background}'); background-size: cover; background-position: center;`"
9-
@click="goToLink(t.link)"
9+
@click="navigateInNewTab(t.link)"
1010
>
1111
<div class="card--info">
1212
<div
@@ -28,6 +28,7 @@ import linksData from 'src/data/dynamic_links.json';
2828
import { useI18n } from 'vue-i18n';
2929
import { useQuery } from '@vue/apollo-composable';
3030
import gql from 'graphql-tag';
31+
import { navigateInNewTab } from 'src/util-general';
3132
3233
interface Data {
3334
background: string;
@@ -86,14 +87,10 @@ export default defineComponent({
8687
{ immediate: true }
8788
);
8889
89-
const goToLink = (link: string): void => {
90-
window.open(link, '_blank');
91-
};
92-
9390
return {
9491
truncate,
9592
items,
96-
goToLink,
93+
navigateInNewTab,
9794
};
9895
},
9996
});

src/components/assets/SideAds.vue

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
<swiper-slide v-for="(item, index) in combinedCampaigns" :key="index">
55
<div
66
class="card--swiper"
7-
@click="item.link !== undefined ? goToLink(item.link) : goDappPageLink(item.address)"
7+
@click="
8+
item.link !== undefined ? navigateInNewTab(item.link) : goDappPageLink(item.address)
9+
"
810
>
911
<img :src="item.img" class="card__img" />
1012
<div class="card__bottom">
@@ -34,6 +36,8 @@ import { Swiper, SwiperSlide } from 'swiper/vue';
3436
import 'swiper/css';
3537
import 'swiper/css/navigation';
3638
import { Autoplay } from 'swiper/modules';
39+
import { navigateInNewTab } from 'src/util-general';
40+
3741
export default defineComponent({
3842
components: {
3943
Swiper,
@@ -42,9 +46,6 @@ export default defineComponent({
4246
setup() {
4347
const router = useRouter();
4448
const { combinedCampaigns } = useCampaign();
45-
const goToLink = (link: string): void => {
46-
window.open(link, '_blank');
47-
};
4849
const goDappPageLink = (address: string | undefined): void => {
4950
const base = networkParam + Path.DappStaking + Path.Dapp;
5051
const url = `${base}?dapp=${address?.toLowerCase()}`;
@@ -53,7 +54,7 @@ export default defineComponent({
5354
return {
5455
modules: [Autoplay],
5556
combinedCampaigns,
56-
goToLink,
57+
navigateInNewTab,
5758
goDappPageLink,
5859
};
5960
},
@@ -68,6 +69,7 @@ export default defineComponent({
6869
}
6970
.swiper {
7071
overflow: hidden;
72+
z-index: 0;
7173
}
7274
.card--swiper {
7375
border: solid 1px $gray-2;

src/components/common/Notification/NotificationBar.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import { AlertType } from 'src/store/general/state';
4444
import { useI18n } from 'vue-i18n';
4545
import { defineComponent, toRefs, PropType, computed, ref } from 'vue';
4646
import { AlertMsg } from 'src/modules/toast';
47+
import { navigateInNewTab } from 'src/util-general';
4748
4849
export default defineComponent({
4950
name: 'NotificationBar',
@@ -92,7 +93,7 @@ export default defineComponent({
9293
const isCopiedType = computed<boolean>(() => props.alertType === AlertType.Copied);
9394
9495
const goToSubscan = (): void => {
95-
window.open(props.explorerUrl, '_blank');
96+
navigateInNewTab(props.explorerUrl);
9697
};
9798
9899
return {
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<template>
2+
<div v-if="isSnap" class="banner">
3+
<div class="row--banner">
4+
<span class="text--deprecated">{{ $t('common.snapDeprecated') }}</span>
5+
<a :href="docsUrl.availableWallets" target="_blank" class="banner__link" rel="noreferrer">
6+
<b>{{ $t('common.availableWallet') }}</b>
7+
</a>
8+
</div>
9+
</div>
10+
</template>
11+
12+
<script lang="ts">
13+
import { computed, defineComponent, ref, watch } from 'vue';
14+
import { docsUrl } from 'src/links';
15+
import { useStore } from 'src/store';
16+
import { getSelectedAccount } from 'src/hooks/helper/wallet';
17+
import { SupportWallet } from 'src/config/wallets';
18+
import { useAccount } from 'src/hooks';
19+
20+
export default defineComponent({
21+
setup() {
22+
const store = useStore();
23+
const isSnap = ref<boolean>(false);
24+
const { currentAccount, substrateAccounts } = useAccount();
25+
26+
watch(
27+
[substrateAccounts, currentAccount],
28+
() => {
29+
const selectedWallet = getSelectedAccount(substrateAccounts.value);
30+
isSnap.value = selectedWallet?.source === SupportWallet.Snap;
31+
},
32+
{ immediate: false }
33+
);
34+
35+
return { docsUrl, isSnap };
36+
},
37+
});
38+
</script>
39+
40+
<style lang="scss" scoped>
41+
@import 'src/css/quasar.variables.scss';
42+
43+
.banner {
44+
background: linear-gradient(270deg, #ff94cd 26.04%, #e6007a 100%);
45+
color: $gray-2;
46+
font-weight: 600;
47+
padding: 4px 8px 8px 8px;
48+
font-size: 12px;
49+
position: relative;
50+
z-index: 2;
51+
display: flex;
52+
align-items: center;
53+
54+
@media (min-width: $sm) {
55+
font-size: 14px;
56+
padding: 4px 16px 8px 16px;
57+
}
58+
}
59+
60+
.row--banner {
61+
font-weight: 800;
62+
padding: 3px 9px;
63+
border-radius: 4px;
64+
margin-right: 4px;
65+
66+
@media (min-width: $sm) {
67+
margin-right: 8px;
68+
}
69+
}
70+
71+
.text--deprecated {
72+
margin-right: 4px;
73+
}
74+
75+
.banner__link {
76+
color: blue;
77+
text-decoration: underline;
78+
}
79+
</style>

src/components/header/mobile/BlogPosts.vue

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
v-for="(t, index) in items"
66
:key="index"
77
class="card--blog-post"
8-
@click="goToLink(t.link)"
8+
@click="navigateInNewTab(t.link)"
99
>
1010
<img :src="t.img" :alt="t.title" />
1111
</div>
@@ -16,6 +16,7 @@
1616
import { defineComponent, ref, watch } from 'vue';
1717
import { useQuery } from '@vue/apollo-composable';
1818
import gql from 'graphql-tag';
19+
import { navigateInNewTab } from 'src/util-general';
1920
2021
interface Data {
2122
img: string;
@@ -55,13 +56,9 @@ export default defineComponent({
5556
{ immediate: true }
5657
);
5758
58-
const goToLink = (link: string): void => {
59-
window.open(link, '_blank');
60-
};
61-
6259
return {
6360
items,
64-
goToLink,
61+
navigateInNewTab,
6562
};
6663
},
6764
});

src/components/header/styles/modal-network-wallet.scss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
}
4444

4545
.card--astar {
46-
width: 212px;
46+
width: 100%;
4747
height: 140px;
4848
border-radius: 16px;
4949
box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.08);
@@ -62,7 +62,7 @@
6262

6363
.line--bottom-bg {
6464
position: absolute;
65-
width: 95%;
65+
width: 98%;
6666
height: 5px;
6767
border-radius: 0 0 16px 16px / 0 0 6px 6px;
6868
bottom: 0;

src/components/sidenav/SidebarOption.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ import { useStore } from 'src/store';
180180
import { socialUrl, docsUrl } from 'src/links';
181181
import { CultureCode, languagesSelector } from 'src/i18n';
182182
import { i18n } from 'src/boot/i18n';
183+
import { navigateInNewTab } from 'src/util-general';
183184
184185
export default defineComponent({
185186
components: {
@@ -199,7 +200,7 @@ export default defineComponent({
199200
200201
const selectLinkIdx = ref(-1);
201202
const goLink = (url: string) => {
202-
window.open(url, '_blank');
203+
navigateInNewTab(url);
203204
};
204205
205206
const goToLink = (linkIdx: number) => {

src/constants.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ export enum HttpCodes {
22
NotFound = 404,
33
}
44

5-
export const ORIGINAL_BLOCK_TIME = 12;
5+
export const ORIGINAL_BLOCK_TIME = 6;
66

77
export const PERIOD1_START_BLOCKS = new Map<string, number>([
88
['astar', 5514935],

src/i18n/en-US/index.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,9 @@ export default {
131131
loading: 'Loading...',
132132
comingSoon: 'Coming soon',
133133
checkHowToSolve: 'Check how to solve this problem',
134+
snapDeprecated:
135+
'⚠️ Important: Astar Snap is being deprecated soon. Make sure to migrate your assets to a supported wallet to keep them accessible.',
136+
availableWallet: 'You can find available wallet options in our documentation.',
134137
speed: {
135138
speed: 'Transaction speed',
136139
speedTip: 'Transaction speed (Tip)',
@@ -473,6 +476,7 @@ export default {
473476
switching: 'Switching to',
474477
willBeBack: 'We will be back',
475478
verySoon: 'very soon',
479+
visitLater: 'Please visit the page later.',
476480
},
477481
},
478482
assets: {
@@ -731,6 +735,7 @@ export default {
731735
portalIpfs: 'Portal is now on IPFS!',
732736
astarHome: 'Astar Home',
733737
astarDocs: 'Astar Docs',
738+
goToAssets: 'Go to Assets Page',
734739
},
735740
disclaimer: {
736741
disclaimer: 'Disclaimer',
@@ -763,7 +768,7 @@ export default {
763768
noDappSelected: 'No dApp selected.',
764769
stakerRewardsExpired: 'Staker rewards expired.',
765770
dappStaking: {
766-
Disabled: 'Pallet is disabled/in maintenance mode.',
771+
Disabled: 'dApp staking is currently in maintenance mode.',
767772
NoExpiredEntries: 'There are no expired entries to clean up.',
768773
NoStakingInfo: 'Account has no staking information for the contract',
769774
NotOperatedDApp: 'dApp is part of dApp staking but is not active anymore.',

src/layouts/DashboardLayout.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@
66
<div class="wrapper--dashboard-layout__inner">
77
<portal-header />
88
<!-- <under-maintenance-banner /> -->
9+
<snap-deprecated-banner />
910
<dapp-staking-banner />
1011
<main id="assets-top" class="wrapper--main">
1112
<div class="wrapper--components">
1213
<div class="page-bg" :style="{ backgroundImage: `url(${bg})` }" />
13-
1414
<slot />
1515
</div>
1616
</main>
@@ -28,12 +28,14 @@ import { LOCAL_STORAGE } from 'src/config/localStorage';
2828
import { useStore } from 'src/store';
2929
import UnderMaintenanceBanner from 'src/components/header/UnderMaintenanceBanner.vue';
3030
import DappStakingBanner from 'src/components/header/DappStakingBanner.vue';
31+
import SnapDeprecatedBanner from 'src/components/header/SnapDeprecatedBanner.vue';
3132
3233
export default defineComponent({
3334
components: {
3435
PortalHeader,
3536
SidebarDesktop,
3637
DappStakingBanner,
38+
SnapDeprecatedBanner,
3739
},
3840
setup() {
3941
const store = useStore();

0 commit comments

Comments
 (0)