Commit Graph

2200 Commits

Author SHA1 Message Date
Alex Beregszaszi
eb8af2caec Add basic support for the EVM version Paris
This mostly means testing with evmone, but instruction renaming of difficulty->prevrandao is omitted.
2022-11-21 14:56:46 +01:00
chriseth
5ba8c109f4 Use side-effects of user defined functions in evm code transform. 2022-11-14 21:26:36 +01:00
Ishtiaque Zahid
3abf2724a1 changed output of formatNumberReadable so that it shows powers of two and one-less-than powers of two in a more compact format 2022-11-14 17:37:38 +01:00
nishant-sachdeva
149303d02d added changelog entry for optimizer 2022-11-11 02:26:47 +05:30
chriseth
cffacac9de Hash number literals according to their value instead of their string representation. 2022-11-08 20:34:10 +01:00
chriseth
c3899bd549 Indent changelog. 2022-11-08 17:48:36 +01:00
Duc Thanh Nguyen
4aac4c7bc4 Add Natspec devdoc inheritance support for events 2022-11-08 15:53:10 +01:00
Alexander Arlt
5b9096a381 [solc] Exit code 2 for exceptions. 2022-11-01 12:56:05 +01:00
Christian Parpart
9e7fe985bf [Language Server]: Add basic document hover support. 2022-10-26 13:53:29 +02:00
hrkrshnn
d32661c0af Added tests for --no-append-metadata
- Command line tests
- Documented the standard json
- Changelog
- A Change in SolidityExecutionFramework to prevent flaky gas tests
- A boost test for --no-append-metadata
- Removed an outdated comment
2022-09-26 20:40:34 +02:00
Nikola Matic
e37dc8e975 Address review comments 2022-09-13 17:23:31 +02:00
Nikola Matic
ddf0d784ac Changelog and docs 2022-09-12 11:13:47 +02:00
Kamil Śliwak
3b524455c6 Set version to 0.8.18 2022-09-08 17:59:54 +02:00
Kamil Śliwak
722e9d8693 Set release date for 0.8.17 and update the bug list 2022-09-08 15:32:40 +02:00
Kamil Śliwak
514842e2a4 Sort changelog for 0.8.17 alphabetically 2022-09-08 15:32:40 +02:00
Kamil Śliwak
1649f24767 Add missing changelog entries for a few PRs that will go into 0.8.17 2022-09-08 15:32:40 +02:00
Daniel Kirchner
d6eb255df4 Changelog entry and bug list entry.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-09-08 12:05:49 +02:00
Christian Parpart
b6ba43234e lsp: Always load all solidity files from project for analyzing.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-22 12:49:04 +02:00
Daniel Kirchner
e996fe6247 Yul Optimizer: Simplify start offset of zero-length operations. 2022-08-15 15:42:51 +02:00
Matheus Aguiar
2282ea5e56 Added overflow checks after multiplication operation is executed. 2022-08-12 10:18:05 -03:00
Daniel Kirchner
9a429e2300 Fix ICE on invalid tuple assignments. 2022-08-09 12:41:47 +02:00
Kamil Śliwak
cc11c6f3d5 Set version to 0.8.17 2022-08-08 15:24:48 +02:00
Kamil Śliwak
caba38db5c Set release date for 0.8.16 and update the bug list 2022-08-08 14:12:42 +02:00
Kamil Śliwak
fb51bd69a3 Changelog cleanup for 0.8.16 2022-08-08 13:57:19 +02:00
Kamil Śliwak
0835e41626 Sort changelog for 0.8.16 alphabetically 2022-08-08 13:56:22 +02:00
Marenz
22c7cd22b9 Fix wrong cleanup when copying from calldata to memory
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-08 13:07:16 +02:00
Duc Thanh Nguyen
a9e03f5e4a Fix out-of-range compiler crash for nested tuple assignment involving
outer unary tuple
2022-08-04 12:45:46 -04:00
Matheus Aguiar
9acf693aa2 Fixed bad cast when abiEncodeCall receives a tuple from a function. 2022-08-03 18:48:38 -03:00
Kamil Śliwak
48835b3a73 Changelog: Add missing entry for the 0.8.13 PR that caps the returndata copied for static returns 2022-07-26 18:19:17 +02:00
Kamil Śliwak
f917249111 Changelog: Remove the superfluous entry about error reporter 2022-07-26 18:05:16 +02:00
Kamil Śliwak
8b05868895 Changelog: Sort 0.8.15 entries 2022-07-26 18:04:50 +02:00
Kamil Śliwak
13dc5c2981 Changelog: Use Language Server instead of LSP when referring to the compiler component 2022-07-26 18:04:06 +02:00
Duc Thanh Nguyen
5072472917 Fix abi.encodeCall checks 2022-07-25 12:40:54 -04:00
Christian Parpart
31227e442e lsp: Adds support for include paths and have {projectUri}/node_modules added by default.
- Factor out FileRepository's path resolving into own public function.
- Fixes sourceUnitNameToUri() path resolving in relation to include paths being used.
- Adding an solAssert().
- adds nother test for include-paths (bad include)
- Fixes a case on Windows there an ill-formed URI was generated.
- Dropping unnecessary if-branch when translating from sourceUnitName to URI.
2022-07-12 15:25:33 +02:00
Duc Thanh Nguyen
0a14368315 Display human readable type name in conversion error message 2022-07-06 10:49:51 -04:00
Matheus Aguiar
4fd5c11af7 Checks for overflow/underflow after add/sub operations. 2022-06-23 14:41:12 -03:00
Mathias L. Baumann
3ed9a38abc
Merge pull request #12966 from a3d4/fix-ice-structtype-nativemembers
Fix ICE caused by an immutable struct with mapping
2022-06-23 16:11:28 +02:00
Daniel Lupu
8498fdf1d4 Add changelog entries 2022-06-22 09:26:31 +02:00
Daniel Kirchner
cdf243a9af Improved array copy routine for value type arrays from memory or calldata to storage. 2022-06-16 15:05:21 +02:00
Nishant Sachdeva
b80f4baae2
Merge pull request #12928 from StrongerXi/expand-purity-check-for-foreign-constants
Propagate purity information for member access to foreign pure variables
2022-06-16 17:53:49 +05:30
Ryan
3b2c6de61c Propagate purity information for member access to foreign pure variables 2022-06-16 17:11:55 +05:30
Midhun07
697821b96b Disallowed --metadata-literal, --model-checker-show-unproved, --model-checker-div-mod-no-slacks ----metadata-hash=swarm outside of compiler mode 2022-06-16 17:09:33 +05:30
Daniel Kirchner
60004acfe9 Set version to 0.8.16. 2022-06-15 18:32:15 +02:00
Daniel Kirchner
14d0776c94 Set release date for 0.8.15. 2022-06-15 15:08:24 +02:00
Daniel Kirchner
16245f7b9b Warn about multiple assignments to storage byte pushes and fix warnings about multiple storage to storage copies.
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-06-15 13:53:05 +02:00
Daniel Kirchner
91ff02b988 Changelog and buglist entries. 2022-06-14 18:26:16 +02:00
Kamil Śliwak
acbdcc3711 Revert the change that made events accessible in other contacts via qualified access 2022-06-14 12:04:14 +02:00
chriseth
51ef6a62da Fix removal of memory stores in inline assembly blocks. 2022-06-10 17:32:28 +02:00
wechman
f40c9cdf1d Update changelog with information about changes to CommonSubexpressionEliminator 2022-06-07 11:53:43 +02:00
a3d4
423f3d3088 Fix ICE caused by an immutable struct 2022-06-07 10:29:45 +02:00
chriseth
52ea572ec1 Copy editing changelog. 2022-05-23 15:43:03 +02:00
Daniel Kirchner
7168c27f0d Relax inliner heuristics. 2022-05-23 13:37:50 +02:00
chriseth
f0e43921f7
Merge pull request #12921 from ethereum/add_event_and_error_selector_fields_on_the_line_of_function_selector_field
Adding event and error selector fields
2022-05-23 11:34:13 +02:00
Daniel Kirchner
9fa907aac2 Do not remove potentially reverting returndatacopy cases. 2022-05-23 11:01:03 +02:00
nishant-sachdeva
d4c06d2b4e Adding event and error selector fields on the lines of the function selector fields 2022-05-23 10:49:16 +02:00
Matheus Aguiar
33ea6a679d Fixed bug that added a superfluous empty slot for data when encoding an empty string coming from storage.
Added tests covering empty string, uninitialized string, emptry string literal, byte arrays and explicit call to `abi.encode`.
2022-05-18 14:50:26 -03:00
Marenz
ca3af4b2a2 LSP: Implement semantic tokens 2022-05-18 14:54:16 +02:00
chriseth
79554b9a40 Set version to 0.8.15. 2022-05-17 18:03:53 +02:00
chriseth
0bd0bf4c7d Set release date. 2022-05-17 13:50:26 +02:00
chriseth
259edd4c98 Changelog. 2022-05-17 13:04:05 +02:00
chriseth
f021017bc0 Sort changelog. 2022-05-17 10:38:26 +02:00
Matheus Aguiar
35661479b6 Revert "Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions"
This reverts commit f567eb1fb2.

