Commit Graph

687 Commits

Author SHA1 Message Date
chriseth
0031e6a530 Merge pull request #1545 from federicobond/refactor-rename
Rename contractName to typeName when parsing new expression
2017-01-05 10:53:08 +01:00
Federico Bond
584356e7f6 Rename contractName to typeName when parsing new expression 2017-01-04 23:09:10 -03:00
Yoichi Hirai
6a312233fc
ast, codegen: enable accessing events through contract names.
Fixes #1286
2017-01-02 17:59:20 +01:00
Yoichi Hirai
f8fe6e4f7c Merge pull request #1503 from federicobond/json-visibility
Include visibility level for functions in AST
2016-12-14 17:23:14 +01:00
chriseth
e97ba77a45 Merge pull request #1508 from ethereum/multiurls
Use multiple URLs for metadata.
2016-12-14 17:22:25 +01:00
Yoichi Hirai
18f8f29c0a Merge pull request #1487 from ethereum/shift-ops
Shift operators
2016-12-14 16:31:27 +01:00
Yoichi Hirai
e53d125571 Merge pull request #1507 from ethereum/memcopystyle
Renamed padToWordBoundaries -> padToWords
2016-12-14 14:20:27 +01:00
chriseth
e9d3327ad6 Use correct type for storing. 2016-12-13 16:50:50 +01:00
chriseth
56a027bedc Use multiple URLs for metadata. 2016-12-13 16:37:48 +01:00
Federico Bond
de720e643d Improve error message when trying to modify constant variables 2016-12-13 00:32:37 -03:00
chriseth
0e0d5d47c0 Renamed padToWordBoundaries -> padToWords 2016-12-12 23:43:21 +01:00
Yoichi Hirai
1c3605362d Merge pull request #1468 from ethereum/memcpy-assembly
Implement memcpy without the identity precompile
2016-12-12 22:39:47 +01:00
chriseth
c111d6e27e Merge pull request #1491 from ameten/refactoring
Just refactored some code
2016-12-12 21:43:04 +01:00
Federico Bond
9ed65f2ab9 Include visibility level for functions in AST 2016-12-12 16:21:57 -03:00
chriseth
2738045030 Cleaner shift handling and type conversion for binary operations. 2016-12-12 11:12:12 +01:00
chriseth
2df60bec92 Type after shift should be type of left operand. 2016-12-12 11:12:12 +01:00
Alex Beregszaszi
b8b4f5e9f9 Support bitshifting in variables 2016-12-12 11:12:10 +01:00
chriseth
bfa4f45116 Split memcopy into three functions. 2016-12-11 17:57:15 +01:00
chriseth
4184525d4a Fix inline assembly. 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
efd7b4bfbb Reset stack height after inline assembly block 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
4a11200a27 Better assert message for appendInlineAssembnly 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
b93589b3b6 Implement identity call in inline assembly 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
bf5dac1fb2 Turn off the identity precompile for testing 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
1bf412d9fd Implement CompilerUtils::memoryCopy using inline assembly 2016-12-11 17:57:15 +01:00
Alex Beregszaszi
4abc8ab5a9 Add usingIdentity option to CompilerUtils::memoryCopy 2016-12-11 17:57:15 +01:00
chriseth
d2b8bdd016 Merge pull request #1464 from federicobond/warn-msgvalue
Warn about using msg.value in non-payable function
2016-12-11 16:46:06 +01:00
Federico Bond
df76230240 Fix names of JSON AST nodes 2016-12-11 02:07:08 -03:00
Federico Bond
05139500fb Warn about using msg.value in non-payable function 2016-12-08 16:22:13 -03:00
Danil Nemirovsky
db42294a20 - fixed a misprint. 2016-12-08 21:33:09 +03:00
chriseth
84443eb560 Merge pull request #1351 from ethereum/truncate_bit
Truncate a boolean from calldata into one bit
2016-12-08 16:15:35 +01:00
chriseth
b201e148fa Merge pull request #1465 from ethereum/missing_keywords
document missing keywords
2016-12-06 13:47:30 +01:00
Alex Beregszaszi
86d54c02cd Throw if calling the identity precompile (memoryCopy) failed 2016-12-02 13:18:39 +00:00
Yoichi Hirai
43b56a61aa
parsing: default and null are reserved keywords 2016-12-02 11:52:11 +01:00
chriseth
f1907bbb12 Add the _runs parameter. 2016-12-01 16:04:00 +01:00
Alex Beregszaszi
f869792eec Fix type of optimizeRuns 2016-12-01 16:03:59 +01:00
chriseth
6a7ff039df Use CBOR encoding. 2016-12-01 16:03:59 +01:00
chriseth
1e35526eb6 Fix tests. 2016-12-01 16:03:59 +01:00
chriseth
91ecc4533d Add swarm hash to the end of the bytecode. 2016-12-01 16:03:59 +01:00
chriseth
659b635b2d Make sure some keys are present. 2016-12-01 16:03:59 +01:00
chriseth
e666f8cda7 Incorporate comments. 2016-12-01 16:03:59 +01:00
chriseth
5789eaa78d Metadata stamp. 2016-12-01 16:03:59 +01:00
chriseth
55a719a79c Merge pull request #1462 from ethereum/fix-incorrect-assertion
codegen: assertion did not assert non-nullness
2016-12-01 15:14:31 +01:00
chriseth
2f9a91a034 Merge pull request #1463 from ethereum/duplicate-assignment
codegen: this commit removes one of duplicate assignments
2016-12-01 15:11:35 +01:00
Yoichi Hirai
1e791f30aa
codegen: this commit removes one of duplicate assignments 2016-12-01 12:03:25 +01:00
Yoichi Hirai
e29047b24d
codegen: assertion did not assert non-nullness
This commit strengthens an assertion so that it makes sure that a pointer is not null.
Moreover, `isLocalVariable(variable)` is now positively asserted, following the error message.
2016-12-01 11:58:34 +01:00
Yoichi Hirai
d77c8f730c
codegen: clean not only booleans but all types before storing them into memory 2016-11-30 17:42:21 +01:00
Yoichi Hirai
547deec4be
codegen: clean any data from the input 2016-11-30 17:42:03 +01:00
Yoichi Hirai
fb9babce54
codegen: truncate booleans before they enter storage 2016-11-30 17:41:51 +01:00
Yoichi Hirai
0123e74a2e
codegen: cleanup booleans before storing them into memory 2016-11-30 17:41:46 +01:00
Yoichi Hirai
03ccc6df70
codegen: truncate a boolean calldata down to one bit 2016-11-30 17:41:38 +01:00