def on_receiving_btc_address_changed(self, txt): self.ids.receiving_btc_address_input.text = txt transaction_details = local_storage.read_transaction( self.transaction_id) transaction_details['buyer']['btc_address'] = txt local_storage.write_transaction(transaction_details['transaction_id'], transaction_details)
def on_disable_transaction_button_clicked(self): transaction_id = self.ids.transactions_view.selected_item.ids.tr_id.text tr = local_storage.read_transaction(transaction_id) if not tr: return tr['void'] = True local_storage.write_transaction(transaction_id, tr) self.ids.transactions_view.populate()
def on_receiving_btc_address_change_button_clicked(self): transaction_details = local_storage.read_transaction( self.transaction_id) if transaction_details.get('blockchain_status') == 'confirmed': return dlg = dialogs.BTCAddressDialog( btc_address=self.ids.receiving_btc_address_input.text, callback=self.on_receiving_btc_address_changed, ) dlg.open()
def on_pdf_file_button_clicked(self): cur_settings = local_storage.read_settings() transaction_details = local_storage.read_transaction( self.transaction_id) if transaction_details: buy_contract = render_pdf.build_pdf_contract( transaction_details=transaction_details, disclosure_statement=cur_settings.get('disclosure_statement') or '', pdf_filepath=os.path.join( local_storage.contracts_dir(), 'transaction_{}.pdf'.format(self.transaction_id)), ) system.open_system_explorer(buy_contract['filename'])
def on_verify_button_clicked(self): transaction_details = local_storage.read_transaction( self.transaction_id) if transaction_details.get('blockchain_status') == 'confirmed': return cur_settings = local_storage.read_settings() self.ids.verify_button.disabled = True self.ids.verify_status_label.text = '[color=#505050]requesting transactions from btc.com ...[/color]' matching_transactions = btc_util.verify_contract( contract_details=transaction_details, price_precision_fixed_amount=float( cur_settings.get('price_precision_fixed_amount', '0.0')), price_precision_matching_percent=float( cur_settings.get('price_precision_matching_percent', '0.0')), time_matching_seconds_before=float( cur_settings.get('time_matching_seconds_before', '0.0')), time_matching_seconds_after=float( cur_settings.get('time_matching_seconds_after', '0.0')), ) self.ids.verify_button.disabled = False st = '' if len(matching_transactions) == 0: st = '[color=#505050]did not found any matching transactions for BTC address %s[/color]' % transaction_details[ 'buyer']['btc_address'] elif len(matching_transactions) > 1: st = '[color=#F05050]found multiple matching transactions for BTC address %s[/color]' % transaction_details[ 'buyer']['btc_address'] else: st = '[color=#70a070]found corresponding transaction of %s BTC for address %s[/color]' % ( transaction_details['btc_amount'], transaction_details['buyer']['btc_address']) transaction_details['blockchain_status'] = 'confirmed' transaction_details['blockchain_tx_info'] = matching_transactions[ 0] local_storage.write_transaction( transaction_details['transaction_id'], transaction_details) self.ids.verify_status_label.text = st self.populate_fields(transaction_details)
def on_pre_enter(self, *args): if self.transaction_id is None: return tran_details = local_storage.read_transaction(self.transaction_id) self.populate_fields(tran_details)
def on_explore_button_clicked(self): transaction_details = local_storage.read_transaction( self.transaction_id) system.open_webbrowser( url='https://www.blockchain.com/btc/address/' + transaction_details.get('buyer', {}).get('btc_address', ''), )
def on_enter(self, *args): self.ids.verify_status_label.text = '' if self.transaction_id is None: return tran_details = local_storage.read_transaction(self.transaction_id) self.populate_fields(tran_details)