Environment Setup

Prerequisites, installation, and configuration for local development.

Prerequisites

  • Node.js >= 20
  • pnpm (package manager)
  • Foundry (curl -L https://foundry.paradigm.xyz | bash)

Installation

# Clone the repository
git clone https://github.com/your-org/meridian.git
cd meridian

# Install dependencies
pnpm install

Building

# Build contracts
cd packages/contracts
forge build
forge test

# Build agent
cd packages/agent
pnpm build

# Run web UI (development)
cd packages/web
pnpm dev

Environment Variables

Agent Server (packages/agent/.env)

VariableDescription
PRIVATE_KEYDeployer/agent wallet private key
BASE_SEPOLIA_RPC_URLBase Sepolia RPC endpoint
BASE_MAINNET_RPC_URLBase Mainnet RPC endpoint (for swaps)
OG_TESTNET_RPC0G Galileo testnet RPC
FACTORY_ADDRESSDeployed QuantumMarketFactory address
HOOK_ADDRESSDeployed QuantumMarketHook address
REGISTRY_ADDRESSDeployed AgentRegistry address
UNISWAP_API_KEYAPI key from developers.uniswap.org
FACILITATOR_URLx402 facilitator URL
TREASURY_ADDRESSBase wallet for x402 fee collection

Web Frontend (packages/web/.env.local)

VariableDescription
NEXT_PUBLIC_FACTORY_ADDRESSQuantumMarketFactory address
NEXT_PUBLIC_HOOK_ADDRESSQuantumMarketHook address
NEXT_PUBLIC_REGISTRY_ADDRESSAgentRegistry address
NEXT_PUBLIC_AGENT_URLAgent server URL (default: http://localhost:4021)
NEXT_PUBLIC_WALLETCONNECT_PROJECT_IDWalletConnect project ID

Running Tests

# Contract tests (26 tests across 4 suites)
cd packages/contracts
forge test -vv

# Test suites:
# - QuantumMarketFactoryTest
# - LSMRTest
# - AgentRegistryTest
# - QuantumMarketLifecycleTest