UNPKG

@infy-protocol/sdk

Version:

Lend and rent any ERC721s and ERC1155s on supported mainnet and testnet.

43 lines (37 loc) 1.39 kB
import { Contract, Signer } from 'ethers'; import { RevenueSharedConfiguratorAbi } from './abi/RevenueSharedConfigurator'; import { NetworkConfig, SupportedChainIds } from './networkConfig'; import { IRevenueSharedConfigurator } from './types'; export class RevenueSharedConfigurator implements IRevenueSharedConfigurator { readonly signer: Signer; protected contract: Contract; constructor(_signer: Signer, chainId: SupportedChainIds) { this.signer = _signer; var _address = undefined; if ( NetworkConfig[chainId] === undefined || NetworkConfig[chainId].revenueSharedConfiguratorContractAddresses === undefined || NetworkConfig[chainId].revenueSharedConfiguratorContractAddresses .length <= 0 ) { throw new Error('Requested for unsupported chain'); } else { _address = NetworkConfig[chainId].revenueSharedConfiguratorContractAddresses[0]; this.contract = new Contract( _address, RevenueSharedConfiguratorAbi, this.signer ); } } async getPaymentOption(paymentOption: Number): Promise<number> { return await this.contract.getPaymentOption(Number(paymentOption)); } async isNFTAllowedForRevenueSharedRenting(address: string): Promise<boolean> { return await this.contract.isNFTAllowedForRevenueSharedRenting( address.toLowerCase() ); } }