Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Debugging an error? Install the MagicBlock AI skill and ask your coding agent instead.
SDK 原生支持 Orca,并提供便捷的工具方法来构建交换、开仓、资金管理和与 Whirlpools 交互所需的交易。
IDex dex = new OrcaDex( WalletH.Account, WalletH.Rpc )
TokenData tokenA = await dex.GetTokenBySymbol("USDC"); TokenData tokenB = await dex.GetTokenBySymbol("ORCA");
Pool whirlpool = await dex.FindWhirlpoolAddress(tokenA.MintAddress, tokenB.MintAddress)
SwapQuote swapQuote = await dex.GetSwapQuoteFromWhirlpool( whirlpool.Address, DecimalUtil.ToUlong(1, tokenA.Decimals), tokenA.MintAddress, slippageTolerance: 0.1, );
var quote = DecimalUtil.FromBigInteger(swapQuote.EstimatedAmountOut, tokenB.Decimals); Debug.Log(quote); // 预期收到的 Orca token 数量
Transaction tx = await dex.SwapWithQuote( whirlpool, swapQuote );
await WalletH.Base.SignAndSendTransaction(tx);
OrcaDex dex = new OrcaDex( WalletH.Account, WalletH.Rpc ); var orcaToken = await dex.GetTokenBySymbol("ORCA"); var usdcToken = await dex.GetTokenBySymbol("USDC"); var whirlpool = await dex.FindWhirlpoolAddress( usdcToken.MintAddress, orcaToken.MintAddress ); Account mint = new Account(); Transaction tx = await dex.OpenPositionWithLiquidity( whirlpool, mint, -1792, 1152, DecimalUtil.ToUlong(5, tokenA.Decimals), DecimalUtil.ToUlong(5, tokenB.Decimals), commitment: Commitment.Confirmed ); var txSer = tx.Build(new List<Account>() { WalletH.Account, mint }); await WalletH.Base.SignAndSendTransaction(tx);
此页面对您有帮助吗?