Merge branch 'master' of https://github.com/ethereum/remix-project into e2epluginapi2

indexworkspace2
bunsenstraat 3 years ago
commit 93663705ef
  1. 78
      README.md
  2. 8
      apps/remix-ide/src/app/tabs/runTab/settings.js
  3. 8
      libs/remix-analyzer/package.json
  4. 6
      libs/remix-astwalker/package.json
  5. 15
      libs/remix-debug/package.json
  6. 5
      libs/remix-lib/package.json
  7. 6
      libs/remix-simulator/package.json
  8. 6
      libs/remix-solidity/package.json
  9. 2
      libs/remix-solidity/src/compiler/types.ts
  10. 10
      libs/remix-tests/package.json
  11. 1
      libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx
  12. 4
      libs/remix-url-resolver/package.json
  13. 1772
      package-lock.json
  14. 3
      package.json

@ -1,20 +1,25 @@
[![Join the chat at https://gitter.im/ethereum/remix](https://badges.gitter.im/ethereum/remix.svg)](https://gitter.im/ethereum/remix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![CircleCI](https://circleci.com/gh/ethereum/remix-project.svg?style=svg)](https://circleci.com/gh/ethereum/remix-project)
[![Documentation Status](https://readthedocs.org/projects/docs/badge/?version=latest)](https://remix-ide.readthedocs.io/en/latest/index.html)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md)
![GitHub contributors](https://img.shields.io/github/contributors/ethereum/remix-project)
[![Awesome Remix](https://img.shields.io/badge/Awesome--Remix-resources-green)](https://github.com/ethereum/awesome-remix)
![GitHub](https://img.shields.io/github/license/ethereum/remix-project)
[![Join the chat at https://gitter.im/ethereum/remix](https://badges.gitter.im/ethereum/remix.svg)](https://gitter.im/ethereum/remix?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Twitter Follow](https://img.shields.io/twitter/follow/ethereumremix?style=social)](https://twitter.com/ethereumremix)
# Remix Project
**Remix Project** is a platform for development tools that use a plugin architecture. It encompasses sub-projects including Remix Plugin Engine, Remix Libraries, and of course Remix IDE.
**Remix IDE** is an open source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the **entire journey of contract development with [Solidity language](https://soliditylang.org/)** in as well as being a playground for learning and teaching Ethereum.
**Remix IDE** is an open source web and desktop application. It fosters a fast development cycle and has a rich set of plugins with intuitive GUIs. Remix is used for the **entire journey of contract development with [Solidity language](https://soliditylang.org/)** as well as a playground for learning and teaching [Ethereum](https://ethereum.org/).
To try web app, visit: [https://remix.ethereum.org](https://remix.ethereum.org).
Start developing using Remix on browser, visit: [https://remix.ethereum.org](https://remix.ethereum.org)
For desktop version, See releases: [https://github.com/ethereum/remix-desktop/releases](https://github.com/ethereum/remix-desktop/releases)
For desktop version, see releases: [https://github.com/ethereum/remix-desktop/releases](https://github.com/ethereum/remix-desktop/releases)
![Remix screenshot](https://github.com/ethereum/remix-project/raw/master/apps/remix-ide/remix_screenshot.png)
**Remix libraries** work as a core of native plugins of Remix IDE. Read more about libraries [here](libs/README.md)
:point_right: **Remix libraries** work as a core of native plugins of Remix IDE. Read more about libraries [here](libs/README.md)
## Offline Usage
@ -25,42 +30,46 @@ Note: It contains the latest release of Solidity available at the time of the pa
## Setup
Install **npm** and **node.js** (see https://docs.npmjs.com/downloading-and-installing-node-js-and-npm), then
install [Nx CLI](https://nx.dev/react/cli/overview) globally to enable running **nx executable commands**.
* Install **NPM** and **Node.js**. See [Guide](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) <br/>
*Supported versions:*
```bash
"engines": {
"node": "^14.17.6",
"npm": "^6.14.15"
}
```
* Install [Nx CLI](https://nx.dev/react/cli/overview) globally to enable running **nx executable commands**.
```bash
npm install -g @nrwl/cli
```
Clone the github repository (`wget` need to be installed first):
* Clone the github repository (`wget` need to be installed first):
```bash
git clone https://github.com/ethereum/remix-project.git
```
And build it:
* Build `remix-project`:
```bash
cd remix-project
npm install
nx build remix-ide --with-deps
nx build
nx serve
```
Run `nx serve` and open `http://127.0.0.1:8080` in your browser.
Open `http://127.0.0.1:8080` in your browser to load Remix IDE locally.
Then open your `text editor` and start developing.
The browser will automatically refresh when files are saved.
Go to your `text editor` and start developing. Browser will automatically refresh when files are saved.
## Production Build
To generate react production builds for remix-project.
```bash
npm run build:production
```
build can be found in `remix-project/dist/apps/remix-ide` directory.
Build can be found in `remix-project/dist/apps/remix-ide` directory.
```bash
npm run serve:production
```
production build will be served by default to `http://localhost:8080/` or `http://127.0.0.1:8080/`
Production build will be served by default to `http://localhost:8080/` or `http://127.0.0.1:8080/`
## Docker:
@ -99,9 +108,9 @@ To fetch docker-compose file without cloning this repo run:
curl https://raw.githubusercontent.com/ethereum/remix-project/master/docker-compose.yaml > docker-compose.yaml
```
### Troubleshooting building
### Troubleshooting
If you have trouble building the package, Make sure that you have the correct version of `node`, `npm` and `nvm`. Also ensure you have [Nx CLI](https://nx.dev/react/cli/overview) installed globally.
If you have trouble building the project, make sure that you have the correct version of `node`, `npm` and `nvm`. Also ensure [Nx CLI](https://nx.dev/react/cli/overview) is installed globally.
Run:
@ -115,22 +124,23 @@ In Debian based OS such as Ubuntu 14.04LTS you may need to run `apt-get install
## Unit Testing
Run the unit tests via: `nx test <project-name>`
```bash
nx test remix-analyzer
```
Run the unit tests using library name like: `nx test <project-name>`
Running unit tests via `nx test` requires at least node v10.0.0
For example, to run unit tests of `remix-analyzer`, use `nx test remix-analyzer`
## Browser Testing
To run the Selenium tests via Nightwatch:
- Build Remix IDE and serve it: `nx build remix-ide --with-deps && nx serve` # starts web server at localhost:8080
- Make sure Selenium is installed `npm run selenium-install` # don't need to repeat
- Run a selenium server `npm run selenium`
- Run all the tests `npm run nightwatch_local_firefox` or `npm run nightwatch_local_chrome`
- Or run a specific test case:
- Install Selenium for first time: `npm run selenium-install`
- Run a selenium server: `npm run selenium`
- Build & Serve Remix: `nx serve`
- Run all the end-to-end tests:
for Firefox: `npm run nightwatch_local_firefox`, or
for Google Chrome: `npm run nightwatch_local_chrome`
- Run a specific test case instead, use one of following commands:
- npm run nightwatch_local_ballot
@ -185,16 +195,14 @@ To run the Selenium tests via Nightwatch:
**NOTE:**
- **the `ballot` tests suite** requires to run `ganache-cli` locally.
- **The `ballot` tests suite** requires to run `ganache-cli` locally.
- **the `remixd` tests suite** requires to run `remixd` locally.
- **The `remixd` tests suite** requires to run `remixd` locally.
- **the `gist` tests suite** requires specifying a github access token in **.env file**.
- **The `gist` tests suite** requires specifying a github access token in **.env file**.
```
gist_token = <token>
gist_token = <token> // token should have permission to create a gist
```
**note that this token should have permission to create a gist.**
## Important Links

@ -170,10 +170,10 @@ class SettingsUI {
onchange=${() => this.validateValue()}
>
<select name="unit" class="form-control p-1 ${css.gasNvalUnit} ${css.col2_2} custom-select" id="unit">
<option data-unit="wei">wei</option>
<option data-unit="gwei">gwei</option>
<option data-unit="finney">finney</option>
<option data-unit="ether">ether</option>
<option data-unit="wei">Wei</option>
<option data-unit="gwei">Gwei</option>
<option data-unit="finney">Finney</option>
<option data-unit="ether">Ether</option>
</select>
</div>
</div>

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-analyzer",
"version": "0.5.16",
"version": "0.5.17",
"description": "Tool to perform static analysis on Solidity smart contracts",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -22,8 +22,8 @@
"@ethereumjs/block": "^3.5.1",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-astwalker": "^0.0.37",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-astwalker": "^0.0.38",
"@remix-project/remix-lib": "^0.5.8",
"async": "^2.6.2",
"ethereumjs-util": "^7.0.10",
"ethers": "^5.4.2",
@ -51,5 +51,5 @@
"typescript": "^3.7.5"
},
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-astwalker",
"version": "0.0.37",
"version": "0.0.38",
"description": "Tool to walk through Solidity AST",
"main": "src/index.js",
"scripts": {
@ -37,7 +37,7 @@
"@ethereumjs/block": "^3.5.1",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-lib": "^0.5.8",
"@types/tape": "^4.2.33",
"async": "^2.6.2",
"ethereumjs-util": "^7.0.10",
@ -53,5 +53,5 @@
"tap-spec": "^5.0.0"
},
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-debug",
"version": "0.5.7",
"version": "0.5.8",
"description": "Tool to debug Ethereum transactions",
"contributors": [
{
@ -22,15 +22,20 @@
"@ethereumjs/common": "^2.5.0",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-astwalker": "^0.0.37",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-simulator": "^0.2.7",
"@remix-project/remix-astwalker": "^0.0.38",
"@remix-project/remix-lib": "^0.5.8",
"@remix-project/remix-simulator": "^0.2.8",
"ansi-gray": "^0.1.1",
"async": "^2.6.2",
"color-support": "^1.1.3",
"commander": "^2.19.0",
"deep-equal": "^1.0.1",
"ethereumjs-util": "^7.0.10",
"ethers": "^5.4.2",
"express-ws": "^4.0.0",
"merge": "^2.1.1",
"string-similarity": "^4.0.4",
"time-stamp": "^2.2.0",
"web3": "^1.5.1"
},
"devDependencies": {
@ -62,5 +67,5 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-debug#readme",
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-lib",
"version": "0.5.7",
"version": "0.5.8",
"description": "Library to various Remix tools",
"contributors": [
{
@ -20,6 +20,7 @@
"async": "^2.1.2",
"ethereumjs-util": "^7.0.10",
"ethers": "^4.0.40",
"ethjs-util": "^0.1.6",
"events": "^3.0.0",
"solc": "^0.7.4",
"string-similarity": "^4.0.4",
@ -53,5 +54,5 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-lib#readme",
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-simulator",
"version": "0.2.7",
"version": "0.2.8",
"description": "Ethereum IDE and tools for the web",
"contributors": [
{
@ -18,7 +18,7 @@
"@ethereumjs/common": "^2.5.0",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-lib": "^0.5.8",
"ansi-gray": "^0.1.1",
"async": "^3.1.0",
"body-parser": "^1.18.2",
@ -66,5 +66,5 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-simulator#readme",
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-solidity",
"version": "0.4.7",
"version": "0.4.8",
"description": "Tool to load and run Solidity compiler",
"main": "src/index.js",
"types": "src/index.d.ts",
@ -18,7 +18,7 @@
"@ethereumjs/block": "^3.5.1",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-lib": "^0.5.8",
"async": "^2.6.2",
"eslint-scope": "^5.0.0",
"ethereumjs-util": "^7.0.10",
@ -61,5 +61,5 @@
},
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-solidity#readme",
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -150,7 +150,7 @@ export interface CompilerInputOptions {
language?: Language
}
export type EVMVersion = 'homestead' | 'tangerineWhistle' | 'spuriousDragon' | 'byzantium' | 'constantinople' | 'petersburg' | 'istanbul' | 'muirGlacier' | 'berlin' | 'london' | null
export type EVMVersion = 'homestead' | 'tangerineWhistle' | 'spuriousDragon' | 'byzantium' | 'constantinople' | 'petersburg' | 'istanbul' | 'berlin' | 'london' | null
export type Language = 'Solidity' | 'Yul'

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-tests",
"version": "0.2.7",
"version": "0.2.8",
"description": "Tool to test Solidity smart contracts",
"main": "src/index.js",
"types": "./src/index.d.ts",
@ -39,9 +39,9 @@
"@ethereumjs/common": "^2.5.0",
"@ethereumjs/tx": "^3.3.2",
"@ethereumjs/vm": "^5.5.3",
"@remix-project/remix-lib": "^0.5.7",
"@remix-project/remix-simulator": "^0.2.7",
"@remix-project/remix-solidity": "^0.4.7",
"@remix-project/remix-lib": "^0.5.8",
"@remix-project/remix-simulator": "^0.2.8",
"@remix-project/remix-solidity": "^0.4.8",
"ansi-gray": "^0.1.1",
"async": "^2.6.0",
"axios": ">=0.21.1",
@ -77,5 +77,5 @@
"typescript": "^3.3.1"
},
"typings": "src/index.d.ts",
"gitHead": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

@ -540,7 +540,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => {
<option data-id={state.evmVersion === 'default' ? 'selected' : ''} value="default">compiler default</option>
<option data-id={state.evmVersion === 'london' ? 'selected' : ''} value="london">london</option>
<option data-id={state.evmVersion === 'berlin' ? 'selected' : ''} value="berlin">berlin</option>
<option data-id={state.evmVersion === 'muirGlacier' ? 'selected' : ''} value="muirGlacier">muirGlacier</option>
<option data-id={state.evmVersion === 'istanbul' ? 'selected' : ''} value="istanbul">istanbul</option>
<option data-id={state.evmVersion === 'petersburg' ? 'selected' : ''} value="petersburg">petersburg</option>
<option data-id={state.evmVersion === 'constantinople' ? 'selected' : ''} value="constantinople">constantinople</option>

@ -1,6 +1,6 @@
{
"name": "@remix-project/remix-url-resolver",
"version": "0.0.28",
"version": "0.0.29",
"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": "4705cbc4d1761f75267992552da9db6cff2f3ed5"
"gitHead": "13f961dadacea374de4d79a70b1aa4acf243b18b"
}

1772
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,6 +1,6 @@
{
"name": "remix-project",
"version": "0.19.0-dev",
"version": "0.20.0-dev",
"license": "MIT",
"description": "Ethereum Remix Monorepo",
"keywords": [
@ -160,6 +160,7 @@
"document-register-element": "1.13.1",
"ethereumjs-util": "^7.0.10",
"ethers": "^5.4.2",
"ethjs-util": "^0.1.6",
"express-ws": "^4.0.0",
"file-saver": "^2.0.5",
"form-data": "^4.0.0",

Loading…
Cancel
Save