Commit Graph

2156 Commits

Author SHA1 Message Date
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
Daniel Kirchner
cf8a7c3bea
Merge pull request #12544 from ethereum/natspec-ice-12528
Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different.
2022-01-18 12:48:26 +01:00
Daniel Kirchner
79e9d619a3
Merge pull request #12545 from ethereum/yulGrammarFluke
Allow builtins in yul identifier paths in antlr grammar.
2022-01-17 20:42:14 +01:00
Daniel Kirchner
2d0f6278bb Allow builtins as yul identifier paths in antlr grammar. 2022-01-17 18:42:54 +01:00
Marenz
7c0a121e45 Natspec: Fix ICE when overriding a struct getter with a Natspec-documented return value and the name in the struct is different. 2022-01-17 17:10:07 +01:00
Marenz
0004ad8764 Fix ICE when a constant variable declaration forward references a struct 2022-01-17 13:24:14 +01:00
Marenz
2c4c8264e4 Fix wrong error with immutables when base contract c'tor uses return 2022-01-13 13:09:36 +01:00
Mathias L. Baumann
63b6bbe15c
Merge pull request #12471 from ethereum/modifiers-control-flow-11483
Properly generated control flows for inherited modifiers
2022-01-06 13:39:50 +01:00
Marenz
e969aed780 Properly resolve virtual modifiers 2022-01-06 12:52:06 +01:00
chriseth
c16867cb83
Merge pull request #12272 from ethereum/equalStoreEliminator
Equal store eliminator.
2022-01-05 11:24:59 +01:00
William Entriken
c798ac472e Typo: SemVer 2022-01-04 18:59:40 -05:00
chriseth
772e100813 Equal store eliminator. 2022-01-03 15:52:05 +01:00
chriseth
4c838d9cf5 abi.encodeCall for declarations. 2021-12-29 12:26:04 +01:00
chriseth
1cb9766835 Document nodejs required version change. 2021-12-20 19:39:05 +01:00
chriseth
ff181ad129 Set version to 0.8.12. 2021-12-20 16:17:07 +01:00
chriseth
25a3bf2df0 Set release date. 2021-12-20 13:15:58 +01:00
chriseth
3193dfbb5d
Merge pull request #11350 from ethereum/lsp
Language Server
2021-12-16 18:54:26 +01:00
Christian Parpart
927b24df1f Initial implementation of Language Server 2021-12-16 17:52:49 +01:00
Marenz
7a96953e78 Implement typechecked abi.encodeCall() 2021-12-16 17:35:58 +01:00
nishant-sachdeva
9b55d4788e Added sameType check for fromType and toType in YulUtilFunctions.cpp and relevant tests in semanticTests 2021-12-15 23:50:25 +05:30
Leo Alt
316be7206f Fix soundness of storage/memory pointers that were not erasing enough knowledge 2021-12-14 12:02:18 +01:00
chriseth
26e5f23352
Merge pull request #12375 from ethereum/typeOnChangelog
Typo in changelog.
2021-12-06 18:28:21 +01:00
chriseth
f0a9cd7504 Typo in changelog. 2021-12-06 16:15:46 +01:00
nishant-sachdeva
a4fbc607c6 Issue 11610 : Replced typeError with fataTypeError in lines 390 and 406. Test file added in test/libsolidity/syntaxTests/calldata_struct_argument_with_internal_type_inside.sol
Issue : 11610 : Test cases updated, Changelog.md file updated to include change on 0.8.11
2021-12-03 12:23:35 +05:30
Leo Alt
16535aae32 Fix ICE when unsafe targets are solved more than once and the cex is different 2021-12-03 00:21:38 +01:00
Marenz
49b4e77d6b Prevent crash when translating yul->ewasm with @use-src annotations 2021-11-11 13:43:57 +01:00
Kamil Śliwak
cffb7fec27 Set version to 0.8.11 2021-11-09 17:23:33 +01:00
chriseth
45c9dbe174 Sort changelog and set release date. 2021-11-08 17:28:53 +01:00
chriseth
1633e367c9
Merge pull request #12199 from ethereum/expose-parsingAndImporting
Expose "parsingAndImporting" setting to user
2021-11-08 17:06:20 +01:00
Kamil Śliwak
44f7065fc9
Merge pull request #12074 from ethereum/output-selection-in-assembler-mode
CLI output selection in assembler mode
2021-11-08 16:59:57 +01:00