From 9ae471637cbbf35e04bf7ef20c0eba5e0e5bed2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Vi=C3=A9not?= Date: Wed, 11 Oct 2023 14:54:27 +0200 Subject: [PATCH] Inclusion of import methods and open-in-remix action is now configured in config.json. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Simon ViƩnot --- ui/public/config.json | 7 +- ui/src/pages/Lookup/Result.tsx | 40 ++++---- ui/src/pages/Verifier/FileUpload.tsx | 133 +++++++++++++++------------ ui/src/utils/Configuration.ts | 25 +++++ 4 files changed, 130 insertions(+), 75 deletions(-) diff --git a/ui/public/config.json b/ui/public/config.json index 7f54574e..6e14f9d0 100644 --- a/ui/public/config.json +++ b/ui/public/config.json @@ -1,5 +1,10 @@ { "SERVER_URL": "http://localhost:5002", "REPOSITORY_SERVER_URL": "http://localhost:10000", - "HASHSCAN_URL": "https://hashscan-latest.hedera-devops.com" + "HASHSCAN_URL": "https://hashscan-latest.hedera-devops.com", + "REMOTE_IMPORT": false, + "GITHUB_IMPORT": false, + "CONTRACT_IMPORT": false, + "JSON_IMPORT": false, + "OPEN_IN_REMIX": false } \ No newline at end of file diff --git a/ui/src/pages/Lookup/Result.tsx b/ui/src/pages/Lookup/Result.tsx index 47494796..a42a20a7 100644 --- a/ui/src/pages/Lookup/Result.tsx +++ b/ui/src/pages/Lookup/Result.tsx @@ -156,14 +156,18 @@ const NetworkRow = ({ address, chainId, status }: NetworkRowProp) => { View in Sourcify Repository - {/**/} - {/* */} - {/* View in Remix*/} - {/* */} - {/**/} + {configuration.openInRemix ? ( + + + View in Remix + + + ) : ( + + )} ) : (
@@ -181,14 +185,18 @@ const NetworkRow = ({ address, chainId, status }: NetworkRowProp) => { View in Sourcify Repository
- {/*
*/} - {/* */} - {/* View in Remix*/} - {/* */} - {/*
*/} + {configuration.openInRemix ? ( +
+ + View in Remix + +
+ ) : ( +
+ )}
)} diff --git a/ui/src/pages/Verifier/FileUpload.tsx b/ui/src/pages/Verifier/FileUpload.tsx index c935acea..66786f32 100644 --- a/ui/src/pages/Verifier/FileUpload.tsx +++ b/ui/src/pages/Verifier/FileUpload.tsx @@ -11,6 +11,7 @@ import RemoteInput from "./RemoteInput"; import GitHubInput from "./GitHubInput"; import ContractInput from "./ContractInput"; import SolcJsonInput from "./SolcJsonInput"; +import {configuration} from "../../utils/Configuration"; enum ImportMethods { UPLOAD, @@ -75,64 +76,80 @@ const FileUpload: React.FC = ({ to verify.

- {/*
*/} - {/* selectImportMethod(ImportMethods.REMOTE)}*/} - {/* className="text-sm"*/} - {/* >*/} - {/* <>*/} - {/* */} - {/* Import from remote*/} - {/* */} - {/* */} - {/* selectImportMethod(ImportMethods.GITHUB)}*/} - {/* className="text-sm"*/} - {/* >*/} - {/* <>*/} - {/* */} - {/* Import from GitHub*/} - {/* */} - {/* */} - {/* selectImportMethod(ImportMethods.CONTRACT)}*/} - {/* className="text-sm"*/} - {/* >*/} - {/* <>*/} - {/* */} - {/* Import from Contract*/} - {/* */} - {/* */} - {/* selectImportMethod(ImportMethods.SOLIDITY_JSON)}*/} - {/* className="text-sm"*/} - {/* >*/} - {/* <>*/} - {/* */} - {/* Import from Solidity JSON*/} - {/* */} - {/* */} - {/*
*/} +
+ {configuration.remoteImport ? ( + + ) : ( +
+ )} + {configuration.githubImport ? ( + + ) : ( +
+ )} + {configuration.contractImport ? ( + + ) : ( +
+ )} + {configuration.jsonImport ? ( + + ) : ( +
+ )} +
{importMethodSelected === ImportMethods.REMOTE && (
diff --git a/ui/src/utils/Configuration.ts b/ui/src/utils/Configuration.ts index 1a4e4178..96d1a0f3 100644 --- a/ui/src/utils/Configuration.ts +++ b/ui/src/utils/Configuration.ts @@ -8,6 +8,11 @@ export class Configuration { private _repositoryServerUrl: string | undefined; private _repositoryServerUrlFullMatch: string | undefined; private _hashScanUrl: string | undefined; + private _remoteImport: boolean | undefined; + private _githubImport: boolean | undefined; + private _contractImport: boolean | undefined; + private _jsonImport: boolean | undefined; + private _openInRemix: boolean | undefined; private _repositoryServerUrlPartialMatch: string | undefined; private _ipfsIpnsGatewayUrl: string | undefined; private _sessionDataUrl: string | undefined; @@ -66,6 +71,21 @@ export class Configuration { get serverUrl(): string { return this._serverUrl ?? "" } + get remoteImport(): boolean { + return this._remoteImport ?? false + } + get githubImport(): boolean { + return this._githubImport ?? false + } + get contractImport(): boolean { + return this._contractImport ?? false + } + get jsonImport(): boolean { + return this._jsonImport ?? false + } + get openInRemix(): boolean { + return this._openInRemix ?? false + } public readConfig = async (): Promise => { @@ -82,6 +102,11 @@ export class Configuration { this._serverUrl = configData.SERVER_URL this._repositoryServerUrl = configData.REPOSITORY_SERVER_URL this._hashScanUrl = configData.HASHSCAN_URL + this._remoteImport = configData.REMOTE_IMPORT + this._githubImport = configData.GITHUB_IMPORT + this._contractImport = configData.CONTRACT_IMPORT + this._jsonImport = configData.JSON_IMPORT + this._openInRemix = configData.OPEN_IN_REMIX this._repositoryServerUrlFullMatch = `${this._repositoryServerUrl}/contracts/full_match` this._repositoryServerUrlPartialMatch = `${this._repositoryServerUrl}/contracts/partial_match`