flashbots / andromeda-sirrah-contracts

forge development env for SUAVE key management
MIT License
19 stars 5 forks source link

Add Bip32 smart contract and adjust the key manager to utilizes it #37

Closed MoeMahhouk closed 8 months ago

MoeMahhouk commented 8 months ago

In this PR, we added the following changes:

  1. Add BIP32 smart contract that only uses a hash512 precompile introduced in this PR
  2. Add a new key manager that utilizes the BIP32 key derivation
  3. Add unit tests for both BIP32 and the new key manager

NOTE

Currently, the key manager utilizes the BIP32 library to derive only hardened keys. A followup PR will tackle an API for hardened and non-hardened key derivations API either from an index or a given path


Testing:

Step by step to reproduce the test process:

  1. adjust the deployment.json to use local host for the kettle_rpc, use your own private key and set the mrenclave/mrsigner to the local gramine-andromeda-revm
  2. run the following make comands in this order: deploy, configure-all-tcbinfo, bootstrap and then make test-examples
  3. all the above should run correctly without errors. (Done)