1package hub23import (4 "gno.land/p/gnoland/boards/v0"5)67// Member defines a safe type for board members.8type Member struct {9 // address is the account address of the member.10 address address1112 // roles contains the names of the roles assigned to the member.13 roles []string14}1516// Address returns the account address of the member.17func (m Member) Address() address { return m.address }1819// Roles returns the names of the roles assigned to the member.20func (m Member) Roles() []string { return append([]string(nil), m.roles...) }2122// NewSafeMember creates a safe board member.23func NewSafeMember(ref boards.User) Member {24 roles := make([]string, len(ref.Roles))25 for i, r := range ref.Roles {26 roles[i] = string(r)27 }2829 return Member{30 address: ref.Address,31 roles: roles,32 }33}34Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.