import type { Abi } from "abitype"; import { type Hex } from "../../utils/encoding/hex.js"; import type { Prettify } from "../../utils/type-utils.js"; import type { ClientAndChain } from "../../utils/types.js"; import type { Account } from "../../wallets/interfaces/wallet.js"; /** * @extension DEPLOY */ export type PrepareDirectDeployTransactionOptions = Prettify; extraDataWithUri?: string; }>; /** * Prepares a direct deploy transaction with ABI. * @template TConstructor - The type of the ABI constructor. * @param options - The options for preparing the transaction. * @returns - The prepared transaction. * @example * ```ts * import { prepareDirectDeployTransaction } from "thirdweb/deploys"; * import { ethereum } from "thirdweb/chains"; * const tx = prepareDirectDeployTransaction({ * client, * chain: ethereum, * bytecode: "0x...", * constructorAbi: { * inputs: [{ type: "uint256", name: "value" }], * type: "constructor", * }, * constructorParams: [123], * }); * ``` * @extension DEPLOY */ export declare function prepareDirectDeployTransaction(options: PrepareDirectDeployTransactionOptions): import("../../transaction/prepare-transaction.js").PreparedTransaction<[], import("abitype").AbiFunction, import("../../transaction/prepare-transaction.js").PrepareTransactionOptions>; /** * Deploy a contract on a given chain * @param options - the deploy options * @returns - a promise that resolves to the deployed contract address * @example * * ## Deploying a regular contract from ABI and bytecode * * ```ts * import { deployContract } from "thirdweb/deploys"; * * const address = await deployContract({ * client, * chain, * bytecode: "0x...", * abi: contractAbi, * constructorParams: { * param1: "value1", * param2: 123, * }, * salt, // optional: salt enables deterministic deploys * }); * ``` * * ## Deploying a contract deterministically * * ```ts * import { deployContract } from "thirdweb/deploys"; * * const address = await deployContract({ * client, * chain, * bytecode: "0x...", * abi: contractAbi, * constructorParams: { * param1: "value1", * param2: 123, * }, * salt, // passing a salt will enable deterministic deploys * }); * ``` * @extension DEPLOY */ export declare function deployContract(options: PrepareDirectDeployTransactionOptions & { account: Account; salt?: string; extraDataWithUri?: Hex; isStylus?: boolean; }): Promise; //# sourceMappingURL=deploy-with-abi.d.ts.map