Skip to content

zkp2p/zk-p2p-periphery

Repository files navigation

ZKP2P Periphery

Repository for periphery contracts of the core ZKP2P protocol

Usage

  1. Install Foundry
  2. Clone repository
  3. Run forge install to build dependencies
  4. Run forge test to run tests

Deploy

  1. cp .env.default .env
  2. For DEPLOY_IDENTIFIER, options are localhardhat, goerli_staging, base_staging, base_production
  3. source .env
  4. For local deploy, start your local chain and run forge script script/ProofOfUpiDeploy.s.sol:ProofOfUpiDeployScript --fork-url http://localhost:8545 --broadcast
  5. For Sepolia Staging forge script script/ProofOfVenmoDeploy.s.sol:ProofOfVenmoDeployScript --rpc-url $SEPOLIA_RPC_URL --broadcast --verify -vvvv
  6. For Base Mainnet forge script script/ProofOfVenmoDeploy.s.sol:ProofOfVenmoDeployScript --rpc-url $BASE_RPC_URL --broadcast --etherscan-api-key $BASESCAN_API_KEY --verify -vvvv

Contracts

NFTDescriptor

External library that generates image SVG and other metadata for zkNFTs. Forked and modified from Uniswap V3's NFTDescriptor.

NFTSVG

External library that generates image SVGs for zkNFTs. Forked and modified from Uniswap V3's NFTSVG.

ProofOfP2PNFTV1 (Deprecated)

A zkNFT soulbound token that proves you are a Venmo user in ZKP2P. Can only be minted once for each registered Ethereum address.

ProofOfP2PNFTV2Venmo

A zkNFT soulbound token that proves you are a Venmo user in ZKP2P. Can only be minted once for each registered Ethereum address.

ProofOfP2PNFTV2

A zkNFT soulbound token that proves you are any payment platform user in ZKP2P. Can only be minted once for each registered Ethereum address.

About

Periphery contracts for the ZKP2P protocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published