Commit Graph
100 Commits
Author SHA1 Message Date
Lefteris Karapetsas 7ca98d4a19 Fix a typo in Buildinfo.cmake
The file should be prelease.txt and not preleases.txt
2018-05-22 17:28:17 +02:00
Lefteris Karapetsas 8a7224683b Docs: Update solidity version for revert with reason 2018-04-15 23:12:28 +02:00
Lefteris Karapetsas 7f88d43937 docs: Specify gas fallback function from call
Specify that also 21k gas is needed for fallback functions originating from
external function calls.
2017-09-21 14:15:13 +02:00
Lefteris Karapetsas 735c977db1 Silence implicit fallthrough warning for gcc > 7
In my system I have gcc 7.1.1 and there I get a lot of warnings which
fail the build due to implicit fallthroughs in switch statements.

Some examples can be seen here:
https://gist.github.com/LefterisJP/388c3ba5ad356f92a3b44e7efed89f9f

This PR proposes a simple solution, which is to ignore the warning for
both gcc and clang.
2017-06-29 16:46:55 +02:00
Lefteris Karapetsas e938699968 Bump cpp-dependencies to include jsoncpp fix 2017-06-23 11:39:04 +02:00
Lefteris Karapetsas f01c8c07e5 Tests for natspect parsing failure cases 2017-01-27 12:13:14 +01:00
Lefteris Karapetsas 98b51b378e More verbose function naming 2017-01-27 00:09:00 +01:00
Lefteris Karapetsas cc7834f2a9 Doc tags followed by newline are now parsed properly 2017-01-27 00:00:05 +01:00
Lefteris Karapetsas 19833c95eb Add ethereum-git to archlinux dependencies
It's needed for testing, since we need to have the `eth` client installed
2017-01-26 13:17:05 +01:00
Lefteris Karapetsas 9ca0fde853 Fix and better output for tests 2017-01-25 11:01:52 +01:00
Lefteris Karapetsas 5738e865d5 Accept any kind of whitespace after natspec tags 2017-01-25 11:01:52 +01:00
Lefteris Karapetsas 806d94c214 Docs: Change contract init with value section
After solidity 0.4.0 we need to make the constructor `payable` if we are
to provide value during contract creation.
2016-10-17 19:14:21 +02:00
Lefteris Karapetsas 9280954e72 Add warning for CentOS dependencies 2016-09-14 22:29:11 +02:00
Lefteris Karapetsas b720e7b03d Add Centos to install_deps.sh
Added steps to otain solidity dependencies in CentOS. Tested those steps
on a CentOS 6.8 machine, but the instructions are from memory. May need
some tweaking.
2016-09-12 11:15:49 +02:00
Lefteris Karapetsas 02e4aa94ff Merge pull request #274 from doublethinkco/cmake_fixes
Corrected case for Solidity library entry in CMake file.
2015-12-04 13:09:45 +01:00
Lefteris Karapetsas 40cfcd40d7 Fix the build - library is not a module
The Module::Object rule is something only eth_use() and friends can
understand. target_link_libraries() on the other hand needs only the
actual library object to link to.
2015-12-04 10:11:09 +01:00
Lefteris Karapetsas d6e77ce0e1 Merge pull request #172 from LefterisJP/build_with_boost_159
Allow building with new boost version 1.59
2015-10-26 10:02:44 +01:00
Lefteris Karapetsas a5a41e1f22 Allow building with new boost version 1.59 2015-10-24 23:11:01 +02:00
Lefteris Karapetsas a823de2d58 push() for byte arrays also properly implemented 2015-10-15 14:37:11 +02:00
Lefteris Karapetsas 9224c1f712 Working implementation of arraypush
ByteArrayPush() gets a test but is ignored for now, since there are
still some issues with its implementation
2015-10-15 13:54:59 +02:00
Lefteris Karapetsas a521843f6b Implement Dynamic array push and fix test
Still a work in progress. There is a disturbance in the stack at the
moment and that's why there are some cout statements left for debugging.
2015-10-15 10:52:30 +02:00
Lefteris Karapetsas 3287cd464f WIP - Expression compiler for array push 2015-10-15 10:52:30 +02:00
Lefteris Karapetsas 763b544822 Add a dynamic array push() test 2015-10-15 10:52:30 +02:00
Lefteris Karapetsas 5053e153ec Merge pull request #119 from chriseth/winfail
Fix boost error.
2015-10-07 12:56:17 +02:00
Lefteris Karapetsas 9c3d0c4d81 Add cmake defaults for split repo builds.
Basically same problem as the one seen in
[this](https://github.com/ethereum/webthree/pull/34) PR.
2015-09-11 13:43:58 +02:00
Lefteris Karapetsas 27388950dd include Version.h under libsolidity 2015-08-19 16:12:18 +02:00
Lefteris Karapetsas 26c83d0f79 Add build directory to .gitignore 2015-08-19 14:58:16 +02:00
Lefteris Karapetsas 1690f1c947 Add CMakeLists.txt for libsolidity 2015-08-19 14:57:25 +02:00
Lefteris Karapetsas f63f6a2f31 eth_submitWork's hash rate is now a hex string 2015-08-17 13:56:33 +02:00
Lefteris Karapetsas a6ee2096b3 Add a JS console command for exiting the client
The function is web3.admin.eth.exit()
2015-08-11 00:07:39 +02:00
Lefteris Karapetsas 4907bda371 Fix an error in a type resolution SOL test
This will also fix the build.
2015-08-10 23:49:46 +02:00
Lefteris Karapetsas eef65bf701 Modify code to prepare for rebase 2015-07-29 18:33:44 +02:00
Lefteris Karapetsas 0936956eb6 Add new js admin nodeInfo command
Implementation to follow ...
2015-07-29 18:33:43 +02:00
Lefteris Karapetsas f924afab0a Fix AES Test
One of the AES tests was making an incorrect assumption about the string
constructor of FixedHash. Said constructor only works with hexadecimal
string representations
2015-07-08 15:06:18 +02:00
Lefteris Karapetsas 438455da85 Some initial tests for libdevcore/FixedHash 2015-07-06 16:56:50 +02:00
Lefteris Karapetsas c7b2bd42d9 Move external-dependencies test out of lifdevcore 2015-06-01 11:09:38 +02:00
Lefteris Karapetsas baab63f79b Move the u256 test to external_dependencies tests 2015-06-01 10:40:17 +02:00
Lefteris Karapetsas d8547ab7e9 Test for issue #1977
Test that reproduces issue #1977 and will fail on ArchLinux with
Boost version: 1.58.0-1
gcc version: 4.9.2-4
2015-06-01 10:12:02 +02:00
Lefteris Karapetsas f1f1ab847f Stricter interface for EthashAux::light() 2015-05-14 21:53:59 +02:00
Lefteris Karapetsas 617dbcb9dd Merge branch 'develop' into ethash_reloaded 2015-05-12 10:58:19 +02:00
Lefteris Karapetsas b3a3b2f260 Merge branch 'develop' into ethash_reloaded 2015-05-11 11:06:00 +02:00
Lefteris Karapetsas 34dde6118c Merge branch 'develop' into ethash_reloaded 2015-05-08 17:34:55 +02:00
Lefteris Karapetsas b11fa5996a Further fixes in Ethash integration and testing 2015-05-08 15:55:27 +02:00
Lefteris Karapetsas 1e2bd8afe4 New ethash API integration part 1
- cpp-ethereum now compiles with the new API

- Proper integration with testing will come with the next commits
2015-05-07 17:10:44 +02:00
Lefteris Karapetsas c558aa0656 Fixing detection of abstract contract 2015-04-17 16:17:21 +02:00
Lefteris Karapetsas a063e1c5a1 Check all constructors in inheritance chain get args
- Also add a missing override in a function of EnumValue
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas 1a19d436db Adding forgotten virtual specifier to EnumValue getType() 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas f2f0aec91c Allowing abstract contracts constructor to have no args
- If a constructor is part of an abstract contract we can omit its
  arguments

- IF a contract is abstract make sure to not create and/or request
  Assembly code about it since it's not compiled
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas eb84c3171a Add "this" contract's ctor to provided ctors set
- Also properly naming the 2 sets in checkAbstractConstructors() function
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas 0c296cd809 Fixing new abstract contract error location reporting 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas 52a442a100 size()!=0 -> !empty() 2015-04-17 15:27:31 +02:00
Lefteris Karapetsas beba2705ba Check all constructors in inheritance chain get args
- Also add a missing override in a function of EnumValue
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas d997dc55d1 Allowing abstract contracts constructor to have no args
- If a constructor is part of an abstract contract we can omit its
  arguments

- IF a contract is abstract make sure to not create and/or request
  Assembly code about it since it's not compiled
2015-04-17 15:27:31 +02:00
Lefteris Karapetsas 5469743891 Attempt a fix of dagger tests to fix the build 2015-04-15 17:24:57 +02:00
Lefteris Karapetsas de09be29ba Fix some styling issues and remove comments 2015-03-30 17:18:38 +02:00
Lefteris Karapetsas c6781ed38d Fix some styling issues and remove comments 2015-03-30 17:18:38 +02:00
Lefteris Karapetsas 57432fe671 no need to have target json for failing tests 2015-03-30 15:32:25 +02:00
Lefteris Karapetsas 819d9fd5a6 Detect if non-existant parameter is documented with natspec 2015-03-30 15:14:59 +02:00
Lefteris Karapetsas d82a3ca956 Detect if non-existant parameter is documented with natspec 2015-03-30 15:14:59 +02:00
Lefteris Karapetsas 621215918d Abstract contract and inheritance
- Checking the linearized base contracts for abstract functions and
  handle their existence appropriately

- If a contract is abstract it can't be created with new

- An abstract contract is not compiled (no backend code is generated)

- Of course tests
2015-03-27 15:15:34 +01:00
Lefteris Karapetsas 85bb056993 Abstract contract and inheritance
- Checking the linearized base contracts for abstract functions and
  handle their existence appropriately

- If a contract is abstract it can't be created with new

- An abstract contract is not compiled (no backend code is generated)

- Of course tests
2015-03-27 15:15:34 +01:00
Lefteris Karapetsas a7e78fadf5 Moving contract fullyImplemented check to TypeRequirements 2015-03-27 11:53:17 +01:00
Lefteris Karapetsas fc0b32f683 Parsing of not fully implemented functions
- Adding the possibility of omitting a function body by simply ending a
  function definition with a semicolon

- Such a function is marked as not fully implemented and any contract
  that contains such a function is considered a not fully implemented contract
2015-03-25 14:26:05 +01:00
Lefteris Karapetsas 9d6d7ccab8 Parsing of not fully implemented functions
- Adding the possibility of omitting a function body by simply ending a
  function definition with a semicolon

- Such a function is marked as not fully implemented and any contract
  that contains such a function is considered a not fully implemented contract
2015-03-25 14:26:05 +01:00
Lefteris Karapetsas ee1de5d02e Adding some more reserved keywords 2015-03-24 19:04:41 +01:00
Lefteris Karapetsas 677cefc0e3 Adding keywords for future use section in Token.h 2015-03-23 17:27:27 +01:00
Lefteris Karapetsas 139dd3b1d2 Removing string as a token.
- The string keyword is reserved for future use but should not be a
  token in the code since it can cause trigger internal compiler
  assertions.

- fixes #1384
2015-03-23 12:07:57 +01:00
Lefteris Karapetsas b278b62fb4 Reorganizing conversion EndToEndTests
- Adding/Renaming tests so that we have one for each of the following:
    * FixedBytes to Uint all sizes
    * FixedBytes to FixedBytes all sizes
    * Uint to FixedBytes all sizes

- Grouped them together location-wise to make more sense
2015-03-18 21:14:45 +01:00
Lefteris Karapetsas 8e0f4c7db9 Explicit conversion between bytes and int of any size
- Allowing aforementioned conversion and adding tests for it
2015-03-18 10:57:24 +01:00
Lefteris Karapetsas cd9785d2ff Explicit conversion between bytes and int of any size
- Allowing aforementioned conversion and adding tests for it
2015-03-18 10:57:24 +01:00
Lefteris Karapetsas bb5364dd66 Additional test for msg.sig 2015-03-16 16:42:56 +01:00
Lefteris Karapetsas 67a9ec3bdb Additional test for msg.sig 2015-03-16 16:42:56 +01:00
Lefteris Karapetsas d7ffba1504 Adding msg.sig Solidity Magic type
msg.sig will return a bytes4 with the function signature located in CALLDATALOAD
2015-03-16 12:59:56 +01:00
Lefteris Karapetsas 55fed7d1c4 Adding msg.sig Solidity Magic type
msg.sig will return a bytes4 with the function signature located in CALLDATALOAD
2015-03-16 12:59:56 +01:00
Lefteris Karapetsas 1cd179f0d2 Merge pull request #1284 from LefterisJP/sol_SBHCleanup
Solidity StringXX and HashXX types change to BytesXX
2015-03-13 16:34:20 +01:00
Lefteris Karapetsas 039b133c18 Small FixedBytes type fixes
- Integer Constant is explicitly convertible to FixedBytes, so using
  that in the tests
2015-03-12 17:31:39 +01:00
Lefteris Karapetsas 1bb7f3cbc3 Small FixedBytes type fixes
- Integer Constant is explicitly convertible to FixedBytes, so using
  that in the tests
2015-03-12 17:31:39 +01:00
Lefteris Karapetsas a62d3fa240 Some fixes on Types.cpp for FixedBytesType 2015-03-12 13:39:12 +01:00
Lefteris Karapetsas c89413f6ea Some fixes on Types.cpp for FixedBytesType 2015-03-12 13:39:12 +01:00
Lefteris Karapetsas 3b54583d38 Style fixes and some additional hash to bytes32 renaming 2015-03-12 12:53:01 +01:00
Lefteris Karapetsas 3d0f4b0f22 Style fixes and some additional hash to bytes32 renaming 2015-03-12 12:53:01 +01:00
Lefteris Karapetsas c81b498953 Style fixes in Types[cpp/h] 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 0b411d98e9 Removing uncecessary intermediate int conversion in log tests 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas b8cede371d byte is now an alias for byte1 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas f3fc870e03 byte is now an alias for byte1 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas cd3e8c1756 Fixing byte array index access code generation 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 6e9d0d7345 Fixing byte array index access code generation 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas b2fadf6b93 Conversion changes after renaming Hash/String to Bytes.
- Almost all end to end tests pass. Still needs a little bit of work
2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 5e42f54f96 Changes in Solidity Tests to use the new bytesXX type 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 73ce24ae75 Most EndToEndTests are now compliant with the Bytes renaming 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 125a1bb670 Conversion changes after renaming Hash/String to Bytes.
- Almost all end to end tests pass. Still needs a little bit of work
2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 2bddebc3d5 Bytes Tokens properly named and NameAndTypeResolution tests work 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 5abf18c27f Most EndToEndTests are now compliant with the Bytes renaming 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 3ca37caddd Fixes after rebasing on top of develop 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas c72197a453 Bytes Tokens properly named and NameAndTypeResolution tests work 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 7d7f37bd5e Replacing StaticStringType with FixedBytesType 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas bede2f2ad7 More changes towards getting rid of HashXX 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas 36fe571576 start of cleanup 2015-03-12 12:53:00 +01:00
Lefteris Karapetsas d586a88f3c style fixes in TestHelper.h 2015-03-09 13:06:16 +01:00
Lefteris Karapetsas 3efbe46a49 Improving ETH_TEST() exceptions
- Properly printing fail check/require message same way as BOOST
  implementation does

- Also add a Test Pass Checkpoint call to be sure the last checkpoint is
  reported properly

- Catch any sort of exception in the no throw
2015-03-09 12:27:30 +01:00