Compare commits

...

1 Commits

Author SHA1 Message Date
AlienTornadosaurusHex
524da2accf services/registry: fetch min stake amount before filtering
Signed-off-by: AlienTornadosaurusHex <>
2023-05-15 20:55:17 +00:00

View File

@ -10,8 +10,6 @@ import { sleep, flattenNArray } from '@/utils'
import AggregatorABI from '@/abis/Aggregator.abi.json' import AggregatorABI from '@/abis/Aggregator.abi.json'
import RelayerRegistryABI from '@/abis/RelayerRegistry.abi.json' import RelayerRegistryABI from '@/abis/RelayerRegistry.abi.json'
const MIN_STAKE_BALANCE = '0X1B1AE4D6E2EF500000' // 500 TORN
const subdomains = Object.values(networkConfig).map(({ ensSubdomainKey }) => ensSubdomainKey) const subdomains = Object.values(networkConfig).map(({ ensSubdomainKey }) => ensSubdomainKey)
class RelayerRegister { class RelayerRegister {
@ -219,14 +217,14 @@ class RelayerRegister {
return allRelayers return allRelayers
} }
filterRelayer = (acc, curr, ensSubdomainKey, relayer) => { filterRelayer = (acc, curr, ensSubdomainKey, relayer, minStakeAmount) => {
const subdomainIndex = subdomains.indexOf(ensSubdomainKey) const subdomainIndex = subdomains.indexOf(ensSubdomainKey)
const mainnetSubdomain = curr.records[0] const mainnetSubdomain = curr.records[0]
const hostname = curr.records[subdomainIndex] const hostname = curr.records[subdomainIndex]
const isHostWithProtocol = hostname.includes('http') const isHostWithProtocol = hostname.includes('http')
const isOwner = relayer.relayerAddress === curr.owner const isOwner = relayer.relayerAddress === curr.owner
const hasMinBalance = new BN(curr.balance).gte(MIN_STAKE_BALANCE) const hasMinBalance = new BN(curr.balance).gte(minStakeAmount)
if ( if (
hostname && hostname &&
@ -261,8 +259,10 @@ class RelayerRegister {
const relayersData = await this.aggregator.methods.relayersData(relayerNameHashes, subdomains).call() const relayersData = await this.aggregator.methods.relayersData(relayerNameHashes, subdomains).call()
const minStakeAmount = await this.relayerRegistry.minStakeAmount()
const validRelayers = relayersData.reduce( const validRelayers = relayersData.reduce(
(acc, curr, index) => this.filterRelayer(acc, curr, ensSubdomainKey, relayers[index]), (acc, curr, index) => this.filterRelayer(acc, curr, ensSubdomainKey, relayers[index], minStakeAmount),
[] []
) )