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;
 }
示例#3
0
 /// <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);
 }
示例#4
0
 /// <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);
 }