Applicant and issuer both have this class and much of it is redundant. Consolidate them into one class in common. Implement the common DcxManager interface on each side of the protocol.
[x] Create a DcxManager interface in common and implement it inside applicant and issuer
[x] Inside applicant, rename core to dcx-applicant with DcxApplicant class
[x] Inside issuer, rename manager to dcx-issuer with DcxIssuer class
DcxConfig
These packages should be as stateless as possible. Having env config dependencies gets messy. Eliminating the issuerConfig, applicantConfig and config in each package simplifies these packages. Implement these in this new server package similar to the way @web5/dwn-server is implemented; in this case, it would be new Issuer({}) or new Applicant({}).
[x] Eliminate the issuerConfig, applicantConfig and config inside each package
[x] Implement dcxConfig as an object passed to calls to the constructors for the new DcxIssuer & DcxApplicant classes
[x] Pass a config object into the new DcxServer (#68) and share it with the DcxIssuer and DcxApplicant classes
DcxManager
Applicant and issuer both have this class and much of it is redundant. Consolidate them into one class in common. Implement the common
DcxManager
interface on each side of the protocol.DcxManager
interface incommon
and implement it insideapplicant
andissuer
DcxApplicant
classDcxIssuer
classDcxConfig
These packages should be as stateless as possible. Having env config dependencies gets messy. Eliminating the
issuerConfig
,applicantConfig
andconfig
in each package simplifies these packages. Implement these in this new server package similar to the way@web5/dwn-server
is implemented; in this case, it would benew Issuer({})
ornew Applicant({})
.issuerConfig
,applicantConfig
andconfig
inside each packagenew DcxServer
(#68) and share it with the DcxIssuer and DcxApplicant classes