Documentation ¶
Index ¶
- Constants
- Variables
- func DecodeContractRegistry(contractRegistry *collections.ImmutableMap) (map[isc.Hname]*ContractRecord, error)
- func GetContractRegistry(state kv.KVStore) *collections.Map
- func GetContractRegistryR(state kv.KVStoreReader) *collections.ImmutableMap
- func SetSchemaVersion(state kv.KVStore, v isc.SchemaVersion)
- type ContractRecord
- type StateAccess
Constants ¶
View Source
const ( VarSchemaVersion = "v" VarContractRegistry = "r" VarDeployPermissionsEnabled = "a" VarDeployPermissions = "p" )
state variables
View Source
const ( ParamDeployer = "dp" ParamHname = "hn" ParamName = "nm" ParamProgramHash = "ph" ParamContractRecData = "dt" ParamContractFound = "cf" ParamDeployPermissionsEnabled = "de" )
request parameters
Variables ¶
View Source
var ( // Funcs FuncDeployContract = coreutil.Func("deployContract") FuncGrantDeployPermission = coreutil.Func("grantDeployPermission") FuncRevokeDeployPermission = coreutil.Func("revokeDeployPermission") FuncRequireDeployPermissions = coreutil.Func("requireDeployPermissions") // Views ViewFindContract = coreutil.ViewFunc("findContract") ViewGetContractRecords = coreutil.ViewFunc("getContractRecords") )
View Source
var Contract = coreutil.NewContract(coreutil.CoreContractRoot)
Functions ¶
func DecodeContractRegistry ¶
func DecodeContractRegistry(contractRegistry *collections.ImmutableMap) (map[isc.Hname]*ContractRecord, error)
DecodeContractRegistry encodes the whole contract registry from the map into a Go map.
func GetContractRegistry ¶ added in v0.3.0
func GetContractRegistry(state kv.KVStore) *collections.Map
func GetContractRegistryR ¶ added in v0.3.0
func GetContractRegistryR(state kv.KVStoreReader) *collections.ImmutableMap
func SetSchemaVersion ¶ added in v1.0.3
func SetSchemaVersion(state kv.KVStore, v isc.SchemaVersion)
Types ¶
type ContractRecord ¶
type ContractRecord struct { // The ProgramHash uniquely defines the program of the smart contract // It is interpreted either as one of builtin contracts (including examples) // or a hash (reference) to the of the blob in 'blob' contract in the 'program binary' format, // i.e. with at least 2 pre-defined fields: // - VarFieldVType // - VarFieldProgramBinary ProgramHash hashing.HashValue // Unique name of the contract on the chain. The real identity of the instance on the chain // is hname(name) = isc.Hn(name) Name string }
ContractRecord is a structure which contains metadata of the deployed contract instance
func ContractRecordFromBytes ¶ added in v0.2.0
func ContractRecordFromBytes(data []byte) (*ContractRecord, error)
func ContractRecordFromContractInfo ¶ added in v0.3.0
func ContractRecordFromContractInfo(itf *coreutil.ContractInfo) *ContractRecord
func FindContract ¶
func FindContract(state kv.KVStoreReader, hname isc.Hname) *ContractRecord
FindContract is an internal utility function which finds a contract in the KVStore It is called from within the 'root' contract as well as VMContext and viewcontext objects It is not directly exposed to the sandbox If contract is not found by the given hname, nil is returned
func (*ContractRecord) Bytes ¶ added in v0.2.0
func (p *ContractRecord) Bytes() []byte
func (*ContractRecord) Hname ¶
func (p *ContractRecord) Hname() isc.Hname
type StateAccess ¶ added in v1.0.3
type StateAccess struct {
// contains filtered or unexported fields
}
func NewStateAccess ¶ added in v1.0.3
func NewStateAccess(store kv.KVStoreReader) *StateAccess
func (*StateAccess) SchemaVersion ¶ added in v1.0.3
func (sa *StateAccess) SchemaVersion() isc.SchemaVersion
Source Files ¶
Click to show internal directories.
Click to hide internal directories.