ModulesPlutus
plutus/CIP68Metadata.ts
CIP68Metadata overview
CIP-68 Datum Metadata Standard for NFTs and tokens
Table of contents
utils
CIP68Datum
CIP-68 Datum Structure
datum = Constr(0, [metadata, version, extra])
- metadata: Arbitrary PlutusData - structure varies by token class:
- 222 (NFT): Map with name, image, description, files (CIP-25 structure)
- 333 (FT): Map with name, description, ticker, url, decimals, logo
- 444 (RFT): Map combining NFT + FT fields plus decimals
- version: 1, 2, or 3 depending on token class
- extra: Custom plutus data (minimum Unit/Void)
Signature
export declare const CIP68Datum: TSchema.Struct<{
metadata: Schema.SchemaClass<Data.Data, Data.Data, never>
version: TSchema.Integer
extra: TSchema.Array<Schema.SchemaClass<Data.Data, Data.Data, never>>
}>CIP68Datum (type alias)
Signature
export type CIP68Datum = typeof CIP68Datum.TypeCodec
Signature
export declare const Codec: {
toData: (
a: { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] },
overrideOptions?: ParseOptions
) => Data.Constr
fromData: (
i: Data.Constr,
overrideOptions?: ParseOptions
) => { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] }
toCBORHex: (
a: { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] },
overrideOptions?: ParseOptions
) => string
toCBORBytes: (
a: { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] },
overrideOptions?: ParseOptions
) => any
fromCBORHex: (
i: string,
overrideOptions?: ParseOptions
) => { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] }
fromCBORBytes: (
i: any,
overrideOptions?: ParseOptions
) => { readonly metadata: Data.Data; readonly version: bigint; readonly extra: readonly Data.Data[] }
}FT_TOKEN_LABEL
CIP-68 FT (Fungible Token) Label (333 in hex)
Signature
export declare const FT_TOKEN_LABEL: 333NFT_TOKEN_LABEL
CIP-68 NFT Token Label (222 in hex)
Signature
export declare const NFT_TOKEN_LABEL: 222REFERENCE_TOKEN_LABEL
CIP-68 Reference Token Label (100 in hex)
Signature
export declare const REFERENCE_TOKEN_LABEL: 100RFT_TOKEN_LABEL
CIP-68 RFT (Rich Fungible Token) Label (444 in hex)
Signature
export declare const RFT_TOKEN_LABEL: 444