mirror of
https://github.com/status-im/status-go.git
synced 2025-02-16 16:56:53 +00:00
Rolled LockPayload, ToSend and Received funcs into dedicated types
This commit is contained in:
parent
5bad40c8be
commit
20a5b09433
@ -92,3 +92,27 @@ func (pem *PayloadEncryptor) getDecrypted() []byte {
|
|||||||
func (pem *PayloadEncryptor) lockPayload() {
|
func (pem *PayloadEncryptor) lockPayload() {
|
||||||
pem.payload.lock()
|
pem.payload.lock()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PayloadLockPayload struct {
|
||||||
|
*PayloadEncryptor
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pl *PayloadLockPayload) LockPayload() {
|
||||||
|
pl.lockPayload()
|
||||||
|
}
|
||||||
|
|
||||||
|
type PayloadToSend struct {
|
||||||
|
*PayloadEncryptor
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pts *PayloadToSend) ToSend() []byte {
|
||||||
|
return pts.getEncrypted()
|
||||||
|
}
|
||||||
|
|
||||||
|
type PayloadReceived struct {
|
||||||
|
*PayloadEncryptor
|
||||||
|
}
|
||||||
|
|
||||||
|
func (pr *PayloadReceived) Received() []byte {
|
||||||
|
return pr.getDecrypted()
|
||||||
|
}
|
||||||
|
@ -22,6 +22,18 @@ type PayloadLoader interface {
|
|||||||
Load() error
|
Load() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BasePayloadMounter struct {
|
||||||
|
*PayloadLockPayload
|
||||||
|
*PayloadToSend
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewBasePayloadMounter(e *PayloadEncryptor) *BasePayloadMounter {
|
||||||
|
return &BasePayloadMounter{
|
||||||
|
&PayloadLockPayload{e},
|
||||||
|
&PayloadToSend{e},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| AccountPayload
|
| AccountPayload
|
||||||
@ -33,6 +45,8 @@ type PayloadLoader interface {
|
|||||||
|
|
||||||
// AccountPayloadMounter is responsible for the whole lifecycle of an AccountPayload
|
// AccountPayloadMounter is responsible for the whole lifecycle of an AccountPayload
|
||||||
type AccountPayloadMounter struct {
|
type AccountPayloadMounter struct {
|
||||||
|
*BasePayloadMounter
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
accountPayload *AccountPayload
|
accountPayload *AccountPayload
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
@ -45,6 +59,8 @@ func NewAccountPayloadMounter(pe *PayloadEncryptor, config *SenderConfig, logger
|
|||||||
l := logger.Named("AccountPayloadLoader")
|
l := logger.Named("AccountPayloadLoader")
|
||||||
l.Debug("fired", zap.Any("config", config))
|
l.Debug("fired", zap.Any("config", config))
|
||||||
|
|
||||||
|
pe = pe.Renew()
|
||||||
|
|
||||||
// A new SHARED AccountPayload
|
// A new SHARED AccountPayload
|
||||||
p := new(AccountPayload)
|
p := new(AccountPayload)
|
||||||
apl, err := NewAccountPayloadLoader(p, config)
|
apl, err := NewAccountPayloadLoader(p, config)
|
||||||
@ -53,9 +69,10 @@ func NewAccountPayloadMounter(pe *PayloadEncryptor, config *SenderConfig, logger
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &AccountPayloadMounter{
|
return &AccountPayloadMounter{
|
||||||
|
BasePayloadMounter: NewBasePayloadMounter(pe),
|
||||||
logger: l,
|
logger: l,
|
||||||
accountPayload: p,
|
accountPayload: p,
|
||||||
encryptor: pe.Renew(),
|
encryptor: pe,
|
||||||
accountPayloadMarshaller: NewPairingPayloadMarshaller(p, l),
|
accountPayloadMarshaller: NewPairingPayloadMarshaller(p, l),
|
||||||
payloadLoader: apl,
|
payloadLoader: apl,
|
||||||
}, nil
|
}, nil
|
||||||
@ -87,14 +104,6 @@ func (apm *AccountPayloadMounter) Mount() error {
|
|||||||
return apm.encryptor.encrypt(pb)
|
return apm.encryptor.encrypt(pb)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (apm *AccountPayloadMounter) ToSend() []byte {
|
|
||||||
return apm.encryptor.getEncrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (apm *AccountPayloadMounter) LockPayload() {
|
|
||||||
apm.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
// AccountPayloadLoader is responsible for loading, parsing and validating AccountPayload data
|
// AccountPayloadLoader is responsible for loading, parsing and validating AccountPayload data
|
||||||
type AccountPayloadLoader struct {
|
type AccountPayloadLoader struct {
|
||||||
*AccountPayload
|
*AccountPayload
|
||||||
@ -150,15 +159,20 @@ func (apl *AccountPayloadLoader) Load() error {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
type RawMessagePayloadMounter struct {
|
type RawMessagePayloadMounter struct {
|
||||||
logger *zap.Logger
|
*BasePayloadMounter
|
||||||
|
|
||||||
|
logger *zap.Logger
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
loader *RawMessageLoader
|
loader *RawMessageLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewRawMessagePayloadMounter(logger *zap.Logger, pe *PayloadEncryptor, backend *api.GethStatusBackend, config *SenderConfig) *RawMessagePayloadMounter {
|
func NewRawMessagePayloadMounter(logger *zap.Logger, pe *PayloadEncryptor, backend *api.GethStatusBackend, config *SenderConfig) *RawMessagePayloadMounter {
|
||||||
l := logger.Named("RawMessagePayloadManager")
|
l := logger.Named("RawMessagePayloadManager")
|
||||||
|
|
||||||
|
pe = pe.Renew()
|
||||||
|
|
||||||
return &RawMessagePayloadMounter{
|
return &RawMessagePayloadMounter{
|
||||||
|
BasePayloadMounter: NewBasePayloadMounter(pe),
|
||||||
logger: l,
|
logger: l,
|
||||||
encryptor: pe.Renew(),
|
encryptor: pe.Renew(),
|
||||||
loader: NewRawMessageLoader(backend, config),
|
loader: NewRawMessageLoader(backend, config),
|
||||||
@ -173,14 +187,6 @@ func (r *RawMessagePayloadMounter) Mount() error {
|
|||||||
return r.encryptor.encrypt(r.loader.payload)
|
return r.encryptor.encrypt(r.loader.payload)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RawMessagePayloadMounter) ToSend() []byte {
|
|
||||||
return r.encryptor.getEncrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *RawMessagePayloadMounter) LockPayload() {
|
|
||||||
r.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
type RawMessageLoader struct {
|
type RawMessageLoader struct {
|
||||||
payload []byte
|
payload []byte
|
||||||
syncRawMessageHandler *SyncRawMessageHandler
|
syncRawMessageHandler *SyncRawMessageHandler
|
||||||
@ -212,13 +218,18 @@ func (r *RawMessageLoader) Load() (err error) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
type InstallationPayloadMounter struct {
|
type InstallationPayloadMounter struct {
|
||||||
|
*BasePayloadMounter
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
loader *InstallationPayloadLoader
|
loader *InstallationPayloadLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewInstallationPayloadMounter(logger *zap.Logger, pe *PayloadEncryptor, backend *api.GethStatusBackend, deviceType string) *InstallationPayloadMounter {
|
func NewInstallationPayloadMounter(logger *zap.Logger, pe *PayloadEncryptor, backend *api.GethStatusBackend, deviceType string) *InstallationPayloadMounter {
|
||||||
|
pe = pe.Renew()
|
||||||
|
|
||||||
return &InstallationPayloadMounter{
|
return &InstallationPayloadMounter{
|
||||||
|
BasePayloadMounter: NewBasePayloadMounter(pe),
|
||||||
logger: logger.Named("InstallationPayloadManager"),
|
logger: logger.Named("InstallationPayloadManager"),
|
||||||
encryptor: pe.Renew(),
|
encryptor: pe.Renew(),
|
||||||
loader: NewInstallationPayloadLoader(backend, deviceType),
|
loader: NewInstallationPayloadLoader(backend, deviceType),
|
||||||
@ -233,14 +244,6 @@ func (i *InstallationPayloadMounter) Mount() error {
|
|||||||
return i.encryptor.encrypt(i.loader.payload)
|
return i.encryptor.encrypt(i.loader.payload)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *InstallationPayloadMounter) ToSend() []byte {
|
|
||||||
return i.encryptor.getEncrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *InstallationPayloadMounter) LockPayload() {
|
|
||||||
i.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
type InstallationPayloadLoader struct {
|
type InstallationPayloadLoader struct {
|
||||||
payload []byte
|
payload []byte
|
||||||
syncRawMessageHandler *SyncRawMessageHandler
|
syncRawMessageHandler *SyncRawMessageHandler
|
||||||
|
@ -29,6 +29,18 @@ type PayloadStorer interface {
|
|||||||
Store() error
|
Store() error
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type BasePayloadReceiver struct {
|
||||||
|
*PayloadLockPayload
|
||||||
|
*PayloadReceived
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewBaseBasePayloadReceiver(e *PayloadEncryptor) *BasePayloadReceiver {
|
||||||
|
return &BasePayloadReceiver{
|
||||||
|
&PayloadLockPayload{e},
|
||||||
|
&PayloadReceived{e},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| AccountPayload
|
| AccountPayload
|
||||||
@ -40,6 +52,8 @@ type PayloadStorer interface {
|
|||||||
|
|
||||||
// AccountPayloadReceiver is responsible for the whole lifecycle of a AccountPayload
|
// AccountPayloadReceiver is responsible for the whole lifecycle of a AccountPayload
|
||||||
type AccountPayloadReceiver struct {
|
type AccountPayloadReceiver struct {
|
||||||
|
*BasePayloadReceiver
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
accountPayload *AccountPayload
|
accountPayload *AccountPayload
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
@ -48,10 +62,12 @@ type AccountPayloadReceiver struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// NewAccountPayloadReceiver generates a new and initialised AccountPayloadManager
|
// NewAccountPayloadReceiver generates a new and initialised AccountPayloadManager
|
||||||
func NewAccountPayloadReceiver(encryptor *PayloadEncryptor, config *ReceiverConfig, logger *zap.Logger) (*AccountPayloadReceiver, error) {
|
func NewAccountPayloadReceiver(e *PayloadEncryptor, config *ReceiverConfig, logger *zap.Logger) (*AccountPayloadReceiver, error) {
|
||||||
l := logger.Named("AccountPayloadManager")
|
l := logger.Named("AccountPayloadManager")
|
||||||
l.Debug("fired", zap.Any("config", config))
|
l.Debug("fired", zap.Any("config", config))
|
||||||
|
|
||||||
|
e = e.Renew()
|
||||||
|
|
||||||
// A new SHARED AccountPayload
|
// A new SHARED AccountPayload
|
||||||
p := new(AccountPayload)
|
p := new(AccountPayload)
|
||||||
accountPayloadRepository, err := NewAccountPayloadStorer(p, config)
|
accountPayloadRepository, err := NewAccountPayloadStorer(p, config)
|
||||||
@ -60,9 +76,10 @@ func NewAccountPayloadReceiver(encryptor *PayloadEncryptor, config *ReceiverConf
|
|||||||
}
|
}
|
||||||
|
|
||||||
return &AccountPayloadReceiver{
|
return &AccountPayloadReceiver{
|
||||||
|
BasePayloadReceiver: NewBaseBasePayloadReceiver(e),
|
||||||
logger: l,
|
logger: l,
|
||||||
accountPayload: p,
|
accountPayload: p,
|
||||||
encryptor: encryptor.Renew(),
|
encryptor: e,
|
||||||
accountPayloadMarshaller: NewPairingPayloadMarshaller(p, l),
|
accountPayloadMarshaller: NewPairingPayloadMarshaller(p, l),
|
||||||
accountStorer: accountPayloadRepository,
|
accountStorer: accountPayloadRepository,
|
||||||
}, nil
|
}, nil
|
||||||
@ -96,14 +113,6 @@ func (apr *AccountPayloadReceiver) Receive(data []byte) error {
|
|||||||
return apr.accountStorer.Store()
|
return apr.accountStorer.Store()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (apr *AccountPayloadReceiver) Received() []byte {
|
|
||||||
return apr.encryptor.getDecrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (apr *AccountPayloadReceiver) LockPayload() {
|
|
||||||
apr.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
// AccountPayloadStorer is responsible for parsing, validating and storing AccountPayload data
|
// AccountPayloadStorer is responsible for parsing, validating and storing AccountPayload data
|
||||||
type AccountPayloadStorer struct {
|
type AccountPayloadStorer struct {
|
||||||
*AccountPayload
|
*AccountPayload
|
||||||
@ -220,16 +229,22 @@ func (aps *AccountPayloadStorer) storeMultiAccount() error {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
type RawMessagePayloadReceiver struct {
|
type RawMessagePayloadReceiver struct {
|
||||||
|
*BasePayloadReceiver
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
storer *RawMessageStorer
|
storer *RawMessageStorer
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewRawMessagePayloadReceiver(logger *zap.Logger, accountPayload *AccountPayload, encryptor *PayloadEncryptor, backend *api.GethStatusBackend, config *ReceiverConfig) *RawMessagePayloadReceiver {
|
func NewRawMessagePayloadReceiver(logger *zap.Logger, accountPayload *AccountPayload, e *PayloadEncryptor, backend *api.GethStatusBackend, config *ReceiverConfig) *RawMessagePayloadReceiver {
|
||||||
l := logger.Named("RawMessagePayloadManager")
|
l := logger.Named("RawMessagePayloadManager")
|
||||||
|
|
||||||
|
e = e.Renew()
|
||||||
|
|
||||||
return &RawMessagePayloadReceiver{
|
return &RawMessagePayloadReceiver{
|
||||||
|
BasePayloadReceiver: NewBaseBasePayloadReceiver(e),
|
||||||
logger: l,
|
logger: l,
|
||||||
encryptor: encryptor.Renew(),
|
encryptor: e,
|
||||||
storer: NewRawMessageStorer(backend, accountPayload, config),
|
storer: NewRawMessageStorer(backend, accountPayload, config),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -243,14 +258,6 @@ func (r *RawMessagePayloadReceiver) Receive(data []byte) error {
|
|||||||
return r.storer.Store()
|
return r.storer.Store()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *RawMessagePayloadReceiver) Received() []byte {
|
|
||||||
return r.encryptor.getDecrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (r *RawMessagePayloadReceiver) LockPayload() {
|
|
||||||
r.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
type RawMessageStorer struct {
|
type RawMessageStorer struct {
|
||||||
payload []byte
|
payload []byte
|
||||||
syncRawMessageHandler *SyncRawMessageHandler
|
syncRawMessageHandler *SyncRawMessageHandler
|
||||||
@ -289,16 +296,22 @@ func (r *RawMessageStorer) Store() error {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
type InstallationPayloadReceiver struct {
|
type InstallationPayloadReceiver struct {
|
||||||
|
*BasePayloadReceiver
|
||||||
|
|
||||||
logger *zap.Logger
|
logger *zap.Logger
|
||||||
encryptor *PayloadEncryptor
|
encryptor *PayloadEncryptor
|
||||||
storer *InstallationPayloadStorer
|
storer *InstallationPayloadStorer
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewInstallationPayloadReceiver(logger *zap.Logger, encryptor *PayloadEncryptor, backend *api.GethStatusBackend, deviceType string) *InstallationPayloadReceiver {
|
func NewInstallationPayloadReceiver(logger *zap.Logger, e *PayloadEncryptor, backend *api.GethStatusBackend, deviceType string) *InstallationPayloadReceiver {
|
||||||
l := logger.Named("InstallationPayloadManager")
|
l := logger.Named("InstallationPayloadManager")
|
||||||
|
|
||||||
|
e = e.Renew()
|
||||||
|
|
||||||
return &InstallationPayloadReceiver{
|
return &InstallationPayloadReceiver{
|
||||||
|
BasePayloadReceiver: NewBaseBasePayloadReceiver(e),
|
||||||
logger: l,
|
logger: l,
|
||||||
encryptor: encryptor.Renew(),
|
encryptor: e,
|
||||||
storer: NewInstallationPayloadStorer(backend, deviceType),
|
storer: NewInstallationPayloadStorer(backend, deviceType),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -312,14 +325,6 @@ func (i *InstallationPayloadReceiver) Receive(data []byte) error {
|
|||||||
return i.storer.Store()
|
return i.storer.Store()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *InstallationPayloadReceiver) Received() []byte {
|
|
||||||
return i.encryptor.getDecrypted()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (i *InstallationPayloadReceiver) LockPayload() {
|
|
||||||
i.encryptor.lockPayload()
|
|
||||||
}
|
|
||||||
|
|
||||||
type InstallationPayloadStorer struct {
|
type InstallationPayloadStorer struct {
|
||||||
payload []byte
|
payload []byte
|
||||||
syncRawMessageHandler *SyncRawMessageHandler
|
syncRawMessageHandler *SyncRawMessageHandler
|
||||||
|
Loading…
x
Reference in New Issue
Block a user