Table of Contents

Class LightningMoney

Namespace
NLightning.Common.Types
Assembly
NLightning.Bolt11.dll
public class LightningMoney : IMoney, IComparable, IComparable<IMoney>, IEquatable<IMoney>
Inheritance
LightningMoney
Implements
IMoney
IComparable<IMoney>
IEquatable<IMoney>
Inherited Members

Constructors

LightningMoney(decimal, LightningMoneyUnit)

public LightningMoney(decimal amount, LightningMoneyUnit unit)

Parameters

amount decimal
unit LightningMoneyUnit

LightningMoney(long, LightningMoneyUnit)

public LightningMoney(long amount, LightningMoneyUnit unit)

Parameters

amount long
unit LightningMoneyUnit

LightningMoney(ulong)

public LightningMoney(ulong milliSatoshi)

Parameters

milliSatoshi ulong

LightningMoney(ulong, LightningMoneyUnit)

public LightningMoney(ulong amount, LightningMoneyUnit unit)

Parameters

amount ulong
unit LightningMoneyUnit

Fields

CENT

public const ulong CENT = 1000000000

Field Value

ulong

COIN

public const ulong COIN = 100000000000

Field Value

ulong

NANO

public const ulong NANO = 10000000

Field Value

ulong

Properties

IsZero

public bool IsZero { get; }

Property Value

bool

MilliSatoshi

public ulong MilliSatoshi { get; set; }

Property Value

ulong

Satoshi

public long Satoshi { get; set; }

Property Value

long

Zero

public static LightningMoney Zero { get; }

Property Value

LightningMoney

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 LightningMoney
dust LightningMoney

more 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 LightningMoney
margin decimal

error margin (between 0 and 1)

Returns

bool

true if equals, else false

Bits(decimal)

public static LightningMoney Bits(decimal bits)

Parameters

bits decimal

Returns

LightningMoney

Cents(decimal)

public static LightningMoney Cents(decimal cents)

Parameters

cents decimal

Returns

LightningMoney

Coins(decimal)

public static LightningMoney Coins(decimal coins)

Parameters

coins decimal

Returns

LightningMoney

CompareTo(LightningMoney?)

public int CompareTo(LightningMoney? other)

Parameters

other LightningMoney

Returns

int

CompareTo(object?)

public int CompareTo(object? obj)

Parameters

obj object

Returns

int

Equals(LightningMoney?)

public bool Equals(LightningMoney? other)

Parameters

other LightningMoney

Returns

bool

Equals(object?)

Determines whether the specified object is equal to the current object.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current object.

Returns

bool

true if the specified object is equal to the current object; otherwise, false.

FromUnit(decimal, LightningMoneyUnit)

public static LightningMoney FromUnit(decimal amount, LightningMoneyUnit unit)

Parameters

amount decimal
unit LightningMoneyUnit

Returns

LightningMoney

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

a LightningMoney
b LightningMoney

Returns

LightningMoney

MilliSatoshis(long)

public static LightningMoney MilliSatoshis(long sats)

Parameters

sats long

Returns

LightningMoney

MilliSatoshis(ulong)

public static LightningMoney MilliSatoshis(ulong milliSats)

Parameters

milliSats ulong

Returns

LightningMoney

Min(LightningMoney, LightningMoney)

public static LightningMoney Min(LightningMoney a, LightningMoney b)

Parameters

a LightningMoney
b LightningMoney

Returns

LightningMoney

Negate()

public IMoney Negate()

Returns

IMoney

Parse(string)

Parse a bitcoin amount (Culture Invariant)

public static LightningMoney? Parse(string bitcoin)

Parameters

bitcoin string

Returns

LightningMoney

Satoshis(decimal)

public static LightningMoney Satoshis(decimal sats)

Parameters

sats decimal

Returns

LightningMoney

Satoshis(long)

public static LightningMoney Satoshis(long sats)

Parameters

sats long

Returns

LightningMoney

Satoshis(ulong)

public static LightningMoney Satoshis(ulong sats)

Parameters

sats ulong

Returns

LightningMoney

Split(int)

Split the Money in parts without loss

public IEnumerable<LightningMoney> Split(int parts)

Parameters

parts int

The 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

decimal

ToString()

Returns a culture invariant string representation of Bitcoin amount

public override string ToString()

Returns

string

ToString(bool)

Returns a culture invariant string representation of Bitcoin amount

public string ToString(bool trimExcessZero = true)

Parameters

trimExcessZero bool

True if trim excess zeros

Returns

string

ToUnit(LightningMoneyUnit)

Convert Money to decimal (same as ToDecimal)

public decimal ToUnit(LightningMoneyUnit unit)

Parameters

unit LightningMoneyUnit

Returns

decimal

TryParse(string, out LightningMoney?)

Parse a bitcoin amount (Culture Invariant)

public static bool TryParse(string bitcoin, out LightningMoney? nRet)

Parameters

bitcoin string
nRet LightningMoney

Returns

bool

Operators

operator +(LightningMoney, LightningMoney)

public static LightningMoney operator +(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

LightningMoney

operator /(LightningMoney, ulong)

public static LightningMoney operator /(LightningMoney left, ulong right)

Parameters

left LightningMoney
right ulong

Returns

LightningMoney

operator ==(LightningMoney?, LightningMoney?)

public static bool operator ==(LightningMoney? a, LightningMoney? b)

Parameters

a LightningMoney
b LightningMoney

Returns

bool

operator >(LightningMoney, LightningMoney)

public static bool operator >(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

bool

operator >=(LightningMoney, LightningMoney)

public static bool operator >=(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

bool

implicit operator LightningMoney(Money)

public static implicit operator LightningMoney(Money value)

Parameters

value Money

Returns

LightningMoney

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

long

implicit operator ulong(LightningMoney)

public static implicit operator ulong(LightningMoney value)

Parameters

value LightningMoney

Returns

ulong

implicit operator LightningMoney(long)

public static implicit operator LightningMoney(long value)

Parameters

value long

Returns

LightningMoney

implicit operator LightningMoney(string)

public static implicit operator LightningMoney(string value)

Parameters

value string

Returns

LightningMoney

implicit operator LightningMoney(ulong)

public static implicit operator LightningMoney(ulong value)

Parameters

value ulong

Returns

LightningMoney

operator !=(LightningMoney, LightningMoney)

public static bool operator !=(LightningMoney a, LightningMoney b)

Parameters

a LightningMoney
b LightningMoney

Returns

bool

operator <(LightningMoney, LightningMoney)

public static bool operator <(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

bool

operator <=(LightningMoney, LightningMoney)

public static bool operator <=(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

bool

operator *(LightningMoney, long)

public static LightningMoney operator *(LightningMoney left, long right)

Parameters

left LightningMoney
right long

Returns

LightningMoney

operator *(LightningMoney, ulong)

public static LightningMoney operator *(LightningMoney left, ulong right)

Parameters

left LightningMoney
right ulong

Returns

LightningMoney

operator *(long, LightningMoney)

public static LightningMoney operator *(long left, LightningMoney right)

Parameters

left long
right LightningMoney

Returns

LightningMoney

operator *(ulong, LightningMoney)

public static LightningMoney operator *(ulong left, LightningMoney right)

Parameters

left ulong
right LightningMoney

Returns

LightningMoney

operator -(LightningMoney, LightningMoney)

public static LightningMoney operator -(LightningMoney left, LightningMoney right)

Parameters

left LightningMoney
right LightningMoney

Returns

LightningMoney

operator -(LightningMoney)

public static LightningMoney operator -(LightningMoney _)

Parameters

_ LightningMoney

Returns

LightningMoney