diff --git a/docs/runtime.md b/docs/runtime.md deleted file mode 100644 index 7f047db2f..000000000 --- a/docs/runtime.md +++ /dev/null @@ -1,517 +0,0 @@ -# Runtime -A brief overview of NEO smart contract API's that can be used in the neo-go framework. - -# Overview -1. [Account]() -2. [Asset]() -3. [Attribute]() -4. [Block]() -5. [Blockchain]() -6. [Contract]() -7. [Crypto]() -8. [Engine]() -9. [Enumerator]() -10. [Iterator]() -11. [Header]() -12. [Input]() -13. [Output]() -14. [Runtime]() -15. [Storage]() -16. [Transaction]() -17. [Util]() - -## Account -#### GetScriptHash -``` -GetScriptHash(a Account) []byte -``` -Returns the script hash of the given account. - -#### GetVotes -``` -GetVotes(a Account) [][]byte -``` -Returns the the votes (a slice of public keys) of the given account. - -#### GetBalance -``` -GetBalance(a Account, assetID []byte) int -``` -Returns the balance of the given asset id for the given account. - -## Asset -#### GetAssetID -``` -GetAssetID(a Asset) []byte -``` -Returns the id of the given asset. - -#### GetAmount -``` -GetAmount(a Asset) int -``` -Returns the amount of the given asset id. - -#### GetAvailable -``` -GetAvailable(a Asset) int -``` -Returns the available amount of the given asset. - -#### GetPrecision -``` -GetPrecision(a Asset) byte -``` -Returns the precision of the given Asset. - -#### GetOwner -``` -GetOwner(a Asset) []byte -``` -Returns the owner of the given asset. - -#### GetAdmin -``` -GetAdmin(a Asset) []byte -``` -Returns the admin of the given asset. - -#### GetIssuer -``` -GetIssuer(a Asset) []byte -``` -Returns the issuer of the given asset. - -#### Create -``` -Create(type byte, name string, amount int, precision byte, owner, admin, issuer []byte) -``` -Creates a new asset on the blockchain. - -#### Renew -``` -Renew(asset Asset, years int) -``` -Renews the given asset as long as the given years. - -## Attribute -#### GetUsage -``` -GetUsage(attr Attribute) []byte -``` -Returns the usage of the given attribute. - -#### GetData -``` -GetData(attr Attribute) []byte -``` -Returns the data of the given attribute. - -## Block -#### GetTransactionCount -``` -GetTransactionCount(b Block) int -``` -Returns the number of transactions that are recorded in the given block. - -#### GetTransactions -``` -GetTransactions(b Block) []transaction.Transaction -``` -Returns a slice of the transactions that are recorded in the given block. - -#### GetTransaction -``` -GetTransaction(b Block, hash []byte) transaction.Transaction -``` -Returns the transaction by the given hash that is recorded in the given block. - -## Blockchain -#### GetHeight -``` -GetHeight() int -``` -Returns the current height of the blockchain. - -#### GetHeader -``` -GetHeader(heightOrHash []interface{}) header.Header -``` -Return the header by the given hash or index. - -#### GetBlock -``` -GetBlock(heightOrHash interface{}) block.Block -``` -Returns the block by the given hash or index. - -#### GetTransaction -``` -GetTransaction(hash []byte) transaction.Transaction -``` -Returns a transaction by the given hash. - -#### GetContract -``` -GetContract(scriptHash []byte) contract.Contract -``` -Returns the contract found by the given script hash. - -#### GetAccount -``` -GetAccount(scriptHash []byte) account.Account -``` -Returns the account found by the given script hash. - -#### GetValiditors -``` -GetValidators() [][]byte -``` -Returns a list of validators public keys. - -#### GetAsset -``` -GetAsset(assetID []byte) asset.Asset -``` -Returns the asset found by the given asset id. - -## Contract -#### GetScript -``` -GetScript(c Contract) []byte -``` -Return the script of the given contract. - -#### IsPayable -``` -IsPayable(c Contract) bool -``` -Returns whether the given contract is payable. - -#### GetStorageContext -``` -GetStorageContext(c Contract) -``` -Returns the storage context of the given contract. - -#### Create -``` -Create( - script []byte, - params []interface{}, - returnType byte, - properties interface{}, - name, - version, - author, - email, - description string) -``` -Creates a new contract on the blockchain. - -#### Migrate -``` -Migrate( - script []byte, - params []interface{}, - returnType byte, - properties interface{}, - name, - version, - author, - email, - description string) -``` -Migrates a contract on the blockchain. - -#### Destroy -``` -Destroy(c Contract) -``` -Deletes the given contract from the blockchain. - -## Crypto -#### SHA1 -``` -SHA1(data []byte) []byte -``` -Computes the sha1 hash of the given bytes - -#### SHA256 -``` -SHA256(data []byte) []byte -``` -Computes the sha256 hash of the given bytes - -#### Hash256 -``` -Hash256(data []byte) []byte -``` -Computes the sha256^2 of the given data. - -#### Hash160 -``` -Hash160(data []byte) []byte) []byte -``` -Computes the ripemd160 over the sha256 hash of the given data. - -## Engine -#### GetScriptContainer -``` -GetScriptContainer() transaction.Transaction -``` -Returns the transaction that is in the context of the VM execution. - -#### GetExecutingScriptHash -``` -GetExecutingScriptHash() []byte -``` -Returns the script hash of the contract that is currently being executed. - -#### GetCallingScriptHash -``` -GetCallingScriptHash() []byte -``` -Returns the script hash of the contract that has started the execution of the current script. - -#### GetEntryScriptHash -``` -GetEntryScriptHash() []byte -``` -Returns the script hash of the contract that started the execution from the start. - -## Enumerator -#### Create -``` -Create(items []inteface{}) Enumerator -``` -Create a enumerator from the given items. - -#### Next -``` -Next(e Enumerator) interface{} -``` -Returns the next item from the given enumerator. - -#### Value -``` -Value(e Enumerator) interface{} -``` -Returns the enumerator value. - -## Iterator -#### Create -``` -Create(items []inteface{}) Iterator -``` -Creates an iterator from the given items. - -#### Key -``` -Key(it Iterator) interface{} -``` -Return the key from the given iterator. - -#### Keys -``` -Keys(it Iterator) []interface{} -``` -Returns the iterator's keys - -#### Values -``` -Values(it Iterator) []interface{} -``` -Returns the iterator's values - -## Header -#### GetIndex -``` -GetIndex(h Header) int -``` -Returns the height of the given header. - -#### GetHash -``` -GetHash(h Header) []byte -``` -Returns the hash of the given header. - -#### GetPrevHash -``` -GetPrevhash(h Header) []byte -``` -Returns the previous hash of the given header. - -#### GetTimestamp -``` -GetTimestamp(h Header) int -``` -Returns the timestamp of the given header. - -#### GetVersion -``` -GetVersion(h Header) int -``` -Returns the version of the given header. - -#### GetMerkleroot -``` -GetMerkleRoot(h Header) []byte -``` -Returns the merkle root of the given header. - -#### GetConsensusData -``` -GetConsensusData(h Header) int -``` -Returns the consensus data of the given header. - -#### GetNextConsensus -``` -GetNextConsensus(h Header) []byte -``` -Returns the next consensus of the given header. - -## Input -#### GetHash -``` -GetHash(in Input) []byte -``` -Returns the hash field of the given input. - -#### GetIndex -``` -GetIndex(in Input) int -``` -Returns the index field of the given input. - -## Output -#### GetAssetID -``` -GetAssetId(out Output) []byte -``` -Returns the asset id field of the given output. - -#### GetValue -``` -GetValue(out Output) int -``` -Returns the value field of the given output. - -#### GetScriptHash -``` -GetScriptHash(out Output) []byte -``` -Returns the script hash field of the given output. - -## Runtime -#### CheckWitness -``` -CheckWitness(hash []byte) bool -``` -Verifies if the given hash is the hash of the contract owner. - -#### Log -``` -Log(message string) -``` -Logs the given message. - -#### Notify -``` -Notify(args ...interface{}) int -``` -Notify any number of arguments to the VM. - -#### GetTime -``` -GetTime() int -``` -Returns the current time based on the highest block in the chain. - -#### GetTrigger -``` -GetTrigger() byte -``` -Returns the trigger type of the execution. - -#### Serialize -``` -Serialize(item interface{}) []byte -``` -Serialize the given stack item to a slice of bytes. - -#### Deserialize -``` -Deserialize(data []byte) interface{} -``` -Deserializes the given data to a stack item. - -## Storage -#### GetContext -``` -GetContext() Context -``` -Returns the current storage context. - -#### Put -``` -Put(ctx Context, key, value []interface{}) -``` -Stores the given value at the given key. - -#### Get -``` -Get(ctx Context, key interface{}) interface{} -``` -Returns the value found at the given key. - -#### Delete -``` -Delete(ctx Context, key interface{}) -``` -Delete's the given key from storage. - -#### Find -``` -Find(ctx Context, key interface{}) iterator.Iterator -``` -Find returns an iterator key-values that match the given key. - -## Transaction -#### GetHash -``` -GetHash(t Transacfion) []byte -``` -Returns the hash for the given transaction. - -#### GetType -``` -GetType(t Transacfion) byte -``` -Returns the type of the given transaction. - -#### GetAttributes -``` -GetAttributes(t Transacfion) []attribute.Attribute -``` -Returns the attributes of the given transaction. - -#### GetReferences -``` -GetReferences(t Transacfion) interface{} -``` -Returns the references of the given transaction. - -#### GetOutputs -``` -GetOutputs(t Transacfion) []output.Output -``` -Returns the outputs of the given transaction - -#### GetInputs -``` -GetInputs(t Transacfion) []input.Input -``` -Returns the inputs of the given transaction