Commit Graph

539 Commits

Author SHA1 Message Date
Anthony Broad-Crawford
8a18f22b87 Support for error on non-existant or irregular files with command line option to ignore 2018-03-28 10:25:43 +01:00
chriseth
3bb54e8bd5
Merge pull request #3775 from federicobond/improve-error-fractional-shift
Improve error message when attempting to shift by fractional number
2018-03-28 11:16:44 +02:00
Alex Beregszaszi
ebb12756ad Still allow empty structs for non-0.5.0 mode 2018-03-27 15:49:41 +01:00
Alex Beregszaszi
b540ba527a Disallow empty structs 2018-03-27 15:49:41 +01:00
chriseth
62559cf127
Merge pull request #3681 from ethereum/interface-external
Allow overriding external functions in interfaces with public in a child
2018-03-27 15:47:59 +02:00
chriseth
0a58e57ceb Changelog entry. 2018-03-27 04:00:12 +01:00
Alex Beregszaszi
ef3595b000 Allow overriding external functions in interfaces with public in an implementing contract 2018-03-26 11:35:17 +01:00
Federico Bond
b79531bebf Improve error message when trying to shift by fractional number 2018-03-22 10:05:49 -03:00
chriseth
c7860a0fba Changelog entry. 2018-03-21 14:53:29 +00:00
Daniel R
f0c174af8f
Fix Typo in changelog.md 2018-03-15 10:42:59 +00:00
chriseth
78abe81f08
Merge branch 'develop' into externalFunctionsInLibraries 2018-03-14 18:07:55 +01:00
chriseth
abc7a45230
Merge pull request #3725 from ethereum/blockhashNoCall
Allow ``block.blockhash`` without it being called.
2018-03-14 18:04:40 +01:00
Alex Beregszaszi
59658afa30
Merge pull request #3722 from ethereum/fixMods
Fix modifier lookup in libraries.
2018-03-14 17:20:51 +01:00
Daniel Kirchner
9d079fd126 DocStringParser: Add Changelog entry and test case for empty descriptions. 2018-03-14 10:34:16 +01:00
chriseth
834d63de2c Allow `block.blockhash` without being called. 2018-03-13 17:34:21 +01:00
chriseth
eecc26deec Make external library functions accessible. 2018-03-13 17:18:46 +01:00
chriseth
58af150c3d Changelog entry. 2018-03-13 16:55:41 +01:00
Alex Beregszaszi
a59d6d2e53 Support constantinople in evm-version 2018-03-12 18:13:19 +01:00
chriseth
0649f900ca Properly skip cleanup if only enlarging storage array. 2018-03-09 14:06:54 +01:00
chriseth
16780ea3ed Set version to 0.4.22. 2018-03-07 20:26:44 +01:00
chriseth
cbd8644f2d Update changelog for release. 2018-03-07 18:15:25 +01:00
chriseth
cd2e1e079a Clarify that the experimental flag is not set for "experimental 0.5.0" 2018-03-07 13:56:57 +01:00
Alex Beregszaszi
ba8819542f
Merge pull request #3611 from ethereum/warn-using-address-overload
Warn if using address overloads on contracts
2018-03-06 19:13:55 +01:00
chriseth
af7c64c1fc Changelog entry. 2018-03-06 17:45:47 +01:00
Alex Beregszaszi
14b12ae745
Merge pull request #2966 from ethereum/useStaticCall
Use STATICCALL for pure function calls.
2018-03-06 17:07:03 +01:00
Alex Beregszaszi
83dacbf669
Merge pull request #3549 from ethereum/fixmultidim
Properly detect which array and struct types are unsupported by the old ABI encoder.
2018-03-06 15:51:17 +01:00
chriseth
b467116ea8 Use STATICCALL for pure function calls if EVM version supports it and 0.5.0 is activated. 2018-03-06 15:30:18 +01:00
chriseth
9d67e9b4fc
Merge pull request #3640 from AnthonyBroadCrawford/spanning-multiline-message-fix
moved spanning multi lines message to appear on some lane vs new line…
2018-03-05 22:51:53 +01:00
Anthony Broad-Crawford
174c46d5af Improved messaging when an error spans multiple lines and updated change log file. 2018-03-05 14:14:14 -06:00
chriseth
83fcf007bf Do not retain any gas in external calls (except if EVM version is set to homestead). 2018-03-05 19:32:12 +01:00
Alex Beregszaszi
fd60c1cf86 Warn if using address overloads on contracts 2018-03-05 15:50:27 +01:00
chriseth
477571e190 Do not warn about 0.5.0 experimental pragma. 2018-03-05 12:14:44 +01:00
chriseth
6dc137317f
Merge pull request #3569 from ethereum/evmVersion
EVM version
2018-03-05 12:10:49 +01:00
chriseth
f78d6a9a1e
Merge pull request #3628 from ethereum/literalsHexUnit
Deprecate using unit denominations in combination with hex numbers.
2018-03-02 11:11:16 +01:00
chriseth
83515eadcf Changelog entry 2018-03-01 17:19:35 +01:00
Daniel Kirchner
bd4c2b9bde Deprecate using unit denominations in combination with hex numbers. Closes #3574. 2018-03-01 16:58:55 +01:00
chriseth
98e8a93854 Changelog entry. 2018-03-01 14:29:00 +01:00
Alex Beregszaszi
b6dfd9ef54 Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO 2018-03-01 12:03:56 +01:00
chriseth
9e3da89a7a
Merge pull request #3607 from izgzhen/complain-unknown-params
stop allow_guessing for command line option parser
2018-02-28 17:42:14 +01:00
chriseth
22d26e059c
Merge pull request #3613 from ethereum/require-visibility
Issue error if no visibility is specified (on 0.5.0)
2018-02-28 16:33:39 +01:00
Zhen Zhang
5fd9ea4b2a Stop allow_guessing for command line option parser 2018-02-28 09:31:24 +08:00
Alex Beregszaszi
a566825589 Issue error if no visibility is specified (on 0.5.0) 2018-02-27 16:31:53 +01:00
chriseth
e227bdbfa7 Changelog entry. 2018-02-27 12:17:25 +01:00
Alex Beregszaszi
5c0d82059f Turn throw into a syntax error for 0.5.0 2018-02-27 02:10:24 +01:00
chriseth
04c922e5ed Changelog entry. 2018-02-22 15:17:41 +01:00
chriseth
c182284d28 Do not warn about analysis-only experimental features. 2018-02-22 14:50:20 +01:00
Alex Beregszaszi
ae02bb5aad Raise error on oversized number literals in assembly 2018-02-22 01:02:19 +01:00
chriseth
3076a434ba
Merge pull request #3554 from ethereum/reuseScannerOrNot
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:57 +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
Alexander Arlt
0f29ac4e56 Add new JSON API for better abstraction and for supporting strict JSON parsing 2018-02-20 21:58:26 +01:00
chriseth
58bbb04276 Changelog entry. 2018-02-20 13:06:45 +01:00
chriseth
83692360b1 Changelog entry. 2018-02-19 19:22:49 +01:00
chriseth
7530592a58 Changelog entry. 2018-02-19 16:45:51 +01:00
Alexander Arlt
1d4547ab03 Minor improvement: check sources
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
2018-02-16 18:44:46 +01:00
chriseth
2b5a5a8669 Make addmod and mulmod revert if the last argument is zero. 2018-02-15 13:52:17 +01:00
chriseth
e08a206070 Disallow uninitialized storage pointers as experimental 0.5.0 feature. 2018-02-15 11:58:50 +01:00
chriseth
bbdc885478 Increment version number. 2018-02-14 08:43:49 +01:00
chriseth
ef8292c6bb
Update Changelog.md 2018-02-13 22:43:20 +01:00
chriseth
fccede62ce Prepare 0.4.20 release. 2018-02-13 17:17:46 +01:00
chriseth
23484ba6a4
Merge pull request #3498 from ethereum/allowthisfselector
Allow `this.f.selector` to be pure.
2018-02-13 17:08:35 +01:00
Balajiganapathi S
2859834e58 Suggest alternatives when identifier not found. 2018-02-13 14:54:36 +00:00
Alex Beregszaszi
8f8ad3840e
Merge pull request #3349 from federicobond/number-improv
Avoid output messages size blow-up using huge bignums literals
2018-02-13 12:36:05 +00:00
chriseth
5916cf1e0a Allow this.f.selector to be pure. 2018-02-13 11:00:59 +01:00
chriseth
927adb8f2a Mention mod-and-replacement in changelog. 2018-02-13 08:51:11 +01:00
Federico Bond
a320ffeafd Avoid output messages size blow-up using huge bignums literals 2018-02-12 22:53:33 +00:00
Jimmy Vogel
dc5ad899d0 Deprecate the var keyword (and mark it an error as experimental 0.5.0 feature) 2018-02-12 22:37:26 +00:00
Alex Beregszaszi
32300ea3ff
Merge pull request #3360 from federicobond/nonfatal-reference-errors
Replace some fatal errors when resolving references with normal ones
2018-02-04 13:07:55 +00:00
Federico Bond
600e66e605 Replace some fatal errors when resolving references with normal ones 2018-02-02 14:09:32 -03:00
Alex Beregszaszi
b545987ec7 Issue warning for using public visibility for interface functions 2018-02-01 10:28:00 +00:00
chriseth
6807010dc7 Prevent libraries from being called. 2018-01-19 16:27:44 +01:00
Alex Beregszaszi
bc1fffb42f Support --strict-assembly in CLI 2018-01-06 03:28:12 +00:00
chriseth
bca01f8f68
Merge pull request #3382 from ethereum/julia-identifier-parser
Support some restricted tokens (return, byte, address) as identifier in Julia
2018-01-06 00:02:21 +01:00
Alex Beregszaszi
a91393f4d7 Support some restricted tokens (return, byte, address) as identifiers in Julia 2018-01-05 15:53:49 +00:00
Alex Beregszaszi
9e7e312fdf Properly support library file names containing a colon (such as URLs). 2018-01-05 13:24:07 +00:00
Leonardo Alt
e27418cb33 [SMTChecker] Added feature line to Changelog 2018-01-04 21:23:56 +01:00
Alex Beregszaszi
8901b38959
Merge pull request #3369 from ethereum/jsonio-colon
Properly handle colons in file names within jsonio
2018-01-04 11:58:29 +00:00
Federico Bond
a0771691ff Improve error message for wrong struct initialization (#3359) 2018-01-04 11:24:39 +01:00
Alex Beregszaszi
ff9fdfac57 Properly handle colons in file names within jsonio 2018-01-03 15:44:03 +00:00
Alex Beregszaszi
add4cde68c Populate the sourceLocation field properly in standard JSON on errors 2017-12-18 12:17:51 +00:00
Alex Beregszaszi
a64c1e5487 Update changelog for some 0.4.20 changes 2017-12-12 10:34:24 +00:00
Yoichi Hirai
14707b27e2
Merge pull request #3183 from federicobond/fix-event-parsing
Fix event parsing. Refs #3175
2017-12-12 11:12:18 +01:00
Alex Beregszaszi
e9d256ddf4 Suggest the experimental ABI encoder if using structs as function parameters 2017-12-11 02:34:42 +00:00
Alex Beregszaszi
bc875f6b9c Warn for assembly labels too 2017-12-05 19:27:12 +00:00
chriseth
0971c00b21 Increment version to 0.4.20. 2017-11-30 17:50:13 +01:00
chriseth
f7538daaf4 Preparation for 0.4.19 release. 2017-11-30 01:23:22 +01:00
Alex Beregszaszi
8da245cca3 Limit output according to the selected targets in StandardCompiler 2017-11-29 20:10:18 +00:00
chriseth
bdc1ff8ec7 ABI decoder. 2017-11-29 17:08:44 +01:00
Federico Bond
14fd647b85 Fix event parsing. Refs #3175 2017-11-22 23:08:12 -03:00
chriseth
6dbc34e16e If statement for Iulia / inline assembly. 2017-11-22 16:25:24 +01:00
Balajiganapathi S
165857b1d4 Allow constant integer variables as array lengths. 2017-11-22 01:41:46 +00:00
wadeAlexC
8a6692b2cf Improves address literal checksum error message 2017-11-17 00:46:44 +00:00
chriseth
dc6b1f02bc Merge pull request #3092 from rivenhk/b_2885
added formatting when source snippets is too long
2017-10-23 10:54:52 +02:00
rivenhk
ccc54c84f3 updated Changelog.md 2017-10-22 00:28:31 +08:00
Alex Beregszaszi
3a8324266f More detailed errors for invalid array lengths (such as division by zero). 2017-10-20 11:59:18 +01:00
Alex Beregszaszi
10677125ae Turn usage of callcode into an error as experimental 0.5.0 feature 2017-10-19 02:20:30 +01:00
chriseth
38ad5bfac5 Increment version to 0.4.19. 2017-10-18 15:43:37 +02:00
chriseth
c3a7422399 Update changelog for 0.4.18 release. 2017-10-18 12:48:15 +02:00
chriseth
e854da1a8c Merge pull request #2925 from ethereum/tuple-value-check
Validate each tuple literal
2017-10-18 11:59:40 +02:00
chriseth
a3db1fc197 Do not accept truncated function selectors. 2017-10-17 23:17:36 +02:00
Alex Beregszaszi
c99d2aae04 Validate each tuple literal 2017-10-17 18:59:01 +02:00
chriseth
6001bd1406 Allocate one byte per memory byte array element instead of 32. 2017-10-16 22:29:31 +02:00
chriseth
7989fc4c35 Merge pull request #3077 from ethereum/optimze_pops
Assume peephole optimizer was successful if number of pops increased.
2017-10-16 22:11:45 +02:00
chriseth
082e7b6a9e Allow `gas` in view functions. 2017-10-16 13:28:44 +02:00
chriseth
7c94e5462a Assume peephole optimizer was successful if number of pops increased. 2017-10-13 19:00:56 +02:00
Alex Beregszaszi
c45e55675c Force interface functions as external (0.5.0) 2017-10-06 13:48:38 +01:00
Alex Beregszaszi
81519845bc Require location keyword for local variables (0.5.0) 2017-10-05 19:02:30 +01:00
Alex Beregszaszi
09276cb9d3 Do not add members of address to contracts in experimental 0.5.0 2017-10-05 11:42:34 +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
69ea5c43f3 Send all gas for 0.5.0. 2017-10-05 11:56:36 +02:00
chriseth
54cf15ac4f Merge pull request #2901 from ethereum/compiler-names
Provide optional list of contract names to CompilerStack.compile
2017-10-05 11:23:46 +02:00
Alex Beregszaszi
a0394a1bfa Restrict contracts compiled via outputSelection (but not the individual output details) 2017-10-04 20:30:14 +01:00
Federico Bond
76d3d24842 Do not consider shadowing in variable names inside event declarations 2017-10-04 13:30:26 -03:00
Federico Bond
2b82352692 Disallow non-pure constant state variables in 0.5.0 2017-10-03 15:30:16 +01:00
Federico Bond
6d95447955 Emit error when declaring event with same name and arguments twice 2017-09-29 19:17:31 -03:00
Rhett Aultman
e434437eb7 Unary + now a synax error (experimental 0.5.0)
The unary + was deprecated with a warning, but will be elevated to an
error in 0.5.0.  This adds the syntax error for the 0.5.0 pragma, and
for a true 0.5.0 release we should consider removing the operator from
the parser.
2017-09-29 17:50:25 +01:00
Alex Beregszaszi
b1741b7735 Validate array length in type checker 2017-09-29 16:44:00 +01:00
Alex Beregszaszi
7cb4d714c7 Fix overload resolution when conflict is with members of address (balance, transfer, etc) 2017-09-28 13:57:19 +01:00
chriseth
639b85f498 Fix source location of VariableDeclarationStatement. 2017-09-27 19:27:36 +02:00
wadeAlexC
0099911ace Better error message for unexpected trailing comma in parameter lists 2017-09-25 10:42:01 +01:00
chriseth
06e828542b Increment version. 2017-09-21 18:19:58 +02:00
chriseth
22a58ad2d8 Changelog cleanup in preparation for 0.4.17. 2017-09-21 15:26:29 +02:00
chriseth
8af298ade3 Merge pull request #2902 from ethereum/warn-obsolete
Warn about obsolete sha3/suicide calls
2017-09-20 18:00:40 +02:00
Alex Beregszaszi
3b813ed295 Support multiple assignment in inline assembly 2017-09-20 11:16:23 +02:00
Alex Beregszaszi
ed1fd49ab0 Warn about obsolete sha3/suicide calls 2017-09-19 11:11:19 +01:00
chriseth
ff275e369c Allow constant byte arrays. 2017-09-18 19:49:27 +01:00
chriseth
3a9a9db6d6 Merge pull request #2910 from ethereum/fallback-restrict-external
Force fallback to be external (experimental 0.5.0 change)
2017-09-18 16:38:55 +02:00
Alex Beregszaszi
a3380ea8d0 Force fallback to be external (experimental 0.5.0 change) 2017-09-18 11:58:37 +01:00
Alex Beregszaszi
b687d74c47 Add changelog 2017-09-16 12:31:13 +01:00
chriseth
80ce3ca66f Move ABI encoder into its own function. 2017-09-15 20:46:32 +01:00
Alex Beregszaszi
7dd372ce5c Merge pull request #2904 from ethereum/viewPure5
Enforce view with error for experimental 0.5.0.
2017-09-14 18:13:56 +01:00
chriseth
24fd67b7db Enforce view with error for experimental 0.5.0. 2017-09-14 17:53:43 +02:00
Alex Beregszaszi
5b5367dc12 Warn if no visibility is specified on contract functions. 2017-09-14 15:58:04 +01:00
Alex Beregszaszi
06c2ddfd50 Add experimental feature 'v0.5.0' 2017-09-13 19:22:03 +01:00
Alex Beregszaszi
5c9dbd5083 Merge pull request #2473 from ethereum/functiontype-sig
Add .selector member on function types
2017-09-13 17:35:48 +01:00
chriseth
3f3bcc4f8a Merge pull request #2848 from ethereum/checkViewPure
Enforce view and pure.
2017-09-13 18:29:13 +02:00
chriseth
172704a58f Changelog entry. 2017-09-13 18:28:36 +02: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
0259459b21 Limit each duplicate declaration error to 32 references 2017-09-12 21:37:06 +01:00
Suman
10d290cb9b Display helpful warning for unused function arguments/return parameters 2017-09-12 15:35:03 +01:00
Alex Beregszaszi
a52e0de67c Do not show the same error multiple times for events 2017-09-12 00:03:35 +01:00
Alex Beregszaszi
0e11e5af10 Include all overloaded events in ABI 2017-08-28 20:07:43 +01:00
chriseth
122e65f8f4 Crash fix, parseTypeName can return null. 2017-08-28 15:13:02 +02:00
Alex Beregszaszi
f6dba97fe1 Warn on using literals in tight packing 2017-08-25 14:16:50 +01:00
Alex Beregszaszi
70e89a5dac Introduce JumpdestRemover optimisation step 2017-08-25 10:42:36 +01:00
chriseth
8e37f56bad Set version to 0.4.17 2017-08-24 22:41:41 +02:00
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