@@ -43,8 +43,15 @@ def create_widgets(self):
4343 self .frame_deposit_upper = tk .Frame (
4444 self .frame_deposit ,
4545 )
46- self .frame_deposit_lower = tk .Frame (
47- self .frame_deposit
46+ # self.frame_deposit_lower = tk.Frame(
47+ # self.frame_deposit
48+ # )
49+ self .frame_withdraw = tk .Frame (
50+ self .window ,
51+ background = '#c9c9c9' ,
52+ )
53+ self .frame_withdraw_inner = tk .Frame (
54+ self .frame_withdraw ,
4855 )
4956
5057 # pool info widgets
@@ -170,25 +177,42 @@ def create_widgets(self):
170177 self .frame_deposit_upper ,
171178 textvariable = self .string_var ['lbl_assety_deposit' ]
172179 )
173- self .btn_check_deposit = ttk .Button (
174- self .frame_deposit_upper ,
175- text = 'Estimate Coming Soon' ,
176- command = self .update_shares ,
177- state = 'disabled' ,
178- )
180+ # self.btn_check_deposit = ttk.Button(
181+ # self.frame_deposit_upper,
182+ # text='Estimate Coming Soon',
183+ # command=self.update_shares,
184+ # state='disabled',
185+ # )
179186 self .btn_deposit = ttk .Button (
180187 self .frame_deposit_upper ,
181188 text = 'Deposit to LP' ,
182189 command = self .deposit_to_lp ,
183190 state = 'disabled' ,
184191 )
185- self .lbl_poolshare_deposit = tk .Label (
186- self .frame_deposit_lower ,
187- textvariable = self .string_var ['lbl_poolshare_deposit' ],
192+ # self.lbl_poolshare_deposit = tk.Label(
193+ # self.frame_deposit_lower,
194+ # textvariable=self.string_var['lbl_poolshare_deposit'],
195+ # )
196+ # self.lbl_poolshare_symbol = tk.Label(
197+ # self.frame_deposit_lower,
198+ # textvariable=self.string_var['lbl_poolshare_symbol']
199+ # )
200+ # withdraw widgets
201+ self .ent_poolasset_amount = tk .Entry (
202+ self .frame_withdraw_inner ,
203+ width = 10 ,
204+ state = 'disabled' ,
205+ justify = 'right' ,
188206 )
189- self .lbl_poolshare_symbol = tk .Label (
190- self .frame_deposit_lower ,
191- textvariable = self .string_var ['lbl_poolshare_symbol' ]
207+ self .lbl_poolasset_name = tk .Label (
208+ self .frame_withdraw_inner ,
209+ textvariable = self .string_var ['sv_lbl_poolasset_name' ]
210+ )
211+ self .btn_withdraw = ttk .Button (
212+ self .frame_withdraw_inner ,
213+ text = 'Withdraw from LP' ,
214+ command = self .withdraw_from_lp ,
215+ state = 'disabled' ,
192216 )
193217
194218 def create_menu (self ):
@@ -207,7 +231,9 @@ def setup_layout(self):
207231 self .frame_pooltool_helper .grid (row = 2 , column = 1 , columnspan = 2 , padx = 5 , pady = 5 )
208232 self .frame_deposit .grid (row = 3 , column = 1 , columnspan = 2 , padx = 5 , pady = 5 )
209233 self .frame_deposit_upper .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
210- self .frame_deposit_lower .grid (row = 1 , column = 0 , padx = 5 , pady = 5 )
234+ # self.frame_deposit_lower.grid(row=1, column=0, padx=5, pady=5)
235+ self .frame_withdraw .grid (row = 4 , column = 1 , columnspan = 2 , padx = 5 , pady = 5 )
236+ self .frame_withdraw_inner .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
211237
212238 # pool info
213239 self .lbl_pool_id .grid (row = 0 , column = 0 , padx = 5 , sticky = 'w' )
@@ -242,11 +268,16 @@ def setup_layout(self):
242268 # deposit section
243269 self .ent_assetx_amount .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
244270 self .lbl_assetx_deposit .grid (row = 0 , column = 1 , padx = 5 , pady = 5 , sticky = 'w' )
245- self .btn_check_deposit .grid (row = 0 , column = 2 , padx = 5 , pady = 5 )
271+ # self.btn_check_deposit.grid(row=0, column=2, padx=5, pady=5)
246272 self .ent_assety_amount .grid (row = 1 , column = 0 , padx = 5 , pady = 5 )
247273 self .lbl_assety_deposit .grid (row = 1 , column = 1 , padx = 5 , pady = 5 , sticky = 'w' )
248274 self .btn_deposit .grid (row = 1 , column = 2 , padx = 5 , pady = 5 )
249275
276+ # withdraw section
277+ self .ent_poolasset_amount .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
278+ self .lbl_poolasset_name .grid (row = 0 , column = 1 , padx = 5 , pady = 5 )
279+ self .btn_withdraw .grid (row = 0 , column = 2 , padx = 5 , pady = 5 )
280+
250281 def get_string_var (self ):
251282 self .string_var = {}
252283 self .string_var ['sv_lbl_pool_id' ] = tk .StringVar ()
@@ -275,6 +306,8 @@ def get_string_var(self):
275306 self .string_var ['lbl_poolshare_deposit' ] = tk .StringVar ()
276307 self .string_var ['lbl_poolshare_symbol' ] = tk .StringVar ()
277308
309+ self .string_var ['sv_lbl_poolasset_name' ] = tk .StringVar ()
310+
278311 def assign_string_var (self ):
279312 self .string_var ['sv_lbl_pool_id' ].set ('Pool:' )
280313 self .string_var ['sv_lbl_pool_name' ].set ('Pool name:' )
@@ -302,6 +335,8 @@ def assign_string_var(self):
302335 self .string_var ['lbl_poolshare_deposit' ].set ('0' )
303336 self .string_var ['lbl_poolshare_symbol' ].set ('Share Asset' )
304337
338+ self .string_var ['sv_lbl_poolasset_name' ].set ('(Pool Asset)' )
339+
305340 def set_dropdown_values (self , settings ):
306341 self .cmb_pool_id ['values' ] = settings ['valid_assets' ]
307342
@@ -320,6 +355,8 @@ def update_gui(self, data):
320355 self .string_var ['sv_lbl_market_base_volume' ].set ('24hr Base Volume: {}' .format (data ['market_ticker_object' ]['baseVolume' ]))
321356 self .string_var ['sv_lbl_market_quote_volume' ].set ('24hr Quote Volume: {}' .format (data ['market_ticker_object' ]['quoteVolume' ]))
322357
358+ self .string_var ['sv_lbl_poolasset_name' ].set (data ['pool_name' ])
359+
323360 self .string_var ['ls_assets' ].set ([data ['asset_x' ].symbol , data ['asset_y' ].symbol ])
324361 self .string_var ['lbl_helper_market_price' ].set ('' )
325362 self .string_var ['lbl_helper_pool_price' ].set ('' )
@@ -339,6 +376,8 @@ def update_gui(self, data):
339376 self .ent_assetx_amount ['state' ] = 'normal'
340377 self .ent_assety_amount ['state' ] = 'normal'
341378 self .btn_deposit ['state' ] = 'enabled'
379+ self .btn_withdraw ['state' ] = 'enabled'
380+ self .ent_poolasset_amount ['state' ] = 'normal'
342381
343382 self .loading_pop_up .destroy ()
344383 self .window .update ()
@@ -390,6 +429,25 @@ def deposit_to_lp(self):
390429 self .deposit_popup ()
391430 pub .sendMessage ('deposit_lp' , data = data )
392431
432+ def withdraw_from_lp (self ):
433+ data = {
434+ 'withdraw_amount' : self .ent_poolasset_amount .get (),
435+ 'asset' : self .string_var ['sv_lbl_poolasset_name' ].get (),
436+ }
437+ answer = messagebox .askyesno (
438+ 'Verify Action' ,
439+ 'You want to withdraw {} {} from the Liquidity Pool?' .format (
440+ data ['withdraw_amount' ],
441+ data ['asset' ],
442+ ),
443+ parent = self .window
444+ )
445+ if answer :
446+ data ['account' ] = simpledialog .askstring ('Account Name' , 'Enter your account:' , parent = self .window )
447+ data ['key' ] = simpledialog .askstring ('Active Key' , 'Enter your active key:' , show = '*' , parent = self .window )
448+ self .withdraw_popup ()
449+ pub .sendMessage ('withdraw_lp' , data = data )
450+
393451 def take_offer (self ):
394452 data = {
395453 'market_or_pool' : self .string_var ['rd_market_or_pool' ].get (),
@@ -443,6 +501,20 @@ def print_deposit(self, data):
443501 parent = self .window ,
444502 )
445503
504+ def print_withdraw (self , data ):
505+ if len (data ) != 0 :
506+ self .withdraw_pop_up .destroy ()
507+ self .window .update ()
508+ messagebox .showinfo (
509+ 'Withdraw Data' ,
510+ 'Withdrew:\n \t {}\n Received:\n \t {}\n \t {}' .format (
511+ data ['paid' ],
512+ data ['received_x' ],
513+ data ['received_y' ]
514+ ),
515+ parent = self .window ,
516+ )
517+
446518 def deposit_popup (self ):
447519 self .deposit_pop_up = tk .Toplevel (
448520 self .window
@@ -456,6 +528,20 @@ def deposit_popup(self):
456528 )
457529 self .lbl_deposit_pop .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
458530 self .deposit_pop_up .update ()
531+
532+ def withdraw_popup (self ):
533+ self .withdraw_pop_up = tk .Toplevel (
534+ self .window
535+ )
536+ pos_x = self .window .winfo_x ()
537+ pos_y = self .window .winfo_y ()
538+ self .withdraw_pop_up .geometry (f'+{ pos_x } +{ pos_y } ' )
539+ self .lbl_withdraw_pop = tk .Label (
540+ self .withdraw_pop_up ,
541+ text = 'withdrawing from liquidity pool...'
542+ )
543+ self .lbl_withdraw_pop .grid (row = 0 , column = 0 , padx = 5 , pady = 5 )
544+ self .withdraw_pop_up .update ()
459545
460546 def loading_popup (self ):
461547 self .loading_pop_up = tk .Toplevel (
0 commit comments