ownable.gno
0.56 Kb · 32 lines
1// Package ownable proposes an abstraction around the ownership which provides
2// various kind of owners and some composition options.
3package ownable
4
5import "chain/runtime"
6
7type Owner interface {
8 Addr() address
9 Kind() Kind
10 owner()
11}
12
13type Kind int
14
15type UserOwner struct {
16 addr address
17}
18
19type RealmOwner struct {
20 realm runtime.Realm
21}
22
23type MembstoreOwner struct {
24 // membstore.Membstore
25}
26
27type DAOOwner struct {
28 // dao.DAO
29}
30
31func And(a Owner, b ...Owner) Owner { panic("not implemented") }
32func Or(a Owner, b ...Owner) Owner { panic("not implemented") }