Skip to content

JMSBPP/papaya-contracts

Repository files navigation

Papaya Contracts

Quick Start

# Install dependencies
make install

# Run tests
make test

# Deploy contracts
cp env.example .env
# Edit .env with your keys
make deploy

# Make a payment
make pay PAYER=0x... PAYMENT_TOKEN=0x... AMOUNT=1000000000000000000 PAYEE=0x...

Deployed Contracts (Mainnet)

Contract Address Etherscan
UniswapV3Oracle 0x8fff822893486c999831514b194773e02a08695b View on Etherscan
ChainPriceOracle 0x6fc13169c426a1f4027a5c1388ff17ae183bbbca View on Etherscan
PaymentGateway 0x5c9475e14b7a4857e460702764c4d5186ffd697d View on Etherscan
Client 0xd3335a63df9a3133fc313b1306fdd48612d7fd98 View on Etherscan

Features

  • Multi-token Payment Support: Accept ETH, ERC20 tokens, and same-token payments

NOTE: Payment token needs to be a token paired with USDC on Uniswap V3

  • Automatic Token Swapping: Seamless conversion to pyUSDC via Uniswap V3
  • Escrow Vault Integration: Secure token storage using Euler Vault Kit
  • Price Oracle Integration: Real-time price feeds via Pyth and Uniswap

Supported Payment Types

  1. ETH Payments: ETH → WETH → USDC → pyUSDC
  2. ERC20 Payments: DAI/USDT/etc → USDC → pyUSDC
  3. Same Token Payments: PYUSD → PYUSD (direct deposit)

Architecture

The payment system consists of four main contracts:

  • PaymentGateway: Core payment processing logic
  • Client: User-facing payment interface
  • ChainPriceOracle: Price feed aggregation and validation
  • UniswapV3Oracle: Uniswap V3 price oracle integration

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •