Einzahlung

Überträgt SPL-Token vom associated token account eines Benutzers in den associated token account des Escrows und schreibt dem einzahlenden Benutzer sein Kanalguthaben gut (oder optional dem Guthaben eines Empfängers).

Konten

KontenSchreibbarSignerBeschreibung
payer✓✓Gebührenzahler für die Transaktion
user✓Token-Eigentümer, der die Einzahlung vornimmt
instanceEscrow-Instanz-PDA
mintSPL-Token-Mint
allowed_mintPDA, der verifiziert, dass der Mint für diese Instanz zulässig ist
user_ata✓Associated token account des Benutzers (Quelle)
instance_ata✓Associated token account des Escrows (Ziel)
system_programSystem Program
token_programSPL Token Program
associated_token_programAssociated Token Program
event_authorityEvent-Authority-PDA für EmitEvent-CPI
private_channel_escrow_programEscrow-Programm (Selbstreferenz für CPI)

Parameter

ParameterTypBeschreibung
amountu64Anzahl der einzuzahlenden Token in der kleinsten Einheit des Tokens
recipientOption<Pubkey>Optionaler On-Chain-Empfänger; wenn None, wird das Kanalguthaben des einzahlenden Benutzers gutgeschrieben

Rückgabewert

Gibt einen TransactionBuilder zurück, der zum Erstellen und Senden der transaktion verwendet werden kann.

Beispiel

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
});

Wichtige Hinweise

  • Programm-ID: 9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU
  • Für Token-2022-Mints muss tokenProgram: TOKEN_2022_PROGRAM_ADDRESS explizit angegeben werden, da standardmäßig das SPL Token Program verwendet wird
  • Die allowed_mint-PDA muss vorhanden sein (erstellt durch AllowMint); das Einzahlen eines nicht gelisteten Mints wirft InvalidAllowedMint
  • Wenn recipient gleich None ist, wird das Kanalguthaben des einzahlenden Benutzers gutgeschrieben; andernfalls wird das Guthaben der angegebenen Wallet gutgeschrieben
  • Sowohl payer als auch user müssen die Transaktion signieren
  • Der instance_ata muss bereits existieren (erstellt durch AllowMint für diesen Mint)

Is this page helpful?

Inhaltsverzeichnis

Seite bearbeiten
© 2026 Solana Foundation. Alle Rechte vorbehalten.