@tatumio/tatum-v1
Version:
Tatum API client allows browsers and Node.js clients to interact with Tatum API.
128 lines (127 loc) • 6.38 kB
TypeScript
/// <reference types="node" />
import { FlowBurnNft, FlowMintMultipleNft, FlowMintNft, FlowTransferNft, TransactionKMS, TransferFlow, TransferFlowCustomTx } from '../model';
export declare enum FlowTxType {
CREATE_ACCOUNT = 0,
ADD_PK_TO_ACCOUNT = 1,
TRANSFER = 2,
DEPLOY_NFT = 3,
MINT_NFT = 4,
MINT_MULTIPLE_NFT = 5,
BURN_NFT = 6,
TRANSFER_NFT = 7,
CUSTOM_TX = 8
}
export declare const flowSign: (pk: string, msg: Buffer) => string;
export declare const getFlowSigner: (pk: string, address: string, keyId?: number) => {
signer: (account: any) => any;
};
export declare const getFlowApiSigner: (isPayer: boolean) => {
signer: (account: any) => Promise<any>;
keyHash: string;
};
export declare const flowSignKMSTransaction: (tx: TransactionKMS, privateKeys: string[], testnet: boolean) => Promise<{
txId: string;
}>;
/**
* Create account on the FLOW network. It automatically creates 100 0-weight proposal keys, which are managed by Tatum API - index 1-100.
* Main 1000 weight authorizer key is stored as a first one on index 0.
* @param testnet if we use testnet or not
* @param publicKey public key to assign to address as authorizer (1000 weight) key
* @param signerAddress address of the authorizer creator of the address on the chain
* @param signerPrivateKey private key of the authorizer creator of the address on the chain
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
*/
export declare const flowCreateAccountFromPublicKey: (testnet: boolean, publicKey: string, signerAddress: string, signerPrivateKey: string, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
address: string;
}>;
/**
* Add public key to existing blockchain address with defined weight
* @param testnet
* @param publicKey key to add
* @param signerAddress address of the authorizer key
* @param signerPrivateKey key of the authorize key
* @param weight defaults to 1000 - weight of the key
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
*/
export declare const flowAddPublicKeyToAccount: (testnet: boolean, publicKey: string, signerAddress: string, signerPrivateKey: string, weight?: number, proposer?: ((...args: any[]) => any) | undefined, payer?: ((...args: any[]) => any) | undefined) => Promise<{
txId: string;
address: string;
}>;
export declare const getFlowNftMetadata: (testnet: boolean, account: string, id: string, tokenType: string) => Promise<any>;
export declare const getFlowNftTokenByAddress: (testnet: boolean, account: string, tokenType: string) => Promise<any>;
/**
* Send Flow NFT mint token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
* This operation is irreversible.
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns txId id of the transaction in the blockchain
*/
export declare const sendFlowNftMintToken: (testnet: boolean, body: FlowMintNft, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
tokenId: string;
}>;
/**
* Send Flow NFT mint multiple tokens transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
* This operation is irreversible.
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns txId id of the transaction in the blockchain
*/
export declare const sendFlowNftMintMultipleToken: (testnet: boolean, body: FlowMintMultipleNft, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
tokenId: number[];
}>;
/**
* Send Flow NFT transfer token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
* This operation is irreversible.
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns {txId: string, events: any[]} id of the transaction in the blockchain and events this tx produced
*/
export declare const sendFlowNftTransferToken: (testnet: boolean, body: FlowTransferNft, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
}>;
/**
* Send Flow NFT burn token transaction to the blockchain. This method broadcasts signed transaction to the blockchain.
* This operation is irreversible.
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns txId id of the transaction in the blockchain
*/
export declare const sendFlowNftBurnToken: (testnet: boolean, body: FlowBurnNft, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
}>;
/**
* Send custom transaction to the FLOW network
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns txId id of the transaction in the blockchain
*/
export declare const flowSendCustomTransaction: (testnet: boolean, body: TransferFlowCustomTx, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
events: any[];
}>;
/**
* Send FLOW or FUSD from account to account.
* @param testnet
* @param body content of the transaction to broadcast
* @param proposer function to obtain proposer key from
* @param payer function to obtain payer key from
* @returns txId id of the transaction in the blockchain
*/
export declare const flowSendTransaction: (testnet: boolean, body: TransferFlow, proposer?: ((isPayer: boolean) => any) | undefined, payer?: ((isPayer: boolean) => any) | undefined) => Promise<{
txId: string;
}>;