diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-04-24 22:36:35 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-05-02 20:10:24 +0800 |
commit | 0499541e114e6dd36565428f4f914e0dbdece2b8 (patch) | |
tree | 6d4740f4343f4516a9ecafc4795b68aed0865c75 /packages/0x.js/src/utils/utils.ts | |
parent | f08738e13379ea86a33ad9be9f7579e637e69acb (diff) | |
download | dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar.gz dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar.bz2 dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar.lz dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar.xz dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.tar.zst dexon-sol-tools-0499541e114e6dd36565428f4f914e0dbdece2b8.zip |
Move order utils to @0xproject/order-utils
Diffstat (limited to 'packages/0x.js/src/utils/utils.ts')
-rw-r--r-- | packages/0x.js/src/utils/utils.ts | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/packages/0x.js/src/utils/utils.ts b/packages/0x.js/src/utils/utils.ts index c8bcd907e..af1125632 100644 --- a/packages/0x.js/src/utils/utils.ts +++ b/packages/0x.js/src/utils/utils.ts @@ -1,59 +1,9 @@ -import { Order, SignedOrder, SolidityTypes } from '@0xproject/types'; import { BigNumber } from '@0xproject/utils'; -import BN = require('bn.js'); -import * as ethABI from 'ethereumjs-abi'; -import * as ethUtil from 'ethereumjs-util'; -import * as _ from 'lodash'; export const utils = { - /** - * Converts BigNumber instance to BN - * The only reason we convert to BN is to remain compatible with `ethABI. soliditySHA3` that - * expects values of Solidity type `uint` to be passed as type `BN`. - * We do not use BN anywhere else in the codebase. - */ - bigNumberToBN(value: BigNumber) { - return new BN(value.toString(), 10); - }, spawnSwitchErr(name: string, value: any): Error { return new Error(`Unexpected switch value: ${value} encountered for ${name}`); }, - getOrderHashHex(order: Order | SignedOrder): string { - const orderParts = [ - { value: order.exchangeContractAddress, type: SolidityTypes.Address }, - { value: order.maker, type: SolidityTypes.Address }, - { value: order.taker, type: SolidityTypes.Address }, - { value: order.makerTokenAddress, type: SolidityTypes.Address }, - { value: order.takerTokenAddress, type: SolidityTypes.Address }, - { value: order.feeRecipient, type: SolidityTypes.Address }, - { - value: utils.bigNumberToBN(order.makerTokenAmount), - type: SolidityTypes.Uint256, - }, - { - value: utils.bigNumberToBN(order.takerTokenAmount), - type: SolidityTypes.Uint256, - }, - { - value: utils.bigNumberToBN(order.makerFee), - type: SolidityTypes.Uint256, - }, - { - value: utils.bigNumberToBN(order.takerFee), - type: SolidityTypes.Uint256, - }, - { - value: utils.bigNumberToBN(order.expirationUnixTimestampSec), - type: SolidityTypes.Uint256, - }, - { value: utils.bigNumberToBN(order.salt), type: SolidityTypes.Uint256 }, - ]; - const types = _.map(orderParts, o => o.type); - const values = _.map(orderParts, o => o.value); - const hashBuff = ethABI.soliditySHA3(types, values); - const hashHex = ethUtil.bufferToHex(hashBuff); - return hashHex; - }, getCurrentUnixTimestampSec(): BigNumber { return new BigNumber(Date.now() / 1000).round(); }, |