Commit Graph

214 Commits

Author SHA1 Message Date
Alex Beregszaszi
9062704054
Merge pull request #4753 from mattaereal/boost-to-string-patch
Replace boost:lexical_cast<std::string> for std::to_string.
2018-08-08 16:07:25 +01:00
Matías Aereal Aeón
e902ce1aa0 Removing std:: from std::to_string and include for boost/lexical_cast 2018-08-08 11:26:30 -03:00
Matías Aereal Aeón
7dae58cbcc Replace boost:lexical_cast<std::string> for std::to_string. 2018-08-08 03:55:43 -03:00
Alex Beregszaszi
3de0b8b7f0 Move absolutePath/sanitizePath helpers from CompilerStack to libdevcore 2018-08-06 12:54:22 +01:00
Augusto F. Hack
6c3b48ddfc Added guards for unknown pragmas
Removed push/pop if there was no change to the warnings *in the same
file* for a given compiler. This assumes the imported boost headers use
a warning stack themselves.

The pragmas don't seem to be required anymore, but were not removed to
mantain compatibility with older versions of the boost library.

Compiled with
- clang version 6.0.1 (tags/RELEASE_601/final)
- gcc (GCC) 8.1.1 20180531
 against:
- libboost 1.67.0-5
2018-08-05 19:21:33 -03:00
Evgeniy Filatov
3705bcc9bc added helper function that joins vectors of strings, refactored suggestions formattingi function to use it 2018-08-03 14:07:03 +03:00
Christian Parpart
38f9667e09 Guard CycleDetector against recursion exhaustion.
fixes #3935.
2018-08-01 12:02:59 +01:00
Alexander Arlt
0b49fd3493 CMake: Update jsoncpp to v1.8.4 2018-04-23 11:10:39 +01:00
Alex Beregszaszi
0bf3db3fcf Add static_assert for the correct jsoncpp version 2018-04-17 11:03:19 +01:00
Paweł Bylica
1ca8aebf8e
CMake: Clean up devcore dependencies 2018-04-16 12:16:04 +02:00
Daniel Kirchner
c15cb6cc7a Prevent information about file existence outside the allowed paths to leak by mimicing boost::filesystem::weakly_canonical. 2018-04-11 18:52:22 +02:00
chriseth
eb5b18e814 Generalize cycle detection. 2018-04-03 16:29:18 +02:00
Daniel Kirchner
7fa892eca9 Add interactive test tool isoltest. 2018-03-15 16:23:49 +01:00
Alexander Arlt
0f29ac4e56 Add new JSON API for better abstraction and for supporting strict JSON parsing 2018-02-20 21:58:26 +01:00
chriseth
5747985e6a Use one-dimensional vector. 2018-02-13 15:04:10 +00:00
chriseth
12c3eb8880 Suggestion to improve readability. 2018-02-13 15:04:10 +00:00
chriseth
dc0a25f1cd Minor changes. 2018-02-13 15:04:03 +00:00
Balajiganapathi S
8a491c77ba Restructure code for alternative identifier suggestions 2018-02-13 15:00:15 +00:00
Balajiganapathi S
b1417b318f Move string distance function to utils and format error message 2018-02-13 14:59:33 +00:00
chriseth
d84c9e148b Generic pretty-printed numbers.. 2018-02-09 19:00:40 +01:00
chriseth
3760284e1c Move-append for vector. 2017-12-11 14:24:04 +01:00
Alex Beregszaszi
6ebc094474 Ensure that non-hex characters are caught in address checksumming 2017-11-17 00:46:45 +00:00
wadeAlexC
8a6692b2cf Improves address literal checksum error message 2017-11-17 00:46:44 +00:00
Alex Beregszaszi
6f2865228c Add readStandardInput helper 2017-10-18 12:56:11 +01:00
Alex Beregszaszi
7186e142b8 Rename contentsString to readFileAsString 2017-10-18 12:55:12 +01:00
Paweł Bylica
931c0bcce3 Refactor Exception::what() 2017-10-02 16:49:45 +02:00
Alex Beregszaszi
71aca8c86d Always return a valid pointer in Exception::what() 2017-10-02 11:41:47 +01:00
chriseth
f28d40ef0b Provide template for whiskers error. 2017-09-22 15:19:50 +02:00
Alex Beregszaszi
6cec0789b5 Limit of scope of variables in SHA3 2017-09-20 01:23:21 +01:00
Alex Beregszaszi
aad829948a Ensure parameter names match between headers and implementation 2017-09-20 01:23:21 +01:00
chriseth
cd22da1d9e Remove escape function. 2017-08-29 15:50:28 +01:00
Alex Beregszaszi
7fb4a64136 Move all file specific globals to anonymous namespace 2017-08-29 11:09:18 +01:00
chriseth
6951a371ec Cleanup of vector_ref.h 2017-08-25 19:36:48 +02:00
chriseth
82e4f6f604 Cleanup of FixedHash.h 2017-08-25 16:05:28 +02:00
chriseth
4b0e30d259 Cleanup of Common.h 2017-08-25 14:54:23 +02:00
chriseth
1437521df0 Merge pull request #2807 from ethereum/removeABIh
Cleanup: Remove ABI.h
2017-08-25 14:53:30 +02:00
chriseth
157b5f1ae9 Cleanup of SHA3.h 2017-08-25 12:13:26 +02:00
chriseth
bfc7d71f51 Cleanup: Remove ABI.h 2017-08-25 11:57:33 +02:00
Alex Beregszaszi
957f23a9f4 Merge pull request #2538 from ethereum/z3Conditions
z3 conditions
2017-08-24 00:27:09 +01:00
Paweł Bylica
ee09a06647
CMake: Add back compatibility with CMake 3.0 2017-08-23 17:54:53 +02:00
chriseth
5bfd5d98c1 Format numbers more nicely. 2017-08-23 17:37:35 +02:00
Alex Beregszaszi
3b07c4d38e Merge pull request #2757 from ethereum/cmake
Static linking
2017-08-23 12:36:24 +01:00
Paweł Bylica
388fc983fa
CMake: Cleanup "local" include path 2017-08-22 22:50:25 +02:00
Paweł Bylica
15fd43f035
CMake: Fix linking with pthread 2017-08-22 16:45:57 +02:00
Alex Beregszaszi
f38429fef8 Switch stream properties back after temporary modification 2017-08-22 13:55:01 +01:00
Alex Beregszaszi
2a5772cff7 Mark appropriate constructors explicit 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
3cf2426e1a Make vector+vector template more readable 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
b3986f1d07 Remove some unused includes 2017-08-21 14:08:58 +01:00
Paweł Bylica
0712e6302e
Boost: Use static libs 2017-08-18 13:32:36 +02:00
Paweł Bylica
2a1b6b2e92
CMake: Simplify libdevcore config 2017-08-17 13:48:34 +02:00
chriseth
bda410bb07 Helpers. 2017-08-14 12:44:25 +02:00
Alex Beregszaszi
d5188fb671 Introduce IndentedWriter 2017-08-10 22:47:09 +01:00
Alex Beregszaszi
f3e591eedd Add template for merging sets 2017-07-19 14:56:40 +01:00
chriseth
09e821619e Refactor exceptions and provide comment function. 2017-07-13 11:34:03 +02:00
Alex Beregszaszi
b615b01449 Move UndefMacros from libdevcore to libsolidity/parsing 2017-07-02 00:09:46 +01:00
Alex Beregszaszi
aea5f90ad3 Rewrite validateUTF8 using if/else 2017-06-26 12:59:17 +01:00
Alex Beregszaszi
c45dbab00c Rewrite validateUTF8 to use char 2017-06-26 12:59:14 +01:00
Alex Beregszaszi
6488f7e079 Validate first byte properly for UTF8 2017-06-26 12:58:22 +01:00
Alex Beregszaszi
569e0c53f2 Implement strict UTF-8 validation 2017-06-26 12:58:21 +01:00
chriseth
cb7021881a Whiskers template system 2017-06-22 16:56:57 +02:00
Alex Beregszaszi
09c548ec69 Remove unused errinfo types 2017-06-22 11:25:07 +01:00
Alex Beregszaszi
a3bd670154 Remove obscure DEV_IGNORE_EXCEPTIONS macro 2017-06-22 11:25:06 +01:00
Alex Beregszaszi
becea47ac3 Use assertThrow where possible 2017-06-22 11:25:06 +01:00
chriseth
57f79ebfa6 Remove debugbreak. 2017-06-20 19:21:29 +02:00
Alex Beregszaszi
d7e63f23de Fix UTF-8 validation for high codepoints (>10000) 2017-06-16 16:41:29 +02:00
ethers
9e62e9b1b7 Comment update SHA3-256 to Keccak-256 (title) 2017-05-12 22:30:14 -04:00
ethers
cd1d112816 Comment update SHA3-256 to Keccak-256
Could have been part of aefb6e5fcf
2017-05-08 21:30:16 -07:00
chriseth
7a24a5764e Add line info to serious exceptions. 2017-02-24 19:32:41 +01:00
Alex Beregszaszi
902f69640b Replace cpp-ethereum with solidity in the license headers 2017-02-02 10:06:28 +00:00
chriseth
3949624a61 Also check library addresses. 2017-01-24 23:37:48 +01:00
chriseth
a3b01eca27 Do not evaluate strings if assertion succeeds. 2017-01-12 17:52:26 +01:00
Federico Bond
b6fcc5ffb0 Fix typos in comments 2016-12-11 12:11:04 -03:00
chriseth
e0d4a3d518 Fix emscripten build. 2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d Metadata stamp. 2016-12-01 16:03:59 +01:00
Alex Beregszaszi
a9e92cb686 Rename dev::validate to dev::validateUTF8 2016-11-28 22:28:21 +00:00
Alex Beregszaszi
c01426efec Make position optional in dev::validate 2016-11-28 22:27:55 +00:00
Yoichi Hirai
e136ec8704
ast: string literals that are not valid UTF are not convertible to strings 2016-11-25 13:36:06 +01:00
VoR0220
9869f1a78b
convert individual numbers to hex
Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-21 13:53:53 -06:00
VoR0220
9dda8f7d84
add ostream to bytes for ease of development
Signed-off-by: VoR0220 <rj@erisindustries.com>

