package nep11 import ( "github.com/nspcc-dev/neo-go/pkg/rpcclient/unwrap" "github.com/nspcc-dev/neo-go/pkg/util" ) // NonDivisibleReader is a reader interface for non-divisble NEP-11 contract. type NonDivisibleReader struct { BaseReader } // NonDivisible is a state-changing interface for non-divisble NEP-11 contract. type NonDivisible struct { NonDivisibleReader BaseWriter } // NewNonDivisibleReader creates an instance of NonDivisibleReader for a contract // with the given hash using the given invoker. func NewNonDivisibleReader(invoker Invoker, hash util.Uint160) *NonDivisibleReader { return &NonDivisibleReader{*NewBaseReader(invoker, hash)} } // NewNonDivisible creates an instance of NonDivisible for a contract // with the given hash using the given actor. func NewNonDivisible(actor Actor, hash util.Uint160) *NonDivisible { return &NonDivisible{*NewNonDivisibleReader(actor, hash), BaseWriter{hash, actor}} } // OwnerOf returns the owner of the given NFT. func (t *NonDivisibleReader) OwnerOf(token []byte) (util.Uint160, error) { return unwrap.Uint160(t.invoker.Call(t.hash, "ownerOf", token)) }