neo-go/pkg/smartcontract/call_flags.go
Evgenii Stratonikov 61edc8705e smartcontract: start flags with 1
`iota` keyword is equal to the index of the declaration in the
corresponding block, thus AllowStates was 2 in our case.
2020-06-11 13:03:55 +03:00

20 lines
440 B
Go

package smartcontract
// CallFlag represents call flag.
type CallFlag byte
// Default flags.
const (
AllowStates CallFlag = 1 << iota
AllowModifyStates
AllowCall
AllowNotify
ReadOnly = AllowStates | AllowCall | AllowNotify
All = ReadOnly | AllowModifyStates
NoneFlag CallFlag = 0
)
// 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
}