Skip to content

1Ayush-Petwal/Dark-Pool-hook

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dark Cross CoW Hook

Architecture:

Architecture Diagram

Order Matching Network with end-to-end privacy using ZKP

Verifying Design Flow:

Verifying Diagram

Execution Flow:

Execution Diagram

  1. Start anvil in a terminal: Run the rest of the commands in a new terminal

  2. AVS Deployment

cd avs/contract
source .env
forge script script/DeployEigenLayerCore.sol --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --sig "run()" 
forge script script/AVSDeployer.s.sol --rpc-url $RPC_URL --private-key $PRIVATE_KEY --broadcast --sig "run()"
SERVICE_MANAGER=$(cat deployments/avs/31337.json | jq -r '.addresses.orderServiceManager')
  1. Hook Deployment
cd ../../hook 
forge script script/HookDeployer.s.sol --private-key $PRIVATE_KEY -vvvvv --broadcast --sig "run(address serviceManager)" -- $SERVICE_MANAGER
HOOK_ADDRESS=$(cat script/output/31337/darkCoWHook.json | jq -r '.addresses.hook')
  1. Set Hook Address in AVS Service Manager
cast send --private-key $PRIVATE_KEY --gas-limit 1000000 $SERVICE_MANAGER "setHook(address)" $HOOK_ADDRESS
  1. Register and start the Operator
cd ../operator
npx ts-node index.ts
  1. Create task for the Operator: Run these set of commands in a new terminal 3
cd operator
npx ts-node createNewTasks.ts
  1. ZK proving network: New terminal commands
cd order-engine/server
cargo run --release
  1. Prover request runner New terminal commands
cd operator
npx ts-node prove-request-handler.ts

About

A hook for execution of dark orders using uniswap v4 🦄

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 72.8%
  • JavaScript 20.8%
  • Python 3.8%
  • Ruby 1.2%
  • TypeScript 0.6%
  • Shell 0.3%
  • Other 0.5%