Launch App

Sommelier This Week - April 29th 2021: Weeks Away From a Taste of the Sommelier App Experience and How the Dev Team Stays on Track

...Oh, and We’re Hiring. In this week’s update, Sommelier team’s VP product, Jack Zampolin, discusses steady progress through parallel programming development, continued collaboration with the open source community, and an architectural breakthrough for the Sommelier app.Jack, who previously discussed his journey as a new developer learning from the open source community, talks about how working with Uniswap v3 helps advance the Sommelier app.

NOTE: Sommelier Uniswap LP Impermanent Loss management application is live at https://app.sommelier.finance. Take positions and receive rewards!

He says:

“Since we decided to pivot to working primarily on Uniswap v3 at this phase, we had one full two-week sprint where we basically sussed out any unknowns that were remaining for building a product. We got a lot of great pre-work done for things like the subgraph that we’re working on with the Uniswap team. It involves app architecture and infrastructure.”

Jack’s team has been working closely with the Uniswap team on the Graph indexer, which has a protocol that enables querying of networks like Ethereum. Jack explains: “We were happy to share that with the Uniswap team to help them get to launch a little bit faster. It also gave a number of folks on the Sommelier team a good chance to read through the Uniswap smart contracts in a lot of detail and understand the event flow as well as a lot of the logic there, which I think was helpful for a wide variety of reasons.”

He says: “This week is about building clients for all of that, ensuring that we’re getting the right data out of our price APIs, integrations, and jamming out work. We also have a new developer joining us on that team as well -- that’s now a three-person team. So, there’s a lot of exciting work happening on the app this week. We’re looking great for a May 5th launch.”


Managing the Moving Parts

A lot can happen on the Uniswap side between now and then, so Jack and his team are following a strategy to stay on track for launch.

Jack explains: “I think that there are going to have to be some last-minute changes for this product, as there always are. I think that the part about this one is that the Uniswap v3 periphery contracts, which are the ones that we’re going to be interacting with, may change up until launch date. So, what we’re trying to do from an engineering perspective is put ourselves in a position for success and then be able to roll with some of those last-minute changes and we will launch on time.”

At Sommelier, we want to make liquidity provision accessible, democratic, and easy for any user to go in and provide liquidity, be it $10 to 10,000, in a way that they can understand the risks they’re taking and have a reasonable chance of a very, very strong return.

Jack explains: “The experience with adding liquidity for Sommelier is going to be very similar to the experience of adding liquidity to Uniswap v2, however you’re going to be provided for Uniswap v3 with that possibility for a higher fee take and the other benefits that Uniswap v3 offers, including increased capital efficiency among its features.”

“With that in mind, one of the things about Uniswap v3 that is difficult is that there are a lot more decisions to make when you’re providing liquidity,” says Jack. “In Sommelier, what we’re trying to do is enable liquidity providers to make fewer decisions. So we’re going to use data to inform you where you should deploy your liquidity. There’s going to be an expectation that this is a good recommendation for the next week so that as a liquidity provider you only have to check your position periodically. Sommelier protocol won’t be live on May 5th, but users will be able to use Sommelier to intelligently take positions on Uniswap v3 in all the pools.”

“Uniswap v3 is going to offer a similar interface to Sommelier’s current iteration that enables you to do a one- or two-sided liquidity addition. So you show up with some tokens and you click ‘provide liquidity’ and we will go ahead and trade you into that position on the back end and then give you the liquidity position on Uniswap v3. So, if you are familiar with the experience of providing liquidity in Uniswap v2, Sommelier is looking to provide the exact experience for Uniswap v3.”

A Taste of the Sommelier Experience

Jack describes what you can expect in the May 5th Sommelier app experience: “This initial version is sort of the first version of Sommelier,” he says. “and then we’re going to bring the protocol to market that helps offer this re-fungible experience where you’re going to have the similar liquidity provider tokens that are fungible shares in liquidity on Uniswap v.3 that are then tradeable and usable in other finance applications.”

Good news: “We made a great architectural breakthrough last week!” Jack says.

He shares an overview of the protocol progress to date.

Protocol’s Progress

For the last two updates, Jack has been talking about the different infrastructure that we’re going to build over on the Cosmos side and how that all works together. He continues with this protocol progress update:

“We started on the Allocation module, which is where validators are going to be deciding where within these UniSwap liquidity pools to deploy the liquidity that they’re controlling. Through spec’ing that out fully, beginning implementation there, and then starting to work on the specs for the Cellar module, which is the liquidity pool type experience, we found we needed to bring in a lot of data from Ethereum. The complexity of the system was increasing very rapidly.”

