Remove proposer squad (#1273)
This commit is contained in:
parent
b8aeac327d
commit
604e30ff75
|
@ -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>
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue