wallet-cli: allow generating segwit addresses

This commit is contained in:
Florian Dold 2022-04-18 21:23:25 +02:00
parent dc2c2b3650
commit 68b4d0c4de
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
2 changed files with 22 additions and 0 deletions

View File

@ -45,6 +45,7 @@ import {
rsaBlind,
LogLevel,
setGlobalLogLevelFromString,
parsePaytoUri,
} from "@gnu-taler/taler-util";
import {
NodeHttpLib,
@ -742,6 +743,18 @@ advancedCli
fs.writeFileSync(1, decodeCrock(enc.trim()));
});
advancedCli
.subcommand("genSegwit", "gen-segwit")
.requiredArgument("paytoUri", clk.STRING)
.requiredArgument("reservePub", clk.STRING)
.action(async (args) => {
const p = parsePaytoUri(args.genSegwit.paytoUri);
if (p?.isKnown && p?.targetType === "bitcoin") {
p.generateSegwitAddress(args.genSegwit.reservePub);
}
console.log(p);
});
advancedCli
.subcommand("withdrawManually", "withdraw-manually", {
help: "Withdraw manually from an exchange.",

View File

@ -1016,6 +1016,15 @@ export async function getExchangeWithdrawalInfo(
instructedAmount,
denoms,
);
if (selectedDenoms.selectedDenoms.length === 0) {
throw Error(
`unable to withdraw from ${exchangeBaseUrl}, can't select denominations for instructed amount (${Amounts.stringify(
instructedAmount,
)}`,
);
}
const exchangeWireAccounts: string[] = [];
for (const account of exchangeDetails.wireInfo.accounts) {
exchangeWireAccounts.push(account.payto_uri);