import type { Scope, SubscriptionRef } from "effect"; import { Context, Effect, Layer } from "effect"; import type { Abi, Address, ContractConstructorArgs, Hash, Hex, TransactionReceipt } from "viem"; import type { ClientNotFoundError, ContractWriteError, ReceiptTimeoutError, TransactionFailedError, TransactionReplacedError, UserRejectedError, WrongNetworkError } from "../core/index.js"; import { PublicClientService, WalletClientService, WalletNotConnectedError } from "../core/index.js"; import { BytecodeMismatchError, DeploymentError, DeploymentRevertedError } from "../deploy/index.js"; import type { GasPriceUnavailableError } from "../gas/index.js"; import { GasService } from "../gas/index.js"; import type { TxPolicy, TxState } from "../tx/index.js"; import { TxManager } from "../tx/index.js"; type DeployArgs = ContractConstructorArgs; type DeployArgsField = readonly [] extends DeployArgs ? { args?: DeployArgs | undefined; } : { args: DeployArgs; }; export type DeployResult = { hash: Hash; address: Address; receipt: TransactionReceipt; deployedBytecode: Hex; }; export type DeployServiceShape = { readonly deploy: (params: { chainId: number; abi: TAbi; bytecode: Hex; value?: bigint; account?: Address; gas?: bigint; } & DeployArgsField) => Effect.Effect; readonly deployAndTrack: (params: { chainId: number; abi: TAbi; bytecode: Hex; value?: bigint; account?: Address; policy?: TxPolicy; } & DeployArgsField) => Effect.Effect<{ stateRef: SubscriptionRef.SubscriptionRef; result: Effect.Effect; }, never, Scope.Scope>; readonly computeAddress: (params: { from: Address; nonce: bigint; }) => Effect.Effect; readonly verifyDeployment: (params: { chainId: number; address: Address; }) => Effect.Effect; readonly verifyDeploymentStrict: (params: { chainId: number; address: Address; expectedBytecode: Hex; }) => Effect.Effect; }; declare const DeployService_base: Context.TagClass; export declare class DeployService extends DeployService_base { } export declare const DeployServiceLive: Layer.Layer; export {}; //# sourceMappingURL=service.d.ts.map