Documentation ¶
Index ¶
- Constants
- func ApplyEosioNewaccount(context *ApplyContext)
- func CommonTypeDefs() []abi.TypeDef
- func EosioContractAbi(eosioSystemAbi abi.AbiDef) *abi.AbiDef
- func ExtractGenesisState(dataDir string) types.GenesisState
- func NewIteratorCache() *iteratorCache
- type ApplyContext
- func (a *ApplyContext) AddRamUsage(account common.AccountName, ramDelta int64)
- func (a *ApplyContext) CancelDeferredTransaction(sendId *eos_math.Uint128) bool
- func (a *ApplyContext) CancelDeferredTransaction2(sendId *eos_math.Uint128, sender common.AccountName) bool
- func (a *ApplyContext) CheckAuthorization(actions []*types.Action, providedKeys *PublicKeySet, ...)
- func (a *ApplyContext) CheckAuthorization2(n common.AccountName, permission common.PermissionName, ...)
- func (a *ApplyContext) CheckTime()
- func (a *ApplyContext) ContextAppend(str string)
- func (a *ApplyContext) ContextFreeAction() bool
- func (a *ApplyContext) CurrentTime() common.TimePoint
- func (a *ApplyContext) DbEndI64(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) DbFindI64(code uint64, scope uint64, table uint64, id uint64) int
- func (a *ApplyContext) DbGetI64(iterator int, buffer []byte, bufferSize int) int
- func (a *ApplyContext) DbLowerboundI64(code uint64, scope uint64, table uint64, id uint64) int
- func (a *ApplyContext) DbNextI64(iterator int, primary *uint64) int
- func (a *ApplyContext) DbPreviousI64(iterator int, primary *uint64) int
- func (a *ApplyContext) DbRemoveI64(iterator int)
- func (a *ApplyContext) DbStoreI64(scope uint64, table uint64, payer uint64, id uint64, buffer []byte) int
- func (a *ApplyContext) DbUpdateI64(iterator int, payer uint64, buffer []byte)
- func (a *ApplyContext) DbUpperboundI64(code uint64, scope uint64, table uint64, id uint64) int
- func (a *ApplyContext) Exec(trace *types.ActionTrace)
- func (a *ApplyContext) ExecuteContextFreeInline(act *types.Action)
- func (a *ApplyContext) ExecuteInline(act *types.Action)
- func (a *ApplyContext) Expiration() common.TimePointSec
- func (a *ApplyContext) FinalizeTrace(trace *types.ActionTrace, start *common.TimePoint)
- func (a *ApplyContext) FindOrCreateTable(code uint64, scope uint64, table uint64, payer uint64) *entity.TableIdObject
- func (a *ApplyContext) FindTable(code uint64, scope uint64, table uint64) *entity.TableIdObject
- func (a *ApplyContext) GetAccountCreateTime(account common.AccountName) common.TimePoint
- func (a *ApplyContext) GetAccountLimits(account common.AccountName, ramBytes *int64, netWeight *int64, ...)
- func (a *ApplyContext) GetAct() common.ActionName
- func (a *ApplyContext) GetAction(typ uint32, index int) *types.Action
- func (a *ApplyContext) GetActionData() []byte
- func (a *ApplyContext) GetActiveProducersInBytes() (data []byte)
- func (a *ApplyContext) GetBlockchainParameters() *types.ChainConfig
- func (a *ApplyContext) GetBlockchainParametersPacked() []byte
- func (a *ApplyContext) GetCode() common.AccountName
- func (a *ApplyContext) GetContextFreeData(index int, bufferSize int) (int, []byte)
- func (a *ApplyContext) GetPackedTransaction() *types.Transaction
- func (a *ApplyContext) GetPermissionLastUsed(account common.AccountName, permission common.PermissionName) common.TimePoint
- func (a *ApplyContext) GetReceiver() common.AccountName
- func (a *ApplyContext) HasAuthorization(account int64) bool
- func (a *ApplyContext) HasRecipient(code int64) bool
- func (a *ApplyContext) Idx128End(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) Idx128FindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, ...) int
- func (a *ApplyContext) Idx128FindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, ...) int
- func (a *ApplyContext) Idx128Lowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, ...) int
- func (a *ApplyContext) Idx128Next(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx128Previous(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx128Remove(iterator int)
- func (a *ApplyContext) Idx128Store(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Uint128) int
- func (a *ApplyContext) Idx128Update(iterator int, payer uint64, value *eos_math.Uint128)
- func (a *ApplyContext) Idx128Upperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint128, ...) int
- func (a *ApplyContext) Idx256End(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) Idx256FindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, ...) int
- func (a *ApplyContext) Idx256FindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, ...) int
- func (a *ApplyContext) Idx256Lowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, ...) int
- func (a *ApplyContext) Idx256Next(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx256Previous(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx256Remove(iterator int)
- func (a *ApplyContext) Idx256Store(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Uint256) int
- func (a *ApplyContext) Idx256Update(iterator int, payer uint64, value *eos_math.Uint256)
- func (a *ApplyContext) Idx256Upperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Uint256, ...) int
- func (a *ApplyContext) Idx64End(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) Idx64FindPrimary(code uint64, scope uint64, table uint64, secondary *uint64, primary uint64) int
- func (a *ApplyContext) Idx64FindSecondary(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int
- func (a *ApplyContext) Idx64Lowerbound(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int
- func (a *ApplyContext) Idx64Next(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx64Previous(iterator int, primary *uint64) int
- func (a *ApplyContext) Idx64Remove(iterator int)
- func (a *ApplyContext) Idx64Store(scope uint64, table uint64, payer uint64, id uint64, value *uint64) int
- func (a *ApplyContext) Idx64Update(iterator int, payer uint64, value *uint64)
- func (a *ApplyContext) Idx64Upperbound(code uint64, scope uint64, table uint64, secondary *uint64, primary *uint64) int
- func (a *ApplyContext) IdxDoubleEnd(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) IdxDoubleFindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, ...) int
- func (a *ApplyContext) IdxDoubleFindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, ...) int
- func (a *ApplyContext) IdxDoubleLowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, ...) int
- func (a *ApplyContext) IdxDoubleNext(iterator int, primary *uint64) int
- func (a *ApplyContext) IdxDoublePrevious(iterator int, primary *uint64) int
- func (a *ApplyContext) IdxDoubleRemove(iterator int)
- func (a *ApplyContext) IdxDoubleStore(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Float64) int
- func (a *ApplyContext) IdxDoubleUpdate(iterator int, payer uint64, value *eos_math.Float64)
- func (a *ApplyContext) IdxDoubleUpperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float64, ...) int
- func (a *ApplyContext) IdxLongDoubleEnd(code uint64, scope uint64, table uint64) int
- func (a *ApplyContext) IdxLongDoubleFindPrimary(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, ...) int
- func (a *ApplyContext) IdxLongDoubleFindSecondary(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, ...) int
- func (a *ApplyContext) IdxLongDoubleLowerbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, ...) int
- func (a *ApplyContext) IdxLongDoubleNext(iterator int, primary *uint64) int
- func (a *ApplyContext) IdxLongDoublePrevious(iterator int, primary *uint64) int
- func (a *ApplyContext) IdxLongDoubleRemove(iterator int)
- func (a *ApplyContext) IdxLongDoubleStore(scope uint64, table uint64, payer uint64, id uint64, value *eos_math.Float128) int
- func (a *ApplyContext) IdxLongDoubleUpdate(iterator int, payer uint64, value *eos_math.Float128)
- func (a *ApplyContext) IdxLongDoubleUpperbound(code uint64, scope uint64, table uint64, secondary *eos_math.Float128, ...) int
- func (a *ApplyContext) InlineActionTooBig(dataLen int) bool
- func (a *ApplyContext) IsAccount(n int64) bool
- func (a *ApplyContext) IsPrivileged(n common.AccountName) bool
- func (a *ApplyContext) PauseBillingTimer()
- func (a *ApplyContext) PublicationTime() common.TimePoint
- func (a *ApplyContext) RemoveTable(tid entity.TableIdObject)
- func (a *ApplyContext) RequireAuthorization(account int64)
- func (a *ApplyContext) RequireAuthorization2(account int64, permission int64)
- func (a *ApplyContext) RequireRecipient(recipient int64)
- func (a *ApplyContext) ResumeBillingTimer()
- func (a *ApplyContext) ScheduleDeferredTransaction(sendId *eos_math.Uint128, payer common.AccountName, trx *types.Transaction, ...)
- func (a *ApplyContext) SetAccountLimits(account common.AccountName, ramBytes int64, netWeight int64, cpuWeight int64) bool
- func (a *ApplyContext) SetBlockchainParameters(cfg *types.ChainConfig)
- func (a *ApplyContext) SetBlockchainParametersPacked(parameters []byte)
- func (a *ApplyContext) SetPrivileged(n common.AccountName, isPriv bool)
- func (a *ApplyContext) SetProposedProducers(data []byte) int64
- func (a *ApplyContext) TaposBlockNum() int
- func (a *ApplyContext) TaposBlockPrefix() int
- func (a *ApplyContext) UpdateDbUsage(payer common.AccountName, delta int64)
- func (a *ApplyContext) ValidateRamUsageInsert(account common.AccountName)
- type AuthorizationManager
- func (a *AuthorizationManager) CheckAuthorization(actions []*types.Action, providedKeys *PublicKeySet, ...)
- func (a *AuthorizationManager) CheckAuthorization2(account common.AccountName, permission common.PermissionName, ...)
- func (a *AuthorizationManager) CheckCancelDelayAuthorization(cancel CancelDelay, auths []common.PermissionLevel) common.Microseconds
- func (a *AuthorizationManager) CheckDeleteAuthAuthorization(del DeleteAuth, auths []common.PermissionLevel)
- func (a *AuthorizationManager) CheckLinkAuthAuthorization(link LinkAuth, auths []common.PermissionLevel)
- func (a *AuthorizationManager) CheckUnLinkAuthAuthorization(unlink UnLinkAuth, auths []common.PermissionLevel)
- func (a *AuthorizationManager) CheckUpdateAuthAuthorization(update UpdateAuth, auths []common.PermissionLevel)
- func (a *AuthorizationManager) CreatePermission(account common.AccountName, name common.PermissionName, ...) *entity.PermissionObject
- func (a *AuthorizationManager) FindPermission(level *common.PermissionLevel) (p *entity.PermissionObject)
- func (a *AuthorizationManager) GetPermission(level *common.PermissionLevel) (p *entity.PermissionObject)
- func (a *AuthorizationManager) GetPermissionLastUsed(permission *entity.PermissionObject) common.TimePoint
- func (a *AuthorizationManager) GetRequiredKeys(trx *types.Transaction, candidateKeys *PublicKeySet, ...) PublicKeySet
- func (a *AuthorizationManager) LookupLinkedPermission(authorizerAccount common.AccountName, scope common.AccountName, ...) (p *common.PermissionName)
- func (a *AuthorizationManager) LookupMinimumPermission(authorizerAccount common.AccountName, scope common.AccountName, ...) (p *common.PermissionName)
- func (a *AuthorizationManager) ModifyPermission(permission *entity.PermissionObject, auth *types.Authority)
- func (a *AuthorizationManager) RemovePermission(permission *entity.PermissionObject)
- func (a *AuthorizationManager) UpdatePermissionUsage(permission *entity.PermissionObject)
- type BlockLog
- func (b *BlockLog) Append(block *types.SignedBlock) uint64
- func (b *BlockLog) Close()
- func (b *BlockLog) ConstructIndex()
- func (b *BlockLog) GetBlockPos(blockNum uint32) uint64
- func (b *BlockLog) Head() *types.SignedBlock
- func (b *BlockLog) ReadBlock(pos uint64) (*types.SignedBlock, uint64)
- func (b *BlockLog) ReadBlockById(id *common.BlockIdType) *types.SignedBlock
- func (b *BlockLog) ReadBlockByNum(blockNum uint32) *types.SignedBlock
- func (b *BlockLog) ReadHead() *types.SignedBlock
- func (b *BlockLog) ResetToGenesis(gs *types.GenesisState, benesisBlock *types.SignedBlock) uint64
- type CancelDelay
- type Config
- type Controller
- func (c *Controller) AbortBlock()
- func (c *Controller) ActiveProducers() *types.ProducerScheduleType
- func (c *Controller) AddResourceGreyList(name common.AccountName)
- func (c *Controller) CheckActionList(code common.AccountName, action common.ActionName)
- func (c *Controller) CheckActorList(actors *AccountNameSet)
- func (c *Controller) CheckContractList(code common.AccountName)
- func (c *Controller) CheckKeyList(key *ecc.PublicKey)
- func (c *Controller) Close()
- func (c *Controller) CommitBlock(addToForkDb bool)
- func (c *Controller) ContractsConsole() bool
- func (c *Controller) CreateNativeAccount(name common.AccountName, owner types.Authority, active types.Authority, ...)
- func (c *Controller) DataBase() database.DataBase
- func (c *Controller) DropAllUnAppliedTransactions()
- func (c *Controller) DropUnappliedTransaction(metadata *types.TransactionMetadata)
- func (c *Controller) FetchBlockById(id common.BlockIdType) *types.SignedBlock
- func (c *Controller) FetchBlockByNumber(blockNum uint32) *types.SignedBlock
- func (c *Controller) FetchBlockStateById(id common.BlockIdType) *types.BlockState
- func (c *Controller) FetchBlockStateByNumber(blockNum uint32) *types.BlockState
- func (c *Controller) FinalizeBlock()
- func (c *Controller) FindApplyHandler(receiver common.AccountName, scope common.AccountName, act common.ActionName) func(*ApplyContext)
- func (c *Controller) ForkDataBase() *ForkDatabase
- func (c *Controller) ForkDbHeadBlockId() common.BlockIdType
- func (c *Controller) ForkDbHeadBlockNum() uint32
- func (c *Controller) ForkDbHeadBlockProducer() common.AccountName
- func (c *Controller) ForkDbHeadBlockTime() common.TimePoint
- func (c *Controller) GetAccount(name common.AccountName) *entity.AccountObject
- func (c *Controller) GetActionBlackList() *NamePairSet
- func (c *Controller) GetActorBlackList() *AccountNameSet
- func (c *Controller) GetActorWhiteList() *AccountNameSet
- func (c *Controller) GetAuthorizationManager() *AuthorizationManager
- func (c *Controller) GetBlockIdForNum(blockNum uint32) common.BlockIdType
- func (c *Controller) GetChainId() common.ChainIdType
- func (c *Controller) GetContractBlackList() *AccountNameSet
- func (c *Controller) GetContractWhiteList() *AccountNameSet
- func (c *Controller) GetDynamicGlobalProperties() (r *entity.DynamicGlobalPropertyObject)
- func (c *Controller) GetGlobalProperties() *entity.GlobalPropertyObject
- func (c *Controller) GetKeyBlackList() *PublicKeySet
- func (c *Controller) GetMutableAuthorizationManager() *AuthorizationManager
- func (c *Controller) GetMutableResourceLimitsManager() *ResourceLimitsManager
- func (c *Controller) GetOnBlockTransaction() types.SignedTransaction
- func (c *Controller) GetReadMode() DBReadMode
- func (c *Controller) GetResourceGreyList() AccountNameSet
- func (c *Controller) GetScheduledTransactions() []common.TransactionIdType
- func (c *Controller) GetUnappliedTransactions() []*types.TransactionMetadata
- func (c *Controller) GetValidationMode() ValidationMode
- func (c *Controller) GetWasmInterface() *wasmgo.WasmGo
- func (c *Controller) HeadBlockHeader() *types.BlockHeader
- func (c *Controller) HeadBlockId() common.BlockIdType
- func (c *Controller) HeadBlockNum() uint32
- func (c *Controller) HeadBlockProducer() common.AccountName
- func (c *Controller) HeadBlockState() *types.BlockState
- func (c *Controller) HeadBlockTime() common.TimePoint
- func (c *Controller) IsKnownUnexpiredTransaction(id *common.TransactionIdType) bool
- func (c *Controller) IsProducingBlock() bool
- func (c *Controller) IsRamBillingInNotifyAllowed() bool
- func (c *Controller) IsResourceGreylisted(name common.AccountName) bool
- func (c *Controller) LastIrreversibleBlockId() common.BlockIdType
- func (c *Controller) LastIrreversibleBlockNum() uint32
- func (c *Controller) LightValidationAllowed(dro bool) (b bool)
- func (c *Controller) OnIrreversible(s *types.BlockState)
- func (c *Controller) PendingBlockState() *types.BlockState
- func (c *Controller) PendingBlockTime() common.TimePoint
- func (c *Controller) PendingProducerBlockId() common.BlockIdType
- func (c *Controller) PendingProducers() *types.ProducerScheduleType
- func (c *Controller) PopBlock()
- func (c *Controller) ProposedProducers() types.ProducerScheduleType
- func (c *Controller) PushBlock(b *types.SignedBlock, s types.BlockStatus)
- func (c *Controller) PushConfirmation(hc *types.HeaderConfirmation)
- func (c *Controller) PushScheduledTransaction(trxId *common.TransactionIdType, deadLine common.TimePoint, ...) *types.TransactionTrace
- func (c *Controller) PushTransaction(trx *types.TransactionMetadata, deadLine common.TimePoint, ...) *types.TransactionTrace
- func (c *Controller) RemoveResourceGreyList(name common.AccountName)
- func (c *Controller) RemoveScheduledTransaction(gto *entity.GeneratedTransactionObject)
- func (c *Controller) SetActionBlackList(params *NamePairSet)
- func (c *Controller) SetActorBlackList(params *AccountNameSet)
- func (c *Controller) SetActorWhiteList(params *AccountNameSet)
- func (c *Controller) SetApplayHandler(receiver common.AccountName, contract common.AccountName, ...)
- func (c *Controller) SetContractBlackList(params *AccountNameSet)
- func (c *Controller) SetContractWhiteList(params *AccountNameSet)
- func (c *Controller) SetKeyBlackList(params *PublicKeySet)
- func (c *Controller) SetProposedProducers(producers []types.ProducerKey) int64
- func (c *Controller) SetSubjectiveCpuLeeway(leeway common.Microseconds)
- func (c *Controller) SignBlock(signerCallback func(sha256 crypto.Sha256) ecc.Signature)
- func (c *Controller) SkipAuthCheck() bool
- func (c *Controller) SkipDbSession(bs types.BlockStatus) bool
- func (c *Controller) SkipDbSessions() bool
- func (c *Controller) SkipTrxChecks() (b bool)
- func (c *Controller) StartBlock(when types.BlockTimeStamp, confirmBlockCount uint16)
- func (c *Controller) Startup()
- func (c *Controller) ValidateDbAvailableSize()
- func (c *Controller) ValidateExpiration(t *types.Transaction)
- func (c *Controller) ValidateReferencedAccounts(t *types.Transaction)
- func (c *Controller) ValidateReversibleAvailableSize()
- func (c *Controller) ValidateTapos(t *types.Transaction)
- type DBReadMode
- type DeNamePair
- type DeleteAuth
- type FetchBranch
- type ForkDatabase
- func (f *ForkDatabase) AddBlockState(b *types.BlockState) *types.BlockState
- func (f *ForkDatabase) AddConfirmation(c *types.HeaderConfirmation)
- func (f *ForkDatabase) AddSignedBlock(b *types.SignedBlock, trust bool) *types.BlockState
- func (f *ForkDatabase) Close()
- func (f *ForkDatabase) FetchBranchFrom(first *common.BlockIdType, second *common.BlockIdType) FetchBranch
- func (f *ForkDatabase) GetBlock(id *common.BlockIdType) *types.BlockState
- func (f *ForkDatabase) GetBlockInCurrentChainByNum(n uint32) *types.BlockState
- func (f *ForkDatabase) Header() *types.BlockState
- func (f *ForkDatabase) MarkInCurrentChain(h *types.BlockState, inCurrentChain bool)
- func (f *ForkDatabase) Prune(h *types.BlockState)
- func (f *ForkDatabase) Remove(id *common.BlockIdType)
- func (f *ForkDatabase) SetBftIrreversible(id common.BlockIdType)
- func (f *ForkDatabase) SetHead(s *types.BlockState)
- func (f *ForkDatabase) SetValidity(h *types.BlockState, valid bool)
- func (f *ForkDatabase) ToString() string
- type Idx128
- type Idx256
- type Idx64
- type IdxDouble
- type IdxLongDouble
- type LinkAuth
- type MaybeSession
- type NewAccount
- type OnError
- type PendingState
- type PermissionIdType
- type ResourceLimitsManager
- func (r *ResourceLimitsManager) AddPendingRamUsage(account common.AccountName, ramDelta int64)
- func (r *ResourceLimitsManager) AddTransactionUsage(account *AccountNameSet, cpuUsage uint64, netUsage uint64, timeSlot uint32)
- func (r *ResourceLimitsManager) GetAccountCpuLimit(name common.AccountName, elastic bool) int64
- func (r *ResourceLimitsManager) GetAccountCpuLimitEx(name common.AccountName, elastic bool) types.AccountResourceLimit
- func (r *ResourceLimitsManager) GetAccountLimits(account common.AccountName, ramBytes *int64, netWeight *int64, ...)
- func (r *ResourceLimitsManager) GetAccountNetLimit(name common.AccountName, elastic bool) int64
- func (r *ResourceLimitsManager) GetAccountNetLimitEx(name common.AccountName, elastic bool) types.AccountResourceLimit
- func (r *ResourceLimitsManager) GetAccountRamUsage(account common.AccountName) int64
- func (r *ResourceLimitsManager) GetBlockCpuLimit() uint64
- func (r *ResourceLimitsManager) GetBlockNetLimit() uint64
- func (r *ResourceLimitsManager) GetVirtualBlockCpuLimit() uint64
- func (r *ResourceLimitsManager) GetVirtualBlockNetLimit() uint64
- func (r *ResourceLimitsManager) InitializeAccount(account common.AccountName)
- func (r *ResourceLimitsManager) InitializeDatabase()
- func (r *ResourceLimitsManager) ProcessAccountLimitUpdates()
- func (r *ResourceLimitsManager) ProcessBlockUsage(blockNum uint32)
- func (r *ResourceLimitsManager) SetAccountLimits(account common.AccountName, ramBytes int64, netWeight int64, cpuWeight int64) bool
- func (r *ResourceLimitsManager) SetBlockParameters(cpuLimitParameters types.ElasticLimitParameters, ...)
- func (r *ResourceLimitsManager) UpdateAccountUsage(account *AccountNameSet, timeSlot uint32)
- func (r *ResourceLimitsManager) VerifyAccountRamUsage(account common.AccountName)
- type SetAbi
- type SetCode
- type TransactionContext
- func (t *TransactionContext) AddNetUsage(u uint64)
- func (t *TransactionContext) AddRamUsage(account common.AccountName, ramDelta int64)
- func (t *TransactionContext) CheckNetUsage()
- func (t *TransactionContext) CheckTime()
- func (t *TransactionContext) DispatchAction(trace *types.ActionTrace, action *types.Action, receiver common.AccountName, ...)
- func (t *TransactionContext) Exec()
- func (t *TransactionContext) Finalize()
- func (t *TransactionContext) InitForDeferredTrx(p common.TimePoint)
- func (t *TransactionContext) InitForImplicitTrx(initialNetUsage uint64)
- func (t *TransactionContext) InitForInputTrx(packeTrxUnprunableSize uint64, packeTrxPrunableSize uint64, ...)
- func (t *TransactionContext) MaxBandwidthBilledAccountsCanPay(forceElasticLimits bool) (int64, int64, bool, bool)
- func (t *TransactionContext) PauseBillingTimer()
- func (t *TransactionContext) ResumeBillingTimer()
- func (t *TransactionContext) Squash()
- func (t *TransactionContext) Undo()
- func (t *TransactionContext) UpdateBilledCpuTime(now common.TimePoint) uint32
- type UnLinkAuth
- type UpdateAuth
- type ValidationMode
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 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) 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) DbGetI64 ¶
func (a *ApplyContext) DbGetI64(iterator int, buffer []byte, bufferSize int) int
func (*ApplyContext) DbLowerboundI64 ¶
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 (*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 (*ApplyContext) Idx128FindSecondary ¶
func (*ApplyContext) Idx128Lowerbound ¶
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 (*ApplyContext) Idx128Update ¶
func (a *ApplyContext) Idx128Update(iterator int, payer uint64, value *eos_math.Uint128)
func (*ApplyContext) Idx128Upperbound ¶
func (*ApplyContext) Idx256End ¶
func (a *ApplyContext) Idx256End(code uint64, scope uint64, table uint64) int
func (*ApplyContext) Idx256FindPrimary ¶
func (*ApplyContext) Idx256FindSecondary ¶
func (*ApplyContext) Idx256Lowerbound ¶
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 (*ApplyContext) Idx256Update ¶
func (a *ApplyContext) Idx256Update(iterator int, payer uint64, value *eos_math.Uint256)
func (*ApplyContext) Idx256Upperbound ¶
func (*ApplyContext) Idx64End ¶
func (a *ApplyContext) Idx64End(code uint64, scope uint64, table uint64) int
func (*ApplyContext) Idx64FindPrimary ¶
func (*ApplyContext) Idx64FindSecondary ¶
func (*ApplyContext) Idx64Lowerbound ¶
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 (*ApplyContext) IdxDoubleEnd ¶
func (a *ApplyContext) IdxDoubleEnd(code uint64, scope uint64, table uint64) int
func (*ApplyContext) IdxDoubleFindPrimary ¶
func (*ApplyContext) IdxDoubleFindSecondary ¶
func (*ApplyContext) IdxDoubleLowerbound ¶
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 (*ApplyContext) IdxDoubleUpdate ¶
func (a *ApplyContext) IdxDoubleUpdate(iterator int, payer uint64, value *eos_math.Float64)
func (*ApplyContext) IdxDoubleUpperbound ¶
func (*ApplyContext) IdxLongDoubleEnd ¶
func (a *ApplyContext) IdxLongDoubleEnd(code uint64, scope uint64, table uint64) int
func (*ApplyContext) IdxLongDoubleFindPrimary ¶
func (*ApplyContext) IdxLongDoubleFindSecondary ¶
func (*ApplyContext) IdxLongDoubleLowerbound ¶
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 (*ApplyContext) IdxLongDoubleUpdate ¶
func (a *ApplyContext) IdxLongDoubleUpdate(iterator int, payer uint64, value *eos_math.Float128)
func (*ApplyContext) IdxLongDoubleUpperbound ¶
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 (*BlockLog) ConstructIndex ¶
func (b *BlockLog) ConstructIndex()
func (*BlockLog) GetBlockPos ¶
func (*BlockLog) Head ¶
func (b *BlockLog) Head() *types.SignedBlock
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 }
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 ¶
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 (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 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 NewTransactionContext ¶
func NewTransactionContext(c *Controller, t *types.SignedTransaction, trxId common.TransactionIdType, s common.TimePoint) *TransactionContext
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 (*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
Source Files ¶
- apply_context.go
- authorization_manager.go
- block_log.go
- contract_secondary_idx_128.go
- contract_secondary_idx_256.go
- contract_secondary_idx_64.go
- contract_secondary_idx_double.go
- contract_secondary_idx_longdouble.go
- controller.go
- eosio_contract.go
- eosio_contract_abi.go
- eosio_contract_types.go
- fork_database.go
- maybe_session.go
- pending.go
- resource_limits.go
- transaction_context.go
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. |
Click to show internal directories.
Click to hide internal directories.