Remove proposer squad (#1273)

This commit is contained in:
guibescos 2024-02-01 18:56:24 +00:00 committed by GitHub
parent b8aeac327d
commit 604e30ff75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 28 additions and 39 deletions

View File

@ -44,7 +44,7 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
const isRemote: boolean = isRemoteCluster(cluster) // Move to multisig context
const multisigCluster: Cluster | 'localnet' = getMultisigCluster(cluster) // Move to multisig context
const wormholeAddress = WORMHOLE_ADDRESS[multisigCluster] // Move to multisig context
const { isLoading: isMultisigLoading, proposeSquads } = useMultisigContext()
const { isLoading: isMultisigLoading, squads } = useMultisigContext()
const { rawConfig, dataIsLoading, connection } = usePythContext()
const { connected } = useWallet()
const [pythProgramClient, setPythProgramClient] =
@ -282,15 +282,10 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
}
const handleSendProposalButtonClick = async () => {
if (
pythProgramClient &&
dataChanges &&
!isMultisigLoading &&
proposeSquads
) {
if (pythProgramClient && dataChanges && !isMultisigLoading && squads) {
const instructions: TransactionInstruction[] = []
for (const symbol of Object.keys(dataChanges)) {
const multisigAuthority = proposeSquads.getAuthorityPDA(
const multisigAuthority = squads.getAuthorityPDA(
PRICE_FEED_MULTISIG[getMultisigCluster(cluster)],
1
)
@ -789,11 +784,11 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
<button
className="action-btn text-base"
onClick={handleSendProposalButtonClick}
disabled={isSendProposalButtonLoading || !proposeSquads}
disabled={isSendProposalButtonLoading || !squads}
>
{isSendProposalButtonLoading ? <Spinner /> : 'Send Proposal'}
</button>
{!proposeSquads && <div>Please connect your wallet</div>}
{!squads && <div>Please connect your wallet</div>}
</>
)}
</>
@ -802,10 +797,10 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
// create anchor wallet when connected
useEffect(() => {
if (connected && proposeSquads) {
if (connected && squads) {
const provider = new AnchorProvider(
connection,
proposeSquads.wallet,
squads.wallet,
AnchorProvider.defaultOptions()
)
setPythProgramClient(
@ -822,7 +817,7 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
)
}
}
}, [connection, connected, cluster, proposeSquads])
}, [connection, connected, cluster, squads])
return (
<div className="relative">
@ -847,13 +842,13 @@ const General = ({ proposerServerUrl }: { proposerServerUrl: string }) => {
<PermissionDepermissionKey
isPermission={true}
pythProgramClient={pythProgramClient}
squads={proposeSquads}
squads={squads}
proposerServerUrl={proposerServerUrl}
/>
<PermissionDepermissionKey
isPermission={false}
pythProgramClient={pythProgramClient}
squads={proposeSquads}
squads={squads}
proposerServerUrl={proposerServerUrl}
/>
</div>

View File

@ -280,7 +280,7 @@ const Proposal = ({
: contextCluster
const {
voteSquads,
squads,
isLoading: isMultisigLoading,
connection,
refreshData,
@ -366,16 +366,16 @@ const Proposal = ({
return () => {
isCancelled = true
}
}, [cluster, proposal, voteSquads, connection])
}, [cluster, proposal, squads, connection])
const handleClick = async (
handler: (squad: SquadsMesh, proposalKey: PublicKey) => any,
msg: string
) => {
if (proposal && voteSquads) {
if (proposal && squads) {
try {
setIsTransactionLoading(true)
await handler(voteSquads, proposal.publicKey)
await handler(squads, proposal.publicKey)
if (refreshData) await refreshData().fetchData()
toast.success(msg)
} catch (e: any) {

View File

@ -110,7 +110,7 @@ const UpdatePermissions = () => {
const [isSendProposalButtonLoading, setIsSendProposalButtonLoading] =
useState(false)
const { cluster } = useContext(ClusterContext)
const { isLoading: isMultisigLoading, proposeSquads } = useMultisigContext()
const { isLoading: isMultisigLoading, squads } = useMultisigContext()
const { rawConfig, dataIsLoading, connection } = usePythContext()
const { connected } = useWallet()
const [pythProgramClient, setPythProgramClient] =
@ -239,12 +239,12 @@ const UpdatePermissions = () => {
}
const handleSendProposalButtonClick = () => {
if (pythProgramClient && finalPubkeyChanges && proposeSquads) {
if (pythProgramClient && finalPubkeyChanges && squads) {
const programDataAccount = PublicKey.findProgramAddressSync(
[pythProgramClient?.programId.toBuffer()],
BPF_UPGRADABLE_LOADER
)[0]
const multisigAuthority = proposeSquads.getAuthorityPDA(
const multisigAuthority = squads.getAuthorityPDA(
UPGRADE_MULTISIG[getMultisigCluster(cluster)],
1
)
@ -267,9 +267,9 @@ const UpdatePermissions = () => {
setIsSendProposalButtonLoading(true)
try {
const vault = new MultisigVault(
proposeSquads.wallet,
squads.wallet,
getMultisigCluster(cluster),
proposeSquads,
squads,
UPGRADE_MULTISIG[getMultisigCluster(cluster)]
)
@ -335,17 +335,17 @@ const UpdatePermissions = () => {
// create anchor wallet when connected
useEffect(() => {
if (connected && proposeSquads) {
if (connected && squads) {
const provider = new AnchorProvider(
connection,
proposeSquads.wallet,
squads.wallet,
AnchorProvider.defaultOptions()
)
setPythProgramClient(
pythOracleProgram(getPythProgramKeyForCluster(cluster), provider)
)
}
}, [connection, connected, cluster, proposeSquads])
}, [connection, connected, cluster, squads])
return (
<div className="relative">

View File

@ -12,8 +12,7 @@ const MultisigContext = createContext<MultisigHookData>({
allProposalsIxsParsed: [],
isLoading: true,
error: null,
proposeSquads: undefined,
voteSquads: undefined,
squads: undefined,
refreshData: undefined,
connection: undefined,
})
@ -30,8 +29,7 @@ export const MultisigContextProvider: React.FC<
const {
isLoading,
error,
proposeSquads,
voteSquads,
squads,
upgradeMultisigAccount,
priceFeedMultisigAccount,
upgradeMultisigProposals,
@ -50,14 +48,12 @@ export const MultisigContextProvider: React.FC<
allProposalsIxsParsed,
isLoading,
error,
proposeSquads,
voteSquads,
squads,
refreshData,
connection,
}),
[
proposeSquads,
voteSquads,
squads,
isLoading,
error,
upgradeMultisigAccount,

View File

@ -17,8 +17,7 @@ import { pythClusterApiUrls } from '../utils/pythClusterApiUrl'
export interface MultisigHookData {
isLoading: boolean
error: any // TODO: fix any
proposeSquads: SquadsMesh | undefined
voteSquads: SquadsMesh | undefined
squads: SquadsMesh | undefined
upgradeMultisigAccount: MultisigAccount | undefined
priceFeedMultisigAccount: MultisigAccount | undefined
upgradeMultisigProposals: TransactionAccount[]
@ -161,8 +160,7 @@ export const useMultisig = (): MultisigHookData => {
return {
isLoading,
error,
proposeSquads: squads,
voteSquads: squads,
squads,
upgradeMultisigAccount,
priceFeedMultisigAccount,
upgradeMultisigProposals,