Lefteris Karapetsas
dfcaf8a414
Abstract contract and inheritance
- Checking the linearized base contracts for abstract functions and
handle their existence appropriately
- If a contract is abstract it can't be created with new
- An abstract contract is not compiled (no backend code is generated)
- Of course tests
10 years ago
Liana Husikyan
dd15c53ae4
added externalTypes function to functionType
removed flag for externalSigniture
10 years ago
Lefteris Karapetsas
4e234b30ed
Moving contract fullyImplemented check to TypeRequirements
10 years ago
Liana Husikyan
8b14b4f4d1
two more tests
style fixes
10 years ago
Gav Wood
d71bec193f
Clean up some code redundancy.
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
10 years ago
Lefteris Karapetsas
742002b05a
Parsing of not fully implemented functions
- Adding the possibility of omitting a function body by simply ending a
function definition with a semicolon
- Such a function is marked as not fully implemented and any contract
that contains such a function is considered a not fully implemented contract
10 years ago
Liana Husikyan
f3e8d2b7e9
tests for external types
10 years ago
Liana Husikyan
ba8d0f615c
renamed externalTypes to externalSignature
10 years ago
Liana Husikyan
0ca313ec85
renamed getCanonicalSignature
added externalTypes instead of types for interface functions
added simple test
todo
testing
10 years ago
Liana Husikyan
44c7da4262
added check for events and stat variables
10 years ago
Liana Husikyan
1d15c09e5f
- added externalType to BooleanType.
- fixed the error message
10 years ago
Liana Husikyan
a7eccfaa97
added check for valid externalType to checkTypeRequirements for function
10 years ago
Liana Husikyan
3d18c02f36
added externalType for ArrayType
10 years ago
Liana Husikyan
42177bc187
added getABIType() to types
10 years ago
Lefteris Karapetsas
fdd2959fff
Adding some more reserved keywords
10 years ago
Lefteris Karapetsas
d12f6540d1
Adding keywords for future use section in Token.h
10 years ago
Lefteris Karapetsas
a00c76944e
Removing string as a token.
- The string keyword is reserved for future use but should not be a
token in the code since it can cause trigger internal compiler
assertions.
- fixes #1384
10 years ago
chriseth
d2077b8962
Byte size checked for zero; coding style.
10 years ago
chriseth
79fb35fd69
Exception-throwing assert.
10 years ago
Lefteris Karapetsas
7eb9aa3466
Explicit conversion between bytes and int of any size
- Allowing aforementioned conversion and adding tests for it
10 years ago
chriseth
523ce4d178
Disallowed special case of bytes0 arrays.
10 years ago
chriseth
85505d45c0
Packing for arrays.
10 years ago
chriseth
2505b8ed90
Provide access to storage offsets via contract type.
10 years ago
Liana Husikyan
3e0f3fd514
added test to check anonymous events with user specified topics
added initial value for m_anonymous of EventDefinition
10 years ago
Liana Husikyan
7cb944c903
added anonymous to ABI
10 years ago
Liana Husikyan
7fe63e36e9
changed the position of 'anonymous' keyword: event <name>() anonymous.
- style changes
10 years ago
Liana Husikyan
0b14d26f6b
Added anonymous flag to event.
added test
10 years ago
chriseth
2589570d9a
Fix static variables.
10 years ago
chriseth
441ab7c1c0
Add move assignment operator manually.
10 years ago
chriseth
a25d8cd553
Move memberlist to avoid unique_ptr copy.
10 years ago
chriseth
925acfad80
Fetch and store packed values.
10 years ago
chriseth
72152a6081
Compute packing offsets.
10 years ago
chriseth
fed44efdce
Enlarge storage references to two stack slots.
10 years ago
Lefteris Karapetsas
382a587886
Additional test for msg.sig
10 years ago
Liana Husikyan
581cd68fcf
restyleing
removed unnecessary check
10 years ago
Lefteris Karapetsas
22b47689d5
Adding msg.sig Solidity Magic type
msg.sig will return a bytes4 with the function signature located in CALLDATALOAD
10 years ago
Liana Husikyan
7359f68b9f
- added more tests to check constant specifier implementation
- deny use of const for local variables
- deny unitialized const variables
- only int, fixed strings, and enums can be declaired as const
10 years ago
Liana Husikyan
304256b546
- added isPartOfExternalInterface to Declaration
- changed position for the constant specifier. now it goes after type: <type> <constant> <name> = <value>
- removed tests for constant functions, checkings for constant function doesn't belong to this story
10 years ago
Liana Husikyan
6f11b6a73f
added parsing for constant variables
10 years ago
chriseth
4d67fe39ac
Fix gas for builtin.
Fixes #1300
10 years ago
Lefteris Karapetsas
5c042e2e59
Small FixedBytes type fixes
- Integer Constant is explicitly convertible to FixedBytes, so using
that in the tests
10 years ago
Lefteris Karapetsas
f488fc4753
Some fixes on Types.cpp for FixedBytesType
10 years ago
Lefteris Karapetsas
98f0d04a94
Style fixes and some additional hash to bytes32 renaming
10 years ago
Lefteris Karapetsas
afc20d2517
Style fixes in Types[cpp/h]
10 years ago
Lefteris Karapetsas
0cd3b15373
byte is now an alias for byte1
10 years ago
Lefteris Karapetsas
9fa08d179b
Fixing byte array index access code generation
10 years ago
Lefteris Karapetsas
d9d792a055
Conversion changes after renaming Hash/String to Bytes.
- Almost all end to end tests pass. Still needs a little bit of work
10 years ago
Lefteris Karapetsas
bb205103c4
Most EndToEndTests are now compliant with the Bytes renaming
10 years ago
Lefteris Karapetsas
9d7ebacabc
Bytes Tokens properly named and NameAndTypeResolution tests work
10 years ago
Lefteris Karapetsas
4700b1b2c8
Fixes after rebasing on top of develop
10 years ago