1.0.6 • Published 2 years ago
streamnfttech_evm v1.0.6
STREAM NFT
This SDK provides an extension to integrate the STREAM NFT (https://www.streamnft.tech) smart contract to your EVM application. STREAM NFT is an cross-chain scalability layer for NFT liquidity. This can be used to unlock features like rental, loan, buy now pay later for your utilitarian NFT.
import { initPool, initManager, processLoan, repayLoan, expireLoan, cancelManager, initRent, processRent, expireRent, cancelRent } from "streamnfttech_evm";Documentation on functions:
Rent Protocol
Following functions provide accesibility to rental services
Initialize
Initializes rent:
 initRent(
  tokenAddress: address, // ERC721 address
  tokenId: number, // token Id
  ratePerMinute: number, // rental rate per minute
  validityMinutes: number, // offer validity
  isFixed: bool, // fixed day rental
  fixedMinutes: number, // if fixed day, duration in minutes
  ownerShare: number, // reward share of owner
  whitelist: address, // whitelisted address for rental
  signer // signer component of wallet
  ) Process
Processes rent:
processRent(
  tokenAddress: address, // ERC721 address
  tokenId: number, // token Id
  durationMinutes: number, // loan duration requested
  signer // signer component of wallet
) Cancel
Cancels the rent:
cancelRent(
  tokenAddress: address, // ERC721 address
  tokenId: number, // token Id
  signer // signer component of wallet
)Expire
Expire Rent:
expireRent(
  tokenAddress: address, // ERC721 address
  tokenId: number, // token Id
  signer // signer component of wallet
)Loan Protocol
Initialize
Initializes bidding pool:
 initPool(
  tokenAddress: address,  // ERC721 address
  loanDurationInMinutes: number,  // loan duration in minutes
  gracePeriodInMinutes: number, // grace duration in minutes
  interestRateLender: number, // interest rate for loan provider
  signer // signer component of wallet
) Initializes bid manager:
 initManager(
  bidPoolIndex: number, // index of bid pool
  bidAmount: number,  // amount of placed on bid pool
  totalBids: number,  // total number of bids
  signer // signer component of wallet
)Process
Processes loan:
processLoan(
  bidPoolIndex: number, // index of bid pool
  bidManagerIndex: number, // index of bid manager
  tokenId: number, // token Id
  signer // signer component of wallet
)Cancel
Cancels the bid manager created:
cancelManager(
  bidPoolIndex: number, // index of bid pool
  bidManagerIndex: number, // index of bid manager
  signer  // signer component of wallet
)Expire
Expire loan:
expireLoan(
  userAssetIndex: number, // user asset index
  signer  // signer component of wallet
)Check out solana SDK: https://www.npmjs.com/package/streamnfttech