mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2024-11-20 10:40:29 +01:00
33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using NBitcoin;
|
|
using NBXplorer;
|
|
using Newtonsoft.Json.Linq;
|
|
using static BTCPayServer.Data.PaymentRequestData;
|
|
|
|
namespace BTCPayServer.Data
|
|
{
|
|
public static class PaymentRequestDataExtensions
|
|
{
|
|
public static PaymentRequestBlob GetBlob(this PaymentRequestData paymentRequestData)
|
|
{
|
|
var result = paymentRequestData.Blob == null
|
|
? new PaymentRequestBlob()
|
|
: JObject.Parse(ZipUtils.Unzip(paymentRequestData.Blob)).ToObject<PaymentRequestBlob>();
|
|
return result;
|
|
}
|
|
|
|
public static bool SetBlob(this PaymentRequestData paymentRequestData, PaymentRequestBlob blob)
|
|
{
|
|
var original = new Serializer(Network.Main).ToString(paymentRequestData.GetBlob());
|
|
var newBlob = new Serializer(Network.Main).ToString(blob);
|
|
if (original == newBlob)
|
|
return false;
|
|
paymentRequestData.Blob = ZipUtils.Zip(newBlob);
|
|
return true;
|
|
}
|
|
}
|
|
}
|