UNPKG

@paulstinchcombe/kami721c-sdk

Version:

SDK for interacting with KAMI721C NFT contracts

44 lines (43 loc) 2.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const ethers_1 = require("ethers"); const KAMI721C_1 = require("../contracts/KAMI721C"); const dotenv_1 = __importDefault(require("dotenv")); dotenv_1.default.config(); async function main() { try { // Get provider and wallet const provider = new ethers_1.ethers.JsonRpcProvider(process.env.RPC_URL); const wallet = new ethers_1.ethers.Wallet(process.env.PRIVATE_KEY, provider); console.log(`Connected with wallet: ${wallet.address}`); // Get contract instance const contractAddress = process.env.CONTRACT_ADDRESS; const nftContract = new KAMI721C_1.KAMI721C(wallet, contractAddress); // Get USDC address const usdcAddress = await nftContract.getUsdcTokenAddress(); console.log(`Contract's USDC address: ${usdcAddress}`); console.log(`Environment USDC address: ${process.env.USDC_ADDRESS}`); if (usdcAddress.toLowerCase() !== process.env.USDC_ADDRESS.toLowerCase()) { console.log('WARNING: USDC addresses do not match!'); } else { console.log('USDC addresses match ✓'); } // Get platform commission and address const platformCommission = await nftContract.getPlatformCommissionPercentage(); const platformAddress = await nftContract.getPlatformAddress(); console.log(`\nPlatform commission: ${platformCommission} basis points (${Number(platformCommission) / 100}%)`); console.log(`Platform address: ${platformAddress}`); // Check if the platform address has the PLATFORM_ROLE const platformRole = await nftContract.PLATFORM_ROLE(); const hasPlatformRole = await nftContract.hasRole(platformRole, platformAddress); console.log(`Platform address has PLATFORM_ROLE: ${hasPlatformRole}`); } catch (error) { console.error('Error:', error); } } main();