Commit Graph
4263 Commits
Author SHA1 Message Date
Martin Blicha 07427c798c [SMTChecker] Adding a dummy frame to the call stack for the implicit constructor 2020-11-16 22:46:17 +01:00
chriseth 62893aa1a1 Copy byte arrays from storage to storage. 2020-11-16 19:06:33 +01:00
Kamil Śliwak b97c6c55ad StandardCompiler: Don't assume that link reference always contains a colon 2020-11-16 17:41:54 +01:00
Leonardo f1846b57a2 Merge pull request #10244 from blishko/this-external-calls
[SMTChecker] Analyzing external calls to `this`
2020-11-13 11:28:34 +00:00
Martin Blicha 5ca7a24896 [SMTChecker] Added support for precise modeling of external calls to this.
Modeling external calls to this, since we can trust these calls.

fixed problem with transaction data not being restored after trusted external call

update to the tests

additional tests

changelog entry

added tests for external getters of this
2020-11-13 11:49:09 +01:00
Alex Beregszaszi a3381d7260 Add settings.viaIR to standard json 2020-11-12 22:38:44 +00:00
Alex Beregszaszi 301d7ea39e Add viaIR option to CompilerStack
It also sets the experimental flag in the metadata to true.
2020-11-12 22:34:31 +00:00
Alex Beregszaszi fcedaba7f7 [ewasm] Allow compiling abstract/interface contracts 2020-11-12 15:26:11 +00:00
chriseth 44eb63fad0 Merge pull request #10263 from ethereum/fixTryCreateYul
Fix Yul codegen for try with create.
2020-11-11 20:10:54 +01:00
chriseth 571e1e5269 Merge pull request #10266 from ethereum/fixCalldataIndexAccess
Fix calldata index access.
2020-11-11 19:03:19 +01:00
chriseth e7e76131c8 Merge pull request #10265 from ethereum/fixMappingInit
Fix initializing mapping return variables.
2020-11-11 18:42:45 +01:00
chriseth 8f570a3184 Fix calldata index access. 2020-11-11 18:42:26 +01:00
chriseth 01d7d50750 Fix initializing mapping return variables. 2020-11-11 18:08:42 +01:00
chriseth 59da25056b Fix Yul codegen for try with create. 2020-11-11 17:52:50 +01:00
Alex Beregszaszi 2f899bbffa [SMTChecker] Avoid implicit conversion 2020-11-11 16:29:03 +00:00
Leonardo 55ac5de472 Merge pull request #10240 from ethereum/immutablesPureValue
Immutables with literal values are pure.
2020-11-10 15:23:33 +00:00
chriseth 6cc264ff0a Merge pull request #10221 from ethereum/refactorArrayConversions
[Sol->Yul] Refactor array conversions
2020-11-10 16:18:11 +01:00
Djordje Mijovic efba9e45e4 [Sol->Yul] Refactoring array conversions so that they end up in same function. 2020-11-10 15:13:45 +01:00
chriseth b981a2a74a Merge pull request #10229 from ethereum/linking-in-assembly-mode
Linking in assembly mode
2020-11-10 13:21:57 +01:00
chriseth 765ed13814 Immutables with literal values are pure. 2020-11-10 13:08:42 +01:00
Leonardo 25b2a38d8b Merge pull request #10202 from ethereum/smt_fix_modifiers_branches
[SMTChecker] Fix CHC false positives when using branches inside modifiers
2020-11-09 16:42:30 +00:00
Kamil Śliwak df8e182b46 Link binaries produced in assembly mode 2020-11-09 17:17:43 +01:00
Kamil Śliwak c970fb46ce YulUtilFunctions::conversionFunction: Add more info to the assertion that fails on invalid conversion 2020-11-09 13:41:03 +01:00
Leonardo Alt 00858c0ccf Isoltets SMTChecker option and BMC specific tests 2020-11-06 15:03:38 +00:00
Leonardo Alt 89dce24f24 Force SMT variable creation order 2020-11-06 11:51:01 +00:00
Leonardo Alt 646be53f2f Sort variables and expressions by AST id 2020-11-06 11:50:43 +00:00
chriseth b40fb527de Remove access to functions from inline assembly (unused code). 2020-11-05 14:43:29 +01:00
Leonardo Alt 1dbd8f8d67 Fix CHC false positives when using branches inside modifiers 2020-11-04 21:47:07 +00:00
Leonardo 62535c2fd4 Merge pull request #10181 from ethereum/smt_user_timeout
[SMTChecker] User timeout option
2020-11-04 10:55:28 +00:00
Leonardo Alt daf859c15b [SMTChecker] report SMTEncoder warnings also via CHC 2020-11-03 16:06:17 +00:00
chriseth 001eac546e Merge pull request #10161 from ethereum/VirtualLookup-static
Fix incorrectly set annotation.requiredLookup
2020-11-03 17:03:17 +01:00
chriseth 1f3239d097 Simplify split parameter. 2020-11-03 14:34:18 +01:00
chriseth fea3f848f9 Prepare store for external function types. 2020-11-03 14:34:18 +01:00
chriseth 06d0459a72 Merge pull request #10187 from ethereum/validateExternal
[SolYul] Properly validate external functions from calldata.
2020-11-03 14:29:28 +01:00
chriseth e27a1b786b Wording in error messages. 2020-11-03 13:31:51 +01:00
chriseth 834da7be90 Introduce abicoder pragma. 2020-11-03 13:31:50 +01:00
chriseth c16b535804 Validate external functions from calldata. 2020-11-03 13:28:08 +01:00
Leonardo Alt d03ddeb0fa [SMTChecker] User timeout option 2020-11-03 10:46:11 +00:00
chriseth 22b31054b6 Merge pull request #10174 from ethereum/storeInternalFunctions
Implement internal functions in storage.
2020-11-03 09:56:12 +01:00
Đorđe Mijović e0529989da Merge pull request #10180 from ethereum/convertDuringStoring
[SolYul] Convert properly during storing.
2020-11-03 08:42:14 +01:00
chriseth 129b095b09 Implement internal functions in storage. 2020-11-02 23:10:03 +01:00
chriseth 49bd3f2af4 Convert properly during storing. 2020-11-02 21:15:34 +01:00
Leonardo Alt e38d0db683 [SMTChecker] Fix internal error when array.push() is used as LHS of assignment 2020-11-02 13:32:53 +00:00
Leonardo Alt 94e2506132 Fix inherited state vars for BMC 2020-11-02 11:42:39 +00:00
Martin Blicha c1a57ffbfe [SMTChecker] More precise creation of verification targets. 2020-10-30 19:11:28 +01:00
hrkrshnn adcf9eba8d Fix incorrectly set annotation.requiredLookup 2020-10-30 15:40:06 +01:00
chriseth 1066af3b98 Copy byte array to storage. 2020-10-29 18:53:15 +01:00
chriseth 14d7ca49c0 Rename function. 2020-10-29 18:53:15 +01:00
chriseth ace810b078 Merge pull request #10137 from ethereum/fixedBytesOps
[Sol->Yul] Bit operations for fixed bytes types.
2020-10-29 18:04:07 +01:00
chriseth f215042cf6 Fix style. 2020-10-29 17:35:55 +01:00