fout?: TransactieFout;
quoteResponseMeta: QuoteResponseMeta van “react”;
importeer
txid: tekenreeks;
swapResult: SwapResult;
quoteResponseMeta: QuoteResponseMeta van “react-dom/client”;
importeer nul;
van “jotai”;
// importeer nul;
van “@jup-ag/wallet-adapter”;
import
fout?: TransactieFout;
quoteResponseMeta: QuoteResponseMeta van “@solana/web3.js”;
importeer
txid: tekenreeks;
swapResult: SwapResult;
quoteResponseMeta: QuoteResponseMeta van “@jup-ag/react-hook”;
importeer nul;
van “@jup-ag/wallet-adapter”;
// importeer EventEmitter van “events”;
importeer nul;
van “@jup-ag/common”;
importeer { SwapMode } van “./enums”;
globaal verklaren {
interface Venster {
Jupiter: JupiterTerminaal;
}
}
/** De positie van de widget */
exporttype WidgetPositie =
| “linksonder”
| “rechtsonder”
| “linksboven”
| “rechtsboven”;
/** De grootte van de widget */
exporttype WidgetSize = “sm” | “standaard”;
exportinterface FormProps {
/** Standaard `ExactInOrOut`. ExactOut kan worden gebruikt om een exacte uitvoer van een token te krijgen (bijv. voor betalingen) */
wisselModus?: wisselModus;
/** Initieel bedrag om te ruilen */
beginbedrag?: string;
/** Als dit waar is, kan de gebruiker het bedrag niet wijzigen (bijv. voor betalingen) */
vastBedrag?: boolean;
/** Initiële invoertoken om te ruilen */
initiëleInputMint?: string;
/** Als dit waar is, kan de gebruiker het invoertoken niet wijzigen */
vasteInputMint?: boolean;
/** Initiële output-token om te ruilen */
initiëleOutputMint?: string;
/** Als dit waar is, kan de gebruiker het uitvoertoken niet wijzigen (bijvoorbeeld om het token van uw project te kopen) */
vasteOutputMint?: boolean;
/** Initiële slip naar swap */
initialSlippageBps?: nummer;
}
/** Ingebouwde ondersteuning voor deze ontdekkingsreizigers */
exporttype DEFAULT_EXPLORER =
| “Solana-ontdekkingsreiziger”
| “Zonnescan”
| “Solana-strand”
| “SolanaFM”;
exportinterface TransactieInstructie {
rekeningen: {
Pubkey: tekenreeks;
isSigner: booleaans;
isWritable: boolean;
}[];
gegevens: tekenreeks;
programma-ID: string;
}
exportinterface IOnRequestIxCallback {
meta-: {
bronAdres: PubliekeSleutel;
bestemmingsadres: Publieke sleutel;
quoteResponseMeta: QuoteResponseMeta;
};
instructies: {
tokenLedgerInstructie: TransactieInstructie;
BerekenBudgetInstructie: BerekenBudgetInstructie;
setupInstructions: TransactieInstructie[];
swapInstructie: TransactieInstructie;
cleanupInstructie: TransactieInstructie;
addressLookupTableAdressen: AddressLookupTableAccount;
fout: string;
};
onSubmitWithIx: (swapResult: SwapResult) => void;
}
exportinterface IInit {
/** Solana RPC, declareer eindpunt of verbindingsobject */
/** Solana RPC-eindpunt */
eindpunt?: string;
/** Solana RPC-verbindingsobject */
connectionObj?: Verbinding;
/** TODO: Update om de nieuwe platformkosten en accounts te gebruiken */
platformKostenEnAccounts?: PlatformKostenEnAccounts;
/** Configureer het gedrag van Terminal en de toegestane acties voor uw gebruiker */
vormProps?: VormProps;
/** Alleen strikte tokens toestaan door [Jupiter Token List API](https://station.jup.ag/docs/token-list/token-list-api) */
strikteTokenList?: boolean;
/** Standaardverkenner voor uw gebruiker */
standaardExplorer?: STANDAARD_EXPLORER;
/** Automatische verbinding met portemonnee bij volgende bezoeken */
automatisch verbinden?: boolean;
/** Gebruik de slippage van de gebruiker in plaats van initialSlippageBps, standaard is dit true */
gebruikGebruikersslippage?: boolean;
/** TODO: Nog NIET ondersteund, voorinstellingen van slippages, standaard naar [0.1, 0.5, 1.0] */
slippagePresets?: nummer[];
/** Weergave en styling */
/** Weergavemodus */
displayMode?: “modal” | “geïntegreerd” | “widget”;
/** Wanneer displayMode ‘geïntegreerd’ is, is dit de id van het element waarin de geïntegreerde widget moet worden weergegeven */
geïntegreerdeTargetId?: string;
/** Wanneer displayMode ‘widget’ is, is dit het gedrag en de stijl van de widget */
widgetStijl?: {
positie?: WidgetPositie;
grootte?: WidgetSize;
};
/** Als er extra styling nodig is voor de Terminal-container */
containerStyles?: CSS-eigenschappen;
/** Als er extra styling nodig is voor de Terminal-container */
containerClassName?: string;
/** Als dit waar is, wordt de verbinding met de wallet afgehandeld door uw dApp en wordt `syncProps()` gebruikt om de walletstatus te synchroniseren met Terminal */
inschakelenWalletPassthrough?: boolean;
/** Optioneel, als de walletstatus gereed is, kunt u deze hier doorgeven of gewoon `syncProps()` gebruiken */
passthroughWalletContextState?: WalletContextState;
/** Wanneer enableWalletPassthrough true is, kan Terminal de verbindingsstroom van uw dApp’s wallet terugbellen */
onRequestConnectWallet?: () => ongeldig | Belofte
/** Terugbellen */
/** Wanneer er een fout is opgetreden tijdens het wisselen */
onSwapError?: ({
fout,
citaatReactieMeta,
}: {
fout?: TransactieFout;
quoteResponseMeta: QuoteResponseMeta | nul;
}) => leeg;
/** Wanneer een swap succesvol is geweest */
opSucces?: ({
bedankt,
swapResultaat,
citaatReactieMeta,
}: {
txid: tekenreeks;
swapResult: SwapResult;
quoteResponseMeta: QuoteResponseMeta | nul;
}) => leeg;
/** Callback wanneer er wijzigingen in het formulier zijn */
onFormUpdate?: (formulier: IForm) => ongeldig;
/** Terugbellen wanneer er veranderingen op het scherm zijn */
onScreenUpdate?: (scherm: IScreen) => leeg;
/** Vraag Jupiter om te citeren met een maximaal aantal accounts, essentieel voor het samenstellen met Jupiter Swap-instructie */
maxAccounts?: nummer;
/** Vraag Ix aan in plaats van directe swap */
onRequestIxCallback?: (ixAndCb: IOnRequestIxCallback) => Belofte
/** Interne oplossingen */
/** Intern gebruik om domein op te lossen bij het laden van script */
scriptDomein?: string;
}
exportinterface JupiterTerminal {
_instance: JSX.Element | null;
init: (props: IInit) => leeg;
hervatten: () => leeg;
sluiten: () => leeg;
wortel: Wortel | nul;
/** Doorgeven */
enableWalletPassthrough: boolean;
onRequestConnectWallet: IInit[“onRequestConnectWallet”];
opslaan: Retourtype
synchronisatieProps: (props: {
passthroughWalletContextState?: IInit[“passthroughWalletContextState”];
}) => leeg;
/** Terugbellen */
onSwapError: IInit[“onSwapError”];
opSucces: IInit[“onSuccess”];
onFormUpdate: IInit[“onFormUpdate”];
op het schermUpdate: IInit[“onScreenUpdate”];
/** Vraag Ix aan in plaats van directe swap */
onRequestIxCallback: IInit[“onRequestIxCallback”];
}
