channels_reads.gno
1.82 Kb · 14 lines
1package memba_weighted_host
2
3import "strconv"
4
5func (h *Host) channelsConfigJSON() string {
6 if h.channelsPolicy==nil { return "" }
7 return `,"channelsPolicy":{"target":`+quoteJSON(ChannelsPath)+`,"successor":`+quoteJSON(string(h.channelsPolicy.Successor()))+`,"memberCategory":"critical","unpauseCategory":"financial","emergencyPause":true,"returnStagesOnly":true,"invalidatesOtherProposals":true}`
8}
9func channelsStateJSON(s ChannelsState) string {
10 return `{"owner":`+quoteJSON(string(s.Owner))+`,"pendingOwner":`+quoteJSON(string(s.PendingOwner))+`,"paused":`+strconv.FormatBool(s.Paused)+`,"memberCount":`+quoteJSON(strconv.Itoa(s.MemberCount))+`,"membershipRevision":`+quoteJSON(strconv.FormatUint(s.MembershipRevision,10))+`,"ownerMember":`+strconv.FormatBool(s.OwnerMember)+`,"daoMember":`+strconv.FormatBool(s.DAOMember)+`,"successorMember":`+strconv.FormatBool(s.SuccessorMember)+`,"subjectMember":`+strconv.FormatBool(s.SubjectMember)+`,"ownerRoles":`+quoteJSON(s.OwnerRoles)+`,"daoRoles":`+quoteJSON(s.DAORoles)+`,"successorRoles":`+quoteJSON(s.SuccessorRoles)+`,"subjectRoles":`+quoteJSON(s.SubjectRoles)+`,"channelCount":`+quoteJSON(strconv.Itoa(s.ChannelCount))+`,"channelExists":`+strconv.FormatBool(s.ChannelExists)+`,"channelDescription":`+quoteJSON(s.ChannelDescription)+`,"channelType":`+quoteJSON(s.ChannelType)+`,"channelReadRoles":`+quoteJSON(s.ChannelReadRoles)+`,"channelWriteRoles":`+quoteJSON(s.ChannelWriteRoles)+`}`
11}
12func channelsActionJSON(a ChannelsAction, s ChannelsState) string {
13 return `{"type":"channels","target":`+quoteJSON(ChannelsPath)+`,"operation":`+quoteJSON(string(a.Kind()))+`,"recipient":`+quoteJSON(string(a.Recipient()))+`,"subject":`+quoteJSON(string(a.Subject()))+`,"roles":`+quoteJSON(a.Roles())+`,"name":`+quoteJSON(a.Name())+`,"description":`+quoteJSON(a.Description())+`,"before":`+channelsStateJSON(s)+`}`
14}