import Services from '../../Services';
import { FUND_ABI } from '../abi/Fund';
import Promisify from '../../utils/Promisify';
import BigNumber from 'bignumber.js';

export class ERC20DerivativeService extends Services {
  private contract;
  public address;

  public constructor(address: string, abi = FUND_ABI) {
    super();
    this.address = address;
    this.contract = this.rpcService.contract(abi, address);
  }

  public async getPrice(): Promise<BigNumber> {
    return Promisify<BigNumber>(async (cb) => this.contract.getPrice(cb));
  }

}
