Skip to content
Snippets Groups Projects
Commit 36de0216 authored by Dylan Janssen's avatar Dylan Janssen
Browse files

Add: generalization for creating name of wallet

parent 7c250728
No related branches found
No related tags found
1 merge request!2Draft: initial user flow for creating a wallet
This commit is part of merge request !2. Comments created here will be created in the context of that merge request.
...@@ -3,7 +3,7 @@ from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup ...@@ -3,7 +3,7 @@ from telegram import Update, InlineKeyboardButton, InlineKeyboardMarkup
from telegram.ext import CallbackContext from telegram.ext import CallbackContext
from database import AppUser, AppState, AppWallet, AppWalletRequest, AppUserWallet from database import AppUser, AppState, AppWallet, AppWalletRequest, AppUserWallet
from util import generate_wallets from util import generate_wallets, get_wallet_name
def generate_message(state_id, extra_menu=None): def generate_message(state_id, extra_menu=None):
...@@ -83,14 +83,15 @@ def choose_wallet(update: Update, context: CallbackContext): ...@@ -83,14 +83,15 @@ def choose_wallet(update: Update, context: CallbackContext):
user = AppUser.get(telegram_id=telegram_user.id, nickname=telegram_user.full_name) user = AppUser.get(telegram_id=telegram_user.id, nickname=telegram_user.full_name)
user_wallets = AppUserWallet.select().where(AppUserWallet.user_id == user) user_wallets = AppUserWallet.select().where(AppUserWallet.user_id == user)
user.set_state(5) user.set_state(5)
menu = [[InlineKeyboardButton(uw.wallet_id.name, callback_data=uw.wallet_id.name)] for uw in user_wallets] menu = [[InlineKeyboardButton(uw.wallet_id.name, callback_data=get_wallet_name(uw.wallet_id.id, uw.user_id.id))] for uw in user_wallets]
reply_msg, reply_markup = generate_message(5, menu) reply_msg, reply_markup = generate_message(5, menu)
update.effective_message.reply_text(reply_msg, reply_markup=reply_markup) update.effective_message.reply_text(reply_msg, reply_markup=reply_markup)
pass pass
def wallet_options(update: Update, context: CallbackContext, user: AppUser): def wallet_options(update: Update, context: CallbackContext, user: AppUser):
print("We are in the wallet options") query = update.callback_query.data
print("We are in the wallet options: " + query)
next_state = user.next_state() next_state = user.next_state()
reply_msg, reply_markup = generate_message(next_state) reply_msg, reply_markup = generate_message(next_state)
update.effective_message.reply_text(reply_msg, reply_markup=reply_markup) update.effective_message.reply_text(reply_msg, reply_markup=reply_markup)
......
...@@ -6,6 +6,9 @@ from bitcoinlib.wallets import Wallet ...@@ -6,6 +6,9 @@ from bitcoinlib.wallets import Wallet
import database import database
def get_wallet_name(wallet_id, user_id):
return "wallet_{}user_{}".format(wallet_id, user_id)
def generate_klist(hd_keys, private): def generate_klist(hd_keys, private):
return [hd_keys[x] if x == private else hd_keys[x].public_master_multisig() for x in range(len(hd_keys))] return [hd_keys[x] if x == private else hd_keys[x].public_master_multisig() for x in range(len(hd_keys))]
...@@ -24,7 +27,7 @@ def generate_wallets(user_wallets): ...@@ -24,7 +27,7 @@ def generate_wallets(user_wallets):
wallets = [] wallets = []
for i in range(count): for i in range(count):
uw = user_wallets[i] uw = user_wallets[i]
wallet_name = "wallet_{}user_{}_{}".format(uw.wallet_id, uw.user_id,i) wallet_name = get_wallet_name(uw.wallet_id.id,uw.user_id.id)
wallet = Wallet.create(wallet_name, wallet = Wallet.create(wallet_name,
sigs_required=uw.wallet_id.min_co_signers, sigs_required=uw.wallet_id.min_co_signers,
keys=generate_klist(hd_keys, i), keys=generate_klist(hd_keys, i),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment