Closed fboucquez closed 3 years ago
Below report from issues found during tests.
Looking for a Ledger device... Symbol App version is v1.0.2 :heavy_check_mark: Do you want a non-expiring mosaic? … yes :heavy_check_mark: Enter the mosaic divisibility: … 6 :heavy_check_mark: Do you want this mosaic to have a mutable supply? … yes :heavy_check_mark: Do you want this mosaic to be transferable? … yes :heavy_check_mark: Do you want this mosaic to be restrictable? … no :heavy_check_mark: Amount of mosaics units to create: … 500000 :heavy_check_mark: Enter the maximum fee (absolute amount): … 1000000 :heavy_check_mark: Select the transaction announce mode: › normal
After that I got error:
TypeError: Cannot write to closed device
at TransportNodeHidNoEvents.writeHID (/home/pmielcar/Developer/git/symbol-cli/node_modules/@ledgerhq/hw-transport-node-hid-noevents/lib/TransportNodeHid.js:91:21)
secretproof
, secretlock
, mosaicglobalrestriction
I got error Error
at new TransportStatusError (/home/pmielcar/Developer/git/symbol-cli/node_modules/@ledgerhq/errors/dist/index.cjs.js:289:18)
at TransportNodeHid.Transport.send (/home/pmielcar/Developer/git/symbol-cli/node_modules/@ledgerhq/hw-transport/lib/Transport.js:59:15)
Probably because Ledger app don't support this tx types. Should I ask Mohamad to add it?
multisigmodification
, aggregatekeylinks
. I got error (same as for mosaic creation)
TypeError: Cannot write to closed device
at TransportNodeHidNoEvents.writeHID (/home/pmielcar/Developer/git/symbol-cli/node_modules/@ledgerhq/hw-transport-node-hid-noevents/lib/TransportNodeHid.js:91:21)
Thanks @cryptoBeliever
Fixed 2 and 4 @cryptoBeliever .
Question, I have an option to connect symbol-cli to a speclus simulator. I think it's useful for testing, especially if you don't have a device or if you want e2e tests. Would you like that? Probably in another PR
From my perspective, speculos simulator maybe not be so helpful since I'm using a physical device but sure if this is not big problem it may be helpful for other testers and developers.
@cryptoBeliever @Momo10101 should we merge this and try a Trazor implementation?
@fboucquez from the functional part looks ok. But isn't it waiting for code review?
@fboucquez from the functional part looks ok. But isn't it waiting for code review?
@bassemmagdy @rg911 @Momo10101 ? cool for review?
@cryptoBeliever @Momo10101 should we merge this and try a Trazor implementation?
Yes please! : )
fix: generic profile types fix: option resolvers with generic types.
Hi team, I have integrated symbol-cli to Ledger. The user would be possible to sign and cosign transactions using the ledger device.
To try this, connect and open the symbol app in your device, then create/import a new profile and select ledger. Once you have the ledger profile, you can create, sign and cosign any transaction with ledger
The PR uses this dependency https://github.com/fboucquez/symbol-ledger-typescript. I need to open a conversation about the naming and where to put this repo. I'll start one on slack. This repo will probably be transferred to nemgrouplimited
In order to achieve this, I need to do a small refactoring. A ledger profile doesn't need or know a private key or a password to decrypt it. I had to change the hierarchy a little bit so the abstract profile doesn't have these properties. Private key, password, mnemonic phrase are part of the PrivateKey and HD profiles. A ledger profile doesn't ask for passwords as there is nothing to encrypt.
Another change is the signing operations, they are now async as there is a connection to the device and the user needs to click buttons to accept or reject a transaction. I have created the abstractions for async signing. This could potentially be moved to the ts SDK, at least one of the submodules once we split it.