Mathias Baumann
5b8ff78176
Implement virtual keyword
2019-11-14 11:49:39 +01:00
chriseth
138ee647f1
Provide different options for reason strings.
2019-11-07 14:13:53 +01:00
chriseth
cac2e843e6
Merge pull request #7618 from ethereum/addMoreAbstractKeywordsInTests
...
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-05 13:38:21 +01:00
chriseth
7c258873bd
Add some more abstract keywords in test to make sure the correct property is tested.
2019-11-04 17:26:38 +01:00
Daniel Kirchner
3321fc56ea
Split fallback function and introduce "fallback()" and "receive()" syntax.
2019-11-04 17:17:58 +01:00
Alexander Arlt
e87924a96e
Update soltest related tests.
2019-11-01 14:54:47 -05:00
Mathias Baumann
6c6a9054b2
Implement override checking
2019-10-30 17:31:33 +01:00
Christian Parpart
e40c498260
Adapting the tests to strict inline assembly.
2019-10-25 15:01:25 +02:00
chriseth
644a402166
Tests.
2019-09-23 17:22:56 +02:00
Leonardo Alt
43d6e00b14
Add push() for dynamic storage arrays
2019-09-17 13:47:33 +02:00
Daniel Kirchner
c72d1ffb65
Merge pull request #7421 from ethereum/develop
...
Merge develop into develop_060
2019-09-13 12:14:02 +02:00
Erik Kundt
e92b921123
[isoltest] Adds support for fallback and ether functions.
2019-09-13 10:55:46 +02:00
Daniel Kirchner
9f6fff2120
Replace casting of external functions to address by a member named "address".
2019-08-19 14:56:04 +02:00
chriseth
3dec3af638
Use evmone for testing.
2019-08-08 17:35:44 +02:00
chriseth
9955c51769
Merge pull request #7077 from ethereum/sol-yul-delete-fixed-storage
...
[Sol->Yul] Implement delete for fixed-sized storage arrays
2019-08-08 16:47:16 +02:00
Mathias Baumann
e072885031
[Sol->Yul] Implement delete for fixed-sized storage arrays
2019-08-07 18:28:52 +02:00
Christian Parpart
235638b3fc
Implements constructor code for state variables.
2019-08-05 11:23:01 +02:00
Christian Parpart
b6446aa615
Extracting more end-to-end tests.
2019-07-22 16:31:46 +02:00
Mathias Baumann
d264e3e0ba
[Sol->Yul] Implement getter functions
2019-07-10 13:42:39 +02:00
Mathias Baumann
37f04976a2
[Sol->Yul] Implement keccak256
2019-07-09 18:25:07 +02:00
Christian Parpart
a9a56bc6dd
Extracting more end-to-end tests.
2019-07-08 16:04:52 +02:00
Christian Parpart
62f6e4bad3
Extracting some Solidity end-to-end tests.
2019-07-01 15:37:46 +02:00
chriseth
55bf1b547e
Add test for constant optimization with dirty scratch space.
2019-06-27 12:15:49 +02:00
Mathias Baumann
5f072d30df
Enable yul for more end to end tests
2019-06-24 16:06:22 +02:00
Anurag Dashputre
60332c6469
Extract semantic tests for
...
1. Transaction Status
2. Empty Contract
3. Smoke test for Range
2019-06-09 14:46:02 +02:00
chriseth
df96648b1c
Do not allow msize in inline assembly if the Yul optimizer is active.
2019-05-28 12:54:33 +02:00
chriseth
5b1a984882
Explicitly turn uninitialized internal function pointers into invalid function when loaded from storage.
2019-05-27 17:26:37 +02:00
chriseth
73d0eb6b7a
Modify test to prevent underflow.
2019-05-23 21:32:30 +02:00
chriseth
ee7548a339
Activate some tests.
2019-05-23 21:32:30 +02:00
Mathias Baumann
cbf81b123a
Fix new found spelling mistakes and add exceptions
2019-05-21 10:59:34 +02:00
chriseth
f2ae30f620
Fix handling of structs of dynamic size as constructor parameters.
2019-05-16 17:10:54 +02:00
chriseth
b4d6f847b4
Events.
2019-05-08 13:29:11 +02:00
chriseth
701aed4beb
Also run some end to end tests via yul.
2019-05-07 17:37:29 +02:00
Mathias Baumann
0f4b53e9a0
Fix external ABI type name for contracts
2019-04-18 11:39:48 +02:00
Daniel Kirchner
91a2a9a9c3
Implement ABI encoding of calldata arrays and structs.
2019-04-04 13:05:32 +02:00
Daniel Kirchner
5ff1f85231
Adjust semantics tests.
2019-04-03 17:59:04 +02:00
chriseth
3282c72a21
Update tests.
2019-04-03 11:32:03 +02:00
Bhargava Shastry
f7b5a27581
Fixes bug in byte optimization rule and adds tests.
2019-03-21 14:29:06 +01:00
chriseth
58a3f3cf68
Merge pull request #6248 from ethereum/shiftopt-fix-overflow
...
Fixes u256 overflow in logical shift optimization rule and adds tests.
2019-03-13 12:02:33 +01:00
Bhargava Shastry
515fa872c8
Fixes u256 overflow in logical shift optimization rule and adds tests.
2019-03-13 11:19:20 +01:00
Erik Kundt
39c45ac8ed
Moves ecrecover tests to isoltest.
2019-03-13 10:53:10 +01:00
chriseth
aa062221bb
Tabs, not spaces!
2019-03-06 21:32:10 +01:00
Daniel Kirchner
e3148b5c45
Tests for arrays with dynamically encoded base types.
2019-03-06 18:04:24 +01:00
chriseth
5490a5cd37
Merge pull request #6115 from ethereum/fixUnavailableOpcodes
...
Make unavailable opcodes errors.
2019-03-04 12:26:22 +01:00
chriseth
8f5e12c192
Make unavailable opcodes errors.
2019-02-28 22:20:01 +01:00
Alex Beregszaszi
c3ab43dca7
Remove blockhash workaround in tests
...
This is now obsolete as final constantinople doesn't contain the blockhash EIP.
Revert 3e55aa3fa2
.
2019-02-28 21:17:58 +00:00
Mathias Baumann
e4a52aa2f6
Allow dynamic types in public mappings
2019-02-26 15:48:54 +01:00
Alex Beregszaszi
d2f493268b
Provide access to the name of contracts.
2019-02-26 14:07:03 +00:00
chriseth
7a2645f7d2
Merge pull request #6079 from ethereum/shift-tests
...
Add more test cases for shifts with constants
2019-02-25 16:28:06 +01:00
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
chriseth
8ace2c5b11
Special treatment for differences between ABI encoders.
2019-02-21 11:11:29 +00:00
chriseth
b14d22d11e
Tests for events with structs in libraries.
2019-02-20 14:35:02 +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
c690f679cb
Allow cleanup for mappings (do nothing).
2019-02-18 18:50:22 +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
Daniel Kirchner
9e32aa7510
Disallow calldata arrays with dynamically encoded base types in TypeChecker.
2019-02-11 17:13:12 +01:00
Daniel Kirchner
0e4912a203
ABIEncoderV2: Implement calldata structs without dynamically encoded members.
2019-02-11 15:46:58 +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
7684d886ae
Semantic tests.
2019-02-11 11:37:47 +01:00
chriseth
35483422f3
Pad code to multiple of 32 bytes.
2019-01-30 11:31:28 +01:00
chriseth
2a0d4f358c
Add test for content of creationCode and runtimeCode.
2019-01-17 20:36:48 +01:00
chriseth
44237211d1
Tests.
2019-01-17 20:36:48 +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
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
chriseth
73a64da041
Fix bug related to state variables of function type accessed via base contract.
2018-11-29 19:30:27 +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
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
ac5803bf3e
Changelog entry and tests.
2018-11-26 12:41:26 +01:00
Leonardo Alt
06189ae57f
Add assert and tests for bound functions
2018-11-22 14:41:39 +01:00
Christian Parpart
87821c53c3
Isolating files shared between Yul- and Solidity language frontend.
2018-11-21 18:58:12 +00: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
chriseth
c13b5280c1
Merge pull request #5256 from ethereum/lvalueCleanup
...
Lvalue cleanup
2018-10-19 11:20:12 +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
Erik Kundt
4beabf6686
Documents library view functions and adds unit test.
2018-10-10 12:28:24 +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
879251a78b
Update test suite to use address payable.
2018-09-12 16:21:43 +02:00
chriseth
7118f53974
Tests.
2018-09-10 12:47:46 +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
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
b7c6e53d3d
Fix endToEnd test
2018-09-03 18:35:57 +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
c3d3ae80fa
Add end to end tests
2018-08-15 17:11:18 +02:00
Daniel Kirchner
7ca0aaaf6f
Add `staticcall
to
address
`.
2018-08-15 16:06:48 +02:00
chriseth
9328ea4c3c
Add abi.decode(bytes data, (...))
2018-08-15 10:45:16 +02:00
Chase McDermott
b000a022f2
Update tests
2018-08-14 18:53:06 +02:00
Christian Parpart
81faafe7f2
Adds support for structs in interfaces.
...
Closes #4733 .
2018-08-14 15:36:03 +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
3dd31b704a
Merge pull request #4798 from ethereum/mappingArgumentsAndReturns
...
Mapping arguments and returns
2018-08-13 17:27:29 +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
a9f31da411
Allow mapping arguments and return values in all internal functions.
2018-08-13 15:50:22 +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
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
1bfb841771
Remove experimental 0.5.0 pragma
2018-08-08 14:05:36 +01:00
Christian Parpart
b9222808f6
Cleanup & polish numbers-with-underscores parsing, also improving tests.
2018-08-08 13:38:46 +02:00
Balajiganapathi S
09a36cba02
Add stricter hex underscore rules
2018-08-08 12:05:51 +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
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