chriseth
04d83af1d2
Merge pull request #10492 from ethereum/arrayClearingDiffBaseSol2Yul
...
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-22 15:15:03 +01:00
Martin Blicha
d90b9da4f0
[SMTChecker] Refactoring
2020-12-22 13:10:48 +01:00
chriseth
0437ee7ad9
Fix length check when decoding error data.
2020-12-22 11:08:44 +01:00
chriseth
b965446182
Catch panic.
2020-12-22 11:08:44 +01:00
Đorđe Mijović
b78443ac75
Merge pull request #10577 from ethereum/deleteMappingSol2Yul
...
[Sol->Yul] Skipping mapping types when deleting structs and arrays.
2020-12-21 20:08:51 +01:00
Leonardo
a48106ca1f
Merge pull request #10670 from blishko/smt-virtual-modifiers-fix
...
[SMTChecker] Fix virtual modifier called statically
2020-12-21 18:05:02 +01:00
Djordje Mijovic
adb9d0c41a
[Sol->Yul] Fixing array clearing when copying from storage to storage.
2020-12-21 17:33:06 +01:00
Djordje Mijovic
2d5a2c65a8
[Sol->Yul] Implementing getters for bytes and structs containing bytes member.
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-12-21 14:46:06 +01:00
Martin Blicha
87ef0e16f5
[SMTChecker] Fix virtual modifier called statically
2020-12-21 13:52:28 +01:00
Djordje Mijovic
9b8634f2a7
[Sol->Yul] Skipping mapping types when deleting structs and arrays.
2020-12-21 13:19:25 +01:00
Leonardo
158154bac3
Merge pull request #10345 from ethereum/ir-runtime
...
Output runtime object in IR
2020-12-18 17:19:40 +01:00
Alex Beregszaszi
7e20a095a8
Merge pull request #10652 from ethereum/smt_constants_inplce
...
[SMTChecker] Replace constants by their value in-place
2020-12-18 14:22:32 +00:00
chriseth
c4ade1753e
Merge pull request #10445 from ethereum/modifiers
...
[Sol->Yul] Implement function modifiers.
2020-12-18 14:29:00 +01:00
Leonardo Alt
034d1ab90f
[SMTChecker] Replace constants by their value in-place
2020-12-18 14:22:28 +01:00
Alex Beregszaszi
b14a6a10cc
Report meaningful error if parsing a version pragma failed
2020-12-18 11:50:37 +00:00
Martin Blicha
7078e8f8f8
[SMTChecker] Fix analysis of overriding modifiers
2020-12-17 17:05:54 +01:00
chriseth
35908c602b
Modifiers for constructors.
2020-12-17 17:00:51 +01:00
chriseth
ccaa81fbe7
Implement function modifiers.
2020-12-17 17:00:51 +01:00
Leonardo Alt
2cbf33ca1c
SMTChecker support ABI functions as UFs
2020-12-17 14:03:17 +01:00
Alex Beregszaszi
953d18c6cb
Output runtime object in IR
2020-12-16 19:23:10 +00:00
Leonardo Alt
f5c96ea6da
Fix constant evaluation build
2020-12-16 17:59:00 +01:00
chriseth
3a23df6717
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-16 16:56:45 +01:00
Leonardo Alt
80e85b772b
[SMTChecker] Apply const eval to arithmetic binary expressions
2020-12-16 14:58:00 +01:00
Alex Beregszaszi
cad4f74012
Unary minus is not implemented for fixed point type
2020-12-15 18:02:10 +00:00
hrkrshnn
2fb191175b
Disallow some explicit conversions to address payable
...
The following explicit conversions are disallowed:
1. uint160 -> address payable
2. bytes20 -> address payable
3. literals -> address payable (payable(0) is an exception)
2020-12-15 15:01:40 +01:00
chriseth
ffaf40950a
Merge pull request #10605 from ethereum/develop
...
Merge develop into breaking.
2020-12-15 14:01:01 +01:00
chriseth
2a54079d41
Merge pull request #10575 from ethereum/calldataArraySlices
...
Conversion of calldata array slices to memory
2020-12-15 12:21:33 +01:00
Martin Blicha
e2c27b8ea4
[SMTChecker] Fix internal error on constructor of a recursive struct
2020-12-15 09:53:52 +01:00
Djordje Mijovic
64f0120622
Change assertions to align to TypeChecker.
2020-12-15 09:21:50 +01:00
Martin Blicha
71f835b71b
[SMTChecker] Fixed internal error when increment/decrement is applied on a result of push().
2020-12-14 22:52:44 +01:00
Djordje Mijovic
8aa4568b10
[Sol->Yul] Implementing conversion from calldata slices to memory arrays.
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-12-14 22:21:37 +01:00
Djordje Mijovic
b99a74fb34
Implementing conversion from calldata slices to memory arrays.
2020-12-14 22:21:37 +01:00
Djordje Mijovic
0efd52a38e
Allowing implicit conversion from calldata slice to memory and storage array types.
2020-12-14 22:21:37 +01:00
hrkrshnn
f30c7cbac8
All explicit address conversions return a non-payable address
2020-12-14 18:41:27 +01:00
Martin Blicha
103fa3b7eb
[SMTChecker] Fix internal error on abstract modifier
2020-12-14 18:23:25 +01:00
Martin Blicha
27402781c4
[SMTChecker] Fixed crash on push to bytes on lhs of an assignment
2020-12-14 17:40:45 +01:00
hrkrshnn
e1a95cfd42
Disallow conversions from literals to payable address
...
To get a payable address, one has to go through address. For example, `payable(address(0))`.
2020-12-14 16:55:48 +01:00
hrkrshnn
9bd778d728
Make msg.sender and tx.origin have type address
...
Previously both of them had type address payable. The idea is that anything that is not know to be
payable should be non-payable.
2020-12-14 16:55:48 +01:00
Martin Blicha
0be325dc0d
[SMTChecker] Fix handling of function calls where the function identifier is nested in a tuple.
2020-12-14 16:19:24 +01:00
chriseth
e1e1337aca
Move functions into anonymous namespace.
2020-12-14 14:18:03 +01:00
chriseth
28374447d2
Merge pull request #10582 from ethereum/addr-literal
...
Fix crash with oversized address literals
2020-12-14 12:14:28 +01:00
chriseth
561280a5cc
Merge remote-tracking branch 'origin/develop' into breaking
2020-12-14 11:33:40 +01:00
Alex Beregszaszi
33ff2b16ff
Fix crash with oversized address literals
2020-12-11 23:45:23 +00:00
Leonardo
db9aa36d6c
Merge pull request #10567 from blishko/unary-operators-fix
...
[SMTChecker] Fix CHC analysis of increment/decrement
2020-12-11 18:52:12 +01:00
Leonardo
da9cede0fe
Merge pull request #10348 from ethereum/simplify-compiler
...
Simplify abstraction of Compiler/CompilerContext/CompilerStack
2020-12-11 17:42:36 +01:00
Martin Blicha
8927015e5a
[SMTChecker] Adding unary increment and decrement as under/overflow verification targets for the CHC engine
2020-12-11 17:41:50 +01:00
Alex Beregszaszi
bcaefb57b8
Add evmAssembly and evmRuntimeAssembly pointer in CompilerStack
...
This is a preparation for allowing those outputs to be served from the IR too
2020-12-11 14:53:29 +00:00
Alex Beregszaszi
98d8174d31
Simplify Compiler/CompilerContext by removing extra layers of indirection
2020-12-11 14:43:51 +00:00
chriseth
baaf7c0db8
Implement address(...).code in the IR
2020-12-11 03:00:30 +00:00
Alex Beregszaszi
7b347b9ec2
Introduce address(...).code
2020-12-11 03:00:30 +00:00