Skip to content
  • Rakan Alhneiti's avatar
    Introduce `sign_with` method in keystore (#4925) · e17a23e9
    Rakan Alhneiti authored
    
    
    * Add KEY_KIND_ID to the public trait
    
    This change is being introduced for the purpose of identifying a public
    key with it's identifier and algorithm "kind".
    
    * Use `sign_with` as implemented in BareCryptoStore
    
    * Implement `sign_with` in sc_keystore
    
    * Fix inconsistencies, use *_KIND_ID in sp_core testing
    
    * Rename KeyKindId to CryptoTypeId
    
    * Remove pair-returning functions from BareCryptoStore trait
    
    * Define CryptoTypeId in app-crypto macros
    
    * Add functions to get keys supported by keystore
    
    * Fix sign_with signature to include CryptoTypePublicPair
    
    * Add `sign_with_any` and `sign_with_all`
    
    * Use keystore.sign_with in auth_discovery
    
    * Rename get_supported_keys -> supported_keys
    
    * Added headers to function docstrings
    
    * Use chain instead of extending a temp vector
    
    * Fixed some code formatting
    
    * Restrict size of CryptoTypeId
    
    This is to be able to use Encode/Decode derives and the overcome having
    the size being unknown at compile-time.
    
    * Implement sign_with in the trait itself
    
    * Remove whitespace
    
    * Use key_type also as a CryptoTypeId in app_crypto macros
    
    * Rename `get_keys` to `keys` in BareCryptoStore
    
    * Remove usage of key_pair funcs in tests
    
    * Adjust docstring for *_CYPTO_ID constants
    
    * Fix failures
    
    * Simplify mapping on keys
    
    * Remove one let
    
    * Fixed typo
    
    * PR feedback
    
    * remove whitespace
    
    * Zip keys and signatures
    
    * Use into_iter & remove cloned
    
    * Pass index to MissingSignature
    
    * Use typed errors instead of strings for BareCryptoStore
    
    * Implement Debug for trait error
    
    * Use hashsets for better performance for supported_keys
    
    * Make sure keys are inserted into the keystore
    
    * Make sign_with_all return type consistent with `sign_with`
    
    * Rename Error to BareCryptoStoreError
    
    * Rename CRYPT_TYPE_ID -> CRYPTO_ID
    
    * Remove unnecessary CRYPTO_ID declaration in Public trait
    
    * Convert pub key to CryptoTypePublicPair
    
    * Fix use
    
    * Fix code style
    
    * Implement From on CryptoTypePublicPair in app_crypto macros
    
    * Change CryptoTypePublicPair to a struct
    
    * Implement Display on CryptoTypePublicPair
    
    * Pass CryptoTypePublicPair to MissingSignature error
    
    * Adjust docs according to function signature
    
    * Unify keys implementation
    
    * Fix RPC author tests
    
    * Fix stackoverflow
    
    * Tabify spaces
    
    * Pass KeyTypeId to error for easier debugging
    
    * Fix asserts
    
    * Use ToHex to format public key
    
    * Use constants from sp_core
    
    * Rename testing KeyTypeId constants
    
    * Please compiler
    
    * Restore KeyTypeId names
    
    apparently, they're not only used in tests
    
    * Use BareCryptoStoreError instead of String
    
    * Document return value
    
    * Fix borrow check
    
    * Convert to hashset internally
    
    * WIP - iter_keys
    
    * Return raw_public_keys
    
    * Address PR feedback
    
    * Address PR Feedback
    
    * Fix hexdisplay import error
    
    * Update primitives/core/src/traits.rs
    
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    e17a23e9