verify signed messages

...and fix bug where i (recover param) was stored incorrectly