Skip to content
This repository has been archived by the owner on Jun 8, 2020. It is now read-only.

Generic user channels (balance, open orders, user trades) + support for Binance, Bitfinex, Coinbase Pro #340

Merged
merged 59 commits into from
Jul 28, 2019

Conversation

badgerwithagun
Copy link
Collaborator

@badgerwithagun badgerwithagun commented Jun 23, 2019

Resolves #274
Resolves #276
Resolves #278
Resolves #283

See #274 for full description.

This is ready for merge. Note there are some TODOs around Coinbase Pro support, but it's useful as it is, so I say LGTM.

…ned in bitrich-info#274.

Coinbase Pro is a challenge here. It seems to need an initial snapshot. At the moment the implementation is bare-bones.
Need to start working on the ordering challenge. All three seem to provide a sequence number. This will be essential for maintaining any sort of snapshot.
Not done balances yet.
Also adds warning that the order change stream contains incomplete data.
After refactoring to move account and trade streams to separate classes, I forgot to subscribe those classes on connection.
@nielsdraaisma
Copy link

Looks great, thanks for putting in the effort! Looking forward to extending your work onto some more exchanges once merged in.

@badgerwithagun
Copy link
Collaborator Author

@pchertalev any chance of a review on this in return?

@badgerwithagun badgerwithagun changed the title Generic user channel [WIP] Generic user channel Jun 26, 2019
@badgerwithagun badgerwithagun changed the title Generic user channel Generic user channels (balance, open orders, user trades) + support for Binance, Bitfinex, Coinbase Pro Jun 26, 2019
@makarid
Copy link
Contributor

makarid commented Jun 29, 2019

Great work @badgerwithagun ! Thanks for that. It was much needed.

@nielsdraaisma
Copy link

@pchertalev any chance of a review on this in return?

Looks great overall, not too familiar with the netty internals but the public API's are exactly what we need.

@makarid
Copy link
Contributor

makarid commented Jul 14, 2019

Will someone please approve this PR in order to work on other exchanges implementation?

@badgerwithagun
Copy link
Collaborator Author

Thanks for the review @nielsdraaisma. We do need am approved committer review too.

@Flemingjp perhaps?

Copy link

@garciapd garciapd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me @badgerwithagun , I will give a hand extending to other exchanges and think about the Coinbase Pro ToDo's. I have used Binance and Bitfinex and so far all good.

@badgerwithagun
Copy link
Collaborator Author

Thanks @garciapd. Still need a review from an approved committer - GitHub blocks me from merging otherwise.

@makarid
Copy link
Contributor

makarid commented Jul 24, 2019

Can i become a review or something in order to help speeding up the process?

@badgerwithagun
Copy link
Collaborator Author

badgerwithagun commented Jul 26, 2019

@makarid - by all means, perform a review (more reviews is good), but without signoff from an approver like @Flemingjp or @dozd this can't be merged. I'm not allowed to approve my own stuff.

@dozd perhaps you could step in?

@Flemingjp
Copy link
Collaborator

@makarid If you review the PR briefly, I'll submit it afterwards

Copy link
Contributor

@makarid makarid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@badgerwithagun have you test the new changes to the NettyStreamingService.java? Have you changed any logic about reconnecting if an exception or error occurs? Thanks

@makarid
Copy link
Contributor

makarid commented Jul 28, 2019

@Flemingjp i just review it.

@badgerwithagun
Copy link
Collaborator Author

@makarid - as much as I could. I rhave been running this code in production for.many months and it is pretty stable, but I only use a limited number of exchanges. No guarantees, but it it does seem to be more "correct" based on example Netty code I've read elsewhere which makes me feel more confident.

@makarid
Copy link
Contributor

makarid commented Jul 28, 2019

@makarid - as much as I could. I rhave been running this code in production for.many months and it is pretty stable, but I only use a limited number of exchanges. No guarantees, but it it does seem to be more "correct" based on example Netty code I've read elsewhere which makes me feel more confident.

Thanks a lot for your response @badgerwithagun !

@Flemingjp Flemingjp merged commit 8ac7f03 into bitrich-info:develop Jul 28, 2019
@badgerwithagun badgerwithagun deleted the generic-user-channel branch March 1, 2020 10:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
5 participants