You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently implement a DPC struct that takes Components as input.
DPC implements DPCScheme<L: LedgerScheme>
Components implements DPCComponents
L: LedgerScheme is an associated item in all DPC instantiations
The result is that we must use DPC with DPC<Components> where L: LedgerScheme<{bind Components to LedgerScheme types}>.
Proposed Change
We decouple LedgerScheme from DPCScheme, so that an instantiated Ledger is independent. This allows us to merge DPCComponents associated items to DPCScheme, and move ledger-integrated methods in DPCScheme to LedgerScheme.
Finally, we can rename the current Components to DPC, and the current DPC to Ledger.
New Design
We implement a DPC struct that implements DPCScheme, which includes its associated types built in.
We implement a Ledger struct that implements LedgerScheme, which includes ledger-integrated methods in it.
The text was updated successfully, but these errors were encountered:
One of the major benefits to this architecture will be the ability to test DPC circuits without need for a fully-instantiated ledger as we currently do in .integration/.
馃挜 Proposal
Current Design
We currently implement a
DPC
struct that takesComponents
as input.DPC
implementsDPCScheme<L: LedgerScheme>
Components
implementsDPCComponents
L: LedgerScheme
is an associated item in allDPC
instantiationsThe result is that we must use DPC with
DPC<Components> where L: LedgerScheme<{bind Components to LedgerScheme types}>
.Proposed Change
We decouple
LedgerScheme
fromDPCScheme
, so that an instantiatedLedger
is independent. This allows us to mergeDPCComponents
associated items toDPCScheme
, and move ledger-integrated methods inDPCScheme
toLedgerScheme
.Finally, we can rename the current
Components
toDPC
, and the currentDPC
toLedger
.New Design
We implement a
DPC
struct that implementsDPCScheme
, which includes its associated types built in.We implement a
Ledger
struct that implementsLedgerScheme
, which includes ledger-integrated methods in it.The text was updated successfully, but these errors were encountered: