Merge branch 'master' into branch2

pull/5658/head
leopardracer 3 days ago committed by GitHub
commit c7dd66d713
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      apps/remix-ide-e2e/src/tests/remixd.test.ts
  2. 3
      apps/remix-ide-e2e/src/tests/terminal.test.ts
  3. 2
      apps/remix-ide/src/app/providers/style/environment-explorer.css
  4. 1
      apps/remix-ide/src/app/tabs/locale-module.js
  5. 6
      apps/remix-ide/src/app/tabs/script-runner-ui.tsx
  6. 2
      apps/remix-ide/src/app/tabs/theme-module.js
  7. 2
      apps/remixdesktop/test/tests/app/foundry.test.ts
  8. 8
      libs/ghaction-helper/package.json
  9. 8
      libs/remix-analyzer/package.json
  10. 6
      libs/remix-astwalker/package.json
  11. 12
      libs/remix-debug/package.json
  12. 4
      libs/remix-lib/package.json
  13. 6
      libs/remix-simulator/package.json
  14. 6
      libs/remix-solidity/package.json
  15. 10
      libs/remix-tests/package.json
  16. 3
      libs/remix-ui/grid-view/src/lib/remix-ui-grid-cell.css
  17. 23
      libs/remix-ui/grid-view/src/lib/remix-ui-grid-cell.tsx
  18. 6
      libs/remix-ui/home-tab/src/lib/components/homeTabFeatured.tsx
  19. 19
      libs/remix-ui/scriptrunner/src/lib/script-runner-ui.tsx
  20. 1
      libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
  21. 4
      libs/remix-url-resolver/package.json
  22. 4
      libs/remix-ws-templates/package.json
  23. 2
      libs/remixd/package.json

@ -527,7 +527,7 @@ async function installFoundry(): Promise<void> {
server.stdout.on('data', function (data) {
console.log(data.toString())
if (
data.toString().includes("foundryup: done!")
data.toString().includes("foundryup: use - chisel 0.3.0")
) {
console.log('resolving')
resolve()

@ -195,7 +195,7 @@ module.exports = {
.journalChildIncludes('inside getOwner', { shouldHaveOnlyOneOccurrence: true })
},
'Emit 2 similar events and check the filtering is done properly #group4': function (browser: NightwatchBrowser) {
'Emit 2 similar events and check the filtering is done properly #group11': function (browser: NightwatchBrowser) {
let addressRef: string
browser
.addFile('contracts/contract_with_event.sol', { content: contract_with_event })
@ -204,7 +204,6 @@ module.exports = {
.clickLaunchIcon('solidity')
.click('*[data-id="compilerContainerCompileBtn"]')
.clickLaunchIcon('udapp')
.click('*[data-id="deployAndRunClearInstances"]')
.selectContract('Example')
.createContract('')
.getAddressAtPosition(0, (address) => {

@ -1,5 +1,5 @@
.EECellStyle {
min-height: 6rem;
min-height: 8rem;
max-width: 12rem;
min-width: 12rem;
}

@ -77,6 +77,7 @@ export class LocaleModule extends Plugin {
const next = localeCode || this.active // Name
if (next === this.active) return // --> exit out of this method
_paq.push(['trackEvent', 'localeModule', 'switchTo', next])
const nextLocale = this.locales[next] // Locale
if (!this.forced) this._deps.config.set('settings/locale', next)

@ -71,7 +71,6 @@ export class ScriptRunnerUIPlugin extends ViewPlugin {
})
this.plugin.on('fileManager', 'fileSaved', async (file: string) => {
if (file === configFileName && this.enableCustomScriptRunner) {
await this.loadCustomConfig()
this.renderComponent()
@ -114,7 +113,8 @@ export class ScriptRunnerUIPlugin extends ViewPlugin {
activateCustomScriptRunner={this.activateCustomScriptRunner.bind(this)}
saveCustomConfig={this.saveCustomConfig.bind(this)}
openCustomConfig={this.openCustomConfig.bind(this)}
loadScriptRunner={this.selectScriptRunner.bind(this)} />
loadScriptRunner={this.selectScriptRunner.bind(this)}
/>
)
}
@ -184,7 +184,6 @@ export class ScriptRunnerUIPlugin extends ViewPlugin {
this.setIsLoading(config.name, false)
this.renderComponent()
return result
}
async execute(script: string, filePath: string) {
@ -289,7 +288,6 @@ export class ScriptRunnerUIPlugin extends ViewPlugin {
}
}
}
}
async openCustomConfig() {

@ -118,7 +118,7 @@ export class ThemeModule extends Plugin {
}
const next = themeName || this.active // Name
if (next === this.active) return // --> exit out of this method
_paq.push(['trackEvent', 'themeModule', 'switchTo', next])
_paq.push(['trackEvent', 'themeModule', 'switchThemeTo', next])
const nextTheme = this.themes[next] // Theme
if (!this.forced) this._deps.config.set('settings/theme', next)
document.getElementById('theme-link') ? document.getElementById('theme-link').remove() : null

@ -89,7 +89,7 @@ async function installFoundry(): Promise<void> {
server.stdout.on('data', function (data) {
console.log(data.toString())
if (
data.toString().includes("foundryup: done!")
data.toString().includes("foundryup: use - chisel 0.3.0")
) {
console.log('resolving')
resolve()

@ -1,6 +1,6 @@
{
"name": "@remix-project/ghaction-helper",
"version": "0.1.42",
"version": "0.1.43",
"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.48",
"@remix-project/remix-solidity": "^0.5.49",
"@types/chai": "^4.3.4",
"typescript": "^4.9.3"
},
"dependencies": {
"@ethereum-waffle/chai": "^3.4.4",
"@remix-project/remix-simulator": "^0.2.62",
"@remix-project/remix-simulator": "^0.2.63",
"chai": "^4.3.7",
"ethers": "^5.7.2",
"web3": "^4.1.1"
},
"types": "./src/index.d.ts",
"gitHead": "baa8abc9b912288b7a2546bedc717a9229f652c4"
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-analyzer",
"version": "0.5.71",
"version": "0.5.72",
"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": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-astwalker": "^0.0.92",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-astwalker": "^0.0.93",
"@remix-project/remix-lib": "^0.5.70",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4",
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551",
"main": "./src/index.js"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-astwalker",
"version": "0.0.92",
"version": "0.0.93",
"description": "Tool to walk through Solidity AST",
"main": "src/index.js",
"scripts": {
@ -37,7 +37,7 @@
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-lib": "^0.5.70",
"@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": "baa8abc9b912288b7a2546bedc717a9229f652c4",
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-debug",
"version": "0.5.62",
"version": "0.5.63",
"description": "Tool to debug Ethereum transactions",
"contributors": [
{
@ -26,10 +26,10 @@
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-astwalker": "^0.0.92",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-simulator": "^0.2.62",
"@remix-project/remix-solidity": "^0.5.48",
"@remix-project/remix-astwalker": "^0.0.93",
"@remix-project/remix-lib": "^0.5.70",
"@remix-project/remix-simulator": "^0.2.63",
"@remix-project/remix-solidity": "^0.5.49",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4",
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-lib",
"version": "0.5.69",
"version": "0.5.70",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4",
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-simulator",
"version": "0.2.62",
"version": "0.2.63",
"description": "Ethereum IDE and tools for the web",
"contributors": [
{
@ -23,7 +23,7 @@
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@metamask/eth-sig-util": "^7.0.2",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-lib": "^0.5.70",
"ansi-gray": "^0.1.1",
"async": "^3.1.0",
"body-parser": "^1.18.2",
@ -71,6 +71,6 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-simulator#readme",
"typings": "src/index.d.ts",
"gitHead": "baa8abc9b912288b7a2546bedc717a9229f652c4",
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551",
"types": "./src/index.d.ts"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-solidity",
"version": "0.5.48",
"version": "0.5.49",
"description": "Tool to load and run Solidity compiler",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -19,7 +19,7 @@
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-lib": "^0.5.70",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4"
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-tests",
"version": "0.2.62",
"version": "0.2.63",
"description": "Tool to test Solidity smart contracts",
"main": "src/index.js",
"types": "./src/index.d.ts",
@ -41,9 +41,9 @@
"@ethereumjs/tx": "5.4.0",
"@ethereumjs/util": "9.1.0",
"@ethereumjs/vm": "8.1.1",
"@remix-project/remix-lib": "^0.5.69",
"@remix-project/remix-simulator": "^0.2.62",
"@remix-project/remix-solidity": "^0.5.48",
"@remix-project/remix-lib": "^0.5.70",
"@remix-project/remix-simulator": "^0.2.63",
"@remix-project/remix-solidity": "^0.5.49",
"@remix-project/remix-url-resolver": "^0.0.42",
"ansi-gray": "^0.1.1",
"async": "^2.6.0",
@ -89,5 +89,5 @@
"@ethereumjs/trie": "6.2.1"
},
"typings": "src/index.d.ts",
"gitHead": "baa8abc9b912288b7a2546bedc717a9229f652c4"
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551"
}

@ -27,9 +27,6 @@
.remixui_grid_cell_pin {
width: 1rem;
height: 1rem;
position: relative;
right: 2.1rem;
top: 4.7rem;
background: transparent;
z-index: 1000;
}

@ -86,8 +86,8 @@ export const RemixUIGridCell = (props: RemixUIGridCellProps) => {
{ anyEnabled && <div className='mr-2 mt-3 pb-1 d-flex flex-column'>
<div className='d-flex flex-grid'>
<div className={ `${pinned ? "" : "border-dark "}` + "d-flex mx-0 p-2 bg-light border border-secondary remixui_grid_cell_container " + props.classList || ''} data-id={"remixUIGS" + props.title}>
<div className="d-flex remixui_grid_cell w-100 flex-column">
{ !props.hideTitle && <div className='d-flex flex-row pb-1 mb-1 align-items-end' style={{ minWidth: '8rem', height: '1rem' }}>
<div className="d-flex remixui_grid_cell w-100 space-between justify-content-between flex-column">
{ !props.hideTitle && <div className='d-flex flex-row pb-1 my-1 align-items-end' style={{ minWidth: '8rem', height: '1rem' }}>
{ props.logo ? props.logoURL !== '' ?
<a href={props.logoURL} target="__blank">
<img className='remixui_grid_view_logo mr-1' src={props.logo} style={{ width: '1rem', height: '1rem' }}/>
@ -110,17 +110,18 @@ export const RemixUIGridCell = (props: RemixUIGridCellProps) => {
}
</div> }
{ props.children }
{ filterCon.showPin && <button
className={`${pinned ? 'fas fa-toggle-on fa-lg text-dark' : 'fas fa-toggle-off fa-lg text-secondary'}` + ` fa-regular border-0 p-0 mt-2 align-self-end mr-1 remixui_grid_cell_pin`}
style={{ fontSize: 'large' }}
data-id={`${pinned ? `${props.id}-pinned` : `${props.id}-unpinned`}`}
onClick={async () => {
if (!props.pinStateCallback) setPinned(!pinned)
if (await props.pinStateCallback(!pinned)) setPinned(!pinned)
}}
></button>}
</div>
</div>
{ filterCon.showPin && <button
className={`${pinned ? 'fas fa-toggle-on fa-lg text-dark' : 'fas fa-toggle-off fa-lg text-secondary'}` + ` fa-regular border-0 mb-0 remixui_grid_cell_pin`}
style={{ fontSize: 'large' }}
data-id={`${pinned ? `${props.id}-pinned` : `${props.id}-unpinned`}`}
onClick={async () => {
if (!props.pinStateCallback) setPinned(!pinned)
if (await props.pinStateCallback(!pinned)) setPinned(!pinned)
}}
></button>}
{ props.tagList && <div className={`d-flex flex-column align-items-begin ` +`${filterCon.showPin ? 'remixui_grid_cell_tags' : 'remixui_grid_cell_tags_no_pin'}`}>
{ Object.keys(props.tagList).map((key) => (
filterCon.keyValueMap[props.tagList[key]]?.enabled && (

@ -50,8 +50,8 @@ function HomeTabFeatured(props:HomeTabFeaturedProps) {
autoPlaySpeed={10000}
dotListClass="position-relative mt-2"
>
<div
className="mx-1 px-1 d-flex" // Please do not delete. just comment this out. To be used every year.
{false && <div // no this is not a mistake. keep it false until next year ;)
className="mx-1 px-1 d-flex d-none" // Please do not delete. just comment this out or keep hidden. To be used every year.
>
<a href="https://cryptpad.fr/form/#/2/form/view/pV-DdryeJoYUWvW+gXsFaMNynEY7t5mUsgeD1urgwSE/" target="__blank">
<img className="remixui_carouselImage" src={'/assets/img/solSurvey2024.webp'} alt=""></img>
@ -83,7 +83,7 @@ function HomeTabFeatured(props:HomeTabFeaturedProps) {
</a>
</p>
</div>
</div>
</div> }
<div className="mr-1 pr-1 d-flex align-items-center justify-content-center h-100">
<a href={releaseDetails.moreLink} target="__blank">
<img src={'assets/img/remi_drums_whatsnew.webp'} className="remixui_carouselImage" alt=""></img>

@ -5,6 +5,7 @@ import { faCaretDown, faCaretRight, faCheck, faExclamationCircle, faRedoAlt, faT
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import { CustomScriptRunner } from "./custom-script-runner";
import { CustomTooltip } from "@remix-ui/helper";
const _paq = (window._paq = window._paq || []) // eslint-disable-line
export interface ScriptRunnerUIProps {
loadScriptRunner: (config: ProjectConfiguration) => void;
@ -62,12 +63,18 @@ export const ScriptRunnerUI = (props: ScriptRunnerUIProps) => {
</div>}
{!config.isLoading && config.errorStatus && config.error &&
<div onClick={() => loadScriptRunner(config)} className="pointer px-2">
<div
onClick={() => {
loadScriptRunner(config)
_paq.push(['trackEvent', 'scriptRunnerPlugin', 'loadScriptRunnerConfig', config.name])
}}
className="pointer px-2"
>
<FontAwesomeIcon data-id={`sr-reload-${config.name}`} icon={faRedoAlt}></FontAwesomeIcon>
</div>}
{!config.isLoading && !config.errorStatus && !config.error &&
<div onClick={() => loadScriptRunner(config)} className="pointer px-2">
{activeConfig && activeConfig.name !== config.name ?
{ activeConfig && activeConfig.name !== config.name ?
<FontAwesomeIcon data-id={`sr-toggle-${config.name}`} icon={faToggleOn}></FontAwesomeIcon> :
<FontAwesomeIcon data-id={`sr-loaded-${config.name}`} className="text-success" icon={faCheck}></FontAwesomeIcon>
}
@ -87,7 +94,9 @@ export const ScriptRunnerUI = (props: ScriptRunnerUIProps) => {
</li>
))}
</ul></>
</Accordion.Collapse></div>))}
</Accordion.Collapse>
</div>))
}
</Accordion>
{enableCustomScriptRunner &&
<CustomScriptRunner
@ -98,6 +107,6 @@ export const ScriptRunnerUI = (props: ScriptRunnerUIProps) => {
publishedConfigurations={configurations.filter((config) => config.publish)}
/>}
</div>
);
};
)
}

@ -486,6 +486,7 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
compileIcon.current.classList.remove('remixui_spinningIcon')
compileIcon.current.classList.remove('remixui_bouncingIcon')
if (!state.autoCompile || (state.autoCompile && state.matomoAutocompileOnce)) {
_paq.push(['trackEvent', 'compiler', 'compiled', 'solCompilationFinishedTriggeredByUser'])
_paq.push(['trackEvent', 'compiler', 'compiled', 'with_config_file_' + state.useFileConfiguration])
_paq.push(['trackEvent', 'compiler', 'compiled', 'with_version_' + _retrieveVersion()])
if (state.autoCompile && state.matomoAutocompileOnce) {

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-url-resolver",
"version": "0.0.91",
"version": "0.0.92",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4"
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-ws-templates",
"version": "1.0.56",
"version": "1.0.57",
"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": "baa8abc9b912288b7a2546bedc717a9229f652c4"
"gitHead": "a92b8aa830067f879c96b41e301bc3174b87e551"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remixd",
"version": "0.6.42",
"version": "0.6.43",
"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",

Loading…
Cancel
Save