private async void AcceptorPaymentSpent( ICurrencySwap currencySwap, SwapEventArgs swapArgs) { var swap = swapArgs.Swap; Log.Debug("Acceptor payment spent event for swap {@swapId}", swap.Id); try { // redeem by acceptor async (using purchased currency protocol) if (swap.IsAcceptor && swap.IsSoldCurrency(currencySwap.Currency) && swap.RewardForRedeem == 0) { await GetCurrencySwap(swap.PurchasedCurrency) .RedeemAsync(swap) .ConfigureAwait(false); } } catch (Exception e) { Log.Error(e, "Acceptor payment spent handler error"); } }
private async void InitiatorPaymentConfirmed( ICurrencySwap currencySwap, SwapEventArgs swapArgs) { var swap = swapArgs.Swap; Log.Debug("Initiator payment confirmed event for swap {@swapId}", swap.Id); try { // broadcast acceptor's payment tx (using sold currency protocol) if (swap.IsAcceptor && swap.IsPurchasedCurrency(currencySwap.Currency)) { await GetCurrencySwap(swap.SoldCurrency) .BroadcastPaymentAsync(swap) .ConfigureAwait(false); // wait for redeem by other party or someone else if (swap.RewardForRedeem > 0) { await GetCurrencySwap(swap.PurchasedCurrency) .WaitForRedeemAsync(swap) .ConfigureAwait(false); } } } catch (Exception e) { Log.Error(e, "Initiator payment confirmed handler error"); } }
private async void AcceptorPaymentConfirmed( ICurrencySwap currencySwap, SwapEventArgs swapArgs) { var swap = swapArgs.Swap; Log.Debug("Acceptor payment confirmed event for swap {@swapId}", swap.Id); try { // party redeem if (swap.IsInitiator && swap.IsPurchasedCurrency(currencySwap.Currency) && swap.PartyRewardForRedeem > 0) // todo: user param >= 2*RedeemFee { await GetCurrencySwap(swap.SoldCurrency) .PartyRedeemAsync(swap) .ConfigureAwait(false); } } catch (Exception e) { Log.Error(e, "Acceptor payment confirmed handler error"); } }
private async void SwapUpdatedHandler(object sender, SwapEventArgs args) { try { var result = await _account .UpdateSwapAsync(args.Swap) .ConfigureAwait(false); if (!result) { Log.Error("Swap update error"); } SwapUpdated?.Invoke(this, args); } catch (Exception e) { Log.Error(e, "Swap update error"); } }