Skip to content

Commit c8e23dc

Browse files
committed
[Exchange] Add polymarket
1 parent f9aaff8 commit c8e23dc

File tree

16 files changed

+10972
-0
lines changed

16 files changed

+10972
-0
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Drakkar-Software OctoBot-Tentacles
2+
# Copyright (c) Drakkar-Software, All rights reserved.
3+
#
4+
# This library is free software; you can redistribute it and/or
5+
# modify it under the terms of the GNU Lesser General Public
6+
# License as published by the Free Software Foundation; either
7+
# version 3.0 of the License, or (at your option) any later version.
8+
#
9+
# This library is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
# Lesser General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU Lesser General Public
15+
# License along with this library.
16+
17+
from .ccxt import CCXTPolymarketExchange, CCXTAsyncPolymarketExchange, CCXTProPolymarketExchange
18+
from .polymarket_exchange import Polymarket
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Drakkar-Software OctoBot-Tentacles
2+
# Copyright (c) Drakkar-Software, All rights reserved.
3+
#
4+
# This library is free software; you can redistribute it and/or
5+
# modify it under the terms of the GNU Lesser General Public
6+
# License as published by the Free Software Foundation; either
7+
# version 3.0 of the License, or (at your option) any later version.
8+
#
9+
# This library is distributed in the hope that it will be useful,
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
# Lesser General Public License for more details.
13+
#
14+
# You should have received a copy of the GNU Lesser General Public
15+
# License along with this library.
16+
17+
from .polymarket_sync import polymarket as CCXTPolymarketExchange
18+
from .polymarket_async import polymarket as CCXTAsyncPolymarketExchange
19+
from .polymarket_pro import polymarket as CCXTProPolymarketExchange
20+
21+
import ccxt
22+
ccxt.__all__.append("polymarket")
23+
ccxt.exchanges.append("polymarket")
24+
ccxt.polymarket = CCXTPolymarketExchange
25+
26+
import ccxt.async_support
27+
ccxt.async_support.__all__.append("polymarket")
28+
ccxt.async_support.exchanges.append("polymarket")
29+
ccxt.async_support.polymarket = CCXTAsyncPolymarketExchange
30+
31+
import ccxt.pro
32+
ccxt.pro.exchanges.append("polymarket")
33+
ccxt.pro.polymarket = CCXTProPolymarketExchange
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
from ccxt.base.types import Entry
2+
3+
4+
class ImplicitAPI:
5+
gamma_public_get_markets = gammaPublicGetMarkets = Entry('markets', ['gamma', 'public'], 'GET', {'cost': 1.6})
6+
gamma_public_get_markets_id = gammaPublicGetMarketsId = Entry('markets/{id}', ['gamma', 'public'], 'GET', {'cost': 0.267})
7+
gamma_public_get_markets_id_tags = gammaPublicGetMarketsIdTags = Entry('markets/{id}/tags', ['gamma', 'public'], 'GET', {'cost': 2})
8+
gamma_public_get_markets_slug_slug = gammaPublicGetMarketsSlugSlug = Entry('markets/slug/{slug}', ['gamma', 'public'], 'GET', {'cost': 0.267})
9+
gamma_public_get_events = gammaPublicGetEvents = Entry('events', ['gamma', 'public'], 'GET', {'cost': 2})
10+
gamma_public_get_events_id = gammaPublicGetEventsId = Entry('events/{id}', ['gamma', 'public'], 'GET', {'cost': 0.267})
11+
gamma_public_get_series = gammaPublicGetSeries = Entry('series', ['gamma', 'public'], 'GET', {'cost': 0.267})
12+
gamma_public_get_series_id = gammaPublicGetSeriesId = Entry('series/{id}', ['gamma', 'public'], 'GET', {'cost': 0.267})
13+
gamma_public_get_search = gammaPublicGetSearch = Entry('search', ['gamma', 'public'], 'GET', {'cost': 0.667})
14+
gamma_public_get_comments = gammaPublicGetComments = Entry('comments', ['gamma', 'public'], 'GET', {'cost': 2})
15+
gamma_public_get_comments_id = gammaPublicGetCommentsId = Entry('comments/{id}', ['gamma', 'public'], 'GET', {'cost': 0.267})
16+
gamma_public_get_sports = gammaPublicGetSports = Entry('sports', ['gamma', 'public'], 'GET', {'cost': 0.267})
17+
gamma_public_get_sports_id = gammaPublicGetSportsId = Entry('sports/{id}', ['gamma', 'public'], 'GET', {'cost': 0.267})
18+
data_public_get_positions = dataPublicGetPositions = Entry('positions', ['data', 'public'], 'GET', {'cost': 1})
19+
data_public_get_trades = dataPublicGetTrades = Entry('trades', ['data', 'public'], 'GET', {'cost': 2.67})
20+
data_public_get_activity = dataPublicGetActivity = Entry('activity', ['data', 'public'], 'GET', {'cost': 1})
21+
data_public_get_holders = dataPublicGetHolders = Entry('holders', ['data', 'public'], 'GET', {'cost': 1})
22+
data_public_get_value = dataPublicGetValue = Entry('value', ['data', 'public'], 'GET', {'cost': 1})
23+
data_public_get_closed_positions = dataPublicGetClosedPositions = Entry('closed-positions', ['data', 'public'], 'GET', {'cost': 1})
24+
data_public_get_traded = dataPublicGetTraded = Entry('traded', ['data', 'public'], 'GET', {'cost': 1})
25+
data_public_get_oi = dataPublicGetOi = Entry('oi', ['data', 'public'], 'GET', {'cost': 1})
26+
data_public_get_live_volume = dataPublicGetLiveVolume = Entry('live-volume', ['data', 'public'], 'GET', {'cost': 1})
27+
bridge_public_get_supported_assets = bridgePublicGetSupportedAssets = Entry('supported-assets', ['bridge', 'public'], 'GET', {'cost': 1})
28+
bridge_public_post_deposit = bridgePublicPostDeposit = Entry('deposit', ['bridge', 'public'], 'POST', {'cost': 1})
29+
clob_public_get_orderbook = clobPublicGetOrderbook = Entry('orderbook', ['clob', 'public'], 'GET', {'cost': 1})
30+
clob_public_get_orderbook_token_id = clobPublicGetOrderbookTokenId = Entry('orderbook/{token_id}', ['clob', 'public'], 'GET', {'cost': 0.04})
31+
clob_public_get_market_condition_id_trades = clobPublicGetMarketConditionIdTrades = Entry('market/{condition_id}/trades', ['clob', 'public'], 'GET', {'cost': 0.04})
32+
clob_public_get_trades = clobPublicGetTrades = Entry('trades', ['clob', 'public'], 'GET', {'cost': 0.667})
33+
clob_public_get_prices_history = clobPublicGetPricesHistory = Entry('prices-history', ['clob', 'public'], 'GET', {'cost': 2})
34+
clob_public_get_price = clobPublicGetPrice = Entry('price', ['clob', 'public'], 'GET', {'cost': 1})
35+
clob_public_get_prices = clobPublicGetPrices = Entry('prices', ['clob', 'public'], 'GET', {'cost': 2.5})
36+
clob_public_get_midpoint = clobPublicGetMidpoint = Entry('midpoint', ['clob', 'public'], 'GET', {'cost': 1})
37+
clob_public_get_midpoints = clobPublicGetMidpoints = Entry('midpoints', ['clob', 'public'], 'GET', {'cost': 2.5})
38+
clob_public_get_spread = clobPublicGetSpread = Entry('spread', ['clob', 'public'], 'GET', {'cost': 0.04})
39+
clob_public_get_last_trade_price = clobPublicGetLastTradePrice = Entry('last-trade-price', ['clob', 'public'], 'GET', {'cost': 0.04})
40+
clob_public_get_last_trades_prices = clobPublicGetLastTradesPrices = Entry('last-trades-prices', ['clob', 'public'], 'GET', {'cost': 0.04})
41+
clob_public_get = clobPublicGet = Entry('', ['clob', 'public'], 'GET', {'cost': 4})
42+
clob_public_get_time = clobPublicGetTime = Entry('time', ['clob', 'public'], 'GET', {'cost': 0.04})
43+
clob_public_get_tick_size = clobPublicGetTickSize = Entry('tick-size', ['clob', 'public'], 'GET', {'cost': 4})
44+
clob_public_get_neg_risk = clobPublicGetNegRisk = Entry('neg-risk', ['clob', 'public'], 'GET', {'cost': 0.04})
45+
clob_public_get_fee_rate = clobPublicGetFeeRate = Entry('fee-rate', ['clob', 'public'], 'GET', {'cost': 0.04})
46+
clob_public_get_markets = clobPublicGetMarkets = Entry('markets', ['clob', 'public'], 'GET', {'cost': 2})
47+
clob_public_post_books = clobPublicPostBooks = Entry('books', ['clob', 'public'], 'POST', {'cost': 2.5})
48+
clob_public_post_spreads = clobPublicPostSpreads = Entry('spreads', ['clob', 'public'], 'POST', {'cost': 0.04})
49+
clob_public_post_prices = clobPublicPostPrices = Entry('prices', ['clob', 'public'], 'POST', {'cost': 2.5})
50+
clob_private_get_order = clobPrivateGetOrder = Entry('order', ['clob', 'private'], 'GET', {'cost': 0.667})
51+
clob_private_get_orders = clobPrivateGetOrders = Entry('orders', ['clob', 'private'], 'GET', {'cost': 1.33})
52+
clob_private_get_trades = clobPrivateGetTrades = Entry('trades', ['clob', 'private'], 'GET', {'cost': 0.667})
53+
clob_private_get_builder_trades = clobPrivateGetBuilderTrades = Entry('builder-trades', ['clob', 'private'], 'GET', {'cost': 0.667})
54+
clob_private_get_notifications = clobPrivateGetNotifications = Entry('notifications', ['clob', 'private'], 'GET', {'cost': 1.6})
55+
clob_private_get_balance_allowance = clobPrivateGetBalanceAllowance = Entry('balance-allowance', ['clob', 'private'], 'GET', {'cost': 1.6})
56+
clob_private_get_order_scoring = clobPrivateGetOrderScoring = Entry('order-scoring', ['clob', 'private'], 'GET', {'cost': 0.04})
57+
clob_private_get_auth_derive_api_key = clobPrivateGetAuthDeriveApiKey = Entry('auth/derive-api-key', ['clob', 'private'], 'GET', {'cost': 4})
58+
clob_private_post_order = clobPrivatePostOrder = Entry('order', ['clob', 'private'], 'POST', {'cost': 0.5})
59+
clob_private_post_orders = clobPrivatePostOrders = Entry('orders', ['clob', 'private'], 'POST', {'cost': 1})
60+
clob_private_post_orders_scoring = clobPrivatePostOrdersScoring = Entry('orders-scoring', ['clob', 'private'], 'POST', {'cost': 0.04})
61+
clob_private_post_auth_api_key = clobPrivatePostAuthApiKey = Entry('auth/api-key', ['clob', 'private'], 'POST', {'cost': 4})
62+
clob_private_delete_order = clobPrivateDeleteOrder = Entry('order', ['clob', 'private'], 'DELETE', {'cost': 0.5})
63+
clob_private_delete_orders = clobPrivateDeleteOrders = Entry('orders', ['clob', 'private'], 'DELETE', {'cost': 1})
64+
clob_private_delete_cancel_all = clobPrivateDeleteCancelAll = Entry('cancel-all', ['clob', 'private'], 'DELETE', {'cost': 4})
65+
clob_private_delete_cancel_market_orders = clobPrivateDeleteCancelMarketOrders = Entry('cancel-market-orders', ['clob', 'private'], 'DELETE', {'cost': 1})
66+
clob_private_delete_notifications = clobPrivateDeleteNotifications = Entry('notifications', ['clob', 'private'], 'DELETE', {'cost': 0.04})
67+
clob_private_put_balance_allowance = clobPrivatePutBalanceAllowance = Entry('balance-allowance', ['clob', 'private'], 'PUT', {'cost': 10})

0 commit comments

Comments
 (0)