mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-06 10:32:13 +01:00
* Renamed "WithdrawAsync" to "WithdrawToStoreWalletAsync" * WIP * WIP withdrawal + Refactored Form saving to JObject * WIP * Form to fix bad values during withdrawing appears correctly * WIP * Lots of cleanup and refactoring + Password field and toggle password view * Cleanup + Finishing touches on withdrawals * Added "Destination" dummy text as this is always the destination. * Fixed broken test * Added support for withdrawing using qty as a percentage if it ends with "%". Needs more testing. * Fixed broken build * Fixed broken build (2) * Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json Co-authored-by: d11n <mail@dennisreimann.de> * Update BTCPayServer/wwwroot/swagger/v1/swagger.template.custodians.json Co-authored-by: d11n <mail@dennisreimann.de> * Improved unit tests * Fixed swagger bug * Test improvements Make string conversion of quantity explicitely. * Fix build warnings * Swagger: Add missing operationId * Made change Dennis requested * Removed unused file * Removed incorrect comment * Extra contructor * Renamed client methods * Cleanup config before saving * Fixed broken controller * Refactor custodian * Fix build * Make decimal fields strings to match the rest of Greenfield * Improve parsing of % quantities --------- Co-authored-by: d11n <mail@dennisreimann.de> Co-authored-by: nicolas.dorier <nicolas.dorier@gmail.com>
29 lines
1.1 KiB
C#
29 lines
1.1 KiB
C#
using System;
|
|
using System.Globalization;
|
|
using BTCPayServer.Client.Models;
|
|
using BTCPayServer.Lightning;
|
|
using NBitcoin.JsonConverters;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace BTCPayServer.Client.JsonConverters
|
|
{
|
|
public class TradeQuantityJsonConverter : JsonConverter<TradeQuantity>
|
|
{
|
|
public override TradeQuantity ReadJson(JsonReader reader, Type objectType, TradeQuantity existingValue, bool hasExistingValue, JsonSerializer serializer)
|
|
{
|
|
if (reader.TokenType == JsonToken.Null)
|
|
return null;
|
|
if (reader.TokenType != JsonToken.String)
|
|
throw new JsonObjectException("Invalid TradeQuantity, expected string. Expected: \"1.50\" or \"50%\"", reader);
|
|
if (TradeQuantity.TryParse((string)reader.Value, out var q))
|
|
return q;
|
|
throw new JsonObjectException("Invalid format for TradeQuantity. Expected: \"1.50\" or \"50%\"", reader);
|
|
}
|
|
|
|
public override void WriteJson(JsonWriter writer, TradeQuantity value, JsonSerializer serializer)
|
|
{
|
|
if (value is not null)
|
|
writer.WriteValue(value.ToString());
|
|
}
|
|
}
|
|
}
|