package bridge

import "context"

type Provider interface {
	GetQuote(ctx context.Context, req *BridgeRequest) (*BridgeQuote, error)
	Name() string
	SupportsRoute(fromChain, toChain int) bool
}

type BridgeRequest struct {
	FromChain int
	ToChain   int
	FromToken string
	ToToken   string
	Amount    string
	Recipient string
}

type BridgeQuote struct {
	Provider      string
	FromChain     int
	ToChain       int
	FromAmount    string
	ToAmount      string
	Fee           string
	EstimatedTime string
	Route         []BridgeStep
}

type BridgeStep struct {
	Provider string
	From     string
	To       string
	Type     string
}
