8
8
MAX_RELAYS: constant (uint256 ) = 50
9
9
MAX_RESULTS: constant (uint256 ) = 1000
10
10
MAX_PAIRS: constant (uint256 ) = 30
11
+ MAX_REGISTRIES: constant (uint256 ) = 20
11
12
WEEK: constant (uint256 ) = 7 * 24 * 60 * 60
12
13
13
14
struct LpVotes :
@@ -81,17 +82,17 @@ interface IRelay:
81
82
def getRoleMember (_role: bytes32 , _index: uint256 ) -> address : view
82
83
83
84
# Vars
84
- registry : public (IRelayRegistry )
85
+ registries : public (DynArray[ address , MAX_REGISTRIES] )
85
86
voter: public (IVoter)
86
87
ve: public (IVotingEscrow)
87
88
token: public (address )
88
89
89
90
@external
90
- def __init__ (_registry: address , _voter: address ):
91
+ def __init__ (_registries: DynArray[ address , MAX_REGISTRIES] , _voter: address ):
91
92
"""
92
93
@dev Set up our external registry and voter contracts
93
94
"""
94
- self .registry = IRelayRegistry (_registry)
95
+ self .registries = _registries
95
96
self .voter = IVoter (_voter)
96
97
self .ve = IVotingEscrow (self .voter.ve ())
97
98
self .token = self .ve.token ()
@@ -113,21 +114,26 @@ def _relays(_account: address) -> DynArray[Relay, MAX_RELAYS]:
113
114
@return Array of Relay structs
114
115
"""
115
116
relays: DynArray[Relay, MAX_RELAYS] = empty (DynArray[Relay, MAX_RELAYS])
116
- factories: DynArray[address , MAX_RELAYS] = self .registry.getAll ()
117
-
118
- for factory_index in range (0 , MAX_RELAYS):
119
- if factory_index == len (factories):
117
+ for registry_index in range (0 , MAX_REGISTRIES):
118
+ if registry_index == len (self .registries):
120
119
break
120
+
121
+ relay_registry: IRelayRegistry = IRelayRegistry (self .registries[registry_index])
122
+ factories: DynArray[address , MAX_RELAYS] = relay_registry.getAll ()
121
123
122
- relay_factory: IRelayFactory = IRelayFactory (factories[factory_index])
123
- addresses: DynArray[address , MAX_RELAYS] = relay_factory.relays ()
124
-
125
- for index in range (0 , MAX_RELAYS):
126
- if index == len (addresses):
124
+ for factory_index in range (0 , MAX_RELAYS):
125
+ if factory_index == len (factories):
127
126
break
128
127
129
- relay: Relay = self ._byAddress (addresses[index], _account)
130
- relays.append (relay)
128
+ relay_factory: IRelayFactory = IRelayFactory (factories[factory_index])
129
+ addresses: DynArray[address , MAX_RELAYS] = relay_factory.relays ()
130
+
131
+ for index in range (0 , MAX_RELAYS):
132
+ if index == len (addresses):
133
+ break
134
+
135
+ relay: Relay = self ._byAddress (addresses[index], _account)
136
+ relays.append (relay)
131
137
132
138
return relays
133
139
0 commit comments