Commit Graph
100 Commits
Author SHA1 Message Date
chriseth eede8cf2d6 Copy routines for non-byte arrays. 2015-06-24 12:18:19 +02:00
chriseth bb732b822e Merge pull request #2257 from chriseth/sol_memoryArrays6
Strings in constructor and memory-storage copy.
2015-06-23 17:17:23 +02:00
chriseth 1e8c26421b Decoding for constructor. 2015-06-22 20:55:46 +02:00
chriseth 90ee186044 Remove dynamic return types. 2015-06-22 20:50:47 +02:00
chriseth 128fbccd42 Memory-storage copy. 2015-06-22 20:50:47 +02:00
chriseth 2a870afc7b Merge pull request #2232 from chriseth/sol_externalConstructorTests
Tests for constructor arguments "from outside".
2015-06-19 10:29:59 +02:00
chriseth ff96f48487 Fixed build errors. 2015-06-18 16:49:38 +02:00
chriseth 4adc684939 Fix and test for not really recursive structs.
Fixes #2223.
2015-06-18 16:37:06 +02:00
chriseth 5e23bd707b Merge pull request #2216 from chriseth/sol_memoryArrays5
Accessors for strings and type conversion to memory.
2015-06-18 15:21:35 +02:00
chriseth 06245784eb Safe file writing and some tests. 2015-06-18 15:20:30 +02:00
chriseth 6d2f2f668b Tests for constructor arguments "from outside". 2015-06-18 14:41:46 +02:00
chriseth 8603d0c734 Fix to correctly write nonce during tests. 2015-06-18 11:38:14 +02:00
chriseth 5185b75add Cleanup of SecretStore.
Added documentation, more failure checking and some general cleanup.
2015-06-18 11:38:13 +02:00
chriseth 366e25b8d1 Storage array reference test. 2015-06-17 18:51:47 +02:00
chriseth db12069968 Accessors for strings. 2015-06-17 14:25:00 +02:00
chriseth 6e9f586228 Type conversion specialities for storage references. 2015-06-16 17:20:41 +02:00
chriseth bc74cd0a3c Merge pull request #2199 from chriseth/sol_memoryArrays4
Copying between memory and memory.
2015-06-16 16:19:42 +02:00
chriseth 45831ea950 Some changes in libdevcore. 2015-06-16 15:09:19 +02:00
chriseth e7906ba1be Copying between memory and memory.
Also fixed some encoding and padding issues with older copying code.
2015-06-15 19:47:44 +02:00
chriseth fd74541843 Merge pull request #2163 from chriseth/sol_memoryArrays3
Pointers are not references.
2015-06-15 19:46:44 +02:00
chriseth 650ed1a3fc Distinction between storage pointer and storage ref and type checking for conversion between storage and memory. 2015-06-15 14:40:41 +02:00
chriseth 91a7207616 Optimize RETURN x 0 to STOP. 2015-06-12 11:31:03 +02:00
chriseth 67299b6352 Wallet tests. 2015-06-10 19:28:44 +02:00
chriseth 7c4324eb5f Added missing source locations for new memory management code. 2015-06-10 17:51:24 +02:00
chriseth bcecae0822 Merge pull request #2122 from chriseth/sol_memoryArrays2
Use dynamic memory.
2015-06-10 15:36:30 +02:00
chriseth 0237949212 Merge pull request #2114 from LianaHus/sol_byte0_in_storage
Sol removed bytes0
2015-06-10 15:35:28 +02:00
chriseth 31fb199acb Use dynamic memory for argument encoding. 2015-06-09 10:03:25 +02:00
chriseth d3f1cb5cec Quick fix to not access inaccessible sequences. 2015-06-06 15:39:14 +02:00
chriseth 7528dcf52c Test for the invalid sequence access bug. 2015-06-06 15:38:00 +02:00
chriseth a20b23a7a8 Optimize double ISZERO. 2015-06-06 12:42:36 +02:00
chriseth 187f5de2dd Merge pull request #2096 from chriseth/sol_constantFallback
Fallback takes constant amount of gas, and send no gas with send.
2015-06-06 00:45:47 +02:00
chriseth 4141a0de5e Merge pull request #2084 from chriseth/sol_computeConstants
Compute constants
2015-06-05 19:22:30 +02:00
chriseth 7581330e51 Bare functions return success condition. 2015-06-05 17:37:16 +02:00
chriseth 4111cdf376 Compute constants 2015-06-05 17:34:26 +02:00
chriseth 7aff1fb942 Ability to specify the storage location of a reference type. 2015-06-05 14:44:05 +02:00
chriseth 8ba801ec0e Merge pull request #2074 from LianaHus/sol_PosIntegerLiteralsConversation
Solidity Positive integer literals conversion to signed if in value range.
2015-06-05 11:15:09 +02:00
chriseth 82b3a6b1f4 Merge pull request #1975 from LianaHus/sol_EVMExceptions
"error jump" instead of STOP instraction in case of exception
2015-06-01 17:45:55 +02:00
chriseth 604a2d89d2 Merge pull request #2027 from chriseth/sol_dupRemForLoops
Allow duplicate code removal for loops.
2015-06-01 15:09:16 +02:00
chriseth 80904d59e9 Merge pull request #2029 from chriseth/sol_strings
Re-introduce string type.
2015-06-01 15:09:05 +02:00
chriseth 786b57b884 Re-introduce string type. 2015-05-28 16:20:50 +02:00
chriseth f3d9523651 Allow duplicate code removal for loops. 2015-05-28 14:48:07 +02:00
chriseth cfaa99727a Merge pull request #2006 from chriseth/sol_functionalGasEstimator
Functional gas estimator
2015-05-26 15:48:10 +02:00
chriseth fbc331bd35 Removed redundant std. 2015-05-26 11:31:04 +02:00
chriseth 964bcd6b85 Functional gas estimator. 2015-05-22 16:12:40 +02:00
chriseth ec76302b85 Path gas meter. 2015-05-22 16:12:40 +02:00
chriseth e5a4a8fca4 Merge pull request #1988 from LianaHus/sol_Check_ref_problems_for_structs
Check: Reference problems concerning structs
2015-05-20 18:41:34 +02:00
chriseth 42a36548e2 Merge pull request #1983 from chriseth/sol_knowledgeableGasEstimation
Gas estimation taking known state into account.
2015-05-20 18:31:47 +02:00
chriseth 79f11974ea Gas estimation taking known state into account. 2015-05-20 00:28:15 +02:00
chriseth accf43ae4b Merge pull request #1931 from chriseth/sol_callcode
Bare callcode for addresses and contracts.
2015-05-18 12:29:00 +02:00
chriseth 563f9098b2 Bare callcode for addresses and contracts. 2015-05-15 18:02:09 +02:00
chriseth 5f8a5f672d Store copied assembly items in test. Fixes OSX issues. 2015-05-15 13:25:44 +02:00
chriseth 7d5bebd464 Disable test. 2015-05-15 11:46:32 +02:00
chriseth 779ce0131a Merge pull request #1889 from chriseth/sol_multipleTagsOnStack
Known state: store tags on stack as unions.
2015-05-15 11:12:13 +02:00
chriseth b50362042e Known state: store tags on stack as unions. 2015-05-13 17:15:32 +02:00
chriseth 43338fac9f Reverse if and else body. 2015-05-12 17:50:51 +02:00
chriseth ca73a40170 Unify blocks with shared code. 2015-05-12 16:27:43 +02:00
chriseth b6bd56bccd Merge pull request #1864 from chriseth/sol_knowledgeEngine2
Transfer knowledge about the state across jumps.
2015-05-12 16:17:31 +02:00
chriseth 54bc7dda53 Compute state intersection. 2015-05-11 16:40:28 +02:00
chriseth cc6647e671 Tests. 2015-05-11 12:56:40 +02:00
chriseth 2cc62fbbfb Merge pull request #1831 from chriseth/sol_newABIEncoding
New ABI encoding for dynamic types.
2015-05-11 12:27:24 +02:00
chriseth 202ea5c3a1 Merge pull request #1813 from chriseth/sol_knowledgeEngine
Static Analysis Engine.
2015-05-08 18:58:42 +02:00
chriseth 2f85a0aeb2 Merge pull request #1802 from LianaHus/sol_Deny_overwriting_attribute_by_function_via_inheritance
Proper overwriting of attribute and functions.
2015-05-08 18:29:26 +02:00
chriseth 135a67ad52 New ABI encoding for dynamic types. 2015-05-08 16:54:39 +02:00
chriseth b12bba7be2 Merge pull request #1810 from chriseth/sol_gasEstimator
Structural gas estimator.
2015-05-07 12:39:35 +02:00
chriseth a0cc8abb2a CFG returns vector of blocks instead of assembly items. 2015-05-06 12:55:18 +02:00
chriseth 3649c1fc60 Common subexpression elimination ready for using pre-known state. 2015-05-06 11:10:42 +02:00
chriseth 8416a6260f Split known state from common subexpression eliminator. 2015-05-06 11:09:55 +02:00
chriseth 60f335b400 Structural gas estimator. 2015-05-06 10:43:59 +02:00
chriseth 335c67a4e4 Fix for broken continue in for loop.
Fixes #1789.
2015-05-04 10:54:50 +02:00
chriseth 3172dbf701 Move assembly related files to libevmasm and Params.h/.cpp to libevmcore. 2015-04-30 11:42:02 +02:00
chriseth 0e5331f62c Fix for deleting byte array elements.
Fixes #1759.
2015-04-28 11:31:40 +02:00
chriseth 7ad5cb9621 Removed visit functions for abstract AST nodes. 2015-04-27 18:57:13 +02:00
chriseth ceb9326eb2 Merge pull request #1740 from chriseth/sol_sourceLocationForOptimizer
Try to keep source location during optimisation.
2015-04-27 16:51:01 +02:00
chriseth cfe24c3c2a Try to keep source location during optimization. 2015-04-27 10:08:55 +02:00
chriseth b129a201db Merge pull request #1729 from chriseth/sol_interfaceOutput
Use non-implemented functions for solidity interface output.
2015-04-24 11:59:05 +02:00
chriseth b4d2ead1b8 Use non-implemented functions for solidity interface output. 2015-04-23 15:00:44 +02:00
chriseth fcb772293b Fix regarding memory overwrite during sha3 computation. 2015-04-22 11:43:50 +02:00
chriseth 99a0cb3545 bytes parameters for events and sha3. 2015-04-22 11:43:49 +02:00
chriseth e65b9825d6 Merge pull request #1634 from chriseth/sol_overloadingFunctions
Function overloading.
2015-04-21 15:58:06 +02:00
chriseth 3190c9ec09 Fix for Contract and Enum types as external function arguments. 2015-04-21 15:50:37 +02:00
chriseth c834ee5ce1 Fixed byte alignment for return type of ripemd160 built-in contract. 2015-04-21 13:03:26 +02:00
chriseth ddbaa99056 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-21 12:04:12 +02:00
chriseth 02121683f5 Removed (and added) some #ifs (but removed more than I added). 2015-04-21 11:46:11 +02:00
chriseth 8caf1f723f Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/AST.cpp
	libsolidity/AST.h
