function* onSaveCustomNetwork({ customNetworkRpc, onSuccess, onError }) { const { items } = yield select(selectNetworks) try { checkCustomNetworkRpc(items, customNetworkRpc) const newCustomNetwork = parseCustomNetworkRpc(customNetworkRpc) const newItems = [...items, newCustomNetwork] const newCurrentNetworkIndex = newItems.length - 1 yield setNetworks(newItems, newCurrentNetworkIndex) gtm.pushAddCustomNetwork() return onSuccess ? onSuccess() : null } catch (err) { return onError ? onError(err) : null } }