chriseth
|
9aab2329ed
|
Merge pull request #6244 from ethereum/smt_modifiers
[SMTChecker] Support modifiers
|
2019-03-20 18:04:28 +01:00 |
|
chriseth
|
54e00b930d
|
Merge pull request #6331 from ethereum/pragma-parser-location-reporting-fix
Fixes wrong source location when reporting pragma solidity version conflicts
|
2019-03-20 16:07:56 +01:00 |
|
chriseth
|
8468dca0bb
|
Merge pull request #6323 from ethereum/bug-637
Fix function calls with named arguments for overloaded functions
|
2019-03-20 16:07:09 +01:00 |
|
chriseth
|
38cbf8d230
|
Pass "optimize stack allocation" flag down to the stack compressor.
|
2019-03-20 15:03:27 +01:00 |
|
Mathias Baumann
|
84b68006ba
|
Fix function calls with named arguments for overloaded functions
|
2019-03-20 14:54:41 +01:00 |
|
Christian Parpart
|
bb28c8a877
|
Fixes wrong source location when reporting pragma solidity version conflicts.
|
2019-03-20 11:42:25 +01:00 |
|
Leonardo Alt
|
9659f40c8d
|
[SMTChecker] Support modifiers
|
2019-03-20 11:32:20 +01:00 |
|
Leonardo Alt
|
3296fb3764
|
Add callstack to model report
|
2019-03-20 10:35:29 +01:00 |
|
chriseth
|
b021f015f9
|
Merge pull request #6321 from ethereum/metadata-cbor-encoder
Introduce simplfied CBOR encoding for Metadata
|
2019-03-20 10:10:16 +01:00 |
|
Leonardo Alt
|
9acec99c31
|
Issue error for callvalue in nonpayable function
|
2019-03-19 20:45:27 +01:00 |
|
chriseth
|
7c524f794f
|
Also output optimized yul code if requested.
|
2019-03-19 17:24:36 +01:00 |
|
Alex Beregszaszi
|
7babe3dbba
|
Introduce simplfied CBOR encoding for Metadata
|
2019-03-19 16:06:19 +00:00 |
|
chriseth
|
48f0d41cc5
|
Merge pull request #6294 from ethereum/merge-canBeUsedExternally-and-interfaceType-6223
Merge interfaceType() canBeUsedExternally()
|
2019-03-14 18:12:07 +01:00 |
|
Mathias Baumann
|
4d060ef991
|
Merge interfaceType() canBeUsedExternally()
And cache the result for expensive calls.
|
2019-03-14 17:19:59 +01:00 |
|
Mathias Baumann
|
3b546acd57
|
Clarify documentation of ContractType::m_super
|
2019-03-14 15:59:26 +01:00 |
|
chriseth
|
6d1ed93247
|
Use stack optimizations.
|
2019-03-14 15:34:23 +01:00 |
|
Erik Kundt
|
b9a7a88346
|
Improves Result<T> in order to prevent defects.
|
2019-03-14 14:33:28 +01:00 |
|
chriseth
|
2e7794d8a6
|
Defensively pad memory for `type(C).name ` to multiples of 32.
|
2019-03-13 18:51:32 +01:00 |
|
Christian Parpart
|
cfefa2c1d1
|
Merge pull request #6136 from ethereum/yul-break-continue
[Yul] introduce break/continue keywords.
|
2019-03-11 20:38:57 +01:00 |
|
chriseth
|
8445449c7f
|
Merge pull request #6187 from ethereum/filter-library-abi-3409
Exclude internal functions in library ABIs
|
2019-03-11 17:39:51 +01:00 |
|
chriseth
|
6683ec90ca
|
Merge pull request #6209 from ethereum/dynamicCalldataStructs
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 17:05:34 +01:00 |
|
Daniel Kirchner
|
66fc7ffab2
|
Allow dynamically encoded calldata structs with ABIEncoderV2.
|
2019-03-11 16:40:13 +01:00 |
|
Mathias Baumann
|
fbbd03dbd7
|
Exclude internal functions in library ABIs
|
2019-03-11 16:33:44 +01:00 |
|
Mathias Baumann
|
e411a502fd
|
Fix missing trailing dot in error message
|
2019-03-11 16:15:18 +01:00 |
|
Christian Parpart
|
05e2d362c8
|
[Yul] Adds break/continue statements and some general tests for for-loop syntax.
|
2019-03-11 15:05:05 +01:00 |
|
Mathias Baumann
|
d70cb375cf
|
isImplicitlyConvertibleTo(): Add better error messages
|
2019-03-11 13:38:02 +01:00 |
|
Leonardo Alt
|
a8209e9899
|
[SMTChecker] Shortcut RationalNumber expressions
|
2019-03-11 12:53:49 +01:00 |
|
chriseth
|
4d8c57006b
|
Merge pull request #6195 from ethereum/extractYulUtils
[REF] Extract utility functions from ABI encoder.
|
2019-03-08 00:51:58 +01:00 |
|
chriseth
|
8b20ecb558
|
Refactor StandardCompiler to split into input parsing/validating and compilation steps.
|
2019-03-07 17:49:55 +01:00 |
|
Leonardo Alt
|
02d0e609b9
|
[SMTChecker] Support enums
|
2019-03-07 15:15:12 +01:00 |
|
Daniel Kirchner
|
f7c6eda2c3
|
Allow calldata arrays with dynamically encoded base type.
|
2019-03-06 18:04:12 +01:00 |
|
chriseth
|
cdf29277f7
|
Merge pull request #6055 from ethereum/smt_arrays
[SMTChecker] Add support to arrays
|
2019-03-06 18:00:23 +01:00 |
|
chriseth
|
dc69152238
|
Merge pull request #6143 from ethereum/fix-unimplemented-assert-5659
Check base contracts for abi encoder compatibility
|
2019-03-06 11:59:49 +01:00 |
|
chriseth
|
449141db2c
|
Merge pull request #6190 from ethereum/allowEncodeDecodeWithZeroParameters
Allow encoding and decoding functions with empty type list.
|
2019-03-06 11:57:21 +01:00 |
|
Leonardo Alt
|
29b2ab6f66
|
Handle aliasing
|
2019-03-06 11:29:54 +01:00 |
|
Leonardo Alt
|
467c34999f
|
Do not throw on string literals
|
2019-03-06 11:29:26 +01:00 |
|
Leonardo Alt
|
e74f58130e
|
Add SMT type support to Solidity arrays
|
2019-03-06 11:29:26 +01:00 |
|
Mathias Baumann
|
9919670ddd
|
Check base contracts for abi encoder compatibility
|
2019-03-06 11:16:54 +01:00 |
|
Mathias Baumann
|
9052a8f050
|
Move FunctionType::returnParameters() to CallableDeclaration
all the other functions of that type are also found there.
|
2019-03-06 11:13:01 +01:00 |
|
Mathias Baumann
|
b2262d67f0
|
Remove unused variable Contractdefinition::m_linearizedBaseContracts
|
2019-03-06 11:13:01 +01:00 |
|
chriseth
|
d515d77bfe
|
Extract utility functions from ABI encoder.
|
2019-03-05 22:13:55 +01:00 |
|
chriseth
|
a27ef3489c
|
Allow encoding and decoding functions with empty type list.
|
2019-03-05 15:55:50 +01:00 |
|
Mathias Baumann
|
de98e38b78
|
Prepare code to output errors returned by isImplicitlyConvertibleTo()
|
2019-03-05 10:44:36 +01:00 |
|
chriseth
|
6c9961e040
|
Merge pull request #5941 from ethereum/metadata-compilerstack
Metadata should not require compilation
|
2019-03-04 18:53:07 +01:00 |
|
Alex Beregszaszi
|
a96cc6e0e8
|
Add allocateMemory helper with value known at compile time
|
2019-03-04 17:46:42 +01:00 |
|
chriseth
|
9c80f0fc76
|
Merge pull request #6155 from ethereum/defaultToPetersburg
Set default EVM version to petersburg
|
2019-03-04 17:36:42 +01:00 |
|
Alex Beregszaszi
|
fcbb8ec51c
|
Allow returning metadata in StandardCompiler without compilation
|
2019-03-04 16:19:55 +01:00 |
|
Alex Beregszaszi
|
26ca144647
|
Cache metadata and allow after analysis in CompilerStack
|
2019-03-04 16:19:54 +01:00 |
|
Alex Beregszaszi
|
bd51589f1a
|
Use "if" instead of "switch" in codegen for the deployment time address of a library
|
2019-03-04 15:16:58 +01:00 |
|
chriseth
|
9a949c1bda
|
Set default EVM version to Petersburg.
|
2019-03-04 14:53:00 +01:00 |
|
Alex Beregszaszi
|
ecd246aeb6
|
Support petersburg in evmVersion
|
2019-03-04 14:10:41 +01:00 |
|
chriseth
|
2e0ea16a0f
|
Merge pull request #5959 from ethereum/optimiser2
Introduce global optimiser settings.
|
2019-03-04 12:54:59 +01:00 |
|
chriseth
|
6a32f6e1ac
|
Properly assign reference to context.
|
2019-03-04 12:00:47 +01:00 |
|
chriseth
|
851dd635eb
|
Remove defaults in constructor arguments.
|
2019-03-04 11:41:52 +01:00 |
|
chriseth
|
83d1382e78
|
Take yul optimizer setting into account.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
1ff562d28a
|
Provide full optimiser settings to ContractCompiler.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
4d10f4b4cf
|
Process and validate standard-json optimizer settings.
|
2019-03-04 11:40:28 +01:00 |
|
Alex Beregszaszi
|
cf5c13f9c7
|
Introduce global optimiser settings.
|
2019-03-04 11:40:28 +01:00 |
|
chriseth
|
ab33ff1408
|
Merge pull request #6132 from ethereum/ossfuzz-nullref-typechecker
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 16:38:54 +01:00 |
|
Mathias Baumann
|
50b4193705
|
TypeChecker: Check if type exists before dereferencing it
|
2019-02-28 15:49:15 +01:00 |
|
Alex Beregszaszi
|
679ff78714
|
Restrict parse/analyse in CompilerStack
|
2019-02-28 13:59:33 +00:00 |
|
chriseth
|
6aab3b1369
|
Merge pull request #6139 from ethereum/compilerstack-restrict
Restrict the state when settings can be altered in CompilerStack
|
2019-02-28 14:52:52 +01:00 |
|
Alex Beregszaszi
|
b04b86a938
|
Restrict the state when settings can be altered in CompilerStack
|
2019-02-28 12:55:36 +00:00 |
|
Mathias Baumann
|
f782125463
|
Fix SMT Checker crash due to missing type information
|
2019-02-28 11:55:45 +01:00 |
|
Mathias Baumann
|
e4a52aa2f6
|
Allow dynamic types in public mappings
|
2019-02-26 15:48:54 +01:00 |
|
Alex Beregszaszi
|
d2f493268b
|
Provide access to the name of contracts.
|
2019-02-26 14:07:03 +00:00 |
|
chriseth
|
80417e3d8c
|
Merge pull request #6100 from ethereum/smt_dynamic_cast_types
[SMTChecker] Replace dynamic_cast by category check
|
2019-02-26 13:28:48 +01:00 |
|
chriseth
|
38fc740690
|
Merge pull request #6080 from ethereum/library-index-access
Disallow index access on contracts and libraries
|
2019-02-26 13:26:05 +01:00 |
|
Leonardo Alt
|
bbd2c91e19
|
[SMTChecker] Replace dynamic_cast by category check
|
2019-02-26 00:47:59 +01:00 |
|
Erik Kundt
|
2d0daae796
|
Disallows index access on contracts and libraries.
|
2019-02-25 23:05:33 +00:00 |
|
Alex Beregszaszi
|
358ccbe372
|
Properly issue unimplemented assertion on FixedPointType in type conversion
|
2019-02-25 21:21:33 +00:00 |
|
Leonardo Alt
|
2405b2151a
|
EVMVersion in langutil namespace instead of solidity
|
2019-02-25 15:29:57 +01:00 |
|
chriseth
|
7f5b335b47
|
Make EVM version part of EVM dialect.
|
2019-02-21 21:59:46 +01:00 |
|
Alex Beregszaszi
|
fcf884f201
|
Do not ignore fatal error in AsmParser for inline assembly
|
2019-02-21 16:18:53 +00:00 |
|
Mathias Baumann
|
c65a96d189
|
Small documentation fixes in the code
|
2019-02-21 12:54:39 +01:00 |
|
chriseth
|
fb07462d82
|
Fix: Do use actual ABI signatures for events also in libraries instead of internal signature.
|
2019-02-20 14:35:24 +01:00 |
|
Alex Beregszaszi
|
52496ea719
|
Proper error message for missing variables in inline assembly
|
2019-02-20 10:36:55 +00:00 |
|
Mathias Baumann
|
a63f7ca9df
|
Fix crash due to missing type info
|
2019-02-19 17:28:44 +01:00 |
|
chriseth
|
d9e4a10d5a
|
Merge pull request #6000 from ethereum/fixECRecoverABIV2
Fixed internal error related to ecrecover and ABIEncoderV2.
|
2019-02-19 14:36:08 +01:00 |
|
chriseth
|
874648b924
|
Merge pull request #5999 from ethereum/smt_lazy_overflow
[SMTChecker] Check for under/overflow in the end of the function
|
2019-02-19 14:28:55 +01:00 |
|
chriseth
|
05541e5adb
|
Fixed internal error related to ecrecover and ABIEncoderV2.
|
2019-02-19 14:17:03 +01:00 |
|
chriseth
|
d5791fef41
|
Fix combination of delegatecall and ABIEncoderV2.
We can set the flag to false for bare delegatecall, because we always
send a memory string and never a storage reference.
|
2019-02-19 13:57:03 +01:00 |
|
chriseth
|
55c4131a03
|
Merge pull request #6030 from ethereum/fixABIEncoderV2Mapping
Allow cleanup for mappings (do nothing).
|
2019-02-19 13:56:21 +01:00 |
|
Leonardo Alt
|
34470f3549
|
[SMTChecker] Only check for overflow/underflow in the end of the function
|
2019-02-18 23:55:58 +01:00 |
|
Alex Beregszaszi
|
2949bd14dd
|
Merge pull request #6028 from ethereum/warn-about-unused-struct-array-expr
Detect custom type expressions that have no effect
|
2019-02-18 21:12:04 +00:00 |
|
Mathias Baumann
|
e3d4155fa8
|
Detect custom type expressions that have no effect
|
2019-02-18 18:59:31 +01:00 |
|
chriseth
|
c690f679cb
|
Allow cleanup for mappings (do nothing).
|
2019-02-18 18:50:22 +01:00 |
|
Mathias Baumann
|
093b9ced97
|
Make sure "value" error hint is only displayed in the right context
Before, the hint would be shown for any "value" member, even a user-specified one.
|
2019-02-18 16:29:57 +01:00 |
|
Daniel Kirchner
|
d74198b3cc
|
Remove misleading note in Type::calldataEncodedSize.
|
2019-02-18 16:18:40 +01:00 |
|
chriseth
|
cb0ad2266c
|
Merge pull request #6008 from ethereum/smt_fix_abstract_assignment
[SMTChecker] Assert type is not function when assigning
|
2019-02-18 14:54:20 +01:00 |
|
chriseth
|
db7b38e3c4
|
Merge pull request #5978 from ethereum/fix-broken-hint
Fix error msg hint for non-payable contracts
|
2019-02-18 11:49:07 +01:00 |
|
Daniel Kirchner
|
0408130338
|
Merge pull request #6003 from ethereum/moreStyleChecks
Even more style checks.
|
2019-02-15 11:52:32 +01:00 |
|
Leonardo Alt
|
22cdfb18d4
|
[SMTChecker] Assert type is not function when assigning
|
2019-02-14 13:32:56 +01:00 |
|
Daniel Kirchner
|
809b9a95f9
|
Even more style checks.
|
2019-02-14 11:53:00 +01:00 |
|
Daniel Kirchner
|
8ca6715e18
|
More style checks.
|
2019-02-14 11:41:20 +01:00 |
|
Mathias Baumann
|
223dac3eca
|
TypeChecker: Use cast instead of category() check
|
2019-02-14 11:39:51 +01:00 |
|
Mathias Baumann
|
10a9960eb3
|
Fix error msg hint for non-payable contracts
|
2019-02-14 11:39:19 +01:00 |
|
Daniel Kirchner
|
32190dac48
|
Add stride helpers to ArrayType.
|
2019-02-14 10:51:39 +01:00 |
|
chriseth
|
f003696d7e
|
Merge pull request #5994 from ethereum/error-to-assert
Turn unreachable error into assert
|
2019-02-13 17:54:01 +01:00 |
|
chriseth
|
1a823f0bf8
|
Fix tabs/spaces.
|
2019-02-13 17:05:48 +01:00 |
|