import { StringPublicKey } from "../types" ; const METADATA_PREFIX = "metadata" ; const METADATA_PROGRAM = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s" ; export enum MetadataKey { Uninitialized = 0 , MetadataV1 = 4 , EditionV1 = 1 , MasterEditionV1 = 2 , MasterEditionV2 = 6 , EditionMarker = 7 } export class Creator { address : StringPublicKey ; verified : boolean ; share : number ; constructor ( args ) { this . address = args . address ; this . verified = args . verified ; this . share = args . share ; } } class Metadata { key : MetadataKey ; updateAuthority : StringPublicKey ; mint : StringPublicKey ; data : Data ; primarySaleHappened : boolean ; isMutable : boolean ; editionNonce : number | null ; masterEdition ? : StringPublicKey ; edition ? : StringPublicKey ; constructor ( args ) { this . key = MetadataKey . MetadataV1 ; this . updateAuthority = args . updateAuthority ; this . mint = args . mint ; this . data = args . data ; this . primarySaleHappened = args . primarySaleHappened ; this . isMutable = args . isMutable ; this . editionNonce = args . editionNonce ?? null ; } } export class Data { name : string ; symbol : string ; uri : string ; sellerFeeBasisPoints : number ; creators : Creator [ ] | null ; constructor ( args ) { this . name = args . name ; this . symbol = args . symbol ; this . uri = args . uri ; this . sellerFeeBasisPoints = args . sellerFeeBasisPoints ; this . creators = args . creators ; } } const METADATA_SCHEMA = new Map < any , any > ( [ [ Data , { kind : "struct" , fields : [ [ "name" , "string" ] , [ "symbol" , "string" ] , [ "uri" , "string" ] , [ "sellerFeeBasisPoints" , "u16" ] , [ "creators" , { kind : "option" , type : [ Creator ] } ] , ] , } , ] , [ Metadata , { kind : "struct" , fields : [ [ "key" , "u8" ] , [ "updateAuthority" , "pubkey" ] , [ "mint" , "pubkey" ] , [ "data" , Data ] , [ "primarySaleHappened" , "u8" ] , [ "isMutable" , "u8" ] , ] , } , ] , [ Creator , { kind : "struct" , fields : [ [ "address" , "pubkey" ] , [ "verified" , "u8" ] , [ "share" , "u8" ] , ] , } , ] , ] ) ; export { METADATA_SCHEMA , METADATA_PREFIX , METADATA_PROGRAM , Metadata } ;