public void Configure(ClusterConfig clusterConfig, PoolConfig poolConfig) { Contract.RequiresNonNull(poolConfig, nameof(poolConfig)); this.poolConfig = poolConfig; this.clusterConfig = clusterConfig; extraConfig = poolConfig.PaymentProcessing.Extra.SafeExtensionDataAs <MoneroPoolPaymentProcessingConfigExtra>(); logger = LogUtil.GetPoolScopedLogger(typeof(MoneroPayoutHandler), poolConfig); // configure standard daemon var jsonSerializerSettings = ctx.Resolve <JsonSerializerSettings>(); var daemonEndpoints = poolConfig.Daemons .Where(x => string.IsNullOrEmpty(x.Category)) .ToArray(); daemon = new DaemonClient(jsonSerializerSettings); daemon.Configure(daemonEndpoints, MoneroConstants.DaemonRpcLocation); // configure wallet daemon var walletDaemonEndpoints = poolConfig.Daemons .Where(x => x.Category?.ToLower() == MoneroConstants.WalletDaemonCategory) .ToArray(); walletDaemon = new DaemonClient(jsonSerializerSettings); walletDaemon.Configure(walletDaemonEndpoints, MoneroConstants.DaemonRpcLocation); }
public async Task ConfigureAsync(ClusterConfig clusterConfig, PoolConfig poolConfig) { Contract.RequiresNonNull(poolConfig, nameof(poolConfig)); this.poolConfig = poolConfig; this.clusterConfig = clusterConfig; extraConfig = poolConfig.PaymentProcessing.Extra.SafeExtensionDataAs <MoneroPoolPaymentProcessingConfigExtra>(); logger = LogUtil.GetPoolScopedLogger(typeof(MoneroPayoutHandler), poolConfig); // configure standard daemon var jsonSerializerSettings = ctx.Resolve <JsonSerializerSettings>(); var daemonEndpoints = poolConfig.Daemons .Where(x => string.IsNullOrEmpty(x.Category)) .ToArray(); daemon = new DaemonClient(jsonSerializerSettings); daemon.Configure(daemonEndpoints, MoneroConstants.DaemonRpcLocation); // configure wallet daemon var walletDaemonEndpoints = poolConfig.Daemons .Where(x => x.Category?.ToLower() == MoneroConstants.WalletDaemonCategory) .ToArray(); walletDaemon = new DaemonClient(jsonSerializerSettings); walletDaemon.Configure(walletDaemonEndpoints, MoneroConstants.DaemonRpcLocation); // detect transfer_split support var response = await walletDaemon.ExecuteCmdSingleAsync <TransferResponse>(MWC.TransferSplit); walletSupportsTransferSplit = response.Error.Code != MoneroConstants.MoneroRpcMethodNotFound; }