Class LightningMoney
- Namespace
- NLightning.Common.Types
- Assembly
- NLightning.Bolt11.dll
public class LightningMoney : IMoney, IComparable, IComparable<IMoney>, IEquatable<IMoney>
- Inheritance
-
LightningMoney
- Implements
-
IMoneyIComparable<IMoney>IEquatable<IMoney>
- Inherited Members
Constructors
LightningMoney(decimal, LightningMoneyUnit)
public LightningMoney(decimal amount, LightningMoneyUnit unit)
Parameters
amount
decimalunit
LightningMoneyUnit
LightningMoney(long, LightningMoneyUnit)
public LightningMoney(long amount, LightningMoneyUnit unit)
Parameters
amount
longunit
LightningMoneyUnit
LightningMoney(ulong)
public LightningMoney(ulong milliSatoshi)
Parameters
milliSatoshi
ulong
LightningMoney(ulong, LightningMoneyUnit)
public LightningMoney(ulong amount, LightningMoneyUnit unit)
Parameters
amount
ulongunit
LightningMoneyUnit
Fields
CENT
public const ulong CENT = 1000000000
Field Value
COIN
public const ulong COIN = 100000000000
Field Value
NANO
public const ulong NANO = 10000000
Field Value
Properties
IsZero
public bool IsZero { get; }
Property Value
MilliSatoshi
public ulong MilliSatoshi { get; set; }
Property Value
Satoshi
public long Satoshi { get; set; }
Property Value
Zero
public static LightningMoney Zero { get; }
Property Value
Methods
Add(IMoney)
public IMoney Add(IMoney money)
Parameters
money
IMoney
Returns
- IMoney
Almost(LightningMoney, LightningMoney)
Tell if amount is almost equal to this instance
public bool Almost(LightningMoney amount, LightningMoney dust)
Parameters
amount
LightningMoneydust
LightningMoneymore or less amount
Returns
- bool
true if equals, else false
Almost(LightningMoney, decimal)
Tell if amount is almost equal to this instance
public bool Almost(LightningMoney amount, decimal margin)
Parameters
amount
LightningMoneymargin
decimalerror margin (between 0 and 1)
Returns
- bool
true if equals, else false
Bits(decimal)
public static LightningMoney Bits(decimal bits)
Parameters
bits
decimal
Returns
Cents(decimal)
public static LightningMoney Cents(decimal cents)
Parameters
cents
decimal
Returns
Coins(decimal)
public static LightningMoney Coins(decimal coins)
Parameters
coins
decimal
Returns
CompareTo(LightningMoney?)
public int CompareTo(LightningMoney? other)
Parameters
other
LightningMoney
Returns
CompareTo(object?)
public int CompareTo(object? obj)
Parameters
obj
object
Returns
Equals(LightningMoney?)
public bool Equals(LightningMoney? other)
Parameters
other
LightningMoney
Returns
Equals(object?)
Determines whether the specified object is equal to the current object.
public override bool Equals(object? obj)
Parameters
obj
objectThe object to compare with the current object.
Returns
FromUnit(decimal, LightningMoneyUnit)
public static LightningMoney FromUnit(decimal amount, LightningMoneyUnit unit)
Parameters
amount
decimalunit
LightningMoneyUnit
Returns
GetHashCode()
Serves as the default hash function.
public override int GetHashCode()
Returns
- int
A hash code for the current object.
Max(LightningMoney, LightningMoney)
public static LightningMoney Max(LightningMoney a, LightningMoney b)
Parameters
Returns
MilliSatoshis(long)
public static LightningMoney MilliSatoshis(long sats)
Parameters
sats
long
Returns
MilliSatoshis(ulong)
public static LightningMoney MilliSatoshis(ulong milliSats)
Parameters
milliSats
ulong
Returns
Min(LightningMoney, LightningMoney)
public static LightningMoney Min(LightningMoney a, LightningMoney b)
Parameters
Returns
Negate()
public IMoney Negate()
Returns
- IMoney
Parse(string)
Parse a bitcoin amount (Culture Invariant)
public static LightningMoney? Parse(string bitcoin)
Parameters
bitcoin
string
Returns
Satoshis(decimal)
public static LightningMoney Satoshis(decimal sats)
Parameters
sats
decimal
Returns
Satoshis(long)
public static LightningMoney Satoshis(long sats)
Parameters
sats
long
Returns
Satoshis(ulong)
public static LightningMoney Satoshis(ulong sats)
Parameters
sats
ulong
Returns
Split(int)
Split the Money in parts without loss
public IEnumerable<LightningMoney> Split(int parts)
Parameters
parts
intThe number of parts (must be more than 0)
Returns
- IEnumerable<LightningMoney>
The splitted money
Sub(IMoney)
public IMoney Sub(IMoney money)
Parameters
money
IMoney
Returns
- IMoney
ToDecimal(LightningMoneyUnit)
Convert Money to decimal (same as ToUnit)
public decimal ToDecimal(LightningMoneyUnit unit)
Parameters
unit
LightningMoneyUnit
Returns
ToString()
Returns a culture invariant string representation of Bitcoin amount
public override string ToString()
Returns
ToString(bool)
Returns a culture invariant string representation of Bitcoin amount
public string ToString(bool trimExcessZero = true)
Parameters
trimExcessZero
boolTrue if trim excess zeros
Returns
ToUnit(LightningMoneyUnit)
Convert Money to decimal (same as ToDecimal)
public decimal ToUnit(LightningMoneyUnit unit)
Parameters
unit
LightningMoneyUnit
Returns
TryParse(string, out LightningMoney?)
Parse a bitcoin amount (Culture Invariant)
public static bool TryParse(string bitcoin, out LightningMoney? nRet)
Parameters
bitcoin
stringnRet
LightningMoney
Returns
Operators
operator +(LightningMoney, LightningMoney)
public static LightningMoney operator +(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
operator /(LightningMoney, ulong)
public static LightningMoney operator /(LightningMoney left, ulong right)
Parameters
left
LightningMoneyright
ulong
Returns
operator ==(LightningMoney?, LightningMoney?)
public static bool operator ==(LightningMoney? a, LightningMoney? b)
Parameters
Returns
operator >(LightningMoney, LightningMoney)
public static bool operator >(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
operator >=(LightningMoney, LightningMoney)
public static bool operator >=(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
implicit operator LightningMoney(Money)
public static implicit operator LightningMoney(Money value)
Parameters
value
Money
Returns
implicit operator Money(LightningMoney)
public static implicit operator Money(LightningMoney value)
Parameters
value
LightningMoney
Returns
- Money
implicit operator long(LightningMoney)
public static implicit operator long(LightningMoney value)
Parameters
value
LightningMoney
Returns
implicit operator ulong(LightningMoney)
public static implicit operator ulong(LightningMoney value)
Parameters
value
LightningMoney
Returns
implicit operator LightningMoney(long)
public static implicit operator LightningMoney(long value)
Parameters
value
long
Returns
implicit operator LightningMoney(string)
public static implicit operator LightningMoney(string value)
Parameters
value
string
Returns
implicit operator LightningMoney(ulong)
public static implicit operator LightningMoney(ulong value)
Parameters
value
ulong
Returns
operator !=(LightningMoney, LightningMoney)
public static bool operator !=(LightningMoney a, LightningMoney b)
Parameters
Returns
operator <(LightningMoney, LightningMoney)
public static bool operator <(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
operator <=(LightningMoney, LightningMoney)
public static bool operator <=(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
operator *(LightningMoney, long)
public static LightningMoney operator *(LightningMoney left, long right)
Parameters
left
LightningMoneyright
long
Returns
operator *(LightningMoney, ulong)
public static LightningMoney operator *(LightningMoney left, ulong right)
Parameters
left
LightningMoneyright
ulong
Returns
operator *(long, LightningMoney)
public static LightningMoney operator *(long left, LightningMoney right)
Parameters
left
longright
LightningMoney
Returns
operator *(ulong, LightningMoney)
public static LightningMoney operator *(ulong left, LightningMoney right)
Parameters
left
ulongright
LightningMoney
Returns
operator -(LightningMoney, LightningMoney)
public static LightningMoney operator -(LightningMoney left, LightningMoney right)
Parameters
left
LightningMoneyright
LightningMoney
Returns
operator -(LightningMoney)
public static LightningMoney operator -(LightningMoney _)