Commit Graph
100 Commits
Author SHA1 Message Date
chriseth 2d169748b7 Copy only expected arguments for constructor if statically sized. 2015-06-24 00:23:46 +02:00
chriseth fd1a01bbce Decoding for constructor. 2015-06-22 20:55:46 +02:00
chriseth 8639cf8e3d Remove dynamic return types. 2015-06-22 20:50:47 +02:00
chriseth 2eabaa4716 Memory-storage copy. 2015-06-22 20:50:47 +02:00
chriseth ee520f6022 Fix and test for not really recursive structs.
Fixes #2223.
2015-06-18 16:37:06 +02:00
chriseth 1ff8dbebab Accessors for strings. 2015-06-17 14:25:00 +02:00
chriseth 17efc42299 Type conversion specialities for storage references. 2015-06-16 17:20:41 +02:00
chriseth a5664d0535 Style. 2015-06-16 11:28:35 +02:00
chriseth 8b402b5879 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 7c996ac716 Style. 2015-06-15 14:40:42 +02:00
chriseth 6f7595e0e2 Pleased gcc. 2015-06-15 14:40:42 +02:00
chriseth 258b1a74e2 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 d60ef3f2d7 Optimize RETURN x 0 to STOP. 2015-06-12 11:31:03 +02:00
chriseth c3caa2ce25 Added missing source locations for new memory management code. 2015-06-10 17:51:24 +02:00
chriseth e224a02826 Merge pull request #2122 from chriseth/sol_memoryArrays2
Use dynamic memory.
2015-06-10 15:36:30 +02:00
chriseth 6ad90719d8 Merge pull request #2114 from LianaHus/sol_byte0_in_storage
Sol removed bytes0
2015-06-10 15:35:28 +02:00
chriseth 3588709e4e Merge pull request #2126 from LianaHus/sol_Natspec_warnings_instead_of_exceptions
Some style fixes.
2015-06-10 11:25:59 +02:00
chriseth 9865a612a4 Improved type conversion error messages. 2015-06-09 11:57:52 +02:00
chriseth 02d5716944 Use dynamic memory for argument encoding. 2015-06-09 10:03:25 +02:00
chriseth 35ec81971a Dynamic memory. 2015-06-09 00:27:56 +02:00
chriseth c2a9419e49 Improved "Stack too deep" error message.
Closes #2080.
2015-06-07 12:51:15 +02:00
chriseth b51ef4a357 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 779e793d60 Merge pull request #2084 from chriseth/sol_computeConstants
Compute constants
2015-06-05 19:22:30 +02:00
chriseth 651d755e56 Style. 2015-06-05 17:38:06 +02:00
chriseth 5a9d01b815 Bare functions return success condition. 2015-06-05 17:37:16 +02:00
chriseth 6667c67364 Fallback takes constant amount of gas, and send to gas with send. 2015-06-05 17:37:16 +02:00
chriseth 9efd5374ed Compute constants 2015-06-05 17:34:26 +02:00
chriseth 92eb04c6ec Style. 2015-06-05 14:45:47 +02:00
chriseth f4d1acc563 Ability to specify the storage location of a reference type. 2015-06-05 14:44:05 +02:00
chriseth 4987eec3d1 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 b7e5c1d9d2 Do not put duplicate labels for accessor functions. 2015-06-01 18:30:05 +02:00
chriseth 408fd7ab59 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 cf688ea738 Merge pull request #2027 from chriseth/sol_dupRemForLoops
Allow duplicate code removal for loops.
2015-06-01 15:09:16 +02:00
chriseth 6949ce97e4 Re-introduce string type. 2015-05-28 16:20:50 +02:00
chriseth 72e3e359aa Allow duplicate code removal for loops. 2015-05-28 14:48:07 +02:00
chriseth f7e3568c62 Merge pull request #2006 from chriseth/sol_functionalGasEstimator
Functional gas estimator
2015-05-26 15:48:10 +02:00
chriseth 6332bff81d Gas estimation for internal functions. 2015-05-26 11:27:59 +02:00
chriseth b85f66060f Sort keywords and add some reserved keywords. 2015-05-25 11:49:38 +02:00
chriseth 802d52f6a2 Functional gas estimator. 2015-05-22 16:12:40 +02:00
chriseth 44146e6674 Merge pull request #1979 from LianaHus/sol_constructorForSolAbi
Added constructor as part of Solidity ABI
2015-05-20 21:11:29 +02:00
chriseth 2be64c7026 Gas estimation taking known state into account. 2015-05-20 00:28:15 +02:00
chriseth 9c85254751 Merge pull request #1931 from chriseth/sol_callcode
Bare callcode for addresses and contracts.
2015-05-18 12:29:00 +02:00
chriseth 840d06fe14 Fixed error message about explicit type conversion. 2015-05-18 11:34:16 +02:00
chriseth dba5ffc280 Bare callcode for addresses and contracts. 2015-05-15 18:02:09 +02:00
chriseth 33e7086058 Succint interfaces. 2015-05-15 15:27:31 +02:00
chriseth da121c9a26 Reverse if and else body. 2015-05-12 17:50:51 +02:00
chriseth 2bdbeaac9b Merge pull request #1831 from chriseth/sol_newABIEncoding
New ABI encoding for dynamic types.
2015-05-11 12:27:24 +02:00
chriseth 69693f17f6 New ABI encoding for dynamic types. 2015-05-08 16:54:39 +02:00
chriseth 5d2c36603f Added assertions. 2015-05-07 11:14:07 +02:00
chriseth d8ddbeed2b Style. 2015-05-06 13:56:55 +02:00
chriseth c731ae92ca Use std::array. 2015-05-06 13:56:40 +02:00
chriseth c3e5fe6a12 Structural gas estimator. 2015-05-06 10:43:59 +02:00
chriseth ef26d96111 Fix for broken continue in for loop.
Fixes #1789.
2015-05-04 10:54:50 +02:00
chriseth c16b398f1a Build fix after merge. 2015-04-30 11:42:02 +02:00
chriseth 99ea9a62fc Move assembly related files to libevmasm and Params.h/.cpp to libevmcore. 2015-04-30 11:42:02 +02:00
chriseth 8a1758e605 Utility class to find a suitable AST node for a given location. 2015-04-29 16:24:26 +02:00
chriseth c1983d1bef Fix for deleting byte array elements.
Fixes #1759.
2015-04-28 11:31:40 +02:00
chriseth eddf443fd2 Provide a way to override default visitor function in a generic way. 2015-04-27 18:57:16 +02:00
chriseth 9aa03ddd89 Removed visit functions for abstract AST nodes. 2015-04-27 18:57:13 +02:00
chriseth fcd3f44fd9 Use BUILD_SHARED_LIB 2015-04-24 14:50:14 +02:00
chriseth ca97dcbd5b Use non-implemented functions for solidity interface output. 2015-04-23 15:00:44 +02:00
chriseth ff39a1d241 Merge pull request #1708 from chriseth/sol_fix_libraries
Fixed use of libraries.
2015-04-22 14:33:38 +02:00
chriseth c41eb14000 Merge pull request #1697 from chriseth/sol_bytesInEvents
bytes parameters for events and sha3.
2015-04-22 14:32:05 +02:00
chriseth a3820fa046 Fix regarding memory overwrite during sha3 computation. 2015-04-22 11:43:50 +02:00
chriseth a6d08950c6 bytes parameters for events and sha3. 2015-04-22 11:43:49 +02:00
chriseth 88239460bb Fixed use of libraries. 2015-04-22 11:34:25 +02:00
Christian 83cc8dfe00 JSON compiler. 2015-04-22 11:33:25 +02:00
chriseth a44bcb6909 Fix for declarations. 2015-04-21 19:04:08 +02:00
chriseth 8125f93b12 Fix for Contract and Enum types as external function arguments. 2015-04-21 15:50:37 +02:00
chriseth e3bd21f4dd Fixed byte alignment for return type of ripemd160 built-in contract. 2015-04-21 13:03:26 +02:00
chriseth 8cd5eed17d Styling. 2015-04-20 15:29:04 +02:00
chriseth 7a467bbf07 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 c9812f7269 Merge pull request #1501 from LefterisJP/abstract_contract_contructors
Abstract contract contructors
2015-04-17 17:31:47 +02:00
chriseth 2d69b269e9 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-17 16:24:23 +02:00
chriseth 5622364a98 Fix for signed integers in storage. 2015-04-17 13:27:31 +02:00
chriseth 6e5de4832d Bugfixes concerning variable declarations.
Fixes #1637
2015-04-16 00:09:28 +02:00
chriseth 820239a73c Line break. 2015-04-15 18:06:41 +02:00
chriseth 5216a9bc67 Some cleanup concerning byte arrays. 2015-04-15 18:06:41 +02:00
chriseth c7b428fdb1 Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions
Conflicts:
	libsolidity/Types.cpp
