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

exchanges: Add Coinbase International support #1381

Open
wants to merge 51 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
84cd7e0
initialized and added asset and instruments endpoints
samuael Oct 2, 2023
0da3b4b
endpoints: added Order and some Portfolio endpoints
samuael Oct 4, 2023
242c27a
just changed to a valid pair str
samuael Oct 5, 2023
e2112c3
completed endpoint mapping and websocket connection and subcription s…
samuael Oct 8, 2023
cbeabfd
websocket subscription construction and data handling structure
samuael Oct 9, 2023
c62882e
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Oct 9, 2023
58c2887
websocket orderbook handler
samuael Oct 10, 2023
dd33b41
wrapper functions update
samuael Oct 11, 2023
6c04006
Testing and fix REST and WS endpoints and authentication
samuael Oct 13, 2023
e53fb18
wrapper functions and unit tests added
samuael Oct 14, 2023
797bc10
Minor issues fix
samuael Oct 15, 2023
80630ee
Authentication fix
samuael Oct 16, 2023
b1b3e54
wrapper and websocket fix
samuael Oct 16, 2023
3d5ed23
Documentation, Unit tests, and linter issues update
samuael Oct 20, 2023
8482bc6
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Oct 22, 2023
348b185
endpoints result return update
samuael Oct 22, 2023
804ce40
Added wrapper unit tests and other minor updates
samuael Oct 25, 2023
b4a89c8
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Oct 25, 2023
c51867a
update unit tests and minor authentication fix
samuael Oct 26, 2023
ede2b4a
documentation update
samuael Oct 26, 2023
01ba399
minor fix
samuael Oct 28, 2023
995160d
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Oct 29, 2023
5b9a620
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Nov 5, 2023
2e092d6
Update of websocket funding rate
samuael Nov 5, 2023
1d03b34
code update and unit tests
samuael Dec 6, 2023
d1bff33
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Dec 6, 2023
a3c14ca
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Dec 16, 2023
f25a2ee
added minor fixes and UpdateOrderExecutionLimits wrapper func with un…
samuael Dec 16, 2023
f7266a3
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Dec 22, 2023
ef63478
Types and Websocket minor update
samuael Dec 22, 2023
9dd9600
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Dec 27, 2023
28607d1
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Dec 31, 2023
41ca030
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Jan 3, 2024
c5b9a39
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Jan 16, 2024
21b7df8
fix linter issues
samuael Jan 16, 2024
080ce6d
Fix TestAllExchangeWrappers test issues and minor updates
samuael Jan 17, 2024
c6fc799
Minor spell error
samuael Jan 17, 2024
3290edc
Enable proxy for websocket
samuael Jan 17, 2024
d40ed70
rm websocket traffic timeout
samuael Jan 17, 2024
8a09f69
resolve unit tests
samuael Jan 18, 2024
b493e8d
minor fix to OrderExecutionLimits
samuael Jan 18, 2024
9c97f9a
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Jan 25, 2024
f7a0674
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Feb 8, 2024
a9a29b9
Websocket and unit tests error assertion update
samuael Feb 8, 2024
b62bb26
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Feb 12, 2024
4ba41a2
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Mar 20, 2024
b198487
Unit test update and fix websocket issue
samuael Mar 20, 2024
48970d3
Merge branch 'master' of http://github.com/thrasher-corp/gocryptotrad…
samuael Jun 22, 2024
e572fc5
Fix websocket config errors, update unit tests and other minor fixes
samuael Jun 22, 2024
75055f6
Config lint fix
samuael Jun 22, 2024
1edc4d5
Adding missing endpoints and wrapper func
samuael Jun 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CONTRIBUTORS
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,12 @@ ydm | https://github.com/ydm
ermalguni | https://github.com/ermalguni
MadCozBadd | https://github.com/MadCozBadd
vadimzhukck | https://github.com/vadimzhukck
Beadko | https://github.com/Beadko
140am | https://github.com/140am
marcofranssen | https://github.com/marcofranssen
geseq | https://github.com/geseq
Beadko | https://github.com/Beadko
TaltaM | https://github.com/TaltaM
samuael | https://github.com/samuael
TaltaM | https://github.com/TaltaM
dackroyd | https://github.com/dackroyd
cranktakular | https://github.com/cranktakular
khcchiu | https://github.com/khcchiu
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
| BTSE | Yes | Yes | NA |
| Bybit | Yes | Yes | NA |
| CoinbasePro | Yes | Yes | No|
| CoinbaseInternational | Yes | Yes | No |
| COINUT | Yes | Yes | NA |
| Exmo | Yes | NA | NA |
| GateIO | Yes | Yes | NA |
Expand Down Expand Up @@ -145,25 +146,25 @@ Binaries will be published once the codebase reaches a stable condition.
|User|Contribution Amount|
|--|--|
| [thrasher-](https://github.com/thrasher-) | 683 |
| [shazbert](https://github.com/shazbert) | 301 |
| [gloriousCode](https://github.com/gloriousCode) | 219 |
| [dependabot[bot]](https://github.com/apps/dependabot) | 207 |
| [shazbert](https://github.com/shazbert) | 310 |
| [gloriousCode](https://github.com/gloriousCode) | 223 |
| [dependabot[bot]](https://github.com/apps/dependabot) | 217 |
| [dependabot-preview[bot]](https://github.com/apps/dependabot-preview) | 88 |
| [xtda](https://github.com/xtda) | 47 |
| [gbjk](https://github.com/gbjk) | 35 |
| [gbjk](https://github.com/gbjk) | 39 |
| [lrascao](https://github.com/lrascao) | 27 |
| [Rots](https://github.com/Rots) | 15 |
| [vazha](https://github.com/vazha) | 15 |
| [ydm](https://github.com/ydm) | 15 |
| [ermalguni](https://github.com/ermalguni) | 14 |
| [MadCozBadd](https://github.com/MadCozBadd) | 13 |
| [vadimzhukck](https://github.com/vadimzhukck) | 10 |
| [Beadko](https://github.com/Beadko) | 9 |
| [140am](https://github.com/140am) | 8 |
| [marcofranssen](https://github.com/marcofranssen) | 8 |
| [geseq](https://github.com/geseq) | 8 |
| [Beadko](https://github.com/Beadko) | 6 |
| [samuael](https://github.com/samuael) | 7 |
| [TaltaM](https://github.com/TaltaM) | 6 |
| [samuael](https://github.com/samuael) | 6 |
| [dackroyd](https://github.com/dackroyd) | 5 |
| [cranktakular](https://github.com/cranktakular) | 5 |
| [khcchiu](https://github.com/khcchiu) | 5 |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ _b in this context is an `IBotExchange` implemented struct_
| BTSE | Yes | Yes | No |
| Bybit | Yes | Yes | Yes |
| CoinbasePro | Yes | Yes | No|
| CoinbaseInternational | Yes | Yes | No |
| COINUT | Yes | Yes | No |
| Exmo | Yes | NA | No |
| GateIO | Yes | Yes | No |
Expand Down
1 change: 1 addition & 0 deletions cmd/documentation/root_templates/root_readme.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader
| BTSE | Yes | Yes | NA |
| Bybit | Yes | Yes | NA |
| CoinbasePro | Yes | Yes | No|
| CoinbaseInternational | Yes | Yes | No |
| COINUT | Yes | Yes | NA |
| Exmo | Yes | NA | NA |
| GateIO | Yes | Yes | NA |
Expand Down
21 changes: 17 additions & 4 deletions cmd/exchange_wrapper_issues/wrapperconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,12 @@
"secret": "Secret",
"otpSecret": "-"
},
"coinbaseintrnational": {
"key": "Key",
"secret": "Secret",
"clientID": "ClientID",
"otpSecret": "-"
},
"coinbasepro": {
"key": "Key",
"secret": "Secret",
Expand Down Expand Up @@ -136,16 +142,23 @@
"secret": "Secret",
"otpSecret": "-"
},
"kucoin":{
"key": "Key",
"secret": "Secret",
"otpSecret": "-"
"kucoin": {
"key": "Key",
"secret": "Secret",
"clientID": "ClientID",
"otpSecret": "-"
},
"lbank": {
"key": "Key",
"secret": "Secret",
"otpSecret": "-"
},
"okcoin": {
"key": "Key",
"secret": "Secret",
"clientID": "ClientID",
"otpSecret": "-"
},
"okcoin international": {
"key": "Key",
"secret": "Secret",
Expand Down
66 changes: 66 additions & 0 deletions config_example.json
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,72 @@
]
},
"exchanges": [
{
"name": "CoinbaseInternational",
"enabled": true,
"verbose": true,
"httpTimeout": 0,
"websocketResponseCheckTimeout": 0,
"websocketResponseMaxLimit": 0,
"websocketTrafficTimeout": 0,
"connectionMonitorDelay": 0,
"baseCurrencies": "",
"currencyPairs": {
"bypassConfigFormatUpgrades": false,
"requestFormat": {
"uppercase": true,
"delimiter": "-"

},
"configFormat": {
"uppercase": true,
"delimiter": "-"
},
"useGlobalFormat": true,
"assetTypes": [
"spot"
],
"pairs": {
"spot":{
"assetEnabled":true,
"enabled": "XRP-PERP,ETH-PERP,BTC-PERP,LTC-PERP",
"available": "XRP-PERP,ETH-PERP,BTC-PERP,LTC-PERP"
}
}
},
"api": {
"authenticatedSupport": false,
"authenticatedWebsocketApiSupport": false,
"credentials": {
"key": "Key",
"secret": "Secret"
},
"urlEndpoints": null
},
"features": {
"supports": {
"restAPI": true,
"restCapabilities": {
"autoPairUpdates": true
},
"websocketAPI": true,
"websocketCapabilities": {}
},
"enabled": {
"autoPairUpdates": true,
"websocketAPI": true,
"saveTradeData": false,
"tradeFeed": false,
"fillsFeed": false
}
},
"orderbook": {
"verificationBypass": false,
"websocketBufferLimit": 0,
"websocketBufferEnabled": false,
"publishPeriod": null
}
},
{
"name": "Okx",
"enabled": true,
Expand Down
2 changes: 2 additions & 0 deletions docs/ADD_NEW_EXCHANGE.md
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ Yes means supported, No means not yet implemented and NA means protocol unsuppor
| Exmo | Yes | NA | NA |
| FTX | Yes | Yes | No | // <-------- new exchange
| CoinbasePro | Yes | Yes | No|
| CoinbaseInternational | Yes | Yes | No |
| GateIO | Yes | Yes | NA |
| Gemini | Yes | Yes | No |
| HitBTC | Yes | Yes | No |
Expand Down Expand Up @@ -236,6 +237,7 @@ var Exchanges = []string{
"bittrex",
"btc markets",
"btse",
"coinbaseinternational",
"coinbasepro",
"coinut",
"exmo",
Expand Down
1 change: 1 addition & 0 deletions docs/MULTICHAIN_TRANSFER_SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ $ ./gctcli withdrawcryptofunds --exchange=binance --currency=USDT --address=TJU9
| BTSE | No | No | Only through website |
| Bybit | Yes | Yes | |
| CoinbasePro | No | No | No|
| CoinbaseInternational | No | Yes | No |
| COINUT | No | No | NA |
| Exmo | Yes | Yes | Addresses must be created via their website first |
| GateIO | Yes | Yes | |
Expand Down
1 change: 1 addition & 0 deletions docs/OHLCV.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ A helper tool [cmd/dbseed](../cmd/dbseed/README.md) has been created for assisti
| BTSE | Y |
| Bybit | Y |
| Coinbase Pro | Y |
| CoinbaseInternational | |
| Coinut | |
| Exmo | |
| GateIO | Y |
Expand Down
3 changes: 3 additions & 0 deletions engine/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import (
"github.com/thrasher-corp/gocryptotrader/exchanges/btcmarkets"
"github.com/thrasher-corp/gocryptotrader/exchanges/btse"
"github.com/thrasher-corp/gocryptotrader/exchanges/bybit"
"github.com/thrasher-corp/gocryptotrader/exchanges/coinbaseinternational"
"github.com/thrasher-corp/gocryptotrader/exchanges/coinbasepro"
"github.com/thrasher-corp/gocryptotrader/exchanges/coinut"
"github.com/thrasher-corp/gocryptotrader/exchanges/deposit"
Expand Down Expand Up @@ -1022,6 +1023,8 @@ func NewSupportedExchangeByName(name string) (exchange.IBotExchange, error) {
return new(coinut.COINUT), nil
case "exmo":
return new(exmo.EXMO), nil
case "coinbaseinternational":
return new(coinbaseinternational.CoinbaseInternational), nil
case "coinbasepro":
return new(coinbasepro.CoinbasePro), nil
case "gateio":
Expand Down
30 changes: 30 additions & 0 deletions exchanges/coinbaseinternational/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@

# GoCryptoTrader CoinbaseInternational Exchange Wrapper

<img src="/common/gctlogo.png?raw=true" width="350px" height="350px" hspace="70">

An exchange interface wrapper for the GoCryptoTrader application.

## This is still in active development

You can track ideas, planned features and what's in progress on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).

## Current CoinbaseInternational Exchange Features

+ REST Support
+ Websocket Support

+ Can be used as a package

## Notes

+ Please add notes here with any production issues
+ Please provide link to exchange website and API documentation

## Contributors

+ Please add your information

|User|Github|Contribution|
|--|--|--|
|AliasGoesHere|https://github.com/AliasGoesHere |WHAT-YOU-DID|
Loading
Loading