package blockchainanalytics

import "context"

type Provider interface {
	ScreenAddress(ctx context.Context, params ScreenAddressParams) (ScreeningResult, error)
}

type ScreenAddressParams struct {
	Address string
	Network string
	Symbol  string
	Context string
}

type ScreeningResult struct {
	Provider            string         `json:"provider"`
	ExternalScreeningID string         `json:"external_screening_id,omitempty"`
	Decision            string         `json:"decision"`
	RiskScore           int            `json:"risk_score"`
	Category            string         `json:"category"`
	Matched             bool           `json:"matched"`
	Details             map[string]any `json:"details,omitempty"`
}
