github.com/diadata-org/diadata@v1.4.593/pkg/model/chainconfig.go (about) 1 package models 2 3 import ( 4 "context" 5 "fmt" 6 7 "github.com/diadata-org/diadata/pkg/dia" 8 ) 9 10 func (rdb *RelDB) SetChainConfig(chainconfig dia.ChainConfig) (err error) { 11 fields := fmt.Sprintf("INSERT INTO %s (rpcurl,wsurl,chainID) VALUES ", chainconfigTable) 12 values := "($1,$2,$3)" 13 14 query := fields + values 15 _, err = rdb.postgresClient.Exec(context.Background(), query, 16 chainconfig.RestURL, 17 chainconfig.WSURL, 18 chainconfig.ChainID, 19 ) 20 if err != nil { 21 return err 22 } 23 return nil 24 } 25 26 func (rdb *RelDB) GetAllChainConfig() (chainconfigs []dia.ChainConfig, err error) { 27 query := fmt.Sprintf("SELECT rpcurl,wsurl,chainID FROM %s", chainconfigTable) 28 rows, err := rdb.postgresClient.Query(context.Background(), query) 29 if err != nil { 30 return []dia.ChainConfig{}, err 31 } 32 defer rows.Close() 33 34 for rows.Next() { 35 var chainconfig dia.ChainConfig 36 var rpcurl string 37 var wsurl string 38 var chainID string 39 40 err := rows.Scan( 41 &rpcurl, 42 &wsurl, 43 &chainID, 44 ) 45 if err != nil { 46 return []dia.ChainConfig{}, err 47 } 48 chainconfig.RestURL = rpcurl 49 chainconfig.WSURL = wsurl 50 chainconfig.ChainID = chainID 51 52 chainconfigs = append(chainconfigs, chainconfig) 53 } 54 55 return chainconfigs, nil 56 } 57 58 func (rdb *RelDB) GetAllChains() (chainconfigs []dia.ChainConfig, err error) { 59 query := fmt.Sprintf("SELECT chainID FROM %s", chainconfigTable) 60 rows, err := rdb.postgresClient.Query(context.Background(), query) 61 if err != nil { 62 return []dia.ChainConfig{}, err 63 } 64 defer rows.Close() 65 66 for rows.Next() { 67 var chainconfig dia.ChainConfig 68 var chainID string 69 70 err := rows.Scan( 71 &chainID, 72 ) 73 if err != nil { 74 return []dia.ChainConfig{}, err 75 } 76 77 chainconfig.ChainID = chainID 78 79 chainconfigs = append(chainconfigs, chainconfig) 80 } 81 82 return chainconfigs, nil 83 }