UNPKG

@ajna-finance/sdk

Version:

A typescript SDK that can be used to create Dapps in Ajna ecosystem.

52 lines (51 loc) 2.53 kB
import { BigNumber, Signer } from 'ethers'; import { Address, IERC721PoolFactory, SignerOrProvider, WrappedTransaction } from '../types'; import { ContractBase } from './ContractBase'; import { NonfungiblePool } from './NonfungiblePool'; /** * Factory used to find or create pools with ERC721 collateral. */ export declare class NonfungiblePoolFactory extends ContractBase implements IERC721PoolFactory { constructor(signerOrProvider: SignerOrProvider); /** * Creates a new collection pool allowing all tokenIds. * @param signer pool creator * @param nftAddress address of the ERC721 collateral token * @param quoteAddress address of the ERC20 quote token * @param interestRate initial interest rate, between 1%-10%, as WAD * @returns promise to transaction */ deployCollectionPool(signer: Signer, nftAddress: Address, quoteAddress: Address, interestRate: BigNumber): Promise<WrappedTransaction>; /** * Creates a new subset pool whitelisting specific tokenIds. * @param signer pool creator * @param nftAddress address of the ERC721 collateral token * @param subset array of tokenIds to whitelist * @param quoteAddress address of the ERC20 quote token * @param interestRate initial interest rate, between 1%-10%, as WAD * @returns promise to transaction */ deploySubsetPool(signer: Signer, nftAddress: Address, subset: Array<number>, quoteAddress: Address, interestRate: BigNumber): Promise<WrappedTransaction>; /** * Returns existing pool for two tokens. * @param collateralAddress token address * @param subset array of tokenIds for subset pool, empty array for collection pool * @param quoteAddress token address * @returns {@link NonfungiblePool} modeling desired pool */ getPool(collateralAddress: Address, subset: Array<number>, quoteAddress: Address): Promise<NonfungiblePool>; /** * Returns existing pool. * @param poolAddress address of pool * @returns {@link NonfungiblePool} modeling desired pool */ getPoolByAddress(poolAddress: Address): Promise<NonfungiblePool>; /** * Finds address of an existing pool. * @param collateralAddress token address * @param subset specifies tokenIds whitelisted in pool * @param quoteAddress token address * @returns address of the existing pool, or zero address if not found */ getPoolAddress(collateralAddress: Address, subset: Array<number>, quoteAddress: Address): Promise<Address>; }