mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2024-12-23 13:41:37 +00:00
6b21ad9922
Everywhere including examples, external interop APIs, bindings generators code and in other valuable places. A couple of `interface{}` usages are intentionally left in the CHANGELOG.md, documentation and tests.
29 lines
1.1 KiB
Go
29 lines
1.1 KiB
Go
/*
|
|
Package interop contains smart contract API functions and type synonyms.
|
|
Its subpackages can be imported into smart contracts written in Go to provide
|
|
various functionality. Upon compilation, functions from these packages will
|
|
be substituted with appropriate NeoVM system calls implemented by Neo. Usually
|
|
these system calls have additional price in NeoVM, so they're explicitly written
|
|
in the documentation of respective functions.
|
|
|
|
Types defined here are used for proper manifest generation. Here is how Go types
|
|
correspond to smartcontract and VM types:
|
|
|
|
int-like - Integer
|
|
bool - Boolean
|
|
[]byte - ByteArray (Buffer in VM)
|
|
string - String (ByteString in VM)
|
|
(interface{})(nil) - Any
|
|
(any)(nil) - Any
|
|
non-byte slice - Array
|
|
map[K]V - map
|
|
|
|
Other types are defined explicitly in this pkg:
|
|
[Hash160], [Hash256], [Interface], [PublicKey], [Signature].
|
|
|
|
Note that unless written otherwise structures defined in this packages can't be
|
|
correctly created by new() or composite literals, they should be received from
|
|
some interop functions (and then used as parameters for some other interop
|
|
functions).
|
|
*/
|
|
package interop
|