profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/k06a/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Anton Bukov k06a 1inch Network Amsterdam, Netherlands 1inch.io Co-Founder of 1inch Network

k06a/ABCalendarPicker 718

Fully configurable iOS calendar UI component with multiple layouts and smooth animations.

1inch/shieldy 525

@shieldy_bot Telegram bot repository

balancer-labs/balancer-sor 82

Smart order router: off-chain linear optimization of routing orders across pools for best price execution

DODOEX/contractV2 57

Smart contracts for DODOEX V2

balancer-labs/balancer-subgraph 48

Subgraph (Graph Protocol) data layer for Balancer pools, swaps, txs, users

k06a/ABIntentions 14

Collection of iOS intentions. Inspired by http://bendyworks.com/geekville/articles/2014/2/single-responsibility-principle-ios and http://chris.eidhof.nl/posts/intentions.html

k06a/ABStaticTableViewController 11

Dynamically hide rows and sections in static UITableView inside UITableViewController.

k06a/ABCollectionViewFRC 5

NSFetchedResultsControllerDelegate wrapper for UICollectionView animated changes

issue commentk06a/boolinq

C++ 20 Windows Build Problem

@TaeZStkyoht applied changes to master branch and added tag 3.0.3. Checking ways to submit new version to vcpkg.

TaeZStkyoht

comment created time in a day

startedmicrosoft/vcpkg

started time in a day

created tagk06a/boolinq

tag3.0.3

Simplest C++ header-only LINQ template library

created time in a day

push eventk06a/boolinq

Anton Bukov

commit sha c60ca05669ca91bf83eb16c65e818364919c5d09

Fix result_of for C++20+

view details

push time in a day

PR opened brinktrade/brink-core

Slight improvement
+9 -10

0 comment

1 changed file

pr created time in 5 days

push eventk06a/brink-core

Anton Bukov

commit sha 43369ac52b5bfebb84ba3e47ae8f27de881896b1

Slight improvement

view details

push time in 5 days

fork k06a/brink-core

Core smart contracts for Brink accounts

fork in 5 days

issue commentk06a/boolinq

C++ 20 Windows Build Problem

@RoqueDeicide @TaeZStkyoht @ZumZoom any ideas how to write universal code using result_of in pre-C++17 and invoke_result_t in C++17+?

TaeZStkyoht

comment created time in 8 days

pull request commentethereum/EIPs

Add CREATE3 opcode - no init_code hash

Strongly supporting this EIP. Let's also remove CREATE/CREATE2/CREATE3 32k gas payment in case of 0 bytecode deployment size, this would allow to have cheaper pure proxy factories.

moodysalem

comment created time in 15 days

push event1inch/create3

Anton Bukov

commit sha cbfeb9ac40d44026cb163f5c22a7729f2f8ac6cd

Optimize gas, fix payable constructors and deny redeploying to the same addresses

view details

push time in 15 days

PR opened 0xsequence/create3

Optimize gas and fix payable gas

Optimised 5200 gas by avoiding SELFDESTRUCT and fix bug for payable constructors. It was pushing CALLVALUE with SELFDESTRUCT instead of passing it with CREATE.

·-------------------------|----------------------------|-------------|-----------------------------·
|   Solc version: 0.8.9   ·  Optimizer enabled: false  ·  Runs: 200  ·  Block limit: 30000000 gas  │
··························|····························|·············|······························
|  Methods                                                                                         │
···············|··········|··············|·············|·············|···············|··············
|  Contract    ·  Method  ·  Min         ·  Max        ·  Avg        ·  # calls      ·  usd (avg)  │
···············|··········|··············|·············|·············|···············|··············
|  Create3Imp  ·  create  ·      100824  ·     554369  ·     327350  ·         2052  ·          -  │
···············|··········|··············|·············|·············|···············|··············
|  Deployments            ·                                          ·  % of limit   ·             │
··························|··············|·············|·············|···············|··············
|  Create3Imp             ·           -  ·          -  ·     571662  ·        1.9 %  ·          -  │
·-------------------------|--------------|-------------|-------------|---------------|-------------·

=>

·-------------------------|----------------------------|-------------|-----------------------------·
|   Solc version: 0.8.9   ·  Optimizer enabled: false  ·  Runs: 200  ·  Block limit: 30000000 gas  │
··························|····························|·············|······························
|  Methods                                                                                         │
···············|··········|·············|··············|·············|···············|··············
|  Contract    ·  Method  ·  Min        ·  Max         ·  Avg        ·  # calls      ·  usd (avg)  │
···············|··········|·············|··············|·············|···············|··············
|  Create3Imp  ·  create  ·      95621  ·      549130  ·     322150  ·         2052  ·          -  │
···············|··········|·············|··············|·············|···············|··············
|  Deployments            ·                                          ·  % of limit   ·             │
··························|·············|··············|·············|···············|··············
|  Create3Imp             ·          -  ·           -  ·     572046  ·        1.9 %  ·          -  │
·-------------------------|-------------|--------------|-------------|---------------|-------------·
+21 -22

0 comment

1 changed file

pr created time in 15 days

create barnch1inch/create3

