NeptuneServiceは、Injective上のNeptune CosmWasmスマートコントラクトと連携するためのシンプルなツールです。アセット価格の取得、交換レートの計算、入出金メッセージの作成、レンディングレートの取得が可能です。
以下にNeptuneServiceクラスの各メソッドの使用例を示します。
NeptuneServiceの初期化
サービスを使用する前に、NeptuneServiceのインスタンスを作成します。
価格の取得
- Neptune Price Oracleコントラクトから特定のアセットの価格を取得します。Bank denomには
native_tokenを、CW20トークンにはcontract_addr付きのtokenを使用します。
Redemption Ratioの取得
- nUSDT(CW20トークン)とUSDT(Bankトークン)間のRedemption Ratioを計算します。
CW20 nUSDTからBank USDTへの変換
- Redemption Ratioを使用して、指定量のCW20 nUSDTからBank USDTの金額を計算します。
Bank USDTからCW20 nUSDTへの変換
- Redemption Ratioを使用して、指定量のBank USDTからCW20 nUSDTの金額を計算します。
レンディングレートの取得
- Neptuneのレンディングマーケットスマートコントラクトにおける各レンディングマーケットのレンディングレートを取得します。
Denominationによるレンディングレートの取得
- 例えばUSDTのレンディングレートを取得します。
年間利回り(APY)の計算
- 年間利率(APR)を連続複利の年間利回り(APY)に変換します。aprには
neptuneService.getLendingRateByDenomから取得したレンディングレートを使用してください。
入金メッセージの作成とブロードキャスト
- Neptune USDTレンディングマーケットにUSDTを入金するメッセージを作成し、ネットワークにブロードキャストします。
出金メッセージの作成とブロードキャスト
- Neptune USDTレンディングマーケットからUSDTを出金するメッセージを作成し、ネットワークにブロードキャストします。
