import Mpc from '../../../mpc' import { BlockaidScanEvmTxRequest, BlockaidScanEvmTxResponse, BlockaidScanSolanaTxRequest, BlockaidScanSolanaTxResponse, BlockaidAddressScanRequest, BlockaidAddressScanResponse, BlockaidBulkTokenScanRequest, BlockaidBulkTokenScanResponse, BlockaidSiteScanRequest, BlockaidSiteScanResponse, } from '../../../shared/types' export default class Blockaid { private mpc: Mpc constructor({ mpc }: { mpc: Mpc }) { this.mpc = mpc } /** * Scans an EVM transaction for security risks using Blockaid. * @param params - The parameters for the EVM transaction scan request. * @returns A `BlockaidScanEvmTxResponse` promise. * @throws An error if the operation fails. */ public async scanEVMTx( params: BlockaidScanEvmTxRequest, ): Promise { return this.mpc.blockaidScanEvmTx(params) } /** * Scans a Solana transaction for security risks using Blockaid. * @param params - The parameters for the Solana transaction scan request. * @returns A `BlockaidScanSolanaTxResponse` promise. * @throws An error if the operation fails. */ public async scanSolanaTx( params: BlockaidScanSolanaTxRequest, ): Promise { return this.mpc.blockaidScanSolanaTx(params) } /** * Scans an address for security risks using Blockaid. * @param params - The parameters for the address scan request. * @returns A `BlockaidAddressScanResponse` promise. * @throws An error if the operation fails. */ public async scanAddress( params: BlockaidAddressScanRequest, ): Promise { return this.mpc.blockaidScanAddress(params) } /** * Scans tokens for security risks using Blockaid. * @param params - The parameters for the token scan request. * @returns A `BlockaidBulkTokenScanResponse` promise. * @throws An error if the operation fails. */ public async scanTokens( params: BlockaidBulkTokenScanRequest, ): Promise { return this.mpc.blockaidScanTokens(params) } /** * Scans a URL for malicious content using Blockaid. * @param params - The parameters for the URL scan request. * @returns A `BlockaidSiteScanResponse` promise. * @throws An error if the operation fails. */ public async scanURL( params: BlockaidSiteScanRequest, ): Promise { return this.mpc.blockaidScanUrl(params) } }