npm package: @nekoproject/nfts
Description: Cross-chain NFT
Author: @minhdocs
Latest version: 1.0.4
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @nekoproject/tokens

A complete crypto wallet base support for cross-chain

Table of contents
=================
<!--ts-->
  * [Re-Build](#build)
  * [Install](#install)
  * [Documents](#documents)
    * [Mint NFT](#mint-nft)
    * [Create transaction order](#create-transaction-order)
    * [Transfer NFT](#transfer-token)
    * [Get info](#get-information)
    * [Get NFT owner](#get-nft-owner)
    * [Get mint address](#get-nft-mint-address)
    * [Get all NFT](#get-all-nft)
  * [Notice](#notice)
<!--te-->

Build
========
Re-build project from scratch
  - Clean project
    ```bash
      npm run clean
    ```
  - Build
    ```bash
      npm run build
    ```
  - Unit test
    ```bash
      npm run test:cover
    ```
Install
=======
  Install `@nekoproject/nft` with `npm`
  ```bash
    npm i @nekoproject/nft
  ```
  Import
  ```ts
    import { NFT, NFTToken } from '@nekoproject/nft'
  ```
Documents
=========
Create new Token instant
```ts
  import { SPLNetwork } from '@nekoproject/networks';
  const nfttokenConfig: NFTTokenInfo = {
    mintAddress: 'mint address'
  }
  const config = {
    rpcUrl: 'rpc URL',
    explorer: 'https://solscan.io',
  }
  let network: Network;
  let nft: NFT;
  network = new SPLNetwork(config)
  nft = new NFTToken(network, nfttokenConfig)
```
### Token methods

#### Mint NFT
  ```ts
    /**
   * Static method mint an NFT
   * @param mintNFTOrder: type `MintNFTOrder`
   * @param wallet: wallet
   * @param network: Network
   * @returns : NFTToken instant
   */
   const order = {
      uri: 'uri URL',
      maxSupply: 1
   }
   const nft = await NFTToken.mintNFT(network, wallet, order)
  ```
#### Create transaction Order
  ```ts
    /**
   * Instant method create transaction order
   * @param order: NFTOrderRequest
   * @returns : NFTTransferOrder
   */
    const order: NFTOrderRequest = {
      from: 'address',
      to: 'address',
      amount: '1'
    }
    const transactionOrder = await nft.createTransferOrder(order)
  ```
#### Transfer Token
  ```ts
    /**
   * Instant method transfer NFT
   * @param transactionOrder: NFTTransferOrder
   * @param wallet : Wallet
   * @returns : signature
   */
    const signature = await nft.transfer(wallet, transactionOrder)
  ```
#### Get information
   ```ts
    /**
   * Instant method get all information about NFT
   * @param
   * @returns : NFTTokenInfo
   */
    const info = await nft.getInfo()
  ```
#### Get NFT Owner
  ##### static method
  ```ts
    /**
   * Static method get owner of NFT
   * @param network: Network
   * @param mintAddress: mint address
   * @returns : Address of owner's NFT
   */
    const owner = await NFTToken.getNFTOwner(network, mintAddress)
  ```
  ##### Instant method
  ```ts
    /**
   * Instant method get owner of NFT
   * @returns : Address of owner's NFT
   */
    const owner = await nft.getNFTOwner()
  ```
  
#### Get NFT Mint Address
  ```ts
    /**
   * Static method get mint address by candy machine Id (first creator address) using candy machine v2
   * @NOTICE: this version is unstable, use late when new update release
   * @param network: Network
   * @param candyMachineId: candy machine id
   * @returns : new instant of NFTToken with gotten mint address 
   */
    const nft = await NFTToken.getNFTMintAddress(network, candyMachineId)
  ```
#### Get All NFT
   ```ts
      /**
     * Static method get all NFT in wallet
     * @param network: Network
     * @param walletAddress: address of wallet to get all nft
     * @returns : list of `NFTToken instant` in wallet
     */
      const nftToken = await nft.getAllNFT(network, walletAddress)
  ```
  

Notice
========
# Ref