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
- {/**/}
+ {configuration.openInRemix ? (
+
+ ) : (
+
+ )}
)}
>
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.
- {/**/}
- {/*
*/}
- {/*
*/}
- {/*
*/}
- {/*
*/}
- {/*
*/}
+
+ {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`