Files
sonr/pkg/chain/router/service.go
T

17 lines
563 B
Go
Raw Normal View History

package router
import (
"context"
2024-12-05 20:36:58 -05:00
"github.com/onsonr/sonr/pkg/chain/transaction"
)
// Service is the interface that wraps the basic methods for a router.
// A router can be a query router or a message router.
type Service interface {
// CanInvoke returns an error if the given request cannot be invoked.
CanInvoke(ctx context.Context, typeURL string) error
// Invoke execute a message or query. The response should be type casted by the caller to the expected response.
Invoke(ctx context.Context, req transaction.Msg) (res transaction.Msg, err error)
}