disable mango-router for delegated accounts (#437)
This commit is contained in:
parent
58ad2c1673
commit
129c4e2e1e
|
@ -61,6 +61,7 @@ import Select from '@components/forms/Select'
|
|||
import { WRAPPED_SOL_MINT } from '@metaplex-foundation/js'
|
||||
import { struct, u8, publicKey, u64, option } from '@raydium-io/raydium-sdk'
|
||||
import * as toml from '@iarna/toml'
|
||||
import useUnownedAccount from 'hooks/useUnownedAccount'
|
||||
|
||||
const feeFields = [u64('denominator'), u64('numerator')]
|
||||
const StakePoolLayout = struct([
|
||||
|
@ -155,6 +156,7 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
|
|||
const getCurrentVotingPower = GovernanceStore((s) => s.getCurrentVotingPower)
|
||||
const connectionContext = GovernanceStore((s) => s.connectionContext)
|
||||
const { t } = useTranslation(['governance'])
|
||||
const { isDelegatedAccount } = useUnownedAccount()
|
||||
|
||||
const [advForm, setAdvForm] = useState<TokenListForm>({
|
||||
...defaultTokenListFormValues,
|
||||
|
@ -346,6 +348,7 @@ const ListToken = ({ goBack }: { goBack: () => void }) => {
|
|||
onlyDirect ? 'JUPITER_DIRECT' : 'JUPITER',
|
||||
connection,
|
||||
undefined,
|
||||
isDelegatedAccount,
|
||||
)
|
||||
},
|
||||
[wallet.publicKey, connection],
|
||||
|
|
|
@ -12,6 +12,7 @@ import { findRaydiumPoolInfo, getSwapTransaction } from 'utils/swap/raydium'
|
|||
import mangoStore from '@store/mangoStore'
|
||||
import { fetchJupiterTransaction } from './SwapReviewRouteInfo'
|
||||
import useAnalytics from 'hooks/useAnalytics'
|
||||
import useUnownedAccount from 'hooks/useUnownedAccount'
|
||||
|
||||
type SwapModes = 'ExactIn' | 'ExactOut'
|
||||
|
||||
|
@ -281,6 +282,7 @@ export async function handleGetRoutes(
|
|||
routingMode: MultiRoutingMode | RaydiumRoutingMode,
|
||||
connection: Connection,
|
||||
sendAnalytics: ((data: object, tag: string) => Promise<void>) | undefined,
|
||||
isDelegatedAccount: boolean,
|
||||
inputTokenDecimals: number,
|
||||
): Promise<{ bestRoute: JupiterV6RouteInfo }>
|
||||
|
||||
|
@ -295,6 +297,7 @@ export async function handleGetRoutes(
|
|||
routingMode: JupiterRoutingMode | MangoRoutingMode,
|
||||
connection: Connection,
|
||||
sendAnalytics: ((data: object, tag: string) => Promise<void>) | undefined,
|
||||
isDelegatedAccount: boolean,
|
||||
): Promise<{ bestRoute: JupiterV6RouteInfo }>
|
||||
|
||||
export async function handleGetRoutes(
|
||||
|
@ -308,6 +311,7 @@ export async function handleGetRoutes(
|
|||
routingMode: RaydiumRoutingMode,
|
||||
connection: Connection,
|
||||
sendAnalytics: ((data: object, tag: string) => Promise<void>) | undefined,
|
||||
isDelegatedAccount: boolean,
|
||||
inputTokenDecimals: number,
|
||||
): Promise<{ bestRoute: JupiterV6RouteInfo }>
|
||||
|
||||
|
@ -322,6 +326,7 @@ export async function handleGetRoutes(
|
|||
routingMode: RoutingMode = 'ALL',
|
||||
connection: Connection,
|
||||
sendAnalytics: ((data: object, tag: string) => Promise<void>) | undefined,
|
||||
isDelegatedAccount: boolean,
|
||||
inputTokenDecimals?: number,
|
||||
) {
|
||||
try {
|
||||
|
@ -409,7 +414,10 @@ export async function handleGetRoutes(
|
|||
routes.push(jupiterRoute)
|
||||
}
|
||||
|
||||
if (isMultiRoutingMode(routingMode) || routingMode === 'MANGO') {
|
||||
if (
|
||||
isMultiRoutingMode(routingMode) ||
|
||||
(routingMode === 'MANGO' && !isDelegatedAccount)
|
||||
) {
|
||||
const mangoRoute = fetchMangoRoute(
|
||||
inputMint,
|
||||
outputMint,
|
||||
|
@ -472,6 +480,8 @@ const useQuoteRoutes = ({
|
|||
const connection = mangoStore((s) => s.connection)
|
||||
const { sendAnalytics } = useAnalytics()
|
||||
const { inputTokenInfo, outputTokenInfo } = useJupiterSwapData()
|
||||
const { isDelegatedAccount } = useUnownedAccount()
|
||||
|
||||
const decimals = useMemo(() => {
|
||||
return swapMode === 'ExactIn'
|
||||
? inputTokenInfo?.decimals || 6
|
||||
|
@ -519,6 +529,7 @@ const useQuoteRoutes = ({
|
|||
routingMode,
|
||||
connection,
|
||||
sendAnalytics,
|
||||
isDelegatedAccount,
|
||||
decimals,
|
||||
)
|
||||
} else {
|
||||
|
@ -533,6 +544,7 @@ const useQuoteRoutes = ({
|
|||
routingMode,
|
||||
connection,
|
||||
sendAnalytics,
|
||||
isDelegatedAccount,
|
||||
)
|
||||
}
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue