Skip to content

devoclan/Atomic-IP-Marketplace

 
 

Repository files navigation

Atomic IP Marketplace

CI

Soroban smart contracts for atomic IP swaps using USDC, IP registry, and ZK verification.

Overview

  • atomic_swap: Atomic swaps with USDC payments, pause functionality, buyer/seller indexing.
  • ip_registry: Register and query IP assets with TTL.
  • zk_verifier: Merkle tree ZK proof verification with TTL.

See contracts/ for sources and docs/architecture.md for sequence diagrams.

Build & Test

Build all contracts:

./scripts/build.sh

Build a specific contract:

./scripts/build.sh <contract_name>

Available contracts: ip_registry, atomic_swap, zk_verifier

Example:

./scripts/build.sh atomic_swap

Run tests:

./scripts/test.sh

Deploy (Testnet)

./scripts/deploy_testnet.sh

Frontend - Atomic IP Marketplace (Issue #34 + #89)

Full buyer UI:

1. Initiate Swap Flow

  1. Deploy contracts (./scripts/deploy_testnet.sh, note IDs in .env)
  2. Open frontend/index.html
  3. Browse listings (demo data; real: query ip_registry.list_by_owner)
  4. Click "Initiate Swap" → enter USDC amount
  5. Approve USDC spend → Initiate (stubs; extend Freighter + full RPC XDR)
  6. Note swap_id for key reveal

2. Key Reveal (post-swap)

Input atomic_swap ID + swap_id → fetch status/key

Note: Vanilla JS + Stellar SDK CDN. Stubs for RPC/wallet. Update CONTRACT_IDS in app.js with deployed IDs.

Security

SECURITY.md

License

TBD (add LICENSE file if needed).


Workspace using Soroban SDK v22.0.0

About

This project takes "Atomic IP" to a much deeper level by adding Zero-Knowledge verification to the sales process. You aren't just selling a file; you are providing "proof of quality" without "loss of secrecy."

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 47.5%
  • JavaScript 33.7%
  • CSS 11.7%
  • Shell 4.4%
  • HTML 2.4%
  • Makefile 0.3%