Daniel Kirchner
|
3340053fd9
|
Style improvements.
|
2018-03-05 17:00:37 +01:00 |
|
chriseth
|
6ec4517929
|
Use EVM version in gas meter and optimizer.
|
2018-03-05 11:36:33 +01:00 |
|
Daniel Kirchner
|
c633c0eacb
|
Move msg.gas to global function gasleft(). Closes #2971.
|
2018-03-05 11:18:04 +01:00 |
|
chriseth
|
dc317a44e0
|
Provide EVM version to assembly analysis.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
f75a411325
|
Provide target EVM version in CompilerContext.
|
2018-03-01 17:19:35 +01:00 |
|
chriseth
|
388718b59f
|
Introduce emit statement.
|
2018-02-22 15:17:30 +01:00 |
|
chriseth
|
e2bf5de8a2
|
Expect end of string at end of top-level block for assembly parser.
|
2018-02-21 00:41:39 +01:00 |
|
chriseth
|
2b5a5a8669
|
Make addmod and mulmod revert if the last argument is zero.
|
2018-02-15 13:52:17 +01:00 |
|
chriseth
|
5916cf1e0a
|
Allow this.f.selector to be pure.
|
2018-02-13 11:00:59 +01:00 |
|
chriseth
|
6807010dc7
|
Prevent libraries from being called.
|
2018-01-19 16:27:44 +01:00 |
|
chriseth
|
124190336b
|
Split inline assembly into loose and strict flavours.
|
2018-01-06 01:23:38 +00:00 |
|
chriseth
|
00692a4ff6
|
Reset source location after using inline assembly.
|
2018-01-04 14:29:03 +01:00 |
|
chriseth
|
e2828cfa61
|
Favour if over switch in ABI coder.
|
2017-12-15 09:47:34 +01:00 |
|
chriseth
|
5a3dbb0269
|
Cleanup and overflow checks for data pointers.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
bdc1ff8ec7
|
ABI decoder.
|
2017-11-29 17:08:44 +01:00 |
|
chriseth
|
6ed4e0632f
|
Use if statement in abi functions.
|
2017-11-22 16:25:24 +01:00 |
|
Alex Beregszaszi
|
c1e202618c
|
Add explanation to unimplemented assertions
|
2017-11-15 17:19:29 +00:00 |
|
chriseth
|
a3db1fc197
|
Do not accept truncated function selectors.
|
2017-10-17 23:17:36 +02:00 |
|
chriseth
|
6001bd1406
|
Allocate one byte per memory byte array element instead of 32.
|
2017-10-16 22:29:31 +02:00 |
|
Alex Beregszaszi
|
6ba0c2bba8
|
Merge pull request #2982 from ethereum/encoderFixes
ABI encoder fixes and test.
|
2017-10-05 11:59:42 +01:00 |
|
Alex Beregszaszi
|
880be25811
|
Merge pull request #3029 from ethereum/tanwisgas
Send all gas for 0.5.0.
|
2017-10-05 11:34:17 +01:00 |
|
chriseth
|
11c51de5b9
|
Merge pull request #2968 from ethereum/calldataencodedsize
Add some asserts about calldata encoded size.
|
2017-10-05 12:16:37 +02:00 |
|
chriseth
|
69ea5c43f3
|
Send all gas for 0.5.0.
|
2017-10-05 11:56:36 +02:00 |
|
chriseth
|
19274c7890
|
Merge pull request #2962 from ethereum/optionalDebugInfoAsm
Debugging info in CompilerContext.
|
2017-10-04 17:01:52 +02:00 |
|
chriseth
|
80cefb9cc8
|
Rename "compacted" to "fromStack".
|
2017-10-04 16:56:54 +02:00 |
|
chriseth
|
364b4dea62
|
Add some asserts about calldata encoded size.
|
2017-10-04 13:19:57 +02:00 |
|
chriseth
|
a5fddc9c57
|
Debugging info in CompilerContext.
|
2017-10-04 13:18:33 +02:00 |
|
chriseth
|
3ebe29a031
|
Better readable encoder assembly.
|
2017-09-27 15:59:59 +02:00 |
|
chriseth
|
2940964044
|
ABI encoder fixes and test.
|
2017-09-27 15:57:39 +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
|
3e5d81578a
|
Avoid switch fallthrough in CompilerUtils
|
2017-09-25 10:51:58 +01:00 |
|
chriseth
|
2530223ab5
|
More verbose errors for generated assembly.
|
2017-09-22 15:18:32 +02:00 |
|
Alex Beregszaszi
|
efa4598c23
|
Mark functions static
|
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
|
70d70e7816
|
Implement struct encoder.
|
2017-09-16 12:31:12 +01:00 |
|
chriseth
|
22f85d5af3
|
Update tests and error messages.
|
2017-09-16 12:12:43 +01:00 |
|
chriseth
|
80ce3ca66f
|
Move ABI encoder into its own function.
|
2017-09-15 20:46:32 +01:00 |
|
chriseth
|
73771f5bb2
|
Named assembly labels.
|
2017-09-15 20:44:49 +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
|
bbfb16cf5c
|
Introduce assemblyString
|
2017-09-11 15:53:20 +01:00 |
|
Alex Beregszaszi
|
50570c6c79
|
Do not return the stream in asssemblyStream
|
2017-09-11 15:48:58 +01:00 |
|
Alex Beregszaszi
|
a535a8b06e
|
Split out the JSON functionality from assembly.stream()
|
2017-09-11 15:48:52 +01:00 |
|
Alex Beregszaszi
|
a3f77527e9
|
Merge pull request #2847 from ethereum/codegen-docs
Document more of the codegen features
|
2017-08-29 15:27:07 +01:00 |
|
chriseth
|
93b1cc9702
|
Merge pull request #2833 from ethereum/statemutability-builtins
Mark all built in functions with appropriate statemutability
|
2017-08-29 15:24:51 +02:00 |
|
Alex Beregszaszi
|
3c24dcfe45
|
Document more of the codegen features
|
2017-08-29 13:36:13 +01:00 |
|
Alex Beregszaszi
|
7fb4a64136
|
Move all file specific globals to anonymous namespace
|
2017-08-29 11:09:18 +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
|
5c73a80418
|
Remove fallthrough from ArrayUtils
|
2017-08-25 15:57:27 +01:00 |
|
Alex Beregszaszi
|
9897c56b2c
|
Mark a lot of functions static (where possible)
|
2017-08-22 10:51:46 +01:00 |
|
Alex Beregszaszi
|
2a5772cff7
|
Mark appropriate constructors explicit
|
2017-08-22 10:51:46 +01:00 |
|
Alex Beregszaszi
|
e2cfc9ee92
|
Mark a lot of functions const (where possible)
|
2017-08-22 10:51:46 +01:00 |
|
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 |
|