Commit Graph

2133 Commits

Author SHA1 Message Date
a3d4
d7b4b4a7aa Fix ICE caused by storage parameters with nested mappings in libraries 2020-10-07 22:07:57 +02:00
chriseth
ddcb6c04f2 Set version to 0.7.4. 2020-10-07 18:56:56 +02:00
Harikrishnan Mulackal
a309669f75 Disallow explicit conversions from negative literals to `address` 2020-10-07 16:06:02 +02:00
chriseth
b4f6092f90 Set release date. 2020-10-07 15:40:42 +02:00
Mathias Baumann
6114cd8e8e Add missing annotation assignments 2020-10-07 14:52:35 +02:00
chriseth
431397eddf
Merge pull request #9943 from ethereum/array-cleanup
Array cleanup
2020-10-07 11:53:06 +02:00
Kamil Śliwak
33ff79bf82 Add missing checks for parameter compatibilty with ABIEncoderV1 in calls 2020-10-06 21:28:46 +02:00
chriseth
b401093679
Merge pull request #9967 from ethereum/develop
Merge develop into breaking.
2020-10-06 17:45:53 +02:00
Harikrishnan Mulackal
1bdbc10110 Properly cleanup after copying dynamic-array to storage for packed types 2020-10-06 16:06:02 +02:00
Alex Beregszaszi
fedbea46cd [SMTChecker] Support type conversions 2020-10-02 10:26:02 +02:00
Leonardo Alt
c8cc73c80c Support array slices 2020-10-01 11:52:02 +02:00
chriseth
3af21c92d2
Merge pull request #9702 from a3d4/fix-7410-arrays-of-mappings
Fix ICE caused by an array of mappings
2020-09-30 20:24:09 +02:00
chriseth
fda8bde2d7 Stop after parsing. 2020-09-30 16:57:49 +02:00
Harikrishnan Mulackal
3970412422 Implemented events with function type as one of its indexed parameters 2020-09-30 12:11:38 +02:00
a3d4
3c876fcb60 Fix ICE caused by an array of mappings 2020-09-29 18:17:46 +02:00
Harikrishnan Mulackal
2b9f040c48 Optimize exp when base is -1 2020-09-29 17:44:09 +02:00
chriseth
9a28dbfebd
Merge pull request #9925 from ethereum/develop
Merge develop into breaking.
2020-09-29 16:42:56 +02:00
Leonardo Alt
352cce5fc8 [SMTChecker] Support addmod and mulmod. 2020-09-29 12:45:19 +02:00
chriseth
4bdec8107c Merge remote-tracking branch 'origin/develop' into HEAD 2020-09-29 09:53:50 +02:00
chriseth
46360ba79f Set version to 0.7.3. 2020-09-28 22:27:59 +02:00
chriseth
054fc34179 Sort changelog. 2020-09-28 15:15:15 +02:00
chriseth
26d07d1925 Prepare release of 0.7.2. 2020-09-28 14:45:39 +02:00
chriseth
bab2d6d644
Merge pull request #9852 from ethereum/fix-9851
Typechecker: Disallow free function redefinition
2020-09-28 11:15:47 +02:00
Bhargava Shastry
e2a2276272 Contract level checker: Disallow free function redefinition and alias
shadowing another free function

Co-authored-by: chriseth <chris@ethereum.org>
2020-09-25 17:09:58 +02:00
Alex Beregszaszi
9f3d5d3e2f [SMTChecker] Implement support for memory allocation 2020-09-25 15:56:24 +01:00
Alex Beregszaszi
9c1b041dcb [SMTChecker] Keep constraints of string literals after assignment 2020-09-25 11:32:48 +01:00
Alex Beregszaszi
5090353a1a [SMTChecker] Keep knowledge about string literals 2020-09-25 11:32:23 +01:00
Leonardo Alt
df8c6d94e3 [SMTChecker] Support fixed bytes index access 2020-09-25 09:59:38 +02:00
chriseth
763282343f
Merge pull request #9883 from ethereum/develop
Merge develop into breaking.
2020-09-24 16:05:51 +02:00
Alex Beregszaszi
0e5abbd4a9 Display location of invalid UTF-8 sequence in unicode literals in SyntaxChecker 2020-09-23 17:01:02 +01:00
Alex Beregszaszi
ca743191b7 Report why assigning oversized hex strings to bytes fail 2020-09-23 16:46:47 +01:00
Alex Beregszaszi
af8d78010e Display BoolResult from implicit/explicit conversions for more clarity in error messages 2020-09-23 16:04:07 +01:00
Đorđe Mijović
858b4507e2
Merge pull request #9854 from ethereum/bitwiseSmt
[SMTChecker] Support compound shifts and bitwise and, or, and xor
2020-09-23 12:35:48 +02:00
chriseth
0c6dc1dce4
Merge pull request #9862 from ethereum/develop
Merge develop into breaking
2020-09-23 12:22:32 +02:00
Djordje Mijovic
773e000227 [SMTChecker] Implementing compound bitwise And/Or/Xor operators 2020-09-23 11:31:37 +02:00
Alex Beregszaszi
709d25bd3d [SMTChecker] Support address type conversion with literals 2020-09-22 18:49:11 +01:00
chriseth
700cc4c9d3
Merge pull request #9836 from ethereum/fix-missing-check-for-nested-dynamic-arrays-with-abi-encode-decode-v1
Add missing check for nested dynamic arrays in abi.encode()/decode() functions in ABIEncoderV1
2020-09-22 15:49:17 +02:00
chriseth
8e77bb5bfc
Merge pull request #9838 from ethereum/fix-wrong-name-reported-for-invalid-named-argument
Fix wrong name reported for invalid named argument
2020-09-21 17:17:14 +02:00
Kamil Śliwak
aae640dd3a Fix wrong name used in error message when reporting invalid named argument 2020-09-17 18:59:18 +02:00
Kamil Śliwak
1a4cc4e64d Fix type check for nested arrays in abi.encode/decode functions in ABIEncoderV1
- Without this fix, nested arrays are not detected as unsupported and compiler fails on an UnimplementedError.
- Now it's consistent with how structs are handled in ABIEncoderV1.
2020-09-17 17:29:16 +02:00
chriseth
684fff34a9 Replace exp by shl. 2020-09-17 16:06:52 +02:00
chriseth
aa7a6922e7 Restrict unary negation to signed integers. 2020-09-17 15:01:53 +02:00
chriseth
9750286ee4
Merge pull request #9823 from ethereum/develop
Merge develop into breaking.
2020-09-16 14:24:58 +02:00
chriseth
5000785ff8
Merge pull request #9822 from ethereum/fix-ice-on-returning-string-literal-in-calldata
Mark string literals as not implicitly convertible to calldata arrays
2020-09-16 14:23:47 +02:00
Alex Beregszaszi
a187a1c4c4
Merge pull request #9798 from ethereum/smt-log
[SMTChecker] Support events and low-level logs
2020-09-16 12:26:27 +01:00
Kamil Śliwak
3ba3bde65e Mark string literals as not implicitly convertible to calldata arrays 2020-09-16 12:44:57 +02:00
Alex Beregszaszi
c8c17b693b [SMTChecker] Support events and low-level logs 2020-09-16 11:50:39 +02:00
Kamil Śliwak
2916ae5bda Fix static arrays with dynamic elements not being treated as dynamic in FunctionType::returnParameterTypesWithoutDynamicTypes() 2020-09-16 11:15:52 +02:00
chriseth
39ecc18d4d
Merge pull request #9812 from ethereum/develop
Merge develop into breaking.
2020-09-15 15:58:45 +02:00
chriseth
168433f251 Changelog entry. 2020-09-15 14:41:46 +02:00
Alex Beregszaszi
5355e85639
Merge pull request #9782 from ethereum/smt-revert
[SMTChecker] Support revert()
2020-09-15 13:26:19 +01:00
chriseth
74efd5ba46
Merge pull request #9703 from a3d4/fix-4558-shadowed-declaration-warning
Corrected warning for homonymous, but not shadowing declarations
2020-09-15 13:48:55 +02:00
Alex Beregszaszi
783d66c1a4 [SMTChecker] Support revert() 2020-09-15 11:46:33 +01:00
chriseth
eac175c08b
Merge pull request #9053 from ethereum/generatedSources
Export generated sources
2020-09-15 12:08:47 +02:00
chriseth
392ed02008 Changelog entry. 2020-09-15 11:22:43 +02:00
a3d4
4ca7655b74 Correct the warning for homonymous, but not shadowing declarations 2020-09-15 02:39:21 +02:00
Alex Beregszaszi
83934254ea [SMTChecker] Support type(I).interfaceId 2020-09-14 20:34:52 +01:00
chriseth
efe829b4b2
Merge pull request #9805 from ethereum/develop
Merge develop into breaking.
2020-09-14 20:48:03 +02:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
Leonardo
31b5102aa0
Merge pull request #9731 from ethereum/smt_import
[SMTChecker] Fix CHC encoding
2020-09-12 00:56:04 +02:00
Alex Beregszaszi
961a199cf5 [SMTChecker] Support type(T).min and type(T).max 2020-09-11 21:37:51 +01:00
Leonardo Alt
23ee011c56 [SMTChecker] Fix imports 2020-09-11 13:34:46 +02:00
chriseth
f102feaf09 Handle "leaf functions" first in full inliner. 2020-09-10 17:01:19 +02:00
chriseth
6101bdf7e2 Name simplifier. 2020-09-10 16:23:29 +02:00
Leonardo Alt
40197df104 [SMTChecker] Support shifts 2020-09-09 19:47:52 +02:00
Kamil Śliwak
5e9dd67a0a FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types 2020-09-09 14:45:58 +02:00
chriseth
559ab3f1ec
Merge pull request #9759 from ethereum/develop
Merge develop into breaking.
2020-09-08 13:29:11 +02:00
Kamil Śliwak
41bcb97e36 Don't consider contracts implicitly convertible to the type of super
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Alexander Arlt
df8bbeeb22 ViewPureChecker::reportMutability: don't check visibility on constructors. 2020-09-07 11:35:33 -05:00
chriseth
2fb8beb714 Merge remote-tracking branch 'origin/develop' into HEAD 2020-09-07 12:07:51 +02:00
Harikrishnan Mulackal
acec8f271d Type Checker: Disallow `virtual` for modifiers in libraries. 2020-09-07 11:17:38 +02:00
Leonardo Alt
3093648c05 Changelog 2020-09-03 15:19:32 +02:00
Harikrishnan Mulackal
974e35d09c Tests and changelog 2020-09-03 13:15:38 +02:00
chriseth
d58c5f48e4 Set version to 0.7.2. 2020-09-02 16:21:48 +02:00
chriseth
3a48be546d
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
[Sol->Yul] Implementing various copying of structs
2020-09-02 13:50:46 +02:00
chriseth
840791a470
Merge pull request #9717 from ethereum/prepare071
Prepare release of 0.7.1.
2020-09-02 12:58:13 +02:00
Djordje Mijovic
23f6369a46 Implementing struct copying from calldata to storage 2020-09-02 12:28:53 +02:00
chriseth
b52f334fff Prepare release of 0.7.1. 2020-09-01 17:47:56 +02:00
chriseth
ff0ec61e1e Merge remote-tracking branch 'origin/develop' into breaking 2020-09-01 11:57:45 +02:00
Leonardo Alt
238b8a929e [SMTChecker] Fix ICE on tuples of one element that actually have tuple type 2020-09-01 08:31:57 +02:00
Leonardo Alt
5cafbeebec [SMTChecker] Fix ICE on tuple assignment 2020-09-01 08:29:01 +02:00
Leonardo Alt
50e0ada77d [SMTChecker] Fix unary operator on lvalue tuple 2020-09-01 08:25:06 +02:00
chriseth
34543e5eab
Merge pull request #9692 from ethereum/smt_fix_pop
[SMTChecker] Fix soundness of array pop
2020-08-31 20:07:58 +02:00
Alex Beregszaszi
2426616859 Disallow language keywords to be used as identifiers by NameDispenser and VarNameCleaner
Also introduce isRestrictedIdentifier helper in OptimizerUtilities
2020-08-31 12:52:17 +01:00
Leonardo Alt
8c05db88c0 [SMTChecker] Fix soundness of array pop 2020-08-31 12:11:33 +02:00
chriseth
20efba6b55
Merge pull request #9568 from ethereum/fixImmutables
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
chriseth
8b564a7be7 Fix reads checks for immutable variables. 2020-08-28 15:24:40 +02:00
Harikrishnan Mulackal
7ff809dc78 Disallow assigning more than once to immutables during the vardecl 2020-08-28 13:42:54 +02:00
Alex Beregszaszi
e872b1b51e
Merge pull request #9689 from ethereum/using-for-interface
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
c7dc42a794 Disallow `using for` directive for interfaces. 2020-08-27 15:57:51 +02:00
Harikrishnan Mulackal
7826564226 Fix infinite loop for structs in library function parameter 2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059 Allow type(Contract).name for abstract contracts and interfaces 2020-08-27 13:37:08 +02:00
Alex Beregszaszi
4e5b403c37 Introduce RightArrow (->) token in the scanner 2020-08-27 12:28:27 +01:00
Harikrishnan Mulackal
6f22899153 Disallow the exponent to be a signed integer literal 2020-08-27 12:08:45 +02:00
Leonardo
fdc4142b2c
Merge pull request #9661 from ethereum/smtBitwiseOr
[SMTChecker] Support bitwise or, xor and not operator
2020-08-26 18:20:15 +02:00
Djordje Mijovic
11a7763f49 [SMTChecker] Support bitwise or, xor and not. 2020-08-26 11:06:56 +02:00
chriseth
e72afcba47 Fix inlining order to correspond to source order. 2020-08-26 10:20:18 +02:00
chriseth
21489d8193
Merge pull request #9638 from ethereum/fixNullValuesAST
Remove null values from AST also in standard-json mode.
2020-08-24 15:57:33 +02:00
Đorđe Mijović
4dd25f7302
Merge pull request #9639 from ethereum/smtConditionalSupport
[SMTChecker] Supporting conditional operator
2020-08-21 14:25:47 +02:00
Djordje Mijovic
3f97a1012a [SMTChecker] Supporting conditional operator 2020-08-20 21:39:35 +02:00
chriseth
4dc63875f9
Merge pull request #9113 from ethereum/smt_chc_overflow
[SMTChecker] Add underflow/overflow target to CHC
2020-08-20 13:17:00 +02:00
chriseth
b2b8e0e4c6
Merge pull request #9312 from ethereum/rewrite-loopInvariantCodeMotion
Rewrite loop invariant code motion
2020-08-19 14:27:04 +02:00
Harikrishnan Mulackal
bbf15c9af3 Tests and Changelog 2020-08-19 12:41:29 +02:00
chriseth
7b8cc0c49b Remove null values from AST also in standard-json mode. 2020-08-19 11:06:14 +02:00
chriseth
cf5aa450bd Documentation. 2020-08-18 11:46:59 +02:00
Leonardo Alt
1b720cf674 Changelog 2020-08-14 12:58:27 +02:00
Leonardo Alt
ec31d971e6 [SMTChecker] Fix tuple name for arrays 2020-08-07 12:28:10 +02:00
chriseth
a301f68b1a Set version to 0.8.0. 2020-08-06 16:58:12 +02:00
Daniel Kirchner
143b37af56 Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests. 2020-08-06 15:05:17 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
chriseth
98faf82d3f
Merge pull request #9563 from ethereum/constrInLib
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
Alex Beregszaszi
3a617f9cf2 Validate expected literal kind for yul::Dialect builtins
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-05 11:37:04 +01:00
Leonardo Alt
8df8c6e14f [SMTChecker] Fix ICE in BMC function inlining 2020-08-05 11:47:25 +02:00
chriseth
c96e997a3c Fix member lookup for constructor in library. 2020-08-04 10:51:40 +02:00
Bhargava Shastry
5100effeec yul: Set non movable flag to true in simplification rule for byte of right-shifted expression 2020-08-03 17:30:52 +02:00
Leonardo Alt
ad1798b000 [SMTChecker] Fix ICE on fixed bytes access 2020-07-28 17:59:42 +02:00
chriseth
8a136c96e9 Set version to 0.7.1 2020-07-28 17:16:57 +02:00
chriseth
ab0b2e1fe1 Prepare changelog for 0.7.0. 2020-07-28 12:44:08 +02:00
Alex Beregszaszi
6eb60bc8cd Add check that regular and unicode string literals are well formatted 2020-07-27 18:21:17 +01:00
Alex Beregszaszi
8abc1a6863 Check for invalid ASCII in the scanner 2020-07-27 18:21:17 +01:00
Leonardo Alt
de4ae301c4 [SMTChecker] Fix ICE when tuples have extra effectless parens 2020-07-27 13:03:27 +02:00
Alex Beregszaszi
5ecc84e92e Distinguish between stringLiteral and hexStringLiteral in the JSON AST 2020-07-27 10:19:24 +01:00
chriseth
436cf4cf12 Clean up changelog. 2020-07-23 16:51:49 +02:00
a3d4
5b54cfbed3 Report an error if immutables not assigned 2020-07-23 16:38:54 +02:00
chriseth
336fe94422
Merge pull request #9426 from ethereum/smt_fix_1_tuple
[SMTChecker] Fix ICE in 1-tuple chain
2020-07-23 15:38:17 +02:00
Djordje Mijovic
e7d5a7da10 [TypeChecker] Remove function input and return parameter names from mobileType 2020-07-23 14:39:49 +02:00
Leonardo Alt
9d2a0947e9 Fix 1-tuple chain 2020-07-23 13:46:41 +02:00
chriseth
6bb6783d39 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-22 15:26:44 +02:00
chriseth
e02878329d Prepare for 0.6.12 release. 2020-07-21 16:33:48 +02:00
chriseth
e19e4d9db1
Merge pull request #9451 from ethereum/smt_fix_push_push
[SMTChecker] Fix push().push()
2020-07-21 11:40:37 +02:00
chriseth
9be5ed1220 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-21 11:35:28 +02:00
chriseth
10f93fbd8a
Merge pull request #9428 from ethereum/removeVar
Remove special treatment of ``var``.
2020-07-20 18:43:44 +02:00
Mathias Baumann
ba0a4de50d NatSpec: Implement `@inheritdoc` 2020-07-20 18:32:18 +02:00
chriseth
93c792c696 Remove special treatment of `var`. 2020-07-20 17:22:04 +02:00
Leonardo Alt
2c93278719 Fix push().push() 2020-07-20 17:17:35 +02:00
chriseth
c8772a54c3 Constants are considered pure. 2020-07-20 15:18:23 +02:00
chriseth
d3647b13e4 Disallow public state variables overriding pure functions. 2020-07-20 15:18:23 +02:00
Mathias L. Baumann
69a596b0ff
Merge pull request #9418 from ethereum/stateMutForOverride
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-20 15:01:25 +02:00
Leonardo Alt
2e1067a05a Set type properly for event parameters 2020-07-17 11:17:27 +02:00
chriseth
ba21d26f88
Merge pull request #9344 from ethereum/issue-3412
Allow overrides to have a more strict mutability than super
2020-07-16 18:50:51 +02:00
Mathias Baumann
dfffecfe2c Allow overrides to have a more strict mutability than super 2020-07-16 17:55:12 +02:00
Leonardo Alt
672633af0a [SMTChecker] Fix ICE on compound assignment to array index 2020-07-16 17:44:10 +02:00
chriseth
aa3f51ab47 Issue state mutability restriction for overriding and not for virtual functions. 2020-07-16 17:19:35 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Mathias Baumann
d3af598c49 CodeGen: Avoid double cleanup when copying to memory 2020-07-16 13:53:48 +02:00
Leonardo Alt
46653b2d43 Fix ICE when bitwise operator on fixed bytes 2020-07-15 19:32:15 +02:00
Daniel Kirchner
c3e13b6733 Promote gwei to a proper keyword. 2020-07-13 18:07:11 +02:00
Daniel Kirchner
38c6ecbbe2 Remove finney and szabo denominations. 2020-07-13 18:07:10 +02:00
chriseth
cf189a3285
Merge pull request #9285 from ethereum/no_dot_in_asm
[BREAKING] Change _slot and _offset to use dot in inline assembly
2020-07-13 17:46:39 +02:00
Daniel Kirchner
def0ebbb3e Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform. 2020-07-13 17:36:15 +02:00
chriseth
a783449195
Merge pull request #9362 from ethereum/swappedTagConjunctions
Remove unneccessary masking of tags.
2020-07-13 17:35:06 +02:00
chriseth
414e3bd6fe
Merge pull request #9387 from ethereum/swapDup
Remove swap after dup.
2020-07-13 17:27:43 +02:00
chriseth
12f390a60a
Merge pull request #9326 from ethereum/eventOverwriting
[BREAKING] Disallow multiple events with same name and types.
2020-07-13 15:44:35 +02:00
chriseth
080f33a72c Remove swap after dup. 2020-07-13 15:05:01 +02:00
chriseth
9b5611dda6 Documentation. 2020-07-13 14:59:22 +02:00
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Alex Beregszaszi
87557896ed Add ctz and popcnt to WasmDialect 2020-07-13 11:10:14 +01:00
chriseth
ab2f64f442 Disallow multiple events with same name and types. 2020-07-13 11:24:37 +02:00
Daniel Kirchner
0fd13b7a9e Upgrade json-cpp to 1.9.3. 2020-07-10 21:40:15 +02:00
a3d4
efc5ee207d Fix internal compiler error caused by oversized objects 2020-07-10 11:39:07 +02:00
Mathias Baumann
6b37f1c025 Remove visiblity of libraries in inherited contracts. 2020-07-09 16:38:29 +02:00
chriseth
9ef050af9a
Merge pull request #9373 from ethereum/develop
Merge develop into breaking.
2020-07-09 16:15:43 +02:00
chriseth
59f4989966 Optimize combination of byte and shl. 2020-07-08 20:26:46 +02:00
chriseth
d3abbd5610 Remove unneccessary masking of tags. 2020-07-08 20:16:39 +02:00
chriseth
8eb459c825 Disallow dot in inline assembly identifiers. 2020-07-08 19:29:58 +02:00
chriseth
d4ecd33247 Propagate function call argument types across function call options. 2020-07-08 17:59:02 +01:00
chriseth
0a0f578d7c Evaluate keccak256 of string literals at compile-time. 2020-07-08 16:14:14 +02:00
chriseth
64b6524bdb Merge remote-tracking branch 'origin/develop' into breaking 2020-07-08 09:37:14 +02:00
chriseth
41e1e34211
Merge pull request #9180 from ethereum/noVisibilityForConstructor
[BREAKING] No visibility for constructor
2020-07-07 16:26:41 +02:00
chriseth
38c479ffd4 Set version to 0.6.12. 2020-07-07 15:16:21 +02:00
Alex Beregszaszi
fc8947d3e8 Restrict dots in Yul identifiers 2020-07-07 13:13:58 +01:00
chriseth
1f0f5d2183 Prepare changelog for 0.6.11. 2020-07-07 13:49:22 +02:00
chriseth
ec8be81258
Merge pull request #9243 from ethereum/jumpTypesForYul
Jump types for yul functions.
2020-07-07 12:21:14 +02:00
chriseth
5959d442cb Make visibility optional, but it has to be consistent. 2020-07-07 12:16:18 +02:00
chriseth
d72aae20aa
Merge pull request #9321 from ethereum/multiYulAssign
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 11:07:05 +02:00
Daniel Kirchner
70615a73a4 Disallow the same yul variable occurring multiple times on the LHS of an assignment. 2020-07-07 10:52:47 +02:00
chriseth
982a269b2b
Merge pull request #9325 from ethereum/develop
Merge develop into breaking.
2020-07-06 19:11:02 +02:00
chriseth
4d2b9cd38f Jump types for yul functions. 2020-07-06 18:12:54 +02:00
chriseth
9009335b3f
Merge pull request #9319 from ethereum/noCalldataForConstructor
Constructors cannot have calldata parameters.
2020-07-06 17:58:23 +02:00
chriseth
f372ba6fea Constructors cannot have calldata parameters. 2020-07-06 16:52:51 +02:00
Alex Beregszaszi
60d4b1e8cc Rename drop to i64.drop in WasmDialect
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
chriseth
ab68406006 Merge remote-tracking branch 'origin/develop' into breaking 2020-07-06 15:25:25 +02:00
Kamil Śliwak
c18c6e9319 Add missing changelog entries for linkersymbol and for long string literals in builtin parameters 2020-07-02 14:44:18 +02:00
Leonardo Alt
5517e817d5 Do not trust code of external functions 2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b [SMTChecker] Support to external calls to unknown code 2020-07-01 18:20:33 +02:00
chriseth
e0b1d8b9bd Make DataFlowAnalyzer aware of storage / memory slot after sload / mload. 2020-07-01 13:45:25 +02:00
chriseth
3e3f9a472f Merge remote-tracking branch 'origin/develop' into breaking 2020-06-30 18:56:51 +02:00
chriseth
76943023bd
Merge pull request #9267 from ethereum/issue-8911-split
NatSpec: Implement default inheritance.
2020-06-30 15:16:14 +02:00
Mathias Baumann
c50f0ae00e NatSpec: Implement default inheritance. 2020-06-30 14:45:13 +02:00
Harikrishnan Mulackal
eeadb5a6b5 Tests, Docs and Changelog 2020-06-30 16:53:41 +05:30
chriseth
49e3217933
Merge pull request #9230 from ethereum/issue-8716
Add unit denomination ``gwei``
2020-06-30 12:36:10 +02:00
Harikrishnan Mulackal
4146ff9fcf NatSpec for events 2020-06-26 15:06:43 +05:30
Mathias Baumann
02328f3bbb Add unit denomination `gwei` 2020-06-24 18:24:56 +02:00
chriseth
af0cd4ab98
Merge pull request #9252 from ethereum/develop
Merge develop into breaking.
2020-06-23 18:28:24 +02:00
Alexander Arlt
86be0fbc2f [ewasm] Fix infinite loops. 2020-06-23 12:35:03 +02:00
chriseth
1441b97131 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-22 18:40:20 +02:00
chriseth
98e5923e3a Do now disallow assigning to external parameters. 2020-06-22 18:36:32 +02:00
chriseth
b00014c51d Fix source location of yul multi-assignemnt. 2020-06-18 14:31:53 +02:00
chriseth
76468f19fe Check if using for refers to a library earlier. 2020-06-17 17:45:40 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
a3d4
5d63fa09e9 Fix false ////- and /***-natspec 2020-06-16 11:15:04 +02:00
Kamil Śliwak
c5fb5f6d57 List command-line interface changes in the changelog 2020-06-15 17:13:17 +02:00
chriseth
8155ad2187 Merge remote-tracking branch 'origin/develop' into breaking 2020-06-15 17:11:41 +02:00
Mathias Baumann
d54e7f50ed Natspec: Output "type" and "version" in documenation 2020-06-15 14:53:34 +02:00
chriseth
7c28953a61 Missing changelog entry. 2020-06-15 14:49:14 +02:00
chriseth
65937ab5c8 Set version to 0.6.11. 2020-06-11 20:24:01 +02:00
chriseth
3c43216a75 Set release date for 0.6.10. 2020-06-11 14:07:00 +02:00
chriseth
549c90612c Fix using for with explicit reference types. 2020-06-11 13:04:41 +02:00
chriseth
baabe65a84 Fix bound functions with calldata parameters. 2020-06-10 17:37:59 +02:00
chriseth
2410f0ed5a
Merge pull request #9135 from ethereum/fixReturnParameterLocation
Fixing ICE on calling externally a function that returns calldata pointers
2020-06-10 16:44:38 +02:00
Djordje Mijovic
e73fe17277 Fixing ICE on calling externally a function that returns calldata pointers
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
a3d4
51e64fe0b1 Add error IDs to console output 2020-06-10 13:27:25 +02:00
a3d4
b17915a6ba Add error IDs to JSON 2020-06-10 13:26:51 +02:00
chriseth
6b3171c38b Merge remote-tracking branch 'origin/develop' into breaking 2020-06-10 11:30:50 +02:00
Harikrishnan Mulackal
d8263d331e Ignore warnings for yulOptimizer tests 2020-06-09 13:03:57 +02:00
Leonardo Alt
acbe7a947b Changelog entry 2020-06-08 10:23:57 +02:00
Leonardo Alt
87ceb72b82 [SMTChecker] Fix internal error in tuples of tuples. 2020-06-05 12:20:47 +02:00
chriseth
4cf92bcd89 Set version to 0.6.10 2020-06-04 18:44:22 +02:00
Daniel Kirchner
59ee743f6a Switch to upstream docker image for emscripten build. 2020-06-04 16:17:29 +02:00
chriseth
fc4b3e33b7 Prepare 0.6.9. 2020-06-04 14:25:04 +02:00
Kamil Śliwak
9b4077aa98 Changelog entry for #9074 2020-06-04 11:48:13 +02:00
chriseth
259292c884
Merge pull request #9118 from ethereum/develop
Merge develop into breaking.
2020-06-04 10:18:46 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
1f49edd29d
Merge pull request #9039 from ethereum/yul-remove-pc-instr
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Mathias Baumann
6f8b5fe53b Disallow override with non-public state variables 2020-06-03 14:03:26 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96 Fix type inversion for shift and exp operators. 2020-06-03 13:46:26 +02:00
Christian Parpart
9820df58ab Remove Yul instruction PC and adapt tests accordingly. 2020-06-03 12:49:23 +02:00
Leonardo
96ce4abe0e
Merge pull request #9069 from ethereum/smt_try
[SMTChecker] Fix internal error on try/catch
2020-06-02 21:09:49 +02:00
chriseth
c07254f5ac
Merge pull request #9055 from ethereum/issue-8881
Output error when forward referencing constants in inline assembly
2020-06-02 17:10:56 +02:00
Leonardo Alt
10162016ae [SMTChecker] Fix internal error on try/catch 2020-06-02 16:51:53 +02:00
Mathias Baumann
bdc2c63327 Output error when forward referencing constants in inline assembly 2020-06-02 14:37:54 +02:00
Leonardo Alt
b90fb1cab6 [SMTChecker] Fix ICE on index access assignment inside single branches 2020-05-28 15:56:46 +02:00
chriseth
79f4a2b476
Merge pull request #9051 from ethereum/smt_fix_callstack
[SMTChecker] Fix ICE in inlining function calls while short circuiting
2020-05-28 15:48:50 +02:00
chriseth
bf4ef7483c
Merge pull request #8927 from ethereum/solc-base-path
Adds ``--base-path` to solc when compiling in `--standard-json` mode for resolving relative paths.
2020-05-28 14:10:01 +02:00
Leonardo Alt
a73ec6a82f [SMTChecker] Fix ICE in inlining function calls while short circuiting 2020-05-28 13:14:19 +02:00
Leonardo
097954bc80
Merge pull request #9049 from ethereum/smt_fix_fp
[SMTChecker] Fix fixed point inc/dec
2020-05-28 13:13:23 +02:00
chriseth
f608e50bad
Merge pull request #9029 from ethereum/fewerInternalSourceRefs
Do not set source locations for small internal assembly routines.
2020-05-28 11:14:20 +02:00
Leonardo Alt
cb1cbbc1f1 [SMTChecker] Fix fixed point inc/dec 2020-05-28 10:56:06 +02:00
chriseth
ee8307ceed
Merge pull request #9044 from ethereum/issue-9028
Fix failure to find overload resolution when overrides are involved
2020-05-28 10:33:01 +02:00
Leonardo Alt
9e9f0c52e1 [SMTChecker] Support to bitwise 2020-05-27 20:59:00 +02:00
Mathias Baumann
a846c18e67 Fix failure to find overload resolution when overrides are involved 2020-05-27 18:31:56 +02:00
chriseth
eb923af09c Do not set source locations for small internal assembly routines. 2020-05-27 18:26:46 +02:00
Christian Parpart
09485058d8 Adds `--base-path to solc when compiling in --standard-json mode for resolving relative paths. 2020-05-27 16:23:03 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
afa873fe9f
Merge pull request #8913 from ethereum/yul-remove-pc-instr
Mark EVM instruction `pc()` as deprecated when used in inline assembly.
2020-05-27 12:10:32 +02:00
Christian Parpart
b7fa5d5040 Mark EVM instruction pc() as deprecated when used in inline assembly. 2020-05-27 12:07:23 +02:00
chriseth
1bf706085d Merge pull request #9030 from ethereum/issue-8923
Fix ICE when trying to decode too large static arrays
2020-05-27 11:45:39 +02:00
Mathias Baumann
884e7cbffc Fix ICE when trying to decode too large static arrays 2020-05-26 19:36:18 +02:00
chriseth
d0b6de580f Disallow non-namable types for inline arrays. 2020-05-26 18:17:35 +02:00
Mathias Baumann
b3cafe4583 Fix ICE by avoiding copyForLocation() on ArraySliceType 2020-05-26 17:27:46 +02:00
chriseth
add55fd793 Documentation. 2020-05-26 10:51:13 +02:00
Djordje Mijovic
4c3e78d046 Disallowing shifts by signed types 2020-05-26 10:18:21 +02:00
chriseth
69a028b49c Merge remote-tracking branch 'origin/develop' into breaking 2020-05-26 10:11:23 +02:00
Mathias Baumann
d45bb2aa07 Add proper unipmlemented errors for array copying 2020-05-25 10:48:42 +02:00
chriseth
74b9b094c0 Merge remote-tracking branch 'origin/develop' into HEAD 2020-05-20 17:22:47 +02:00
hrkrshnn
37257548d0 Fixed bug when two empty NatSpec comments led to scanning past EOL 2020-05-20 20:26:02 +05:30
hrkrshnn
4a001d568e Removed null members from JSON output 2020-05-20 16:56:33 +05:30
chriseth
d422a406ba
Merge pull request #8983 from ethereum/develop
Merge develop into breaking.
2020-05-19 18:05:28 +02:00
Alexander Arlt
af8bb5fb60 Allow natspec comments on state variables. 2020-05-19 11:01:52 -05:00
chriseth
f70ff0dfaa
Merge pull request #8977 from ethereum/mapping-type-error
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal
774edd4670 Error when Mapping type in (non-local) storage is assigned to 2020-05-19 19:12:38 +05:30
Leonardo Alt
82db35e563 [SMTChecker] Support array push/pop 2020-05-18 16:33:34 +02:00
Harikrishnan Mulackal
4a291f8551 Changelog and test 2020-05-18 12:36:01 +05:30
Leonardo Alt
a0c605aa85 [SMTChecker] Support array length 2020-05-14 23:32:29 +02:00
Daniel Kirchner
e5da635c0c Add missing Changelog entry about soljson.js build changes. 2020-05-14 21:38:43 +02:00
chriseth
993a7941b1 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 17:24:40 +02:00
chriseth
79e62f6600 Set version to 0.6.9. 2020-05-14 13:58:00 +02:00
chriseth
79a8f78ed4 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 13:07:30 +02:00
chriseth
257bc6a416 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-14 13:04:46 +02:00
chriseth
a16a8c6123 Sort and copyedit changelog. 2020-05-14 12:36:04 +02:00
chriseth
6308ca4a22 Binary transform for br and br_if. 2020-05-14 11:30:19 +02:00
chriseth
1700bdc4ad
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
Allow abi encoding array slices without casting.
2020-05-13 18:55:16 +02:00
Daniel Kirchner
97296d8622 Allow ABI encoding for array slices without explicit casts. 2020-05-13 18:20:07 +02:00
Mathias Baumann
820fdd9bf7 Escape backslashes when formatting 2020-05-13 17:08:37 +02:00
chriseth
e9446475bb
Merge pull request #8924 from ethereum/arraySliceBug
Fix array slice bug.
2020-05-13 16:06:28 +02:00
Daniel Kirchner
6f04664cfa Disallow array slicing for arrays with dyanmically encoded base types. 2020-05-13 15:52:22 +02:00
Harikrishnan Mulackal
47e9a13e8a Fix exponentiation bug 2020-05-13 13:53:06 +05:30
chriseth
0be56a0abf Merge remote-tracking branch 'origin/develop' into breaking 2020-05-12 17:48:53 +02:00
chriseth
7da453014d Fix source location of yul variable declarations without value. 2020-05-12 17:45:19 +02:00
Harikrishnan Mulackal
095e17f7f9 Bug that ignored return tag when no other devdoc tags were present 2020-05-12 20:05:22 +05:30
Daniel Kirchner
3fbde6e782
Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
Implicit constructor callvalue check
2020-05-11 18:50:36 +02:00
Daniel Kirchner
79b217dfb3 Callvalue checks for implicit constructors. 2020-05-11 16:14:34 +02:00
chriseth
5566cd9f74
Merge pull request #8843 from ethereum/deprecate-now
[BREAKING] Deprecate keyword now
2020-05-11 16:09:21 +02:00
chriseth
3312150d7f
Merge pull request #8878 from ethereum/selecting-yul-optimisation-steps-in-strict-assembly-mode
Selecting Yul optimisation steps in strict assembly mode
2020-05-11 16:05:57 +02:00
chriseth
0248303c15
Merge pull request #8872 from ethereum/int-min-max
implemented type(X).min and type(X).max for all integer types
2020-05-11 15:08:19 +02:00
Harikrishnan Mulackal
e4e200f29f Changelog and tests 2020-05-11 15:29:05 +05:30
Kamil Śliwak
6a58227830 CommandLineInterface: Make --yul-optimizations work in strict assembly mode 2020-05-08 22:29:57 +02:00
Mathias Baumann
eb4926cb48 run addMissingFunctions only once 2020-05-07 17:06:11 +02:00
Mathias Baumann
50e59f1008 trigger error when runtimeCode is called on contracts with immutables 2020-05-07 15:10:04 +02:00
a3d4
5e9502bfae Fix ABI internal compiler error caused by an internal constructor 2020-05-07 05:49:49 +02:00
Harikrishnan Mulackal
a207613f17 Docs, changelog and tests 2020-05-05 21:11:15 +05:30
Harikrishnan Mulackal
dd7d63925a
Merge pull request #8806 from ethereum/natspec-constructor
[BREAKING] Natspec constructor and functions have consistent userdoc
2020-05-05 15:47:34 +05:30
chriseth
ecbf216354 Merge remote-tracking branch 'origin/develop' into breaking 2020-05-04 18:46:45 +02:00
chriseth
14ba31f64c Set version to 0.6.8. 2020-05-04 18:09:10 +02:00
Kamil Śliwak
682f53fc82 Changelog: Add an entry for --yul-optimizations option 2020-05-04 15:36:27 +02:00
chriseth
d7180c0522 Prepare 0.6.7. 2020-05-04 12:57:27 +02:00
hrkrshnn
aa65e9423c Uniform output in functions and constructor NatSpec 2020-05-04 12:39:43 +05:30
a3d4
3bd15655cb Type Checker: Fix internal error when applying unary operators to tuples with empty components 2020-04-29 02:18:48 +02:00
chriseth
1fe55370f4 Merge remote-tracking branch 'origin/develop' into HEAD 2020-04-28 13:02:06 +02:00
hrkrshnn
bd0b06e8db Tests, Docs and Changelog 2020-04-28 16:03:52 +05:30
ssi91
3d772edc7a handle file prefix
add the description to the changelog

fix: use the right method to search in string

follow the codestyle

using tabs

delete redundant declaration

implement the handling inline

Update Changelog.md

Co-Authored-By: Leonardo <leo@ethereum.org>
2020-04-27 21:02:39 +07:00
chriseth
d136e7dc95 Rules for optimizing idempotency for bitwise operations. 2020-04-23 14:21:00 +02:00
hrkrshnn
48ff9fd4d6 Tests, Changelog and updated grammar 2020-04-23 17:27:37 +05:30
chriseth
a371910674
Merge pull request #8642 from ethereum/interfaceid
Add support for interfaceId.
2020-04-23 12:24:49 +02:00
chriseth
18ee96ac91
Merge pull request #8752 from a3d4/fix-8711-typechecker-compiler-error
Type Checker: Fix internal error when assigning to empty tuples
2020-04-23 12:01:00 +02:00
a3d4
9538024c81 Fix #8711, #8277 2020-04-23 05:57:35 +02:00
Leonardo Alt
cfe3686116 Fix internal error when using array slices 2020-04-22 23:20:10 +02:00
Leonardo Alt
83c9e82099 Fix ICE with fixed point 2020-04-22 19:57:00 +02:00
chriseth
6728e3ef94 Merge remote-tracking branch 'origin/develop' into breaking 2020-04-22 17:21:32 +02:00
chriseth
00a53c95e3
Merge pull request #8694 from ethereum/out-of-tree-build-dir
Out-of-tree SOLIDITY_BUILD_DIR
2020-04-20 15:15:52 +02:00
chriseth
5aa2107877 Changelog entries for declaration type checker. 2020-04-20 13:26:39 +02:00
Kamil Śliwak
3e65bcfd7f Allow SOLIDITY_BUILD_DIR outside of REPO_ROOT in scripts that respect this variable 2020-04-17 19:09:22 +02:00
Alexander Arlt
3754a86ab2 Add support for interfaceID. 2020-04-16 12:17:40 -05:00
Daniel Kirchner
b86c927505 Disallow virtual and override for constructors. 2020-04-15 13:58:37 +02:00
chriseth
557c3ef767 Set version to 0.6.7. 2020-04-09 16:50:31 +02:00
chriseth
474b72e3f4 Prepare 0.6.6 2020-04-09 11:55:21 +02:00
chriseth
748afe0edd
Merge pull request #8630 from ethereum/encoding-bug-functionCallOption
TypeChecker error when encoding functions with call options; tests
2020-04-08 16:33:24 +02:00
chriseth
9fab9df18c
Merge pull request #8607 from a3d4/fix-nested-tuples
Fixed nested tuples on the right-hand side.
2020-04-08 12:29:52 +02:00
a3d4
aba0b2957c Fix tuple assignments with multi-slot components. 2020-04-07 18:39:25 +02:00
hrkrshnn
96411711ef Added changelog 2020-04-07 21:17:35 +05:30
chriseth
236eff8416 Export immutability. 2020-04-07 17:30:54 +02:00
chriseth
51883958ab Merge remote-tracking branch 'origin/develop' into breaking 2020-04-07 11:14:28 +02:00
Leonardo Alt
e3ec22124e [SMTChecker] Fix ICE in CHC internal calls 2020-04-07 01:09:03 +02:00
chriseth
0988ee641b Set version to 0.6.6. 2020-04-06 18:12:21 +02:00
chriseth
06562e3431 Prepare changelog for 0.6.5. 2020-04-06 11:11:20 +02:00
hrkrshnn
532214f5e1 Moved changelog entry to 0.7.0 2020-04-06 14:21:19 +05:30
hrkrshnn
35a743e222 Added a changelog 2020-04-03 15:11:22 +05:30
chriseth
0d3303e4af
Changelog entry for immutable variables. 2020-04-02 17:46:29 +02:00
chriseth
8d28089abc
Merge pull request #8475 from ethereum/immutable-functioncallgraph
implement ImmutableValidator class
2020-04-02 14:14:53 +02:00
hrkrshnn
cb66274827 Added changelog 2020-04-02 17:41:44 +05:30
Mathias Baumann
ac7b31e559 Validate immutable variables 2020-04-02 13:52:27 +02:00
Daniel Kirchner
fe9f8d520c Restrict size for dynamic memory array creation. 2020-04-01 17:25:09 +02:00
Alexander Arlt
3e649eb8e1 Disallow access to functions from inline assembly. 2020-04-01 10:34:55 +02:00
chriseth
b83d82ab75
Merge pull request #8550 from a3d4/fix-8450-typechecker-compiler-error
Fix  a couple of internal compiler errors when assigning nested tuples
2020-03-31 22:21:58 +02:00
a3d4
c002cae691 Fix #8450. Prevented internal compiler errors when assigning nested tuples. 2020-03-31 03:25:26 +02:00
chriseth
4a7d2e590d
Merge pull request #8529 from MrChico/develop
CommandLineInterface: add storage-layout option to --combined-json
2020-03-26 19:15:23 +01:00
Martin Lundfall
5b4ea1eb89 CommandLineInterface: add storage-layout option to --combined-json 2020-03-26 11:38:28 +01:00
a3d4
339f3ca32c Fix #8427: Promoted typeError to fatalTypeError in ReferencesResolver::endVisit(UserDefinedTypeName). 2020-03-25 02:51:34 +01:00
chriseth
7d68f9f6c3 Merge remote-tracking branch 'origin/develop' into breaking 2020-03-24 13:35:41 +01:00
Daniel Kirchner
fe659ceb41 Anything outside storage is always a pointer. 2020-03-23 15:34:10 +01:00
chriseth
1587486334 Merge tag 'v0.5.17' into develop 2020-03-17 19:50:09 +01:00
Mathias Baumann
e2db9d7ef3 Disallow private functions from being overridden 2020-03-17 16:15:59 +01:00
a3d4
a86c511713 Replaced "assert" with "if" (incorrect contract code is not supposed to trigger asserts). 2020-03-12 14:03:27 +01:00
chriseth
9d92c9fbf1 Merge remote-tracking branch 'origin/develop' into HEAD 2020-03-11 18:44:06 +01:00
Leonardo
07ab4c80c4
Merge pull request #8323 from ethereum/smt_split_3
[SMTChecker] CHC support to internal function calls
2020-03-11 18:37:45 +01:00
Leonardo Alt
07368c2e1e Add support to internal function calls 2020-03-11 16:29:07 +01:00
Djordje Mijovic
37878cf8d2 Adding support for ipfs large files. 2020-03-11 13:55:46 +01:00
chriseth
f8344cb4df Set version to 0.6.5 2020-03-10 21:08:03 +01:00
chriseth
d541e222a2 Prepare changelog for 0.6.4. 2020-03-10 10:46:13 +01:00
Daniel Kirchner
809e3503ba Control flow analysis for inline assembly. 2020-03-09 16:23:10 +01:00
chriseth
4ad998eb5f
Merge pull request #8391 from ethereum/optimizedIRCommandline
Enable optimized IR output via the commandline.
2020-03-09 15:05:29 +01:00
chriseth
37e01a19c0 Fix scoping following try/catch. 2020-03-09 13:14:13 +01:00
chriseth
a328e940b5
Merge pull request #8429 from ethereum/astJsonImportYulBlock
Fix yul ast import for blocks, switches and string literals.
2020-03-08 17:06:05 +01:00
Daniel Kirchner
7f38cbb91d Fix calling unimplemented base function. 2020-03-06 10:51:16 +01:00
Daniel Kirchner
420f57aec3 Fix yul ast import for blocks, switches and string literals. 2020-03-05 14:09:13 +01:00
Daniel Kirchner
b10f12a395
Merge pull request #8413 from mijovic/depratateValueCalls
Deprecated warning for .value() and .gas() on function and constructr…
2020-03-04 14:43:06 +01:00
Djordje Mijovic
58c6b90705 Deprecated warning for .value() and .gas() on function and constructror calls 2020-03-04 12:51:49 +01:00
Leonardo Alt
96a230af50 [SMTChecker] Fix ICEs with tuples 2020-03-03 11:35:58 +01:00
chriseth
bc32619364 Enable optimized IR output via the commandline. 2020-02-27 15:48:38 +01:00
chriseth
06ad5b3200 Merge remote-tracking branch 'origin/develop' into HEAD 2020-02-27 15:06:36 +01:00
chriseth
bb09787bd0
Merge pull request #8378 from mijovic/yulSourceLocations
Adding source location support to AssemblyStack
2020-02-25 22:34:57 +01:00
Djordje Mijovic
ec083c4878 Adding source location support to AssemblyStack and thus debugging Yul sources 2020-02-25 22:19:03 +01:00
chriseth
c5a0a434e2
Merge pull request #8374 from ethereum/writeAccessToSlot
Allow access to ``_slot`` for local storage pointer variables.
2020-02-25 22:11:13 +01:00
chriseth
45041e5d3a Allow access to `_slot` for local storage pointer variables. 2020-02-25 14:28:04 +01:00
Djordje Mijovic
8524e3f48d Standard-JSON-Interface: Fix a bug (#8371) related to empty filenames and imports. 2020-02-25 01:07:36 +01:00
Djordje Mijovic
dd9009eba6 TestFileParser: Adding new keyword wei for expressing function value 2020-02-21 11:39:37 +01:00
chriseth
9dd9a68c08 Set version to 0.6.4. 2020-02-18 16:42:02 +01:00
chriseth
c2e22d4cab
Merge pull request #8221 from ethereum/structured-docs-error-locations
[parser] Source locations for structured documentation errors
2020-02-18 14:57:28 +01:00
chriseth
4115553344 Prepare changelog for 0.6.3 release. 2020-02-18 12:52:58 +01:00
Djordje Mijovic
18dea6b69c Assembly: Added missing source field to legacy assembly json output to complete the source reference 2020-02-18 10:22:34 +01:00
Erik Kundt
125d9f6648 Adds changelog for locations of structured doc errors. 2020-02-14 15:53:39 +01:00
Daniel Kirchner
e3a235a492 Add missing changelog entries. 2020-02-14 14:22:11 +01:00
Gaith Hallak
24d6702986 [Yul] Prune functions that call each other but are otherwise unreferenced 2020-02-11 20:39:32 +03:00
Leonardo Alt
36928c7a35 Add reason string for internal reverts 2020-02-10 11:57:20 -03:00
chriseth
0b9c842656 Fix abstract without contract. 2020-02-05 12:14:14 +01:00
Daniel Kirchner
d3cbfb0c5c Allow user-defined types as mapping keys in parser and restrict to contracts during type checking. 2020-02-04 17:22:03 +01:00
Erik Kundt
306f6d963d Adds changelog entry for structured AST node introduction. 2020-01-30 18:26:01 +01:00
chriseth
abbedb0819
Update Changelog.md
Co-Authored-By: Erik K <erik@ethereum.org>
2020-01-29 13:49:45 +01:00
chriseth
a6dfb6a4ef Changelog entry about zeroing out memory. 2020-01-29 09:10:09 +01:00
chriseth
c8994d9ee2 Set version to 0.6.3. 2020-01-27 18:57:33 +01:00
chriseth
99202e85ce Polish changelog for 0.6.2. 2020-01-27 09:41:15 +01:00
chriseth
8e7aef63f0 Changelog entry. 2020-01-23 21:20:01 +01:00
Jason Cobb
f492a0a3ef
Update changelog for interface inheritance 2020-01-22 09:40:40 -05:00
Daniel Kirchner
ee5ff4df4e Clean up visibility via contract name and fix ICE on calling unimplemented base function. 2020-01-16 19:13:04 +01:00
chriseth
3d4a2219a6
Merge pull request #8151 from ethereum/fixYulOptSetting
Only activate Yul optimizer if ``--optimize`` is given.
2020-01-16 11:26:38 +01:00
chriseth
b69664e7fd Only activate Yul optimizer if `--optimize` is given. 2020-01-15 18:35:10 +01:00
chriseth
6ab8802601
Merge pull request #8132 from ethereum/drop-lll
Remove the LLL compiler
2020-01-15 15:15:22 +01:00
chriseth
ed87b08911
Merge pull request #8066 from ethereum/removeAsmFlavour
Remove asm flavour
2020-01-15 14:21:54 +01:00
Alex Beregszaszi
09a9099057 Mention in changelog 2020-01-15 13:18:24 +00:00
chriseth
b3fe84a6ea
Merge pull request #7153 from djudjuu/newImportAST
import ast from JSON
2020-01-14 17:56:53 +01:00
chriseth
180344ab17 Changelog entry. 2020-01-14 17:16:25 +01:00
djudjuu
e8556fa1b2 Ast-Import from standard-json 2020-01-14 17:15:53 +01:00
chriseth
4d681fb16d Merge remote-tracking branch 'origin/develop' into HEAD 2020-01-14 16:43:48 +01:00
chriseth
6dbadf692b
Merge pull request #7843 from ethereum/updateEmscriptenWasmTest
Switch to building soljson.js with base64 encoded embedded wasm binary.
2020-01-14 16:35:02 +01:00
Daniel Kirchner
90e494615e Build soljson.js with embedded base64-encoded wasm binary. 2020-01-13 10:51:48 +01:00
Daniel Kirchner
9535c0f520 Introduce FunctionKind::Declaration and allow accessing function signatures via contract name. 2020-01-09 15:40:41 +01:00
chriseth
01dfc512a9 Changelog entry. 2020-01-08 09:57:38 +01:00
chriseth
d1a7ff0fbc
Merge pull request #8008 from ethereum/large-code
Issue warning if codesize exceeds EIP-170 limits
2020-01-08 09:48:59 +01:00
chriseth
12b52ae637
Merge pull request #8096 from ethereum/incrementVersion
Set version to 0.6.2.
2020-01-08 09:19:35 +01:00
Christian Parpart
345f9928ab Library libdevcore renamed to libsolutil. 2020-01-07 15:51:50 +01:00
chriseth
b269eef721 Set version to 0.6.2. 2020-01-03 13:38:17 +01:00
chriseth
385e1bf70a Set release date. 2020-01-03 00:04:01 +01:00
chriseth
42712a78ce Merge branch 'release-0.5' into develop. 2020-01-02 23:49:43 +01:00
chriseth
1c2096a360 Changelog entry. 2020-01-02 18:49:56 +01:00
chriseth
c70bdf2b2c
Merge pull request #8082 from ethereum/fixRedundantContinue
Fix redundant assignment removal in combination with break / continue.
2020-01-02 18:46:26 +01:00
chriseth
c3f43fd1e6 Changelog entry. 2019-12-29 15:53:47 +01:00
Alex Beregszaszi
4d791b2679 Issue warning if codesize exceeds EIP-170 limits 2019-12-25 19:51:35 +01:00
chriseth
c44916cbd5 Changelog entry for try/catch. 2019-12-20 08:29:25 +01:00
Erik Kundt
2c478e85e2 Sets project version to 0.7.0 2019-12-19 12:44:38 +00:00
chriseth
c7f75bd9dc Set version to 0.6.1. 2019-12-18 00:04:39 +01:00
chriseth
1439d43ad6 Changelog for 0.6.0. 2019-12-17 19:48:55 +01:00
chriseth
b6fc703a27 Merge remote-tracking branch 'origin/release' into HEAD 2019-12-17 19:47:59 +01:00
chriseth
6453d80c08 Changelog entry. 2019-12-17 17:08:27 +01:00
Gaith Hallak
371e6a4801 Add function selector to FunctionDefinition AST JSON 2019-12-16 15:16:54 +03:00
Christian Parpart
8682af2216 libsolc: Overhauls memory management. 2019-12-11 15:17:39 +00:00
Alex Beregszaszi
2456c6d503 Update documentation about (reserved) keywords 2019-12-10 17:22:20 +00:00
Alex Beregszaszi
b71a4d6ce3 Sort the changelog 2019-12-10 16:51:59 +00:00
Alex Beregszaszi
e750154074 Some wording fixes in the changelog 2019-12-10 16:50:54 +00:00
chriseth
f6916a637e Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-09 17:16:58 +01:00
chriseth
9c3503834d Fix semver matcher differently. 2019-12-09 15:45:01 +01:00
chriseth
9d2fc7ec8b Sort changelog. 2019-12-09 12:34:21 +01:00
chriseth
ea4b9e2f98 Changelog wording. 2019-12-09 12:33:11 +01:00
chriseth
e061f1e743 Merge remote-tracking branch 'origin/develop' into HEAD 2019-12-05 16:44:26 +01:00
chriseth
1fe1459b7d
Merge pull request #7583 from HenryRLee/issue5081
Version Checker: 0.5.x-prerelease will match `pragma solidity ^0.5` #5081
2019-12-05 14:59:58 +01:00
Mathias Baumann
b7d5de59c5 Implement overridding of functions by public variables 2019-12-05 12:48:52 +00:00
Gaith Hallak
4d90180e24 Support referencing other constants in inline assembly 2019-12-05 13:27:17 +03:00
Daniel Kirchner
8b35918ad0 Replace superFunction by baseFunctions in AST annotations and JSON AST. 2019-12-05 03:33:32 +01:00
Henry Lee
628d219c94 Version Checker: 0.5.x-prerelease will match pragma solidity ^0.5
Basically, the pre-release rule is only applied when all remaining
version numbers equal to 0.
2019-12-05 09:07:20 +11:00
chriseth
42d9a8e962 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-04 17:01:44 +01:00
chriseth
dc79274871 Set default EVM version to Istanbul. 2019-12-04 10:42:14 +01:00
chriseth
bbeb093abf Detect loops in call graph generator. 2019-12-03 21:38:20 +01:00
chriseth
e3ee67da6c
Merge pull request #7792 from ethereum/enableYulOptimizer
Enable yul optimizer by default.
2019-12-03 21:24:22 +01:00
chriseth
2d42da3b7d
Merge pull request #7817 from ethereum/bail-on-shadowing-state-vars
Report error on shadowing state variables
2019-12-03 21:22:39 +01:00
Christian Parpart
7bbdfe070f Make shadowing of inherited state variables an error. 2019-12-03 21:20:03 +01:00
chriseth
2f11ac3590 Merge remote-tracking branch 'origin/develop' into develop_060 2019-12-03 21:17:15 +01:00
chriseth
19a6f09cc8 Merge commit '4d2f20570' into develop_060 2019-12-03 21:01:31 +01:00
chriseth
96d777d7f1 Merge commit 'a7d481fb9' into develop_060 2019-12-03 20:47:30 +01:00
Leonardo Alt
b1577f5e46 [SMTChecker] Fix ICE in array of structs type 2019-12-03 01:12:30 +01:00
Daniel Kirchner
77a9e91443 Enable yul optimizer by default. 2019-12-02 19:30:14 +01:00
chriseth
c61ed0b22d
Merge pull request #7797 from ethereum/allowTranslationInAssemblyMode
Allow EVM to EWasm translation in assembly mode.
2019-12-02 13:15:06 +01:00
Leonardo Alt
5adc2a40b9 [SMTChecker] Fix ICE for arrays and mappings of functions. 2019-11-29 18:06:44 +01:00
Daniel Kirchner
edd80a986d Update emscripten to 1.39.3 2019-11-29 12:55:02 +01:00
chriseth
6499e52a86 Changelog entry. 2019-11-28 16:15:32 +01:00
Leonardo Alt
a352abe00d [SMTChecker] Add support to constructors 2019-11-28 14:43:23 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
mingchuan
db60d123d0 [YulOpt] Implement loop-invariant code motion 2019-11-28 11:59:29 +01:00
Mathias Baumann
7bc6645218 Disallow use of virtual and private together 2019-11-27 18:52:41 +01:00
chriseth
b0db64ff5b Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-26 16:19:35 +01:00
chriseth
41177bc75c
Merge pull request #7770 from ethereum/yul_string_format
[Yul] Format string literals back to quoted string literals
2019-11-26 15:51:54 +01:00
chriseth
0973ae751a Do not warn about enabled ABIEncoderV2 anymore. 2019-11-26 15:49:42 +01:00
Leonardo Alt
ce83bfb088 [Yul] Format string literals back to quoted string literals 2019-11-26 15:28:39 +01:00
Gaith Hallak
4a1e85436b Allow splitting string literals into multiple parts 2019-11-26 14:41:30 +03:00
Alex Beregszaszi
eedfafbbc4 Introduce callback context in libsolc 2019-11-22 11:42:39 +00:00
Leonardo Alt
ddc478e3e4 Add CallbackKind and use it for the SMT solver 2019-11-21 22:10:21 +00:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
chriseth
d5e9271592
Merge pull request #7350 from ethereum/array-length-rvalue
Make `length` member read-only
2019-11-21 19:22:42 +01:00
chriseth
8f2595957b
Merge pull request #7719 from ethereum/librarySignatuŕes
Add selector member to public and external library functions.
2019-11-20 18:43:14 +01:00
Leonardo Alt
389da5228e Merge remote-tracking branch 'origin/develop' into merge_develop_060 2019-11-20 12:27:40 +01:00
chriseth
d696b3c92b
Merge pull request #7743 from ethereum/fixice-7558
Disallow conversion from ``super``
2019-11-19 18:52:33 +01:00
Mathias Baumann
23cad71c88 Disallow conversion from `super` 2019-11-19 17:14:11 +01:00
Erik Kundt
ecaed1030f Makes array length access read-only. 2019-11-19 16:09:21 +01:00
Erik K
94272d44aa
Merge pull request #7745 from ethereum/develop
Merge develop into develop_060
2019-11-19 15:30:31 +01:00
chriseth
6797879128
Merge pull request #7647 from ethereum/virtual-5424
Implement virtual keyword
2019-11-19 13:21:27 +01:00
Leonardo Alt
d818746e0c [SMTChecker] Fix ICE in abi.decode 2019-11-18 13:15:10 +01:00
Daniel Kirchner
a0ae36ba70 Add selector member to public and external library functions. 2019-11-15 16:12:29 +01:00
chriseth
c569a80fb0 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 18:38:18 +01:00
chriseth
8f2a94bdff Set version to 0.5.14. 2019-11-14 18:24:16 +01:00
chriseth
216e1749f4 Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-14 13:42:46 +01:00
chriseth
42338a5964
Merge pull request #7715 from ethereum/prepare0513
Prepare 0.5.13
2019-11-14 13:40:10 +01:00
chriseth
766309b6e4
Merge pull request #7713 from ethereum/no-lib-instance-7625
Disallow variables of library types
2019-11-14 13:39:56 +01:00
Mathias Baumann
0891b9451b Disallow variables of library types 2019-11-14 13:20:31 +01:00
chriseth
7d0b552948 Prepare 0.5.13 2019-11-14 13:20:28 +01:00
chriseth
8d46f39643
Merge pull request #7707 from ethereum/smt_ice_implicit_conversion
[SMTChecker] Fix ICE in string literal to fixed bytes conversion
2019-11-14 11:52:58 +01:00
Mathias Baumann
5b8ff78176 Implement virtual keyword 2019-11-14 11:49:39 +01:00
Leonardo Alt
5f43b8dbeb Output the storage layout of a contract via storageLayout artifact 2019-11-14 10:19:17 +01:00
Leonardo Alt
8efacfb545 [SMTChecker] Fix ICE in string literal to fixed bytes implicit conversion 2019-11-13 22:25:18 +01:00
chriseth
f9b208c85d Sort changelog. 2019-11-13 17:50:10 +01:00
chriseth
c4441bac5b
Merge pull request #7705 from ethereum/list-overloads-7146
List candidates when overload failed
2019-11-13 17:35:37 +01:00
Mathias Baumann
15df2b30d7 List candidates when overload failed
fixes #7146
2019-11-13 15:54:36 +01:00
Leonardo Alt
e3652627fd [SMTChecker] Fix ICE in CHC when function used as argument 2019-11-13 15:11:30 +01:00
djudjuu
e437443645 Inline assembly to AST json export 2019-11-13 12:13:22 +01:00
Daniel Kirchner
ce7268272d Allow obtaining the address of a library by conversion to `address`. 2019-11-12 17:09:13 +01:00
chriseth
2e5a42836c
Merge pull request #7681 from ethereum/develop
Merge develop into develop_060
2019-11-11 16:42:03 +01:00
Leonardo Alt
5dacaf57bc Fix ICE in FixedBytes IndexAccess 2019-11-08 17:29:40 +01:00
chriseth
138ee647f1 Provide different options for reason strings. 2019-11-07 14:13:53 +01:00
chriseth
c0b27d0bc1
Merge pull request #7648 from ethereum/inlineAssemblyShadowing
Error on shadowing and invalid names in inline assembly
2019-11-07 13:31:09 +01:00
Daniel Kirchner
0556f64722 Analyze inline assembly variable declarations for invalid or shadowing names. 2019-11-07 13:04:37 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
Cory Dickson
f9603521a4 Update Changelog.md
author:@erak

Co-Authored-By: Erik K <erik@zirkular.io>
2019-11-06 21:45:15 +01:00
cd10012
16fe59b7b4 Implement @erak review notes by creating function and adding constructor test
Update 060 doc with natspec change

Add two more tests with mixed usage

Fix solc-js

fix changelog
2019-11-06 21:44:59 +01:00
cd10012
f598b1515f Give unamed parameters unique keys and update tests to new spec
Fix whitespace
2019-11-06 21:44:34 +01:00
Leonardo Alt
10e70b8603 [SMTChecker] Support inheritance and resolve overrides 2019-11-06 11:00:06 +01:00
chriseth
587c87b15b Commandline interface additions for webassembly binary. 2019-11-05 20:05:57 +01:00
chriseth
cb2096c82a Add modifier depth to source mappings. 2019-11-05 16:50:38 +01:00
chriseth
62da1877ef Fix changelog from develop. 2019-11-05 14:18:32 +01:00
Leonardo Alt
c5e081dc8c [SMTChecker] Refactor CHC loops and add if blocks 2019-11-05 09:28:59 +01:00
chriseth
46ac16d25c Merge remote-tracking branch 'origin/develop' into develop_060 2019-11-04 19:09:11 +01:00
Leonardo
1eac3d1d83
Merge pull request #7582 from ethereum/smt_multid_array_assignment
[SMTChecker] Support assignments to m-d arrays and mappings
2019-11-04 17:37:33 +01:00
Daniel Kirchner
3321fc56ea Split fallback function and introduce "fallback()" and "receive()" syntax. 2019-11-04 17:17:58 +01:00
Alexander Arlt
569422d2c2 Add Changelog entry. 2019-11-01 14:54:47 -05:00
chriseth
5d6e983be3 Conditional simplifier. 2019-11-01 14:01:56 +01:00
Mathias Baumann
6c6a9054b2 Implement override checking 2019-10-30 17:31:33 +01:00
chriseth
ceb8ee9124 [Yul] leave statement. 2019-10-29 14:32:16 +01:00
Leonardo Alt
8a42e3f87a [SMTChecker] Support assignments to m-d arrays and mappings 2019-10-28 17:27:39 +01:00
chriseth
607bf24afe
Merge pull request #7386 from ethereum/060-strict-inline-assembly
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +01:00
chriseth
07c67b98f6 Merge remote-tracking branch 'origin/develop' into HEAD 2019-10-28 12:12:52 +01:00
Henry Lee
24cbb4dd17 Treat magic variables as unknown identifiers in inline assembly
This fixes #4575. For keywords such as 'super' and 'this', will be
treated as unknown identifiers.
2019-10-28 14:59:50 +11:00
Christian Parpart
99034abcbf ChangeLog: Adds entry changing inline assembly to strict mode. 2019-10-25 15:01:25 +02:00
Mathias Baumann
c3e8023ad5 Fix wrong assert in overflow check 2019-10-23 14:59:34 +02:00
Mathias Baumann
6ac12afd06 Disallow call of same-class-ctor as modifier 2019-10-23 10:29:41 +02:00
Mathias L. Baumann
7e01696030
Merge pull request #7554 from ethereum/develop
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
chriseth
ebfe7391ff Use selfbalance for `address(this).balance`. 2019-10-16 14:25:56 +02:00
chriseth
f884373142 Merge branch 'origin/develop' into develop_060 2019-10-02 16:29:36 +02:00
chriseth
5b9b28fdf0 Set version to 0.5.13 2019-10-01 21:02:23 +02:00
Daniel Kirchner
7202ebb5b2 Fix internal compiler error for arrays of recursive structs. 2019-10-01 16:51:14 +02:00
chriseth
a3dacc4d8b Update changelog for 0.5.12 release. 2019-10-01 15:54:10 +02:00
Christian Parpart
00d7dac15f Fixes source location in warning for shadowing import delcarations. 2019-09-30 11:45:46 +02:00
Christian Parpart
f85f6ba7e0 Fixes doxygen style multiline comment parsing for files with CRLF as line terminators. 2019-09-25 12:59:46 +02:00
chriseth
f3c4f466f6 Merge remote-tracking branch 'origin/develop' into develop_060
Had to adjust gas costs during merge.
2019-09-24 10:28:22 +02:00
Leonardo Alt
43d6e00b14 Add push() for dynamic storage arrays 2019-09-17 13:47:33 +02:00
chriseth
c224b09bb3 Fix reordering bug in optimizer. 2019-09-17 12:33:00 +02:00
chriseth
5b3efee93b
Merge pull request #7442 from ethereum/develop
Merge develop into develop_060
2019-09-17 12:16:27 +02:00
Leonardo Alt
eab9f65610 Fix ICE when pop dyn storage array of mapping 2019-09-16 16:33:17 +02:00
Leonardo Alt
d685554980 Create option for metadata hash 2019-09-13 18:59:12 +02:00
Leonardo Alt
e1c238e25f [SMTChecker] Add loop support 2019-09-13 12:40:53 +02:00
Daniel Kirchner
4782c800ec Initial introduction of array slices with partial implementation for dynamic calldata arrays. 2019-09-13 10:57:53 +02:00
chriseth
acf10ef60f
Merge pull request #7393 from ethereum/develop
Merge develop into 0.6.0
2019-09-10 12:27:02 +02:00
Leonardo Alt
5cfe0b7670 Allow explicit conversion from address to address payable 2019-09-09 23:46:00 +02:00
Christian Parpart
59955bed5d Adds reserved keyword virtual, and adjusting affected tests/docs respectively. 2019-09-09 13:41:43 +02:00
chriseth
a272506a34
Merge pull request #7374 from ethereum/hexStringUnderscores
Allow  underscores in hex strings.
2019-09-09 11:48:46 +02:00
Daniel Kirchner
6f3341a204 Allow underscores in hex strings. 2019-09-06 17:58:35 +02:00
chriseth
9c72f25cce
Merge pull request #7368 from ethereum/errorReporter
Switch to new error reporter.
2019-09-06 15:53:29 +02:00
Daniel Kirchner
793b1890e8 `type field in ABI JSON no longer defaults to function` 2019-09-06 15:35:01 +02:00
Daniel Kirchner
f4d990e5be Drop constant and payable fields from ABI. 2019-09-06 14:42:09 +02:00
Daniel Kirchner
5d69bdf81e Remove ASTPrinter. 2019-09-06 12:38:55 +02:00
Daniel Kirchner
90d5c98272 Switch to new error reporter. 2019-09-06 11:28:36 +02:00
chriseth
fd687f50ff
Merge pull request #7353 from ethereum/develop
Update 0.6.0 from develop
2019-09-04 20:21:37 +02:00
chriseth
edbec012ae Activate load resolver. 2019-09-04 19:16:54 +02:00
krk
33f7f960cf Allow exponentials with signed base and unsigned power. 2019-09-04 17:32:47 +02:00
chriseth
8485a1abec Change ABI sorting order. 2019-09-04 13:06:09 +02:00
chriseth
635f638fde Changelog entry. 2019-09-02 17:41:51 +02:00
chriseth
c499758cd8
Merge pull request #7326 from ethereum/develop
Merge develop into 0.6.0 branch.
2019-09-02 16:11:20 +02:00
Daniel Kirchner
c5eedc9e0b Changelog entry. 2019-09-02 12:01:09 +02:00
chriseth
e86b5cf14e Replace byte(A, X) by zero if A >= 32 2019-08-29 15:35:34 +02:00
Daniel Kirchner
9f6fff2120 Replace casting of external functions to address by a member named "address". 2019-08-19 14:56:04 +02:00
Erik K
d3ea86b052
Merge pull request #7270 from ethereum/develop
Update develop_060 from develop
2019-08-16 13:15:24 +02:00
Leonardo Alt
1a70a46f9b [CHC] Add function blocks and check asserts 2019-08-15 12:25:15 +02:00
chriseth
acd4a1e3a6 Merge remote-tracking branch 'origin/develop' into develop_060 2019-08-15 12:19:43 +02:00
Daniel Kirchner
b0a5666b43 Better error messages when writing to expressions that cannot be written to. 2019-08-14 17:59:48 +02:00
Erik Kundt
f1da0f7ae9 Prepares 0.6.0 changelog and documentation. 2019-08-14 16:15:59 +02:00
chriseth
445376ef7c Set version to 0.5.12. 2019-08-13 00:18:10 +02:00
chriseth
755365396e Prepare changelog for release. 2019-08-12 14:49:35 +02:00
Leonardo Alt
360f868836 [SMTChecker] Fix literal string type mismatch 2019-08-10 21:51:46 +02:00
Leonardo Alt
4214cd1354 [SMTChecker] Fix ICE when reporting cex concerning state vars from different source files 2019-08-10 20:56:52 +02:00
Leonardo Alt
7b22496b1f [SMTChecker] Fix ICE when inlining functions that use state vars and are in a different source 2019-08-09 17:50:52 +02:00
mingchuan
15631a7fbe Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages. 2019-08-08 15:52:21 +02:00
chriseth
6166dc8e8f
Merge pull request #6856 from rocky/recoveringParser1-ast
Produce AST even when there are parser errors
2019-08-07 15:56:45 +02:00
chriseth
c8f04b88bf
Merge pull request #7176 from ethereum/decodeMemoryLocation
Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode
2019-08-07 15:42:14 +02:00
rocky
7fd7cc1e76 Produce AST even when there are parser errors 2019-08-07 15:25:53 +02:00
Daniel Kirchner
efb34bdf22 Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode. 2019-08-06 14:11:14 +02:00
Leonardo
cd563e526a
Merge pull request #7122 from sifmelcara/expression-inliner-avoid-dup-expr
[Yul] ExpressionInliner: avoid duplicating expressions
2019-08-06 11:08:38 +02:00
Leonardo Alt
369f8cd97f [SMTChecker] CHC create function return variables 2019-08-05 12:36:51 +02:00
Leonardo
11632966c9
Merge pull request #7171 from ethereum/smt_fix_compound_bitwise
[SMTChecker] Fix ICE compound bitwise op inside branch
2019-08-05 12:15:01 +02:00
mingchuan
46387eaea2 [Yul] ExpressionInliner: avoid duplicating high cost expressions 2019-08-05 11:48:32 +02:00
Leonardo Alt
d5fb8cf58a [SMTChecker] Fix ICE compound bitwise op inside branch 2019-08-02 20:02:39 +02:00
Leonardo Alt
7b5863e583 Do not erase knowledge about storage pointers when another pointer is assigned 2019-08-02 13:09:06 +02:00
Leonardo Alt
44d7c6976a Erase pointer knowledge properly inside loops 2019-07-30 12:47:50 +02:00
Leonardo Alt
847f574e22 [SMTChecker] Fix ICE when inlining function with tuple expression 2019-07-26 16:29:29 +02:00
chriseth
a30be56c27 Additional type info for ABI. 2019-07-18 16:54:11 +02:00
chriseth
a0a0a34a21 Do not overwrite allowMSizeOptimization 2019-07-16 10:13:18 +02:00
chriseth
2a5280faa0 Check availability of data objects already in analysis phase. 2019-07-10 18:49:42 +02:00
chriseth
d3e542d32c Provide secondary source location for error messages in standard json. 2019-07-04 10:54:01 +02:00
chriseth
b837705259
Merge pull request #7018 from ethereum/compile_only_requested
Compile only requested sources and contracts
2019-07-03 14:11:42 +02:00
chriseth
2b91022b25 Fix view/pure checker for access to base. 2019-07-03 11:19:57 +02:00
Leonardo Alt
358368cd0c Tests for output selection 2019-07-03 09:58:55 +02:00
chriseth
cdd137e3d1 Support constant numbers in inline assembly. 2019-07-02 14:01:05 +02:00
Leonardo Alt
6f8fd309a2 Compile only requested sources and contracts 2019-07-01 18:52:21 +02:00
chriseth
89f0e1e6da Use updated swarm hash. 2019-06-27 12:49:06 +02:00
chriseth
edf62e4d2b Changelog entry. 2019-06-25 19:07:38 +02:00
chriseth
461b566603 Set version to 0.5.11. 2019-06-25 19:03:51 +02:00
chriseth
a03687ccfa Prepare changelog for 0.5.10 release. 2019-06-25 14:28:22 +02:00
chriseth
04fe3c070d Changelog and bug list entry. 2019-06-25 13:00:21 +02:00
chriseth
1388ffaeee Sort changelog. 2019-06-24 14:41:58 +02:00
chriseth
9bb7160c4c
Merge pull request #6958 from sifmelcara/fix-abiencoderv2-codegen
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-20 13:08:42 +02:00
chriseth
8edf9e4baf
Merge pull request #6666 from vedant1811/issue-5405
Group function definitions
2019-06-19 18:03:40 +02:00
Vedant Agarwala
5d6cbd97df [Yul] Directly jump over a series of function definitions
Implement a AbstractAssembly::setStackHeight function
Update the tests
Update Changelog
2019-06-19 12:40:11 +08:00
mingchuan
bfe074b2b1
Fix storage array abi encoding
Fix incorrect abi encoding of storage array of data type that occupy multiple storage slots
2019-06-19 10:46:05 +08:00
chriseth
6cb6fe35ef Make Yul optimizer not fail for wasm. 2019-06-17 18:42:47 +02:00
rocky
ca3afea1d7 Add Steve Johnson-style parser recovery rules:
SourceUnit = Error $
    Block = '{' Error '}'
    ContractDefinition = '{' Error '}'
    Statement = Error ';'

Co-Authored-By: chriseth <chris@ethereum.org>
2019-06-17 14:47:07 +02:00
Daniel Kirchner
7f322c9433 Add optimization rule SUB(~0, X) -> NOT(X). 2019-06-14 14:07:46 +02:00
Daniel Kirchner
4d38df6920 Set state mutability of function type members `gas and value` to pure. 2019-06-13 18:27:53 +02:00
Daniel Kirchner
a4dfaac53d Changlelog entry. 2019-06-07 10:45:01 +02:00
Daniel Kirchner
6368cd4c82 AsmParser: disallow trailing commas in function call arguments. 2019-06-06 13:16:27 +02:00
Daniel Kirchner
5677bedf34 Require gcc >= 5.0. 2019-06-05 11:57:06 +02:00
Daniel Kirchner
9f5340fa53 Try to find Z3 using CONFIG_MODE before manual search. 2019-06-04 15:58:03 +02:00
chriseth
d5b121e762
Merge pull request #6859 from ethereum/incrementVersion0510
Set version to 0.5.10
2019-05-28 20:38:31 +02:00
chriseth
4ee703e6e5 Revert "Add Steve Johnson-style parser recovery rules:"
This reverts commit 97f8ee0d1b.
2019-05-28 18:09:24 +02:00
chriseth
feab4065c3 Set version to 0.5.10 2019-05-28 17:31:06 +02:00