Commit Graph

2185 Commits

Author SHA1 Message Date
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
Daniel Kirchner
c47da51eab Consider all grandparents in override analysis. 2022-02-14 15:31:31 +01:00
Daniel Kirchner
3b6c99f3e8
Merge pull request #12572 from ethereum/fixStackShuffling
Improved stack shuffling in corner cases.
2022-02-14 13:00:56 +01:00
nishant-sachdeva
276851ff91 Added support for FunctionType::Kind::StringConcat and functions string.concat 2022-02-10 22:08:47 +05:30
joshieDo
9e62f21b25 Add event and error identifiers to cli hashes cmd 2022-02-08 17:44:21 +01:00
Marenz
b9fe628b70 Emit immutable references for pure yul code 2022-02-07 12:32:54 +01:00
chriseth
4259e1bb70 Fix changelog 2022-01-31 19:19:16 +01:00
hrkrshnn
0fe5811459 Fixed a ICE on calldata to struct member copy 2022-01-31 17:26:11 +01:00
nishant-sachdeva
dec511aad8 Corresponding code in the .cpp file has been commented instead of begin removed pending preliminary reviews
Code generators needed fixing of the cleanup process during typecasting of bytes and integers
2022-01-28 19:56:15 +05:30
Kamil Śliwak
4e395137b9 Changelog entry for the TypeScript migration 2022-01-25 16:42:40 +01:00
Daniel Kirchner
de28f31716 Improved stack shuffling in corner cases. 2022-01-21 15:41:30 +01:00
Marenz
a550048cf0 Fix too strict assert for calldata string -> bytes conversions 2022-01-20 15:11:26 +01:00
nishant-sachdeva
27d0480e96 Adding Stack Height Checker and modifying the number of POP instructions to appropriately provide the pointer address 2022-01-20 01:15:08 +05:30
Daniel Kirchner
92c262d116
Merge pull request #12553 from ethereum/ir-ice-12546
Fix .push() not considering external functions
2022-01-19 13:41:20 +01:00
nishant-sachdeva
a0d6c11860 Equality operator allowed for external function types 2022-01-19 15:20:31 +05:30
Marenz
89d6bff72a Fix .push() not considering external functions 2022-01-18 16:30:31 +01:00