@rsksmart/rns-sdk
Version:
93 lines (92 loc) • 3.31 kB
TypeScript
import { Signer, Contract, BigNumber } from 'ethers';
export declare class PartnerConfiguration {
private readonly partnerConfigurationAddress;
readonly partnerConfiguration: Contract;
readonly signer: Signer;
constructor(partnerConfigurationAddress: string, signer: Signer);
/**
* returns the minimum length allowed for a domain name
*/
getMinLength(): Promise<BigNumber>;
/**
* returns the maximum length allowed for a domain name
*/
getMaxLength(): Promise<BigNumber>;
/**
* returns the minimum duration allowed for a domain name
*/
getMinDuration(): Promise<BigNumber>;
/**
* returns the maximum duration allowed for a domain name
*/
getMaxDuration(): Promise<BigNumber>;
/**
* returns the minimum commitment age allowed for a domain name
*/
getMinCommitmentAge(): Promise<BigNumber>;
/**
* returns the fee percentage assigned to the partner for each domain name registered
*/
getFeePercentage(): Promise<BigNumber>;
/**
* returns the discount assigned to the partner for each domain name registered
*/
getDiscount(): Promise<BigNumber>;
/**
* returns the price of a domain name
*
* @param name the domain name
* @param expires the number of years to expire
* @param duration the duration for the registration
*/
getPrice(name: string, expires: BigNumber, duration: BigNumber): Promise<BigNumber>;
/**
* checks if the name is valid and throws an error if not
*
* @param label the domain name
* @param duration the duration for the registration
*/
validateName(label: string, duration: BigNumber): Promise<void>;
/**
* sets the discount assigned to the partner for each domain name registered
*
* @param discount the discount assigned to the partner for each domain name registered
*/
setDiscount(discount: BigNumber): Promise<void>;
/**
* sets the maximum duration allowed for a domain name
*
* @param maxDuration the maximum duration allowed for a domain name in days
*/
setMaxDuration(maxDuration: BigNumber): Promise<void>;
/**
* sets the minimum length allowed for a domain name
*
* @param minLength the minimum length allowed for a domain name
*/
setMinLength(minLength: BigNumber): Promise<void>;
/**
* sets the maximum length allowed for a domain name
*
* @param maxLength the maximum length allowed for a domain name
*/
setMaxLength(maxLength: BigNumber): Promise<void>;
/**
* sets the minimum commitment age allowed for a domain name
*
* @param minCommitmentAge the minimum commitment age allowed for a domain name in seconds
*/
setMinCommitmentAge(minCommitmentAge: BigNumber): Promise<void>;
/**
* sets the fee percentage assigned to the partner for each domain name registered
*
* @param feePercentage the new fee percentage
*/
setFeePercentage(feePercentage: BigNumber): Promise<void>;
/**
* sets the minimum duration allowed for a domain name
*
* @param minDuration the minimum duration allowed for a domain name in days
*/
setMinDuration(minDuration: BigNumber): Promise<void>;
}