Skip to content

Release 2.6.0

Release Notes


Sanctions Monitoring

  • Implemented backend logic to block Sanctioned and PEP (Politically Exposed Person) customers and notify compliance upon detection upon Sanction Screening.
  • Added functionality to maintain and display historical KYC and Account status for enhanced compliance tracking.
  • Integrated webhook support to receive and store Sanction and PEP data in real time.
  • Updated email notifications to provide clear and detailed sanction alerts.

Email Verification Services

  • Introduced OTP-based email verification for wallet customers to enhance onboarding security.

Consolidated Webhook for Third-Party Transactions

  • Enhanced the webhook system to handle Success, Failure, and Cancellation responses from third-party services such as PayPal and Stripe.
  • Modified PayPal and Stripe API request parameters to ensure compatibility with new a webhook structure.

Enhancements in Risk Attribute Display

  • Improved Wallet Customer Card by enhancing the display and number of risk attributes for increased transparency.

Updates to Identification Badge Rules

  • Implemented history tracking for identification badge updates to improve auditability.
  • Enhanced logic to update badge rules dynamically, ensuring consistency across compliance workflows.

Integration with Oscilar API (v4)

  • Upgraded Oscilar API to the latest version (v4) for onboarding and account updates, to improve risk assessment and fraud detection capabilities.

Upgrade Notes

The sequence of steps to follow to upgrade are:

  1. Azure Event Hub
  2. Container images and configmaps
  3. Azure Functions - Event
  4. DB migrations
  5. Swagger APIs

Azure Event Hub

Create event hub

  1. Navigate to the Event Hubs service.
  2. Select the desired Event Hub Namespace
  3. Create new resource using the + Event Hub button
  4. Enter the following details:
    • Name: oscilar-events
    • Partition Count: 4
    • Message Retention time: 24
  5. Create resource

Get connection string

  1. Navigate to the event hub created before
  2. Expand Settings menu and select Shared access policies
  3. Create new policy selecting + Add button:
    • Policy name: oscilar
    • Select (enable) all remaining options: Manage, Send and Listen
  4. Select the newly created policy
    • Take note of Primary connection string

The collected value will be used throughout the remaining steps.

For more details how to create and manage Event Hubs, check Azure documentation.

Container images and configmaps

All provided images, available in the Image List section should be downloaded and built to be LGPL compliant.

All new images tags will be used to update Kubernetes manifests.

Core microservice

Render new OTP secret

There's the need to render a 32 chars string to be used as OTP secret.

Execute the following command and take note of the value:

Shell CLI
$ cat /dev/urandom | tr -dc 'A-Z2-7' | head -c 32
ConfigMap

Add/replace the following values in Core microservice's ConfigMap:

configmap.yml
UL_SUPPORT_EMAIL: 'Support Email'

SECRET: '[replace with otp generated secret]'
OTP_EXPIRATION: '600000'

SUCCESS_URL: '[replace with console base url]/payments/success'
FAILURE_URL: '[replace with console base url]/payments/failure'
CANCEL_URL: '[replace with console base url]/payments/cancel'

Listener microservice

Listener microservice will now rely on a new event hub to be created in your Azure subscription.

Use the values collected from the newly created event hub.

ConfigMap

Add/replace the following values in Listener microservice's ConfigMap:

configmap.yml
OSCILAR_STORAGE_ACCOUNT_CONNECTION_STRING: '[replace with storage connection string]'
OSCILAR_CONTAINER_NAME: 'oscilar-events'

OSCILAR_EVENT_HUB_CONNECTION_STRING: '[replace with `Primary connection string` copied above]'
OSCILAR_CONSUMER_GROUP: '$default'
OSCILAR_EVENT_HUB_NAME: 'oscilar-events'

AZURE_HOST: '[replace with azure email config host]'
CONNECTION_STRING: '[replace with azure email config string]'

Azure Functions - Event

Identify the events Azure Function app name and resource group, take note of them and replace the placeholders.

