diff --git a/ensawards.org/data/apps/kucoin-exchange/benchmarks/index.tsx b/ensawards.org/data/apps/kucoin-exchange/benchmarks/index.tsx new file mode 100644 index 00000000..824e6a0b --- /dev/null +++ b/ensawards.org/data/apps/kucoin-exchange/benchmarks/index.tsx @@ -0,0 +1,18 @@ +// Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md +// for additional advice on adding and modifying app benchmarks + +import KuCoinExchange from "data/apps/kucoin-exchange"; +import { defineAppBenchmarks } from "data/benchmarks/registry"; +import type { BestPracticeBenchmarks } from "data/ens-best-practices/types"; + +import depositAddresses from "./resolution/deposit-addresses"; +import ensv2ReadyResolution from "./resolution/ensv2-ready-resolution"; + +const benchmarks: BestPracticeBenchmarks = { + "ensv2-ready-resolution": ensv2ReadyResolution, + "deposit-addresses": depositAddresses, +}; + +defineAppBenchmarks(KuCoinExchange, benchmarks); + +export default benchmarks; diff --git a/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/at-1.png b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/at-1.png new file mode 100644 index 00000000..42c17bcd Binary files /dev/null and b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/at-1.png differ diff --git a/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/index.tsx b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/index.tsx new file mode 100644 index 00000000..efe1ded3 --- /dev/null +++ b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/deposit-addresses/index.tsx @@ -0,0 +1,107 @@ +// Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md +// for additional advice on adding and modifying app benchmarks + +import type { AcceptanceTestBenchmarks } from "data/benchmarks/types"; +import { BenchmarkResults } from "data/benchmarks/types"; +import contributors from "data/contributors"; +import { + buildEnsNotSupportedNote, + buildNotApplicableForFailedTest, +} from "data/ens-best-practices/resolution/deposit-addresses/notes"; + +import { parseTimestamp } from "@ensnode/ensnode-sdk"; + +import at1Proof from "./at-1.png"; + +const method = 'the "withdraw" flow'; + +const depositAddresses = { + "at01-resolve-onchain-name": { + result: BenchmarkResults.Fail, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildEnsNotSupportedNote({ + method, + proof: { + image: at1Proof, + alt: "KuCoin doesn't accept ENS names as withdrawal addresses", + }, + }), + }, + "at02-resolve-name-needing-normalization": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at03-resolve-offchain-eth-subname": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at04-resolve-offchain-dns-name": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at05-resolve-name-on-other-evm-chain": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at06-resolve-bitcoin-address": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at07-resolve-solana-address": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, + "at08-handle-invalid-address-format": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:36:36Z"), + }, + ], + notes: buildNotApplicableForFailedTest({ testNumber: 1 }), + }, +} as const satisfies AcceptanceTestBenchmarks; + +export default depositAddresses; diff --git a/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/at-1.png b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/at-1.png new file mode 100644 index 00000000..fb6e13d7 Binary files /dev/null and b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/at-1.png differ diff --git a/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/index.tsx b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/index.tsx new file mode 100644 index 00000000..9049e8ef --- /dev/null +++ b/ensawards.org/data/apps/kucoin-exchange/benchmarks/resolution/ensv2-ready-resolution/index.tsx @@ -0,0 +1,47 @@ +// 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 type { AcceptanceTestBenchmarks } from "data/benchmarks/types"; +import { BenchmarkResults } from "data/benchmarks/types"; +import contributors from "data/contributors"; +import { acceptanceTestDetailsContainerStyles } from "data/ens-best-practices/styles"; + +import { parseTimestamp } from "@ensnode/ensnode-sdk"; + +import { cn } from "@/utils/tailwindClassConcatenation"; + +import ensv2ProofImage from "./at-1.png"; + +const ensv2ReadyResolution = { + "correctly-resolve-ensv2-test-name-address": { + result: BenchmarkResults.NotApplicable, + contributions: [ + { + from: contributors.notrab, + lastUpdated: parseTimestamp("2026-07-02T07:38:16Z"), + }, + ], + notes: ( +
+ ENSv2 ready resolution was tested using the "withdraw" flow. The app doesn't
+ support the use of ENS names at all as the recipient identifier.
+
+
+ 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.
+