-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LW-9573 Stake pools sorting #1084
Conversation
Standard DiffPostThis PR would generate the following Previewdiff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:54.433508728 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:54.437508705 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "131"
creationTimestamp: "2023-08-11T18:16:12Z"
- generation: 131
+ generation: 132
labels:
app: backend
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-backend
@@ -89,7 +89,7 @@
value: http://dev-preview-cardano-stack-metadata.dev-preview.svc.cluster.local
- name: USE_KORA_LABS
value: "true"
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-blockfrost-worker /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-blockfrost-worker
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-blockfrost-worker 2024-02-06 14:59:54.641507489 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-blockfrost-worker 2024-02-06 14:59:54.641507489 +0000
@@ -8,7 +8,7 @@
labels:
app: blockfrost-worker
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-blockfrost-worker
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:54.849506248 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:54.849506248 +0000
@@ -8,7 +8,7 @@
labels:
app: coingecko-proxy
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector 2024-02-06 14:59:55.049505056 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector 2024-02-06 14:59:55.049505056 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "131"
creationTimestamp: "2023-08-11T18:16:13Z"
- generation: 131
+ generation: 132
labels:
app: handle-projector
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-handle-projector
@@ -73,7 +73,7 @@
name: handle-owner-user.dev-preview-dbsync-db.credentials.postgresql.acid.zalan.do
- name: PROJECTION_NAMES
value: handle
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider 2024-02-06 14:59:55.249503863 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider 2024-02-06 14:59:55.249503863 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "98"
creationTimestamp: "2023-08-11T18:16:13Z"
- generation: 98
+ generation: 99
labels:
app: handle-provider
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-handle-provider
@@ -81,7 +81,7 @@
value: handle
- name: USE_KORA_LABS
value: "true"
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker 2024-02-06 14:59:55.461502599 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker 2024-02-06 14:59:55.465502576 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "26"
creationTimestamp: "2024-01-11T10:37:15Z"
- generation: 26
+ generation: 27
labels:
app: pg-boss-worker
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-pg-boss-worker
@@ -97,7 +97,7 @@
value: https://smash.cardano-mainnet.iohk.io/api/v1
- name: STAKE_POOL_PROVIDER_URL
value: http://dev-preview-cardanojs-backend.dev-preview.svc.cluster.local
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector 2024-02-06 14:59:55.661501407 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector 2024-02-06 14:59:55.661501407 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "26"
creationTimestamp: "2024-01-11T10:37:15Z"
- generation: 26
+ generation: 27
labels:
app: stake-pool-projector
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-stake-pool-projector
@@ -73,7 +73,7 @@
name: stakepool-owner-user.dev-preview-dbsync-db.credentials.postgresql.acid.zalan.do
- name: PROJECTION_NAMES
value: stake-pool,stake-pool-metadata-job,stake-pool-metrics-job,stake-pool-rewards-job
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider
--- /tmp/LIVE-1888746239/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider 2024-02-06 14:59:55.861500214 +0000
+++ /tmp/MERGED-170840767/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider 2024-02-06 14:59:55.865500191 +0000
@@ -4,11 +4,11 @@
annotations:
deployment.kubernetes.io/revision: "27"
creationTimestamp: "2024-01-10T17:49:47Z"
- generation: 27
+ generation: 28
labels:
app: stake-pool-provider
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-stake-pool-provider
@@ -83,7 +83,7 @@
value: http://dev-preview-cardano-stack-metadata.dev-preview.svc.cluster.local
- name: USE_TYPEORM_STAKE_POOL_PROVIDER
value: "true"
- image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:w6xlwsmh9rxv6pg9ixa45whcgzbdwjc4
+ image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:nxc9843ilrbv83n6slf066y85bbgmfan
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
diff -u -N /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor
--- /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor 2024-02-06 14:59:56.061499015 +0000
+++ /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor 2024-02-06 14:59:56.061499015 +0000
@@ -5,7 +5,7 @@
generation: 2
labels:
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
instance: primary
name: lace-backend-monitor
namespace: dev-preview
diff -u -N /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor
--- /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor 2024-02-06 14:59:56.265497799 +0000
+++ /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor 2024-02-06 14:59:56.265497799 +0000
@@ -5,7 +5,7 @@
generation: 2
labels:
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
instance: primary
name: lace-handle-provider-monitor
namespace: dev-preview
diff -u -N /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor
--- /tmp/LIVE-1888746239/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor 2024-02-06 14:59:56.469496584 +0000
+++ /tmp/MERGED-170840767/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor 2024-02-06 14:59:56.469496584 +0000
@@ -5,7 +5,7 @@
generation: 2
labels:
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
instance: primary
name: lace-stake-pool-provider-monitor
namespace: dev-preview
diff -u -N /tmp/LIVE-1888746239/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-170840767/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-1888746239/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:56.677495345 +0000
+++ /tmp/MERGED-170840767/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:56.677495345 +0000
@@ -19,7 +19,7 @@
labels:
app: backend
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-backend
diff -u -N /tmp/LIVE-1888746239/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-170840767/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-1888746239/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:56.877494153 +0000
+++ /tmp/MERGED-170840767/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:56.877494153 +0000
@@ -16,7 +16,7 @@
labels:
app: coingecko-proxy
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:53.629513524 +0000
+++ /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-backend 2024-02-06 14:59:53.629513524 +0000
@@ -5,7 +5,7 @@
labels:
app: backend
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-backend
diff -u -N /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:53.837512281 +0000
+++ /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy 2024-02-06 14:59:53.837512281 +0000
@@ -5,7 +5,7 @@
labels:
app: coingecko-proxy
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider
--- /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider 2024-02-06 14:59:54.033511113 +0000
+++ /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider 2024-02-06 14:59:54.033511113 +0000
@@ -5,7 +5,7 @@
labels:
app: handle-provider
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-handle-provider
diff -u -N /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider
--- /tmp/LIVE-1888746239/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider 2024-02-06 14:59:54.229509946 +0000
+++ /tmp/MERGED-170840767/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider 2024-02-06 14:59:54.229509946 +0000
@@ -5,7 +5,7 @@
labels:
app: stake-pool-provider
app.kubernetes.io/managed-by: std-kubectl
- app.kubernetes.io/version: 2cd1e0159e4b3da99c3df60890970d8af304b0fe
+ app.kubernetes.io/version: ff969345bee9b79246cee8d1675170d7e4302ee0
network: preview
release: dev-preview-cardanojs
name: dev-preview-cardanojs-stake-pool-provider |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! 🚀
I would squash the 2 commits into 1, as the providers are broken at 1st commit
packages/cardano-services/src/StakePool/TypeormStakePoolProvider/util.ts
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work, @iccicci ! 🚀
bcc5e80
0d0eb82
to
bcc5e80
Compare
pr.metadata_url, pr.metadata_hash, pr.block_slot, | ||
pm.name, pm.ticker, pm.description, pm.homepage, | ||
pm.ext, cpm.live_saturation, cpm.last_ros, cpm.ros, | ||
cpm.minted_blocks AS blocks, cpm.live_stake AS stake |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it might be better to use cpm.live_stake AS live_stake
so that it's clear when pulling results that it's referring to live, not active.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked this better: in /src/
and exposed interfaces the names are correct: live_stake
or liveStake
; the bad naming is used only in the tests queries... I would opt to save the time for fixing this.
Do you agree?
pledge, | ||
ros: typeof ros === 'string' ? Number.parseFloat(ros) : undefined, | ||
saturation: Number.parseFloat(live_saturation), | ||
stake, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
same comment here, might be better to call this live_stake
or liveStake
depending on casing required for clarity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice work! 🚀
Context
We want to sort stake pools by a new set of fields.
Proposed Solution
Implemented the new sorting options.