/// <summary> /// Gets a cold staking account. /// </summary> /// <remarks> /// <para>In order to keep track of cold staking addresses and balances we are using <see cref="HdAccount"/>'s /// with indexes starting from the value defined in <see cref="Wallet.SpecialPurposeAccountIndexesStart"/>. /// </para><para> /// We are using two such accounts, one when the wallet is in the role of cold wallet, and another one when /// the wallet is in the role of hot wallet. For this reason we specify the required account when calling this /// method. /// </para></remarks> /// <param name="wallet">The wallet where we wish to create the account.</param> /// <param name="isColdWalletAccount">Indicates whether we need the cold wallet account (versus the hot wallet account).</param> /// <returns>The cold staking account or <c>null</c> if the account does not exist.</returns> internal HdAccount GetColdStakingAccount(Wallet.Wallet wallet, bool isColdWalletAccount) { HdAccount account = wallet.GetAccount(isColdWalletAccount ? ColdWalletAccountName : HotWalletAccountName); if (account == null) { this.logger.LogTrace("(-)[ACCOUNT_DOES_NOT_EXIST]:null"); return(null); } this.logger.LogTrace("(-):'{0}'", account.Name); return(account); }
/// <summary> /// Gets a cold staking account. /// </summary> /// <remarks> /// <para>In order to keep track of cold staking addresses and balances we are using <see cref="HdAccount"/>'s /// with indexes starting from the value defined in <see cref="Wallet.SpecialPurposeAccountIndexesStart"/>. /// </para><para> /// We are using two such accounts, one when the wallet is in the role of cold wallet, and another one when /// the wallet is in the role of hot wallet. For this reason we specify the required account when calling this /// method. /// </para></remarks> /// <param name="wallet">The wallet where we wish to create the account.</param> /// <param name="isColdWalletAccount">Indicates whether we need the cold wallet account (versus the hot wallet account).</param> /// <returns>The cold staking account or <c>null</c> if the account does not exist.</returns> public HdAccount GetColdStakingAccount(Wallet.Wallet wallet, bool isColdWalletAccount) { var coinType = wallet.Network.Consensus.CoinType; HdAccount account = wallet.GetAccount(isColdWalletAccount ? ColdWalletAccountName : HotWalletAccountName); if (account == null) { this.logger.LogTrace("(-)[ACCOUNT_DOES_NOT_EXIST]:null"); return(null); } this.logger.LogTrace("(-):'{0}'", account.Name); return(account); }
/// <summary> /// Gets a cold staking account. /// </summary> /// <remarks> /// <para>In order to keep track of cold staking addresses and balances we are using <see cref="HdAccount"/>'s /// with indexes starting from the value defined in <see cref="Wallet.Wallet.SpecialPurposeAccountIndexesStart"/>. /// </para><para> /// We are using two such accounts, one when the wallet is in the role of cold wallet, and another one when /// the wallet is in the role of hot wallet. For this reason we specify the required account when calling this /// method. /// </para></remarks> /// <param name="wallet">The wallet where we wish to create the account.</param> /// <param name="isColdWalletAccount">Indicates whether we need the cold wallet account (versus the hot wallet account).</param> /// <returns>The cold staking account or <c>null</c> if the account does not exist.</returns> internal HdAccount GetColdStakingAccount(Wallet.Wallet wallet, bool isColdWalletAccount) { this.logger.LogTrace("({0}:'{1}',{2}:{3})", nameof(wallet), wallet.Name, nameof(isColdWalletAccount), isColdWalletAccount); var coinType = (CoinType)wallet.Network.Consensus.CoinType; HdAccount account = wallet.GetAccount(isColdWalletAccount ? ColdWalletAccountName : HotWalletAccountName); if (account == null) { this.logger.LogTrace("(-)[ACCOUNT_DOES_NOT_EXIST]:null"); return(null); } this.logger.LogTrace("(-):'{0}'", account.Name); return(account); }