Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
STR-728: Key Derivation Crate (#520)
* feat: add key-derivation crate Signed-off-by: Jose Storopoli <[email protected]> * chore(CODEOWNERS): add key-derivation Signed-off-by: Jose Storopoli <[email protected]> * feat: operator xprivs Signed-off-by: Jose Storopoli <[email protected]> * errors: better imports and impls Signed-off-by: Jose Storopoli <[email protected]> * operator: add master Xpriv Signed-off-by: Jose Storopoli <[email protected]> * chore: move away from miniscript Signed-off-by: Jose Storopoli <[email protected]> * test: right addresses Signed-off-by: Jose Storopoli <[email protected]> * fix: operator derivation path naming Signed-off-by: Jose Storopoli <[email protected]> * test: signatures are OK Signed-off-by: Jose Storopoli <[email protected]> * chore: move zeroize to workspace Signed-off-by: Jose Storopoli <[email protected]> * operator: zeroize impls for OperatorKeys Signed-off-by: Jose Storopoli <[email protected]> * fmt: sequencer Signed-off-by: Jose Storopoli <[email protected]> * fix: feature-gate on default the imports Signed-off-by: Jose Storopoli <[email protected]> * bridge-client: refactor to use key-derivation Signed-off-by: Jose Storopoli <[email protected]> * fix: don't need zeroize derive feature Signed-off-by: Jose Storopoli <[email protected]> * operator: fix derivation paths Signed-off-by: Jose Storopoli <[email protected]> * feat(bridge-client): parse xpriv from env or path Signed-off-by: Jose Storopoli <[email protected]> * chore: add secp256k1 Signed-off-by: Jose Storopoli <[email protected]> * sequencer: SequencerKeys Signed-off-by: Jose Storopoli <[email protected]> * strata-client: use key-derivation crate Signed-off-by: Jose Storopoli <[email protected]> * fix: use &Xpriv instead of owned in OperatorKeys * feat: really zeroize stuff * refactor(datatool): modularization * Look at me I’m the compiler now! * key-derivation: Sequencer and Operator PubKeys * datatool: refactor to use key-derivation crate * doc: rugpulled by copy-pasta * fix(key-derivation): deriving xpubs * fix: tests * doc(datatool): add a warning and description. * fix: proper zeroizing of `as_mut` * chore(deps): remove `derive` from zeroize * chore: move constants to primitives * chore: fix CODEOWNERS diff * OH GOD DON’T AUTOFORMAT! * chore(deps): add back `derive` for `zeroize` * fix: rename genseed to genxpriv * chore: fix formatting * fix(datatool): clarifications on resolve Xpriv * fix(datatool): MIB Flash tool on Xprivs * fix(datatool): remove blacklist * doc: clarifications on RNG for Xpriv generation * doc: clarify abbreviated amounts * doc: clarify high entropy on `OsRng` * chore: move ZeroizableXpriv to primitives * primitives: add Zeroize for Buf32 and Buf20 * doc: fixes * chore: clippy lints * strata-cli: zeroize Xpriv and String * strata-client: zeroize Buf32 and Xprivs * doc(primitives): fix examples * doc(primitives): fix again * chore: fix lints * primitives: Zeroize Buf64 * chore: rebased on main * bridge-client: don’t use a buffer * bridge-client: zeroize again the buffer and the xpriv * datatool: MIB Zeroize all possible secrets * doc(bridge-client): clarify precedence order * doc(datatool): clarify precedence order * doc(primitives): fix Buf64 examples * fix(datatool): zeroize secret data even if stuff fails --------- Signed-off-by: Jose Storopoli <[email protected]>
- Loading branch information