Commit Graph

4612 Commits

Author SHA1 Message Date
Christian Parpart
257672e56f Extract file reading logic from CommandLineInterface into FileReader class. 2021-04-06 17:10:43 +02:00
Christian Parpart
3490577140 Extract import-file remapping logic out of CompilerStack into ImportRemapper. 2021-04-06 14:28:53 +02:00
Christian Parpart
30588a90eb CompilerStack: assemblyString doesn't need to receive sourceCodes map as copy. 2021-04-06 14:28:01 +02:00
chriseth
98a8640928
Merge pull request #11203 from anurag-git/issue_10738-1
Use range-v3 loops (reverse, keys, values)
2021-04-01 12:19:40 +02:00
anurag4u80
bbcdddeed9 Replaced keys, values and reverse with ranges 2021-03-31 23:33:04 +05:30
Martin Blicha
330fb8f4d0 [SMTChecker] Assignment refactoring 2021-03-31 13:36:50 +02:00
Leonardo
78d94737a4
Merge pull request #11188 from blishko/issue-11181
[SMTChecker] Fix crash when analysing try-catch clauses with function call.
2021-03-31 11:24:36 +02:00
Mathias Baumann
e590a99f39 Detect circular references for library and free functions 2021-03-30 23:06:30 +02:00
chriseth
79d7466e19 NatSpec for errors. 2021-03-30 21:16:58 +02:00
chriseth
517cd17a6f Add errors to the ABI. 2021-03-30 21:16:58 +02:00
chriseth
e877e2bba7 Use all referenced errors. 2021-03-30 21:15:46 +02:00
chriseth
1057fd5355 Take revert statement into account in control flow graph. 2021-03-30 21:15:46 +02:00
chriseth
d5669696d5 Code generation for errors. 2021-03-30 21:15:46 +02:00
chriseth
b552e5aeeb AST import and export for revert statement. 2021-03-30 21:15:46 +02:00
chriseth
fb67051467 Revert statement. 2021-03-30 21:15:46 +02:00
chriseth
b04b189959 Syntax for custom errors. 2021-03-30 21:15:18 +02:00
Martin Blicha
2d231f1859 [SMTChecker] Changed SMTEncoder::mergeVariables to work regardless which branch has been visited first 2021-03-30 20:35:44 +02:00
Leonardo Alt
ba97d6ac4e Add local vars to cex 2021-03-30 17:55:21 +02:00
Leonardo Alt
dbd067d6db Report out of bounds index access 2021-03-30 10:28:48 +02:00
chriseth
bb49bc5892
Merge pull request #10418 from ethereum/function-specializer
Function specializer
2021-03-29 15:48:01 +02:00
hrkrshnn
45a3747701 Added FunctionSpecializer to the optimization suite 2021-03-29 11:02:18 +02:00
Leonardo Alt
d1db41a5c8 Fix target warning order nondeterminism 2021-03-26 12:13:52 +01:00
Martin Blicha
85358dfe30 [SMTChecker] Do not create targets for contracts that cannot be deployed 2021-03-25 15:38:37 +01:00
Leonardo
7e1be52281
Merge pull request #11165 from blishko/smt-abi-no-args
[SMTChecker] Fix ICE on ABI functions with no arguments
2021-03-25 15:21:57 +01:00
Alex Beregszaszi
e071884bbf Show proper error for misusing the custom natspec tag 2021-03-25 12:45:37 +00:00
Martin Blicha
5293f05ee3 [SMTChecker] Fix ICE on ABI functions with no arguments 2021-03-25 13:28:29 +01:00
chriseth
4080748b1d
Merge pull request #11157 from ethereum/extractReferencedDeclaration
Extract referencedDeclaration as helper.
2021-03-25 11:02:20 +01:00
chriseth
99fcf62736 Extract referencedDeclaration as helper. 2021-03-24 17:01:50 +01:00
Martin Blicha
98446782e2 [SMTChecker] Fix compound assignment to push 2021-03-24 14:54:13 +01:00
Leonardo
13d3b35141
Merge pull request #11116 from blishko/issue-10985
[SMTChecker] Handle InaccessibleDynamicType
2021-03-24 14:39:24 +01:00
Martin Blicha
852e877ae7 [SMTChecker] Handle InaccessibleDynamicType 2021-03-24 11:53:06 +01:00
Djordje Mijovic
4e75c6c3e8 Implementing bytes.concat for legacy codegen. 2021-03-24 11:49:21 +01:00
Djordje Mijovic
80866d3ee4 [Sol->Yul] Implementing bytes.concat in IR codegen.
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2021-03-24 11:49:21 +01:00
Djordje Mijovic
840df80dac Check if all types in bytes.concat are fixed bytes or byte array. 2021-03-24 11:49:21 +01:00
Djordje Mijovic
1493326e48 Adding bytes.concat function type. 2021-03-24 11:49:21 +01:00
chriseth
d15ba987d1 Fix AST output if modifier invocation is base constructor call. 2021-03-24 11:24:26 +01:00
Martin Blicha
e0b7c2c125 Fix compilation on develop 2021-03-24 09:40:02 +01:00
chriseth
e3ea5c631e
Merge pull request #11136 from ethereum/refactor-typepointer
Replace `TypePointer` with `Type const*`
2021-03-23 18:32:38 +01:00
Mathias Baumann
e197ebbdd1 Replace TypePointer with Type const* 2021-03-23 11:47:19 +01:00
Mathias Baumann
bccedf791b Add creationCode/runtimeCode contract creation detection to call graph 2021-03-22 15:44:23 +01:00
Leonardo
25b31111df
Merge pull request #11040 from ethereum/smt_fix_virtual_one_more_time
[SMTChecker] Fix bug in virtual functions called by constructor
2021-03-17 16:54:36 +01:00
Harikrishnan Mulackal
35da404ca9
Merge pull request #11091 from ethereum/modifierInvocationAST
Add "kind" field to ModifierInvocation AST json element.
2021-03-16 19:44:40 +01:00
chriseth
0519473059 Add "kind" field to ModifierInvocation AST json element. 2021-03-16 18:50:37 +01:00
Martin Blicha
432944d0b4 [SMTChecker] Small refactoring of defining SMT expressions for structs/tuples 2021-03-16 15:34:43 +01:00
chriseth
ae1b321a2a
Merge pull request #11066 from ethereum/functionCollectorrefactor
Adding additional interface to yul function collector.
2021-03-15 21:42:34 +01:00
Djordje Mijovic
49fcda7048 Adding additional interface to yul function collector. 2021-03-15 20:27:16 +01:00
Martin Blicha
2f52affcc2 [SMTChecker] Correctly resolve current scope contract in VariableUsage. 2021-03-15 13:55:14 +01:00
Martin Blicha
6aa6c5f5f9 [SMTChecker] Reset reference variables on assignment to a variable of reference type 2021-03-12 19:51:31 +01:00
Leonardo Alt
998346e599 Fix bug in virtual functions called by constructor. 2021-03-12 16:42:28 +01:00
Martin Blicha
0cb75293f9 [SMTChecker] fix handling of assignments of array/mapping state variable accessed using contract name 2021-03-12 14:01:07 +01:00