chriseth
29ba351a73
Describe experimental features.
2017-08-24 18:37:52 +02:00
chriseth
0878eaad46
Prepare 0.4.16 release.
2017-08-24 18:31:37 +02:00
Alex Beregszaszi
deeac7e2e0
Rename statemutability to stateMutability in ABI/AST
2017-08-24 15:23:00 +01:00
Alex Beregszaszi
e9a9a07d94
Add ABI test for pure function
2017-08-24 13:46:18 +01:00
Alex Beregszaszi
5668377c72
Introduce pure specifier on functions
2017-08-24 13:46:18 +01:00
chriseth
8af6f193bc
Merge pull request #2770 from ethereum/recursionInAsm
...
Also prevent too much recursion in the assembly parser.
2017-08-24 11:14:01 +02:00
chriseth
8853183d06
Changelog entry.
2017-08-23 17:37:35 +02:00
Alex Beregszaszi
efe4d68a7b
Introduce view (and keep constant as an alias)
2017-08-22 18:24:22 +01:00
chriseth
692e4c57e8
Check recursion depth in assembly parser.
2017-08-22 12:44:22 +02:00
Alex Beregszaszi
b25f0c52ac
Reject the creation of interface with the new statement
2017-08-21 23:02:18 +01:00
chriseth
ec82706396
Fix crash related to `using for
` without a library.
2017-08-21 16:57:37 +02:00
chriseth
01b4bba0ed
Merge branch 'develop' into library-constructor
2017-08-21 16:34:59 +02:00
chriseth
2c5985de06
Be more strict about number literals in assembly.
2017-08-21 13:31:28 +02:00
Alex Beregszaszi
fe25bcf350
Library cannot have constructors
2017-08-21 11:03:55 +01:00
chriseth
3d595d4b14
Warn about shift of literals.
2017-08-16 13:54:28 +02:00
Alex Beregszaszi
12f3257e7d
Add statemutability field to the ABI
2017-08-15 11:35:50 +01:00
chriseth
32e43477c3
Prevent too deep recursion in parser.
2017-08-14 22:19:15 +02:00
chriseth
4d9790b6d5
Merge pull request #2703 from ethereum/warnAboutLargeStorageArrays
...
Warn about large storage structures.
2017-08-14 11:37:01 +02:00
Federico Bond
a5ceaac8df
Improve override changes signature error message
2017-08-11 22:45:25 +01:00
chriseth
da3ac86403
Warn about large storage structures.
2017-08-11 20:57:57 +02:00
Federico Bond
a8c047f48d
Enforce commas in tuple syntax
2017-08-11 17:28:48 +01:00
Alex Beregszaszi
4d82d4f57a
Store experimental flag in metadata CBOR
2017-08-11 16:38:43 +01:00
Alex Beregszaszi
efd45f64a5
Show previous visibility specifier in parser error
2017-08-09 14:30:17 +01:00
chriseth
df41793466
Set version to 0.4.16.
2017-08-09 11:40:46 +02:00
chriseth
3aef36b1cf
Update changelog.
2017-08-08 15:56:52 +02:00
Alex Beregszaszi
8df89c5d5b
Disable unimplemented library functions instead
2017-08-08 12:42:10 +01:00
Alex Beregszaszi
1ada48f61e
Raise error when using unimplemented internal library functions.
2017-08-08 11:58:00 +01:00
Alex Beregszaszi
bb0eb57c2f
Constructors must be implemented if declared.
2017-08-04 20:38:45 +01:00
Alex Beregszaszi
a372941a44
Merge pull request #2687 from ethereum/show-unimplemented-funcs
...
Show unimplemented function if trying to instantiate an abstract class
2017-08-04 19:46:09 +01:00
Alex Beregszaszi
32acadf43d
Do not mark overloaded functions as shadowing
2017-08-04 19:06:23 +02:00
Alex Beregszaszi
494dea262e
Show unimplemented function if trying to instantiate an abstract class
2017-08-04 14:03:37 +01:00
chriseth
38e9505a83
Merge pull request #2673 from ethereum/builtin-gas
...
Disallow gas modifier on sha256/ripemd160/ecrecover
2017-08-04 14:43:15 +02:00
Alex Beregszaszi
b7642dc8a7
Disallow gas modifier on sha255/ripemd160/ecrecover
2017-08-01 20:55:01 +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
chriseth
3d7fdba546
Increment version to 0.4.15
2017-07-31 17:57:21 +02:00
chriseth
91e7fcaa59
Release date for version 0.4.14.
2017-07-31 12:05:59 +02:00
chriseth
2cdb5c9e83
Changelog and bug list entry.
2017-07-28 15:33:00 +02:00
Alex Beregszaszi
7d37eba4ba
Remove the need of jumping out of the fallback
2017-07-27 21:52:58 +01:00
Alex Beregszaszi
53f747b7de
Merge pull request #2635 from ethereum/fixCrashOnAssignmentToNonLValue
...
Fix crash on assignment to non-LValue
2017-07-27 13:59:22 +01:00
chriseth
d78f94f0dd
Changelog entry.
2017-07-27 14:00:59 +02:00
chriseth
7c7c2baa82
Re-allow multiple modifiers per function.
2017-07-27 13:45:39 +02:00
chriseth
1298a8df14
Merge pull request #2566 from ethereum/metadata-only-relevant
...
Metadata: only include relevant files in the source list
2017-07-27 11:07:15 +02:00
Alex Beregszaszi
e0dc74b895
Warn about shadowing variables.
2017-07-25 16:32:37 +02:00
Alex Beregszaszi
e506129aee
Add test and changelog
2017-07-19 07:19:01 -07:00
Alex Beregszaszi
c617336587
Only include files usde in metadata
2017-07-19 14:56:40 +01:00
Alex Beregszaszi
644de755dc
Mark modifiers as internal
2017-07-18 23:00:17 +01:00
Alex Beregszaszi
e9226225d7
Properly export the license() method in Emscripten
2017-07-18 15:31:49 +01:00
Alex Beregszaszi
033fc0cb1a
Include types in explicit conversion error message
2017-07-13 23:09:01 +02:00
Alex Beregszaszi
cb4875a28b
Issue error properly for oversized arrays for calldata
2017-07-13 22:33:46 +02:00
Alex Beregszaszi
b65601bb3d
Add changelog and documentation
2017-07-13 15:18:40 +02:00
Federico Bond
f20b150f38
Add type error when attempting value transfer to a non-payable contract
2017-07-12 23:57:53 -03:00
Alex Beregszaszi
db7ad508f8
Issue proper warning trying to access calldata variables in inline assembly
2017-07-12 10:48:44 +02:00
chriseth
883666d2c0
Fix invalid "explicit storage keyword" warning for reference members of structs.
2017-07-10 18:30:41 +02:00
chriseth
a0f59532b2
Update changelog.
2017-07-06 14:13:00 +02:00
chriseth
f09c55f89c
Release date for 0.4.13
2017-07-06 11:06:13 +02:00
chriseth
0400e61e28
Deprecate throw.
2017-07-05 21:15:00 +02:00
chriseth
4bde6fa961
Merge pull request #2528 from ethereum/warnNoStorage
...
Warn if local storage reference variable does not use "storage" explicitly.
2017-07-05 21:14:06 +02:00
chriseth
2dd9070a4f
Merge pull request #2527 from ethereum/onlyASTIfAnalysisSuccessful
...
Only output AST if the analysis was successful.
2017-07-05 20:40:25 +02:00
chriseth
dd34277ca6
Warn if local storage reference variable does not use "storage" explicitly.
2017-07-05 19:38:00 +02:00
chriseth
75f7f7e1e6
Do not omit error type.
2017-07-05 18:28:14 +02:00
chriseth
da48bcc51e
Only output AST if the analysis was successful.
2017-07-05 18:27:32 +02:00
chriseth
2432808793
Changelog entry.
2017-07-04 19:33:55 +02:00
chriseth
bb503666ea
Bump version.
2017-07-03 14:28:21 +02:00
chriseth
3b80d4e3c0
Set release date.
2017-07-03 13:45:30 +02:00
Alex Beregszaszi
540ff30f2c
Add component to the changelog entries
2017-07-03 12:34:13 +01:00
Alex Beregszaszi
bfb9d09a65
Remove extra UTF-8 entry
2017-07-03 12:31:56 +01:00
Alex Beregszaszi
c6e85b7839
Add instruction shadows solidity variables
2017-07-03 12:31:19 +01:00
Alex Beregszaszi
0c457835ba
Reorder changelog for alphabetical order
2017-07-03 12:31:14 +01:00
chriseth
0fa2feb341
Changelog entry.
2017-06-30 21:29:00 +01:00
Alex Beregszaszi
32d6c1c316
MLOAD has side-effects, treat it like that in the optimiser
2017-06-30 21:27:39 +01:00
Alex Beregszaszi
d4fecc7b11
Warn on JUMP/JUMPI in inline assembly
2017-06-30 20:47:14 +01:00
chriseth
044058276e
Warn about callcode.
2017-06-30 16:37:32 +02:00
chriseth
168f64f4cb
Fix negative stack size checks.
2017-06-28 16:55:49 +01:00
chriseth
a895f2dccb
Changelog entry.
2017-06-28 11:41:03 +02:00
chriseth
e715dd0b7e
Merge branch 'develop' into utf8-strict-parser
2017-06-27 14:37:45 +02:00
Alex Beregszaszi
bc31d4969c
Merge pull request #2437 from ethereum/warnDoubleCopyStorage
...
Warn about copies in storage that might overwrite unexpectedly.
2017-06-27 10:24:03 +01:00
chriseth
d0b6de0b34
Warn about copies in storage that might overwrite unexpectedly.
2017-06-26 16:31:36 +02:00
chriseth
f47e6e90fb
Disallow comparisons between some types.
2017-06-26 16:30:36 +02:00
Alex Beregszaszi
569e0c53f2
Implement strict UTF-8 validation
2017-06-26 12:58:21 +01:00
Alex Beregszaszi
751ba701bc
Merge pull request #2450 from ethereum/addressstring
...
Fix for strings treated as addresses.
2017-06-26 12:18:33 +01: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
c328ab411b
Merge pull request #2442 from ethereum/remove-why3
...
Remove Why3 generator
2017-06-26 09:20:23 +02:00
Alex Beregszaszi
555dc4f46f
Remove Why3 generator
2017-06-25 12:26:16 +01:00
chriseth
5a75581f66
Disallow invoking the same modifier multiple times.
2017-06-23 20:12:22 +02:00
chriseth
831ed08387
Change invalid opcode to revert for input validation.
2017-06-23 19:29:11 +02:00
chriseth
633b6bd61a
Merge pull request #2213 from ethereum/jsoncompiler
...
Rewrite jsonCompiler using StandardCompiler
2017-06-23 17:41:14 +02:00
Federico Bond
0fb1621a98
Fix address literals not being treated as compile-time constants
...
The early return implemented for address literals in TypeChecker was
preventing the isPure annotation from getting applied. Closes #2441
2017-06-23 11:19:57 +02:00
Alex Beregszaszi
79ed529b3f
Merge pull request #2452 from ethereum/fixPassingEmptyString
...
Fix passing empty string
2017-06-22 22:33:06 +01:00
Alex Beregszaszi
08a5d144ac
Merge pull request #2426 from ethereum/miniMoustache
...
Whiskers template system
2017-06-22 22:17:26 +01:00
chriseth
83ea7793d9
Fix ABI encoding of empty string literal.
2017-06-22 17:55:06 +02:00
chriseth
e58cff3f37
Changelog entry for Whiskers.
2017-06-22 16:56:57 +02:00
chriseth
c33d818a68
Changelog entry.
2017-06-22 16:48:44 +02:00
Alex Beregszaszi
ea6cf619fd
Rewrite jsonCompiler using StandardCompiler
2017-06-22 13:01:46 +01:00
Federico Bond
0f8ad1d68f
Fix segmentation fault with constant function parameters
2017-06-21 22:46:27 -03:00
chriseth
0c75afb2c1
Merge pull request #2225 from ethereum/julia-for
...
Implement for statement in assembly parser / printer / code generator
2017-06-19 11:53:22 +02:00
chriseth
c1f5016e16
Changelog entry.
2017-06-16 16:41:41 +02:00
chriseth
7a09860ec1
Mention functions in changelog.
2017-06-16 11:29:41 +01:00
chriseth
71d39755fe
Changelog and documentation.
2017-06-16 10:56:21 +01:00
chriseth
66881bd675
Merge branch 'develop' into asm-aux
2017-06-15 08:39:02 +02:00
Alex Beregszaszi
42b61171d9
Merge pull request #2192 from winsvega/develop
...
add STATICCALL instruction
2017-06-14 21:03:32 +01:00
Alex Beregszaszi
585b3ea3e3
Print auxiliary data in the assembly
2017-06-14 20:14:15 +01:00
chriseth
f008ddf836
Merge pull request #2381 from ethereum/fixcrash
...
Fix a crash about a non-callable expression.
2017-06-14 18:35:38 +02:00
chriseth
fd5bf16101
Merge pull request #2384 from ethereum/parseFunctionalInstructions
...
Enforce function arguments when parsing functional instructions.
2017-06-14 18:35:16 +02:00
Dimitry
c20cdd0a05
add new opcode instructions to the parser
...
STATICCALL 0xfa 6 inputs (gas address mem1 mem2 mem3 mem4)
2017-06-14 18:18:12 +02:00
Alex Beregszaszi
bec30051c5
Introduce CREATE2 in the assembler
2017-06-14 16:00:39 +02:00
chriseth
1b1f35762e
Enforce function arguments when parsing functional instructions.
2017-06-14 14:51:47 +02:00
chriseth
07cc84fade
Fix a crash about a non-callable expression.
2017-06-14 14:26:20 +02:00
Yoichi Hirai
55737213d1
Add a changelog entry
2017-06-13 16:57:07 +02:00
Alex Beregszaszi
59d3a9d169
Add changelog entry for keccak256
2017-05-30 12:33:04 +01:00
Alex Beregszaszi
56fe3a6ab9
Better error messages during parsing functional instructions
2017-05-24 13:35:52 +01:00
chriseth
74d2e7311a
Merge pull request #2265 from roadriverrail/inline_asm_unused_warning
...
Analyze InlineAssembly for variable use
2017-05-22 16:34:29 +02:00
djudjuu
e82df073d1
minor fixes and changelog update
2017-05-22 12:25:50 +02:00
Rhett Aultman
621c3fa22f
Analyze InlineAssembly for variable use
...
The unused variable checker in StaticAnalyzer did not conssider
InlineAssembly objects. This commit introduces that missing feature.
2017-05-21 15:23:05 -07:00
chriseth
2d67f09bc5
Bump version.
2017-05-04 11:57:34 +02:00
chriseth
9df7a6fa29
Update permalink for optimizer bug and fix release date.
2017-05-03 12:39:54 +02:00
chriseth
dbbd8d60ef
Finalize changelog.
2017-05-03 12:24:22 +02:00
chriseth
00933b99cc
Merge pull request #2206 from ethereum/fixoptimizer
...
Constant optimizer fix
2017-05-03 11:54:11 +02:00
Rhett Aultman
a40c8cfb68
Warn on unused local variables
...
Analyze functions for all local variables, parameters, and named
return variables which are never used in the function, and issue
a warning.
2017-05-03 11:26:21 +02:00
chriseth
5c4f3f6d0b
Fix number representation bug.
2017-05-02 12:22:11 +02:00
Rhett Aultman
e544698ad3
Deprecate use of unary '+'
...
The unary '+' serves no meaningful purpose in Solidity and it makes it
possible to produce typos with dagerous implications (e.g. 'a =+5 '),
so we are deprecating it. The SyntaxChecker currently issues warnings
on the unary '+' but will still compile it for now.
2017-04-28 17:43:19 -07:00
chriseth
2c1fb46bc3
Merge pull request #1711 from ethereum/asmfunctions
...
Assembly: Analysis stage for functions.
2017-04-26 17:47:48 +02:00
Alex Beregszaszi
2002447b10
Mention requirement changes in changelog
2017-04-26 16:47:01 +01:00
chriseth
efa9c76267
Update Changelog.md
2017-04-26 12:48:19 +02:00
chriseth
e64a03d86b
Changelog entry.
2017-04-25 16:49:18 +02:00
Yoichi Hirai
a1da03328a
Changelog: add a point about fee schedule update
2017-04-25 16:47:43 +02:00
chriseth
9bc9fe6af7
Warn about side-effect free statements.
2017-04-21 11:36:38 +02:00
Alex Beregszaszi
5732ffdb74
Update changelog
2017-04-20 19:38:00 +01:00
Alex Beregszaszi
bf074f3f41
Fix source index allocation in CompilerStack. Depending on compiler(optimisations) this could be off-by-one.
2017-04-20 19:20:14 +01:00
Alex Beregszaszi
8bf842050e
Support --allow-paths in the CLI
2017-04-20 15:39:30 +01:00
chriseth
4d715e9055
Implement missing assembly output functions and do not use PushString for assembly.
2017-04-11 19:54:44 +02:00
chriseth
d8aacd5a40
Changelog entry.
2017-03-21 18:13:36 +01:00
Alex Beregszaszi
4540daaf47
Changelog
2017-03-17 16:27:04 +00:00
chriseth
a500581ab0
Bump version to 0.4.11.
2017-03-15 18:53:12 +01:00
chriseth
4d2f73c00d
Finalize changelog.
2017-03-15 17:04:16 +01:00
chriseth
0c8a766146
Merge pull request #1698 from ethereum/exp-notation
...
Fix scientific notation in number literals
2017-03-15 14:55:45 +01:00
Alex Beregszaszi
924a8fff6b
Fix exponentional notation in number literals
2017-03-15 13:06:24 +00:00
Yoichi Hirai
d134fda0c0
Merge pull request #1729 from ethereum/constantvariables
...
Only allow pure expressions for constant state variables.
2017-03-15 10:03:35 +01:00
chriseth
9f328ff749
Turn non-constant constants error into warning.
2017-03-14 19:25:16 +01:00
Yoichi Hirai
64e00e5371
Merge pull request #1767 from ethereum/longlibnames
...
Do not crash on long linker commandline argument.
2017-03-14 18:31:45 +01:00
chriseth
47cd8964b8
Require and Assert.
2017-03-14 14:21:33 +01:00
chriseth
14196f2621
Allow long library names.
2017-03-14 11:58:43 +01:00
Yoichi Hirai
9aab3b8639
Merge pull request #1768 from ethereum/abortiffileexists
...
Do not overwrite files unless forced.
2017-03-13 16:37:55 +01:00
chriseth
fdc41f3b07
Changelog entry.
2017-03-13 13:30:23 +01:00
Yoichi Hirai
ef8b56a058
Merge pull request #1751 from ethereum/warnLiteralExpBase
...
Warn if base of exponentiation operation is a literal.
2017-03-10 19:25:47 +01:00
chriseth
31a5e5bfef
Do not overwrite files unless forced.
2017-03-10 19:23:43 +01:00
Yoichi Hirai
e364909e06
Merge pull request #1747 from ethereum/fixICEInternalConstructor
...
Move privateness of constructor into AST itself.
2017-03-08 17:49:14 +01:00
chriseth
c7d61a2c6a
Changelog entry.
2017-03-08 12:42:24 +01:00
Yoichi Hirai
78f7dd2344
Merge pull request #1750 from ethereum/asmoctal
...
Disallow octal numbers in parser.
2017-03-08 12:24:22 +01:00
Yoichi Hirai
85411f4f67
Merge pull request #1736 from ethereum/boundoptimizer
...
Add upper bound for computing constants.
2017-03-08 12:11:16 +01:00