In grantstream-indexer, use ethers-rs to subscribe to GrantStream contract events on Base Sepolia — GrantCreated, MilestoneSubmitted, MilestoneApproved, MilestoneRejected, FundsReleased. Parse each event into typed Rust structs and persist them to a PostgreSQL database using sqlx. Run as a long-lived tokio async task.
In grantstream-indexer, use ethers-rs to subscribe to GrantStream contract events on Base Sepolia — GrantCreated, MilestoneSubmitted, MilestoneApproved, MilestoneRejected, FundsReleased. Parse each event into typed Rust structs and persist them to a PostgreSQL database using sqlx. Run as a long-lived tokio async task.