user.gno
1.84 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: "zôÖma",
20 Bio: "---\nsocialMediaLinks:\n - url: 'https://www.samourai.world '\n - url: 'https://www.samourai.fun'\n - url: 'https://www.zenao.io'\n - url: 'https://www.p2p.paris'\n - url: 'https://x.com/zo_oma_'\n - url: 'https://github.com/zxxma'\n - url: 'https://www.samourai.tv/'\n - url: 'https://www.instagram.com/zo___oma/'\nlocation: Paris & Internets\nshortBio: Building future of coop organizations\nbannerUri: 'ipfs://bafybeidp4z4cywvdzoyqgdolcqmmxeug62qukpl3nfumjquqragxwr7bny'\nskills:\n - name: Production\n - name: Coordination\n - name: Team Lead\n - name: Art Direction\n - name: Research\n - name: UX/UI\n - name: 'DAOs, Coop & P2P gov'\n---\nFounder @ Samouraï Coop / Zenao / Paris P2P / Teritori / Gnolove\nResearcher around future of social organizations.\nBuilding, coordinating & decentralizing stuff since 2014. 🤘\n",
21 AvatarURI: "ipfs://bafybeifxg7gz5vu3m4fmoyqfia4d6ewb4bwlaz4lqkiiazhexjmac5yxom",
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}