Merge branch 'master' into master

pull/5370/head
Glitch 10 months ago committed by GitHub
commit 220340d9b6
  1. 2
      .github/workflows/pr-reminder.yml
  2. 4
      apps/circuit-compiler/src/app/components/feedback.tsx
  3. 10
      apps/circuit-compiler/src/app/components/feedbackAlert.tsx
  4. 1
      apps/circuit-compiler/src/app/types/index.ts
  5. 1
      apps/remix-ide/src/app/tabs/locales/en/panel.json
  6. 1
      apps/remix-ide/src/app/tabs/locales/en/pluginManager.json
  7. 8
      libs/ghaction-helper/package.json
  8. 8
      libs/remix-analyzer/package.json
  9. 6
      libs/remix-astwalker/package.json
  10. 12
      libs/remix-debug/package.json
  11. 4
      libs/remix-lib/package.json
  12. 6
      libs/remix-simulator/package.json
  13. 6
      libs/remix-solidity/package.json
  14. 10
      libs/remix-tests/package.json
  15. 1
      libs/remix-ui/clipboard/src/lib/copy-to-clipboard/copy-to-clipboard.tsx
  16. 9
      libs/remix-ui/home-tab/src/lib/components/pluginButton.tsx
  17. 2
      libs/remix-ui/home-tab/src/lib/remix-ui-home-tab.css
  18. 9
      libs/remix-ui/panel/src/lib/plugins/panel-header.tsx
  19. 14
      libs/remix-ui/plugin-manager/src/lib/components/ActivePluginCard.tsx
  20. 14
      libs/remix-ui/plugin-manager/src/lib/components/InactivePluginCard.tsx
  21. 1
      libs/remix-ui/workspace/src/lib/actions/events.ts
  22. 4
      libs/remix-url-resolver/package.json
  23. 4
      libs/remix-ws-templates/package.json
  24. 2
      libs/remixd/package.json
  25. 2
      package.json
  26. 10
      releaseDetails.json

@ -14,4 +14,4 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
webhook-url: ${{ secrets.DISCORD_WEBHOOK_URL }}
freeze-date: '2024-01-29T18:00:00Z'
freeze-date: '2024-02-12T18:00:00Z'

