1.0.5 • Published 12 months ago

streamnfttech_sol v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

STREAM NFT

This SDK provides an extension to integrate the STREAM NFT (https://www.streamnft.tech) smart contract to your Solana 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 {
initManager, initPool, initRent, processLoan, processRent, repayLoan, expireLoan, cancelManager, cancelPool, cancelRent, getAssetManager, getBidManager, getBidManagerByUser, getBidPool, 
initRent, processRent, expireRent, cancelRent
} from "streamnfttech_sol";

Documentation on functions:

Rent Protocol

Initialize

Initializes lending:

 initRent(
  rate: BN, // rent price per second in lamport
  offerDurationInMinutes: BN, // lend offer duration in minutes
  rentIsFixed: boolean, // if a lender decides to define fixed rent duration 
  fixedDurationInMinutes: BN, // fixed rent duration in minutes
  ownerRevenue: BN, // owner share for revenue
  mint: PublicKey,  // mint address of NFT
  ) 

Process

Processes rent:

processRent(
  timeInMinutes: BN,  // rental duration in minutes
  nftMint: PublicKey, // mint address of NFT
) 

Cancel

Cancels the rent:

cancelRent(
  nftMint: PublicKey, // mint address of NFT
)

Expire

Expire Rent:

expireRent(
  nftMint: PublicKey, // mint address of NFT
)

Loan Protocol

Initialize

Initializes bidding pool:

 initPool(
  loanDurationInMinutes: number,  // loan duration in minutes
  gracePeriodInMinutes: number, // grace duration in minutes
  interestRateLender: number, // interest rate lender
  collection: PublicKey,  // collection address
) 

Initializes bid manager:

 initManager(
  biddingAmountInLamports: BN,  // loan amount in lamports
  totalBids: BN,  //total loan bids
  biddingPoolPda: PublicKey,  //program address of bid pool
)

Process

Processes loan:

processLoan(
  biddingManager: PublicKey,  // program address of bid manager
  nftMint: PublicKey, // mint address of NFT
)

Repays loan:

repayLoan(
  biddingManager: PublicKey,  // program address of bid manager
  nftMint: PublicKey, // mint address of NFT
) 

Cancel

Cancels the bid manager created:

cancelManager(
  biddingManager: PublicKey // program address of bid manager 
)

Cancels the bid pool created:

cancelPool(
  biddingPool: PublicKey, // program address of bid pool 
)

Expire

Expire loan:

expireLoan(
  biddingManager: PublicKey, // program address of bid manager 
  nftMint: PublicKey, // mint address of NFT
)

Get

Get the list of the asset managers

getAssetManager()

Get the list of the bid managers

getBidManager()

Get the list of the bid managers by user

interface BidManagerByUserArgs {
  address: PublicKey, // user address
}
  
getBidManagerByUser(
  address: PublicKey, // user address
)

Get the list of the bid pool

getBidPool()

Check out EVM SDK at: https://www.npmjs.com/package/streamnfttech_evm