erigon-pulse/rpc/allow_list.go
dtan3847 42aa80e059
rpc: fix implemented filter methods being forbidden (#5801)
Addresses issue #4833

Removes implemented methods from the forbidden method list. The
forbidden list seems to have been created as a bugfix before the filters
methods were implemented. Now that the filter methods are implemented,
these entries are causing unexpected behaviour.
2022-10-26 09:08:09 +07:00

42 lines
705 B
Go

package rpc
import "encoding/json"
type AllowList map[string]struct{}
func (a *AllowList) UnmarshalJSON(data []byte) error {
var keys []string
err := json.Unmarshal(data, &keys)
if err != nil {
return err
}
realA := make(map[string]struct{})
for _, k := range keys {
realA[k] = struct{}{}
}
*a = realA
return nil
}
// MarshalJSON returns *m as the JSON encoding of
func (a *AllowList) MarshalJSON() ([]byte, error) {
var realA map[string]struct{} = *a
keys := make([]string, len(realA))
i := 0
for key := range realA {
keys[i] = key
i++
}
return json.Marshal(keys)
}
type ForbiddenList map[string]struct{}
func newForbiddenList() ForbiddenList {
return ForbiddenList{}
}