package main import ( "github.com/nspcc-dev/neo-go/pkg/interop" "github.com/nspcc-dev/neo-go/pkg/interop/storage" ) func CreateUser(login string, password interop.Hash256) { ctx := storage.GetContext() storedValue := storage.Get(ctx, login).(interop.Hash256) if storedValue != nil { panic("This user already exists") } else { storage.Put(ctx, login, password) } } func CheckUser(login string, givenPassword interop.Hash256) { password := GetUser(login) if !password.Equals(givenPassword) { panic("Password hashes does not match") } } func GetUser(login string) interop.Hash256 { ctx := storage.GetReadOnlyContext() password := storage.Get(ctx, login).(interop.Hash256) if password == nil { panic("The user does not exist") } return password } func DeleteUser(login string) { ctx := storage.GetContext() storage.Delete(ctx, login) } func UpdateUser(login string, password interop.Hash256) { ctx := storage.GetContext() storedValue := storage.Get(ctx, login).(interop.Hash256) if storedValue == nil { panic("This user does not exist") } else { storage.Put(ctx, login, password) } }