Add getTraderInfo and getTradersInfo to wrapper
This commit is contained in:
		@@ -5,7 +5,7 @@ import { ContractAbi } from 'ethereum-types';
 | 
				
			|||||||
import * as _ from 'lodash';
 | 
					import * as _ from 'lodash';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { artifacts } from '../artifacts';
 | 
					import { artifacts } from '../artifacts';
 | 
				
			||||||
import { OrderAndTraderInfo, OrdersAndTradersInfo } from '../types';
 | 
					import { OrderAndTraderInfo, OrdersAndTradersInfo, TraderInfo } from '../types';
 | 
				
			||||||
import { assert } from '../utils/assert';
 | 
					import { assert } from '../utils/assert';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import { ContractWrapper } from './contract_wrapper';
 | 
					import { ContractWrapper } from './contract_wrapper';
 | 
				
			||||||
@@ -26,7 +26,7 @@ export class OrderValidatorWrapper extends ContractWrapper {
 | 
				
			|||||||
        super(web3Wrapper, networkId);
 | 
					        super(web3Wrapper, networkId);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Get and object conforming to OrderAndTraderInfo containing on-chain information of the provided order and address
 | 
					     * Get an object conforming to OrderAndTraderInfo containing on-chain information of the provided order and address
 | 
				
			||||||
     * @return  OrderAndTraderInfo
 | 
					     * @return  OrderAndTraderInfo
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public async getOrderAndTraderInfoAsync(order: SignedOrder, takerAddress: string): Promise<OrderAndTraderInfo> {
 | 
					    public async getOrderAndTraderInfoAsync(order: SignedOrder, takerAddress: string): Promise<OrderAndTraderInfo> {
 | 
				
			||||||
@@ -67,6 +67,31 @@ export class OrderValidatorWrapper extends ContractWrapper {
 | 
				
			|||||||
        };
 | 
					        };
 | 
				
			||||||
        return result;
 | 
					        return result;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get an object conforming to TraderInfo containing on-chain balance and allowances for maker and taker of order
 | 
				
			||||||
 | 
					     * @return  TraderInfo
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public async getTraderInfoAsync(order: SignedOrder, takerAddress: string): Promise<TraderInfo> {
 | 
				
			||||||
 | 
					        assert.doesConformToSchema('order', order, schemas.signedOrderSchema);
 | 
				
			||||||
 | 
					        assert.isETHAddressHex('takerAddress', takerAddress);
 | 
				
			||||||
 | 
					        const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync();
 | 
				
			||||||
 | 
					        const result = await OrderValidatorContractInstance.getTraderInfo.callAsync(order, takerAddress);
 | 
				
			||||||
 | 
					        return result;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Get an array of objects conforming to TraderInfo containing on-chain balance and allowances for maker and taker of order
 | 
				
			||||||
 | 
					     * @return  array of TraderInfo
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public async getTradersInfoAsync(orders: SignedOrder[], takerAddresses: string[]): Promise<TraderInfo[]> {
 | 
				
			||||||
 | 
					        assert.doesConformToSchema('orders', orders, schemas.signedOrdersSchema);
 | 
				
			||||||
 | 
					        _.forEach(takerAddresses, (takerAddress, index) =>
 | 
				
			||||||
 | 
					            assert.isETHAddressHex(`takerAddresses[${index}]`, takerAddress),
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					        assert.assert(orders.length === takerAddresses.length, 'Expected orders.length to equal takerAddresses.length');
 | 
				
			||||||
 | 
					        const OrderValidatorContractInstance = await this._getOrderValidatorContractAsync();
 | 
				
			||||||
 | 
					        const result = await OrderValidatorContractInstance.getTradersInfo.callAsync(orders, takerAddresses);
 | 
				
			||||||
 | 
					        return result;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    // HACK: We don't want this method to be visible to the other units within that package but not to the end user.
 | 
					    // HACK: We don't want this method to be visible to the other units within that package but not to the end user.
 | 
				
			||||||
    // TS doesn't give that possibility and therefore we make it private and access it over an any cast. Because of that tslint sees it as unused.
 | 
					    // TS doesn't give that possibility and therefore we make it private and access it over an any cast. Because of that tslint sees it as unused.
 | 
				
			||||||
    // tslint:disable-next-line:no-unused-variable
 | 
					    // tslint:disable-next-line:no-unused-variable
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user