Leo Alt
9a8dd4242f
Fix SMTChecker bug when a public library function is called internally by an internal library function, which in turn is called internally by a contract.
2022-11-28 13:07:18 +01:00
Vinay
9e7b85ac4b
Improve Error Reporting of SemVer Parser
2022-11-25 13:09:09 -03:00
Leo Alt
24df40de9a
Allow running Eldarica from the command line
2022-11-22 21:16:45 +01:00
Daniel
3109ce2dbc
Merge pull request #12132 from ethereum/userDefinedSideEffectsCodeTransform
...
Use side-effects of user defined functions in evm code transform.
2022-11-22 14:26:57 +01:00
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
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
Marenz
fc224f74c7
Evaluate absolute paths for imports in 'parsing' stage
2021-11-08 16:34:02 +01:00
chriseth
a1aa9d2d90
Skip extcodesize check if return data is expected.
2021-11-08 14:58:09 +01:00