package merrors import "strings" const ( ReasonChainExecutionSigningUnavailable = "chain_execution.signing_unavailable" ReasonChainExecutionUnsupportedCapability = "chain_execution.unsupported_capability" ReasonChainExecutionInsufficientBalance = "chain_execution.insufficient_balance" ReasonChainExecutionInsufficientNativeResources = "chain_execution.insufficient_native_resources" ReasonChainExecutionDestinationIneligible = "chain_execution.destination_ineligible" ) // ChainExecutionPrecondition creates a typed, reason-bearing permanent // preparation failure. Callers can classify it with both errors.Is and Reason. func ChainExecutionPrecondition(reason, message string) error { return classifiedError{ base: ErrFailedPrecondition, msg: strings.TrimSpace(message), reason: strings.TrimSpace(reason), } }