Rework senders blacklist

This commit is contained in:
Kirill Fedoseev 2022-05-22 13:12:30 +04:00
parent ee787b1a6a
commit 1da539d42b
4 changed files with 33 additions and 28 deletions

View File

@ -272,14 +272,8 @@
},
"end_block": {
"type": "integer"
}
},
"required": [
"address"
]
}
},
"erc_to_native_blacklisted_senders": {
"blacklisted_senders": {
"type": "array",
"minItems": 1,
"items": {
@ -288,6 +282,12 @@
}
}
},
"required": [
"address"
]
}
}
},
"required": [
"chain",
"address",

View File

@ -80,7 +80,7 @@ bridges:
end_block: 9884448
- address: 0x6B175474E89094C44Da98b954EedeAC495271d0F
start_block: 8928158
erc_to_native_blacklisted_senders:
blacklisted_senders:
- 0x0000000000000000000000000000000000000000
- 0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643
alerts:

View File

@ -35,6 +35,7 @@ type TokenConfig struct {
Address common.Address `yaml:"address"`
StartBlock uint `yaml:"start_block"`
EndBlock uint `yaml:"end_block"`
BlacklistedSenders []common.Address `yaml:"blacklisted_senders"`
}
type BridgeSideConfig struct {
@ -48,7 +49,6 @@ type BridgeSideConfig struct {
RefetchEvents []*ReloadJobConfig `yaml:"refetch_events"`
WhitelistedSenders []common.Address `yaml:"whitelisted_senders"`
ErcToNativeTokens []TokenConfig `yaml:"erc_to_native_tokens"`
ErcToNativeBlacklistedSenders []common.Address `yaml:"erc_to_native_blacklisted_senders"`
}
type BridgeAlertConfig struct {

View File

@ -65,11 +65,16 @@ func (p *BridgeEventHandler) HandleErcToNativeTransfer(ctx context.Context, log
from := data["from"].(common.Address)
value := data["value"].(*big.Int)
for _, addr := range p.cfg.Foreign.ErcToNativeBlacklistedSenders {
for _, token := range p.cfg.Foreign.ErcToNativeTokens {
if token.Address == log.Address {
for _, addr := range token.BlacklistedSenders {
if from == addr {
return nil
}
}
break
}
}
logs, err := p.repo.Logs.FindByTxHash(ctx, log.TransactionHash)
if err != nil {
return fmt.Errorf("failed to get transaction logs for %s: %w", log.TransactionHash, err)