vacuumlabs/cardano-hw-cli

Unable to witness transaction containing pool-registration.cert by payment key

Closed this issue · 3 comments

Transactions are only able to be witnesses by a stake.hwsfile (1852H/1815H/0H/2/0) when they contain a pool-registration.cert. When trying to witness the same transaction with a payment.hwsfile (1852H/1815H/0H/0/0) gets Error: Unexpected payment hardware signing file with pool registration certificate found.

A payment witness is required to provide the UTXO and pay the tx fee.

Yes this is not supported for security reasons, currently you just need a regular CLI key for the payment.

Sorry for a delayed response. The issue here is a bit more complex. When signing a pool registration certificate on Ledger, hw-cli distinguishes two situations (because of security):

  1. Signing as the pool operator. Only signing by pool cold keys and payment keys is allowed.
  2. Signing as a pool owner. Only signing by staking keys is allowed (and only a single staking key at a time).

Hw-cli determines whether you are signing as the operator or as an owner based on whether you provide the pool cold key signing file. So if you try to sign the tx by a staking key and a payment key at the same time, or by a payment key only, the hw-cli considers you an owner and signing by a payment key is thus refused by Ledger.

Signing by the pool cold key and a payment key at the same time should work. However, I agree it would make sense to allow signing as operator with only a payment key (Ledger allows this). Is this your use case? @kaskjabhdlf

I agree it would make sense to allow signing as operator with only a payment key

Fixed in #135