sendTokensDecimal

Sends SPL tokens from the user's wallet and awaits network confirmation

Important:

This method may lead to slightly inaccurate results due to decimal roundoff error. We highly recommend using the sendTokens method (sendTokens) instead.

(async() => {
    await SOLPay.sendTokensDecimal("WALLET_ADDRESS", 0.00001, "TOKEN_ADDRESS"); // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}
    await SOLPay.sendTokensDecimal("WALLET_ADDRESS", 0.00001, "TOKEN_ADDRESS", (details) => {
        // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}
    }); // {"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}
})();

Parameters:

  • address: string - the address where the tokens should be sent

  • amount_decimal: number - the decimal amount of tokens to send

  • token_address: string - the mint address of the token

  • preconfirm (optional, default: (details) => {}): function - a function to capture the unconfirmed and unbroadcasted transaction details before the transaction has been broadcasted and confirmed on the Solana network

Returns:

object ({"from": "...", "to": "WALLET_ADDRESS", "amount_decimal": 0.00001, "token_address": "TOKEN_ADDRESS", "signature": "..."}) - the transaction details

  • from: string ("...") - the address from which Solana is sent

  • to: string ("...") - the address to which Solana is sent

  • amount_decimal: number (0.00001) - the amount of tokens sent

  • token_address: string("...") - the address of the token sent

  • signature: string ("...") - the signature of the transaction

Throws:

  • SOL Pay SDK Fatal Error: No connection found. Use SOLPay.connectNetwork() to connect to the Solana network. - could not find a connection to the Solana network

  • SOL Pay SDK Fatal Error: No wallet connection found. Use SOLPay.connectWallet() to connect to a Solana wallet. - no wallet was connected

  • SOL Pay SDK Fatal Error: Unable to get recent blockhash. - was not able to get a recent blockhash

  • SOL Pay SDK Fatal Error: SOL Pay SDK Fatal Error: Unable to broadcast transaction. - was not able to broadcast the transaction

  • SOL Pay SDK Fatal Error: The preconfirm function returned an error, halting the transaction from being sent: ${err} - did not send transaction because the preconfirm function could not be run to completion successfully

  • SOL Pay SDK Fatal Error: Invalid transfers ${transfers}. - invalid transfers were used

  • SOL Pay SDK Fatal Error: Invalid serialized transaction ${serialized_transaction}. - an invalid serialized transaction was used

Note:

Sending a transaction includes a fee of at least 0.000005 SOL.

Last updated