clef: remove passwords from appoval operations

This commit is contained in:
Martin Holst Swende 2019-02-21 21:36:02 +01:00
parent 56f72962c4
commit bda88d91db
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0
2 changed files with 20 additions and 5 deletions

View file

@ -1,5 +1,23 @@
### Changelog for internal API (ui-api) ### Changelog for internal API (ui-api)
### 6.0.0
Removed `password` from responses to operations which require them. This is for two reasons,
- Consistency between how rulesets operate and how manual processing works. A rule can `Approve` but require the actual password to be stored in the clef storage.
With this change, the same stored password can be used even if rulesets are not enabled, but storage is.
- It also removes the usability-shortcut that a UI might otherwise want to implement; remembering passwords. Since we now will not require the
password on every `Approve`, there's no need for the UI to cache it locally.
- In a future update, we'll likely add `clef_storePassword` to the internal API, so the user can store it via his UI (currently only CLI works).
Affected datatypes:
- `SignTxResponse`
- `SignDataResponse`
- `NewAccountResponse`
If `clef` requires a password, the `OnInputRequired` will be used to collect it.
### 5.0.0 ### 5.0.0
Changed the namespace format to adhere to the legacy ethereum format: `name_methodName`. Changes: Changed the namespace format to adhere to the legacy ethereum format: `name_methodName`. Changes:

View file

@ -40,7 +40,7 @@ const (
// ExternalAPIVersion -- see extapi_changelog.md // ExternalAPIVersion -- see extapi_changelog.md
ExternalAPIVersion = "6.0.0" ExternalAPIVersion = "6.0.0"
// InternalAPIVersion -- see intapi_changelog.md // InternalAPIVersion -- see intapi_changelog.md
InternalAPIVersion = "4.0.0" InternalAPIVersion = "6s.0.0"
) )
// ExternalAPI defines the external API through which signing requests are made. // ExternalAPI defines the external API through which signing requests are made.
@ -183,7 +183,6 @@ type (
//The UI may make changes to the TX //The UI may make changes to the TX
Transaction SendTxArgs `json:"transaction"` Transaction SendTxArgs `json:"transaction"`
Approved bool `json:"approved"` Approved bool `json:"approved"`
Password string `json:"password"`
} }
SignDataRequest struct { SignDataRequest struct {
ContentType string `json:"content_type"` ContentType string `json:"content_type"`
@ -195,14 +194,12 @@ type (
} }
SignDataResponse struct { SignDataResponse struct {
Approved bool `json:"approved"` Approved bool `json:"approved"`
Password string
} }
NewAccountRequest struct { NewAccountRequest struct {
Meta Metadata `json:"meta"` Meta Metadata `json:"meta"`
} }
NewAccountResponse struct { NewAccountResponse struct {
Approved bool `json:"approved"` Approved bool `json:"approved"`
Password string `json:"password"`
} }
ListRequest struct { ListRequest struct {
Accounts []accounts.Account `json:"accounts"` Accounts []accounts.Account `json:"accounts"`