Node: Fix Injective watcher decode failures (#3057)
* Node: Fix Injective watcher decode failures Change-Id: Ie85267d07c54a4b5f76bb09483596f4d2d5f07a9 * Address review comment Change-Id: I3295870914c86f00b5ef2a46ddd2c88e4a4ef1e5
This commit is contained in:
parent
ba96f02279
commit
f5f5817015
|
@ -334,6 +334,8 @@ func (e *Watcher) Run(ctx context.Context) error {
|
|||
}
|
||||
|
||||
func EventsToMessagePublications(contract string, txHash string, events []gjson.Result, logger *zap.Logger, chainID vaa.ChainID, contractAddressKey string) []*common.MessagePublication {
|
||||
// Injective does not base64 encode parameters (as of release v1.11.2).
|
||||
b64Encoded := chainID != vaa.ChainIDInjective
|
||||
networkName := chainID.String()
|
||||
msgs := make([]*common.MessagePublication, 0, len(events))
|
||||
for _, event := range events {
|
||||
|
@ -373,15 +375,22 @@ func EventsToMessagePublications(contract string, txHash string, events []gjson.
|
|||
continue
|
||||
}
|
||||
|
||||
key, err := base64.StdEncoding.DecodeString(keyBase.String())
|
||||
if err != nil {
|
||||
logger.Warn("event key attribute is invalid", zap.String("network", networkName), zap.String("tx_hash", txHash), zap.String("key", keyBase.String()))
|
||||
continue
|
||||
}
|
||||
value, err := base64.StdEncoding.DecodeString(valueBase.String())
|
||||
if err != nil {
|
||||
logger.Warn("event value attribute is invalid", zap.String("network", networkName), zap.String("tx_hash", txHash), zap.String("key", keyBase.String()), zap.String("value", valueBase.String()))
|
||||
continue
|
||||
var key, value []byte
|
||||
if b64Encoded {
|
||||
var err error
|
||||
key, err = base64.StdEncoding.DecodeString(keyBase.String())
|
||||
if err != nil {
|
||||
logger.Warn("event key attribute is invalid", zap.String("network", networkName), zap.String("tx_hash", txHash), zap.String("key", keyBase.String()))
|
||||
continue
|
||||
}
|
||||
value, err = base64.StdEncoding.DecodeString(valueBase.String())
|
||||
if err != nil {
|
||||
logger.Warn("event value attribute is invalid", zap.String("network", networkName), zap.String("tx_hash", txHash), zap.String("key", keyBase.String()), zap.String("value", valueBase.String()))
|
||||
continue
|
||||
}
|
||||
} else {
|
||||
key = []byte(keyBase.String())
|
||||
value = []byte(valueBase.String())
|
||||
}
|
||||
|
||||
if _, ok := mappedAttributes[string(key)]; ok {
|
||||
|
|
Loading…
Reference in New Issue