package exchanges /*--------------------------------+ | Code generated by exchanges | | DO NOT EDIT | +--------------------------------*/ import ( "fmt" "github.com/ethereum/go-ethereum/common" ) type Exchange struct { code string name string symbol string logo string addresses []common.Address } func (e *Exchange) Code() string { return e.code } func (e *Exchange) Name() string { return e.name } func (e *Exchange) Symbol() string { return e.symbol } func (e *Exchange) Logo() string { return e.logo } func (e *Exchange) Addresses() []common.Address { return e.addresses } // Get returns an exchange struct if the provided // code is contained within the valid codes. Otherwise // an error will be returned func GetCentralizedExchangeWithCode(code string) (*Exchange, error) { if Valid(code) { val, ok := centralizedExchangesByCode[code] if ok { return val, nil } } return nil, fmt.Errorf("exchange: could not find exchange with code: %q", code) } // Get returns an exchange struct which owns the given // address. If the address does not belong to any exchange, // nil will be returned func GetCentralizedExchangeWithAddress(address common.Address) (*Exchange) { return centralizedExchangesByAddress[address.String()] } // Valid checks if a provided code is contained // inside the provided ValidCodes slice func Valid(code string) bool { for _, c := range ValidCodes { if c == code { return true } } return false } // Following are all the structs containing exchange data var ( {{ range $k, $v := . -}} // {{$v.Code}} Exchange struct {{toVariableName $v.Code}} = Exchange{ code: "{{$v.Code}}", name: "{{$v.Name}}", symbol: "{{$v.Symbol}}", logo: "{{$v.Logo}}", addresses: []common.Address{ {{addressesJoin $v.Addresses}} } } {{ end }} ) var centralizedExchangesByCode = map[string]*Exchange{ {{ range $k, $v := . -}} "{{$v.Code}}": &{{toVariableName $v.Code}}, {{ end }} } var centralizedExchangesByAddress = map[string]*Exchange{ {{ range $k, $v := . -}} {{ range $i, $a := $v.Addresses}} "{{$a}}": &{{toVariableName $v.Code}}, {{ end }} {{ end }} } var ValidCodes = []string{ {{ range $k, $v := . -}} "{{$v.Code}}", {{ end }} }