Auctionhouse Contracts

This is a fork of the Manifold Gallery Auctionhouse contracts, written for the Cryptoart channel on Farcaster.

The main difference is:

  • the seller registry is linked to active hypersub membership (STP v2 NFT's balanceOf function returns time-remaining)

Foundry

Foundry is a blazing fast, portable and modular toolkit for Ethereum application development written in Rust.

Foundry consists of:

  • Forge: Ethereum testing framework (like Truffle, Hardhat and DappTools).
  • Cast: Swiss army knife for interacting with EVM smart contracts, sending transactions and getting chain data.
  • Anvil: Local Ethereum node, akin to Ganache, Hardhat Network.
  • Chisel: Fast, utilitarian, and verbose solidity REPL.

Documentation

Foundry Documentation: https://book.getfoundry.sh/

Usage

Build

$ forge build

Test

$ forge test

Format

$ forge fmt

Gas Snapshots

$ forge snapshot

Anvil

$ anvil

Deploy

Deploy contracts using the deployment script:

Local (Anvil):

# Start Anvil in a separate terminal
$ anvil

# Set environment variables
$ export PRIVATE_KEY=<your pk>

# Deploy
$ ./scripts/deploy.sh local

Base Sepolia:

# Set environment variables
$ export PRIVATE_KEY=your_private_key
$ export BASE_SEPOLIA_RPC_URL=https://sepolia.base.org

# Deploy
$ ./scripts/deploy.sh base-sepolia

Manual deployment:

$ forge script script/DeployContracts.s.sol:DeployContracts \
    --rpc-url <your_rpc_url> \
    --broadcast

See the Deployment Guide for detailed instructions.

Cast

$ cast <subcommand>

Help

$ forge --help
$ anvil --help
$ cast --help