{"version":3,"file":"checkAddressExistsOnWhitelist.mjs","sources":["../../../../../src/plugins/whitelistModule/operations/checkAddressExistsOnWhitelist.ts"],"sourcesContent":["import { PublicKey } from '@solana/web3.js';\n\nimport { toWhitelist } from '../models';\n\nimport { Convergence } from '../../../Convergence';\nimport { toWhitelistAccount } from '../account';\nimport {\n  Operation,\n  OperationHandler,\n  OperationScope,\n  useOperation,\n} from '../../../types';\n\nconst Key = 'CheckAddressExistsOnWhitelistOperation' as const;\n\n/**\n * check an address already exists in a whitelist.\n *\n * ```ts\n * const doesExists = await convergence\n *   .whitelist()\n *   .checkAddressExistsOnWhitelist({\n *       whitelistAddress: PublicKey,\n *       addressToSearch: PublicKey,\n *   });\n * ```\n *\n * @group Operations\n * @category Constructors\n */\nexport const checkAddressExistsOnWhitelistOperation =\n  useOperation<CheckAddressExistsOnWhitelistOperation>(Key);\n\n/**\n * @group Operations\n * @category Types\n */\nexport type CheckAddressExistsOnWhitelistOperation = Operation<\n  typeof Key,\n  CheckAddressExistsOnWhitelistInput,\n  CheckAddressExistsOnWhitelistOutput\n>;\n\n/**\n * @group Operations\n * @category Inputs\n */\nexport type CheckAddressExistsOnWhitelistInput = {\n  /** The address of the Rfq. */\n  whitelistAddress: PublicKey;\n  addressToSearch: PublicKey;\n};\n\n/**\n * @group Operations\n * @category Outputs\n */\nexport type CheckAddressExistsOnWhitelistOutput = boolean;\n\n/**\n * @group Operations\n * @category Handlers\n */\nexport const checkAddressExistsOnWhitelistOperationHandler: OperationHandler<CheckAddressExistsOnWhitelistOperation> =\n  {\n    handle: async (\n      operation: CheckAddressExistsOnWhitelistOperation,\n      convergence: Convergence,\n      scope: OperationScope\n    ): Promise<CheckAddressExistsOnWhitelistOutput> => {\n      const { commitment } = scope;\n      const { whitelistAddress, addressToSearch } = operation.input;\n      scope.throwIfCanceled();\n\n      const account = await convergence\n        .rpc()\n        .getAccount(whitelistAddress, commitment);\n      const whitelistAccount = toWhitelist(toWhitelistAccount(account));\n\n      scope.throwIfCanceled();\n\n      const isExists = whitelistAccount.whitelist.find((address) =>\n        address.equals(addressToSearch)\n      );\n      return Boolean(isExists);\n    },\n  };\n"],"names":["Key","checkAddressExistsOnWhitelistOperation","useOperation","checkAddressExistsOnWhitelistOperationHandler","handle","_handle","_asyncToGenerator","_regeneratorRuntime","mark","_callee","operation","convergence","scope","commitment","_operation$input","whitelistAddress","addressToSearch","account","whitelistAccount","isExists","wrap","_callee$","_context","prev","next","input","throwIfCanceled","rpc","getAccount","sent","toWhitelist","toWhitelistAccount","whitelist","find","address","equals","abrupt","Boolean","stop","_x","_x2","_x3","apply","arguments"],"mappings":";;;;;AAaA,IAAMA,GAAG,GAAG,wCAAiD,CAAA;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACaC,sCAAsC,GACjDC,YAAY,CAAyCF,GAAG,EAAC;;AAE3D;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACO,IAAMG,6CAAuG,GAClH;EACEC,MAAM,EAAA,YAAA;AAAA,IAAA,IAAAC,OAAA,GAAAC,iBAAA,eAAAC,mBAAA,EAAAC,CAAAA,IAAA,CAAE,SAAAC,OACNC,CAAAA,SAAiD,EACjDC,WAAwB,EACxBC,KAAqB,EAAA;AAAA,MAAA,IAAAC,UAAA,EAAAC,gBAAA,EAAAC,gBAAA,EAAAC,eAAA,EAAAC,OAAA,EAAAC,gBAAA,EAAAC,QAAA,CAAA;AAAA,MAAA,OAAAZ,mBAAA,EAAA,CAAAa,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;YAEbX,UAAU,GAAKD,KAAK,CAApBC,UAAU,CAAA;AAAAC,YAAAA,gBAAA,GAC4BJ,SAAS,CAACe,KAAK,EAArDV,gBAAgB,GAAAD,gBAAA,CAAhBC,gBAAgB,EAAEC,eAAe,GAAAF,gBAAA,CAAfE,eAAe,CAAA;YACzCJ,KAAK,CAACc,eAAe,EAAE,CAAA;AAACJ,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OAEFb,WAAW,CAC9BgB,GAAG,EAAE,CACLC,UAAU,CAACb,gBAAgB,EAAEF,UAAU,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YAFrCI,OAAO,GAAAK,QAAA,CAAAO,IAAA,CAAA;AAGPX,YAAAA,gBAAgB,GAAGY,WAAW,CAACC,kBAAkB,CAACd,OAAO,CAAC,CAAC,CAAA;YAEjEL,KAAK,CAACc,eAAe,EAAE,CAAA;YAEjBP,QAAQ,GAAGD,gBAAgB,CAACc,SAAS,CAACC,IAAI,CAAC,UAACC,OAAO,EAAA;AAAA,cAAA,OACvDA,OAAO,CAACC,MAAM,CAACnB,eAAe,CAAC,CAAA;AAAA,aACjC,CAAC,CAAA;AAAA,YAAA,OAAAM,QAAA,CAAAc,MAAA,WACMC,OAAO,CAAClB,QAAQ,CAAC,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAG,QAAA,CAAAgB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA7B,OAAA,CAAA,CAAA;KACzB,CAAA,CAAA,CAAA;AAAA,IAAA,SAAAL,MAAAmC,CAAAA,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAApC,OAAA,CAAAqC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,OAAAvC,MAAA,CAAA;AAAA,GAAA,EAAA;AACH;;;;"}