UNPKG

@renft/sdk

Version:

**ReNFT** is a multi-chain highly gas-optimised NFT rental protocol and platform that can be whitelabel integrated into any project to enable collateral-free in-house renting, lending, and reward share (scholarship automation).

19 lines (18 loc) 1.36 kB
import { Account, Address, PublicClient, SimulateContractReturnType, WalletClient, WriteContractReturnType } from 'viem'; import { Deployment, EVMNetworkType, RenftContractType, RenftContractVersion, RenftContractVersions } from '../core'; export declare type Simulator = (functionName: string, args: any) => Promise<SimulateContractReturnType>; export declare type Executor = (functionName: string, args: any) => Promise<WriteContractReturnType>; export declare type SDKInterface<ContractType extends RenftContractType, ContractVersion extends RenftContractVersions[ContractType]> = { account: Account | Address; deployment: Deployment<ContractType, ContractVersion>; publicClient: PublicClient; walletClient: WalletClient; }; export declare abstract class SDK<ContractType extends RenftContractType, ContractVersion extends RenftContractVersions[ContractType]> { protected deployment: Deployment<RenftContractType, RenftContractVersion>; protected exec: Executor; protected network: EVMNetworkType; protected supportedDeployments: Deployment<RenftContractType, RenftContractVersion>[]; constructor({ account, deployment, publicClient, walletClient, }: SDKInterface<ContractType, ContractVersion>); protected validate(deploymentList: Deployment<RenftContractType, RenftContractVersion>[]): void; }