UNPKG

@daochild/tronweb-typescript

Version:

Typescript support package for tronweb library ^4.x, ^5.x

542 lines (541 loc) 14.7 kB
declare module 'tronweb/interfaces' { /** * A string which is prefixed with ``0x`` and followed by any number * of case-agnostic hexadecimal characters. * * It must match the regular expression ``/0x[0-9A-Fa-f]*\/``. */ type HexString = string; /** * A [[HexString]] whose length is even, which ensures it is a valid * representation of binary data. */ type DataHexString = string; /** * An object that can be used to represent binary data. */ type BytesLike = DataHexString | Uint8Array; /** * About frgaments... * * @_subsection api/abi/abi-coder:Fragments [about-fragments] */ /** * A type description in a JSON API. */ interface JsonFragmentType { /** * The parameter name. */ readonly name?: string; /** * If the parameter is indexed. */ readonly indexed?: boolean; /** * The type of the parameter. */ readonly type?: string; /** * The internal Solidity type. */ readonly internalType?: string; /** * The components for a tuple. */ readonly components?: ReadonlyArray<JsonFragmentType>; } /** * A fragment for a method, event or error in a JSON API. */ interface JsonFragment { /** * The name of the error, event, function, etc. */ readonly name?: string; /** * The type of the fragment (e.g. ``event``, ``"function"``, etc.) */ readonly type?: string; /** * If the event is anonymous. */ readonly anonymous?: boolean; /** * If the function is payable. */ readonly payable?: boolean; /** * If the function is constant. */ readonly constant?: boolean; /** * The mutability state of the function. */ readonly stateMutability?: string; /** * The input parameters. */ readonly inputs?: ReadonlyArray<JsonFragmentType>; /** * The output parameters. */ readonly outputs?: ReadonlyArray<JsonFragmentType>; /** * The gas limit to use when sending a transaction for this function. */ readonly gas?: string; } type Resource = "BANDWIDTH" | "ENERGY"; type BlockInput = 'latest' | 'earliest' | number; interface NodeConfig { host: string; timeout: number; user: string; password: string; headers: object; statusPage: string; instance: any; isConnected: Function; } interface Account { address: { base58: string; hex: string; }; privateKey: string; publicKey: string; __proto__: Object; } interface AccountMnemonic { mnemonic: { phrase: string; path: string; locale: string; }; privateKey: string; publicKey: string; address: string; } interface CreateRandomOptions { path: string; extraEntropy: string; locale: string; } interface Transaction { block: number; timestamp: number; contract: string; name: string; transaction: string; result: { r: string; afterSeed: string; s: string; index: string; previousSeed: string; updater: string; timestamp: string; }; resourceNode: string; } interface EventResult { block: number; timestamp: number; contract: string; name: string; transaction: string; result: { index: string; rng: string; timestamp: string; }; resourceNode: string; } interface TrxAccount { address: string; balance: number; frozen: { frozen_balance: number; expire_time: number; }[]; create_time: number; latest_opration_time: number; latest_consume_free_time: number; account_resource: { frozen_balance_for_energy: { frozen_balance: number; expire_time: number; }; latest_consume_time_for_energy: number; }; owner_permission: { permission_name: string; threshold: number; keys: [[Object] | Object]; }; active_permission: { type: string; id: number; permission_name: string; threshold: number; operations: string; keys: [Array<any>]; }[]; assetV2: { key: string; value: number; }[]; free_asset_net_usageV2: { key: string; value: number; }[]; } interface ParameterValueOnTriggerSC { data: string; token_id: number; owner_address: string; call_token_value: number; contract_address: string; } interface RawDataContract { parameter: { value: { amount: number; owner_address: string; to_address: string; } | ParameterValueOnTriggerSC | Object; type_url: string; }; type: string; } interface TransactionRawData { contract: RawDataContract[] | Object[]; ref_block_bytes: string; ref_block_hash: string; expiration: number; timestamp: number; fee_limit?: number; } interface Transaction { ret?: {}[]; visible?: boolean; signature?: string[]; txID: string; raw_data: TransactionRawData; raw_data_hex: string; } interface TransactionResult { result: { [key: string]: any; } | boolean; approved_list?: string[]; transaction: { result: { result: boolean; }; txid: string; transaction: { signature: any[]; txID: string; raw_data: object | object[] | TransactionRawData | TransactionRawData[]; raw_data_hex: string; }; } | Transaction; } interface TronAccountResource { freeNetLimit: number; netLimit: number; assetNetUsed: { key: string; value: number; }[]; assetNetLimit: { key: string; value: number; }[]; totalNetLimit: number; totalNetWeight: number; energyLimit: number; totalEnergyLimit: number; totalEnergyWeight: number; } interface BlockTransaction { txID: string; raw_data: object | object[] | TransactionRawData | TransactionRawData[]; raw_data_hex: string; ret?: any[]; signature?: any[]; } interface BlockInfo { blockID: string; block_header: { raw_data: { number?: number; txTrieRoot: string; witness_address: string; parentHash: string; timestamp?: number; version?: number; }; witness_signature: string; }; transactions?: BlockTransaction[]; } interface KeyValue { key: string; value?: number; } interface ChainParameter extends KeyValue { } interface DelegatedResource { from: string; to: string; frozen_balance_for_bandwidth: number; } interface DelegatedResourceList { delegatedResource: DelegatedResource[]; } interface DelegatedResourceAccount { account: string | HexString; toAccounts: string[] | HexString[]; } interface Exchange { exchange_id: number; creator_address: string | HexString; create_time: number; first_token_id: string; first_token_balance: number; second_token_id: string; second_token_balance: number; } interface ConfigNodeInfo { activeNodeSize: number; allowAdaptiveEnergy: number; allowCreationOfContracts: number; backupListenPort: number; backupMemberSize: number; backupPriority: number; codeVersion: string; dbVersion: number; discoverEnable: boolean; listenPort: number; maxConnectCount: number; maxTimeRatio: number; minParticipationRate: number; minTimeRatio: number; p2pVersion: string; passiveNodeSize: number; sameIpMaxConnectCount: number; sendNodeSize: number; supportConstant: boolean; versionName: string; versionNum: string; } interface MachineInfo { cpuCount: number; cpuRate: number; deadLockThreadCount: number; deadLockThreadInfoList: any[]; freeMemory: number; javaVersion: string; jvmFreeMemory: number; jvmTotalMemoery: number; memoryDescInfoList: any[]; osName: string; processCpuRate: number; threadCount: number; totalMemory: number; } interface PeerInfo { active: boolean; avgLatency: number; blockInPorcSize: number; connectTime: number; disconnectTimes: number; headBlockTimeWeBothHave: number; headBlockWeBothHave: string; host: string; inFlow: number; lastBlockUpdateTime: number; lastSyncBlock: string; localDisconnectReason: string; needSyncFromPeer: boolean; needSyncFromUs: boolean; nodeCount: number; nodeId: string; port: number; remainNum: number; remoteDisconnectReason: string; score: number; syncBlockRequestedSize: number; syncFlag: boolean; syncToFetchSize: number; syncToFetchSizePeekNum: number; unFetchSynNum: number; } interface NodeInfo { activeConnectCount: number; beginSyncNum: number; block: string; cheatWitnessInfoMap: any; configNodeInfo: ConfigNodeInfo; currentConnectCount: number; machineInfo: MachineInfo; passiveConnectCount: number; peerList: PeerInfo[]; solidityBlock: string; totalFlow: number; } interface TokenInfo { owner_address: string; name: string; abbr: string; total_supply: number; trx_num: number; precision: number; num: number; start_time: number; end_time: number; description: string; url: string; id: string; } interface Transaction { id: string; fee: number; blockNumber: number; blockTimeStamp: number; contractResult: string[]; contract_address: string; receipt: { origin_energy_usage: number; energy_usage_total: number; net_fee: number; result: string; }; log: { address: string; topics: string[]; data: string; }[]; internal_transactions?: { hash: string; caller_address: string; transferTo_address: string; callValueInfo: string[]; note: string; }[]; } interface Proposal { proposal_id: number; proposer_address: string; parameters: { [key: string]: any; }[]; expiration_time: number; create_time: number; approvals: string[]; state: 'APPROVED' | 'DISAPPROVED' | 'IN_VOTING'; } interface Miner { address: string; voteCount: number; url: string; totalProduced: number; totalMissed: number; latestBlockNum: number; latestSlotNum: number; isJobs: boolean; } interface AssetTRC10 { name: string; abbreviation: string; description: string; url: string; totalSupply: number; trxRatio: number; tokenRatio: number; saleStart: number; saleEnd: number; freeBandwidth: number; freeBandwidthLimit: number; frozenAmount: number; frozenDuration: number; precision: number; permission_id?: number; } interface ContractExecutionParams { feeLimit: number; callValue: number; tokenId?: string; tokenValue?: number; userFeePercentage: number; originEnergyLimit: number; abi: string; bytecode: string; parameters?: string; name: string; permissionId?: number; } interface EnergyEstimate { result: Object; energy_required: number; } interface TriggerConstantContractResult { result: { result: boolean; }; energy_used: number; constant_result: string[]; logs: { address: string; data: string; topics: string[]; }[]; transaction: Transaction; } interface Header { ["string"]: string; } interface TronWebConstructor { fullHost: string; headers?: Header; privateKey?: string; } interface SideOptions { fullNode: string; solidityNode: string; eventServer: string; mainGatewayAddress: string; sideGatewayAddress: string; sideChainId: string; } interface AssetUpdate { description?: string; url?: string; freeBandwidth: number; freeBandwidthLimit: number; permissionId?: number; } interface TronContract { tronWeb: Object; injectPromise: Function; address: string; abi: JsonFragment[] | []; eventListener: boolean; bytecode: boolean | string; deployed: boolean | string; lastBlock: boolean | string | number; methods: Object; methodInstances: Object; props: []; } interface TronContractResult { contract_address: string; origin_address: string; abi: JsonFragment[] | [] | Object; bytecode: boolean | string; name: string; } }