checks-utils

1.0.10 • Public • Published

Checks-utils

Simple Tools to work with checks, discount rate, expiration term, commissions.

Usage:

$ npm i checks-utils

const check-util = require("checks-utils")

Create new check object:

  • {*float} nominalValue: Nominal value of the check.

  • {*float} commision: Comissions percibed, value between 0 and 1.

  • {*uint} expiration: Expiration term in days.

  • {*float} discountTax: Discount tax, value between 0 and 1.

example:

const newCheck = new check-util.check(1000, 0.05, 90, 0.3)

Calculate net value

Calculate net value after discount commision.

example:

const newCheck = new check-util.check(100000, 0.05, 90, 0.3)

const netValue = newCheck.netValue() // => 97000

Calculate minimal value

Calculate the minimal value accepted after aply commission and discount tax.

example:

const newCheck = new check-util.check(100000, 0.05, 90, 0.3)

const netValue = newCheck.minValue() // => 89725

Convert value to another currency

  • {*float} value: Value to convert (in currency1 units)
  • {*float} exchangeRate: 1 currency1 = exchangeRate currency2

example:

const netValue = newCheck.minValue() // => 89725

Tokenization of checks using ERC20 standard

Assuming decimals are 18, we name a new unit called minToken, which is:

1 token = 10^18 minToken

then we have the rate and cap defined as (included in ERC20 standard):

rate = 1 / minTokenPrice[WEI], or: rate = 10^18 / tokenPrice[ETH]

and:

minValueOfCheck[WEI] = convert(newCheck.minValue(), exchangeRateTo[WEI])

cap = minValueOfCheck[WEI]

The formula to calculate the amount of token created is:

tokenAmount = cap / tokenPrice[WEI]

then:

tokenPrice[WEI] = cap / tokenAmount

If we define:

cap = minValueOfCheck[WEI]

then:

tokenPrice = 10^18 WEI = 1 ETH

and:

minTokenPrice = 1 WEI

rate = 1 / minTokenPrice[WEI] = 1

Simple solution to tokenization problem.

Dependents (0)

Package Sidebar

Install

npm i checks-utils

Weekly Downloads

7

Version

1.0.10

License

ISC

Unpacked Size

6.95 kB

Total Files

5

Last publish

Collaborators

  • daniellenarduzzi