package chain import ( v1 "birdcall/api/chain/v1" "birdcall/internal/library/birdeye/defi" "birdcall/internal/service" "context" "github.com/gogf/gf/v2/util/gconv" ) type sChain struct{} func init() { service.RegisterChain(&sChain{}) } func (s *sChain) NetWork(ctx context.Context, req *v1.NetWorkReq) (*v1.CommonRes, error) { dm := new(defi.Defi) birdRes, err := dm.Support() if err != nil { return nil, err } var res *v1.CommonRes err = gconv.Struct(birdRes, &res) if err != nil { return nil, err } return res, nil } func (s *sChain) TokenPrice(ctx context.Context, req *v1.TokenPriceReq) (*v1.CommonRes, error) { dm := new(defi.Defi) dm.Address = req.Address dm.Chain = req.ChainName dm.CheckLiquidity = 100 dm.IncludeLiquidity = true birdRes, err := dm.Price() if err != nil { return nil, err } var res *v1.CommonRes err = gconv.Struct(birdRes, &res) if err != nil { return nil, err } return res, nil }