Skip to content

Commit

Permalink
Merge branch 'main' into e2e-tests
Browse files Browse the repository at this point in the history
  • Loading branch information
vvatom committed Dec 20, 2023
2 parents 38c2cb0 + 6a7e3a8 commit c143a95
Show file tree
Hide file tree
Showing 325 changed files with 5,209 additions and 2,863 deletions.
7 changes: 5 additions & 2 deletions .env.defaults
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,14 @@ ALLOW_TENDERLY_RESET="false"
# Analytics
ANALYTICS_ENV=DEV
POSTHOG_API_KEY=
# Lifecycle
IS_COMING_SOON="true"
IS_BETA_CLOSED="false"
IS_PORTAL_CLOSED="false"
# Misc
XP_HOSTING_BASE_URL="" # TBD
SEASON_LENGTH_IN_WEEKS=8
CONTRACT_DEPLOYMENT_BLOCK_NUMBER=553443
SEASON_START_DATE="2023-10-26"
SKIP_REACT_STRICT_MODE="false"
IS_COMING_SOON="true"
SHOW_WAITLIST="true"
SHOW_WAITLIST="true"
15 changes: 15 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## Issues connected

Resolves

## What has been done

- Change 1

## Testing

- [ ] Test 1

## Screenshots / images / videos

Please provide assets necessary for the PR (remove if not applicable)
74 changes: 49 additions & 25 deletions .github/workflows/test-list/release-test-list.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,70 +13,94 @@ 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 can see the map after entering and the Beta has ended modal
- [ ] you see the Claim your NFT and Get Updates
- [ ] you see your address connected
- [ ] you see the name of your realm
- [ ] you can navigate to other realms but not stake in them
- [ ] you can stake more TAHO in that realm if you're not fully staked
- [ ] you can navigate to all realms but not stake in any of them
- [ ] 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 can see the map after entering and the Beta has ended modal
- [ ] you see the Claim your NFT and Get Updates
- [ ] 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)
- [ ] you can navigate to all realms but not stake in any of them

3. Connect to wallet that has NO $TAHO (& no $VETAHO)
- [ ] you see the portal is closed message and the wait list button
- [ ] wait list redirect works as expected

- [ ] you see the Portal is Open message, but no buttons to join Beta or
enter the map
- [ ] 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)
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
- [ ] reloads with that address connected if that's a connected website for
the address: if it's an eligible address, you see Access Granted &
Enter the portal
- [ ] reloads with that address connected if that's a connected website for
the address: if it's an inelligible address, you see the portal is
closed message and wait list button
the address: if it's an ineligible address, you see the Portal is Open
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
- [ ] does come up with the correct message when you click it (standard
"hang in there, Nomad...")
- [ ] does come up properly for a user connecting for the first time and
running through onboarding
- [ ] does not show up for a user connecting for the first time

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

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
- [ ] is updated appropriately if a new account stakes/unstakes

7. Challenges

7. Quests/Questline
- [ ] shows on each realm as expected
- [ ] are not shown anywhere in the dapp

8. Disconnect from dapp

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

9. Connect Wallet
- [ ] with Taho installed and default wallet
- [ ] with Taho installed and not default
- [ ] 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
- [ ] with Taho not installed and MM installed - should be directed to the Chrome store to download Taho & given a message in the dapp to do so

- [ ] 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 the connection method screen
and allows connecting
- [ ] with Taho not installed and no other - should show both options - Taho
directs to the Chrome store, MM opens the connection method screen and
directs to the Chrome store

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
17 changes: 7 additions & 10 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@
"@react-spring/web": "^9.7.3",
"@reduxjs/toolkit": "^1.9.5",
"@rocicorp/rails": "^0.8.0",
"@rocicorp/reflect": "0.38.202311200859",
"@rocicorp/reflect": "^0.38.202311200859",
"@web3-onboard/core": "^2.21.0",
"@web3-onboard/metamask": "^2.0.1",
"@web3-onboard/react": "^2.8.11",
"@web3-onboard/taho": "^2.0.5",
"@web3-onboard/trezor": "^2.4.2",
Expand All @@ -36,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 @@ -50,19 +49,21 @@
"react-markdown": "^9.0.0",
"react-redux": "^8.1.2",
"react-router-dom": "^5",
"rehype-external-links": "^3.0.0",
"stream": "^0.0.2",
"stream-browserify": "^3.0.0",
"stream-http": "^3.2.0",
"styled-jsx": "^5.1.2",
"use-image": "^1.1.1",
"util": "^0.12.5"
"util": "^0.12.5",
"zod": "^3.22.4"
},
"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",
"@playwright/test": "^1.40.0",
"@thesis-co/eslint-config": "^0.5.0",
"@thesis/prettier-config": "github:thesis/prettier-config",
Expand All @@ -72,15 +73,11 @@
"@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
58 changes: 28 additions & 30 deletions src/assets/questline-data.json → src/assets/challenges-data.json
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 @@ -13,16 +11,13 @@
{
"id": "4_2",
"name": "Increase your Gitcoin Passport score",
"description": "The more you increase your Gitcoin Passport score in a week, the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more you increase your Gitcoin Passport score in a week, the more of the weekly XP drop you will get."
}
]
},
{
"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 @@ -31,34 +26,34 @@
{
"id": "7_2",
"name": "Mint W3ST",
"description": "The more W3ST you mint, the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more W3ST you mint, the more of the weekly XP drop you will get."
},
{
"id": "7_3",
"name": "Collect post essence",
"description": "The more post essence you collect, the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more post essence you collect, the more of the weekly XP drop you will get."
}
]
},
{
"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",
"description": "The more interactions you execute with different unique contracts on Base compared to other members of this realm in a week, the more of the weekly XP drop you will get."
},
{
"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.",
"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 @@ -67,16 +62,23 @@
{
"id": "9_2",
"name": "Earn fUSDC rewards using Fluidity",
"description": "The more fUSDC rewards you earn using Fluidity in a week, the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more fUSDC rewards you earn using Fluidity in a week, the more of the weekly XP drop you will get."
}
]
},
{
"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 @@ -85,16 +87,13 @@
{
"id": "19_2",
"name": "Claim NFTs during the week using the Galxe space station",
"description": "The more NFTs you claim via a Galxe [`SpaceStation` contract](https://docs.galxe.com/developer/smart-contract/contracts/spacestation/), the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more NFTs you claim via a Galxe [`SpaceStation` contract](https://docs.galxe.com/developer/smart-contract/contracts/spacestation/), the more of the weekly XP drop you will get."
}
]
},
{
"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 All @@ -103,8 +102,7 @@
{
"id": "22_2",
"name": "Bridge tokens using FraxFerry",
"description": "The more unique tokens you bridge over FraxFerry, the more of the weekly XP drop you will get.",
"isNew": true
"description": "The more unique tokens you bridge over FraxFerry, the more of the weekly XP drop you will get."
}
]
}
Expand Down
Loading

0 comments on commit c143a95

Please sign in to comment.