import { APIResource } from "../../core/resource.js"; import * as EvmAPI from "./evm.js"; import { APIPromise } from "../../core/api-promise.js"; import { RequestOptions } from "../../internal/request-options.js"; export declare class Address extends APIResource { /** * Report a misclassification of an EVM address. * * @example * ```ts * const response = await client.evm.address.report({ * details: 'Details about the report', * event: 'FALSE_NEGATIVE', * report: { * type: 'request_id', * request_id: '6c3cf6c1-a80d-4927-91b9-03d841ea61fe', * }, * }); * ``` */ report(body: AddressReportParams, options?: RequestOptions): APIPromise; /** * Get a risk recommendation with plain-language reasons for an address. * * @example * ```ts * const addressValidation = await client.evm.address.scan({ * address: '0x946D45c866AFD5b8F436d40E551D8E50A5B84230', * chain: 'ethereum', * metadata: {}, * }); * ``` */ scan(body: AddressScanParams, options?: RequestOptions): APIPromise; } export type AddressReportResponse = unknown; export interface AddressReportParams { /** * Details about the report. */ details: string; /** * The event type of the report. Could be `FALSE_POSITIVE` or `FALSE_NEGATIVE`. */ event: 'FALSE_POSITIVE' | 'FALSE_NEGATIVE'; /** * Parameters identifying the address to report, provided either as address details * (address, domain, and chain) or as a request ID from a previous scan. */ report: AddressReportParams.ParamReportEvmAddressReportParams | AddressReportParams.RequestIDReport; } export declare namespace AddressReportParams { interface ParamReportEvmAddressReportParams { params: ParamReportEvmAddressReportParams.Params; type: 'params'; } namespace ParamReportEvmAddressReportParams { interface Params { /** * The address to report on. */ address: string; /** * The chain name */ chain: 'arbitrum' | 'avalanche' | 'base' | 'base-sepolia' | 'lordchain' | 'lordchain-testnet' | 'metacade' | 'metacade-testnet' | 'bsc' | 'ethereum' | 'optimism' | 'polygon' | 'zksync' | 'zksync-sepolia' | 'zora' | 'linea' | 'blast' | 'scroll' | 'ethereum-sepolia' | 'degen' | 'avalanche-fuji' | 'immutable-zkevm' | 'immutable-zkevm-testnet' | 'gnosis' | 'worldchain' | 'soneium-minato' | 'ronin' | 'apechain' | 'zero-network' | 'berachain' | 'berachain-bartio' | 'ink' | 'ink-sepolia' | 'abstract' | 'abstract-testnet' | 'soneium' | 'unichain' | 'sei' | 'flow-evm' | 'hyperevm' | 'katana' | 'plume' | 'xlayer' | 'monad' | 'monad-testnet' | 'hedera' | 'tempo' | 'tempo-testnet' | 'kite-ai' | 'kaia' | 'plasma' | 'mantle'; /** * The domain related to this address. */ domain: string; } } interface RequestIDReport { /** * The request ID of a previous request. This can be found in the value of the * `x-request-id` field in the headers of the response of the previous request. For * instance: `6c3cf6c1-a80d-4927-91b9-03d841ea61fe`. */ request_id: string; /** * The type identifier indicating that a request ID from a previous scan is being * used. */ type: 'request_id'; } } export interface AddressScanParams { /** * The address to validate. */ address: string; /** * The chain name */ chain: EvmAPI.TransactionScanSupportedChain; /** * Additional context for the scan (e.g., dapp URL/domain, integration source). * Used to enrich results and reduce false positives/negatives. */ metadata: AddressScanParams.RoutersEvmModelsMetadataNonDapp | AddressScanParams.RoutersEvmModelsMetadataDapp; } export declare namespace AddressScanParams { interface RoutersEvmModelsMetadataNonDapp { /** * Account information associated with the request */ account?: RoutersEvmModelsMetadataNonDapp.Account; /** * Connection metadata including user agent and IP information */ connection?: RoutersEvmModelsMetadataNonDapp.Connection; /** * Indicates that the transaction was not initiated by a dapp. */ non_dapp?: true; } namespace RoutersEvmModelsMetadataNonDapp { /** * Account information associated with the request */ interface Account { /** * Unique identifier for the account. */ account_id: string; /** * Timestamp when the account was created. */ account_creation_timestamp?: string; /** * Age of the user in years */ user_age?: number; /** * ISO country code of the user's location. */ user_country_code?: string; } /** * Connection metadata including user agent and IP information */ interface Connection { /** * IP address of the customer making the request. */ ip_address: string; /** * User agent string from the client's browser or application. */ user_agent?: string; } } interface RoutersEvmModelsMetadataDapp { /** * The full URL of the DApp or website that initiated the transaction, for * cross-reference. Must use the https or http scheme and contain a valid hostname. * Cannot contain JSON, braces, or other embedded data structures. */ domain: string; /** * Account information associated with the request */ account?: RoutersEvmModelsMetadataDapp.Account; /** * Connection metadata including user agent and IP information */ connection?: RoutersEvmModelsMetadataDapp.Connection; /** * Indicates that the transaction was not initiated by a dapp. Use false when the * transaction is from a dapp. */ non_dapp?: boolean; } namespace RoutersEvmModelsMetadataDapp { /** * Account information associated with the request */ interface Account { /** * Unique identifier for the account. */ account_id: string; /** * Timestamp when the account was created. */ account_creation_timestamp?: string; /** * Age of the user in years */ user_age?: number; /** * ISO country code of the user's location. */ user_country_code?: string; } /** * Connection metadata including user agent and IP information */ interface Connection { /** * IP address of the customer making the request. */ ip_address: string; /** * User agent string from the client's browser or application. */ user_agent?: string; } } } export declare namespace Address { export { type AddressReportResponse as AddressReportResponse, type AddressReportParams as AddressReportParams, type AddressScanParams as AddressScanParams, }; } //# sourceMappingURL=address.d.ts.map