From 853dcb292dc70558cfdb9b683f39e6cdbf8dd0e1 Mon Sep 17 00:00:00 2001 From: yann300 Date: Tue, 9 Jan 2024 10:02:51 +0100 Subject: [PATCH 01/17] add spinner while git cloning --- libs/remix-ui/workspace/src/lib/actions/workspace.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libs/remix-ui/workspace/src/lib/actions/workspace.ts b/libs/remix-ui/workspace/src/lib/actions/workspace.ts index aab231af45..a40e0a53a7 100644 --- a/libs/remix-ui/workspace/src/lib/actions/workspace.ts +++ b/libs/remix-ui/workspace/src/lib/actions/workspace.ts @@ -208,7 +208,9 @@ export const createWorkspaceTemplate = async (workspaceName: string, template: W if (checkSpecialChars(workspaceName) || checkSlash(workspaceName)) throw new Error('special characters are not allowed') if ((await workspaceExists(workspaceName)) && template === 'remixDefault') throw new Error('workspace already exists') else if (metadata && metadata.type === 'git') { + dispatch(cloneRepositoryRequest()) await plugin.call('dGitProvider', 'clone', {url: metadata.url, branch: metadata.branch}, workspaceName) + dispatch(cloneRepositorySuccess()) } else { const workspaceProvider = plugin.fileProviders.workspace await workspaceProvider.createWorkspace(workspaceName) From 9c7b20d33029ba1a4e6dfaf8c7afaf2caf4ffe0b Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 8 Jan 2024 21:44:39 +0100 Subject: [PATCH 02/17] remix tips --- apps/remix-ide/src/app/components/preload.tsx | 28 ++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/apps/remix-ide/src/app/components/preload.tsx b/apps/remix-ide/src/app/components/preload.tsx index ec9be4597a..fb7b69c604 100644 --- a/apps/remix-ide/src/app/components/preload.tsx +++ b/apps/remix-ide/src/app/components/preload.tsx @@ -1,4 +1,5 @@ import {RemixApp} from '@remix-ui/app' +import axios from 'axios' import React, {useEffect, useRef, useState} from 'react' import {render} from 'react-dom' import * as packageJson from '../../../../../package.json' @@ -10,6 +11,7 @@ import './styles/preload.css' const _paq = (window._paq = window._paq || []) export const Preload = () => { + const [tip, setTip] = useState('') const [supported, setSupported] = useState(true) const [error, setError] = useState(false) const [showDownloader, setShowDownloader] = useState(false) @@ -95,6 +97,24 @@ export const Preload = () => { !remixIndexedDB.current.loaded && (await setFileSystems()) } loadStorage() + + const abortController = new AbortController() + const signal = abortController.signal + async function showRemixTips() { + const response = await axios.get('https://raw.githubusercontent.com/remix-project-org/remix-dynamics/main/ide/tips.json', { signal }) + if (signal.aborted) return + const tips = response.data + const index = Math.floor(Math.random() * (tips.length - 1)) + setTip(tips[index]) + } + try { + showRemixTips() + } catch (e) { + console.log(e) + } + return () => { + abortController.abort(); + }; }, []) return ( @@ -157,7 +177,13 @@ export const Preload = () => { ) : null} {supported && !error && !showDownloader ? (
- +
+ +
+ { tip &&
+
DID YOU KNOW
+ {tip} +
}
) : null} From f37015d21348bc57ae0867496d75f02e39fb965b Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jan 2024 14:41:03 +0100 Subject: [PATCH 03/17] change vyper version number support. --- apps/vyper/src/app/components/LocalUrl.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vyper/src/app/components/LocalUrl.tsx b/apps/vyper/src/app/components/LocalUrl.tsx index 560482b5d3..b0b5b090f0 100644 --- a/apps/vyper/src/app/components/LocalUrl.tsx +++ b/apps/vyper/src/app/components/LocalUrl.tsx @@ -19,7 +19,7 @@ function LocalUrlInput({url, setUrl, environment}: Props) { return (
- {'Currently we support vyper version > 0.2.16'} + {'Currently we support vyper version 0.3.10'} Local Compiler Url From cf58aff990caf3076576325c0534cf99f3c0ab94 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jan 2024 14:44:10 +0100 Subject: [PATCH 04/17] remove vyper version number support. --- apps/vyper/src/app/components/LocalUrl.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/vyper/src/app/components/LocalUrl.tsx b/apps/vyper/src/app/components/LocalUrl.tsx index b0b5b090f0..b15b96e819 100644 --- a/apps/vyper/src/app/components/LocalUrl.tsx +++ b/apps/vyper/src/app/components/LocalUrl.tsx @@ -19,7 +19,6 @@ function LocalUrlInput({url, setUrl, environment}: Props) { return ( - {'Currently we support vyper version 0.3.10'} Local Compiler Url From e4b935b91e539f5884fd38f7a61afa70c6bd3054 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jan 2024 15:11:50 +0100 Subject: [PATCH 05/17] remove warning for using remote compiler --- apps/vyper/src/app/app.tsx | 2 +- apps/vyper/src/app/components/WarnRemote.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/vyper/src/app/app.tsx b/apps/vyper/src/app/app.tsx index b14ee3a172..e3201bdb2a 100644 --- a/apps/vyper/src/app/app.tsx +++ b/apps/vyper/src/app/app.tsx @@ -30,7 +30,7 @@ const App: React.FC = () => { const [output, setOutput] = useState({}) const [state, setState] = useState({ status: 'idle', - environment: 'local', + environment: 'remote', localUrl: 'http://localhost:8000/' }) diff --git a/apps/vyper/src/app/components/WarnRemote.tsx b/apps/vyper/src/app/components/WarnRemote.tsx index 5038b61fb9..6e06e00fe4 100644 --- a/apps/vyper/src/app/components/WarnRemote.tsx +++ b/apps/vyper/src/app/components/WarnRemote.tsx @@ -10,7 +10,7 @@ function WarnRemoteLabel({environment}: Props) { } return ( - Do not use the remote compiler in a production environment, it is only for testing purposes. For production, use a local compiler. + ) } From cbcb2f0a40cf2b4efaba1891d0ea4204c74314ff Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jan 2024 16:12:42 +0100 Subject: [PATCH 06/17] add tooltip for vyper repo clone button. update docs url --- apps/vyper/src/app/app.tsx | 19 ++++++++----------- apps/vyper/src/profile.json | 6 +++--- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/apps/vyper/src/app/app.tsx b/apps/vyper/src/app/app.tsx index e3201bdb2a..4c5d472890 100644 --- a/apps/vyper/src/app/app.tsx +++ b/apps/vyper/src/app/app.tsx @@ -13,6 +13,7 @@ import ToggleButton from 'react-bootstrap/ToggleButton' import Button from 'react-bootstrap/Button' import './app.css' +import { CustomTooltip } from '@remix-ui/helper' interface AppState { status: 'idle' | 'inProgress' @@ -71,20 +72,16 @@ const App: React.FC = () => { return (
-
-
- Vyper logo -

yper Compiler

-
- - - -
- + +
diff --git a/apps/vyper/src/profile.json b/apps/vyper/src/profile.json index 2c953d0f13..4567720716 100644 --- a/apps/vyper/src/profile.json +++ b/apps/vyper/src/profile.json @@ -1,9 +1,9 @@ { "name": "vyper", - "displayName": "Vyper", + "displayName": "Vyper Plugin", "methods": ["getCompilationResult", "compile"], "url": "https://ipfs-cluster.ethdevops.io/ipfs/QmbmPzUg7ghTKcF2eo64zm1k1LKdibYfqYmiqXkHKXks8r", - "documentation": "https://github.com/GrandSchtroumpf/vyper-remix", + "documentation": "https://remix-ide.readthedocs.io/en/latest/plugin_list.html", "description": "Compile vyper contracts", "kind": "compiler", "icon": "data:image/svg+xml;base64,PHN2ZyBpZD0iRmxhdF9Mb2dvIiBkYXRhLW5hbWU9IkZsYXQgTG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjA0OCAxNzczLjYyIj4gIDx0aXRsZT52eXBlci1sb2dvLWZsYXQ8L3RpdGxlPiAgPHBvbHlsaW5lIHBvaW50cz0iMTAyNCA4ODYuODEgNzY4IDEzMzAuMjIgMTAyNCAxNzczLjYyIDEyODAgMTMzMC4yMiAxMDI0IDg4Ni44MSIgc3R5bGU9ImZpbGw6IzMzMyIvPiAgPHBvbHlsaW5lIHBvaW50cz0iMTI4MCA0NDMuNDEgMTAyNCA4ODYuODEgMTI4MCAxMzMwLjIyIDE1MzYgODg2LjgxIDEyODAgNDQzLjQxIiBzdHlsZT0iZmlsbDojNjY2Ii8+ICA8cG9seWxpbmUgcG9pbnRzPSI3NjggNDQzLjQxIDUxMiA4ODYuODEgNzY4IDEzMzAuMjIgMTAyNCA4ODYuODEgNzY4IDQ0My40MSIgc3R5bGU9ImZpbGw6IzY2NiIvPiAgPHBvbHlsaW5lIHBvaW50cz0iMTUzNiAwIDEyODAgNDQzLjQxIDE1MzYgODg2LjgxIDE3OTIgNDQzLjQxIDE1MzYgMCIgc3R5bGU9ImZpbGw6IzhjOGM4YyIvPiAgPHBvbHlsaW5lIHBvaW50cz0iMTE1MiAyMjEuNyA4OTYgMjIxLjcgNzY4IDQ0My40MSAxMDI0IDg4Ni44MSAxMjgwIDQ0My40MSAxMTUyIDIyMS43IiBzdHlsZT0iZmlsbDojOGM4YzhjIi8+ICA8cG9seWxpbmUgcG9pbnRzPSI1MTIgMCAyNTYgNDQzLjQxIDUxMiA4ODYuODEgNzY4IDQ0My40MSA1MTIgMCIgc3R5bGU9ImZpbGw6IzhjOGM4YyIvPiAgPHBvbHlsaW5lIHBvaW50cz0iMjA0OCAwIDE1MzYgMCAxNzkyIDQ0My40IDIwNDggMCIgc3R5bGU9ImZpbGw6I2IyYjJiMiIvPiAgPHBvbHlsaW5lIHBvaW50cz0iNTEyIDAgMCAwIDI1NiA0NDMuNCA1MTIgMCIgc3R5bGU9ImZpbGw6I2IyYjJiMiIvPjwvc3ZnPg==", @@ -11,4 +11,4 @@ "repo": "https://github.com/ethereum/remix-project/tree/master/apps/vyper", "maintainedBy": "Remix", "authorContact": "remix@ethereum.org" -} \ No newline at end of file +} From 9ecc4b78adc55b7a6daa018a3cdf9d30a3dc6171 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Mon, 8 Jan 2024 16:42:04 +0100 Subject: [PATCH 07/17] add spacing --- apps/vyper/src/app/app.tsx | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/apps/vyper/src/app/app.tsx b/apps/vyper/src/app/app.tsx index 4c5d472890..bd8f9b5ffc 100644 --- a/apps/vyper/src/app/app.tsx +++ b/apps/vyper/src/app/app.tsx @@ -73,9 +73,9 @@ const App: React.FC = () => { return (
-
+
- + Remote Compiler v0.3.10 @@ -92,8 +92,7 @@ const App: React.FC = () => { - -
+
Date: Tue, 9 Jan 2024 14:34:55 +0100 Subject: [PATCH 08/17] correct working in tooltip --- apps/vyper/src/app/app.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/vyper/src/app/app.tsx b/apps/vyper/src/app/app.tsx index bd8f9b5ffc..1c15353906 100644 --- a/apps/vyper/src/app/app.tsx +++ b/apps/vyper/src/app/app.tsx @@ -76,7 +76,7 @@ const App: React.FC = () => {
From cbb2aa57dc5300e425d8cac548c3b31013df731f Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 29 Dec 2023 22:00:32 +0100 Subject: [PATCH 11/17] remove old tsx markup --- libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx | 5 ----- 1 file changed, 5 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx index afe8543166..fcc643abcf 100644 --- a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx @@ -285,11 +285,6 @@ export function UniversalDappUI(props: UdappProps) {
- {/* }> - - - - */}
From f623fafcf623de81a886f9c5d0b14949f865d6db Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 29 Dec 2023 22:11:04 +0100 Subject: [PATCH 12/17] convert version to state so it changes with compiler version state --- .../run-tab/src/lib/components/lowlevelInteractionIcon.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx index 7c50b908f5..f5d12a97f8 100644 --- a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx @@ -1,9 +1,9 @@ import { CustomTooltip } from '@remix-ui/helper' -import React from 'react' +import React, { useState } from 'react' import { FormattedMessage } from 'react-intl' export function LowLevelInteractionIcon () { - const version = window.location.href.split('=')[5].split('+')[0].split('-')[1] + const [version, _] = useState(window.location.href.split('=')[5].split('+')[0].split('-')[1]) return ( <> From e0bff860514ce59aa8f7532dd6df545a017ffb49 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Sat, 30 Dec 2023 01:01:53 +0100 Subject: [PATCH 13/17] fix version determination so it updates on deploy --- .../lib/components/instanceContainerUI.tsx | 1 + .../components/lowlevelInteractionIcon.tsx | 28 +++++++++++++++++-- .../src/lib/components/universalDappUI.tsx | 2 +- libs/remix-ui/run-tab/src/lib/run-tab.tsx | 1 + libs/remix-ui/run-tab/src/lib/types/index.ts | 2 ++ 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx index 4296867c67..89ffdb976e 100644 --- a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx @@ -39,6 +39,7 @@ export function InstanceContainerUI(props: InstanceContainerProps) { {props.instances.instanceList.map((instance, index) => { return ( window.location.href.split('=')[5].split('+')[0].split('-')[1] + const [version, setVersion] = useState(() => getVersion()) + + useEffect(() => { + const listenForCompileFinished = async () => { + props.plugin.on('solidity', 'compilationFinished', + (file: string, source, languageVersion, data, input, version) => { + const versionUpdate = `v${version.split('+')[0]}` // remove commit hash + console.log(versionUpdate) + setVersion(versionUpdate) + }) + } + listenForCompileFinished() + + return () => { + props.plugin.off('solidity', 'compilationFinished') + } + }, []) return ( <> diff --git a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx index fcc643abcf..561c0ad97b 100644 --- a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx @@ -285,7 +285,7 @@ export function UniversalDappUI(props: UdappProps) {
- +
diff --git a/libs/remix-ui/run-tab/src/lib/run-tab.tsx b/libs/remix-ui/run-tab/src/lib/run-tab.tsx index 9f68cc9944..0e032d8651 100644 --- a/libs/remix-ui/run-tab/src/lib/run-tab.tsx +++ b/libs/remix-ui/run-tab/src/lib/run-tab.tsx @@ -322,6 +322,7 @@ export function RunTabUI(props: RunTabProps) { runTransactions={executeTransactions} sendValue={runTab.sendValue} getFuncABIInputs={getFuncABIValues} + plugin={props.plugin} />
diff --git a/libs/remix-ui/run-tab/src/lib/types/index.ts b/libs/remix-ui/run-tab/src/lib/types/index.ts index 93ac6990b1..679ea6b72c 100644 --- a/libs/remix-ui/run-tab/src/lib/types/index.ts +++ b/libs/remix-ui/run-tab/src/lib/types/index.ts @@ -283,6 +283,7 @@ export interface RecorderProps { } export interface InstanceContainerProps { + plugin: RunTab, instances: { instanceList: { contractData?: ContractData, @@ -396,6 +397,7 @@ export interface UdappProps { decodedResponse?: Record, abi?: any }, + plugin: RunTab, context: 'memory' | 'blockchain', removeInstance: (index: number) => void, index: number, From dd4392f17b374bc579f61a182bafc2061e535f3a Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Sat, 30 Dec 2023 01:06:16 +0100 Subject: [PATCH 14/17] remove needless url string manipulation --- .../run-tab/src/lib/components/lowlevelInteractionIcon.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx index 2c84e2e984..47c9bdd528 100644 --- a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx @@ -8,8 +8,7 @@ export type LowLevelInteractionIconProps = { } export function LowLevelInteractionIcon (props: LowLevelInteractionIconProps) { - const getVersion = () => window.location.href.split('=')[5].split('+')[0].split('-')[1] - const [version, setVersion] = useState(() => getVersion()) + const [version, setVersion] = useState('') useEffect(() => { const listenForCompileFinished = async () => { From 6e14a1255b99866ebf1d0553d0f12d03c27a84a7 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 5 Jan 2024 00:41:53 +0100 Subject: [PATCH 15/17] add reducer action to handle solidity compiler version --- .../run-tab/src/lib/actions/account.ts | 22 +++++++++++++++++-- .../run-tab/src/lib/actions/payload.ts | 9 +++++++- .../src/lib/components/contractDropdownUI.tsx | 2 ++ .../src/lib/components/contractGUI.tsx | 2 ++ .../lib/components/instanceContainerUI.tsx | 2 +- .../components/lowlevelInteractionIcon.tsx | 22 ++++--------------- .../src/lib/components/universalDappUI.tsx | 2 +- .../run-tab/src/lib/constants/index.ts | 1 + .../run-tab/src/lib/reducers/runTab.ts | 16 ++++++++++++-- libs/remix-ui/run-tab/src/lib/run-tab.tsx | 4 +++- libs/remix-ui/run-tab/src/lib/types/index.ts | 11 +++++++--- 11 files changed, 64 insertions(+), 29 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/actions/account.ts b/libs/remix-ui/run-tab/src/lib/actions/account.ts index 060de8bf62..68601be7cb 100644 --- a/libs/remix-ui/run-tab/src/lib/actions/account.ts +++ b/libs/remix-ui/run-tab/src/lib/actions/account.ts @@ -2,6 +2,7 @@ import { shortenAddress } from "@remix-ui/helper" import { RunTab } from "../types/run-tab" import { clearInstances, setAccount, setExecEnv } from "./actions" import { displayNotification, displayPopUp, fetchAccountsListFailed, fetchAccountsListRequest, fetchAccountsListSuccess, setExternalEndpoint, setMatchPassphrase, setPassphrase } from "./payload" +import { RunTabProps, RunTabState } from "../types" export const updateAccountBalances = async (plugin: RunTab, dispatch: React.Dispatch) => { const accounts = plugin.REACT_API.accounts.loadedAccounts @@ -31,7 +32,7 @@ export const fillAccountsList = async (plugin: RunTab, dispatch: React.Dispatch< for (const account of accounts) { const balance = await plugin.blockchain.getBalanceInEther(account) loadedAccounts[account] = shortenAddress(account, balance) - } + } const provider = plugin.blockchain.getProvider() if (provider === 'injected') { @@ -99,4 +100,21 @@ export const signMessageWithAddress = (plugin: RunTab, dispatch: React.Dispatch< } dispatch(displayNotification('Signed Message', modalContent(msgHash, signedData), 'OK', null, () => {}, null)) }) -} \ No newline at end of file +} + +export const extractCompilerVersion = (runTab: RunTabState, dispatch: React.Dispatch) => +{ + const runtabState = Object.entries(runTab['contracts'] ?? {}) + const contractList = runtabState[0] ?? {} + const contractNameHolder = runtabState[4] ?? ['currentName', ''] + const contractName = contractNameHolder[1] ?? '' + const currentObj = contractList[1] ?? {} + const currObjDetails = currentObj[contractName as string] ?? {} + const currObjDetailsLength = currObjDetails.length -1 + const alias = currObjDetails[currObjDetailsLength]['alias'] ?? '' + const serializeTarget = currObjDetails[currObjDetailsLength]?.compiler?.data?.contracts[contractName as string][alias]?.metadata ?? '' + const obj = (serializeTarget as string).length > 0 ? JSON.parse(serializeTarget) : {} + const version = obj?.compiler?.version ?? '' + const compilerVersion = `v${version?.split('+commit')[0]}` ?? 'v' + dispatch({ type: 'EXTRACT_COMPILER_VERSION', payload: {compilerVersion, runTab }}) +} diff --git a/libs/remix-ui/run-tab/src/lib/actions/payload.ts b/libs/remix-ui/run-tab/src/lib/actions/payload.ts index c8bee7af2e..dfa8fc4b16 100644 --- a/libs/remix-ui/run-tab/src/lib/actions/payload.ts +++ b/libs/remix-ui/run-tab/src/lib/actions/payload.ts @@ -1,5 +1,5 @@ import { ContractData } from '@remix-project/core-plugin' -import { ADD_DEPLOY_OPTION, ADD_INSTANCE, UPDATE_INSTANCES_BALANCE, ADD_PROVIDER, CLEAR_INSTANCES, CLEAR_RECORDER_COUNT, DISPLAY_NOTIFICATION, DISPLAY_POPUP_MESSAGE, FETCH_ACCOUNTS_LIST_FAILED, FETCH_ACCOUNTS_LIST_REQUEST, FETCH_ACCOUNTS_LIST_SUCCESS, FETCH_CONTRACT_LIST_FAILED, FETCH_CONTRACT_LIST_REQUEST, FETCH_CONTRACT_LIST_SUCCESS, HIDE_NOTIFICATION, HIDE_POPUP_MESSAGE, REMOVE_DEPLOY_OPTION, REMOVE_INSTANCE, REMOVE_PROVIDER, RESET_STATE, SET_BASE_FEE_PER_GAS, SET_CONFIRM_SETTINGS, SET_CURRENT_CONTRACT, SET_CURRENT_FILE, SET_DECODED_RESPONSE, SET_DEPLOY_OPTIONS, SET_EXECUTION_ENVIRONMENT, SET_EXTERNAL_WEB3_ENDPOINT, SET_GAS_LIMIT, SET_GAS_PRICE, SET_GAS_PRICE_STATUS, SET_IPFS_CHECKED_STATE, SET_LOAD_TYPE, SET_MATCH_PASSPHRASE, SET_MAX_FEE, SET_MAX_PRIORITY_FEE, SET_NETWORK_NAME, SET_PASSPHRASE, SET_PATH_TO_SCENARIO, SET_PERSONAL_MODE, SET_RECORDER_COUNT, SET_SELECTED_ACCOUNT, SET_SEND_UNIT, SET_SEND_VALUE, SET_REMIXD_ACTIVATED, FETCH_PROXY_DEPLOYMENTS, NEW_PROXY_DEPLOYMENT, RESET_PROXY_DEPLOYMENTS } from '../constants' +import { ADD_DEPLOY_OPTION, ADD_INSTANCE, UPDATE_INSTANCES_BALANCE, ADD_PROVIDER, CLEAR_INSTANCES, CLEAR_RECORDER_COUNT, DISPLAY_NOTIFICATION, DISPLAY_POPUP_MESSAGE, FETCH_ACCOUNTS_LIST_FAILED, FETCH_ACCOUNTS_LIST_REQUEST, FETCH_ACCOUNTS_LIST_SUCCESS, FETCH_CONTRACT_LIST_FAILED, FETCH_CONTRACT_LIST_REQUEST, FETCH_CONTRACT_LIST_SUCCESS, HIDE_NOTIFICATION, HIDE_POPUP_MESSAGE, REMOVE_DEPLOY_OPTION, REMOVE_INSTANCE, REMOVE_PROVIDER, RESET_STATE, SET_BASE_FEE_PER_GAS, SET_CONFIRM_SETTINGS, SET_CURRENT_CONTRACT, SET_CURRENT_FILE, SET_DECODED_RESPONSE, SET_DEPLOY_OPTIONS, SET_EXECUTION_ENVIRONMENT, SET_EXTERNAL_WEB3_ENDPOINT, SET_GAS_LIMIT, SET_GAS_PRICE, SET_GAS_PRICE_STATUS, SET_IPFS_CHECKED_STATE, SET_LOAD_TYPE, SET_MATCH_PASSPHRASE, SET_MAX_FEE, SET_MAX_PRIORITY_FEE, SET_NETWORK_NAME, SET_PASSPHRASE, SET_PATH_TO_SCENARIO, SET_PERSONAL_MODE, SET_RECORDER_COUNT, SET_SELECTED_ACCOUNT, SET_SEND_UNIT, SET_SEND_VALUE, SET_REMIXD_ACTIVATED, FETCH_PROXY_DEPLOYMENTS, NEW_PROXY_DEPLOYMENT, RESET_PROXY_DEPLOYMENTS, EXTRACT_COMPILER_VERSION } from '../constants' import { ContractList, DeployOptions } from '../types' export const fetchAccountsListRequest = () => { @@ -334,3 +334,10 @@ export const resetProxyDeployments = () => { type: RESET_PROXY_DEPLOYMENTS, } } + +export const setCompilerVersion = (version: string) => { + return { + type: EXTRACT_COMPILER_VERSION, + payload: version + } +} diff --git a/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx b/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx index 87912eccc4..33dd92b9ad 100644 --- a/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx @@ -481,6 +481,8 @@ export function ContractDropdownUI(props: ContractDropdownProps) { isValidProxyUpgrade={isValidProxyUpgrade} modal={props.modal} disabled={props.selectedAccount === ''} + dispatch={props.stateDispatch} + runTabState={props.runTabState} />
{ + extractCompilerVersion(props.runTabState, props.dispatch) if (deployState.deploy) { const proxyInitializeString = getMultiValsString(initializeFields.current) props.clickCallBack(props.initializerOptions.inputs.inputs, proxyInitializeString, ['Deploy with Proxy']) diff --git a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx index 89ffdb976e..3b10a35968 100644 --- a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx @@ -39,7 +39,7 @@ export function InstanceContainerUI(props: InstanceContainerProps) { {props.instances.instanceList.map((instance, index) => { return ( { - const listenForCompileFinished = async () => { - props.plugin.on('solidity', 'compilationFinished', - (file: string, source, languageVersion, data, input, version) => { - const versionUpdate = `v${version.split('+')[0]}` // remove commit hash - console.log(versionUpdate) - setVersion(versionUpdate) - }) - } - listenForCompileFinished() - - return () => { - props.plugin.off('solidity', 'compilationFinished') - } - }, []) + const [version, setVersion] = useState(props.plugin.compilerVersion ?? '') return ( <> diff --git a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx index 561c0ad97b..9da8f5f1cd 100644 --- a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx @@ -285,7 +285,7 @@ export function UniversalDappUI(props: UdappProps) {
- +
diff --git a/libs/remix-ui/run-tab/src/lib/constants/index.ts b/libs/remix-ui/run-tab/src/lib/constants/index.ts index 016bad8856..5d21a4af2c 100644 --- a/libs/remix-ui/run-tab/src/lib/constants/index.ts +++ b/libs/remix-ui/run-tab/src/lib/constants/index.ts @@ -49,3 +49,4 @@ export const SET_REMIXD_ACTIVATED = 'SET_REMIXD_ACTIVATED' export const FETCH_PROXY_DEPLOYMENTS = 'FETCH_PROXY_DEPLOYMENTS' export const NEW_PROXY_DEPLOYMENT = 'NEW_PROXY_DEPLOYMENT' export const RESET_PROXY_DEPLOYMENTS = 'RESET_PROXY_DEPLOYMENTS' +export const EXTRACT_COMPILER_VERSION = 'EXTRACT_COMPILER_VERSION' diff --git a/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts b/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts index 77f4b24520..bb94357a11 100644 --- a/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts +++ b/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts @@ -1,6 +1,7 @@ import { ContractData } from '@remix-project/core-plugin' import { ContractList, DeployOptions, RunTabState } from '../types' -import { ADD_INSTANCE, UPDATE_INSTANCES_BALANCE, ADD_PROVIDER, CLEAR_INSTANCES, CLEAR_RECORDER_COUNT, DISPLAY_NOTIFICATION, DISPLAY_POPUP_MESSAGE, FETCH_ACCOUNTS_LIST_FAILED, FETCH_ACCOUNTS_LIST_REQUEST, FETCH_ACCOUNTS_LIST_SUCCESS, FETCH_CONTRACT_LIST_FAILED, FETCH_CONTRACT_LIST_REQUEST, FETCH_CONTRACT_LIST_SUCCESS, FETCH_PROVIDER_LIST_FAILED, FETCH_PROVIDER_LIST_REQUEST, FETCH_PROVIDER_LIST_SUCCESS, HIDE_NOTIFICATION, HIDE_POPUP_MESSAGE, REMOVE_INSTANCE, REMOVE_PROVIDER, RESET_STATE, SET_BASE_FEE_PER_GAS, SET_CONFIRM_SETTINGS, SET_CURRENT_CONTRACT, SET_CURRENT_FILE, SET_DECODED_RESPONSE, SET_DEPLOY_OPTIONS, SET_EXECUTION_ENVIRONMENT, SET_EXTERNAL_WEB3_ENDPOINT, SET_GAS_LIMIT, SET_GAS_PRICE, SET_GAS_PRICE_STATUS, SET_IPFS_CHECKED_STATE, SET_LOAD_TYPE, SET_MATCH_PASSPHRASE, SET_MAX_FEE, SET_MAX_PRIORITY_FEE, SET_NETWORK_NAME, SET_PASSPHRASE, SET_PATH_TO_SCENARIO, SET_PERSONAL_MODE, SET_RECORDER_COUNT, SET_SELECTED_ACCOUNT, SET_SEND_UNIT, SET_SEND_VALUE, ADD_DEPLOY_OPTION, REMOVE_DEPLOY_OPTION, SET_REMIXD_ACTIVATED, FETCH_PROXY_DEPLOYMENTS, NEW_PROXY_DEPLOYMENT, RESET_PROXY_DEPLOYMENTS } from '../constants' +import { ADD_INSTANCE, UPDATE_INSTANCES_BALANCE, ADD_PROVIDER, CLEAR_INSTANCES, CLEAR_RECORDER_COUNT, DISPLAY_NOTIFICATION, DISPLAY_POPUP_MESSAGE, FETCH_ACCOUNTS_LIST_FAILED, FETCH_ACCOUNTS_LIST_REQUEST, FETCH_ACCOUNTS_LIST_SUCCESS, FETCH_CONTRACT_LIST_FAILED, FETCH_CONTRACT_LIST_REQUEST, FETCH_CONTRACT_LIST_SUCCESS, FETCH_PROVIDER_LIST_FAILED, FETCH_PROVIDER_LIST_REQUEST, FETCH_PROVIDER_LIST_SUCCESS, HIDE_NOTIFICATION, HIDE_POPUP_MESSAGE, REMOVE_INSTANCE, REMOVE_PROVIDER, RESET_STATE, SET_BASE_FEE_PER_GAS, SET_CONFIRM_SETTINGS, SET_CURRENT_CONTRACT, SET_CURRENT_FILE, SET_DECODED_RESPONSE, SET_DEPLOY_OPTIONS, SET_EXECUTION_ENVIRONMENT, SET_EXTERNAL_WEB3_ENDPOINT, SET_GAS_LIMIT, SET_GAS_PRICE, SET_GAS_PRICE_STATUS, SET_IPFS_CHECKED_STATE, SET_LOAD_TYPE, SET_MATCH_PASSPHRASE, SET_MAX_FEE, SET_MAX_PRIORITY_FEE, SET_NETWORK_NAME, SET_PASSPHRASE, SET_PATH_TO_SCENARIO, SET_PERSONAL_MODE, SET_RECORDER_COUNT, SET_SELECTED_ACCOUNT, SET_SEND_UNIT, SET_SEND_VALUE, ADD_DEPLOY_OPTION, REMOVE_DEPLOY_OPTION, SET_REMIXD_ACTIVATED, FETCH_PROXY_DEPLOYMENTS, NEW_PROXY_DEPLOYMENT, RESET_PROXY_DEPLOYMENTS, EXTRACT_COMPILER_VERSION } from '../constants' +import { extractCompilerVersion } from '../actions/account' declare const window: any interface Action { @@ -411,7 +412,7 @@ export const runTabReducer = (state: RunTabState = runTabInitialState, action: A } } } - + case SET_IPFS_CHECKED_STATE: { const payload: boolean = action.payload @@ -657,6 +658,17 @@ export const runTabReducer = (state: RunTabState = runTabInitialState, action: A } } + case EXTRACT_COMPILER_VERSION: { + const payload = action.payload + return { + ...state, + contracts: { + ...payload.runTab.contracts, + }, + compilerVersion: payload.compilerVersion + } + } + default: return state } diff --git a/libs/remix-ui/run-tab/src/lib/run-tab.tsx b/libs/remix-ui/run-tab/src/lib/run-tab.tsx index 0e032d8651..7328435c0b 100644 --- a/libs/remix-ui/run-tab/src/lib/run-tab.tsx +++ b/libs/remix-ui/run-tab/src/lib/run-tab.tsx @@ -299,6 +299,8 @@ export function RunTabUI(props: RunTabProps) { isValidProxyAddress={isValidProxyAddress} isValidProxyUpgrade={isValidProxyUpgrade} proxy={runTab.proxy} + stateDispatch={dispatch} + runTabState={runTab} />
diff --git a/libs/remix-ui/run-tab/src/lib/types/index.ts b/libs/remix-ui/run-tab/src/lib/types/index.ts index 679ea6b72c..1f12c3957c 100644 --- a/libs/remix-ui/run-tab/src/lib/types/index.ts +++ b/libs/remix-ui/run-tab/src/lib/types/index.ts @@ -103,7 +103,8 @@ export interface RunTabState { remixdActivated: boolean, proxy: { deployments: { address: string, date: string, contractName: string }[] - } + }, + compilerVersion?: string } export interface SettingsProps { @@ -224,6 +225,8 @@ export type MainnetPrompt = ( ) => JSX.Element export interface ContractDropdownProps { + stateDispatch: React.Dispatch, + runTabState: RunTabState, selectedAccount: string, exEnvironment: string, contracts: { @@ -283,7 +286,7 @@ export interface RecorderProps { } export interface InstanceContainerProps { - plugin: RunTab, + state: RunTabState, instances: { instanceList: { contractData?: ContractData, @@ -370,6 +373,8 @@ export interface ContractGUIProps { isValidProxyAddress?: (address: string) => Promise, isValidProxyUpgrade?: (proxyAddress: string) => Promise, modal?: (title: string, message: string | JSX.Element, okLabel: string, okFn: () => void, cancelLabel?: string, cancelFn?: () => void, okBtnClass?: string, cancelBtnClass?: string) => void + dispatch?: React.Dispatch + runTabState?: RunTabState } export interface MainnetProps { network: Network, @@ -397,7 +402,7 @@ export interface UdappProps { decodedResponse?: Record, abi?: any }, - plugin: RunTab, + state: RunTabState, context: 'memory' | 'blockchain', removeInstance: (index: number) => void, index: number, From 6090c8282175a0606620c5a1ff3e142eced5821d Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Fri, 5 Jan 2024 01:10:20 +0100 Subject: [PATCH 16/17] cleanup --- libs/remix-ui/run-tab/src/lib/actions/account.ts | 4 ++-- .../run-tab/src/lib/components/lowlevelInteractionIcon.tsx | 2 -- libs/remix-ui/run-tab/src/lib/reducers/runTab.ts | 1 - 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/libs/remix-ui/run-tab/src/lib/actions/account.ts b/libs/remix-ui/run-tab/src/lib/actions/account.ts index 68601be7cb..3d68fb60c1 100644 --- a/libs/remix-ui/run-tab/src/lib/actions/account.ts +++ b/libs/remix-ui/run-tab/src/lib/actions/account.ts @@ -1,8 +1,8 @@ import { shortenAddress } from "@remix-ui/helper" import { RunTab } from "../types/run-tab" import { clearInstances, setAccount, setExecEnv } from "./actions" -import { displayNotification, displayPopUp, fetchAccountsListFailed, fetchAccountsListRequest, fetchAccountsListSuccess, setExternalEndpoint, setMatchPassphrase, setPassphrase } from "./payload" -import { RunTabProps, RunTabState } from "../types" +import { displayNotification, displayPopUp, fetchAccountsListFailed, fetchAccountsListRequest, fetchAccountsListSuccess, setMatchPassphrase, setPassphrase } from "./payload" +import { RunTabState } from "../types" export const updateAccountBalances = async (plugin: RunTab, dispatch: React.Dispatch) => { const accounts = plugin.REACT_API.accounts.loadedAccounts diff --git a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx index f228c788ab..85530e1365 100644 --- a/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx @@ -1,8 +1,6 @@ import { CustomTooltip } from '@remix-ui/helper' import React, { useEffect, useState } from 'react' import { FormattedMessage } from 'react-intl' -import { RunTab } from '../types/run-tab' -import { extractCompilerVersion } from '../actions/account' import { RunTabState } from '../types' export type LowLevelInteractionIconProps = { diff --git a/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts b/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts index bb94357a11..62523413d4 100644 --- a/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts +++ b/libs/remix-ui/run-tab/src/lib/reducers/runTab.ts @@ -1,7 +1,6 @@ import { ContractData } from '@remix-project/core-plugin' import { ContractList, DeployOptions, RunTabState } from '../types' import { ADD_INSTANCE, UPDATE_INSTANCES_BALANCE, ADD_PROVIDER, CLEAR_INSTANCES, CLEAR_RECORDER_COUNT, DISPLAY_NOTIFICATION, DISPLAY_POPUP_MESSAGE, FETCH_ACCOUNTS_LIST_FAILED, FETCH_ACCOUNTS_LIST_REQUEST, FETCH_ACCOUNTS_LIST_SUCCESS, FETCH_CONTRACT_LIST_FAILED, FETCH_CONTRACT_LIST_REQUEST, FETCH_CONTRACT_LIST_SUCCESS, FETCH_PROVIDER_LIST_FAILED, FETCH_PROVIDER_LIST_REQUEST, FETCH_PROVIDER_LIST_SUCCESS, HIDE_NOTIFICATION, HIDE_POPUP_MESSAGE, REMOVE_INSTANCE, REMOVE_PROVIDER, RESET_STATE, SET_BASE_FEE_PER_GAS, SET_CONFIRM_SETTINGS, SET_CURRENT_CONTRACT, SET_CURRENT_FILE, SET_DECODED_RESPONSE, SET_DEPLOY_OPTIONS, SET_EXECUTION_ENVIRONMENT, SET_EXTERNAL_WEB3_ENDPOINT, SET_GAS_LIMIT, SET_GAS_PRICE, SET_GAS_PRICE_STATUS, SET_IPFS_CHECKED_STATE, SET_LOAD_TYPE, SET_MATCH_PASSPHRASE, SET_MAX_FEE, SET_MAX_PRIORITY_FEE, SET_NETWORK_NAME, SET_PASSPHRASE, SET_PATH_TO_SCENARIO, SET_PERSONAL_MODE, SET_RECORDER_COUNT, SET_SELECTED_ACCOUNT, SET_SEND_UNIT, SET_SEND_VALUE, ADD_DEPLOY_OPTION, REMOVE_DEPLOY_OPTION, SET_REMIXD_ACTIVATED, FETCH_PROXY_DEPLOYMENTS, NEW_PROXY_DEPLOYMENT, RESET_PROXY_DEPLOYMENTS, EXTRACT_COMPILER_VERSION } from '../constants' -import { extractCompilerVersion } from '../actions/account' declare const window: any interface Action { From cb7be61ecf0a4c554bba78fa11b5c7e32ecee264 Mon Sep 17 00:00:00 2001 From: Joseph Izang Date: Tue, 9 Jan 2024 13:06:16 +0100 Subject: [PATCH 17/17] simplify implementation for lowlevel icon --- .../run-tab/src/lib/actions/account.ts | 17 -------------- .../src/lib/components/contractDropdownUI.tsx | 2 -- .../src/lib/components/contractGUI.tsx | 2 -- .../lib/components/instanceContainerUI.tsx | 1 - .../components/lowlevelInteractionIcon.tsx | 22 ------------------- .../src/lib/components/universalDappUI.tsx | 9 ++++++-- libs/remix-ui/run-tab/src/lib/run-tab.tsx | 3 --- libs/remix-ui/run-tab/src/lib/types/index.ts | 6 ----- 8 files changed, 7 insertions(+), 55 deletions(-) delete mode 100644 libs/remix-ui/run-tab/src/lib/components/lowlevelInteractionIcon.tsx diff --git a/libs/remix-ui/run-tab/src/lib/actions/account.ts b/libs/remix-ui/run-tab/src/lib/actions/account.ts index 3d68fb60c1..92879fd159 100644 --- a/libs/remix-ui/run-tab/src/lib/actions/account.ts +++ b/libs/remix-ui/run-tab/src/lib/actions/account.ts @@ -101,20 +101,3 @@ export const signMessageWithAddress = (plugin: RunTab, dispatch: React.Dispatch< dispatch(displayNotification('Signed Message', modalContent(msgHash, signedData), 'OK', null, () => {}, null)) }) } - -export const extractCompilerVersion = (runTab: RunTabState, dispatch: React.Dispatch) => -{ - const runtabState = Object.entries(runTab['contracts'] ?? {}) - const contractList = runtabState[0] ?? {} - const contractNameHolder = runtabState[4] ?? ['currentName', ''] - const contractName = contractNameHolder[1] ?? '' - const currentObj = contractList[1] ?? {} - const currObjDetails = currentObj[contractName as string] ?? {} - const currObjDetailsLength = currObjDetails.length -1 - const alias = currObjDetails[currObjDetailsLength]['alias'] ?? '' - const serializeTarget = currObjDetails[currObjDetailsLength]?.compiler?.data?.contracts[contractName as string][alias]?.metadata ?? '' - const obj = (serializeTarget as string).length > 0 ? JSON.parse(serializeTarget) : {} - const version = obj?.compiler?.version ?? '' - const compilerVersion = `v${version?.split('+commit')[0]}` ?? 'v' - dispatch({ type: 'EXTRACT_COMPILER_VERSION', payload: {compilerVersion, runTab }}) -} diff --git a/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx b/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx index 33dd92b9ad..87912eccc4 100644 --- a/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/contractDropdownUI.tsx @@ -481,8 +481,6 @@ export function ContractDropdownUI(props: ContractDropdownProps) { isValidProxyUpgrade={isValidProxyUpgrade} modal={props.modal} disabled={props.selectedAccount === ''} - dispatch={props.stateDispatch} - runTabState={props.runTabState} />
{ - extractCompilerVersion(props.runTabState, props.dispatch) if (deployState.deploy) { const proxyInitializeString = getMultiValsString(initializeFields.current) props.clickCallBack(props.initializerOptions.inputs.inputs, proxyInitializeString, ['Deploy with Proxy']) diff --git a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx index 3b10a35968..4296867c67 100644 --- a/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/instanceContainerUI.tsx @@ -39,7 +39,6 @@ export function InstanceContainerUI(props: InstanceContainerProps) { {props.instances.instanceList.map((instance, index) => { return ( - }> - - - - - - ) -} diff --git a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx index 9da8f5f1cd..ca644cb1c4 100644 --- a/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx +++ b/libs/remix-ui/run-tab/src/lib/components/universalDappUI.tsx @@ -10,7 +10,6 @@ import {ContractGUI} from './contractGUI' import {TreeView, TreeViewItem} from '@remix-ui/tree-view' import {BN} from 'bn.js' import {CustomTooltip, is0XPrefixed, isHexadecimal, isNumeric, shortenAddress} from '@remix-ui/helper' -import { LowLevelInteractionIcon } from './lowlevelInteractionIcon' const txHelper = remixLib.execution.txHelper @@ -25,6 +24,8 @@ export function UniversalDappUI(props: UdappProps) { const [evmBC, setEvmBC] = useState(null) const [instanceBalance, setInstanceBalance] = useState(0) + const getVersion = () => window.location.href.split('=')[5].split('+')[0].split('-')[1] + useEffect(() => { if (!props.instance.abi) { const abi = txHelper.sortAbiFunction(props.instance.contractData.abi) @@ -285,7 +286,11 @@ export function UniversalDappUI(props: UdappProps) {
- + }> + + + +
diff --git a/libs/remix-ui/run-tab/src/lib/run-tab.tsx b/libs/remix-ui/run-tab/src/lib/run-tab.tsx index 7328435c0b..9f68cc9944 100644 --- a/libs/remix-ui/run-tab/src/lib/run-tab.tsx +++ b/libs/remix-ui/run-tab/src/lib/run-tab.tsx @@ -299,8 +299,6 @@ export function RunTabUI(props: RunTabProps) { isValidProxyAddress={isValidProxyAddress} isValidProxyUpgrade={isValidProxyUpgrade} proxy={runTab.proxy} - stateDispatch={dispatch} - runTabState={runTab} />
diff --git a/libs/remix-ui/run-tab/src/lib/types/index.ts b/libs/remix-ui/run-tab/src/lib/types/index.ts index 1f12c3957c..eddaa892ed 100644 --- a/libs/remix-ui/run-tab/src/lib/types/index.ts +++ b/libs/remix-ui/run-tab/src/lib/types/index.ts @@ -225,8 +225,6 @@ export type MainnetPrompt = ( ) => JSX.Element export interface ContractDropdownProps { - stateDispatch: React.Dispatch, - runTabState: RunTabState, selectedAccount: string, exEnvironment: string, contracts: { @@ -286,7 +284,6 @@ export interface RecorderProps { } export interface InstanceContainerProps { - state: RunTabState, instances: { instanceList: { contractData?: ContractData, @@ -373,8 +370,6 @@ export interface ContractGUIProps { isValidProxyAddress?: (address: string) => Promise, isValidProxyUpgrade?: (proxyAddress: string) => Promise, modal?: (title: string, message: string | JSX.Element, okLabel: string, okFn: () => void, cancelLabel?: string, cancelFn?: () => void, okBtnClass?: string, cancelBtnClass?: string) => void - dispatch?: React.Dispatch - runTabState?: RunTabState } export interface MainnetProps { network: Network, @@ -402,7 +397,6 @@ export interface UdappProps { decodedResponse?: Record, abi?: any }, - state: RunTabState, context: 'memory' | 'blockchain', removeInstance: (index: number) => void, index: number,