event.gno

2.64 Kb · 64 lines
 1package event
 2
 3import (
 4	"gno.land/p/zenao/basedao"
 5	"gno.land/p/zenao/daocond"
 6	"gno.land/p/zenao/daokit"
 7	"gno.land/p/zenao/events"
 8	zenaov1 "gno.land/p/zenao/zenao/v1"
 9	"gno.land/r/demo/profile"
10	"gno.land/r/zenao/eventreg"
11	"gno.land/r/zenao/social_feed"
12)
13
14var (
15	DAO        daokit.DAO
16	daoPrivate *basedao.DAOPrivate
17	event      *events.Event
18)
19
20func init() {
21	conf := events.Config{
22		Organizers:       []string{"g1p2n7qemafv2ttnyxat92vsqa5zgm8m4z55nvax"},
23		Gatekeepers:      []string{"g1g4qmy97ezjwly5plqkxj6msvufhcu4ahqd7pg4"},
24		Title:            "\"Just Make!\" Sprint Week",
25		Description:      "## Overview\n\nThe Gno Core team is booking a small coworking space and getting together with DevRel and partner teams in Lyon. The goal is to meet in person and launch the betanet release candidate (and hopefully, the betanet!). It's meant to be an in-person sprint week where we push towards the launch.\n\n## Things to know\n- This gathering hasn't been given budget approval. Everyone makes their own travel arrangements, but keep your receipts just in case we manage to get approval after the fact.\n- Try to get to Lyon on Aug 31, so you'd be fresh on Monday morning.\n- We don't have any organized activities planned for the evenings. No events or swag planned. Bring good vibes, and a charged computer!\n- We're expecting around 20 people from core, DevRel, Samourai, Onbloc and Berty.\n- Coworking space is available from 9:00 to 18:30 every day.\n- If you plan to come, please let Mig know so he could keep track of attendees.",
26		ImageURI:         "ipfs://bafkreibz3uex666csujjye6a5huaew4jxs6l2upheheshho2ve3qpwxju4",
27		StartDate:        1756710000,
28		EndDate:          1757108700,
29		Capacity:         25,
30		GetProfileString: profile.GetStringField,
31		SetProfileString: profile.SetStringField,
32		ZenaoAdminAddr:   "g1djrkw9tf4px658j85cc6fhsvm50uf9s0g6kfsm",
33		Location: &zenaov1.EventLocation{
34			Address: &zenaov1.AddressGeo{
35				Address: "La Bulle - Rue Fénelon, 69006 Lyon, France",
36				Lat:     45.764347,
37				Lng:     4.843437,
38			},
39		},
40		ParticipationPubkey: "84kUHwr-1K_uhhJ55Gewc8kKygbHS_s27Im98DgFrns",
41	}
42	event = events.NewEvent(&conf)
43	daoPrivate = event.DAOPrivate
44	DAO = event.DAO
45	eventreg.Register(func() *zenaov1.EventInfo { return event.Info() })
46	social_feed.NewFeed("main", false, IsMember)
47}
48
49// Set public to be used as auth layer for external entities (e.g polls)
50func IsMember(memberId string) bool {
51	return daoPrivate.Members.IsMember(memberId)
52}
53
54func Vote(proposalID uint64, vote daocond.Vote) {
55	DAO.Vote(proposalID, vote)
56}
57
58func Execute(proposalID uint64) {
59	DAO.Execute(proposalID)
60}
61
62func Render(path string) string {
63	return event.Render(path)
64}