Harikrishnan Mulackal
e5eed63a3e
Merge pull request #12056 from ethereum/setReleaseDatefro089
...
Set release date.
2021-09-29 15:19:38 +02:00
hrkrshnn
14a678eb67
Fix gas stats
2021-09-29 13:50:51 +02:00
hrkrshnn
9d8a0a6f82
Buglist entry for UserDefinedValueTypesBug
2021-09-29 11:54:00 +02:00
hrkrshnn
7b7e38768c
Update tests.
2021-09-29 11:44:13 +02:00
hrkrshnn
6109b5c3a1
UserDefinedValueType.storageBytes() is correctly set
...
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
2021-09-29 11:41:47 +02:00
hrkrshnn
41f9aab219
Tests for assembly access of user defined value types.
2021-09-28 14:50:08 +02:00
hrkrshnn
e24083a298
UserDefinedValueType: test for reading from dirty storage slots
2021-09-28 11:27:43 +02:00
Harikrishnan Mulackal
4a6b22885e
Clarification in changelog
2021-09-27 12:27:12 +02:00
Harikrishnan Mulackal
55d609d354
Merge pull request #11990 from ethereum/smt_user_types
...
[SMTChecker] Support user types
2021-09-22 15:40:49 +02:00
Harikrishnan Mulackal
46f7078d67
Merge pull request #11995 from andrewl64/patch-1
...
Update README.md
2021-09-20 09:40:42 +02:00
Harikrishnan Mulackal
0d7f6598e8
Merge pull request #11980 from ethereum/useIterateReplacingInStatementRemover
...
Use iterateReplacing in StatementRemover.
2021-09-16 16:15:07 +02:00
hrkrshnn
15fb427a99
Added a multisource test for UserDefinedValueTypes and imports
...
Testing if `import {MyType} from "source";` works
2021-09-15 17:48:53 +02:00
hrkrshnn
48e16ceb88
Changing the UserDefinedValueType::toString to userdefined <name>
2021-09-15 17:25:23 +02:00
Harikrishnan Mulackal
ea2386adb1
Merge pull request #11957 from ethereum/canonicalname-userdefinedvaluetype
...
Canonicalname for user defined value types
2021-09-15 13:38:33 +02:00
hrkrshnn
42c8310a63
Updated tests.
2021-09-15 12:56:29 +02:00
hrkrshnn
de01822999
UserDefinedValueType: from simple name to canonical name.
2021-09-15 12:56:29 +02:00
Harikrishnan Mulackal
c8c6d30808
Merge pull request #11946 from ethereum/tests-userdefinedvaluetypes
...
UserDefinedValueType: test to validate zero-cost-abstraction claim.
2021-09-13 18:54:36 +02:00
hrkrshnn
4871017aae
Added an abi function test for UserDefinedValueType
...
A test to see if `abi.encode*(..., (CustomType))` and `abi.decode(..., (CustomType))` works as
intended.
2021-09-13 18:12:42 +02:00
hrkrshnn
00bfed4d8b
UserDefinedValueType: test to validate zero-cost-abstraction claim.
...
Seems that the optimizer can indeed make it a zero-cost-abstraction!
2021-09-13 16:49:52 +02:00
Harikrishnan Mulackal
8fafdeacac
Merge pull request #11939 from ethereum/userdefined-types-mapping-key
...
Allow Mapping keys to have type UserDefinedValueType.
2021-09-13 15:06:14 +02:00
hrkrshnn
2ead3f469e
Added a user defined type mapping into the ASTJSON test.
2021-09-13 14:06:31 +02:00
Harikrishnan Mulackal
623b4ba366
Merge pull request #11942 from ethereum/constant-userdefinedvaluetype
...
Allow UserDefinedValueType.uwrap (and wrap) as RHS of constant decl
2021-09-13 12:32:58 +02:00
hrkrshnn
a1d4d0125d
Allow UserDefinedValueType.uwrap (and wrap) as RHS of constant decl
...
Needed to make `MyType.unwrap` and `MyType.unwrap` as pure in the process. This change affected some
existing tests ("statement has no effect").
2021-09-13 11:53:05 +02:00
hrkrshnn
1fa6c71bd0
Allow Mapping keys to have type UserDefinedValueType.
...
Also added syntax and semantic test.
2021-09-13 10:03:49 +02:00
hrkrshnn
952540c3b5
User defined value type: changes in documentation and test case
...
Changed the name of a function from `truncate` to `floor`, since that is more appropriate; updated
the inaccurate description on the rounding behaviour. Also modified the respective semantic test.
2021-09-09 16:57:03 +02:00
hrkrshnn
a03fbf7061
User defined value types: moved a syntax test to semantic test.
2021-09-09 12:07:51 +02:00
Harikrishnan Mulackal
8a37f56e98
Merge pull request #11806 from ethereum/user-defined-types
...
User defined value types
2021-09-09 10:28:35 +02:00
hrkrshnn
7e95555325
Updated ANTLR grammar to include user defined value types.
2021-09-08 21:19:30 +02:00
hrkrshnn
fbb1b884b2
Documentation and Changelog
2021-09-08 21:19:30 +02:00
hrkrshnn
d67391531e
Implemented ASTJson import export for UserDefinedValueType
...
Also added a test.
2021-09-08 21:19:30 +02:00
hrkrshnn
5f393d1694
Semantic tests for User Defined Value types
2021-09-08 21:19:30 +02:00
hrkrshnn
229f50eef1
Syntax checks for user defined value types
2021-09-08 19:56:48 +02:00
hrkrshnn
54484e9795
Implemented codegen for UserDefinedValueType
2021-09-08 19:56:48 +02:00
hrkrshnn
ce75790e8d
TypeChecker: added checks for wrap and unwrap
...
For user defined value types and also added a test case.
2021-09-07 19:42:51 +02:00
hrkrshnn
0647039864
DeclarationTypeChecker for UserDefinedValueTypes
...
- Checks for repetitions.
- Assigns types.
- Checks if the 'actual type' is an elementary type name.
- Checks if the 'actual type' is a value type.
Also added tests.
2021-09-07 19:42:51 +02:00
hrkrshnn
15452371d4
Types for UserDefinedValueType
2021-09-07 19:42:51 +02:00
hrkrshnn
9f7426b4a9
Implemented parsing for UserDefinedValueType
...
Also added parsing tests.
2021-09-07 19:42:51 +02:00
hrkrshnn
d3ae9cf71b
Added AST node UserDefinedValueType
2021-09-07 19:42:51 +02:00
hrkrshnn
4d52e873e7
Move changelog item to bugfix.
2021-09-06 17:44:45 +02:00
Harikrishnan Mulackal
e9b70b168a
Merge pull request #11899 from ethereum/move-check-keccak-gas
...
Resolving Keccak-256: check if arguments are identifiers early.
2021-09-06 14:28:42 +02:00
hrkrshnn
2cdd3b2081
Resolving Keccak-256: check if arguments are identifiers early.
...
Previously, the check on whether the optimization was useful gas wise was done before checking if
the keccak256 opcode had identifier as arguments. Since the gas meter crashes when encountering
certain Yul opcodes (create, dataoffset, etc.), this optimizer step crashed.
2021-09-06 13:48:07 +02:00
Harikrishnan Mulackal
3da3ffee5f
Merge pull request #11897 from paulrberg/develop
...
docs: delete stale note about reading code
2021-09-06 10:01:57 +02:00
Harikrishnan Mulackal
1e334a8993
Merge pull request #11799 from benldrmn/increase_use_of_constexpr
...
Increase use of C++ constexpr
2021-08-31 17:23:36 +02:00
Harikrishnan Mulackal
7df33f0d61
Merge pull request #11777 from Ahmed-Ali/improving_naming_consistency
...
[DOCS] Improving the naming consistency in Solidity by Example documentation
2021-08-26 12:38:35 +02:00
Harikrishnan Mulackal
c69f91917d
Merge pull request #11841 from ethereum/smt_fix_delegatecall
...
[SMTChecker] Erase balances when delegatecall is seen
2021-08-25 15:26:57 +02:00
Harikrishnan Mulackal
7a0295ec6c
Merge pull request #11831 from soroosh-sdi/use-range-v3
...
Replace boost::adaptors with range-v3
2021-08-24 11:17:43 +02:00
hrkrshnn
59db0f1537
An equivalence check for SIGNEXTEND opcode
...
Checking the implementation of SIGNEXTEND using Z3's native SignExt and Extract
2021-08-16 18:54:33 +02:00
Harikrishnan Mulackal
98a259a92d
Merge pull request #11784 from ethereum/set-release-date
...
Set the release date and updated bugs_by_version.json
2021-08-11 12:52:37 +02:00
hrkrshnn
2c0c27c6d4
Set the release date and updated bugs_by_version.json
2021-08-11 12:13:07 +02:00
Harikrishnan Mulackal
3d33f212c8
Merge pull request #11780 from ethereum/sort-changelog-0.8.7
...
Sort changelog for 0.8.7 release
2021-08-11 11:43:57 +02:00
hrkrshnn
2577670e38
Sort changelog for 0.8.7 release
2021-08-11 10:52:13 +02:00
hrkrshnn
892700d769
Tests for basefee as identifier in inline assembly
...
Also added basefee to `EVMVersion::hasOpcode(...)`
2021-08-11 10:46:40 +02:00
hrkrshnn
7f1a2be0fe
Allow basefee as Yul identifier for EVMVersion < london
...
This was done to prevent basefee from being a breaking change. This change will be removed in 0.9.0.
TODO revert this commit in breaking.
2021-08-11 10:46:08 +02:00
Harikrishnan Mulackal
74ec3c1983
Merge pull request #11760 from ethereum/default-evmversion-london
...
Set default EVM version to London.
2021-08-11 10:42:41 +02:00
Harikrishnan Mulackal
0fc3e2dfb3
Merge pull request #11647 from ethereum/basefee
...
Implement London EVMVersion and the BASEFEE opcode
2021-08-11 10:31:22 +02:00
hrkrshnn
11b80dc8ce
Updated changes in refunds: EIP-3529
...
Refunds are not accounted in Solidity's gas meter.
2021-08-11 09:55:21 +02:00
hrkrshnn
79733fca48
Set default EVM version to London.
2021-08-11 09:54:14 +02:00
hrkrshnn
43605d9299
Tests and Changelog for basefee.
2021-08-11 09:51:12 +02:00
hrkrshnn
cb9b52c242
Docs for block.basefee and basefee() in Yul.
2021-08-11 09:27:36 +02:00
hrkrshnn
a54addc2cb
An equivalence check for the Byte opcode
...
Checks that the byte opcode (implemented using shift) is equivalent to a
canonical definition of byte using extract.
2021-08-10 11:00:29 +02:00
hrkrshnn
af1dabb555
Added EVMVersion london.
...
Also set the value of `block_base_fee` for testing to 7 wei.
2021-08-09 16:18:08 +02:00
hrkrshnn
543ccf5287
Added the basefee instruction in YulInterpreter
2021-08-09 16:18:08 +02:00
hrkrshnn
95091f6b58
Implemented block.basefee in Solidilty and basefee() in Yul.
...
Also added basefee to Yul grammar.
2021-08-09 16:18:08 +02:00
hrkrshnn
d92b211a2f
Added the instruction basefee.
2021-08-09 16:18:08 +02:00
Harikrishnan Mulackal
c89b46c55e
Merge pull request #11726 from ethereum/yulScoping
...
Clarify Yul scoping rules.
2021-08-03 12:41:24 +02:00
Harikrishnan Mulackal
5ff0811b99
Merge pull request #11717 from jaa2/develop
...
Handle --optimize-runs option in assembly mode
2021-07-29 18:56:22 +02:00
Harikrishnan Mulackal
fa49170bac
Merge pull request #11714 from ethereum/fix-11709
...
Document free memory pointer overflow check in Sol->Yul.
2021-07-29 10:07:05 +02:00
hrkrshnn
8bec0c8a6b
Updated docs and evmc.h header file for evmone 0.8.0 release
2021-07-27 16:39:41 +02:00
hrkrshnn
6b8c32b859
Updated circleci scripts with evmone 0.8.0 docker images
2021-07-27 16:38:55 +02:00
Harikrishnan Mulackal
e3184c737a
Merge pull request #11649 from ethereum/evmone-upgrade
...
Updated evmone version to 0.8.0 and evmc version to 9.0.0
2021-07-27 16:34:17 +02:00
hrkrshnn
1b56fdea9d
Updated dockerfiles for evmone 0.8.0
2021-07-27 15:20:49 +02:00
Harikrishnan Mulackal
7041b87c3b
Merge pull request #11694 from ethereum/chriseth-patch-1
...
Use caret for version pragma
2021-07-26 14:54:36 +02:00
Harikrishnan Mulackal
8f6c6eec27
Merge pull request #11683 from GuLiPing-Hz/patch-1
...
[Docs] Add `unchecked` to fix reverting `BigInt` example in `libraries.rst`
2021-07-26 14:02:40 +02:00
Harikrishnan Mulackal
e35b39b6fe
Merge pull request #11684 from j05u3/patch-1
...
[documentation improvement proposal] tx.origin pointing where exactly is the bug
2021-07-26 13:43:04 +02:00
Harikrishnan Mulackal
f0d7ed98a5
Merge pull request #11675 from TransmissionsDev/patch-1
...
Remove incorrect statement that calldata must be used for external functions
2021-07-26 13:32:22 +02:00
Harikrishnan Mulackal
dda362f084
Merge pull request #11648 from CrimsonGlory/patch-1
...
minor doc change. RHS->right hand side
2021-07-13 09:04:24 +02:00
Harikrishnan Mulackal
3f70acfd74
Merge pull request #11637 from ethereum/docs-fix-outdated-byte-type-reference
...
[Docs] Fix outdated references to `byte[]` type
2021-07-08 13:55:48 +02:00
Harikrishnan Mulackal
58ab8f79a2
Merge pull request #11634 from maAPPsDEV/patch-1
...
Fix a Typo describing Layout in Storage
2021-07-08 09:38:24 +02:00
hrkrshnn
b628b115ae
Manually enabled gas statistics for erc20 token test.
2021-06-30 16:35:53 +02:00
hrkrshnn
0ef7d27dbd
Fix pylint issues
2021-06-30 10:38:37 +02:00
Harikrishnan Mulackal
d91dc9953f
Merge pull request #10015 from ethereum/moveFunctionArgumentsToMemoryNew
...
Stack Limit Evader: Move function arguments and return values to memory (v2)
2021-06-28 18:49:40 +02:00
Harikrishnan Mulackal
f5d659da0c
Merge pull request #11591 from ethereum/fix-develop-docs-ci
...
[DOCS] Change code block into proper JSON
2021-06-28 18:08:16 +02:00
hrkrshnn
4c216395c6
[DOCS] Change code block into proper JSON
...
Reran `solc --storage-layout`, so the AST ids changed.
2021-06-28 17:27:33 +02:00
Harikrishnan Mulackal
a3c965b7de
Merge pull request #11580 from ethereum/fix-crash-on-zero-in-bytes-concat
...
Fix `bytes.concat(0)`
2021-06-28 10:06:18 +02:00
hrkrshnn
d176716d47
Added extra commands that needs to be run before brew update
...
Fixes the following issue:
Error:
homebrew-core is a shallow clone.
homebrew-cask is a shallow clone.
To `brew update`, first run:
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow
git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask fetch --unshallow
These commands may take a few minutes to run due to the large size of the repositories.
This restriction has been made on GitHub's request because updating shallow
clones is an extremely expensive operation due to the tree layout and traffic of
Homebrew/homebrew-core and Homebrew/homebrew-cask. We don't do this for you
automatically to avoid repeatedly performing an expensive unshallow operation in
CI systems (which should instead be fixed to not use shallow clones). Sorry for
the inconvenience!
2021-06-17 10:34:57 +02:00
hrkrshnn
eb04dfcd3e
Updated expectation of FixedFeeRegistrar.sol
2021-06-17 10:09:47 +02:00
Harikrishnan Mulackal
215bbe2e6d
Merge pull request #11498 from ethereum/script_gas_test
...
A script to summarize gas differences from isoltest for PRs.
2021-06-08 13:07:42 +02:00
hrkrshnn
a4fd7c56a4
A script to summarize gas differences from isoltest for PRs.
2021-06-08 11:38:58 +02:00
Harikrishnan Mulackal
424edcc562
Merge pull request #11475 from ethereum/receive-override
...
Fix ICE related to receive function having parameters.
2021-06-03 14:10:23 +02:00
hrkrshnn
c3eef8af91
Fix ICE related to receive function having parameters.
2021-06-03 13:08:57 +02:00
hrkrshnn
2309ae3edd
Added tests for internal or recursive types as event / error param
...
After converting the error about mapping parameter in event / error into a fatal type error, we were
missing tests that reached the "internal or recursive types" error.
2021-06-03 11:02:27 +02:00
hrkrshnn
cc915f023e
Errors about nested mapping in event parameter are fatal.
...
(Also applies for error parameters.)
2021-06-03 11:02:27 +02:00
Harikrishnan Mulackal
8ecf79474b
Merge pull request #11458 from ethereum/event_indexed_mixed
...
Add test with event where indexed parameters are not the first.
2021-05-31 16:19:52 +02:00
hrkrshnn
138873d918
Fix ICE related to mapping types in abstract contract constructor
2021-05-31 14:56:49 +02:00
hrkrshnn
f582d48f7b
Error message: try-catch parameter cannot be in storage.
2021-05-31 11:25:08 +02:00
Harikrishnan Mulackal
9cffaddadc
Merge pull request #11448 from ethereum/docs-staticcall-value
...
[DOCS] Clarification about value option for staticcall.
2021-05-27 17:52:21 +02:00
hrkrshnn
b8d5d5744e
Clarification about value option for staticcall.
2021-05-27 11:21:15 +02:00
hrkrshnn
dc15e31605
Increased the tolerance for two GasMeter tests.
2021-05-26 12:23:06 +02:00
hrkrshnn
97c9d21376
Force two tests to go out of gas.
2021-05-26 12:23:06 +02:00
hrkrshnn
4d6c951396
Isoltest gas update after Berlin gas cost changes
2021-05-26 12:23:06 +02:00