import { Address, EventFilter, ExecuteSCReadOnlyParams, ExecuteSCReadOnlyResult, Network, SmartContract } from '..'; import { Mas } from '../basicElements/mas'; import { Operation, OperationOptions, OperationStatus } from '../operation'; import { rpcTypes as t } from '../generated'; import { CallSCParams, DeploySCParams, SignedData, ExecuteScParams, SignOptions, NodeStatusInfo, ReadSCData, ReadSCParams } from './'; export type PublicProvider = { balanceOf(addresses: string[], final?: boolean): Promise<{ address: string; balance: bigint; }[]>; networkInfos(): Promise; getOperationStatus(opId: string): Promise; getEvents(filter: EventFilter): Promise; getNodeStatus(): Promise; readSC(params: ReadSCParams): Promise; getStorageKeys(address: string, filter?: Uint8Array | string, final?: boolean): Promise; readStorage(address: string, keys: Uint8Array[] | string[], final?: boolean): Promise<(Uint8Array | null)[]>; executeSCReadOnly(params: ExecuteSCReadOnlyParams): Promise; }; /** * Defines the expected structure for a provider. */ export type Provider = PublicProvider & { /** Retrieves the account's address. */ get address(): string; /** Retrieves the account's name. */ get accountName(): string; /** Retrieves the provider's name associated with the account. */ get providerName(): string; /** Initiates a balance retrieval request for the account. */ balance(final: boolean): Promise; sign(data: Uint8Array | string, signOptions?: SignOptions): Promise; buyRolls(amount: Mas, opts?: OperationOptions): Promise; sellRolls(amount: Mas, opts?: OperationOptions): Promise; transfer(to: Address | string, amount: Mas, opts?: OperationOptions): Promise; callSC(params: CallSCParams): Promise; executeSC(params: ExecuteScParams): Promise; deploySC(params: DeploySCParams): Promise; };