“Last week we had a series of discussions around that. First, Zaki and I chatted and then we talked to some advisors who are also strong Solidity developers and distributed systems architects. We ended up deciding to rearchitect.”

The Cellar Module is going to become a Cellar smart contract alongside Ethereum’s different pools of contracts. “But, in that pool will be the NLFP chairs,” says Jack, “and what is going to happen on the Cosmos side is that those allocations are going to be decided and then the Allocation Module will send a control message to the various pools that it’s managing to decide on where the allocation goes and it will update that periodically. It’s the kind of active liquidity management that users are expecting from Sommelier and what we’re selling.”

Blasting through blockers with parallel development

With an uncertain scope, which is what Sommelier’s team has had for quite a while, it has been hard to give any concrete dates on the next test net. The ongoing Gravity work contributes additional uncertainty in the timeline. That’s where the project manager’s strategy comes in.

Jack explains:

“As the product manager when things like that are happening you say, ‘ok we’ve got these blockers over here, we’re doing everything we can to resolve them, but let’s try to work on as many things as we can in parallel so that once we clear this blocker we can move forward quickly. That’s what we've been doing.



“We’ve moved forward with implementation on the Allocation Module,we’ve been working really hard to finalize specification for the old protocol and how it’s going to work, and we had a breakthrough this week that changes the timeline significantly. So with a clear path to implementation, with a lot of the unknowns answered, we are still working through some of the implementations of this architectural change.”

So, when’s the test net? “With the current set of deliverables and the amount of resources we have, it's doable within around two months,” says Jack. “That is much better than where we were looking prior.”

“The other thing I would say about that blocker for the Gravity refactor is that cofounder, Frederico Kunze, has really pushed that forward quite a lot over the last week. We’re in a position now where we’ll be looking to merge that next Friday. That’s the current goal for a merge on that. We’re just writing tests and wrapping that up.”

Team progress updates

Justin and the Althea team have been working with the auditors and test nets to figure out a bunch of edge case-y issues and to work through any concerns that the auditors have.

“In parallel,” says Jack, “my team of Go engineers has been working on refactoring the core logic in the Gravity Module over on the Cosmos SDK side. The reason for that is the code base that we started working on last fall that Justin and the Althea team have maintained was originally written by another team and it had passed through a couple of other teams’ hands before it got to us. So, there’s a lot of technical debt. The style of code was not really the style of the SDK, which made it hard to read, and there were some needlessly complicated pieces to it. And, also, through the process of building Gravity, added a bunch of functionality to it as you do when you’re building something, you find things that you miss and you add them and that led the API to be confusing, poorly named, and hard to maintain.



“What we’ve done is said “ok, we’re not going to change anything about the design. This design works great, we’ve validated it on a number of test nets. What we need to do is increase reliability, testability, modularity, and documentation on that. So the refactor that we've been doing is primarily for those goals and to enable it to get ready for completing the checklist of things to get on the hub as well as for us to deploy it on Sommelier.”



“That refactor is nearing completion. Obviously something that touches all the different parts of the code breaks all of the tests, all of the iterations -- work on the Rust side, work on the Go side. We kicked off this refactor really strongly about three weeks ago we did some work spec’ing it out and made sure we had resources to work on it for awhile but now that we’ve gotten rocking on it it is moving quickly, which is really nice and we’re looking to have that hopefully merged at the end of next week.”

We’re Hiring!

One last thing: “We are hiring!” says Jack. “On the back end we’re looking for additional Go engineers and Rust engineers. If you like distributed systems, if you like high-performance data, if you like hanging with a bunch of crazy cryptographers come hang out. We’d love to learn more about you and see how we can work together. We have a lot of contracts from different university ecosystems to contribute back to the Open Source code and that gives you as a developer a lot of opportunities to get some work under your belt that is highly visible, easy to show, to anyone who is interested in anything you work on. As an open source developer that’s been a huge benefit in my career. We here at Sommelier are huge, huge advocates of open source and we work really hard to ensure that that community and the software that we rely on stays strong. If you’re a developer and share those values come chat.”

You can go to Sommelier.finance/jobs and see what jobs are available. And we’re constantly adding new positions, constantly changing so if you don’t see a job in there just DM us or reach out to us on Telegram and tell us what you do. Community is the best source of some of the best talent.

Move fast and test things! Let’s go!

More articles


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

Bug Bounty
Privacy Policy
Documentation
Telegram
Discord
Twitter