Download Azure App Function - Events ZIP file available in Assets, unpack/unzip it in order to perform remaining instructions.

Deploy and build

Deploy and build
$ az functionapp deployment source config-zip \
    --src azapp_events_260.zip \
    --build-remote true \
    --resource-group [resource-group name] \
    --name [azure-function name]

Update environment variables

After a successful deployment, must update the following environment variables:

Environment variable Description Default
CONNECTION_STRING_OSCILAR Update with Event Hub connection string null
EVENTHUB_OSCILAR Azure Event Hub Name oscilar-events

Azure Event Hub

For the EVENTHUB_OSCILAR variable, the value name is collected from the resource created before.

Update environment variables
$ az functionapp config appsettings set \ 
    --settings CONNECTION_STRING_OSCILAR="<REPLACE>" EVENTHUB_OSCILAR="oscilar-events" \
    --resource-group [resource-group name] \
    --name [azure-function name]

DB migrations

Download DB migrations ZIP file available in Assets, unpack/unzip it in order to perform remaining instructions.

DB backup

Before proceeding with remaining steps, it's strongly advised to take a database backup before proceeding.

Update credentials

Edit/create a file named development.env inside db-migrations/src/common/envs folder

db-migrations/src/common/envs/development.env
DB_HOST=[replace with db host url]
DB_USER=[replace with db user]
DB_PWD=[replace with db user password]
DB_NAME=[replace with db name]

AZURE_TENANT_ID=[replace with azure tenant id]
AZURE_CLIENT_ID=[replace with azure client id]
AZURE_CLIENT_SECRET=[replace with azure client secret]
AZURE_KEYVAULT_NAME=[replace with azure keyvault name]

Execute DB migrations

Execute the remaining commands located inside the extracted content folder (e.g.: db-migrations):

Shell CLI
$ npm install

$ npm run migrate

Swagger APIs

Download Swagger APIs tarball file available in Assets, unpack/unzip it in order to perform remaining instructions.

Update API

omnumi-internal
Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select APIs
  3. Select omnumi-internal and expand the API option button (...) to select Import available option
  4. Select OpenAPI tile
    • Import method: Update
    • Select file: omnumi-internal.openapi+json-3.json
Update settings

After a successful import update the following fields:

  1. Select omnumi-internal API again
  2. Open Settings tab and update Web service URL with ul-core microservice URL
  3. Save the changes
Update methods chain-core
  1. Select omnumi-internal API again
  2. Open Design tab and enable Group by tag
  3. On the list expand ChainCore and update the Backend - HTTP(s) endpoint with ul-chain-core microservice URL
  4. Repeat operation for all listed API methods on the ChainCore
Update methods Keycloak
  1. Select omnumi-internal API again
  2. Open Design tab and use the Search Operations field to filter by keycloak word
  3. Select the keycloak entry and update:
    • The Backend - HTTP(s) endpoint with Keycloak service URL
    • The Inbound processing, Add policy button, select Allow cross-origin resource sharing (CORS) tile and save with defaults
omnumi
Upload file
  1. Navigate to the API Management service service.
  2. Expand APIs left blade menu and select APIs
  3. Select omnumi and expand the API option button (...) to select Import available option
  4. Select OpenAPI tile
    • Import method: Update
    • Select file: omnumi.openapi+json-3.json
Update settings
  1. Select omnumi API again
  2. Open Settings tab and update Web service URL with ul-core microservice URL
  3. Save the changes
Update methods chain-core
  1. Select omnumi API again
  2. Open Design tab and enable Group by tag
  3. On the list expand ChainCore and update the Backend - HTTP(s) endpoint with ul-chain-core microservice URL
  4. Repeat operation for all listed API methods on the ChainCore

Image list

Microservice name Image tag
Core Microservice omnumisandbox.azurecr.io/core:20250214.2-deliverable
Listener Microservice omnumisandbox.azurecr.io/listener:20250213.2-deliverable
Frontend Microservice omnumisandbox.azurecr.io/frontend:20250214.1

Assets

Login into files portal