Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions ensawards.org/data/apps/binance-exchange/benchmarks/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
// 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";
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 correctlyResolveEnsv2TestNameAddressProofImageCopyTrading from "./correctly-resolve-ensv2-test-name-address-proof-copy-trading.gif";
import correctlyResolveEnsv2TestNameAddressProofImageWithdrawal from "./correctly-resolve-ensv2-test-name-address-proof-withdrawal.png";

const benchmarks: BestPracticeBenchmarks = {
"ensv2-ready-resolution": {
"correctly-resolve-ensv2-test-name-address": {
result: BenchmarkResults.Fail,
contributions: [
{ from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-11T07:30:06Z") },
],
notes: (
<div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}>
<p className="w-full">
ENSv2 ready resolution was tested using the search tool in the &quot;copy-trading&quot;
flow. The app either doesn't allow using ENS name as the recipient identifier or fails
to resolve it, both of which we interpret as a failure.
Comment thread
Y3drk marked this conversation as resolved.
Outdated
</p>
<img
alt="Binance exchange doesn't allow ENS name as recipient in the copy-trading flow"
src={correctlyResolveEnsv2TestNameAddressProofImageCopyTrading.src}
className="w-auto h-full max-h-[325px] rounded-xl"
Comment thread
Y3drk marked this conversation as resolved.
Outdated
/>
<p className="w-full">
The ENSv2 ready resolution was also tested using the &quot;withdrawal&quot; flow. The
app doesn't allow using ENS name as the recipient identifier, which we interpret as a
failure.
</p>
<img
alt="Binance exchange doesn't allow ENS name as recipient in the withdrawal flow"
src={correctlyResolveEnsv2TestNameAddressProofImageWithdrawal.src}
className="w-auto h-full max-h-[325px] rounded-xl"
/>
</div>
),
} as const satisfies AcceptanceTestBenchmark,
},
};

defineAppBenchmarks(BinanceExchange, benchmarks);

export default benchmarks;
27 changes: 27 additions & 0 deletions ensawards.org/data/apps/binance-exchange/icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import React from "react";

import { cn } from "@/utils/tailwindClassConcatenation";

const Icon = ({ className, ...props }: React.SVGProps<SVGSVGElement>) => (
<svg
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
viewBox="0 0 50 50"
xmlSpace="preserve"
{...props}
className={cn("p-1 fill-[#F0B90B]", className)}
>
<g>
<path
d="M11.3,25l-5.6,5.6L0,25l5.7-5.7L11.3,25z M25,11.3l9.7,9.7l5.7-5.7L25,0L9.7,15.3l5.7,5.7L25,11.3z M44.3,19.3
L38.7,25l5.7,5.7L50,25L44.3,19.3z M25,38.7L15.3,29l-5.7,5.7L25,50l15.3-15.3L34.7,29L25,38.7z M25,30.6l5.7-5.7L25,19.3L19.3,25
L25,30.6L25,30.6z"
></path>
</g>
</svg>
);

export default Icon;
28 changes: 28 additions & 0 deletions ensawards.org/data/apps/binance-exchange/index.ts
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 BinanceProject from "data/projects/binance";

import { defineApp } from "../registry.ts";
import { type App, AppTypes } from "../types.ts";
import BinanceIcon from "./icon.tsx";

const BinanceExchange: App = {
id: "binance-exchange",
appSlug: "binance-exchange",
type: AppTypes.Exchange,
project: BinanceProject,
name: "Binance",
description:
"Cryptocurrency exchange for buying, selling, and trading a wide range of digital assets.",
socials: {
website: new URL("https://www.binance.com"),
twitter: new URL("https://x.com/binance"),
},
icon: BinanceIcon,
// TODO: Add OG images
};

defineApp(BinanceExchange);

export default BinanceExchange;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 54 additions & 0 deletions ensawards.org/data/apps/binance-wallet/benchmarks/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// 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 BinanceWallet from "data/apps/binance-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.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.Fail,
contributions: [
{ from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-11T07:33:06Z") },
],
notes: (
<div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}>
<p className="w-full">
ENSv2 ready resolution was tested using the &quot;send&quot; flow. The wallet doesn't
allow using ENS name as the recipient identifier, which we interpret as a failure.
</p>
<img
alt="Binance Wallet 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(BinanceWallet, benchmarks);

export default benchmarks;
28 changes: 28 additions & 0 deletions ensawards.org/data/apps/binance-wallet/icon.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import React from "react";

import { cn } from "@/utils/tailwindClassConcatenation";

const Icon = ({ className, ...props }: React.SVGProps<SVGSVGElement>) => (
<svg
version="1.1"
xmlns="http://www.w3.org/2000/svg"
xmlnsXlink="http://www.w3.org/1999/xlink"
x="0px"
y="0px"
viewBox="0 0 50 50"
xmlSpace="preserve"
{...props}
className={cn("p-1 fill-[#F0B90B]", className)}
>
<g>
<path
className="st0"
d="M11.3,25l-5.6,5.6L0,25l5.7-5.7L11.3,25z M25,11.3l9.7,9.7l5.7-5.7L25,0L9.7,15.3l5.7,5.7L25,11.3z M44.3,19.3
Comment thread
Y3drk marked this conversation as resolved.
L38.7,25l5.7,5.7L50,25L44.3,19.3z M25,38.7L15.3,29l-5.7,5.7L25,50l15.3-15.3L34.7,29L25,38.7z M25,30.6l5.7-5.7L25,19.3L19.3,25
L25,30.6L25,30.6z"
></path>
</g>
</svg>
);

export default Icon;
28 changes: 28 additions & 0 deletions ensawards.org/data/apps/binance-wallet/index.ts
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 BinanceProject from "data/projects/binance";

import { defineApp } from "../registry.ts";
import { type App, AppTypes } from "../types.ts";
import BinanceIcon from "./icon.tsx";

const BinanceWallet: App = {
id: "binance-wallet",
appSlug: "binance-wallet",
type: AppTypes.Wallet,
project: BinanceProject,
name: "Binance Wallet",
description:
"Self-custodial Web3 wallet for managing digital assets and interacting with decentralized applications across multiple chains.",
socials: {
website: new URL("https://web3.binance.com/"),
twitter: new URL("https://x.com/binance"),
},
icon: BinanceIcon,
// TODO: Add OG images
};

defineApp(BinanceWallet);

export default BinanceWallet;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
44 changes: 44 additions & 0 deletions ensawards.org/data/apps/cryptocom-exchange/benchmarks/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// 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 CryptoComExchange from "data/apps/cryptocom-exchange";
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.gif";

const benchmarks: BestPracticeBenchmarks = {
"ensv2-ready-resolution": {
"correctly-resolve-ensv2-test-name-address": {
result: BenchmarkResults.Fail,
contributions: [
{ from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-11T13:47:40Z") },
],
notes: (
<div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}>
<p className="w-full">
ENSv2 ready resolution was tested using the &quot;withdrawal&quot; flow. The app doesn't
allow using ENS name as the recipient identifier, which we interpret as a failure.
</p>
<img
alt="Crypto.com exchange doesn't allow ENS name as recipient in the withdrawal flow"
src={correctlyResolveEnsv2TestNameAddressProofImage.src}
className="w-auto h-full max-h-[325px] rounded-xl"
/>
</div>
),
} as const satisfies AcceptanceTestBenchmark,
},
};

defineAppBenchmarks(CryptoComExchange, benchmarks);

export default benchmarks;
22 changes: 22 additions & 0 deletions ensawards.org/data/apps/cryptocom-exchange/icon.tsx

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions ensawards.org/data/apps/cryptocom-exchange/index.ts
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 CryptoComProject from "data/projects/cryptocom";

import { defineApp } from "../registry.ts";
import { type App, AppTypes } from "../types.ts";
import CryptoComIcon from "./icon.tsx";

const CryptoComExchange: App = {
id: "cryptocom-exchange",
appSlug: "cryptocom-exchange",
type: AppTypes.Exchange,
project: CryptoComProject,
name: "Crypto.com",
description:
"Cryptocurrency exchange for buying, selling, and trading a wide range of digital assets.",
socials: {
website: new URL("https://crypto.com"),
twitter: new URL("https://x.com/cryptocom"),
},
icon: CryptoComIcon,
// TODO: Add OG images
};

defineApp(CryptoComExchange);

export default CryptoComExchange;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
54 changes: 54 additions & 0 deletions ensawards.org/data/apps/cryptocom-wallet/benchmarks/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
// 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 CryptoComWallet from "data/apps/cryptocom-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.Fail,
contributions: [
{ from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-11T12:07:27Z") },
],
notes: (
<div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}>
<p className="w-full">
ENSv2 ready resolution was tested using the &quot;send&quot; flow. The resolved address
is <i>NOT</i> correct.
</p>
<img
alt="Crypto.com Wallet fails to resolve the name for ENSv2"
src={correctlyResolveEnsv2TestNameAddressProofImage.src}
className="w-auto h-full max-h-[325px] rounded-xl"
/>
</div>
),
} as const satisfies AcceptanceTestBenchmark,
},
};

defineAppBenchmarks(CryptoComWallet, benchmarks);

export default benchmarks;
22 changes: 22 additions & 0 deletions ensawards.org/data/apps/cryptocom-wallet/icon.tsx

Large diffs are not rendered by default.

28 changes: 28 additions & 0 deletions ensawards.org/data/apps/cryptocom-wallet/index.ts
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 CryptoComProject from "data/projects/cryptocom";

import { defineApp } from "../registry.ts";
import { type App, AppTypes } from "../types.ts";
import CryptoComIcon from "./icon.tsx";

const CryptoComWallet: App = {
id: "cryptocom-wallet",
appSlug: "cryptocom-wallet",
type: AppTypes.Wallet,
project: CryptoComProject,
name: "Crypto.com Wallet",
description:
"Self-custodial multi-chain wallet for storing, trading, and staking digital assets and interacting with decentralized applications across networks like Ethereum, Bitcoin, and Solana.",
socials: {
website: new URL("https://crypto.com/eea/onchain"),
twitter: new URL("https://x.com/cryptocom"),
},
icon: CryptoComIcon,
// TODO: Add OG images
};

defineApp(CryptoComWallet);

export default CryptoComWallet;
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading