Leonardo
|
a097f9f124
|
Merge pull request #10025 from ethereum/smt_crypto_functions
[SMTChecker] Support crypto functions in CHC
|
2020-10-16 16:40:29 +01:00 |
|
Leonardo
|
8d7bdcaba7
|
Merge pull request #10036 from ethereum/smt_cli_option
Add CLI option to choose model checker engine
|
2020-10-16 16:37:33 +01:00 |
|
Martin Blicha
|
78c8fbc7ce
|
[SMTChecker] encoding division and modulo operations using slack variables
|
2020-10-16 16:06:31 +02:00 |
|
Leonardo Alt
|
4e49135318
|
Add CLI option to choose model checker engine
|
2020-10-16 15:01:47 +01:00 |
|
Leonardo Alt
|
54f76e081a
|
[SMTChecker] Support crypto functions in CHC
|
2020-10-16 14:57:13 +01:00 |
|
Djordje Mijovic
|
5f0b8dd716
|
[Sol->Yul] Changing yul unimplemented test as delete bytes is implemented now.
|
2020-10-15 22:05:40 +02:00 |
|
Djordje Mijovic
|
4a66723ff9
|
[Sol->Yul] Implementing resizing of dynamic byte arrays
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-10-15 22:05:35 +02:00 |
|
chriseth
|
c9ed1b9ae9
|
Merge pull request #10047 from ethereum/removeMemoryGuards
Disable StackLimitEvader again until we have stronger correctness guarantees.
|
2020-10-15 18:56:33 +02:00 |
|
chriseth
|
89bdad2096
|
Merge pull request #10043 from ethereum/emptyArrayCopy
Fix empty array copy bug.
|
2020-10-15 17:07:54 +02:00 |
|
chriseth
|
38abadf502
|
Fix empty array copy bug.
|
2020-10-15 16:48:08 +02:00 |
|
Daniel Kirchner
|
82876fd00e
|
Disable StackLimitEvader again until we have stronger correctness guarantees.
|
2020-10-15 16:16:41 +02:00 |
|
chriseth
|
e17d6853a9
|
Merge pull request #9985 from ethereum/optimizeDeleteStructSol2Yul
[Sol->Yul] Optimizing delete struct.
|
2020-10-15 16:03:06 +02:00 |
|
Daniel Kirchner
|
20072918d9
|
Make sure lValueOfOrdinaryAssignment does not have an undefined value.
|
2020-10-14 21:00:18 +02:00 |
|
Djordje Mijovic
|
6f7947cfa5
|
[Sol->Yul] Optimizing delete struct.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
|
2020-10-14 13:35:15 +02:00 |
|
chriseth
|
25b10b9643
|
Merge pull request #10028 from ethereum/useArrayLength
Use array length function.
|
2020-10-14 13:35:09 +02:00 |
|
chriseth
|
92a2cddbfa
|
Merge pull request #10024 from ethereum/outofBoundsGetter
Use revert for out-of-bounds array index access in getter.
|
2020-10-14 12:33:41 +02:00 |
|
chriseth
|
a737e51533
|
Use array length function.
|
2020-10-14 12:22:34 +02:00 |
|
chriseth
|
56d6855222
|
Merge pull request #9738 from ethereum/arrayCopyingSol2Yul
[Sol->Yul] Implementing copying of arrays to storage
|
2020-10-14 12:22:09 +02:00 |
|
chriseth
|
8d241fece9
|
Merge pull request #9849 from ethereum/fixIce9817
Fixing ICE on returning struct with mapping from library
|
2020-10-14 00:05:19 +02:00 |
|
Leonardo Alt
|
440e5b3935
|
[SMTChecker] Fix counterexample state reporting
|
2020-10-13 22:18:43 +01:00 |
|
Djordje Mijovic
|
850a94bdc9
|
[Sol->Yul] Implementing arrays copying to storage.
Co-authored-by: chriseth <chris@ethereum.org>
|
2020-10-13 20:31:08 +02:00 |
|
Djordje Mijovic
|
1272c474ba
|
Fixing ICE when returning Struct from library
|
2020-10-13 20:00:11 +02:00 |
|
chriseth
|
5dc3a971cb
|
Use revert for out-of-bounds array index access in getter.
|
2020-10-13 18:57:41 +02:00 |
|
Leonardo Alt
|
aec456021d
|
Add tx constraints to CHC
|
2020-10-13 17:49:04 +01:00 |
|
Leonardo Alt
|
a2cdde1191
|
Add tx data to symbolic state
|
2020-10-13 17:49:04 +01:00 |
|
Leonardo
|
8fd6de9403
|
Merge pull request #10014 from ethereum/smt_fix_predicagte
[SMTChecker] Fix implicit constructor summary predicate
|
2020-10-13 14:55:52 +01:00 |
|
Mathias Baumann
|
32b4f18023
|
Print warning for unnamed return parameters and no return statement
|
2020-10-13 13:11:29 +02:00 |
|
Leonardo Alt
|
1e568d7dc6
|
[SMTChecker] Fix implicit constructor summary predicate
|
2020-10-13 09:38:58 +01:00 |
|
chriseth
|
abfa136afb
|
Merge pull request #10012 from ethereum/extractSelectorFunction
Extract function to compute function selector from signature.
|
2020-10-12 20:32:05 +02:00 |
|
chriseth
|
4b342a7cad
|
Merge pull request #9816 from ethereum/exp-base-literals
[Sol->Yul] Optimization for exponentiation when the base is a literal
|
2020-10-12 19:34:38 +02:00 |
|
Harikrishnan Mulackal
|
418aa01c5b
|
Optimization for exponentiation when the base is a literal
|
2020-10-12 18:54:58 +02:00 |
|
chriseth
|
cb0d1134b7
|
Extract function to compute function selector from signature.
|
2020-10-12 17:57:34 +02:00 |
|
Djordje Mijovic
|
e23d8f5593
|
[SMTChecker] Supporting inline arrays.
|
2020-10-12 16:59:14 +02:00 |
|
Kamil Śliwak
|
e1cc888369
|
Fix checkBaseABICompatibility() to make it actually check return parameters and not just ordinary parameters twice
|
2020-10-12 15:14:56 +02:00 |
|
Kamil Śliwak
|
3128e82a9a
|
Look for experimental pragmas in the module containing the definition when generating code for modifiers and inherited functions
|
2020-10-12 14:29:53 +02:00 |
|
chriseth
|
1a125cf755
|
Merge pull request #10006 from ethereum/bug-9229-fix
Fixes internal compiler error with an unused reference to module member.
|
2020-10-12 13:43:35 +02:00 |
|
Leonardo Alt
|
18cf01c187
|
Add this and state to CHC
|
2020-10-12 11:11:52 +01:00 |
|
Leonardo Alt
|
a86f656704
|
Refactor state as tuple
|
2020-10-12 11:11:52 +01:00 |
|
Christian Parpart
|
712d0805eb
|
Fixes internal compiler error with an unused reference to module member.
|
2020-10-12 11:56:01 +02:00 |
|
chriseth
|
3739b03af6
|
Merge pull request #9877 from a3d4/fix-homonymous-declarations-warnings
Fix shadowing/same-name warnings for later declarations
|
2020-10-08 22:27:15 +02:00 |
|
a3d4
|
90c8c32d86
|
If a declaration shadows several others, group them together
|
2020-10-08 21:01:25 +02:00 |
|
chriseth
|
ca86eacfb2
|
Remove traces of errors due to shifts by negative amounts.
|
2020-10-08 20:24:53 +02:00 |
|
a3d4
|
f29ebc0847
|
Fix shadowing/same-name warnings for later declarations
|
2020-10-08 20:22:04 +02:00 |
|
chriseth
|
2d1bd03a98
|
Merge pull request #9994 from ethereum/revertOnFailingReadFromCalldata
Revert on failing read from calldata.
|
2020-10-08 20:11:45 +02:00 |
|
chriseth
|
3970c4e57d
|
Merge pull request #9892 from ethereum/constantsAtFileLevel
Constants at file-level.
|
2020-10-08 19:53:33 +02:00 |
|
chriseth
|
8b96d17cb5
|
Revert on failing read from calldata.
|
2020-10-08 19:43:16 +02:00 |
|
chriseth
|
f8d5c4db36
|
Merge pull request #9843 from ethereum/deleteStructSol2Yul
[Sol->Yul] Implementing delete struct
|
2020-10-08 19:08:40 +02:00 |
|
chriseth
|
b2be8e1c0f
|
Fix module member access.
|
2020-10-08 18:56:17 +02:00 |
|
chriseth
|
346fe1c6c5
|
Constants at file-level.
|
2020-10-08 18:56:17 +02:00 |
|
chriseth
|
21dee1c8ba
|
Check for circular constants across contracts.
|
2020-10-08 18:56:17 +02:00 |
|
chriseth
|
2d9479b06c
|
Properly set scope.
|
2020-10-08 18:56:17 +02:00 |
|
chriseth
|
b5a08f8641
|
Merge pull request #9958 from a3d4/fix-ice-storage-parameters-in-libraries
Fix ICE caused by storage parameters with nested mappings in libraries
|
2020-10-08 17:17:09 +02:00 |
|
Djordje Mijovic
|
ad8d840ee7
|
[Sol->Yul] Implementing conversion of struct to struct pointer.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
|
2020-10-08 16:37:57 +02:00 |
|
Djordje Mijovic
|
700390a68b
|
[Sol->Yul] Implementing deleting storage structs
|
2020-10-08 15:27:33 +02:00 |
|
Djordje Mijovic
|
3ede1f1bca
|
Adding support for recursive functions in MultiUseYulFunctionCollector
|
2020-10-08 15:27:33 +02:00 |
|
chriseth
|
fd6196af16
|
Copying of arrays from storage to memory.
|
2020-10-08 15:16:13 +02:00 |
|
a3d4
|
d7b4b4a7aa
|
Fix ICE caused by storage parameters with nested mappings in libraries
|
2020-10-07 22:07:57 +02:00 |
|
Mathias Baumann
|
6114cd8e8e
|
Add missing annotation assignments
|
2020-10-07 14:52:35 +02:00 |
|
Christian Parpart
|
99d48348de
|
Eliminate dead ASTReduce.
|
2020-10-07 13:38:46 +02:00 |
|
Christian Parpart
|
04079bff6f
|
Eliminates dead code around GasEstimator
- structuralEstimation()
- breakToStatementLevel()
|
2020-10-07 13:31:40 +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
|
25d408058b
|
Merge pull request #9954 from ethereum/issue-9948
Remove unneeded assert
|
2020-10-06 16:50:14 +02:00 |
|
Harikrishnan Mulackal
|
1bdbc10110
|
Properly cleanup after copying dynamic-array to storage for packed types
|
2020-10-06 16:06:02 +02:00 |
|
Djordje Mijovic
|
818afcbec2
|
[Sol->Yul] Implementing push for nested storage arrays and storage arrays of structs.
|
2020-10-06 13:06:40 +02:00 |
|
Mathias Baumann
|
6af16469e7
|
Remove unneeded assert
An error will trigger later in the name resolve phase
|
2020-10-05 13:01:11 +02:00 |
|
Alex Beregszaszi
|
7417965ae3
|
Merge pull request #9945 from ethereum/fix-storage-typo
Fix typo: storage
|
2020-10-02 13:25:27 +01:00 |
|
Harikrishnan Mulackal
|
7773bb3bd0
|
Fix typo: storage
|
2020-10-02 11:44:10 +02:00 |
|
Alex Beregszaszi
|
fedbea46cd
|
[SMTChecker] Support type conversions
|
2020-10-02 10:26:02 +02:00 |
|
Leonardo
|
87e1934bee
|
Merge pull request #9885 from ethereum/smt_array_slices
[SMTChecker] Support array slices
|
2020-10-01 18:12:57 +02:00 |
|
chriseth
|
e5771efdf8
|
Merge pull request #9905 from ethereum/deleteArrayPackedSol2Yul
[Sol->Yul] Implementing deleting of storage array of types that are packed in storage
|
2020-10-01 16:50:57 +02:00 |
|
Leonardo Alt
|
c8cc73c80c
|
Support array slices
|
2020-10-01 11:52:02 +02:00 |
|
Djordje Mijovic
|
aa23ebc8e6
|
[Sol->Yul] Implementing array resizing for packed array types.
|
2020-10-01 10:25:00 +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
|
fd02ccc68c
|
Implemented events with indexed function as parameter in Yul
|
2020-09-30 12:11:39 +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 |
|
chriseth
|
2037b7d6b8
|
Merge pull request #9820 from ethereum/new-annotation-field-virtual
Add annotation field ``requiresVirtualLookup``
|
2020-09-29 15:33:54 +02:00 |
|
Leonardo Alt
|
352cce5fc8
|
[SMTChecker] Support addmod and mulmod.
|
2020-09-29 12:45:19 +02:00 |
|
Leonardo
|
7540ae4b3a
|
Merge pull request #9777 from ethereum/smt_refactor_predicate_instances
[SMTChecker] Refactor CHC predicate instances
|
2020-09-29 10:35:37 +02:00 |
|
Harikrishnan Mulackal
|
d23aff4cbb
|
Merge pull request #9918 from ethereum/isStateScopeCheck
Make isStateVariable regular scope check.
|
2020-09-29 09:33:03 +02:00 |
|
chriseth
|
cb82d8239c
|
Make isStateVariable regular scope check.
|
2020-09-28 19:31:54 +02:00 |
|
chriseth
|
8687b9a3dc
|
Merge pull request #9903 from a3d4/refactor-warnonshadow
Simplify DeclarationRegistrationHelper
|
2020-09-28 19:28:34 +02:00 |
|
Mathias Baumann
|
8584c98b6a
|
Add annotation field `requiresVirtualLookup `
|
2020-09-28 17:36:23 +02:00 |
|
Leonardo Alt
|
fa7c9a0dc6
|
Simplify internal function calls
|
2020-09-28 15:31:15 +02:00 |
|
a3d4
|
9b740b03ff
|
Simplify DeclarationRegistrationHelper
|
2020-09-28 13:21:57 +02:00 |
|
Leonardo Alt
|
3519b38055
|
Move predicate functions from CHC to PredicateInstance
|
2020-09-28 12:43:19 +02:00 |
|
Leonardo Alt
|
ac93ee1d08
|
Move error flag from CHC to SymbolicState
|
2020-09-28 12:37:57 +02:00 |
|
chriseth
|
9115100f2a
|
Merge pull request #9909 from ethereum/fix-9890
Fix missing annotation settings because of early return
|
2020-09-28 12:27:43 +02:00 |
|
Mathias Baumann
|
76bb2cafe9
|
Fix missing annotation settings because of early return
|
2020-09-28 12:12:44 +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 |
|
Leonardo Alt
|
e6bd18525b
|
[SMTChecker] Add engine prefix to verification target error messages
|
2020-09-25 19:09:06 +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
|
57e1b2cb92
|
Merge pull request #9881 from ethereum/smt_fixed_bytes_index_access
[SMTChecker] Support fixed bytes index access
|
2020-09-25 11:32:56 +02:00 |
|
Leonardo Alt
|
df8c6d94e3
|
[SMTChecker] Support fixed bytes index access
|
2020-09-25 09:59:38 +02:00 |
|
chriseth
|
d52b3839e2
|
Merge pull request #9882 from ethereum/invalidOnErrorYul
[SolYul] Use invalid opcode for internal errors
|
2020-09-24 19:37:44 +02:00 |
|