Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add poolID to Gateway AMM endpoints #302

Closed
fengtality opened this issue Mar 29, 2024 · 15 comments
Closed

Add poolID to Gateway AMM endpoints #302

fengtality opened this issue Mar 29, 2024 · 15 comments
Assignees
Labels
bounty enhancement New feature or request ethereum

Comments

@fengtality
Copy link
Contributor

Why

AMM designs are getting more complex, and a simple QUOTE/BASE tuple may match multiple pools in protocols like Balancer. Similarly, other AMMs feature different fee settings for the same QUOTE/BASE pool. To allow users to specify which pools they are trading against, we need to specify the pool ID instead of these simple descriptors.

What

Add poolID as an optional parameter to the following Gateway endpoints below. Initially, the parameter is only required by AMMs like Balancer. For these AMMs, poolID should be used to fetch the right pool, not the other variables.

/amm/price
/amm/trade
/amm/liquidity/price
/amm/liquidity/add

Afterwards, add error-handling logic to inform users when poolID is missing, as well as unit tests.

Bounty

  • Sponsor: Hummingbot Foundation
  • Funding: Ethereum pot - see Connector Pots tab in HBOT Tracker
  • Bounty amount: 500 USD or 167,000 HBOT (0.003 current price)
  • Developer portion: 100%
  • Status: OPEN
@fengtality fengtality added enhancement New feature or request bounty ethereum labels Mar 29, 2024
@nikspz nikspz moved this to Open in Bounties Board Mar 29, 2024
@vic-en
Copy link
Collaborator

vic-en commented Mar 29, 2024

I can work on this.

@webbdays
Copy link

webbdays commented Mar 30, 2024

if @vic-en drops
Please assign this to me. I will work on this.

@vic-en
Copy link
Collaborator

vic-en commented Mar 30, 2024

You can assign to @webbdays if he/she is really interested and can get it done.

@webbdays
Copy link

Thanks @vic-en

@webbdays
Copy link

/attempt

@webbdays
Copy link

webbdays commented Mar 31, 2024

Hi @fengtality, @nikspz
I have made an initial commit, which allows the user to pass poolID as req parameter.
If user don't pass it then error message will be sent in response.
But i don't have the domain knowledge on how to use the poolID further in the codebase.
Please guide.
Thanks.

@vic-en
Copy link
Collaborator

vic-en commented Mar 31, 2024

Hi @fengtality, @nikspz I have made an initial commit, which allows the user to pass poolID as req parameter. If user don't pass it then error message will be sent in response. But i don't have the domain knowledge on how to use the poolID further in the codebase. Please guide. Thanks.

I can give you some hints to help you get it done but I expect you to have an understanding of how to interract with smart contracts at the very least. Do you?

@webbdays
Copy link

webbdays commented Apr 1, 2024

I have some knowledge, previously used web3.js while i was learning to build a smart contract with local blockchain network using Ganache.
I have to revisit the concepts related to that.
I can understand what's happening with codebase with some guidance on the codebase.

@nikspz
Copy link
Contributor

nikspz commented Apr 2, 2024

I have some knowledge, previously used web3.js while i was learning to build a smart contract with local blockchain network using Ganache. I have to revisit the concepts related to that. I can understand what's happening with codebase with some guidance on the codebase.

Did you reviewed / used Humminbot Client + Gateway codebase already?

@nikspz
Copy link
Contributor

nikspz commented Apr 2, 2024

@webbdays Please be informed: Team shouldn't have to "hand hold" a dev through the process

@webbdays
Copy link

webbdays commented Apr 2, 2024

I am currently going through the code and docs. I will try mybest.
Hopely, i will deliver by this weekend. Thank you.

@nikspz
Copy link
Contributor

nikspz commented Apr 2, 2024

hi @webbdays, upon discussion with the team we should assign this bounty to vic-en.

You could check one of the bounties here and leave comment if you want to be assigned:
hummingbot/hummingbot#6914
hummingbot/hummingbot#6898
hummingbot/hummingbot#6899

@nikspz
Copy link
Contributor

nikspz commented Apr 2, 2024

#302 Assigned to @vic-en, please be informed:

Thanks for your contribution!

@nikspz nikspz moved this from Open to Assigned in Bounties Board Apr 2, 2024
@webbdays
Copy link

webbdays commented Apr 2, 2024

Ok.

This was referenced Apr 6, 2024
@nikspz nikspz moved this from Assigned to Submitted in Bounties Board Apr 8, 2024
@nikspz nikspz moved this from Submitted to Merged in Bounties Board Apr 11, 2024
@nikspz
Copy link
Contributor

nikspz commented Apr 29, 2024

Thanks for your participation, the bounty has been sent to @vic-en . The fix has been deployed on development branch and hummingbot version 1.27.0.

@nikspz nikspz closed this as completed Apr 29, 2024
@github-project-automation github-project-automation bot moved this from Merged to Assigned in Bounties Board Apr 29, 2024
@nikspz nikspz moved this from Assigned to Paid in Bounties Board Apr 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bounty enhancement New feature or request ethereum
Projects
Status: Paid
Development

No branches or pull requests

4 participants