116 Commits
Author SHA1 Message Date
chriseth 6001bd1406 Allocate one byte per memory byte array element instead of 32. 2017-10-16 22:29:31 +02:00
chriseth 69ea5c43f3 Send all gas for 0.5.0. 2017-10-05 11:56:36 +02:00
Alex Beregszaszi 204214f070 Split encodeToMemory to packedEncode and abiEncode 2017-09-27 11:32:19 +01:00
Alex Beregszaszi a657d3b1a1 Make most of the parameters mandatory in encodeToMemory 2017-09-27 11:15:27 +01:00
Alex Beregszaszi ee65ecfb3b Ensure that address types are always declared as 160bit 2017-09-26 22:46:33 +01:00
Alex Beregszaszi cb6cdfe780 Simplify switch statements by refactoring internal break statements 2017-09-25 10:57:21 +01:00
Alex Beregszaszi 74972f5fa6 Avoid switch fallthrough in ExpressionCompiler 2017-09-25 10:51:58 +01:00
Alex Beregszaszi efa4598c23 Mark functions static 2017-09-20 01:23:21 +01:00
Alex Beregszaszi fd1f8ab38b Rename .sig to .selector on function types 2017-09-13 11:40:57 +01:00
Alex Beregszaszi 58f7a27ee0 Add sig member on function type 2017-09-13 11:40:57 +01:00
Alex Beregszaszi 79e84a8fa4 Swap declaration/statemutability in FunctionType constructor 2017-08-28 19:43:35 +01:00
Alex Beregszaszi 51d6141f7e Mark to places fall-through 2017-08-25 16:00:36 +01:00
Alex Beregszaszi e2cfc9ee92 Mark a lot of functions const (where possible) 2017-08-22 10:51:46 +01:00
Alex Beregszaszi a26a5f20ce Remove constant/payable in all function types 2017-08-14 14:21:47 +01:00
Alex Beregszaszi b3061225bc .delegatecall() should always return a boolean of execution status 2017-08-01 20:50:03 +01:00
Alex Beregszaszi 39dba0efe8 Provide new account gas for low-level callcode/delegatecall 2017-08-01 14:00:17 +01:00
Alex Beregszaszi 6d37f30d76 Rename Bare to Barecall 2017-08-01 10:47:10 +01:00
chriseth b74118ec57 Fix for invalid clearing of memory in ecrecover. 2017-07-28 15:32:42 +02:00
Alex Beregszaszi 89fadd6935 Merge pull request #2645 from ethereum/asserts
Use solAssert where possible
2017-07-27 11:12:30 +01:00
Alex Beregszaszi af57879187 Report location on stack too deep if possible 2017-07-26 22:56:55 +01:00
Alex Beregszaszi 8098030986 Use solAssert instead of boost throw where possible 2017-07-26 22:23:21 +01:00
Alex Beregszaszi 8fd1d4167d Change shiftNumberOnStack to bits 2017-07-02 23:40:47 +01:00
Alex Beregszaszi c7ae042114 Use shift helper 2017-07-02 23:37:47 +01:00
chriseth 168f64f4cb Fix negative stack size checks. 2017-06-28 16:55:49 +01:00
chriseth f47e6e90fb Disallow comparisons between some types. 2017-06-26 16:30:36 +02:00
chriseth 64067975e4 Review suggestions. 2017-06-23 19:29:11 +02:00
chriseth 831ed08387 Change invalid opcode to revert for input validation. 2017-06-23 19:29:11 +02:00
Alex Beregszaszi d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
Alex Beregszaszi 0c8beac357 Rename the SHA3 assembly instruction to KECCAK256 2017-05-30 10:54:29 +01:00
djudjuu 1d22233a43 refactoring functionCallAnnotation 2017-05-19 15:48:07 +02:00
Alex Beregszaszi 3ae88377d6 Change references to FunctionType::Location 2017-03-16 12:49:52 +00:00
chriseth 47cd8964b8 Require and Assert. 2017-03-14 14:21:33 +01:00
Yoichi Hirai cfbbd89daf Merge pull request #1702 from ethereum/assertError
Change effect of assert to invalid opcode.
2017-03-03 18:25:50 +01:00
chriseth d2c79bf8e9 Merge pull request #1700 from ethereum/fixNoMobile
Some checks for the existence of mobile type.
2017-02-24 15:50:45 +01:00
Alex Beregszaszi 4d290e551c Disallow setting .gas() on .transfer() 2017-02-24 00:27:36 +00:00
Alex Beregszaszi c674155e58 Do not keep the gas stipend if sending non-zero value 2017-02-24 00:18:18 +00:00
Alex Beregszaszi 81006dae98 Support gas modifier on addr.transfer() 2017-02-24 00:18:18 +00:00
Alex Beregszaszi 4264625c69 Implement address.transfer() 2017-02-24 00:17:45 +00:00
chriseth 811bb770c5 Change effect of assert to invalid opcode. 2017-02-16 15:54:17 +01:00
chriseth dcc16c81e2 Some checks for the existence of mobile type. 2017-02-16 11:46:27 +01:00
Alex Beregszaszi c8ec79548b Use the revert opcode in assert() 2017-02-10 22:53:32 +00:00
Alex Beregszaszi f3158f92d6 Support revert() 2017-02-10 22:40:42 +00:00
Alex Beregszaszi 8a3d4a0500 Cleanup is not needed for assert() 2017-02-10 13:32:36 +00:00
Alex Beregszaszi f8461e9e31 Implement assert as a global function 2017-02-10 13:29:17 +00:00
Alex Beregszaszi 693226b1ab Rename SUICIDE opcode to SELFDESTRUCT in libevmasm 2017-02-06 20:17:52 +00:00
Valentin Wüstholz 9bcbd93ac5 Change translation of implicit throws (issue #1589).
This adds a new invalid instruction that is used for encoding
implicit throws that are emitted by the compiler. This makes it
possible to distinguish such runtime errors from user-provided,
explicit throws.
2017-01-26 16:39:07 +01:00
chriseth 1316bb7565 Warn about invalid checksums of addresses. 2017-01-24 23:37:48 +01:00
chriseth ead1a3b33f Include creation code only once. 2017-01-24 17:41:31 +01:00
chriseth 2536bdd6d0 Report source location on "stack too deep" errors. 2017-01-20 19:01:19 +01:00
Rhett Aultman 1f30982ab5 Use fully-qualified names for linking, too
Using libraries leaves behind a library link reference in the binary
which the linker must later resolve.  These link references were still
being generated by name and not by fully-qualified name.  This would
lead to a link-time collision between two libraries having the same
name but in different source units.

This change changes linker symbols over to fully-qualified names,
which resolves that issue.  This does potentially introduce a new
problem, which is that linker symbols appear to be limited to 36
characters and are truncated.  Storing paths extends the average
symbol size, and it would be great if truncation was from the tail
rather than the head.
2017-01-16 12:32:57 -05:00