{"version":3,"file":"Whitelist.mjs","sources":["../../../../../src/plugins/whitelistModule/models/Whitelist.ts"],"sourcesContent":["import { PublicKey } from '@solana/web3.js';\nimport { WhitelistAccount } from '../account';\nimport { assert } from '@/utils/assert';\n\n/**\n * This model captures all the relevant information about an Whitelist\n * on the Solana blockchain.\n *\n * @group Models\n */\nexport type Whitelist = {\n  /** A model identifier to distinguish models in the SDK. */\n  readonly model: 'whitelist';\n\n  /** The address of the creator */\n  readonly creator: PublicKey;\n\n  /** The address of the whitelist */\n  readonly address: PublicKey;\n\n  /** Whitelisted Addresses */\n  readonly whitelist: PublicKey[];\n};\n\n/** @group Model Helpers */\nexport const isWhitelist = (value: any): value is Whitelist =>\n  typeof value === 'object' && value.model === 'whitelist';\n\n/** @group Model Helpers */\nexport function assertWhitelist(value: any): asserts value is Whitelist {\n  assert(isWhitelist(value), 'Expected Whitelist model');\n}\n\nexport const toWhitelist = (account: WhitelistAccount): Whitelist => {\n  const { data } = account;\n  const whitelistData = {\n    model: 'whitelist',\n    address: account.publicKey,\n    creator: data.creator,\n    whitelist: data.whitelist,\n  };\n\n  assertWhitelist(whitelistData);\n  return {\n    model: 'whitelist',\n    address: account.publicKey,\n    creator: data.creator,\n    whitelist: data.whitelist,\n  };\n};\n"],"names":["isWhitelist","value","_typeof","model","assertWhitelist","assert","toWhitelist","account","data","whitelistData","address","publicKey","creator","whitelist"],"mappings":";;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAeA;IACaA,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAU,EAAA;EAAA,OACpCC,OAAA,CAAOD,KAAK,CAAK,KAAA,QAAQ,IAAIA,KAAK,CAACE,KAAK,KAAK,WAAW,CAAA;AAAA,EAAA;;AAE1D;AACO,SAASC,eAAeA,CAACH,KAAU,EAA8B;AACtEI,EAAAA,MAAM,CAACL,WAAW,CAACC,KAAK,CAAC,EAAE,0BAA0B,CAAC,CAAA;AACxD,CAAA;IAEaK,WAAW,GAAG,SAAdA,WAAWA,CAAIC,OAAyB,EAAgB;AACnE,EAAA,IAAQC,IAAI,GAAKD,OAAO,CAAhBC,IAAI,CAAA;AACZ,EAAA,IAAMC,aAAa,GAAG;AACpBN,IAAAA,KAAK,EAAE,WAAW;IAClBO,OAAO,EAAEH,OAAO,CAACI,SAAS;IAC1BC,OAAO,EAAEJ,IAAI,CAACI,OAAO;IACrBC,SAAS,EAAEL,IAAI,CAACK,SAAAA;GACjB,CAAA;EAEDT,eAAe,CAACK,aAAa,CAAC,CAAA;EAC9B,OAAO;AACLN,IAAAA,KAAK,EAAE,WAAW;IAClBO,OAAO,EAAEH,OAAO,CAACI,SAAS;IAC1BC,OAAO,EAAEJ,IAAI,CAACI,OAAO;IACrBC,SAAS,EAAEL,IAAI,CAACK,SAAAA;GACjB,CAAA;AACH;;;;"}