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
chriseth
3b5eee4998
Tests for deriving types for empty string.
2018-08-06 17:10:23 +02: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
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
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
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
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
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
Erik Kundt
75bba5c9f0
Adjusts tests to expect type errors on default visibility.
2018-07-17 18:03:35 +02:00
Leonardo Alt
0075f4239a
Address members not accessible by contract instance
2018-07-17 13:33:23 +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
Erik Kundt
ed2aa3b869
Fixes end-to-end tests.
2018-07-16 14:51:46 +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
Daniel Kirchner
62645d5302
Update tests.
2018-07-12 20:33:52 +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
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
Leonardo Alt
38026d3114
Use STATICCALL for view and pure
2018-07-11 14:45:22 +02:00
chriseth
238dbe1b99
Merge pull request #4388 from ethereum/noPackedLiterals
...
Disallow packed encoding of literals.
2018-07-11 14:28:20 +02:00
Cryptomental
4116704442
test: Fix typos.
...
Fix typos using codespell.
Refs: #4442
2018-07-10 22:57:59 +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
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
Daniel Kirchner
6d28278b3f
Update end-to-end tests.
2018-07-10 15:53:48 +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
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
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
b42929975f
Updates end-to-end tests to specify default visibility.
2018-07-04 15:32:49 +02:00
Leonardo Alt
8202d512e0
Enforcing error on msg.gas and block.blockhash()
2018-07-04 11:42:05 +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
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
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
334c023c72
Determine transaction status in RPC sessions.
2018-07-02 12:56:33 +02:00
chriseth
8747079746
Fix tests.
2018-06-29 16:24:14 +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
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
4e8883b63d
Add emit keyword to tests.
2018-06-27 10:49:16 +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
Jason Cobb
98c9ca2575
Update tests for strict address literals
2018-06-25 16:17:50 +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
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
Daniel Kirchner
510f227bd7
Additional test and more explanation.
2018-06-12 15:53:15 +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
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
Erik Kundt
fea0d116f7
Fixes assembly bug and adds tests to cover it.
2018-05-30 17:46:43 +02:00
Erik Kundt
34b5eca1f8
Improves assembly and adds more tests.
2018-05-30 17:40:33 +02: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
chriseth
5ee2ce353e
Merge pull request #4067 from ethereum/050
...
[BREAKING] Version 0.5.0
2018-05-23 18:11:20 +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
Alex Beregszaszi
adce9ca812
Tidy up tests to always have closing braces on the proper line
2018-05-16 15:52:24 +02:00
chriseth
8b98ff470c
Add test for forwarding length check.
2018-05-16 09:48:03 +02:00
chriseth
c781baf733
Add tests for multi variable declaration statement.
2018-05-16 03:52:24 +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
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
Daniel Kirchner
3e6a8d7c2a
Add more tests for right shifts.
2018-05-09 12:50:56 +02:00
Alex Beregszaszi
38460d8b47
Remove unnecessary masking of the result of known short instructions
2018-04-19 23:59:06 +01: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
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
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
75b8828666
Allow struct encoding with new encoder.
2018-04-12 16:37:16 +02:00
chriseth
4faa839813
Use error signature for revert data.
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
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
44c0d7ca5e
Tests.
2018-04-12 00:10:25 +02:00
Alex Beregszaszi
d56acb68ab
Add abi.encode, abi.encodePacked, abi.encodeWithSelector and abi.encodeWithSignature.
2018-04-11 22:32:10 +02:00
Daniel Kirchner
daa69df447
Error on invalid arithmetic with constant expressions.
2018-04-11 21:17:10 +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
Alex Beregszaszi
5f76f47f2e
Add end to end tests for SHL/SHR/SAR instructions (constantinople only)
2018-04-10 15:29:54 +01:00
Federico Bond
4e037281ac
Error on duplicated super constructor calls
2018-04-09 11:22:35 +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
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
0cbe55005d
Create empty dynamic memory arrays more efficiently.
2018-04-04 12:37:04 +02:00
chriseth
e64e397f24
Add memory array init test.
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
chriseth
5c8a6aac69
Prevent encoding of weird types and support packed encoding of external function types.
2018-03-29 09:57:11 +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
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
Daniel Kirchner
d63d41b3b5
test: Rename test/TestHelper.* to test/Options.* and add Options::validate().
2018-03-14 12:04:04 +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
a3593df43b
Test for using staticcall for view and pure functions.
2018-03-06 15:30:18 +01:00
Daniel Kirchner
2213f9946b
Improved gasleft tests.
2018-03-05 18:45:02 +01:00
Daniel Kirchner
298bdeec49
Remove unstable test case.
2018-03-05 13:28:27 +01:00
Daniel Kirchner
c633c0eacb
Move msg.gas to global function gasleft(). Closes #2971 .
2018-03-05 11:18: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
388718b59f
Introduce emit statement.
2018-02-22 15:17:30 +01:00
chriseth
89a8f4096c
Provide proper input for test call.
2018-02-20 19:31:26 +01:00
chriseth
2b5a5a8669
Make addmod and mulmod revert if the last argument is zero.
2018-02-15 13:52:17 +01:00
chriseth
aea9e7fe54
Add tests for selectors for public variables.
2018-02-13 14:15:02 +01:00
chriseth
6807010dc7
Prevent libraries from being called.
2018-01-19 16:27:44 +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
Federico Bond
14fd647b85
Fix event parsing. Refs #3175
2017-11-22 23:08:12 -03:00
chriseth
6dbc34e16e
If statement for Iulia / inline assembly.
2017-11-22 16:25:24 +01:00
Balajiganapathi S
165857b1d4
Allow constant integer variables as array lengths.
2017-11-22 01:41:46 +00:00
chriseth
a3db1fc197
Do not accept truncated function selectors.
2017-10-17 23:17:36 +02:00
chriseth
6001bd1406
Allocate one byte per memory byte array element instead of 32.
2017-10-16 22:29:31 +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
7cb4d714c7
Fix overload resolution when conflict is with members of address (balance, transfer, etc)
2017-09-28 13:57:19 +01:00
Alex Beregszaszi
9ea812598d
Fix other test to use ABI_CHECK
2017-09-27 00:50:35 +01:00
chriseth
95ec2fd0b6
Fix encoded EndToEnd inputs.
2017-09-25 19:33:38 +02:00
chriseth
8e4f242274
Improved error messages for EndToEnd tests.
2017-09-25 10:49:25 +01:00
Alex Beregszaszi
3b813ed295
Support multiple assignment in inline assembly
2017-09-20 11:16:23 +02:00
Alex Beregszaszi
ada68bcee6
Add tests for constant bytes/strings
2017-09-18 22:25:50 +01:00
chriseth
70d70e7816
Implement struct encoder.
2017-09-16 12:31:12 +01:00
chriseth
6385641f6e
Fix tests.
2017-09-16 12:31:12 +01:00
chriseth
44825d1c1e
Expect test to fail until implemented.
2017-09-16 12:12:44 +01:00
chriseth
22f85d5af3
Update tests and error messages.
2017-09-16 12:12:43 +01:00
chriseth
2e72bd163a
Allow structs as part of function interfaces.
2017-09-16 12:12:43 +01:00
Alex Beregszaszi
5c9dbd5083
Merge pull request #2473 from ethereum/functiontype-sig
...
Add .selector member on function types
2017-09-13 17:35:48 +01:00
Alex Beregszaszi
8b166c3636
Use hashing function in tests
2017-09-13 11:40:57 +01:00
Alex Beregszaszi
fd1f8ab38b
Rename .sig to .selector on function types
2017-09-13 11:40:57 +01:00