Crate pallet_passkey

source ·
Expand description

Using Passkeys to execute transactions

Passkey Pallet

Provides a way to execute transactions using passkey signatures.

Summary

Passkeys are a secure alternative to passwords for authentication. Due to its ease of use for the users and having a well established support in different platforms, Frequency chain supports passkey p256 signatures for select transactions. With this feature users would be able to execute a transactions by authenticating themselves with a Passkey P256 signature.

Actions

The Passkey pallet provides for:

  • Executing supported transactions with a valid Passkey P256 signature

Interactions

Extrinsic verification

Because the Polkadot SDK currently lacks support for P256 signatures, we had to use an unsigned extrinsic to allow this custom verification before dispatching transactions. To achieve this, we added P256 signature verification within the ValidateUnsigned trait implementation for the pallet.

Since unsigned extrinsics bypass verification by SignedExtensions, we’ve added the necessary checks within the ValidateUnsigned trait implementation to mitigate potential vulnerabilities.

Extrinsics

Name/DescriptionCallerPaymentKey EventsRuntime Added
proxy
Proxies an extrinsic call
AnyoneTokensTransactionExecutionSuccess92

See Rust Docs for more details.

Re-exports

Modules

  • The pallet module in each FRAME pallet hosts the most important items needed to construct this pallet.
  • defines all new types for this pallet
  • Autogenerated weights for pallet_passkey

Structs