インテグレーションAPI
CHAINFetch Deposit State
Last updated January 31, 2026
Genesis JavaScript SDK を使用してブロックチェーンからユーザーのデポジット状態を直接取得します。デポジット額、クレーム状態、ユーザーがデポジットしたかどうかを確認できます。
オンチェーンフェッチには Umi と Genesis SDK が必要です。
メソッド
| メソッド | ローンチタイプ | 動作 |
|---|---|---|
fetchLaunchPoolDepositV2 | Launch Pool | 見つからない場合はスロー |
safeFetchLaunchPoolDepositV2 | Launch Pool | null を返す |
fetchPresaleDepositV2 | Presale | 見つからない場合はスロー |
safeFetchPresaleDepositV2 | Presale | null を返す |
Launch Pool デポジット
import {
fetchLaunchPoolDepositV2,
safeFetchLaunchPoolDepositV2,
} from '@metaplex-foundation/genesis';
// Throws if not found — use when you expect the deposit to exist
const deposit = await fetchLaunchPoolDepositV2(umi, depositPda);
console.log('Amount:', deposit.amountQuoteToken);
console.log('Claimed:', deposit.claimed);
// Returns null if not found — use for optional lookups
const maybeDeposit = await safeFetchLaunchPoolDepositV2(umi, depositPda);
if (maybeDeposit) {
console.log('Amount:', maybeDeposit.amountQuoteToken);
}
Presale デポジット
import {
fetchPresaleDepositV2,
safeFetchPresaleDepositV2,
} from '@metaplex-foundation/genesis';
// Throws if not found — use when you expect the deposit to exist
const deposit = await fetchPresaleDepositV2(umi, depositPda);
console.log('Amount deposited:', deposit.amountQuoteToken);
console.log('Amount claimed:', deposit.amountClaimed);
console.log('Fully claimed:', deposit.claimed);
// Returns null if not found — use for optional lookups
const maybeDeposit = await safeFetchPresaleDepositV2(umi, depositPda);
if (maybeDeposit) {
console.log('Amount deposited:', maybeDeposit.amountQuoteToken);
}
ユーザーがデポジットしたかの確認
エラーをスローせずにユーザーがデポジット済みかどうかを確認するには、safeFetch バリアントを使用します:
import {
safeFetchLaunchPoolDepositV2,
safeFetchPresaleDepositV2,
findLaunchPoolDepositV2Pda,
findPresaleDepositV2Pda,
} from '@metaplex-foundation/genesis';
// Launch Pool
const [lpDepositPda] = findLaunchPoolDepositV2Pda(umi, {
bucket: launchPoolBucket,
recipient: userPublicKey,
});
const lpDeposit = await safeFetchLaunchPoolDepositV2(umi, lpDepositPda);
const hasLpDeposit = lpDeposit !== null;
// Presale
const [psDepositPda] = findPresaleDepositV2Pda(umi, {
bucket: presaleBucket,
recipient: userPublicKey,
});
const psDeposit = await safeFetchPresaleDepositV2(umi, psDepositPda);
const hasPsDeposit = psDeposit !== null;
