PathrockNetwork Gno Explorer
HomeBlocksTransactionsRealmsPackagesValidators

PathrockNetwork Gno Explorer — an independent explorer for Gno.land Mainnet (gnoland-1), operated by PathrockNetwork. Not an official Gno.land service.

gnowebarchive RPC

gno.land/r/gnoland/boards2/v0

Realm
Open in gnoweb ↗

Overview

Kind
Realm (renderable)
Name
v0
Namespace
gnoland / boards2
Files
252 (README)(gnomod.toml)
Exported functions
51
Module
gno.land/r/gnoland/boards2/v0
gno
0.9

Files (252)

  • README.mdmarkdown
  • gnomod.tomltoml
  • boards.gnogno
  • doc.gnogno
  • flag.gnogno
  • format.gnogno
  • hub.gnogno
  • meta.gnogno
  • permissions_validators_basic.gnogno
  • permissions_validators_open.gnogno
  • permissions.gnogno
  • public_ban.gnogno
  • public_flag.gnogno
  • public_freeze.gnogno
  • public_invite.gnogno
  • public_lock.gnogno
  • public.gnogno
  • render_board.gnogno
  • render_post.gnogno
  • render_reply.gnogno
  • render_thread.gnogno
  • render.gnogno
  • uris_board.gnogno
  • uris_post.gnogno
  • z_accept_invite_00_filetest.gnogno
  • z_accept_invite_01_filetest.gnogno
  • z_accept_invite_02_filetest.gnogno
  • z_accept_invite_03_filetest.gnogno
  • z_ban_00_filetest.gnogno
  • z_ban_01_filetest.gnogno
  • z_ban_02_filetest.gnogno
  • z_change_member_role_00_filetest.gnogno
  • z_change_member_role_01_filetest.gnogno
  • z_change_member_role_02_filetest.gnogno
  • z_change_member_role_03_filetest.gnogno
  • z_change_member_role_04_filetest.gnogno
  • z_change_member_role_05_filetest.gnogno
  • z_change_member_role_06_filetest.gnogno
  • z_change_member_role_07_filetest.gnogno
  • z_create_board_00_filetest.gnogno
  • z_create_board_01_filetest.gnogno
  • z_create_board_02_filetest.gnogno
  • z_create_board_03_filetest.gnogno
  • z_create_board_04_filetest.gnogno
  • z_create_board_05_filetest.gnogno
  • z_create_board_06_filetest.gnogno
  • z_create_board_07_filetest.gnogno
  • z_create_board_08_filetest.gnogno
  • z_create_board_09_filetest.gnogno
  • z_create_board_10_filetest.gnogno
  • z_create_reply_00_filetest.gnogno
  • z_create_reply_01_filetest.gnogno
  • z_create_reply_02_filetest.gnogno
  • z_create_reply_03_filetest.gnogno
  • z_create_reply_04_filetest.gnogno
  • z_create_reply_05_filetest.gnogno
  • z_create_reply_06_filetest.gnogno
  • z_create_reply_07_filetest.gnogno
  • z_create_reply_08_filetest.gnogno
  • z_create_reply_09_filetest.gnogno
  • z_create_reply_10_filetest.gnogno
  • z_create_reply_11_filetest.gnogno
  • z_create_reply_12_filetest.gnogno
  • z_create_reply_13_filetest.gnogno
  • z_create_reply_14_filetest.gnogno
  • z_create_reply_15_filetest.gnogno
  • z_create_reply_16_filetest.gnogno
  • z_create_repost_00_filetest.gnogno
  • z_create_repost_01_filetest.gnogno
  • z_create_repost_02_filetest.gnogno
  • z_create_repost_03_filetest.gnogno
  • z_create_repost_04_filetest.gnogno
  • z_create_thread_00_filetest.gnogno
  • z_create_thread_01_filetest.gnogno
  • z_create_thread_02_filetest.gnogno
  • z_create_thread_03_filetest.gnogno
  • z_create_thread_04_filetest.gnogno
  • z_create_thread_05_filetest.gnogno
  • z_create_thread_06_filetest.gnogno
  • z_delete_reply_00_filetest.gnogno
  • z_delete_reply_01_filetest.gnogno
  • z_delete_reply_02_filetest.gnogno
  • z_delete_reply_03_filetest.gnogno
  • z_delete_reply_04_filetest.gnogno
  • z_delete_reply_05_filetest.gnogno
  • z_delete_reply_06_filetest.gnogno
  • z_delete_reply_07_filetest.gnogno
  • z_delete_reply_08_filetest.gnogno
  • z_delete_reply_09_filetest.gnogno
  • z_delete_thread_00_filetest.gnogno
  • z_delete_thread_01_filetest.gnogno
  • z_delete_thread_02_filetest.gnogno
  • z_delete_thread_03_filetest.gnogno
  • z_delete_thread_04_filetest.gnogno
  • z_delete_thread_05_filetest.gnogno
  • z_delete_thread_06_filetest.gnogno
  • z_edit_reply_00_filetest.gnogno
  • z_edit_reply_01_filetest.gnogno
  • z_edit_reply_02_filetest.gnogno
  • z_edit_reply_03_filetest.gnogno
  • z_edit_reply_04_filetest.gnogno
  • z_edit_reply_05_filetest.gnogno
  • z_edit_reply_06_filetest.gnogno
  • z_edit_reply_07_filetest.gnogno
  • z_edit_reply_08_filetest.gnogno
  • z_edit_thread_00_filetest.gnogno
  • z_edit_thread_01_filetest.gnogno
  • z_edit_thread_02_filetest.gnogno
  • z_edit_thread_03_filetest.gnogno
  • z_edit_thread_04_filetest.gnogno
  • z_edit_thread_05_filetest.gnogno
  • z_edit_thread_06_filetest.gnogno
  • z_edit_thread_07_filetest.gnogno
  • z_flag_reply_00_filetest.gnogno
  • z_flag_reply_01_filetest.gnogno
  • z_flag_reply_02_filetest.gnogno
  • z_flag_reply_03_filetest.gnogno
  • z_flag_reply_04_filetest.gnogno
  • z_flag_reply_05_filetest.gnogno
  • z_flag_reply_06_filetest.gnogno
  • z_flag_reply_07_filetest.gnogno
  • z_flag_reply_08_filetest.gnogno
  • z_flag_reply_09_filetest.gnogno
  • z_flag_thread_00_filetest.gnogno
  • z_flag_thread_01_filetest.gnogno
  • z_flag_thread_02_filetest.gnogno
  • z_flag_thread_03_filetest.gnogno
  • z_flag_thread_04_filetest.gnogno
  • z_flag_thread_05_filetest.gnogno
  • z_flag_thread_06_filetest.gnogno
  • z_flag_thread_07_filetest.gnogno
  • z_flag_thread_08_filetest.gnogno
  • z_freeze_board_00_filetest.gnogno
  • z_freeze_board_01_filetest.gnogno
  • z_freeze_thread_00_filetest.gnogno
  • z_freeze_thread_01_filetest.gnogno
  • z_freeze_thread_02_filetest.gnogno
  • z_get_board_id_from_name_00_filetest.gnogno
  • z_get_board_id_from_name_01_filetest.gnogno
  • z_hub_0_a_filetest.gnogno
  • z_hub_0_b_filetest.gnogno
  • z_hub_0_c_filetest.gnogno
  • z_hub_1_a_filetest.gnogno
  • z_hub_1_b_filetest.gnogno
  • z_hub_1_c_filetest.gnogno
  • z_hub_2_a_filetest.gnogno
  • z_hub_2_b_filetest.gnogno
  • z_hub_3_a_filetest.gnogno
  • z_hub_3_b_filetest.gnogno
  • z_hub_4_a_filetest.gnogno
  • z_hub_4_b_filetest.gnogno
  • z_hub_5_a_filetest.gnogno
  • z_hub_5_b_filetest.gnogno
  • z_hub_6_a_filetest.gnogno
  • z_hub_6_b_filetest.gnogno
  • z_hub_6_c_filetest.gnogno
  • z_hub_6_d_filetest.gnogno
  • z_hub_6_e_filetest.gnogno
  • z_hub_7_a_filetest.gnogno
  • z_hub_7_b_filetest.gnogno
  • z_hub_8_a_filetest.gnogno
  • z_hub_8_b_filetest.gnogno
  • z_hub_8_c_filetest.gnogno
  • z_hub_9_a_filetest.gnogno
  • z_hub_9_b_filetest.gnogno
  • z_hub_9_c_filetest.gnogno
  • z_invite_member_00_filetest.gnogno
  • z_invite_member_01_filetest.gnogno
  • z_invite_member_02_filetest.gnogno
  • z_invite_member_03_filetest.gnogno
  • z_invite_member_04_filetest.gnogno
  • z_invite_member_05_filetest.gnogno
  • z_invite_member_06_filetest.gnogno
  • z_is_banned_00_filetest.gnogno
  • z_is_banned_01_filetest.gnogno
  • z_is_member_00_filetest.gnogno
  • z_is_member_01_filetest.gnogno
  • z_lock_realm_00_filetest.gnogno
  • z_lock_realm_01_filetest.gnogno
  • z_lock_realm_02_filetest.gnogno
  • z_lock_realm_03_filetest.gnogno
  • z_lock_realm_04_filetest.gnogno
  • z_lock_realm_05_filetest.gnogno
  • z_remove_member_00_filetest.gnogno
  • z_remove_member_01_filetest.gnogno
  • z_remove_member_02_filetest.gnogno
  • z_remove_member_03_filetest.gnogno
  • z_rename_board_00_filetest.gnogno
  • z_rename_board_01_filetest.gnogno
  • z_rename_board_02_filetest.gnogno
  • z_rename_board_03_filetest.gnogno
  • z_rename_board_04_filetest.gnogno
  • z_rename_board_05_filetest.gnogno
  • z_rename_board_06_filetest.gnogno
  • z_rename_board_07_filetest.gnogno
  • z_rename_board_08_filetest.gnogno
  • z_rename_board_09_filetest.gnogno
  • z_request_invite_00_filetest.gnogno
  • z_request_invite_01_filetest.gnogno
  • z_request_invite_02_filetest.gnogno
  • z_request_invite_03_filetest.gnogno
  • z_request_invite_04_filetest.gnogno
  • z_revoke_invite_00_filetest.gnogno
  • z_revoke_invite_01_filetest.gnogno
  • z_revoke_invite_02_filetest.gnogno
  • z_set_flagging_threshold_00_filetest.gnogno
  • z_set_flagging_threshold_01_filetest.gnogno
  • z_set_flagging_threshold_02_filetest.gnogno
  • z_set_permissions_00_filetest.gnogno
  • z_set_permissions_01_filetest.gnogno
  • z_set_permissions_02_filetest.gnogno
  • z_set_realm_notice_00_filetest.gnogno
  • z_set_realm_notice_01_filetest.gnogno
  • z_set_realm_notice_02_filetest.gnogno
  • z_set_realm_notice_03_filetest.gnogno
  • z_set_required_account_amount_00_filetest.gnogno
  • z_set_required_account_amount_01_filetest.gnogno
  • z_set_required_account_amount_02_filetest.gnogno
  • z_ui_admin_users_00_filetest.gnogno
  • z_ui_board_00_filetest.gnogno
  • z_ui_board_01_filetest.gnogno
  • z_ui_board_02_filetest.gnogno
  • z_ui_board_03_filetest.gnogno
  • z_ui_board_04_filetest.gnogno
  • z_ui_board_05_filetest.gnogno
  • z_ui_board_members_00_filetest.gnogno
  • z_ui_home_00_filetest.gnogno
  • z_ui_home_01_filetest.gnogno
  • z_ui_home_02_filetest.gnogno
  • z_ui_reply_00_filetest.gnogno
  • z_ui_reply_01_filetest.gnogno
  • z_ui_reply_02_filetest.gnogno
  • z_ui_reply_03_filetest.gnogno
  • z_ui_reply_04_filetest.gnogno
  • z_ui_thread_00_filetest.gnogno
  • z_ui_thread_01_filetest.gnogno
  • z_ui_thread_02_filetest.gnogno
  • z_ui_thread_03_filetest.gnogno
  • z_ui_thread_04_filetest.gnogno
  • z_ui_thread_05_filetest.gnogno
  • z_ui_thread_06_filetest.gnogno
  • z_ui_thread_07_filetest.gnogno
  • z_ui_thread_08_filetest.gnogno
  • z_ui_thread_09_filetest.gnogno
  • z_ui_thread_10_filetest.gnogno
  • z_ui_thread_11_filetest.gnogno
  • z_ui_thread_12_filetest.gnogno
  • z_ui_thread_13_filetest.gnogno
  • z_ui_thread_14_filetest.gnogno
  • z_unban_00_filetest.gnogno
  • z_unban_01_filetest.gnogno
  • z_unban_02_filetest.gnogno
  • public_freeze.gnogno
    1package boards223import (4	"chain"5	"strconv"67	"gno.land/p/gnoland/boards/v0"8

    Functions

    • AcceptInvite(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, user string)

    • AreRealmMembersLocked() bool

    • Ban(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, user string, hours uint, reason string)

    • BoardCount() int

    • ChangeMemberRole(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, member string, role string)

    • CreateBoard(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, name string, listed bool, open bool) uint64

    • CreateReply(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, replyID uint64, body string) uint64

    • CreateRepost(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, destinationBoardID uint64, title string, body string) uint64

    • CreateThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, title string, body string) uint64

    • DeleteReply(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, replyID uint64)

    • DeleteThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64)

    • EditReply(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, replyID uint64, body string)

    • EditThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, title string, body string)

    • FlagReply(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, replyID uint64, reason string)

    • FlagThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64, reason string)

    • FreezeBoard(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64)

    • FreezeThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64)

    • GetBoard(id uint64) (struct{id uint64; name string; aliases []string; readonly bool; threadCount int; memberCount int; creator .uverse.address; createdAt int64; updatedAt int64}, bool)

    • GetBoardIDFromName(interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, name string) (uint64, found bool)

    • GetBoards(start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Board

    • GetComment(boardID uint64, threadID uint64, commentID uint64) (struct{id uint64; boardID uint64; threadID uint64; parentID uint64; body string; hidden bool; replyCount int; flagCount int; creator .uverse.address; createdAt int64; updatedAt int64}, bool)

    • GetComments(boardID uint64, threadID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Comment

    • GetFlaggingThreshold(boardID uint64) int

    • GetFlags(boardID uint64, threadID uint64, commentID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Flag

    • GetMembers(boardID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Member

    • GetReplies(boardID uint64, threadID uint64, commentID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Comment

    • GetReposts(boardID uint64, threadID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Thread

    • GetThread(boardID uint64, threadID uint64) (struct{id uint64; originalBoardID uint64; originalThreadID uint64; boardID uint64; title string; body string; hidden bool; readonly bool; commentCount int; repostCount int; flagCount int; creator .uverse.address; createdAt int64; updatedAt int64}, bool)

    • GetThreads(boardID uint64, start int, count int) []gno.land/p/gnoland/boards/exts/hub/v0.Thread

    • HasMemberRole(boardID uint64, member string, role string) bool

    • InviteMember(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, user string, role string)

    • InviteMembers(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, invites ...gno.land/r/gnoland/boards2/v0.Invite)

    • IsBanned(boardID uint64, user string) bool

    • IsBoardFrozen(boardID uint64) bool

    • IsMember(boardID uint64, user string) bool

    • IsRealmLocked() bool

    • IsThreadFrozen(boardID uint64, threadID uint64) bool

    • LockRealm(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, lockRealmMembers bool)

    • RemoveMember(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, member string)

    • RenameBoard(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, name string, newName string)

    • Render(path string) string

    • RequestInvite(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64)

    • RevokeInvite(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, user string)

    • SetFlaggingThreshold(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threshold int)

    • SetHelp(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, content string)

    • SetPermissions(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, p interface {HasPermission func(.uverse.address, gno.land/p/gnoland/boards/v0.Permission) bool; HasRole func(.uverse.address, gno.land/p/gnoland/boards/v0.Role) bool; HasUser func(.uverse.address) bool; IterateUsers func(int, int, gno.land/p/gnoland/boards/v0.UsersIterFn) bool; RemoveUser func(.uverse.address) bool; SetUserRoles func(.uverse.address, ...gno.land/p/gnoland/boards/v0.Role); UsersCount func() int; WithPermission func(.uverse.address, gno.land/p/gnoland/boards/v0.Permission, gno.land/p/gnoland/boards/v0.Args, func())})

    • SetRealmNotice(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, message string)

    • SetRequiredAccountAmount(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, amount int64)

    • Unban(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, user string, reason string)

    • UnfreezeBoard(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64)

    • UnfreezeThread(cur interface {.seal func(); Address func() .uverse.address; IsCode func() bool; IsCurrent func() bool; IsEphemeral func() bool; IsUser func() bool; IsUserCall func() bool; IsUserRun func() bool; PkgPath func() string; Previous func() .uverse.realm; String func() string; Sub func(string) .uverse.realm; Subpath func() string}, boardID uint64, threadID uint64)

    Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.

    Rendered

    RenderedRawgnoweb ↗

    vm/qrender output, sanitized (docs/render-security.md) and displayed in an empty-sandbox iframe — scripts, forms and popups cannot run. Links stay inert in-preview; right-click to open.

    )
    9
    10// FreezeBoard freezes a board so no more threads and comments can be created or modified.
    11func FreezeBoard(cur realm, boardID boards.ID) {
    12 setBoardReadonly(0, cur, boardID, true)
    13}
    14
    15// UnfreezeBoard removes frozen status from a board.
    16func UnfreezeBoard(cur realm, boardID boards.ID) {
    17 setBoardReadonly(0, cur, boardID, false)
    18}
    19
    20// IsBoardFrozen checks if a board has been frozen.
    21func IsBoardFrozen(boardID boards.ID) bool {
    22 board := mustGetBoard(boardID)
    23 return board.Readonly
    24}
    25
    26// FreezeThread freezes a thread so thread cannot be replied, modified or deleted.
    27//
    28// Fails if board is frozen.
    29func FreezeThread(cur realm, boardID, threadID boards.ID) {
    30 setThreadReadonly(0, cur, boardID, threadID, true)
    31}
    32
    33// UnfreezeThread removes frozen status from a thread.
    34//
    35// Fails if board is frozen.
    36func UnfreezeThread(cur realm, boardID, threadID boards.ID) {
    37 setThreadReadonly(0, cur, boardID, threadID, false)
    38}
    39
    40// IsThreadFrozen checks if a thread has been frozen.
    41//
    42// Returns true if board is frozen.
    43func IsThreadFrozen(boardID, threadID boards.ID) bool {
    44 board := mustGetBoard(boardID)
    45 thread := mustGetThread(board, threadID)
    46 return board.Readonly || thread.Readonly
    47}
    48
    49func setBoardReadonly(_ int, rlm realm, boardID boards.ID, readonly bool) {
    50 if !rlm.IsCurrent() {
    51 panic("unauthorized: rlm is not the caller's live cur")
    52 }
    53 assertRealmIsNotLocked()
    54
    55 board := mustGetBoard(boardID)
    56 if readonly {
    57 assertBoardIsNotFrozen(board)
    58 }
    59
    60 caller := rlm.Previous().Address()
    61 args := boards.Args{caller, board.ID, readonly}
    62 board.Permissions.WithPermission(caller, PermissionBoardFreeze, args, func() {
    63 assertRealmIsNotLocked()
    64
    65 board.Readonly = readonly
    66
    67 chain.Emit(
    68 "BoardFreeze",
    69 "caller", caller.String(),
    70 "boardID", board.ID.String(),
    71 "frozen", strconv.FormatBool(readonly),
    72 )
    73 })
    74}
    75
    76func setThreadReadonly(_ int, rlm realm, boardID, threadID boards.ID, readonly bool) {
    77 if !rlm.IsCurrent() {
    78 panic("unauthorized: rlm is not the caller's live cur")
    79 }
    80 assertRealmIsNotLocked()
    81
    82 board := mustGetBoard(boardID)
    83 assertBoardIsNotFrozen(board)
    84
    85 thread := mustGetThread(board, threadID)
    86 if readonly {
    87 assertThreadIsNotFrozen(thread)
    88 }
    89
    90 caller := rlm.Previous().Address()
    91 args := boards.Args{caller, board.ID, thread.ID, readonly}
    92 board.Permissions.WithPermission(caller, PermissionThreadFreeze, args, func() {
    93 assertRealmIsNotLocked()
    94
    95 thread.Readonly = readonly
    96
    97 chain.Emit(
    98 "ThreadFreeze",
    99 "caller", caller.String(),
    100 "boardID", board.ID.String(),
    101 "threadID", thread.ID.String(),
    102 "frozen", strconv.FormatBool(readonly),
    103 )
    104 })
    105}
    106