デポジット

ユーザーのassociated token accountからエスクローの associated token accountにSPLトークンを転送し、デポジットを行ったユーザーのチャンネル残高(または オプションで指定した受取人の残高)に入金します。

アカウント

アカウント書き込み可能署名者説明
payer✓✓トランザクションの手数料支払者
user✓デポジットを行うトークンオーナー
instanceエスクローインスタンスPDA
mintSPLトークンミント
allowed_mintこのインスタンスでミントが許可されていることを検証するPDA
user_ata✓ユーザーのassociated token account(送金元)
instance_ata✓エスクローのassociated token account(送金先)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityEmitEvent CPI用のイベント権限PDA
private_channel_escrow_programエスクロープログラム(CPI用の自己参照)

パラメータ

パラメータ型説明
amountu64デポジットするトークン量(トークンの最小単位)
recipientOption<Pubkey>オプションのオンチェーン受取人。Noneの場合はデポジットを行ったユーザーのチャンネル残高に入金されます

戻り値

トランザクションのビルドと送信に使用できるTransactionBuilderを返します。

使用例

import { getDepositInstructionAsync } from "../private-channel-escrow-program/clients/typescript/src/generated";
// allowedMint and instanceAta are auto-derived from mint and instance
const depositIx = await getDepositInstructionAsync({
payer: payerSigner,
user: userSigner,
instance: instancePda,
mint: mintAddress,
userAta: userAtaAddress,
amount: 1_000_000n,
recipient: null
});

重要事項

  • プログラムID: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Token-2022ミントの場合は、標準のSPL Token Programがデフォルトのため、tokenProgram: TOKEN_2022_PROGRAM_ADDRESSを 明示的に指定してください
  • allowed_mint PDAが存在している必要があります(AllowMintによって作成)。未登録のミントをデポジットすると InvalidAllowedMintがスローされます
  • recipientがNoneの場合はデポジットを行ったユーザーのチャンネル残高に入金されます。 指定された場合は、指定されたウォレットの残高に入金されます
  • payerとuserの両方がトランザクションに署名する必要があります
  • instance_ataはあらかじめ存在している必要があります(このミントに対してAllowMintによって作成)

Is this page helpful?

目次

ページを編集
© 2026 Solana Foundation. 無断転載を禁じます。