UNPKG

@paulstinchcombe/kami721c-sdk

Version:

SDK for interacting with KAMI721C NFT contracts

45 lines (44 loc) 2.49 kB
import { ContractRunner } from 'ethers'; import { KAMI721C } from '../contracts/KAMI721C'; /** * Factory class for deploying KAMI721C contracts (Standard and Upgradeable via Proxy) */ export declare class KAMI721CFactory { private implementationFactory; private proxyFactory; private runner; /** * Creates a new instance of the KAMI721C factory * @param runner A signer or provider with deployment permissions */ constructor(runner: ContractRunner); /** * Deploy a new KAMI721C contract (Upgradeable via Transparent Proxy) * @param usdcAddress The address of the USDC token contract * @param name The name of the NFT collection * @param symbol The symbol of the NFT collection * @param baseURI The base URI for token metadata * @param initialMintPrice The initial mint price in USDC (with 6 decimals) * @param platformAddress The address that will receive platform commissions (also becomes proxy admin) * @param platformCommissionPercentage The platform commission percentage in basis points (e.g., 500 = 5%) * @param ownerAddress The address to grant the OWNER_ROLE to initially * @returns The deployed contract instance, interacting with the proxy */ deployUpgradeable(usdcAddress: string, name: string, symbol: string, baseURI: string, initialMintPrice?: bigint | string, // Default 1 USDC (6 decimals) platformAddress?: string, platformCommissionPercentage?: number, // Default 5% ownerAddress?: string): Promise<KAMI721C>; /** * Deploy a new KAMI721C contract (Standard Non-Upgradeable Version) * @deprecated Use deployUpgradeable instead for the proxy-based version. * @param usdcAddress The address of the USDC token contract * @param name The name of the NFT collection * @param symbol The symbol of the NFT collection * @param baseURI The base URI for token metadata * @param initialMintPrice The initial mint price in USDC (with 6 decimals) * @param platformAddress The address that will receive platform commissions * @param platformCommissionPercentage The platform commission percentage in basis points (e.g., 500 = 5%) * @returns The deployed contract instance */ deployStandard(usdcAddress: string, name: string, symbol: string, baseURI: string, initialMintPrice?: bigint | string, // Default 1 USDC (6 decimals) platformAddress?: string, platformCommissionPercentage?: number): Promise<KAMI721C>; }