diff --git a/app/src/app/order/[pk]/page.tsx b/app/src/app/order/[pk]/page.tsx index 8746c92..080c6fd 100644 --- a/app/src/app/order/[pk]/page.tsx +++ b/app/src/app/order/[pk]/page.tsx @@ -17,8 +17,11 @@ import { DESCRO_PROGRAM_ADDRESS, findResolverEntryPda, } from '@descro/sdk' +import { isSome } from '@solana/kit' import type { Address } from '@solisting/sdk' +const SYSTEM_PROGRAM = '11111111111111111111111111111111' as Address + export default function OrderPage({ params }: { params: Promise<{ pk: string }> }) { const { pk } = use(params) const { account } = useWallet() @@ -31,10 +34,14 @@ export default function OrderPage({ params }: { params: Promise<{ pk: string }> async function handleAccept() { if (!signer || !data) return const od = data.order.data - const [resolverEntry] = await findResolverEntryPda({ authority: od.resolver }) + const resolverAddr = isSome(od.resolver) ? od.resolver.value : null + const resolverKey = resolverAddr ?? SYSTEM_PROGRAM + const [resolverEntry] = resolverAddr + ? await findResolverEntryPda({ authority: resolverAddr }) + : [SYSTEM_PROGRAM] const ix = getAcceptOrderInstruction({ seller: signer, - resolver: od.resolver, + resolver: resolverKey, listingAccount: od.listing, orderAccount: pk as Address, escrowAccount: od.escrowAccount,