Add BIP32 smart contract that only uses a hash512 precompile introduced in this PR
Add a new key manager that utilizes the BIP32 key derivation
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:
Started a local gramine-andromeda-revm instance that is running the suave-andromeda-revm with the hash512 precompile
Started a local Suave-geth, deployed the contracts and ran the bootstrap and test-examples successfully.
Step by step to reproduce the test process:
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
run the following make comands in this order: deploy, configure-all-tcbinfo, bootstrap and then make test-examples
all the above should run correctly without errors. (Done)
In this PR, we added the following changes:
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: