import { Image, ProcessResult } from "@nomiclabs/hardhat-docker"; import { HardhatRuntimeEnvironment } from "hardhat/types"; import { ExternalServer } from "./external-server"; import { FeeEstimation } from "./starknet-types"; import { BlockNumber } from "./types"; interface CompileWrapperOptions { file: string; output: string; abi: string; cairoPath: string; accountContract: boolean; disableHintValidation: boolean; } interface CairoToSierraOptions { path: string; output: string; binDirPath?: string; replaceIds?: boolean; allowedLibfuncsListName?: string; allowedLibfuncsListFile?: string; singleFile?: boolean; } interface SierraToCasmOptions { file: string; output: string; binDirPath?: string; allowedLibfuncsListName?: string; allowedLibfuncsListFile?: string; addPythonicHints?: boolean; } interface DeclareWrapperOptions { contract: string; maxFee: string; signature?: string[]; token?: string; sender?: string; nonce?: string; } interface TxHashQueryWrapperOptions { hash: string; } interface BlockQueryWrapperOptions { number?: BlockNumber; hash?: string; } interface NonceQueryWrapperOptions { address: string; blockHash?: string; blockNumber?: BlockNumber; } interface MigrateContractWrapperOptions { files: string[]; inplace: boolean; } export declare abstract class StarknetWrapper { protected externalServer: ExternalServer; protected hre: HardhatRuntimeEnvironment; constructor(externalServer: ExternalServer, hre: HardhatRuntimeEnvironment); protected get gatewayUrl(): string; execute(command: "starknet-compile-deprecated" | "get_class_hash" | "cairo-migrate" | "get_contract_class" | "get_contract_class_hash" | "get_compiled_class_hash", args: string[]): Promise; protected prepareDeprecatedCompileOptions(options: CompileWrapperOptions): string[]; deprecatedCompile(options: CompileWrapperOptions): Promise; abstract compileCairoToSierra(options: CairoToSierraOptions): Promise; abstract compileSierraToCasm(options: SierraToCasmOptions): Promise; protected prepareCairoToSierraOptions(options: CairoToSierraOptions): string[]; protected prepareSierraToCasmOptions(options: SierraToCasmOptions): string[]; protected getCairo1Command(binDirPath: string, binCommand: string, args: string[]): string[]; declare(options: DeclareWrapperOptions): Promise; getTxStatus(options: TxHashQueryWrapperOptions): Promise; getTransactionTrace(options: TxHashQueryWrapperOptions): Promise; getTransactionReceipt(options: TxHashQueryWrapperOptions): Promise; getTransaction(options: TxHashQueryWrapperOptions): Promise; getBlock(options: BlockQueryWrapperOptions): Promise; getNonce(options: NonceQueryWrapperOptions): Promise; getClassHash(artifactPath: string): Promise; getCompiledClassHash(casmPath: string): Promise; getSierraContractClassHash(casmPath: string): Promise; migrateContract(options: MigrateContractWrapperOptions): Promise; estimateMessageFee(functionName: string, fromAddress: string, toAddress: string, inputs: string[]): Promise; } export declare class DockerWrapper extends StarknetWrapper { private image; private rootPath; constructor(image: Image, rootPath: string, cairoPaths: string[], hre: HardhatRuntimeEnvironment); compileCairoToSierra(options: CairoToSierraOptions): Promise; compileSierraToCasm(options: SierraToCasmOptions): Promise; } export declare class VenvWrapper extends StarknetWrapper { constructor(venvPath: string, hre: HardhatRuntimeEnvironment); protected get gatewayUrl(): string; compileCairoToSierra(options: CairoToSierraOptions): Promise; compileSierraToCasm(options: SierraToCasmOptions): Promise; } export {};