Skip to content

tansanDOTeth/ex_web3_ec_recover

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ExWeb3EcRecover

Library for recovering and verifying public keys from signatures,

Installation

This package relies on ExSecp256k1 which uses Rust. Please visit rusts website and install it.

The package can be installed by adding ex_web3_ec_recover to your list of dependencies in mix.exs:

def deps do
  [
    {:ex_web3_ec_recover, "~> 0.2.0"}
  ]
end

Usage

Personal Sign

iex> ExWeb3EcRecover.recover_personal_signature(%{sig: "0x1dd3657c91d95f350ab25f17ee7cbcdbccd3f5bc52976bfd4dd03bd6bc29d2ac23e656bee509ca33b921e0e6b53eb64082be1bb3c69c3a4adccd993b1d667f8d1b", msg: "hello world"})
"0x11f4d0A3c12e86B4b5F39B213F7E19D048276DAe"

Typed Sign (Types 3 and 4)


 iex>  types: %{
        "Message" => [%{"name" => "data", "type" => "string"}],
        "EIP712Domain" => [
          %{
            "name" => "name",
            "type" => "string"
          },
          %{
            "name" => "version",
            "type" => "string"
          },
          %{
            "name" => "chainId",
            "type" => "uint256"
          },
          %{
            "name" => "verifyingContract",
            "type" => "address"
          }
        ]
      },
      primary_type: "Message",
      message: %{
        "data" => "test"
      },
      domain: %{
        "name" => "example.metamask.io",
        "version" => "3",
        "chainId" => 1,
        "verifyingContract" => "0x"
      }
    }
iex> ExWeb3EcRecover.recover_typed_signature(message, sig, :v4)
"0x29c76e6ad8f28bb1004902578fb108c507be341b"

Documentation

Hosted on http://hexdocs.pm/exiban/ExIban.html

Authors

Charlie Graham & Jakub Hajto (Hawku, Inc)

Releases

0.2 Support for Typed Signatures (EIP 712) and signatures using Ledger devices
0.1 Initial Release

ExWeb3EcRecover is released under the MIT License.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%