Alex Beregszaszi
|
d2185bf529
|
Remove obsolete identifer for the identity precompile
|
2019-03-25 20:57:59 +00:00 |
|
Alex Beregszaszi
|
e211b5b1e1
|
Add warning that Yul is still experimental
|
2019-03-25 20:17:11 +00:00 |
|
Alex Beregszaszi
|
0432401e20
|
Emit warning when using the Yul optimiser
|
2019-03-25 18:38:06 +01:00 |
|
chriseth
|
6b69c31703
|
Fix ABIEncoderV2 array overwrite bug.
|
2019-03-25 18:28:43 +01:00 |
|
chriseth
|
68d4a85575
|
Properly read and clean value types read from storage.
|
2019-03-25 18:28:43 +01:00 |
|
Alex Beregszaszi
|
0d6d0f476c
|
Use setSources
|
2019-03-25 15:11:00 +00:00 |
|
Alex Beregszaszi
|
66a977d999
|
Introduce setSources in CompilerStack
|
2019-03-25 15:11:00 +00:00 |
|
chriseth
|
ffe3a60301
|
Merge pull request #6367 from ethereum/yul-standard
Allow warnings in AssemblyStack
|
2019-03-25 14:59:29 +01:00 |
|
Alex Beregszaszi
|
642d4b9217
|
Abort if parseAndAnalyze failed but no errors are reported in compileYul
|
2019-03-25 13:19:33 +00:00 |
|
Daniel Kirchner
|
66d6711364
|
ABIFunctions: Split out a function for generating a comma separated list of variable names.
|
2019-03-25 10:58:18 +01:00 |
|
Alex Beregszaszi
|
3bc2c35cc4
|
Support compiling Yul within StandardCompiler
|
2019-03-22 01:35:16 +00:00 |
|
Leonardo Alt
|
a207d7f44c
|
[SMTChecker] Add callstack model to overflow checks
|
2019-03-21 16:25:33 +01:00 |
|
Leonardo Alt
|
de89733bd6
|
[SMTChecker] Fix nullptr deref
|
2019-03-21 15:46:54 +01:00 |
|
chriseth
|
d381e26fc8
|
Rename "enabled" optimizer setting stage to "standard".
|
2019-03-21 11:04:40 +01:00 |
|
Mathias Baumann
|
4c2b1c1f29
|
ArrayType::interfaceType(): Rename local variable to make more sense
|
2019-03-21 07:25:59 +01:00 |
|
Mathias Baumann
|
7d809df91a
|
Add back StructType::recursive()
|
2019-03-21 07:25:59 +01:00 |
|
Mathias Baumann
|
8e899a0d32
|
Disallow internal function types as parameters for public/external library function
|
2019-03-21 07:25:57 +01:00 |
|
Mathias Baumann
|
0fbea8a1a0
|
Change return type for interfaceType() to ResultType
|
2019-03-21 07:25:28 +01:00 |
|
Alex Beregszaszi
|
ea1944bb2d
|
Removed unused isLibrary from flag addSource in CompilerStack
|
2019-03-20 17:41:51 +00:00 |
|
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 |
|