1.0.0 • Published 11 months ago

gokulnpc v1.0.0

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

STREAM NFT

This SDK provides an extension to integrate the STREAM NFT (https://www.streamnft.tech) smart contract to your 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:

Initialize

Initializes bid manager:

InitManagerArgs {
  bidPoolIndex: number,
  bidAmount: number,
  totalBids: number,
  signer
}
 initManager(
  bidPoolIndex: number,
  bidAmount: number,
  totalBids: number,
  signer
)

Initializes bidding pool:

InitPoolArgs {
  tokenAddress: address,
  loanDurationInMinutes: number,
  gracePeriodInMinutes: number,
  interestRateLender: number,
  signer
}
 initPool(
  tokenAddress: address,
  loanDurationInMinutes: number,
  gracePeriodInMinutes: number,
  interestRateLender: number,
  signer
) 

Initializes rent:

InitRentArgs {
  tokenAddress: address, 
  tokenId: number, 
  ratePerMinute: number, 
  validityMinutes: number, 
  isFixed: bool, 
  fixedMinutes: number, 
  ownerShare: number, 
  whitelist: address, 
  signer
}
 initRent(
  tokenAddress: address, 
  tokenId: number, 
  ratePerMinute: number, 
  validityMinutes: number, 
  isFixed: bool, 
  fixedMinutes: number, 
  ownerShare: number, 
  whitelist: address, 
  signer
  ) 

Process

Processes loan:

ProcessLoanAccounts {
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  tokenId: number, 
  signer
}
processLoan(
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  tokenId: number, 
  signer
)

Processes rent:

ProcessRentArgs {
  tokenAddress: address, 
  tokenId: number, 
  durationMinutes: number, 
  signer
}
processRent(
  tokenAddress: address, 
  tokenId: number, 
  durationMinutes: number, 
  signer
) 

Repays loan:

RepayLoanAccounts {
  userAssetIndex: number, 
  signer
}
repayLoan(
  userAssetIndex: number, 
  signer
) 

Cancel

Cancels the bid manager created:

CancelManagerAccounts {
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  signer
}
cancelManager(
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  signer
)

Cancels the rent:

CancelRentArgs {
  tokenAddress: address, 
  tokenId: number, 
  signer
}
cancelRent(
  tokenAddress: address, 
  tokenId: number, 
  signer
)

Expire

Expire loan:

ExpireLoanArgs {
  userAssetIndex: number, 
  signer
}
expireLoan(
  userAssetIndex: number, 
  signer
)

Expire Rent:

ExpireRentArgs {
  tokenAddress: address, 
  tokenId: number, 
  signer
}
expireRent(
  tokenAddress: address, 
  tokenId: number, 
  signer
)

Get

Get asset manager

getAssetManagerArgs {
  tokenAddress: address, 
  tokenId: number, 
  provider
}
getAssetManager {
  tokenAddress: address, 
  tokenId: number, 
  provider
}

Get bid manager

getBidManagerArgs {
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  provider
}
getBidManager {
  bidPoolIndex: number, 
  bidManagerIndex: number, 
  provider
}

Get user assets

getUserAssetsArgs {
  publicKey: address, 
  userAssetIndex: number, 
  provider
}
getUserAssets {
  publicKey: address, 
  userAssetIndex: number, 
  provider
}

Get bid pool

getBidPoolArgs {
  bidPoolIndex: number, 
  provider
}
getBidPool {
  bidPoolIndex: number, 
  provider
}

Stream NFT currently supports Solana, also expanding to other chains as well soon.. stay tuned :)