Search Apps Documentation Source Content File Folder Download Copy Actions Download

fee_collector.gno

0.76 Kb · 42 lines
 1package admin
 2
 3import (
 4	"chain"
 5
 6	"gno.land/p/g1nqnrt3aldzhu6zzeg75yw97wvavqy7wr77g56q/deploy-test/v2/accesscontrol"
 7)
 8
 9const (
10	SetFeeCollectorEvent = "SetFeeCollector"
11)
12
13var (
14	feeCollectorAddr address
15)
16
17func init() {
18	feeCollectorAddr = chain.PackageAddress("gno.land/r/g1nqnrt3aldzhu6zzeg75yw97wvavqy7wr77g56q/deploy-test/v2/admin")
19}
20
21func GetFeeCollector() address {
22	return feeCollectorAddr
23}
24
25func SetFeeCollector(cur realm, addr address) {
26	assertNotFrozen()
27	accesscontrol.AssertIsAdmin(0, cur, IsAdmin)
28
29	assertValidAddress(addr)
30	oldAddr := feeCollectorAddr
31	feeCollectorAddr = addr
32
33	chain.Emit(
34		SetFeeCollectorEvent,
35		"oldAddr", oldAddr.String(),
36		"newAddr", addr.String(),
37	)
38}
39
40func IsFeeCollector(address address) bool {
41	return address == feeCollectorAddr
42}