Correcting Bugfixes section of Changelog.
2022-05-13 08:35:21 -03:00
Daniel Kirchner
aafda389ea
Merge pull request #12907 from ethereum/calldataReencodeValidationBug
Calldatasize-check during ABI encoding from calldata values with nested dynamic arrays.
2022-05-12 17:56:44 +02:00
Leo Alt
2fe143f7d0 add changelog entry and docs note 2022-05-12 13:43:28 +02:00
Daniel Kirchner
352a3c5f4b Bug list entry, changelog entry and tests. 2022-05-12 13:08:30 +02:00
Leo Alt
4c00815c53 Changelog entry 2022-05-11 20:02:31 +02:00
Christian Parpart
f308f1a1f8 Always allow full filesystem access to LSP. 2022-05-09 11:37:11 +02:00
chriseth
df29ea72f0
Merge pull request #12836 from ethereum/fixUsingGlobal
Fix using global with libraries.
2022-05-02 12:41:34 +02:00
chriseth
505fa7763f Fix checks for "using for ... global" for libraries. 2022-05-02 12:40:56 +02:00
chriseth
d55b84ff63
Merge pull request #12861 from ethereum/disallow-returndatacopy-in-pure-functions
Disallow RETURNDATACOPY and RETURNDATASIZE in inline assembly in pure functions
2022-04-28 13:15:04 +02:00
Leo Alt
f9fa76c9d3 smt encode call 2022-04-11 12:19:41 +02:00
Kamil Śliwak
f567eb1fb2 Disallow RETURNDATASIZE and RETURNDATACOPY in inline assembly blocks in pure functions 2022-04-08 14:48:35 +02:00
Aisultan Kali
96376264e8 Set handlers use unified jsonPrint with prettifier if needed 2022-04-04 20:17:11 +02:00
nishant-sachdeva
4c6066bfad typeCheckAbiEncodeCallFunction should type check the arguments on functionPointerType->asExternallyCallableFunction instead of teh plain function type 2022-03-24 18:53:46 +05:30
Alexander Arlt
1a0988e503 libevmasm: refactor asm-json export & add support for source list. 2022-03-23 15:58:07 -05:00
Daniel Kirchner
54ab09fee8 Additional peephole optimizer rules for removing side-effect free instructions before simple terminations. 2022-03-16 15:34:37 +01:00
chriseth
e786bf9b5a Set version to 0.8.14. 2022-03-16 14:38:15 +01:00
chriseth
acd488532d Set release date. 2022-03-16 10:28:40 +01:00
Daniel Kirchner
5cd98006d4 Fill in junk in stack layouts on terminating control flow paths. 2022-03-15 18:36:55 +01:00
Daniel Kirchner
8cb01a9953 Fix and updated test. 2022-03-15 10:23:09 +01:00
chriseth
9188519f11 Using for with global binding. 2022-03-14 17:39:14 +01:00
chriseth
7f360e61fc
Merge pull request #12781 from ethereum/fixImportDirectiveVisits
Fix import directive visits in type checker and view pure checker.
2022-03-14 15:35:37 +01:00
Daniel Kirchner
0f1a63c3fa Fix import directive visits in type checker and view pure checker. 2022-03-14 14:53:06 +01:00
Daniel Kirchner
e58c0b561d Mark viaIR code generation as non-experimental. 2022-03-14 14:48:00 +01:00
chriseth
3f6beaa0ad
Merge pull request #12121 from ethereum/extend-using-statement
Extend using statement
2022-03-14 14:10:16 +01:00
chriseth
a059ca1dab Clean up changelog. 2022-03-14 13:06:33 +01:00
hrkrshnn
672951ccc7 Extend using-for. 2022-03-14 12:33:44 +01:00
Christian Parpart
2b2f8acc12 LSP: Implements goto-definition. 2022-03-14 11:59:41 +01:00
Kamil Śliwak
2d834eaf67 A script and CI job for testing the compiler with different locales 2022-03-14 09:08:01 +01:00
wechman
9dc26af829 Use "C" instead user environment locale in solc 2022-03-14 09:07:48 +01:00
chriseth
4f02be110c Unused store eliminator. 2022-03-10 18:25:28 +01:00
chriseth
b3fe042884 Optimize eq iszero jumpi to xor jumpi and remove double jump. 2022-03-10 14:41:41 +01:00
Daniel Kirchner
ce0a3e93f2 Store whether an evmasm Assembly is creation code. 2022-03-09 17:42:29 +01:00
Daniel Kirchner
e6848caac1 Allow annotating inline assembly as memory-safe. 2022-03-02 16:42:28 +01:00
nishant-sachdeva
195f72e844 Added errorSelector field for custom errors 2022-02-21 19:14:33 +05:30
chriseth
65ba798caf Set version to 0.8.13 2022-02-16 16:12:18 +01:00
chriseth
49bc8206f1 Set release date. 2022-02-16 09:49:14 +01:00
chriseth
c7f1ead836
Merge pull request #12666 from ethereum/smallChangelogChanges
Minor changes to changelog.
2022-02-14 18:10:58 +01:00
Daniel Kirchner
04bcd01b0d Add Changelog entry about packed soljson.js. 2022-02-14 17:49:07 +01:00
chriseth
bf2556af83 Minor changes to changelog. 2022-02-14 17:48:46 +01:00