通貨スワップ
SequenceのSmart Swap APIを使えば、特定チェーン上で異なるERC20やネイティブトークン間のスワップが簡単に行えます。
GetSwapPrice
このメソッドは、指定したbuyCurrencyとbuyAmountに対して、指定したsellCurrencyで現在のSwapPrice
を取得するために使用します。
レスポンスを他の場所で処理したい場合は、OnSwapPriceReturn
やOnSwapPriceError
イベントに任意でサブスクライブできます。
許容される最大スリッページ率(slippagePercentage)もオプションで指定可能です。
GetSwapPrices
このメソッドはGetSwapPrice
と同様に、指定したbuyCurrencyとbuyAmountに対する現在のSwapPrice
を取得しますが、sellCurrencyの代わりにユーザーのウォレットアドレスを指定します。
このメソッドは、buyCurrencyのbuyAmountに対してスワップ可能な通貨(ERC20やネイティブトークン)を自動検出し、SwapPrice[]
を返します。
レスポンスを他の場所で処理したい場合は、OnSwapPricesReturn
やOnSwapPricesError
イベントに任意でサブスクライブできます。
許容される最大スリッページ率(slippagePercentage)もオプションで指定可能です。
GetSwapQuote
このメソッドは、指定したuserWalletアドレスがsellCurrencyを使ってbuyCurrencyのbuyAmountを購入するための実行可能なSwapQuote
を取得する際に使用します。
SwapQuote
を取得したら、それをTransaction[]
に変換し、EmbeddedWallet経由でスワップを実行できます。
includeApprove = true
の場合、SwapQuoteのレスポンスには必要な支出承認トランザクションの情報も含まれます。これらもSwapQuote.AsTransactionArray()
を通じて上記のTransaction[]
に追加されます。Sequenceのスマートコントラクトウォレットを使えば、これらすべてのトランザクションを一度にまとめて送信できるため、通常は承認とスワップで別々のトランザクションが必要なプレイヤーのUXが大幅に向上します。