-
Notifications
You must be signed in to change notification settings - Fork 5
feat: Add new apps - tranche 4 - exchanges batch 2 #251
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 all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
5fb37b9
Add Toobit exchange
Y3drk db9eb7c
Add MEXC exchange
Y3drk de28bec
Add LBank exchange
Y3drk b42bf5d
Add BitMart exchange
Y3drk d6f48f3
Add CoinW exchange
Y3drk 898cd8d
Add WEEX exchange + minor fixes in CoinW
Y3drk 0d7a24f
Resolved conflicts with main
Y3drk c164390
Apply AI agents' suggestions, pt.1
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
18 changes: 18 additions & 0 deletions
18
ensawards.org/data/apps/bitmart-exchange/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,18 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import BitMartExchange from "data/apps/bitmart-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(BitMartExchange, benchmarks); | ||
|
|
||
| export default benchmarks; |
Binary file added
BIN
+43.4 KB
...org/data/apps/bitmart-exchange/benchmarks/resolution/deposit-addresses/at-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions
80
ensawards.org/data/apps/bitmart-exchange/benchmarks/resolution/deposit-addresses/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,80 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import { type AcceptanceTestBenchmarks, 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 depositAddresses = { | ||
| "at01-resolve-onchain-name": { | ||
| result: BenchmarkResults.Fail, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildEnsNotSupportedNote({ | ||
| method: 'the "withdraw" flow', | ||
| proof: { | ||
| image: at1Proof, | ||
| alt: "BitMart Exchange doesn't allow ENS names as the recipient in the withdraw flow", | ||
| }, | ||
| }), | ||
| }, | ||
| "at02-resolve-name-needing-normalization": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at03-resolve-offchain-eth-subname": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at04-resolve-offchain-dns-name": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at05-resolve-name-on-other-evm-chain": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at06-resolve-bitcoin-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at07-resolve-solana-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at08-handle-invalid-address-format": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:03:27Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| } as const satisfies AcceptanceTestBenchmarks; | ||
|
|
||
| export default depositAddresses; |
Binary file added
BIN
+44.7 KB
...ata/apps/bitmart-exchange/benchmarks/resolution/ensv2-ready-resolution/at-1.png
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
44
...rds.org/data/apps/bitmart-exchange/benchmarks/resolution/ensv2-ready-resolution/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,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 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 at1ProofImage from "./at-1.png"; | ||
|
|
||
| const ensv2ReadyResolution = { | ||
| "correctly-resolve-ensv2-test-name-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-06-30T14:01:09Z") }, | ||
| ], | ||
| notes: ( | ||
| <div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}> | ||
| <p className="w-full"> | ||
| 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. | ||
| <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="BitMart exchange doesn't allow ENS name as recipient in the withdrawal flow" | ||
| src={at1ProofImage.src} | ||
| className="w-auto h-full max-h-[325px] rounded-xl" | ||
| /> | ||
| </div> | ||
| ), | ||
| } as const satisfies AcceptanceTestBenchmark, | ||
| } as const satisfies AcceptanceTestBenchmarks; | ||
|
|
||
| export default ensv2ReadyResolution; | ||
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,19 @@ | ||
| import React from "react"; | ||
|
|
||
| import { cn } from "@/utils/tailwindClassConcatenation"; | ||
|
|
||
| import icon from "./icon.png"; | ||
|
|
||
| const Icon = ({ className, ...props }: React.SVGProps<SVGSVGElement>) => ( | ||
| <svg | ||
| xmlns="http://www.w3.org/2000/svg" | ||
| viewBox="0 0 24 24" | ||
| fill="none" | ||
| className={cn("rounded-md py-0.5 bg-white", className)} | ||
| {...props} | ||
| > | ||
| <image href={icon.src} width="24" height="24" /> | ||
| </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 BitMartProject from "data/projects/bitmart"; | ||
|
|
||
| import { defineApp } from "../registry.ts"; | ||
| import { type App, AppTypes } from "../types.ts"; | ||
| import BitMartIcon from "./icon.tsx"; | ||
|
|
||
| const BitMartExchange: App = { | ||
| id: "bitmart-exchange", | ||
| appSlug: "bitmart-exchange", | ||
| type: AppTypes.Exchange, | ||
| project: BitMartProject, | ||
| name: "BitMart", | ||
| description: | ||
| "Cryptocurrency exchange for spot and futures trading across a broad token catalog, with savings and staking options for earning on idle assets.", | ||
| socials: { | ||
| website: new URL("https://www.bitmart.com"), | ||
| twitter: new URL("https://x.com/BitMartExchange"), | ||
| }, | ||
| icon: BitMartIcon, | ||
| // TODO: Add OG images | ||
| }; | ||
|
|
||
| defineApp(BitMartExchange); | ||
|
|
||
| export default BitMartExchange; |
18 changes: 18 additions & 0 deletions
18
ensawards.org/data/apps/coinw-exchange/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,18 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import CoinWExchange from "data/apps/coinw-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(CoinWExchange, benchmarks); | ||
|
|
||
| export default benchmarks; |
Binary file added
BIN
+35.5 KB
...s.org/data/apps/coinw-exchange/benchmarks/resolution/deposit-addresses/at-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
80 changes: 80 additions & 0 deletions
80
ensawards.org/data/apps/coinw-exchange/benchmarks/resolution/deposit-addresses/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,80 @@ | ||
| // Read https://github.com/namehash/ensawards/blob/main/CONTRIBUTING.md | ||
| // for additional advice on adding and modifying app benchmarks | ||
|
|
||
| import { type AcceptanceTestBenchmarks, 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 depositAddresses = { | ||
| "at01-resolve-onchain-name": { | ||
| result: BenchmarkResults.Fail, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildEnsNotSupportedNote({ | ||
| method: 'the "Add address" feature', | ||
| proof: { | ||
| image: at1Proof, | ||
| alt: "CoinW Exchange doesn't allow ENS names as the recipient identifier in the Add address feature", | ||
| }, | ||
| }), | ||
| }, | ||
| "at02-resolve-name-needing-normalization": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at03-resolve-offchain-eth-subname": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at04-resolve-offchain-dns-name": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at05-resolve-name-on-other-evm-chain": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at06-resolve-bitcoin-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at07-resolve-solana-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| "at08-handle-invalid-address-format": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T08:01:28Z") }, | ||
| ], | ||
| notes: buildNotApplicableForFailedTest({ testNumber: 1 }), | ||
| }, | ||
| } as const satisfies AcceptanceTestBenchmarks; | ||
|
|
||
| export default depositAddresses; |
Binary file added
BIN
+39.2 KB
.../data/apps/coinw-exchange/benchmarks/resolution/ensv2-ready-resolution/at-1.png
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
44
...wards.org/data/apps/coinw-exchange/benchmarks/resolution/ensv2-ready-resolution/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,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 type { AcceptanceTestBenchmarks } from "data/benchmarks/types"; | ||
| import { BenchmarkResults } from "data/benchmarks/types"; | ||
|
Y3drk marked this conversation as resolved.
|
||
| 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 at1ProofImage from "./at-1.png"; | ||
|
|
||
| const ensv2ReadyResolution = { | ||
| "correctly-resolve-ensv2-test-name-address": { | ||
| result: BenchmarkResults.NotApplicable, | ||
| contributions: [ | ||
| { from: contributors.y3drk, lastUpdated: parseTimestamp("2026-07-01T07:58:39Z") }, | ||
| ], | ||
| notes: ( | ||
| <div className={cn(acceptanceTestDetailsContainerStyles, "w-full")}> | ||
| <p className="w-full"> | ||
| ENSv2 ready resolution was tested using the "Add address" feature. 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="CoinW exchange doesn't allow ENS name as recipient in the Add address feature" | ||
| src={at1ProofImage.src} | ||
| className="w-auto h-full max-h-[325px] rounded-xl" | ||
| /> | ||
| </div> | ||
| ), | ||
| } as const satisfies AcceptanceTestBenchmark, | ||
| } as const satisfies AcceptanceTestBenchmarks; | ||
|
|
||
| export default ensv2ReadyResolution; | ||
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,24 @@ | ||
| import React from "react"; | ||
|
|
||
| import { cn } from "@/utils/tailwindClassConcatenation"; | ||
|
|
||
| const Icon = ({ className, ...props }: React.SVGProps<SVGSVGElement>) => ( | ||
| <svg | ||
| width="38" | ||
| height="38" | ||
| viewBox="-3.21 0 38 38" | ||
| fill="none" | ||
| xmlns="http://www.w3.org/2000/svg" | ||
| className={cn("p-1", className)} | ||
| {...props} | ||
| > | ||
| <path | ||
| fillRule="evenodd" | ||
| clipRule="evenodd" | ||
| d="M29.8702 1.98267H12.7348V12.9202H29.8702V1.98267ZM12.7348 22.5873L12.7348 12.9202L1.70215 12.9202L1.70217 22.5873C1.70218 30.0007 7.68443 36.0104 15.0639 36.0104H29.8702V24.9271H15.0639C13.7776 24.9271 12.7348 23.8795 12.7348 22.5873Z" | ||
| fill="#5227FF" | ||
| ></path> | ||
| </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 CoinWProject from "data/projects/coinw"; | ||
|
|
||
| import { defineApp } from "../registry.ts"; | ||
| import { type App, AppTypes } from "../types.ts"; | ||
| import CoinWIcon from "./icon.tsx"; | ||
|
|
||
| const CoinWExchange: App = { | ||
| id: "coinw-exchange", | ||
| appSlug: "coinw-exchange", | ||
| type: AppTypes.Exchange, | ||
| project: CoinWProject, | ||
| name: "CoinW", | ||
| description: | ||
| "Cryptocurrency exchange offering spot and perpetual futures trading, copy trading, and earn products for managing digital assets.", | ||
| socials: { | ||
| website: new URL("https://www.coinw.com"), | ||
| twitter: new URL("https://x.com/CoinWOfficial"), | ||
| }, | ||
| icon: CoinWIcon, | ||
| // TODO: Add OG images | ||
| }; | ||
|
|
||
| defineApp(CoinWExchange); | ||
|
|
||
| export default CoinWExchange; |
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.