import { Starknet } from "../chain/starknet.service"; import { AddressMapTransactions, QueryTxFilter, replayBlockCallback } from "../types"; import BaseWatch from "./base/base.watch"; export interface IStarknetGetBlockResponse { block_hash: string; block_number: number; timestamp: number; transactions: IStarknetTransaction[]; } export interface IStarknetTransaction { calldata: string[]; max_fee: string; nonce: string; sender_address: string; signature: string[]; transaction_hash: string; type: string; version: string; } export interface IStarknetReceipt { transaction_hash: string; messages_sent: any[]; type: string; finality_status: string; execution_status: string; events: IStarknetEvent[]; block_number: number; block_hash: string; actual_fee: string; } export interface IStarknetEvent { data: string[]; from_address: string; keys: string[]; } export declare class StarknetWatch extends BaseWatch { readonly chain: Starknet; minConfirmations: number; private provider; constructor(chain: Starknet); getApiFilter(_address: string): Promise; init(): Promise; replayByBlockRPCProvider(blockNumber: number | "pending"): Promise; replayByBlockSequencerProvider(blockNumber: number | "pending"): Promise; publishTransfer(blockInfo: { block_hash: string; block_number: number; timestamp: number; }, transfers: any[], txmap: AddressMapTransactions, source?: string, callback?: () => void): Promise; replayBlock(start: number, end: number, changeBlock?: replayBlockCallback): Promise<{ start: number; end: number; }>; }