Commit Graph

257 Commits

Author SHA1 Message Date
chriseth
2411f5d839 Merge pull request #2704 from ethereum/newEncoder
New ABI encoder
2017-08-14 17:04:00 +02:00
Alex Beregszaszi
a26a5f20ce Remove constant/payable in all function types 2017-08-14 14:21:47 +01:00
chriseth
d1ad62fccc Experimental feature switch for ABI encoder. 2017-08-14 13:11:41 +01:00
chriseth
ee6f56d641 Remove unused magic global feature. 2017-08-14 13:11:41 +01:00
chriseth
4630b3315a Interface for new ABI encoder. 2017-08-14 12:44:25 +02:00
chriseth
42fe8a2cb1 New ABI encoder. 2017-08-14 12:44:25 +02: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
7d37eba4ba Remove the need of jumping out of the fallback 2017-07-27 21:52:58 +01:00
chriseth
517a366404 Merge pull request #2652 from ethereum/fixMultiModifier
Re-allow multiple modifiers per function.
2017-07-27 14:20:18 +02:00
chriseth
7c7c2baa82 Re-allow multiple modifiers per function. 2017-07-27 13:45:39 +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
VoR0220
78769f3b39 Change fixed point types to have digit count
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-07-19 21:49:01 +01:00
chriseth
d58e439094 Fix internal "variable already present" error. 2017-07-04 19:33:55 +02:00
Alex Beregszaszi
677700d5ac Add assert to shift helper 2017-07-02 23:41:22 +01:00
Alex Beregszaszi
d261265595 Use shift helper in LValue 2017-07-02 23:40:51 +01:00
Alex Beregszaszi
68b0ac4fdd More uses of shift helper 2017-07-02 23:40:51 +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
Alex Beregszaszi
0494fa98c0 Add shift helper to CompilerUtils 2017-07-02 23:37:47 +01:00
chriseth
71d866cd7a Abort early if there is nothing to encode or decode. 2017-06-30 14:16:16 +02:00
Alex Beregszaszi
6a708b0cfe Document appendFunctionSelector 2017-06-28 18:00:40 +02:00
chriseth
ef9a7b2144 Stack adjustment and code generation for fallback function.
This assumes that the fallback function does not have return parameters.
2017-06-28 18:00:31 +02:00
chriseth
168f64f4cb Fix negative stack size checks. 2017-06-28 16:55:49 +01:00
Alex Beregszaszi
9d201a086c Merge pull request #2459 from ethereum/noComparisonForSomeTypes
No comparison for some types
2017-06-26 22:55:22 +01:00
Alex Beregszaszi
b0ab9aaee0 Merge pull request #2453 from ethereum/memcopyAsForLoop
Use for loop for assembly memcopy.
2017-06-26 22:39:30 +01:00
chriseth
ab15040caa Comment about zero length. 2017-06-26 21:48:17 +01:00
chriseth
f47e6e90fb Disallow comparisons between some types. 2017-06-26 16:30:36 +02:00
Alex Beregszaszi
a0b0df2d98 Merge pull request #2460 from ethereum/disallowMultiModifier
Disallow invoking the same modifier multiple times.
2017-06-26 11:51:12 +01:00
chriseth
d94a12a34c Reformat. 2017-06-26 09:19:11 +02:00
chriseth
0aaa6d876d Use for loop for assembly memcopy. 2017-06-26 09:18:14 +02:00
chriseth
5a75581f66 Disallow invoking the same modifier multiple times. 2017-06-23 20:12:22 +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
f9144ae5a4 Merge pull request #2444 from ethereum/parser-scanner
Avoid including Scanner.h in ParserBase.h
2017-06-23 00:14:18 +01:00
Alex Beregszaszi
007ffe9430 Avoid including Scanner.h in ParserBase.h 2017-06-22 22:22:19 +01:00
chriseth
83ea7793d9 Fix ABI encoding of empty string literal. 2017-06-22 17:55:06 +02:00
Alex Beregszaszi
d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
Alex Beregszaszi
c08c4b8b6f Move subroutine helpers from CompilerContext to Assembly 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
398099f50e Remove obsolete errorTag() 2017-06-14 21:21:26 +01:00
Alex Beregszaszi
ae6251effd Use inline assembly directly and not via AsmStack 2017-06-09 11:43:40 +01:00
chriseth
ef3d5874fe Remove error reporter from code generation phase. 2017-06-08 15:52:45 +02:00
chriseth
97cc968a13 Initial EVM1.5 assembly implementation. 2017-06-08 15:52:44 +02:00
chriseth
d4a57d81ba Merge pull request #2317 from ethereum/keccak256
Use keccak256 in tests and replace the SHA3 instruction in assembly
2017-05-30 19:34:28 +02:00
Rhett Aultman
89b60ffbd4 Refactor error reporting
This commit introduces ErrorReporter, a utility class which consolidates
all of the error logging functionality into a common set of functions.
It also replaces all direct interactions with an ErrorList with calls to
an ErrorReporter.

This commit resolves issue #2209
2017-05-30 07:28:31 -07:00
Alex Beregszaszi
0c8beac357 Rename the SHA3 assembly instruction to KECCAK256 2017-05-30 10:54:29 +01:00