2015-04-15 17:43:23 +02:00
chriseth 0c69d5fdcd Fixed function overloads.
Added tests, disallowed non-calling usage of non-unique function
references.
2015-04-15 17:40:50 +02:00
chriseth 45870ed956 SHA3 optimizations. 2015-04-07 17:21:09 +02:00
chriseth 158795e48f Merge remote-tracking branch 'ethereum/develop' into sol_overloadingFunctions 2015-04-07 17:08:49 +02:00
chriseth da47c88411 Retain more gas for the case that the called contract is not yet created. 2015-04-07 14:03:57 +02:00
chriseth 7dbc2bcf20 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
chriseth eab085baf6 Merge pull request #1414 from LefterisJP/sol_notImplementedFuncs
Interface contracts
2015-03-30 19:33:30 +02:00
chriseth d0ede6fafd Refactor: Pull out array index access. 2015-03-30 19:32:14 +02:00
chriseth f728a336b1 Merge pull request #1338 from LianaHus/sol_ConvertContractTypesToAddress
Solidity: Convert contract types to addresses
2015-03-27 15:14:40 +01:00
chriseth 8f8e407306 Merge pull request #1341 from chriseth/sol_packedStorage
Packed storage for arrays.
2015-03-20 12:54:36 +01:00
chriseth dba9dd1169 Byte size checked for zero; coding style. 2015-03-19 18:15:16 +01:00
chriseth 9e29d9797c Merge pull request #1344 from LefterisJP/sol_BytesToIntConv
Explicit conversion between bytes and int of any size
2015-03-19 13:05:28 +01:00
chriseth d1f9e14476 Exception-throwing assert. 2015-03-18 15:32:17 +01:00
chriseth 90c519d08f Disallowed special case of bytes0 arrays. 2015-03-17 18:34:57 +01:00
chriseth 2cde4f3404 Packing for arrays. 2015-03-17 18:13:28 +01:00
chriseth 895c08342c Provide access to storage offsets via contract type. 2015-03-17 18:13:27 +01:00
chriseth fc0bdc3d81 Fix static variables. 2015-03-16 19:28:31 +01:00
chriseth c284408e7a Add move assignment operator manually. 2015-03-16 19:00:45 +01:00
chriseth 9b2a255c1b Move memberlist to avoid unique_ptr copy. 2015-03-16 18:09:56 +01:00
chriseth 02595abf6a Fetch and store packed values. 2015-03-16 18:07:14 +01:00
chriseth 7f64584b7f Compute packing offsets. 2015-03-16 18:07:14 +01:00
chriseth fff3f98f58 Enlarge storage references to two stack slots. 2015-03-16 18:07:14 +01:00