Skip to content

Instantly share code, notes, and snippets.

View jparklev's full-sized avatar

Josh Levine jparklev

View GitHub Profile
@jparklev
jparklev / README.md
Created May 11, 2026 16:01
Arbitrum Nitro: gasleft() corruption after Stylus calls under --execution.rpc.gas-cap=0 (minimal repro on v3.9.8)

Arbitrum Nitro: gasleft() corruption after Stylus calls under --execution.rpc.gas-cap=0

When an Arbitrum Nitro node runs with --execution.rpc.gas-cap=0 and receives an eth_call with gas: u64::MAX, Solidity contracts reading gasleft() after a Stylus call receive a corrupted value near u64::MAX (~1.8 × 10¹⁹).

This corruption cascades. Contracts computing gasUsed = before - gasleft() calculate an 18-quintillion gas usage, causing legitimate calls to fail downstream gas-limit checks.

Conditions required

The bug triggers when all three conditions are met:

@jparklev
jparklev / renegade_502_repro.py
Last active March 18, 2026 16:13
Renegade /rfqt/v3/quote: 502 Bad Gateway on amounts below ~$1.10 USD
"""
Repro: /rfqt/v3/quote returns 502 on amounts below ~$1.10 USD.
Usage: pip install requests && python renegade_502_repro.py
Expected output:
Sell WETH for USDC on Arbitrum:
$0.24 (0.0001 ETH) => 502
$0.96 (0.0004 ETH) => 502
$1.20 (0.0005 ETH) => 200
@jparklev
jparklev / renegade_repro.py
Last active March 16, 2026 18:53
Renegade /rfqt/v3/quote: quotes fail at >= $10 USD
"""
Repro: /rfqt/v3/quote returns "invalid quote signature" for any quote >= $10 USD.
Threshold is exact -- $9 succeeds, $10 fails. Same on both chains, both directions.
Usage:
pip install requests
python renegade_repro.py
Expected output:
Selling USDC for WETH on Arbitrum (key: d0224216-...):
@jparklev
jparklev / mission-control-vm-bridge.md
Created January 18, 2026 21:21
Mission Control VM Bridge Code Review - OpenProse Tauri + Claude Code Integration

Mission Control VM Bridge - Code Review Request

You are reviewing a Tauri desktop app called "Mission Control" that acts as a frontend for Claude Code CLI. The app uses Claude as a VM to execute programs written in a custom language called OpenProse.

Architecture Overview

The key integration points are:

  1. Tauri backend (lib.rs) spawns Claude CLI processes and manages state
  2. prose-runtime crate contains VmExecutor which spawns claude -p --output-format stream-json and parses its output
  3. MCP server provides HTTP endpoints for Claude to call back for user feedback and puppet mode
@jparklev
jparklev / README.md
Last active December 22, 2025 22:54
Ethena S4 hyENA Grant Delegation - ERC-1271 Signatures

Ethena S4 hyENA Grant Delegation Signatures

ERC-1271 signatures from 22 Rumpel Wallets (Gnosis Safes) delegating their Ethena S4 hyENA grants.

Signed Message

Each wallet signed this message (with their own address):

I delegate my Ethena S4 hyENA grant and its requirements to 0xC3b789BD1489E8f50324Ba53DcBC536699BBEd8C on HyperCore (HyperEVM).
@jparklev
jparklev / README.md
Last active December 1, 2025 17:25
Hyperbeat S1 Terms Signing Batch

Hyperbeat S1 Terms Signing Batch

390 Rumpel wallets with Hyperbeat S1 points signed the Hyperbeat Foundation Terms of Use via ERC-1271 (Safe smart contract signatures).

Summary

  • Distribution: 2025-10-30T12:01:33.494Z
  • Merkle Root: 0x7feac2f301baf6c53b6ae89eaf6313d075f2387cf1281e15d52d97c86d5f717b
  • Wallets: 390 Hyperbeat S1 earners
  • Signature Timestamp: 2025-11-21T02:28:50.713Z
@jparklev
jparklev / README.md
Last active November 10, 2025 04:18
Kinetiq S1 Terms Signing Batch

Kinetiq S1 Terms Signing Batch

  • HyperEVM transaction: 0x7f18dca48520b8345cacd01e72607da87733852f0fe852f18fa1e6cc66a7ef33
  • Typed-data digest: 0x3eb32f6453b8fb3ab0eef3f8290cedaa139d604a3a5c06d13364e19525f7848a
  • Wallet list: kinetiq-wallets.json
  • Typed data: kinetiq-typed-data.json

1. Check who signed

kinetiq-wallets.json enumerates the 38 Rumpel Safes that signed (with their Kinetiq S1 balances).

Wallet: 0xC9c46610A37fD7240Dc3eb05d60f7fb513f8e4af
symbiotic: 0
ethena: 0
karak: 0
zircuit: 0
Wallet: 0x5Cd29EeDd6f03BF60E087CB52aDca595cb1a68af
symbiotic: 0
ethena: 0
zircuit: 0
{
"0xC9c46610A37fD7240Dc3eb05d60f7fb513f8e4af": {
"zircuit": "0"
},
"0x74F7B610938A4A0DE3904930f02B467a80328Ba9": {
"zircuit": "45493365210515245"
},
"0x5Cd29EeDd6f03BF60E087CB52aDca595cb1a68af": {
"zircuit": "0"
},
@jparklev
jparklev / merklize.ts
Last active August 27, 2024 19:07
Rumpel Merklization
import { Address, encodePacked, keccak256 } from "viem";
import { MerkleTree } from "merkletreejs";
const solidityKeccak256 = (types: string[], values: any[]) => {
return keccak256(encodePacked(types, values));
};
export type Distribution = {
[user: Address]: {