From 3f13190504e8ccc981f9a8a79b1557d492a2697e Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:15:47 +0200 Subject: [PATCH 001/128] fix typos --- libs/remix-analyzer/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-analyzer/README.md b/libs/remix-analyzer/README.md index a2cc46d6bd..2cbb7d39d4 100644 --- a/libs/remix-analyzer/README.md +++ b/libs/remix-analyzer/README.md @@ -53,7 +53,7 @@ Details of modules are explained in [official remix-ide documentation](https://r Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License MIT © 2018-21 Remix Team From d40d5cc585fb4cca2eb8f81ee3d6cee992e21d40 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:16:52 +0200 Subject: [PATCH 002/128] fix typos --- apps/remix-ide/release-process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/remix-ide/release-process.md b/apps/remix-ide/release-process.md index 511c8ad74e..1d9c89a7fa 100644 --- a/apps/remix-ide/release-process.md +++ b/apps/remix-ide/release-process.md @@ -45,9 +45,9 @@ This is not strictly speaking a release. Updating the remix site is done through - git reset --hard -master-commit-hash- - git push -f origin remix_live - CircleCI will build automaticaly and remix.ethereum.org will be updated + CircleCI will build automatically and remix.ethereum.org will be updated # remix-alpha.ethereum.org update -remix-alpha.ethereum.org is automaticaly updated every time commits are pushed to master +remix-alpha.ethereum.org is automatically updated every time commits are pushed to master From ffcd05db54e3f18cad3213e649895f5c9db335bb Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:20:31 +0200 Subject: [PATCH 003/128] fix typos --- apps/remix-ide/team-best-practices.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/remix-ide/team-best-practices.md b/apps/remix-ide/team-best-practices.md index 8777280bc5..946078fe47 100644 --- a/apps/remix-ide/team-best-practices.md +++ b/apps/remix-ide/team-best-practices.md @@ -1,11 +1,11 @@ # Team best practices -This document aims to address contibutors best practices of the following repositories: +This document aims to address contributors best practices of the following repositories: - remix-ide https://github.com/ethereum/remix-project - remix-plugin https://github.com/ethereum/remix-plugin -This document is not in its final version, **a team meeting which aim to address new/old best practices, feedback, workflows, all kind of issues related to how the team work together occurs every 2 weeks.** +This document is not in its final version, **a team meeting which aims to address new/old best practices, feedback, workflows, all kind of issues related to how the team work together occurs every 2 weeks.** This document link to other specialised best practices (like coding best practices). Related links: @@ -32,22 +32,22 @@ Related links: - Daily standup (1pm CET - 11am GMT) for taking care of the current issues. - - A regular standup - each Tuesday (3pm CET - 1pm GMT) - which aim to + - A regular standup - each Tuesday (3pm CET - 1pm GMT) - which aims to - Update every contributor on what others are doing. - Update the prioritised issues / PRs list. - Address little issues (possibly related to the current ongoing milestone). - High level demo, explanation about specific points of the codebase or Ethereum related things. - - A milestone standup - scheduled before the beginning of each milestone, roughly on a monthly basis - which aim to define what will be included in the **next milestone** and who will work on what. This standup also help to set a clear long term vision. + - A milestone standup - scheduled before the beginning of each milestone, roughly on a monthly basis - which aims to define what will be included in the **next milestone** and who will work on what. This standup also help to set a clear long term vision. - - A retrospective standup - after each releases - which aim to talk about **best practices in general**: what is good, what is bad, how we can improve workflows. + - A retrospective standup - after each releases - which aims to talk about **best practices in general**: what is good, what is bad, how we can improve workflows. - - A tour standup - Just after a release or whenever it is needed - which aim to demo, **explain in details** features, bug fixes or any part of the codebase. + - A tour standup - Just after a release or whenever it is needed - which aims to demo, **explain in details** features, bug fixes or any part of the codebase. ### 2) Group meetings: - - When a story / bug fix is divided in parts, there should be a kickstart meeting with all the developers involved, so that all the devs have an good overview / understanding on: + - When a story / bug fix is divided in parts, there should be a kickstart meeting with all the developers involved, so that all the devs have a good overview / understanding on: - How the story fits into the Ethereum tech. - How the backend (if any) works / will work (could be a smart contract). - How the frontend works / will work. @@ -72,7 +72,7 @@ Before starting coding, we should ensure all devs / contributors are aware of: - Prioritised list of PRs / issues are tracked in a GitHub Project, Remix IDE issues are managed by a prioritized backlog. - Every story can be executed by a single developer or a group of 2 or more developers (depending on the size and complexity) -- Each dev should take the part he/she feels the most confortable with. +- Each dev should take the part he/she feels the most comfortable with. - Later progress and discussion is updated directly on the issue or pull request (github). - When a developer or team decides on the story they want to work on (at the start of milestone for instance), they assign themselves to the issue. - Documentation update should be done together with the story, or an issue with the label "documentation" has to be created. @@ -195,21 +195,21 @@ Before starting coding, we should ensure all devs / contributors are aware of: ### release process: - We release an `x.0.0` if there's a fundamental change in our UX design, which means users will need to readapt the way they use the app - - after a week finishes, we publish/release a new version as **remix-beta.ethereum.org** and inform users so early adopters can test. after another week, when then next finished work is released as **remix-beta.ethereum.org**, the previous one becomes **remix.ethereum.org** and all users can start using it + - after a week finishes, we publish/release a new version as **remix-beta.ethereum.org** and inform users so early adopters can test. after another week, when the next finished work is released as **remix-beta.ethereum.org**, the previous one becomes **remix.ethereum.org** and all users can start using it - a bot to automatically notify users about upcoming features on all channels whenever **remix-beta.ethereum.org** is updated - in case it's a major version increase - this announcement should be specially marked so ppl can check early instead of being confronted with drastic changes when **remix.ethereum.org** updates ### maintenance: - Setting up a "bug" time where we each take a bug for which: - - We feel confortable to deal with + - We feel comfortable to deal with or - - We don't feel confortable but interested in fixing it - that will need the help of another dev + - We don't feel comfortable but interested in fixing it - that will need the help of another dev ### documentation: - We set up a special day where we address all the necessary documentation work in a team effort. - Change to markdown or gitbook ### support: - Remix channel - we rotate and each day one or two are responsible for support (It would also be important to know for those of us who are contracted, how this can be billed.). If they don't know the answer they ping team member who they think could answer. That team member checks the support chat that day only if she/he is mentioned. - - We should have a FAQ where basic answer are written down so we can drop the link regularly in the channel + - We should have a FAQ where basic answers are written down so we can drop the link regularly in the channel - People should be pointed to the appropriate `best practice.md` files by team members ### code best practices: From 5002f3d8b8cafaf80d73ec145d68bbed5bb75eaf Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:22:39 +0200 Subject: [PATCH 004/128] fix typos --- libs/remixd/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remixd/README.md b/libs/remixd/README.md index bb563fe131..5738300893 100644 --- a/libs/remixd/README.md +++ b/libs/remixd/README.md @@ -17,7 +17,7 @@ More details are explained in the [documentation](https://remix-ide.readthedocs. NOTE: When the remixd NPM module is installed, it also installs [Slither](https://github.com/crytic/slither), [solc-select](https://github.com/crytic/solc-select#quickstart) and sets [solc](https://docs.soliditylang.org/en/latest/installing-solidity.html) to latest version i.e. 0.8.15 currently. -ALSO NOTE: Python3.6+ (pip3) needs to already be installed on the System. In case of any discrepany, Slither can also installed along with other dependencies using command: +ALSO NOTE: Python3.6+ (pip3) needs to already be installed on the System. In case of any discrepancy, Slither can also be installed along with other dependencies using the command: ``` > remixd -i slither ``` From 3e111c4cec7025cf1527d1a67ed60d2177fe8655 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:23:32 +0200 Subject: [PATCH 005/128] fix typos --- libs/remix-lib/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-lib/README.md b/libs/remix-lib/README.md index 64a6706ef3..d4e0968bf4 100644 --- a/libs/remix-lib/README.md +++ b/libs/remix-lib/README.md @@ -43,7 +43,7 @@ Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License -MIT © 2018-21 Remix Team \ No newline at end of file +MIT © 2018-21 Remix Team From 2310be03df3a78ecd76a893d7cad42101d85de4d Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:24:29 +0200 Subject: [PATCH 006/128] fix typos --- libs/remix-debug/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-debug/README.md b/libs/remix-debug/README.md index e512499d36..a59e9690ac 100644 --- a/libs/remix-debug/README.md +++ b/libs/remix-debug/README.md @@ -5,7 +5,7 @@ [![GitHub](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/ethereum/remix-project/tree/master/libs/remix-debug) [![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/ethereum/remix-project/issues) -`@remix-project/remix-debug` is a tool to debug Ethereum transactions on different Remix environments (VM, testnet etc.). It works underneath Remix IDE "DEBUGGER" plugin which is used to analyse step-to-step executioon of a transaction to debug it. +`@remix-project/remix-debug` is a tool to debug Ethereum transactions on different Remix environments (VM, testnet etc.). It works underneath Remix IDE "DEBUGGER" plugin which is used to analyse step-to-step execution of a transaction to debug it. ### Installation `@remix-project/remix-debug` is an NPM package and can be installed using NPM as: @@ -144,7 +144,7 @@ Some of the class details are as: Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License MIT © 2018-21 Remix Team From 3706285fffc966c22f69d8cae08ef7c9e4ca6447 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:26:28 +0200 Subject: [PATCH 007/128] fix typos --- libs/remix-astwalker/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-astwalker/README.md b/libs/remix-astwalker/README.md index 6b03957968..067c8d63c1 100644 --- a/libs/remix-astwalker/README.md +++ b/libs/remix-astwalker/README.md @@ -35,7 +35,7 @@ astWalker.on("node", node => { Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License MIT © 2018-21 Remix Team From fd339fd2c68aabc4e42fd48059020dd113f4c3d3 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:27:27 +0200 Subject: [PATCH 008/128] fix typos --- libs/remix-ws-templates/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/remix-ws-templates/README.md b/libs/remix-ws-templates/README.md index 5341f479f9..79e654d127 100644 --- a/libs/remix-ws-templates/README.md +++ b/libs/remix-ws-templates/README.md @@ -14,7 +14,7 @@ Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License MIT © 2022 Remix Team From 2e122b309b4a5d34bda0792fbbf19e06fd3f02a1 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:28:06 +0200 Subject: [PATCH 009/128] fix typos --- libs/remix-url-resolver/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-url-resolver/README.md b/libs/remix-url-resolver/README.md index 420f483ef7..bd395d3c46 100644 --- a/libs/remix-url-resolver/README.md +++ b/libs/remix-url-resolver/README.md @@ -81,7 +81,7 @@ urlResolver.resolve(fileName, urlHandler) Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License -MIT © 2018-21 Remix Team \ No newline at end of file +MIT © 2018-21 Remix Team From 19a10a9874af035019e3f77a764efbda316dd40f Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Sun, 20 Aug 2023 11:28:47 +0200 Subject: [PATCH 010/128] fix typos --- libs/remix-simulator/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/remix-simulator/README.md b/libs/remix-simulator/README.md index bf1b0c675a..8410dd63f0 100644 --- a/libs/remix-simulator/README.md +++ b/libs/remix-simulator/README.md @@ -86,7 +86,7 @@ Please feel free to open an issue or a pull request. -In case you want to add some code, do have a look to our contribution guidelnes [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. +In case you want to add some code, do have a look at our contribution guidelines [here](https://github.com/ethereum/remix-project/blob/master/CONTRIBUTING.md). Reach us on [Gitter](https://gitter.im/ethereum/remix) in case of any queries. ### License -MIT © 2018-21 Remix Team \ No newline at end of file +MIT © 2018-21 Remix Team From 500cd957cd271f8d1ac5f58b71260de0fbca176f Mon Sep 17 00:00:00 2001 From: aniket-engg Date: Mon, 21 Aug 2023 22:03:21 +0530 Subject: [PATCH 011/128] publish libs --- libs/ghaction-helper/package.json | 8 ++++---- libs/remix-analyzer/package.json | 8 ++++---- libs/remix-astwalker/package.json | 6 +++--- libs/remix-debug/package.json | 12 ++++++------ libs/remix-lib/package.json | 4 ++-- libs/remix-simulator/package.json | 6 +++--- libs/remix-solidity/package.json | 6 +++--- libs/remix-tests/package.json | 10 +++++----- libs/remix-url-resolver/package.json | 4 ++-- libs/remix-ws-templates/package.json | 4 ++-- 10 files changed, 34 insertions(+), 34 deletions(-) diff --git a/libs/ghaction-helper/package.json b/libs/ghaction-helper/package.json index 01aea9805c..f81b1d1d18 100644 --- a/libs/ghaction-helper/package.json +++ b/libs/ghaction-helper/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/ghaction-helper", - "version": "0.1.11", + "version": "0.1.12", "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.17", + "@remix-project/remix-solidity": "^0.5.18", "@types/chai": "^4.3.4", "typescript": "^4.9.3" }, "dependencies": { "@ethereum-waffle/chai": "^3.4.4", - "@remix-project/remix-simulator": "^0.2.31", + "@remix-project/remix-simulator": "^0.2.32", "chai": "^4.3.7", "ethers": "^5.7.2", "web3": "^1.5.3" }, "types": "./src/index.d.ts", - "gitHead": "b11b11623729f741a5ccd387bc60dc5db41f28ab" + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40" } \ No newline at end of file diff --git a/libs/remix-analyzer/package.json b/libs/remix-analyzer/package.json index 006ac8ea9f..4e55ff0fda 100644 --- a/libs/remix-analyzer/package.json +++ b/libs/remix-analyzer/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-analyzer", - "version": "0.5.40", + "version": "0.5.41", "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.61", - "@remix-project/remix-lib": "^0.5.38", + "@remix-project/remix-astwalker": "^0.0.62", + "@remix-project/remix-lib": "^0.5.39", "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": "b11b11623729f741a5ccd387bc60dc5db41f28ab", + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40", "main": "./src/index.js" } \ No newline at end of file diff --git a/libs/remix-astwalker/package.json b/libs/remix-astwalker/package.json index 27b3b72ed6..97dce29210 100644 --- a/libs/remix-astwalker/package.json +++ b/libs/remix-astwalker/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-astwalker", - "version": "0.0.61", + "version": "0.0.62", "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.38", + "@remix-project/remix-lib": "^0.5.39", "@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": "b11b11623729f741a5ccd387bc60dc5db41f28ab", + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40", "types": "./src/index.d.ts" } \ No newline at end of file diff --git a/libs/remix-debug/package.json b/libs/remix-debug/package.json index 4b7a1e251b..137c1e7323 100644 --- a/libs/remix-debug/package.json +++ b/libs/remix-debug/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-debug", - "version": "0.5.31", + "version": "0.5.32", "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.61", - "@remix-project/remix-lib": "^0.5.38", - "@remix-project/remix-simulator": "^0.2.31", - "@remix-project/remix-solidity": "^0.5.17", + "@remix-project/remix-astwalker": "^0.0.62", + "@remix-project/remix-lib": "^0.5.39", + "@remix-project/remix-simulator": "^0.2.32", + "@remix-project/remix-solidity": "^0.5.18", "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": "b11b11623729f741a5ccd387bc60dc5db41f28ab", + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40", "types": "./src/index.d.ts" } \ No newline at end of file diff --git a/libs/remix-lib/package.json b/libs/remix-lib/package.json index c139bab647..9e3f8720f9 100644 --- a/libs/remix-lib/package.json +++ b/libs/remix-lib/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-lib", - "version": "0.5.38", + "version": "0.5.39", "description": "Library to various Remix tools", "contributors": [ { @@ -52,6 +52,6 @@ }, "homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-lib#readme", "typings": "src/index.d.ts", - "gitHead": "b11b11623729f741a5ccd387bc60dc5db41f28ab", + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40", "types": "./src/index.d.ts" } \ No newline at end of file diff --git a/libs/remix-simulator/package.json b/libs/remix-simulator/package.json index c8f19d34d0..5a646cac37 100644 --- a/libs/remix-simulator/package.json +++ b/libs/remix-simulator/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-simulator", - "version": "0.2.31", + "version": "0.2.32", "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.38", + "@remix-project/remix-lib": "^0.5.39", "ansi-gray": "^0.1.1", "async": "^3.1.0", "body-parser": "^1.18.2", @@ -67,6 +67,6 @@ }, "homepage": "https://github.com/ethereum/remix-project/tree/master/libs/remix-simulator#readme", "typings": "src/index.d.ts", - "gitHead": "b11b11623729f741a5ccd387bc60dc5db41f28ab", + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40", "types": "./src/index.d.ts" } \ No newline at end of file diff --git a/libs/remix-solidity/package.json b/libs/remix-solidity/package.json index a2939bbd4c..2fb619f356 100644 --- a/libs/remix-solidity/package.json +++ b/libs/remix-solidity/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-solidity", - "version": "0.5.17", + "version": "0.5.18", "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.38", + "@remix-project/remix-lib": "^0.5.39", "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": "b11b11623729f741a5ccd387bc60dc5db41f28ab" + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40" } \ No newline at end of file diff --git a/libs/remix-tests/package.json b/libs/remix-tests/package.json index 613b8195d5..ab1f7c557a 100644 --- a/libs/remix-tests/package.json +++ b/libs/remix-tests/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-tests", - "version": "0.2.31", + "version": "0.2.32", "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.38", - "@remix-project/remix-simulator": "^0.2.31", - "@remix-project/remix-solidity": "^0.5.17", + "@remix-project/remix-lib": "^0.5.39", + "@remix-project/remix-simulator": "^0.2.32", + "@remix-project/remix-solidity": "^0.5.18", "@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": "b11b11623729f741a5ccd387bc60dc5db41f28ab" + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40" } \ No newline at end of file diff --git a/libs/remix-url-resolver/package.json b/libs/remix-url-resolver/package.json index 9422f2fc0a..e5e5a7a4cf 100644 --- a/libs/remix-url-resolver/package.json +++ b/libs/remix-url-resolver/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-url-resolver", - "version": "0.0.60", + "version": "0.0.61", "description": "Solidity import url resolver engine", "main": "src/index.js", "types": "src/index.d.ts", @@ -40,5 +40,5 @@ "typescript": "^3.1.6" }, "typings": "src/index.d.ts", - "gitHead": "b11b11623729f741a5ccd387bc60dc5db41f28ab" + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40" } \ No newline at end of file diff --git a/libs/remix-ws-templates/package.json b/libs/remix-ws-templates/package.json index 0573acc468..0f4a757bcb 100644 --- a/libs/remix-ws-templates/package.json +++ b/libs/remix-ws-templates/package.json @@ -1,6 +1,6 @@ { "name": "@remix-project/remix-ws-templates", - "version": "1.0.25", + "version": "1.0.26", "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": "^1.5.1" }, - "gitHead": "b11b11623729f741a5ccd387bc60dc5db41f28ab" + "gitHead": "335beb044cbd9d58c255bd8441a310757c99bf40" } \ No newline at end of file From 7556f33e47b662d9fcd0655d45d851614c965493 Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Thu, 17 Aug 2023 13:27:43 +0100 Subject: [PATCH 012/128] Use walletconnect new provider api --- .../src/services/WalletConnectRemixClient.ts | 199 +++++++++------ package.json | 6 +- yarn.lock | 235 +++++++++++------- 3 files changed, 273 insertions(+), 167 deletions(-) diff --git a/apps/walletconnect/src/services/WalletConnectRemixClient.ts b/apps/walletconnect/src/services/WalletConnectRemixClient.ts index 87163650b5..b93929cfba 100644 --- a/apps/walletconnect/src/services/WalletConnectRemixClient.ts +++ b/apps/walletconnect/src/services/WalletConnectRemixClient.ts @@ -1,90 +1,135 @@ -import { PluginClient } from '@remixproject/plugin' -import { createClient } from '@remixproject/plugin-webview' -import { w3mConnectors, w3mProvider } from '@web3modal/ethereum' -import { createConfig, configureChains } from 'wagmi' -import { arbitrum, arbitrumGoerli, mainnet, polygon, polygonMumbai, optimism, optimismGoerli, Chain, goerli, sepolia } from 'viem/chains' -import { EthereumClient } from '@web3modal/ethereum' -import EventManager from "events" -import { PROJECT_ID } from './constant' +import {PluginClient} from '@remixproject/plugin' +import {createClient} from '@remixproject/plugin-webview' +import {w3mConnectors, w3mProvider} from '@web3modal/ethereum' +import {createConfig, configureChains} from 'wagmi' +import { + arbitrum, + arbitrumGoerli, + mainnet, + polygon, + polygonMumbai, + optimism, + optimismGoerli, + Chain, + goerli, + sepolia +} from 'viem/chains' +import {EthereumClient} from '@web3modal/ethereum' +import EventManager from 'events' +import {PROJECT_ID} from './constant' export class WalletConnectRemixClient extends PluginClient { - wagmiConfig - ethereumClient: EthereumClient - chains: Chain[] - currentChain: number - internalEvents: EventManager + wagmiConfig + ethereumClient: EthereumClient + chains: Chain[] + currentChain: number + internalEvents: EventManager - constructor() { - super() - createClient(this) - this.internalEvents = new EventManager() - this.methods = ["sendAsync", "init", "deactivate"] - this.onload() - } + constructor() { + super() + createClient(this) + this.internalEvents = new EventManager() + this.methods = ['sendAsync', 'init', 'deactivate'] + this.onload() + } - onActivation () { - this.subscribeToEvents() - this.call('theme', 'currentTheme').then((theme: any) => { - this.internalEvents.emit('themeChanged', theme.quality.toLowerCase()) - }) - } + onActivation() { + this.subscribeToEvents() + this.call('theme', 'currentTheme').then((theme: any) => { + this.internalEvents.emit('themeChanged', theme.quality.toLowerCase()) + }) + } - init () { - console.log('initializing walletconnect plugin...') - } + init() { + console.log('initializing walletconnect plugin...') + } - async initClient () { - try { - this.chains = [arbitrum, arbitrumGoerli, mainnet, polygon, polygonMumbai, optimism, optimismGoerli, goerli, sepolia] - const { publicClient } = configureChains(this.chains, [w3mProvider({ projectId: PROJECT_ID })]) + async initClient() { + try { + this.chains = [ + arbitrum, + arbitrumGoerli, + mainnet, + polygon, + polygonMumbai, + optimism, + optimismGoerli, + goerli, + sepolia + ] + const {publicClient} = configureChains(this.chains, [ + w3mProvider({projectId: PROJECT_ID}) + ]) - this.wagmiConfig = createConfig({ - autoConnect: false, - connectors: w3mConnectors({ projectId: PROJECT_ID, chains: this.chains }), - publicClient - }) - this.ethereumClient = new EthereumClient(this.wagmiConfig, this.chains) - } catch (e) { - return console.error("Could not get a wallet connection", e) - } + this.wagmiConfig = createConfig({ + autoConnect: false, + connectors: w3mConnectors({projectId: PROJECT_ID, chains: this.chains}), + publicClient + }) + this.ethereumClient = new EthereumClient(this.wagmiConfig, this.chains) + } catch (e) { + return console.error('Could not get a wallet connection', e) } + } - subscribeToEvents () { - this.wagmiConfig.subscribe((event) => { - if (event.status === 'connected') { - this.emit('accountsChanged', [event.data.account]) - if (this.currentChain !== event.data.chain.id) { - this.currentChain = event.data.chain.id - this.emit('chainChanged', event.data.chain.id) - } - } else if (event.status === 'disconnected') { - this.emit('accountsChanged', []) - this.emit('chainChanged', 0) - this.currentChain = 0 - } - }) - this.on('theme', 'themeChanged', (theme: any) => { - this.internalEvents.emit('themeChanged', theme.quality) - }) - } + subscribeToEvents() { + this.wagmiConfig.subscribe((event) => { + if (event.status === 'connected') { + this.emit('accountsChanged', [event.data.account]) + if (this.currentChain !== event.data.chain.id) { + this.currentChain = event.data.chain.id + this.emit('chainChanged', event.data.chain.id) + } + } else if (event.status === 'disconnected') { + this.emit('accountsChanged', []) + this.emit('chainChanged', 0) + this.currentChain = 0 + } + }) + this.on('theme', 'themeChanged', (theme: any) => { + this.internalEvents.emit('themeChanged', theme.quality) + }) + } - sendAsync (data: { method: string, params: string, id: string }) { - return new Promise((resolve, reject) => { - if (this.wagmiConfig) { - this.wagmiConfig.publicClient.request(data).then((message) => { - resolve({"jsonrpc": "2.0", "result": message, "id": data.id}) - }).catch((error) => { - reject(error) - }) - } else { - console.error(`Cannot make ${data.method} request. Remix client is not connect to walletconnect client`) - resolve({"jsonrpc": "2.0", "result": [], "id": data.id}) - } + async sendAsync(data: {method: string; params: string; id: string}) { + if (this.wagmiConfig.status === 'connected') { + if (data.method === 'eth_accounts') { + return { + jsonrpc: '2.0', + result: [this.wagmiConfig.data.account], + id: data.id + } + } else { + const provider = await this.wagmiConfig.connector.getProvider({ + chainId: this.wagmiConfig.data.chain.id }) - } - async deactivate(){ - console.log('deactivating walletconnect plugin...') - await this.ethereumClient.disconnect() + if (provider.isMetaMask) { + return new Promise((resolve) => { + provider.sendAsync(data, (err, response) => { + if (err) { + console.error(err) + return resolve({jsonrpc: '2.0', result: [], id: data.id}) + } + return resolve(response) + }) + }) + } else { + const message = await provider.request(data) + + return {jsonrpc: '2.0', result: message, id: data.id} + } + } + } else { + console.error( + `Cannot make ${data.method} request. Remix client is not connected to walletconnect client` + ) + return {jsonrpc: '2.0', result: [], id: data.id} } -} \ No newline at end of file + } + + async deactivate() { + console.log('deactivating walletconnect plugin...') + await this.ethereumClient.disconnect() + } +} diff --git a/package.json b/package.json index 27c13fc130..db6f8698b0 100644 --- a/package.json +++ b/package.json @@ -140,7 +140,7 @@ "@remixproject/plugin-webview": "0.3.33", "@remixproject/plugin-ws": "0.3.33", "@types/nightwatch": "^2.3.1", - "@web3modal/ethereum": "^2.6.2", + "@web3modal/ethereum": "^2.7.1", "@web3modal/react": "^2.6.2", "ansi-gray": "^0.1.1", "async": "^2.6.2", @@ -207,8 +207,8 @@ "tree-kill": "^1.2.2", "ts-loader": "^9.2.6", "tslib": "^2.3.0", - "viem": "^1.2.12", - "wagmi": "^1.3.8", + "viem": "^1.6.0", + "wagmi": "^1.3.10", "web3": "^1.8.0", "winston": "^3.3.3", "ws": "^7.3.0" diff --git a/yarn.lock b/yarn.lock index 62d76d355a..01096abe44 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3959,6 +3959,13 @@ dependencies: "@noble/hashes" "1.3.0" +"@noble/curves@1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.1.0.tgz#f13fc667c89184bc04cccb9b11e8e7bae27d8c3d" + integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== + dependencies: + "@noble/hashes" "1.3.1" + "@noble/ed25519@^1.7.0": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -3974,6 +3981,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/hashes@1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.1.tgz#8831ef002114670c603c458ab8b11328406953a9" + integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -6081,6 +6093,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.5.4": + version "8.5.5" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" + integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" @@ -6202,56 +6221,61 @@ resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.2.0.tgz#d59eaa70ec51a5fdcd113975926992acfb17ab12" integrity sha512-dmDRipsE54JfyudOBkuhEexqQWcrZqxn/qiujG8SBzMh/az/AH5xlJSA+j1CPWTx9+QofSMF3B7A4gb6XRmSaQ== -"@wagmi/chains@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.5.0.tgz#0b23a1505704b4b07a46f41e1ec65a486aceb16b" - integrity sha512-JO5iqh7Km4GW/6XKKDYMq3YQ9wlOSGzzaTUQhALQ58KANxEZ70tZWhfTZAPD3fdgv4wheai7kyHDNgTW6X7fnw== +"@wagmi/chains@1.6.0": + version "1.6.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.6.0.tgz#eb992ad28dbaaab729b5bcab3e5b461e8a035656" + integrity sha512-5FRlVxse5P4ZaHG3GTvxwVANSmYJas1eQrTBHhjxVtqXoorm0aLmCHbhmN8Xo1yu09PaWKlleEvfE98yH4AgIw== -"@wagmi/connectors@2.6.6": - version "2.6.6" - resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-2.6.6.tgz#98f0f90831ed8d76295f44b1b85439ce0118bf70" - integrity sha512-/o1c/TCivQs8DOAUOcQvY2UIt3p2mWOAHi39D0LC74+ncpXzLC5/gyaWU38qnTxPM8s/PmTmaWDgz+VhICXrag== +"@wagmi/chains@1.7.0": + version "1.7.0" + resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.7.0.tgz#8f6ad81cf867e1788417f7c978ca92bc083ecaf6" + integrity sha512-TKVeHv0GqP5sV1yQ8BDGYToAFezPnCexbbBpeH14x7ywi5a1dDStPffpt9x+ytE6LJWkZ6pAMs/HNWXBQ5Nqmw== + +"@wagmi/connectors@2.7.0": + version "2.7.0" + resolved "https://registry.yarnpkg.com/@wagmi/connectors/-/connectors-2.7.0.tgz#547972502cbe6719217043fe5b610ac48534dc93" + integrity sha512-1KOL0HTJl5kzSC/YdKwFwiokr6poUQn1V/tcT0TpG3iH2x0lSM7FTkvCjVVY/6lKzTXrLlo9y2aE7AsOPnkvqg== dependencies: "@coinbase/wallet-sdk" "^3.6.6" "@ledgerhq/connect-kit-loader" "^1.1.0" "@safe-global/safe-apps-provider" "^0.17.1" "@safe-global/safe-apps-sdk" "^8.0.0" - "@walletconnect/ethereum-provider" "2.9.0" + "@walletconnect/ethereum-provider" "2.9.2" "@walletconnect/legacy-provider" "^2.0.0" - "@walletconnect/modal" "2.5.9" - "@walletconnect/utils" "2.9.0" + "@walletconnect/modal" "2.6.1" + "@walletconnect/utils" "2.9.2" abitype "0.8.7" eventemitter3 "^4.0.7" -"@wagmi/core@1.3.7": - version "1.3.7" - resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.3.7.tgz#7bc00d172d206ffa171df0d5a813c3559d8824e3" - integrity sha512-ens31RwICdrbRanNYwlJs0DAw/LOqUPQm6qXsmEciOENT4w+7pC959LXU9xfaOADWVMekeLDmRqAGCszTNIXAg== +"@wagmi/core@1.3.9": + version "1.3.9" + resolved "https://registry.yarnpkg.com/@wagmi/core/-/core-1.3.9.tgz#16bac164fe74203fde68abe7991b947d3a26e6ab" + integrity sha512-SrnABCrsDvhiMCLLLyzyHnZbEumsFT/XWlJJQZeyEDcixL95R7XQwOaaoRI4MpNilCtMtu3jzN57tA5Z2iA+kw== dependencies: - "@wagmi/chains" "1.5.0" - "@wagmi/connectors" "2.6.6" + "@wagmi/chains" "1.7.0" + "@wagmi/connectors" "2.7.0" abitype "0.8.7" eventemitter3 "^4.0.7" zustand "^4.3.1" -"@walletconnect/core@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.0.tgz#7837a5d015a22b48d35b987bcde2aa9ccdf300d8" - integrity sha512-MZYJghS9YCvGe32UOgDj0mCasaOoGHQaYXWeQblXE/xb8HuaM6kAWhjIQN9P+MNp5QP134BHP5olQostcCotXQ== +"@walletconnect/core@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.9.2.tgz#c46734ca63771b28fd77606fd521930b7ecfc5e1" + integrity sha512-VARMPAx8sIgodeyngDHbealP3B621PQqjqKsByFUTOep8ZI1/R/20zU+cmq6j9RCrL+kLKZcrZqeVzs8Z7OlqQ== dependencies: "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-provider" "1.0.13" "@walletconnect/jsonrpc-types" "1.0.3" "@walletconnect/jsonrpc-utils" "1.0.8" - "@walletconnect/jsonrpc-ws-connection" "1.0.12" + "@walletconnect/jsonrpc-ws-connection" "1.0.13" "@walletconnect/keyvaluestorage" "^1.0.2" "@walletconnect/logger" "^2.0.1" "@walletconnect/relay-api" "^1.0.9" "@walletconnect/relay-auth" "^1.0.4" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.0" - "@walletconnect/utils" "2.9.0" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" events "^3.3.0" lodash.isequal "4.5.0" uint8arrays "^3.1.0" @@ -6284,19 +6308,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/ethereum-provider@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.0.tgz#aa6e9e441678c824af8f744c50dafd604f19d69e" - integrity sha512-rSXkC0SXMigJRdIi/M2RMuEuATY1AwtlTWQBnqyxoht7xbO2bQNPCXn0XL4s/GRNrSUtoKSY4aPMHXV4W4yLBA== +"@walletconnect/ethereum-provider@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/ethereum-provider/-/ethereum-provider-2.9.2.tgz#fb3a6fca279bb4e98e75baa2fb9730545d41bb99" + integrity sha512-eO1dkhZffV1g7vpG19XUJTw09M/bwGUwwhy1mJ3AOPbOSbMPvwiCuRz2Kbtm1g9B0Jv15Dl+TvJ9vTgYF8zoZg== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "^1.0.13" "@walletconnect/jsonrpc-types" "^1.0.3" "@walletconnect/jsonrpc-utils" "^1.0.8" - "@walletconnect/sign-client" "2.9.0" - "@walletconnect/types" "2.9.0" - "@walletconnect/universal-provider" "2.9.0" - "@walletconnect/utils" "2.9.0" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/universal-provider" "2.9.2" + "@walletconnect/utils" "2.9.2" events "^3.3.0" "@walletconnect/events@^1.0.1": @@ -6397,10 +6421,10 @@ "@walletconnect/jsonrpc-types" "^1.0.2" tslib "1.14.1" -"@walletconnect/jsonrpc-ws-connection@1.0.12": - version "1.0.12" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.12.tgz#2192314884fabdda6d0a9d22e157e5b352025ed8" - integrity sha512-HAcadga3Qjt1Cqy+qXEW6zjaCs8uJGdGQrqltzl3OjiK4epGZRdvSzTe63P+t/3z+D2wG+ffEPn0GVcDozmN1w== +"@walletconnect/jsonrpc-ws-connection@1.0.13": + version "1.0.13" + resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.13.tgz#23b0cdd899801bfbb44a6556936ec2b93ef2adf4" + integrity sha512-mfOM7uFH4lGtQxG+XklYuFBj6dwVvseTt5/ahOkkmpcAEgz2umuzu7fTR+h5EmjQBdrmYyEBOWADbeaFNxdySg== dependencies: "@walletconnect/jsonrpc-utils" "^1.0.6" "@walletconnect/safe-json" "^1.0.2" @@ -6484,31 +6508,30 @@ pino "7.11.0" tslib "1.14.1" -"@walletconnect/modal-core@2.5.9": - version "2.5.9" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.5.9.tgz#45e0c25320d42855aaac39e6ba256a84f972b871" - integrity sha512-isIebwF9hOknGouhS/Ob4YJ9Sa/tqNYG2v6Ua9EkCqIoLimepkG5eC53tslUWW29SLSfQ9qqBNG2+iE7yQXqgw== +"@walletconnect/modal-core@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-core/-/modal-core-2.6.1.tgz#bc76055d0b644a2d4b98024324825c108a700905" + integrity sha512-f2hYlJ5pwzGvjyaZ6BoGR5uiMgXzWXt6w6ktt1N8lmY6PiYp8whZgqx2hTxVWwVlsGnaIfh6UHp1hGnANx0eTQ== dependencies: - buffer "6.0.3" - valtio "1.10.6" + valtio "1.11.0" -"@walletconnect/modal-ui@2.5.9": - version "2.5.9" - resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.5.9.tgz#4d07f1697147ec9f75d85d93f564cadae05a5e59" - integrity sha512-nfBaAT9Ls7RZTBBgAq+Nt/3AoUcinIJ9bcq5UHXTV3lOPu/qCKmUC/0HY3GvUK8ykabUAsjr0OAGmcqkB91qug== +"@walletconnect/modal-ui@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal-ui/-/modal-ui-2.6.1.tgz#200c54c8dfe3c71321abb2724e18bb357dfd6371" + integrity sha512-RFUOwDAMijSK8B7W3+KoLKaa1l+KEUG0LCrtHqaB0H0cLnhEGdLR+kdTdygw+W8+yYZbkM5tXBm7MlFbcuyitA== dependencies: - "@walletconnect/modal-core" "2.5.9" - lit "2.7.5" + "@walletconnect/modal-core" "2.6.1" + lit "2.7.6" motion "10.16.2" qrcode "1.5.3" -"@walletconnect/modal@2.5.9": - version "2.5.9" - resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.5.9.tgz#28840f2a46bcd0a47c5fda60d18a5f1607a92a72" - integrity sha512-Zs2RvPwbBNRdBhb50FuJCxi3FJltt1KSpI7odjU/x9GTpTOcSOkmR66PBCy2JvNA0+ztnS1Xs0LVEr3lu7/Jzw== +"@walletconnect/modal@2.6.1": + version "2.6.1" + resolved "https://registry.yarnpkg.com/@walletconnect/modal/-/modal-2.6.1.tgz#066fdbfcff83b58c8a9da66ab4af0eb93e3626de" + integrity sha512-G84tSzdPKAFk1zimgV7JzIUFT5olZUVtI3GcOk77OeLYjlMfnDT23RVRHm5EyCrjkptnvpD0wQScXePOFd2Xcw== dependencies: - "@walletconnect/modal-core" "2.5.9" - "@walletconnect/modal-ui" "2.5.9" + "@walletconnect/modal-core" "2.6.1" + "@walletconnect/modal-ui" "2.6.1" "@walletconnect/randombytes@^1.0.3": version "1.0.3" @@ -6554,19 +6577,19 @@ dependencies: tslib "1.14.1" -"@walletconnect/sign-client@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.0.tgz#fd3b0acb68bc8d56350f01ed70f8c6326e6e89fa" - integrity sha512-mEKc4LlLMebCe45qzqh+MX4ilQK4kOEBzLY6YJpG8EhyT45eX4JMNA7qQoYa9MRMaaVb/7USJcc4e3ZrjZvQmA== +"@walletconnect/sign-client@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.9.2.tgz#ff4c81c082c2078878367d07f24bcb20b1f7ab9e" + integrity sha512-anRwnXKlR08lYllFMEarS01hp1gr6Q9XUgvacr749hoaC/AwGVlxYFdM8+MyYr3ozlA+2i599kjbK/mAebqdXg== dependencies: - "@walletconnect/core" "2.9.0" + "@walletconnect/core" "2.9.2" "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" "@walletconnect/jsonrpc-utils" "1.0.8" "@walletconnect/logger" "^2.0.1" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.0" - "@walletconnect/utils" "2.9.0" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" events "^3.3.0" "@walletconnect/time@^1.0.2": @@ -6576,10 +6599,10 @@ dependencies: tslib "1.14.1" -"@walletconnect/types@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.0.tgz#6e5dfdc7212c1ec4ab49a1ec409c743e16093f72" - integrity sha512-ORopsMfSRvUYqtjKKd6scfg8o4/aGebipLxx92AuuUgMTERSU6cGmIrK6rdLu7W6FBJkmngPLEGc9mRqAb9Lug== +"@walletconnect/types@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.9.2.tgz#d5fd5a61dc0f41cbdca59d1885b85207ac7bf8c5" + integrity sha512-7Rdn30amnJEEal4hk83cdwHUuxI1SWQ+K7fFFHBMqkuHLGi3tpMY6kpyfDxnUScYEZXqgRps4Jo5qQgnRqVM7A== dependencies: "@walletconnect/events" "^1.0.1" "@walletconnect/heartbeat" "1.2.1" @@ -6588,25 +6611,25 @@ "@walletconnect/logger" "^2.0.1" events "^3.3.0" -"@walletconnect/universal-provider@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.9.0.tgz#a6b4a1f099262536e17b5c25bf7b3c89db9945a8" - integrity sha512-k3nkSBkF69sJJVoe17IVoPtnhp/sgaa2t+x7BvA/BKeMxE0DGdtRJdEXotTc8DBmI7o2tkq6l8+HyFBGjQ/CjQ== +"@walletconnect/universal-provider@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/universal-provider/-/universal-provider-2.9.2.tgz#40e54e98bc48b1f2f5f77eb5b7f05462093a8506" + integrity sha512-JmaolkO8D31UdRaQCHwlr8uIFUI5BYhBzqYFt54Mc6gbIa1tijGOmdyr6YhhFO70LPmS6gHIjljwOuEllmlrxw== dependencies: "@walletconnect/jsonrpc-http-connection" "^1.0.7" "@walletconnect/jsonrpc-provider" "1.0.13" "@walletconnect/jsonrpc-types" "^1.0.2" "@walletconnect/jsonrpc-utils" "^1.0.7" "@walletconnect/logger" "^2.0.1" - "@walletconnect/sign-client" "2.9.0" - "@walletconnect/types" "2.9.0" - "@walletconnect/utils" "2.9.0" + "@walletconnect/sign-client" "2.9.2" + "@walletconnect/types" "2.9.2" + "@walletconnect/utils" "2.9.2" events "^3.3.0" -"@walletconnect/utils@2.9.0": - version "2.9.0" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.0.tgz#c73925edb9fefe79021bcf028e957028f986b728" - integrity sha512-7Tu3m6dZL84KofrNBcblsgpSqU2vdo9ImLD7zWimLXERVGNQ8smXG+gmhQYblebIBhsPzjy9N38YMC3nPlfQNw== +"@walletconnect/utils@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.9.2.tgz#035bdb859ee81a4bcc6420f56114cc5ec3e30afb" + integrity sha512-D44hwXET/8JhhIjqljY6qxSu7xXnlPrf63UN/Qfl98vDjWlYVcDl2+JIQRxD9GPastw0S8XZXdRq59XDXLuZBg== dependencies: "@stablelib/chacha20poly1305" "1.0.1" "@stablelib/hkdf" "1.0.1" @@ -6616,7 +6639,7 @@ "@walletconnect/relay-api" "^1.0.9" "@walletconnect/safe-json" "^1.0.2" "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.9.0" + "@walletconnect/types" "2.9.2" "@walletconnect/window-getters" "^1.0.1" "@walletconnect/window-metadata" "^1.0.1" detect-browser "5.3.0" @@ -6646,10 +6669,10 @@ buffer "6.0.3" valtio "1.10.6" -"@web3modal/ethereum@^2.6.2": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@web3modal/ethereum/-/ethereum-2.6.2.tgz#e6522ddf00444cb3e6e54d390a74864c329cee5e" - integrity sha512-8QCzJj0+x6y/7V++DQnXdPjdmMvq+zm/Fl8CEKhNlni9p4H406q7ramjdJEu1Bk4xtCklYh/aU3ZGR5wUIDysA== +"@web3modal/ethereum@^2.7.1": + version "2.7.1" + resolved "https://registry.yarnpkg.com/@web3modal/ethereum/-/ethereum-2.7.1.tgz#464dbc1d00d075c16961b77e9a353b1966538653" + integrity sha512-1x3qhYh9qgtvw1MDQD4VeDf2ZOsVANKRPtUty4lF+N4L8xnAIwvNKUAMA4j6T5xSsjqUfq5Tdy5mYsNxLmsWMA== "@web3modal/react@^2.6.2": version "2.6.2" @@ -6892,6 +6915,11 @@ abitype@0.8.7: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== +abitype@0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.3.tgz#294d25288ee683d72baf4e1fed757034e3c8c277" + integrity sha512-dz4qCQLurx97FQhnb/EIYTk/ldQ+oafEDUqC0VVIeQS1Q48/YWt/9YNfMmp9SLFqN41ktxny3c8aYxHjmFIB/w== + abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -17950,6 +17978,15 @@ lit@2.7.5: lit-element "^3.3.0" lit-html "^2.7.0" +lit@2.7.6: + version "2.7.6" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665" + integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.7.0" + load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -27313,6 +27350,14 @@ valtio@1.10.6: proxy-compare "2.5.1" use-sync-external-store "1.2.0" +valtio@1.11.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/valtio/-/valtio-1.11.0.tgz#c029dcd17a0f99d2fbec933721fe64cfd32a31ed" + integrity sha512-65Yd0yU5qs86b5lN1eu/nzcTgQ9/6YnD6iO+DDaDbQLn1Zv2w12Gwk43WkPlUBxk5wL/6cD5YMFf7kj6HZ1Kpg== + dependencies: + proxy-compare "2.5.1" + use-sync-external-store "1.2.0" + value-or-function@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" @@ -27358,7 +27403,7 @@ vfile@^5.0.0: unist-util-stringify-position "^3.0.0" vfile-message "^3.0.0" -viem@^1.0.0, viem@^1.2.12: +viem@^1.0.0: version "1.2.12" resolved "https://registry.yarnpkg.com/viem/-/viem-1.2.12.tgz#0342f52d05968bd1c2af5db0b9bc569926ae9151" integrity sha512-TMhvqT2VaCaJyBfuNDyL1h8xPFyPDHeX6Qab66TjWscnNcTwkW0gojO4Uh+A4RuPzFxIlWSW+b5SjS8SJHlHpg== @@ -27373,6 +27418,22 @@ viem@^1.0.0, viem@^1.2.12: isomorphic-ws "5.0.0" ws "8.12.0" +viem@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.6.0.tgz#8befa678c3ac79b9558dfd1708130b2ecb1994f4" + integrity sha512-ae9Twkd0q2Qlj4yYpWjb4DzYAhKY0ibEpRH8FJaTywZXNpTjFidSdBaT0CVn1BaH7O7cnX4/O47zvDUMGJD1AA== + dependencies: + "@adraffy/ens-normalize" "1.9.0" + "@noble/curves" "1.1.0" + "@noble/hashes" "1.3.0" + "@scure/bip32" "1.3.0" + "@scure/bip39" "1.2.0" + "@types/ws" "^8.5.4" + "@wagmi/chains" "1.6.0" + abitype "0.9.3" + isomorphic-ws "5.0.0" + ws "8.12.0" + vinyl-fs@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" @@ -27436,15 +27497,15 @@ w3c-blob@0.0.1: resolved "https://registry.yarnpkg.com/w3c-blob/-/w3c-blob-0.0.1.tgz#b0cd352a1a50f515563420ffd5861f950f1d85b8" integrity sha1-sM01KhpQ9RVWNCD/1YYflQ8dhbg= -wagmi@^1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.3.8.tgz#544554fdab35ee32d93f107eb75b9d1924e22880" - integrity sha512-RCfcE+Q+yhyfq7j5u7KQRz2KXUMAMexu0Y2kr8z81t4fmDlU5C+OEVQ6NFoUzAzEsJpznpQjZgsfpHKeFm17hQ== +wagmi@^1.3.10: + version "1.3.10" + resolved "https://registry.yarnpkg.com/wagmi/-/wagmi-1.3.10.tgz#100aeaecf7a030e9e91118d366a734ec30c56551" + integrity sha512-MMGJcnxOmeUZWDmzUxgRGcB1cqxbJoSFSa+pNY4vBCWMz0n4ptpE5F8FKISLCx+BGoDwsaz2ldcMALcdJZ+29w== dependencies: "@tanstack/query-sync-storage-persister" "^4.27.1" "@tanstack/react-query" "^4.28.0" "@tanstack/react-query-persist-client" "^4.28.0" - "@wagmi/core" "1.3.7" + "@wagmi/core" "1.3.9" abitype "0.8.7" use-sync-external-store "^1.2.0" From 405b3c23163d6d599aa3489042da55df33da8166 Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Thu, 17 Aug 2023 13:32:59 +0100 Subject: [PATCH 013/128] Make mainnet first default chain --- apps/walletconnect/src/services/WalletConnectRemixClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/walletconnect/src/services/WalletConnectRemixClient.ts b/apps/walletconnect/src/services/WalletConnectRemixClient.ts index b93929cfba..6f8b494d00 100644 --- a/apps/walletconnect/src/services/WalletConnectRemixClient.ts +++ b/apps/walletconnect/src/services/WalletConnectRemixClient.ts @@ -47,9 +47,9 @@ export class WalletConnectRemixClient extends PluginClient { async initClient() { try { this.chains = [ + mainnet, arbitrum, arbitrumGoerli, - mainnet, polygon, polygonMumbai, optimism, From a2dfbee257e395ac63face89692c3a3fe18f5250 Mon Sep 17 00:00:00 2001 From: yann300 Date: Mon, 21 Aug 2023 12:21:16 +0200 Subject: [PATCH 014/128] fix simulator server --- libs/remix-simulator/bin/ethsim | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/libs/remix-simulator/bin/ethsim b/libs/remix-simulator/bin/ethsim index 607cabbe9c..814e2a6a46 100755 --- a/libs/remix-simulator/bin/ethsim +++ b/libs/remix-simulator/bin/ethsim @@ -26,14 +26,19 @@ program .option('-c, --coinbase [coinbase]', 'specify coinbase', '0x0000000000000000000000000000000000000000') .option('--rpc', 'run rpc server only', true) .option('--details', 'display payloads for every requests and their responses', false) - .action(() => { + .action((option) => { + console.log('coinbase: ', option.coinbase) + console.log('rpc: ', option.rpc) + console.log('details: ', option.details) + console.log('host: ', option.ip) + console.log('port: ', option.port) const Server = require('../src/server') const server = new Server({ - coinbase: program.coinbase, - rpc: program.rpc, - logDetails: program.details + coinbase: option.coinbase, + rpc: option.rpc, + logDetails: option.details }) - server.start(program.host, program.port) + server.start(option.ip, option.port) }) program.parse(process.argv) From 1cabf35af1d4bfc3787fe4eefb88360477844ab9 Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Fri, 26 May 2023 10:45:57 +0100 Subject: [PATCH 015/128] Create react UI for circom plugin --- apps/circuit-compiler/project.json | 59 ++++++++++++ .../src/app/actions/dispatch.ts | 6 ++ .../circuit-compiler/src/app/actions/index.ts | 14 +++ apps/circuit-compiler/src/app/app.tsx | 56 ++++++++++++ .../src/app/contexts/index.ts | 4 + .../src/app/reducers/index.ts | 18 ++++ .../src/app/services/circomPluginClient.ts | 37 ++++++++ apps/circuit-compiler/src/app/types/index.ts | 22 +++++ apps/circuit-compiler/src/css/app.css | 0 .../src/example/simple.circom | 10 +++ apps/circuit-compiler/src/index.html | 15 ++++ apps/circuit-compiler/src/logo.svg | 1 + apps/circuit-compiler/src/main.tsx | 8 ++ apps/circuit-compiler/src/polyfills.ts | 7 ++ apps/circuit-compiler/src/profile.json | 17 ++++ apps/circuit-compiler/tsconfig.app.json | 24 +++++ apps/circuit-compiler/tsconfig.json | 17 ++++ apps/circuit-compiler/webpack.config.js | 90 +++++++++++++++++++ apps/remix-ide/project.json | 2 +- apps/remix-ide/src/remixAppManager.js | 2 +- apps/remix-ide/src/remixEngine.js | 1 + .../helper/src/lib/helper-components.tsx | 8 ++ .../src/lib/compiler-container.tsx | 10 ++- 23 files changed, 424 insertions(+), 4 deletions(-) create mode 100644 apps/circuit-compiler/project.json create mode 100644 apps/circuit-compiler/src/app/actions/dispatch.ts create mode 100644 apps/circuit-compiler/src/app/actions/index.ts create mode 100644 apps/circuit-compiler/src/app/app.tsx create mode 100644 apps/circuit-compiler/src/app/contexts/index.ts create mode 100644 apps/circuit-compiler/src/app/reducers/index.ts create mode 100644 apps/circuit-compiler/src/app/services/circomPluginClient.ts create mode 100644 apps/circuit-compiler/src/app/types/index.ts create mode 100644 apps/circuit-compiler/src/css/app.css create mode 100644 apps/circuit-compiler/src/example/simple.circom create mode 100644 apps/circuit-compiler/src/index.html create mode 100644 apps/circuit-compiler/src/logo.svg create mode 100644 apps/circuit-compiler/src/main.tsx create mode 100644 apps/circuit-compiler/src/polyfills.ts create mode 100644 apps/circuit-compiler/src/profile.json create mode 100644 apps/circuit-compiler/tsconfig.app.json create mode 100644 apps/circuit-compiler/tsconfig.json create mode 100644 apps/circuit-compiler/webpack.config.js diff --git a/apps/circuit-compiler/project.json b/apps/circuit-compiler/project.json new file mode 100644 index 0000000000..eb501cc21d --- /dev/null +++ b/apps/circuit-compiler/project.json @@ -0,0 +1,59 @@ +{ + "name": "circuit-compiler", + "$schema": "../../node_modules/nx/schemas/project-schema.json", + "sourceRoot": "apps/circuit-compiler/src", + "projectType": "application", + "implicitDependencies": ["remixd"], + "targets": { + "build": { + "executor": "@nrwl/webpack:webpack", + "outputs": ["{options.outputPath}"], + "defaultConfiguration": "development", + "options": { + "compiler": "babel", + "outputPath": "dist/apps/circuit-compiler", + "index": "apps/circuit-compiler/src/index.html", + "baseHref": "./", + "main": "apps/circuit-compiler/src/main.tsx", + "polyfills": "apps/circuit-compiler/src/polyfills.ts", + "tsConfig": "apps/circuit-compiler/tsconfig.app.json", + "assets": ["apps/circuit-compiler/src/profile.json"], + "styles": ["apps/circuit-compiler/src/css/app.css"], + "scripts": [], + "webpackConfig": "apps/circuit-compiler/webpack.config.js" + }, + "configurations": { + "development": { + }, + "production": { + "fileReplacements": [ + { + "replace": "apps/circuit-compiler/src/environments/environment.ts", + "with": "apps/circuit-compiler/src/environments/environment.prod.ts" + } + ] + } + } + }, + "serve": { + "executor": "@nrwl/webpack:dev-server", + "defaultConfiguration": "development", + "options": { + "buildTarget": "circuit-compiler:build", + "hmr": true, + "baseHref": "/" + }, + "configurations": { + "development": { + "buildTarget": "circuit-compiler:build:development", + "port": 2023 + }, + "production": { + "buildTarget": "circuit-compiler:build:production" + } + } + } + }, + "tags": [] + } + \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/actions/dispatch.ts b/apps/circuit-compiler/src/app/actions/dispatch.ts new file mode 100644 index 0000000000..cd45037ce1 --- /dev/null +++ b/apps/circuit-compiler/src/app/actions/dispatch.ts @@ -0,0 +1,6 @@ +import { Dispatch } from "react" +import { Action } from "../types" + +export const dispatchCheckRemixd = (status: boolean) => (dispatch: Dispatch>) => { + dispatch({ type: 'SET_REMIXD_CONNECTION_STATUS', payload: status }) +} \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/actions/index.ts b/apps/circuit-compiler/src/app/actions/index.ts new file mode 100644 index 0000000000..8201a298f1 --- /dev/null +++ b/apps/circuit-compiler/src/app/actions/index.ts @@ -0,0 +1,14 @@ +import { Dispatch } from 'react' +import { CircomPluginClient } from '../services/circomPluginClient' + +const plugin = new CircomPluginClient() + +export const initCircomPluginActions = () => async (dispatch: Dispatch) => { + plugin.internalEvents.on('connectionChanged', (connected: boolean) => { + dispatch({ type: 'SET_REMIXD_CONNECTION_STATUS', payload: connected }) + }) +} + +export function activateRemixd () { + plugin.activateRemixDeamon() +} \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/app.tsx b/apps/circuit-compiler/src/app/app.tsx new file mode 100644 index 0000000000..ef447282d8 --- /dev/null +++ b/apps/circuit-compiler/src/app/app.tsx @@ -0,0 +1,56 @@ +import React, { useEffect, useReducer } from 'react' +import { RenderIf, RenderIfNot } from '@remix-ui/helper' +import { Alert, Button, Tabs, Tab } from 'react-bootstrap' + +import { AppContext } from './contexts' +import { appInitialState, appReducer } from './reducers' +import { activateRemixd, initCircomPluginActions } from './actions' + +function App() { + const [appState, dispatch] = useReducer(appReducer, appInitialState) + + useEffect(() => { + initCircomPluginActions()(dispatch) + }, []) + + const handleConnectRemixd = () => { + activateRemixd() + } + + const value = { + appState, + dispatch + } + + return ( + +
+ + + Requirements! +
    +
  1. Circuit Compiler requires that you have Rust lang installed on your machine.
  2. +
  3. Remix-IDE is connected to your local file system.
  4. +
+
+ +
+
+
+ +
+ + + + +
+
+
+
+ ) +} + +export default App \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/contexts/index.ts b/apps/circuit-compiler/src/app/contexts/index.ts new file mode 100644 index 0000000000..8cf0b14937 --- /dev/null +++ b/apps/circuit-compiler/src/app/contexts/index.ts @@ -0,0 +1,4 @@ +import { createContext } from 'react' +import { IAppContext } from '../types' + +export const AppContext = createContext({} as IAppContext) diff --git a/apps/circuit-compiler/src/app/reducers/index.ts b/apps/circuit-compiler/src/app/reducers/index.ts new file mode 100644 index 0000000000..b9bb239c6f --- /dev/null +++ b/apps/circuit-compiler/src/app/reducers/index.ts @@ -0,0 +1,18 @@ +import { Actions, AppState } from "../types" + +export const appInitialState: AppState = { + isRemixdConnected: null +} + +export const appReducer = (state = appInitialState, action: Actions): AppState => { + switch (action.type) { + case 'SET_REMIXD_CONNECTION_STATUS': + return { + ...state, + isRemixdConnected: action.payload + } + + default: + throw new Error() + } +} diff --git a/apps/circuit-compiler/src/app/services/circomPluginClient.ts b/apps/circuit-compiler/src/app/services/circomPluginClient.ts new file mode 100644 index 0000000000..d5bcb1869f --- /dev/null +++ b/apps/circuit-compiler/src/app/services/circomPluginClient.ts @@ -0,0 +1,37 @@ +import { PluginClient } from '@remixproject/plugin' +import { createClient } from '@remixproject/plugin-webview' +import EventManager from 'events' + +export class CircomPluginClient extends PluginClient { + private connected: boolean + public internalEvents: EventManager + + constructor() { + super() + createClient(this) + this.internalEvents = new EventManager() + this.methods = ["sendAsync", "init", "deactivate"] + this.onload() + } + + init (): void { + console.log('initializing circom plugin...') + } + + onActivation(): void { + this.subscribeToEvents() + } + + activateRemixDeamon (): void { + this.call('manager', 'activatePlugin', 'remixd') + } + + subscribeToEvents (): void { + this.on('filePanel', 'setWorkspace', (workspace: { name: string, isLocalhost: boolean }) => { + if (this.connected !== workspace.isLocalhost) { + this.connected = workspace.isLocalhost + this.internalEvents.emit('connectionChanged', this.connected) + } + }) + } +} diff --git a/apps/circuit-compiler/src/app/types/index.ts b/apps/circuit-compiler/src/app/types/index.ts new file mode 100644 index 0000000000..fbc68b6d39 --- /dev/null +++ b/apps/circuit-compiler/src/app/types/index.ts @@ -0,0 +1,22 @@ +import { Dispatch } from "react" + +export interface IAppContext { + appState: AppState, + dispatch: Dispatch +} + +export interface ActionPayloadTypes { + SET_REMIXD_CONNECTION_STATUS: boolean +} + + +export interface Action { + type: T + payload: ActionPayloadTypes[T] +} + +export type Actions = { [A in keyof ActionPayloadTypes]: Action }[keyof ActionPayloadTypes] + +export interface AppState { + isRemixdConnected: boolean +} \ No newline at end of file diff --git a/apps/circuit-compiler/src/css/app.css b/apps/circuit-compiler/src/css/app.css new file mode 100644 index 0000000000..e69de29bb2 diff --git a/apps/circuit-compiler/src/example/simple.circom b/apps/circuit-compiler/src/example/simple.circom new file mode 100644 index 0000000000..d9432fd9c2 --- /dev/null +++ b/apps/circuit-compiler/src/example/simple.circom @@ -0,0 +1,10 @@ +pragma circom 2.0.0; + +template Multiplier2() { + signal input a; + signal input b; + signal output c; + c <== a*b; + } + + component main = Multiplier2(); \ No newline at end of file diff --git a/apps/circuit-compiler/src/index.html b/apps/circuit-compiler/src/index.html new file mode 100644 index 0000000000..adb93d90f1 --- /dev/null +++ b/apps/circuit-compiler/src/index.html @@ -0,0 +1,15 @@ + + + + + Circuit - Compiler + + + + + + + +
+ + diff --git a/apps/circuit-compiler/src/logo.svg b/apps/circuit-compiler/src/logo.svg new file mode 100644 index 0000000000..267b6f5b78 --- /dev/null +++ b/apps/circuit-compiler/src/logo.svg @@ -0,0 +1 @@ +remix_logo1 \ No newline at end of file diff --git a/apps/circuit-compiler/src/main.tsx b/apps/circuit-compiler/src/main.tsx new file mode 100644 index 0000000000..b63438d846 --- /dev/null +++ b/apps/circuit-compiler/src/main.tsx @@ -0,0 +1,8 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import App from './app/app' + +ReactDOM.render( + , + document.getElementById('root') +) \ No newline at end of file diff --git a/apps/circuit-compiler/src/polyfills.ts b/apps/circuit-compiler/src/polyfills.ts new file mode 100644 index 0000000000..2adf3d05b6 --- /dev/null +++ b/apps/circuit-compiler/src/polyfills.ts @@ -0,0 +1,7 @@ +/** + * Polyfill stable language features. These imports will be optimized by `@babel/preset-env`. + * + * See: https://github.com/zloirock/core-js#babel + */ +import 'core-js/stable'; +import 'regenerator-runtime/runtime'; diff --git a/apps/circuit-compiler/src/profile.json b/apps/circuit-compiler/src/profile.json new file mode 100644 index 0000000000..4f54bcee38 --- /dev/null +++ b/apps/circuit-compiler/src/profile.json @@ -0,0 +1,17 @@ +{ + "name": "circuit-compiler", + "kind": "provider", + "displayName": "Circuit Compiler", + "events": [], + "version": "2.0.0", + "methods": ["sendAsync", "init"], + "canActivate": ["remixd"], + "url": "", + "description": "Enables circuit compilation and computing a witness for ZK proofs", + "icon": "https://docs.circom.io/assets/images/favicon.png", + "location": "sidePanel", + "documentation": "", + "repo": "https://github.com/ethereum/remix-project/tree/master/apps/circuit-compiler", + "maintainedBy": "Remix", + "authorContact": "" +} diff --git a/apps/circuit-compiler/tsconfig.app.json b/apps/circuit-compiler/tsconfig.app.json new file mode 100644 index 0000000000..2272b8a388 --- /dev/null +++ b/apps/circuit-compiler/tsconfig.app.json @@ -0,0 +1,24 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "../../dist/out-tsc", + "types": ["node"] + }, + "files": [ + "../../node_modules/@nrwl/react/typings/cssmodule.d.ts", + "../../node_modules/@nrwl/react/typings/image.d.ts" + ], + "exclude": [ + "jest.config.ts", + "**/*.spec.ts", + "**/*.test.ts", + "**/*.spec.tsx", + "**/*.test.tsx", + "**/*.spec.js", + "**/*.test.js", + "**/*.spec.jsx", + "**/*.test.jsx" + ], + "include": ["**/*.js", "**/*.jsx", "**/*.ts", "**/*.tsx"] + } + \ No newline at end of file diff --git a/apps/circuit-compiler/tsconfig.json b/apps/circuit-compiler/tsconfig.json new file mode 100644 index 0000000000..3b6130a0a8 --- /dev/null +++ b/apps/circuit-compiler/tsconfig.json @@ -0,0 +1,17 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "jsx": "react-jsx", + "allowJs": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true + }, + "files": [], + "include": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] + } + \ No newline at end of file diff --git a/apps/circuit-compiler/webpack.config.js b/apps/circuit-compiler/webpack.config.js new file mode 100644 index 0000000000..51de9dd815 --- /dev/null +++ b/apps/circuit-compiler/webpack.config.js @@ -0,0 +1,90 @@ +const { composePlugins, withNx } = require('@nrwl/webpack') +const webpack = require('webpack') +const TerserPlugin = require("terser-webpack-plugin") +const CssMinimizerPlugin = require("css-minimizer-webpack-plugin") + +// Nx plugins for webpack. +module.exports = composePlugins(withNx(), (config) => { + // Update the webpack config as needed here. + // e.g. `config.plugins.push(new MyPlugin())` + // add fallback for node modules + config.resolve.fallback = { + ...config.resolve.fallback, + "crypto": require.resolve("crypto-browserify"), + "stream": require.resolve("stream-browserify"), + "path": require.resolve("path-browserify"), + "http": require.resolve("stream-http"), + "https": require.resolve("https-browserify"), + "constants": require.resolve("constants-browserify"), + "os": false, //require.resolve("os-browserify/browser"), + "timers": false, // require.resolve("timers-browserify"), + "zlib": require.resolve("browserify-zlib"), + "fs": false, + "module": false, + "tls": false, + "net": false, + "readline": false, + "child_process": false, + "buffer": require.resolve("buffer/"), + "vm": require.resolve('vm-browserify'), + } + + + // add externals + config.externals = { + ...config.externals, + solc: 'solc', + } + + // add public path + config.output.publicPath = './' + + // add copy & provide plugin + config.plugins.push( + new webpack.ProvidePlugin({ + Buffer: ['buffer', 'Buffer'], + url: ['url', 'URL'], + process: 'process/browser', + }) + ) + + // set the define plugin to load the WALLET_CONNECT_PROJECT_ID + config.plugins.push( + new webpack.DefinePlugin({ + WALLET_CONNECT_PROJECT_ID: JSON.stringify(process.env.WALLET_CONNECT_PROJECT_ID), + }) + ) + + // souce-map loader + config.module.rules.push({ + test: /\.js$/, + use: ["source-map-loader"], + enforce: "pre" + }) + + config.ignoreWarnings = [/Failed to parse source map/] // ignore source-map-loader warnings + + + // set minimizer + config.optimization.minimizer = [ + new TerserPlugin({ + parallel: true, + terserOptions: { + ecma: 2015, + compress: false, + mangle: false, + format: { + comments: false, + }, + }, + extractComments: false, + }), + new CssMinimizerPlugin(), + ]; + + config.watchOptions = { + ignored: /node_modules/ + } + + return config; +}); diff --git a/apps/remix-ide/project.json b/apps/remix-ide/project.json index 99b463867d..22e095fb9a 100644 --- a/apps/remix-ide/project.json +++ b/apps/remix-ide/project.json @@ -3,7 +3,7 @@ "$schema": "../../node_modules/nx/schemas/project-schema.json", "sourceRoot": "apps/remix-ide/src", "projectType": "application", - "implicitDependencies": ["doc-gen", "doc-viewer", "etherscan", "vyper", "solhint", "walletconnect"], + "implicitDependencies": ["doc-gen", "doc-viewer", "etherscan", "vyper", "solhint", "walletconnect", "circuit-compiler"], "targets": { "build": { "executor": "@nrwl/webpack:webpack", diff --git a/apps/remix-ide/src/remixAppManager.js b/apps/remix-ide/src/remixAppManager.js index 9c9f365f23..edb09e2ee7 100644 --- a/apps/remix-ide/src/remixAppManager.js +++ b/apps/remix-ide/src/remixAppManager.js @@ -17,7 +17,7 @@ const requiredModules = [ // services + layout views + system views // dependentModules shouldn't be manually activated (e.g hardhat is activated by remixd) const dependentModules = ['foundry', 'hardhat', 'truffle', 'slither'] -const loadLocalPlugins = ["doc-gen", "doc-viewer", "etherscan", "vyper", 'solhint', 'walletconnect'] +const loadLocalPlugins = ["doc-gen", "doc-viewer", "etherscan", "vyper", "solhint", "walletconnect", "circuit-compiler"] const sensitiveCalls = { 'fileManager': ['writeFile', 'copyFile', 'rename', 'copyDir'], diff --git a/apps/remix-ide/src/remixEngine.js b/apps/remix-ide/src/remixEngine.js index 3a0c905acd..4c2b708bfe 100644 --- a/apps/remix-ide/src/remixEngine.js +++ b/apps/remix-ide/src/remixEngine.js @@ -20,6 +20,7 @@ export class RemixEngine extends Engine { if (name === 'fetchAndCompile') return { queueTimeout: 60000 * 4 } if (name === 'walletconnect') return { queueTimeout: 60000 * 4 } if (name === 'udapp') return { queueTimeout: 60000 * 4 } + if (name === 'circuit-compiler') return { queueTimeout: 60000 * 4 } return { queueTimeout: 10000 } } diff --git a/libs/remix-ui/helper/src/lib/helper-components.tsx b/libs/remix-ui/helper/src/lib/helper-components.tsx index 753701598e..ea7d833d64 100644 --- a/libs/remix-ui/helper/src/lib/helper-components.tsx +++ b/libs/remix-ui/helper/src/lib/helper-components.tsx @@ -134,3 +134,11 @@ export const upgradeReportMsg = (report: LayoutCompatibilityReport) => (
{report.explain()}
) + +export function RenderIf({ condition, children }: { condition: boolean, children: JSX.Element }) { + return condition ? children : null +} + +export function RenderIfNot({ condition, children }: { condition: boolean, children: JSX.Element }) { + return condition ? null : children +} diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx index bc0b25dd02..757d643df3 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -514,8 +514,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const compile = () => { const currentFile = api.currentFile + if (currentFile.endsWith('.circom')) return compileCircuit() if (!isSolFileSelected()) return - _setCompilerVersionFromPragma(currentFile) let externalCompType if (hhCompilation) externalCompType = 'hardhat' @@ -526,8 +526,8 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const compileAndRun = () => { const currentFile = api.currentFile + if (currentFile.endsWith('.circom')) return compileCircuit() if (!isSolFileSelected()) return - _setCompilerVersionFromPragma(currentFile) let externalCompType if (hhCompilation) externalCompType = 'hardhat' @@ -536,6 +536,12 @@ export const CompilerContainer = (props: CompilerContainerProps) => { compileTabLogic.runCompiler(externalCompType) } + const compileCircuit = () => { + const currentFile = api.currentFile + + console.log('Compiling circuit ' + currentFile) + } + const _updateVersionSelector = (version, customUrl = '') => { // update selectedversion of previous one got filtered out let selectedVersion = version From 2e567aa78ca5574d269701269feae96c42bde6ad Mon Sep 17 00:00:00 2001 From: ioedeveloper Date: Tue, 27 Jun 2023 09:56:16 +0100 Subject: [PATCH 016/128] Compile circuit using editor play button --- .../circuit-compiler/src/app/actions/index.ts | 15 +------- apps/circuit-compiler/src/app/app.tsx | 36 ++++--------------- .../src/app/components/compiler.ts | 30 ++++++++++++++++ .../src/app/services/circomPluginClient.ts | 22 +++++------- .../src/example/simple.circom | 3 +- apps/circuit-compiler/src/profile.json | 4 +-- apps/circuit-compiler/webpack.config.js | 2 ++ .../src/lib/compiler-container.tsx | 8 ----- libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx | 6 +++- pkg/index.js | 0 yarn.lock | 4 +-- 11 files changed, 58 insertions(+), 72 deletions(-) create mode 100644 apps/circuit-compiler/src/app/components/compiler.ts create mode 100644 pkg/index.js diff --git a/apps/circuit-compiler/src/app/actions/index.ts b/apps/circuit-compiler/src/app/actions/index.ts index 8201a298f1..923e24b4ab 100644 --- a/apps/circuit-compiler/src/app/actions/index.ts +++ b/apps/circuit-compiler/src/app/actions/index.ts @@ -1,14 +1 @@ -import { Dispatch } from 'react' -import { CircomPluginClient } from '../services/circomPluginClient' - -const plugin = new CircomPluginClient() - -export const initCircomPluginActions = () => async (dispatch: Dispatch) => { - plugin.internalEvents.on('connectionChanged', (connected: boolean) => { - dispatch({ type: 'SET_REMIXD_CONNECTION_STATUS', payload: connected }) - }) -} - -export function activateRemixd () { - plugin.activateRemixDeamon() -} \ No newline at end of file +import { Dispatch } from 'react' \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/app.tsx b/apps/circuit-compiler/src/app/app.tsx index ef447282d8..fb4c519d94 100644 --- a/apps/circuit-compiler/src/app/app.tsx +++ b/apps/circuit-compiler/src/app/app.tsx @@ -1,21 +1,20 @@ -import React, { useEffect, useReducer } from 'react' +import React, { useEffect, useReducer, useState } from 'react' import { RenderIf, RenderIfNot } from '@remix-ui/helper' import { Alert, Button, Tabs, Tab } from 'react-bootstrap' import { AppContext } from './contexts' import { appInitialState, appReducer } from './reducers' -import { activateRemixd, initCircomPluginActions } from './actions' +import { CircomPluginClient } from './services/circomPluginClient' function App() { const [appState, dispatch] = useReducer(appReducer, appInitialState) + const [plugin, setPlugin] = useState(null) useEffect(() => { - initCircomPluginActions()(dispatch) - }, []) + const plugin = new CircomPluginClient() - const handleConnectRemixd = () => { - activateRemixd() - } + setPlugin(plugin) + }, []) const value = { appState, @@ -25,29 +24,6 @@ function App() { return (
- - - Requirements! -
    -
  1. Circuit Compiler requires that you have Rust lang installed on your machine.
  2. -
  3. Remix-IDE is connected to your local file system.
  4. -
-
- -
-
-
- -
- - - - -
-
) diff --git a/apps/circuit-compiler/src/app/components/compiler.ts b/apps/circuit-compiler/src/app/components/compiler.ts new file mode 100644 index 0000000000..7264a6ade6 --- /dev/null +++ b/apps/circuit-compiler/src/app/components/compiler.ts @@ -0,0 +1,30 @@ +// const compile = () => { +// const currentFile = api.currentFile + +// if (currentFile.endsWith('.circom')) return compileCircuit() +// if (!isSolFileSelected()) return +// _setCompilerVersionFromPragma(currentFile) +// let externalCompType +// if (hhCompilation) externalCompType = 'hardhat' +// else if (truffleCompilation) externalCompType = 'truffle' +// compileTabLogic.runCompiler(externalCompType) +// } + +// const compileAndRun = () => { +// const currentFile = api.currentFile + +// if (currentFile.endsWith('.circom')) return compileCircuit() +// if (!isSolFileSelected()) return +// _setCompilerVersionFromPragma(currentFile) +// let externalCompType +// if (hhCompilation) externalCompType = 'hardhat' +// else if (truffleCompilation) externalCompType = 'truffle' +// api.runScriptAfterCompilation(currentFile) +// compileTabLogic.runCompiler(externalCompType) +// } + +// const compileCircuit = () => { +// const currentFile = api.currentFile + +// console.log('Compiling circuit ' + currentFile) +// } \ No newline at end of file diff --git a/apps/circuit-compiler/src/app/services/circomPluginClient.ts b/apps/circuit-compiler/src/app/services/circomPluginClient.ts index d5bcb1869f..1cc13350b2 100644 --- a/apps/circuit-compiler/src/app/services/circomPluginClient.ts +++ b/apps/circuit-compiler/src/app/services/circomPluginClient.ts @@ -1,5 +1,6 @@ import { PluginClient } from '@remixproject/plugin' import { createClient } from '@remixproject/plugin-webview' +import { parse_circuit_browser } from 'apps/circuit-compiler/pkg/circom' import EventManager from 'events' export class CircomPluginClient extends PluginClient { @@ -10,7 +11,7 @@ export class CircomPluginClient extends PluginClient { super() createClient(this) this.internalEvents = new EventManager() - this.methods = ["sendAsync", "init", "deactivate"] + this.methods = ["init", "compile"] this.onload() } @@ -18,20 +19,13 @@ export class CircomPluginClient extends PluginClient { console.log('initializing circom plugin...') } - onActivation(): void { - this.subscribeToEvents() - } + async compile (path: string) { + console.log('compiling circuit ' + path) + const fileContent = await this.call('fileManager', 'readFile', path) - activateRemixDeamon (): void { - this.call('manager', 'activatePlugin', 'remixd') - } + console.log('file content: ' + fileContent) + const compilationResult = parse_circuit_browser(fileContent, 0) - subscribeToEvents (): void { - this.on('filePanel', 'setWorkspace', (workspace: { name: string, isLocalhost: boolean }) => { - if (this.connected !== workspace.isLocalhost) { - this.connected = workspace.isLocalhost - this.internalEvents.emit('connectionChanged', this.connected) - } - }) + console.log('compilation result: ' + compilationResult) } } diff --git a/apps/circuit-compiler/src/example/simple.circom b/apps/circuit-compiler/src/example/simple.circom index d9432fd9c2..9a2120df7a 100644 --- a/apps/circuit-compiler/src/example/simple.circom +++ b/apps/circuit-compiler/src/example/simple.circom @@ -7,4 +7,5 @@ template Multiplier2() { c <== a*b; } - component main = Multiplier2(); \ No newline at end of file + component main = Multiplier2(); + \ No newline at end of file diff --git a/apps/circuit-compiler/src/profile.json b/apps/circuit-compiler/src/profile.json index 4f54bcee38..4ef16749ed 100644 --- a/apps/circuit-compiler/src/profile.json +++ b/apps/circuit-compiler/src/profile.json @@ -4,8 +4,8 @@ "displayName": "Circuit Compiler", "events": [], "version": "2.0.0", - "methods": ["sendAsync", "init"], - "canActivate": ["remixd"], + "methods": ["init", "compile"], + "canActivate": [], "url": "", "description": "Enables circuit compilation and computing a witness for ZK proofs", "icon": "https://docs.circom.io/assets/images/favicon.png", diff --git a/apps/circuit-compiler/webpack.config.js b/apps/circuit-compiler/webpack.config.js index 51de9dd815..fecff4fa70 100644 --- a/apps/circuit-compiler/webpack.config.js +++ b/apps/circuit-compiler/webpack.config.js @@ -86,5 +86,7 @@ module.exports = composePlugins(withNx(), (config) => { ignored: /node_modules/ } + config.experiments.syncWebAssembly = true + return config; }); diff --git a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx index 757d643df3..1e5c960d5c 100644 --- a/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx +++ b/libs/remix-ui/solidity-compiler/src/lib/compiler-container.tsx @@ -514,7 +514,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const compile = () => { const currentFile = api.currentFile - if (currentFile.endsWith('.circom')) return compileCircuit() if (!isSolFileSelected()) return _setCompilerVersionFromPragma(currentFile) let externalCompType @@ -526,7 +525,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => { const compileAndRun = () => { const currentFile = api.currentFile - if (currentFile.endsWith('.circom')) return compileCircuit() if (!isSolFileSelected()) return _setCompilerVersionFromPragma(currentFile) let externalCompType @@ -536,12 +534,6 @@ export const CompilerContainer = (props: CompilerContainerProps) => { compileTabLogic.runCompiler(externalCompType) } - const compileCircuit = () => { - const currentFile = api.currentFile - - console.log('Compiling circuit ' + currentFile) - } - const _updateVersionSelector = (version, customUrl = '') => { // update selectedversion of previous one got filtered out let selectedVersion = version diff --git a/libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx b/libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx index 95e8adf240..cc5a20129f 100644 --- a/libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx +++ b/libs/remix-ui/tabs/src/lib/remix-ui-tabs.tsx @@ -167,7 +167,7 @@ export const TabsUI = (props: TabsUIProps) => {
) : null} @@ -423,7 +423,7 @@ export function ContractDropdownUI(props: ContractDropdownProps) { disabled={contractOptions.disabled} style={{ display: loadType === 'abi' && !isContractFile(currentFile) ? 'none' : 'block', - pointerEvents: contractOptions.disabled ? 'none' : 'auto' + pointerEvents: contractOptions.disabled ? 'none' : 'auto', }} >