1.0.0-alpha.35 • Published 12 months ago

@mirrorworld/library.gen2.new v1.0.0-alpha.35

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

This SDK contains the client side methods for the Mirror Generation Two Solana Program

Installation

🚨 Please make sure to add this NPM token in your .npmrc file: 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

yarn add @mirrorworld/library.upgrade

Usage

Import the LevelUpgrade instance into your client. It expects a connection and wallet instance. You can get these by using one of the Solana Wallet Adapters your application will use to connect to a Solana RPC.

These transactions require you to sign the transaction using your wallet. That means you need to have SOL. You can request SOL from the SolFaucet

import {
    LevelUpgrade,
    // Required
    LEVEL_UPGRADE_PROGRAM_ID
} from '@mirrorworld/library.upgrade'

const connection = useConnection()

/** Make sure your wallet is initialized and connected to the browser before providing to LevelUpgrade */ 
const wallet = useWallet()

/** LevelUpgrade instance */
const levelUpgrade = new LevelUpgrade(
    LEVEL_UPGRADE_PROGRAM_ID,
    connection,
    wallet
);

Demo

Example: You can see example project in this repo here:

Create Update NFT Level Transaction

Create Update NFT Level Transaction object LevelUpgrade.updateLevel method. See docs for details.

let levelUpdateTransaction: Transaction = await levelUpgrade.updateLevel(
    nftAddress,
    userWallet.publicKey,
    newNftLevel,
    signingAuthorityWalletKeypair.publicKey
);

See example here

Signing Authority Sign Transaction

Sign Transaction object with secret Key LevelUpgrade.signTransaction method. See docs for details.

const signingAuthoritySignedLevelUpdateTransaction: Transaction = levelUpgrade.signTransaction(
    levelUpdateTransaction,
    signingAuthorityWalletSecretKey
);

See example here

Get NFT Level Up Account Data

Get NFT Level Up Account Data from the PDA Address LevelUpgrade.getLevelUpAccountPdaData method. See docs for details.

const levelUpAccountPdaAddressData = await levelUpgrade.getLevelUpAccountPdaData(
    levelupAccountPdaAddress
);

console.log("NFT address: ", levelUpAccountPdaAddressData.tokenKey.toBase58());
console.log("NFT Current Level: ", levelUpAccountPdaAddressData.level);

console.log("Levelup account pda address data: ", levelUpAccountPdaAddressData);

See example here

Get NFT Level

Get NFT Level from the NFT address LevelUpgrade.getNftLevel method. See docs for details.

const nftLevel = await levelUpgrade.getNftLevel(nftAddress);
console.log("Nft level: ", nftLevel);

See example here

Get NFT Level Or Default

Get NFT Level from the NFT address (If nft not exist in the program it will return 0 by default) LevelUpgrade.getNftLevelOrDefault method. See docs for details.

const nftLevelOrDefault = await levelUpgrade.getNftLevelOrDefault(nftAddress);
console.log("Nft level or default: ", nftLevel);

See example here