branch : optimize-gas

created branch time in 15 days

Pull request review commentOpenZeppelin/openzeppelin-contracts

Extend MerkleProof to support unsorted Merkle tree

 library MerkleProof {         bytes32 root,         bytes32 leaf     ) internal pure returns (bool) {+        (bool success, ) = verifyAndRecoverIndex(proof, root, leaf);+        return success;+    }++    /**+     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree+     * defined by `root`. For this, a `proof` must be provided, containing+     * sibling hashes on the branch from the leaf to the root of the tree. Each+     * pair of leaves and each pair of pre-images are assumed to be sorted.+     */+    function verifyAndRecoverIndex(+        bytes32[] memory proof,+        bytes32 root,+        bytes32 leaf+    ) internal pure returns (bool, uint256) {         bytes32 computedHash = leaf;+        uint256 index = 0;          for (uint256 i = 0; i < proof.length; i++) {             bytes32 proofElement = proof[i];              if (computedHash <= proofElement) {                 // Hash(current computed hash + current element of the proof)                 computedHash = keccak256(abi.encodePacked(computedHash, proofElement));+            } else {+                // Hash(current element of the proof + current computed hash)+                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));+                index |= 1 << i;

@Amxx I see, will think of it.

k06a

comment created time in a month

PullRequestReviewEvent

pull request commentOpenZeppelin/openzeppelin-contracts

Update typehash string formatting

So WDYT?

k06a

comment created time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha 9acae1dde40370f4c2758901d3c8ed7fffd2ab84

Fix factory

view details

push time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha 98e43d24bcc185bd7e4d4aad610af0df6a5fc471

Fix bugs

view details

push time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha 5a21702bcd4b36366cac94e18eae1140e0fdbc19

Fix bugs

view details

push time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha ccd93634d913c36b879648af166f32371f7c8dcb

Fix calldatacopy to returndatacopy

view details

push time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha 15873f634e7263be9194ab46414f64e2712c5e11

Introduce pure proxy factory

view details

push time in a month

push eventk06a/ERC3652

Anton Bukov

commit sha 4acbdd1590937d2e5d5be43a71fa6c5351891e38

Introduce pure proxy factory

view details

push time in a month

create barnchk06a/ERC3652

branch : feature/pure-proxy-factory

created branch time in a month

started1inch/offchain-oracle

started time in a month

push eventk06a/EIPs

Anton Bukov

commit sha e3490a970a8499372037646df268234f2aecdf34

Update EIPS/eip-3978.md Co-authored-by: Micah Zoltu <micah@zoltu.net>

view details

push time in a month

Pull request review commentethereum/EIPs

[DRAFT] EIP-3978: Introduce gas refunds on reverts

+---+eip: 3978+title: Gas refunds on reverts+description: Do not erase gas refunds on transaction subcall reverts, due users pay a lot of gas for storage non-modification.+author: Anton Bukov (@k06a), Mikhail Melnik (@ZumZoom)+discussions-to: https://ethereum-magicians.org/t/eip-3978-gas-refunds-on-reverts/7071/+status: Draft+type: Standards Track+category: Core+created: 2021-09-16+---++## Abstract++Since [EIP-3298](https://eips.ethereum.org/EIPS/eip-3298) gas refunds works for storage restores only inside the same transaction. For example [ERC-20](./eip-20.md) `approve` + `transferFrom` flow between 2 smart contracts according to [EIP-2200](https://eips.ethereum.org/EIPS/eip-2200) and [EIP-2929](https://eips.ethereum.org/EIPS/eip-2929) will cost nearly to `21600` gas with gas refund counter `20000`. But in case of reverting this subcall (containing both `approve` and `transferForm`) gas refund will be erased, while smart contract storage will remain unmodified. I think it should keep storage access costs, but still refund modification costs.++## Motivation++Сurrent full cancelling of gas refunds on internal reverts is too unfair. Users pay for non-modification same cost as for modification.++## Specification++Let's count all SSTORE gas costs within every subcall, excluding access costs. And on reverting any subcall let's not erase refund counter, but:

Thanks, this makes sense.

k06a

comment created time in a month

PullRequestReviewEvent

push eventk06a/EIPs

Anton Bukov

commit sha feb0c2c10c59778176c8160e5a21ad98431dae1e

Update EIPS/eip-3978.md Co-authored-by: Micah Zoltu <micah@zoltu.net>

view details

push time in a month

startedwjmelements/evm

started time in a month

push eventk06a/EIPs

Anton Bukov

commit sha 4db4d1d2fdb2f9fd4a1d04273cb92de4d136ed0c

Fix narrative

view details

Anton Bukov

commit sha 7d2e043f30a401ea1be1ac34108446afdf5bdace

Merge branch 'gas-refund-on-reverts' of https://github.com/k06a/EIPs into gas-refund-on-reverts

view details

push time in a month

push eventk06a/EIPs

Anton Bukov

commit sha 5232749b36f68ac46ba1f105231a5a70dca3c59e

Update EIPS/eip-3978.md Co-authored-by: lightclient <14004106+lightclient@users.noreply.github.com>

view details

push time in a month