Commit Graph

173 Commits

Author SHA1 Message Date
Lefteris Karapetsas
b2575b4bcb Addressing issues with Enums in Solidity 2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
91943e7368 Enum Value member access should now work properly
- Also detection of duplicate enum values and tests for them have been
  added
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
012e32942d Enum type conversion and member value access.
- Added tests for the type conversion part.

- Enum member value access still needs some work
2015-02-13 23:16:14 +01:00
Christian
1c3c1f1e5d Copying structs. 2015-02-12 20:19:49 +01:00
Christian
b836d952b2 length member for byte arrays. 2015-02-12 15:44:35 +01:00
Christian
5673f994fc Added some comments. 2015-02-12 11:50:47 +01:00
Christian
9b8cf4af1d Moved copy code to CompilerUtils. 2015-02-12 11:33:10 +01:00
Christian
8a2879a603 Copy storage to storage. 2015-02-12 11:33:10 +01:00
Christian
adb434569c Dynamic copy to memory. 2015-02-12 11:33:10 +01:00
Christian
79aec95228 Simple copy of bytes to storage. 2015-02-12 11:33:09 +01:00
Lu Guanqun
d307b0914c add exponent operator
https://www.pivotaltracker.com/n/projects/1189488/stories/83746404
2015-02-10 23:39:13 +08:00
Christian
cf4144b702 Arbitrary parameters for call() and all hash functions. 2015-02-10 10:59:23 +01:00
chriseth
bb6f181d7d Merge pull request #986 from LefterisJP/sol_StyleFix
Solidity enum style fix
2015-02-10 10:54:28 +01:00
Lefteris Karapetsas
82c5fb3245 Addressing issues in Enum style fix 2015-02-10 09:52:19 +01:00
Lefteris Karapetsas
943407e0fe LValueType of Expression Compiler is now CamelCase 2015-02-09 14:41:01 +01:00
Lefteris Karapetsas
148a7cb3e1 ExpressionCompiler's enums to CamelCase 2015-02-09 14:35:31 +01:00
Lefteris Karapetsas
3ef75bae6b Camelcasing enums in Types.h 2015-02-09 14:08:48 +01:00
Lefteris Karapetsas
6f621f8486 Changing Solidity Code to use CamelCase enum values 2015-02-09 14:00:12 +01:00
Christian
140f003a2e Some cleanup in "move to memory" functions. 2015-02-09 13:40:37 +01:00
chriseth
a66db516fb Merge pull request #937 from LefterisJP/sol_MultiArgSHA3
Solidity multiple arg sha3
2015-02-09 00:14:13 +01:00
Lefteris Karapetsas
afe1d9a592 Small fixes in Types and ExpressionCompiler 2015-02-06 20:57:04 +01:00
Christian
724ee76900 Accessors for structs. 2015-02-06 20:04:02 +01:00
Lefteris Karapetsas
f6586b8139 Small fixes for proper multitype/multiarg SHA3 2015-02-06 17:25:29 +01:00
Lefteris Karapetsas
293344b473 SHA3 of string literals now should work 2015-02-06 16:27:41 +01:00
Lefteris Karapetsas
2c9ff4747d getRealType() introduced 2015-02-06 13:42:51 +01:00
Lefteris Karapetsas
76c9f13626 appendArgumentsCopyToMemory() has more complicated logic now
- Plus other fixes.
2015-02-06 10:42:24 +01:00
Lefteris Karapetsas
337b952f53 Fixes after rebase 2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
f09c6fffc9 Renaming a function for clarity 2015-02-06 09:38:04 +01:00
Lefteris Karapetsas
8c1d928c94 Solidity SHA3 can now take multiple arguments 2015-02-06 09:38:04 +01:00
Gav Wood
2ff4a80b62 Fixes for named-args. 2015-02-03 12:25:08 -08:00
Gav Wood
04164b612c Merge branch 'named-args' of https://github.com/guanqun/cpp-ethereum into guanqun-named-args 2015-02-03 11:57:36 -08:00
Lefteris Karapetsas
8cd3d4b4b7 Accessors for multiple mappings implemented 2015-02-02 17:52:50 +01:00
Lefteris Karapetsas
5a374afe62 Simple mapping accessors working 2015-02-02 15:03:44 +01:00
Lefteris Karapetsas
82bcb7e33a Code generation for mapping state variable accessor
- Work in progress
2015-02-01 02:41:14 +01:00
Christian
8d5ee59ee5 Padding fixes. 2015-01-29 21:33:46 +01:00
Christian
9f8c2620da Whitespace and error messages. 2015-01-29 21:33:46 +01:00
Christian
4e72a77546 Code generation for events. 2015-01-29 21:33:46 +01:00
Lu Guanqun
5c828dc8b2 implement named arguments 2015-01-30 01:32:55 +08:00
Lefteris Karapetsas
71d8bde6d7 No longer exposing retrieveValueFromStorage() as a public function
- plus small fix in EndToEndTests
2015-01-29 13:34:07 +01:00
Christian
6ec9586de3 Style changes. 2015-01-29 00:32:21 +01:00
Christian
ae5a6a235c Super keyword. 2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
b5a786dda1 Various fixes pertaining to State Variable accessors 2015-01-28 21:46:17 +01:00
Lefteris Karapetsas
2947e038d2 EVM Code for simple accessor function is properly generated 2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
6e793b2499 Work on ExpressionCompiler preparing for Accessors from storage 2015-01-28 21:46:16 +01:00
liana
cad3d87482 - cosmetic changes 2015-01-27 13:21:20 +01:00
liana
6ba82b1427 -redesigned appendTypeConversion function 2015-01-27 12:55:40 +01:00
liana
ef885d0212 - modifications according to PR review 2015-01-26 13:24:16 +01:00
liana
3075fc598d - corrected assert 2015-01-23 18:09:46 +01:00
liana
5de93e6acb - added conversion for string/hash of equal sizes
- added tests
2015-01-23 17:45:37 +01:00
Christian
6e111d5d1d Explicit calls to base class function. 2015-01-19 23:35:04 +01:00
Christian
4d833bc86b Inheritance in compiler. 2015-01-19 23:35:04 +01:00
Lefteris Karapetsas
6612e4bd17 Some addition to Solidity Execution Framework 2015-01-19 15:34:15 +01:00
chriseth
325b052b16 Merge pull request #805 from LianaHus/deleteStruct
delete for structs

