/** * @typedef {import("bignumber.js").default} BigNumber * @typedef {import("../channel/Channel.js").default} Channel * @typedef {import("../client/Client.js").default<*, *>} Client * @typedef {import("../Timestamp.js").default} Timestamp * @typedef {import("../transaction/TransactionId.js").default} TransactionId */ /** * Create a new Hederaâ„¢ crypto-currency account. */ export default class AccountCreateTransaction extends Transaction { /** * @internal * @param {HashgraphProto.proto.ITransaction[]} transactions * @param {HashgraphProto.proto.ISignedTransaction[]} signedTransactions * @param {TransactionId[]} transactionIds * @param {AccountId[]} nodeIds * @param {HashgraphProto.proto.ITransactionBody[]} bodies * @returns {AccountCreateTransaction} */ static _fromProtobuf(transactions: HashgraphProto.proto.ITransaction[], signedTransactions: HashgraphProto.proto.ISignedTransaction[], transactionIds: TransactionId[], nodeIds: AccountId[], bodies: HashgraphProto.proto.ITransactionBody[]): AccountCreateTransaction; /** * @param {object} [props] * @param {Key} [props.key] * @param {number | string | Long | BigNumber | Hbar} [props.initialBalance] * @param {boolean} [props.receiverSignatureRequired] * @param {AccountId} [props.proxyAccountId] * @param {Duration | Long | number} [props.autoRenewPeriod] * @param {string} [props.accountMemo] * @param {Long | number} [props.maxAutomaticTokenAssociations] * @param {AccountId | string} [props.stakedAccountId] * @param {Long | number} [props.stakedNodeId] * @param {boolean} [props.declineStakingReward] * @param {PublicKey} [props.aliasKey] * @param {EvmAddress} [props.aliasEvmAddress] */ constructor(props?: { key?: Key | undefined; initialBalance?: string | number | Long.Long | import("bignumber.js").BigNumber | Hbar | undefined; receiverSignatureRequired?: boolean | undefined; proxyAccountId?: AccountId | undefined; autoRenewPeriod?: number | Long.Long | Duration | undefined; accountMemo?: string | undefined; maxAutomaticTokenAssociations?: number | Long.Long | undefined; stakedAccountId?: string | AccountId | undefined; stakedNodeId?: number | Long.Long | undefined; declineStakingReward?: boolean | undefined; aliasKey?: PublicKey | undefined; aliasEvmAddress?: EvmAddress | undefined; } | undefined); /** * @private * @type {?Key} */ private _key; /** * @private * @type {?Hbar} */ private _initialBalance; /** * @private * @type {Hbar} */ private _sendRecordThreshold; /** * @private * @type {Hbar} */ private _receiveRecordThreshold; /** * @private * @type {boolean} */ private _receiverSignatureRequired; /** * @private * @type {?AccountId} */ private _proxyAccountId; /** * @private * @type {Duration} */ private _autoRenewPeriod; /** * @private * @type {?string} */ private _accountMemo; /** * @private * @type {?Long} */ private _maxAutomaticTokenAssociations; /** * @private * @type {?AccountId} */ private _stakedAccountId; /** * @private * @type {?Long} */ private _stakedNodeId; /** * @private * @type {boolean} */ private _declineStakingReward; /** * @private * @type {?PublicKey} */ private _aliasKey; /** * @private * @type {?EvmAddress} */ private _aliasEvmAddress; /** * @returns {?Key} */ get key(): Key | null; /** * Set the key for this account. * * This is the key that must sign each transfer out of the account. * * If `receiverSignatureRequired` is true, then the key must also sign * any transfer into the account. * * @param {Key} key * @returns {this} */ setKey(key: Key): this; /** * @returns {?Hbar} */ get initialBalance(): Hbar | null; /** * Set the initial amount to transfer into this account. * * @param {number | string | Long | BigNumber | Hbar} initialBalance * @returns {this} */ setInitialBalance(initialBalance: number | string | Long | BigNumber | Hbar): this; /** * @returns {boolean} */ get receiverSignatureRequired(): boolean; /** * Set to true to require the key for this account to sign any transfer of * hbars to this account. * * @param {boolean} receiverSignatureRequired * @returns {this} */ setReceiverSignatureRequired(receiverSignatureRequired: boolean): this; /** * @deprecated * @returns {?AccountId} */ get proxyAccountId(): AccountId | null; /** * @deprecated * * Set the ID of the account to which this account is proxy staked. * @param {AccountId} proxyAccountId * @returns {this} */ setProxyAccountId(proxyAccountId: AccountId): this; /** * @returns {Duration} */ get autoRenewPeriod(): Duration; /** * Set the auto renew period for this account. * * @param {Duration | Long | number} autoRenewPeriod * @returns {this} */ setAutoRenewPeriod(autoRenewPeriod: Duration | Long | number): this; /** * @returns {?string} */ get accountMemo(): string | null; /** * @param {string} memo * @returns {this} */ setAccountMemo(memo: string): this; /** * @returns {?Long} */ get maxAutomaticTokenAssociations(): Long.Long | null; /** * @param {Long | number} maxAutomaticTokenAssociations * @returns {this} */ setMaxAutomaticTokenAssociations(maxAutomaticTokenAssociations: Long | number): this; /** * @returns {?AccountId} */ get stakedAccountId(): AccountId | null; /** * @param {AccountId | string} stakedAccountId * @returns {this} */ setStakedAccountId(stakedAccountId: AccountId | string): this; /** * @returns {?Long} */ get stakedNodeId(): 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; /** * @beta - Please note this is a beta feature and it's implementation is subject to change * @returns {?PublicKey} */ get aliasKey(): PublicKey | null; /** * @beta - Please note this is a beta feature and it's implementation is subject to change * @param {PublicKey} aliasKey * @returns {this} */ setAliasKey(aliasKey: PublicKey): this; /** * @beta - Please note this is a beta feature and it's implementation is subject to change * @returns {?EvmAddress} */ get aliasEvmAddress(): EvmAddress | null; /** * @beta - Please note this is a beta feature and it's implementation is subject to change * @param {Uint8Array | string | EvmAddress} aliasEvmAddress * @returns {this} */ setAliasEvmAddress(aliasEvmAddress: Uint8Array | string | EvmAddress): this; /** * @override * @protected * @returns {HashgraphProto.proto.ICryptoCreateTransactionBody} */ protected override _makeTransactionData(): HashgraphProto.proto.ICryptoCreateTransactionBody; } export type BigNumber = import("bignumber.js").default; export type Channel = import("../channel/Channel.js").default; export type Client = import("../client/Client.js").default; export type Timestamp = import("../Timestamp.js").default; export type TransactionId = import("../transaction/TransactionId.js").default; import Transaction from "../transaction/Transaction.js"; import Key from "../Key.js"; import Hbar from "../Hbar.js"; import Long from "long"; import AccountId from "./AccountId.js"; import Duration from "../Duration.js"; import PublicKey from "../PublicKey.js"; import EvmAddress from "../EvmAddress.js"; import * as HashgraphProto from "@hashgraph/proto";