Commit Graph

140 Commits

Author SHA1 Message Date
Alex Beregszaszi
ac192ff4c1 Drop the util::u160 type 2021-04-23 14:35:06 +01:00
Leonardo Alt
4e34359063 Basic support to free functions 2021-04-19 19:23:18 +02:00
Daniel Kirchner
afae46dcb5 Add ScopedSaveAndRestore helper. 2021-04-16 10:56:56 +02:00
hrkrshnn
22ebdc7438 Implemented FunctionSpecializer
Optimiser step that specializes the function with its literal arguments.
2021-03-29 11:02:18 +02:00
Daniel Kirchner
8f56c6ad5c Add missing header to Algorithms.h. 2021-03-15 13:50:24 +01:00
Bhargava Shastry
1ddfc7463a Tests: Do not remove filename from boost filesystem path for corner
cases.

Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-02-22 10:32:41 +01:00
Alexander Arlt
061fecbc90 [whiskers] Add check that template contain tags. 2021-01-20 15:26:34 -05:00
chriseth
c8a351d34f
Merge pull request #10467 from ethereum/dataFlowAnalyzerOptimization
Various optimizations for the DataFlowAnalyzer.
2021-01-14 11:21:22 +01:00
Daniel Kirchner
f34d7120a2 Add and use mapTuple helper. 2021-01-13 17:23:27 +01:00
Daniel Kirchner
b5bb802a93 Fix undefined behaviour on 32-bit platforms in swarm hash. 2021-01-13 15:52:58 +01:00
Daniel Kirchner
91cdb606a5 Some style review suggestions. 2021-01-13 12:43:38 +01:00
Daniel Kirchner
4505889481 Replace ranges::all_of wrapper by range-v3. 2021-01-12 21:44:42 +01:00
Daniel Kirchner
3ed55613ba Add and use cxx20::ranges::all_of. 2021-01-12 21:40:52 +01:00
Daniel Kirchner
7fe03cbab0 Implement cxx20 polyfill and replace InvertibleMap entirely. 2021-01-12 21:40:40 +01:00
Daniel Kirchner
625d402dbb Various optimizations for the DataFlowAnalyzer. 2021-01-12 21:39:20 +01:00
chriseth
e9dcd4f813
Merge pull request #10739 from ethereum/mapFetchValue
Add fetchValue utility for maps.
2021-01-12 20:33:40 +01:00
chriseth
24aded266e Dereference. 2021-01-12 14:28:27 +01:00
Daniel Kirchner
f5adaa8bbb Add valueOrNullptr and valueOrDefault utilities. 2021-01-12 13:13:03 +01:00
Daniel Kirchner
eac2bcf72f Add range-v3. 2021-01-11 18:44:55 +01:00
Leonardo Alt
5f39662235 Fix BFS visit 2021-01-11 13:18:59 +01:00
Leonardo Alt
ced79497f5 Fix BFS 2021-01-06 10:17:17 +01:00
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Alex Beregszaszi
b40b82535c Add comprehensive tests for FixedHash
Also explicitly disallow FixedHash<0>, given most functions were not working with it, and it is not very useful.
2020-12-11 12:20:37 +00:00
Alex Beregszaszi
03e805ab5a Reformat FixedHash.h for readability 2020-12-10 22:49:40 +00:00
Alex Beregszaszi
bd641a5206 Enable more C++ compiler warnings 2020-12-10 21:03:58 +00:00
chriseth
482bda6887 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 12:15:52 +01:00
hrkrshnn
06d719e4f1 Move filter to CommonData.h 2020-12-09 11:13:27 +01:00
chriseth
806453aca9 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Christian Parpart
c5d172c058 Reimplement constant evaluator. 2020-12-04 15:14:25 +01:00
chriseth
49bde69afa Move computation of constants out of types.cpp 2020-12-04 15:14:25 +01:00
chriseth
d744a8fb48 Fail on invalid storage encoding for byte arrays. 2020-11-12 11:12:42 +01:00
chriseth
141277dadf Merge remote-tracking branch 'origin/develop' into breaking 2020-11-10 17:28:36 +01:00
Alex Beregszaszi
3c7f642227 Change readFile/readFileAsString to throw FileNotFound exception 2020-11-04 16:35:19 +00:00
chriseth
bfd267459c Panic codes. 2020-10-22 19:25:55 +02:00
chriseth
cb0d1134b7 Extract function to compute function selector from signature. 2020-10-12 17:57:34 +02:00
Alexander Arlt
b6e1415509 Add LEB128 encoding functions & tests. 2020-09-28 16:06:19 -05:00
Mathias Baumann
dd81d05559 Make annotations `SetOnce or optional` where feasible 2020-09-22 17:38:21 +02:00
Harikrishnan Mulackal
e2fd41f097 Implemented UnusedFunctionArgumentPruner 2020-09-03 13:15:38 +02:00
a3d4
8faa5243b5 Fix MSVC ADL 2020-09-01 00:42:42 +02:00
Christian Parpart
ab56c85915 Fixes compilation with MSVC. 2020-08-19 13:56:30 +02:00
Jason Cobb
888d7037cd
Make FunctionCallAnnotation::kind a SetOnce 2020-08-12 11:57:01 -04:00
chriseth
9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
Sachin Grover
b7adb2aa42 Add SPDX license identifier if not present already in source file
Fixes: #9220
2020-07-17 20:24:12 +05:30
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Daniel Kirchner
0fd13b7a9e Upgrade json-cpp to 1.9.3. 2020-07-10 21:40:15 +02:00
chriseth
8155ad2187 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-15 17:11:41 +02:00
Djordje Mijovic
18a196c21d Fixing Keccak256 conversion warning
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-11 08:26:57 +02:00
Djordje Mijovic
c8759b8031 Fixing conversion warnings in CommonData.cpp
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-11 08:26:57 +02:00
chriseth
6b3171c38b Merge remote-tracking branch 'origin/develop' into breaking 2020-06-10 11:30:50 +02:00
Kamil Śliwak
4fd55ae397 Fix toHex() in case of empty data and non-empty prefix 2020-06-04 10:01:55 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
849b16babb
Merge pull request #9095 from ethereum/conversionWarningsLibSolUtil
Adding fixes for signedness warnings in libsolutil
2020-06-03 11:10:54 +02:00
chriseth
ebf5a8702f
Merge pull request #9078 from a3d4/fix-tabs-in-formatter
Fix tabs in SolcReferenceFormatterHuman
2020-06-03 11:07:39 +02:00
a3d4
41d8420718 Fix tabs in SolcReferenceFormatterHuman 2020-06-02 21:43:51 +02:00
Djordje Mijovic
b4454c4925 Adding fixes for signedness warnings in libsolutil 2020-06-02 19:01:29 +02:00
Alex Beregszaszi
2d7edeea3f Add shortcut to to/fromHex for empty input and fix signedness warning 2020-06-02 08:24:04 +01:00
chriseth
69a028b49c Merge remote-tracking branch 'origin/develop' into breaking 2020-05-26 10:11:23 +02:00
Mathias Baumann
7f3d437ffe Fix caret position for errors with utf source 2020-05-25 14:27:03 +02:00
hrkrshnn
4a001d568e Removed null members from JSON output 2020-05-20 16:56:33 +05:30
chriseth
2d1e7d9504
Merge pull request #8931 from random-internet-cat/lazy-init
Add LazyInit
2020-05-14 18:54:19 +02:00
Jason Cobb
648bb3aac7
Update documentation of LazyInit 2020-05-14 10:45:31 -04:00
Jason Cobb
9d8ee5cc8f
Remove unused assertInitialized from LazyInit 2020-05-14 10:42:19 -04:00
Jason Cobb
a392d5d63a
Remove misleading comment from LazyInit 2020-05-14 10:42:00 -04:00
Jason Cobb
197f6bf3c8
Add implementation of LazyInit 2020-05-14 10:17:58 -04:00
chriseth
61c746a575
Merge pull request #8873 from ethereum/picosha2
Update picosha2 from upstream
2020-05-14 14:33:56 +02:00
Jason Cobb
749ec04708
Add empty LazyInit.h header 2020-05-13 13:26:21 -04:00
Mathias Baumann
820fdd9bf7 Escape backslashes when formatting 2020-05-13 17:08:37 +02:00
Mathias Baumann
d5d9ff6513 Update picosha2 from upstream 2020-05-12 15:25:22 +02:00
Alex Beregszaszi
c31a93b3f2 Remove boost::filesystem where it is not needed
A two uses in CommonIO remain for the compiler (plus testing/tools use it extensively)
2020-05-11 11:19:11 +01:00
chriseth
aa8107f45a Conditional strings for Whiskers. 2020-04-27 11:07:56 +02:00
chriseth
c24c4f85e4
Merge pull request #8665 from ethereum/recursiveStructRefactoring
Recursive struct refactoring and a bunch of ICE fixes.
2020-04-20 13:24:19 +02:00
Leonardo Alt
45f22e3ff4 Add functional map and fold generic functions 2020-04-16 19:21:36 +02:00
Daniel Kirchner
f6d1cee06b Ensure that public callable parameters are valid for calldata. 2020-04-16 17:23:20 +02:00
Daniel Kirchner
df1809f8da Annotate struct definitions with a recursive flag. 2020-04-16 16:42:12 +02:00
Alexander Arlt
aac7a1e434 Apply modernize-pass-by-value. 2020-04-14 10:32:13 -05:00
chriseth
ae336fe1c1 Fix 32 bit build failure. 2020-04-09 17:01:26 +02:00
Alexander Arlt
50776133b5 Fix ownership, part two. 2020-04-08 11:04:44 -05:00
Alexander Arlt
6cf830742d Fix ownership. 2020-04-07 15:39:18 -05:00
Jason Cobb
4fcc33c5e5
Remove byte-reinterpret conversion operator from vector_ref 2020-03-15 18:38:59 -04:00
Djordje Mijovic
37878cf8d2 Adding support for ipfs large files. 2020-03-11 13:55:46 +01:00
Jason Cobb
6db0d50094
Don't use identifiers starting with an underscore followed by an uppercase letter 2020-02-17 12:44:39 -05:00
cameel
c4f8df3272 Workaround for clang 5.0.0 on Ubuntu Trusty in Travis CI failing to compile a structural binding
clang fails with:

/home/travis/build/ethereum/solidity/libsolutil/CommonData.h:167:19: error: unused variable '' [-Werror,-Wunused-variable]
        for (auto const& [key, value]: originalMap)
2020-02-03 12:22:47 +01:00
cameel
9c8187bd29 CommonData: Add invertMap() function 2020-02-03 12:06:26 +01:00
Alex Beregszaszi
00f3c42d17 Use multiprecision::msb() in GasMeter and remove FixedHash dependency 2020-01-17 14:24:55 +01:00
Alex Beregszaszi
b3d2413a1f Remove unused features of FixedHash 2020-01-16 17:18:03 +00:00
Alex Beregszaszi
4d8758fcc3 Remove operator~ from FixedHash 2020-01-16 17:18:03 +00:00
Alex Beregszaszi
3c88d295b3 Remove FixedHash(unsigned) constructor 2020-01-16 16:18:08 +00:00
Christian Parpart
abb9f1eed7 CMake: Renaming devcore static library to solutil (to match source code paths) 2020-01-13 15:52:46 +01:00
Christian Parpart
345f9928ab Library libdevcore renamed to libsolutil. 2020-01-07 15:51:50 +01:00