--- Day changed Sat Oct 20 2018 10:02 < stevenroose> how about 0.1x-rc1 and -rc2 each upgrading one of the major deps :p 10:03 < stevenroose> Btw, andytoshi, I don't know how Ledger works, but the Trezor interaction model is a pain in the ass :/ So f.e. to change your pin, you send `ChangePin`, now in the docs for that message you either get `Success` or `Failure`. 10:04 < stevenroose> That's nice. But it's not true. It hides a ton of intermediate interaction that is undocumented: First you get a ButtonRequest that you have to reply to with a ButtonAck. Then you get a PinMatrixRequest that you have to response to with PinMatrixAck (containing the user-entered pin), then two more PinMatrixRequests (1 old 2 new ofc) and then finally your Success/Failure 10:05 < stevenroose> And I don't think these intermediate interactions are known beforehand. F.e. if you have passphrases enabled, you get an extra PassphraseRequest, and if not enabled, I don't think you do. Things like that make implementing an API a hell of a chore :/ 10:07 < stevenroose> Like yeah I can return `Result>>>>` or something and for all the intermediate things full a closure in the object that gets invoked when the user calls `.ack()` on the Request. But that totally breaks with the "optional passphrase" shizzle so all of these might have to be enums that all of them have to be matched :/ 10:07 < stevenroose> s/full/fill/ 11:23 < stevenroose> Nice. Got something nice going :D Just changed the Trezor pin with this piece of code: https://gist.github.com/stevenroose/ba680c0d735293fdf3d43f58c087e06a 11:24 < stevenroose> Chained interactions :) the `.ok()` and `.button_request()` getters are basically `.ok_or()` like for Option. So if there is no button ack requested, will error 14:23 < andytoshi> wait are you writing software -on- the trezor? 14:26 < andytoshi> the ledger does tell the host about individual button presses or anything to do with its pin, i hope the trezor doesn't either 14:26 < andytoshi> does not*