LoopOps: Looping Collective - #25
Open
yuviji wants to merge 6 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
LoopOps – HyperEVM Distribution Engine
SEE README FOR MORE INFO & TX HASHES
🚀 Overview
LoopOps is an automated, JSON-driven distribution engine designed for Looping Collective to manage LoopDrops and Loyalty Rewards on HyperEVM. It eliminates manual spreadsheet management, provides transparent multisig approval flows, and automates scheduled token distributions with full audit trails.
Key Features
✅ JSON-Driven Workflows – Upload a single file defining multiple distributions
✅ Custom Multisig on HyperEVM – M-of-N approval system tailored for the ecosystem
✅ Automated Execution – Schedule-based distribution with approval thresholds
✅ Full Audit Trail – Every approval, signature, and transaction logged in Supabase
✅ Operator & Approver UIs – Dedicated dashboards for different roles
✅ Future-Proof Architecture – Abstracted multisig layer for Safe/Den integration
VIDEO DEMO: https://youtu.be/h1wtZy3njvY
Deployed Contracts
0x608AE97215C659F9D28Eb6CaD709e832123A112b0x00fDBc53719604D924226215bc871D55e40a1009Multisig Configuration:
0x027dc86AEFE8aa96353c2aeE9FF06d3BE4ff40Eb0xc1AE83faB1beDAA40AC59fed0F450428d807A28E0x5e6c00799ACcf807044d62985C844c55d5DAbF80Supabase Backend:
wtuqwigyhuzuiabpwdep)📋 Table of Contents
🔄 How It Works
1. Upload Distribution JSON
Operators upload a JSON file containing:
2. Automatic Proposal Creation
For each distribution:
3. Approver Review
Designated approvers:
4. Automated Execution
When conditions are met:
The engine:
5. Full Audit Trail
Every action is logged:
🏗️ Architecture
Components
Frontend (React + Vite + TailwindCSS)
Backend (Node.js + Express)
Database (Supabase PostgreSQL)
Smart Contracts (Solidity)
⚡ Quick Start
Prerequisites
1. Clone the Repository
2. Backend Setup
Note: The
.env.examplealready contains the production configuration with deployed multisig and Supabase project details.3. Frontend Setup
4. Upload Test Distribution
sample-distributions.jsonFor detailed deployment instructions, see DEPLOYMENT.md
🎯 Why LoopOps?
The Problem:
Looping Collective was managing distributions manually using spreadsheets, leading to:
The Solution:
LoopOps provides:
The Result:
Looping Collective can now manage thousands of distributions with:
Multisig Architecture Note
HyperEVM doesn't have full Safe Transaction Service support yet, and Den's integration is still maturing. Instead of fighting the infrastructure, LoopOps implements a minimal, transparent M-of-N multisig tailored to its needs and deployed directly on HyperEVM.
Key Advantage: The multisig layer is abstracted via the
MultisigProviderinterface. When Safe or Den fully support HyperEVM, swapping them in is just a configuration change – the distribution logic, batching, scheduling, and audit trail remain unchanged.📝 JSON Schema
{ "loyaltyRewards": [ { "distribution": { "token": "0x00fDBc53719604D924226215bc871D55e40a1009", "amount": 1500000000000000, "description": "Weekly Loyalty Reward for LOOP token", "frequency": "weekly", "startDate": "2025-11-16T00:00:00Z", "endDate": "2025-12-31T23:59:59Z", "recipients": [ { "address": "0x027dc86AEFE8aa96353c2aeE9FF06d3BE4ff40Eb", "amount": 500000000000000 }, { "address": "0xc1AE83faB1beDAA40AC59fed0F450428d807A28E", "amount": 500000000000000 }, { "address": "0x5e6c00799ACcf807044d62985C844c55d5DAbF80", "amount": 500000000000000 } ], "approvers": [ "0x027dc86AEFE8aa96353c2aeE9FF06d3BE4ff40Eb", "0xc1AE83faB1beDAA40AC59fed0F450428d807A28E" ] } } ], "loopDrops": [ { "distribution": { "name": "Genesis LoopDrop", "description": "Initial token distribution to early community members", "schedule": "2025-01-15T12:00:00Z", "token": "0x00fDBc53719604D924226215bc871D55e40a1009", "amount": 3000000000000000, "recipients": [ { "address": "0x027dc86AEFE8aa96353c2aeE9FF06d3BE4ff40Eb", "amount": 1000000000000000 }, { "address": "0xc1AE83faB1beDAA40AC59fed0F450428d807A28E", "amount": 1000000000000000 }, { "address": "0x5e6c00799ACcf807044d62985C844c55d5DAbF80", "amount": 1000000000000000 } ], "approvers": [ "0x027dc86AEFE8aa96353c2aeE9FF06d3BE4ff40Eb", "0xc1AE83faB1beDAA40AC59fed0F450428d807A28E", "0x5e6c00799ACcf807044d62985C844c55d5DAbF80" ] } } ] }Validation Rules
✅ Addresses – Must be checksummed Ethereum addresses
✅ Amounts – Must be positive integers (in wei)
✅ Recipients – Must be unique (no duplicates)
✅ Approvers – At least one required, must be unique
✅ Dates – ISO 8601 format with timezone (e.g.,
2025-01-01T00:00:00Z)schedulefieldstartDateandendDatefields✅ Frequency –
daily,weekly,monthly,quarterly,yearly(for loyalty rewards)👥 User Workflows
Operator Workflow
Prepare Distribution JSON
Upload to System
Monitor Status
Manual Execution (optional)
Approver Workflow
Connect Wallet
Review Distributions
Approve or Reject
Monitor Execution
🛠️ Tech Stack
Frontend
Backend
Database
Smart Contracts
Infrastructure
🚢 Deployment
See DEPLOYMENT.md for comprehensive deployment instructions.
Quick Deploy:
Environment Variables:
🔒 Security
Smart Contract Security
Backend Security
Database Security
🗺️ Future Roadmap
Phase 1: Core Functionality ✅
Phase 2: Enhanced Features 🚧
Phase 3: Production Hardening 📋
Phase 4: Advanced Features 🔮
🤝 Contributing
Contributions are welcome! Please:
📄 License
MIT License - see LICENSE file for details
🙏 Acknowledgments
Built with ❤️ for Looping Collective