22 lines
862 B
Go
22 lines
862 B
Go
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),
|
|
}
|
|
}
|