Alex Beregszaszi
7d52884247
Add more test cases for shifts with constants
2019-02-25 14:44:30 +00:00
Leonardo Alt
2405b2151a
EVMVersion in langutil namespace instead of solidity
2019-02-25 15:29:57 +01:00
Erik Kundt
f683ceb3f8
Adds support for boolean literals in soltest.
2019-02-21 23:28:48 +01:00
chriseth
773a3ff880
Merge pull request #6036 from ethereum/soltest-hexliterals
...
[soltest] Add support for left-aligned hex literals
2019-02-21 19:11:27 +01:00
chriseth
13667d42ec
Merge pull request #6067 from ethereum/asm-parser-fatal
...
Do not ignore fatal error in AsmParser for inline assembly
2019-02-21 18:12:13 +01:00
Alex Beregszaszi
fcf884f201
Do not ignore fatal error in AsmParser for inline assembly
2019-02-21 16:18:53 +00:00
Erik Kundt
d40928f5fc
Adds support for hex literals in soltest.
2019-02-21 17:04:40 +01:00
chriseth
98012135c6
Merge pull request #6060 from ethereum/soltest-formatting
...
[soltest] Create dedicated formatting
2019-02-21 16:43:50 +01:00
Erik Kundt
d1ad431887
Moves soltest function call to separate class.
2019-02-21 16:39:31 +01:00
chriseth
15d275ed37
Merge pull request #6023 from ethereum/assignment-whitespace-op
...
Add extra token for assembly assignment
2019-02-21 14:43:29 +01:00
Mathias Baumann
f395d5bab4
Add extra token for assembly assignment
...
Adding an extra token for := prevents whitespace between : = being valid
2019-02-21 13:58:21 +01:00
chriseth
27d936cf44
Merge pull request #5102 from ethereum/abiencoderv2-tests
...
Run all end-to-end tests with ABIEncoderV2
2019-02-21 13:11:06 +01:00
chriseth
8ace2c5b11
Special treatment for differences between ABI encoders.
2019-02-21 11:11:29 +00:00
Erik Kundt
6c7ad42e2d
Shares langutil code with soltest.
2019-02-21 01:04:34 +01:00
Alex Beregszaszi
219406f45b
Add CLI option to soltest to always use ABIEncoderV2
2019-02-20 16:55:19 +01:00
chriseth
b14d22d11e
Tests for events with structs in libraries.
2019-02-20 14:35:02 +01:00
chriseth
0613c69c4a
Merge pull request #6043 from ethereum/asm-jump-invalidlabel
...
Proper error message for missing variables in inline assembly
2019-02-20 14:32:40 +01:00
chriseth
fcd82025de
Merge pull request #6046 from ethereum/smt_division_tests
...
[SMTChecker] Move tests that contain division to boost tests
2019-02-20 14:29:15 +01:00
Leonardo Alt
123d0857c5
[SMTChecker] Move tests that contain division to boost tests
2019-02-20 12:17:03 +01:00
Alex Beregszaszi
687522a2f5
Move inline assembly tests from nameAndTypeResolution to inlineAssembly
2019-02-20 11:00:02 +00: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
chriseth
968ca88690
Merge pull request #5872 from ethereum/semantic-tests-split
...
Semantic test infrastructure
2019-02-18 18:13:55 +01:00
chriseth
1b6d87c5bd
Merge pull request #5979 from ethereum/fix-context-for-hint
...
Make sure "value" error hint is only displayed in the right context
2019-02-18 17:35:31 +01:00
chriseth
e88765f936
Merge pull request #6022 from ethereum/fixFunctionScoping
...
Properly detect name clashes with functions before their definition.
2019-02-18 16:47:21 +01:00
Mathias Baumann
ee9394b4aa
Move 'warnUnused' tests to subfolder
2019-02-18 16:42:58 +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
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
b4cd2d6a93
Properly detect name clashes with functions before their definition.
2019-02-18 14:51:05 +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
Erik Kundt
dacad629ef
Adds semantic tests to test framework and isoltest.
2019-02-15 13:27:15 +01:00
Mathias Baumann
419a12db03
TypeChecker: Add test to increase coverage
2019-02-14 13:41:33 +01:00
Leonardo Alt
22cdfb18d4
[SMTChecker] Assert type is not function when assigning
2019-02-14 13:32:56 +01:00
Mathias Baumann
10a9960eb3
Fix error msg hint for non-payable contracts
2019-02-14 11:39:19 +01:00
chriseth
c5879589af
Merge pull request #5998 from ethereum/codingStyleCheck
...
More coding style checks
2019-02-13 17:36:34 +01:00
chriseth
17ea467e5b
Fix style of "const".
2019-02-13 16:34:53 +01:00
Mathias Baumann
1e603c27ea
Add tests to increase TypeChecker.cpp coverage
2019-02-13 16:31:26 +01:00
Mathias Baumann
6a6cc27b71
Rename & move tests of group typeChecking to subfolder
2019-02-13 15:52:31 +01:00
Erik Kundt
190634e1f9
Implements infrastructure for semantic tests.
2019-02-13 13:05:58 +01:00
chriseth
0bd049c849
Adapet uses of AssemblyStack.
2019-02-13 12:23:07 +01:00
chriseth
9ab72f0188
Merge pull request #5971 from ethereum/overloadedEvents
...
More tests for overloaded events.
2019-02-12 12:00:02 +01:00
chriseth
091bbdb459
More tests for overloaded events.
2019-02-12 10:54:58 +01:00
chriseth
0b392fff7e
Merge pull request #5968 from ethereum/calldataArrays
...
Disallow calldata arrays with dynamically encoded base types in TypeChecker.
2019-02-11 18:08:10 +01:00
Daniel Kirchner
9e32aa7510
Disallow calldata arrays with dynamically encoded base types in TypeChecker.
2019-02-11 17:13:12 +01:00
chriseth
91d224dfb6
Merge pull request #5966 from ethereum/AnsiColorized
...
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
2019-02-11 16:41:14 +01:00
chriseth
92cb6cb793
Merge pull request #5936 from ethereum/calldataStructsV2
...
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
2019-02-11 16:18:27 +01:00
Christian Parpart
53f9be8a23
Adapts tests/ to use AnsiColorized (the generalized/moved version of FormattedScope, which in turn is removed in this PR)
2019-02-11 16:00:24 +01:00
Mathias Baumann
259d803387
Conditional Expression: Delay invalid type fatal error
...
Check the whole conditional first and then output errors for
both, the true and false expressions.
2019-02-11 15:47:19 +01:00
Mathias Baumann
08977af843
Rename & move test to move away from number prefix
2019-02-11 15:47:19 +01:00
Daniel Kirchner
0e4912a203
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
2019-02-11 15:46:58 +01:00
chriseth
b5a2c66771
Merge pull request #5957 from ethereum/function-param-fix
...
Ensure function parameter names always matches parameter types length
2019-02-11 15:45:28 +01:00
Mathias Baumann
66b24225fb
Remove duplicate if-check
2019-02-11 14:56:57 +01:00
chriseth
49cd55d3a0
Merge pull request #5839 from ethereum/inplaceEncoding
...
Inplace and non-padded encoding for ABIEncoderV2.
2019-02-11 12:01:28 +01:00
Mathias Baumann
fe2429de9f
Packed Encoding: Disallow types in v2 that aren't allowed in v1
2019-02-11 11:37:48 +01:00
chriseth
227addfcef
Syntax tests.
2019-02-11 11:37:48 +01:00
chriseth
7684d886ae
Semantic tests.
2019-02-11 11:37:47 +01:00
Mathias Baumann
feae01f042
Add tests to increase coverage of TypeChecker
2019-02-11 11:23:56 +01:00
Mathias Baumann
d41ffd1dcf
Rename & move tests to get rid of old number prefix in name
2019-02-11 11:23:20 +01:00
Daniel Kirchner
9203363fe9
Merge pull request #5860 from ethereum/test-file-parser
...
Test file parser.
2019-02-07 19:02:13 +01:00
Mathias Baumann
ee28cb65a6
Add tests to increase coverage of TypeChecker
2019-02-06 20:45:30 +01:00
Erik Kundt
c9c4578023
Adds support for tuples in test file parser.
2019-02-06 17:25:40 +01:00
Erik Kundt
161b22bd13
Cleans up test file parser and its tests.
2019-02-06 17:22:40 +01:00
Erik Kundt
7fa167977b
Adds multi-line support for test file parser.
2019-02-06 17:22:40 +01:00
Erik Kundt
f90c6f57bb
Implements a test file parser.
2019-02-06 17:22:40 +01:00
chriseth
231cec56c6
Merge pull request #5926 from ethereum/inv-num-crash
...
Fix crash for too large struct array indicies
2019-02-06 14:11:25 +01:00
Mathias Baumann
9f431339ef
Fix crash for too large struct array indicies
2019-02-06 11:50:25 +01:00
Alex Beregszaszi
26de5684a2
Move bytecodeSansMetadata(bytes) helper to test/Metadata
2019-02-05 23:13:01 +00:00
Alex Beregszaszi
be22032141
Clean up some includes in tests
2019-02-05 22:58:43 +00:00
Alex Beregszaszi
3cdcd06b66
Add last test case for callbacks in libsolc
2019-02-05 20:26:47 +00:00
chriseth
263eaaa516
Merge pull request #5937 from ethereum/libsolc-callback-test
...
Add test cases for libsolc with callbacks
2019-02-05 21:11:44 +01:00
chriseth
438e19aa0f
Merge pull request #5931 from ethereum/fix-mapping-storage-check
...
Fix check that mappings can only have storage location
2019-02-05 21:03:20 +01:00
Alex Beregszaszi
257dbf1f6a
Add test cases for libsolc with callbacks
2019-02-05 19:34:56 +00:00
Alex Beregszaszi
e9a0d99218
Add optimiser test for triggering CopyMethod in ConstantOpimiser
2019-02-05 18:44:53 +00:00
Mathias Baumann
77f407d450
Fix check that mappings can only have storage location
2019-02-05 18:06:42 +01:00
Alex Beregszaszi
554511b68e
Introduce solidity_free in libsolc
2019-01-31 15:53:55 +00:00
chriseth
35483422f3
Pad code to multiple of 32 bytes.
2019-01-30 11:31:28 +01:00
Alex Beregszaszi
9aafa32825
Disallow empty import statements
2019-01-28 13:52:15 +00:00
chriseth
14b553897e
Tests.
2019-01-23 11:13:24 +01:00
Leonardo Alt
7f8ceaadab
[SMTChecker] Clear state knowledge after external function calls
2019-01-21 12:58:40 +01:00
chriseth
f8e9aed839
Merge pull request #5717 from ethereum/smt_typecast
...
[SMTChecker] Support basic typecast without truncation
2019-01-21 12:35:07 +01:00
Daniel Kirchner
610ef9f199
Disallow calldata structs.
2019-01-21 10:30:57 +01:00
chriseth
2ec997e697
Merge pull request #5775 from ethereum/codeAccess
...
Provide access to code of contract types.
2019-01-18 00:16:06 +01:00
chriseth
2a0d4f358c
Add test for content of creationCode and runtimeCode.
2019-01-17 20:36:48 +01:00
chriseth
fed56f33d5
Type is not reserved anymore.
2019-01-17 20:36:48 +01:00
chriseth
4669b06ab4
Warn if type(..).runtimeCode is used with assembly in the constructor.
2019-01-17 20:36:48 +01:00
chriseth
e6fee257e6
Code generation for access to contract code.
2019-01-17 20:36:48 +01:00
chriseth
2fcfb216b5
Syntax for meta type information.
2019-01-17 20:36:48 +01:00
chriseth
44237211d1
Tests.
2019-01-17 20:36:48 +01:00
Leonardo Alt
83e7233bb8
Change error message and add tests
2019-01-17 14:28:03 +01:00
Leonardo Alt
a10db051de
[SMTChecker] Support basic typecast
2019-01-16 13:00:54 +01:00
Daniel Kirchner
4c8f8e9491
Disallow mismatching types in switch cases and detect duplicates by value for number literals.
2019-01-15 16:32:21 +01:00
Daniel Kirchner
0dfd4a726e
Warn about unreachable code.
2019-01-10 10:36:50 +01:00
chriseth
ae08d7c375
Merge pull request #5681 from ethereum/limitOutput
...
Do not compile unless requested.
2018-12-19 17:02:28 +01:00
chriseth
4c7151e57f
Do not include empty JSON objects in output.
2018-12-19 14:59:29 +01:00
Christian Parpart
62fe57479e
make use of C++ = default
constructor declarations as well as more non-static member initialization syntax.
2018-12-19 11:26:42 +01:00
Christian Parpart
d10bae245e
liblangutil: SourceLocation to default initialize data members (w/o the use of ctor)
...
See: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#c45-dont-define-a-default-constructor-that-only-initializes-data-members-use-in-class-member-initializers-instead
2018-12-19 11:21:45 +01:00
Alex Beregszaszi
bd2f2ecbbd
Move unsatisfied_version test from SolidityNameAndTypeResolution to SolidityParser
2018-12-18 15:02:59 +00:00
Alex Beregszaszi
ba15bc0a23
Fail if parsing failed in AnalysisFramework
...
Otherwise Compilerstack::analyze will throw an exception.
2018-12-18 15:02:37 +00:00
Alex Beregszaszi
c2ec6d71b4
Add version pragma parsing to Parser
2018-12-18 15:02:35 +00:00
Mathias Baumann
1b8570f829
Only generate sort/search code when interface functions exist
2018-12-17 21:24:37 +01:00
Leonardo Alt
9199718ec0
Clear all mapping knowledge after array variable assignment
2018-12-14 12:21:53 +01:00
Leonardo Alt
6a2809a582
[SMTChecker] Support to mapping
2018-12-14 12:21:53 +01:00
chriseth
17bf164afe
Merge pull request #4951 from ethereum/alethUpdates
...
Use current aleth release for testing.
2018-12-12 18:41:35 +01:00
Daniel Kirchner
123d33ad41
Add tolerance to gas meter tests.
2018-12-12 17:24:56 +01:00
chriseth
87237281bf
Merge pull request #5630 from ethereum/warn_functions_empty_body
...
Supress unused var and state mut warnings for functions with empty body
2018-12-12 17:00:50 +01:00
Leonardo Alt
508aae8a67
Disable state mutability warning for functions with empty body
2018-12-12 14:43:44 +01:00
Leonardo Alt
53537864a2
Disable unused var warning for functions with empty body
2018-12-12 14:43:44 +01:00
Daniel Kirchner
788612d2ef
Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses.
2018-12-12 04:20:53 +01:00
chriseth
9f86ede32d
Merge pull request #5454 from ethereum/smt_math_functions
...
[SMTChecker] Abstract math functions
2018-12-11 18:35:10 +01:00
chriseth
b5deca0383
Merge pull request #4779 from ethereum/optimise-string-literals
...
Decide better in storing string literals as data
2018-12-11 17:50:14 +01:00
Leonardo Alt
08737e43dc
[SMTChecker] Use SymbolicFunctionVariable for uninterpreted functions
2018-12-11 11:28:25 +01:00
Daniel Kirchner
6d82ad1338
Test updates for recent versions of aleth.
2018-12-11 04:47:05 +01:00
chriseth
d80d324de7
Tests for gas costs.
2018-12-10 18:06:07 +01:00
Yi Huang
81f703427e
Add tests for implcit conversions from literals to fixed-point numbers.
2018-12-10 17:31:20 +01:00
Erik Kundt
e2395a3dcf
Adds more detailed type errors and tests.
2018-12-07 12:35:35 +01:00
Erik Kundt
b2afb8cdda
Adds an additional message to failing type conversions.
2018-12-07 11:55:53 +01:00
chriseth
0e8841005c
Merge pull request #5554 from ethereum/cp-SourceReferenceFormatter-refactor
...
[2/3] Refactor SourceReferenceFormatter (split-out data extraction & make use of new SourceLocation knowledge)
2018-12-06 14:01:39 +01:00
Christian Parpart
073b03d90c
liblangutil: refactor SourceReferenceFormatter, splitting out retrieval and making use of new SourceLocation's CharStream knowledge
2018-12-06 14:01:01 +01:00
chriseth
5fde279d2a
Merge pull request #5514 from corollari/develop
...
Remove unary + from the type system
2018-12-06 10:27:09 +01:00
Albert
eee2f2b069
Update test
2018-12-06 01:54:04 +01:00
Albert
df08d79623
Fix #5470
...
Remove unary + from the type system
2018-12-06 01:54:04 +01:00
chriseth
bc6ddbdd09
Remove w
parameter for toHex.
2018-12-05 22:51:49 +01:00
Kevin Kelley
fb6fd1b3c2
add a 'readable' format for large hex values
2018-12-05 22:15:02 +01:00
Leonardo Alt
8069bb61da
[SMTChecker] Loops are unrolled once
2018-12-04 12:35:19 +01:00
chriseth
d829794737
Improve yul error messages around number of arguments and variables.
2018-12-04 11:37:03 +01:00
Anurag Dashputre
82f5763e7a
Fix internal compiler error for unimplemented base contract function.
2018-12-03 12:25:31 +01:00
chriseth
3f613a44ec
Merge pull request #5557 from ethereum/fixInterfaceImplementedByPublicStateVariable
...
Public state variables are implementing external functions.
2018-12-03 10:46:44 +01:00
chriseth
0668a9ecfb
Public state variables are implementing external functions.
2018-12-03 10:46:03 +01:00
chriseth
aaeb74f592
Merge pull request #5537 from ethereum/cp-SourceLocation-related-refactoring
...
[1/3] SourceLocation related refactoring.
2018-11-30 23:45:31 +01:00
Christian Parpart
757623e381
liblangutil: SourceLocation: Retricts == and != operator
2018-11-30 17:34:54 +01:00
Christian Parpart
435f7b3b72
liblangutil: Scanner: remove superfluous sourceName field (it's in CharStream already)
...
Also, ParserBase::sourceName() was dead code. Eliminating it should
increase test coverage (how sneaky) :-)
2018-11-30 17:07:17 +01:00
Christian Parpart
c48a5264be
liblangutil: SourceLocation: adds (shared) pointer to underlying CharStream source, eliminating sourceName
...
Also, adapted affecting code to those changes.
2018-11-30 17:07:12 +01:00
chriseth
621ce3df20
Test.
2018-11-30 16:30:19 +01:00
chriseth
6aa9ce2d43
Merge pull request #5550 from ethereum/moveSomeTests
...
Move inline array tests.
2018-11-30 09:26:31 +01:00
chriseth
d6d41b2bc7
Merge pull request #5548 from ethereum/fixMemberAccess
...
Fix bug related to state variables of function type accessed via base contract.
2018-11-30 09:26:08 +01:00
chriseth
f46dd91c20
Move inline array tests.
2018-11-29 19:49:38 +01:00
chriseth
c445e7dfa4
Disallow inline arrays of mapping type.
2018-11-29 19:45:06 +01:00
chriseth
73a64da041
Fix bug related to state variables of function type accessed via base contract.
2018-11-29 19:30:27 +01:00
Leonardo Alt
67bbcefe6c
Report deprecation error on functions sha3 and suicide also without call.
2018-11-29 14:29:13 +01:00
Christian Parpart
22eff22492
liblangutil: extends CharStream to know about the respective (file-)name (and adapt codebase to it)
2018-11-29 12:45:27 +01:00
Leonardo Alt
1d47919c0c
Fix ICE when function type struct parameter has field of non-existent type
2018-11-29 10:38:47 +01:00
chriseth
b4086ac870
Merge pull request #5526 from ethereum/fixGetterNewCoder
...
Fix: Disallow structs in getters for old encoder.
2018-11-28 17:05:52 +01:00
Leonardo Alt
c51e6a545a
Remove boost test checks from SMTCheckerJSONTest
2018-11-28 14:16:43 +01:00
chriseth
c54814b47b
Tests.
2018-11-28 14:11:51 +01:00
chriseth
728119bb11
Use yul parser in assembly stack.
2018-11-27 15:59:57 +01:00
chriseth
240ad0e34e
Merge pull request #5382 from ethereum/libraryMappingPublic
...
Allow mapping arguments for public and external library functions.
2018-11-26 19:47:32 +01:00
chriseth
1e7a23a205
Changelog entry and tests.
2018-11-26 16:51:45 +01:00
Daniel Kirchner
30e6f8d3fb
Allow mapping arguments for public and external library functions.
2018-11-26 16:31:46 +01:00
Daniel Kirchner
597174119a
Tests.
2018-11-26 14:30:32 +01:00
chriseth
7921e5f0b9
Merge pull request #5486 from ethereum/allowExternalPublicOverride
...
Allow external public override
2018-11-26 14:26:55 +01:00
chriseth
9ac7c748f8
Merge pull request #5494 from ethereum/scanner-error-handling
...
Improved Scanner error diagnostics.
2018-11-26 14:17:08 +01:00
chriseth
0b474d5299
Merge pull request #5497 from ethereum/langutil-SourceReferenceFormatter
...
Moving SourceReferenceFormatter into langutil namespace.
2018-11-26 12:44:25 +01:00
chriseth
ac5803bf3e
Changelog entry and tests.
2018-11-26 12:41:26 +01:00
Lazaridis
56d5dd4668
decouple TestCase class from test/libsolidity
2018-11-25 02:34:59 +02:00
Christian Parpart
0ad56bca79
Adapting tests to Scanner's lexical error diagnostics change.
2018-11-24 12:59:37 +01:00
Christian Parpart
aeb66905de
Moving SourceReferenceFormatter into langutil namespace.
2018-11-24 12:33:36 +01:00
Lazaridis
e454737a3c
adapt to latest code changes
2018-11-23 17:27:52 +01:00
Leonardo Alt
0ff4cbe51b
Add SMTChecker tests for standard JSON
2018-11-23 10:51:06 +00:00
chriseth
ecd059cb92
Merge pull request #5451 from ethereum/bound_function_tests
...
Add assert and tests for bound functions
2018-11-22 18:23:46 +01:00
Leonardo Alt
06189ae57f
Add assert and tests for bound functions
2018-11-22 14:41:39 +01:00
Leonardo Alt
32fe4768a9
Organize smt tests in subdirectories
2018-11-22 13:33:28 +00:00
Leonardo Alt
4a71080ae5
Remove pragma ABIEncoderV2 from smt test
2018-11-22 13:33:28 +00:00
Alex Beregszaszi
109cfcef69
Drop numbering in front of the SMTChecker tests
2018-11-22 13:33:28 +00:00
Alex Beregszaszi
636da48e82
Move most of SMTChecker tests from C++ to isoltest
...
But keep divison in C++ because results differ between different solvers
2018-11-22 13:33:24 +00:00
Christian Parpart
d67322a186
Introduce namespace langutil
in liblangutil directory.
...
Also:
- Use {}-style list initialisation for SourceLocation construction
- Introduce new system includes
- Changes the API of the Scanner to take source as value (with move) as opposed to as a reference
2018-11-21 19:13:44 +00:00
Christian Parpart
87821c53c3
Isolating files shared between Yul- and Solidity language frontend.
2018-11-21 18:58:12 +00:00
mordax
ea8b7d803e
Removing redundant virtual from override function declaration
...
Remove trailing whitespace
Remove changelog change
2018-11-21 14:37:32 +00:00
Leonardo Alt
06c3f0953a
[SMTChecker] Support bound function calls
2018-11-19 15:29:00 +01:00
Leonardo Alt
70bb0eaf95
[SMTChecker] Implement uninterpreted functions and use it for blockhash()
2018-11-15 09:12:42 +01:00
chriseth
727e3f24bc
Do not perform cleanup on unsigned integers when loading from calldata.
2018-11-14 20:52:30 +00:00
Alex Beregszaszi
b6c3257752
Remove old libsolc API (compileJSON, compileJSONMulti, compileJSONCallback)
2018-11-13 13:54:01 +00:00
Daniel Kirchner
b5e9d849ef
Ignore unimplemented functions for storage returns.
2018-11-13 12:18:22 +01:00
Kristofer Peterson
f927da9182
Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).
...
Visit method now cleanly determines if node represents a function call,
struct construction or type conversion. Type checking, validation and
error message logic is moved to separate methods.
2018-11-09 16:35:54 +00:00
chriseth
6bbedab383
Merge pull request #5265 from ethereum/cleanupsha3
...
Simplify sha3.
2018-11-09 15:39:57 +01:00
chriseth
84e8a782d6
Merge pull request #5351 from ethereum/functionTypeConversion
...
Relax type equality requirement of function types during conversion in code generation.
2018-11-08 11:29:55 +01:00
chriseth
cc2de07bc6
Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFix
...
Fix negative denominator in ``boost::rational`` during exponentiation.
2018-11-08 11:25:30 +01:00
Daniel Kirchner
b16a3644fe
Function type conversion test cases.
2018-11-08 10:51:51 +01:00
Christian Parpart
ab0de38f16
Eliminate byte
-typedef and use uint8_t
in all their places instead.
...
This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.
* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.
Tested with GCC 7.3 in C++11/14/17 modes :-)
2018-11-07 12:17:57 +01:00
Daniel Kirchner
e036133d1b
Fix negative denominator in `boost::rational
` during exponentiation.
2018-11-06 10:52:10 +01:00
Daniel Kirchner
36903d7e27
Remove uses of boost::rational with negative denominator, which breaks with boost 1.68.
2018-11-05 21:36:52 +01:00
Erik Kundt
1d8e9af407
Fixes crash while encoding too large arrays.
2018-10-30 15:14:57 +01:00
chriseth
c36a3bd683
Merge pull request #5283 from ethereum/smt_fixed_bytes
...
[SMTChecker] Support FixedBytes
2018-10-25 13:01:01 +02:00
chriseth
f714b0dd7c
Merge pull request #5242 from ethereum/someChecks
...
Some well-formedness checks for the Yul AST.
2018-10-25 12:44:28 +02:00
Leonardo Alt
d8cbf321da
Grouping of symbolic variables in the same file and support to FixedBytes
2018-10-25 09:30:48 +02:00
chriseth
01566c2e1a
Merge pull request #5272 from ethereum/smt_special_vars
...
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-24 14:34:17 +02:00
chriseth
a9a414bd0f
Added some tests.
2018-10-24 14:29:33 +02:00
Leonardo Alt
e2cf5f6ed9
Add gasleft constraint and use full member access name
2018-10-22 18:19:11 +02:00
Christian Parpart
f112377dd4
Refactor solidity::Token
into an enum class
with TokenTraits
helper namespace
2018-10-22 17:00:51 +02:00
Leonardo Alt
b46b827c30
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-19 15:52:16 +02:00
chriseth
c13b5280c1
Merge pull request #5256 from ethereum/lvalueCleanup
...
Lvalue cleanup
2018-10-19 11:20:12 +02:00
chriseth
e78b95d9d4
Renamed SHA3.{h,cpp} files.
2018-10-18 14:31:36 +02:00
chriseth
56425bb2b1
Add a test for delete x.length
2018-10-17 22:07:05 +02:00
mordax
134f5cb798
Added test for flipping signs on signed type edge case
2018-10-15 16:08:43 -04:00
Leonardo Alt
e4851cf59e
[SMTChecker] Inline calls to internal functions
2018-10-15 15:11:21 +02:00
chriseth
0778fb2dfc
Merge pull request #5208 from mestorlx/bug4156
...
[WIP] Bad identifier suggestion in certain cases
2018-10-15 13:03:49 +02:00
Christian Parpart
6d815a142f
Fixes invalid function calls to literals inside tuple assignment's LHS.
2018-10-15 10:35:11 +02:00
mestorlx
1ce9566e50
Updated MAXIMUM_STRING_DISTANCE to non static maximumStringDistance taking into account length of the identifier
2018-10-13 09:54:07 -03:00
chriseth
4607118d2e
Add Yul optimizer test framework.
2018-10-11 16:59:57 +02:00
Erik Kundt
3e24a3d81b
Adds syntax tests for array index access.
2018-10-10 23:18:32 +02:00
chriseth
2feaacba9d
Merge pull request #5195 from ethereum/unsigned-array-index
...
Do not crash on non-unsigned array index
2018-10-10 20:56:25 +02:00
Erik Kundt
763ae30023
Fixes crash on non-unsigned array index.
2018-10-10 19:49:25 +02:00
Martin Diz
ef25454a04
Improved error message for lookup in function types.
2018-10-10 11:53:53 -03:00
chriseth
4035c96a32
Merge pull request #5184 from ethereum/viewFunctionDocs
...
Library view functions
2018-10-10 15:21:40 +02:00
Erik Kundt
4beabf6686
Documents library view functions and adds unit test.
2018-10-10 12:28:24 +02:00
chriseth
06200b4b64
Merge pull request #5180 from ethereum/cpp-cleanup
...
Some C++ cleanup
2018-10-10 11:43:42 +02:00
Alex Beregszaszi
6c3d12d85b
Do not require ctype/stdio if not needed
2018-10-09 19:06:22 +01:00
Alex Beregszaszi
9e032bff43
Use nullptr instead of NULL where appropriate
2018-10-09 18:06:39 +01:00
Christian Parpart
4d5216c2e0
Fixes large rational number literals being wrongly interpreted.
...
Fixes #5052 .
2018-10-09 14:36:49 +02:00
Lazaridis
4bcd89105c
provide general hex-literal error message, fixes #1802
...
dummy
2018-10-09 06:51:19 +03:00
chriseth
2fcbe74db0
Fix ast json test for function kind.
2018-10-08 23:07:10 +02:00
chriseth
7ff9a27979
Merge pull request #4734 from ethereum/astUpdate
...
JSON AST: replace ``isConstructor`` by ``kind`` which also supports fallbacks
2018-10-08 21:47:27 +02:00
Christian Parpart
9fb835b710
Fixes #5051 (introduced in #4684 ), effectively allowing underscores in address literals.
2018-10-02 15:37:15 +02:00
Alex Beregszaszi
c4b5101b9d
Merge pull request #4676 from jwasinger/extcodehash
...
Add support for EXTCODEHASH
2018-09-28 00:04:40 +01:00
Alex Beregszaszi
384a65f660
Be more strict about values in the optimizer block in StandardJSON
2018-09-26 16:51:08 +01:00
Alex Beregszaszi
5d985abcab
Add test for extcodehash
2018-09-26 16:11:02 +01:00
chriseth
13cd7c3fed
Merge pull request #5061 from ethereum/fixedSizeArrayLength
...
Disallow fixed-size arrays with zero length
2018-09-26 14:55:07 +02:00
Alex Beregszaszi
8cfc6c98d6
CREATE2 is part of Constantinople now
...
Also add hasCreate2 to EVMVersion
2018-09-26 01:58:10 +01:00
chriseth
cb3a837251
Merge pull request #5003 from herrBez/cleanUpdated
...
Add syntax tests to fix #4627
2018-09-24 14:43:53 +02:00
Erik Kundt
d821cbdff5
Moves length check to reference resolver.
2018-09-22 00:25:52 +02:00
Erik Kundt
ff5be17990
Disallows fixed-size multidim. arrays with zero-length.
2018-09-21 18:44:56 +02:00
Alex Beregszaszi
5dd3ee2d96
Merge pull request #5050 from ethereum/standard-json-crashes
...
Add proper error reporting when invalid settings are provided in StandardJSON
2018-09-21 15:48:05 +01:00
Alex Beregszaszi
a515173900
Add proper error reporting when invalid settings are provided in StandardJSON
2018-09-21 14:53:24 +01:00
herrBez
faa0caae08
Add syntax tests to augment the test coverage of
...
libsolidity/parsing/Scanner.cpp and libsolidity/parsing/Scanner.h
Fix #4627 and PR #5003 .
- Add multiline comment test
- Add upper case hex literal test
- Add test for unicode escapes
- Add test for strings with escaped newlines
- Add test for string escapes
- Add test for strings that do not terminate before end of file
- Add test for unterminated blocks
2018-09-20 23:02:44 +02:00
chriseth
dc9853bb6e
Merge pull request #5030 from ethereum/payableConversion
...
Make non-payable default for conversion to address.
2018-09-20 21:20:46 +02:00
chriseth
d0461c49fe
Make non-payable default for conversion to address.
2018-09-20 14:31:04 +02:00
hydai
b409faa675
Disallow uppercase X in hex number literals
2018-09-19 22:01:15 +08:00
liangdzou
808c3f3df5
fix some format typos
2018-09-17 22:13:21 +08:00
liangdzou
f3cbdadec7
Do not set to ref for explicit conversion and add assertion for array
...
type conversion. Also, add some test cases for #4901 and #4948 .
2018-09-14 08:42:40 +02:00
chriseth
5cf570e100
Merge pull request #4968 from ethereum/alethUpdateCompatible
...
Fix tests for newer versions of aleth.
2018-09-13 23:38:46 +02:00
Daniel Kirchner
3e55aa3fa2
Disable blockhash test for constantinople due to changes between aleth versions.
2018-09-13 17:18:42 +02:00
Daniel Kirchner
ae35a58124
Add `stateMutability
field to JSON AST for
address
` types.
2018-09-13 15:15:49 +02:00
Daniel Kirchner
12aaca1645
Add payable and non-payable state mutability to AddressType.
2018-09-13 15:15:49 +02:00
Daniel Kirchner
879251a78b
Update test suite to use address payable.
2018-09-12 16:21:43 +02:00
Daniel Kirchner
1ce3581a52
Accept `address payable
` during parsing.
2018-09-11 14:52:23 +02:00
Daniel Kirchner
a434896458
Restore `isConstructor
` in the legacy AST.
2018-09-11 14:47:25 +02:00
Daniel Kirchner
b6636e2570
Add new test cases.
2018-09-11 14:47:25 +02:00
Daniel Kirchner
395ab9a872
Replace `isConstructor
field in the JSON AST by a
kind
` field.
2018-09-11 14:47:25 +02:00
chriseth
7118f53974
Tests.
2018-09-10 12:47:46 +02:00
chriseth
6a40048aa4
Tests.
2018-09-06 16:42:59 +02:00
chriseth
0b7b8162ca
This fixes several bugs with regards to line breaks and comments:
...
- any unicode line break (line feed, vertical tab, form feed, carriage
return, NEL, LS and PS) is considered to terminate a single-line
comment. The line break itself is considered to be the next token
after the comment, leading to a parser error if it is not an
ascii character (i.e. for NEL, LS and PS).
- unterminated multiline comments are considered illegal tokens
- '/** /' is considered an unterminated multiline comment
(previously, whitespace was allowed before the last '/'
2018-09-06 16:42:59 +02:00
chriseth
522174890f
Merge pull request #4872 from bakaoh/issue4716
...
Crash when array index value is too large
2018-09-05 21:47:42 +02:00
chriseth
a996ea266c
Merge pull request #4590 from ethereum/msgValueModifier
...
Warn if modifier uses msg.value in non-payable function
2018-09-05 10:32:10 +02:00
bakaoh
a7ffff6a29
Fix #4716 : Crash when array index value is too large
2018-09-05 10:54:38 +07:00
chriseth
e6aa15bae1
Merge pull request #4895 from ethereum/abidecodesingle
...
Fix abi.decode returning single value.
2018-09-04 23:47:56 +02:00
chriseth
85debe77d9
Merge pull request #4866 from bakaoh/issue4743
...
Fix#4743: Incorrect source location for nameless parameters
2018-09-04 20:21:03 +02:00
chriseth
624dbbe142
Fix abi.decode returning single value.
2018-09-04 18:19:00 +02:00
chriseth
9daac90cf7
Merge pull request #4888 from ethereum/disallow_single_statement_vardecl_if_while_for
...
Disallow single statement var decl in if/while/for without blocks
2018-09-04 17:24:06 +02:00
Daniel Kirchner
e3097b30da
Add another end-to-end test.
2018-09-04 15:34:21 +02:00
Daniel Kirchner
82f512a7d4
Add return data to bare calls.
2018-09-04 13:31:10 +02:00
Leonardo Alt
17176871ab
Changed error message and added tests
2018-09-04 11:48:58 +02:00
Daniel Kirchner
a102f3b783
Remove trailing whitespace for all files in the repository.
2018-09-04 11:30:30 +02:00
Leonardo Alt
b7c6e53d3d
Fix endToEnd test
2018-09-03 18:35:57 +02:00
chriseth
431c2fbcf3
Turn warning into error.
2018-09-03 18:35:57 +02:00
Erik Kundt
75a92b0ffd
Warns if modifier uses msg.value in non-payable function.
2018-09-03 18:35:57 +02:00
bakaoh
3d7b0d691f
Update test to correct source location for nameless parameters
2018-08-31 09:54:11 +07:00
Leonardo Alt
583e7156ba
Dynamic type as mapping key returns error instead of assertion fail
2018-08-16 11:59:41 +02:00
chriseth
cc6fa6d61f
Merge pull request #4822 from ethereum/addressStaticCall
...
Add ``staticcall`` to ``address``.
2018-08-16 00:13:21 +02:00
Leonardo Alt
faed71c6b1
Review suggestions
2018-08-15 17:11:18 +02:00
Leonardo Alt
c3d3ae80fa
Add end to end tests
2018-08-15 17:11:18 +02:00
Leonardo Alt
b6c839e817
Disallow indexed reference types in events when using ABIEncoderV2
2018-08-15 17:11:18 +02:00
Daniel Kirchner
a34735016c
Add syntax test for `address.staticcall.value
`.
2018-08-15 16:06:48 +02:00
Daniel Kirchner
ed5265598b
Add view pure checker tests for `address.staticcall(...)
`.
2018-08-15 16:06:48 +02:00
Daniel Kirchner
7ca0aaaf6f
Add `staticcall
to
address
`.
2018-08-15 16:06:48 +02:00
chriseth
6c0261e6ab
Merge pull request #4390 from ethereum/abidecode
...
Add abi.decode
2018-08-15 12:31:26 +02:00
chriseth
9328ea4c3c
Add abi.decode(bytes data, (...))
2018-08-15 10:45:16 +02:00
bakaoh
3fa8829845
Fixes #4718 : High CPU usage when using large variable names
2018-08-15 10:23:08 +02:00
chriseth
cc54f6c425
Merge pull request #4738 from ethereum/dataloc_merged
...
Enforce data location.
2018-08-14 21:38:07 +02:00
chriseth
8f27fb1f4a
Merge pull request #4542 from aarlt/constructor_natspec
...
Fix: natspec annotations on constructors
2018-08-14 19:13:25 +02:00
chriseth
13905a2094
Update tests.
2018-08-14 18:53:06 +02:00
mingchuan
16de7a0493
New test cases.
2018-08-14 18:53:06 +02:00
Chase McDermott
b000a022f2
Update tests
2018-08-14 18:53:06 +02:00
chriseth
3f42118d19
Merge pull request #4765 from ethereum/fixes-issue-4673
...
[WIP] Fixes issue where computing storage size for a number would take too long (or even cause a crash).
2018-08-14 17:34:04 +02:00
Jesse Busman
c059119145
Add implicit convertibility to function pointer with higher state mutability
2018-08-14 17:13:10 +02:00
chriseth
ec7ccbdf86
Merge pull request #4782 from ethereum/encodePackedArrayOfStructs
...
Encode packed array of structs
2018-08-14 16:32:57 +02:00
Christian Parpart
43bda53410
Fixes issue where computing storage size for a number would take too long.
...
Fixes #4673 .
2018-08-14 15:38:10 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
...
Closes #4733 .
2018-08-14 15:36:03 +02:00
Leonardo Alt
17cac588d0
Replace safety stop by invalid
2018-08-14 12:32:47 +02:00
chriseth
d01ffd1ad9
Merge pull request #4799 from ethereum/semanticsTestsGasEtAl
...
Semantics tests for ``gasleft()``, ``blockhash()`` ``tx.gasprice`` and ``block.gaslimit``
2018-08-14 12:14:53 +02:00
Daniel Kirchner
b325a70d59
Fix tests for constantinople (expect zero for the time being).
2018-08-14 11:42:34 +02:00
Daniel Kirchner
06b7edfdcf
Add missing tests for `gasleft()
,
blockhash()
tx.gasprice
and
block.gaslimit
`.
2018-08-14 11:42:34 +02:00
chriseth
6ca3973944
Merge pull request #4777 from ethereum/typeConversionMemory
...
Defaul data location for type conversions is memory.
2018-08-14 11:36:19 +02:00
chriseth
3dd31b704a
Merge pull request #4798 from ethereum/mappingArgumentsAndReturns
...
Mapping arguments and returns
2018-08-13 17:27:29 +02:00
chriseth
ae8218543b
Merge pull request #4696 from ethereum/byteLiteralConversion
...
Disallow ambiguous implicit and explicit conversions from number literals to bytesXX
2018-08-13 17:25:30 +02:00
Daniel Kirchner
dfcfc4c35b
Add tests for mappings in function types.
2018-08-13 16:33:37 +02:00
Daniel Kirchner
341128962f
Allow mappings of arrays as arguments and return values of internal functions.
2018-08-13 16:33:37 +02:00
Daniel Kirchner
4ae59acc09
Consider mappings return values in control flow analysis.
2018-08-13 16:33:37 +02:00
Daniel Kirchner
a9f31da411
Allow mapping arguments and return values in all internal functions.
2018-08-13 15:50:22 +02:00
chriseth
bd567a22c9
Defaul data location for type conversions is memory.
2018-08-13 14:38:12 +02:00
Daniel Kirchner
57ada1d69e
Allow mapping arguments and return values in internal library functions.
2018-08-13 14:31:10 +02:00
Daniel Kirchner
7d7abeb149
Disallow ambiguous conversions between number literals and bytesXX types.
2018-08-13 14:27:01 +02:00
Daniel Kirchner
954d7433bd
Disallow remappings with empty prefix.
2018-08-10 19:26:48 +02:00
chriseth
a38352569b
Tests.
2018-08-09 21:16:51 +02:00
Alex Beregszaszi
ed52f422b7
Rename FunctionKind SHA3 to KECCAK256 (as the instruction was renamed in libevmasm)
2018-08-08 22:37:40 +01:00
Alex Beregszaszi
478012a000
Merge pull request #4772 from ethereum/asm-json
...
Add tests for the assembler object (and avoid misusing string{} for u256)
2018-08-08 21:59:07 +01:00
Alexander Arlt
f76d4d5919
Fix: natspec annotations on constructors
...
- natspec annotations on constructore where ignored.
2018-08-08 21:53:35 +02:00
Alex Beregszaszi
0eeb06b6ea
Test for legacyAssembly in StandardCompiler
2018-08-08 20:52:18 +01:00
chriseth
d634d20b5b
Merge pull request #4684 from ethereum/underscores_in_numeric_literals
...
[BREAKING] Underscores in numeric literals
2018-08-08 21:36:57 +02:00
Alex Beregszaszi
bb071f3075
Merge pull request #4769 from ethereum/inlineasm-overloading-resolution
...
Provide nicer error message when referencing overloaded references
2018-08-08 17:55:10 +01:00
Alex Beregszaszi
9062704054
Merge pull request #4753 from mattaereal/boost-to-string-patch
...
Replace boost:lexical_cast<std::string> for std::to_string.
2018-08-08 16:07:25 +01:00
Alex Beregszaszi
3c791d637d
Provide nicer error message when referencing overloaded references
2018-08-08 15:59:24 +01:00
Matías Aereal Aeón
e902ce1aa0
Removing std:: from std::to_string and include for boost/lexical_cast
2018-08-08 11:26:30 -03:00
Alex Beregszaszi
1bfb841771
Remove experimental 0.5.0 pragma
2018-08-08 14:05:36 +01:00
chriseth
de8e9114fd
Merge pull request #4740 from ethereum/enforceNumberOfReturnValues
...
Disallow empty return in function with return arguments.
2018-08-08 14:59:09 +02:00
Christian Parpart
b9222808f6
Cleanup & polish numbers-with-underscores parsing, also improving tests.
2018-08-08 13:38:46 +02:00
Daniel Kirchner
99d3e8e45a
Add back lost test case to a more reasonable location.
2018-08-08 12:48:59 +02:00
Balajiganapathi S
09a36cba02
Add stricter hex underscore rules
2018-08-08 12:05:51 +02:00
Balajiganapathi S
0000bfc604
Allow underscores in numbers.
2018-08-08 12:05:51 +02:00
Daniel Kirchner
bb518b59aa
Update and extend tests for return expressions.
2018-08-07 20:49:52 +02:00
Daniel Kirchner
b11e39e25e
Remove remaining instances of `fillRight
` left over from tuple wildcards assignments.
2018-08-07 18:51:53 +02:00
chriseth
d7756322c0
Merge pull request #4731 from ethereum/interface-enum
...
Allow enums in interfaces
2018-08-07 17:20:05 +02:00
Alex Beregszaszi
a765b5b31c
Merge pull request #4720 from ethereum/abi-rational-type-identifier
...
Fix type identifiers for RationalNumberType (on negative numbers)
2018-08-07 14:25:11 +01:00
Alex Beregszaszi
4158a310bd
Merge pull request #4729 from ethereum/slot-on-non-storage
...
Properly handle invalid references used together with _slot and _offset.
2018-08-07 14:16:43 +01:00
Alex Beregszaszi
34a711a14d
Add endToEnd test for referencing enums
2018-08-07 15:04:17 +02:00
Alex Beregszaszi
5298d818c4
Add test for abi.encode (negative) literals
2018-08-07 13:44:24 +01:00
Alex Beregszaszi
ce29aac8ad
Add more syntax tests for enums and interfaces/libraries
2018-08-07 13:39:21 +01:00
Alex Beregszaszi
13e37df97c
Allow enums in interfaces
2018-08-07 13:28:53 +01:00
Alex Beregszaszi
b0f9fc5af0
Fix type identifiers for RationalNumberType
2018-08-07 13:23:14 +01:00
chriseth
9d3827266c
Merge pull request #4695 from ethereum/test-natspec
...
Be explicit about which contract to test for in the Natspec tests
2018-08-07 14:19:56 +02:00
Alex Beregszaszi
05cc7e79e1
More precise error message if using non-variables with _slot/_offset
2018-08-07 13:18:54 +01:00
Alex Beregszaszi
eb7b3862ac
Properly handle invalid references used together with _slot and _offset.
2018-08-07 13:18:38 +01:00
Alex Beregszaszi
296ba24f7f
Do not crash on using _slot and _offset suffixes on their own
2018-08-07 12:14:12 +01:00
chriseth
0449b6446e
Merge pull request #4694 from ethereum/test-abijson
...
Be explicit about which contract to test for in ABIJSON tests
2018-08-06 19:01:05 +02:00
chriseth
276724dedc
Merge pull request #4663 from ethereum/dropConstantAST
...
[BREAKING] Drop constant field from JSON AST
2018-08-06 18:55:12 +02:00
chriseth
3b5eee4998
Tests for deriving types for empty string.
2018-08-06 17:10:23 +02:00
chriseth
bc73617f5e
Merge pull request #4689 from ethereum/cleanup-050-tests
...
Cleanup 0.5.0 test cases
2018-08-06 14:45:31 +02:00
Alex Beregszaszi
423cd52844
Be explicit about which contract to test for in the Natspec tests
2018-08-06 13:35:53 +01:00
Alex Beregszaszi
3c408a32c4
Be explicit about which contract to test for in ABIJSON tests
2018-08-06 13:30:38 +01:00
Alex Beregszaszi
2ab66bf798
Cleanup 0.5.0 test cases
2018-08-06 12:03:00 +01:00
chriseth
9d03de1f25
Merge pull request #4671 from ethereum/mappingTupleAssignment
...
Disallow assignments to mappings within tuple assignments; allow for local variables.
2018-08-06 12:59:16 +02:00
chriseth
3576980710
Merge pull request #4644 from ethereum/event_struct_error
...
Disallow structs in events without ABIEncoderV2
2018-08-06 11:44:05 +02:00
chriseth
30f981fc2c
Merge pull request #4681 from ethereum/var-suggestion-crash
...
Fix declaration suggestion for var with different number of components
2018-08-06 11:21:54 +02:00
Daniel Kirchner
bdd86cb39c
Update tests.
2018-08-06 11:17:21 +02:00
chriseth
3684151e53
Merge pull request #4677 from ethereum/jsonAstTestExtraction
...
JSON AST test extraction
2018-08-06 11:01:51 +02:00
Alex Beregszaszi
83e6c34526
Fix declaration suggestion for var with different number of components
2018-08-04 15:22:22 +01:00
Daniel Kirchner
55386ba130
Extract AST JSON tests.
2018-08-03 20:35:50 +02:00
Daniel Kirchner
d923926ff7
Infrastructure for extracting JSON AST tests.
2018-08-03 20:35:50 +02:00
Christian Parpart
a4ee1dfc83
Merge pull request #4412 from ethereum/v050-reference-resolver-errorTypeForLoose
...
[BREAKING] permanently set errorTypeForLoose from Warning to SyntaxError
2018-08-03 19:30:33 +02:00
Daniel Kirchner
cbae02b514
Additional semantics test cases.
2018-08-03 17:38:30 +02:00
Daniel Kirchner
1e4b5886d6
Allow assignments to local variables of mapping types.
2018-08-03 16:22:03 +02:00
Daniel Kirchner
c0a169ca90
Disallow assignments to mappings within tuple assignments.
2018-08-03 15:46:26 +02:00
Leonardo Alt
20c6cea7bb
Disallow structs in events without ABIEncoderV2
2018-08-03 13:41:27 +02:00
Daniel Kirchner
35c5b7de25
Turn warning about uninitialized storage returns into an error.
2018-08-02 19:34:38 +02:00
Christian Parpart
43c01361f3
Drops tests for inline assembly jumps and function access as both isn't possible anymore.
2018-08-02 13:37:22 +01:00
Christian Parpart
a4ab305347
Drop swap_peephole_optimization test from EndToEndTests
...
Already covered by libevmasm/Optimiser: peephole_noncommutative_swap1, peephole_commutative_swap1 and peephole_swap_comparison
2018-08-02 13:37:22 +01:00
Christian Parpart
9b8a05ebfb
Update tests to remove support for loose assembly
2018-08-02 13:37:13 +01:00
Christian Parpart
5d9320c70b
Disallow loos assembly in Solidity by permanently setting it to SyntaxError (from Warning)
2018-08-02 13:36:05 +01:00
Alex Beregszaszi
9ec3fd1632
Merge pull request #4646 from ethereum/smt_model_secondary_location
...
SMT model is sorted and printed as secondary location
2018-08-01 23:20:28 +01:00
Leonardo Alt
90f319615f
SMT model variables are sorted and printed as secondary source location
2018-08-01 23:27:46 +02:00
Alex Beregszaszi
e1b695f199
Merge pull request #4399 from ethereum/contractWhitespace
...
Remove trailing whitespace in all contract files.
2018-08-01 21:59:19 +01:00
Daniel Kirchner
8781990ff3
Remove trailing whitespace in all contract files.
2018-08-01 21:57:12 +02:00
Daniel Kirchner
4bcc4d2fcf
Add additional test cases.
2018-08-01 17:18:17 +02:00
Daniel Kirchner
30d9961efb
Do not exclude public state variables when looking for conflicting declarations.
2018-08-01 14:31:04 +02:00
Alex Beregszaszi
ce99a5ce7f
Merge pull request #4378 from ethereum/noBaseWithoutArguments
...
[BREAKING] Disallow calling base constructors without arguments.
2018-08-01 13:18:37 +01:00
chriseth
061ea0cfc6
Correctly determine whether base constructor is called without parentheses.
2018-08-01 12:28:27 +01:00
chriseth
7e5406dd89
Disallow calling base constructors without arguments.
2018-08-01 12:28:27 +01:00
Christian Parpart
cb200cf7e1
Adds positive/negative tests for checking error on cyclic dependency checker exhaustion
2018-08-01 12:04:08 +01:00
chriseth
b800bfb021
Fix tests regarding contract type conversion.
2018-08-01 11:04:35 +01:00
chriseth
c8232d9759
Disallow conversion between unrelated contract types.
2018-08-01 11:04:35 +01:00
Alex Beregszaszi
21888e246b
Merge pull request #4507 from ethereum/v050-var-keyword-trace-removals
...
Ensures an empty use of var keyword is caught with the proper non-fatal error message
2018-08-01 10:59:26 +01:00
Christian Parpart
a7150f85a6
Ensures an empty use of var keyword is caught with the proper error message.
2018-08-01 09:59:06 +02:00
Alex Beregszaszi
fe28814d83
Merge pull request #4625 from ethereum/pragma-cleanup
...
Remove unnecessary or stray version pragmas
2018-07-31 11:15:45 +01:00
Leonardo Alt
210fee571f
Fix crash when FunctionType has undeclared type as parameter
2018-07-31 11:17:51 +02:00
Alex Beregszaszi
7fa2d0c84e
Replace stray solidity pragma with progamatically inserting it in SolidityOptimizer test
2018-07-31 00:12:46 +01:00
Alex Beregszaszi
db6c1c8ddd
Remove unnecesary version pragma from some syntax tests
2018-07-31 00:12:42 +01:00
Alex Beregszaszi
61b94b7ea4
Merge pull request #4556 from ethereum/library-data-locations
...
Add tests for data locations within libraries
2018-07-25 18:03:30 +01:00
Alex Beregszaszi
5a1b6856b4
Merge pull request #4561 from ethereum/scanner-tests
...
Add comprehensive tests for the scanner
2018-07-25 17:02:40 +01:00
Alex Beregszaszi
05e608d778
Merge pull request #4562 from ethereum/parser-tests
...
Add comprehensive tests for the parser
2018-07-25 16:38:54 +01:00
Alex Beregszaszi
b079f34c65
Scanner tests for all shifts
2018-07-25 12:59:28 +01:00
Alex Beregszaszi
aee13d709c
Scanner tests for all escapes
2018-07-25 12:59:24 +01:00
Alex Beregszaszi
7b5e912874
Add syntax tests for import statements
2018-07-25 11:01:41 +01:00
Alex Beregszaszi
49573bad46
Add syntax test for illegal pragma key
2018-07-25 11:01:41 +01:00
Alex Beregszaszi
fa68e0019f
Add syntax test for location specifier redeclarations
2018-07-25 11:01:41 +01:00
Alex Beregszaszi
008eb1c2c9
Add syntax test for empty emit statement
2018-07-25 11:01:41 +01:00
Alex Beregszaszi
640b8af802
Add syntax tests for assembly block type (evmasm)
2018-07-25 11:01:41 +01:00
Alex Beregszaszi
ee85430f93
Add tests for data locations within libraries
2018-07-25 10:55:23 +01:00
Alex Beregszaszi
ab3978723a
Add more tests for inlineasm/AsmAnalyzer
2018-07-25 10:45:31 +01:00
Alex Beregszaszi
d647761058
Add more comprehensive tests for embedded inline assembly LValue/RValue access
2018-07-25 10:45:31 +01:00
Alex Beregszaszi
1dbf2d1923
Add comprehensive syntax tests for indexed access
2018-07-24 20:26:36 +01:00
Alex Beregszaszi
3e17438c41
Add syntax tests for unknown / invalid pragma
2018-07-24 18:35:47 +01:00
Alex Beregszaszi
de90290c28
Merge pull request #4527 from ethereum/mappingEnforceStorage
...
Enforces explicit data location for mappings
2018-07-23 20:43:38 +01:00
Erik Kundt
c622a1e56c
Enforces data location of local mappings to storage.
2018-07-23 19:30:07 +02:00
Christian Parpart
9f35f0b805
Disallow functions without implementation to use modifiers. This was already the case in the experimental 0.5.0 mode.
2018-07-23 17:29:08 +01:00
chriseth
e3c2f20f6e
Merge pull request #4439 from ethereum/address_members
...
[BREAKING] Enforce address members not accessible by contract instance
2018-07-19 09:24:27 +02:00
Leonardo Alt
faa9c221d4
Changes in ExpressionCompiler
2018-07-18 19:51:24 +02:00
Leonardo Alt
25fa1142bc
Removing tests that are not useful anymore
2018-07-18 14:52:16 +01:00
Erik Kundt
b0b35e1e6b
Adds warning if function is shadowing a contract.
2018-07-18 14:29:01 +02:00
Erik Kundt
de6cd2425b
Adjusts syntax tests to new constructor syntax.
2018-07-18 14:29:01 +02:00
Erik Kundt
05d0e5c8fa
Adds comment about reasoning behind syntax test.
2018-07-17 20:06:07 +02:00
Erik Kundt
7d8b39ff4f
Removes obsolete syntax tests.
2018-07-17 19:30:15 +02:00
chriseth
dfd2fee91d
Suggests external for fallback and interface functions.
2018-07-17 18:07:36 +02:00
Erik Kundt
75bba5c9f0
Adjusts tests to expect type errors on default visibility.
2018-07-17 18:03:35 +02:00
Leonardo Alt
563e0fc9a7
Add suggestion to error message
2018-07-17 16:38:36 +01:00
Leonardo Alt
0075f4239a
Address members not accessible by contract instance
2018-07-17 13:33:23 +01:00
Leonardo Alt
fdfdddd8dc
Add missing period in the end of error messages
2018-07-16 16:11:39 +01:00
chriseth
29dae15c50
Merge pull request #4481 from ethereum/disallow-throw
...
[BREAKING] Deprecate the throw statement
2018-07-16 16:25:22 +02:00
Alex Beregszaszi
aa08460d94
Replace throw with revert() in end-to-end tests
2018-07-16 15:33:20 +02:00
Alex Beregszaszi
21e97da294
Deprecate the throw statement
2018-07-16 15:33:20 +02:00
Erik Kundt
ed2aa3b869
Fixes end-to-end tests.
2018-07-16 14:51:46 +02:00
Erik Kundt
63b6f1532e
Specifies visibility in syntax test.
2018-07-16 14:49:55 +02:00
Erik Kundt
893f4cf092
Specifies visibility in unit tests.
2018-07-16 14:49:55 +02:00
chriseth
931794001e
Merge pull request #4500 from ethereum/v050-interface-functions-must-be-external
...
[BREAKING] interface functions must be external
2018-07-16 14:43:56 +02:00
Chase McDermott
f48d01d066
Added default data locations to parameters for end to end tests.
2018-07-16 14:18:16 +02:00
Christian Parpart
396bf11858
enforce interface-functions to be external-declared
...
- libsolidity: Enforce interface-functions must be external-declared.
- Changelog adapted to reflect changes wrt. functions in interfaces.
- test: Adjustments according to prior interface-function changes.
- tests: Adapting SolidityEndToEndTest to interface-function change.
- docs: Adapted documentation to interface-function change.
2018-07-16 12:15:36 +02:00
chriseth
bab4a3975f
Merge pull request #4501 from ethereum/recursiveStructsWithFixedArrays
...
Consider fixed-size arrays when checking for recursive structs.
2018-07-13 01:26:50 +02:00
Daniel Kirchner
62645d5302
Update tests.
2018-07-12 20:33:52 +02:00
Daniel Kirchner
faa55f6544
Add test cases.
2018-07-12 20:14:31 +02:00
chriseth
5d8a8f7265
Merge pull request #4437 from ethereum/report-empty-var-decls
...
[BREAKING] Report empty var tuple decls
2018-07-12 19:22:38 +02:00
chriseth
81271801b4
Merge pull request #4478 from ethereum/requireStorageLocation
...
Turn missing storage locations into an error.
2018-07-12 18:00:05 +02:00
Christian Parpart
cc585138bc
Generates a syntax error when declaring a variable declaration's LHS has no named components
2018-07-12 13:26:52 +02:00
chriseth
fa8102880f
Merge pull request #4428 from ethereum/enforce_staticcall_view
...
[BREAKING] Enforce STATICCALL for view and pure
2018-07-12 13:14:02 +02:00
chriseth
576f3ef18c
Merge pull request #4083 from ethereum/variable_stack_slot
...
[BREAKING] Allocate local variables according to their scope
2018-07-12 13:01:15 +02:00
Daniel Kirchner
8b4b8bdbae
Update test wrt requiring storage locations.
2018-07-12 12:54:42 +02:00
Chase McDermott
fc78b32847
Added default data locations to parameters for syntax tests.
2018-07-11 20:24:50 -05:00
chriseth
99bee7e233
Merge pull request #4443 from ethereum/double_var_decl_fix
...
Fix crash when declaring the same var twice in the same scope
2018-07-12 00:05:32 +02:00
chriseth
0c9645c978
Merge pull request #4480 from ethereum/fixZeroWithExponent
...
Fix literals with exponents with mantissa of zero.
2018-07-11 23:45:41 +02:00
Christian Parpart
08345209e6
Merge pull request #4404 from ethereum/v050-var-keyword-suggest
...
[WIP] v0.5.0 var keyword type suggestion
2018-07-11 16:33:09 +02:00
Daniel Kirchner
dedf13633c
Split test case into failing and succeeding case.
2018-07-11 15:37:37 +02:00
Daniel Kirchner
e8e5e12ad2
Fix literals with exponents with mantissa of zero.
2018-07-11 15:34:17 +02:00
Leonardo Alt
38026d3114
Use STATICCALL for view and pure
2018-07-11 14:45:22 +02:00
chriseth
f3abfa81ad
Merge pull request #4454 from ethereum/constructorArgCount
...
[BREAKING] Wrong argument count in constructor call
2018-07-11 14:45:05 +02:00
chriseth
238dbe1b99
Merge pull request #4388 from ethereum/noPackedLiterals
...
Disallow packed encoding of literals.
2018-07-11 14:28:20 +02:00
Erik Kundt
e7dc9d27fc
Cleans up syntax test.
2018-07-11 13:26:52 +02:00
Erik Kundt
7c7e154a7b
Improves error with suggestion to remove parantheses.
2018-07-11 01:58:17 +02:00
Erik Kundt
34a031609e
Updates Changelog, syntax test and simplifies type checker.
2018-07-11 01:58:17 +02:00
Erik Kundt
0b960f5a9c
Turns wrong argument count in base constructor call into en error.
2018-07-11 01:56:07 +02:00
Cryptomental
4116704442
test: Fix typos.
...
Fix typos using codespell.
Refs: #4442
2018-07-10 22:57:59 +02:00
Christian Parpart
1505e28b56
semantics: Suggest auto-deduced type when user declares variable with var
keyword.
2018-07-10 22:14:19 +02:00
chriseth
d84976dc87
Merge pull request #4376 from ethereum/fallbackExternal
...
Fallback functions have to be external
2018-07-10 21:39:25 +02:00
chriseth
12045d2e11
Merge pull request #4464 from cryptomental/bugfix/fix-typos-in-AsmParser-and-TypeChecker
...
AsmParser,TypeChecker: Fix typos.
2018-07-10 21:07:56 +02:00
chriseth
6567cd3e51
Merge pull request #4466 from ethereum/tupleNotEmpty
...
Disallow empty tuple components.
2018-07-10 21:03:30 +02:00
Leonardo Alt
a18a475b1a
Change test from public to external
2018-07-10 19:08:05 +02:00
Leonardo Alt
c286cdaa62
Fix crash for double variable declaration in the same scope.
2018-07-10 18:54:46 +02:00
Leonardo Alt
0c5e0e0d59
Added assertion and tests suggestions
2018-07-10 18:39:38 +02:00
Leonardo Alt
b750ca9741
Add more tests and assertions
2018-07-10 18:39:38 +02:00
Leonardo Alt
9d895e002d
Added tests and review suggestions
2018-07-10 18:39:38 +02:00
Christian Parpart
8ca69ed8d8
defaulting to v0.5.0 behaviour of unary + operator (disallow); also adapting all tests to it
2018-07-10 16:27:57 +02:00
Daniel Kirchner
6d28278b3f
Update end-to-end tests.
2018-07-10 15:53:48 +02:00
Daniel Kirchner
ad47fe23c1
Update tests.
2018-07-10 15:28:05 +02:00
chriseth
7650905567
Merge pull request #4415 from ethereum/uninitializedStoragePointer
...
[BREAKING] Turn uninitialized storage variables into error.
2018-07-10 15:24:01 +02:00
Cryptomental
8c0297b400
libsolidity/syntaxTests: Add a test case for unwanted named arguments.
...
Refs: #4442
2018-07-10 14:10:09 +02:00
Cryptomental
a55abb550d
AsmParser,TypeChecker: Fix typos.
...
Fix typos. The change requested as a separate PR during codespell PR.
Adapt tests as well.
Refs: #4442
2018-07-10 12:33:19 +02:00
Daniel Kirchner
afa5f528f5
Update tests.
2018-07-10 12:17:01 +02:00
Daniel Kirchner
46d6454b1f
Update tests.
2018-07-10 11:38:32 +02:00
chriseth
ab99893396
Merge pull request #4440 from ethereum/hex_denomination_enforce_error
...
[BREAKING] Enforce error on hex combined with denomination
2018-07-09 17:57:16 +02:00
chriseth
e950fd434a
Merge pull request #4403 from ethereum/syntaxTestsVisibility
...
Specify default visibility in syntax tests (pt. 2)
2018-07-09 17:53:23 +02:00
Leonardo Alt
c1b67a845b
Enforce error on hex number combined with unit denomination
2018-07-09 17:19:41 +02:00
Alex Beregszaszi
c42583d27e
Merge pull request #4366 from ethereum/libsolc-cleanup
...
Implement new libsolc API
2018-07-09 12:30:11 +02:00
Erik Kundt
19f6b5ad05
Updates interface constructor and function type test.
2018-07-06 19:42:44 +02:00
chriseth
f3e0bf1dd8
Merge pull request #4418 from ethereum/initialConstants
...
Only allow compile-time constants for constant state variables.
2018-07-05 17:07:32 +02:00
chriseth
c8ac861832
Fix allocation of byte arrays.
2018-07-05 14:18:14 +02:00
Erik Kundt
87ab7d1821
Fixes compilation errors.
2018-07-04 15:45:42 +02:00
Erik Kundt
cbfe3766db
Fixes defects in end-to-end tests.
2018-07-04 15:45:42 +02:00
Erik Kundt
7cb46ea707
Fixes assembly test.
2018-07-04 15:45:42 +02:00
Erik Kundt
fc2b006fe1
Updates unit test to specify visibility.
2018-07-04 15:45:42 +02:00
Erik Kundt
b42929975f
Updates end-to-end tests to specify default visibility.
2018-07-04 15:32:49 +02:00
Erik Kundt
3f53db402f
Fixes wrong visibility specifier in interface constructor test.
2018-07-04 15:15:30 +02:00
chriseth
4a332ab324
Merge pull request #4409 from ethereum/viewPureChecker
...
Enforce state mutability in view pure checker.
2018-07-04 14:09:46 +02:00
Erik Kundt
0dd3e6052c
Fixes broken syntax tests.
2018-07-04 11:47:35 +02:00
Leonardo Alt
8202d512e0
Enforcing error on msg.gas and block.blockhash()
2018-07-04 11:42:05 +02:00
Daniel Kirchner
f5be38bff1
Extend view pure test suite.
2018-07-04 11:25:45 +02:00
Erik Kundt
2e0d019ef0
Adds default visibility specifier to syntax tests.
2018-07-04 10:45:59 +02:00
Daniel Kirchner
0a738b4ac4
Adjust tests wrt strict view pure checker.
2018-07-04 10:14:58 +02:00
chriseth
8ed3da1d5f
Only allow compile-time constants for constant state variables.
2018-07-03 23:03:26 +02:00
chriseth
2211739fc4
Update tests.
2018-07-03 22:51:55 +02:00
chriseth
533d5d4b1c
Merge pull request #4379 from ethereum/constructorArgsTwice
...
Disallow constructor arguments given multiple times.
2018-07-03 22:49:02 +02:00
Daniel Kirchner
717c70a88f
Update test suite.
2018-07-03 15:31:34 +02:00
chriseth
f7a9c4203e
Disallow packed encoding of literals.
2018-07-03 01:02:00 +02:00
chriseth
0f3872694b
Merge pull request #4374 from ethereum/v050-var-keyword-removal-preps-end2end-tests
...
V050 var keyword removal preparations (End-to-End tests)
2018-07-02 18:26:46 +02:00
chriseth
08aa7e47e4
Merge pull request #4305 from ethereum/transactionReceipts
...
Determine transaction status in RPC sessions.
2018-07-02 16:09:59 +02:00
Christian Parpart
e251cdcf47
test: ensure compiled tests do not use var-keyword in preparation of var-keyword removal
2018-07-02 14:32:05 +02:00
Daniel Kirchner
9aefe2f118
Remove trailing whitespace in missing visibility warning.
2018-07-02 13:14:58 +02:00
chriseth
9a71b69f40
Merge pull request #4386 from ethereum/testingDefaultVisibility
...
Specify default visibility in syntax tests
2018-07-02 13:06:59 +02:00
Daniel Kirchner
334c023c72
Determine transaction status in RPC sessions.
2018-07-02 12:56:33 +02:00
chriseth
85b9d3927a
Merge pull request #4224 from ethereum/revert_wrong_calldata
...
[BREAKING] Revert if calldata has wrong size
2018-07-02 12:55:22 +02:00
Erik Kundt
1b008c62a1
Adds review suggestions.
2018-07-02 11:44:16 +02:00
Alex Beregszaszi
328554a4f9
Add new libsolc entry points (solidity_license/version/compile)
2018-06-29 19:30:37 +02:00
Alex Beregszaszi
7d525620d8
Rename JSONCompiler test suite to LibSolc
2018-06-29 17:47:36 +02:00
Erik Kundt
f3ca0685fe
Updates syntax tests to specify default visibility.
2018-06-29 16:26:18 +02:00
chriseth
8747079746
Fix tests.
2018-06-29 16:24:14 +02:00
chriseth
f69e24c85e
Disallow constructor arguments given multiple times.
2018-06-29 16:11:21 +02:00
chriseth
e289c36158
Merge pull request #4354 from ethereum/constructorSyntaxTests
...
Updates tests to new constructor syntax
2018-06-29 15:45:26 +02:00
Erik Kundt
e6d250772d
Updates invalid syntax test.
2018-06-29 13:22:59 +02:00
chriseth
d469df45d8
Merge pull request #4352 from D-Nice/develop
...
Fixes storage ref var typo error from 'prefix' to 'suffix'
2018-06-29 12:27:29 +02:00
Erik Kundt
1346b4407f
Updates syntax tests to new constructor syntax.
2018-06-29 11:27:01 +02:00
Erik Kundt
12c4eb7697
Updates compiled unit tests to new constructor syntax.
2018-06-29 11:27:01 +02:00
chriseth
eeef82b2d7
Fallback function has to be external: backwards-compatible changes.
2018-06-29 00:23:52 +02:00
D-Nice
3cad417710
Add passing test case
2018-06-28 16:45:53 -04:00
Alex Beregszaszi
4268062985
Merge pull request #4365 from ethereum/type-identifier-test
...
Some more type identifier tests
2018-06-28 16:26:25 +02:00
D-Nice
d62476fb1f
Adds storage_reference.sol syntax test
2018-06-27 19:42:46 -04:00
Alex Beregszaszi
775590b0f2
Add more FixedPoint type tests
2018-06-27 19:05:00 +02:00
Alex Beregszaszi
76465f2352
Add one more type identifier escaping test
2018-06-27 18:38:42 +02:00
chriseth
4a842ecc82
Merge pull request #4097 from ethereum/noPackedExceptForPacked
...
[BREAKING] call only takes a single argument and does not pad
2018-06-27 18:29:01 +02:00
chriseth
92cb4acd8a
Also mention regular abi.encode in error message.
2018-06-27 15:00:34 +02:00
chriseth
4e8883b63d
Add emit keyword to tests.
2018-06-27 10:49:16 +02:00
Alex Beregszaszi
80b7d36187
Remove non-0.5.0 warning for emit keyword (make it mandatory)
2018-06-26 20:00:54 +02:00
Christian Parpart
e38139c800
test: Adapted to the change of the var-keyword elimination.
2018-06-26 10:40:26 +02:00
Christian Parpart
a083ccd457
test: drop obsoleted syntaxTest(s)
2018-06-26 10:40:25 +02:00
Leonardo Alt
7763d21cc6
Revert if calldata is too short or points out of bounds
2018-06-26 10:27:48 +02:00
chriseth
4154e1480b
Update tests and add new tests.
2018-06-25 17:17:48 +02:00
chriseth
86a720b96a
Adjust tests.
2018-06-25 17:17:18 +02:00
chriseth
312f422e10
Forwarding length check.
2018-06-25 17:01:45 +02:00
Alex Beregszaszi
6d9a091a8e
Keep the 'if it not used as an address' helper message for all cases of address related warnings
2018-06-25 16:25:21 +02:00
Alex Beregszaszi
c7f842d4cc
Do not change SMT tests
2018-06-25 16:17:50 +02:00
Jason Cobb
98c9ca2575
Update tests for strict address literals
2018-06-25 16:17:50 +02:00
Alex Beregszaszi
72e87423db
Disallow the years unit denomination properly
2018-06-21 20:21:02 +02:00
chriseth
0d1047181d
Merge pull request #4306 from ethereum/remove_050_workaround_scoping
...
[BREAKING] C99 scoping rules by default (remove 050 workaround)
2018-06-21 13:57:59 +02:00
Alex Beregszaszi
7e4bd3e346
Merge pull request #4219 from ethereum/functionTypeNamedArguments
...
Turn named return parameters in function types into an error.
2018-06-20 23:51:19 +02:00
Leonardo Alt
8862b3092b
C99 scoping rules by default
2018-06-20 12:53:38 +02:00
Alex Beregszaszi
a17059573f
Disallow raw callcode (was deprecated in 0.4.12)
2018-06-19 19:31:07 +02:00
Daniel Kirchner
dbfee87860
Return parameters in function types may not be named.
2018-06-18 00:05:06 +02:00
Daniel Kirchner
14d0f8c2f1
Refactor syntax test infrastructure to prepare introducing semantics tests.
2018-06-15 10:51:40 +02:00
Christian Parpart
a211b89118
Enforce disallowing empty structs
...
This patch enfoces an error when it encounters an empty struct,
effectively eliminating the deprecation warning.
Also adjust 419_interface_structs to explicitely test for (non-empty) structs,
as this behaviour "may" change in the future.
2018-06-14 00:24:43 +01:00
chriseth
1dc28c065d
Properly pad data from calldata.
2018-06-12 18:51:40 +01:00
Alex Beregszaszi
9de45383d8
Disallow sha3/suicide aliases
2018-06-12 18:16:18 +01:00
Alex Beregszaszi
d1e7e9ef5e
Merge pull request #3627 from ethereum/additional-keywords
...
[BREAKING] Add new reserved keywords.
2018-06-12 16:33:26 +01:00
Daniel Kirchner
e2f4a9fcf4
Merge pull request #4277 from ethereum/signedRightShift
...
Signed Right Shift: Additional test and more explanation.
2018-06-12 17:19:20 +02:00
Daniel Kirchner
e4b7b2160e
Add new reserved keywords.
2018-06-12 16:02:53 +02:00
Daniel Kirchner
510f227bd7
Additional test and more explanation.
2018-06-12 15:53:15 +02:00
Daniel Kirchner
1f1ec180fb
Merge pull request #4273 from ethereum/soltestExceptions
...
Improve exception handling in soltest and isoltest.
2018-06-12 12:26:05 +02:00
Daniel Kirchner
9f546cfafc
Improve exception handling in soltest and isoltest.
2018-06-12 11:06:14 +02:00
Daniel Kirchner
f33dc92cbd
Use proper SAR for signed right shifts and emulate on pre-constantinople.
2018-06-12 09:32:19 +01:00
Alex Beregszaszi
24ca596c66
Merge pull request #4241 from ethereum/show-named-arg
...
Show named argument name in error
2018-06-06 16:32:08 +01:00
Alex Beregszaszi
0f572159ec
Show named argument name in error
2018-06-06 15:59:27 +01:00
Alex Beregszaszi
b2a3e165cb
Extract test cases from ViewPureChecker
2018-06-06 15:41:41 +01:00
chriseth
4073c02cf3
Merge pull request #4208 from ethereum/extract-name-and-type-tests
...
Extract name and type tests
2018-06-04 19:54:14 +02:00
chriseth
1ce40f4089
Move "create2_as_variable" back to non-isoltest tests.
2018-06-04 19:14:25 +02:00
chriseth
c59a06bb97
Merge pull request #4213 from ethereum/fixpop
...
Fix bug related to byte array pop.
2018-06-04 16:10:56 +02:00
Jason Cobb
7de0d56aae
Remove sha3/suicide from assembly tests
2018-06-04 01:04:49 +01:00
chriseth
4b7e58f22f
Add test for pop on the stack.
2018-05-31 15:01:45 +02:00
Alex Beregszaszi
e58ffda9fd
Remove extracted tests from SolidityNameAndTypeResolution
2018-05-30 20:04:34 +01:00
Alex Beregszaszi
6e23006937
Split out SolidityNameAndTypeResolution tests into SyntaxTests
2018-05-30 19:50:06 +01:00
Alex Beregszaszi
deeca7bc5d
Reformat test for extraction tool
2018-05-30 18:46:28 +01:00
chriseth
0a1a8bfb09
Merge pull request #4172 from ethereum/trailing_dot
...
[BREAKING] Disallow trailing dot not followed by number
2018-05-30 18:51:52 +02:00
chriseth
0e3d4f773f
Merge pull request #4205 from ethereum/name-and-type-tests-split
...
Split up last NameAndTypeResolution test cases
2018-05-30 18:48:08 +02:00
chriseth
5a73044fa7
Merge pull request #3743 from ethereum/popStorageArray
...
pop() for storage arrays
2018-05-30 18:32:08 +02:00
Erik Kundt
fea0d116f7
Fixes assembly bug and adds tests to cover it.
2018-05-30 17:46:43 +02:00
Erik Kundt
98d52beba3
Adds syntax tests, documentation and changelog entry.
...
Refines comment for array utility function.
2018-05-30 17:43:20 +02:00
Alex Beregszaszi
4ec3f508b0
Split up last NameAndTypeResolution test cases
2018-05-30 16:40:49 +01:00
Erik Kundt
34b5eca1f8
Improves assembly and adds more tests.
2018-05-30 17:40:33 +02:00
Leonardo Alt
ac68710789
Disallow trailing dots that are not followed by a number
2018-05-30 15:14:53 +01:00
chriseth
41965ca262
Merge pull request #4176 from sifmelcara/add/calldata-keyword
...
Add a new keyword, "calldata", to allow explicitly specify data location in external function's argument list
2018-05-30 14:42:50 +02:00
mingchuan
b7cafcbdf9
Allow using calldata
keyword to specify data location
2018-05-30 18:05:55 +08:00
Alex Beregszaszi
ddc4492d5e
Split up NameAndTypeResolution test cases
2018-05-30 06:19:05 +01:00
Alex Beregszaszi
6eedc6e797
Extend function type comparison test
2018-05-30 06:16:35 +01:00
Erik Kundt
7156a01acc
Implements pop() for byte arrays.
2018-05-29 12:53:02 +02:00
bitshift
e9dcfb0b62
Implements pop() for value type arrays.
2018-05-29 12:53:02 +02:00
Alex Beregszaszi
885b08df40
Simplify fromElementaryTypeName tests
2018-05-23 17:41:27 +01:00
Alex Beregszaszi
536b3202a6
Move fromElementaryTypeName tests to SolidityTypes
2018-05-23 17:39:52 +01:00
chriseth
5ee2ce353e
Merge pull request #4067 from ethereum/050
...
[BREAKING] Version 0.5.0
2018-05-23 18:11:20 +02:00
Alex Beregszaszi
8f3c119531
Move comments into test sources in SolidityNameAndTypeResolution
2018-05-23 15:18:36 +02:00
Alex Beregszaszi
31fa6a24df
Move more parser tests to syntax tests
2018-05-22 13:25:04 +02:00
Daniel Kirchner
1cbc037a45
Update control flow graph.
2018-05-16 18:32:48 +02:00
Daniel Kirchner
f627dc77d0
Fix continue inside do-while.
2018-05-16 18:32:48 +02:00
Daniel Kirchner
f5a49f679a
Adjust tests.
2018-05-16 18:32:47 +02:00
Daniel Kirchner
5c59d56335
Disallow conversions between bytesX and uintY of different size.
2018-05-16 18:32:47 +02:00
Leonardo Alt
a19b516b2b
Add syntax tests and Changelog entry
2018-05-16 18:32:47 +02:00
Leonardo Alt
0b6eea0c55
Bool variables should not allow arithmetic comparison
2018-05-16 18:32:47 +02:00
Alex Beregszaszi
adce9ca812
Tidy up tests to always have closing braces on the proper line
2018-05-16 15:52:24 +02:00
Alex Beregszaszi
221a4d1f1f
Split warning for multi arguments for hash functions
2018-05-16 11:12:25 +02:00
chriseth
03f60410c9
Add test for single non-bytes argument.
2018-05-16 09:48:03 +02:00
chriseth
203475ef02
Adjust tests.
2018-05-16 09:48:03 +02:00
chriseth
8b98ff470c
Add test for forwarding length check.
2018-05-16 09:48:03 +02:00
chriseth
03c2484407
Merge pull request #4145 from ethereum/more-parser-test-moves
...
Move couple of parser tests to syntax tests.
2018-05-16 09:44:47 +02:00
chriseth
c781baf733
Add tests for multi variable declaration statement.
2018-05-16 03:52:24 +02:00
Alex Beregszaszi
7fb43fe854
Move couple of parser tests to syntax tests.
2018-05-16 03:48:37 +02:00
chriseth
2ba0002998
Merge pull request #4139 from ethereum/abiEncodeIsPure
...
ABI encoding functions are pure and should be usable in constants.
2018-05-15 16:59:48 +02:00
chriseth
63861aac4a
Merge pull request #3947 from ethereum/smt_storage
...
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:54:41 +02:00
chriseth
dac0029d16
ABI encoding functions are pure and should be usable in constants.
2018-05-15 14:45:54 +02:00
chriseth
dce6224052
Merge pull request #4062 from ethereum/revert-variable
...
Fix revert with reason coming from a string variable
2018-05-15 14:44:39 +02:00
Leonardo Alt
a0b42105e4
Testing state vars that are declared after functions that use them
2018-05-15 14:28:08 +02:00
Leonardo Alt
4117e859eb
[SMTChecker] Declaring all state vars before any function is visited
2018-05-15 14:28:08 +02:00
Leonardo Alt
2dbb35d4a8
[SMTChecker] Support to integer and Bool storage vars
2018-05-15 14:22:50 +02:00
Daniel Kirchner
56238ab1ec
Add test for default location.
2018-05-14 20:23:40 +02:00
Daniel Kirchner
16e966dea0
Add control flow analyzer and test for uninitialized storage returns.
2018-05-14 20:23:40 +02:00
Daniel Kirchner
9b7ded2f78
Remove "view"'s in end-to-end tests that will result in errors in 0.5.0.
2018-05-11 11:01:06 +02:00
Alex Beregszaszi
c03a29dea8
Fix revert with reason coming from a string variable
2018-05-09 17:53:17 +02:00
Daniel Kirchner
bc47265b3f
Replace constant with view in the tests.
2018-05-09 15:07:47 +02:00
Alex Beregszaszi
2c3f57bec6
Merge pull request #4104 from ethereum/parserErrorSourceLocations
...
Proper source locations for parser errors.
2018-05-09 14:06:30 +01:00
Daniel Kirchner
305fc0626b
Update test expectations.
2018-05-09 14:08:25 +02:00
Daniel Kirchner
3e6a8d7c2a
Add more tests for right shifts.
2018-05-09 12:50:56 +02:00
chriseth
54aa10ce36
Merge pull request #4054 from ethereum/token-names
...
Improve parser error messages
2018-05-09 11:06:23 +02:00
chriseth
bbae4fb0ef
Test with high path complexity.
2018-05-09 10:53:31 +02:00
chriseth
8ee5d3b274
New tests for wildcard assignments.
2018-05-08 15:32:36 +01:00
chriseth
43ec1699ba
Remove deprecated syntax from a test
2018-05-08 15:13:32 +01:00
chriseth
07e862a145
Extract tests.
2018-05-08 15:13:32 +01:00
chriseth
150d226603
Merge pull request #4063 from ethereum/emit-non-event
...
Show proper error when trying to emit a non-event
2018-05-04 15:02:04 +02:00
Alex Beregszaszi
840ed1e88a
Update parser test expectations
2018-05-04 13:31:56 +01:00
Alex Beregszaszi
ffe7f224a6
Show proper error when trying to emit a non-event
2018-05-04 12:47:01 +02:00
Alex Beregszaszi
ed9f80690b
Simplify expectIdentifierToken by using expectToken
2018-05-03 22:10:51 +01:00
chriseth
650244f619
Merge pull request #4053 from ethereum/parser-syntax-tests
...
Move some parser tests to syntax tests
2018-05-03 08:35:00 +02:00
Alex Beregszaszi
07e765a2f1
Move some parser tests to syntax tests
2018-05-02 21:21:11 +01:00
chriseth
a856135bbf
Merge pull request #3797 from ethereum/shift-constantinople
...
Use native shift instructions on Constantinople
2018-05-02 16:50:15 +02:00
chriseth
8debded743
Revert "BREAKING: Bool variables should not allow arithmetic comparison"
2018-05-02 15:56:59 +02:00
chriseth
42289b642f
Merge pull request #4003 from ethereum/bool_vars_comparison
...
BREAKING: Bool variables should not allow arithmetic comparison
2018-05-02 15:56:06 +02:00
Alexander Arlt
f94b793472
Add virtual destructors on base classes.
2018-05-02 13:29:16 +02:00
Alex Beregszaszi
971941b3f6
Update source location test expectations
2018-04-30 21:23:08 +01:00
Alex Beregszaszi
c44294d02d
Add syntax tests for bytesM
2018-04-30 13:02:02 +01:00
Leonardo Alt
d43436cfec
Add syntax tests and Changelog entry
2018-04-27 14:13:18 +02:00
Leonardo Alt
ab251c7e7d
Bool variables should not allow arithmetic comparison
2018-04-27 11:35:58 +02:00
chriseth
d1e1293fbd
Merge pull request #3981 from ethereum/years-suffix
...
The "year" denomination is deprecated
2018-04-24 12:12:03 +02:00
Alex Beregszaszi
258ae8927e
Merge pull request #3970 from elopio/test/docstring-tag-end
...
docstring: add missing space
2018-04-24 02:16:27 +01:00
Leo Arias
b74566e4ea
docstring: add missing space
2018-04-23 21:47:53 +00:00
chriseth
e685f9f59e
Merge pull request #3976 from ethereum/emptyTupleComponent
...
Empty tuple components should not be possible
2018-04-23 17:35:00 +02:00
Alex Beregszaszi
1ac0090f31
The "year" denomination is deprecated
2018-04-23 16:19:51 +01:00
Alex Beregszaszi
75faed7c55
Add more denomination tests
2018-04-23 16:14:39 +01:00
Erik Kundt
896018c8a3
Treats inline array as an error.
2018-04-23 17:11:41 +02:00
Alex Beregszaszi
6d26ad1e61
Extract subdenomination tests
2018-04-23 16:10:10 +01:00
Erik Kundt
b2ff9bc88d
Turns it into warning (error for 0.5.0) and adds Changelog entry.
2018-04-23 17:09:42 +02:00
Erik Kundt
f2b58de92c
Prevents null type from being used in tuple.
2018-04-22 16:54:33 +02:00
Alex Beregszaszi
0493e3b053
Turn deprecated warnings for sha3/suicide into errors (experimental 0.5.0)
2018-04-20 17:40:48 +01:00
Alex Beregszaszi
edd20ebefb
Extract syntax tests
2018-04-20 17:38:16 +01:00
Alex Beregszaszi
65345162b4
Update tight packing test cases
2018-04-20 12:01:51 +01:00
Alex Beregszaszi
069ea38916
Make literals an error for tight packing (experimental 0.5.0)
2018-04-20 11:58:16 +01:00
Alex Beregszaszi
38460d8b47
Remove unnecessary masking of the result of known short instructions
2018-04-19 23:59:06 +01:00
chriseth
2546a274ca
Merge pull request #3941 from ethereum/bytes-contract
...
Disallow explicit conversion of bytesXX to contract
2018-04-19 16:10:15 +02:00
Alex Beregszaszi
754d79edfa
Disallow explicit conversion of bytesXX to contract
2018-04-19 15:58:14 +02:00
chriseth
a94945dfe4
Improve error message for failed member lookup.
2018-04-18 22:56:45 +01:00
chriseth
17beac1e07
Extract tests.
2018-04-18 22:52:29 +01:00
chriseth
4895864302
Warn about functions named "constructor".
2018-04-18 21:23:09 +02:00
chriseth
29a97f1641
Fix name clashes between constructor and fallback function.
2018-04-18 14:24:35 +02:00
chriseth
f510348ff1
Extract tests.
2018-04-18 14:24:35 +02:00
chriseth
3d04d83297
Merge pull request #3868 from ethereum/bytescleanup
...
Properly force-clean for shortening bytesXX conversions.
2018-04-16 15:23:36 +02:00
chriseth
533d08517f
Merge pull request #3793 from ethereum/rationalNumberLimit
...
Rational number limit
2018-04-16 13:10:50 +02:00
chriseth
bf57500e25
Tests for bytes cleanup.
2018-04-16 12:47:38 +02:00
Erik Kundt
33fbf88707
Limits rational numbers to 4096 bits.
2018-04-16 11:45:55 +02:00
chriseth
95c49b367e
Merge pull request #3875 from ethereum/constructorSelfRef
...
Stricter check for "this" in constructor.
2018-04-13 18:39:31 +02:00
Daniel Kirchner
be37e3a912
Stricter check for member access to "this" in constructor.
2018-04-13 15:57:13 +02:00
Erik Kundt
6c656a9391
Adds unit test that covers long typeDescription and renames suite.
2018-04-12 21:14:50 +02:00
Erik Kundt
34da3e634f
Separates tests for legacy and compact output.
2018-04-12 21:14:50 +02:00
Erik Kundt
824008340a
Adds type expectations to legacy tests.
2018-04-12 21:14:50 +02:00
Erik Kundt
8935c0dd2f
Uses short string representation of TypePointer
2018-04-12 21:14:50 +02:00
chriseth
7054defdd6
Merge pull request #3364 from ethereum/revertWithReason
...
Revert with reason
2018-04-12 21:01:08 +02:00
chriseth
44416d1ac6
Merge pull request #2980 from ethereum/abi-api
...
Add abi.encode and abi.encodePacked
2018-04-12 20:55:03 +02:00
chriseth
966367305a
Remove dead code and clarify throw.
2018-04-12 20:13:16 +02:00
Daniel Kirchner
db40bd46af
Add additional test for `var
` for storage variables.
2018-04-12 16:46:35 +02:00
chriseth
75b8828666
Allow struct encoding with new encoder.
2018-04-12 16:37:16 +02:00
Daniel Kirchner
6862f22943
Fix internal compiler error when parsing `var
` declaration without identifier.
2018-04-12 14:57:14 +02:00
chriseth
b25598126e
Update documentation and minor changes.
2018-04-12 13:09:38 +02:00
chriseth
4faa839813
Use error signature for revert data.
2018-04-12 13:09:38 +02:00
chriseth
338a875134
Update expectation.
2018-04-12 13:09:38 +02:00
chriseth
e133b1a0cd
Adjust expectations in case of homestead VM.
2018-04-12 13:09:38 +02:00
chriseth
42c4c78390
Adjust tests.
2018-04-12 13:09:38 +02:00
chriseth
167ee2fcbb
Update source location tests.
2018-04-12 13:09:38 +02:00
chriseth
aa715f8759
Tests about error bubbling for create and transfer.
2018-04-12 13:09:38 +02:00
chriseth
7a9ee69e98
Bubble up error messages.
2018-04-12 13:09:38 +02:00
chriseth
ae1d040285
Allow error string for `require
`.
2018-04-12 13:09:37 +02:00
chriseth
a06249c984
Tests for revert with reason string.
2018-04-12 13:09:37 +02:00
chriseth
c3dc67d0e0
Merge pull request #3848 from ethereum/constantDivisionByZero
...
Error on invalid arithmetic with constant expressions.
2018-04-12 11:49:08 +02:00
Daniel Kirchner
d42476e241
Add test to check ConstantEvaluator for pure non-rational functions.
2018-04-12 11:33:54 +02:00
chriseth
7343c40283
Check partial function parameters if rest is arbitrary.
2018-04-12 00:10:25 +02:00
chriseth
c4a6a63f36
Tests for view and pure.
2018-04-12 00:10:25 +02:00
chriseth
44c0d7ca5e
Tests.
2018-04-12 00:10:25 +02:00
Daniel Kirchner
932915633b
Add tests for literal operations as well.
2018-04-11 23:20:40 +02:00
Alex Beregszaszi
d56acb68ab
Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature.
2018-04-11 22:32:10 +02:00
chriseth
b5a696ad48
Properly cope with constructor headers.
2018-04-11 22:00:21 +02:00
chriseth
52f68d3b63
Update expectations.
2018-04-11 22:00:21 +02:00
chriseth
4e1ea0866d
Extract modifier tests.
2018-04-11 22:00:21 +02:00
chriseth
2ad1acaf72
Warn if modifiers are applied to functions without implementation.
2018-04-11 22:00:21 +02:00
chriseth
42b90ad4c3
New tests for function state variables.
2018-04-11 22:00:04 +02:00
chriseth
08e807aea0
Add expectations.
2018-04-11 22:00:04 +02:00
chriseth
bd27ce0e25
Extract function type tests.
2018-04-11 22:00:04 +02:00
chriseth
ae3fca6db2
Merge pull request #3863 from ethereum/fixGasEstimation
...
Correctly ignore costs of fallback for other functions.
2018-04-11 21:53:41 +02:00
Daniel Kirchner
daa69df447
Error on invalid arithmetic with constant expressions.
2018-04-11 21:17:10 +02:00
chriseth
928ce08845
Correctly ignore costs of fallback for other functions.
2018-04-11 19:42:34 +01:00
Daniel Kirchner
cb548f6f53
Fix ConstantEvaluator to correctly handle single element tuples.
2018-04-11 18:30:34 +02:00
Daniel Kirchner
fdcbf1337a
Syntax Tests: extract array_length_* tests.
2018-04-11 18:01:24 +02:00
chriseth
d50d1f0ac1
Merge pull request #3580 from ethereum/asm-bitshift-optim
...
Add simplification rule for bitwise shifting
2018-04-11 17:18:31 +02:00
chriseth
05781c955b
Fix line numbers for errors.
2018-04-11 16:37:49 +02:00
chriseth
c9bdbcf470
Merge pull request #3309 from ethereum/limit-errors
...
Limit the number of errors output in a single run to 256
2018-04-11 16:13:41 +02:00
Jason Cobb
3b7b962b66
Fix bug in typechecking when comparing rational literals
2018-04-11 12:03:08 +02:00
Alex Beregszaszi
2e73ef5ac5
Ignore shift warnings on constantinople tests
2018-04-10 15:29:55 +01:00
Alex Beregszaszi
5f76f47f2e
Add end to end tests for SHL/SHR/SAR instructions (constantinople only)
2018-04-10 15:29:54 +01:00
Daniel Kirchner
f03695731b
Add source locations to syntax test expectations.
2018-04-10 14:08:22 +02:00
Daniel Kirchner
3eedbc6a9c
Error when using no parentheses in modifier-style constructor calls.
2018-04-10 12:09:34 +02:00
Daniel Kirchner
b918a105a4
Move constructor argument override check to TypeChecker and reuse annotations in ContractCompiler.
2018-04-09 15:26:08 +02:00
Daniel Kirchner
b8fdb666e2
Allow duplicated constructor calls, if no arguments; support for multiple inheritance; backwards compatibility.
...
# tmp
2018-04-09 15:26:05 +02:00
Federico Bond
4e037281ac
Error on duplicated super constructor calls
2018-04-09 11:22:35 +02:00
Alex Beregszaszi
d5f40c141b
Limit the number of errors output in a single run to 256
2018-04-06 13:52:19 +02:00
chriseth
5b1c0506fa
Allow `memory
` suffix for internal elementary type parsing.
2018-04-05 16:06:04 +02:00
Daniel Kirchner
037eba20fc
Merge pull request #3824 from ethereum/baseArgumentsEmptyParenthesis
...
Error when using empty parentheses for base class constructors that r…
2018-04-05 14:43:28 +02:00
Alex Beregszaszi
36d6c27e68
Merge pull request #3745 from ethereum/fixRecursion
...
Fix invalid recursion errors for structs
2018-04-05 12:04:54 +02:00
chriseth
c6da5c1650
Merge pull request #3822 from ethereum/swap-comparison
...
Replace comparison operators with opposites if preceded by SWAP1
2018-04-05 11:57:26 +02:00
Daniel Kirchner
96eff0ff6a
Error when using empty parenthesis for base class constructors that require arguments.
2018-04-05 11:52:22 +02:00
Alex Beregszaszi
8dc9113e37
Add end-to-end test for SwapComparison and CommutativeSwap peephole optimisers
2018-04-05 10:54:39 +02:00
chriseth
65f18a18de
More specific push implementation.
2018-04-04 16:50:45 +02:00
chriseth
016f562348
Merge pull request #3808 from ethereum/parserTests
...
SyntaxTests: extend syntax tests and isoltest to support parser error…
2018-04-04 14:52:01 +02:00
chriseth
0cbe55005d
Create empty dynamic memory arrays more efficiently.
2018-04-04 12:37:04 +02:00
Daniel Kirchner
87ad337ae0
Adds parsing sub-directory in syntaxTests and moves two example tests from SolidityParser.cpp to test contracts.
2018-04-03 19:54:46 +02:00
Daniel Kirchner
6f9644add1
SyntaxTests: extend syntax tests and isoltest to support parser errors and compiler exceptions.
2018-04-03 19:54:45 +02:00
Daniel Kirchner
c98464db06
Remove redundant test and enforce success without warnings.
2018-04-03 18:21:55 +02:00
Daniel Kirchner
d664a599e6
Constructors are defined using the `constructor
` keyword.
2018-04-03 18:21:55 +02:00
Alex Beregszaszi
0edce4b570
Merge pull request #3693 from ethereum/optimizeMLOAD
...
Optimize across MLOAD if MSIZE is not used.
2018-04-03 15:58:11 +01:00
chriseth
8fdbd19a05
Extract constant cycle tests.
2018-04-03 16:29:18 +02:00
chriseth
5bdadff0d8
Fix detection of recursive structs.
2018-04-03 16:27:28 +02:00
chriseth
c42caedec2
Extract recursive struct tests.
2018-04-03 16:27:28 +02:00
Alex Beregszaszi
7753249f64
Merge pull request #3699 from ethereum/interfaceExternalVisibility
...
Defaults to external visibility for interfaces.
2018-04-03 15:15:36 +01:00
chriseth
a54fdc495f
Fix: Treat empty base constructor argument list as not provided.
2018-04-03 14:53:48 +02:00
chriseth
e64e397f24
Add memory array init test.
2018-04-03 14:34:32 +02:00
chriseth
138dba1a3f
Test number of sstore operations.
2018-04-03 14:34:32 +02:00
chriseth
6777f7a57f
Optimize across MLOAD if MSIZE is not used.
2018-04-03 14:34:32 +02:00
Erik Kundt
f9efa41749
Makes visibility warning more concise.
2018-04-03 11:16:50 +02:00
Erik Kundt
601659c384
Moves all interface function visibility related tests.
2018-04-03 11:16:50 +02:00
bitshift
8fe1cfb12e
Defaults to external visibility for interfaces.
2018-04-03 11:16:44 +02:00
Jason Cobb
e37b619593
Set default fixed point decimal places to 18
2018-03-31 00:56:36 +01:00
Alex Beregszaszi
076c0754ea
Update tests for empty structs
2018-03-31 00:27:01 +01:00
chriseth
326d656a55
Merge pull request #3790 from ethereum/empty-structs
...
Disallow empty structs
2018-03-30 13:58:35 +02:00
chriseth
5c8a6aac69
Prevent encoding of weird types and support packed encoding of external function types.
2018-03-29 09:57:11 +01:00
chriseth
3bb54e8bd5
Merge pull request #3775 from federicobond/improve-error-fractional-shift
...
Improve error message when attempting to shift by fractional number
2018-03-28 11:16:44 +02:00
Alex Beregszaszi
ebb12756ad
Still allow empty structs for non-0.5.0 mode
2018-03-27 15:49:41 +01:00
Alex Beregszaszi
b540ba527a
Disallow empty structs
2018-03-27 15:49:41 +01:00
chriseth
62559cf127
Merge pull request #3681 from ethereum/interface-external
...
Allow overriding external functions in interfaces with public in a child
2018-03-27 15:47:59 +02:00
chriseth
59538e9a04
Merge pull request #3686 from ethereum/doNotIncludeItnernal
...
Do not include internal functions only used by constructor
2018-03-27 15:28:08 +02:00
chriseth
af26228159
Merge pull request #3748 from ethereum/extractScopingTests
...
Extract scoping tests
2018-03-27 15:23:36 +02:00
chriseth
f8f50e14d2
Test that internal functions only used by constructor are not included in runtime context.
2018-03-27 04:00:12 +01:00
bitshift
2c56e53046
Changes deprecation and adjusts tests.
2018-03-27 03:30:03 +01:00
bitshift
be35a65eb3
Adds unit tests for moved function.
2018-03-27 03:30:03 +01:00
Alex Beregszaszi
ef3595b000
Allow overriding external functions in interfaces with public in an implementing contract
2018-03-26 11:35:17 +01:00
Federico Bond
b79531bebf
Improve error message when trying to shift by fractional number
2018-03-22 10:05:49 -03:00
chriseth
cc0f70263f
Tests for returning dynamic data.
2018-03-21 14:53:29 +00:00
chriseth
c2709a2d8e
Decode dynamic data.
2018-03-21 14:53:29 +00:00
Daniel Kirchner
e68c19c47b
Only consider files ending with .sol and not starting with ~ in syntax tests.
2018-03-16 12:28:21 +01:00
chriseth
c9db105ad7
Extract scoping tests.
2018-03-16 00:47:32 +01:00
Daniel Kirchner
50ad89d369
Only colour error type, not error message in isoltest.
2018-03-15 16:27:54 +01:00
Daniel Kirchner
269241e910
Add formatted printing to SyntaxTest and expand its public interface.
2018-03-15 16:23:46 +01:00
chriseth
78abe81f08
Merge branch 'develop' into externalFunctionsInLibraries
2018-03-14 18:07:55 +01:00
chriseth
d0c96d53e9
Merge pull request #3734 from ethereum/soltestOptions
...
test: Rename test/TestHelper.* to test/Options.* and add Options::val…
2018-03-14 18:05:48 +01:00
chriseth
abc7a45230
Merge pull request #3725 from ethereum/blockhashNoCall
...
Allow ``block.blockhash`` without it being called.
2018-03-14 18:04:40 +01:00
Alex Beregszaszi
59658afa30
Merge pull request #3722 from ethereum/fixMods
...
Fix modifier lookup in libraries.
2018-03-14 17:20:51 +01:00
Daniel Kirchner
d63d41b3b5
test: Rename test/TestHelper.* to test/Options.* and add Options::validate().
2018-03-14 12:04:04 +01:00
Daniel Kirchner
9d079fd126
DocStringParser: Add Changelog entry and test case for empty descriptions.
2018-03-14 10:34:16 +01:00
Daniel Kirchner
09420f1a44
Store filenames in static variable to guarantee sufficient lifetime.
2018-03-13 18:14:57 +01:00
chriseth
834d63de2c
Allow `block.blockhash
` without being called.
2018-03-13 17:34:21 +01:00
chriseth
eecc26deec
Make external library functions accessible.
2018-03-13 17:18:46 +01:00
chriseth
51f9e350b1
Tests.
2018-03-13 16:55:41 +01:00
chriseth
58af150c3d
Changelog entry.
2018-03-13 16:55:41 +01:00
Daniel Kirchner
7091b6c8b5
Minor adjustments.
2018-03-13 12:30:56 +01:00
Daniel Kirchner
3232561d97
Refactoring; fuse SyntaxTestParser and SyntaxTester to SyntaxTest.
2018-03-13 11:20:11 +01:00
Daniel Kirchner
317c1f7fa3
Workaround for boost < 1.59.0
2018-03-13 11:20:11 +01:00
Daniel Kirchner
49eaf7c3fd
Infrastructure for extracting syntax tests in separate test files.
2018-03-13 11:20:11 +01:00
Leonardo Alt
c2d26eb6a2
[SMTChecker_Bool] Fix PR comments; Add support to gt, ge, lt, le. and tests.
2018-03-12 20:16:47 +01:00
Leonardo Alt
6a940f0a99
[SMTChecker] Support to Bool variables
2018-03-12 20:16:47 +01:00
Alex Beregszaszi
a59d6d2e53
Support constantinople in evm-version
2018-03-12 18:13:19 +01:00
chriseth
ea48d8ade3
Fix test.
2018-03-06 20:15:43 +01:00
Alex Beregszaszi
ba8819542f
Merge pull request #3611 from ethereum/warn-using-address-overload
...
Warn if using address overloads on contracts
2018-03-06 19:13:55 +01:00
chriseth
84d711fd1d
Tests for warnings/errors for loose assembly.
2018-03-06 17:45:34 +01:00
Alex Beregszaszi
14b12ae745
Merge pull request #2966 from ethereum/useStaticCall
...
Use STATICCALL for pure function calls.
2018-03-06 17:07:03 +01:00
Alex Beregszaszi
83dacbf669
Merge pull request #3549 from ethereum/fixmultidim
...
Properly detect which array and struct types are unsupported by the old ABI encoder.
2018-03-06 15:51:17 +01:00
chriseth
a3593df43b
Test for using staticcall for view and pure functions.
2018-03-06 15:30:18 +01:00
chriseth
f6c0daec14
Merge pull request #3652 from ethereum/gasleft_v2
...
Use StaticAnalyzer to deprecate msg.gas instead of conditionally remo…
2018-03-06 09:26:14 +01:00
Daniel Kirchner
91b13b734d
Use StaticAnalyzer to deprecate msg.gas instead of conditionally removing it in MagicType.
2018-03-05 23:16:26 +01:00
chriseth
3793aa405b
Merge pull request #3643 from ethereum/gasleft
...
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 20:11:37 +01:00
Daniel Kirchner
2213f9946b
Improved gasleft tests.
2018-03-05 18:45:02 +01:00
Alex Beregszaszi
fd60c1cf86
Warn if using address overloads on contracts
2018-03-05 15:50:27 +01:00
Daniel Kirchner
29fb5fe1c9
Add test cases for shadowing gasleft with local functions/variables.
2018-03-05 13:28:57 +01:00
Daniel Kirchner
298bdeec49
Remove unstable test case.
2018-03-05 13:28:27 +01:00
chriseth
477571e190
Do not warn about 0.5.0 experimental pragma.
2018-03-05 12:14:44 +01:00
chriseth
6dc137317f
Merge pull request #3569 from ethereum/evmVersion
...
EVM version
2018-03-05 12:10:49 +01:00
chriseth
6ec4517929
Use EVM version in gas meter and optimizer.
2018-03-05 11:36:33 +01:00
Daniel Kirchner
c633c0eacb
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 11:18:04 +01:00
chriseth
5982869e94
Merge pull request #3633 from ethereum/reserved-keywords-test
...
Parser: Add test case for reserved keywords.
2018-03-02 11:41:21 +01:00
chriseth
f78d6a9a1e
Merge pull request #3628 from ethereum/literalsHexUnit
...
Deprecate using unit denominations in combination with hex numbers.
2018-03-02 11:11:16 +01:00
Daniel Kirchner
0f64648203
Parser: Add test case for reserved keywords.
2018-03-02 10:45:28 +01:00
Alex Beregszaszi
5a54cd5c70
Only warn for shift instructions if not using constantinople
2018-03-01 17:19:35 +01:00
chriseth
982476f99d
Add TangerineWhistle.
2018-03-01 17:19:35 +01:00
chriseth
7b0272ccfb
CREATE2 test fix.
2018-03-01 17:19:35 +01:00
chriseth
1e26011d2c
Returndatasize and staticcall test fixes.
2018-03-01 17:19:35 +01:00
chriseth
05cc5f22b2
Correctly set evm version in tests
2018-03-01 17:19:35 +01:00
chriseth
dc317a44e0
Provide EVM version to assembly analysis.
2018-03-01 17:19:35 +01:00
chriseth
a53d6b499d
Use EVM version in type checker.
2018-03-01 17:19:35 +01:00
chriseth
f2f61f1c2f
Test both EVM versions.
2018-03-01 17:19:35 +01:00
chriseth
60f7be5d4c
Some tests.
2018-03-01 17:19:35 +01:00
Daniel Kirchner
bd4c2b9bde
Deprecate using unit denominations in combination with hex numbers. Closes #3574 .
2018-03-01 16:58:55 +01:00
chriseth
7540763196
Tests for multi-dimensional arrays.
2018-03-01 14:28:27 +01:00
Alex Beregszaszi
b6dfd9ef54
Ensure that library addresses supplied are of correct length and hex prefixed in JSONIO
2018-03-01 12:03:56 +01:00
chriseth
7938339572
Merge pull request #3617 from ethereum/jsonio-libraries
...
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 17:40:29 +01:00
chriseth
fb8c4bd7c2
Merge pull request #3615 from ethereum/test-framework
...
Simplify contract compilation in the test framework
2018-02-28 16:35:22 +01:00
chriseth
22d26e059c
Merge pull request #3613 from ethereum/require-visibility
...
Issue error if no visibility is specified (on 0.5.0)
2018-02-28 16:33:39 +01:00
Alex Beregszaszi
7897301b71
Properly validate invalid hex characters in JSONIO libraries
2018-02-28 10:44:48 +01:00
Alex Beregszaszi
83fec0232d
Add more comprehensive tests and checks for libraries in JSONIO
2018-02-28 10:36:07 +01:00
Alex Beregszaszi
029e19983c
Split compileContract off compileAndRunWithoutCheck in SolidityExecutionFramework
2018-02-27 20:08:24 +01:00
chriseth
908b46e9a7
Merge pull request #3476 from ethereum/scoping
...
C99/C++ scoping rules
2018-02-27 17:06:10 +01:00
Alex Beregszaszi
a566825589
Issue error if no visibility is specified (on 0.5.0)
2018-02-27 16:31:53 +01:00
Alex Beregszaszi
73c5d99bfa
Add basic test for shift opcodes
2018-02-27 13:43:04 +01:00
chriseth
d64aa0eaad
Some more scoping tests.
2018-02-27 12:41:32 +01:00
chriseth
88a5c66f4a
Only active variables at the point of their declaration.
2018-02-27 12:17:25 +01:00
chriseth
6b9dda06f3
Enable C99-scoping with the 0.5.0-experimental pragma.
2018-02-27 12:17:25 +01:00
chriseth
0005990382
Tests for new scoping behaviour.
2018-02-27 12:17:25 +01:00
chriseth
69f5f2eb65
Adjust tests.
2018-02-27 12:17:25 +01:00
Alex Beregszaszi
5c0d82059f
Turn throw into a syntax error for 0.5.0
2018-02-27 02:10:24 +01:00
Alex Beregszaszi
b62d43912b
Merge pull request #3589 from ethereum/identifiers
...
Clean up type identifiers
2018-02-26 20:27:26 +01:00
Alex Beregszaszi
0736d91eaa
Add test for escapeIdentifier
2018-02-26 19:09:44 +01:00
chriseth
8ae6a76c58
Test data location of getter return type.
2018-02-26 11:17:32 +01:00
chriseth
b5a3b6a429
Parser test.
2018-02-22 15:17:43 +01:00
chriseth
ad010f557b
Tests for warnings.
2018-02-22 15:17:43 +01:00
chriseth
388718b59f
Introduce emit statement.
2018-02-22 15:17:30 +01:00
chriseth
c182284d28
Do not warn about analysis-only experimental features.
2018-02-22 14:50:20 +01:00
Alex Beregszaszi
ae02bb5aad
Raise error on oversized number literals in assembly
2018-02-22 01:02:19 +01:00
chriseth
98324d6c89
Merge pull request #3555 from ethereum/libraryTestCallInput
...
Provide proper input for test call.
2018-02-21 17:23:41 +01:00
chriseth
3076a434ba
Merge pull request #3554 from ethereum/reuseScannerOrNot
...
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:57 +01:00
chriseth
e2bf5de8a2
Expect end of string at end of top-level block for assembly parser.
2018-02-21 00:41:39 +01:00
Alexander Arlt
0f29ac4e56
Add new JSON API for better abstraction and for supporting strict JSON parsing
2018-02-20 21:58:26 +01:00
chriseth
89a8f4096c
Provide proper input for test call.
2018-02-20 19:31:26 +01:00
chriseth
3ba8af4fd5
Provide input for two optimizer tests.
2018-02-20 18:03:39 +01:00
chriseth
decfa0eed0
Test aliasing in shadowing.
2018-02-20 13:06:28 +01:00
chriseth
a680cbd474
Test `_offset
` for constants in inline assembly.
2018-02-19 19:22:39 +01:00
chriseth
abc23ac608
Merge pull request #3135 from federicobond/formatter-instance
...
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 17:34:07 +01:00
Emilio Almansi
47a0e374e2
Fix indentation.
2018-02-19 16:45:38 +01:00
Emilio Almansi
ca6957da37
Added property _documentation_ to Function, Event, and Modifier definition classes.
2018-02-19 16:45:38 +01:00
Federico Bond
d7532f7b9c
Convert static SourceReferenceFormatter functions to member ones
2018-02-19 15:04:22 +01:00
Alexander Arlt
1d4547ab03
Minor improvement: check sources
...
- returns error, if "sources" is an array, an empty object or not defined
- Added new test-cases in test/libsolidity/StandardCompiler.cpp
2018-02-16 18:44:46 +01:00
chriseth
2b5a5a8669
Make addmod and mulmod revert if the last argument is zero.
2018-02-15 13:52:17 +01:00
chriseth
e08a206070
Disallow uninitialized storage pointers as experimental 0.5.0 feature.
2018-02-15 11:58:50 +01:00
chriseth
23484ba6a4
Merge pull request #3498 from ethereum/allowthisfselector
...
Allow `this.f.selector` to be pure.
2018-02-13 17:08:35 +01:00
Balajiganapathi S
b1417b318f
Move string distance function to utils and format error message
2018-02-13 14:59:33 +00:00
Balajiganapathi S
2859834e58
Suggest alternatives when identifier not found.
2018-02-13 14:54:36 +00:00
chriseth
aea9e7fe54
Add tests for selectors for public variables.
2018-02-13 14:15:02 +01:00
Alex Beregszaszi
8f8ad3840e
Merge pull request #3349 from federicobond/number-improv
...
Avoid output messages size blow-up using huge bignums literals
2018-02-13 12:36:05 +00:00
chriseth
560fbd0df1
Always use shortened literal number representation.
2018-02-13 11:43:47 +01:00
chriseth
5916cf1e0a
Allow this.f.selector
to be pure.
2018-02-13 11:00:59 +01:00
Federico Bond
a320ffeafd
Avoid output messages size blow-up using huge bignums literals
2018-02-12 22:53:33 +00:00
Alex Beregszaszi
573aa01fd2
Adjust tests for multiple errors with the var keyword
2018-02-12 22:39:42 +00:00
Alex Beregszaszi
3ddbf1617f
Do not use var where not neccessary in tests
2018-02-12 22:37:35 +00:00
chriseth
8795036919
Merge pull request #3479 from ethereum/multiError
...
Support searching inside multiple errors.
2018-02-12 22:20:58 +01:00
chriseth
676cf52264
Support searching inside multiple errors.
2018-02-12 16:41:31 +01:00
Federico Bond
75a3a707a2
Fix segfault with undeclared array types
2018-02-11 21:40:41 -03:00
Alex Beregszaszi
32300ea3ff
Merge pull request #3360 from federicobond/nonfatal-reference-errors
...
Replace some fatal errors when resolving references with normal ones
2018-02-04 13:07:55 +00:00
Federico Bond
aef9518039
Add more test cases for reference resolving error handling
2018-02-02 14:09:32 -03:00
Federico Bond
600e66e605
Replace some fatal errors when resolving references with normal ones
2018-02-02 14:09:32 -03:00
Alex Beregszaszi
b545987ec7
Issue warning for using public visibility for interface functions
2018-02-01 10:28:00 +00:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +01:00
Alex Beregszaszi
8b20a7cd53
Disallow non-functional instructions in parseExpression early
2018-01-10 14:16:46 +01:00
Alex Beregszaszi
42f8875770
Show restricted instruction warning before argument mismatch issue
2018-01-08 00:39:22 +00:00
chriseth
767052f2f7
Tests for strict mode.
2018-01-06 03:28:21 +00:00
Alex Beregszaszi
9e7e312fdf
Properly support library file names containing a colon (such as URLs).
2018-01-05 13:24:07 +00:00
Leonardo Alt
d0abc5359b
[SMTChecker] Variables are merged after branches (ite variables)
2018-01-04 18:20:12 +01:00
chriseth
7f4cf00f1b
Provide easy way to update source location expectation.
2018-01-04 14:29:03 +01:00
Alex Beregszaszi
2cdd789b5d
Merge pull request #3297 from ethereum/separate_expression_and_statement
...
Separate expression and statement
2018-01-04 12:04:19 +00:00
Alex Beregszaszi
8901b38959
Merge pull request #3369 from ethereum/jsonio-colon
...
Properly handle colons in file names within jsonio
2018-01-04 11:58:29 +00:00
Federico Bond
a0771691ff
Improve error message for wrong struct initialization ( #3359 )
2018-01-04 11:24:39 +01:00
Alex Beregszaszi
ff9fdfac57
Properly handle colons in file names within jsonio
2018-01-03 15:44:03 +00:00
Alex Beregszaszi
add4cde68c
Populate the sourceLocation field properly in standard JSON on errors
2017-12-18 12:17:51 +00:00
chriseth
3d1830f3f2
Merge pull request #3232 from ethereum/simplifyConstant
...
Simplify ConstantEvaluator.
2017-12-14 16:14:46 +01:00
chriseth
ca0d244bf7
Adjust tests.
2017-12-13 12:28:15 +01:00
Yoichi Hirai
14707b27e2
Merge pull request #3183 from federicobond/fix-event-parsing
...
Fix event parsing. Refs #3175
2017-12-12 11:12:18 +01:00
chriseth
48c7ba72f3
Simplify ConstantEvaluator.
2017-12-12 09:44:18 +00:00
Alex Beregszaszi
7ff9a85592
Reduce the types of errors outputted by ConstantEvaluator
2017-12-12 09:40:29 +00:00
Alex Beregszaszi
5226d54ed1
Improve error message for constant evaluator
2017-12-12 09:39:26 +00:00
Alex Beregszaszi
1734d44561
Rename jsonCompiler to libsolc
2017-12-11 12:49:08 +00:00
Alex Beregszaszi
b32d7a84fc
Move some struct tests to require ABIEncoderV2
2017-12-11 02:42:09 +00:00
Alex Beregszaszi
d57afb20fa
Fix warning test for jumps in assembly
2017-12-05 20:27:50 +00:00
Alex Beregszaszi
bc875f6b9c
Warn for assembly labels too
2017-12-05 19:27:12 +00:00
chriseth
6d609557b6
Fix test.
2017-12-04 12:57:36 +01:00
chriseth
00e252a39f
Another test for division.
2017-11-30 01:20:21 +01:00
chriseth
19e067465a
Unary operators and division.
2017-11-30 01:20:21 +01:00
Alex Beregszaszi
73d25c883f
Specify output selection in tests
2017-11-29 20:10:18 +00:00
chriseth
9d8e3ff395
Also test short input for old decoder.
2017-11-29 17:08:44 +01:00
chriseth
5a3dbb0269
Cleanup and overflow checks for data pointers.
2017-11-29 17:08:44 +01:00
chriseth
98c38108e8
Decoder tests.
2017-11-29 17:08:44 +01:00
chriseth
a1f59cbb17
Merge pull request #3220 from ethereum/IuliaIf
...
If statement for Iulia / Inline Assembly
2017-11-27 09:02:46 -05:00
Federico Bond
14fd647b85
Fix event parsing. Refs #3175
2017-11-22 23:08:12 -03:00
Alex Beregszaszi
ea18bed319
Merge pull request #3235 from ethereum/explicit-tests
...
Improve expected test errors for some old cases
2017-11-22 17:05:01 +00:00
Alex Beregszaszi
4c50d3f8e1
Improve expected test errors for some old cases
2017-11-22 15:41:07 +00:00
chriseth
9232cd2621
Tests.
2017-11-22 16:27:32 +01:00
chriseth
6dbc34e16e
If statement for Iulia / inline assembly.
2017-11-22 16:25:24 +01:00
Kwang Yul Seo
4876c58f91
success(text) -> CHECK_SUCCESS(text)
...
success(text) does not assert the result. Use CHECK_SUCCESS macro.
2017-11-22 23:07:42 +09:00
chriseth
19d5c42429
For loop.
2017-11-22 02:35:34 +00:00
chriseth
5e2c066778
Test for multi-branches.
2017-11-22 02:35:34 +00:00
chriseth
95a65dc04c
Fix boolean constants.
2017-11-22 02:35:34 +00:00
chriseth
90fb14f525
Tests.
2017-11-22 02:35:34 +00:00
chriseth
e5de4a66ed
Tests.
2017-11-22 02:35:34 +00:00
Alex Beregszaszi
455e51a608
Improve cyclic constant error message
2017-11-22 02:11:22 +00:00
Balajiganapathi S
d102deaec9
Detect cyclic constant definitions
2017-11-22 02:07:56 +00:00
Balajiganapathi S
c0b4969451
Add more tests for constant var as array lengths
2017-11-22 01:41:50 +00:00
Balajiganapathi S
165857b1d4
Allow constant integer variables as array lengths.
2017-11-22 01:41:46 +00:00
Alex Beregszaszi
f7249abe28
Extend address checksum tests
2017-11-17 00:46:45 +00:00
Federico Bond
3cd6ac418a
Add missing name resolver tests
2017-10-26 14:13:33 -03:00
Alex Beregszaszi
3a8324266f
More detailed errors for invalid array lengths (such as division by zero).
2017-10-20 11:59:18 +01:00
chriseth
4e7d1440ab
Merge pull request #3101 from ethereum/compilerstack-header
...
Remove the reliance on empty contract name equals "last contract" in CompilerStack
2017-10-19 13:43:17 +02:00
Alex Beregszaszi
10677125ae
Turn usage of callcode into an error as experimental 0.5.0 feature
2017-10-19 02:20:30 +01:00
Alex Beregszaszi
2ce35b77be
Implement CompilerStack.lastContractName()
2017-10-18 23:54:32 +01:00
Alex Beregszaszi
039cc25b1f
Always require a contract/sourceName in CompilerStack
2017-10-18 23:32:33 +01:00
chriseth
e854da1a8c
Merge pull request #2925 from ethereum/tuple-value-check
...
Validate each tuple literal
2017-10-18 11:59:40 +02:00
chriseth
58139e8613
Adjust tests.
2017-10-18 00:19:36 +02:00
chriseth
a3db1fc197
Do not accept truncated function selectors.
2017-10-17 23:17:36 +02:00
chriseth
8a8a71de84
Only check tuples for valid rational numbers if they have more than one element.
2017-10-17 19:14:49 +02:00
Alex Beregszaszi
c99d2aae04
Validate each tuple literal
2017-10-17 18:59:01 +02:00
chriseth
6001bd1406
Allocate one byte per memory byte array element instead of 32.
2017-10-16 22:29:31 +02:00
chriseth
082e7b6a9e
Allow `gas
` in view functions.
2017-10-16 13:28:44 +02:00
Yoichi Hirai
c35496bf4a
Merge pull request #3038 from ethereum/interface-external
...
Force interface functions as external (0.5.0)
2017-10-10 12:21:08 +02:00
Alex Beregszaszi
9ee619c9bb
Snarks test using Byzantium precompiles
...
* Snark tests.
* Verifying routine.
* Example proof.
* Update precompiled positions to Byzantium ruleset.
2017-10-09 11:09:20 +02:00
Alex Beregszaszi
c45e55675c
Force interface functions as external (0.5.0)
2017-10-06 13:48:38 +01:00