UNPKG

@mysten/suins

Version:
115 lines (112 loc) 3.69 kB
/************************************************************** * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED * **************************************************************/ /** * Admin features of the SuiNS application. Meant to be called directly by the * suins admin. */ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js'; import { bcs } from '@mysten/sui/bcs'; import { type Transaction } from '@mysten/sui/transactions'; const $moduleName = '@suins/core::admin'; export const Admin = new MoveStruct({ name: `${$moduleName}::Admin`, fields: { dummy_field: bcs.bool(), }, }); export interface AuthorizeArguments { cap: RawTransactionArgument<string>; suins: RawTransactionArgument<string>; } export interface AuthorizeOptions { package?: string; arguments: | AuthorizeArguments | [cap: RawTransactionArgument<string>, suins: RawTransactionArgument<string>]; } /** * Authorize the admin application in the SuiNS to get access to protected * functions. Must be called in order to use the rest of the functions. */ export function authorize(options: AuthorizeOptions) { const packageAddress = options.package ?? '@suins/core'; const argumentsTypes = [null, null] satisfies (string | null)[]; const parameterNames = ['cap', 'suins']; return (tx: Transaction) => tx.moveCall({ package: packageAddress, module: 'admin', function: 'authorize', arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames), }); } export interface ReserveDomainArguments { _: RawTransactionArgument<string>; suins: RawTransactionArgument<string>; domainName: RawTransactionArgument<string>; noYears: RawTransactionArgument<number>; } export interface ReserveDomainOptions { package?: string; arguments: | ReserveDomainArguments | [ _: RawTransactionArgument<string>, suins: RawTransactionArgument<string>, domainName: RawTransactionArgument<string>, noYears: RawTransactionArgument<number>, ]; } /** Reserve a `domain` in the `SuiNS`. */ export function reserveDomain(options: ReserveDomainOptions) { const packageAddress = options.package ?? '@suins/core'; const argumentsTypes = [null, null, '0x1::string::String', 'u8', '0x2::clock::Clock'] satisfies ( | string | null )[]; const parameterNames = ['_', 'suins', 'domainName', 'noYears']; return (tx: Transaction) => tx.moveCall({ package: packageAddress, module: 'admin', function: 'reserve_domain', arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames), }); } export interface ReserveDomainsArguments { _: RawTransactionArgument<string>; suins: RawTransactionArgument<string>; domains: RawTransactionArgument<string[]>; noYears: RawTransactionArgument<number>; } export interface ReserveDomainsOptions { package?: string; arguments: | ReserveDomainsArguments | [ _: RawTransactionArgument<string>, suins: RawTransactionArgument<string>, domains: RawTransactionArgument<string[]>, noYears: RawTransactionArgument<number>, ]; } /** Reserve a list of domains. */ export function reserveDomains(options: ReserveDomainsOptions) { const packageAddress = options.package ?? '@suins/core'; const argumentsTypes = [ null, null, 'vector<0x1::string::String>', 'u8', '0x2::clock::Clock', ] satisfies (string | null)[]; const parameterNames = ['_', 'suins', 'domains', 'noYears']; return (tx: Transaction) => tx.moveCall({ package: packageAddress, module: 'admin', function: 'reserve_domains', arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames), }); }