-
Notifications
You must be signed in to change notification settings - Fork 5
feat: Add new apps tranche3 #232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 2 commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
2d96658
Add Taho and Exodus (+ add socials.ens to coinbase exchange)
Y3drk e5320fb
Add Pendle
Y3drk c430104
Resolving conflicts with main
Y3drk 1bb1329
Reorganiza and add new benchmarks for Exodus wallet, Taho wallet & Pe…
Y3drk d5b4c53
Add hyperliquid
Y3drk 90b6883
Add polymarket
Y3drk 6a03292
Apply AI agents' suggestions, pt.1
Y3drk c525a71
Apply AI agents' suggestions, pt.2
Y3drk File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file added
BIN
+151 KB
...ps/exodus-wallet/benchmarks/correctly-resolve-ensv2-test-name-address-proof.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
60 changes: 60 additions & 0 deletions
60
ensawards.org/data/apps/exodus-wallet/benchmarks/index.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import type { AcceptanceTestBenchmark } from "data/acceptance-tests/types"; | ||
| import ExodusWallet from "data/apps/exodus-wallet"; | ||
| import { defineAppBenchmarks } from "data/benchmarks/registry"; | ||
| import { BenchmarkResults } from "data/benchmarks/types"; | ||
| import contributors from "data/contributors"; | ||
| import { acceptanceTestDetailsContainerStyles } from "data/ens-best-practices/styles"; | ||
| import type { BestPracticeBenchmarks } from "data/ens-best-practices/types"; | ||
|
|
||
| import { parseTimestamp } from "@ensnode/ensnode-sdk"; | ||
|
|
||
| import { cn } from "@/utils/tailwindClassConcatenation"; | ||
|
|
||
| import correctlyResolveEnsv2TestNameAddressProofImage from "./correctly-resolve-ensv2-test-name-address-proof.png"; | ||
|
|
||
| const benchmarks: BestPracticeBenchmarks = { | ||
| // TODO: `Contract Naming` category is temporarily hidden due to unfit content, | ||
| // and so are all benchmarks belonging to it. | ||
| // We aim to fix it as soon as we have the capacity. | ||
| // See: https://github.com/namehash/ensawards/issues/222 | ||
| "display-named-smart-contracts-mainnet": { | ||
| "mainnet-interactions-display-named-smart-contracts": undefined, | ||
| }, | ||
| "display-named-smart-contracts-l2-chains": { | ||
| "l2-chain-interactions-display-named-smart-contracts": undefined, | ||
| }, | ||
| "ensv2-ready-resolution": { | ||
| "correctly-resolve-ensv2-test-name-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.caldonia, lastUpdated: parseTimestamp("2026-06-17T03:14:00Z") }, | ||
| ], | ||
| notes: ( | ||
| <div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}> | ||
| <p className="w-full"> | ||
| ENSv2 ready resolution was tested using the "send" flow. The wallet doesn't | ||
| support the use of ENS names at all as the recipient identifier. | ||
| <br /> | ||
| <br /> | ||
| While that's a key issue that this app is encouraged to improve, this best practice is | ||
| applicable specifically to apps that already have an existing ENS integration and making | ||
| sure existing integrations are ENSv2 compatible. Therefore, for this best practice we | ||
| apply a rating of not applicable. | ||
| </p> | ||
| <img | ||
| alt="Exodus doesn't allow ENS name as recipient in the send flow" | ||
| src={correctlyResolveEnsv2TestNameAddressProofImage.src} | ||
| className="w-auto h-full max-h-[325px] rounded-xl" | ||
| /> | ||
| </div> | ||
| ), | ||
| } as const satisfies AcceptanceTestBenchmark, | ||
| }, | ||
| }; | ||
|
|
||
| defineAppBenchmarks(ExodusWallet, benchmarks); | ||
|
|
||
| export default benchmarks; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,102 @@ | ||
| import React from "react"; | ||
|
|
||
| import { cn } from "@/utils/tailwindClassConcatenation"; | ||
|
|
||
| const Icon = ({ className, ...props }: React.SVGProps<SVGSVGElement>) => { | ||
| const reactId = React.useId(); | ||
| const id = (name: string) => `${reactId}-${name}`; | ||
| const url = (name: string) => `url(#${id(name)})`; | ||
|
|
||
| return ( | ||
| <svg | ||
| width="300" | ||
| height="300" | ||
| viewBox="0 0 300 300" | ||
| fill="none" | ||
| xmlns="http://www.w3.org/2000/svg" | ||
| className={cn("p-1", className)} | ||
| {...props} | ||
| > | ||
| <path | ||
| d="M298.203 83.7645L170.449 0V46.8332L252.405 100.089L242.763 130.598H170.449V169.402H242.763L252.405 199.911L170.449 253.167V300L298.203 216.503L277.313 150.134L298.203 83.7645Z" | ||
| fill={url("paint0_linear")} | ||
| /> | ||
| <path | ||
| d="M59.3007 169.402H131.346V130.598H59.0329L49.6589 100.089L131.346 46.8332V0L3.59253 83.7645L24.4831 150.134L3.59253 216.503L131.614 300V253.167L49.6589 199.911L59.3007 169.402Z" | ||
| fill={url("paint1_linear")} | ||
| /> | ||
| <mask id={id("mask0")} maskUnits="userSpaceOnUse" x="3" y="0" width="296" height="300"> | ||
| <path | ||
| d="M298.204 83.7645L170.45 0V46.8332L252.405 100.089L242.763 130.598H170.45V169.402H242.763L252.405 199.911L170.45 253.167V300L298.204 216.503L277.313 150.134L298.204 83.7645Z" | ||
| fill={url("paint2_linear")} | ||
| /> | ||
| <path | ||
| d="M59.301 169.402H131.347V130.598H59.0332L49.6592 100.089L131.347 46.8332V0L3.59277 83.7645L24.4834 150.134L3.59277 216.503L131.615 300V253.167L49.6592 199.911L59.301 169.402Z" | ||
| fill={url("paint3_linear")} | ||
| /> | ||
| </mask> | ||
| <g mask={url("mask0")}> | ||
| <rect x="3.75024" width="292.5" height="300" fill={url("paint4_linear")} /> | ||
| </g> | ||
| <defs> | ||
| <linearGradient | ||
| id={id("paint0_linear")} | ||
| x1="256.875" | ||
| y1="320.625" | ||
| x2="171.3" | ||
| y2="-32.9459" | ||
| gradientUnits="userSpaceOnUse" | ||
| > | ||
| <stop stop-color="#0B46F9" /> | ||
| <stop offset="1" stop-color="#BBFBE0" /> | ||
| </linearGradient> | ||
| <linearGradient | ||
| id={id("paint1_linear")} | ||
| x1="256.875" | ||
| y1="320.625" | ||
| x2="171.3" | ||
| y2="-32.9459" | ||
| gradientUnits="userSpaceOnUse" | ||
| > | ||
| <stop stop-color="#0B46F9" /> | ||
| <stop offset="1" stop-color="#BBFBE0" /> | ||
| </linearGradient> | ||
|
Y3drk marked this conversation as resolved.
Outdated
|
||
| <linearGradient | ||
| id={id("paint2_linear")} | ||
| x1="256.875" | ||
| y1="320.625" | ||
| x2="171.3" | ||
| y2="-32.9459" | ||
| gradientUnits="userSpaceOnUse" | ||
| > | ||
| <stop stop-color="#0B46F9" /> | ||
| <stop offset="1" stop-color="#BBFBE0" /> | ||
| </linearGradient> | ||
| <linearGradient | ||
| id={id("paint3_linear")} | ||
| x1="256.875" | ||
| y1="320.625" | ||
| x2="171.3" | ||
| y2="-32.9459" | ||
| gradientUnits="userSpaceOnUse" | ||
| > | ||
| <stop stop-color="#0B46F9" /> | ||
| <stop offset="1" stop-color="#BBFBE0" /> | ||
| </linearGradient> | ||
|
Y3drk marked this conversation as resolved.
Outdated
|
||
| <linearGradient | ||
| id={id("paint4_linear")} | ||
| x1="22.5002" | ||
| y1="67.5" | ||
| x2="170.625" | ||
| y2="178.125" | ||
| gradientUnits="userSpaceOnUse" | ||
| > | ||
| <stop offset="0.119792" stop-color="#8952FF" stop-opacity="0.87" /> | ||
| <stop offset="1" stop-color="#DABDFF" stop-opacity="0" /> | ||
|
Y3drk marked this conversation as resolved.
Outdated
|
||
| </linearGradient> | ||
| </defs> | ||
| </svg> | ||
| ); | ||
| }; | ||
|
|
||
| export default Icon; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying apps | ||
|
|
||
| import ExodusProject from "data/projects/exodus/index.ts"; | ||
|
|
||
| import { defineApp } from "../registry.ts"; | ||
| import { type App, AppTypes } from "../types.ts"; | ||
| import ExodusWalletIcon from "./icon.tsx"; | ||
|
|
||
| const ExodusWallet: App = { | ||
| id: "exodus-wallet", | ||
| appSlug: "exodus-wallet", | ||
| type: AppTypes.Wallet, | ||
| project: ExodusProject, | ||
| name: "Exodus", | ||
| description: | ||
| "A self-custodial crypto wallet for desktop, mobile, and web3 to send, manage, swap, and stake digital assets, with hardware wallet support and a debit card for spending worldwide.", | ||
| socials: { | ||
| website: new URL("https://www.exodus.com/"), | ||
| twitter: new URL("https://x.com/exodus"), | ||
| }, | ||
| icon: ExodusWalletIcon, | ||
| // TODO: Add OG images | ||
| }; | ||
|
Y3drk marked this conversation as resolved.
|
||
|
|
||
| defineApp(ExodusWallet); | ||
|
|
||
| export default ExodusWallet; | ||
Binary file added
BIN
+46.7 KB
...endle-defi/benchmarks/correctly-resolve-ensv2-test-name-address-proof-boros.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added
BIN
+54.1 KB
...s/pendle-defi/benchmarks/correctly-resolve-ensv2-test-name-address-proof-v2.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,99 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import type { AcceptanceTestBenchmark } from "data/acceptance-tests/types"; | ||
| import BinanceExchange from "data/apps/binance-exchange"; | ||
|
github-code-quality[bot] marked this conversation as resolved.
Fixed
|
||
| import PendleDeFi from "data/apps/pendle-defi"; | ||
| import { defineAppBenchmarks } from "data/benchmarks/registry"; | ||
| import { BenchmarkResults } from "data/benchmarks/types"; | ||
| import contributors from "data/contributors"; | ||
| import { | ||
| acceptanceTestDetailsContainerStyles, | ||
| bestPracticeTechnicalDetailsLinkStyles, | ||
| } from "data/ens-best-practices/styles"; | ||
| import type { BestPracticeBenchmarks } from "data/ens-best-practices/types"; | ||
|
|
||
| import { parseTimestamp } from "@ensnode/ensnode-sdk"; | ||
|
|
||
| import { cn } from "@/utils/tailwindClassConcatenation"; | ||
|
|
||
| import correctlyResolveEnsv2TestNameAddressProofImageBoros from "./correctly-resolve-ensv2-test-name-address-proof-boros.gif"; | ||
| import correctlyResolveEnsv2TestNameAddressProofImageV2App from "./correctly-resolve-ensv2-test-name-address-proof-v2.gif"; | ||
|
|
||
| const benchmarks: BestPracticeBenchmarks = { | ||
| // TODO: `Contract Naming` category is temporarily hidden due to unfit content, | ||
| // and so are all benchmarks belonging to it. | ||
| // We aim to fix it as soon as we have the capacity. | ||
| // See: https://github.com/namehash/ensawards/issues/222 | ||
| "display-named-smart-contracts-mainnet": { | ||
| "mainnet-interactions-display-named-smart-contracts": undefined, | ||
| }, | ||
| "display-named-smart-contracts-l2-chains": { | ||
| "l2-chain-interactions-display-named-smart-contracts": undefined, | ||
| }, | ||
| "ensv2-ready-resolution": { | ||
| "correctly-resolve-ensv2-test-name-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-18T13:40:40Z") }, | ||
| ], | ||
| notes: ( | ||
| <div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}> | ||
| <p className="w-full"> | ||
| ENSv2 ready resolution was tested using the search tool in the "send" flow of | ||
| the Pendle's{" "} | ||
| <a | ||
| className={bestPracticeTechnicalDetailsLinkStyles} | ||
| target="_blank" | ||
| rel="noopener noreferrer" | ||
| href="https://boros.pendle.finance/" | ||
| > | ||
| Boros | ||
| </a>{" "} | ||
| app. The app doesn't support the use of ENS names at all as the recipient identifier. | ||
| <br /> | ||
| <br /> | ||
| While that's a key issue that this app is encouraged to improve, this best practice is | ||
| applicable specifically to apps that already have an existing ENS integration and making | ||
| sure existing integrations are ENSv2 compatible. Therefore, for this best practice we | ||
| apply a rating of not applicable. | ||
| </p> | ||
| <img | ||
| alt="Pendle Boros DeFi app doesn't allow ENS name as recipient in the send flow" | ||
| src={correctlyResolveEnsv2TestNameAddressProofImageBoros.src} | ||
| className="w-auto h-full max-h-[325px] rounded-xl" | ||
| /> | ||
| <span className="w-full h-px bg-gray-200 my-5" /> | ||
| <p className="w-full"> | ||
| The ENSv2 ready resolution was also tested using the "dashboard" tool of the | ||
| Pendle's{" "} | ||
| <a | ||
| className={bestPracticeTechnicalDetailsLinkStyles} | ||
| target="_blank" | ||
| rel="noopener noreferrer" | ||
| href="https://app.pendle.finance/" | ||
| > | ||
| V2 | ||
| </a>{" "} | ||
| app. The app doesn't support the use of ENS names at all as the user identifier. | ||
| <br /> | ||
| <br /> | ||
| While that's a key issue that this app is encouraged to improve, this best practice is | ||
| applicable specifically to apps that already have an existing ENS integration and making | ||
| sure existing integrations are ENSv2 compatible. Therefore, for this best practice we | ||
| apply a rating of not applicable. | ||
| </p> | ||
| <img | ||
| alt="Pendle V2 DeFi app doesn't allow ENS name as user in the dashboard tool" | ||
| src={correctlyResolveEnsv2TestNameAddressProofImageV2App.src} | ||
| className="w-auto h-full max-h-[325px] rounded-xl" | ||
| /> | ||
| </div> | ||
| ), | ||
| } as const satisfies AcceptanceTestBenchmark, | ||
| }, | ||
| }; | ||
|
|
||
| defineAppBenchmarks(PendleDeFi, benchmarks); | ||
|
|
||
| export default benchmarks; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| import React from "react"; | ||
|
|
||
| const Icon = (props: React.SVGProps<SVGSVGElement>) => ( | ||
| <svg | ||
| width="60" | ||
| height="61" | ||
| viewBox="0 0 60 61" | ||
| fill="none" | ||
| xmlns="http://www.w3.org/2000/svg" | ||
| {...props} | ||
| > | ||
| <circle cx="30.0002" cy="26.2983" r="16.8095" fill="#DEDEDE" /> | ||
| <circle cx="22.4379" cy="42.2636" r="9.24751" fill="#1E4480" /> | ||
| <path | ||
| d="M23.4827 33.0757C28.0978 33.5947 31.6856 37.5094 31.6858 42.2632C31.6858 42.5204 31.6712 42.7749 31.6506 43.0269C31.1076 43.0798 30.5571 43.1079 30.0002 43.1079C24.1645 43.1079 19.0239 40.1335 16.01 35.6187C17.4451 34.2306 19.3277 33.3018 21.4211 33.0728V11.8403C22.0806 11.4482 22.769 11.0998 23.4827 10.7993V33.0757Z" | ||
| fill="#152E51" | ||
| /> | ||
| </svg> | ||
| ); | ||
|
|
||
| export default Icon; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,28 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying apps | ||
|
|
||
| import PendleProject from "data/projects/pendle/index.ts"; | ||
|
|
||
| import { defineApp } from "../registry.ts"; | ||
| import { type App, AppTypes } from "../types.ts"; | ||
| import PendleIcon from "./icon.tsx"; | ||
|
|
||
| const PendleDeFi: App = { | ||
| id: "pendle-defi", | ||
| appSlug: "pendle-defi", | ||
| type: AppTypes.DeFi, | ||
| project: PendleProject, | ||
| name: "Pendle", | ||
| description: | ||
| "A crypto yield trading app spanning two products: Boros, for margin trading yield with leverage, and Pendle V2, for trading spot yield and earning fixed yield.", | ||
| socials: { | ||
| website: new URL("https://www.pendle.finance/"), | ||
| twitter: new URL("https://x.com/pendle_fi"), | ||
| }, | ||
| icon: PendleIcon, | ||
| // TODO: Add OG images | ||
| }; | ||
|
Y3drk marked this conversation as resolved.
|
||
|
|
||
| defineApp(PendleDeFi); | ||
|
|
||
| export default PendleDeFi; | ||
Binary file added
BIN
+23.7 KB
...apps/taho-wallet/benchmarks/correctly-resolve-ensv2-test-name-address-proof.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.