Limits
Every length a text a column holds is bounded by, whether the column declares it or a writer applies it to a column that declares none, and every number of digits a decimal column keeps. A caller says how long or how fine something is by naming a member here, so the number itself lives in exactly one place and a reader sees what the limit means rather than a digit. Limits that carry the same meaning in more than one entity sit at the top level; the rest sit under the entity they belong to.
Campos
public const int BalanceScale
value = Limits.BalanceScale
Money on a client's balance and every amount that moves it: fine enough to charge a generation that costs a fraction of a cent as what it cost.
public const int DecimalPrecision
value = Limits.DecimalPrecision
How many digits a decimal column holds in all, unless its values need more; what sets the columns apart is how many of those digits follow the point.
public const int EmailAddress
value = Limits.EmailAddress
An email address an account is held by.
public const int Hash
value = Limits.Hash
An md5 in hex, which is what every interned value and every file body is found by.
public const int PaymentScale
value = Limits.PaymentScale
Money paid through a payment gateway, which settles in cents.
public const int StrategyValuePrecision
value = Limits.StrategyValuePrecision
How many digits a price, a volume, a position or a PnL a strategy reports from its run holds in all: 18 before the point for the huge volumes of cheap coins, plus StrategyValueScale after it.
public const int StrategyValueScale
value = Limits.StrategyValueScale
A price, a volume, a position or a PnL a strategy reports from its run: fine enough for the price of a coin worth a tiny fraction of a cent.
public const int UnitPriceScale
value = Limits.UnitPriceScale
The price of one unit of use -- a million tokens, a minute of testing -- which is finer than any amount it adds up to.
public const int Url
value = Limits.Url
How much of a url an error keeps. Long enough for the route and the parameters that say what broke, short enough that a redirect which grew a parameter at a time stops being a row of its own.
public const int UrlPart
value = Limits.UrlPart
The segment of an address an entity is reached by inside its domain.
public const int UrlStored
value = Limits.UrlStored
What the interned-url column holds, which is wider than what is kept: it was filled before anything bounded it. Can come down to Url once the rows written back then are gone.