Launch App

Sommelier Protocol Team Weekly Update #8

Welcome to the weekly Protocol team update on the Sommelier protocol upgrades! This week we continue with the Sommelier chain upgrade and bringing Steward to life.


In a bid to react to the market events properly and make better decisions, the Sommelier team is incorporating the reinvest module called “cork” into the Sommelier chain. This module will reinvest users’ assets according to new strategies from strategy providers. Also, the protocol team is working to fix the IBC’s non-determinism in the chain.

Cork Module

The cork module is in-charge of the reinvest command in the Sommelier chain. First, there’s a `MsgSubmitCorkRequest` for submitting reinvest calls to Ethereum through the Gravity bridge contract. This request collects fields like `encoded_contract_call` which is the ABI encoded bytes to send to the contract. It also contains a `target_contract_address` which is an address of the contract to send the call.

Just like the rebalance function, the reinvest module will submit a vote to reinvest the appropriate Cellar based on the data received from strategy providers. This is possible with parameters like the `vote_period` and `vote-_threshold`. The vote period defines the number of blocks to wait for votes before attempting to tally while the vote threshold determines the percentage of bonded stake required to vote each period.

This module also consists of a genesis state which contains all cork state that must be provided at genesis. Here’s a list of all query stages in the cork module.

  1. QueryCommitPeriodRequest
  2. QueryCommitPeriodResponse
  3. QueryCommitPeriodResponse
  4. QueryParamsRequest
  5. QueryParamsResponse
  6. QuerySubmittedCorksRequest
  7. QuerySubmittedCorksResponse

Fixing Ibc Non-Determinism

A deterministic program, when given the same input, will always result in the same output. This intuitive, albeit quite fuzzily defined, property is oftentimes pretty important for a correct program. The Inter-Blockchain Communication (IBC) allows for communication across different chains in the Cosmos network.

The IBC for the Sommelier chain has been made deterministic by the Sommelier protocol team in order to make sure transactions are processed properly.

To learn more about Sommelier, please visit

To use Sommelier, try the Pairings App at

To participate in the community, please join the Telegram group

To follow the project on Github, please star the project

More articles

© 2024 Sommelier by Bajanss OÜ –Maakri 36-50, Tallinn, Estonia 10145

Bug Bounty
Privacy Policy