import { type Address } from "viem"; import { type OnchainSDK, SDKConstruct } from "../../sdk/index.js"; import type { AnvilClient } from "../createAnvilClient.js"; import type { IMinter } from "./types.js"; export default abstract class AbstractMinter extends SDKConstruct implements IMinter { protected readonly anvil: AnvilClient; name: string; constructor(sdk: OnchainSDK, anvil: AnvilClient); tryMint(token: Address, dest: Address, amount: bigint): Promise; abstract mint(token: Address, dest: Address, amount: bigint): Promise; protected getOwner(address: Address): Promise
; protected impersonateWithBalance(address: Address, balance?: string): Promise<() => Promise>; protected fmt(token: Address, amount: bigint): string; protected balanceOf(token: Address, dest: Address): Promise; }