Skip to content

Instantly share code, notes, and snippets.

View fskydev's full-sized avatar
👪
Working from home

fskydev

👪
Working from home
View GitHub Profile
@BlockmanCodes
BlockmanCodes / 01_simpleSwap.js
Created July 23, 2023 20:04
Uniswap: Universal Router: ETH to USDC
const { SwapRouter } = require('@uniswap/universal-router-sdk')
const { TradeType, Ether, Token, CurrencyAmount, Percent } = require('@uniswap/sdk-core')
const { Trade: V2Trade } = require('@uniswap/v2-sdk')
const { Pool, nearestUsableTick, TickMath, TICK_SPACINGS, FeeAmount, Trade: V3Trade, Route: RouteV3 } = require('@uniswap/v3-sdk')
const { MixedRouteTrade, Trade: RouterTrade } = require('@uniswap/router-sdk')
const IUniswapV3Pool = require('@uniswap/v3-core/artifacts/contracts/UniswapV3Pool.sol/UniswapV3Pool.json')
const JSBI = require('jsbi')
const erc20Abi = require('../abis/erc20.json')
@rodgtr1
rodgtr1 / CryptoKids.sol
Created April 7, 2022 12:31
CryptoKids Solidity Smart Contract - Tutorial at https://youtu.be/s9MVkHKV2Vw
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.7;
contract CryptoKids {
// owner DAD
address owner;
event LogKidFundingReceived(address addr, uint amount, uint contractBalance);
@togosh
togosh / averageHEXStakeLength.js
Last active January 26, 2024 02:59
Average Stake Length (Weighted) and Current Stakers of HEX
// https://codeakk.medium.com/hex-development-data-a1b1822446fa
// https://togosh.medium.com/hex-developer-guide-3b018a943a55
// https://en.wikipedia.org/wiki/Weighted_arithmetic_mean#Mathematical_definition
test();
async function test(){
var { averageStakeLength, currentStakerCount } = await get_stakeStartData();
console.log("Weighted Average Stake Length: " + averageStakeLength);
console.log("Current Staker Count: " + currentStakerCount);
@kbahr
kbahr / HexUtilities.sol
Last active January 18, 2024 13:25
HEX utilities in solidity to get stake values
pragma solidity ^0.5.12;
import "./HEX.sol";
contract HexUtilities {
struct StakeStore {
uint40 stakeId;
uint72 stakedHearts;
uint72 stakeShares;
@veox
veox / erc20.abi.json
Created January 21, 2018 14:59
ERC20 ABI in JSON format
[
{
"constant": true,
"inputs": [],
"name": "name",
"outputs": [
{
"name": "",
"type": "string"
}
@timdown
timdown / trim_canvas.js
Created July 26, 2017 16:15
Returns a copy of a canvas element with surrounding transparent space removed
var trimCanvas = (function() {
function rowBlank(imageData, width, y) {
for (var x = 0; x < width; ++x) {
if (imageData.data[y * width * 4 + x * 4 + 3] !== 0) return false;
}
return true;
}
function columnBlank(imageData, width, x, top, bottom) {
for (var y = top; y < bottom; ++y) {
@chranderson
chranderson / nvmCommands.js
Last active October 20, 2025 20:28
Useful NVM commands
// check version
node -v || node --version
// list locally installed versions of node
nvm ls
// list remove available versions of node
nvm ls-remote
// install specific version of node
@remy
remy / trim-canvas.js
Last active March 20, 2025 00:44
Trims the surrounding transparent pixels from a canvas
// MIT http://rem.mit-license.org
function trim(c) {
var ctx = c.getContext('2d'),
copy = document.createElement('canvas').getContext('2d'),
pixels = ctx.getImageData(0, 0, c.width, c.height),
l = pixels.data.length,
i,
bound = {
top: null,