Encode watched address path bytes to hex for comparison
This commit is contained in:
parent
4c6a521139
commit
038b25a41d
@ -159,7 +159,8 @@ func (c *FileConfig) Init() error {
|
||||
|
||||
func (c *ServiceConfig) Init() error {
|
||||
viper.BindEnv(SNAPSHOT_ACCOUNTS_TOML, SNAPSHOT_ACCOUNTS)
|
||||
allowedAccounts := viper.GetStringSlice(SNAPSHOT_ACCOUNTS)
|
||||
var allowedAccounts []string
|
||||
viper.UnmarshalKey(SNAPSHOT_ACCOUNTS_TOML, &allowedAccounts)
|
||||
accountsLen := len(allowedAccounts)
|
||||
if accountsLen != 0 {
|
||||
c.AllowedAccounts = make(map[common.Address]struct{}, accountsLen)
|
||||
|
@ -87,7 +87,7 @@ type SnapshotParams struct {
|
||||
func (s *Service) CreateSnapshot(params SnapshotParams) error {
|
||||
paths := make([][]byte, 0, len(params.WatchedAddresses))
|
||||
for addr := range params.WatchedAddresses {
|
||||
paths = append(paths, crypto.Keccak256(addr.Bytes()))
|
||||
paths = append(paths, keybytesToHex(crypto.Keccak256(addr.Bytes())))
|
||||
}
|
||||
s.watchingAddresses = len(paths) > 0
|
||||
// extract header from lvldb and publish to PG-IPFS
|
||||
|
@ -51,3 +51,15 @@ func decrementPath(path []byte) bool {
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
// https://github.com/ethereum/go-ethereum/blob/master/trie/encoding.go#L97
|
||||
func keybytesToHex(str []byte) []byte {
|
||||
l := len(str)*2 + 1
|
||||
var nibbles = make([]byte, l)
|
||||
for i, b := range str {
|
||||
nibbles[i*2] = b / 16
|
||||
nibbles[i*2+1] = b % 16
|
||||
}
|
||||
nibbles[l-1] = 16
|
||||
return nibbles
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user