fix up

Signed-off-by: VoR0220 <rj@erisindustries.com>
2016-11-17 21:35:54 -06:00
chriseth
c811691861 Merge pull request #1379 from ethereum/swarmHashCorrection
Correct implementation of swarm hash.
2016-11-16 12:25:20 +01:00
Alex Beregszaszi
81c50143f2 Move JSON helpers to libdevcore/json 2016-11-15 17:38:18 +00:00
chriseth
518fe2aab7 Correct implementation of swarm hash. 2016-11-15 14:55:51 +01:00
chriseth
2ecf348a9d Move swarmHash to its own file. 2016-11-14 23:25:12 +01:00
chriseth
8944b092f8 Multi-level swarm hash. 2016-11-14 23:14:10 +01:00
chriseth
2f83a45577 Swarm hash. 2016-11-14 23:14:10 +01:00
chriseth
d22ed31e4b Windows build fix.
Thanks for the find, @slothbag
2016-11-09 15:04:16 +01:00
chriseth
7a30e8cf6e Merge pull request #1252 from ethereum/jsoncpp-from-source
Build jsoncpp from source using jsoncpp.cmake script
2016-11-08 13:47:52 +01:00
Paweł Bylica
598154ed17
Drop CryptoPP leftovers
Especially, do not compile CryptoPP for Emscripten.
2016-11-08 01:16:31 +01:00
Thanabodee Charoenpiriyakij
15d0ed6442 Remove non-solidity exceptions
Most exceptions and some errorinfos in 'libdevcore' are not be used.

