package intelligence_finance import "fmt" // ErrorCode represents a numeric error code from the API. type ErrorCode int // Predefined error codes. const ( CodeSuccess ErrorCode = 0 ) // APIError represents an error returned by the platform API. type APIError struct { Code ErrorCode `json:"code"` Message string `json:"msg,omitempty"` } // Error implements the error interface. func (e *APIError) Error() string { return fmt.Sprintf("api error: code=%d, msg=%s", e.Code, e.Message) } // ErrInvalidResponse is returned when the API response cannot be parsed. type ErrInvalidResponse struct { Message string } // Error implements the error interface. func (e *ErrInvalidResponse) Error() string { return fmt.Sprintf("invalid response: %s", e.Message) } // ErrNetwork is returned when a network error occurs. type ErrNetwork struct { Err error } // Error implements the error interface. func (e *ErrNetwork) Error() string { return fmt.Sprintf("network error: %v", e.Err) } // Unwrap returns the underlying error. func (e *ErrNetwork) Unwrap() error { return e.Err } // ErrSigning is returned when a signing error occurs. type ErrSigning struct { Message string Err error } // Error implements the error interface. func (e *ErrSigning) Error() string { if e.Err != nil { return fmt.Sprintf("signing error: %s: %v", e.Message, e.Err) } return fmt.Sprintf("signing error: %s", e.Message) } // Unwrap returns the underlying error. func (e *ErrSigning) Unwrap() error { return e.Err }