I hereby claim:
- I am wschwab on github.
- I am wschwab (https://keybase.io/wschwab) on keybase.
- I have a public key ASCLQsTdbely_XyflaFGm4npDO3I2bHuppYfDhiAYvrWIAo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
| [Unit] | |
| Description=Geth Node | |
| After=network.target auditd.service | |
| Wants=network.target | |
| [Service] | |
| WorkingDirectory=/home/pi | |
| ExecStart=/usr/local/bin/geth --syncmode fast --cache 256 --datadir /mnt/ssd/ethereum | |
| User=pi | |
| Group=pi | |
| Restart=always |
| const eventFilter = (contractAddress, contractAbi, eventName, _provider) => { | |
| const provider = _provider | |
| // this will return an array with an object for each event | |
| const events = contractAbi.abi.filter(obj => obj.type ? obj.type === "event" : false); | |
| // getting the Transfer event and pulling it out of its array | |
| const event = events.filter(event => event.name === eventName)[0]; | |
| // getting the types for the event signature | |
| const types = event.inputs.map(input => input.type) | |
| // knowing which types are indexed will be useful later | |
| let indexedInputs = []; |
| const eventFilterv5WithPagination = (contractAddress, erc20abi, _provider, numberOfResponses) => { | |
| // creating the interface of the ABI | |
| const iface = new ethers.utils.Interface(erc20abi.abi); | |
| // intialize array for the logs | |
| let logs = []; | |
| // get latest block number | |
| const latest = await provider.getBlockNumber(); | |
| // intialize a counter for which block we're scraping starting at the most recent block | |
| let blockNumberIndex = latest; |
| import { Contract, Provider } from "ethers-multicall"; | |
| import { ethers } from 'ethers'; | |
| import { JsonFragment } from "@ethersproject/abi"; | |
| import { crvAbi } from './abis/crv'; | |
| import * as wstEthAbi from './abis/wsteth.json'; | |
| import * as yAbi from './abis/yAbi.json'; | |
| import * as erc20Abi from "../artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json" | |
| const provider = new ethers.providers.AlchemyProvider("mainnet", process.env.ALCHEMY_API); |
| I contributed to the Semaphore Trusted Setup Multi-Party Ceremony. | |
| The following are my contribution signatures: | |
| Circuit: semaphore16 | |
| Contributor # 115 | |
| Hash: 64847d4e 8039c69f cb7e10d4 70cce69b | |
| ce51f7e7 0594d438 5abc7c05 8e2f4ec4 | |
| 4203e983 8716a6aa 699d4cf8 591fb6fe | |
| c48d4358 554152dc cc7e925c 3abb8cc6 | |
| I contributed to the Semaphore Trusted Setup Multi-Party Ceremony. | |
| The following are my contribution signatures: | |
| Circuit: semaphore31 | |
| Contributor # 111 | |
| Hash: c25fd0e8 6694134a d814167c c711f142 | |
| 8eac878c 4cd57284 82863ad6 3cf94f7c | |
| 992a1d32 fe19d06f 3f8085c1 0486d1ae | |
| aa6493c8 670871f3 f2a8ad8c 9ad302f9 | |
| // SPDX-License-Identifier: GPL-3.0 | |
| pragma solidity >=0.7.0 <0.9.0; | |
| import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; | |
| struct GLOBALS { | |
| uint256 PRICE; | |
| uint256 MAX_PER_ADDRESS; | |
| address OWNER; |
| // SPDX-License-Identifier: MIT | |
| pragma solidity 0.8.15; | |
| // current thinking is that the original was compiled on 0.5.0 or 0.5.1 | |
| // after seeing significant code reuse from DSProxy, assumptions have been made | |
| // the presence of cache() and setCache() imply usage of DSProxyCache | |
| interface DSProxyCache { | |
| function read(bytes memory _code) external view returns (address); |