Unification Developer Update — July 2024

Codegnosis
Unification Foundation
7 min readJul 16, 2024

It’s been a hectic year so far — it’s hard to believe we’re more than half way through already. A lot has been happening at Unification regarding development, and there is still a lot of ongoing development to keep us busy! UNoDE Phase 1 is live, and Phase 2 has moved from research into active development, and we have also been working on OoO and VOR. We’re also developing some major updates to mainchain (in addition to the Cosmos SDK and IBC upgrades).

Dev Work to Date

UNoDE Phase 1

UNoDE Phase 1 has been deployed and live for a number of months, and we have started migrating Unification’s various applications and services to UNoDE. Both the Ethereum mainnet and Shibarium deployments of the OoO application now use UNoDE RPC nodes for interaction with the Router smart contract, as does our VOR deployment on Ethereum mainnet (and so will the VOR deployment on Shibarium).

Further, we are also working on migrating our public Unification RPC, REST and gRPC nodes over to UNoDE and there will be an official announcement once this is complete.

OoO Updates

We have made a number of significant improvements to OoO — specifically to AdHoc querying, which allows querying price data for pairs on a number of supported DEXs without needing them to be integrated into the Finchains API. Additionally, we have migrated the OoO application’s dependency on thegraph.com’s hosted/free subgraphs to the more reliable paid (GRT) subgraph service. This migration brings many benefits to both OoO’s AdHoc querying, and to the Dex Verification tool, as outlined below.

AdHoc Querying improvements

Previous versions of the OoO application kept an internal database of supported DEX pairs by querying the top 1000 pairs from each supported DEX’s subgraph every 24 hours. For the most part this has worked well, but we felt the whole process could be improved and extended, and we therefore created the DEX Pair Verification Tool. OoO’s supported DEX pair import process has been migrated to this tool, which will allow additional manual verification of tokens and pairs using a number of metrics acquired from both the DEX’s subgraph and Coin Gecko. From this, we can export a curated set of pairs which the OoO application imports and uses to serve AdHoc price data requests. This allows us to exclude potentially fake tokens, and also pairs which may have recently slipped into low liquidity — both of which could affect price data.

Further, the tool will eventually allow us to create and implement tags and associations between tokens allowing for a more sophisticated AdHoc querying tool.

For example, by associating USDC, USDT and DAI, and tagging them as “USD” and also ETH/WETH as ETH, AdHoc queries for USD-ETH price data will be able to include all pairs using USDC, USDT, DAI, WETH and ETH.

Subgraph migration

With The Graph Network having completed its migration from the free hosted subgraphs to the paid GRT subgraphs, we have also implemented paid subgraphs for OoO’s AdHoc querying.

This allows for much faster and more reliable subgraph queries from incentivised providers, and is a great improvement in performance when serving AdHoc data requests. The older free hosted subgraphs are still supported in the OoO application, but will be deprecated in a future release.

Note: The cost of querying the GRT based subgraphs is negligible, and should therefore currently have zero impact on the xFUND cost of querying OoO for data.

FUND ERC-20 Bridged to Shibarium L2

The FUND ERC-20 token has been deployed and bridged to Shibarium L2–0xaDA0fA1f9A4Ea8513B3b607EFD31792336c09507, proudly joining its sibling token, xFUND. This will allow FUND to be sent from Ethereum mainnet over to Shibarium L2 to be utilised, and we’re excited to see what the community comes up with!

The official Shib announcement and article can be read here.

VOR Deployed on Shibarium Mainnet

The VOR smart contracts have been deployed on Shibarium!

VORCoordinator: 0xc6b24F8241C52531B376Ebe96737e167b923b1A7

BlockHashStore: 0xa8fd75Ff305F0FBf59f50afB4f6290FdB22F0430

The Unification Foundation’s VOR provider details can be found in the docs.

This takes us another step on the path to multi-chain deployment for both VOR and OoO.

WIP

UNoDE Phase 2

For the last couple of months, we have been researching the best implementation methods for UNoDE Phase 2, and development has started on the current proposed solution. Phase 2 will allow third party RPC node operators to join the UNoDE network and earn a share of UNoDE’s revenue, based on performance and data requests successfully served.

The four major features currently being developed are:

Plug in existing nodes into UNoDE. This allows node operators who have existing, established RPC nodes to join UNoDE, and potentially earn income. These nodes are not restricted to the current networks supported in Phase 1 (Ethereum, Shibarium and Unification). For example, an Osmosis RPC node operator should be able to plug their node into UNoDE’s API allowing it to be offered as an RPC endpoint to UNoDE users.

Deploy a new RPC Node. Using tools developed by us, third party operators will be able to deploy new RPC nodes, and have them seamlessly plugged into the UNoDE API. This is likely to be Phase “2.5”

Node Health/Data Integrity Monitoring API. The API will allow UNoDE’s backend to monitor the health of third party RPC nodes, in order for the end-user API to correctly route requests to the healthy nodes. The API will also randomly check data integrity of third party nodes.

Revenue Sharing and Penalties. Revenue will be calculated based on performance, and the number of queries successfully served, with penalties deducted from earnings for low performing nodes (for example, very slow responding to queries, or timing out etc.)

We will contact our previous alpha testers soon with details on how they can join and help testing.

Mainchain

Cosmos SDK / IBC Upgrade

Work is almost complete on the mainchain upgrade to Cosmos SDK v0.47.x and IBC v7.5.x. This is a major SDK upgrade, since it is the first step in the full Cosmos SDK migration from Tendermint to CometBFT, and has involved a huge amount of work ensuring all code and modules have been correctly migrated.

Payment Stream module

We have been developing a new module for mainchain, which will allow any user to set up a payment stream to a receiver wallet. Automated subscriptions are notoriously difficult to implement on-chain, and the payment stream module allows an efficient alternative to the traditional subscription model.

We believe this will be the first of its kind in active development on any Cosmos/IBC environment and will be adaptable by the rest of the Cosmos community to increase utility overall.

A payment stream can be initialised by a sender wallet with a simple process. The stream is created with an initial deposit amount, and a specified flow rate at which the receiver will be paid. Once created, the stream can be topped up, and the flow rate modified.

The concept is relatively simple. For example, a user wishes to send 100 FUND/month for 2 months to a specified receiver. They would set up a new payment stream with a deposit of 200 FUND, and a flow rate of approx 38051nund/s (flow rates are per second). The receiver can claim and withdraw at any time during the stream, and the module will calculate — based on the flow rate — how much they are currently entitled to. For this example, if the receiver claims after 1 week, they will be able to withdraw approx. 25 FUND.

If the sender cancels the stream, any unclaimed payment the receiver is entitled to will automatically be sent, with the remaining deposit returned to the sender’s wallet. Similarly, any modification to an existing stream’s flow rate will trigger unclaimed payment (at the old flow rate), before calculating future payments based on the updated flow rate.

Developers will be able to subscribe to on-chain events in order to monitor for new payment streams, and any modifications or cancellations to existing payment streams.

Once deployed on MainNet, we will be integrating the Payment Stream module into UNoDE’s subscriptions to allow them to be paid in native FUND.

Both the Cosmos/IBC upgrades and the Payment Stream module are currently in the testing phase. As usual, we will be upgrading TestNet first, monitoring for a couple of weeks, and then upgrading MainNet. The tentative target for the TestNet upgrade is towards the end of July, meaning MainNet will hopefully be upgraded towards the end of August. Dates are TBD, and will be announced via the usual channels on Telegram and Discord.

In the Pipeline

VOR Partnerships

We also have some very exciting and interesting progress being made with VOR and its utility. We are currently working with two separate and rather brilliant projects — neither of which we are at liberty to discuss in detail at the moment, but suffice it to say that one project relates to deployment of VOR on a new Cosmos EVM blockchain, and the other relates to VOR being used in a smart contract deployed across several networks.

We look forward to sharing the information on both these projects with the community as soon as publicly available

Outro

There’s a lot to digest there! We’re proud of the progress made so far, and are really excited to see how the community will utilise FUND on Shibarium. We’re also looking forward to rolling out our Payment Stream module to mainchain, and seeing it in action in UNoDE subscriptions. We are incredibly excited to roll out UNoDE Phase 2 and can’t wait to invite our alpha testers to join the network!

Finally, we’re really looking forward to revealing the partnerships for VOR and other tools in the near future.

Important Links

GitHub: https://github.com/unification-com

Telegram: https://t.me/unificationfoundation

Discord: https://discord.com/channels/725618617525207042

Website: https://www.unification.com

UNoDE: https://unode.unification.io

Documentation: https://docs.unification.io

--

--