Skip to main content
Glama

Controtto

by contre95
main.go1.5 kB
package main import ( "controtto/src/app/config" "controtto/src/app/managing" "controtto/src/app/querying" "controtto/src/app/trading" "controtto/src/gateways/sqlite" "controtto/src/rest" "log/slog" ) const ( PREFIX = "CONTROTTO_" MARKET_PREFIX = "CONTROTTO_TRADER_" PRICER_PREFIX = "CONTROTTO_PRICER_" MARKET_SUFIX = "_TOKEN" PRIVATE_PRICE_SUFIX = "_TOKEN" PUBLIC_PRICE_SUFIX = "_ENABLED" ) func main() { // Load configuration cfg, err := config.LoadFromEnv() if err != nil { slog.Error("Error loading config from env:", "error", err) panic("Bye") } cfgManager := config.NewManager(cfg) // Database slog.Info("Initiating SQLite path", "path", cfgManager.Get().DBPath) sqliteDB, err := sqlite.NewSQLite(cfgManager) if err != nil { slog.Error("Error creating SQLite:", "error", err) panic("Bye") } // Use Cases ac := managing.NewAssetCreator(sqliteDB) pc := managing.NewPairManager(cfgManager, sqliteDB, sqliteDB) pq := querying.NewPairQuerier(sqliteDB) mm := managing.NewMarketManager(marketsConfig) ppm := managing.NewPriceProviderManager(pricers) aq := querying.NewAssetQuerier(sqliteDB) manager := managing.NewService(*ac, *pc, mm, ppm) querier := querying.NewService(*aq, *pq) tr := trading.NewTradeRecorder(sqliteDB) at := trading.NewAssetTrader(mm, sqliteDB) trader := trading.NewService(*at, *tr) port := cfg.Port slog.Info("Initiating server", "port", port) rest.Run(cfgManager, &manager, &querier, &trader) }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/contre95/controtto'

If you have feedback or need assistance with the MCP directory API, please join our Discord server