{"version":3,"file":"RegisteredMint.mjs","sources":["../../../../../src/plugins/protocolModule/models/RegisteredMint.ts"],"sourcesContent":["import { PublicKey } from '@solana/web3.js';\nimport { MintType } from '@convergence-rfq/rfq';\n\nimport { RegisteredMintAccount } from '../accounts';\nimport { assert } from '../../../utils/assert';\n\n/**\n * This model captures all the relevant information about a registered mint\n * on the Solana blockchain.\n *\n * @group Models\n */\nexport type RegisteredMint = {\n  /** A model identifier to distinguish models in the SDK. */\n  readonly model: 'registeredMint';\n\n  /** The address of the base asset. */\n  readonly address: PublicKey;\n\n  /** The PDA bump of the registered mint. */\n  readonly bump: number;\n\n  /** The mint address. */\n  readonly mintAddress: PublicKey;\n\n  /** The number of decimals. */\n  readonly decimals: number;\n\n  /** The mint type. */\n  readonly mintType: MintType;\n};\n\n/** @group Model Helpers */\nexport const isRegisteredMint = (value: any): value is RegisteredMint =>\n  typeof value === 'object' && value.model === 'registeredMint';\n\n/** @group Model Helpers */\nexport function assertRegisteredMint(\n  value: any\n): asserts value is RegisteredMint {\n  assert(isRegisteredMint(value), 'Expected RegisteredMint model');\n}\n\n/** @group Model Helpers */\nexport const toRegisteredMint = (\n  account: RegisteredMintAccount\n): RegisteredMint => ({\n  model: 'registeredMint',\n  address: account.publicKey,\n  bump: account.data.bump,\n  mintAddress: account.data.mintAddress,\n  decimals: account.data.decimals,\n  mintType: account.data.mintType,\n});\n"],"names":["isRegisteredMint","value","_typeof","model","assertRegisteredMint","assert","toRegisteredMint","account","address","publicKey","bump","data","mintAddress","decimals","mintType"],"mappings":";;;AAMA;AACA;AACA;AACA;AACA;AACA;;AAqBA;IACaA,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAU,EAAA;EAAA,OACzCC,OAAA,CAAOD,KAAK,CAAK,KAAA,QAAQ,IAAIA,KAAK,CAACE,KAAK,KAAK,gBAAgB,CAAA;AAAA,EAAA;;AAE/D;AACO,SAASC,oBAAoBA,CAClCH,KAAU,EACuB;AACjCI,EAAAA,MAAM,CAACL,gBAAgB,CAACC,KAAK,CAAC,EAAE,+BAA+B,CAAC,CAAA;AAClE,CAAA;;AAEA;IACaK,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAC3BC,OAA8B,EAAA;EAAA,OACV;AACpBJ,IAAAA,KAAK,EAAE,gBAAgB;IACvBK,OAAO,EAAED,OAAO,CAACE,SAAS;AAC1BC,IAAAA,IAAI,EAAEH,OAAO,CAACI,IAAI,CAACD,IAAI;AACvBE,IAAAA,WAAW,EAAEL,OAAO,CAACI,IAAI,CAACC,WAAW;AACrCC,IAAAA,QAAQ,EAAEN,OAAO,CAACI,IAAI,CAACE,QAAQ;AAC/BC,IAAAA,QAAQ,EAAEP,OAAO,CAACI,IAAI,CAACG,QAAAA;GACxB,CAAA;AAAA;;;;"}