2020-03-19 15:52:37 +00:00
|
|
|
package smartcontract
|
|
|
|
|
|
|
|
// CallFlag represents call flag.
|
|
|
|
type CallFlag byte
|
|
|
|
|
|
|
|
// Default flags.
|
|
|
|
const (
|
2020-06-10 07:49:18 +00:00
|
|
|
AllowStates CallFlag = 1 << iota
|
|
|
|
AllowModifyStates
|
2020-03-19 15:52:37 +00:00
|
|
|
AllowCall
|
|
|
|
AllowNotify
|
2020-06-10 14:24:48 +00:00
|
|
|
ReadOnly = AllowStates | AllowCall | AllowNotify
|
|
|
|
All = ReadOnly | AllowModifyStates
|
|
|
|
NoneFlag CallFlag = 0
|
2020-03-19 15:52:37 +00:00
|
|
|
)
|
2020-06-10 12:50:51 +00:00
|
|
|
|
|
|
|
// Has returns true iff all bits set in cf are also set in f.
|
|
|
|
func (f CallFlag) Has(cf CallFlag) bool {
|
|
|
|
return f&cf == cf
|
|
|
|
}
|