@mysten/suins
Version:
88 lines (87 loc) • 2.22 kB
text/typescript
import { TransactionObjectArgument, TransactionObjectInput } from "@mysten/sui/transactions";
import { ClientWithCoreApi, SuiClientTypes } from "@mysten/sui/client";
//#region src/types.d.ts
interface CoinConfig {
type: string;
feed: string;
}
interface DiscountInfo {
discountNft: TransactionObjectInput;
type: string;
isFreeClaim?: boolean;
}
interface PackageInfo {
packageId: string;
packageIdV1: string;
packageIdPricing: string;
suins: string;
discountsPackage: {
packageId: string;
discountHouseId: string;
};
subNamesPackageId: string;
tempSubdomainsProxyPackageId: string;
coupons: {
packageId: string;
};
payments: {
packageId: string;
};
bbb: {
packageId: string;
vault: string;
};
registryTableId?: string;
pyth: {
pythStateId: string;
wormholeStateId: string;
};
utils?: {
packageId: string;
};
coins: Record<string, CoinConfig>;
}
interface NameRecord {
name: string;
nftId: string;
targetAddress: string;
expirationTimestampMs: number;
data: Record<string, string>;
avatar?: string;
contentHash?: string;
walrusSiteId?: string;
}
type Config = Record<'mainnet' | 'testnet', PackageInfo>;
type BaseParams = {
years: number;
coinConfig: CoinConfig;
coin?: TransactionObjectInput;
couponCode?: string;
discountInfo?: DiscountInfo;
maxAmount?: bigint;
priceInfoObjectId?: string | null;
};
type RegistrationParams = BaseParams & {
domain: string;
};
type RenewalParams = BaseParams & {
nft: TransactionObjectInput;
};
type ReceiptParams = {
paymentIntent: TransactionObjectArgument;
priceAfterDiscount: TransactionObjectArgument;
coinConfig: CoinConfig;
coin?: TransactionObjectInput;
maxAmount?: bigint;
priceInfoObjectId?: string | null;
};
type SuinsClientConfig = {
client: ClientWithCoreApi;
network?: SuiClientTypes.Network;
packageInfo?: PackageInfo;
};
type SuinsPriceList = Map<[number, number], number>;
type CoinTypeDiscount = Map<string, number>;
//#endregion
export { CoinTypeDiscount, Config, DiscountInfo, NameRecord, PackageInfo, ReceiptParams, RegistrationParams, RenewalParams, SuinsClientConfig, SuinsPriceList };
//# sourceMappingURL=types.d.mts.map