Skip to content

Instantly share code, notes, and snippets.

View austintgriffith's full-sized avatar
💭
:bowtie:

Austin Griffith austintgriffith

💭
:bowtie:
View GitHub Profile
@austintgriffith
austintgriffith / GIST.md
Created March 12, 2026 14:46
🧠 openrouter-jobrunner — Give it a job. It finds the best LLM. It runs it.

🧠 openrouter-jobrunner

Give it a job. It finds the best LLM. It runs it.

A single-file CLI tool that takes any task — generate an image, analyze a video, write code, summarize a PDF — queries the full OpenRouter model catalog in real-time, picks the optimal model based on what the task actually needs, and executes it. One command, zero model selection.

Why

There are 400+ models on OpenRouter. You shouldn't have to know which one accepts video, which one is cheapest for code, or which one can do tool calling. Describe what you want done, and the jobrunner figures out the rest.

@austintgriffith
austintgriffith / code-attest.md
Last active March 12, 2026 14:17
code-attest: pin code to IPFS, anchor attestation onchain

code-attest

A lightweight tool for pinning code to IPFS and anchoring the attestation onchain.

Not a Git replacement. Not a new protocol. Just a verifiable receipt for code that matters.


The Problem

<ethereum context>
remember bignumbers are weird in TS/JS we are using BigInt here as much as we can and you have
formatEther and parseEther in viem as usual
all dialogs and ui should display the token * 10 ^ 18 or using formatEther - and then when you
go to send it with useScaffoldReadContract and useScaffoldWriteContract you need to
parseEther the amount in ETH back to WEI (by dividing by 10 ^18)
when you “call a function” on a contract you are just making a transaction to the contract on ethereum with
some specific calldata that says what function you want to call with what parameters
huge bonus if your address inputs have a QR code scanner so you can scan a QR of someones address
import { createPublicClient, http, parseEther, formatEther } from "viem";
import { base } from "viem/chains";
// Base DAI/ETH pool address
const UNISWAP_V3_FACTORY_ON_BASE = "0x33128a8fC17869897dcE68Ed026d694621f6FDfD";
const TOKEN_WE_WANT_TO_TRADE = "0x0db510e79909666d6dec7f5e49370838c16d950f";
const WETH_ADDRESS = "0x4200000000000000000000000000000000000006";
const USDC_ADDRESS = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
// Define fee tiers array (common Uniswap V3 fee tiers)
@austintgriffith
austintgriffith / YourContract.sol
Last active February 26, 2023 22:48
a simple contract to let people check in and out and keep a count going
//SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.9.0;
// Useful for debugging. Remove when deploying to a live network.
//import "hardhat/console.sol";
// Use openzeppelin to inherit battle-tested implementations (ERC20, ERC721, etc)
// import "@openzeppelin/contracts/access/Ownable.sol";
/**
* A smart contract that allows changing a state variable of the contract and tracking the changes

0x0acb799a01e250a6a46bc361f07ccca41d9c512168cf48e6613272ed1e427be5

I contributed to the clr.fund Trusted Setup Multi-Party Ceremony.
The following are my contribution signatures:
Circuit: qvt32
Contributor # 117
Hash: 4706209d 798aa8d9 b307094d 815740b3
50e3800a c6b77c35 537cf6a6 a6c84282
c3931d3c 1a11b335 e7a853fe 815122e2
d2a91f3a d998b83e fa524202 aebcf307
0. (Probably already done right?) Install MetaMask in chrome and fund your wallet with ETH.
deliverable) post your address in the channel or screenshot
1. Swap ETH to DAI using uniswap.io and your MetaMask
deliverable) etherscan.io transaction link to the token transfer
bonus) can you explain the difference between ETH and DAI?
@austintgriffith
austintgriffith / deploy.js
Last active May 20, 2020 23:19
Buidler Deploy Script - any .json artifact in the contracts folder will get deployed
const fs = require('fs');
const chalk = require('chalk');
async function main() {
let contractList = fs.readdirSync("./artifacts")
for(let c in contractList){
if(contractList[c].indexOf(".json")>=0){
const name = contractList[c].replace(".json","")
const contractArtifacts = artifacts.require(name);
const contract = await contractArtifacts.new()
console.log(chalk.cyan(name),"deployed to:", chalk.magenta(contract.address));
@austintgriffith
austintgriffith / buidler.config.js
Last active April 20, 2020 15:47
My Buidler Scripts
const { usePlugin } = require('@nomiclabs/buidler/config')
usePlugin("@nomiclabs/buidler-truffle5");
const DEBUG = true
task("accounts", "Prints the list of accounts", async () => {
const accounts = await web3.eth.getAccounts();
for (const account of accounts) {
console.log(account);
}