Skip to content

Commit

Permalink
fixup! CIP-0021: Restrictions on transactions signed by hardware wallets
Browse files Browse the repository at this point in the history
  • Loading branch information
gabrielKerekes committed Aug 25, 2021
1 parent 0d287f8 commit 74bb782
Showing 1 changed file with 1 addition and 14 deletions.
15 changes: 1 addition & 14 deletions CIP-0021/CIP-0021.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
CIP: 0021
Title: Restrictions on transactions signed by hardware wallets
Title: Transaction requirements for interoperability with hardware wallets
Authors: Gabriel Kerekes <gabriel.kerekes@vacuumlabs.com>, Rafael Korbas <rafael.korbas@vacuumlabs.com>, Jan Mazak <jan.mazak@vacuumlabs.com>
Status: Draft
Type: Standards
Expand Down Expand Up @@ -101,13 +101,6 @@ In this exceptional case, auxiliary data must be encoded in their "tuple" format

The `auxiliary_scripts` must be an array of length 0.

### Transaction witnesses

There are two limits on the number of witnesses:

- an absolute limit of `UINT16_MAX`, i.e. 65535;
- a relative limit dependent on the transaction body (essentially one witness per each input, each withdrawal and each certificate in a typical transaction).

## Reasoning

### Canonical CBOR serialization format
Expand All @@ -134,12 +127,6 @@ Similarly to multiassets, allowing duplicate withdrawals might lead to inconsist

The specified auxiliary data format was chosen in order to be compatible with other Cardano tools, which mostly use this serialization format.

### Transaction witnesses

The relative limit is imposed to avoid leaking signatures the user is not aware of - for ordinary transactions, witnesses are not shown. It does not apply to script witnesses which are always shown on the screen.

However, since a HW wallet only deals with the transaction body and not the whole transaction, it is possible to make several calls to a HW wallet and collect more witnesses than these limits allow (the user has to click through the transaction more than once in such a case).

## Backwards compatibility

Most of the restrictions are already implemented in HW wallets except the canonical CBOR serialization. Tools interacting with HW wallets might need to be updated in order to continue being compatible with HW wallets when the canonical CBOR serialization format is enforced in HW wallets.
Expand Down

0 comments on commit 74bb782

Please sign in to comment.