@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
52 lines (51 loc) • 2.62 kB
TypeScript
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 {};