Close #781
2016-10-23 10:02:39 +07:00
Thanabodee Charoenpiriyakij
c86d58b2e9 Removed 'vector_ref::cleanse'
Close #785
2016-10-16 01:42:02 +07:00
chriseth
cc2a6867a7 Merge pull request #1231 from ethereum/debugbreak
Properly define trap_instruction
2016-10-15 18:09:24 +02:00
chriseth
e0bf199b91 Merge pull request #1232 from ethereum/devcore-unused-includes
Remove unused libdevcore includes
2016-10-15 18:07:36 +02:00
Alex Beregszaszi
9211d49ed3 Remove unused picosha2 2016-10-15 16:17:26 +01:00
Alex Beregszaszi
85fb4f8ea9 Don't include random in CommonData 2016-10-15 16:17:14 +01:00
Alex Beregszaszi
a7edf8a5b3 Remove unused SHA2 include in SHA3 2016-10-15 16:12:14 +01:00
Alex Beregszaszi
bc537c7581 Properly define trap_instruction 2016-10-15 15:46:50 +01:00
Thanabodee Charoenpiriyakij
941a0164f9 Removed 'secure_vector'
Close #780
2016-10-15 20:46:14 +07:00
Alex Beregszaszi
f77a4585ec sha3: actually support both FIPS SHA3 and Keccak 2016-10-06 14:53:40 +01:00
Alex Beregszaszi
53cbece3a6 sha3: remove unused counter 2016-10-06 14:53:40 +01:00
Alex Beregszaszi
aefb6e5fcf Rename dev::sha3 to dev::keccak256 2016-10-06 14:53:40 +01:00
Yoichi Hirai
00e8b059ea Explicitly convert the assert condition using bool()
This allows a shared pointer as a condition because bool(std::shared_ptr<T>) is defined.
2016-09-09 19:11:15 +02:00
Yoichi Hirai
c9b23d9829 Fix a typo and whitespaces 2016-09-07 14:29:01 +02:00
Dimitry
23acb383d5 remove sha256 and rmd160 hash 2016-08-24 19:52:49 +04:00
Alex Beregszaszi
5d9347f022 Remove dev::utf8 namespace 2016-08-08 20:05:31 +01:00
Alex Beregszaszi
f1df3dee53 Use size_t in dev::utf8::validate() 2016-08-08 20:05:31 +01:00
Alex Beregszaszi
c157163441 Use consts in dev::utf8::validate() 2016-08-08 19:58:39 +01:00
Alex Beregszaszi
7945f41ccc Include UTF8 helpers in libdevcore 2016-08-08 19:57:39 +01:00
chriseth
c3ed550eb6 Merge pull request #834 from chriseth/devcorecleanup
Some cleanup regarding libdevcore. Also rename to avoid conflicts.
2016-08-08 15:11:36 +02:00
chriseth
53a5e99c13 Merge pull request #800 from winsvega/fixbuild
fix build on windows
2016-08-08 09:38:45 +02:00
chriseth
226ed7b9dc Some cleanup regarding libdevcore. Also rename to avoid conflicts. 2016-08-06 11:14:28 +02:00
chriseth
7ea5770598 Do not install headers. 2016-08-05 16:35:24 +02:00
chriseth
0a2a2cf38b Add boost workaround for specific version. 2016-08-04 13:21:33 +02:00
Dmitry K
e97f62bb6d fix build on windows 2016-08-02 20:14:34 +03:00
Bob Summerwill
4ee2114127 Make the Solidity repository standalone.
This commit is the culmination of several months of work to decouple Solidity from the webthree-umbrella so that it can be developed in parallel with cpp-ethereum (the Ethereum C++ runtime) and so that even for the Solidity unit-tests there is no hard-dependency onto the C++ runtime.

The Tests-over-IPC refactoring was a major step in the same process which was already committed.

This commit contains the following changes:

- A subset of the CMake functionality in webthree-helpers was extracted and tailored for Solidity into ./cmake.   Further cleanup is certainly possible.
- A subset of the libdevcore functionality in libweb3core was extracted and tailored for Solidity into ./libdevcore.   Further cleanup is certainly possible
- The gas price constants in EVMSchedule were orphaned into libevmasm.
- Some other refactorings and cleanups were made to sever unnecessary EVM dependencies in the Solidity unit-tests.
- TravisCI and Appveyor support was added, covering builds and running of the unit-tests (Linux and macOS only for now)
- A bug-fix was made to get the Tests-over-IPC running on macOS.
- There are still reliability issues in the unit-tests, which need immediate attention.    The Travis build has been flipped to run the unit-tests 5 times, to try to flush these out.
- The Emscripten automation which was previously in webthree-umbrella was merged into the TravisCI automation here.
- The development ZIP deployment step has been commented out, but we will want to read that ONLY for release branch.

Further iteration on these changes will definitely be needed, but I feel these have got to sufficient maturity than holding them back further isn't winning us anything.    It is go time :-)
2016-08-01 01:45:11 -07:00