import { BigNumber } from '@0x/utils' ; import { OrderEventEndState , SRAOrder } from '../types' ; export interface OrderWatcherEvent { order : { takerTokenFeeAmount : string ; sender : string ; feeRecipient : string ; makerToken : string ; takerToken : string ; makerAmount : string ; takerAmount : string ; maker : string ; taker : string ; pool : string ; expiry : string ; salt : string ; chainId : number ; verifyingContract : string ; signature : { signatureType : number ; v : number ; r : string ; s : string ; } ; } ; metaData : { orderHash : string ; remainingFillableTakerAmount : string ; state : string ; createdAt : string ; } ; } export const orderWatcherEventToSRAOrder = ( event ) : SRAOrder => { return { order : { ... event . order , takerTokenFeeAmount : new BigNumber ( event . order . takerTokenFeeAmount ) , makerAmount : new BigNumber ( event . order . makerAmount ) , takerAmount : new BigNumber ( event . order . takerAmount ) , expiry : new BigNumber ( event . order . expiry ) , salt : new BigNumber ( event . order . salt ) , } , metaData : { orderHash : event . metaData . orderHash , remainingFillableTakerAmount : new BigNumber ( event . metaData . remainingFillableTakerAmount ) , state : event . metaData . state . toUpperCase ( ) as OrderEventEndState , } , } ; } ;