MCPcopy Index your code
hub / github.com/danpaquin/coinbasepro-python / change

Method change

cbpro/order_book.py:145–175  ·  view source on GitHub ↗
(self, order)

Source from the content-addressed store, hash-verified

143 self.set_asks(price, asks)
144
145 def change(self, order):
146 try:
147 new_size = Decimal(order['new_size'])
148 except KeyError:
149 return
150
151 try:
152 price = Decimal(order['price'])
153 except KeyError:
154 return
155
156 if order['side'] == 'buy':
157 bids = self.get_bids(price)
158 if bids is None or not any(o['id'] == order['order_id'] for o in bids):
159 return
160 index = [b['id'] for b in bids].index(order['order_id'])
161 bids[index]['size'] = new_size
162 self.set_bids(price, bids)
163 else:
164 asks = self.get_asks(price)
165 if asks is None or not any(o['id'] == order['order_id'] for o in asks):
166 return
167 index = [a['id'] for a in asks].index(order['order_id'])
168 asks[index]['size'] = new_size
169 self.set_asks(price, asks)
170
171 tree = self._asks if order['side'] == 'sell' else self._bids
172 node = tree.get(price)
173
174 if node is None or not any(o['id'] == order['order_id'] for o in node):
175 return
176
177 def get_current_ticker(self):
178 return self._current_ticker

Callers 1

process_messageMethod · 0.95

Calls 4

get_bidsMethod · 0.95
set_bidsMethod · 0.95
get_asksMethod · 0.95
set_asksMethod · 0.95

Tested by

no test coverage detected