-
Notifications
You must be signed in to change notification settings - Fork 296
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed penumbra-crypto
code reorganization
#2765
Comments
This was referenced Jun 30, 2023
hdevalence
added a commit
that referenced
this issue
Jul 1, 2023
hdevalence
added a commit
that referenced
this issue
Jul 1, 2023
redshiftzero
added a commit
that referenced
this issue
Jul 2, 2023
redshiftzero
added a commit
that referenced
this issue
Jul 2, 2023
redshiftzero
added a commit
that referenced
this issue
Jul 2, 2023
redshiftzero
added a commit
that referenced
this issue
Jul 2, 2023
This was referenced Jul 5, 2023
This was referenced Jul 6, 2023
Ticket still open to track cleanup, but we've largely achieved the reorg we wanted in advance of pending security audits. 🎉 |
conorsch
added a commit
to penumbra-zone/galileo
that referenced
this issue
Jul 11, 2023
We abolished the crypto crate as part of Testnet 56, so we must update our imports accordingly. Matches changes described in penumbra-zone/penumbra#2765
conorsch
added a commit
to penumbra-zone/galileo
that referenced
this issue
Jul 11, 2023
We abolished the crypto crate as part of Testnet 56, so we must update our imports accordingly. Matches changes described in penumbra-zone/penumbra#2765
conorsch
added a commit
to penumbra-zone/osiris
that referenced
this issue
Jul 11, 2023
We abolished the crypto crate as part of Testnet 56, so we must update our imports accordingly. Matches changes described in penumbra-zone/penumbra#2765
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a more detailed proposal for the final item in #2288. As described there,
penumbra-crypto
has become a catch-all crate for a bunch of diverse functionality. The scope of this ticket is to:penumbra-crypto
to existing crates that make sense, or create new crates if needed,penumbra-crypto
we're not using, i.e. stuff that was originally targeted for Penumbra mainnet but will end up going into PenumbraV2, possibly with significant changes.Concrete steps
Note that the following paths refer to the various modules in
penumbra-crypto
incrates/core/crypto
.SwapFlow
(inflow.rs
) to thepenumbra-dex
component. RemoveMockFlowCiphertext
and instead just useAmount
s. This removesflow.rs
. - refactor: remove unused code inpenumbra-crypto
#2766eddy.rs
for now - we'll bring it back in the appropriate place if needed for PenumbraV2. - refactor: remove unused code inpenumbra-crypto
#2766governance*
to thepenumbra-governance
crate. Currently this crate doesn't exist, so in the meantime we could move it alongside where the governance component lives. Then this governance code would all be moved together to thepenumbra-governance
crate, as described/tracked in Tracking issue: Modularize the Penumbra application code into coherent crates #2288. - refactor: move governance related items from crypto to governance crate #2776stake*
to thepenumbra-stake
crate. - refactor: move penumbra-crypto staking-related types to staking crate #2770memo.rs
to thepenumbra-transaction
crate, since as of liftMemo
to transaction level #1222 the memo is at the transaction level. - refactor: move memo totransaction
crate #2773effect_hash.rs
andtransaction.rs
to thepenumbra-component
crate (we need to implementEffectingHash
for component-specific actions in the component crates). - an attempt in refactor: move effect hash struct/trait topenumbra-component
#2779 that is failing CI, next attempt in refactor: move remaining code inpenumbra-crypto
topenumbra-chain
#2798penumbra-num
forAmount
andU128x128
types. - refactor: populatepenumbra-num
,penumbra-asset
#2781asset*
to a newpenumbra-asset
crate, along withValue
andBalance
- refactor: populatepenumbra-num
,penumbra-asset
#2781note_payload.rs
,rseed.rs
, topenumbra-shielded-pool
- refactor: move notes topenumbra-shielded-pool
, nullifiers topenumbra-sct
#2795SwapProof
andSwapClaimProof
. Specifically:UndelegateClaim
goes topenumbra-stake
, - refactor: move undelegate claim proof and circuit to stake crate #2769Output
,Spend
,NullifierDerivation
goes topenumbra-shielded-pool
, - refactor: move remainder of ZKPs out frompenumbra-crypto
#2792DelegatorVote
goes topenumbra-governance
- refactor: move remainder of ZKPs out frompenumbra-crypto
#2792penumbra-proof-params
. The traits are used by the component crates, which already require thepenumbra-proof-params
to do proving and verification. - refactor: move remainder of ZKPs out frompenumbra-crypto
#2792penumbra-fee
for theFee
type #2774nullifier.rs
would move to thepenumbra-sct
crate. - refactor: move notes topenumbra-shielded-pool
, nullifiers topenumbra-sct
#2795penumbra-keys
for the key hierarchy (keys*
), addresses (address*
),prf.rs
(used for key derivation, and also byRseed
so we'd need to expose it), this requires some API changes: refactor: movekeys
andaddresses
modules intopenumbra-keys
#2791penumbra-keys
-symmetric.rs
operates on notes and memos, might need API changes here - refactor: move notes topenumbra-shielded-pool
, nullifiers topenumbra-sct
#2795penumbra-crypto
should be empty, so we'd delete it. As a final step, the re-exported typesFr, Fq
andrdsa
will need to be imported directly fromdecaf377
anddecaf377-rdsa
. - refactor: move remaining code inpenumbra-crypto
topenumbra-chain
#2798The text was updated successfully, but these errors were encountered: