show error

show error

update solc

lock

18

put back lock

rm swarmgw

fix test

solc

yarn version

add solc

show file

set sol version on test file

update types

rm package

sync ethers

20 test

test all libs

rm pragma

test versions

update tests

revert solc

revert solc

undo changes

revert

revert

revert

fix test

log

update script

rm comment

fix flaky
pull/3658/head
filip mertens 2 years ago
parent f68ec36e6e
commit 7a861bd6f8
  1. 17
      .circleci/config.yml
  2. 2
      .github/workflows/publish-action.yml
  3. 2
      .github/workflows/run-sut.yml
  4. 2
      README.md
  5. 2
      apps/remix-ide-e2e/package.json
  6. 1
      apps/remix-ide-e2e/src/tests/workspace.test.ts
  7. 26
      apps/remix-ide/ci/download_e2e_assets.js
  8. 2
      libs/remix-analyzer/package.json
  9. 4
      libs/remix-debug/test/debugger.ts
  10. 2
      libs/remix-debug/test/sourceLocationTracker.ts
  11. 2
      libs/remix-lib/package.json
  12. 2
      libs/remix-solidity/package.json
  13. 3
      libs/remix-tests/package.json
  14. 3
      libs/remix-ui/debugger-ui/src/lib/vm-debugger/dropdown-panel.tsx
  15. 2
      libs/remix-url-resolver/package.json
  16. 2
      libs/remixd/package.json
  17. 13
      package.json
  18. 1134
      yarn.lock

@ -9,7 +9,7 @@ orbs:
jobs: jobs:
build: build:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
@ -43,7 +43,7 @@ jobs:
build-plugin: build-plugin:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -69,7 +69,7 @@ jobs:
lint: lint:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -86,7 +86,7 @@ jobs:
command: node ./apps/remix-ide/ci/lint-targets.js command: node ./apps/remix-ide/ci/lint-targets.js
remix-libs: remix-libs:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -98,6 +98,7 @@ jobs:
- restore_cache: - restore_cache:
keys: keys:
- v1-deps-{{ checksum "yarn.lock" }} - v1-deps-{{ checksum "yarn.lock" }}
- run: yarn --version
- run: yarn - run: yarn
- run: yarn build:libs - run: yarn build:libs
- run: cd dist/libs/remix-tests && yarn - run: cd dist/libs/remix-tests && yarn
@ -111,7 +112,7 @@ jobs:
remix-ide-browser: remix-ide-browser:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -175,7 +176,7 @@ jobs:
remix-test-plugins: remix-test-plugins:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -216,7 +217,7 @@ jobs:
predeploy: predeploy:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge
working_directory: ~/remix-project working_directory: ~/remix-project
@ -240,7 +241,7 @@ jobs:
deploy-build: deploy-build:
docker: docker:
- image: cimg/node:16.20.0-browsers - image: cimg/node:20.0.0-browsers
resource_class: resource_class:
xlarge xlarge

@ -11,7 +11,7 @@ jobs:
uses: actions/checkout@v2 uses: actions/checkout@v2
- uses: actions/setup-node@v3 - uses: actions/setup-node@v3
with: with:
node-version: 16.20.0 node-version: 20.0.0
- run: yarn install - run: yarn install
- run: ls - run: ls
- run: pwd - run: pwd

@ -12,7 +12,7 @@ jobs:
- name: Environment Setup - name: Environment Setup
uses: actions/setup-node@v3 uses: actions/setup-node@v3
with: with:
node-version: 16.20.0 node-version: 20.0.0
- name: Run SUT Action - name: Run SUT Action
uses: EthereumRemix/sol-test@v1 uses: EthereumRemix/sol-test@v1
with: with:

@ -50,7 +50,7 @@ Note: It contains the latest supported version of Solidity available at the time
*Supported versions:* *Supported versions:*
```bash ```bash
"engines": { "engines": {
"node": "^16.20.0", "node": "^20.0.0",
"npm": "^6.14.15" "npm": "^6.14.15"
} }
``` ```

@ -2,7 +2,7 @@
"name": "remix-ide-e2e", "name": "remix-ide-e2e",
"license": "MIT", "license": "MIT",
"engines": { "engines": {
"node": "^16.20.0", "node": "^20.0.0",
"npm": "^6.14.15" "npm": "^6.14.15"
}, },
"dependencies": { "dependencies": {

@ -118,6 +118,7 @@ module.exports = {
.execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() }) .execute(function () { (document.querySelector('[data-id="fileSystemModalDialogModalFooter-react"] .modal-ok') as HTMLElement).click() })
.pause(100) .pause(100)
.waitForElementPresent('*[data-id="treeViewUltreeViewMenu"]') .waitForElementPresent('*[data-id="treeViewUltreeViewMenu"]')
.waitForElementVisible('*[data-id="treeViewLitreeViewItem.prettierrc.json"]')
.execute(function () { .execute(function () {
const fileList = document.querySelector('*[data-id="treeViewUltreeViewMenu"]') const fileList = document.querySelector('*[data-id="treeViewUltreeViewMenu"]')
return fileList.getElementsByTagName('li').length; return fileList.getElementsByTagName('li').length;

@ -20,14 +20,20 @@ axios({
const path = `./dist/apps/remix-ide/assets/js/${build.path}`; const path = `./dist/apps/remix-ide/assets/js/${build.path}`;
// use axios to get the file // use axios to get the file
try {
axios({ axios({
method: 'get', method: 'get',
url: buildurl, url: buildurl,
responseType: 'stream'
}).then(function (response) { }).then(function (response) {
// pipe the result stream into a file on disc fs.writeFile(path, response.data, function (err) {
response.data.pipe(fs.createWriteStream(path)); if (err) {
console.log(err);
}
})
}) })
} catch (e) {
console.log('Failed to download ' + build.path + ' from ' + buildurl)
}
} }
} }
@ -47,14 +53,22 @@ fs.readdirSync(testFolder).forEach(file => {
const path = `./dist/apps/remix-ide/assets/js/soljson${version}.js`; const path = `./dist/apps/remix-ide/assets/js/soljson${version}.js`;
// use axios to get the file // use axios to get the file
try {
axios({ axios({
method: 'get', method: 'get',
url: url, url: url,
responseType: 'stream'
}).then(function (response) { }).then(function (response) {
// pipe the result stream into a file on disc fs.writeFile(path, response.data, function (err) {
response.data.pipe(fs.createWriteStream(path)); if (err) {
console.log(err);
}
}) })
})
} catch (e) {
console.log('Failed to download soljson' + version + ' from ' + url)
}
} }
} }

@ -40,7 +40,7 @@
"license": "MIT", "license": "MIT",
"homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-analyzer#readme", "homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-analyzer#readme",
"devDependencies": { "devDependencies": {
"@types/node": "^13.7.0", "@types/node": "^18.16.1",
"babel-eslint": "^7.1.1", "babel-eslint": "^7.1.1",
"babel-plugin-transform-object-assign": "^6.22.0", "babel-plugin-transform-object-assign": "^6.22.0",
"babel-preset-es2015": "^6.24.0", "babel-preset-es2015": "^6.24.0",

@ -9,7 +9,7 @@ import { BreakpointManager } from '../src/code/breakpointManager'
const compiler = require('solc') const compiler = require('solc')
const vmCall = require('./vmCall') const vmCall = require('./vmCall')
const ballot = `pragma solidity >=0.4.22 <0.8.0; const ballot = `pragma solidity >=0.4.22;
/** /**
* @title Ballot * @title Ballot
@ -287,7 +287,7 @@ function testDebugging (debugManager) {
breakPointManager.add({fileName: 'test.sol', row: 39}) breakPointManager.add({fileName: 'test.sol', row: 39})
breakPointManager.event.register('breakpointHit', function (sourceLocation, step) { breakPointManager.event.register('breakpointHit', function (sourceLocation, step) {
t.equal(JSON.stringify(sourceLocation), JSON.stringify({ start: 1153, length: 6, file: 0, jump: '-' })) t.equal(JSON.stringify(sourceLocation), JSON.stringify({ start: 1146, length: 6, file: 0, jump: '-' }))
t.equal(step, 212) t.equal(step, 212)
}) })

@ -95,7 +95,7 @@ tape('SourceLocationTracker', function (t) {
map = await sourceLocationTracker.getValidSourceLocationFromVMTraceIndex('0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5', 45, output.contracts) map = await sourceLocationTracker.getValidSourceLocationFromVMTraceIndex('0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5', 45, output.contracts)
st.equal(map['file'], 1) // 1 refers to the generated source (pragma experimental ABIEncoderV2) st.equal(map['file'], 1) // 1 refers to the generated source (pragma experimental ABIEncoderV2)
st.equal(map['start'], 1293) st.equal(map['start'], 1297)
st.equal(map['length'], 32) st.equal(map['length'], 32)
map = await sourceLocationTracker.getValidSourceLocationFromVMTraceIndex('0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5', 36, output.contracts) map = await sourceLocationTracker.getValidSourceLocationFromVMTraceIndex('0x0d3a18d64dfe4f927832ab58d6451cecc4e517c5', 36, output.contracts)

@ -19,7 +19,7 @@
"dependencies": { "dependencies": {
"@ethereumjs/util": "^8.0.5", "@ethereumjs/util": "^8.0.5",
"async": "^2.1.2", "async": "^2.1.2",
"ethers": "^4.0.40", "ethers": "^5.7.2",
"ethjs-util": "^0.1.6", "ethjs-util": "^0.1.6",
"events": "^3.0.0", "events": "^3.0.0",
"solc": "^0.7.4", "solc": "^0.7.4",

@ -38,7 +38,7 @@
"@babel/preset-es2015": "latest", "@babel/preset-es2015": "latest",
"@babel/preset-es2017": "latest", "@babel/preset-es2017": "latest",
"@babel/preset-stage-0": "^7.0.0", "@babel/preset-stage-0": "^7.0.0",
"@types/node": "^13.1.1", "@types/node": "^18.16.1",
"babel-eslint": "^10.0.0", "babel-eslint": "^10.0.0",
"babelify": "^10.0.0", "babelify": "^10.0.0",
"typescript": "^3.7.4" "typescript": "^3.7.4"

@ -58,6 +58,7 @@
"express-ws": "^4.0.0", "express-ws": "^4.0.0",
"merge": "^1.2.0", "merge": "^1.2.0",
"signale": "^1.4.0", "signale": "^1.4.0",
"solc": "^0.7.4",
"string-similarity": "^4.0.4", "string-similarity": "^4.0.4",
"time-stamp": "^2.2.0", "time-stamp": "^2.2.0",
"tslib": "^2.3.0", "tslib": "^2.3.0",
@ -71,7 +72,7 @@
"@types/colors": "^1.2.1", "@types/colors": "^1.2.1",
"@types/commander": "^2.12.2", "@types/commander": "^2.12.2",
"@types/mocha": "^5.2.5", "@types/mocha": "^5.2.5",
"@types/node": "^10.12.21", "@types/node": "^18.16.1",
"@types/web3": "^1.0.18", "@types/web3": "^1.0.18",
"mocha": "^5.1.0", "mocha": "^5.1.0",
"ts-node": "^8.0.2", "ts-node": "^8.0.2",

@ -157,7 +157,8 @@ export const DropdownPanel = (props: DropdownPanelProps) => {
...prevState.dropdownContent, ...prevState.dropdownContent,
display: 'block' display: 'block'
}, },
copiableContent: JSON.stringify(calldata, null, '\t'), // replace 0xNaN with 0x0
copiableContent: JSON.stringify(calldata, null, '\t').replace(/0xNaN/g, '0x0'),
message: { message: {
innerText: isEmpty ? 'No data available' : '', innerText: isEmpty ? 'No data available' : '',
display: isEmpty ? 'block' : 'none' display: isEmpty ? 'block' : 'none'

@ -31,7 +31,7 @@
"devDependencies": { "devDependencies": {
"@types/chai": "^4.1.7", "@types/chai": "^4.1.7",
"@types/mocha": "^5.2.5", "@types/mocha": "^5.2.5",
"@types/node": "^10.12.18", "@types/node": "^18.16.1",
"chai": "^4.2.0", "chai": "^4.2.0",
"mocha": "^5.1.0", "mocha": "^5.1.0",
"remix-plugin": "0.0.1-alpha.2", "remix-plugin": "0.0.1-alpha.2",

@ -49,7 +49,7 @@
"devDependencies": { "devDependencies": {
"@types/axios": "^0.14.0", "@types/axios": "^0.14.0",
"@types/fs-extra": "^9.0.1", "@types/fs-extra": "^9.0.1",
"@types/node": "^14.0.5", "@types/node": "^18.16.1",
"@types/ws": "^7.2.4", "@types/ws": "^7.2.4",
"@typescript-eslint/eslint-plugin": "^3.2.0", "@typescript-eslint/eslint-plugin": "^3.2.0",
"@typescript-eslint/parser": "^3.2.0", "@typescript-eslint/parser": "^3.2.0",

@ -21,7 +21,7 @@
"remix-ide": "./apps/remix-ide/bin/remix-ide" "remix-ide": "./apps/remix-ide/bin/remix-ide"
}, },
"engines": { "engines": {
"node": "^16.20.0", "node": "^20.0.0",
"npm": "^6.14.15" "npm": "^6.14.15"
}, },
"scripts": { "scripts": {
@ -48,7 +48,7 @@
"help": "nx help", "help": "nx help",
"lint:libs": "nx run-many --target=lint --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,remix-ui-tree-view,remix-ui-modal-dialog,remix-ui-toaster,remix-ui-helper,remix-ui-debugger-ui,remix-ui-workspace,remix-ui-static-analyser,remix-ui-checkbox,remix-ui-settings,remix-core-plugin,remix-ui-renderer,remix-ui-publish-to-storage,remix-ui-solidity-compiler,solidity-unit-testing,remix-ui-plugin-manager,remix-ui-terminal,remix-ui-editor,remix-ui-app,remix-ui-tabs,remix-ui-panel,remix-ui-run-tab,remix-ui-permission-handler,remix-ui-search,remix-ui-file-decorators,remix-ui-tooltip-popup,ghaction-helper", "lint:libs": "nx run-many --target=lint --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,remix-ui-tree-view,remix-ui-modal-dialog,remix-ui-toaster,remix-ui-helper,remix-ui-debugger-ui,remix-ui-workspace,remix-ui-static-analyser,remix-ui-checkbox,remix-ui-settings,remix-core-plugin,remix-ui-renderer,remix-ui-publish-to-storage,remix-ui-solidity-compiler,solidity-unit-testing,remix-ui-plugin-manager,remix-ui-terminal,remix-ui-editor,remix-ui-app,remix-ui-tabs,remix-ui-panel,remix-ui-run-tab,remix-ui-permission-handler,remix-ui-search,remix-ui-file-decorators,remix-ui-tooltip-popup,ghaction-helper",
"build:libs": "nx run-many --target=build --parallel=false --with-deps=true --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,ghaction-helper", "build:libs": "nx run-many --target=build --parallel=false --with-deps=true --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-solidity,remix-tests,remix-url-resolver,remix-ws-templates,remixd,ghaction-helper",
"test:libs": "nx run-many --target=test --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-tests,remix-url-resolver,remixd", "test:libs": "nx run-many --target=test --projects=remix-analyzer,remix-astwalker,remix-debug,remix-lib,remix-simulator,remix-tests,remix-url-resolver",
"publish:libs": "yarn run build:libs && lerna publish --skip-git && yarn run bumpVersion:libs", "publish:libs": "yarn run build:libs && lerna publish --skip-git && yarn run bumpVersion:libs",
"publishDev:libs": "yarn run build:libs && lerna publish --npm-tag alpha --skip-git && yarn run bumpVersion:libs", "publishDev:libs": "yarn run build:libs && lerna publish --npm-tag alpha --skip-git && yarn run bumpVersion:libs",
"build:e2e": "node apps/remix-ide-e2e/src/buildGroupTests.js && tsc -p apps/remix-ide-e2e/tsconfig.e2e.json", "build:e2e": "node apps/remix-ide-e2e/src/buildGroupTests.js && tsc -p apps/remix-ide-e2e/tsconfig.e2e.json",
@ -200,7 +200,6 @@
"sol2uml": "^2.4.3", "sol2uml": "^2.4.3",
"string-similarity": "^4.0.4", "string-similarity": "^4.0.4",
"svg2pdf.js": "^2.2.1", "svg2pdf.js": "^2.2.1",
"swarmgw": "^0.3.1",
"time-stamp": "^2.2.0", "time-stamp": "^2.2.0",
"toml": "^3.0.0", "toml": "^3.0.0",
"tree-kill": "^1.2.2", "tree-kill": "^1.2.2",
@ -220,8 +219,6 @@
"@babel/plugin-transform-runtime": "^7.10.4", "@babel/plugin-transform-runtime": "^7.10.4",
"@babel/polyfill": "^7.4.4", "@babel/polyfill": "^7.4.4",
"@babel/preset-env": "^7.19.4", "@babel/preset-env": "^7.19.4",
"@babel/preset-es2015": "^7.0.0-beta.53",
"@babel/preset-es2017": "latest",
"@babel/preset-react": "^7.18.6", "@babel/preset-react": "^7.18.6",
"@babel/preset-stage-0": "^7.0.0", "@babel/preset-stage-0": "^7.0.0",
"@babel/preset-typescript": "^7.18.6", "@babel/preset-typescript": "^7.18.6",
@ -249,7 +246,7 @@
"@types/isomorphic-git__lightning-fs": "^4.4.2", "@types/isomorphic-git__lightning-fs": "^4.4.2",
"@types/lodash": "^4.14.172", "@types/lodash": "^4.14.172",
"@types/mocha": "^9.1.1", "@types/mocha": "^9.1.1",
"@types/node": "18.7.18", "@types/node": "18.16.1",
"@types/react": "^17.0.24", "@types/react": "^17.0.24",
"@types/react-beautiful-dnd": "^13.1.2", "@types/react-beautiful-dnd": "^13.1.2",
"@types/react-dom": "^17.0.9", "@types/react-dom": "^17.0.9",
@ -312,7 +309,7 @@
"ganache-cli": "^6.8.1", "ganache-cli": "^6.8.1",
"gists": "^1.0.1", "gists": "^1.0.1",
"gulp": "^4.0.2", "gulp": "^4.0.2",
"hardhat": "^2.12.7", "hardhat": "^2.14.0",
"https-browserify": "^1.0.0", "https-browserify": "^1.0.0",
"ipfs-http-client": "^47.0.1", "ipfs-http-client": "^47.0.1",
"ipfs-mini": "^1.1.5", "ipfs-mini": "^1.1.5",
@ -343,7 +340,7 @@
"rimraf": "^2.6.1", "rimraf": "^2.6.1",
"selenium-standalone": "^8.2.3", "selenium-standalone": "^8.2.3",
"semver": "^7.4.0", "semver": "^7.4.0",
"solc": "0.7.4", "solc": "^0.7.4",
"stream-browserify": "^3.0.0", "stream-browserify": "^3.0.0",
"stream-http": "^3.2.0", "stream-http": "^3.2.0",
"style-loader": "^3.3.1", "style-loader": "^3.3.1",

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save