chriseth
|
e79a32e9d5
|
Wasm to binary assembly stack.
|
2019-11-05 20:02:42 +01:00 |
|
Leonardo Alt
|
c5e081dc8c
|
[SMTChecker] Refactor CHC loops and add if blocks
|
2019-11-05 09:28:59 +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 |
|
Leonardo Alt
|
8a42e3f87a
|
[SMTChecker] Support assignments to m-d arrays and mappings
|
2019-10-28 17:27:39 +01:00 |
|
chriseth
|
9719f099aa
|
Merge pull request #7551 from ethereum/060-cxx17-std-optional
Use `std::optional<>` rather than `boost::optional<>`
|
2019-10-28 12:17:31 +01:00 |
|
Christian Parpart
|
df729b3084
|
Make use of C++17 std::optional<> instead of boost::optional<>.
|
2019-10-28 11:39:30 +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 |
|
chriseth
|
15e39f7d65
|
Merge pull request #7556 from ethereum/ice-7550
Check for use of modifiers in invalid contexts
|
2019-10-24 10:32:49 +02:00 |
|
Mathias Baumann
|
c3e8023ad5
|
Fix wrong assert in overflow check
|
2019-10-23 14:59:34 +02:00 |
|
Mathias Baumann
|
8c5d1da5a5
|
Check for use of modifiers in invalid contexts
|
2019-10-23 12:36:20 +02:00 |
|
Mathias Baumann
|
ad7cf42aad
|
Add missing dots in deprecation warning
|
2019-10-23 12:23:21 +02:00 |
|
Mathias Baumann
|
6ac12afd06
|
Disallow call of same-class-ctor as modifier
|
2019-10-23 10:29:41 +02:00 |
|
chriseth
|
ebfe7391ff
|
Use selfbalance for `address(this).balance `.
|
2019-10-16 14:25:56 +02:00 |
|
Gaith Hallak
|
62a62555bc
|
Remove trailing spaces from JSON output
|
2019-10-02 19:02:35 +02:00 |
|
Daniel Kirchner
|
7202ebb5b2
|
Fix internal compiler error for arrays of recursive structs.
|
2019-10-01 16:51:14 +02:00 |
|
Christian Parpart
|
00d7dac15f
|
Fixes source location in warning for shadowing import delcarations.
|
2019-09-30 11:45:46 +02:00 |
|
chriseth
|
387cb620e9
|
Merge pull request #7452 from ethereum/smt_fix_function_name
[SMTChecker] Fix SMT name for function identifiers
|
2019-09-24 15:55:14 +02:00 |
|
chriseth
|
cda23d63e9
|
Merge pull request #7458 from ethereum/fixErrorMessage
Fix error message about accessing storage pointers.
|
2019-09-24 15:11:03 +02:00 |
|
Leonardo Alt
|
83ef34f41d
|
[SMTChecker] Fix SMT name for function identifiers
|
2019-09-24 11:23:10 +02:00 |
|
chriseth
|
ca21659749
|
Fix error message about accessing storage pointers.
|
2019-09-24 10:52:02 +02:00 |
|
Leonardo Alt
|
ed9674be8d
|
[SMTChecker] Add as const function to SMTLib2Interface
|
2019-09-18 22:57:14 +02:00 |
|
Leonardo Alt
|
eab9f65610
|
Fix ICE when pop dyn storage array of mapping
|
2019-09-16 16:33:17 +02:00 |
|
Leonardo Alt
|
e1c238e25f
|
[SMTChecker] Add loop support
|
2019-09-13 12:40:53 +02:00 |
|
Daniel Kirchner
|
7148792b8a
|
Refactor ExpressionCompiler with acceptAndConvert.
|
2019-09-05 15:05:59 +02:00 |
|
chriseth
|
8485a1abec
|
Change ABI sorting order.
|
2019-09-04 13:06:09 +02:00 |
|
Leonardo Alt
|
a51577facf
|
Fix Windows build
|
2019-09-02 22:37:30 +02:00 |
|
Leonardo Alt
|
a774b2d905
|
[SMTChecker] Zero-initialize arrays
|
2019-09-02 22:37:30 +02:00 |
|
Leonardo Alt
|
214e5c6369
|
[SMTChecker] Fix index access type type error
|
2019-08-27 16:39:19 +02:00 |
|
Mathias Baumann
|
0e3ff25b4e
|
Make sure json output array order is consistent
The source of the "contractDependencies" value was an std::map, thus
order was more or less random.
|
2019-08-19 17:42:03 +02:00 |
|
chriseth
|
c047803b80
|
Change BreadthFirstSearch to use value types instead of pointers.
|
2019-08-15 16:10:10 +02:00 |
|
Leonardo Alt
|
1a70a46f9b
|
[CHC] Add function blocks and check asserts
|
2019-08-15 12:25:15 +02:00 |
|
Daniel Kirchner
|
e545103ec8
|
Extract reasonOfFailure to lambda function.
|
2019-08-14 17:59:48 +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 |
|
chriseth
|
0c2f8ddfae
|
Merge pull request #7231 from ethereum/extractMSize
[Yul] Remove ContainsMSize from side-effect-collector.
|
2019-08-13 18:03:51 +02:00 |
|
chriseth
|
57125de9ef
|
Remove ContainsMSize from side-effect-collector.
|
2019-08-13 13:34:33 +02:00 |
|
Mathias Baumann
|
444395960f
|
Fix link to Contract ABI in source code
|
2019-08-13 12:43:04 +02:00 |
|
Leonardo
|
cbac3a4208
|
Merge pull request #7107 from ethereum/smt_chc_constructor_interface
[SMTChecker] Add CHC constructor/interface/error blocks
|
2019-08-12 15:06:08 +02:00 |
|
Leonardo Alt
|
bef6228810
|
[SMTChecker] Create CHC constructor/interface/error blocks
|
2019-08-12 12:34:57 +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
|
67c855e93e
|
Merge pull request #7170 from ethereum/smt_fix_other_contract_state_var
[SMTChecker] Fix ICE when inlining functions from different source
|
2019-08-09 19:14:28 +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 |
|
Leonardo Alt
|
11d8cf588e
|
[SMTChecker] Set unknown values for return variables of recursive functions
|
2019-08-09 17:01:08 +02:00 |
|
chriseth
|
74f16ef186
|
Refactor IRLValue so that it does not require IRGenerationContext.
|
2019-08-08 17:27:35 +02:00 |
|
chriseth
|
9955c51769
|
Merge pull request #7077 from ethereum/sol-yul-delete-fixed-storage
[Sol->Yul] Implement delete for fixed-sized storage arrays
|
2019-08-08 16:47:16 +02:00 |
|
mingchuan
|
15631a7fbe
|
Split calldataEncodedSize into calldataEncodedSize, calldataEncodedTailSize and calldataHeadSize and fix all usages.
|
2019-08-08 15:52:21 +02:00 |
|
Mathias Baumann
|
e072885031
|
[Sol->Yul] Implement delete for fixed-sized storage arrays
|
2019-08-07 18:28:52 +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 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 |
|
chriseth
|
9b375edfe3
|
Merge pull request #6787 from ethereum/sol2yul-ctor-code
Improve constructor-code codegen (wrt. state variable initialization)
|
2019-08-05 11:50:34 +02:00 |
|
Christian Parpart
|
235638b3fc
|
Implements constructor code for state variables.
|
2019-08-05 11:23:01 +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 |
|
chriseth
|
2a25d7461f
|
Merge pull request #7123 from rocky/tolerate-pragma-mismatch
A pragma version mismatch is not fatal if ...
|
2019-08-01 14:48:24 +02:00 |
|
chriseth
|
6730a59f74
|
Merge pull request #7157 from ethereum/fix-7155
FunctionType: Return correct stacksize for transfer/send
|
2019-08-01 14:40:35 +02:00 |
|
Mathias Baumann
|
e887c06f6b
|
FunctionType: Return correct stacksize for transfer/send
|
2019-08-01 13:56:09 +02:00 |
|
chriseth
|
04f298fd0e
|
Merge pull request #7132 from ethereum/smt_acc_solver
[SMTChecker] EncodingContext config flag to accumulate assertions
|
2019-08-01 13:04:37 +02:00 |
|
chriseth
|
aa87a607fd
|
Merge pull request #7152 from ethereum/smt_fix_pointer_cleanup
[SMTChecker] Erase pointer knowledge properly inside loops
|
2019-08-01 12:46:20 +02:00 |
|
Leonardo Alt
|
44d7c6976a
|
Erase pointer knowledge properly inside loops
|
2019-07-30 12:47:50 +02:00 |
|
Mathias Baumann
|
d9addbcf49
|
Fix error in g++7 with -O2 flag
|
2019-07-29 16:17:41 +02:00 |
|
Leonardo
|
00accd9daa
|
Merge pull request #7141 from ethereum/smt_fix_json
[SMTChecker] Reset SSA index to 0 instead of increasing in context reset
|
2019-07-29 10:20:06 +02:00 |
|
Leonardo
|
0197a200cd
|
Merge pull request #7142 from ethereum/smt_init_numbers
[SMTChecker] Initialize all number types with 0
|
2019-07-29 10:19:17 +02:00 |
|
Leonardo Alt
|
847f574e22
|
[SMTChecker] Fix ICE when inlining function with tuple expression
|
2019-07-26 16:29:29 +02:00 |
|
Leonardo Alt
|
cd5a5b3686
|
[SMTChecker] Initialize all number types with 0
|
2019-07-25 15:15:18 +02:00 |
|
Leonardo Alt
|
6bcbeb1d23
|
[SMTChecker] Reset SSA index to 0 instead of increasing in context reset
|
2019-07-25 14:16:34 +02:00 |
|
Leonardo
|
264035f0dd
|
Merge pull request #7120 from ethereum/smt_refactor_inlining
[SMTChecker] Refactor function inlining
|
2019-07-22 14:20:32 +02:00 |
|
Leonardo Alt
|
b204f27047
|
[SMTChecker] EncodingContext config flag to accumulate assertions
|
2019-07-19 19:31:25 +02:00 |
|
Leonardo
|
508cf66da2
|
Merge pull request #7062 from ethereum/smt_chc_checker
[SMTChecker] Add skeleton for CHC
|
2019-07-19 15:41:43 +02:00 |
|
Leonardo Alt
|
03cc124f32
|
Add CHC skeleton
|
2019-07-19 11:52:05 +02:00 |
|
chriseth
|
a30be56c27
|
Additional type info for ABI.
|
2019-07-18 16:54:11 +02:00 |
|
Leonardo Alt
|
382df64899
|
[SMTChecker] Refactor function inlining
|
2019-07-18 13:56:48 +02:00 |
|
rocky
|
f9b631f410
|
A pragma version mismatch is not fatal if ...
error recovery is desired.
Fixes #7085
|
2019-07-17 19:01:01 -04:00 |
|
Leonardo Alt
|
71144d0d39
|
[CHCChecker] Add CHCSolverInterface and Z3CHCSolverInterface
|
2019-07-15 17:31:39 +02:00 |
|
chriseth
|
579bdaddb9
|
Merge pull request #7088 from ethereum/diffLegYul
Document differences between legacy Solidity and Solidity via Yul.
|
2019-07-11 17:59:01 +02:00 |
|
chriseth
|
76d7ea888b
|
Document differences between legacy Solidity and Solidity via Yul.
|
2019-07-11 17:48:06 +02:00 |
|
chriseth
|
869d69d293
|
Supply full object to stack compressor and Optimizer Suite.
|
2019-07-10 18:49:42 +02:00 |
|
Mathias Baumann
|
d264e3e0ba
|
[Sol->Yul] Implement getter functions
|
2019-07-10 13:42:39 +02:00 |
|
Mathias Baumann
|
37f04976a2
|
[Sol->Yul] Implement keccak256
|
2019-07-09 18:25:07 +02:00 |
|
chriseth
|
15eb8fec50
|
Merge pull request #7015 from ethereum/sol-yul-arrays
[Sol->Yul] Implement uint256[] memory arrays
|
2019-07-09 17:34:46 +02:00 |
|
Mathias Baumann
|
0f24fcea17
|
[Sol->Yul] Implement uint256[] memory arrays
|
2019-07-09 15:36:02 +02:00 |
|
chriseth
|
859dbaa2a3
|
Merge pull request #7053 from djudjuu/moveSuffixHelper
move SuffixHelper to StringUtils
|
2019-07-09 14:32:05 +02:00 |
|
djudjuu
|
cafa01cbf6
|
moved SuffixHelper to StringUtils
|
2019-07-09 13:50:07 +02:00 |
|
chriseth
|
9cb9021c36
|
Cope with constants without value in inline assembly.
|
2019-07-09 11:12:13 +02:00 |
|
Leonardo
|
75eb67c3e0
|
Merge pull request #7050 from ethereum/smt_set_solver
[SMTChecker] EncodingContext's solver needs to be set dynamically
|
2019-07-08 15:19:55 +02:00 |
|
Leonardo Alt
|
96b0c4c148
|
[SMTChecker] New VariableUsage flag to inline functions
|
2019-07-08 14:40:33 +02:00 |
|
Leonardo Alt
|
01570bbc8c
|
EncodingContext's solver needs to be set dynamically
|
2019-07-08 14:40:15 +02:00 |
|
chriseth
|
18072586c9
|
Remove trailing whitespace in error message.
|
2019-07-08 14:28:38 +02:00 |
|
chriseth
|
25928767b7
|
Merge pull request #7058 from ethereum/smt_reset_context
[SMTChecker] Clear encoding context before engine starts
|
2019-07-08 12:36:50 +02:00 |
|
chriseth
|
aac226f7c1
|
Merge pull request #7041 from ethereum/smt_function_sort
[SMTChecker] Allow symbolic functions to be created via Sort
|
2019-07-08 12:33:38 +02:00 |
|
chriseth
|
7267873a96
|
Merge pull request #7038 from ethereum/addSecondaryLocationToStandardIO
Provide secondary source location for error messages in standard json.
|
2019-07-08 12:00:09 +02:00 |
|
Leonardo Alt
|
be663680d4
|
[SMTChecker] Clear encoding context before engine starts
|
2019-07-08 11:56:04 +02:00 |
|
chriseth
|
2e01816c6b
|
Merge pull request #7042 from ethereum/make-whiskers-fail-early
Make Whiskers fail early when called with int
|
2019-07-04 12:19:54 +02:00 |
|
Leonardo Alt
|
4aebdcc442
|
[SMTChecker] Allow FunctionSort to be created via sort and not type
|
2019-07-04 12:00:24 +02:00 |
|
chriseth
|
d3e542d32c
|
Provide secondary source location for error messages in standard json.
|
2019-07-04 10:54:01 +02:00 |
|
Mathias Baumann
|
3e51d14c6d
|
Fix missing int -> string conversion
|
2019-07-04 09:31:24 +02:00 |
|
Leonardo Alt
|
934e00d235
|
[SMTChecker] SymbolicVariables use EncodingContext to declare SMT vars
|
2019-07-03 16:05:56 +02:00 |
|