fix modules discovery

This commit is contained in:
fernandomg 2020-07-13 18:26:09 -03:00
parent caaf7c8812
commit a8b8284bf4
1 changed files with 5 additions and 7 deletions

View File

@ -39,11 +39,9 @@ const buildOwnersFrom = (
}) })
}) })
const buildModulesLinkedList = (modulesPaginated: [Array<string>, string] | null): Array<[string, string]> | null => { const buildModulesLinkedList = (modules: Array<string>, nextModule: string): Array<[string, string]> | null => {
if (modulesPaginated?.length) { if (modules?.length) {
const [remoteModules, nextModule] = modulesPaginated return modules.map((moduleAddress, index, modules) => {
return remoteModules.map((moduleAddress, index, modules) => {
const prevModule = modules[index + 1] const prevModule = modules[index + 1]
return [moduleAddress, prevModule !== undefined ? prevModule : nextModule] return [moduleAddress, prevModule !== undefined ? prevModule : nextModule]
}) })
@ -96,7 +94,7 @@ export const checkAndUpdateSafe = (safeAdd: string) => async (dispatch: Dispatch
// TODO: 100 is an arbitrary large number, to avoid the need for pagination. But pagination must be properly handled // TODO: 100 is an arbitrary large number, to avoid the need for pagination. But pagination must be properly handled
{ method: 'getModulesPaginated', args: [SENTINEL_ADDRESS, 100] }, { method: 'getModulesPaginated', args: [SENTINEL_ADDRESS, 100] },
] ]
const [[remoteThreshold, remoteNonce, remoteOwners, remoteModulesPaginated], localSafe] = await Promise.all([ const [[remoteThreshold, remoteNonce, remoteOwners, modules], localSafe] = await Promise.all([
generateBatchRequests({ generateBatchRequests({
abi: GnosisSafeSol.abi, abi: GnosisSafeSol.abi,
address: safeAddress, address: safeAddress,
@ -113,7 +111,7 @@ export const checkAndUpdateSafe = (safeAdd: string) => async (dispatch: Dispatch
dispatch( dispatch(
addSafeModules({ addSafeModules({
safeAddress, safeAddress,
modulesAddresses: buildModulesLinkedList(remoteModulesPaginated), modulesAddresses: buildModulesLinkedList(modules.array, modules.next),
}), }),
) )