forked from TrueCloudLab/neoneo-go
f8a11f61b6
1. Remove GetScript, IsPayable, GetStorageContext.
2. Revert 82319538
related to GetStorageContext.
3. Rename Migrate to Update.
4. Move remaining to System.Contract.*.
Related #1031.
34 lines
1.5 KiB
Go
34 lines
1.5 KiB
Go
/*
|
|
Package contract provides functions to work with contracts.
|
|
*/
|
|
package contract
|
|
|
|
// Contract represents a Neo contract and is used in interop functions. It's
|
|
// an opaque data structure that you can manipulate with using functions from
|
|
// this package. It's similar in function to the Contract class in the Neo .net
|
|
// framework.
|
|
type Contract struct{}
|
|
|
|
// Create creates a new contract using a set of input parameters:
|
|
// script contract's bytecode (limited in length by 1M)
|
|
// manifest contract's manifest (limited in length by 2 KiB)
|
|
// It returns this new created Contract when successful (and fails transaction
|
|
// if not). It uses `System.Contract.Create` syscall.
|
|
func Create(script []byte, manifest []byte) Contract {
|
|
return Contract{}
|
|
}
|
|
|
|
// Update updates script and manifest of the calling contract (that is the one that calls Update)
|
|
// to the new ones. Its parameters have exactly the same semantics as for
|
|
// Create. The old contract will be deleted by this call, if it has any storage
|
|
// associated it will be migrated to the new contract. New contract is returned.
|
|
// This function uses `System.Contract.Update` syscall.
|
|
func Update(script []byte, manifest []byte) Contract {
|
|
return Contract{}
|
|
}
|
|
|
|
// Destroy deletes calling contract (the one that calls Destroy) from the
|
|
// blockchain, so it's only possible to do that from the contract itself and
|
|
// not by any outside code. When contract is deleted all associated storage
|
|
// items are deleted too. This function uses `System.Contract.Destroy` syscall.
|
|
func Destroy() {}
|