From ffffe9d79df174fd907fda4142aee8523304bc5f Mon Sep 17 00:00:00 2001 From: Maximilian Schneider Date: Fri, 1 Aug 2025 00:51:59 +0200 Subject: [PATCH] cretae governance wallet with seed --- .../EditWalletRules/AdvancedOptions/index.tsx | 20 +++++++++++++++++++ hub/components/EditWalletRules/Form/index.tsx | 3 +++ .../EditWalletRules/Summary/index.tsx | 2 ++ .../UpdatesList/NewRulesList.tsx | 10 ++++++++++ hub/components/EditWalletRules/gql.ts | 1 + hub/components/NewWallet/NewWallet.tsx | 5 +++++ .../NewWallet/useGovernanceDefaults.ts | 1 + .../NewWallet/useNewWalletTransaction.ts | 9 +++++++-- 8 files changed, 49 insertions(+), 2 deletions(-) diff --git a/hub/components/EditWalletRules/AdvancedOptions/index.tsx b/hub/components/EditWalletRules/AdvancedOptions/index.tsx index 9c7836795..2ddeedebe 100644 --- a/hub/components/EditWalletRules/AdvancedOptions/index.tsx +++ b/hub/components/EditWalletRules/AdvancedOptions/index.tsx @@ -9,6 +9,7 @@ interface Props extends FormProps<{ depositExemptProposalCount: number; minInstructionHoldupDays: number; + governanceSeed: string; }> { className?: string; programVersion: number; @@ -61,6 +62,25 @@ export function AdvancedOptions(props: Props) { + + +
+ { + props.onGovernanceSeedChange?.(e.currentTarget.value); + }} + /> +
+ Base58 +
+
+
); } diff --git a/hub/components/EditWalletRules/Form/index.tsx b/hub/components/EditWalletRules/Form/index.tsx index 8d17b0919..0989beebb 100644 --- a/hub/components/EditWalletRules/Form/index.tsx +++ b/hub/components/EditWalletRules/Form/index.tsx @@ -19,6 +19,7 @@ interface Props depositExemptProposalCount: number; maxVoteDays: number; minInstructionHoldupDays: number; + governanceSeed: string; }> { className?: string; initialCommunityRules: CommunityRules; @@ -147,6 +148,7 @@ function Form(props: Props & { title: string; description: string }) { className="mt-2.5" depositExemptProposalCount={props.depositExemptProposalCount} minInstructionHoldupDays={props.minInstructionHoldupDays} + governanceSeed={props.governanceSeed} programVersion={props.programVersion} onDepositExemptProposalCountChange={ props.onDepositExemptProposalCountChange @@ -154,6 +156,7 @@ function Form(props: Props & { title: string; description: string }) { onMinInstructionHoldupDaysChange={ props.onMinInstructionHoldupDaysChange } + onGovernanceSeedChange={props.onGovernanceSeedChange} /> )} diff --git a/hub/components/EditWalletRules/Summary/index.tsx b/hub/components/EditWalletRules/Summary/index.tsx index d7bc36872..9b12a2471 100644 --- a/hub/components/EditWalletRules/Summary/index.tsx +++ b/hub/components/EditWalletRules/Summary/index.tsx @@ -30,6 +30,7 @@ interface Props minInstructionHoldupDays: number; governanceAddress?: PublicKey; walletAddress?: PublicKey; + governanceSeed: string; } function Summary( @@ -151,6 +152,7 @@ export const NewWalletSummary = ( depositExemptProposalCount={props.depositExemptProposalCount} baseVoteDays={props.baseVoteDays} minInstructionHoldupDays={props.minInstructionHoldupDays} + governanceSeed={props.governanceSeed} /> } diff --git a/hub/components/EditWalletRules/UpdatesList/NewRulesList.tsx b/hub/components/EditWalletRules/UpdatesList/NewRulesList.tsx index 26369a95b..8249a0588 100644 --- a/hub/components/EditWalletRules/UpdatesList/NewRulesList.tsx +++ b/hub/components/EditWalletRules/UpdatesList/NewRulesList.tsx @@ -34,6 +34,7 @@ interface Props { depositExemptProposalCount: number; baseVoteDays: number; minInstructionHoldupDays: number; + governanceSeed: string; } export function NewRulesList(props: Props) { @@ -112,6 +113,15 @@ export function NewRulesList(props: Props) { } /> + + +
{props.governanceSeed}
+ + } + /> ); diff --git a/hub/components/EditWalletRules/gql.ts b/hub/components/EditWalletRules/gql.ts index 4a5250d70..bbb11cc71 100644 --- a/hub/components/EditWalletRules/gql.ts +++ b/hub/components/EditWalletRules/gql.ts @@ -83,6 +83,7 @@ export const getGovernanceRulesResp = IT.type({ minInstructionHoldupDays: IT.number, version: IT.number, walletAddress: PublicKey, + governanceSeed: IT.string, }), }), }); diff --git a/hub/components/NewWallet/NewWallet.tsx b/hub/components/NewWallet/NewWallet.tsx index 108b35e00..50ed91372 100644 --- a/hub/components/NewWallet/NewWallet.tsx +++ b/hub/components/NewWallet/NewWallet.tsx @@ -138,6 +138,7 @@ function NewWalletWithDefaults({ maxVoteDays={rules.maxVoteDays} minInstructionHoldupDays={rules.minInstructionHoldupDays} programVersion={programVersion ?? 3} + governanceSeed={rules.governanceSeed} onCommunityRulesChange={setRule('communityTokenRules')} onCoolOffHoursChange={setRule('coolOffHours')} onCouncilRulesChange={setRule('councilTokenRules')} @@ -148,6 +149,9 @@ function NewWalletWithDefaults({ onMinInstructionHoldupDaysChange={setRule( 'minInstructionHoldupDays', )} + onGovernanceSeedChange={ + setRule('governanceSeed') + } />