github.com/ontio/ontology@v1.14.4/vm/neovm/types/interop_value.go (about) 1 /* 2 * Copyright (C) 2018 The ontology Authors 3 * This file is part of The ontology library. 4 * 5 * The ontology is free software: you can redistribute it and/or modify 6 * it under the terms of the GNU Lesser General Public License as published by 7 * the Free Software Foundation, either version 3 of the License, or 8 * (at your option) any later version. 9 * 10 * The ontology is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with The ontology. If not, see <http://www.gnu.org/licenses/>. 17 */ 18 19 package types 20 21 import ( 22 "bytes" 23 24 "github.com/ontio/ontology/vm/neovm/interfaces" 25 ) 26 27 type InteropValue struct { 28 Data interfaces.Interop 29 } 30 31 func NewInteropValue(value interfaces.Interop) InteropValue { 32 return InteropValue{Data: value} 33 } 34 35 func (this *InteropValue) Equals(other InteropValue) bool { 36 // todo: both nil? 37 if this.Data == nil || other.Data == nil { 38 return false 39 } 40 return bytes.Equal(this.Data.ToArray(), other.Data.ToArray()) 41 }