UNPKG

@aeternity/aepp-sdk

Version:

SDK for the æternity blockchain

52 lines (51 loc) 2.62 kB
import { resolveName } from './chain.js'; import { sendTransaction, SendTransactionOptions } from './send-transaction.js'; import { BuildTxOptions } from './tx/builder/index.js'; import { Encoded } from './utils/encoder.js'; import { Tag, AensName } from './tx/builder/constants.js'; type ResolveNameOptions = Omit<Parameters<typeof resolveName>[2], 'onNode' | 'verify'>; /** * Send coins to another account * @category chain * @param amount - Amount to spend * @param recipientIdOrName - Address or name of recipient account * @param options - Options * @returns Transaction */ export declare function spend(amount: number | string, recipientIdOrName: Encoded.AccountAddress | Encoded.ContractAddress | AensName, options: SpendOptions): ReturnType<typeof sendTransaction>; type SpendOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount' | 'onNode'> & ResolveNameOptions & SendTransactionOptions; interface SpendOptions extends SpendOptionsType { } /** * Spend a fraction of coin balance to another account. Useful if needed to drain account balance * completely, sending funds to another account (with fraction set to 1). * @category chain * @param fraction - Fraction of balance to spend (between 0 and 1) * @param recipientIdOrName - Address or name of recipient account * @param options - Options * @example * ```js * // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%) * const { blockHeight } = await aeSdk.transferFunds( * 0.42, * 'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E', * ); * console.log('Transaction mined at', blockHeight); * ``` */ export declare function transferFunds(fraction: number | string, // TODO: accept only number recipientIdOrName: AensName | Encoded.AccountAddress | Encoded.ContractAddress, options: TransferFundsOptions): ReturnType<typeof sendTransaction>; type TransferFundsOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount' | 'onNode'> & ResolveNameOptions & SendTransactionOptions; interface TransferFundsOptions extends TransferFundsOptionsType { } /** * Submit transaction of another account paying for it (fee and gas) * @category chain * @param transaction - tx_<base64>-encoded transaction * @param options - Options * @returns Object Transaction */ export declare function payForTransaction(transaction: Encoded.Transaction, options: PayForTransactionOptions): ReturnType<typeof sendTransaction>; interface PayForTransactionOptions extends BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>, SendTransactionOptions { } export {};