2015-04-20 14:55:58 +02:00
chriseth 4a44493a13 Merge pull request #1501 from LefterisJP/abstract_contract_contructors
Abstract contract contructors
2015-04-17 17:31:47 +02:00
chriseth 6b08b99b5e Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-17 16:24:23 +02:00
chriseth 7571971ca0 Merge pull request #1654 from chriseth/sol_fix_smallNegativeStorageValues
Fix for small negative storage values.
2015-04-17 15:26:16 +02:00
chriseth d0470999b2 Tests for signed integers in storage. 2015-04-17 13:25:28 +02:00
chriseth 0f9b0f3bc4 Merge pull request #1503 from chriseth/sol_mergeBasicBlocks
Control flow analysis.
2015-04-16 17:26:35 +02:00
chriseth 968ebf6dbc Bugfixes concerning variable declarations.
Fixes #1637
2015-04-16 00:09:28 +02:00
chriseth 4362c93ebf Fixed test. 2015-04-15 18:43:40 +02:00
chriseth cf9515c750 Control flow analysis. 2015-04-15 18:11:16 +02:00
chriseth 6753e0a8e6 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/Types.cpp
2015-04-15 17:43:23 +02:00
chriseth c19d10321a Fixed function overloads.
Added tests, disallowed non-calling usage of non-unique function
references.
2015-04-15 17:40:50 +02:00
chriseth 68b61432ae Typos and docs. 2015-04-07 17:21:09 +02:00
chriseth 4c656af3ec SHA3 optimizations. 2015-04-07 17:21:09 +02:00
chriseth 367d0367ee Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-07 17:08:49 +02:00
chriseth c01c07e311 Retain more gas for the case that the called contract is not yet created. 2015-04-07 14:03:57 +02:00
chriseth 1ba183bf78 Merge pull request #1432 from chriseth/sol_cseForMemoryAndStorage
Optimizer for memory and storage.
2015-03-31 16:37:13 +02:00
chriseth 8860f8d4c3 Merge pull request #1464 from LefterisJP/natspec_nonexistant_param
Detect if non-existant parameter is documented with natspec
2015-03-30 19:38:20 +02:00