import { Dialect } from 'sequelize'; import { BlockingType, ContractVerificationMatchType } from './enums'; export interface IConfig { prefix: { valaddr: string; valcons: string; }; pool: { max: number; min: number; idle: number; acquire: number; }; dialectOptions: { name: Dialect; txTimeout: number; }; baseCoin: string[]; } export interface ICurrency { [coinSymbol: string]: string; } export interface INft { collection: string; nftId: string; amount: string; } export interface INftAddress { address: string; amount: string; } export interface IValidator_desc { details: string; moniker: string; website: string; identity: string; security_contact: string; } export interface ISwap { from: string; recipient: string; hashed_secret: string; transfer_type: number; amount: string; time_locked: string; secret: string; } export interface ISwapMultiple { sender: string; from: string; recipient: string; amount: string; tokenName: string; tokenSymbol: string; transactionNumber: string; chainFrom: string; chainTo: string; chainNameFrom: string; chainNameTo: string; chainName: string; chainNumber: string; v: string; r: string; s: string; } export interface INfts { nftId: string; nftCollection: string; creator: string; reserve: string; quantity: string; recipient: string; tokenUri: string; sub_token_ids: number[]; } export interface data { // fail info log: string; // send coin amount: string; coin: string; // create coin title: string; symbol: string; limit_volume: string; identity: string; initial_volume: string; initial_reserve: string; constant_reserve_ratio: number; // sell coin amount_to_sell: string; coin_to_sell: string; min_amount_to_buy: string; // buy coin amount_to_buy: string; coin_to_buy: string; max_amount_to_sell: string; // sell coin, buy coin amount_base: string; coin_base: string; // declare commission: string; reward_address: string; validator_address: string; validator_desc: IValidator_desc; // delegate delegator_address: string; // unbond completion_time: string; // multisig wallet: string; sender: string; threshold: string; owners: string; weights: string; recipient: string; // create transaction coins: string; signer_weight: number; transaction: string; confirmations: number; confirmed: boolean; // redeem_check coin_check: string; amount_check: string; check: string; proof: string; due_block: string; issuer: string; nonce_check: number; // swap atomic_swap: ISwap; swap_multiple: ISwapMultiple; // nft nft: INfts; // software upgrade softwareUpgrade: ISoftwareUpgrade; // EVM evmDataTransaction: IEvmDataTransaction; } export interface IEvmDataTransaction { ethereumTxHash: string; sender: string; recipient: string; coin: string; amount: string; } export interface ISoftwareUpgrade { plan: { name: string; time: string; height: number; }; title: string; proposer: string; description: string; } export interface set_online { validator: string; } export interface set_offline { validator: string; } export interface DatabaseOptions { dbLink?: string; archiveDBLink?: string; indexerLink?: string; logging?: boolean; dialect?: Dialect; sync?: boolean; txTimeout?: number; baseCoin?: string[]; timestamps?: boolean; timestampsIndexer?: boolean; timestampsArchiveDB?: boolean; } export interface IAddressBlockingData { isBlocked: boolean; blockedAt?: Date; blockedBy?: string; type: BlockingType; reason?: string; } export interface IAddressBookItem { id: number; name: string; address: string; comment?: string; } export interface IEvmData { [key: string]: any; header: Record; uncles: Record[]; receipts: Record[]; transactions: Record[]; } export interface IEvmBlockData { [key: string]: any; mixHash?: string; extraData?: string; nonce?: string; logsBloom?: string; stateRoot?: string; dificulty?: number; parentHash?: string; sha3Uncles?: string; receiptsRoot?: string; transactionsRoot?: string; } export interface IEvmContractVerificationData { [key: string]: any; verifiedAt: Date; matchType?: ContractVerificationMatchType; compilerVersion: string; evmVersion?: string; optimization?: boolean; optimizeRuns?: number; constructorArguments?: string; metadata?: Record; } export type IExtraData = Partial>; export interface IAbiItem { abi: []; } export type IAddressBook = Array; export interface LegacyCoinInfo { denom: string; amount: string; }