sarafu-vise/handlers/event/custodial.go

48 lines
1.3 KiB
Go

package event
import (
"context"
"fmt"
apievent "git.grassecon.net/grassrootseconomics/sarafu-api/event"
"git.grassecon.net/grassrootseconomics/sarafu-vise/store"
)
const (
// TODO: consolidate with loaded flags
accountCreatedFlag = 9
)
// handle custodial registration.
//
// TODO: implement account created in userstore instead, so that
// the need for persister and state use here is eliminated (it
// introduces concurrency risks)
func (eh *EventsUpdater) handleCustodialRegistration(ctx context.Context, ev any) error {
o, ok := ev.(*apievent.EventCustodialRegistration)
if !ok {
return fmt.Errorf("invalid event for custodial registration")
}
return eh.HandleCustodialRegistration(ctx, o)
}
func (eu *EventsUpdater) HandleCustodialRegistration(ctx context.Context, ev *apievent.EventCustodialRegistration) error {
_, userStore, err := eu.getStore(ctx)
if err != nil {
return err
}
identity, err := store.IdentityFromAddress(ctx, userStore, ev.Account)
if err != nil {
return err
}
// err = pe.Load(identity.SessionId)
// if err != nil {
// return err
// }
// st := pe.GetState()
// st.SetFlag(accountCreatedFlag)
// return pe.Save(identity.SessionId)
logg.DebugCtxf(ctx, "received custodial registration event", "identity", identity)
return nil
}