Exemple #1
0
 public void Unblind(IEnumerable <ICoin> unblindedCoins, bool saveUnblindData)
 {
     foreach (var coin in unblindedCoins)
     {
         AssetMoney assetMoney = null;
         if (coin is AssetCoin assetCoin)
         {
             assetMoney = assetCoin.Money;
         }
         if (coin.TxOut is ElementsTxOut elementsTxOut &&
             elementsTxOut.Asset.AssetId != null &&
             elementsTxOut.Value != null)
         {
             assetMoney = new AssetMoney(elementsTxOut.Asset.AssetId, elementsTxOut.Value.Satoshi);
         }
         if (assetMoney != null &&
             TryGetReceivedCoinByIndex((int)coin.Outpoint.N) is Coin existingCoin)
         {
             if (saveUnblindData)
             {
                 Unblinded.TryAdd((int)existingCoin.Outpoint.N, assetMoney);
             }
             this.ReceivedCoins.Remove(existingCoin);
             this.ReceivedCoins.Add(new AssetCoin(assetMoney, existingCoin));
         }
     }
 }
Exemple #2
0
 public void Unblind(IEnumerable <ElementsTransactionMatchData.UnblindData> unblindData)
 {
     foreach (var unblind in unblindData)
     {
         if (TryGetReceivedCoinByIndex(unblind.Index) is Coin existingCoin)
         {
             this.ReceivedCoins.Remove(existingCoin);
             var money = new AssetMoney(unblind.AssetId, unblind.Value);
             this.ReceivedCoins.Add(new AssetCoin(money, existingCoin));
             this.Unblinded.Add(unblind.Index, money);
         }
     }
 }