Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trezor support #1694

Open
prusnak opened this issue Dec 6, 2018 · 21 comments
Open

Trezor support #1694

prusnak opened this issue Dec 6, 2018 · 21 comments

Comments

@prusnak
Copy link

prusnak commented Dec 6, 2018

Since the new firmware (1.7.2 and 2.0.10) Trezor does support Omni layer. It should be pretty straightforward to get Trezor working in Omni using Trezor Connect: http://github.com/trezor/connect

@boonlannis
Copy link

Really excited to see some progress made towards integrating Omni within the Trezor wallet! I'm sure there are plenty of use cases but I know the community over at MaidSafe are excited to see this as well. See the thread here: https://safenetforum.org/t/trezor-support-for-omni-and-main/26816/8 and here: https://safenetforum.org/t/trezor-and-maidsafecoin/18850/19 and here: https://safenetforum.org/t/sending-maid-from-a-trezor-hardware-wallet/23783/55

Thanks for all the hardwork!

@DavidMc0
Copy link

DavidMc0 commented Dec 22, 2018

After seeing work on hardware wallet support mentioned numerous times on Omni's state of the layer updates for months / years, its a shame they haven't kept up with Trezor on supporting this feature as soon as Trezor implemented it.

Looking forward to a working Omniwallet for Trezor, and any updates about the priority this will be given / time frames if possible.

@achamely
Copy link
Contributor

@prusnak yup, we saw the updates and are working internally on this and should have something in the next few weeks

@ghost
Copy link

ghost commented Jan 25, 2019

Just updating this thread to show the interest of the community in having this feature implemented. Keep up with the hard work! 👍

@rid-dim
Copy link

rid-dim commented Feb 25, 2019

Hmm - any updates on this topic?

@achamely
Copy link
Contributor

achamely commented Mar 5, 2019

Still in progress internally

@prusnak
Copy link
Author

prusnak commented Mar 6, 2019

@achamely Why don't you develop in the open? This is not how a project that claims to be open-source should be developing things.

@achamely
Copy link
Contributor

achamely commented Mar 6, 2019

@prusnak when i say still in progress internally i mean there is nothing yet ready for public display. We are working on an integration that is testable/usable.
Once code is ready for public use it will be published openly in the repo

@kwests
Copy link

kwests commented Apr 10, 2019

Hope to see some progress soon.

@rid-dim
Copy link

rid-dim commented May 17, 2019

?

@prusnak
Copy link
Author

prusnak commented May 17, 2019

@achamely can you update the situation about the integration you are supposedly working on?

@kwests
Copy link

kwests commented May 27, 2019

would be great to hear from you. 👍

@boonlannis
Copy link

Hi Team - any updates on this? I have to admit it is a bit disappointing as the first update from @achamely stated they may have an update within a few weeks, yet that was back in January. Curious if the issue is technical in nature, lack of funds, competing priorities, or (I'm sure) a combination of the three. I do believe some additional communication could allow the community to help wherever needed. Thank you!

@zeiv
Copy link

zeiv commented Jul 22, 2019

Hey all, I went ahead and put together https://omnitrezor.com/. It's a tool that can be used to create and send Simple Send OMNI transactions using your Trezor's Bitcoin accounts. In other words, you can use it to send and receive and OMNI coin (USDT, MAID, etc) with your Trezor. I've done a dozen or so live test transactions and all of them have gone through. It was a bit more complicated than I expected, but still took about a couple days.

@ OMNI, lest there be any misunderstanding, I do not intend to call anybody out here. I understand that resources are limited, priorities change, and sometimes important projects still end up being shifted to the back burner. I didn't spend a massive amount of time on this tool since I wasn't sure when the official Trezor integration will be out. If it will still be a while, can you let us know? Because in that case I might want to improve the UX, etc.

@ Everyone else, pull requests and other feedback are most welcome! I recommend you send a small test transaction first before sending your full amount, just to be safe. omnitrezor.com is open source and available on https://github.com/tektite-software/omni-trezor.

TL;DR - Sending OMNI transactions now possible via https://omnitrezor.com

@boonlannis
Copy link

Thank you @zeiv ! I haven’t tried this tool out yet but looks like exactly what is needed.

@achamely
Copy link
Contributor

achamely commented Jul 24, 2019

@zeiv thank you for putting that together. We are still working to develop a more full fledged setup but yes, there have been some resource constraints causing priority adjustments over the past few months that have unfortunately delayed this.

One small thing to note is that only divisible token amounts need to be adjusted/converted https://github.com/tektite-software/omni-trezor/blob/master/src/App.js#L242
indivisible tokens (like Maidsafe, should not be adjusted like this as it can send the wrong amount, off by an increased factor of 1e8) , details https://github.com/OmniLayer/spec#field-number-of-coins

@zeiv
Copy link

zeiv commented Jul 25, 2019

@achamely, wow, thanks for the heads up. I've deployed a fix for the amount encoding on non-divisible tokens. Interestingly, the same issue is present on the Trezor's firmware itself. Here's an image from testing before the fix:

IMG_0096

I went ahead and made the OP_RETURN preview toggleable so people are able to inspect the values more easily. I also double checked the relevant areas of the spec. Here is the updated version with the transaction amount fix. Note how the Trezor incorrectly interprets the amount as divisible.

IMG_0097

But you can see on the transaction everything is as expected: https://omniexplorer.info/tx/ecc9377e55bd950ee73aee38a103beaae217666b115e25d17c718a1aae82341e

@prusnak
Copy link
Author

prusnak commented Jul 26, 2019

I'll fix the bug in Trezor in the next firmware update. So are there only two options?

  1. token is not divisible - do not translate
  2. token is divisible - translate by 1e8

Correct?

@prusnak
Copy link
Author

prusnak commented Jul 26, 2019

@zeiv I fixed the Trezor firmware via trezor/trezor-firmware@c288514 Can you confirm the fix works for you? (You can use the Trezor emulator so you don't need to re-flash your device)

@achamely
Copy link
Contributor

@prusnak that is correct,
Divisible tokens can be sent in fraction amounts (i.e. 1.1, 0.3, 45.222444) So when encoding them into the opreturn they are translated by 1e8 for proper encoding.
Indivisible tokens can only be sent in whole amounts (1,2,3,4,5,6, ... ,4324222) so they do not need to be translated.

@rid-dim
Copy link

rid-dim commented Sep 6, 2019

Okay - for the record (I guess @prusnak knows it anyway - but maybe for others following this issue) there is a third party wallet now supporting omni token on the trezor https://trezor.io/coins/ - doesn't mean you it wouldn't be cool if omni supports it Natively but There seems to be a workaround now (didn't look into it myself yet and no clue how trustworthy/easy to use it is.. )

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants