Skip to content

Instantly share code, notes, and snippets.

View mempirate's full-sized avatar
🏃
Sprinting

Jonas Bostoen mempirate

🏃
Sprinting
  • Chainbound
  • Antwerp, Belgium
  • 14:47 (UTC +02:00)
  • X @mempirate
View GitHub Profile
{
difficulty: '2',
gasLimit: 10000000,
gasUsed: 717165,
hash: '0xefc05b503b822c2eeafe4cad047a6aa1587e265ed19a98a1879a3be92ab1a3fb',
miner: '0x0000000000000000000000000000000000000000',
nonce: '0x0000000000000000',
number: 5482184,
parentHash: '0xa24520a2a06ba6109f047d21adc005fdcd958e6387ae131f7aa759f34e050d7b',
receiptsRoot: '0x1415c72a4b0445f43ef4e3842041678fc892aaa400dbe81d590fd26b67ccf299',
{
blockHash: '0xf881a143bde4964ccb4aad25c25ea0cfc49ea92d5cc4aab21a1d32a7b3c6a208',
blockNumber: 5482197,
from: '0x70432FE7B0D1130DA2e3c22Be4FB7F2ECc2883B3',
gas: 5000000,
gasPrice: '1000000000',
hash: '0x4ff7862abe6c0bc67c67c1c9551e8710279e138ab9b5e5f5b22b0c2074f595e8',
input: '0x0bc757e0000000000000000000000000000000000000000000000000',
nonce: 111934,
r: '0x2b55ad93866e91db2dfae93aee5ff35fb915530f0b2d30851ac814617847a09a',
@mempirate
mempirate / index.js
Last active November 22, 2019 08:37
'use strict'
const Web3 = require('web3')
const BuildTransactionChecker = require('./transactionChecker')
const CreateClient = require('./ethClient')
const web3 = CreateClient(Web3)
const checkBlock = BuildTransactionChecker(web3)
async function checkBlocks(start, end) {
for (let i = start; i < end; i++) {
let block = await web3.eth.getBlock(i)
console.log(`[*] Searching block ${ i }`)
if (block && block.transactions) {
for (let txHash of block.transactions) {
let tx = await web3.eth.getTransaction(txHash)
if (account === tx.to.toLowerCase()) {
console.log(`[+] Transaction found on block ${ lastBlockNumber }`)
console.log({ address: tx.from, value: web3.utils.fromWei(tx.value, 'ether'), timestamp: new Date() })
@mempirate
mempirate / uniswap-v3-example.sol
Created August 2, 2021 08:43
Simple example on how to swap on UniswapV3 with the SwapRouter
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;
pragma abicoder v2;
import "@uniswap/v2-periphery/contracts/interfaces/IWETH.sol";
import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";
import "@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol";
import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol";
import "@uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
abstract contract IERC4626 is ERC20 {
// Emitted every time someone deposits
event Deposit(address indexed sender, address indexed receiver, uint256 assets, uint256 shares);
// Emitted every time someone withdraws
event Withdraw(address indexed sender, address indexed receiver, uint256 assets, uint256 shares);
// Returns the address of the underlying token
function asset() external view virtual returns (address asset);
start_time = format_date("02-01-2006 15:04", "01-02-2022 00:00")
end_time = now
loop {
items = ["ethereum", "polygon", "arbitrum", "optimism"]
query "erc4626_deposits" {
chain = item
event "Deposit" {
Symbol First_occurence Total_deposits Tx_hash
d3CVX 2022-02-14 58 0x3bde42aef1d795ec11a2fdec2508fca880a4a73b4818e743790e6a14b2850b26
fei3crvCVX 2022-02-23 111 0xb7d0cc8597c00bdee0363c1a69db236e50e247403315650f8e5c6d76d18720e1
tricryptoCVX 2022-02-24 13 0xa116b76522fcf8a5efad14cf8ed4817c2ee6b5bc884b16cf752c6f18b2fc015d
d3convex 2022-02-24 14 0x3be7f2ce5ddf77d923ed56b5dd4ddbde64a622e4075984be0a5727e417ec462b
fei3crvConvex 2022-02-24 5 0x64dab869db30d6b1f817b09bb8c0b4fd8b89f617f075cf2a86b743768c9a5d5b
alusd3crvConvex 2022-02-25 4 0xc06d393589da3f911912b97f879c95ed22c345bb1aa208c039b477b4db16912b
FRX3CRVCVX 2022-02-25
Symbol Number of Deposits
vTHOR 2289
xMPL 435
uCVX 115
fei3crvCVX 111
d3CVX 58
imUSD 47
cvxCRVCRV 41
cvxFXSFXS 38
Symbol Number of Deposits
imUSD 2124
wapGHST 1845
LOL 20
eVault 18
LOLt 14
svUSDC 10
swMATIC 4
LOLT 3