Christian
a33fa270f6
Calldata byte arrays stored on the stack.
2015-02-16 19:35:53 +01:00
Christian
971cc9b5b9
Unpacking of dynamically sized arguments.
2015-02-16 19:25:27 +01:00
Lefteris Karapetsas
fbd39323af
Moving getMemberValue from EnumDefinition to EnumType
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
b2575b4bcb
Addressing issues with Enums in Solidity
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
Lefteris Karapetsas
e7f40863ef
Correcting and testing enum member access
2015-02-13 23:16:14 +01:00
Lefteris Karapetsas
c3a9ae0b06
Introducing EnumType and some Parser tests
2015-02-13 23:16:14 +01:00
Christian
b836d952b2
length member for byte arrays.
2015-02-12 15:44:35 +01:00
Christian
5e40b79426
Bytes type cleanup.
2015-02-12 15:01:38 +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
Christian
20b4c69009
Tests and some code for msg.data.
2015-02-12 11:33:09 +01:00
Christian
1369337808
Introduced byte array type.
2015-02-12 11:33:09 +01: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
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
106cda74f8
Small cleanup.
2015-02-09 00:49:35 +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
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
Christian
82edc1ca6d
Some fixes for the ether units parser.
2015-02-06 13:38:29 +01:00
Christian
4a6ed84386
Parsing of events.
2015-01-29 21:26:11 +01:00
Lefteris Karapetsas
3701543ae8
FunctionType now returns const ref for Declaration
2015-01-29 19:18:50 +01:00
Lefteris Karapetsas
dcd47be6ca
Removing Function and Param Description
...
- Removing FunctionDescription and ParamDescription. All the data should
now be in the FunctionType
- Plus using the FunctionTypePointer alias in a few places
2015-01-29 17:12:17 +01:00
Lefteris Karapetsas
005100c486
Contract Interface Functions now return FunctionType
...
- Enchanced Function Type by declaration so that it can provide all the
required information at each place interface functions are consumed
- Changed all places where interface functions was used.
- Simplified Mix's FunctionDefinition code
2015-01-29 17:11:13 +01:00
Christian
ae5a6a235c
Super keyword.
2015-01-29 00:29:43 +01:00
Lefteris Karapetsas
3f5eb96584
Various small fixes for Sol Automatic Accessors
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
5c7359aa09
State variable accessors code is now more organized
...
- FunctionDescription is the abstraction of what should describe a
function. It can either be a VariableDeclaration of a
FunctionDefinition.
- ParamDescription is what FunctionDescription uses to describe its
parameters for outside use purposes with a pair of (name, type)
strings
- Modified code around Solidity and especially interface handler to
adapt to this change
2015-01-28 21:46:16 +01:00
Lefteris Karapetsas
3cc0492301
Work in progress for state variable accessors
...
- Changed the code so that a generic declaration with the combination of
a function type can be used wherer a function definition was used
before
- Since using an std::pair everywhere is really tiring with this commit
I am in the process of abstracting it into a function
2015-01-28 21:46:16 +01:00
Christian
282d4b8add
Fix stack size of typetypes.
2015-01-28 18:19:01 +01:00
chriseth
18fc2ed2d6
Merge pull request #857 from LianaHus/StringToHash
...
conversion for string to/from hash
2015-01-27 13:53:13 +01:00
Christian
941c77c8fa
Type resolution for function modifiers.
2015-01-26 10:23:39 +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
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
Gav Wood
c77f1c4030
Missing comma.
2015-01-15 14:25:12 -05: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
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
Christian
d1e05ac416
Remove redundancy in FunctionType::getSizeOnStack.
2015-01-14 11:01:42 +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
arkpar
80eec8b308
fixed warnings for msvc build
2015-01-13 11:18:08 +01:00
Christian
a5d32e4894
Define strings = vector<string>
2015-01-12 13:29:16 +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
c5c8933192
Contracts are Addresses.
2015-01-09 18:31:36 +01:00
Christian
fe16922087
Padding for ABI types.
2015-01-09 18:20:51 +01:00
Christian
be623273f3
Arbitrary precision integer constants.
2015-01-09 15:16:09 +01:00
Christian
be1e89da42
Possibility for unary operators to change type.
2015-01-09 15:09:10 +01:00
Christian
dcda38cf38
Use shared_from_this instead of manually supplying a shared_ptr to this.
2015-01-09 15:09:10 +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
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
Gav Wood
9be5847472
VM skips push data when looking for JUMPDEST.
...
Warnings fixes.
2015-01-07 20:23:33 +01:00
Gav Wood
238aa0ee94
Warnings fixes.
...
Make Mix work with Qt 5.2
Minor other alterations.
2015-01-07 16:58:09 +01:00
Gav Wood
53e38b3ac9
Merge pull request #738 from LefterisJP/sol_abiFunctionHash
...
Canonical Function signature creation in solidity
2015-01-07 16:32:13 +01:00
Lefteris Karapetsas
24d7bdd3a9
FunctionType also gets CanonicalSignature
...
- also using iterators in the signature creation function
2015-01-07 02:27:05 +01:00
Christian
7dc7827907
Possibility for binary operators to yield types different from their operands'.
2014-12-19 00:12:04 +01:00
Christian
2f64c56ef3
Create contracts.
2014-12-15 13:05:18 +01:00
Christian
c0bba438b1
Calls to bare contracts.
2014-12-12 17:26:19 +01:00
chriseth
3860814fa0
Merge pull request #584 from chriseth/sol_strings
...
String types.
2014-12-12 17:14:43 +01:00
Marek Kotewicz
6fcdfdc353
removed explicit
2014-12-11 14:12:49 +01:00
Marek Kotewicz
5cd7c1fc9a
user-provided default constructor
2014-12-11 12:31:14 +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
130ff85e85
String types.
2014-12-10 16:30:20 +01:00
Christian
a15b03e991
Some more consts.
2014-12-08 13:29:14 +01:00
Christian
13640d7db8
Clear separation between ASTVisitor and ASTConstVisitor and more const specifiers.
2014-12-08 12:53:56 +01:00
Christian
57e6827cb5
Calling functions of other contracts.
2014-12-08 12:39:29 +01:00
Christian
c4a43c64c2
Global functions.
2014-11-26 15:42:54 +01:00
Christian
f30dc68cdd
Sending ether.
2014-11-26 15:35:25 +01:00
Christian
a2715c5f34
More general function types and references.
2014-11-26 15:35:25 +01:00
Christian
6e6b85b58a
Access to blockchain data.
2014-11-24 13:24:03 +01:00
Christian
583a315d3d
Magic variables.
2014-11-23 21:28:45 +01:00
Christian
c50cd646ce
Contracts as types and framework for special global variables.
2014-11-23 21:28:44 +01:00
Christian
fa987e0a20
Convenience class for type members.
2014-11-23 21:04:39 +01:00
Christian
735dbe6986
We only care about member types.
2014-11-23 21:04:39 +01:00
Christian
c560a62352
Struct types.
2014-11-14 14:08:14 +01:00
Christian
46dd629820
Mapping types.
2014-11-14 14:08:14 +01:00
Christian
91f9a7b7c4
Do not return after throw.
2014-11-10 00:42:12 +01:00
Christian
64a4d77c8b
State variables.
2014-11-07 20:02:57 +01:00
Christian
de493c673f
Detect integer length from literals and remove "std::".
2014-11-06 02:22:24 +01:00
Christian
c1f7a1665f
Converted all asserts to exceptions.
2014-11-05 15:01:24 +01:00
Christian
25c0e08bdf
Merge remote-tracking branch 'ethereum/develop' into sol_contractCompiler
...
Conflicts:
libsolidity/AST.cpp
libsolidity/AST.h
libsolidity/Compiler.cpp
libsolidity/Compiler.h
libsolidity/NameAndTypeResolver.h
libsolidity/Types.cpp
solc/main.cpp
test/solidityCompiler.cpp
2014-10-31 17:20:27 +01:00
Christian
cb9cb48dc7
Function selector and variable (un)packing.
2014-10-30 21:21:25 +01:00
Christian
7f19f3d133
Contract compiler and also add ExpressionStatement to AST.
...
ExpressionStatement functions as glue between Statements and Expressions.
This way it is possible to detect when the border between statements and
expressions is crossed while walking the AST. Note that ExpressionStatement is
not the only border, almost every statement can contains expressions.
2014-10-30 01:25:42 +01:00
Christian
933fbd7d60
Asterisk-syntax for doxygen class documentation.
2014-10-28 16:51:26 +01:00
Christian
58be273506
Replace BOOST_ASSERT by assert.
2014-10-24 19:40:47 +02:00
Christian
b2f12991db
Some documentation.
2014-10-24 19:38:48 +02:00
Christian
59b5e950f4
Expression compiler.
2014-10-24 19:38:13 +02:00
Christian
a09e4c559d
Type information for AST printer.
2014-10-23 16:27:51 +02:00
Christian
be885dc3cf
Pointer type cleanup: Use ASTPointer only for AST nodes and shared_ptr for type
...
pointer.
2014-10-20 16:23:49 +02:00
Christian
f0c334670d
Coding style cleanup: const and vecptr.
2014-10-20 13:02:06 +02:00
Christian
a7f9815c0f
Coding style and cleanup
2014-10-17 12:37:51 +02:00
Christian
8a506b505f
Corrected coding style.
2014-10-16 14:08:54 +02:00