eos-common
EOSIO Smart Contract common library used for Typescript
Implements most commonly used EOSIO C++ Classes into Typescript:
Installation
Using Yarn:yarn add eos-common
or using NPM:
npm install --save eos-common
Quick Start
import { asset, symbol } from "eos-common"
const quantity = asset("1.0000 EOS");
// or
const quantity = asset(10000, symbol("EOS", 4));
quantity.to_string() //=> "1.0000 EOS";
quantity.symbol.code().to_string() //=> "EOS"
quantity.symbol.precision() //=> 4
API
Table of Contents
- [Parameters](#parameters)
- [Examples](#examples)
- [amount](#amount)
- [symbol](#symbol)
- [typeof](#typeof)
- [is_amount_within_range](#is_amount_within_range)
- [is_valid](#is_valid)
- [set_amount](#set_amount)
- [Parameters](#parameters-1)
- [minus](#minus)
- [Parameters](#parameters-2)
- [plus](#plus)
- [Parameters](#parameters-3)
- [times](#times)
- [Parameters](#parameters-4)
- [div](#div)
- [Parameters](#parameters-5)
- [toString](#tostring)
- [isInstance](#isinstance)
- [Parameters](#parameters-6)
- [plus](#plus-1)
- [Parameters](#parameters-7)
- [minus](#minus-1)
- [Parameters](#parameters-8)
- [times](#times-1)
- [Parameters](#parameters-9)
- [div](#div-1)
- [Parameters](#parameters-10)
- [isEqual](#isequal)
- [Parameters](#parameters-11)
- [isNotEqual](#isnotequal)
- [Parameters](#parameters-12)
- [isLessThan](#islessthan)
- [Parameters](#parameters-13)
- [isLessThanOrEqual](#islessthanorequal)
- [Parameters](#parameters-14)
- [isGreaterThan](#isgreaterthan)
- [Parameters](#parameters-15)
- [isGreaterThanOrEqual](#isgreaterthanorequal)
- [Parameters](#parameters-16)
- [max_amount](#max_amount)
- [Parameters](#parameters-17)
- [Examples](#examples-1)
- [Parameters](#parameters-18)
- [Parameters](#parameters-19)
- [quantity](#quantity)
- [contract](#contract)
- [typeof](#typeof-1)
- [get_extended_symbol](#get_extended_symbol)
- [toString](#tostring-1)
- [toJSON](#tojson)
- [times](#times-2)
- [Parameters](#parameters-20)
- [div](#div-2)
- [Parameters](#parameters-21)
- [minus](#minus-2)
- [Parameters](#parameters-22)
- [plus](#plus-2)
- [Parameters](#parameters-23)
- [isLessThan](#islessthan-1)
- [Parameters](#parameters-24)
- [isEqual](#isequal-1)
- [Parameters](#parameters-25)
- [isNotEqual](#isnotequal-1)
- [Parameters](#parameters-26)
- [isLessThanOrEqual](#islessthanorequal-1)
- [Parameters](#parameters-27)
- [isGreaterThanOrEqual](#isgreaterthanorequal-1)
- [Parameters](#parameters-28)
- [isInstance](#isinstance-1)
- [Parameters](#parameters-29)
- [Parameters](#parameters-30)
- [Examples](#examples-2)
- [Parameters](#parameters-31)
- [typeof](#typeof-2)
- [get_symbol](#get_symbol)
- [get_contract](#get_contract)
- [toString](#tostring-2)
- [Parameters](#parameters-32)
- [toJSON](#tojson-1)
- [Parameters](#parameters-33)
- [raw](#raw)
- [isInstance](#isinstance-2)
- [Parameters](#parameters-34)
- [isEqual](#isequal-2)
- [Parameters](#parameters-35)
- [isNotEqual](#isnotequal-2)
- [Parameters](#parameters-36)
- [isLessThan](#islessthan-2)
- [Parameters](#parameters-37)
- [Parameters](#parameters-38)
- [Examples](#examples-3)
- [Parameters](#parameters-39)
- [typeof](#typeof-3)
- [length](#length)
- [suffix](#suffix)
- [raw](#raw-1)
- [bool](#bool)
- [toString](#tostring-3)
- [isInstance](#isinstance-3)
- [Parameters](#parameters-40)
- [char_to_value](#char_to_value)
- [Parameters](#parameters-41)
- [isEqual](#isequal-3)
- [Parameters](#parameters-42)
- [isNotEqual](#isnotequal-3)
- [Parameters](#parameters-43)
- [isLessThan](#islessthan-3)
- [Parameters](#parameters-44)
- [Parameters](#parameters-45)
- [typeof](#typeof-4)
- [toString](#tostring-4)
- [isEqual](#isequal-4)
- [Parameters](#parameters-46)
- [isNotEqual](#isnotequal-4)
- [Parameters](#parameters-47)
- [isLessThan](#islessthan-4)
- [Parameters](#parameters-48)
- [isInstance](#isinstance-4)
- [Parameters](#parameters-49)
- [Parameters](#parameters-50)
- [Examples](#examples-4)
- [Parameters](#parameters-51)
- [Parameters](#parameters-52)
- [Parameters](#parameters-53)
- [Parameters](#parameters-54)
- [Parameters](#parameters-55)
- [Parameters](#parameters-56)
- [Parameters](#parameters-57)
- [Parameters](#parameters-58)
Asset
AssetParameters
Examples
const quantity = new Asset(10000, new Symbol("EOS", 4));
quantity.toString() //=> "1.0000 EOS";
quantity.symbol.code() //=> "EOS"
quantity.symbol.precision //=> 4
Returns Asset Asset
amount
{int64t} The amount of the assetsymbol
{symbol} The symbol name of the assettypeof
The typeof operator returns a string indicating the type of the unevaluated operand.isamountwithinrange
Check if the amount doesn't exceed the max amountReturns any true - if the amount doesn't exceed the max amount
Returns any false - otherwise
isvalid
Check if the asset is valid. %A valid asset has its amount <= maxamount and its symbol name validReturns any true - if the asset is valid
Returns any false - otherwise
setamount
Set the amount of the assetParameters
amount
a
New amount for the asset
minus
Subtraction assignment operatorParameters
a
Another asset to subtract this asset with
Returns any asset& - Reference to this asset
plus
Addition Assignment operatorParameters
a
Another asset to subtract this asset with
Returns any asset& - Reference to this asset
times
Multiplication assignment operator, with a numberParameters
a
The multiplier for the asset's amount
Returns any asset - Reference to this asset
div
Parameters
a
The divisor for the asset's amount
Returns any asset - Reference to this asset
toString
The toString() method returns the string representation of the object.isInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
plus
Addition operatorParameters
a
The first asset to be addedb
The second asset to be added
Returns any asset - New asset as the result of addition
minus
Subtraction operatorParameters
a
The asset to be subtractedb
The asset used to subtract
Returns any asset - New asset as the result of subtraction of a with b
times
Multiplication operator, with a number proceedingParameters
a
The asset to be multipliedb
The multiplier for the asset's amount
Returns any asset - New asset as the result of multiplication
div
Division operator, with a number proceedingParameters
a
The asset to be dividedb
The divisor for the asset's amount
Returns any asset - New asset as the result of division
isEqual
Equality operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if both asset has the same amount
Returns any false - otherwise
isNotEqual
Inequality operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if both asset doesn't have the same amount
Returns any false - otherwise
isLessThan
Less than operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if the first asset's amount is less than the second asset amount
Returns any false - otherwise
isLessThanOrEqual
Less or equal to operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if the first asset's amount is less or equal to the second asset amount
Returns any false - otherwise
isGreaterThan
Greater than operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if the first asset's amount is greater than the second asset amount
Returns any false - otherwise
isGreaterThanOrEqual
Greater or equal to operatorParameters
a
The first asset to be comparedb
The second asset to be compared
Returns any true - if the first asset's amount is greater or equal to the second asset amount
Returns any false - otherwise
maxamount
{constexpr int64t} Maximum amount possible for this asset. It's capped to 2^62 - 1check
Assert if the predicate fails and use the supplied message.Parameters
pred
boolean Pre-conditionmsg
Examples
check(a == b, "a does not equal b");
Returns void
writedecimal
Writes a number as a stringParameters
number
The number to print before shifting the decimal point to the left by numdecimalplaces.num_decimal_places
The number of decimal places to shift the decimal point.negative
Whether to print a minus sign in the front.
ExtendedAsset
Parameters
obj1
obj2
quantity
The assetcontract
The owner of the assettypeof
The typeof operator returns a string indicating the type of the unevaluated operand.getextendedsymbol
Get the extended symbol of the assetReturns any extendedsymbol - The extended symbol of the asset
toString
The toString() method returns the string representation of the object.toJSON
The toJSON() method returns the JSON representation of the object.times
Multiplication assignment operatorParameters
a
div
Division operatorParameters
a
minus
Subtraction operatorParameters
a
plus
Addition operatorParameters
a
isLessThan
Less than operatorParameters
a
isEqual
Comparison operatorParameters
a
isNotEqual
Comparison operatorParameters
a
isLessThanOrEqual
Comparison operatorParameters
a
isGreaterThanOrEqual
Comparison operatorParameters
a
isInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
extendedasset
Extended AssetParameters
obj1
obj2
Examples
extended_asset( asset("1.0000 EOS"), name("eosio.token"))
ExtendedSymbol
Parameters
obj1
obj2
typeof
The typeof operator returns a string indicating the type of the unevaluated operand.getsymbol
Returns the symbol in the extendedcontractReturns any symbol
getcontract
Returns the name of the contract in the extendedsymbolReturns any name
toString
The toString() method returns the string representation of the object.Parameters
show_precision
(optional, defaulttrue
)
toJSON
The toJSON() method returns the JSON representation of the object.Parameters
show_precision
(optional, defaulttrue
)
raw
Returns uint128t repreresentation of the extended symbolisInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
isEqual
Equivalency operator. Returns true if a == b (are the same)Parameters
a
b
Returns any boolean - true if both provided name are the same
isNotEqual
Inverted equivalency operator. Returns true if a != b (are different)Parameters
a
b
Returns any boolean - true if both provided name are not the same
isLessThan
Less than operator. Returns true if a < b.Parameters
a
b
Returns any boolean - true if name
a
is less than b
extendedsymbol
Extended SymbolParameters
obj1
obj2
Examples
extended_symbol( symbol("4,EOS"), name("eosio.token") )
Name
Parameters
str
typeof
The typeof operator returns a string indicating the type of the unevaluated operand.length
Returns the length of the %namesuffix
Returns the suffix of the %nameraw
Returns uint64t repreresentation of the namebool
Explicit cast to bool of the nameReturns any Returns true if the name is set to the default value of 0 else true.
toString
The toString() method returns the string representation of the object.isInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
chartovalue
Converts a %name Base32 symbol into its corresponding valueParameters
c
Character to be converted
Returns any constexpr char - Converted value
isEqual
Equivalency operator. Returns true if a == b (are the same)Parameters
a
b
Returns any boolean - true if both provided name are the same
isNotEqual
Inverted equivalency operator. Returns true if a != b (are different)Parameters
a
b
Returns any boolean - true if both provided name are not the same
isLessThan
Less than operator. Returns true if a < b.Parameters
a
b
Returns any boolean - true if name
a
is less than b
SymbolCode
Parameters
obj
typeof
The typeof operator returns a string indicating the type of the unevaluated operand.toString
The toString() method returns the string representation of the object.isEqual
Equivalency operator. Returns true if a == b (are the same)Parameters
comparison
Returns any boolean - true if both provided symbolcodes are the same
isNotEqual
Inverted equivalency operator. Returns true if a != b (are different)Parameters
comparison
Returns any boolean - true if both provided symbolcodes are not the same
isLessThan
Less than operator. Returns true if a < b.Parameters
comparison
Returns any boolean - true if symbolcode
a
is less than b
isInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
Symbol
SymbolParameters
code
string Symbol Codeprecision
Examples
const sym = new Symbol("EOS", 4);
sym.code() //=> "EOS"
sym.precision //=> 4
Returns Symbol Symbol
typeof
The typeof operator returns a string indicating the type of the unevaluated operand.isvalid
Is this symbol validprecision
This symbol's precisioncode
Returns representation of symbol nameraw
Returns uint64t repreresentation of the symbolbool
Explicit cast to bool of the symbolReturns any Returns true if the symbol is set to the default value of 0 else true.
toString
The toString() method returns the string representation of the object.Parameters
show_precision
(optional, defaulttrue
)
isInstance
The isinstance() function returns True if the specified object is of the specified type, otherwise False.Parameters
obj
isEqual
Equivalency operator. Returns true if a == b (are the same)Parameters
a
b
Returns any boolean - true if both provided symbolcodes are the same
isNotEqual
Inverted equivalency operator. Returns true if a != b (are different)Parameters
a
b
Returns any boolean - true if both provided symbolcodes are not the same
isLessThan
Less than operator. Returns true if a < b.Parameters
a
b
Returns any boolean - true if symbolcode
a
is less than b
voteWeightToday
voteWeightToday computes the stake2vote weight for EOS, in order to compute the decaying value.stake2vote
Convert EOS stake into decaying valueParameters
staked
vote
number vote
vote2stake
Convert vote decay value into EOS stakeParameters
vote
staked
number staked
calculateproducerpervotepay
Calculate producer vpayParameters
total_votes
pervote_bucket
total_producer_vote_weight
Returns bigint producer pay as int64t