@ajna-finance/sdk
Version:
A typescript SDK that can be used to create Dapps in Ajna ecosystem.
52 lines (51 loc) • 2.53 kB
TypeScript
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>;
}