nim-chat-poc/src/chat/identity.nim
Jazz Turner-Baggs 3bff3c99a6
refactor invite
2025-12-15 14:02:30 -08:00

34 lines
744 B
Nim

import crypto
import results
type
Identity* = object
name*: string
privateKey*: PrivateKey # TODO: protect key exposure
#################################################
# Constructors
#################################################
proc createIdentity*(name: string): Identity =
let privKey = createRandomKey().get()
result = Identity(name: name, privateKey: privKey)
#################################################
# Parameter Access
#################################################
proc getPubkey*(self: Identity): PublicKey =
result = self.privateKey.getPublicKey()
proc getAddr*(self: Identity): string =
result = get_addr(self.getPubKey())
proc getName*(self: Identity): string =
result = self.name