root

package
v1.0.1-legacy-migration Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 20, 2024 License: Apache-2.0 Imports: 10 Imported by: 2

Documentation

Index

Constants

View Source
const (
	VarSchemaVersion            = "v" // covered in: TestDeployNativeContract
	VarContractRegistry         = "r" // covered in: TestDeployNativeContract
	VarDeployPermissionsEnabled = "a" // covered in: TestDeployNativeContract
	VarDeployPermissions        = "p" // covered in: TestDeployNativeContract
)

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")
)

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

func (*ContractRecord) Read

func (p *ContractRecord) Read(r io.Reader) error

func (*ContractRecord) Write

func (p *ContractRecord) Write(w io.Writer) error

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL