Files
scroll/coordinator/internal/controller/proxy/controller.go
2025-08-25 11:52:03 +09:00

49 lines
1.2 KiB
Go

package proxy
import (
"github.com/scroll-tech/go-ethereum/log"
"scroll-tech/coordinator/internal/config"
"scroll-tech/coordinator/internal/logic/verifier"
)
var (
// GetTask the prover task controller
GetTask *GetTaskController
// SubmitProof the submit proof controller
SubmitProof *SubmitProofController
// Auth the auth controller
Auth *AuthController
)
// Clients manager a series of thread-safe clients for requesting upstream
// coordinators
type Clients map[string]Client
// InitController inits Controller with database
func InitController(cfg *config.ProxyConfig) {
// normalize cfg
cfg.ProxyManager.Normalize()
vf, err := verifier.NewVerifier(cfg.ProxyManager.Verifier)
if err != nil {
panic("proof receiver new verifier failure")
}
log.Info("verifier created", "openVmVerifier", vf.OpenVMVkMap)
clients := make(map[string]Client)
for nm, upCfg := range cfg.Coordinators {
cli, err := NewClientManager(nm, cfg.ProxyManager.Client, upCfg)
if err != nil {
panic("create new client fail")
}
clients[nm] = cli
}
Auth = NewAuthController(cfg, clients, vf)
// GetTask = NewGetTaskController(cfg, chainCfg, db, vf, reg)
// SubmitProof = NewSubmitProofController(cfg, chainCfg, db, vf, reg)
}