input-output-hk / cardano-js-sdk

JavaScript SDK for interacting with Cardano, providing various key management options, with support for popular hardware wallets
https://input-output-hk.github.io/cardano-js-sdk/
Apache License 2.0
212 stars 57 forks source link

LW-10561 - Use new deposit fields from db-sync #1316

Closed iccicci closed 2 months ago

iccicci commented 2 months ago

Context

Version sancho-4-2-1 of db-sync introduced some new deposit fields.

Proposed Solution

Used them to simplify queries performed by DbSyncChainHistoryProvider.

github-actions[bot] commented 2 months ago
dev-sanchonet@us-east-1@v1 would change: dev-sanchonet, dev-sanchonet-cardanojs-v1-backend, Deployment (apps) would change: ```diff # Source: cardanojs/templates/backend-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: backend network: sanchonet release: dev-sanchonet-cardanojs-v1 name: dev-sanchonet-cardanojs-v1-backend spec: selector: matchLabels: app: backend network: sanchonet release: dev-sanchonet-cardanojs-v1 template: metadata: labels: app: backend network: sanchonet release: dev-sanchonet-cardanojs-v1 spec: containers: - args: - start-provider-server env: - name: ALLOWED_ORIGINS value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost - name: BUILD_INFO - value: '{"extra":{"narHash":"sha256-Oh+iETAXoFqI7yJgGXFCYy62fuCi6108wbnLAtPRjCw=","path":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source","sourceInfo":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source"},"lastModified":1717166875,"lastModifiedDate":"20240531144755","rev":"c13889cc7c64dc2f7f7a6020226fac7f3cc89eea","shortRev":"c13889c"}' + value: '{"extra":{"narHash":"sha256-Roun2jDQT18LueFavTIjK4PyZyOQO2ap5mLFlpPnxPg=","path":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source","sourceInfo":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source"},"lastModified":1717563487,"lastModifiedDate":"20240605045807","rev":"28af57103f0099865a878d5a4b45aba7dddd8aa5","shortRev":"28af571"}' - name: DISABLE_STAKE_POOL_METRIC_APY value: "true" - name: ENABLE_METRICS value: "true" - name: HANDLE_POLICY_IDS value: f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a - name: HANDLE_PROVIDER_SERVER_URL value: https://sanchonet.api.handle.me - name: LOGGER_MIN_SEVERITY value: info - name: NETWORK value: sanchonet - name: OGMIOS_SRV_SERVICE_NAME value: dev-sanchonet-cardano-core.dev-sanchonet.svc.cluster.local - name: PAGINATION_PAGE_SIZE_LIMIT value: "5500" - name: POSTGRES_DB_DB_SYNC value: cardano - name: POSTGRES_DB_HANDLE value: handle - name: POSTGRES_HOST_DB_SYNC value: dev-sanchonet-postgresql - name: POSTGRES_HOST_HANDLE value: dev-sanchonet-postgresql - name: POSTGRES_PASSWORD_DB_SYNC valueFrom: secretKeyRef: key: password name: cardano-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_PASSWORD_HANDLE valueFrom: secretKeyRef: key: password name: handle-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_POOL_MAX_DB_SYNC value: "50" - name: POSTGRES_POOL_MAX_HANDLE value: "10" - name: POSTGRES_PORT_DB_SYNC value: "5432" - name: POSTGRES_PORT_HANDLE value: "5432" - name: POSTGRES_SSL_CA_FILE_DB_SYNC value: /tls/ca.crt - name: POSTGRES_SSL_CA_FILE_HANDLE value: /tls/ca.crt - name: POSTGRES_SSL_DB_SYNC value: "true" - name: POSTGRES_SSL_HANDLE value: "true" - name: POSTGRES_USER_DB_SYNC valueFrom: secretKeyRef: key: username name: cardano-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_USER_HANDLE valueFrom: secretKeyRef: key: username name: handle-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: SERVICE_NAMES value: asset,chain-history,network-info,rewards,stake-pool,tx-submit,utxo - name: SUBMIT_API_URL value: http://dev-sanchonet-cardano-stack.dev-sanchonet.svc.cluster.local:8090 - name: TOKEN_METADATA_SERVER_URL value: http://dev-sanchonet-cardano-stack-metadata.dev-sanchonet.svc.cluster.local - name: USE_BLOCKFROST value: "false" - name: USE_KORA_LABS value: "true" - name: USE_SUBMIT_API value: "true" - image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:49qq2k8j5lr6jh2qvbx0abkflzvsybgn + image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:hnccfrgy26p6z05xv503hy6p4ida8shf livenessProbe: httpGet: path: /v1.0.0/health port: 3000 timeoutSeconds: 20 name: backend ports: - containerPort: 3000 name: http resources: limits: cpu: 1500m memory: 512Mi requests: cpu: 1000m memory: 350Mi securityContext: runAsGroup: 0 runAsUser: 0 volumeMounts: - mountPath: /tls name: tls imagePullSecrets: - name: dockerconfigjson volumes: - name: tls secret: secretName: postgresql-server-cert ``` dev-sanchonet, dev-sanchonet-cardanojs-v1-pg-boss-worker, Deployment (apps) would change: ```diff # Source: cardanojs/templates/pgboss-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: pg-boss-worker network: sanchonet release: dev-sanchonet-cardanojs-v1 name: dev-sanchonet-cardanojs-v1-pg-boss-worker spec: selector: matchLabels: app: pg-boss-worker network: sanchonet release: dev-sanchonet-cardanojs-v1 template: metadata: labels: app: pg-boss-worker network: sanchonet release: dev-sanchonet-cardanojs-v1 spec: containers: - args: - start-pg-boss-worker env: - name: BUILD_INFO - value: '{"extra":{"narHash":"sha256-Oh+iETAXoFqI7yJgGXFCYy62fuCi6108wbnLAtPRjCw=","path":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source","sourceInfo":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source"},"lastModified":1717166875,"lastModifiedDate":"20240531144755","rev":"c13889cc7c64dc2f7f7a6020226fac7f3cc89eea","shortRev":"c13889c"}' + value: '{"extra":{"narHash":"sha256-Roun2jDQT18LueFavTIjK4PyZyOQO2ap5mLFlpPnxPg=","path":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source","sourceInfo":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source"},"lastModified":1717563487,"lastModifiedDate":"20240605045807","rev":"28af57103f0099865a878d5a4b45aba7dddd8aa5","shortRev":"28af571"}' - name: LOGGER_MIN_SEVERITY value: info - name: METADATA_FETCH_MODE value: smash - name: NETWORK value: sanchonet - name: NETWORK_INFO_PROVIDER_URL value: http://dev-sanchonet-cardanojs-v1-backend.dev-sanchonet.svc.cluster.local - name: POSTGRES_DB_DB_SYNC value: cardano - name: POSTGRES_DB_STAKE_POOL value: stakepool - name: POSTGRES_HOST_DB_SYNC value: dev-sanchonet-postgresql - name: POSTGRES_HOST_STAKE_POOL value: dev-sanchonet-postgresql - name: POSTGRES_PASSWORD_DB_SYNC valueFrom: secretKeyRef: key: password name: cardano-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_PASSWORD_STAKE_POOL valueFrom: secretKeyRef: key: password name: stakepool-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_POOL_MAX_DB_SYNC value: "5" - name: POSTGRES_POOL_MAX_STAKE_POOL value: "5" - name: POSTGRES_PORT_DB_SYNC value: "5432" - name: POSTGRES_PORT_STAKE_POOL value: "5432" - name: POSTGRES_SSL_CA_FILE_DB_SYNC value: /tls/ca.crt - name: POSTGRES_SSL_CA_FILE_STAKE_POOL value: /tls/ca.crt - name: POSTGRES_SSL_DB_SYNC value: "true" - name: POSTGRES_SSL_STAKE_POOL value: "true" - name: POSTGRES_USER_DB_SYNC valueFrom: secretKeyRef: key: username name: cardano-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_USER_STAKE_POOL valueFrom: secretKeyRef: key: username name: stakepool-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: QUEUES value: pool-delist-schedule,pool-metadata,pool-metrics,pool-rewards - name: SMASH_URL value: https://sanchonet-smash.world.dev.cardano.org/api/v1 - name: STAKE_POOL_PROVIDER_URL value: http://dev-sanchonet-cardanojs-v1-backend.dev-sanchonet.svc.cluster.local - image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:49qq2k8j5lr6jh2qvbx0abkflzvsybgn + image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:hnccfrgy26p6z05xv503hy6p4ida8shf livenessProbe: httpGet: path: /v1.0.0/health port: 3000 name: pg-boss-worker ports: - containerPort: 3000 name: http resources: limits: cpu: 300m memory: 300Mi requests: cpu: 200m memory: 150Mi securityContext: runAsGroup: 0 runAsUser: 0 startupProbe: httpGet: path: /v1.0.0/ready port: 3000 initialDelaySeconds: 80 periodSeconds: 5 volumeMounts: - mountPath: /tls name: tls imagePullSecrets: - name: dockerconfigjson volumes: - name: tls secret: secretName: postgresql-server-cert ``` dev-sanchonet, dev-sanchonet-cardanojs-v1-stake-pool-projector, Deployment (apps) would change: ```diff # Source: cardanojs/templates/stake-pool-projector-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: stake-pool-projector network: sanchonet release: dev-sanchonet-cardanojs-v1 name: dev-sanchonet-cardanojs-v1-stake-pool-projector spec: selector: matchLabels: app: stake-pool-projector network: sanchonet release: dev-sanchonet-cardanojs-v1 template: metadata: labels: app: stake-pool-projector network: sanchonet release: dev-sanchonet-cardanojs-v1 spec: containers: - args: - start-projector env: - name: BUILD_INFO - value: '{"extra":{"narHash":"sha256-Oh+iETAXoFqI7yJgGXFCYy62fuCi6108wbnLAtPRjCw=","path":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source","sourceInfo":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source"},"lastModified":1717166875,"lastModifiedDate":"20240531144755","rev":"c13889cc7c64dc2f7f7a6020226fac7f3cc89eea","shortRev":"c13889c"}' + value: '{"extra":{"narHash":"sha256-Roun2jDQT18LueFavTIjK4PyZyOQO2ap5mLFlpPnxPg=","path":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source","sourceInfo":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source"},"lastModified":1717563487,"lastModifiedDate":"20240605045807","rev":"28af57103f0099865a878d5a4b45aba7dddd8aa5","shortRev":"28af571"}' - name: LOGGER_MIN_SEVERITY value: info - name: NETWORK value: sanchonet - name: OGMIOS_SRV_SERVICE_NAME value: dev-sanchonet-cardano-core.dev-sanchonet.svc.cluster.local - name: POSTGRES_DB value: stakepool - name: POSTGRES_HOST value: dev-sanchonet-postgresql - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: key: password name: stakepool-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_POOL_MAX value: "2" - name: POSTGRES_PORT value: "5432" - name: POSTGRES_SSL value: "true" - name: POSTGRES_SSL_CA_FILE value: /tls/ca.crt - name: POSTGRES_USER valueFrom: secretKeyRef: key: username name: stakepool-owner-user.dev-sanchonet-postgresql.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:49qq2k8j5lr6jh2qvbx0abkflzvsybgn + image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:hnccfrgy26p6z05xv503hy6p4ida8shf livenessProbe: httpGet: path: /v1.0.0/health port: 3000 timeoutSeconds: 5 name: stake-pool-projector ports: - containerPort: 3000 name: http resources: limits: cpu: 700m memory: 300Mi requests: cpu: 700m memory: 150Mi securityContext: runAsGroup: 0 runAsUser: 0 volumeMounts: - mountPath: /tls name: tls imagePullSecrets: - name: dockerconfigjson volumes: - name: tls secret: secretName: postgresql-server-cert ``` dev-sanchonet, dev-sanchonet-cardanojs-v1-stake-pool-provider, Deployment (apps) would change: ```diff # Source: cardanojs/templates/stake-pool-provider-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: labels: app: stake-pool-provider network: sanchonet release: dev-sanchonet-cardanojs-v1 name: dev-sanchonet-cardanojs-v1-stake-pool-provider spec: selector: matchLabels: app: stake-pool-provider network: sanchonet release: dev-sanchonet-cardanojs-v1 template: metadata: labels: app: stake-pool-provider network: sanchonet release: dev-sanchonet-cardanojs-v1 spec: containers: - args: - start-provider-server env: - name: ALLOWED_ORIGINS value: chrome-extension://gafhhkghbfjjkeiendhlofajokpaflmk,chrome-extension://efeiemlfnahiidnjglmehaihacglceia,chrome-extension://bjlhpephaokolembmpdcbobbpkjnoheb,chrome-extension://djcdfchkaijggdjokfomholkalbffgil,http://localhost/,http://localhost - name: BUILD_INFO - value: '{"extra":{"narHash":"sha256-Oh+iETAXoFqI7yJgGXFCYy62fuCi6108wbnLAtPRjCw=","path":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source","sourceInfo":"/nix/store/56kvwjligim7q46gkf54a2nlxbdq7dsv-source"},"lastModified":1717166875,"lastModifiedDate":"20240531144755","rev":"c13889cc7c64dc2f7f7a6020226fac7f3cc89eea","shortRev":"c13889c"}' + value: '{"extra":{"narHash":"sha256-Roun2jDQT18LueFavTIjK4PyZyOQO2ap5mLFlpPnxPg=","path":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source","sourceInfo":"/nix/store/h9lfmplf50i564nbdw936j8hc57a9hp1-source"},"lastModified":1717563487,"lastModifiedDate":"20240605045807","rev":"28af57103f0099865a878d5a4b45aba7dddd8aa5","shortRev":"28af571"}' - name: DISABLE_STAKE_POOL_METRIC_APY value: "true" - name: ENABLE_METRICS value: "true" - name: LOGGER_MIN_SEVERITY value: info - name: NETWORK value: sanchonet - name: OGMIOS_SRV_SERVICE_NAME value: dev-sanchonet-cardano-core.dev-sanchonet.svc.cluster.local - name: OVERRIDE_FUZZY_OPTIONS value: "true" - name: PAGINATION_PAGE_SIZE_LIMIT value: "5500" - name: POSTGRES_DB_STAKE_POOL value: stakepool - name: POSTGRES_HOST_STAKE_POOL value: dev-sanchonet-postgresql - name: POSTGRES_PASSWORD_STAKE_POOL valueFrom: secretKeyRef: key: password name: stakepool-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: POSTGRES_POOL_MAX_STAKE_POOL value: "10" - name: POSTGRES_PORT_STAKE_POOL value: "5432" - name: POSTGRES_SSL_CA_FILE_STAKE_POOL value: /tls/ca.crt - name: POSTGRES_SSL_STAKE_POOL value: "true" - name: POSTGRES_USER_STAKE_POOL valueFrom: secretKeyRef: key: username name: stakepool-owner-user.dev-sanchonet-postgresql.credentials.postgresql.acid.zalan.do - name: SERVICE_NAMES value: stake-pool - name: TOKEN_METADATA_SERVER_URL value: http://dev-sanchonet-cardano-stack-metadata.dev-sanchonet.svc.cluster.local - name: USE_TYPEORM_STAKE_POOL_PROVIDER value: "true" - image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:49qq2k8j5lr6jh2qvbx0abkflzvsybgn + image: 926093910549.dkr.ecr.us-east-1.amazonaws.com/cardano-services:hnccfrgy26p6z05xv503hy6p4ida8shf livenessProbe: httpGet: path: /v1.0.0/health port: 3000 timeoutSeconds: 5 name: stake-pool-provider ports: - containerPort: 3000 name: http resources: limits: cpu: 500m memory: 300Mi requests: cpu: 100m memory: 150Mi securityContext: runAsGroup: 0 runAsUser: 0 volumeMounts: - mountPath: /tls name: tls imagePullSecrets: - name: dockerconfigjson volumes: - name: tls secret: secretName: postgresql-server-cert ```