private (KeyId collateralPubKeyHash, KeyId rewardPubKeyHash) GetPubKeyHashes(ServiceNodeSettings serviceNodeSettings, string walletName, string accountName) { var unusedAddresses = this.walletManager.GetUnusedAddresses(new WalletAccountReference(walletName, accountName), 2).ToList(); var collateralAddress = serviceNodeSettings.CollateralAddress ?? unusedAddresses[0].Address; var rewardAddress = serviceNodeSettings.RewardAddress ?? unusedAddresses[1].Address; KeyId collateralPubKeyHash = PayToPubkeyHashTemplate.Instance.ExtractScriptPubKeyParameters(BitcoinAddress.Create(collateralAddress, this.network).ScriptPubKey); KeyId rewardPubKeyHash = PayToPubkeyHashTemplate.Instance.ExtractScriptPubKeyParameters(BitcoinAddress.Create(rewardAddress, this.network).ScriptPubKey); return(collateralPubKeyHash, rewardPubKeyHash); }
public ServiceNodeController( ILoggerFactory loggerFactory, IWalletManager walletManager, IWalletTransactionHandler walletTransactionHandler, Network network, IBroadcasterManager broadcasterManager, IServiceNodeManager serviceNodeManager, NodeSettings nodeSettings, ServiceNodeSettings serviceNodeSettings) { this.walletManager = walletManager; this.walletTransactionHandler = walletTransactionHandler; this.network = network; this.logger = loggerFactory.CreateLogger(this.GetType().FullName); this.broadcasterManager = broadcasterManager; this.serviceNodeManager = serviceNodeManager; this.nodeSettings = nodeSettings; this.serviceNodeSettings = serviceNodeSettings; }
/// <summary> /// Prints command-line help. /// </summary> /// <param name="network">The network to extract values from.</param> public static void PrintHelp(Network network) { ServiceNodeSettings.PrintHelp(network); }
/// <summary> /// Get the default configuration. /// </summary> /// <param name="builder">The string builder to add the settings to.</param> /// <param name="network">The network to base the defaults off.</param> public static void BuildDefaultConfigurationFile(StringBuilder builder, Network network) { ServiceNodeSettings.BuildDefaultConfigurationFile(builder, network); }