@emurgo/ledger-connect-handler v7.0.1
yoroi-extension-ledger-connect-handler
This library enables Yoroi extension to communicate with Ledger device, in process this library needs one web page that directly communicates with Ledger device. This library is responsible for opening, sendind resquest, passing back response to Yoroi and closing the target web page.
Message Passing

Flow:
1. Yoroi requests yoroi-extension-ledger-connect-handler(Using function call).
2. yoroi-extension-ledger-connect-handler opens target Website.
3. yoroi-extension-ledger-connect-handler sends request message to content-script(Using extension port).
4. content-script passes request to the target Website app(Using postMessage()).
5. Target Website app processes the request and send response to content-script(Using postMessage()).
6. content-script passes response to yoroi-extension-ledger-connect-handler(Using extension port).
7. Finally, yoroi-extension-ledger-connect-handler passes response to Yoroi(Using function return).
Supported Functions
getExtendedPublicKey
Inputs
{
serial: ?string,
params: {
path: BIP32Path
},
}Outputs
{
deriveSerial: {
serial: string
},
deviceVersion: {
flags: Flags,
major: string,
minor: string,
patch: string
},
response: GetExtendedPublicKeysResponse<GetExtendedPublicKeyResponse>
}getExtendedPublicKeys
Inputs
{
serial: ?string,
params: {
paths: Array<BIP32Path>
},
}Outputs
{
deriveSerial: {
serial: string
},
deviceVersion: {
flags: Flags,
major: string,
minor: string,
patch: string
},
response: GetExtendedPublicKeysResponse<GetExtendedPublicKeysResponse>
}signTransaction
Inputs
{
serial: ?string,
params: Transaction,
}Outputs
SignTransactionResponseshowAddress
Inputs
{|
serial: ?string,
params: {
...ShowAddressRequest,
expectedAddr: string,
},
|}Outputs
undefinedderiveAddress
Inputs
{
serial: ?string,
params: DeriveAddressRequest,
}Outputs
DeriveAddressResponsegetVersion
Inputs
{
serial: ?string,
params: undefined,
}Outputs
GetVersionResponsegetSerial
Inputs
{
serial: ?string,
params: undefined,
}Outputs
GetSerialResponseExample
Import
import LedgerConnect from 'yoroi-extension-ledger-connect-handler';Create new instance
const ledgerConnect = new LedgerConnect(config);config is type of: Config
Calling function
const deviceVersionResp = await ledgerConnect.getVersion();Supported Ledger Transport
- @ledgerhq/hw-transport-webauthn Default
- @ledgerhq/hw-transport-u2f
- Has issues on
Windows 10 Version: >= 1903. Refer.
- Has issues on
- @ledgerhq/hw-transport-webusb Incomplete
Building up
nvm iyarnyarn run build
Publishing
Make sure you have followed Building up steps before publishing.
npm publish
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago