Skip to content

Conversation

@mirceahasegan
Copy link
Collaborator

Context

Conway era changes live in conway-era branch, because they require Cardano Node, Ogmios and DbSync versions that are not yet released.

However, SDK client libraries on the master branch could be updated such that they are compatible with cardano services (back-ends) deployed from both master branch and conway-era branch.

Proposed Solution

  • Use new errors from conway-era branch in wallet & cardano-services-client packages.
  • Create mappers for tx-submit errors in cardano-services, that map old errors to the new ones

Important Changes Introduced

@github-actions
Copy link

github-actions bot commented Nov 29, 2023

Standard DiffPost

This PR would generate the following kubectl diff:

Preview
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:30.090801715 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:30.090801715 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "77"
   creationTimestamp: "2023-08-11T18:16:12Z"
-  generation: 77
+  generation: 78
   labels:
     app: backend
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-backend
@@ -89,7 +89,7 @@
           value: "false"
         - name: USE_KORA_LABS
           value: "true"
-        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:30.290801141 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:30.290801141 +0000
@@ -8,7 +8,7 @@
   labels:
     app: coingecko-proxy
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector	2023-11-29 17:37:30.490800567 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-projector	2023-11-29 17:37:30.490800567 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "77"
   creationTimestamp: "2023-08-11T18:16:13Z"
-  generation: 77
+  generation: 78
   labels:
     app: handle-projector
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     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:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider	2023-11-29 17:37:30.694799984 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-handle-provider	2023-11-29 17:37:30.694799984 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "44"
   creationTimestamp: "2023-08-11T18:16:13Z"
-  generation: 44
+  generation: 45
   labels:
     app: handle-provider
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     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:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker	2023-11-29 17:37:30.898799397 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-pg-boss-worker	2023-11-29 17:37:30.898799397 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "77"
   creationTimestamp: "2023-08-11T18:16:13Z"
-  generation: 77
+  generation: 78
   labels:
     app: pg-boss-worker
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-pg-boss-worker
@@ -95,7 +95,7 @@
           value: pool-delist-schedule,pool-metadata,pool-metrics,pool-rewards
         - 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:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector	2023-11-29 17:37:31.114798778 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-projector	2023-11-29 17:37:31.114798778 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "77"
   creationTimestamp: "2023-08-11T18:16:13Z"
-  generation: 77
+  generation: 78
   labels:
     app: stake-pool-projector
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     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:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider
--- /tmp/LIVE-2252845436/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider	2023-11-29 17:37:31.334798145 +0000
+++ /tmp/MERGED-2186918439/apps.v1.Deployment.dev-preview.dev-preview-cardanojs-stake-pool-provider	2023-11-29 17:37:31.334798145 +0000
@@ -4,11 +4,11 @@
   annotations:
     deployment.kubernetes.io/revision: "74"
   creationTimestamp: "2023-08-11T18:16:13Z"
-  generation: 74
+  generation: 75
   labels:
     app: stake-pool-provider
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     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:bjv7rnkjxf279xciy19gbqw7a7cr0gzc
+        image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:p9ybbssyl2dx091la4rncvxc50fzr35d
         imagePullPolicy: IfNotPresent
         livenessProbe:
           failureThreshold: 3
diff -u -N /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor
--- /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor	2023-11-29 17:37:31.538797561 +0000
+++ /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-backend-monitor	2023-11-29 17:37:31.538797561 +0000
@@ -5,7 +5,7 @@
   generation: 2
   labels:
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     instance: primary
   name: lace-backend-monitor
   namespace: dev-preview
diff -u -N /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor
--- /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor	2023-11-29 17:37:31.738796988 +0000
+++ /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-handle-provider-monitor	2023-11-29 17:37:31.738796988 +0000
@@ -5,7 +5,7 @@
   generation: 2
   labels:
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     instance: primary
   name: lace-handle-provider-monitor
   namespace: dev-preview
diff -u -N /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor
--- /tmp/LIVE-2252845436/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor	2023-11-29 17:37:31.946796390 +0000
+++ /tmp/MERGED-2186918439/monitoring.coreos.com.v1.ServiceMonitor.dev-preview.lace-stake-pool-provider-monitor	2023-11-29 17:37:31.946796390 +0000
@@ -5,7 +5,7 @@
   generation: 2
   labels:
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     instance: primary
   name: lace-stake-pool-provider-monitor
   namespace: dev-preview
diff -u -N /tmp/LIVE-2252845436/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-2186918439/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-2252845436/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:32.150795806 +0000
+++ /tmp/MERGED-2186918439/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:32.150795806 +0000
@@ -19,7 +19,7 @@
   labels:
     app: backend
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-backend
diff -u -N /tmp/LIVE-2252845436/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-2186918439/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-2252845436/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:32.354795222 +0000
+++ /tmp/MERGED-2186918439/networking.k8s.io.v1.Ingress.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:32.354795222 +0000
@@ -16,7 +16,7 @@
   labels:
     app: coingecko-proxy
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-backend /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-backend
--- /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:29.278804043 +0000
+++ /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-backend	2023-11-29 17:37:29.278804043 +0000
@@ -5,7 +5,7 @@
   labels:
     app: backend
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-backend
diff -u -N /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy
--- /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:29.486803448 +0000
+++ /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-coingecko-proxy	2023-11-29 17:37:29.486803448 +0000
@@ -5,7 +5,7 @@
   labels:
     app: coingecko-proxy
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-coingecko-proxy
diff -u -N /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider
--- /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider	2023-11-29 17:37:29.686802874 +0000
+++ /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-handle-provider	2023-11-29 17:37:29.686802874 +0000
@@ -5,7 +5,7 @@
   labels:
     app: handle-provider
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-handle-provider
diff -u -N /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider
--- /tmp/LIVE-2252845436/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider	2023-11-29 17:37:29.886802299 +0000
+++ /tmp/MERGED-2186918439/v1.Service.dev-preview.dev-preview-cardanojs-stake-pool-provider	2023-11-29 17:37:29.886802299 +0000
@@ -5,7 +5,7 @@
   labels:
     app: stake-pool-provider
     app.kubernetes.io/managed-by: std-kubectl
-    app.kubernetes.io/version: 06c28405d6c03f8dad7cb40969d452b114efd39d
+    app.kubernetes.io/version: 7ee4fa05194533ac6abd657d4f9864d84799e9ca
     network: preview
     release: dev-preview-cardanojs
   name: dev-preview-cardanojs-stake-pool-provider

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not try to understand this diff. It is in fact a new file (New errors from conway-era CardanoNodeErrors --> copied into master.), while the old one was renamed:
CardanoNodeErrors -->renamed to --> CardanoNodeLegacyErrors.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not try to understand this diff. It is in fact a new file (New error utils from conway-era cardanoNodeErrors --> copied into master.), while the old one was moved in the ogmios package.

Copy link
Member

@mkazlauskas mkazlauskas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! 🚀

if (CardanoNodeUtil.isGeneralCardanoNodeErrorCode(error.code)) {
return error instanceof GeneralCardanoNodeError
? error
: new GeneralCardanoNodeError(error.code, error.data || null, error.message);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed this is inconsistent: it deals with TxSubmissionError differently (assigns prototype instead of creating a new object). Probably not in scope of this ticket PR though as it most likely comes from conway-era like that.

} from '../types';
import { isProductionEnvironment, stripStackTrace } from '@cardano-sdk/util';

// TODO: test all new utils
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this TODO from conway-era? The utils seem to have some tests 🤔

Copy link
Collaborator

@iccicci iccicci left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good job!

@iccicci iccicci merged commit 4474fab into master Nov 30, 2023
@iccicci iccicci deleted the feat/lw-9128-conway-era-compatible-sdk-clients branch November 30, 2023 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants