46 lines
1.3 KiB
Nim
46 lines
1.3 KiB
Nim
{.used.}
|
|
|
|
import json_serialization
|
|
|
|
import ../../eventemitter
|
|
import identity_image
|
|
|
|
include multi_accounts
|
|
|
|
export identity_image
|
|
|
|
type
|
|
Account* = ref object of RootObj
|
|
name*: string
|
|
keyUid* {.serializedFieldName("key-uid").}: string
|
|
identityImage*: IdentityImage
|
|
identicon*: string
|
|
|
|
type
|
|
NodeAccount* = ref object of Account
|
|
timestamp*: int
|
|
keycardPairing* {.serializedFieldName("keycard-pairing").}: string
|
|
|
|
type
|
|
GeneratedAccount* = ref object
|
|
publicKey*: string
|
|
address*: string
|
|
id*: string
|
|
mnemonic*: string
|
|
derived*: MultiAccounts
|
|
# FIXME: should inherit from Account but multiAccountGenerateAndDeriveAddresses
|
|
# response has a camel-cased properties like "publicKey" and "keyUid", so the
|
|
# serializedFieldName pragma would need to be different
|
|
name*: string
|
|
keyUid*: string
|
|
identicon*: string
|
|
identityImage*: IdentityImage
|
|
|
|
proc toAccount*(account: GeneratedAccount): Account =
|
|
result = Account(name: account.name, identityImage: account.identityImage, identicon: account.identicon, keyUid: account.keyUid)
|
|
|
|
proc toAccount*(account: NodeAccount): Account =
|
|
result = Account(name: account.name, identityImage: account.identityImage, identicon: account.identicon, keyUid: account.keyUid)
|
|
|
|
type AccountArgs* = ref object of Args
|
|
account*: Account |