@tatumio/tatum-v1
Version:
Tatum API client allows browsers and Node.js clients to interact with Tatum API.
53 lines (52 loc) • 3.78 kB
TypeScript
import { TransactionBody, TransactionBuilder, TransactionHash, TransactionWitnessSet, Vkeywitnesses } from '@emurgo/cardano-serialization-lib-nodejs';
import BigNumber from 'bignumber.js';
import { AdaUtxo, FromAddress, FromUTXO, To, TransactionKMS, TransferAdaBlockchain } from '../model';
/**
* Prepare a signed Ada transaction with the private key locally. Nothing is broadcasted to the blockchain.
* @param transferAdaBlockchain content of the transaction to prepare.
* @returns raw transaction data in hex, to be broadcasted to blockchain.
*/
export declare const prepareAdaTransaction: (transferAdaBlockchain: TransferAdaBlockchain) => Promise<string>;
/**
* Send Ada transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
* This operation is irreversible.
* @param body content of the transaction to broadcast
* @returns transaction id of the transaction in the blockchain
*/
export declare const sendAdaTransaction: (body: TransferAdaBlockchain) => Promise<import("../model").TransactionHash>;
/**
* Sign Ada pending transaction from Tatum KMS
* @param tx pending transaction from KMS
* @param privateKeys private keys to sign transaction with.
* @returns transaction data to be broadcast to blockchain.
*/
export declare const signAdaKMSTransaction: (tx: TransactionKMS, privateKeys: string[]) => Promise<string>;
export declare const addOutputs: (transactionBuilder: TransactionBuilder, tos: To[]) => BigNumber;
export declare const addFee: (txBuilder: TransactionBuilder, feeInLovelace: BigNumber) => void;
export declare const addChangeIfNeeded: (txBuilder: TransactionBuilder, changeAddress: string) => void;
export declare const addInputs: (transactionBuilder: TransactionBuilder, transferAdaBlockchain: TransferAdaBlockchain) => Promise<{
amount: BigNumber;
privateKeysToSign: (string | undefined)[];
}>;
export declare const addAddressInputs: (transactionBuilder: TransactionBuilder, fromAddresses: FromAddress[]) => Promise<{
amount: BigNumber;
privateKeysToSign: (string | undefined)[];
}>;
export declare const addAddressInputsWithoutPrivateKey: (transactionBuilder: TransactionBuilder, fromAddresses: {
address: string;
}[]) => Promise<BigNumber>;
export declare const addInputsPrivateKeys: (froms: FromAddress[] | FromUTXO[]) => Promise<(string | undefined)[]>;
export declare const addUtxoInputs: (transactionBuilder: TransactionBuilder, fromUTXOs: FromUTXO[]) => Promise<{
amount: BigNumber;
privateKeysToSign: (string | undefined)[];
}>;
export declare const addOutputLovelace: (transactionBuilder: TransactionBuilder, address: string, amount: string) => void;
export declare const addOutputAda: (transactionBuilder: TransactionBuilder, address: string, amount: string | number) => string;
export declare const addInput: (transactionBuilder: TransactionBuilder, utxo: AdaUtxo, address: string) => void;
export declare const initTransactionBuilder: () => Promise<TransactionBuilder>;
export declare const createWitnesses: (transactionBody: TransactionBody, transferAdaBlockchain: TransferAdaBlockchain) => TransactionWitnessSet;
export declare const makeWitness: (privateKey: string, txHash: TransactionHash, vKeyWitnesses: Vkeywitnesses) => void;
export declare const processFeeAndRest: (transactionBuilder: TransactionBuilder, fromAmountInLovelace: BigNumber, toAmountInLovelace: BigNumber, transferAdaBlockchain: TransferAdaBlockchain) => Promise<void>;
export declare const signTransaction: (transactionBuilder: TransactionBuilder, transferAdaBlockchain: TransferAdaBlockchain, privateKeysToSign: (string | undefined)[]) => string;
export declare const lovelaceToAda: (lovelace: string | number) => string;
export declare const adaToLovelace: (ada: string | number) => string;