Commit 3a9e1b7
committed
fix(osmosis): the MsgSend client path was dead code with three bugs
Adding the first Osmosis device tests immediately failed with
"Unsupported denomination: uosmo". The cause is that osmosis_sign_tx's
MsgSend branch had never executed:
1. It whitelisted 'uatom' — the COSMOS denom. Osmosis's native denom is
uosmo, so signing a plain OSMO transfer was impossible.
2. It never forwarded the denom, though OsmosisMsgSend carries one. The
firmware needs it to decide whether to scale (uosmo -> OSMO) or show raw
base units.
3. It assigned amount=int(...) to OsmosisMsgSend.amount, which is a STRING
field — that alone would have raised for uatom too.
Bug 3 proves the path never ran; bugs 1 and 2 are why it went unnoticed.
No denom whitelist belongs on the client: the firmware already handles any
denom, scaling uosmo and showing everything else as raw base units precisely
so it never guesses a precision it does not know.1 parent b257df2 commit 3a9e1b7
1 file changed
Lines changed: 10 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
999 | 999 | | |
1000 | 1000 | | |
1001 | 1001 | | |
1002 | | - | |
1003 | | - | |
1004 | | - | |
1005 | | - | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
1006 | 1010 | | |
1007 | 1011 | | |
1008 | 1012 | | |
1009 | 1013 | | |
1010 | | - | |
| 1014 | + | |
| 1015 | + | |
1011 | 1016 | | |
1012 | 1017 | | |
1013 | 1018 | | |
| |||
0 commit comments