pinkiebell
bb6fb675e0
libsolidity/codegen: Use calldatacopy to cheaply zero memory instead of
...
codecopy.
Motiviation:
Zero'ing memory is commonplace in contracts, but with the upcoming
Layer-2 EVM translation layers and other on-chain verification
mechanisms, using `codecopy` becomes a `costly` operation in those
sandboxes. Using `calldatacopy` achieves the same thing, gas costs
are also the same as codecopy, and is significantly cheaper in the `sandbox` situation.
2020-01-22 17:56:56 +01:00
Jason Cobb
86145adac8
Update documentation for interface inheritance
2020-01-22 09:40:40 -05:00
Jason Cobb
f492a0a3ef
Update changelog for interface inheritance
2020-01-22 09:40:40 -05:00
Jason Cobb
595f569e97
Update tests for interface inheritance
2020-01-22 09:40:40 -05:00
Jason Cobb
573a054d5d
Prohibit interfaces inheriting from non-interfaces
2020-01-22 09:40:40 -05:00
Jason Cobb
1cc8ce1656
Don't prohibit interface inheritance
2020-01-22 09:40:40 -05:00
chriseth
29d7c7d065
Merge pull request #8174 from vbaranov/develop
...
Fix the latest byte of metadata hash encoding in the docs
2020-01-20 18:05:32 +01:00
chriseth
5ccfaf8c10
Merge pull request #8169 from imapp-pl/fix-str-bytes-mismatch-in-prepare-report-py
...
Fix str/bytes mismatch crashing prepare_report.py when running storebytecode.sh
2020-01-20 17:36:24 +01:00
cameel
d48883ca17
Fix crashes in prepare_report.py caused by using str where bytes is expected and vice-versa
...
1) `Popen.communicate()` expects `bytes` (a raw, binary string) if `stdout`/`stderr` are open in binary mode but is given output from `json.loads()` which is str (an abstract unicode string). Encoding the `str` object into `bytes` using UTF-8 encoding fixes that.
2) `REPORT_FILE` gets opened in binary mode which means that functions like `write()` expect `bytes`. We're giving them `str` which results in an error. Changed mode to text solves the problem.
2020-01-20 17:33:44 +01:00
Victor Baranov
e7c109898e
Fix the latest byte of metadata hash encoding in the docs
2020-01-20 17:13:40 +03:00
chriseth
1b19524036
Merge pull request #8150 from ethereum/isoltest-alignment-output
...
[isoltest] Proper output of alignment in obtained test results
2020-01-20 12:38:12 +01:00
chriseth
18bf3688be
Merge pull request #8172 from ethereum/fix-7803
...
yul proto fuzzer: Do not generate infinite for loops and limit number of for loops
2020-01-20 12:32:04 +01:00
Bhargava Shastry
9befb4bdf0
yul proto fuzzer: Do not generate infinite for loops and limit total
...
number of for loops per test program to two
2020-01-20 16:27:01 +05:30
chriseth
470c19eb8c
Merge pull request #8165 from imapp-pl/yulopti-missing-step
...
yulopti: Add missing ConditionalUnsimplifier step
2020-01-20 11:45:29 +01:00
Alex Beregszaszi
92908f5260
Merge pull request #8158 from ethereum/fixedhash-ffs
...
Use multiprecision::msb() in GasMeter and remove FixedHash dependency
2020-01-17 14:05:05 +00:00
Alex Beregszaszi
004f01a388
Add test case for gas metering of exp(n, 0)
2020-01-17 14:24:55 +01:00
Alex Beregszaszi
00f3c42d17
Use multiprecision::msb() in GasMeter and remove FixedHash dependency
2020-01-17 14:24:55 +01:00
cameel
bf5e62931d
fixup! [yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 12:38:45 +01:00
cameel
49ca1f8534
[yulopti] Add missing ConditionalUnsimplifier to the list of available optimizations
2020-01-17 08:01:39 +01:00
cameel
4262eebdc4
[yulopti] Fix typo: (f)flatten -> (f)latten
2020-01-17 08:01:31 +01:00
chriseth
3a17ca6331
Merge pull request #8163 from ethereum/removeLabel
...
Remove Scope::Label.
2020-01-16 19:35:18 +01:00
chriseth
43ad5ed1d2
Merge pull request #8137 from ethereum/declarationsByContractName
...
Clean up visibility via contract name and unimplemented base functions.
2020-01-16 19:33:48 +01:00
chriseth
81569f7208
Remove Scope::Label.
2020-01-16 19:13:25 +01:00
Daniel Kirchner
ee5ff4df4e
Clean up visibility via contract name and fix ICE on calling unimplemented base function.
2020-01-16 19:13:04 +01:00
chriseth
0f2ec771b9
Merge pull request #8124 from ethereum/combineYulDocs
...
Combine Yul documentation sections.
2020-01-16 19:08:18 +01:00
chriseth
53106011eb
Merge pull request #8159 from ethereum/fixedhash-cleanup
...
Remove some rarely used features of FixedHash
2020-01-16 19:01:20 +01:00
chriseth
1d6b42eaa4
Combine Yul documentation sections.
2020-01-16 18:57:04 +01:00
Daniel Kirchner
22466acf39
Experimental wasm rebuild scripts
2020-01-16 18:47:36 +01:00
Alex Beregszaszi
b3d2413a1f
Remove unused features of FixedHash
2020-01-16 17:18:03 +00:00
Alex Beregszaszi
4d8758fcc3
Remove operator~ from FixedHash
2020-01-16 17:18:03 +00:00
Alex Beregszaszi
3c88d295b3
Remove FixedHash(unsigned) constructor
2020-01-16 16:18:08 +00:00
chriseth
3d4a2219a6
Merge pull request #8151 from ethereum/fixYulOptSetting
...
Only activate Yul optimizer if ``--optimize`` is given.
2020-01-16 11:26:38 +01:00
chriseth
b69664e7fd
Only activate Yul optimizer if `--optimize
` is given.
2020-01-15 18:35:10 +01:00
Erik Kundt
ae67cbde7d
Fixes missing alignment output in isoltest.
2020-01-15 18:18:16 +01:00
chriseth
185a736e13
Merge pull request #7918 from ethereum/compilerstack-fqdn
...
Add assertion for contract name clash in the resolver in CompilerStack
2020-01-15 18:00:58 +01:00
chriseth
c017072bac
Merge pull request #8013 from ethereum/warnings
...
Enable more warnings in the build system
2020-01-15 18:00:14 +01:00
chriseth
55748804a5
Merge pull request #8148 from ethereum/awayWithNew
...
Remove remaining instances of new.
2020-01-15 17:51:14 +01:00
Daniel Kirchner
c450b18673
Remove remaining instances of new.
2020-01-15 17:25:08 +01:00
chriseth
5fb8e76931
Merge pull request #8136 from imapp-pl/polyfill-mstore8
...
mstore8 polyfill
2020-01-15 17:02:40 +01:00
Alex Beregszaszi
1d7f25e809
Remove unnecessary statement
2020-01-15 14:33:27 +00:00
Alex Beregszaszi
eafcb42be7
Enable more compiler warnings in the build system
...
"-pedantic -Wno-unknown-pragmas -Wimplicit-fallthrough"
2020-01-15 14:33:27 +00:00
chriseth
6ab8802601
Merge pull request #8132 from ethereum/drop-lll
...
Remove the LLL compiler
2020-01-15 15:15:22 +01:00
chriseth
8bd1e7045a
Merge pull request #8131 from ethereum/python3
...
Use Python 3 instead of Python 2 (EOL'd)
2020-01-15 15:06:20 +01:00
Alex Beregszaszi
9c19b93c37
Remove LLL specific features from libevmasm
2020-01-15 13:27:51 +00:00
chriseth
ed87b08911
Merge pull request #8066 from ethereum/removeAsmFlavour
...
Remove asm flavour
2020-01-15 14:21:54 +01:00
Christian Parpart
54b81b0fda
python scripts: Some pylint tweaks.
2020-01-15 14:21:33 +01:00
Christian Parpart
44e892634b
Use Python 3 instead of Python 2 (EOL'd)
2020-01-15 14:20:43 +01:00
Alex Beregszaszi
106ac296b9
Remove LLL from release scripts
2020-01-15 13:18:24 +00:00
Alex Beregszaszi
f35e2bde31
Remove LLL from Circleci
2020-01-15 13:18:24 +00:00
Alex Beregszaszi
09a9099057
Mention in changelog
2020-01-15 13:18:24 +00:00