/** * @typedef {import("../account/AccountId.js").default} AccountId * @typedef {import("../file/FileId.js").default} FileId * @typedef {import("../Key.js").default} Key * @typedef {import("./ContractFunctionParameters.js").default} ContractFunctionParameters * @typedef {import("../Hbar.js").default} Hbar * @typedef {import("../Duration.js").default} Duration * @typedef {import("../channel/Channel.js").default} Channel * @typedef {import("../transaction/TransactionId.js").default} TransactionId * @typedef {import("../transaction/TransactionResponse.js").default} TransactionResponse * @typedef {import("../transaction/TransactionReceipt.js").default} TransactionReceipt * @typedef {import("../client/Client.js").ClientOperator} ClientOperator * @typedef {import("../Signer.js").Signer} Signer * @typedef {import("../PrivateKey.js").default} PrivateKey * @typedef {import("../PublicKey.js").default} PublicKey * @typedef {import("../transaction/Transaction.js").default} Transaction */ /** * @typedef {import("bignumber.js").BigNumber} BigNumber * @typedef {import("long").Long} Long */ export default class ContractCreateFlow { /** @type {Uint8Array | null} */ _bytecode: Uint8Array | null; _contractCreate: ContractCreateTransaction; /** * Read `Transaction._signerPublicKeys` * * @internal * @type {Set} */ _signerPublicKeys: Set; /** * Read `Transaction._publicKeys` * * @private * @type {PublicKey[]} */ private _publicKeys; /** * Read `Transaction._transactionSigners` * * @private * @type {((message: Uint8Array) => Promise)[]} */ private _transactionSigners; _maxChunks: number | null; /** * @returns {number | null} */ get maxChunks(): number | null; /** * @param {number} maxChunks * @returns {this} */ setMaxChunks(maxChunks: number): this; /** * @returns {?Uint8Array} */ get bytecode(): Uint8Array | null; /** * @param {string | Uint8Array} bytecode * @returns {this} */ setBytecode(bytecode: string | Uint8Array): this; /** * @returns {?Key} */ get adminKey(): import("../Key.js").default | null; /** * @param {Key} adminKey * @returns {this} */ setAdminKey(adminKey: Key): this; /** * @returns {?Long} */ get gas(): import("long").Long | null; /** * @param {number | Long} gas * @returns {this} */ setGas(gas: number | Long): this; /** * @returns {?Hbar} */ get initialBalance(): import("../Hbar.js").default | null; /** * Set the initial amount to transfer into this contract. * * @param {number | string | Long | BigNumber | Hbar} initialBalance * @returns {this} */ setInitialBalance(initialBalance: number | string | Long | BigNumber | Hbar): this; /** * @deprecated * @returns {?AccountId} */ get proxyAccountId(): import("../account/AccountId.js").default | null; /** * @deprecated * @param {AccountId | string} proxyAccountId * @returns {this} */ setProxyAccountId(proxyAccountId: AccountId | string): this; /** * @returns {Duration} */ get autoRenewPeriod(): import("../Duration.js").default; /** * @param {Duration | Long | number} autoRenewPeriod * @returns {this} */ setAutoRenewPeriod(autoRenewPeriod: Duration | Long | number): this; /** * @returns {?Uint8Array} */ get constructorParameters(): Uint8Array | null; /** * @param {Uint8Array | ContractFunctionParameters} constructorParameters * @returns {this} */ setConstructorParameters(constructorParameters: Uint8Array | ContractFunctionParameters): this; /** * @returns {?string} */ get contractMemo(): string | null; /** * @param {string} contractMemo * @returns {this} */ setContractMemo(contractMemo: string): this; /** * @returns {?number} */ get maxAutomaticTokenAssociation(): number | null; /** * @param {number} maxAutomaticTokenAssociation * @returns {this} */ setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociation: number): this; /** * @returns {?AccountId} */ get stakedAccountId(): import("../account/AccountId.js").default | null; /** * @param {AccountId | string} stakedAccountId * @returns {this} */ setStakedAccountId(stakedAccountId: AccountId | string): this; /** * @returns {?Long} */ get stakedNodeId(): import("long").Long | null; /** * @param {Long | number} stakedNodeId * @returns {this} */ setStakedNodeId(stakedNodeId: Long | number): this; /** * @returns {boolean} */ get declineStakingRewards(): boolean; /** * @param {boolean} declineStakingReward * @returns {this} */ setDeclineStakingReward(declineStakingReward: boolean): this; /** * @returns {?AccountId} */ get autoRenewAccountId(): import("../account/AccountId.js").default | null; /** * @param {string | AccountId} autoRenewAccountId * @returns {this} */ setAutoRenewAccountId(autoRenewAccountId: string | AccountId): this; /** * Sign the transaction with the private key * **NOTE**: This is a thin wrapper around `.signWith()` * * @param {PrivateKey} privateKey * @returns {this} */ sign(privateKey: PrivateKey): this; /** * Sign the transaction with the public key and signer function * * If sign on demand is enabled no signing will be done immediately, instead * the private key signing function and public key are saved to be used when * a user calls an exit condition method (not sure what a better name for this is) * such as `toBytes[Async]()`, `getTransactionHash[PerNode]()` or `execute()`. * * @param {PublicKey} publicKey * @param {(message: Uint8Array) => Promise} transactionSigner * @returns {this} */ signWith(publicKey: PublicKey, transactionSigner: (message: Uint8Array) => Promise): this; /** * @template {Channel} ChannelT * @template MirrorChannelT * @param {import("../client/Client.js").default} client * @param {number=} requestTimeout * @returns {Promise} */ execute(client: import("../client/Client.js").default, requestTimeout?: number | undefined): Promise; /** * @param {Signer} signer * @returns {Promise} */ executeWithSigner(signer: Signer): Promise; } export type AccountId = import("../account/AccountId.js").default; export type FileId = import("../file/FileId.js").default; export type Key = import("../Key.js").default; export type ContractFunctionParameters = import("./ContractFunctionParameters.js").default; export type Hbar = import("../Hbar.js").default; export type Duration = import("../Duration.js").default; export type Channel = import("../channel/Channel.js").default; export type TransactionId = import("../transaction/TransactionId.js").default; export type TransactionResponse = import("../transaction/TransactionResponse.js").default; export type TransactionReceipt = import("../transaction/TransactionReceipt.js").default; export type ClientOperator = import("../client/Client.js").ClientOperator; export type Signer = import("../Signer.js").Signer; export type PrivateKey = import("../PrivateKey.js").default; export type PublicKey = import("../PublicKey.js").default; export type Transaction = import("../transaction/Transaction.js").default; export type BigNumber = import("bignumber.js").BigNumber; export type Long = import("long").Long; import ContractCreateTransaction from "./ContractCreateTransaction.js";