Skip to content

Instantly share code, notes, and snippets.

View savageops's full-sized avatar

Savage savageops

View GitHub Profile
@savageops
savageops / 04_getLogsAndDecode.js
Created August 20, 2024 08:29 — forked from BlockmanCodes/04_getLogsAndDecode.js
EthersJS: query, filter, and decode event logs
require('dotenv').config()
const ethers = require("ethers")
// ie: -> Flash(address,address,uint256,uint256,uint256,uint256)
const getEventSignature = (eventName, abi) => {
const eventAbi = abi.find((entry) => entry.name === eventName);
const types = eventAbi.inputs.map((input) => input.type);
return `${eventName}(${types.join(',')})`;
}
@savageops
savageops / .env
Created August 20, 2024 08:28 — forked from BlockmanCodes/.env
Uniswap V3 AlphaRouter Example
WALLET_ADDRESS=
WALLET_SECRET=
INFURA_TEST_URL=
@savageops
savageops / downloader.sh
Created July 9, 2024 10:09 — forked from rodrigopolo/downloader.sh
Twitter/X Space Downloader
#!/usr/bin/env bash
#
# Twitter/X Space Downloader Bash Script
# Copyright (c) 2024 Rodrigo Polo - rodrigopolo.com - The MIT License (MIT)
#
# Check if a stream URL is provided
if [ -z "$1" ]; then
echo "Usage: $0 <stream_url>"
@savageops
savageops / 00_findPools.js
Created April 16, 2024 05:50 — forked from BlockmanCodes/00_findPools.js
Kyber: get dmm pool addresses
const ethers = require('ethers');
const dmmFactoryAbi = require("../abis/dmmFactory.json")
WETH_ADDRESS= '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
USDT_ADDRESS= '0xdAC17F958D2ee523a2206206994597C13D831ec7'
DMM_FACTORY_ADDRESS='0x833e4083B7ae46CeA85695c4f7ed25CDAd8886dE'
const provider = new ethers.providers.JsonRpcProvider('http://127.0.0.1:8545/')
@savageops
savageops / listen.js
Created April 16, 2024 05:39 — forked from BlockmanCodes/listen.js
Uniswap V2, V3, Sushiswap: listen for swaps
const ethers = require('ethers')
const v3PoolArtifact = require("@uniswap/v3-core/artifacts/contracts/UniswapV3Pool.sol/UniswapV3Pool.json")
const v2PairArtifact = require('@uniswap/v2-periphery/build/IUniswapV2Pair.json')
const USDC_ETH_V3 = '0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640'
const ETH_USDT_V2 = '0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852'
const ETH_USDT_SUSHI = '0x06da0fd433c1a5d7a4faa01111c044910a184553'
sqrtToPrice = (sqrt) => {
@savageops
savageops / 01_v2Swap.js
Created April 16, 2024 05:23 — forked from BlockmanCodes/01_v2Swap.js
Uniswap v2: fork mainnet and swap
const ethers = require('ethers');
const routerArtifact = require('@uniswap/v2-periphery/build/UniswapV2Router02.json')
const erc20Abi = require("../erc20.json")
const wethArtifact = require("../weth.json")
WETH_ADDRESS= '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2'
USDT_ADDRESS= '0xdAC17F958D2ee523a2206206994597C13D831ec7'
ROUTER_ADDRESS= '0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'
PAIR_ADDRESS= '0x0d4a11d5eeaac28ec3f61d100daf4d40471f1852'
@savageops
savageops / .env
Created April 3, 2024 13:00 — forked from BlockmanCodes/.env
Uniswap V3 / EthersJS: decode mempool swap router swaps
WEBSOCKET_URL=wss://mainnet.infura.io/ws/v3/abc
@savageops
savageops / 01_deployContracts.js
Created April 3, 2024 12:53 — forked from BlockmanCodes/01_deployContracts.js
Uniswap V3: listen for new pools locally
/*
npx hardhat run --network localhost scripts/01_deployContracts.js
*/
const { ContractFactory, utils } = require("ethers")
const WETH9 = require("../WETH9.json")
const artifacts = {
UniswapV3Factory: require("@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json"),
SwapRouter: require("@uniswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json"),
@savageops
savageops / 01_deployContracts.js
Created March 29, 2024 17:18 — forked from BlockmanCodes/01_deployContracts.js
Add Uniswap V3 pool liquidity locally
const { Contract, ContractFactory, utils, BigNumber } = require("ethers")
const WETH9 = require("../WETH9.json")
const artifacts = {
UniswapV3Factory: require("@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json"),
SwapRouter: require("@uniswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json"),
NFTDescriptor: require("@uniswap/v3-periphery/artifacts/contracts/libraries/NFTDescriptor.sol/NFTDescriptor.json"),
NonfungibleTokenPositionDescriptor: require("@uniswap/v3-periphery/artifacts/contracts/NonfungibleTokenPositionDescriptor.sol/NonfungibleTokenPositionDescriptor.json"),
NonfungiblePositionManager: require("@uniswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json"),
WETH9,
@savageops
savageops / .env
Created March 28, 2024 22:38 — forked from BlockmanCodes/.env
Add liquidity to Uniswap V3
INFURA_URL_TESTNET=
WALLET_ADDRESS=
WALLET_SECRET=