@ -45,8 +45,7 @@ export function CompilerFeedback ({ feedback, filePathToId, hideWarnings, openEr
<RenderIf condition={response.type === 'Error'}>
<div className={`circuit_feedback ${response.type.toLowerCase()} alert alert-danger`} data-id="circuit_feedback">
<FeedbackAlert
message={response.message}
location={ response.labels[0] ? response.labels[0].message + ` ${filePathToId[response.labels[0].file_id]}:${response.labels[0].range.start}:${response.labels[0].range.end}` : null}
message={response.message + (response.labels[0] ? ": " + response.labels[0].message + ` ${filePathToId[response.labels[0].file_id]}:${response.labels[0].range.start}:${response.labels[0].range.end}` : '')}
askGPT={ () => handleAskGPT(response) } />
</div>
</RenderIf>
@ -54,7 +53,6 @@ export function CompilerFeedback ({ feedback, filePathToId, hideWarnings, openEr
<div className={`circuit_feedback ${response.type.toLowerCase()} alert alert-warning`} data-id="circuit_feedback">
<FeedbackAlert
message={response.message}
location={null}
askGPT={() => { handleAskGPT(response) }} />
</div>
</RenderIf>

@ -3,7 +3,7 @@ import { FeedbackAlertProps } from '../types'
import { RenderIf } from '@remix-ui/helper'
import {CopyToClipboard} from '@remix-ui/clipboard'
export function FeedbackAlert ({ message, location, askGPT }: FeedbackAlertProps) {
export function FeedbackAlert ({ message, askGPT }: FeedbackAlertProps) {
const [ showAlert, setShowAlert] = useState<boolean>(true)
const handleCloseAlert = () => {
@ -14,9 +14,6 @@ export function FeedbackAlert ({ message, location, askGPT }: FeedbackAlertProps
<RenderIf condition={showAlert}>
<>
<span> { message } </span>
<RenderIf condition={location !== null}>
<span> { location }</span>
</RenderIf>
<div className="close" data-id="renderer" onClick={handleCloseAlert}>
<i className="fas fa-times"></i>
</div>
@ -24,7 +21,10 @@ export function FeedbackAlert ({ message, location, askGPT }: FeedbackAlertProps
<span className="ml-3 pt-1 py-1" >
<CopyToClipboard content={message} className="p-0 m-0 far fa-copy error" direction={'top'} />
</span>
<span className="border border-success text-success btn-sm" onClick={askGPT}>ASK GPT</span>
<span className="border border-success text-success btn-sm" onClick={(e) => {
e.stopPropagation()
askGPT()
}}>ASK GPT</span>
</div>
</>
</RenderIf>

@ -72,7 +72,6 @@ export type CompilerReport = {
export type FeedbackAlertProps = {
message: string,
location: string,
askGPT: () => void
}

@ -4,6 +4,7 @@
"panel.documentation": "Documentation",
"panel.description": "Description",
"panel.maintainedByRemix": "Maintained by Remix",
"panel.maintainedExternally": "Not maintained by Remix",
"panel.pluginInfo": "Plugin info",
"panel.linkToDoc": "Link to documentation",
"panel.makeAnissue": "Make an issue"

@ -33,6 +33,7 @@
"pluginManager.ok": "OK",
"pluginManager.cancel": "Cancel",
"pluginManager.maintainedByRemix": "Maintained by Remix",
"pluginManager.maintainedExternally": "Not maintained by Remix",
"pluginManager.linkToDoc": "Link to documentation",
"pluginManager.versionAlpha": "Version Alpha",
"pluginManager.versionBeta": "Version Beta",

@ -1,6 +1,6 @@
{
"name": "@remix-project/ghaction-helper",
"version": "0.1.20",
"version": "0.1.21",
"description": "Solidity Tests GitHub Action Helper",
"main": "src/index.js",
"scripts": {
@ -19,17 +19,17 @@
},
"homepage": "https://github.com/ethereum/remix-project#readme",
"devDependencies": {
"@remix-project/remix-solidity": "^0.5.26",
"@remix-project/remix-solidity": "^0.5.27",
"@types/chai": "^4.3.4",
"typescript": "^4.9.3"
},
"dependencies": {
"@ethereum-waffle/chai": "^3.4.4",
"@remix-project/remix-simulator": "^0.2.40",
"@remix-project/remix-simulator": "^0.2.41",
"chai": "^4.3.7",
"ethers": "^5.7.2",
"web3": "^4.1.1"
},
"types": "./src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844"
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-analyzer",
"version": "0.5.49",
"version": "0.5.50",
"description": "Tool to perform static analysis on Solidity smart contracts",
"scripts": {
"test": "./../../node_modules/.bin/ts-node --project ../../tsconfig.base.json --require tsconfig-paths/register ./../../node_modules/.bin/tape ./test/tests.ts"
@ -25,8 +25,8 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-astwalker": "^0.0.70",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-astwalker": "^0.0.71",
"@remix-project/remix-lib": "^0.5.48",
"async": "^2.6.2",
"ethers": "^5.4.2",
"ethjs-util": "^0.1.6",
@ -50,6 +50,6 @@
"typescript": "^3.7.5"
},
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844",
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca",
"main": "./src/index.js"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-astwalker",
"version": "0.0.70",
"version": "0.0.71",
"description": "Tool to walk through Solidity AST",
"main": "src/index.js",
"scripts": {
@ -37,7 +37,7 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-lib": "^0.5.48",
"@types/tape": "^4.2.33",
"async": "^2.6.2",
"ethers": "^5.4.2",
@ -53,6 +53,6 @@
"tap-spec": "^5.0.0"
},
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844",
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-debug",
"version": "0.5.40",
"version": "0.5.41",
"description": "Tool to debug Ethereum transactions",
"contributors": [
{
@ -26,10 +26,10 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-astwalker": "^0.0.70",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-simulator": "^0.2.40",
"@remix-project/remix-solidity": "^0.5.26",
"@remix-project/remix-astwalker": "^0.0.71",
"@remix-project/remix-lib": "^0.5.48",
"@remix-project/remix-simulator": "^0.2.41",
"@remix-project/remix-solidity": "^0.5.27",
"ansi-gray": "^0.1.1",
"async": "^2.6.2",
"color-support": "^1.1.3",
@ -69,6 +69,6 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-debug#readme",
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844",
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-lib",
"version": "0.5.47",
"version": "0.5.48",
"description": "Library to various Remix tools",
"contributors": [
{
@ -55,6 +55,6 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-lib#readme",
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844",
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-simulator",
"version": "0.2.40",
"version": "0.2.41",
"description": "Ethereum IDE and tools for the web",
"contributors": [
{
@ -22,7 +22,7 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-lib": "^0.5.48",
"ansi-gray": "^0.1.1",
"async": "^3.1.0",
"body-parser": "^1.18.2",
@ -70,6 +70,6 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-simulator#readme",
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844",
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-solidity",
"version": "0.5.26",
"version": "0.5.27",
"description": "Tool to load and run Solidity compiler",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -19,7 +19,7 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-lib": "^0.5.48",
"async": "^2.6.2",
"eslint-scope": "^5.0.0",
"ethers": "^5.4.2",
@ -57,5 +57,5 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-solidity#readme",
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844"
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-tests",
"version": "0.2.40",
"version": "0.2.41",
"description": "Tool to test Solidity smart contracts",
"main": "src/index.js",
"types": "./src/index.d.ts",
@ -41,9 +41,9 @@
"@ethereumjs/tx": "^4.1.1",
"@ethereumjs/util": "^8.0.5",
"@ethereumjs/vm": "^6.4.1",
"@remix-project/remix-lib": "^0.5.47",
"@remix-project/remix-simulator": "^0.2.40",
"@remix-project/remix-solidity": "^0.5.26",
"@remix-project/remix-lib": "^0.5.48",
"@remix-project/remix-simulator": "^0.2.41",
"@remix-project/remix-solidity": "^0.5.27",
"@remix-project/remix-url-resolver": "^0.0.42",
"ansi-gray": "^0.1.1",
"async": "^2.6.0",
@ -78,5 +78,5 @@
"typescript": "^3.3.1"
},
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844"
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca"
}

@ -44,6 +44,7 @@ export const CopyToClipboard = (props: ICopyToClipboard) => {
content = getContent && getContent()
copyData()
}
e.stopPropagation()
e.preventDefault()
}

@ -30,11 +30,14 @@ function PluginButton({imgPath, envID, envText, callback, l2, description, remix
</div>
</button>
{l2 && <label className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_l2Label">L2</label>}
{remixMaintained && (
{remixMaintained ? (
<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-by-remix" tooltipText={<FormattedMessage id="home.maintainedByRemix" />}>
<i className="bg-light text-success mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel fas fa-check"></i>
</CustomTooltip>
)}
</CustomTooltip>)
: (<CustomTooltip placement="bottom" tooltipId="overlay-tooltip-external" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}>
<i aria-hidden="true" className="bg-light mx-1 px-1 mb-0 mx-2 position-absolute remixui_home_maintainedLabel text-warning far fa-exclamation-circle"></i>
</CustomTooltip>)
}
</div>
)
}

@ -102,7 +102,7 @@
right: 180px;
}
.remixui_home_maintainedLabel {
top: 120px;
top: 118px;
right: 180px;
}

@ -35,11 +35,14 @@ const RemixUIPanelHeader = (props: RemixPanelProps) => {
</h6>
<div className="d-flex flex-row">
<div className="d-flex flex-row">
{plugin?.profile?.maintainedBy?.toLowerCase() === 'remix' && (
{plugin?.profile?.maintainedBy?.toLowerCase() === 'remix' ? (
<CustomTooltip placement="right-end" tooltipId="maintainedByTooltip" tooltipClasses="text-nowrap" tooltipText={<FormattedMessage id="panel.maintainedByRemix" />}>
<i aria-hidden="true" className="text-success mt-1 px-1 fas fa-check"></i>
</CustomTooltip>
)}
</CustomTooltip>)
: (<CustomTooltip placement="right-end" tooltipId="maintainedExternally" tooltipClasses="text-nowrap" tooltipText={<FormattedMessage id="panel.maintainedExternally" />}>
<i aria-hidden="true" className="mt-1 px-1 text-warning far fa-exclamation-circle"></i>
</CustomTooltip>)
}
</div>
<div className="swapitHeaderInfoSection d-flex justify-content-between" data-id="swapitHeaderInfoSectionId" onClick={toggleClass}>
<CustomTooltip placement="right-end" tooltipText={<FormattedMessage id="panel.pluginInfo" />} tooltipId="pluginInfoTooltip" tooltipClasses="text-nowrap">

@ -17,7 +17,7 @@ function ActivePluginCard({profile, buttonText, deactivatePlugin}: PluginCardPro
<h6 className="remixui_displayName plugin-name">
<div>
{profile.displayName || profile.name}
{profile?.maintainedBy?.toLowerCase() == 'remix' && (
{profile?.maintainedBy?.toLowerCase() == 'remix' ? (
<CustomTooltip
placement="right"
tooltipId="pluginManagerActiveTitleByRemix"
@ -25,8 +25,16 @@ function ActivePluginCard({profile, buttonText, deactivatePlugin}: PluginCardPro
tooltipText={<FormattedMessage id="pluginManager.maintainedByRemix" />}
>
<i aria-hidden="true" className="px-1 text-success fas fa-check"></i>
</CustomTooltip>
)}
</CustomTooltip>)
: (<CustomTooltip
placement="right"
tooltipId="pluginManagerActiveTitleExternally"
tooltipClasses="text-nowrap"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />}
>
<i aria-hidden="true" className="px-1 text-warning far fa-exclamation-circle"></i>
</CustomTooltip>)
}
{profile.documentation && (
<CustomTooltip
placement="right"

@ -34,7 +34,7 @@ function InactivePluginCard({profile, buttonText, activatePlugin}: PluginCardPro
<h6 className="remixui_displayName plugin-name">
<div>
{profile.displayName || profile.name}
{profile?.maintainedBy?.toLowerCase() == 'remix' && (
{profile?.maintainedBy?.toLowerCase() == 'remix' ? (
<CustomTooltip
placement="right"
tooltipId="pluginManagerInactiveTitleByRemix"
@ -42,8 +42,16 @@ function InactivePluginCard({profile, buttonText, activatePlugin}: PluginCardPro
tooltipText={<FormattedMessage id="pluginManager.maintainedByRemix" />}
>
<i aria-hidden="true" className="px-1 text-success fas fa-check"></i>
</CustomTooltip>
)}
</CustomTooltip>)
: (<CustomTooltip
placement="right"
tooltipId="pluginManagerInactiveTitleExternally"
tooltipClasses="text-nowrap"
tooltipText={<FormattedMessage id="pluginManager.maintainedExternally" />}
>
<i aria-hidden="true" className="px-1 text-warning far fa-exclamation-circle"></i>
</CustomTooltip>)
}
{profile.documentation && (
<CustomTooltip
placement="right"

@ -54,7 +54,6 @@ export const listenOnPluginEvents = (filePanelPlugin) => {
})
plugin.on('fileManager', 'rootFolderChanged', async (path: string) => {
console.log('rootFolderChanged', path)
rootFolderChanged(path)
})

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-url-resolver",
"version": "0.0.69",
"version": "0.0.70",
"description": "Solidity import url resolver engine",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -41,5 +41,5 @@
"typescript": "^3.1.6"
},
"typings": "src/index.d.ts",
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844"
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-ws-templates",
"version": "1.0.34",
"version": "1.0.35",
"description": "Create a Remix IDE workspace using different templates",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -24,5 +24,5 @@
"ethers": "^5.4.2",
"web3": "^4.1.1"
},
"gitHead": "157dfed16b362e8c8a729d541a3b5b0cbf147844"
"gitHead": "24416dcc55a6c0d26ee589ec10e4fce98daf2aca"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remixd",
"version": "0.6.23",
"version": "0.6.24",
"description": "remix server: allow accessing file system from remix.ethereum.org and start a dev environment (see help section)",
"main": "index.js",
"types": "./index.d.ts",

@ -1,6 +1,6 @@
{
"name": "remix-project",
"version": "0.42.0-dev",
"version": "0.43.0-dev",
"license": "MIT",
"description": "Ethereum Remix Monorepo",
"main": "index.js",

@ -1,10 +1,10 @@
{
"version": "v0.40.0",
"version": "v0.42.0",
"title": "RELEASE HIGHLIGHTS",
"highlight1": "Circom v2.1.6 support",
"highlight2": "Improved & stable support for Vyper development",
"highlight3": "New workspace template: Uniswap HookBook MultiSigSwapHook",
"highlight1": "Ask GPT for circom ZKP compiler errors/warnings",
"highlight2": "Default Solidity compiler set to 0.8.24 with support of 'Cancun' EVM",
"highlight3": "Workspace Template 'Uniswap v4 Periphery' renamed to 'Uniswap v4 Template'",
"highlight4": "",
"more": "Read More",
"moreLink": "https://medium.com/remix-ide/remix-release-v0-40-0-17668192db64"
"moreLink": "https://medium.com/remix-ide/remix-release-v0-42-0-56ec48a49ae0"
}
Loading…
Cancel
Save