Commit Graph

379 Commits

Author SHA1 Message Date
Alex Beregszaszi
aa6de49457 Simplify address overloading 2017-09-28 14:53:41 +01:00
Alex Beregszaszi
ee65ecfb3b Ensure that address types are always declared as 160bit 2017-09-26 22:46:33 +01:00
Alex Beregszaszi
efa4598c23 Mark functions static 2017-09-20 01:23:21 +01:00
chriseth
0696545808 Check for interface types of members and cache recursion check. 2017-09-16 12:31:13 +01:00
chriseth
70d70e7816 Implement struct encoder. 2017-09-16 12:31:12 +01:00
chriseth
6385641f6e Fix tests. 2017-09-16 12:31:12 +01:00
chriseth
36a90289e6 Fix interface type conversion internal to structs. 2017-09-16 12:12:43 +01:00
chriseth
080be885f8 Function signatures containing structs. 2017-09-16 12:12:43 +01:00
chriseth
59ea19b3b9 Check for recursive structs. 2017-09-16 12:12:43 +01:00
chriseth
2e72bd163a Allow structs as part of function interfaces. 2017-09-16 12:12:43 +01:00
Alex Beregszaszi
5b5367dc12 Warn if no visibility is specified on contract functions. 2017-09-14 15:58:04 +01:00
Alex Beregszaszi
06c2ddfd50 Add experimental feature 'v0.5.0' 2017-09-13 19:22:03 +01:00
Alex Beregszaszi
5c9dbd5083 Merge pull request #2473 from ethereum/functiontype-sig
Add .selector member on function types
2017-09-13 17:35:48 +01:00
Alex Beregszaszi
fd1f8ab38b Rename .sig to .selector on function types 2017-09-13 11:40:57 +01:00
Alex Beregszaszi
58f7a27ee0 Add sig member on function type 2017-09-13 11:40:57 +01:00
chriseth
342367d5dc Store super function. 2017-09-06 13:50:49 +02:00
chriseth
5470da4d9a View-pure checker. 2017-09-06 13:50:49 +02:00
Alex Beregszaszi
eb33e76416 Use Json::valueToQuotedString directly 2017-08-29 15:51:37 +01:00
chriseth
cd22da1d9e Remove escape function. 2017-08-29 15:50:28 +01:00
chriseth
93b1cc9702 Merge pull request #2833 from ethereum/statemutability-builtins
Mark all built in functions with appropriate statemutability
2017-08-29 15:24:51 +02:00
Alex Beregszaszi
7fb4a64136 Move all file specific globals to anonymous namespace 2017-08-29 11:09:18 +01:00
Alex Beregszaszi
0e11e5af10 Include all overloaded events in ABI 2017-08-28 20:07:43 +01:00
Alex Beregszaszi
79e84a8fa4 Swap declaration/statemutability in FunctionType constructor 2017-08-28 19:43:35 +01:00
Alex Beregszaszi
aa94000a91 Mark all built in functions with appropriate statemutability 2017-08-28 19:43:35 +01:00
Alex Beregszaszi
c7cb00d49a Mark event non-payable and not view 2017-08-28 16:37:45 +01:00
Alex Beregszaszi
8e5f9c5981 Removed unused natspec members of ContractDefinition 2017-08-25 20:29:43 +01:00
chriseth
4b0e30d259 Cleanup of Common.h 2017-08-25 14:54:23 +02:00
Alex Beregszaszi
deeac7e2e0 Rename statemutability to stateMutability in ABI/AST 2017-08-24 15:23:00 +01:00
Alex Beregszaszi
f646247dfb Consider pure as constant for the AST JSON (to aid static analyzers) 2017-08-24 14:13:34 +01:00
Alex Beregszaszi
5668377c72 Introduce pure specifier on functions 2017-08-24 13:46:18 +01:00
chriseth
c93f0434cd Use experimental feature pragma for SMT checker. 2017-08-23 17:37:35 +02:00
chriseth
1ece7bf443 z3 conditions 2017-08-23 14:24:04 +02:00
chriseth
c5f11d938f Merge pull request #2656 from ethereum/performance1
Avoid some Json copy operations.
2017-08-23 13:26:43 +02:00
Alex Beregszaszi
efe4d68a7b Introduce view (and keep constant as an alias) 2017-08-22 18:24:22 +01:00
chriseth
210b4870a8 Merge pull request #2775 from ethereum/coverity
Fix some issues found by Coverity
2017-08-22 15:39:50 +02:00
Alex Beregszaszi
badb269502 Merge pull request #2776 from ethereum/removeVisitsToAbstractASTNode
Remove visits to abstract AST class TypeName.
2017-08-22 14:34:55 +01:00
chriseth
9b6caa3fc4 Remove visits to abstract AST class TypeName. 2017-08-22 15:12:38 +02:00
Alex Beregszaszi
f2d6226718 Some smaller issues found by Covertiy Scan 2017-08-22 13:55:28 +01:00
Alex Beregszaszi
97169e58ae Merge pull request #2734 from ethereum/reject-create-interface
Reject the creation of interface with the new statement
2017-08-22 12:11:37 +01:00
Alex Beregszaszi
9897c56b2c Mark a lot of functions static (where possible) 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
e2cfc9ee92 Mark a lot of functions const (where possible) 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
b25f0c52ac Reject the creation of interface with the new statement 2017-08-21 23:02:18 +01:00
Alex Beregszaszi
c94b1f8173 Set variable to nullptr in ASTPrinter 2017-08-21 22:05:35 +01:00
Alex Beregszaszi
4b56829ac3 Create children node in ASTJsonConverter when neccesary 2017-08-21 16:28:30 +01:00
chriseth
e3f90565d8 Avoid some Json copy operations. 2017-08-21 16:28:30 +01:00
Alex Beregszaszi
7700f4033e Remove isDeclaredConst() from functions 2017-08-16 17:23:09 +01:00
Alex Beregszaszi
33ea314a24 Add statemutability to AST JSON 2017-08-16 17:23:09 +01:00
Alex Beregszaszi
93be0dd923 FunctionType comparison/identifer to support all statemutability levels 2017-08-16 17:23:08 +01:00
chriseth
2411f5d839 Merge pull request #2704 from ethereum/newEncoder
New ABI encoder
2017-08-14 17:04:00 +02:00
Alex Beregszaszi
a26a5f20ce Remove constant/payable in all function types 2017-08-14 14:21:47 +01:00
Alex Beregszaszi
2a9ba937ba Replace constant/payable with StateMutability in AST 2017-08-14 14:21:47 +01:00
chriseth
d1ad62fccc Experimental feature switch for ABI encoder. 2017-08-14 13:11:41 +01:00
chriseth
77b26552b1 Allow multi-dimensional arrays in interfaces. 2017-08-14 12:44:25 +02:00
Federico Bond
ff5bb54e3c Use fully qualified name of super in message 2017-08-11 22:45:25 +01:00
Alex Beregszaszi
53a497b4d8 Add analysis-only experimental features 2017-08-11 16:38:37 +01:00
Alex Beregszaszi
644c91fc2d Add __test experimental mode for testing 2017-08-11 16:38:02 +01:00
chriseth
a7a9ed4718 Merge pull request #2727 from ethereum/simplify-types
Simplify if/else statements in Types
2017-08-11 11:46:16 +02:00
Alex Beregszaszi
3dcf089c3f Simplify if/else statements in Types 2017-08-10 19:14:33 +01:00
gubatron
ad7a63f890 FunctionType operator== boolean refactor 2017-08-10 17:04:40 +01:00
Alex Beregszaszi
1b32cdcf21 Check for payable when comparing function types 2017-08-10 17:03:45 +01:00
chriseth
41e3cbe084 Merge pull request #2690 from ethereum/experimental-pragma
Support experimental feature pragma
2017-08-10 15:23:34 +02:00
Alex Beregszaszi
57c2451130 Introduce ExperimentalFeatures header 2017-08-10 00:15:25 +01:00
Alex Beregszaszi
fbcc5f4ee5 Support experimental feature pragma 2017-08-09 23:41:46 +01:00
chriseth
b38f31617e Add isDynamicallyEncoded member function to types. 2017-08-09 23:18:42 +01:00
Alex Beregszaszi
b210db8058 Make toString(visibility) a helper 2017-08-09 14:58:59 +01:00
Alex Beregszaszi
bb0eb57c2f Constructors must be implemented if declared. 2017-08-04 20:38:45 +01:00
Alex Beregszaszi
c835bcec62 Replace isFullyImplemented with unimplementedFunctions in ASTAnnotations 2017-08-04 14:03:37 +01:00
Alex Beregszaszi
b7642dc8a7 Disallow gas modifier on sha255/ripemd160/ecrecover 2017-08-01 20:55:01 +01:00
Alex Beregszaszi
6d37f30d76 Rename Bare to Barecall 2017-08-01 10:47:10 +01:00
Alex Beregszaszi
d4e44ecb46 Disallow externalSignature for fallback functions 2017-07-27 21:52:58 +01:00
Alex Beregszaszi
9fc6eccc26 Add isFallback() helper 2017-07-27 21:52:57 +01:00
Alex Beregszaszi
89fadd6935 Merge pull request #2645 from ethereum/asserts
Use solAssert where possible
2017-07-27 11:12:30 +01:00
chriseth
1298a8df14 Merge pull request #2566 from ethereum/metadata-only-relevant
Metadata: only include relevant files in the source list
2017-07-27 11:07:15 +02:00
Alex Beregszaszi
8098030986 Use solAssert instead of boost throw where possible 2017-07-26 22:23:21 +01:00
chriseth
72917c4f35 Cleanup fixed point type changes 2017-07-19 22:13:42 +01:00
VoR0220
78769f3b39 Change fixed point types to have digit count
Signed-off-by: VoR0220 <rj@erisindustries.com>
2017-07-19 21:49:01 +01:00
Alex Beregszaszi
f3e591eedd Add template for merging sets 2017-07-19 14:56:40 +01:00
Alex Beregszaszi
89a1e97e7d Avoid cyclic imports in referencedSourceUnits 2017-07-19 14:56:40 +01:00
Alex Beregszaszi
ed592d6ccb Add option to recurse referencedSourceUnits 2017-07-19 14:56:40 +01:00
Alex Beregszaszi
a9bddf71aa Add referencedSourceUnits() helper 2017-07-19 14:56:40 +01:00
Alex Beregszaszi
1b0ef0b785 Add sourceUnit() helper to Declaration 2017-07-19 14:56:40 +01:00
Alex Beregszaszi
644de755dc Mark modifiers as internal 2017-07-18 23:00:17 +01:00
Alex Beregszaszi
cb4875a28b Issue error properly for oversized arrays for calldata 2017-07-13 22:33:46 +02:00
chriseth
d1c3ecc94a Merge pull request #2567 from ethereum/refactorExceptions
Refactor exceptions and provide comment function.
2017-07-13 16:56:03 +02:00
chriseth
09e821619e Refactor exceptions and provide comment function. 2017-07-13 11:34:03 +02:00
Federico Bond
f20b150f38 Add type error when attempting value transfer to a non-payable contract 2017-07-12 23:57:53 -03:00
chriseth
b7a59652f1 Merge pull request #2501 from ethereum/undef-macros
Move UndefMacros from libdevcore to libsolidity/parsing
2017-07-12 15:07:20 +02:00
chriseth
01a1296e90 Helper functions. 2017-07-11 11:24:41 +02:00
Alex Beregszaszi
b615b01449 Move UndefMacros from libdevcore to libsolidity/parsing 2017-07-02 00:09:46 +01:00
Alex Beregszaszi
c70d73809a Use boost::starts_with 2017-06-28 17:01:55 +01:00
Alex Beregszaszi
06fe61f89b Rename to isHexNumber() 2017-06-28 17:01:55 +01:00
Alex Beregszaszi
8b0c866f02 Add hasHexPrefix() to AST::Literal 2017-06-28 16:57:32 +01:00
chriseth
4407a13c17 Only allow equality checks for internal function types. 2017-06-26 16:30:37 +02:00
chriseth
f47e6e90fb Disallow comparisons between some types. 2017-06-26 16:30:36 +02:00
chriseth
f340ff8764 Fix strings interpreted as addresses. 2017-06-22 16:48:44 +02:00
Alex Beregszaszi
d5f8ce90c7 Merge interface/Exceptions and interface/Utils 2017-06-22 11:25:07 +01:00
chriseth
21aafaa704 Merge pull request #2331 from ethereum/ASTDocumentationEntry
documentation field added to ContractDefinition-Node
2017-06-14 14:32:27 +02:00
djudjuu
62eafdd010 adjusted testcase and renaming 2017-06-06 13:26:23 +02:00
djudjuu
597bf8a43d fix Literalprint 2017-05-30 19:53:32 +02:00
djudjuu
2e7190534b documentation field added to ContractDefinition-Node 2017-05-30 18:52:43 +02:00