feat: resolve frontend issues - #399
Merged
Merged
Conversation
- Add Admin.jsx page with owner-only access control - Contract overview showing admin address and current payout - UI to update Aegis Vault payout amount - UI to upgrade contract verification key (WASM hash) - Quick actions for app navigation and wallet reconnection - Add admin functions to contract.js: getAegisAdmin, getAegisPayoutAmount, setAegisPayoutAmount, getAegisCampaignBalance, getAegisIsClaimed, upgradeAegisVault, withdrawProtocolFees - Add /admin route to main.jsx
- New Noir circuit humanity.nr verifying external identity provider signatures - Poseidon2-based nullifier generation (provider_secret, external_nullifier) - Schnorr-style signature verification against on-chain provider pubkey - Nullifier prevents double-registration without revealing identity - Tests for valid proof, nullifier mismatch, and zero nullifier cases - Add generateHumanityProof() to zk.js for in-browser proving - Add buildHumanityPublicInputsBytes() for on-chain verification - Add isHumanityProverReady() prover status check
…hots - New helphone_dao contract with proposal creation, voting, and execution - Token snapshot mechanics: balance checked at proposal creation ledger - Governance parameters: 3-day voting, 1-day timelock, 20% quorum, 50% pass - Proposal types: ProtocolUpgrade, FundAllocation, ParameterChange, General - Vote directions: For, Against, Abstain with token-weighted tallies - finalize_proposal checks quorum and pass threshold after voting ends - execute_proposal enforces timelock before execution - cancel_proposal for proposer or admin - Admin functions: set_governance_token, transfer_admin - Events: ProposalCreated, VoteCast, ProposalExecuted - Basic unit tests for types and governance parameters
- New VaultDashboard page at /vault route - Campaign lookup by ID with balance and claim status display - Fund campaign UI with USDC amount input - CampaignCard component showing balance, per-claim payout, remaining claims - Vault status overview with payout amount and campaign count - Wallet connection integration for contributors - Visual status indicators (ACTIVE, CLAIMED, EMPTY) - Add /vault route to main.jsx
|
@ProBuidler Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
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.
All 4 issues resolved and committed:
Closes #171 (0051f29): Admin dashboard at /admin
Owner-only access control via contract admin pubkey comparison
Contract overview showing admin address and payout amount
UI to update Aegis Vault payout amount
UI to upgrade contract verification key (WASM hash)
Admin functions added to contract.js
Closes #172 (2f20c34): Humanity circuit at circuits/src/humanity.nr
New Noir circuit verifying external identity provider signatures
Poseidon2-based nullifier generation from provider_secret + external_nullifier
Schnorr-style signature verification against on-chain provider pubkey
Tests for valid proof, nullifier mismatch, and zero nullifier cases
generateHumanityProof() and buildHumanityPublicInputsBytes() added to zk.js
Closes #175 (b3c6ed8): DAO governance at contracts/helphone_dao/
Soroban contract with proposal creation, voting, and execution
Token snapshot mechanics (balance checked at proposal creation ledger)
Governance params: 3-day voting, 1-day timelock, 20% quorum, 50% pass threshold
Proposal types: ProtocolUpgrade, FundAllocation, ParameterChange, General
Admin functions: set_governance_token, transfer_admin
Closes #180 (6349e6c): Vault dashboard at /vault
Campaign lookup by ID with balance and claim status
Fund campaign UI for donors
CampaignCard component with balance, per-claim payout, remaining claims
Vault status overview and wallet connection