Add Ledger signature checking for external plugins

This commit is contained in:
TamtamHero
2021-05-04 23:33:33 +02:00
committed by pscott
parent 46ebe6320a
commit 0bd5fa717e
4 changed files with 62 additions and 21 deletions

View File

@@ -245,12 +245,18 @@ None
#### Description
This commands provides the name of a plugin that should be called to interpret contract data in the following transaction signing command.
This commands provides the name of a trusted binding of a plugin with a contract address and a supported method selector. This plugin will be called to interpret contract data in the following transaction signing command.
It shall be run immediately before performing a transaction involving a contract supported by this plugin to display the proper information to the user if necessary.
The function returns an error sw (0x6984) if the plugin requested is not installed on the device, 0x9000 otherwise.
The signature is computed on
len(pluginName) || pluginName || contractAddress || methodSelector
signed by the following secp256k1 public key 0482bbf2f34f367b2e5bc21847b6566f21f0976b22d3388a9a5e446ac62d25cf725b62a2555b2dd464a4da0ab2f4d506820543af1d242470b1b1a969a27578f353
#### Coding
'Command'
@@ -266,7 +272,11 @@ The function returns an error sw (0x6984) if the plugin requested is not install
[width="80%"]
|==============================================================================================================================
| *Description* | *Length*
| Plugin name | variable
| Length of plugin name | 1
| plugin name | variable
| contract address | 20
| method selector | 4
| signature | variable
|==============================================================================================================================
'Output data'