Add generated contract wrappers
This commit is contained in:
		@@ -0,0 +1,36 @@
 | 
			
		||||
import * as _ from 'lodash';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
 | 
			
		||||
// TODO: Gas Margin
 | 
			
		||||
// TODO: Abi check
 | 
			
		||||
export class BaseContract {
 | 
			
		||||
    protected web3ContractInstance: Web3.ContractInstance;
 | 
			
		||||
    protected defaults: Partial<TxData>;
 | 
			
		||||
    protected async applyDefaultsToTxDataAsync<T extends TxData|TxDataPayable>(
 | 
			
		||||
        txData: T,
 | 
			
		||||
        estimateGasAsync?: (txData: T) => Promise<number>,
 | 
			
		||||
    ): Promise<TxData> {
 | 
			
		||||
        // Gas amount sourced with the following priorities:
 | 
			
		||||
        // 1. Optional param passed in to public method call
 | 
			
		||||
        // 2. Global config passed in at library instantiation
 | 
			
		||||
        // 3. Gas estimate calculation + safety margin
 | 
			
		||||
        const removeUndefinedProperties = _.pickBy;
 | 
			
		||||
        const txDataWithDefaults = {
 | 
			
		||||
            ...removeUndefinedProperties(this.defaults),
 | 
			
		||||
            ...removeUndefinedProperties(txData as any),
 | 
			
		||||
            // HACK: TS can't prove that T is speadable.
 | 
			
		||||
            // Awaiting https://github.com/Microsoft/TypeScript/pull/13288 to be merged
 | 
			
		||||
        };
 | 
			
		||||
        if (_.isUndefined(txDataWithDefaults.gas) && !_.isUndefined(estimateGasAsync)) {
 | 
			
		||||
            const estimatedGas = await estimateGasAsync(txData);
 | 
			
		||||
            txDataWithDefaults.gas = estimatedGas;
 | 
			
		||||
        }
 | 
			
		||||
        return txDataWithDefaults;
 | 
			
		||||
    }
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        this.web3ContractInstance = web3ContractInstance;
 | 
			
		||||
        this.defaults = defaults;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										359
									
								
								packages/0x.js/src/contract_wrappers/generated/ether_token.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										359
									
								
								packages/0x.js/src/contract_wrappers/generated/ether_token.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,359 @@
 | 
			
		||||
import {BigNumber} from 'bignumber.js';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
import {classUtils} from '../../utils/class_utils';
 | 
			
		||||
import {promisify} from '../../utils/promisify';
 | 
			
		||||
 | 
			
		||||
import {BaseContract} from './base_contract';
 | 
			
		||||
 | 
			
		||||
export class EtherTokenContract extends BaseContract {
 | 
			
		||||
    public name = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.name.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public approve = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.approve.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _spender,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.approve, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _spender,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.approve.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _spender,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.approve.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public totalSupply = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.totalSupply.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transferFrom = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transferFrom.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _from,
 | 
			
		||||
                    _to,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _from,
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _from,
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transferFrom.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public withdraw = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            amount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.withdraw.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    amount,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.withdraw, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                amount,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            amount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.withdraw.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                amount,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            amount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.withdraw.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public decimals = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.decimals.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public balanceOf = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _owner: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.balanceOf.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _owner,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public symbol = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.symbol.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transfer = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transfer.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _to,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transfer, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transfer.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transfer.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public deposit = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            txData: TxDataPayable = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.deposit.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.deposit, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.deposit.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.deposit.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public allowance = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _owner: string,
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as EtherTokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.allowance.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _owner,
 | 
			
		||||
                _spender,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        super(web3ContractInstance, defaults);
 | 
			
		||||
        classUtils.bindAll(this, ['web3ContractInstance', 'defaults']);
 | 
			
		||||
    }
 | 
			
		||||
} // tslint:disable:max-file-line-count
 | 
			
		||||
							
								
								
									
										726
									
								
								packages/0x.js/src/contract_wrappers/generated/exchange.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										726
									
								
								packages/0x.js/src/contract_wrappers/generated/exchange.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,726 @@
 | 
			
		||||
import {BigNumber} from 'bignumber.js';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
import {classUtils} from '../../utils/class_utils';
 | 
			
		||||
import {promisify} from '../../utils/promisify';
 | 
			
		||||
 | 
			
		||||
import {BaseContract} from './base_contract';
 | 
			
		||||
 | 
			
		||||
export class ExchangeContract extends BaseContract {
 | 
			
		||||
    public isRoundingError = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            numerator: BigNumber,
 | 
			
		||||
            denominator: BigNumber,
 | 
			
		||||
            target: BigNumber,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<boolean
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<boolean
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.isRoundingError.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                numerator,
 | 
			
		||||
                denominator,
 | 
			
		||||
                target,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public filled = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.filled.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public cancelled = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.cancelled.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public fillOrdersUpTo = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.fillOrdersUpTo.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    fillTakerTokenAmount,
 | 
			
		||||
                    shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                    v,
 | 
			
		||||
                    r,
 | 
			
		||||
                    s,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.fillOrdersUpTo, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.fillOrdersUpTo.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.fillOrdersUpTo.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public cancelOrder = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            cancelTakerTokenAmount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.cancelOrder.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    cancelTakerTokenAmount,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.cancelOrder, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                cancelTakerTokenAmount,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            cancelTakerTokenAmount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.cancelOrder.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                cancelTakerTokenAmount,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            cancelTakerTokenAmount: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.cancelOrder.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public ZRX_TOKEN_CONTRACT = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.ZRX_TOKEN_CONTRACT.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public batchFillOrKillOrders = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.batchFillOrKillOrders.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    fillTakerTokenAmounts,
 | 
			
		||||
                    v,
 | 
			
		||||
                    r,
 | 
			
		||||
                    s,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.batchFillOrKillOrders, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmounts,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.batchFillOrKillOrders.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmounts,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.batchFillOrKillOrders.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public fillOrKillOrder = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.fillOrKillOrder.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    fillTakerTokenAmount,
 | 
			
		||||
                    v,
 | 
			
		||||
                    r,
 | 
			
		||||
                    s,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.fillOrKillOrder, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.fillOrKillOrder.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.fillOrKillOrder.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getUnavailableTakerTokenAmount = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            orderHash: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getUnavailableTakerTokenAmount.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderHash,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public isValidSignature = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            signer: string,
 | 
			
		||||
            hash: string,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<boolean
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<boolean
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.isValidSignature.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                signer,
 | 
			
		||||
                hash,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getPartialAmount = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            numerator: BigNumber,
 | 
			
		||||
            denominator: BigNumber,
 | 
			
		||||
            target: BigNumber,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getPartialAmount.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                numerator,
 | 
			
		||||
                denominator,
 | 
			
		||||
                target,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public TOKEN_TRANSFER_PROXY_CONTRACT = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.TOKEN_TRANSFER_PROXY_CONTRACT.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public batchFillOrders = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.batchFillOrders.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    fillTakerTokenAmounts,
 | 
			
		||||
                    shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                    v,
 | 
			
		||||
                    r,
 | 
			
		||||
                    s,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.batchFillOrders, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmounts,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.batchFillOrders.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmounts,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            fillTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber[],
 | 
			
		||||
            r: string[],
 | 
			
		||||
            s: string[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.batchFillOrders.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public batchCancelOrders = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            cancelTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.batchCancelOrders.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    cancelTakerTokenAmounts,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.batchCancelOrders, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                cancelTakerTokenAmounts,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            cancelTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.batchCancelOrders.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                cancelTakerTokenAmounts,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[][],
 | 
			
		||||
            orderValues: BigNumber[][],
 | 
			
		||||
            cancelTakerTokenAmounts: BigNumber[],
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.batchCancelOrders.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public fillOrder = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.fillOrder.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    orderAddresses,
 | 
			
		||||
                    orderValues,
 | 
			
		||||
                    fillTakerTokenAmount,
 | 
			
		||||
                    shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                    v,
 | 
			
		||||
                    r,
 | 
			
		||||
                    s,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.fillOrder, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.fillOrder.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
                fillTakerTokenAmount,
 | 
			
		||||
                shouldThrowOnInsufficientBalanceOrAllowance,
 | 
			
		||||
                v,
 | 
			
		||||
                r,
 | 
			
		||||
                s,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            fillTakerTokenAmount: BigNumber,
 | 
			
		||||
            shouldThrowOnInsufficientBalanceOrAllowance: boolean,
 | 
			
		||||
            v: number|BigNumber,
 | 
			
		||||
            r: string,
 | 
			
		||||
            s: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.fillOrder.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getOrderHash = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            orderAddresses: string[],
 | 
			
		||||
            orderValues: BigNumber[],
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getOrderHash.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                orderAddresses,
 | 
			
		||||
                orderValues,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public EXTERNAL_QUERY_GAS_LIMIT = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.EXTERNAL_QUERY_GAS_LIMIT.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public VERSION = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as ExchangeContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.VERSION.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        super(web3ContractInstance, defaults);
 | 
			
		||||
        classUtils.bindAll(this, ['web3ContractInstance', 'defaults']);
 | 
			
		||||
    }
 | 
			
		||||
} // tslint:disable:max-file-line-count
 | 
			
		||||
							
								
								
									
										228
									
								
								packages/0x.js/src/contract_wrappers/generated/token.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										228
									
								
								packages/0x.js/src/contract_wrappers/generated/token.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,228 @@
 | 
			
		||||
import {BigNumber} from 'bignumber.js';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
import {classUtils} from '../../utils/class_utils';
 | 
			
		||||
import {promisify} from '../../utils/promisify';
 | 
			
		||||
 | 
			
		||||
import {BaseContract} from './base_contract';
 | 
			
		||||
 | 
			
		||||
export class TokenContract extends BaseContract {
 | 
			
		||||
    public approve = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.approve.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _spender,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.approve, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _spender,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.approve.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _spender,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.approve.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public totalSupply = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.totalSupply.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transferFrom = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transferFrom.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _from,
 | 
			
		||||
                    _to,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _from,
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _from,
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _from: string,
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transferFrom.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public balanceOf = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _owner: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.balanceOf.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _owner,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transfer = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transfer.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _to,
 | 
			
		||||
                    _value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transfer, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transfer.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _to,
 | 
			
		||||
                _value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _to: string,
 | 
			
		||||
            _value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transfer.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public allowance = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _owner: string,
 | 
			
		||||
            _spender: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<BigNumber
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenContract;
 | 
			
		||||
            const result = await promisify<BigNumber
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.allowance.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _owner,
 | 
			
		||||
                _spender,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        super(web3ContractInstance, defaults);
 | 
			
		||||
        classUtils.bindAll(this, ['web3ContractInstance', 'defaults']);
 | 
			
		||||
    }
 | 
			
		||||
} // tslint:disable:max-file-line-count
 | 
			
		||||
							
								
								
									
										546
									
								
								packages/0x.js/src/contract_wrappers/generated/token_registry.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										546
									
								
								packages/0x.js/src/contract_wrappers/generated/token_registry.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,546 @@
 | 
			
		||||
import {BigNumber} from 'bignumber.js';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
import {classUtils} from '../../utils/class_utils';
 | 
			
		||||
import {promisify} from '../../utils/promisify';
 | 
			
		||||
 | 
			
		||||
import {BaseContract} from './base_contract';
 | 
			
		||||
 | 
			
		||||
export class TokenRegistryContract extends BaseContract {
 | 
			
		||||
    public removeToken = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _index: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.removeToken.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _index,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.removeToken, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _index,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _index: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.removeToken.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _index,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _index: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.removeToken.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenAddressByName = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _name: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenAddressByName.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _name,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenAddressBySymbol = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenAddressBySymbol.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _symbol,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public setTokenSwarmHash = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.setTokenSwarmHash.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _swarmHash,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.setTokenSwarmHash, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _swarmHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.setTokenSwarmHash.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _swarmHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.setTokenSwarmHash.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenMetaData = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenMetaData.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public owner = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.owner.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public addToken = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            _decimals: number|BigNumber,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.addToken.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _name,
 | 
			
		||||
                    _symbol,
 | 
			
		||||
                    _decimals,
 | 
			
		||||
                    _ipfsHash,
 | 
			
		||||
                    _swarmHash,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.addToken, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _name,
 | 
			
		||||
                _symbol,
 | 
			
		||||
                _decimals,
 | 
			
		||||
                _ipfsHash,
 | 
			
		||||
                _swarmHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            _decimals: number|BigNumber,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.addToken.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _name,
 | 
			
		||||
                _symbol,
 | 
			
		||||
                _decimals,
 | 
			
		||||
                _ipfsHash,
 | 
			
		||||
                _swarmHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            _decimals: number|BigNumber,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            _swarmHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.addToken.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public setTokenName = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.setTokenName.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _name,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.setTokenName, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _name,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.setTokenName.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _name,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _name: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.setTokenName.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public tokens = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.tokens.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public tokenAddresses = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: BigNumber,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.tokenAddresses.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenByName = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _name: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenByName.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _name,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenAddresses = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string[]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<string[]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenAddresses.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public setTokenIpfsHash = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.setTokenIpfsHash.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _ipfsHash,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.setTokenIpfsHash, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _ipfsHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.setTokenIpfsHash.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _ipfsHash,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _ipfsHash: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.setTokenIpfsHash.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getTokenBySymbol = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const result = await promisify<[string, string, string, BigNumber, string, string]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getTokenBySymbol.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _symbol,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public setTokenSymbol = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.setTokenSymbol.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    _token,
 | 
			
		||||
                    _symbol,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.setTokenSymbol, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _symbol,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.setTokenSymbol.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                _token,
 | 
			
		||||
                _symbol,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            _token: string,
 | 
			
		||||
            _symbol: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.setTokenSymbol.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transferOwnership = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transferOwnership.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    newOwner,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transferOwnership, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                newOwner,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transferOwnership.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                newOwner,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenRegistryContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transferOwnership.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        super(web3ContractInstance, defaults);
 | 
			
		||||
        classUtils.bindAll(this, ['web3ContractInstance', 'defaults']);
 | 
			
