ethereum / remix-project

Remix is a browser-based compiler and IDE that enables users to build Ethereum contracts with Solidity language and to debug transactions.
https://remix-ide.readthedocs.io
MIT License
2.43k stars 933 forks source link

can not compile contracts with `remixd --read-only` #5004

Open SvenMeyer opened 2 months ago

SvenMeyer commented 2 months ago

Describe the bug When starting remixd with option --read-only to protect my source code from inadvertently code changes, I can not compile the code any more.

To Reproduce Steps to reproduce the behavior:

Expected behavior Expect that remix compiles the contract and everything works "as usual", except that I can not (inadvertently) change the source code.

Console output

$ remixd --read-only
[INFO] you are using the latest version 0.6.34
[WARN] You can only connect to remixd from one of the supported origins.
[WARN] Any application that runs on your computer can potentially read from and write to all files in the directory.
[WARN] Symbolic links are not forwarded to Remix IDE

[INFO] Tue Jul 16 2024 16:34:57 GMT+1000 (Australian Eastern Standard Time) remixd is listening on 127.0.0.1:65520
[INFO] Tue Jul 16 2024 16:34:57 GMT+1000 (Australian Eastern Standard Time) slither is listening on 127.0.0.1:65523
[INFO] Tue Jul 16 2024 16:34:57 GMT+1000 (Australian Eastern Standard Time) hardhat is listening on 127.0.0.1:65522
[WARN] You may now only use IDE at https://remix.ethereum.org to connect to that instance
setup notifications for /home/sum/DEV/ETH/POLKASTARTER/TokenSale/polkastarter-token-sale
[WARN] You may now only use IDE at https://remix.ethereum.org to connect to that instance
[WARN] You may now only use IDE at https://remix.ethereum.org to connect to that instance
Hardhat plugin activated
listening on Hardhat compilation...
Processing artifacts for files: contracts/FixedSwap.sol, contracts/IERC20Metadata.sol, contracts/IPolsStake.sol, contracts/Owned.sol, contracts/RewardsDistributionRecipient.sol, contracts/StakingRewards.sol, contracts/Whitelist.sol
Error: Cannot write file: read-only mode selected
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:93:35
    at new Promise (<anonymous>)
    at RemixdClient.set (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:91:20)
    at Object.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:67:56)
    at Generator.next (<anonymous>)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:114:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:110:16)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:30:86
    at WebSocket.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin-ws/src/lib/ws.js:35:17)
Error: Cannot write file: read-only mode selected
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:93:35
    at new Promise (<anonymous>)
    at RemixdClient.set (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:91:20)
    at Object.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:67:56)
    at Generator.next (<anonymous>)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:114:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:110:16)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:30:86
    at WebSocket.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin-ws/src/lib/ws.js:35:17)
Error: Cannot write file: read-only mode selected
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:93:35
    at new Promise (<anonymous>)
    at RemixdClient.set (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/src/services/remixdClient.js:91:20)
    at Object.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:67:56)
    at Generator.next (<anonymous>)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:114:75
    at new Promise (<anonymous>)
    at Object.__awaiter (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/tslib/tslib.js:110:16)
    at /home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin/src/lib/connector.js:30:86
    at WebSocket.<anonymous> (/home/sum/.nvm/versions/node/v20.13.0/lib/node_modules/@remix-project/remixd/node_modules/@remixproject/plugin-ws/src/lib/ws.js:35:17)
SvenMeyer commented 3 weeks ago

Still the same problem as of now ...