Skip to content

Commit

Permalink
🪄 [QA] Update stage environments (#822)
Browse files Browse the repository at this point in the history
This is a pull request that upon merging will update stage environments
with recent `main` changes.
The environments that will be updated:
* Stage live: https://stage-live--taho-development.netlify.app/
* Stage fork: https://stage-fork--taho-development.netlify.app/

Read more: [Deployment to Production
Flow](https://github.com/tahowallet/dapp/blob/main/docs/testing-env.md)
  • Loading branch information
jagodarybacka authored Dec 6, 2023
2 parents d586909 + 45668f4 commit 0913f3a
Show file tree
Hide file tree
Showing 113 changed files with 2,688 additions and 2,228 deletions.
23 changes: 16 additions & 7 deletions .github/workflows/test-list/release-test-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,10 @@ environment 🚀**

## Manual tests

*many of these tests can be combined with each other as you're testing. I suggest looking through the whole checklist first then executing tests in a way that allows you to check off multiple items at once. Some suggestions are provided.

\*many of these tests can be combined with each other as you're testing. I suggest looking through the whole checklist first then executing tests in a way that allows you to check off multiple items at once. Some suggestions are provided.

1. Connect to wallet that previously staked

- [ ] you see the Portal is Open message
- [ ] you can see the map after entering
- [ ] you see your address connected
Expand All @@ -26,18 +26,21 @@ environment 🚀**
- [ ] you can unstake

2. Connect to wallet that hasn't staked but has $TAHO

- [ ] you see the Portal is Open message
- [ ] you can see the map after entering
- [ ] you see your address connected
- [ ] you don't see a realm name beside that
- [ ] you can explore realms and stake into one (if you staked above, you don't have to do it again. Just make sure to test stake and unstake at least once)

3. Connect to wallet that has NO $TAHO (& no $VETAHO)

- [ ] you see the Portal is Open message and the Join Beta button
- [ ] Join Beta redirect works as expected
- [ ] you can't see the map

4. Switch connected wallet in the extension (it's easy to check these off along with the above while you're switching accounts)

- [ ] dapp reloads and shows the portal screen
- [ ] reloads with Connect Wallet button if you go to a wallet that's not
connected
Expand All @@ -49,6 +52,7 @@ environment 🚀**
message and Join Beta button

5. Helper Tool

- [ ] doesn't pop up automatically for users who have visited before and
closed it
- [ ] doesn't pop up automatically for staked users
Expand All @@ -58,29 +62,34 @@ environment 🚀**
running through onboarding

6. Population (this is easily tested with the above when you're staking/unstaking - verify the population changes and then you've combined these tests with that)

- [ ] shows on each realm
- [ ] shows on the bottom bar
- [ ] is updated appropriately if a new account stakes

7. Quests/Questline
7. Challenges/

- [ ] shows on each realm as expected

8. Disconnect from dapp

- [ ] click disconnect on address drop down and it disconnects and shows the
portal screen

9. Connect Wallet

- [ ] with Taho and MM installed and Taho set as a default wallet - only Taho
connection should be possible
- [ ] with Taho and MM installed and Taho not set as a default - only Taho
connection should be possible
- [ ] with Taho not installed and MM installed - should show both options -
Taho directs to the Chrome store, MM opens method connection screen and
allows connecting
allows connecting
- [ ] with Taho not installed and no other - should be directed to the Chrome
store to download Taho & given a message in the dapp to do so

10. XP
- [ ] an account with XP to claim sees that under Claimable Rewards on the Realm modal (in pre-prod we can see this on stage-live but might be easiest to only test this when we're testing XP drops)
- [ ] account can claim XP and sees the wallet balance of VETAHO change accordingly (requires that the account earned XP and hasn't claimed it yet so this could be hard to test on each release but when we're testing XP drops, we should do this)
- [ ] leaderboard shows the top 10 earners in the realm - the connected account is shown at the top with their place on the board shown

- [ ] an account with XP to claim sees that under Claimable Rewards on the Realm modal (in pre-prod we can see this on stage-live but might be easiest to only test this when we're testing XP drops)
- [ ] account can claim XP and sees the wallet balance of VETAHO change accordingly (requires that the account earned XP and hasn't claimed it yet so this could be hard to test on each release but when we're testing XP drops, we should do this)
- [ ] leaderboard shows the top 10 earners in the realm - the connected account is shown at the top with their place on the board shown
10 changes: 2 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,10 @@
"https-browserify": "^1.0.0",
"konva": "^9.2.0",
"lodash": "4.17.21",
"merkletreejs": "^0.3.10",
"os-browserify": "^0.3.0",
"patch-package": "^8.0.0",
"path-browserify": "^1.0.1",
"posthog-js": "^1.88.2",
"postinstall-postinstall": "^2.1.0",
"process": "^0.11.10",
"raf-schd": "^4.0.3",
"react": "^18.2.0",
Expand All @@ -62,26 +60,22 @@
},
"devDependencies": {
"@babel/core": "^7.22.9",
"@babel/preset-env": "^7.22.9",
"@babel/preset-env": "^7.23.3",
"@babel/preset-react": "^7.22.5",
"@babel/preset-typescript": "^7.22.5",
"@babel/register": "^7.22.5",
"@babel/register": "^7.22.15",
"@thesis-co/eslint-config": "^0.5.0",
"@thesis/prettier-config": "github:thesis/prettier-config",
"@types/dotenv-webpack": "^7.0.4",
"@types/raf-schd": "^4.0.1",
"@types/react": "^18.2.14",
"@types/react-dom": "^18.2.6",
"@types/react-router-dom": "^5",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"babel-loader": "^9.1.3",
"concurrently": "^8.2.2",
"copy-webpack-plugin": "^11.0.0",
"dotenv-defaults": "^5.0.2",
"dotenv-webpack": "^8.0.1",
"eslint": "^8.44.0",
"eslint-plugin-import": "^2.28.1",
"fork-ts-checker-webpack-plugin": "^8.0.0",
"html-webpack-plugin": "^5.5.3",
"prettier": "^2.8.1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@
"realms": [
{
"realmId": "4",
"questlineName": "Transact on PGN, human!",
"description": "Gitcoin is a community that focuses on incentivizing and supporting open-source development. Gitcoin aims to foster collaboration and sustainability within the open-source ecosystem by providing a marketplace for matching developers with projects and funding opportunities and rewards for their contributions.",
"quests": [
"challenges": [
{
"id": "4_1",
"name": "Spend gas on PGN (Public Goods Network)—more gas is better!",
Expand All @@ -19,9 +17,7 @@
},
{
"realmId": "7",
"questlineName": "Use your CyberWallet, collect essence, and mint W3ST",
"description": "Cyberconnect is a Web3 social ecosystem that goes beyond likes and shares. It allows developers to create social applications where users have complete control over their digital identity, content, and connections ",
"quests": [
"challenges": [
{
"id": "7_1",
"name": "Spend gas using the CyberWallet associated with your address",
Expand All @@ -41,9 +37,7 @@
},
{
"realmId": "8",
"questlineName": "Transact on Base",
"description": "Base is a secure, low-cost, builder-friendly Ethereum L2 built to bring the next billion users onchain. Base is incubated within Coinbase and plans to progressively decentralize in the years ahead. The Base Realm believes that decentralization is critical to creating an open, global cryptoeconomy that is accessible to everyone.",
"quests": [
"challenges": [
{
"id": "8_1",
"name": "Interact with unique contracts on Base",
Expand All @@ -53,16 +47,13 @@
"id": "8_2",
"name": "Vampire Attack: Bridge funds from Arbitrum",
"description": "Bridge ETH or USDC from Arbitrum to Base using Hop Exchange. \n \nAccepted assets: [ETH](https://app.hop.exchange/#/send?sourceNetwork=arbitrum&destNetwork=base) and [USDC](https://app.hop.exchange/#/send?sourceNetwork=arbitrum&destNetwork=base&token=USDC), bridging anything else won't be counted towards XP \n \nMechanics: The more you bridge, the higher the reward. \n \nReward: Each 1 dollar bridged from Arbitrum to Base will be worth 10 contract interactions.",
"isNew": true,
"isAttack": true
}
]
},
{
"realmId": "9",
"questlineName": "Transact on Arbitrum---especially on Fluidity",
"description": "Arbitrum DAO is a decentralized autonomous organization (DAO) built on the Ethereum blockchain. At its core, the Arbitrum DAO is a community-driven governance mechanism that allows $ARB token holders to propose and vote on changes to the organization and the technologies it governs.",
"quests": [
"challenges": [
{
"id": "9_1",
"name": "Interact with unique contracts on Arbitrum",
Expand All @@ -75,11 +66,19 @@
}
]
},
{
"realmId": "15",
"challenges": [
{
"id": "15_1",
"name": "Interact with unique contracts on zkSync",
"description": "The more interactions you execute with different unique contracts on zkSync compared to other members of this realm in a week, the more of the weekly XP drop you will get."
}
]
},
{
"realmId": "19",
"questlineName": "Eat your OATs, unless they're minty NFTs",
"description": "Galxe is the largest web3 credential data network that is helping projects and developers build robust decentralized products. Earn oat, NFTs, and tokens by contributing to your favorite Web3 communities.",
"quests": [
"challenges": [
{
"id": "19_1",
"name": "Claim OATs during the week",
Expand All @@ -94,9 +93,7 @@
},
{
"realmId": "22",
"questlineName": "The bribes must flow, over the FraxFerry and far away",
"description": "Frax Finance is a protocol that issues decentralized stablecoins and the subprotocols to support them, creating a unique self-sufficient DeFi ecosystem",
"quests": [
"challenges": [
{
"id": "22_1",
"name": "Claim bribes on Votemarket",
Expand Down
6 changes: 6 additions & 0 deletions src/assets/xp-data.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@
],
"leaderboard": "leaderboard.json"
},
"15": {
"rootFolder": "/assets/xp/zksync",
"claimsFolder": "/assets/xp/zksync/claims",
"xpGlossary": [],
"leaderboard": null
},
"19": {
"rootFolder": "/assets/xp/galxe",
"claimsFolder": "/assets/xp/galxe/claims",
Expand Down
Empty file.
Binary file modified src/public/dapp_island_bg.webp
Binary file not shown.
Binary file added src/public/dapp_island_bg_bw.webp
Binary file not shown.
2 changes: 1 addition & 1 deletion src/public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<title>Subscape</title>
<style>
body {
background: hsl(176, 33%, 10%);
background: #142D2B;
}
</style>
</head>
Expand Down
2 changes: 1 addition & 1 deletion src/redux-state/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ export * from "./selectors/claim"
export * from "./selectors/island"
export * from "./selectors/leaderboard"
export * from "./selectors/population"
export * from "./selectors/quest"
export * from "./selectors/challenge"
export * from "./selectors/realm"
export * from "./selectors/season"
export * from "./selectors/staking"
Expand Down
15 changes: 15 additions & 0 deletions src/redux-state/selectors/challenge.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/* eslint-disable import/prefer-default-export */
import { createSelector } from "@reduxjs/toolkit"
import { selectRealmById } from "./realm"

export const hasNewChallenges = createSelector(selectRealmById, (realmData) =>
realmData?.challenges.some((challenge) => challenge.isNew)
)

export const selectNewChallengesByRealm = createSelector(
selectRealmById,
(realmData) =>
realmData?.challenges
? realmData?.challenges.filter((challenge) => challenge.isNew)
: []
)
13 changes: 0 additions & 13 deletions src/redux-state/selectors/quest.ts

This file was deleted.

6 changes: 6 additions & 0 deletions src/redux-state/selectors/realm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import { isSameAddress } from "shared/utils"

export const selectRealms = createIslandSelector("realms")
export const selectDisplayedRealmId = createIslandSelector("displayedRealmId")
export const selectRealmPanelVisible = createIslandSelector("realmPanelVisible")

const selectDisplayedRealmProperty: DisplayedRealmProperty = (value) =>
createSelector(selectRealms, selectDisplayedRealmId, (realms, realmId) =>
Expand Down Expand Up @@ -44,3 +45,8 @@ export const selectDisplayedRealmAddress = selectDisplayedRealmProperty(
export const selectDisplayedRealmVeTokenAddress = selectDisplayedRealmProperty(
"veTokenContractAddress"
)

export const selectNumberOfRealms = createSelector(
selectRealms,
(realms) => Object.entries(realms ?? {}).length
)
9 changes: 9 additions & 0 deletions src/redux-state/slices/island.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ export type IslandState = {
displayedRealmId: string | null
zoomLevel: number
seasonInfo: SeasonInfo | null
realmPanelVisible: boolean
}

const initialState: IslandState = {
Expand All @@ -34,6 +35,7 @@ const initialState: IslandState = {
displayedRealmId: null,
zoomLevel: 1,
seasonInfo: null,
realmPanelVisible: false,
}

const islandSlice = createSlice({
Expand Down Expand Up @@ -93,6 +95,12 @@ const islandSlice = createSlice({
immerState.realms[realmXpAllocatable.id].xpAllocatable =
realmXpAllocatable.xpAllocatable
},
setRealmPanelVisible: (
immerState,
{ payload: realmPanelVisible }: { payload: boolean }
) => {
immerState.realmPanelVisible = realmPanelVisible
},
setStakingRealmId: (
immerState,
{ payload: stakingRealmId }: { payload: string | null }
Expand Down Expand Up @@ -151,6 +159,7 @@ export const {
setRealmDisplayedPopulation,
setRealmXpAllocatable,
setRealmsData,
setRealmPanelVisible,
setDisplayedRealmId,
setStakingRealmId,
setStakingUnlockTime,
Expand Down
6 changes: 3 additions & 3 deletions src/redux-state/thunks/island.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {
import {
REALMS_WITH_CONTRACT_ADDRESS,
TAHO_ADDRESS,
getQuestlineData,
getChallengesData,
} from "shared/constants"
import {
getAllRealmsData,
Expand Down Expand Up @@ -67,11 +67,11 @@ export const initRealmsDataFromContracts = createDappAsyncThunk(
storageService.setData("getAllRealmsData", realmData)

const updatedRealms = realmData.map(({ id, data }) => {
const questlineData = getQuestlineData(id)
const challengesData = getChallengesData(id)
return {
id,
data: {
...questlineData,
...challengesData,
...data,
},
}
Expand Down
Binary file removed src/shared/assets/clouds/cloud-bottom-left.png
Binary file not shown.
File renamed without changes
File renamed without changes
31 changes: 31 additions & 0 deletions src/shared/assets/partners/zksync-population.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions src/shared/assets/partners/zksync-shadow.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 0913f3a

Please sign in to comment.