Deprecates `block.difficulty` and disallow `difficulty()` in inline assembly for EVM versions >= paris.
The change is due to the renaming introduced by EIP-4399 (see: https://eips.ethereum.org/EIPS/eip-4399).
Introduces `block.prevrandao` in Solidity and `prevrandao()` in inline assembly for EVM versions >= paris.
Co-authored-by: Alex Beregszaszi <alex@rtfs.hu>
Co-authored-by: Daniel <daniel@ekpyron.org>
Co-authored-by: matheusaaguiar <95899911+matheusaaguiar@users.noreply.github.com>
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
Update the editor extensions section of the resources page:
1. Remove the Atom section - as Atom is being deprecated on
2022-12-15. See https://github.blog/2022-06-08-sunsetting-atom/.
2. Update the vim syntax plugins - remove the tomlion extension as
no longer maintained, add the thesis and TovarishFin forks of
the tomlion vim syntax highlighter as these are both maintained.
3. add/rename vscode extensions - add truffle and remix extensions,
rename the two Solidity extensions to include the authors for
disambiguation.
4. Clarify the Visual Studio Code title by including `VS Code` in
brackets, as many people only know it as `VS Code`.
5. Use Sublime Text's full name.
Co-authored-by: franzihei <41991517+franzihei@users.noreply.github.com>
Co-authored-by: Nuno Santos <nunofilipesantos@gmail.com>
Co-authored-by: Hari <webmail.hari@gmail.com>
test: add parser and abi test cases
docs: add example on using named parameters for mappings
- Add changelog
feat: update antlr grammar to allow named parameters in mappings
fix: prevent conflicting mapping parameter names
ref: change order of mapping initializers
test: update expectations and fix build
test: add more tests
fix: use common error & code for conflicting params
fix: issue with accessing nested mapping
test: add conflicting params tests for more nested levels
Update libsolidity/analysis/DeclarationTypeChecker.cpp
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
fix: error reported with the same code twice
test: add more tests for 3 level nested mapping
Address review comments
The receive function documentation is slightly inaccurate currently, as a contract can still receive Ether through payable functions even if no receive or payable fallback function is present.
The documentation link incorrectly displays in the text along with the angled brackets. I believe this is incorrect, and should be a standard markdown hyperlink. The error also disrupts the spacing of the line. My small PR fixes both.
Apply suggestions from code review
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>
Update docs/contributing.rst
Co-authored-by: Nikola Matić <nikola.matic@ethereum.org>