feat: governance cache SDK, payloads panel, and gasless voting#3063
Open
JoaquinBattilana wants to merge 6 commits into
Open
feat: governance cache SDK, payloads panel, and gasless voting#3063JoaquinBattilana wants to merge 6 commits into
JoaquinBattilana wants to merge 6 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
Summary
Migrates governance/proposal pages off the TheGraph subgraph onto the governance-v3-cache GraphQL API, adds a payloads panel with executable targets and Seatbelt links, and revives gasless voting behind a server-side Gelato relay.
Changes
Governance cache SDK
src/services/governance-cache-sdk/(raw fetch +gqlauthoring + hand-written types) over the curated cache endpoints, plus the auto-generated/derived fields needed to fully replace the subgraph.src/hooks/governance/useGovernanceCache.ts; query keys centralized inqueryKeysFactory.governanceCache*.Payloads panel
ProposalPayloadspanel: per-payload chain, id, state, access level, creator, controller, executable targets, and Seatbelt report link.PayloadAction[](target/signature/callData/value/withDelegateCall/accessLevel) per payload.Gasless voting
pages/api/gelato/relay.tsserver route holds the Gelato sponsor key server-side (never bundled to the client) and relays via Gelato's sponsored-call REST endpoint.submitVoteBySignatureselector, so sponsored gas can't be spent on arbitrary transactions.NEXT_PUBLIC_ENABLE_GASLESS_VOTING(public on/off) plus the server-sideGELATO_SPONSOR_KEY; dormant unless both are set.Notes
actionsdepend on the cache backend exposing the field (already live on staging).