Bhargava Shastry
9264135bef
Add tests to validate clearing dirty bits via inline assembly operations
2020-06-12 11:32:15 +02:00
chriseth
0689cda19a
Merge pull request #9116 from ethereum/solYulCleanupFromStorageReference
...
New test for getters.
2020-06-11 14:08:10 +02:00
chriseth
012ba9537b
Merge pull request #9184 from ethereum/fixUsingForStorage
...
Fix using for with explicit reference types.
2020-06-11 14:00:28 +02:00
chriseth
5c71b3fbb0
Merge pull request #9173 from ethereum/fixBoundCalldata
...
Fix bound functions with calldata parameters.
2020-06-11 13:31:30 +02:00
chriseth
549c90612c
Fix using for with explicit reference types.
2020-06-11 13:04:41 +02:00
Daniel Kirchner
73cd009b89
Fix struct allocation in Sol->Yul.
2020-06-11 12:16:45 +02:00
chriseth
d4e3491f35
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
...
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Leonardo
d7f29a33b9
Merge pull request #9096 from ethereum/conversionWarningsLibSol
...
Adding fixes for signedness warnings in libsolidity
2020-06-11 01:06:32 +02:00
Daniel Kirchner
90b66a7362
Fix struct member access for memory and implement for calldata.
2020-06-10 20:01:30 +02:00
chriseth
baabe65a84
Fix bound functions with calldata parameters.
2020-06-10 17:37:59 +02:00
chriseth
2410f0ed5a
Merge pull request #9135 from ethereum/fixReturnParameterLocation
...
Fixing ICE on calling externally a function that returns calldata pointers
2020-06-10 16:44:38 +02:00
Djordje Mijovic
e73fe17277
Fixing ICE on calling externally a function that returns calldata pointers
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
a3d4
51e64fe0b1
Add error IDs to console output
2020-06-10 13:27:25 +02:00
a3d4
b17915a6ba
Add error IDs to JSON
2020-06-10 13:26:51 +02:00
chriseth
6b3171c38b
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-10 11:30:50 +02:00
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth
81f54a170b
Cleanup from storage.
2020-06-09 14:57:04 +02:00
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
chriseth
2724ce9511
Index access to fixed bytes and byte arrays.
2020-06-09 10:50:28 +02:00
Leonardo Alt
f49e2424b2
[SMTChecker] Erase knowledge when array variable is pushed
2020-06-08 10:23:06 +02:00
Leonardo
d243f5baac
Merge pull request #9045 from ethereum/smt_fix_tuple
...
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 14:21:32 +02:00
Leonardo
731e6466a0
Merge pull request #9067 from ethereum/smt_fix_fp_again
...
[SMTChecker] Fix BMC targets with FP
2020-06-05 12:39:28 +02:00
Leonardo Alt
87ceb72b82
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 12:20:47 +02:00
chriseth
259292c884
Merge pull request #9118 from ethereum/develop
...
Merge develop into breaking.
2020-06-04 10:18:46 +02:00
chriseth
010a2246c7
More tests for getters.
2020-06-03 21:47:24 +02:00
chriseth
6b5f83cdfa
Merge pull request #9058 from ethereum/memberAccessSolYul
...
[Sol->Yul] Member access for structs.
2020-06-03 21:19:49 +02:00
chriseth
f38e3a3574
Merge pull request #9056 from ethereum/solYulGetters
...
[Sol->Yul] Implement getters.
2020-06-03 19:08:15 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
...
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
1f49edd29d
Merge pull request #9039 from ethereum/yul-remove-pc-instr
...
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Mathias Baumann
6f8b5fe53b
Disallow override with non-public state variables
2020-06-03 14:03:26 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
...
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96
Fix type inversion for shift and exp operators.
2020-06-03 13:46:26 +02:00
Christian Parpart
9820df58ab
Remove Yul instruction PC and adapt tests accordingly.
2020-06-03 12:49:23 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00
chriseth
e7f3c042b6
Struct member access for storage and memory.
2020-06-03 10:37:39 +02:00
chriseth
37e8d78cff
[Sol->Yul] Implement getters.
2020-06-03 10:33:37 +02:00
Leonardo
96ce4abe0e
Merge pull request #9069 from ethereum/smt_try
...
[SMTChecker] Fix internal error on try/catch
2020-06-02 21:09:49 +02:00
chriseth
8ab8d5b1b0
Do not try compiling via yul if explicitly forbidden.
2020-06-02 19:55:33 +02:00
chriseth
c07254f5ac
Merge pull request #9055 from ethereum/issue-8881
...
Output error when forward referencing constants in inline assembly
2020-06-02 17:10:56 +02:00
chriseth
837e29fff8
Merge pull request #9084 from ethereum/remove-dead-code-from-execution-framework
...
Remove dead code from SolidityExecutionFramework::compileContract()
2020-06-02 17:00:27 +02:00
Leonardo Alt
10162016ae
[SMTChecker] Fix internal error on try/catch
2020-06-02 16:51:53 +02:00
chriseth
9c92562e28
Merge pull request #9059 from ssi91/refactor-interactive-tests
...
Refactor interactive tests
2020-06-02 16:50:31 +02:00
ssi91
79407c87fb
remove extra definition of printIndented
...
add CommonBaseTestCase class and inherit some of TestCase classes from it. Since that, remove print source extra definitions
create the base defifnition for printUpdatedExpectations and remove extra definitions of the method
make CommonBaseTestCase c-tor explicit
include AnsiColorized.h and sort includes
implement a common result checker
move the common implementations into TastCase
2020-06-02 21:15:00 +07:00
Leonardo
97cb091ada
Merge pull request #9068 from ethereum/smt_fix_state_var_init_call
...
[SMTChecker] Relax assertion about callstack
2020-06-02 15:53:14 +02:00
Mathias Baumann
bdc2c63327
Output error when forward referencing constants in inline assembly
2020-06-02 14:37:54 +02:00
Leonardo Alt
ede39fc2da
[SMTChecker] Relax assertion about callstack
2020-06-02 12:50:51 +02:00
Kamil Śliwak
9bb9b6345c
SolidityExecutionFramework: Fix indentation
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:25:02 +02:00
Kamil Śliwak
df7b82bf31
SolidityExecutionFramework: Remove dead code for handling errors from parsing and analysis
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:24:31 +02:00
Kamil Śliwak
311f025eb5
SolidityExecutionFramework: Fix compileContract() to print Yul errors from the correct source
2020-06-01 18:17:50 +02:00
Leonardo Alt
2128ff9f13
Fix ICE on push for member access
2020-05-29 19:13:27 +02:00
Leonardo Alt
e5d25692a5
[SMTChecker] Fix BMC targets with FP
2020-05-29 18:13:13 +02:00
chriseth
0b216f5771
Merge pull request #9050 from ethereum/smt_fix_nonvalue_asgn
...
[SMTChecker] Fix ICE on index access assignment inside single branches
2020-05-28 16:25:46 +02:00
chriseth
65d8b6cf75
Merge pull request #9033 from a3d4/partfix-5819-add-errorid-to-error-class
...
Add unique ID to Error class
2020-05-28 16:24:47 +02:00
Leonardo
1051cea91c
Merge pull request #9052 from ethereum/smt_add_test_delete_m_d_array
...
[SMTChecker] Add test that deletes arrays
2020-05-28 16:14:55 +02:00
Leonardo Alt
9b0146be42
Add test
2020-05-28 15:56:47 +02:00
Leonardo Alt
ec766958ea
Add test
2020-05-28 13:14:21 +02:00
Leonardo Alt
13f32268da
[SMTChecker] Add test that shows that deleting arrays takes the index into account
2020-05-28 13:08:16 +02:00
chriseth
f608e50bad
Merge pull request #9029 from ethereum/fewerInternalSourceRefs
...
Do not set source locations for small internal assembly routines.
2020-05-28 11:14:20 +02:00
chriseth
ee8307ceed
Merge pull request #9044 from ethereum/issue-9028
...
Fix failure to find overload resolution when overrides are involved
2020-05-28 10:33:01 +02:00
a3d4
be83c54d79
Throw TestParserError instead of Error in tests
2020-05-28 02:26:17 +02:00
Leonardo Alt
9e9f0c52e1
[SMTChecker] Support to bitwise
2020-05-27 20:59:00 +02:00
Mathias Baumann
a846c18e67
Fix failure to find overload resolution when overrides are involved
2020-05-27 18:31:56 +02:00
chriseth
eb923af09c
Do not set source locations for small internal assembly routines.
2020-05-27 18:26:46 +02:00
chriseth
894478ff8c
Merge pull request #9038 from ethereum/develop
...
Merge develop into breaking.
2020-05-27 15:24:27 +02:00
chriseth
afa873fe9f
Merge pull request #8913 from ethereum/yul-remove-pc-instr
...
Mark EVM instruction `pc()` as deprecated when used in inline assembly.
2020-05-27 12:10:32 +02:00
Christian Parpart
b7fa5d5040
Mark EVM instruction pc()
as deprecated when used in inline assembly.
2020-05-27 12:07:23 +02:00
chriseth
1bf706085d
Merge pull request #9030 from ethereum/issue-8923
...
Fix ICE when trying to decode too large static arrays
2020-05-27 11:45:39 +02:00
chriseth
0aa3fb5026
Merge pull request #9014 from ethereum/sol-yul-abidecode
...
[Sol - Yul] Add support for ABIDecode.
2020-05-27 11:44:13 +02:00
chriseth
f066050ec0
Merge pull request #9024 from ethereum/namableTypes
...
Disallow non-namable types for inline arrays.
2020-05-27 09:21:07 +02:00
Kamil Śliwak
f574d8ec3a
Don't assume that an expression cannot be associated with a function declaration
2020-05-27 00:05:18 +02:00
Alexander Arlt
118cb13476
[Sol - Yul] Add support for ABIDecode.
2020-05-26 13:30:37 -05:00
Mathias Baumann
884e7cbffc
Fix ICE when trying to decode too large static arrays
2020-05-26 19:36:18 +02:00
Alexander Arlt
cb5bfc7436
Update natspec comments on state variables.
...
- changing some warnings to errors
2020-05-26 11:18:24 -05:00
chriseth
d0b6de580f
Disallow non-namable types for inline arrays.
2020-05-26 18:17:35 +02:00
chriseth
50b200a5d5
Merge pull request #8797 from ethereum/sol-yul-populating-internal-dispatch-on-demand
...
[Sol->Yul] Populating internal dispatch on demand
2020-05-26 18:17:05 +02:00
Mathias Baumann
b3cafe4583
Fix ICE by avoiding copyForLocation() on ArraySliceType
2020-05-26 17:27:46 +02:00
Kamil Śliwak
1a2e441bc5
Generate internal dispatch only for functions that might actually get called via pointers
...
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
2020-05-26 17:01:50 +02:00
chriseth
33450619b1
Checks for uninitialized access to calldata variables.
2020-05-26 10:51:13 +02:00
chriseth
fb40a8abb8
Test updates.
2020-05-26 10:51:13 +02:00
chriseth
99194b1450
New tests.
2020-05-26 10:51:13 +02:00
Djordje Mijovic
4c3e78d046
Disallowing shifts by signed types
2020-05-26 10:18:21 +02:00
chriseth
69a028b49c
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-26 10:11:23 +02:00
chriseth
370350da07
Merge pull request #9008 from ethereum/smt_add_test
...
[SMTChecker] Add test that has an unused mapping
2020-05-25 17:04:54 +02:00
chriseth
6d64095ccf
Merge pull request #8987 from ethereum/sol-yul-bound-functions
...
[Sol->Yul] Bound functions
2020-05-25 16:53:33 +02:00
Mathias Baumann
d45bb2aa07
Add proper unipmlemented errors for array copying
2020-05-25 10:48:42 +02:00
Leonardo Alt
0fda5fe077
[SMTChecker] Add test that has an unused mapping
2020-05-25 10:24:48 +02:00
Kamil Śliwak
4a2ce57bed
Add support for bound function calls in IR generator
2020-05-20 21:10:20 +02:00
chriseth
74b9b094c0
Merge remote-tracking branch 'origin/develop' into HEAD
2020-05-20 17:22:47 +02:00
hrkrshnn
37257548d0
Fixed bug when two empty NatSpec comments led to scanning past EOL
2020-05-20 20:26:02 +05:30
hrkrshnn
4a001d568e
Removed null members from JSON output
2020-05-20 16:56:33 +05:30
Leonardo Alt
45eba27424
Rename namespace
2020-05-20 12:55:18 +02:00
Leonardo Alt
087605ea02
Create libsmtutil
2020-05-20 12:55:18 +02:00
chriseth
3c71412a47
Merge pull request #8988 from ethereum/isoltest_default_formatting
...
[isoltest] Improve parameter formatting.
2020-05-20 08:05:33 +02:00
Alexander Arlt
410986e00f
[isoltest] Improve parameter formatting.
2020-05-19 19:13:39 -05:00
chriseth
22d5caa979
Merge pull request #8532 from aarlt/structured-docs-variables-aarlt
...
Allow NatSpec comments for state variables
2020-05-19 19:26:35 +02:00
chriseth
d422a406ba
Merge pull request #8983 from ethereum/develop
...
Merge develop into breaking.
2020-05-19 18:05:28 +02:00
Kamil Śliwak
16e80b7bcd
Test case for internal dispatch with functions that have arguments that take up multiple slots
2020-05-19 18:02:14 +02:00
Alexander Arlt
af8bb5fb60
Allow natspec comments on state variables.
2020-05-19 11:01:52 -05:00
Erik Kundt
7d37ed4531
Adds structured docs for variable declarations.
...
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
2020-05-19 11:01:52 -05:00
Djordje Mijovic
bd64b971b9
Fixing tests on breaking branch.
2020-05-19 17:42:19 +02:00
chriseth
f70ff0dfaa
Merge pull request #8977 from ethereum/mapping-type-error
...
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal
774edd4670
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 19:12:38 +05:30
chriseth
3b27b4347c
Merge pull request #8916 from ethereum/smt_array_push_pop
...
[SMTChecker] Support array push/pop
2020-05-19 15:41:10 +02:00
chriseth
3211e22045
Merge pull request #8979 from ethereum/doc-json
...
[Trival] Test: Output JSON AST as array when it involves multiple sources
2020-05-19 15:29:24 +02:00
Djordje Mijovic
d235d0c166
[Sol->Yul] Implementing Byte array push() and pop()
2020-05-19 14:47:00 +02:00
Mathias Baumann
5a7217b90e
Test: Output JSON AST as array when it involves multiple sources
2020-05-19 14:26:08 +02:00
Leonardo Alt
1ab6ad79d8
Update test expectation
2020-05-18 16:59:31 +02:00
Leonardo Alt
2435ab938c
Add verification target for empty pop
2020-05-18 16:35:56 +02:00
Leonardo Alt
d4d26c02e4
Assume that push will not overflow
2020-05-18 16:35:56 +02:00
Leonardo Alt
07bb1952a7
Test updates
2020-05-14 23:32:30 +02:00
Leonardo Alt
a0c605aa85
[SMTChecker] Support array length
2020-05-14 23:32:29 +02:00
chriseth
7ef114db9a
Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
...
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 18:43:55 +02:00
Alexander Arlt
91e9d54c71
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 10:44:39 -05:00
chriseth
993a7941b1
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-14 17:24:40 +02:00
chriseth
b71a3f1f1d
Merge pull request #8939 from ethereum/updateZ3
...
Update z3 to version 4.8.8.
2020-05-14 16:36:49 +02:00
chriseth
1b86f27002
Merge pull request #8935 from ethereum/moveScopesIntoResolver
...
Move scopes into resolver.
2020-05-14 14:20:58 +02:00
Daniel Kirchner
0303902173
Update smt test expectations.
2020-05-14 14:12:01 +02:00
chriseth
e751a1c23d
Move scopes into resolver.
2020-05-14 13:16:47 +02:00
chriseth
257bc6a416
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-14 13:04:46 +02:00
Djordje Mijovic
472fb21ee0
[Sol->Yul] Enabling new bytes(n)
2020-05-14 12:55:14 +02:00
chriseth
504b8d29c9
Merge pull request #8907 from ethereum/licenseIdentifier
...
Check for SPDX license identifiers.
2020-05-14 01:21:24 +02:00
chriseth
1700bdc4ad
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
...
Allow abi encoding array slices without casting.
2020-05-13 18:55:16 +02:00
Daniel Kirchner
97296d8622
Allow ABI encoding for array slices without explicit casts.
2020-05-13 18:20:07 +02:00
Alexander Arlt
af44c05f1a
Add new test.
2020-05-13 18:16:59 +02:00
Alexander Arlt
52b9a92ff8
Update existing tests.
2020-05-13 18:16:59 +02:00
chriseth
3872a1f000
Add support for SPDX license identifiers.
2020-05-13 18:16:59 +02:00
Mathias Baumann
820fdd9bf7
Escape backslashes when formatting
2020-05-13 17:08:37 +02:00
chriseth
e9446475bb
Merge pull request #8924 from ethereum/arraySliceBug
...
Fix array slice bug.
2020-05-13 16:06:28 +02:00
Daniel Kirchner
6f04664cfa
Disallow array slicing for arrays with dyanmically encoded base types.
2020-05-13 15:52:22 +02:00
chriseth
aca700497c
Merge pull request #8903 from ethereum/exponentiation-bug
...
Fix exponentiation bug
2020-05-13 15:49:23 +02:00
Harikrishnan Mulackal
47e9a13e8a
Fix exponentiation bug
2020-05-13 13:53:06 +05:30
chriseth
b2122d479f
Merge pull request #8915 from a3d4/partfix-5819-remove-erroroccurred-flag
...
Remove a dedicated error flag from DeclarationTypeChecker and other classes
2020-05-12 20:18:33 +02:00
a3d4
02d1f8c41a
Remove a dedicated error flag from DeclarationTypeChecker
2020-05-12 18:13:17 +02:00
chriseth
0be56a0abf
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-12 17:48:53 +02:00
chriseth
901b421bb8
Merge pull request #8910 from ethereum/natspec-return-bug
...
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 16:47:07 +02:00
Harikrishnan Mulackal
095e17f7f9
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 20:05:22 +05:30
Harikrishnan Mulackal
c29d76f8f2
Test for function with value setting
2020-05-12 15:21:13 +05:30
Daniel Kirchner
c2f5a66a79
Implement .creationCode for Sol->Yul.
2020-05-11 18:51:51 +02:00
Daniel Kirchner
3fbde6e782
Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
...
Implicit constructor callvalue check
2020-05-11 18:50:36 +02:00
Daniel Kirchner
79b217dfb3
Callvalue checks for implicit constructors.
2020-05-11 16:14:34 +02:00
chriseth
5566cd9f74
Merge pull request #8843 from ethereum/deprecate-now
...
[BREAKING] Deprecate keyword now
2020-05-11 16:09:21 +02:00
chriseth
c0bf529236
Support bare calls.
2020-05-11 15:11:46 +02:00
chriseth
0248303c15
Merge pull request #8872 from ethereum/int-min-max
...
implemented type(X).min and type(X).max for all integer types
2020-05-11 15:08:19 +02:00
Harikrishnan Mulackal
e4e200f29f
Changelog and tests
2020-05-11 15:29:05 +05:30
Harikrishnan Mulackal
e54c4eecfc
implemented type(X).min and type(X).max for all integer types
2020-05-11 14:51:13 +05:30
Djordje Mijovic
591a5fff07
isoltest: WhiskersError and YulException treated differently when enforcing viaYul
2020-05-11 09:37:04 +02:00
chriseth
a0e291bd06
Implement Yul IR generation for abi.encode*
2020-05-07 19:39:15 +02:00
chriseth
d0b82fe854
Merge pull request #8869 from ethereum/useSlotes
...
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth
f38cf85482
Use vector of slots.
2020-05-07 17:54:04 +02:00
Mathias Baumann
eb4926cb48
run addMissingFunctions only once
2020-05-07 17:06:11 +02:00
chriseth
3212cb6caa
Merge pull request #8859 from ethereum/noRuntimeForImmutable
...
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 16:08:27 +02:00
chriseth
f42dc70c9f
Merge pull request #8863 from ethereum/nonReversedEncoder
...
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
Mathias Baumann
50e59f1008
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 15:10:04 +02:00
chriseth
e986fde0c1
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:08:09 +02:00
a3d4
5e9502bfae
Fix ABI internal compiler error caused by an internal constructor
2020-05-07 05:49:49 +02:00
Alex Beregszaszi
327c75bc1b
IR generation for shifts
2020-05-06 19:14:23 +02:00
Christian Parpart
3a93080ca9
Merge pull request #8821 from ethereum/remove-flag
...
Remove obsolete flag --optimize-yul from scripts
2020-05-06 16:20:23 +02:00
chriseth
76275cf34a
Merge pull request #8824 from ethereum/solYulDirtyMemory
...
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 16:17:19 +02:00
Daniel Kirchner
234ffcf278
Merge pull request #8718 from ethereum/irConstants
...
IR generation for constants.
2020-05-06 16:05:17 +02:00
Mathias Baumann
02c5f1f748
Remove --optimize-yul flag for soltest
2020-05-06 11:49:40 +02:00
Daniel Kirchner
c25a3eba14
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 11:34:11 +02:00
Harikrishnan Mulackal
92cf61d4f9
fixed compilation tests and upgraded ext. tests branch
2020-05-05 21:11:15 +05:30
Harikrishnan Mulackal
a207613f17
Docs, changelog and tests
2020-05-05 21:11:15 +05:30
Daniel Kirchner
b580106c80
Yul parser hack and more yul tests.
2020-05-05 17:23:41 +02:00
chriseth
02c20698c9
IR generation for constants.
2020-05-05 17:07:55 +02:00
Daniel Kirchner
28d25afab1
Cleanup tests for Sol->Yul arithmetic and comparison.
2020-05-05 13:38:31 +02:00
Harikrishnan Mulackal
dd7d63925a
Merge pull request #8806 from ethereum/natspec-constructor
...
[BREAKING] Natspec constructor and functions have consistent userdoc
2020-05-05 15:47:34 +05:30
Djordje Mijovic
e8f6f63e77
[Sol2Yul] Adding support for builtin revert(string)
2020-05-05 07:05:39 +02:00
Djordje Mijovic
8b7f87eed5
[isoltest] Enforcing compileViaYul to be set if test can pass via yul
2020-05-05 00:38:13 +02:00
chriseth
ecbf216354
Merge remote-tracking branch 'origin/develop' into breaking
2020-05-04 18:46:45 +02:00
chriseth
1aef9c7d20
Merge pull request #8777 from ethereum/sol_yul_simplefunctions
...
[Sol - Yul] Add some built-in functions.
2020-05-04 16:07:10 +02:00
chriseth
51ccb1519f
Yul codegen for immutables.
2020-05-04 15:00:50 +02:00
Mathias Baumann
debcc8c056
Add setimmutable and loadimmutable to dialect.
2020-05-04 15:00:50 +02:00
hrkrshnn
aa65e9423c
Uniform output in functions and constructor NatSpec
2020-05-04 12:39:43 +05:30
Alexander Arlt
a9f4d14010
[Sol - Yul] Add support for send(..) & transfer(..)
2020-05-01 08:32:51 -05:00
Alexander Arlt
151e637336
[Sol - Yul] Add some built-in functions.
...
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
2020-04-30 14:10:09 -05:00
chriseth
602b29cba7
Merge pull request #8796 from a3d4/fix-8760-typechecker-compiler-error
...
[Type Checker] Fix internal error when applying unary operators to tuples with empty components
2020-04-29 10:14:15 +02:00
a3d4
3bd15655cb
Type Checker: Fix internal error when applying unary operators to tuples with empty components
2020-04-29 02:18:48 +02:00
Jason Cobb
8973732b74
Compare categories instead of types in ContractCompiler(740)
2020-04-28 13:13:45 -04:00
chriseth
1fe55370f4
Merge remote-tracking branch 'origin/develop' into HEAD
2020-04-28 13:02:06 +02:00
hrkrshnn
bd0b06e8db
Tests, Docs and Changelog
2020-04-28 16:03:52 +05:30
Djordje Mijovic
f3f729549d
[Sol->Yul] Enabling creation function call
2020-04-27 16:15:57 +02:00
chriseth
dda883b585
IR generation for sha256.
2020-04-27 11:10:20 +02:00
chriseth
61b1369fc2
Merge pull request #8701 from ethereum/solc-yul-chromosome
...
solc option for selecting yul optimisations
2020-04-27 10:44:14 +02:00
Alexander Arlt
66edaf43f4
[Sol - Yul] Add support for built-in logN().
2020-04-25 11:10:28 -05:00
Alexander Arlt
2fa26f4e92
[Sol - Yul] Add support for built-in selfdestruct(..).
2020-04-24 17:03:41 -05:00
Kamil Śliwak
c8b612536f
Add yulDetails.optimizerSteps to the standard JSON interface
2020-04-24 17:30:56 +02:00
Kamil Śliwak
d3da878200
Enable internal library calls
2020-04-24 15:00:51 +02:00
Kamil Śliwak
56a85d6cb3
IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers
2020-04-24 15:00:16 +02:00
chriseth
2b39f3b988
Merge pull request #8766 from ethereum/sol_yul_gasleft
...
[Sol - Yul] Add support for built-in gasleft().
2020-04-24 14:24:01 +02:00
Leonardo Alt
059d0bdebb
Revert "Use Spacer option to improve performance of constant arrays"
...
This reverts commit 92059fa848
.
2020-04-24 11:55:58 +02:00
Alexander Arlt
aafa4583df
[Sol - Yul] Add support for built-in gasleft().
2020-04-23 17:14:03 -05:00
Kamil Śliwak
e65a5a562e
IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything
2020-04-23 21:16:41 +02:00
hrkrshnn
48ff9fd4d6
Tests, Changelog and updated grammar
2020-04-23 17:27:37 +05:30
hrkrshnn
e2e32d372f
virtual modifiers (in Abstract contracts) allow empty bodies
2020-04-23 17:26:59 +05:30
chriseth
35eae96a7f
Move helper up and avoid trailing spaces.
2020-04-23 13:16:26 +02:00
chriseth
16ed53ddd0
Merge pull request #8591 from mijovic/sol2YulConstructorParams
...
[Sol2Yul] Adding support for constructors with parameters (inheritance)
2020-04-23 12:56:54 +02:00
chriseth
a371910674
Merge pull request #8642 from ethereum/interfaceid
...
Add support for interfaceId.
2020-04-23 12:24:49 +02:00
chriseth
5a160be128
Merge pull request #8754 from ethereum/smt_improve_array_performance
...
Use Spacer option to improve performance of constant arrays
2020-04-23 12:19:04 +02:00
chriseth
18ee96ac91
Merge pull request #8752 from a3d4/fix-8711-typechecker-compiler-error
...
Type Checker: Fix internal error when assigning to empty tuples
2020-04-23 12:01:00 +02:00
Leonardo Alt
92059fa848
Use Spacer option to improve performance of constant arrays
2020-04-23 10:45:02 +02:00
a3d4
c4bc77874b
Disallow empty tuples on the left hand side
2020-04-23 07:02:04 +02:00
a3d4
9538024c81
Fix #8711 , #8277
2020-04-23 05:57:35 +02:00
Leonardo Alt
cfe3686116
Fix internal error when using array slices
2020-04-22 23:20:10 +02:00
chriseth
6728e3ef94
Merge remote-tracking branch 'origin/develop' into breaking
2020-04-22 17:21:32 +02:00
Djordje Mijovic
5329da93fb
[Sol2Yul] Adding support for constructors with parameters in case of inheritance
2020-04-22 14:47:08 +02:00
chriseth
4908101ad7
Yul IR generation for member access to type types.
2020-04-22 11:25:27 +02:00
chriseth
1d8e742296
Merge pull request #8684 from ethereum/yulForSelector
...
Yul codegen for `.selector`.
2020-04-20 16:32:11 +02:00
chriseth
41ef13129b
Merge pull request #8678 from ethereum/smt_remove_redundant_constraints
...
[SMTChecker] Remove redundant CHC constraints
2020-04-20 15:44:59 +02:00
chriseth
55483445e9
Merge pull request #8663 from ethereum/ir-function-generation-queue
...
[Sol->Yul] IR function generation queue (refactor)
2020-04-20 15:17:53 +02:00
chriseth
c24c4f85e4
Merge pull request #8665 from ethereum/recursiveStructRefactoring
...
Recursive struct refactoring and a bunch of ICE fixes.
2020-04-20 13:24:19 +02:00
Kamil Śliwak
c7947c1af6
Implement lazy function generation using function generation queue
2020-04-17 13:28:07 +02:00
Alexander Arlt
3754a86ab2
Add support for interfaceID.
2020-04-16 12:17:40 -05:00
Daniel Kirchner
150497c12a
Stricter bounds for memory arrays.
2020-04-16 17:51:18 +02:00
Daniel Kirchner
f6d1cee06b
Ensure that public callable parameters are valid for calldata.
2020-04-16 17:23:20 +02:00
Daniel Kirchner
6093982606
Review suggestions.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
3a5a4c6505
Another ICE test.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
6f06154eb5
Move direct struct recursion check to detect recursion in global structs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
b744a56801
Refactoring of errors and fixes for various ICEs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
df1809f8da
Annotate struct definitions with a recursive flag.
2020-04-16 16:42:12 +02:00
chriseth
f271dfa2e2
Yul codegen for .selector
.
2020-04-16 13:42:58 +02:00
chriseth
06adbc2c59
Implement bit operations.
2020-04-16 00:33:45 +02:00
Leonardo Alt
bca43586c6
[SMTChecker] Remove redundant CHC constraints
2020-04-15 18:11:39 +02:00
Daniel Kirchner
b86c927505
Disallow virtual and override for constructors.
2020-04-15 13:58:37 +02:00
Daniel Kirchner
0c5c93f3c2
Fix tuple assignments for empty tuples in Yul IR.
2020-04-15 11:10:52 +02:00
Christian Parpart
d00d3c45b1
[Sol2Yul] Implements codegen part for try/catch statements.
2020-04-14 18:42:37 +02:00
Daniel Kirchner
c47714f0ba
Update ASTJSON tests that fail to compile.
2020-04-14 10:59:28 +02:00
Daniel Kirchner
3af43fd350
Extract typing.
2020-04-14 10:59:28 +02:00
chriseth
748afe0edd
Merge pull request #8630 from ethereum/encoding-bug-functionCallOption
...
TypeChecker error when encoding functions with call options; tests
2020-04-08 16:33:24 +02:00
chriseth
9fab9df18c
Merge pull request #8607 from a3d4/fix-nested-tuples
...
Fixed nested tuples on the right-hand side.
2020-04-08 12:29:52 +02:00
a3d4
aba0b2957c
Fix tuple assignments with multi-slot components.
2020-04-07 18:39:25 +02:00
hrkrshnn
229587672f
TypeChecker error when encoding functions with call options; tests
2020-04-07 21:11:46 +05:30
chriseth
236eff8416
Export immutability.
2020-04-07 17:30:54 +02:00
chriseth
51883958ab
Merge remote-tracking branch 'origin/develop' into breaking
2020-04-07 11:14:28 +02:00
Leonardo Alt
e3ec22124e
[SMTChecker] Fix ICE in CHC internal calls
2020-04-07 01:09:03 +02:00
chriseth
806c835647
Merge pull request #8568 from aarlt/clang-tidy-apply-modernize-use-override
...
clang-tidy: Apply modernize-use-override.
2020-04-06 16:09:02 +02:00
Daniel Kirchner
d68c526eaa
Disallow external function pointers as immutables.
2020-04-03 11:56:51 +02:00
hrkrshnn
042ccd24ab
Added error message for virtual (library) functions; test case
2020-04-03 15:09:57 +05:30
Alexander Arlt
cae6e7769f
Apply modernize-use-override.
2020-04-02 18:00:44 -05:00
chriseth
d7a39c86ce
Accessors for immutable variables.
2020-04-02 19:09:54 +02:00
chriseth
216fca5b70
Merge pull request #8578 from ethereum/interface-function-modifier-error
...
Added error for interface functions that have modifiers; test case
2020-04-02 18:05:32 +02:00
hrkrshnn
ef2bef9ddc
Added error for interface function with modifiers; test case
2020-04-02 20:30:43 +05:30
Leonardo Alt
39ff0deb05
Zero initialize memory arrays
2020-04-02 15:55:18 +02:00
Mathias Baumann
ac7b31e559
Validate immutable variables
2020-04-02 13:52:27 +02:00
chriseth
a2b427dc0b
Merge pull request #8567 from ethereum/storage-pointer-checker
...
Removed redundant storage declaration check; test coverages
2020-04-02 13:46:51 +02:00
hrkrshnn
8e6567e399
New folder localStorageVariable for new testcases; added two new tests
2020-04-02 16:34:45 +05:30
hrkrshnn
aec0ae8ec1
Extended test-coverage for storage declaration
2020-04-02 15:45:04 +05:30
hrkrshnn
79387b2ada
Removed redundant declaration check; changed relevant test cases
2020-04-02 12:27:38 +05:30
Daniel Kirchner
77ea896b68
Properly handle assignments of immutables at declaration.
2020-04-02 08:35:22 +02:00
Daniel Kirchner
fe9f8d520c
Restrict size for dynamic memory array creation.
2020-04-01 17:25:09 +02:00
Alexander Arlt
3e649eb8e1
Disallow access to functions from inline assembly.
2020-04-01 10:34:55 +02:00
chriseth
b83d82ab75
Merge pull request #8550 from a3d4/fix-8450-typechecker-compiler-error
...
Fix a couple of internal compiler errors when assigning nested tuples
2020-03-31 22:21:58 +02:00
a3d4
c002cae691
Fix #8450 . Prevented internal compiler errors when assigning nested tuples.
2020-03-31 03:25:26 +02:00
Djordje Mijovic
89d5ecdd24
[Sol2Yul] Adding support for constructor with parameters
2020-03-27 01:19:11 +01:00
chriseth
173f234860
Refactor: Replace inheritance hierarchy by most derived contract.
2020-03-26 18:27:39 +01:00
chriseth
165f7bf60f
Move files.
2020-03-26 17:47:36 +01:00
Alexander Arlt
67e9776418
Extract 45 tests from SolidityEndToEndTest.cpp
2020-03-26 17:39:12 +01:00
chriseth
1897138916
Merge pull request #8522 from a3d4/fix-8427-ast-types-compiler-error
...
Promoted typeError to fatalTypeError in ReferencesResolver
2020-03-25 11:23:00 +01:00
a3d4
339f3ca32c
Fix #8427 : Promoted typeError to fatalTypeError in ReferencesResolver::endVisit(UserDefinedTypeName).
2020-03-25 02:51:34 +01:00
Daniel Kirchner
e255c15227
Tests.
2020-03-24 16:45:31 +01:00
Daniel Kirchner
04d8ad2ae1
Legacy codegeneration for immutable state variables.
2020-03-24 16:45:25 +01:00
chriseth
7d68f9f6c3
Merge remote-tracking branch 'origin/develop' into breaking
2020-03-24 13:35:41 +01:00
Leonardo Alt
42b143098e
Add natspec test with too many return tags
2020-03-24 13:04:07 +01:00
Daniel Kirchner
fe659ceb41
Anything outside storage is always a pointer.
2020-03-23 15:34:10 +01:00
Leonardo Alt
0fcb1427c9
Fix Yul codegen when dynamic array is used as rhs of assignment
2020-03-20 17:52:51 +01:00
chriseth
d55bbd4aa5
Merge pull request #8508 from a3d4/again-refactor-testcase-classes
...
More refactoring of TestCase classes
2020-03-19 23:05:32 +01:00
chriseth
f25157a5f8
Sort tests.
2020-03-19 14:42:25 +01:00
chriseth
8834b1acaf
Merge pull request #8464 from aarlt/end-to-end-verified
...
[test] Extraction of 292 tests from SolidityEndToEndTest.cpp
2020-03-19 14:42:04 +01:00
a3d4
f4d9f6772f
Unified use of settings. Removed a couple of unused functions.
2020-03-19 14:02:39 +01:00
Alexander Arlt
23d00b5ca3
Extracted 292 tests from SolidityEndToEndTest.cpp
2020-03-18 11:56:43 -05:00
a3d4
bb38ce1759
Decoupled error checking and report printing in CommonSyntaxTest.
2020-03-16 23:22:56 +01:00
a3d4
66783c30ce
Introduced TestCaseReader.
2020-03-16 23:14:33 +01:00
chriseth
4e4a3da920
Merge pull request #8481 from aarlt/add-show-metadata
...
Add --show-metadata to enable metadata output.
2020-03-16 14:25:42 +01:00
Djordje Mijovic
96d278b101
[Sol->Yul] Adding slicing for call data arrays
2020-03-13 13:40:38 +01:00
Alexander Arlt
9d67edb163
Add --show-metadata to enable metadata output.
2020-03-12 13:39:29 -05:00
chriseth
fa148f2483
Parsing of immutable state variable.
2020-03-12 17:11:24 +01:00
a3d4
a86c511713
Replaced "assert" with "if" (incorrect contract code is not supposed to trigger asserts).
2020-03-12 14:03:27 +01:00
Daniel Kirchner
bdd8045db5
Merge pull request #8183 from ethereum/functionOptionsYulIR
...
[YulIR] Function call options for Yul IR
2020-03-12 10:49:51 +01:00
Leonardo Alt
89ce2dbfe9
The identifier var
should be fine in Yul
2020-03-11 18:45:08 +01:00
chriseth
9d92c9fbf1
Merge remote-tracking branch 'origin/develop' into HEAD
2020-03-11 18:44:06 +01:00
Leonardo Alt
07368c2e1e
Add support to internal function calls
2020-03-11 16:29:07 +01:00
chriseth
5dd30777d2
Test.
2020-03-10 22:44:06 +01:00
Leonardo Alt
bcefda747c
Do not run smtCheckerTestsJSON if no solver available
2020-03-10 15:41:49 +01:00
Christian Parpart
bb29a7e497
Merge pull request #8460 from ethereum/yulutil-convert-array
...
YulUtilFunctions: convertionFunction() to also handle array string/memory casts
2020-03-10 14:00:34 +01:00
Christian Parpart
5d7a370248
YulUtilFunctions: convertionFunction() to also handle array string/memory casts.
2020-03-10 11:21:12 +01:00
chriseth
8d2a9bf773
Merge pull request #8458 from a3d4/partfix-8244-introduced-testcase-shouldrun
...
Partial Fix #8244 : Introduced TestCase::shouldRun().
2020-03-09 18:35:12 +01:00
Daniel Kirchner
809e3503ba
Control flow analysis for inline assembly.
2020-03-09 16:23:10 +01:00
a3d4
29b770c434
Introduced TestCase::shouldRun().
2020-03-09 15:52:20 +01:00
chriseth
b7c001eb7f
Merge pull request #8416 from ethereum/reuseYulCalldataTailAccess
...
Fix yul calldata tail access functions and reuse them for old codegen.
2020-03-09 15:10:48 +01:00
chriseth
37e01a19c0
Fix scoping following try/catch.
2020-03-09 13:14:13 +01:00
Christian Parpart
988bd6780b
Merge pull request #8414 from ethereum/sol2yul-func-type-conversion
...
[Sol2Yul] Implements function-to-function cast.
2020-03-09 11:31:44 +01:00
Christian Parpart
e210026e74
[Sol2Yul] Implements function-to-function cast.
2020-03-09 10:40:57 +01:00
chriseth
a328e940b5
Merge pull request #8429 from ethereum/astJsonImportYulBlock
...
Fix yul ast import for blocks, switches and string literals.
2020-03-08 17:06:05 +01:00
Daniel Kirchner
e58a1de57f
Merge pull request #8431 from mijovic/sol2YulSelectorAddress
...
Adding sol->yul for f.selector and f.address
2020-03-06 22:48:38 +01:00
Djordje Mijovic
092827b7ad
Adding sol->yul for f.selector and f.address
2020-03-06 21:43:14 +01:00
Daniel Kirchner
2df5ca0774
Merge pull request #8385 from ethereum/immutable
...
Immutable state variables (1)
2020-03-06 14:20:13 +01:00
Daniel Kirchner
7f38cbb91d
Fix calling unimplemented base function.
2020-03-06 10:51:16 +01:00
Daniel Kirchner
420f57aec3
Fix yul ast import for blocks, switches and string literals.
2020-03-05 14:09:13 +01:00
Daniel Kirchner
b10f12a395
Merge pull request #8413 from mijovic/depratateValueCalls
...
Deprecated warning for .value() and .gas() on function and constructr…
2020-03-04 14:43:06 +01:00
Daniel Kirchner
919888ddbc
Use yul function for calldata tail access, fix checks and add additional revert reason.
2020-03-04 14:39:36 +01:00
Christian Parpart
a3bc752e53
Merge pull request #8415 from ethereum/tests-ExecutionFramework-reset
...
[test] Fixes ExecutionFramework providing different contract addresse…
2020-03-04 14:17:11 +01:00
Djordje Mijovic
58c6b90705
Deprecated warning for .value() and .gas() on function and constructror calls
2020-03-04 12:51:49 +01:00
Christian Parpart
495abee769
[test] Fixes ExecutionFramework providing different contract addresses when running test cases for both, old and new yul codegen.
2020-03-03 16:36:12 +01:00
Leonardo
32ca1a5e26
Merge pull request #8311 from ethereum/smt_split_2
...
[SMTChecker] Change CHC encoding from explicit CFG to function forests
2020-03-03 13:16:14 +01:00
Leonardo Alt
3bee348525
Change CHC encoding to functions forest instead of explicit CFG
2020-03-03 12:12:26 +01:00
Leonardo Alt
96a230af50
[SMTChecker] Fix ICEs with tuples
2020-03-03 11:35:58 +01:00
chriseth
f10c6500b2
Immutable is not reserved anymore.
2020-03-02 14:20:17 +01:00
chriseth
06ad5b3200
Merge remote-tracking branch 'origin/develop' into HEAD
2020-02-27 15:06:36 +01:00
Erik Kundt
d1b6a4a649
Fixes raw bytes warning in semantic test framework.
2020-02-26 21:37:52 +01:00
Leonardo
6930e0c2e0
Merge pull request #8384 from ethereum/fixRePrintingValue
...
Fix re-printing value expectations.
2020-02-26 09:57:30 +01:00
chriseth
40cae442d5
Fix re-printing value expectations.
2020-02-25 22:10:35 +01:00
chriseth
45041e5d3a
Allow access to `_slot
` for local storage pointer variables.
2020-02-25 14:28:04 +01:00
Djordje Mijovic
dd9009eba6
TestFileParser: Adding new keyword wei for expressing function value
2020-02-21 11:39:37 +01:00
chriseth
c2e22d4cab
Merge pull request #8221 from ethereum/structured-docs-error-locations
...
[parser] Source locations for structured documentation errors
2020-02-18 14:57:28 +01:00
Djordje Mijovic
18dea6b69c
Assembly: Added missing source field to legacy assembly json output to complete the source reference
2020-02-18 10:22:34 +01:00
chriseth
c50631d4e2
Update tests.
2020-02-17 12:58:06 +01:00
chriseth
29e5cd89be
Remove stack counting from Asm Analysis.
2020-02-17 12:58:05 +01:00
Erik Kundt
017d33cfbe
Fix typos in filenames within docstring syntax tests.
2020-02-14 15:53:39 +01:00
Erik Kundt
85fc0b597b
Adjusts tests to source locations for structured documentation errors.
2020-02-14 15:53:39 +01:00
chriseth
99f88742d6
Merge pull request #8263 from ethereum/functionSelectorPure
...
Mark function selectors accessed via declaration as pure.
2020-02-14 12:34:39 +01:00
Daniel Kirchner
9f094d59b9
Mark function selector accesses as pure for pure expressions and mark function accesses via contract name as pure.
2020-02-14 12:33:33 +01:00
Christian Parpart
c92fe69a60
Finishes external call implementation.
2020-02-14 11:59:04 +01:00
Leonardo Alt
3800391a1a
[Yul] Support conditionals
2020-02-13 17:02:15 -04:00
Mathias L. Baumann
c635377450
Merge pull request #8313 from ethereum/checkFunctionsExistInIsoltest
...
Make type error fatal to prevent assert failure at later point
2020-02-13 16:08:13 +01:00
Mathias Baumann
8911b58a6d
Make type error fatal to prevent assert failure at later point
2020-02-13 15:16:28 +01:00
Daniel Kirchner
7af581df1f
Merge pull request #8309 from ethereum/checkFunctionsExistInIsoltest
...
Check that functions exist in isoltest.
2020-02-13 14:29:58 +01:00
chriseth
9aed40ab19
Check that functions exist in isoltest.
2020-02-13 13:22:53 +01:00
chriseth
1ea66fd1f8
Merge pull request #8301 from ethereum/fixPostTypeChecker
...
PostTypeChecker: ConstStateVarCircularReferenceChecker on function type state variables.
2020-02-12 18:40:19 +01:00
Daniel Kirchner
45f80e9895
Move assertion in PostTypeChecker's ConstStateVarCircularReferenceChecker to account for function type variables
2020-02-12 17:42:27 +01:00
Alexander Arlt
d0eeca8014
Fix CompilerStack::loadMissingSources()
...
- FatalError Exception was not caught
- fixes #8102
2020-02-12 11:22:11 -05:00
Daniel Kirchner
df0873d138
Implement calldata arrays for Yul IR
2020-02-12 14:00:29 +01:00
Daniel Kirchner
3c9f18b749
Use IRVariable's in IR code generation and implement tuples.
2020-02-12 12:36:14 +01:00
Daniel Kirchner
9c3151748e
Move mapping key checks to ReferencesResolver and make them fatal.
2020-02-11 13:35:23 +01:00
Leonardo Alt
36928c7a35
Add reason string for internal reverts
2020-02-10 11:57:20 -03:00
Daniel Kirchner
e07274a96f
Disallow libraries as mapping keys.
2020-02-06 09:09:43 +01:00
chriseth
5de3379d82
Merge pull request #8238 from ethereum/yul-syntax-tests
...
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann
fc10e701fc
Implement yul syntax tests
2020-02-05 14:58:34 +01:00
chriseth
0b9c842656
Fix abstract without contract.
2020-02-05 12:14:14 +01:00
Daniel Kirchner
d882b6fa83
Allow tests to be marked ABIEncoderV1Only.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
af9fc8b634
Mapping getters for Yul IR.
2020-02-04 17:22:03 +01:00
Daniel Kirchner
d3cbfb0c5c
Allow user-defined types as mapping keys in parser and restrict to contracts during type checking.
2020-02-04 17:22:03 +01:00
Erik Kundt
4a179056ed
Adds JSON import / export for structured documentation.
2020-01-30 18:26:01 +01:00
Erik Kundt
ec27c2e507
Introduce AST node for structured documentation.
2020-01-30 18:25:56 +01:00
chriseth
457cdecf6f
Merge pull request #8135 from ethereum/fix-get-options-7112
...
TestFramework: Merge Options.h into Common.h
2020-01-29 16:05:55 +01:00
Mathias L. Baumann
5130a2b0ae
Merge pull request #8063 from ethereum/yulvisit-7656
...
Use yul::AstWalker for assembly reference resolving
2020-01-29 14:56:19 +01:00
Mathias Baumann
00e4d13975
TestFramework: Merge Options.h into Common.h
2020-01-29 12:27:05 +01:00
chriseth
35820398c2
Merge pull request #8179 from pinkiebell/codegen
...
libsolidity/codegen: Use calldatacopy to cheaply zero memory..
2020-01-28 18:07:30 +01:00
Mathias Baumann
b8e2baf5f4
Use yul::AstWalker to resolve assembly symbols
2020-01-28 17:57:48 +01:00
Mathias Baumann
2f1f8e25c1
TestFramework: Remove headers from Options.h
2020-01-28 17:29:22 +01:00
Mathias Baumann
1027f6f78f
Extract some semantic tests
2020-01-28 11:59:44 +01:00
chriseth
790c6d2cae
Tests for salted create.
2020-01-23 21:20:01 +01:00
chriseth
2fa586beac
Test that uses function call options on overloaded function.
2020-01-23 21:20:01 +01:00
Mathias Baumann
a3f23d3158
Implement new with CREATE2 and function call options.
2020-01-23 21:20:01 +01:00
pinkiebell
bb6fb675e0
libsolidity/codegen: Use calldatacopy to cheaply zero memory instead of
...
codecopy.
Motiviation:
Zero'ing memory is commonplace in contracts, but with the upcoming
Layer-2 EVM translation layers and other on-chain verification
mechanisms, using `codecopy` becomes a `costly` operation in those
sandboxes. Using `calldatacopy` achieves the same thing, gas costs
are also the same as codecopy, and is significantly cheaper in the `sandbox` situation.
2020-01-22 17:56:56 +01:00
Jason Cobb
595f569e97
Update tests for interface inheritance
2020-01-22 09:40:40 -05:00
Jason Cobb
573a054d5d
Prohibit interfaces inheriting from non-interfaces
2020-01-22 09:40:40 -05:00
chriseth
1b19524036
Merge pull request #8150 from ethereum/isoltest-alignment-output
...
[isoltest] Proper output of alignment in obtained test results
2020-01-20 12:38:12 +01:00
Alex Beregszaszi
004f01a388
Add test case for gas metering of exp(n, 0)
2020-01-17 14:24:55 +01:00
Daniel Kirchner
ee5ff4df4e
Clean up visibility via contract name and fix ICE on calling unimplemented base function.
2020-01-16 19:13:04 +01:00
Erik Kundt
ae67cbde7d
Fixes missing alignment output in isoltest.
2020-01-15 18:18:16 +01:00
chriseth
ed87b08911
Merge pull request #8066 from ethereum/removeAsmFlavour
...
Remove asm flavour
2020-01-15 14:21:54 +01:00
Nicolás Venturo
9649c92e12
Fix error message suggestion for receive
2020-01-14 23:24:27 +01:00
chriseth
0f014144c8
Test for true/false in inline assembly.
2020-01-14 17:16:09 +01:00
chriseth
123ea0a250
Remove asm flavour.
2020-01-14 17:16:09 +01:00
djudjuu
e8556fa1b2
Ast-Import from standard-json
2020-01-14 17:15:53 +01:00
chriseth
4d681fb16d
Merge remote-tracking branch 'origin/develop' into HEAD
2020-01-14 16:43:48 +01:00
Mathias Baumann
adc4774d4a
ASTJSON: Export evm version
2020-01-14 12:51:21 +01:00
Erik Kundt
7fec5f9548
Fixes unused variables that break osx build.
2020-01-11 23:11:04 +01:00
Erik Kundt
729b47e641
Updates semantic tests to 0.7.0.
2020-01-11 23:11:00 +01:00
Daniel Kirchner
9535c0f520
Introduce FunctionKind::Declaration and allow accessing function signatures via contract name.
2020-01-09 15:40:41 +01:00
chriseth
5ca3abd7cb
Merge pull request #8106 from random-internet-cat/move-contract-kind
...
Move ContractKind from ContractDefinition to file-scope
2020-01-08 13:06:26 +01:00
chriseth
40c0602b5c
Do not rematerialize in loops.
2020-01-08 09:56:08 +01:00
chriseth
d1a7ff0fbc
Merge pull request #8008 from ethereum/large-code
...
Issue warning if codesize exceeds EIP-170 limits
2020-01-08 09:48:59 +01:00
Christian Parpart
345f9928ab
Library libdevcore renamed to libsolutil.
2020-01-07 15:51:50 +01:00
Christian Parpart
ed45b000d1
Adapt tests directory to C++ namespace changes.
2020-01-07 15:51:50 +01:00
Christian Parpart
6b23412fae
C++ namespace cleanup (except tests).
2020-01-07 15:51:50 +01:00
Jason Cobb
529405deb6
Move ContractKind from ContractDefinition to file-scope
2020-01-07 09:11:29 -05:00
Leonardo Alt
d972a10b4f
Review 1
2020-01-02 12:43:56 +01:00
Alex Beregszaszi
4d791b2679
Issue warning if codesize exceeds EIP-170 limits
2019-12-25 19:51:35 +01:00
chriseth
4b026fa633
Update gas costs.
2019-12-18 01:41:32 +01:00
chriseth
bdd338a8de
Merge pull request #7921 from ghallak/func-selector-ast-json
...
Add function selector to FunctionDefinition AST JSON
2019-12-16 14:07:35 +01:00
Gaith Hallak
0396bc7beb
Modify the tests to include the function selector
2019-12-16 15:16:54 +03:00
chriseth
670b719773
Updates to control structures (2).
...
Co-Authored-By: Bhargava Shastry <bhargava.shastry@ethereum.org>
2019-12-12 17:01:57 +01:00
chriseth
276c777af3
Merge pull request #7976 from ethereum/solc-api
...
Test solidity_free in tests too
2019-12-12 12:48:28 +01:00
Alex Beregszaszi
6e6bc9904f
libsolc: change return type of compile to non-const
2019-12-12 11:26:16 +00:00
chriseth
c175a468ab
Do not call ABIEncoderV2 experimental.
2019-12-12 10:59:07 +01:00
Alex Beregszaszi
2ccf3ea4ab
Test solidity_free in tests too
2019-12-11 18:43:13 +00:00
chriseth
f22bd769ff
Merge pull request #7939 from ethereum/more_tests_override_stuff
...
Ambiguous override for public state variables
2019-12-11 17:16:59 +01:00
Alex Beregszaszi
5998f31543
Use BOOST_REQUIRE instead of BOOST_CHECK in LibSolc tests where appropriate
2019-12-11 15:17:50 +00:00
Alex Beregszaszi
b7d6e44af7
Fix callback memory allocation in tests
2019-12-11 15:17:39 +00:00
Christian Parpart
8682af2216
libsolc: Overhauls memory management.
2019-12-11 15:17:39 +00:00
Leonardo Alt
1fb62b91d2
Add more override tests with public state variables
2019-12-11 15:15:51 +01:00
chriseth
07d271e770
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-10 10:07:30 +01:00
Alex Beregszaszi
c9360421fc
Move snark test from SolidityEndToEnd
2019-12-09 18:33:07 +00:00
chriseth
a5f7661075
Ambigous overrides for modifiers.
2019-12-09 18:43:59 +01:00
chriseth
152f42c6b2
Make ambigous override checker generic.
2019-12-09 18:41:39 +01:00
chriseth
6d2e59cc80
More tests.
2019-12-09 18:41:39 +01:00
chriseth
e1d6ce2b66
Override checks for modifiers.
2019-12-09 18:41:39 +01:00
chriseth
f6916a637e
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-09 17:16:58 +01:00
Leonardo
2579a12bb8
Merge pull request #7894 from ethereum/smt_isoltest_choice
...
[SMTChecker] Create SMTSolver option in isoltest
2019-12-09 16:41:20 +01:00
chriseth
06e8e216b3
Some more tests.
2019-12-09 16:04:45 +01:00
Daniel Kirchner
4c7f9f9751
Do not require overriding for functions in common base with unique implementation.
2019-12-09 16:04:45 +01:00
chriseth
9c3503834d
Fix semver matcher differently.
2019-12-09 15:45:01 +01:00
Leonardo Alt
beed0f6a27
Set tests that CVC4 can't handle to Z3 only
2019-12-09 15:32:08 +01:00
Leonardo Alt
8d5f5a5cbe
Remove deprecated code
2019-12-09 15:32:08 +01:00
Leonardo Alt
77b9416d3e
Extract SMTChecker mod test
2019-12-09 15:32:08 +01:00
Leonardo Alt
02343208ad
Extract SMTChecker compound assignment division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
ae6cdc3442
Extract more SMTChecker division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
b870e4ea31
Extract SMTChecker division tests
2019-12-09 15:32:08 +01:00
Leonardo Alt
225041738e
Add SMTCheckerTest for isoltest
2019-12-09 15:32:08 +01:00
Leonardo Alt
3e8584bd21
Pull SyntaxTest::run content into separate functions
2019-12-09 15:32:08 +01:00
Mathias Baumann
e999409c89
Sync & update AST exporting according to AST changes
2019-12-09 10:42:24 +00:00
chriseth
e061f1e743
Merge remote-tracking branch 'origin/develop' into HEAD
2019-12-05 16:44:26 +01:00
chriseth
1fe1459b7d
Merge pull request #7583 from HenryRLee/issue5081
...
Version Checker: 0.5.x-prerelease will match `pragma solidity ^0.5` #5081
2019-12-05 14:59:58 +01:00
Mathias Baumann
b7d5de59c5
Implement overridding of functions by public variables
2019-12-05 12:48:52 +00:00
Gaith Hallak
4d90180e24
Support referencing other constants in inline assembly
2019-12-05 13:27:17 +03:00
chriseth
52467108ac
Merge pull request #7903 from ethereum/fixSuperFunction
...
Update missed tests for removal of superFunction.
2019-12-05 10:45:35 +01:00
chriseth
ac996d209f
Fix gas cost test.
2019-12-05 10:17:09 +01:00
Daniel Kirchner
426f04b389
Implement and fix overriding unimplemented and implemented functions with unimplemented functions.
2019-12-05 09:26:43 +01:00
chriseth
2c72ee7017
Merge pull request #7902 from ethereum/fixTest
...
Fix test
2019-12-05 09:22:50 +01:00
chriseth
cf12e20e43
Fix test.
2019-12-05 09:12:05 +01:00
Daniel Kirchner
d3ba65968c
Add new test.
2019-12-05 03:33:32 +01:00
Daniel Kirchner
7fab1c5e4a
Update tests.
2019-12-05 03:33:32 +01:00
Henry Lee
628d219c94
Version Checker: 0.5.x-prerelease will match pragma solidity ^0.5
...
Basically, the pre-release rule is only applied when all remaining
version numbers equal to 0.
2019-12-05 09:07:20 +11:00
chriseth
d34b0b76b1
Merge pull request #7837 from ethereum/docstring-named-return
...
Report DocString error on named return paramater mismatch
2019-12-04 17:57:52 +01:00
chriseth
42d9a8e962
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-04 17:01:44 +01:00
Erik Kundt
19d466d6fb
Fixes named return natspec errors in compilation tests.
2019-12-04 15:38:12 +01:00
Erik Kundt
e5cb0fe839
Reports doctring error on named return mismatch.
2019-12-04 15:38:11 +01:00
chriseth
4365b665f4
Increase loop size to account for net storage gas metering.
2019-12-04 13:13:05 +01:00
chriseth
af482470f9
Update gas costs.
2019-12-04 11:41:42 +01:00
chriseth
dc79274871
Set default EVM version to Istanbul.
2019-12-04 10:42:14 +01:00
Leonardo Alt
d6e8ca4c54
Fix SMTChecker tests in 060
2019-12-03 21:44:10 +01:00
chriseth
f2790cc5e0
Merge pull request #7886 from ethereum/develop
...
Merge develop into develop_060
2019-12-03 21:41:49 +01:00
chriseth
37d776a1a6
Merge pull request #7831 from ethereum/mocked-host
...
Use evmc::MockedHost moar
2019-12-03 21:27:50 +01:00
chriseth
e3ee67da6c
Merge pull request #7792 from ethereum/enableYulOptimizer
...
Enable yul optimizer by default.
2019-12-03 21:24:22 +01:00
chriseth
287b9be7af
Merge pull request #7872 from ethereum/smt_z3_4_8_7
...
Update to Z3 4.8.7
2019-12-03 21:23:40 +01:00
chriseth
2d42da3b7d
Merge pull request #7817 from ethereum/bail-on-shadowing-state-vars
...
Report error on shadowing state variables
2019-12-03 21:22:39 +01:00
Christian Parpart
7bbdfe070f
Make shadowing of inherited state variables an error.
2019-12-03 21:20:03 +01:00
chriseth
2f11ac3590
Merge remote-tracking branch 'origin/develop' into develop_060
2019-12-03 21:17:15 +01:00
chriseth
19a6f09cc8
Merge commit '4d2f20570' into develop_060
2019-12-03 21:01:31 +01:00
chriseth
96d777d7f1
Merge commit 'a7d481fb9' into develop_060
2019-12-03 20:47:30 +01:00
Leonardo Alt
5337f58767
Update to Z3 4.8.7
2019-12-03 20:19:20 +01:00
Alex Beregszaszi
c644f43cde
Update test expection in use_stack_optimization with YulException
2019-12-03 19:06:48 +01:00
Alex Beregszaszi
7156c908be
Drop non-strict version of jsonParse* and always use jsonParseStrict
2019-12-03 16:20:23 +01:00
Leonardo Alt
b1577f5e46
[SMTChecker] Fix ICE in array of structs type
2019-12-03 01:12:30 +01:00
Paweł Bylica
635e2fc9d3
EVMHost: Reuse tx_context from MockedHost
2019-12-02 23:04:02 +01:00
Daniel Kirchner
05baa23e8a
Require unimplemented functions to be virtual.
2019-12-02 21:59:00 +01:00
Alex Beregszaszi
fca0f6e2c1
Disable EndToEnd/snark test on <Byzantium (given the precompiles were introduced after)
2019-12-02 19:37:09 +01:00
Daniel Kirchner
77a9e91443
Enable yul optimizer by default.
2019-12-02 19:30:14 +01:00
Leonardo
a7d481fb94
Merge pull request #7851 from ethereum/smt_fix_function_type
...
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-30 13:15:08 +01:00
Leonardo
767ce4417f
Merge pull request #7850 from ethereum/smt_fix_typetype
...
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 18:18:26 +01:00
Leonardo Alt
5adc2a40b9
[SMTChecker] Fix ICE for arrays and mappings of functions.
2019-11-29 18:06:44 +01:00
Leonardo Alt
9eda95caf9
[SMTChecker] Fix visit to IndexAccess that has type Type
2019-11-29 17:20:50 +01:00
Leonardo Alt
c09da092d2
[SMTChecker] Fix constructors with local vars
2019-11-29 16:59:15 +01:00
Leonardo Alt
84f806e75d
Reenable push tests via Yul
2019-11-29 16:52:13 +01:00
Daniel Kirchner
7d1b0c6023
Fix Yul IR push
2019-11-28 18:11:38 +01:00
Leonardo Alt
a352abe00d
[SMTChecker] Add support to constructors
2019-11-28 14:43:23 +01:00
chriseth
f7fc42d8c3
Merge pull request #7826 from ethereum/develop
...
Merge develop into develop_060
2019-11-28 13:37:19 +01:00
Leonardo Alt
240ff30878
[SMTChecker] Do not visit the name of a modifier invocation
2019-11-27 22:34:33 +01:00
chriseth
1ebcc757e1
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-27 19:14:08 +01:00
Mathias Baumann
7bc6645218
Disallow use of virtual and private together
2019-11-27 18:52:41 +01:00
chriseth
0bb88dabb7
Restrict usage of plain "new".
2019-11-27 17:55:11 +01:00
chriseth
400667fddf
Update tests after merge from develop.
2019-11-26 16:27:07 +01:00
chriseth
b0db64ff5b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-26 16:19:35 +01:00
chriseth
41177bc75c
Merge pull request #7770 from ethereum/yul_string_format
...
[Yul] Format string literals back to quoted string literals
2019-11-26 15:51:54 +01:00
chriseth
0973ae751a
Do not warn about enabled ABIEncoderV2 anymore.
2019-11-26 15:49:42 +01:00
Leonardo Alt
ce83bfb088
[Yul] Format string literals back to quoted string literals
2019-11-26 15:28:39 +01:00
Gaith Hallak
4a1e85436b
Allow splitting string literals into multiple parts
2019-11-26 14:41:30 +03:00
Alex Beregszaszi
eedfafbbc4
Introduce callback context in libsolc
2019-11-22 11:42:39 +00:00
Leonardo Alt
ddc478e3e4
Add CallbackKind and use it for the SMT solver
2019-11-21 22:10:21 +00:00
chriseth
0201ff5a02
Merge pull request #7769 from ethereum/libsolc-doc
...
Document and clarify libsolc's interface
2019-11-21 22:57:32 +01:00
chriseth
a00f824479
Merge pull request #7773 from ethereum/develop
...
Merge develop into develop_060
2019-11-21 21:49:22 +01:00
Alex Beregszaszi
44c1f4a3bf
Change the error message of empty callback/error in libsolc
2019-11-21 19:53:16 +00:00
chriseth
d5e9271592
Merge pull request #7350 from ethereum/array-length-rvalue
...
Make `length` member read-only
2019-11-21 19:22:42 +01:00
chriseth
8f2595957b
Merge pull request #7719 from ethereum/librarySignatuŕes
...
Add selector member to public and external library functions.
2019-11-20 18:43:14 +01:00
Leonardo Alt
72eff30778
Fix develop 060 merge
2019-11-20 13:49:40 +01:00
Leonardo Alt
389da5228e
Merge remote-tracking branch 'origin/develop' into merge_develop_060
2019-11-20 12:27:40 +01:00
Erik Kundt
01705efb70
Adds and updates Yul tests for push() and pop().
2019-11-20 12:04:47 +01:00
Daniel Kirchner
372df6b9e1
Implement array push and pop for yul and replace assignments in via yul tests.
2019-11-20 12:04:42 +01:00
chriseth
5deaac0849
Merge pull request #7740 from ethereum/istanbul
...
Enable support for Istanbul
2019-11-20 10:49:27 +01:00
Erik Kundt
c184fe8e5b
Adjusts end-to-end tests to read-only array length.
2019-11-19 21:11:14 +01:00
Erik Kundt
7d6c0a50c2
Adjusts semantic tests to read-only array length.
2019-11-19 21:11:14 +01:00
Erik Kundt
d05afb34d6
Adjusts syntax tests to read-only array length.
2019-11-19 21:11:09 +01:00
chriseth
d696b3c92b
Merge pull request #7743 from ethereum/fixice-7558
...
Disallow conversion from ``super``
2019-11-19 18:52:33 +01:00
Mathias Baumann
23cad71c88
Disallow conversion from `super
`
2019-11-19 17:14:11 +01:00
Alex Beregszaszi
17ed0f0898
Set costs to 0 for unreachable cases in GasCosts tests
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
17f6a5a060
Update test expectations in GasCosts for ABIEncoderV2
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
da50285ae3
Update test expectations in GasCostsTests
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
cbb08ae3db
Add semantic test for SELFBALANCE in inline assembly
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
fc2af72a3d
Add semantic test for CHAINID in inline assembly
2019-11-19 17:09:18 +01:00
Alex Beregszaszi
840aba8929
Add new gas price for deployed bytecode (EIP2028)
2019-11-19 17:09:18 +01:00
Erik K
94272d44aa
Merge pull request #7745 from ethereum/develop
...
Merge develop into develop_060
2019-11-19 15:30:31 +01:00
chriseth
6797879128
Merge pull request #7647 from ethereum/virtual-5424
...
Implement virtual keyword
2019-11-19 13:21:27 +01:00
Erik Kundt
8faa6ffeaf
Adjusts syntax and semantic tests to 0.6.0
2019-11-19 12:10:07 +01:00
Leonardo Alt
e500a262ea
Fix SMTChecker tests for 060
2019-11-19 10:58:59 +01:00
Leonardo Alt
d818746e0c
[SMTChecker] Fix ICE in abi.decode
2019-11-18 13:15:10 +01:00
Daniel Kirchner
a0ae36ba70
Add selector member to public and external library functions.
2019-11-15 16:12:29 +01:00
chriseth
216e1749f4
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-14 13:42:46 +01:00
chriseth
766309b6e4
Merge pull request #7713 from ethereum/no-lib-instance-7625
...
Disallow variables of library types
2019-11-14 13:39:56 +01:00
Mathias Baumann
0891b9451b
Disallow variables of library types
2019-11-14 13:20:31 +01:00
chriseth
a667384517
Merge pull request #7712 from ethereum/fixIstanbulAsmParsing
...
Fix assembly parsing by passing evm version.
2019-11-14 13:20:15 +01:00
chriseth
b099374d8c
Fix assembly parsing by passing evm version.
2019-11-14 13:06:36 +01:00
Mathias Baumann
caa127e2a8
Make `abstract
` keyword instead of reserved
2019-11-14 11:49:39 +01:00
Mathias Baumann
5b8ff78176
Implement virtual keyword
2019-11-14 11:49:39 +01:00
Leonardo Alt
8efacfb545
[SMTChecker] Fix ICE in string literal to fixed bytes implicit conversion
2019-11-13 22:25:18 +01:00
Leonardo Alt
e3652627fd
[SMTChecker] Fix ICE in CHC when function used as argument
2019-11-13 15:11:30 +01:00
Mathias Baumann
7d4e4b6088
Parse "virtual" keyword
2019-11-13 13:28:01 +01:00
chriseth
c0cf96cbc1
Merge pull request #7699 from ethereum/test-require-str
...
Test `require` with string literals
2019-11-13 12:20:23 +01:00
djudjuu
e437443645
Inline assembly to AST json export
2019-11-13 12:13:22 +01:00
Mathias Baumann
c74b1daef2
Test require
with string literals
...
fixes #6651
2019-11-13 12:01:25 +01:00
Daniel Kirchner
ce7268272d
Allow obtaining the address of a library by conversion to `address
`.
2019-11-12 17:09:13 +01:00
chriseth
a7e133b95c
Merge pull request #7696 from ethereum/semanticsTestsLibraryDeployment
...
Add support for external libraries to extracted semantics tests.
2019-11-12 15:50:36 +01:00
Leonardo
684ccea6f0
Merge pull request #7697 from ethereum/develop
...
Merge develop into develop_060
2019-11-12 15:30:34 +01:00
Daniel Kirchner
c7e3318dba
Add support for external libraries to extracted semantics tests.
2019-11-12 15:19:04 +01:00
Leonardo Alt
dc2dff839c
[SMTChecker] Remove flaky tests until we fix the SMTChecker tests
2019-11-12 12:58:42 +01:00
Daniel Kirchner
8148619d5b
Merge branch 'develop' into develop_060
2019-11-12 10:32:41 +01:00
Leonardo Alt
b323134ef0
[SMTChecker] Update test expectations for z3 4.8.6
2019-11-11 18:43:59 +01:00
chriseth
2e5a42836c
Merge pull request #7681 from ethereum/develop
...
Merge develop into develop_060
2019-11-11 16:42:03 +01:00
Leonardo Alt
5dacaf57bc
Fix ICE in FixedBytes IndexAccess
2019-11-08 17:29:40 +01:00
chriseth
138ee647f1
Provide different options for reason strings.
2019-11-07 14:13:53 +01:00
Daniel Kirchner
108992c335
Merge pull request #7640 from ethereum/smt_fix_060
...
[SMTChecker] Fix override tests
2019-11-07 14:10:10 +01:00
chriseth
c0b27d0bc1
Merge pull request #7648 from ethereum/inlineAssemblyShadowing
...
Error on shadowing and invalid names in inline assembly
2019-11-07 13:31:09 +01:00
Daniel Kirchner
0556f64722
Analyze inline assembly variable declarations for invalid or shadowing names.
2019-11-07 13:04:37 +01:00
Leonardo Alt
fc945880d1
[SMTChecker] Fix override tests
2019-11-07 11:49:32 +01:00
chriseth
21e65076b3
Merge pull request #7650 from ethereum/develop
...
Merge develop into develop_060
2019-11-06 21:56:55 +01:00
cd10012
a94d22e5fe
Add documentation for extractReturnParameterDocs
2019-11-06 21:45:01 +01:00
cd10012
16fe59b7b4
Implement @erak review notes by creating function and adding constructor test
...
Update 060 doc with natspec change
Add two more tests with mixed usage
Fix solc-js
fix changelog
2019-11-06 21:44:59 +01:00
cd10012
f598b1515f
Give unamed parameters unique keys and update tests to new spec
...
Fix whitespace
2019-11-06 21:44:34 +01:00
cd10012
18fe693fdd
Add unamed return param test and check size in conditional
2019-11-06 21:44:09 +01:00
cd10012
b3ae601e88
Refactor to have multiple return params
2019-11-06 21:44:09 +01:00
Leonardo Alt
10e70b8603
[SMTChecker] Support inheritance and resolve overrides
2019-11-06 11:00:06 +01:00
chriseth
4d99bf68f4
Merge pull request #7638 from ethereum/develop
...
Merge develop into develop_060
2019-11-05 17:33:54 +01:00
chriseth
5388c919f0
Some changes to "abstract".
2019-11-05 13:55:31 +01:00
chriseth
cac2e843e6
Merge pull request #7618 from ethereum/addMoreAbstractKeywordsInTests
...
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-05 13:38:21 +01:00
Leonardo Alt
c5e081dc8c
[SMTChecker] Refactor CHC loops and add if blocks
2019-11-05 09:28:59 +01:00
chriseth
46ac16d25c
Merge remote-tracking branch 'origin/develop' into develop_060
2019-11-04 19:09:11 +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
chriseth
7c258873bd
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-04 17:26:38 +01:00
Daniel Kirchner
3321fc56ea
Split fallback function and introduce "fallback()" and "receive()" syntax.
2019-11-04 17:17:58 +01:00
chriseth
5392532d70
Fix override error message.
2019-11-04 13:37:23 +01:00
Alexander Arlt
c908c16acd
Remove InternalCompilerError on abstract contract instantiation.
2019-11-01 14:54:47 -05:00
Alexander Arlt
cd3ad73b5a
Update tests.
2019-11-01 14:54:47 -05:00
Alexander Arlt
e87924a96e
Update soltest related tests.
2019-11-01 14:54:47 -05:00
Alexander Arlt
54c5e604e5
Add new tests.
2019-11-01 14:54:47 -05:00
Mathias Baumann
6c6a9054b2
Implement override checking
2019-10-30 17:31:33 +01:00
Mathias Baumann
20e227afb5
Ensure list of overrides consists of contracts
2019-10-30 17:31:33 +01:00
Mathias Baumann
b76106fc4a
Parse override keyword for modifier definitions
2019-10-30 17:31:33 +01:00
chriseth
499fe57d33
Tests
2019-10-29 14:32:16 +01:00
Leonardo Alt
8a42e3f87a
[SMTChecker] Support assignments to m-d arrays and mappings
2019-10-28 17:27:39 +01:00
chriseth
edf1e83fda
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-28 15:21:49 +01:00
chriseth
607bf24afe
Merge pull request #7386 from ethereum/060-strict-inline-assembly
...
Defaulting to strict inline assembly (instead of loose)
2019-10-28 12:48:58 +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
chriseth
07c67b98f6
Merge remote-tracking branch 'origin/develop' into HEAD
2019-10-28 12:12:52 +01:00
Christian Parpart
df729b3084
Make use of C++17 std::optional<> instead of boost::optional<>.
2019-10-28 11:39:30 +01:00
Christian Parpart
30a99e0df4
test: Adapts InlineAssembly test case for jump instruction (which doesn't "exist" in strict assembly).
2019-10-28 10:03:16 +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
Christian Parpart
f05718ef5d
Syntax tests: Adapted to changes.
2019-10-25 15:01:27 +02:00
Christian Parpart
e40c498260
Adapting the tests to strict inline assembly.
2019-10-25 15:01:25 +02: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
Mathias L. Baumann
7e01696030
Merge pull request #7554 from ethereum/develop
...
Merge develop into develop_060
2019-10-21 17:05:12 +02:00
chriseth
e626437d77
Merge pull request #7538 from ghallak/7198-remove-padded-zeros
...
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 15:55:02 +02:00
chriseth
ebfe7391ff
Use selfbalance for `address(this).balance
`.
2019-10-16 14:25:56 +02:00
Gaith Hallak
8a8f553e4d
Remove trailing zeros from the output of BytesUtils::formatBytes
2019-10-16 14:42:12 +03:00
Gaith Hallak
02ae43aad4
Fix the documentation for TestFunctionCall::format
2019-10-16 14:42:12 +03:00
chriseth
cea6d6df8b
Merge remote-tracking branch 'origin/develop' into develop_060
2019-10-05 13:08:44 +02:00
Gaith Hallak
51ae296cac
Modify the expectation files in ASTJSON tests.
2019-10-02 22:31:12 +02:00
Gaith Hallak
6c7e849431
Modify the expectation files in ASTJSON tests
...
The following changes to expecation files are required for the ASTJSON
tests to pass:
* remove trailing spaces in ASTJSON tests
* replace indention tabs with 2 spaces in ASTJSON tests
* remove the space between the key and the colon in ASTJSON tests
2019-10-02 19:14:41 +03:00
chriseth
f884373142
Merge branch 'origin/develop' into develop_060
2019-10-02 16:29:36 +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
Leonardo Alt
b40895c100
Fix try catch test
2019-09-26 18:27:09 +02:00
Leonardo
ca714a2d3d
Merge pull request #7485 from ethereum/develop
...
Merge develop into develop_060
2019-09-26 15:43:12 +02:00
Christian Parpart
f85f6ba7e0
Fixes doxygen style multiline comment parsing for files with CRLF as line terminators.
2019-09-25 12:59:46 +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
9c23f35bec
Merge pull request #7462 from ethereum/version-060
...
Build version 0.6.0
2019-09-24 12:48:00 +02:00
Erik Kundt
e3a29ffcd3
Updates tests to version 0.6.0.
2019-09-24 12:01:14 +02:00
chriseth
973e4ca90a
Merge pull request #7453 from ethereum/smt_lib_const_array
...
[SMTChecker] Add "as const: function to SMTLib2Interface
2019-09-24 11:02:34 +02:00
chriseth
ca21659749
Fix error message about accessing storage pointers.
2019-09-24 10:52:02 +02:00
chriseth
f3c4f466f6
Merge remote-tracking branch 'origin/develop' into develop_060
...
Had to adjust gas costs during merge.
2019-09-24 10:28:22 +02:00
chriseth
b5d6d5fcf9
Create.
2019-09-23 17:22:56 +02:00
chriseth
b5bc52f2a7
Control flow for try statements.
2019-09-23 17:22:56 +02:00
chriseth
644a402166
Tests.
2019-09-23 17:22:56 +02:00
chriseth
bfc8fd23ac
Document chainid and selfbalance.
2019-09-19 15:35:37 +02:00
Leonardo Alt
ed9674be8d
[SMTChecker] Add as const function to SMTLib2Interface
2019-09-18 22:57:14 +02:00
Leonardo Alt
43d6e00b14
Add push() for dynamic storage arrays
2019-09-17 13:47:33 +02:00
chriseth
7a79742f3d
Out of body again.
2019-09-17 12:30:15 +02:00
chriseth
5b3efee93b
Merge pull request #7442 from ethereum/develop
...
Merge develop into develop_060
2019-09-17 12:16:27 +02:00
Leonardo Alt
eab9f65610
Fix ICE when pop dyn storage array of mapping
2019-09-16 16:33:17 +02:00
Leonardo Alt
d685554980
Create option for metadata hash
2019-09-13 18:59:12 +02:00
Leonardo Alt
e1c238e25f
[SMTChecker] Add loop support
2019-09-13 12:40:53 +02:00
Daniel Kirchner
c72d1ffb65
Merge pull request #7421 from ethereum/develop
...
Merge develop into develop_060
2019-09-13 12:14:02 +02:00
Daniel Kirchner
4782c800ec
Initial introduction of array slices with partial implementation for dynamic calldata arrays.
2019-09-13 10:57:53 +02:00
Erik Kundt
e92b921123
[isoltest] Adds support for fallback and ether functions.
2019-09-13 10:55:46 +02:00
chriseth
50ce3b0ac8
Merge pull request #7420 from ethereum/develop
...
Merge develop into develop_060
2019-09-12 22:06:55 +02:00
chriseth
4f80117eef
Use builtin iszero for for loop condition rewriting.
2019-09-12 10:26:16 +02:00
Erik Kundt
4162c3d7af
[isoltest] Adds fallback formatting.
2019-09-11 15:45:53 +02:00
chriseth
acf10ef60f
Merge pull request #7393 from ethereum/develop
...
Merge develop into 0.6.0
2019-09-10 12:27:02 +02:00
Leonardo Alt
5cfe0b7670
Allow explicit conversion from address to address payable
2019-09-09 23:46:00 +02:00
Erik Kundt
5e12e0cf27
[isoltest] Fixes auto-update for revert.
2019-09-09 22:46:43 +02:00
chriseth
a272506a34
Merge pull request #7374 from ethereum/hexStringUnderscores
...
Allow underscores in hex strings.
2019-09-09 11:48:46 +02:00
Daniel Kirchner
6f3341a204
Allow underscores in hex strings.
2019-09-06 17:58:35 +02:00
Daniel Kirchner
f4d990e5be
Drop constant and payable fields from ABI.
2019-09-06 14:42:09 +02:00
Daniel Kirchner
9bcaeef39f
Fix test wrt changed json ABI sorting.
2019-09-05 13:39:23 +02:00
chriseth
fd687f50ff
Merge pull request #7353 from ethereum/develop
...
Update 0.6.0 from develop
2019-09-04 20:21:37 +02:00
krk
33f7f960cf
Allow exponentials with signed base and unsigned power.
2019-09-04 17:32:47 +02:00
chriseth
8485a1abec
Change ABI sorting order.
2019-09-04 13:06:09 +02:00
Leonardo Alt
a774b2d905
[SMTChecker] Zero-initialize arrays
2019-09-02 22:37:30 +02:00
chriseth
c499758cd8
Merge pull request #7326 from ethereum/develop
...
Merge develop into 0.6.0 branch.
2019-09-02 16:11:20 +02:00
Daniel Kirchner
467d420f7e
ABI and AST tests.
2019-09-02 12:23:21 +02:00
Daniel Kirchner
2b938d703c
Allow global enum definitions.
2019-09-02 11:52:51 +02:00
Daniel Kirchner
fae0e10d26
Import tests.
2019-09-02 11:17:57 +02:00
Daniel Kirchner
872d21f527
Allow global struct definitions.
2019-09-02 11:17:42 +02:00
Leonardo Alt
214e5c6369
[SMTChecker] Fix index access type type error
2019-08-27 16:39:19 +02:00
Mathias Baumann
24716404f8
Parse override keyword
2019-08-26 17:34:21 +02:00
Mathias L. Baumann
e1bb4b9f81
Merge pull request #7280 from ethereum/isoltest-empty-revert
...
[isoltest] Support empty revert message
2019-08-26 11:45:36 +02:00
Erik Kundt
755dae5d66
[isoltest] Supports empty revert message.
2019-08-26 11:06:30 +02:00
Mathias L. Baumann
502bf01be2
Merge pull request #7278 from ethereum/develop
...
Merge develop into develop_060
2019-08-26 10:26:48 +02:00
Leonardo Alt
c27235b2f5
[SMTChecker] Adapt division test for Z3 only
2019-08-23 17:33:29 +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
Daniel Kirchner
4354ef2ef4
Add update suggestion.
2019-08-19 14:58:05 +02:00
Daniel Kirchner
20b23e124b
Add test case.
2019-08-19 14:56:04 +02:00
Daniel Kirchner
9f6fff2120
Replace casting of external functions to address by a member named "address".
2019-08-19 14:56:04 +02:00
Daniel Kirchner
aa2167b208
Extract some import tests.
2019-08-19 14:45:26 +02:00
Daniel Kirchner
6ed219ebe8
Support multiple sources for syntax tests.
2019-08-19 14:45:26 +02:00
Daniel Kirchner
4a65c5ebaa
Compile succeeding syntax tests.
2019-08-16 17:14:49 +02:00
Leonardo Alt
1a70a46f9b
[CHC] Add function blocks and check asserts
2019-08-15 12:25:15 +02:00
chriseth
2508cbc1eb
Merge pull request #7095 from ethereum/isoltest-failure-reason
...
[isoltest] Support FAILURE with reason
2019-08-15 11:37:56 +02:00
Erik Kundt
6c73bc5bac
[isoltest] Refactors parameter formatting.
2019-08-14 21:28:43 +02:00
Erik Kundt
18157f5a49
[isoltest] Splits smoke test into separate files.
2019-08-14 21:28:43 +02:00
Erik Kundt
30483acc42
[isoltest] Support FAILURE with reason.
2019-08-14 21:28:43 +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
Leonardo
ffe906129f
Merge pull request #7210 from ethereum/smt_fix_type_mismatch
...
[SMTChecker] Support StringLiteral type
2019-08-12 14:32:43 +02:00
Leonardo Alt
955b97097c
[SMTChecker] Relax expectations for complex nonlinear tests
2019-08-11 22:20:31 +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 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
Daniel Kirchner
77729023a8
Enable asan workaround in optimizer test for gcc as well.
2019-08-09 16:11:54 +02:00
Bhargava Shastry
a20dc624d4
Selectively disable time sensitive check in the constant_optimization_early_exit unit test for address sanitizer builds.
2019-08-08 17:35:46 +02:00
chriseth
c4638cc5cb
Remove mention of IPC.
2019-08-08 17:35:46 +02:00
chriseth
3dec3af638
Use evmone for testing.
2019-08-08 17:35:44 +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
d44f680a51
Merge pull request #7091 from ethereum/isoltest-value-format-fix
...
[isoltest] Fix (aligned) hex parsing and formatting
2019-08-07 17:55:37 +02:00
Erik Kundt
5ca991ac81
[isoltest] Allows odd-sized hex literals.
2019-08-07 17:19:27 +02:00