Skip to content

Instantly share code, notes, and snippets.

@0age
0age / deprecate_wyvern_user_proxy.sh
Created July 24, 2023 15:39
shell script to examine and deprecate a Wyvern user proxy via `cast`
##### SUMMARY #####
#
# to brick a user proxy, you can upgrade to this contract then call the proxy:
# https://etherscan.io/address/0x00000000008fe2c0c1795fe9a8e2c1d3f913b35d#code
#
# Step 1: find the proxy for the account
# proxy registry: 0xa5409ec958C83C3f309868babACA7c86DCB077c1
# call: proxies(address) where address = user's account
#
# Step 2: upgrade the proxy and call it to renounce ownership
@0age
0age / SeaportNavigatorABI.json
Created June 21, 2023 14:23
ABIs for SeaportNavigator & SeaportValidator contracts
[
{
"inputs": [],
"name": "CannotDeriveProofForSingleTokenId",
"type": "error"
},
{
"inputs": [],
"name": "CannotDeriveRootForSingleTokenId",
"type": "error"
@0age
0age / Seaport_Flattened.sol
Created May 16, 2023 16:38
Seaport version 1.5 (flattened)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
enum OrderType {
// 0: no partial fills, anyone can execute
FULL_OPEN,
// 1: partial fills supported, anyone can execute
PARTIAL_OPEN,
@0age
0age / Seaport_Flattened_Condensed.sol
Last active May 16, 2023 16:39
Seaport version 1.5 (flattened and whitespace-reduced)
// SPDX-License-Identifier: MIT
pragma solidity 0.8.17;
// Seaport version 1.5 (flattened and whitespace-reduced)
// compiled with viaIR: true, optimizer enabled with runs: 4_294_967_295, metadata bytecodeHash: none
// Deployed via cross-chain immutable create2 factory to 0x00000000000000ADc04C56Bf30aC9d3c0aAF14dC
enum OrderType {/* 0: no partial fills, anyone can execute */ FULL_OPEN, /* 1: partial fills supported, anyone can execute */ PARTIAL_OPEN, /* 2: no partial fills, only offerer or zone can execute */ FULL_RESTRICTED, /* 3: partial fills supported, only offerer or zone can execute */ PARTIAL_RESTRICTED, /* 4: contract order type */ CONTRACT}
enum BasicOrderType {/* 0: no partial fills, anyone can execute */ ETH_TO_ERC721_FULL_OPEN, /* 1: partial fills supported, anyone can execute */ ETH_TO_ERC721_PARTIAL_OPEN, /* 2: no partial fills, only offerer or zone can execute */ ETH_TO_ERC721_FULL_RESTRICTED, /* 3: partial fills supported, only offerer or zone can execute */ ETH_TO_ERC721_PARTIAL_RESTRICTE
@0age
0age / Seaport.json
Last active February 18, 2024 05:18
Seaport 1.4 ABI
[
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "offerer",
"type": "address"
},
@0age
0age / c000r.sol
Last active January 20, 2023 04:31
0xMonaco car (top-ranked finisher by ELO, Paradigm CTF 2022) https://0xmonaco.ctf.paradigm.xyz/viewTeam/OpenSea
// SPDX-License-Identifier: MIT
pragma solidity 0.8.16; // (10M optimization runs)
interface MonacoInterface {
struct CarData {
uint32 balance; // Where 0 means the car has no money.
uint32 speed; // Where 0 means the car isn't moving.
uint32 y; // Where 0 means the car hasn't moved.
Car car;
}
@0age
0age / summarizeUniProposal.js
Created October 27, 2020 15:05
Node.js web3 script for getting UNI proposal information.
const Web3 = require('web3');
const fs = require('fs');
process.chdir(__dirname);
const PROPOSAL_ID = 2;
const QUORUM = 40_000_000;
// Be sure to use a provider that can retrieve all required events.
const web3Provider = `https://eth-mainnet.alchemyapi.io/jsonrpc/${process.env.WEB3_API_KEY}`;
const web3 = new Web3(web3Provider);
This file has been truncated, but you can view the full file.
{
"merkleRoot": "0x5742a126030bb1883ceea917fcf0c83ae453aefcd3a681c41481435c8a4beb88",
"tokenTotal": "0x042b42f28d278eee000000",
"claims": {
"0x00038783c2DD7325329d38a247C39515C6d4D696": {
"amount": "0x15af1d78b58c400000",
"index": 0,
"proof": [
"0xdfddeb287e097336de7b55dfac5a9374cbafadd19e6b34f5cc97caf85562c7e1",
"0xd302d40d8fa1cbf59290369c613ef2d7ee1750a7f50f019dbb3a298007e22370",
@0age
0age / simple-fraud-proof-l2-for-scalable-token-transfers.md
Last active March 30, 2020 18:48
Simple Fraud Proof L2 for Scalable Token Transfers

Simple Fraud Proof L2 for Scalable Token Transfers

Authors: @0age & @d1ll0n

This spec outlines an initial implementation of a simple Layer Two construction based on fraud proofs (i.e., Optimistic Rollup). It endeavors to remain as simple as possible while still affording important security guarantees and significant efficiency improvements. It is designed to support scalable token transfers in the near term, with an expectation that eventually more mature, generic L2 as production-ready platforms will become available.

Table of Contents

@0age
0age / wildcard-resolution-eip.md
Last active February 28, 2020 02:11
Initial draft of ENS wildcard resolution EIP

eip: title: ENS Wildcard Resolution author: Nick Johnson (@arachnid), 0age (@0age) discussions-to: https://github.com/ethereum/EIPs/issues/xxxx status: Draft type: Standards Track category: ERC status: Draft created: 2020-02-25