Conversation
Adds UnifiedDrizzle type (public + snapshot schemas combined) and a _pgUnifiedClient in cmd/index.ts for future cross-schema queries such as offchain non-voters. Applied fallback plan: existing offchain repos keep OffchainDrizzle; _pgUnifiedClient is reserved for the new repository. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Implements the service layer (bigint→string conversion, totalCount logic)
and OpenAPI controller for GET /offchain/proposals/{id}/non-voters, wiring
OffchainNonVotersRepositoryImpl through the unified Drizzle client.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 340b6d87ad
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3313d67962
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: dff54aa7f6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 53e5ea6d5b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
packages/graphql-client/documents/governance/offchainVotes.graphql
Outdated
Show resolved
Hide resolved
Only DAOs that support offchain data now get a unified pg client and offchain route registration, removing the always-eager pgOffchainClient and pgUnifiedClient. Repos updated to accept UnifiedDrizzle. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8cef2e7ac6
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c63270639
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
…oters' into feat/offchain_non_voters
Summary
Add a new API endpoint (
GET /offchain/proposals/{id}/non-voters) that returns active delegates who did not vote on a given offchain (Snapshot) proposal, enabling governance participation analysis. This also normalizes addresses to checksummed format in the offchain indexer to ensure consistent cross-schema joins.Changes
apps/api/src/controllers/votes/offchainNonVoters.ts): New OpenAPI route wired to the Hono app that accepts proposal ID, pagination, ordering, and optional address filter paramsapps/api/src/repositories/votes/offchainNonVoters.ts): Cross-schema query using a LEFT JOIN betweenaccountPower(public schema) andoffchainVotes(snapshot schema) to identify delegates with voting power > 0 who did not vote, with pagination and address filteringapps/api/src/database/index.ts,apps/api/cmd/index.ts): NewUnifiedDrizzletype andpgUnifiedClientinstance combining both schemas to support cross-schema queriesapps/api/src/services/votes/offchainNonVoters.ts): Orchestrates repository calls, convertsbigintvoting power to string, and optimizestotalCountby usingaddresses.lengthwhen a filter is providedapps/api/src/mappers/proposals/offchainVoters.ts): Request/response validation schemas for the non-voters endpointapps/offchain-indexer/src/mappers/proposal.ts,apps/offchain-indexer/src/mappers/vote.ts): Addedviem'sgetAddresstransform to ensure proposal authors and voters are stored as EIP-55 checksummed addressesapps/api-gateway/schema.graphql): Regenerated with the newoffchainProposalNonVotersquery and enriched field descriptions