UNPKG

@hicaru/bearby.js

Version:

The web3 inject of bearby walet to access massa blockchain

287 lines 7.37 kB
import { JsonRPCRequestMethods } from "../config/rpc-methods"; import { ArgTypes, NativeType } from "../config/args-types"; export type Params = object[] | string[] | number[] | (string | string[] | number[])[]; export interface RPCBody { method: JsonRPCRequestMethods; params: Params; } export interface JsonRPCResponse<T> { error?: { code: number; message: string; }; result?: T; id: number; jsonrpc: string; } export interface Slot { period: number; thread: number; } export interface JsonRPCResponseNodeStatus { node_id: string; node_ip: string; version: string; current_time: number; current_cycle: number; current_cycle_time: number; next_cycle_time: number; connected_nodes: { [key: string]: [string, boolean]; }; last_slot: { period: number; thread: number; }; next_slot: { period: number; thread: number; }; consensus_stats: { start_timespan: number; end_timespan: number; final_block_count: number; stale_block_count: number; clique_count: number; }; pool_stats: number[]; network_stats: { in_connection_count: number; out_connection_count: number; known_peer_count: number; banned_peer_count: number; active_node_count: number; }; execution_stats: { time_window_start: number; time_window_end: number; final_block_count: number; final_executed_operations_count: number; active_cursor: { period: number; thread: number; }; final_cursor: { period: number; thread: number; }; }; config: { genesis_timestamp: number; end_timestamp: number | null; thread_count: number; t0: number; delta_f0: number; operation_validity_periods: number; periods_per_cycle: number; block_reward: string; roll_price: string; max_block_size: number; }; chain_id: number; minimal_fees: string; } export interface JsonRPCResponseNodeStatusAddresses { address: string; thread: number; final_balance: string; final_roll_count: number; final_datastore_keys: Array<number[]>; candidate_balance: string; candidate_roll_count: number; candidate_datastore_keys: Array<number[]>; cycle_infos: Array<{ cycle: number; is_final: boolean; ok_count: number; nok_count: number; active_rolls: number | null; }>; } export interface JsonRPCResponseStakers { result?: Array<[string, number]>; } export interface Transaction { amount: string; recipient_address: string; } export type Datastore = Record<string, unknown>; export interface ExecuteSC { data: number[]; max_gas: number; datastore: Datastore; } export interface CallSC { target_addr: string; target_func: string; param: string; max_gas: number; coins: number; } export interface RollBuy { roll_count: number; } export interface RollSell { roll_count: number; } export interface OperationType { Transaction?: Transaction; ExecutSC?: ExecuteSC; CallSC?: CallSC; RollBuy?: RollBuy; RollSell?: RollSell; } export interface Operation { fee: string; expire_period: number; op: OperationType; } export interface WrappedOperation { content: Operation; signature: string; content_creator_pub_key?: string; content_creator_address?: string; id?: string; } export interface OperationTransaction { id: string; in_blocks: string[]; in_pool: boolean; is_operation_final: boolean | null; thread: number; op_exec_status: boolean | null; operation: WrappedOperation; } export interface GraphIntervalResponse { creator: string; id: string; is_final: boolean; is_in_blockclique: boolean; is_stale: boolean; parents: string[]; slot: Slot; } export interface MassaBlock { id: string; content?: { is_candidate: boolean; is_discarded: boolean; is_final: boolean; is_in_blockclique: boolean; block: { header: { content: { endorsements: { content: { endorsed_block: string; index: number; slot: Slot; }; creator_address: string; creator_public_key: string; id: string; signature: string; }; operation_merkle_root: string; parents: string[]; slot: Slot; }; creator_address: string; creator_public_key: string; id: string; signature: string; }; operations: string[]; }; }; } export interface JsonRPCResponseEndorsements { id: string; in_pool: boolean; in_blocks: string[]; is_final: boolean; endorsement: { content: { sender_public_key: string; slot: Slot; index: number; endorsed_block: string; }; signature: string; }; } export interface JsonRPCResponseCliques { block_ids: string[]; fitness: number; is_blockclique: boolean; } export interface SCEvent { data: string; context: EventExecutionContext; } export interface JsonRPCResponseFilteredSCOutputEvent { result?: SCEvent[]; } export interface EventExecutionContext { slot: Slot; block?: string; read_only: boolean; call_stack: string[]; index_in_slot: number; origin_operation_id?: string; is_final: boolean; is_error?: boolean; } export interface StateChanges { ledger_changes: Record<string, unknown>; async_pool_changes: Record<string, unknown>[]; pos_changes: Record<string, unknown>; executed_ops_changes: Record<string, unknown>; executed_denunciations_changes: Record<string, unknown>; execution_trail_hash_change: string; } export interface JsonRPCResponseExecuteReadOnly { result?: { executed_at: { period: number; thread: number; }; gas_cost: number; result: { Ok?: number[]; Error?: string; }; output_events: SCEvent[]; state_changes: StateChanges; }[]; } export interface EventFilterParam { start?: Slot; end?: Slot; emitter_address?: string; original_caller_address?: string; original_operation_id?: string; is_final?: boolean; is_error?: boolean; } export interface ExecuteReadOnlyBytecodeParam { max_gas: number; simulated_gas_price: number; bytecode: number[]; address?: string; } export interface ExecuteReadOnlyCall { fee?: number; maxGas?: number; coins?: number; targetAddress: string; targetFunction: string; parameter: CallParam[]; callerAddress?: string; } export interface CallParam { type: ArgTypes; vname?: string; value: NativeType | NativeType[] | Uint8Array; } //# sourceMappingURL=massa.d.ts.map