@paulstinchcombe/kami721c-sdk
Version:
SDK for interacting with KAMI721C NFT contracts
45 lines (44 loc) • 2.49 kB
TypeScript
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>;
}