diff options
author | Leonid <logvinov.leon@gmail.com> | 2017-05-25 19:44:19 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-25 19:44:19 +0800 |
commit | b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea (patch) | |
tree | 2336c98e0c7d321c44a074d48d66e4c5edf03449 /src/ts/0x.js.ts | |
parent | eee06e0cc97333891a84aff22196849105846eb4 (diff) | |
parent | dfb7b039f15d572ddf2e417f71ecb069114100a8 (diff) | |
download | dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar.gz dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar.bz2 dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar.lz dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar.xz dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.tar.zst dexon-sol-tools-b43cc8f52cd726cd919d2db6c9e63b4b7af5dcea.zip |
Merge branch 'master' into isValidOrderHash
Diffstat (limited to 'src/ts/0x.js.ts')
-rw-r--r-- | src/ts/0x.js.ts | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ts/0x.js.ts b/src/ts/0x.js.ts index bd0ce80e2..cc2adca33 100644 --- a/src/ts/0x.js.ts +++ b/src/ts/0x.js.ts @@ -56,5 +56,30 @@ export class ZeroEx { assert.isString('orderHash', orderHash); const isValid = /^0x[0-9A-F]{66}$/i.test(orderHash); return isValid; + /* + * A unit amount is defined as the amount of a token above the specified decimal places (integer part). + * E.g: If a currency has 18 decimal places, 1e18 or one quintillion of the currency is equivalent + * to 1 unit. + */ + public static toUnitAmount(amount: BigNumber.BigNumber, decimals: number): BigNumber.BigNumber { + assert.isBigNumber('amount', amount); + assert.isNumber('decimals', decimals); + + const aUnit = new BigNumber(10).pow(decimals); + const unit = amount.div(aUnit); + return unit; + } + /* + * A baseUnit is defined as the smallest denomination of a token. An amount expressed in baseUnits + * is the amount expressed in the smallest denomination. + * E.g: 1 unit of a token with 18 decimal places is expressed in baseUnits as 1000000000000000000 + */ + public static toBaseUnitAmount(amount: BigNumber.BigNumber, decimals: number): BigNumber.BigNumber { + assert.isBigNumber('amount', amount); + assert.isNumber('decimals', decimals); + + const unit = new BigNumber(10).pow(decimals); + const baseUnitAmount = amount.times(unit); + return baseUnitAmount; } } |