Comments (6)
When a contract has a floating solidity version pragma, is it preferred to use the lowest available compatible compiler version or the highest?
from brownie.
I think the highest available version. If the pragma allows it and the user has installed it, to me it seems the logical choice.
from brownie.
I agree. Would it also be good to have it attempt to install whatever version is needed? I've been looking at the solcx code, and I have ideas about how to change that as well to make this change easier and keep the two conceptually different
from brownie.
If solcx has no compatible version at all, I think it's fine to install the most recent version that fits the pragma.
In a case where there is a compatible version installed locally, but a newer version is available remotely, I don't think it's right to upgrade the local version automatically. Some people (myself included) avoid using the latest version because... well, see solc 0.5.5 ahahaha.
It would be cool to have a notification appear when compiling, saying "there is a newer version of solc available, install via xxx".
from brownie.
re: updates to solcx - i've asked github to change the repo from a fork to a standalone one so that people can open issues. Until that's happened, it only allows conversations via pull requests so we can either discuss it here or you can open a PR there :)
from brownie.
Just merged #82, it includes a method in compiler.py that should make it easy to integrate the auto-versioning with brownie.
from brownie.
Related Issues (20)
- chainlink release 1.4.0 is not retrievable anymore through brownie package manager HOT 3
- Can't install, failing to build bitarray cytoolz yarl HOT 7
- anvil devnet cmd support
- Turn off "Transaction Sent" logging HOT 1
- Make Brownie to run in a less privileged environment - Executes only with ROOT today HOT 1
- corrupted map.json HOT 1
- When contracts return a string type starting with '0x' like '0x9e' , brwonie may have an error
- Vyper 0.3.8 support HOT 1
- Can't load OZ with `project.load`
- While deploying, brownie is trying to access a key value that doesn't exists. HOT 1
- Assertionerror :assert 'error' not in response HOT 1
- Unable to install eth-brownie on Python 3.10.6 HOT 21
- Poetry support for Python 3.11 with brownie
- Brownie Install Fails HOT 2
- Decrease in Transaction Creation Speed Over Time in Fork
- web3.supports_traces does not work with Alchemy RPC URL
- Install Via Pipx Fails HOT 1
- Pip install eth-brownie ends with Error caused by deprecated massage from pyyaml==5.4.1 HOT 2
- Getting this error running brownie after installing openai library ... confict ? HOT 1
- Can´t run Brownie Console on a Testnet After selfdestruct Contract HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from brownie.