UNPKG

@mysten/suins

Version:
64 lines (61 loc) 2.22 kB
/************************************************************** * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED * **************************************************************/ /** * A wrapper for `SuinsRegistration` subdomain objects. * * With the wrapper, we are allowing easier distinction between second level names * & subdomains in RPC Querying | filtering. * * We maintain all core functionality unchanged for registry, expiration etc. */ import { MoveStruct, normalizeMoveArguments, type RawTransactionArgument } from '../utils/index.js'; import { bcs } from '@mysten/sui/bcs'; import { type Transaction } from '@mysten/sui/transactions'; import * as suins_registration from './suins_registration.js'; const $moduleName = '@suins/core::subdomain_registration'; export const SubDomainRegistration = new MoveStruct({ name: `${$moduleName}::SubDomainRegistration`, fields: { id: bcs.Address, nft: suins_registration.SuinsRegistration, }, }); export interface NftArguments { name: RawTransactionArgument<string>; } export interface NftOptions { package?: string; arguments: NftArguments | [name: RawTransactionArgument<string>]; } export function nft(options: NftOptions) { const packageAddress = options.package ?? '@suins/core'; const argumentsTypes = [null] satisfies (string | null)[]; const parameterNames = ['name']; return (tx: Transaction) => tx.moveCall({ package: packageAddress, module: 'subdomain_registration', function: 'nft', arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames), }); } export interface NftMutArguments { name: RawTransactionArgument<string>; } export interface NftMutOptions { package?: string; arguments: NftMutArguments | [name: RawTransactionArgument<string>]; } export function nftMut(options: NftMutOptions) { const packageAddress = options.package ?? '@suins/core'; const argumentsTypes = [null] satisfies (string | null)[]; const parameterNames = ['name']; return (tx: Transaction) => tx.moveCall({ package: packageAddress, module: 'subdomain_registration', function: 'nft_mut', arguments: normalizeMoveArguments(options.arguments, argumentsTypes, parameterNames), }); }