Files
stack/ee/wallets/pkg/module.go

29 lines
615 B
Go

package wallet
import (
"net/http"
sdk "github.com/formancehq/formance-sdk-go"
"go.uber.org/fx"
)
func Module(ledgerURL string, ledgerName, chartPrefix string) fx.Option {
return fx.Module(
"wallet",
fx.Provide(fx.Annotate(func(httpClient *http.Client) *DefaultLedger {
sdk := sdk.New(
sdk.WithClient(httpClient),
sdk.WithServerURL(ledgerURL),
)
return NewDefaultLedger(sdk)
}, fx.As(new(Ledger)))),
fx.Provide(func() *Chart {
return NewChart(chartPrefix)
}),
fx.Provide(func(ledger Ledger, chart *Chart) *Manager {
return NewManager(ledgerName, ledger, chart)
}),
)
}