1package grc721v223const (4 MaxNameLen = 645 MaxSymbolLen = 116)78var zeroAddress = address("")910func isValidAddress(addr address) error {11 if !addr.IsValid() {12 return ErrInvalidAddress13 }14 return nil15}1617func validName(name string) bool {18 if name == "" || len(name) > MaxNameLen {19 return false20 }21 for _, c := range name {22 if c < 0x20 || c == 0x7f {23 return false24 }25 }26 return true27}2829func validSymbol(symbol string) bool {30 if symbol == "" || len(symbol) > MaxSymbolLen {31 return false32 }33 for _, c := range symbol {34 if !isAlnum(c) && c != '_' && c != '-' {35 return false36 }37 }38 return true39}4041func isAlnum(c rune) bool {42 return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || (c >= '0' && c <= '9')43}44Signatures reconstructed verbatim from vm/qfuncs — interface params keep their inline definitions.