harmony-one / bounties

Bounty program is to help the community take part in the development of the Harmony blockchain. It covers from core feature to validator tooling, from dApp development to DeFi integration.
MIT License
59 stars 23 forks source link

hummingbot integration to support Dex on harmony #16

Closed LeoHChen closed 3 years ago

LeoHChen commented 3 years ago

Description

Build a DEX connector in hummginbot to connect to DEX on Harmony blockchain. (https://github.com/CoinAlpha/gateway-api) Noted, hummingbot team is doing module refactoring, please keep a closer look and contact the hummingbot dev team for the contribution details. This is an external bounty to hummingbot team. Their acceptance is the key criteria.

Context

hummingbot is the decentralized market maker (https://hummingbot.io/about/). Harmony ONE token was the first token launched with hummingbot for market making. Since there are DEX launched on Harmony blockchain, we would like to build a connector in hummingbot, so that arbitrage strategy can be developed between DEX and CEX for harmony tokens.

There is already uniswap connector built-in hummingbot (https://github.com/CoinAlpha/gateway-api/blob/master/src/services/uniswap.js), so the new harmony dex connector can follow a similar approach.

https://docs.hummingbot.io/exchange-connectors/overview/ https://hummingbot.io/blog/2020-09-what-is-cross-exchange-market-making/

https://venomdao.medium.com/introducing-venomdao-viper-protocol-a-cross-chain-multi-product-defi-dao-launching-on-harmony-7ac84a7d76d3 https://medium.com/harmony-one/harmony-roadmap-cross-chain-cross-exchange-pools-3b7230d1c295

Acceptance Criteria

Reward

US$3000 equivalent amount of [Harmony ONE token] (https://www.coingecko.com/en/coins/harmony).

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 16348.8501 ONE (2997.4 USD @ $0.18/ONE) attached to it.

MohammedNagdy commented 3 years ago

I don't understand what do you mean by arbitrage strategy between CEX and DEX? Because wouldn't the users of humingbot will be able to arbitrage across exchanges after deploying the connector?

fanglinlu commented 3 years ago

I also have a question. Wondering what DEX are you specifically talking about here? Is it Viperswap?

fanglinlu commented 3 years ago

Oh. I found the viperswap doc attached in this bounty. I guess it is Viperswap then!

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


Work has been started.

These users each claimed they can complete the work by 1 month from now. Please review their action plans below:

1) fanglinlu has started work.

This project integrates harmony one Viperswap DEX with hummingbot. 2) mohammednagdy has started work.

I'm working on getting the approval from humingbot development team to build the connector.

-Build the exchange connector and integrated with Humingbot in python -Build API gateway for visperswap in nodejs 3) amazingang has started work.

Try to integrate hummingbot to harmony network. 4) jonathanchancey has started work.

Build a Harmony DEX connector in hummingbot

Learn more on the Gitcoin Issue Details page.

fanglinlu commented 3 years ago

Ok. Just started this project on Gitcoin to let people know I am working on it. Plan to start making some coding progress next week.

MohammedNagdy commented 3 years ago

@fanglinlu I think we'll use venomswap protocol. Because visperswap exchange is built on top of this protocol. Am I right?

MohammedNagdy commented 3 years ago

I also got notified the development team at humingbot about the PR for a heads-up.

MohammedNagdy commented 3 years ago

@fanglinlu I found out that visperswap which is also venomswap is Uniswap fork and there's already an implementation of connector on Humingbot. I'm not sure how we're supposed to connect visperswap which has a subgraph of uniswap to Humingbot again?

Could you please explain it?

fanglinlu commented 3 years ago

@MohammedNagdy I am new to this bounty system. It seems you are also interested in this bounty. Should we both work on it then? Also do you mean you notified the hummingbot development team or you got notified by the hummingbot team?

LeoHChen commented 3 years ago

@fanglinlu , @MohammedNagdy as I mentioned, this is an external bounty to work on hummingbot. Please actively engage hummingbot team for their new architecture to add the connectors.

MohammedNagdy commented 3 years ago

@LeoHChen @fanglinlu already notified the development team at humingbot and they're expecting our pull request. Plus @LeoHChen what you have in the bounty post isn't a connector it's an API gateway.

This is an example of a binance connector https://github.com/CoinAlpha/hummingbot/tree/master/hummingbot/connector/exchange/binance

fanglinlu commented 3 years ago

Mohammed, I wonder how we can collaborate on this one. Do you want to chat on telegram?

fanglinlu commented 3 years ago

It seems sid from the hummingbot support team is asking the hummingbot team about building this connector. Mohammed, you also mentioned do a PR. Wondering whether there is any update on that?

fanglinlu commented 3 years ago

I also just emailed the hummingbot team through here partnerships@hummingbot.io.

Here is a useful doc about how connectors are usually built https://hummingbot.zendesk.com/hc/en-us/articles/900004506986

Here is where the code is for the uniswap connector https://github.com/CoinAlpha/hummingbot/tree/master/hummingbot/connector/connector/uniswap

MohammedNagdy commented 3 years ago

@fanglinlu my telegram is @monagdy

jonathanchancey commented 3 years ago

Would love to take a crack at this, got room on your team @fanglinlu @MohammedNagdy?

fanglinlu commented 3 years ago

Hi Jonathan, feel free to add me on telegram: @fanglinlu

fanglinlu commented 3 years ago

Ok. I created a fork of the hummingbot code and added you two as collaborators. https://github.com/fanglinlu/hummingbot

MohammedNagdy commented 3 years ago

Awesome @fanglinlu thank you, I'll start working today on the connector. I think we have to let @LeoHChen that us three are working together on the connector.

fanglinlu commented 3 years ago

This link is about the steps we need to follow for contributing to the hummingbot codebase https://github.com/CoinAlpha/hummingbot/blob/master/CONTRIBUTING.md

fanglinlu commented 3 years ago

This doc seems useful too https://docs.hummingbot.io/developer/overview/

fanglinlu commented 3 years ago

Update from Hummingbot CEO Michael today:

There's no documentation yet for Hummingbot Gateway since its architecture and base code is still in flux. Since we're still designing how best to support various L1 and L2 protocols ourselves, we don't yet support external developers building on it, although we freely encourage you to fork it and make use of it as you see fit. In 2-3 months, Gateway's architecture should be standardized enough where we can create developer docs and then start to review/merge in external contributions.

LeoHChen commented 3 years ago

we are closing this bounty for now with the advice from Hummingbot's CEO. Will re-open a new one once the new gateway architecture is more clear and standardized for external contributors.

gitcoinbot commented 3 years ago

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


The funding of 16348.8501 ONE (1976.45 USD @ $0.12/ONE) attached to this issue has been cancelled by the bounty submitter