		||||
    }
 | 
			
		||||
} // tslint:disable:max-file-line-count
 | 
			
		||||
@@ -0,0 +1,281 @@
 | 
			
		||||
import {BigNumber} from 'bignumber.js';
 | 
			
		||||
import * as Web3 from 'web3';
 | 
			
		||||
 | 
			
		||||
import {TxData, TxDataPayable} from '../../types';
 | 
			
		||||
import {classUtils} from '../../utils/class_utils';
 | 
			
		||||
import {promisify} from '../../utils/promisify';
 | 
			
		||||
 | 
			
		||||
import {BaseContract} from './base_contract';
 | 
			
		||||
 | 
			
		||||
export class TokenTransferProxyContract extends BaseContract {
 | 
			
		||||
    public transferFrom = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            token: string,
 | 
			
		||||
            from: string,
 | 
			
		||||
            to: string,
 | 
			
		||||
            value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transferFrom.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    token,
 | 
			
		||||
                    from,
 | 
			
		||||
                    to,
 | 
			
		||||
                    value,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                token,
 | 
			
		||||
                from,
 | 
			
		||||
                to,
 | 
			
		||||
                value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            token: string,
 | 
			
		||||
            from: string,
 | 
			
		||||
            to: string,
 | 
			
		||||
            value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transferFrom.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                token,
 | 
			
		||||
                from,
 | 
			
		||||
                to,
 | 
			
		||||
                value,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            token: string,
 | 
			
		||||
            from: string,
 | 
			
		||||
            to: string,
 | 
			
		||||
            value: BigNumber,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transferFrom.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public addAuthorizedAddress = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.addAuthorizedAddress.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    target,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.addAuthorizedAddress, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                target,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.addAuthorizedAddress.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                target,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.addAuthorizedAddress.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public authorities = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: BigNumber,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.authorities.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public removeAuthorizedAddress = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.removeAuthorizedAddress.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    target,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.removeAuthorizedAddress, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                target,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.removeAuthorizedAddress.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                target,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            target: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.removeAuthorizedAddress.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public owner = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const result = await promisify<string
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.owner.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public authorized = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            index: string,
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<boolean
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const result = await promisify<boolean
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.authorized.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                index,
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public getAuthorizedAddresses = {
 | 
			
		||||
        async callAsync(
 | 
			
		||||
            defaultBlock?: Web3.BlockParam,
 | 
			
		||||
        ): Promise<string[]
 | 
			
		||||
    > {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const result = await promisify<string[]
 | 
			
		||||
    >(
 | 
			
		||||
                self.web3ContractInstance.getAuthorizedAddresses.call,
 | 
			
		||||
                self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
            );
 | 
			
		||||
            return result;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    public transferOwnership = {
 | 
			
		||||
        async sendTransactionAsync(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<string> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
                self.transferOwnership.estimateGasAsync.bind(
 | 
			
		||||
                    self,
 | 
			
		||||
                    newOwner,
 | 
			
		||||
                ),
 | 
			
		||||
            );
 | 
			
		||||
            const txHash = await promisify<string>(
 | 
			
		||||
                self.web3ContractInstance.transferOwnership, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                newOwner,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return txHash;
 | 
			
		||||
        },
 | 
			
		||||
        async estimateGasAsync(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): Promise<number> {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const txDataWithDefaults = await self.applyDefaultsToTxDataAsync(
 | 
			
		||||
                txData,
 | 
			
		||||
            );
 | 
			
		||||
            const gas = await promisify<number>(
 | 
			
		||||
                self.web3ContractInstance.transferOwnership.estimateGas, self.web3ContractInstance,
 | 
			
		||||
            )(
 | 
			
		||||
                newOwner,
 | 
			
		||||
                txDataWithDefaults,
 | 
			
		||||
            );
 | 
			
		||||
            return gas;
 | 
			
		||||
        },
 | 
			
		||||
        getABIEncodedTransactionData(
 | 
			
		||||
            newOwner: string,
 | 
			
		||||
            txData: TxData = {},
 | 
			
		||||
        ): string {
 | 
			
		||||
            const self = this as TokenTransferProxyContract;
 | 
			
		||||
            const abiEncodedTransactionData = self.web3ContractInstance.transferOwnership.getData();
 | 
			
		||||
            return abiEncodedTransactionData;
 | 
			
		||||
        },
 | 
			
		||||
    };
 | 
			
		||||
    constructor(web3ContractInstance: Web3.ContractInstance, defaults: Partial<TxData>) {
 | 
			
		||||
        super(web3ContractInstance, defaults);
 | 
			
		||||
        classUtils.bindAll(this, ['web3ContractInstance', 'defaults']);
 | 
			
		||||
    }
 | 
			
		||||
} // tslint:disable:max-file-line-count
 | 
			
		||||
		Reference in New Issue
	
	Block a user