-added functionality to set values to 0 when deleting structure(not for ...
2015-01-19 11:32:11 +01:00
liana
c3d36d1fe1 - corrected delete in case we have more than one locals
- added a test
2015-01-16 16:26:57 +01:00
liana
a0ec9c6680 removed spaces 2015-01-16 13:07:16 +01:00
liana
1142b99a64 Corrected "delete" for local variables i.e. set them to 0
Added test case
2015-01-16 12:55:49 +01:00
Gav Wood
a9ed77c22a Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
	libsolidity/Types.h
2015-01-15 14:03:35 -05:00
Gav Wood
911916beb7 Add blockhash to Solidity.
Autopadding fix.
2015-01-15 13:59:35 -05:00
Lefteris Karapetsas
93e3bca420 Update ExpressionCompiler.cpp 2015-01-15 13:33:58 +01:00
liana
00b0b0933d - added functionality to set values to 0 when deleting structure(not for mapping)
- added unit test

Made some changes after Christian`s review on pull request
- remove/edit comments
- BoolType and ContractType return VoidType after delete

- fixed constructor_arguments test

- fixed set to 0 when deleting variable from stack
- changed test case to test that
2015-01-15 11:59:58 +01:00
Lefteris Karapetsas
224cd9be36 Fixing an unused parameter warning in ExpressionCompiler 2015-01-15 11:22:58 +01:00
Christian
abe6055ab7 Style. 2015-01-14 12:00:28 +01:00
Christian
1ba38c9c02 More flexible access to stack during external function call. 2015-01-14 11:57:22 +01:00
Christian
22f0a4fde1 Use min gas for send(). 2015-01-14 10:46:44 +01:00
Christian
b440d7e321 Specify value for contract creation. 2015-01-13 18:12:30 +01:00
Christian
ec022783c4 Modify gas and value for external function call. 2015-01-13 18:12:30 +01:00
Christian
307a83e1de More convenient function type construction. 2015-01-12 12:46:52 +01:00
Gav Wood
94cff9684f Merge pull request #768 from chriseth/sol_contractsAreAddresses
Contracts inherit all address members
2015-01-11 11:07:36 +01:00
Christian
26f9cd7f68 Coding style: Prefix for const variables. 2015-01-09 21:36:25 +01:00
Christian
c5c8933192 Contracts are Addresses. 2015-01-09 18:31:36 +01:00
Christian
501ad14ed1 Correct type conversions. 2015-01-09 18:23:10 +01:00
Christian
fe16922087 Padding for ABI types. 2015-01-09 18:20:51 +01:00
Gav Wood
396f638ce1 Merge pull request #765 from chriseth/sol_someLogFixes
Some changes to the log functions.
2015-01-09 16:28:01 +01:00
Christian
be623273f3 Arbitrary precision integer constants. 2015-01-09 15:16:09 +01:00
Christian
c9102010bf Some changes to the log functions. 2015-01-09 15:00:47 +01:00
chriseth
42d186fdfc Merge pull request #754 from LefterisJP/sol_abiFunctionHash
Calculation of ABI Function Identifier Hash
2015-01-09 11:22:59 +01:00
Lefteris Karapetsas
9cf1c066fc Adjustments to Solidity compiler code for Function Hash 2015-01-09 00:27:26 +01:00
Gav Wood
ffce12b7ee Basic logging in Solidity (though no tests yet). 2015-01-09 00:22:06 +01:00
Lefteris Karapetsas
a7b661d3be merging develop 2015-01-08 17:43:38 +01:00
Lefteris Karapetsas
184ddca5a1 Compiler EVM generation now takes into account for the new function hash
identifier

- Changed tests to comply with the new function hash identifier
- Changed the function index offset to 4, and made it a constant for
  easy adjustment in the future
2015-01-08 17:18:31 +01:00
Christian
52240ea88f Bugfix: Use parameter (not argument) type size on stack for function calls. 2015-01-07 16:22:42 +01:00
Gav Wood
546717027f BLOCKHASH 2015-01-05 11:35:56 +00:00
Christian
8dbe13f840 Bugfix: Additional swap for compound assignment. 2014-12-18 22:23:34 +01:00
Christian
5a1a83ff42 Assertions that throw InternalCompilerErrors. 2014-12-17 16:24:56 +01:00
Christian
2f64c56ef3 Create contracts. 2014-12-15 13:05:18 +01:00
Christian
739192ae65 Correctly check for string prefix plus indentation change. 2014-12-15 01:02:33 +01:00
Christian
c0bba438b1 Calls to bare contracts. 2014-12-12 17:26:19 +01:00
Christian
6893d4d455 Merge remote-tracking branch 'ethereum/develop' into sol_swapConstants
Conflicts:
	test/solidityOptimizerTest.cpp
2014-12-12 17:22:45 +01:00
Christian
66d95abfd9 Swap literals to the end if optimizing. 2014-12-11 17:48:44 +01:00
Christian
8b54d1afb2 Merge remote-tracking branch 'ethereum/develop' into sol_strings
Conflicts:
	libsolidity/Types.cpp
2014-12-10 17:24:23 +01:00
chriseth
3c377f77bb Merge pull request #577 from chriseth/sol_constCleanup
Solidity const cleanup
2014-12-10 17:19:01 +01:00
Christian
373f0da267 Helper functions to access memory. 2014-12-10 17:15:17 +01:00
Christian
130ff85e85 String types. 2014-12-10 16:30:20 +01:00
chriseth
e8b7d26664 Const change. 2014-12-10 14:37:37 +01:00
Christian
35d5b28fae Variable-size stack elements for expression compiler. 2014-12-08 22:26:22 +01:00
Christian
13640d7db8 Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers. 2014-12-08 12:53:56 +01:00
Christian
c78c330634 Const AST visitor for the compiler. 2014-12-08 12:49:03 +01:00
Christian
57e6827cb5 Calling functions of other contracts. 2014-12-08 12:39:29 +01:00
Gav Wood
4b0d949df3 Warning fix.
ECDSA recover fix.
2014-11-28 14:28:02 +01:00
Christian
c4a43c64c2 Global functions. 2014-11-26 15:42:54 +01:00