Highlights
- Arctic Code Vault Contributor
Create your own GitHub profile
Sign up for your own profile on GitHub, the best place to host code, manage projects, and build software alongside 50 million developers.
Sign upPinned
805 contributions in the last year
Contribution activity
November 2020
October 2020
Created 45 commits in 3 repositories
Created a pull request in ethereum/solc-bin that received 8 comments
Let the nightlies call themselves 'nightly'.
Otherwise they'll call themselves develop
builds.
Opened 21 other pull requests in 1 repository
ethereum/solidity
15
merged
5
closed
1
open
- Disallow invalid use of library names as type names.
- Fix windows builds.
- Disallow creating libraries or arrays of libraries with new.
- Disallow arrays of libraries as types in variable declarations.
- Allow arrays of contract types as type expressions e.g. for abi.decode.
- Store test results on CircleCI's t_win for proper reporting.
- Switch to new ossfuzz docker image.
- Disable StackLimitEvader again until we have stronger correctness guarantees.
- Remove antlr and add libabicoder to ossfuzz docker image.
- Make sure lValueOfOrdinaryAssignment does not have an undefined value.
- Reuse CircleCI osx cache across branches.
- Bytecode comparison on CircleCI
- Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
- Refactor stack to memory mover in preparation of moving function arguments.
- Stack Limit Evader: Move function arguments and return values to memory (v2)
- Stack Limit Evader: Also move function arguments to memory, if needed.
- Always run the FunctionHoister as part of the optimizer Suite.
- Move for loop conditons and split expressions during StackToMemoryMover (reversing afterwards).
- Split StackToMemoryMover into assignment+declaration and identifier movers.
- StackToMemoryMover: encapsulate memory offset tracking into its own class.
- StackLimitEvader: Track unreachable variables globally instead of per function.
Reviewed 33 pull requests in 2 repositories
ethereum/solidity 28 pull requests
- Stack Limit Evader: Move function arguments and return values to memory (v2)
- Fix SMT command line test
- Static release build.
- Fix windows builds.
- Fix dependency tracking for abstract contracts
- Checked arithmetic by default.
- [Sol->Yul] Optimizing delete struct.
- ossfuzz: Remove antlr4 build deps
- Remove antlr and add libabicoder to ossfuzz docker image.
- Bytecode comparison on CircleCI
- [SMTChecker] Encoding div and mod operations with slack variables
- Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
- [SMTChecker] Fix counterexample state reporting
- Use revert for out-of-bounds array index access in getter.
- Fix error message formatting in isoltest.
- Print warning for unnamed return parameters and no return statement
- Enable the four semantic tests from `functionCall.inheritance` that now pass via Yul
- Revert on failing read from calldata.
- Constants at file-level.
- [Sol->Yul] Implementing delete struct
- [Sol->Yul] Copying of arrays from storage to memory.
- Refactor oversized type checking
- Stack Limit Evader: Also move function arguments to memory, if needed.
- [Sol->Yul] Implementing push for nested storage arrays and storage arays of structs.
- Move for loop conditons and split expressions during StackToMemoryMover (reversing afterwards).
- Some pull request reviews not shown.
Created an issue in ethereum/solidity that received 4 comments
Consider dividing contract storage into regular and dedicated mapping part.
Motivation Inspired by the whole fuzz about #9746. A problem with the "oversized objects" warnings is that the choice of sizes at which to start wa…