OpenZeppelin Access Control and Ownable Indexer

DeFiGovernance
Version: 0.0.1

About This Project

SubQuery indexer for OpenZeppelin Stellar Access Control and Ownable contracts, enabling server-side filtering and historical queries for role-based access control (RBAC) and ownership management events. This indexer captures all 9 critical events from OpenZeppelin's Stellar smart contracts: **Access Control Events:** - RoleGranted - Track when roles are assigned to accounts - RoleRevoked - Monitor role removals - RoleAdminChanged - Log changes to role administrators **Admin Transfer Events:** - AdminTransferInitiated - Detect when admin transfer is proposed - AdminTransferCompleted - Confirm admin transfer completion - AdminRenounced - Track admin role renunciations **Ownership Events:** - OwnershipTransferStarted - Monitor ownership transfer initiation - OwnershipTransferCompleted - Confirm ownership changes - OwnershipRenounced - Track ownership renunciations **Use Cases:** - Historical audit trails for security and compliance - Real-time monitoring of access control changes - Governance dashboards and analytics - dApp integration for role and permission management - Security monitoring and alerting systems **Network Support:** - Stellar Testnet (current deployment) - Stellar Mainnet (planned) **Technical Details:** - Deterministic indexing for SubQuery Network compatibility - Sequential event processing for proof-of-indexing consensus - GraphQL API with flexible filtering and pagination - Optimized for high-throughput production environments **Contact:** - GitHub: https://github.com/OpenZeppelin/stellar-access-control-indexer - Issues: https://github.com/OpenZeppelin/stellar-access-control-indexer/issues - Organization: OpenZeppelin (https://openzeppelin.com) - Related Projects: OpenZeppelin Stellar Contracts (https://github.com/OpenZeppelin/stellar-contracts)

Version Details

# Node Operator Guide **Version:** 1.0.0 **Network:** Stellar Testnet **Start Block:** 1685700 ## Requirements - CPU: 2+ cores (4+ recommended) - RAM: 4 GB (8 GB recommended) - Storage: 20 GB (50 GB SSD recommended) - PostgreSQL: 14+ - Database: ~100 MB initial, 50-500 MB/month growth ## Setup ```bash git clone https://github.com/OpenZeppelin/stellar-access-control-indexer.git cd stellar-access-control-indexer export DB_PASSWORD=your_secure_password docker compose up -d ``` ## Configuration **Public endpoints (default):** - Sync time: 2-4 hours - Rate limited: ~200 req/min **Private endpoints (recommended for production):** Edit `project.yaml`: ```yaml network: endpoint: ['https://your-private-horizon.example.com'] sorobanEndpoint: 'https://your-private-soroban.example.com' ``` ## Performance Tuning **High capacity (private endpoints):** ```bash --workers=4 --batch-size=20 --timeout=60000 ``` **Rate limited (public endpoints):** ```bash --workers=1 --batch-size=1 --timeout=120000 ``` ## Events Indexed 9 OpenZeppelin events: role_granted, role_revoked, role_admin_changed, admin_transfer_initiated, admin_transfer_completed, admin_renounced, ownership_transfer, ownership_transfer_completed, ownership_renounced ## Monitoring - Health: `http://localhost:3000/health` - GraphQL: `http://localhost:3000` ## Troubleshooting **Rate limiting:** Use private endpoints or reduce `--workers=1 --batch-size=1` **Slow sync:** Use private endpoints, increase workers/batch-size **Connection errors:** Check PostgreSQL and DB_PASSWORD ## Support https://github.com/OpenZeppelin/stellar-access-control-indexer/issues