import { BaseResource } from '@webacy-xyz/sdk-core'; import { AddressRiskResponse, SanctionedResponse, PoisoningResponse, AddressAnalysisOptions, SanctionsOptions, PoisoningOptions, QuickProfileResponse, QuickProfileOptions, AddressSummaryOptions, AddressSummaryResponse } from '../types'; /** * Resource for address risk analysis * * Provides comprehensive security analysis for blockchain addresses including: * - Overall risk scoring * - Risk categorization and tagging * - Sanctions screening * - Address poisoning detection * - Fund flow analysis * * @example * ```typescript * // Analyze an address * const risk = await client.addresses.analyze('0x...', { chain: Chain.ETH }); * * // Check sanctions * const sanctioned = await client.addresses.checkSanctioned('0x...', { chain: Chain.ETH }); * * // With default chain configured, chain can be omitted * const client = new ThreatClient({ apiKey: '...', defaultChain: Chain.ETH }); * const risk = await client.addresses.analyze('0x...'); // Uses ETH * ``` */ export declare class AddressesResource extends BaseResource { /** * Analyze an address for security risks * * Returns comprehensive risk analysis including: * - Overall risk score (0-100) * - Risk tags and categories * - Detailed analysis data (optional) * - Deployer risk for contracts (optional) * * @param address - Address to analyze * @param options - Analysis options (chain is optional if defaultChain is set) * @returns Address risk analysis result * * @example * ```typescript * // Basic analysis * const risk = await client.addresses.analyze('0x742d35Cc...', { * chain: Chain.ETH, * }); * console.log(`Risk score: ${risk.overallRisk}`); * * // With default chain, options can be omitted * const risk = await client.addresses.analyze('0x742d35Cc...'); * * // With specific modules * const risk = await client.addresses.analyze('0x...', { * chain: Chain.ETH, * modules: [RiskModule.SANCTIONS_COMPLIANCE, RiskModule.FUND_FLOW_SCREENING], * }); * * // With detailed response and deployer risk * const risk = await client.addresses.analyze('0x...', { * chain: Chain.ETH, * detailed: true, * deployerRisk: true, * }); * ``` */ analyze(address: string, options?: AddressAnalysisOptions): Promise; /** * Check if an address is sanctioned * * Screens the address against known sanctions lists including OFAC. * * @param address - Address to check * @param options - Request options (chain is optional if defaultChain is set) * @returns Sanctions check result * * @example * ```typescript * const result = await client.addresses.checkSanctioned('0x...', { * chain: Chain.ETH, * }); * * // With default chain configured * const result = await client.addresses.checkSanctioned('0x...'); * * if (result.is_sanctioned) { * console.error('Address is sanctioned!'); * console.log('Details:', result.sanction_details); * } * ``` */ checkSanctioned(address: string, options?: SanctionsOptions): Promise; /** * Check for address poisoning attacks * * Detects if an address has been targeted by address poisoning * (dust attack) attempts. * * @param address - Address to check * @param options - Request options (chain is optional if defaultChain is set) * @returns Poisoning detection result * * @example * ```typescript * const result = await client.addresses.checkPoisoning('0x...', { * chain: Chain.ETH, * }); * * // With default chain configured * const result = await client.addresses.checkPoisoning('0x...'); * * if (result.is_poisoned) { * console.warn('Address poisoning detected!'); * console.log('Similar addresses:', result.poisoning_details?.similar_addresses); * } * ``` */ checkPoisoning(address: string, options?: PoisoningOptions): Promise; /** * Get a quick risk profile for an address * * Returns a lightweight risk assessment including: * - Risk score and level * - Risk tags * - Token approvals (optional) * - Account age and activity summary * * @param address - Address to analyze * @param options - Request options * @returns Quick profile result * * @example * ```typescript * // Basic quick profile * const profile = await client.addresses.getQuickProfile('0x...', { * chain: Chain.ETH, * }); * console.log(`Risk score: ${profile.riskScore}`); * * // With token approvals * const profile = await client.addresses.getQuickProfile('0x...', { * chain: Chain.ETH, * withApprovals: true, * }); * for (const approval of profile.approvals ?? []) { * console.log(`${approval.symbol} approved to ${approval.spenderName}`); * } * * // Hide trust flags * const profile = await client.addresses.getQuickProfile('0x...', { * chain: Chain.ETH, * hideTrustFlags: true, * }); * ``` */ getQuickProfile(address: string, options?: QuickProfileOptions): Promise; /** * Get transaction risk summary for an address * * Returns a summary of transaction risk data for the given address. * * @param address - Address to get summary for * @param options - Request options (chain is optional if defaultChain is set) * @returns Transaction risk summary * * @example * ```typescript * const summary = await client.addresses.getSummary('0x...', { chain: Chain.ETH }); * ``` */ getSummary(address: string, options?: AddressSummaryOptions): Promise; } //# sourceMappingURL=addresses.d.ts.map