UNPKG

airgap-coin-lib

Version:

The airgap-coin-lib is a protocol agnostic library to prepare, sign and broadcast cryptocurrency transactions.

111 lines (110 loc) 3.75 kB
import BigNumber from '../../dependencies/src/bignumber.js-9.0.0/bignumber'; export interface CosmosNodeInfo { protocol_version: { p2p: string; block: string; app: string; }; id: string; listen_addr: string; network: string; version: string; channels: string; moniker: string; other: { tx_index: string; rpc_address: string; }; } export interface CosmosAccount { type: string; value: CosmosAccountValue; } export interface CosmosAccountValue { account_number: string; address: string; coins: CosmosAccountCoin[]; sequence: string; public_key?: string; } export interface CosmosAccountCoin { denom: string; amount: string; } export interface CosmosDelegation { delegator_address: string; validator_address: string; shares: string; balance: string; } export interface CosmosUnbondingDelegation { delegator_address: string; validator_address: string; entries: { creation_height: string; completion_time: string; initial_balance: string; balance: string; }[]; } export interface CosmosValidator { operator_address: string; consensus_pubkey: string; jailed: boolean; status: number; tokens: string; delegator_shares: string; description: CosmosValidatorDescription; unbonding_height: string; unbonding_time: string; commission: CosmosValidatorCommission; min_self_delegation: string; } export interface CosmosValidatorDescription { moniker: string; identity: string; website: string; details: string; } export interface CosmosValidatorCommission { commission_rates: CosmosValidatorCommissionRate; update_time: string; } export interface CosmosValidatorCommissionRate { rate: string; max_rate: string; max_change_rate: string; } export interface CosmosBroadcastSignedTransactionResponse { txhash: string; height: number; } export interface CosmosRewardDetails { validator_address: string; reward: { denom: string; amount: number; }[]; } export declare class CosmosNodeClient { readonly baseURL: string; useCORSProxy: boolean; constructor(baseURL: string, useCORSProxy?: boolean); fetchBalance(address: string, totalBalance?: boolean): Promise<BigNumber>; fetchNodeInfo(): Promise<CosmosNodeInfo>; broadcastSignedTransaction(transaction: string): Promise<string>; fetchAccount(address: string): Promise<CosmosAccount>; fetchDelegations(address: string, filterEmpty?: boolean): Promise<CosmosDelegation[]>; fetchTotalDelegatedAmount(address: string): Promise<BigNumber>; fetchValidator(address: string): Promise<CosmosValidator>; fetchValidators(): Promise<CosmosValidator[]>; fetchSelfDelegation(validatorAddress: string): Promise<CosmosDelegation>; fetchUnbondingDelegations(delegatorAddress: string): Promise<CosmosUnbondingDelegation[]>; fetchTotalUnbondingAmount(address: string): Promise<BigNumber>; fetchRewardDetails(delegatorAddress: string): Promise<CosmosRewardDetails[]>; fetchTotalReward(delegatorAddress: string): Promise<BigNumber>; fetchRewardForDelegation(delegatorAddress: string, validatorAddress: string): Promise<BigNumber>; withdrawAllDelegationRewards(delegatorAddress: string, chainID: string, accountNumber: string, sequence: string, gas: BigNumber, fee: BigNumber, memo: string, simulate?: boolean): Promise<string>; withdrawDelegationRewards(delegatorAddress: string, validatorAdress: string, chainID: string, accountNumber: string, sequence: string, gas: BigNumber, fee: BigNumber, memo: string, simulate?: boolean): Promise<string>; private url; }