Zet SPL-tokens over van de associated token account van een gebruiker naar de associated token account van de escrow, waarbij het kanaalsaldo van de storende gebruiker (of dat van een optionele ontvanger) wordt bijgeschreven.
Accounts
| Account | Schrijfbaar | Ondertekenaar | Beschrijving |
|---|---|---|---|
payer | ✓ | ✓ | Betaler van de transactiekosten |
user | ✓ | Token-eigenaar die de storting uitvoert | |
instance | PDA van de escrow-instantie | ||
mint | SPL-token mint | ||
allowed_mint | PDA die verifieert dat de mint is toegestaan op deze instantie | ||
user_ata | ✓ | Associated token account van de gebruiker (bron) | |
instance_ata | ✓ | Associated token account van de escrow (bestemming) | |
system_program | System Program | ||
token_program | SPL Token Program | ||
associated_token_program | Associated Token Program | ||
event_authority | Event authority PDA voor EmitEvent CPI | ||
private_channel_escrow_program | Escrow-programma (zelfverwijzing voor CPI) |
Parameters
| Parameter | Type | Beschrijving |
|---|---|---|
amount | u64 | Hoeveelheid te storten tokens, in de kleinste eenheid van de token |
recipient | Option<Pubkey> | Optionele ontvanger on-chain; indien None, wordt het kanaalsaldo van de storende gebruiker bijgeschreven |
Geeft terug
Geeft een TransactionBuilder terug die gebruikt kan worden om de
transactie te bouwen en te verzenden.
Voorbeeld
import { getDepositInstructionAsync } from "../private-channel-escrow-program/clients/typescript/src/generated";// allowedMint and instanceAta are auto-derived from mint and instanceconst depositIx = await getDepositInstructionAsync({payer: payerSigner,user: userSigner,instance: instancePda,mint: mintAddress,userAta: userAtaAddress,amount: 1_000_000n,recipient: null});
Belangrijke opmerkingen
- Programma-ID:
9tgHa1DcnaSSUtmMsst8ovKTe1Gfxzezn27KnH9xXYeU - Voor Token-2022 mints moet
tokenProgram: TOKEN_2022_PROGRAM_ADDRESSexpliciet worden opgegeven, omdat standaard het gewone SPL Token Program wordt gebruikt - De
allowed_mintPDA moet bestaan (aangemaakt doorAllowMint); het storten van een niet-vermelde mint geeftInvalidAllowedMint - Wanneer
recipientNoneis, wordt het kanaalsaldo van de storende gebruiker bijgeschreven; wanneer opgegeven, wordt het saldo van de opgegeven portemonnee bijgeschreven - Zowel
payeralsusermoeten de transactie ondertekenen - De
instance_atamoet al bestaan (aangemaakt doorAllowMintvoor deze mint)
Is this page helpful?