user.gno

1.81 Kb ยท 49 lines
 1package user
 2
 3import (
 4	"gno.land/p/zenao/users"
 5	"gno.land/r/demo/profile"
 6	"gno.land/p/zenao/daokit"
 7	"gno.land/p/zenao/daocond"
 8)
 9
10var (
11	DAO      daokit.DAO
12	localDAO daokit.DAO
13
14	user *users.User // XXX: needed for backward compatibility with frontend queries
15)
16
17func init() {
18	user = users.NewUser(&users.Config{
19		Name: "Mikael Vallenet",
20		Bio: "---\nsocialMediaLinks: []\nlocation: ''\nshortBio: ''\n---\nSamourai Crew Member (Tech division) ๐Ÿฅท\n\nSoftware Engineer (back & blockchain) ๐Ÿ‘จ\u200d๐Ÿ’ป\n\nStill a student for a few months before finishing my master's degree. ๐Ÿ‘จ\u200d๐ŸŽ“\n\nI like to spend my time on the computer (gaming, coding, tinkering) โš™๏ธ\n\nI like to code back-end / system stuff in Go ๐Ÿ’™ i'm bad at UI but still trying to improve with some side projects \n\nI studied 1 year in Australia at Monash University, Melbourne ๐Ÿ‡ฆ๐Ÿ‡บ\n\nMaster LoL ADC & MID (I decayed since i stopped playing) ๐Ÿ•น๏ธ\n\nI'd like to run a semi-marathon & bench 100KG at bench press before end of the year ๐Ÿ‹๏ธ\u200dโ™‚๏ธ\n\nI also want to travel in many countries including (Canada, South Korea, Japan, Vietnam, Brazil, ...) โœˆ๏ธ\n",
21		AvatarURI: "ipfs://bafybeid7hxv6nhe47kv5oaqxuntogm4jmld3jidvlvy54fytvpjbj6plae",
22		GetProfileString: profile.GetStringField,
23		SetProfileString: profile.SetStringField,
24		ZenaoAdminAddr: "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
25		CrossFn: crossFn,
26		SetImplemFn: setImplem,
27		PrivateVarName: "user",
28	})
29}
30
31func Vote(_ realm, proposalID uint64, vote daocond.Vote) {
32	localDAO.Vote(proposalID, vote)
33}
34
35func Execute(_ realm, proposalID uint64) {
36	localDAO.Execute(proposalID)
37}
38
39func Render(path string) string {
40	return localDAO.Render(path)
41}
42
43func crossFn(_ realm, cb func()) {
44	cb()
45}
46
47func setImplem(newLocalDAO daokit.DAO, newDAO daokit.DAO) {
48	localDAO, DAO = newLocalDAO, newDAO
49}