chain

package
v0.0.0-...-c626c17 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2019 License: MIT Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const (

	/// sizeof
	SizeOfInt32 = 4
	SizeOfInt64 = 8
)
View Source
const (
	SPECULATIVE = DBReadMode(iota)
	HEADER      //HEAD
	READONLY
	IRREVERSIBLE
)
View Source
const (
	FULL = ValidationMode(iota)
	LIGHT
)

Variables

This section is empty.

Functions

func ApplyEosioNewaccount

func ApplyEosioNewaccount(context *ApplyContext)

func CommonTypeDefs

func CommonTypeDefs() []abi.TypeDef

func EosioContractAbi

func EosioContractAbi(eosioSystemAbi abi.AbiDef) *abi.AbiDef

func ExtractGenesisState

func ExtractGenesisState(dataDir string) types.GenesisState

func NewIteratorCache

func NewIteratorCache() *iteratorCache

Types

type ApplyContext

type ApplyContext struct {
	Control *Controller

	DB                 *database.LDataBase
	TrxContext         *TransactionContext
	Act                *types.Action
	Receiver           common.AccountName
	UsedAuthorizations []bool
	RecurseDepth       uint32
	Privileged         bool
	ContextFree        bool
	UsedContestFreeApi bool
	Trace              types.ActionTrace

	//GenericIndex
	KeyvalCache          *iteratorCache
	Notified             []common.AccountName
	InlineActions        []types.Action
	CfaInlineActions     []types.Action
	PendingConsoleOutput string
	AccountRamDeltas     AccountDeltaSet
	// contains filtered or unexported fields
}

func NewApplyContext

func NewApplyContext(control *Controller, trxContext *TransactionContext, act *types.Action, recurseDepth uint32) *ApplyContext

func (*ApplyContext) AddRamUsage

func (a *ApplyContext) AddRamUsage(account common.AccountName, ramDelta int64)

func (*ApplyContext) CancelDeferredTransaction

func (a *ApplyContext) CancelDeferredTransaction(sendId *eos_math.Uint128) bool

func (*ApplyContext) CancelDeferredTransaction2

func (a *ApplyContext) CancelDeferredTransaction2(sendId *eos_math.Uint128, sender common.AccountName) bool

func (*ApplyContext) CheckAuthorization

func (a *ApplyContext) CheckAuthorization(actions []*types.Action,
	providedKeys *PublicKeySet,
	providedPermissions *PermissionLevelSet,
	delayUS uint64)

func (*ApplyContext) CheckAuthorization2

func (a *ApplyContext) CheckAuthorization2(n common.AccountName,
	permission common.PermissionName,
	providedKeys *PublicKeySet,
	providedPermissions *PermissionLevelSet,
	delayUS uint64)

func (*ApplyContext) CheckTime

func (a *ApplyContext) CheckTime()

context system api

func (*ApplyContext) ContextAppend

func (a *ApplyContext) ContextAppend(str string)

func (*ApplyContext) ContextFreeAction

func (a *ApplyContext) ContextFreeAction() bool

func (*ApplyContext) CurrentTime

func (a *ApplyContext) CurrentTime() common.TimePoint

func (*ApplyContext) DbEndI64

func (a *ApplyContext) DbEndI64(code uint64, scope uint64, table uint64) int

func (*ApplyContext) DbFindI64

func (a *ApplyContext) DbFindI64(code uint64, scope uint64, table uint64, id uint64) int

func (*ApplyContext) DbGetI64

func (a *ApplyContext) DbGetI64(iterator int, buffer []byte, bufferSize int) int

func (*ApplyContext) DbLowerboundI64

func (a *ApplyContext) DbLowerboundI64(code uint64, scope uint64, table uint64, id uint64) int

func (*ApplyContext) DbNextI64

func (a *ApplyContext) DbNextI64(iterator int, primary *uint64) int

func (*ApplyContext) DbPreviousI64

func (a *ApplyContext) DbPreviousI64(iterator int, primary *uint64) int

func (*ApplyContext) DbRemoveI64

func (a *ApplyContext) DbRemoveI64(iterator int)

func (*ApplyContext) DbStoreI64

func (a *ApplyContext) DbStoreI64(scope uint64, table uint64, payer uint64, id uint64, buffer []byte) int

context database api

func (*ApplyContext) DbUpdateI64

func (a *ApplyContext) DbUpdateI64(iterator int, payer uint64, buffer []byte)

func (*ApplyContext) DbUpperboundI64

func (a *ApplyContext) DbUpperboundI64(code uint64, scope uint64, table uint64, id uint64) int

func (*ApplyContext) Exec

func (a *ApplyContext) Exec(trace *types.ActionTrace)

func (*ApplyContext) ExecuteContextFreeInline

func (a *ApplyContext) ExecuteContextFreeInline(act *types.Action)

func (a *ApplyContext) ExecuteContextFreeInline(action []byte) {

func (*ApplyContext) ExecuteInline

func (a *ApplyContext) ExecuteInline(act *types.Action)

func (a *ApplyContext) ExecuteInline(action []byte) {

func (*ApplyContext) Expiration

func (a *ApplyContext) Expiration() common.TimePointSec

func (a *ApplyContext) Expiration() int { return int(a.TrxContext.Trx.Expiration) }

func (*ApplyContext) FinalizeTrace

func (a *ApplyContext) FinalizeTrace(trace *types.ActionTrace, start *common.TimePoint)

func (*ApplyContext) FindOrCreateTable

func (a *ApplyContext) FindOrCreateTable(code uint64, scope uint64, table uint64, payer uint64) *entity.TableIdObject

func (*ApplyContext) FindTable

func (a *ApplyContext) FindTable(code uint64, scope uint64, table uint64) *entity.TableIdObject

func (*ApplyContext) GetAccountCreateTime

func (a *ApplyContext) GetAccountCreateTime(account common.AccountName) common.TimePoint

func (*ApplyContext) GetAccountLimits

func (a *ApplyContext) GetAccountLimits(
	account common.AccountName,
	ramBytes *int64,
	netWeight *int64,
	cpuWeight *int64)

func (*ApplyContext) GetAct

func (a *ApplyContext) GetAct() common.ActionName

func (*ApplyContext) GetAction

func (a *ApplyContext) GetAction(typ uint32, index int) *types.Action

func (*ApplyContext) GetActionData

func (a *ApplyContext) GetActionData() []byte

context action api

func (*ApplyContext) GetActiveProducersInBytes

func (a *ApplyContext) GetActiveProducersInBytes() (data []byte)

func (*ApplyContext) GetBlockchainParameters

func (a *ApplyContext) GetBlockchainParameters() *types.ChainConfig

func (*ApplyContext) GetBlockchainParametersPacked

func (a *ApplyContext) GetBlockchainParametersPacked() []byte

func (*ApplyContext) GetCode

func (a *ApplyContext) GetCode() common.AccountName

func (*ApplyContext) GetContextFreeData

func (a *ApplyContext) GetContextFreeData(index int, bufferSize int) (int, []byte)

func (*ApplyContext) GetPackedTransaction

func (a *ApplyContext) GetPackedTransaction() *types.Transaction

func (*ApplyContext) GetPermissionLastUsed

func (a *ApplyContext) GetPermissionLastUsed(account common.AccountName, permission common.PermissionName) common.TimePoint

func (*ApplyContext) GetReceiver

func (a *ApplyContext) GetReceiver() common.AccountName

func (*ApplyContext) HasAuthorization

func (a *ApplyContext) HasAuthorization(account int64) bool

func (*ApplyContext) HasRecipient

func (a *ApplyContext) HasRecipient(code int64) bool

func (*ApplyContext) Idx128End

func (a *ApplyContext) Idx128End(code uint64, scope uint64, table uint64) int

func (*ApplyContext) Idx128FindPrimary

func (a *ApplyContext) Idx128FindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, primary uint64) int

func (*ApplyContext) Idx128FindSecondary

func (a *ApplyContext) Idx128FindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, primary *uint64) int

func (*ApplyContext) Idx128Lowerbound

func (a *ApplyContext) Idx128Lowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, primary *uint64) int

func (*ApplyContext) Idx128Next

func (a *ApplyContext) Idx128Next(iterator int, primary *uint64) int

func (*ApplyContext) Idx128Previous

func (a *ApplyContext) Idx128Previous(iterator int, primary *uint64) int

func (*ApplyContext) Idx128Remove

func (a *ApplyContext) Idx128Remove(iterator int)

func (*ApplyContext) Idx128Store

func (a *ApplyContext) Idx128Store(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Uint128) int

func (*ApplyContext) Idx128Update

func (a *ApplyContext) Idx128Update(iterator int, payer uint64, value *eos_math.Uint128)

func (*ApplyContext) Idx128Upperbound

func (a *ApplyContext) Idx128Upperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, primary *uint64) int

func (*ApplyContext) Idx256End

func (a *ApplyContext) Idx256End(code uint64, scope uint64, table uint64) int

func (*ApplyContext) Idx256FindPrimary

func (a *ApplyContext) Idx256FindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, primary uint64) int

func (*ApplyContext) Idx256FindSecondary

func (a *ApplyContext) Idx256FindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, primary *uint64) int

func (*ApplyContext) Idx256Lowerbound

func (a *ApplyContext) Idx256Lowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, primary *uint64) int

func (*ApplyContext) Idx256Next

func (a *ApplyContext) Idx256Next(iterator int, primary *uint64) int

func (*ApplyContext) Idx256Previous

func (a *ApplyContext) Idx256Previous(iterator int, primary *uint64) int

func (*ApplyContext) Idx256Remove

func (a *ApplyContext) Idx256Remove(iterator int)

func (*ApplyContext) Idx256Store

func (a *ApplyContext) Idx256Store(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Uint256) int

func (*ApplyContext) Idx256Update

func (a *ApplyContext) Idx256Update(iterator int, payer uint64, value *eos_math.Uint256)

func (*ApplyContext) Idx256Upperbound

func (a *ApplyContext) Idx256Upperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, primary *uint64) int

func (*ApplyContext) Idx64End

func (a *ApplyContext) Idx64End(code uint64, scope uint64, table uint64) int

func (*ApplyContext) Idx64FindPrimary

func (a *ApplyContext) Idx64FindPrimary(code uint64, scope uint64, table uint64, secondary *uint64, primary uint64) int

func (*ApplyContext) Idx64FindSecondary

func (a *ApplyContext) Idx64FindSecondary(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int

func (*ApplyContext) Idx64Lowerbound

func (a *ApplyContext) Idx64Lowerbound(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int

func (*ApplyContext) Idx64Next

func (a *ApplyContext) Idx64Next(iterator int, primary *uint64) int

func (*ApplyContext) Idx64Previous

func (a *ApplyContext) Idx64Previous(iterator int, primary *uint64) int

func (*ApplyContext) Idx64Remove

func (a *ApplyContext) Idx64Remove(iterator int)

func (*ApplyContext) Idx64Store

func (a *ApplyContext) Idx64Store(scope uint64, table uint64, payer uint64, id uint64, value *uint64) int

index for sceondarykey

func (*ApplyContext) Idx64Update

func (a *ApplyContext) Idx64Update(iterator int, payer uint64, value *uint64)

func (*ApplyContext) Idx64Upperbound

func (a *ApplyContext) Idx64Upperbound(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int

func (*ApplyContext) IdxDoubleEnd

func (a *ApplyContext) IdxDoubleEnd(code uint64, scope uint64, table uint64) int

func (*ApplyContext) IdxDoubleFindPrimary

func (a *ApplyContext) IdxDoubleFindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, primary uint64) int

func (*ApplyContext) IdxDoubleFindSecondary

func (a *ApplyContext) IdxDoubleFindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, primary *uint64) int

func (*ApplyContext) IdxDoubleLowerbound

func (a *ApplyContext) IdxDoubleLowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, primary *uint64) int

func (*ApplyContext) IdxDoubleNext

func (a *ApplyContext) IdxDoubleNext(iterator int, primary *uint64) int

func (*ApplyContext) IdxDoublePrevious

func (a *ApplyContext) IdxDoublePrevious(iterator int, primary *uint64) int

func (*ApplyContext) IdxDoubleRemove

func (a *ApplyContext) IdxDoubleRemove(iterator int)

func (*ApplyContext) IdxDoubleStore

func (a *ApplyContext) IdxDoubleStore(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Float64) int

func (*ApplyContext) IdxDoubleUpdate

func (a *ApplyContext) IdxDoubleUpdate(iterator int, payer uint64, value *eos_math.Float64)

func (*ApplyContext) IdxDoubleUpperbound

func (a *ApplyContext) IdxDoubleUpperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, primary *uint64) int

func (*ApplyContext) IdxLongDoubleEnd

func (a *ApplyContext) IdxLongDoubleEnd(code uint64, scope uint64, table uint64) int

func (*ApplyContext) IdxLongDoubleFindPrimary

func (a *ApplyContext) IdxLongDoubleFindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, primary uint64) int

func (*ApplyContext) IdxLongDoubleFindSecondary

func (a *ApplyContext) IdxLongDoubleFindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, primary *uint64) int

func (*ApplyContext) IdxLongDoubleLowerbound

func (a *ApplyContext) IdxLongDoubleLowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, primary *uint64) int

func (*ApplyContext) IdxLongDoubleNext

func (a *ApplyContext) IdxLongDoubleNext(iterator int, primary *uint64) int

func (*ApplyContext) IdxLongDoublePrevious

func (a *ApplyContext) IdxLongDoublePrevious(iterator int, primary *uint64) int

func (*ApplyContext) IdxLongDoubleRemove

func (a *ApplyContext) IdxLongDoubleRemove(iterator int)

func (*ApplyContext) IdxLongDoubleStore

func (a *ApplyContext) IdxLongDoubleStore(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Float128) int

func (*ApplyContext) IdxLongDoubleUpdate

func (a *ApplyContext) IdxLongDoubleUpdate(iterator int, payer uint64, value *eos_math.Float128)

func (*ApplyContext) IdxLongDoubleUpperbound

func (a *ApplyContext) IdxLongDoubleUpperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, primary *uint64) int

func (*ApplyContext) InlineActionTooBig

func (a *ApplyContext) InlineActionTooBig(dataLen int) bool

context transaction api

func (*ApplyContext) IsAccount

func (a *ApplyContext) IsAccount(n int64) bool

func (a *ApplyContext) RequireAuthorizations(account common.AccountName) {}

func (*ApplyContext) IsPrivileged

func (a *ApplyContext) IsPrivileged(n common.AccountName) bool

func (*ApplyContext) PauseBillingTimer

func (a *ApplyContext) PauseBillingTimer()

func (*ApplyContext) PublicationTime

func (a *ApplyContext) PublicationTime() common.TimePoint

func (*ApplyContext) RemoveTable

func (a *ApplyContext) RemoveTable(tid entity.TableIdObject)

func (*ApplyContext) RequireAuthorization

func (a *ApplyContext) RequireAuthorization(account int64)

context authorization api

func (*ApplyContext) RequireAuthorization2

func (a *ApplyContext) RequireAuthorization2(account int64, permission int64)

func (*ApplyContext) RequireRecipient

func (a *ApplyContext) RequireRecipient(recipient int64)

func (*ApplyContext) ResumeBillingTimer

func (a *ApplyContext) ResumeBillingTimer()

func (*ApplyContext) ScheduleDeferredTransaction

func (a *ApplyContext) ScheduleDeferredTransaction(sendId *eos_math.Uint128, payer common.AccountName, trx *types.Transaction, replaceExisting bool)

func (*ApplyContext) SetAccountLimits

func (a *ApplyContext) SetAccountLimits(
	account common.AccountName,
	ramBytes int64,
	netWeight int64,
	cpuWeight int64) bool

func (*ApplyContext) SetBlockchainParameters

func (a *ApplyContext) SetBlockchainParameters(cfg *types.ChainConfig)

func (*ApplyContext) SetBlockchainParametersPacked

func (a *ApplyContext) SetBlockchainParametersPacked(parameters []byte)

func (*ApplyContext) SetPrivileged

func (a *ApplyContext) SetPrivileged(n common.AccountName, isPriv bool)

func (*ApplyContext) SetProposedProducers

func (a *ApplyContext) SetProposedProducers(data []byte) int64

context producer api

func (*ApplyContext) TaposBlockNum

func (a *ApplyContext) TaposBlockNum() int

func (*ApplyContext) TaposBlockPrefix

func (a *ApplyContext) TaposBlockPrefix() int

func (*ApplyContext) UpdateDbUsage

func (a *ApplyContext) UpdateDbUsage(payer common.AccountName, delta int64)

func (*ApplyContext) ValidateRamUsageInsert

func (a *ApplyContext) ValidateRamUsageInsert(account common.AccountName)

type AuthorizationManager

type AuthorizationManager struct {
	// contains filtered or unexported fields
}

func (*AuthorizationManager) CheckAuthorization

func (a *AuthorizationManager) CheckAuthorization(actions []*types.Action,
	providedKeys *PublicKeySet,
	providedPermissions *PermissionLevelSet,
	providedDelay common.Microseconds,
	checkTime *func(),
	allowUnusedKeys bool,
)

func (*AuthorizationManager) CheckAuthorization2

func (a *AuthorizationManager) CheckAuthorization2(account common.AccountName,
	permission common.PermissionName,
	providedKeys *PublicKeySet,
	providedPermissions *PermissionLevelSet,
	providedDelay common.Microseconds,
	checkTime *func(),
	allowUnusedKeys bool,
)

func (*AuthorizationManager) CheckCancelDelayAuthorization

func (a *AuthorizationManager) CheckCancelDelayAuthorization(cancel CancelDelay, auths []common.PermissionLevel) common.Microseconds

func (*AuthorizationManager) CheckDeleteAuthAuthorization

func (a *AuthorizationManager) CheckDeleteAuthAuthorization(del DeleteAuth, auths []common.PermissionLevel)

func (*AuthorizationManager) CheckLinkAuthAuthorization

func (a *AuthorizationManager) CheckLinkAuthAuthorization(link LinkAuth, auths []common.PermissionLevel)

func (*AuthorizationManager) CheckUnLinkAuthAuthorization

func (a *AuthorizationManager) CheckUnLinkAuthAuthorization(unlink UnLinkAuth, auths []common.PermissionLevel)

func (*AuthorizationManager) CheckUpdateAuthAuthorization

func (a *AuthorizationManager) CheckUpdateAuthAuthorization(update UpdateAuth, auths []common.PermissionLevel)

func (*AuthorizationManager) CreatePermission

func (a *AuthorizationManager) CreatePermission(account common.AccountName,
	name common.PermissionName,
	parent PermissionIdType,
	auth types.Authority,
	initialCreationTime common.TimePoint,
) *entity.PermissionObject

func (*AuthorizationManager) FindPermission

func (a *AuthorizationManager) FindPermission(level *common.PermissionLevel) (p *entity.PermissionObject)

func (*AuthorizationManager) GetPermission

func (a *AuthorizationManager) GetPermission(level *common.PermissionLevel) (p *entity.PermissionObject)

func (*AuthorizationManager) GetPermissionLastUsed

func (a *AuthorizationManager) GetPermissionLastUsed(permission *entity.PermissionObject) common.TimePoint

func (*AuthorizationManager) GetRequiredKeys

func (a *AuthorizationManager) GetRequiredKeys(trx *types.Transaction,
	candidateKeys *PublicKeySet,
	providedDelay common.Microseconds) PublicKeySet

func (*AuthorizationManager) LookupLinkedPermission

func (a *AuthorizationManager) LookupLinkedPermission(authorizerAccount common.AccountName,
	scope common.AccountName,
	actName common.ActionName,
) (p *common.PermissionName)

func (*AuthorizationManager) LookupMinimumPermission

func (a *AuthorizationManager) LookupMinimumPermission(authorizerAccount common.AccountName,
	scope common.AccountName,
	actName common.ActionName,
) (p *common.PermissionName)

func (*AuthorizationManager) ModifyPermission

func (a *AuthorizationManager) ModifyPermission(permission *entity.PermissionObject, auth *types.Authority)

func (*AuthorizationManager) RemovePermission

func (a *AuthorizationManager) RemovePermission(permission *entity.PermissionObject)

func (*AuthorizationManager) UpdatePermissionUsage

func (a *AuthorizationManager) UpdatePermissionUsage(permission *entity.PermissionObject)

type BlockLog

type BlockLog struct {
	// contains filtered or unexported fields
}

func NewBlockLog

func NewBlockLog(dataDir string) *BlockLog

func (*BlockLog) Append

func (b *BlockLog) Append(block *types.SignedBlock) uint64

func (*BlockLog) Close

func (b *BlockLog) Close()

func (*BlockLog) ConstructIndex

func (b *BlockLog) ConstructIndex()

func (*BlockLog) GetBlockPos

func (b *BlockLog) GetBlockPos(blockNum uint32) uint64

func (*BlockLog) Head

func (b *BlockLog) Head() *types.SignedBlock

func (*BlockLog) ReadBlock

func (b *BlockLog) ReadBlock(pos uint64) (*types.SignedBlock, uint64)

func (*BlockLog) ReadBlockById

func (b *BlockLog) ReadBlockById(id *common.BlockIdType) *types.SignedBlock

func (*BlockLog) ReadBlockByNum

func (b *BlockLog) ReadBlockByNum(blockNum uint32) *types.SignedBlock

func (*BlockLog) ReadHead

func (b *BlockLog) ReadHead() *types.SignedBlock

func (*BlockLog) ResetToGenesis

func (b *BlockLog) ResetToGenesis(gs *types.GenesisState, benesisBlock *types.SignedBlock) uint64

type CancelDelay

type CancelDelay struct {
	CancelingAuth common.PermissionLevel   `json:""`
	TrxId         common.TransactionIdType `json:""`
}

func (CancelDelay) GetAccount

func (c CancelDelay) GetAccount() common.AccountName

func (CancelDelay) GetName

func (c CancelDelay) GetName() common.ActionName

type Config

type Config struct {
	ActorWhitelist          AccountNameSet //common.AccountName
	ActorBlacklist          AccountNameSet //common.AccountName
	ContractWhitelist       AccountNameSet //common.AccountName
	ContractBlacklist       AccountNameSet //common.AccountName]struct{}
	ActionBlacklist         NamePairSet    //common.Pair //see actionBlacklist
	KeyBlacklist            PublicKeySet
	ResourceGreylist        AccountNameSet
	TrustedProducers        AccountNameSet
	BlocksDir               string
	StateDir                string
	StateSize               uint64
	StateGuardSize          uint64
	ReversibleCacheSize     uint64
	ReversibleGuardSize     uint64
	ReadOnly                bool
	ForceAllChecks          bool
	DisableReplayOpts       bool
	DisableReplay           bool
	ContractsConsole        bool
	AllowRamBillingInNotify bool
	Genesis                 *types.GenesisState
	VmType                  wasmgo.WasmGo
	ReadMode                DBReadMode
	BlockValidationMode     ValidationMode
}

func NewConfig

func NewConfig() *Config

type Controller

type Controller struct {
	DB                             database.DataBase
	UndoSession                    database.Session
	ReversibleBlocks               database.DataBase
	Blog                           *BlockLog
	Pending                        *PendingState
	Head                           *types.BlockState
	ForkDB                         *ForkDatabase
	WasmIf                         *wasmgo.WasmGo
	ResourceLimits                 *ResourceLimitsManager
	Authorization                  *AuthorizationManager
	Config                         Config //local	Config
	ChainID                        common.ChainIdType
	RePlaying                      bool
	ReplayHeadTime                 common.TimePoint //optional<common.Tstamp>
	ReadMode                       DBReadMode
	InTrxRequiringChecks           bool                //if true, checks that are normally skipped on replay (e.g. auth checks) cannot be skipped
	SubjectiveCupLeeway            common.Microseconds //optional<common.Tstamp>
	TrustedProducerLightValidation bool                //default value false
	ApplyHandlers                  map[string]v
	UnappliedTransactions          map[crypto.Sha256]types.TransactionMetadata
	PreAcceptedBlock               include.Signal
	AcceptedBlockHeader            include.Signal
	AcceptedBlock                  include.Signal
	IrreversibleBlock              include.Signal
	AcceptedTransaction            include.Signal
	AppliedTransaction             include.Signal
	AcceptedConfirmation           include.Signal
	BadAlloc                       include.Signal
}

func NewController

func NewController(cfg *Config) *Controller

func (*Controller) AbortBlock

func (c *Controller) AbortBlock()

func (*Controller) ActiveProducers

func (c *Controller) ActiveProducers() *types.ProducerScheduleType

func (*Controller) AddResourceGreyList

func (c *Controller) AddResourceGreyList(name common.AccountName)

func (*Controller) CheckActionList

func (c *Controller) CheckActionList(code common.AccountName, action common.ActionName)

func (*Controller) CheckActorList

func (c *Controller) CheckActorList(actors *AccountNameSet)

func (*Controller) CheckContractList

func (c *Controller) CheckContractList(code common.AccountName)

func (*Controller) CheckKeyList

func (c *Controller) CheckKeyList(key *ecc.PublicKey)

func (*Controller) Close

func (c *Controller) Close()

func (*Controller) CommitBlock

func (c *Controller) CommitBlock(addToForkDb bool)

func (*Controller) ContractsConsole

func (c *Controller) ContractsConsole() bool

func (*Controller) CreateNativeAccount

func (c *Controller) CreateNativeAccount(name common.AccountName, owner types.Authority, active types.Authority, isPrivileged bool)

func (*Controller) DataBase

func (c *Controller) DataBase() database.DataBase

func (*Controller) DropAllUnAppliedTransactions

func (c *Controller) DropAllUnAppliedTransactions()

func (*Controller) DropUnappliedTransaction

func (c *Controller) DropUnappliedTransaction(metadata *types.TransactionMetadata)

func (*Controller) FetchBlockById

func (c *Controller) FetchBlockById(id common.BlockIdType) *types.SignedBlock

func (*Controller) FetchBlockByNumber

func (c *Controller) FetchBlockByNumber(blockNum uint32) *types.SignedBlock

func (*Controller) FetchBlockStateById

func (c *Controller) FetchBlockStateById(id common.BlockIdType) *types.BlockState

func (*Controller) FetchBlockStateByNumber

func (c *Controller) FetchBlockStateByNumber(blockNum uint32) *types.BlockState

func (*Controller) FinalizeBlock

func (c *Controller) FinalizeBlock()

func (*Controller) FindApplyHandler

func (c *Controller) FindApplyHandler(receiver common.AccountName,
	scope common.AccountName,
	act common.ActionName) func(*ApplyContext)

func (*Controller) ForkDataBase

func (c *Controller) ForkDataBase() *ForkDatabase

func (*Controller) ForkDbHeadBlockId

func (c *Controller) ForkDbHeadBlockId() common.BlockIdType

func (*Controller) ForkDbHeadBlockNum

func (c *Controller) ForkDbHeadBlockNum() uint32

func (*Controller) ForkDbHeadBlockProducer

func (c *Controller) ForkDbHeadBlockProducer() common.AccountName

func (*Controller) ForkDbHeadBlockTime

func (c *Controller) ForkDbHeadBlockTime() common.TimePoint

func (*Controller) GetAccount

func (c *Controller) GetAccount(name common.AccountName) *entity.AccountObject

func (*Controller) GetActionBlackList

func (c *Controller) GetActionBlackList() *NamePairSet

func (*Controller) GetActorBlackList

func (c *Controller) GetActorBlackList() *AccountNameSet

func (*Controller) GetActorWhiteList

func (c *Controller) GetActorWhiteList() *AccountNameSet

func (*Controller) GetAuthorizationManager

func (c *Controller) GetAuthorizationManager() *AuthorizationManager

func (*Controller) GetBlockIdForNum

func (c *Controller) GetBlockIdForNum(blockNum uint32) common.BlockIdType

func (*Controller) GetChainId

func (c *Controller) GetChainId() common.ChainIdType

func (*Controller) GetContractBlackList

func (c *Controller) GetContractBlackList() *AccountNameSet

func (*Controller) GetContractWhiteList

func (c *Controller) GetContractWhiteList() *AccountNameSet

func (*Controller) GetDynamicGlobalProperties

func (c *Controller) GetDynamicGlobalProperties() (r *entity.DynamicGlobalPropertyObject)

func (*Controller) GetGlobalProperties

func (c *Controller) GetGlobalProperties() *entity.GlobalPropertyObject

func (*Controller) GetKeyBlackList

func (c *Controller) GetKeyBlackList() *PublicKeySet

func (*Controller) GetMutableAuthorizationManager

func (c *Controller) GetMutableAuthorizationManager() *AuthorizationManager

func (*Controller) GetMutableResourceLimitsManager

func (c *Controller) GetMutableResourceLimitsManager() *ResourceLimitsManager

func (*Controller) GetOnBlockTransaction

func (c *Controller) GetOnBlockTransaction() types.SignedTransaction

func (*Controller) GetReadMode

func (c *Controller) GetReadMode() DBReadMode

func (*Controller) GetResourceGreyList

func (c *Controller) GetResourceGreyList() AccountNameSet

func (*Controller) GetScheduledTransactions

func (c *Controller) GetScheduledTransactions() []common.TransactionIdType

func (*Controller) GetUnappliedTransactions

func (c *Controller) GetUnappliedTransactions() []*types.TransactionMetadata

func (*Controller) GetValidationMode

func (c *Controller) GetValidationMode() ValidationMode

func (*Controller) GetWasmInterface

func (c *Controller) GetWasmInterface() *wasmgo.WasmGo

func (*Controller) HeadBlockHeader

func (c *Controller) HeadBlockHeader() *types.BlockHeader

func (*Controller) HeadBlockId

func (c *Controller) HeadBlockId() common.BlockIdType

func (*Controller) HeadBlockNum

func (c *Controller) HeadBlockNum() uint32

func (*Controller) HeadBlockProducer

func (c *Controller) HeadBlockProducer() common.AccountName

func (*Controller) HeadBlockState

func (c *Controller) HeadBlockState() *types.BlockState

func (*Controller) HeadBlockTime

func (c *Controller) HeadBlockTime() common.TimePoint

func (*Controller) IsKnownUnexpiredTransaction

func (c *Controller) IsKnownUnexpiredTransaction(id *common.TransactionIdType) bool

func (*Controller) IsProducingBlock

func (c *Controller) IsProducingBlock() bool

func (*Controller) IsRamBillingInNotifyAllowed

func (c *Controller) IsRamBillingInNotifyAllowed() bool

func (*Controller) IsResourceGreylisted

func (c *Controller) IsResourceGreylisted(name common.AccountName) bool

func (*Controller) LastIrreversibleBlockId

func (c *Controller) LastIrreversibleBlockId() common.BlockIdType

func (*Controller) LastIrreversibleBlockNum

func (c *Controller) LastIrreversibleBlockNum() uint32

func (*Controller) LightValidationAllowed

func (c *Controller) LightValidationAllowed(dro bool) (b bool)

func (*Controller) OnIrreversible

func (c *Controller) OnIrreversible(s *types.BlockState)

func (*Controller) PendingBlockState

func (c *Controller) PendingBlockState() *types.BlockState

func (*Controller) PendingBlockTime

func (c *Controller) PendingBlockTime() common.TimePoint

func (*Controller) PendingProducerBlockId

func (c *Controller) PendingProducerBlockId() common.BlockIdType

func (*Controller) PendingProducers

func (c *Controller) PendingProducers() *types.ProducerScheduleType

func (*Controller) PopBlock

func (c *Controller) PopBlock()

func (*Controller) ProposedProducers

func (c *Controller) ProposedProducers() types.ProducerScheduleType

func (*Controller) PushBlock

func (c *Controller) PushBlock(b *types.SignedBlock, s types.BlockStatus)

func (*Controller) PushConfirmation

func (c *Controller) PushConfirmation(hc *types.HeaderConfirmation)

func (*Controller) PushScheduledTransaction

func (c *Controller) PushScheduledTransaction(trxId *common.TransactionIdType, deadLine common.TimePoint, billedCpuTimeUs uint32) *types.TransactionTrace

func (*Controller) PushTransaction

func (c *Controller) PushTransaction(trx *types.TransactionMetadata, deadLine common.TimePoint, billedCpuTimeUs uint32) *types.TransactionTrace

func (*Controller) RemoveResourceGreyList

func (c *Controller) RemoveResourceGreyList(name common.AccountName)

func (*Controller) RemoveScheduledTransaction

func (c *Controller) RemoveScheduledTransaction(gto *entity.GeneratedTransactionObject)

func (*Controller) SetActionBlackList

func (c *Controller) SetActionBlackList(params *NamePairSet)

func (*Controller) SetActorBlackList

func (c *Controller) SetActorBlackList(params *AccountNameSet)

func (*Controller) SetActorWhiteList

func (c *Controller) SetActorWhiteList(params *AccountNameSet)

func (*Controller) SetApplayHandler

func (c *Controller) SetApplayHandler(receiver common.AccountName, contract common.AccountName, action common.ActionName, handler func(a *ApplyContext))

func (*Controller) SetContractBlackList

func (c *Controller) SetContractBlackList(params *AccountNameSet)

func (*Controller) SetContractWhiteList

func (c *Controller) SetContractWhiteList(params *AccountNameSet)

func (*Controller) SetKeyBlackList

func (c *Controller) SetKeyBlackList(params *PublicKeySet)

func (*Controller) SetProposedProducers

func (c *Controller) SetProposedProducers(producers []types.ProducerKey) int64

func (*Controller) SetSubjectiveCpuLeeway

func (c *Controller) SetSubjectiveCpuLeeway(leeway common.Microseconds)

func (*Controller) SignBlock

func (c *Controller) SignBlock(signerCallback func(sha256 crypto.Sha256) ecc.Signature)

func (*Controller) SkipAuthCheck

func (c *Controller) SkipAuthCheck() bool

func (*Controller) SkipDbSession

func (c *Controller) SkipDbSession(bs types.BlockStatus) bool

func (*Controller) SkipDbSessions

func (c *Controller) SkipDbSessions() bool

func (*Controller) SkipTrxChecks

func (c *Controller) SkipTrxChecks() (b bool)

func (*Controller) StartBlock

func (c *Controller) StartBlock(when types.BlockTimeStamp, confirmBlockCount uint16)

func (*Controller) Startup

func (c *Controller) Startup()

func (*Controller) ValidateDbAvailableSize

func (c *Controller) ValidateDbAvailableSize()

func (*Controller) ValidateExpiration

func (c *Controller) ValidateExpiration(t *types.Transaction)

func (*Controller) ValidateReferencedAccounts

func (c *Controller) ValidateReferencedAccounts(t *types.Transaction)

func (*Controller) ValidateReversibleAvailableSize

func (c *Controller) ValidateReversibleAvailableSize()

func (*Controller) ValidateTapos

func (c *Controller) ValidateTapos(t *types.Transaction)

type DBReadMode

type DBReadMode int8

func DBReadModeFromString

func DBReadModeFromString(s string) (DBReadMode, bool)

func (DBReadMode) String

func (d DBReadMode) String() string

type DeNamePair

type DeNamePair struct {
	First  common.AccountName
	Second common.ActionName
}

type DeleteAuth

type DeleteAuth struct {
	Account    common.AccountName    `json:""`
	Permission common.PermissionName `json:""`
}

func (DeleteAuth) GetAccount

func (d DeleteAuth) GetAccount() common.AccountName

func (DeleteAuth) GetName

func (d DeleteAuth) GetName() common.ActionName

type FetchBranch

type FetchBranch struct {
	// contains filtered or unexported fields
}

type ForkDatabase

type ForkDatabase struct {
	Index *forkdb_multi_index.MultiIndex
	Head  *types.BlockState `json:"head"`

	Irreversible include.Signal
	// contains filtered or unexported fields
}

func NewForkDatabase

func NewForkDatabase(dataDir string) *ForkDatabase

func (*ForkDatabase) AddBlockState

func (f *ForkDatabase) AddBlockState(b *types.BlockState) *types.BlockState

func (*ForkDatabase) AddConfirmation

func (f *ForkDatabase) AddConfirmation(c *types.HeaderConfirmation)

func (*ForkDatabase) AddSignedBlock

func (f *ForkDatabase) AddSignedBlock(b *types.SignedBlock, trust bool) *types.BlockState

func (*ForkDatabase) Close

func (f *ForkDatabase) Close()

func (*ForkDatabase) FetchBranchFrom

func (f *ForkDatabase) FetchBranchFrom(first *common.BlockIdType, second *common.BlockIdType) FetchBranch

*

  • Given two head blocks, return two branches of the fork graph that
  • end with a common ancestor (same prior block)

func (*ForkDatabase) GetBlock

func (f *ForkDatabase) GetBlock(id *common.BlockIdType) *types.BlockState

func (*ForkDatabase) GetBlockInCurrentChainByNum

func (f *ForkDatabase) GetBlockInCurrentChainByNum(n uint32) *types.BlockState

func (*ForkDatabase) Header

func (f *ForkDatabase) Header() *types.BlockState

func (*ForkDatabase) MarkInCurrentChain

func (f *ForkDatabase) MarkInCurrentChain(h *types.BlockState, inCurrentChain bool)

func (*ForkDatabase) Prune

func (f *ForkDatabase) Prune(h *types.BlockState)

func (*ForkDatabase) Remove

func (f *ForkDatabase) Remove(id *common.BlockIdType)

/ remove all of the invalid forks built of this id including this id

func (*ForkDatabase) SetBftIrreversible

func (f *ForkDatabase) SetBftIrreversible(id common.BlockIdType)

*

  • This method will set this block as being BFT irreversible and will update
  • all blocks which build off of it to have the same bft_irb if their existing
  • bft irb is less than this block num. *
  • This will require a search over all forks

func (*ForkDatabase) SetHead

func (f *ForkDatabase) SetHead(s *types.BlockState)

func (*ForkDatabase) SetValidity

func (f *ForkDatabase) SetValidity(h *types.BlockState, valid bool)

func (*ForkDatabase) ToString

func (f *ForkDatabase) ToString() string

type Idx128

type Idx128 struct {
	// contains filtered or unexported fields
}

func NewIdx128

func NewIdx128(c *ApplyContext) *Idx128

type Idx256

type Idx256 struct {
	// contains filtered or unexported fields
}

func NewIdx256

func NewIdx256(c *ApplyContext) *Idx256

type Idx64

type Idx64 struct {
	// contains filtered or unexported fields
}

func NewIdx64

func NewIdx64(c *ApplyContext) *Idx64

type IdxDouble

type IdxDouble struct {
	// contains filtered or unexported fields
}

func NewIdxDouble

func NewIdxDouble(c *ApplyContext) *IdxDouble

type IdxLongDouble

type IdxLongDouble struct {
	// contains filtered or unexported fields
}

func NewIdxLongDouble

func NewIdxLongDouble(c *ApplyContext) *IdxLongDouble

type LinkAuth

type LinkAuth struct {
	Account     common.AccountName    `json:"account"`
	Code        common.AccountName    `json:"code"`
	Type        common.ActionName     `json:"type"`
	Requirement common.PermissionName `json:"requirement"`
}

func (LinkAuth) GetAccount

func (l LinkAuth) GetAccount() common.AccountName

func (LinkAuth) GetName

func (l LinkAuth) GetName() common.ActionName

type MaybeSession

type MaybeSession struct {
	MSession *database.Session
	Valid    bool
}

func NewMaybeSession

func NewMaybeSession(db database.DataBase) *MaybeSession

func NewMaybeSession2

func NewMaybeSession2() *MaybeSession

func (*MaybeSession) Push

func (m *MaybeSession) Push()

func (*MaybeSession) Squash

func (m *MaybeSession) Squash()

func (*MaybeSession) Undo

func (m *MaybeSession) Undo()

type NewAccount

type NewAccount struct {
	Creator common.AccountName `json:"creator"`
	Name    common.AccountName `json:"name"`
	Owner   types.Authority    `json:"owner"`
	Active  types.Authority    `json:"active"`
}

func (*NewAccount) GetAccount

func (n *NewAccount) GetAccount() common.AccountName

func (*NewAccount) GetName

func (n *NewAccount) GetName() common.ActionName

type OnError

type OnError struct {
	SenderId eos_math.Uint128 `json:"sender_id"`
	SentTrx  []byte           `json:"sent_trx"`
}

func NewOnError

func NewOnError(sid eos_math.Uint128, data []byte) *OnError

func (OnError) GetAccount

func (o OnError) GetAccount() common.AccountName

func (OnError) GetName

func (o OnError) GetName() common.ActionName

type PendingState

type PendingState struct {
	//MaybeSession      *database.Session `json:"db_session"`
	DbSession         *MaybeSession         `json:"db_session"`
	PendingBlockState *types.BlockState     `json:"pending_block_state"`
	Actions           []types.ActionReceipt `json:"actions"`
	BlockStatus       types.BlockStatus     `json:"block_status"`
	ProducerBlockId   common.BlockIdType
	PendingValid      bool
}

func NewDefaultPendingState

func NewDefaultPendingState() *PendingState

func NewPendingState

func NewPendingState(db database.DataBase) *PendingState

func (*PendingState) Push

func (p *PendingState) Push()

func (*PendingState) Reset

func (p *PendingState) Reset() *PendingState

type PermissionIdType

type PermissionIdType common.IdType

type ResourceLimitsManager

type ResourceLimitsManager struct {
	// contains filtered or unexported fields
}

func (*ResourceLimitsManager) AddPendingRamUsage

func (r *ResourceLimitsManager) AddPendingRamUsage(account common.AccountName, ramDelta int64)

func (*ResourceLimitsManager) AddTransactionUsage

func (r *ResourceLimitsManager) AddTransactionUsage(account *AccountNameSet, cpuUsage uint64, netUsage uint64, timeSlot uint32)

func (*ResourceLimitsManager) GetAccountCpuLimit

func (r *ResourceLimitsManager) GetAccountCpuLimit(name common.AccountName, elastic bool) int64

func (*ResourceLimitsManager) GetAccountCpuLimitEx

func (r *ResourceLimitsManager) GetAccountCpuLimitEx(name common.AccountName, elastic bool) types.AccountResourceLimit

func (*ResourceLimitsManager) GetAccountLimits

func (r *ResourceLimitsManager) GetAccountLimits(account common.AccountName, ramBytes *int64, netWeight *int64, cpuWeight *int64)

func (*ResourceLimitsManager) GetAccountNetLimit

func (r *ResourceLimitsManager) GetAccountNetLimit(name common.AccountName, elastic bool) int64

func (*ResourceLimitsManager) GetAccountNetLimitEx

func (r *ResourceLimitsManager) GetAccountNetLimitEx(name common.AccountName, elastic bool) types.AccountResourceLimit

func (*ResourceLimitsManager) GetAccountRamUsage

func (r *ResourceLimitsManager) GetAccountRamUsage(account common.AccountName) int64

func (*ResourceLimitsManager) GetBlockCpuLimit

func (r *ResourceLimitsManager) GetBlockCpuLimit() uint64

func (*ResourceLimitsManager) GetBlockNetLimit

func (r *ResourceLimitsManager) GetBlockNetLimit() uint64

func (*ResourceLimitsManager) GetVirtualBlockCpuLimit

func (r *ResourceLimitsManager) GetVirtualBlockCpuLimit() uint64

func (*ResourceLimitsManager) GetVirtualBlockNetLimit

func (r *ResourceLimitsManager) GetVirtualBlockNetLimit() uint64

func (*ResourceLimitsManager) InitializeAccount

func (r *ResourceLimitsManager) InitializeAccount(account common.AccountName)

func (*ResourceLimitsManager) InitializeDatabase

func (r *ResourceLimitsManager) InitializeDatabase()

func (*ResourceLimitsManager) ProcessAccountLimitUpdates

func (r *ResourceLimitsManager) ProcessAccountLimitUpdates()

func (*ResourceLimitsManager) ProcessBlockUsage

func (r *ResourceLimitsManager) ProcessBlockUsage(blockNum uint32)

func (*ResourceLimitsManager) SetAccountLimits

func (r *ResourceLimitsManager) SetAccountLimits(account common.AccountName, ramBytes int64, netWeight int64, cpuWeight int64) bool

func (*ResourceLimitsManager) SetBlockParameters

func (r *ResourceLimitsManager) SetBlockParameters(cpuLimitParameters types.ElasticLimitParameters, netLimitParameters types.ElasticLimitParameters)

func (*ResourceLimitsManager) UpdateAccountUsage

func (r *ResourceLimitsManager) UpdateAccountUsage(account *AccountNameSet, timeSlot uint32)

func (*ResourceLimitsManager) VerifyAccountRamUsage

func (r *ResourceLimitsManager) VerifyAccountRamUsage(account common.AccountName)

type SetAbi

type SetAbi struct {
	Account common.AccountName `json:"account"`
	Abi     []byte             `json:"abi"`
}

func (SetAbi) GetAccount

func (s SetAbi) GetAccount() common.AccountName

func (SetAbi) GetName

func (s SetAbi) GetName() common.ActionName

type SetCode

type SetCode struct {
	Account   common.AccountName `json:"account"`
	VmType    uint8              `json:"vmtype"`
	VmVersion uint8              `json:"vmversion"`
	Code      []byte             `json:"code"`
}

func (*SetCode) GetAccount

func (s *SetCode) GetAccount() common.AccountName

func (*SetCode) GetName

func (s *SetCode) GetName() common.ActionName

type TransactionContext

type TransactionContext struct {
	Control               *Controller
	Trx                   *types.SignedTransaction
	ID                    common.TransactionIdType
	UndoSession           *database.Session
	Trace                 *types.TransactionTrace
	Start                 common.TimePoint
	Published             common.TimePoint
	Executed              []types.ActionReceipt
	BillToAccounts        AccountNameSet
	ValidateRamUsage      AccountNameSet
	InitialMaxBillableCpu uint64
	Delay                 common.Microseconds
	IsInput               bool
	ApplyContextFree      bool
	CanSubjectivelyFail   bool
	Deadline              common.TimePoint //c++ fc::time_point::maximum()
	Leeway                common.Microseconds
	BilledCpuTimeUs       int64
	ExplicitBilledCpuTime bool
	// contains filtered or unexported fields
}

func (*TransactionContext) AddNetUsage

func (t *TransactionContext) AddNetUsage(u uint64)

func (*TransactionContext) AddRamUsage

func (t *TransactionContext) AddRamUsage(account common.AccountName, ramDelta int64)

func (*TransactionContext) CheckNetUsage

func (t *TransactionContext) CheckNetUsage()

func (*TransactionContext) CheckTime

func (t *TransactionContext) CheckTime()

var checktimes int = 0

func (*TransactionContext) DispatchAction

func (t *TransactionContext) DispatchAction(trace *types.ActionTrace, action *types.Action, receiver common.AccountName, contextFree bool, recurseDepth uint32)

func (*TransactionContext) Exec

func (t *TransactionContext) Exec()

func (*TransactionContext) Finalize

func (t *TransactionContext) Finalize()

func (*TransactionContext) InitForDeferredTrx

func (t *TransactionContext) InitForDeferredTrx(p common.TimePoint)

func (*TransactionContext) InitForImplicitTrx

func (t *TransactionContext) InitForImplicitTrx(initialNetUsage uint64)

func (*TransactionContext) InitForInputTrx

func (t *TransactionContext) InitForInputTrx(packeTrxUnprunableSize uint64, packeTrxPrunableSize uint64, nunSignatures uint32, skipRecording bool)

func (*TransactionContext) MaxBandwidthBilledAccountsCanPay

func (t *TransactionContext) MaxBandwidthBilledAccountsCanPay(forceElasticLimits bool) (int64, int64, bool, bool)

func (*TransactionContext) PauseBillingTimer

func (t *TransactionContext) PauseBillingTimer()

added to deadline means delete time comsume from PauseBillingTimer to ResumeBillingTimer

func (*TransactionContext) ResumeBillingTimer

func (t *TransactionContext) ResumeBillingTimer()

func (*TransactionContext) Squash

func (t *TransactionContext) Squash()

func (*TransactionContext) Undo

func (t *TransactionContext) Undo()

func (*TransactionContext) UpdateBilledCpuTime

func (t *TransactionContext) UpdateBilledCpuTime(now common.TimePoint) uint32

type UnLinkAuth

type UnLinkAuth struct {
	Account common.AccountName `json:"account"`
	Code    common.AccountName `json:"code"`
	Type    common.ActionName  `json:"type"`
}

func (UnLinkAuth) GetAccount

func (u UnLinkAuth) GetAccount() common.AccountName

func (UnLinkAuth) GetName

func (u UnLinkAuth) GetName() common.ActionName

type UpdateAuth

type UpdateAuth struct {
	Account    common.AccountName    `json:"account"`
	Permission common.PermissionName `json:"permission"`
	Parent     common.PermissionName `json:"parent"`
	Auth       types.Authority       `json:"auth"`
}

func (UpdateAuth) GetAccount

func (u UpdateAuth) GetAccount() common.AccountName

func (UpdateAuth) GetName

func (u UpdateAuth) GetName() common.ActionName

type ValidationMode

type ValidationMode int8

func ValidationModeFromString

func ValidationModeFromString(s string) (ValidationMode, bool)

func (ValidationMode) String

func (v ValidationMode) String() string

Directories

Path Synopsis
generated_containers
Package treeset implements a Tree backed by a red-black Tree.
Package treeset implements a Tree backed by a red-black Tree.

Jump to

Keyboard shortcuts

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