import { ethers, Signer, BigNumberish } from 'ethers'; import { Subgraph } from './subgraph'; import { BreedUFOGees, BreedUFOGees__factory } from './wrappers'; import { BigNumber as DecimalBigNumber } from 'bignumber.js'; import { BreedingConfig } from './types'; export { Subgraph } from './subgraph'; const exponent = new DecimalBigNumber(10).pow(18); const zeroAddress = '0x0000000000000000000000000000000000000000'; export class BreedingSDK { private signer: Signer; private ufogeesBreeding: BreedUFOGees; private subgraph: Subgraph; constructor(signer: Signer, breedConfig: BreedingConfig, subgraphUrl: string) { this.signer = signer; this.ufogeesBreeding = new BreedUFOGees__factory(this.signer).attach(breedConfig.breedContract); this.subgraph = new Subgraph(subgraphUrl, breedConfig.production); } public async lockUFOGees(ufo1: BigNumberish, ufo2: BigNumberish) { await this.ufogeesBreeding.lockUFOGees(ufo1, ufo2); } public async cancelLockUFOGees(index: BigNumberish) { await this.ufogeesBreeding.cancelLockUFOGees(index); } public async claimBreedingReward(index: BigNumberish) { await this.ufogeesBreeding.withdrawReward(index, 1); } }