March Docs

CryptoIdentity

Types

typeAssetKindAssetKind = Native | Token#

Functions

fnamountamount(a : Asset, q : FinanceAmount.Quantity) : Result(Amount, CryptoError.Error)#

Positive exact on-chain amount with explicit network provenance.

fnasset_kindasset_kind(a : Asset) : AssetKind do match a do AssetValue(_, k, _, _) -> k end end#
fnasset_networkasset_network(a : Asset) : Network do match a do AssetValue(n, _, _, _) -> n end end#
fncomponentcomponent(s : String) : String do int_to_string(String.byte_size(s)) ++ ":" ++ s end#
fncontractcontract(a : Asset) : Option(String) do match a do AssetValue(_, _, c, _) -> c end end#
fncore_assetcore_asset(a : Asset) : FinanceAsset.Asset do match a do AssetValue(_, _, _, c) -> c end end#
fndescriptordescriptor(a : Amount) : Option(Asset) do match a do AmountValue(_, d) -> d end end#
fnexchange_amountexchange_amount(q : FinanceAmount.Quantity) : Result(Amount, CryptoError.Error)#

Positive exchange amount; not eligible for on-chain operations without a descriptor.

fnnamespacenamespace(n : Network) : String do match n do NetworkValue(ns, _) -> ns end end#
fnnativenative(n : Network, precision : Int) : Result(Asset, CryptoError.Error)#
fnnetworknetwork(namespace : String, reference : String) : Result(Network, CryptoError.Error)#
fnnetwork_idnetwork_id(n : Network) : String do component(namespace(n)) ++ component(network_reference(n)) end#
fnnetwork_referencenetwork_reference(n : Network) : String do match n do NetworkValue(_, ref) -> ref end end#
fnprecisionprecision(a : Asset) : {Int | _ >= 0 && _ <= 255} do FinanceAsset.precision(core_asset(a)) end#
fnquantityquantity(a : Amount) : FinanceAmount.Quantity do match a do AmountValue(q, _) -> q end end#
fnsame_networksame_network(a : Network, b : Network) : Bool do network_id(a) == network_id(b) end#
fntokentoken(n : Network, contract : String, precision : Int) : Result(Asset, CryptoError.Error)#
fnvalid_idvalid_id(s : String) : Bool#