Documentation ¶
Index ¶
- Constants
- Variables
- type App
- func (app *App) Abci() *abci.App
- func (app *App) ApplySnapshotChunk(ctx context.Context, req tmtypes.RequestApplySnapshotChunk) tmtypes.ResponseApplySnapshotChunk
- func (app *App) CheckBatchMarketInstructions(ctx context.Context, tx abci.Tx) error
- func (app *App) CheckBatchMarketInstructionsW(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- func (app *App) CheckPropose(ctx context.Context, tx abci.Tx) error
- func (app *App) CheckProposeW(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- func (app *App) CheckProtocolUpgradeProposal(ctx context.Context, tx abci.Tx) error
- func (app *App) CheckSubmitOracleData(_ context.Context, tx abci.Tx) error
- func (app *App) CheckTransferCommand(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverAmendLiquidityProvision(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverAmendOrder(ctx context.Context, tx abci.Tx, deterministicID string) (errl error)
- func (app *App) DeliverAnnounceNode(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverBatchMarketInstructions(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverCancelLiquidityProvision(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverCancelOrder(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverCancelTransferFunds(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverChainEvent(ctx context.Context, tx abci.Tx, id string) error
- func (app *App) DeliverDelegate(ctx context.Context, tx abci.Tx) (err error)
- func (app *App) DeliverEthereumKeyRotateSubmission(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverIssueSignatures(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverKeyRotateSubmission(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverLiquidityProvision(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverNodeSignature(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverNodeVote(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverPropose(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverProtocolUpgradeCommand(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverStateVarProposal(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverSubmitOracleData(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverSubmitOrder(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverTransferFunds(ctx context.Context, tx abci.Tx, id string) error
- func (app *App) DeliverUndelegate(ctx context.Context, tx abci.Tx) (err error)
- func (app *App) DeliverValidatorHeartbeat(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverVote(ctx context.Context, tx abci.Tx) error
- func (app *App) DeliverWithdraw(ctx context.Context, tx abci.Tx, id string) error
- func (app *App) Info(_ tmtypes.RequestInfo) tmtypes.ResponseInfo
- func (app *App) ListSnapshots(_ tmtypes.RequestListSnapshots) tmtypes.ResponseListSnapshots
- func (app *App) LoadSnapshotChunk(req tmtypes.RequestLoadSnapshotChunk) tmtypes.ResponseLoadSnapshotChunk
- func (app *App) OfferSnapshot(req tmtypes.RequestOfferSnapshot) tmtypes.ResponseOfferSnapshot
- func (app *App) OnBeginBlock(req tmtypes.RequestBeginBlock) (ctx context.Context, resp tmtypes.ResponseBeginBlock)
- func (app *App) OnCheckTx(ctx context.Context, _ tmtypes.RequestCheckTx, tx abci.Tx) (context.Context, tmtypes.ResponseCheckTx)
- func (app *App) OnCheckTxSpam(tx abci.Tx) tmtypes.ResponseCheckTx
- func (app *App) OnCommit() (resp tmtypes.ResponseCommit)
- func (app *App) OnDeliverTXSpam(ctx context.Context, tx abci.Tx) tmtypes.ResponseDeliverTx
- func (app *App) OnDeliverTx(ctx context.Context, req tmtypes.RequestDeliverTx, tx abci.Tx) (context.Context, tmtypes.ResponseDeliverTx)
- func (app *App) OnEndBlock(req tmtypes.RequestEndBlock) (ctx context.Context, resp tmtypes.ResponseEndBlock)
- func (app *App) OnInitChain(req tmtypes.RequestInitChain) tmtypes.ResponseInitChain
- func (app *App) OnSpamProtectionMaxBatchSizeUpdate(ctx context.Context, u *num.Uint) error
- func (app *App) ReloadConf(cfg Config)
- func (app *App) RequireValidatorMasterPubKey(ctx context.Context, tx abci.Tx) error
- func (app *App) RequireValidatorMasterPubKeyW(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- func (app *App) RequireValidatorPubKey(ctx context.Context, tx abci.Tx) error
- func (app *App) RequireValidatorPubKeyW(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- func (app *App) SendTransactionResult(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- type Assets
- type BMIError
- type BMIProcessor
- type Banking
- type BlockchainClient
- type Broker
- type Checkpoint
- type Config
- type DelegationEngine
- type ERC20MultiSigTopology
- type EpochService
- type EvtForwarder
- type ExecEngine
- type ExecutionEngine
- type Gastimator
- func (g *Gastimator) CalcGasWantedForTx(tx abci.Tx) (uint64, error)
- func (g *Gastimator) GetMaxGas() uint64
- func (g *Gastimator) GetPriority(tx abci.Tx) uint64
- func (g *Gastimator) OnBlockEnd() uint64
- func (g *Gastimator) OnDefaultGasUpdate(ctx context.Context, def *num.Uint) error
- func (g *Gastimator) OnMaxGasUpdate(ctx context.Context, max *num.Uint) error
- func (g *Gastimator) OnMinBlockCapacityUpdate(ctx context.Context, minBlockCapacity *num.Uint) error
- type GovernanceEngine
- type HasFuryAssetID
- type Limits
- type NetworkParameters
- type Notary
- type NullBlockchainTxCodec
- type Oracle
- type OracleAdaptors
- type OraclesEngine
- type PoWEngine
- type ProtocolUpgradeService
- type Snapshot
- type SpamEngine
- type StakeVerifier
- type StakingAccounts
- type StateVarEngine
- type Stats
- type TimeService
- type Tx
- func (t Tx) BlockHeight() uint64
- func (t Tx) Command() txn.Command
- func (t Tx) GetCmd() interface{}
- func (t Tx) GetPoWNonce() uint64
- func (t Tx) GetPoWTID() string
- func (t Tx) GetVersion() uint32
- func (t Tx) Hash() []byte
- func (t Tx) Party() string
- func (t Tx) PubKey() []byte
- func (t Tx) PubKeyHex() string
- func (t Tx) Signature() []byte
- func (t Tx) Unmarshal(i interface{}) error
- type TxCodec
- type ValidatorTopology
- type Witness
Constants ¶
const AppVersion = 1
Variables ¶
var ( ErrPublicKeyCannotSubmitTransactionWithNoBalance = errors.New("public key cannot submit transaction without balance") ErrUnexpectedTxPubKey = errors.New("no one listens to the public keys that signed this oracle data") ErrTradingDisabled = errors.New("trading disabled") ErrMarketProposalDisabled = errors.New("market proposal disabled") ErrAssetProposalDisabled = errors.New("asset proposal disabled") ErrAwaitingCheckpointRestore = errors.New("transactions not allowed while waiting for checkpoint restore") ErrOracleNoSubscribers = errors.New("there are no subscribes to the oracle data") ErrOracleDataNormalization = func(err error) error { return fmt.Errorf("error normalizing incoming oracle data: %w", err) } )
var ( ErrNotAnERC20Event = errors.New("not an erc20 event") ErrNotABuiltinAssetEvent = errors.New("not an builtin asset event") ErrUnsupportedEventAction = errors.New("unsupported event action") ErrChainEventAssetListERC20WithoutEnoughSignature = errors.New("chain event for erc20 asset list received with missing node signatures") )
var ( ErrInvalidSignature = errors.New("invalid signature") ErrChainEventFromNonValidator = errors.New("chain event emitted from a non-validator node") ErrUnsupportedChainEvent = errors.New("unsupported chain event") ErrNodeSignatureFromNonValidator = errors.New("node signature not sent by validator") ErrNodeSignatureWithNonValidatorMasterKey = errors.New("node signature not signed with validator master key") ErrMarketBatchInstructionTooBig = func(got, expected uint64) error { return fmt.Errorf("market batch instructions too big, got(%d), expected(%d)", got, expected) } )
var ErrMissingWithdrawERC20Ext = errors.New("missing withdraw submission erc20 ext")
Functions ¶
This section is empty.
Types ¶
type App ¶
type App struct {
// contains filtered or unexported fields
}
func NewApp ¶
func NewApp( log *logging.Logger, furyPaths paths.Paths, config Config, cancelFn func(), stopBlockchain func() error, assets Assets, banking Banking, broker Broker, witness Witness, evtfwd EvtForwarder, exec ExecutionEngine, ghandler *genesis.Handler, gov GovernanceEngine, notary Notary, stats Stats, time TimeService, epoch EpochService, top ValidatorTopology, netp NetworkParameters, oracles *Oracle, delegation DelegationEngine, limits Limits, stake StakeVerifier, checkpoint Checkpoint, spam SpamEngine, pow PoWEngine, stakingAccounts StakingAccounts, snapshot Snapshot, stateVarEngine StateVarEngine, blockchainClient BlockchainClient, erc20MultiSigTopology ERC20MultiSigTopology, version string, protocolUpgradeService ProtocolUpgradeService, codec abci.Codec, gastimator *Gastimator, ) *App
func (*App) ApplySnapshotChunk ¶
func (app *App) ApplySnapshotChunk(ctx context.Context, req tmtypes.RequestApplySnapshotChunk) tmtypes.ResponseApplySnapshotChunk
func (*App) CheckBatchMarketInstructions ¶
func (*App) CheckBatchMarketInstructionsW ¶
func (*App) CheckProposeW ¶
func (*App) CheckProtocolUpgradeProposal ¶
func (*App) CheckSubmitOracleData ¶
func (*App) CheckTransferCommand ¶
func (*App) DeliverAmendLiquidityProvision ¶
func (*App) DeliverAmendOrder ¶
func (*App) DeliverAnnounceNode ¶
func (*App) DeliverBatchMarketInstructions ¶
func (*App) DeliverCancelLiquidityProvision ¶
func (*App) DeliverCancelOrder ¶
func (*App) DeliverCancelTransferFunds ¶
func (*App) DeliverChainEvent ¶
func (*App) DeliverDelegate ¶
func (*App) DeliverEthereumKeyRotateSubmission ¶
func (*App) DeliverIssueSignatures ¶
func (*App) DeliverKeyRotateSubmission ¶
func (*App) DeliverLiquidityProvision ¶
func (*App) DeliverNodeSignature ¶
func (*App) DeliverNodeVote ¶
func (*App) DeliverPropose ¶
func (*App) DeliverProtocolUpgradeCommand ¶
func (*App) DeliverStateVarProposal ¶
func (*App) DeliverSubmitOracleData ¶
func (*App) DeliverSubmitOrder ¶
func (*App) DeliverTransferFunds ¶
func (*App) DeliverUndelegate ¶
func (*App) DeliverValidatorHeartbeat ¶
func (*App) DeliverWithdraw ¶
func (*App) Info ¶
func (app *App) Info(_ tmtypes.RequestInfo) tmtypes.ResponseInfo
func (*App) ListSnapshots ¶
func (app *App) ListSnapshots(_ tmtypes.RequestListSnapshots) tmtypes.ResponseListSnapshots
func (*App) LoadSnapshotChunk ¶
func (app *App) LoadSnapshotChunk(req tmtypes.RequestLoadSnapshotChunk) tmtypes.ResponseLoadSnapshotChunk
func (*App) OfferSnapshot ¶
func (app *App) OfferSnapshot(req tmtypes.RequestOfferSnapshot) tmtypes.ResponseOfferSnapshot
func (*App) OnBeginBlock ¶
func (app *App) OnBeginBlock( req tmtypes.RequestBeginBlock, ) (ctx context.Context, resp tmtypes.ResponseBeginBlock)
OnBeginBlock updates the internal lastBlockTime value with each new block.
func (*App) OnCheckTx ¶
func (app *App) OnCheckTx(ctx context.Context, _ tmtypes.RequestCheckTx, tx abci.Tx) (context.Context, tmtypes.ResponseCheckTx)
OnCheckTx performs soft validations.
func (*App) OnCheckTxSpam ¶
func (app *App) OnCheckTxSpam(tx abci.Tx) tmtypes.ResponseCheckTx
OnCheckTxSpam checks for spam and replay.
func (*App) OnCommit ¶
func (app *App) OnCommit() (resp tmtypes.ResponseCommit)
func (*App) OnDeliverTXSpam ¶
OnDeliverTXSpam checks spam and replay.
func (*App) OnDeliverTx ¶
func (app *App) OnDeliverTx(ctx context.Context, req tmtypes.RequestDeliverTx, tx abci.Tx) (context.Context, tmtypes.ResponseDeliverTx)
OnDeliverTx increments the internal tx counter and decorates the context with tracing information.
func (*App) OnEndBlock ¶
func (app *App) OnEndBlock(req tmtypes.RequestEndBlock) (ctx context.Context, resp tmtypes.ResponseEndBlock)
func (*App) OnInitChain ¶
func (app *App) OnInitChain(req tmtypes.RequestInitChain) tmtypes.ResponseInitChain
func (*App) OnSpamProtectionMaxBatchSizeUpdate ¶
func (*App) ReloadConf ¶
ReloadConf updates the internal configuration.
func (*App) RequireValidatorMasterPubKey ¶
func (*App) RequireValidatorMasterPubKeyW ¶
func (*App) RequireValidatorPubKey ¶
func (*App) RequireValidatorPubKeyW ¶
type BMIError ¶
BMIError implements blockchain/abci.MaybePartialError.
func (*BMIError) ErrorOrNil ¶
type BMIProcessor ¶
type BMIProcessor struct {
// contains filtered or unexported fields
}
func NewBMIProcessor ¶
func NewBMIProcessor( log *logging.Logger, exec ExecutionEngine, ) *BMIProcessor
func (*BMIProcessor) ProcessBatch ¶
func (p *BMIProcessor) ProcessBatch( ctx context.Context, batch *commandspb.BatchMarketInstructions, party, determinitisticID string, stats Stats, ) error
ProcessBatch will process a batch of market transaction. Transaction are always executed in the following order: cancellation, amendment then submissions. All errors are returned as a single error.
type Banking ¶
type Banking interface { EnableBuiltinAsset(context.Context, string) error DepositBuiltinAsset(context.Context, *types.BuiltinAssetDeposit, string, uint64) error WithdrawBuiltinAsset(context.Context, string, string, string, *num.Uint) error EnableERC20(context.Context, *types.ERC20AssetList, string, uint64, uint64, string) error UpdateERC20(context.Context, *types.ERC20AssetLimitsUpdated, string, uint64, uint64, string) error DepositERC20(context.Context, *types.ERC20Deposit, string, uint64, uint64, string) error WithdrawERC20(context.Context, string, string, string, *num.Uint, *types.Erc20WithdrawExt) error ERC20WithdrawalEvent(context.Context, *types.ERC20Withdrawal, uint64, uint64, string) error TransferFunds(context.Context, *types.TransferFunds) error CancelTransferFunds(context.Context, *types.CancelTransferFunds) error BridgeStopped(context.Context, bool, string, uint64, uint64, string) error BridgeResumed(context.Context, bool, string, uint64, uint64, string) error CheckTransfer(t *types.TransferBase) error }
Banking ..
type BlockchainClient ¶
type BlockchainClient interface {
Validators(height *int64) ([]*tmtypesint.Validator, error)
}
type Broker ¶
type Broker interface { Send(e events.Event) SetStreaming(on bool) bool StreamingEnabled() bool SocketClient() broker.SocketClient }
Broker - the event bus.
type Checkpoint ¶
type Config ¶
type Config struct { Level encoding.LogLevel `long:"log-level"` LogOrderSubmitDebug encoding.Bool `long:"log-order-submit-debug"` LogOrderAmendDebug encoding.Bool `long:"log-order-amend-debug"` LogOrderCancelDebug encoding.Bool `long:"log-order-cancel-debug"` Ratelimit ratelimit.Config `group:"Ratelimit" namespace:"ratelimit"` KeepCheckpointsMax uint `long:"keep-checkpoints-max"` }
Config represent the configuration of the processor package.
func NewDefaultConfig ¶
func NewDefaultConfig() Config
NewDefaultConfig creates an instance of the package specific configuration, given a pointer to a logger instance to be used for logging within the package.
type DelegationEngine ¶
type DelegationEngine interface { Delegate(ctx context.Context, party string, nodeID string, amount *num.Uint) error UndelegateAtEndOfEpoch(ctx context.Context, party string, nodeID string, amount *num.Uint) error UndelegateNow(ctx context.Context, party string, nodeID string, amount *num.Uint) error ProcessEpochDelegations(ctx context.Context, epoch types.Epoch) []*types.ValidatorData Hash() []byte }
type ERC20MultiSigTopology ¶
type ERC20MultiSigTopology interface { ProcessSignerEvent(event *types.SignerEvent) error ProcessThresholdEvent(event *types.SignerThresholdSetEvent) error }
type EpochService ¶
type EvtForwarder ¶
type EvtForwarder interface {
Ack(*commandspb.ChainEvent) bool
}
EvtForwarder ...
type ExecEngine ¶
type ExecEngine interface {
GetMarketCounters() map[string]*types.MarketCounters
}
type ExecutionEngine ¶
type ExecutionEngine interface { // orders stuff SubmitOrder(ctx context.Context, orderSubmission *types.OrderSubmission, party string, idgen common.IDGenerator, orderID string) (*types.OrderConfirmation, error) CancelOrder(ctx context.Context, order *types.OrderCancellation, party string, idgen common.IDGenerator) ([]*types.OrderCancellationConfirmation, error) AmendOrder(ctx context.Context, order *types.OrderAmendment, party string, idgen common.IDGenerator) (*types.OrderConfirmation, error) // market stuff SubmitMarket(ctx context.Context, marketConfig *types.Market, proposer string) error UpdateMarket(ctx context.Context, marketConfig *types.Market) error RejectMarket(ctx context.Context, marketid string) error StartOpeningAuction(ctx context.Context, marketid string) error SucceedMarket(ctx context.Context, successor, parent string, insuranceFraction num.Decimal) error // LP stuff SubmitLiquidityProvision(ctx context.Context, sub *types.LiquidityProvisionSubmission, party, deterministicID string) error CancelLiquidityProvision(ctx context.Context, order *types.LiquidityProvisionCancellation, party string) error AmendLiquidityProvision(ctx context.Context, order *types.LiquidityProvisionAmendment, party string, deterministicID string) error Hash() []byte // End of block BlockEnd(ctx context.Context) }
type Gastimator ¶
type Gastimator struct {
// contains filtered or unexported fields
}
func NewGastimator ¶
func NewGastimator(exec ExecEngine) *Gastimator
func (*Gastimator) CalcGasWantedForTx ¶
func (g *Gastimator) CalcGasWantedForTx(tx abci.Tx) (uint64, error)
func (*Gastimator) GetMaxGas ¶
func (g *Gastimator) GetMaxGas() uint64
GetMaxGas returns the current value of max gas.
func (*Gastimator) GetPriority ¶
func (g *Gastimator) GetPriority(tx abci.Tx) uint64
func (*Gastimator) OnBlockEnd ¶
func (g *Gastimator) OnBlockEnd() uint64
OnBlockEnd is called at the end of the block to update the per market counters and return the max gas as defined by the network parameter.
func (*Gastimator) OnDefaultGasUpdate ¶
OnDefaultGasUpdate updates the default gas wanted per transaction.
func (*Gastimator) OnMaxGasUpdate ¶
OnMaxGasUpdate updates the max gas from the network parameter.
func (*Gastimator) OnMinBlockCapacityUpdate ¶
func (g *Gastimator) OnMinBlockCapacityUpdate(ctx context.Context, minBlockCapacity *num.Uint) error
OnMaxGasUpdate updates the max gas from the network parameter.
type GovernanceEngine ¶
type GovernanceEngine interface { SubmitProposal(context.Context, types.ProposalSubmission, string, string) (*governance.ToSubmit, error) FinaliseEnactment(ctx context.Context, prop *types.Proposal) AddVote(context.Context, types.VoteSubmission, string) error OnTick(context.Context, time.Time) ([]*governance.ToEnact, []*governance.VoteClosed) RejectProposal(context.Context, *types.Proposal, types.ProposalError, error) error Hash() []byte }
type HasFuryAssetID ¶
type HasFuryAssetID interface {
GetFuryAssetID() string
}
type NetworkParameters ¶
type NetworkParameters interface { Update(ctx context.Context, key, value string) error DispatchChanges(ctx context.Context) IsUpdateAllowed(key string) error }
NetworkParameters ...
type Notary ¶
type Notary interface { StartAggregate(resID string, kind commandspb.NodeSignatureKind, signature []byte) RegisterSignature(ctx context.Context, pubKey string, ns commandspb.NodeSignature) error IsSigned(context.Context, string, commandspb.NodeSignatureKind) ([]commandspb.NodeSignature, bool) }
Notary.
type NullBlockchainTxCodec ¶
type NullBlockchainTxCodec struct{}
type Oracle ¶
type Oracle struct { Engine OraclesEngine Adaptors OracleAdaptors }
type OracleAdaptors ¶
type OracleAdaptors interface {
Normalise(crypto.PublicKey, commandspb.OracleDataSubmission) (*oracles.OracleData, error)
}
type OraclesEngine ¶
type OraclesEngine interface { BroadcastData(context.Context, oracles.OracleData) error ListensToSigners(oracles.OracleData) bool HasMatch(data oracles.OracleData) (bool, error) }
type ProtocolUpgradeService ¶
type ProtocolUpgradeService interface { BeginBlock(ctx context.Context, blockHeight uint64) UpgradeProposal(ctx context.Context, pk string, upgradeBlockHeight uint64, furyReleaseTag string) error TimeForUpgrade() bool GetUpgradeStatus() types.UpgradeStatus SetReadyForUpgrade() CoreReadyForUpgrade() bool SetCoreReadyForUpgrade() Cleanup(ctx context.Context) IsValidProposal(ctx context.Context, pk string, upgradeBlockHeight uint64, furyReleaseTag string) error }
type Snapshot ¶
type Snapshot interface { Info() ([]byte, int64, string) Snapshot(ctx context.Context) ([]byte, error) SnapshotNow(ctx context.Context) (b []byte, errlol error) AddProviders(provs ...types.StateProvider) CheckLoaded() (bool, error) ClearAndInitialise() error // Calls related to statesync ListMeta() ([]*tmtypes.Snapshot, error) ReceiveSnapshot(snap *types.Snapshot) error RejectSnapshot() error ApplySnapshotChunk(chunk *types.RawChunk) (bool, error) GetMissingChunks() []uint32 ApplySnapshot(ctx context.Context) error LoadSnapshotChunk(height uint64, format, chunk uint32) (*types.RawChunk, error) }
type SpamEngine ¶
type StakeVerifier ¶
type StakeVerifier interface { ProcessStakeRemoved(ctx context.Context, event *types.StakeRemoved) error ProcessStakeDeposited(ctx context.Context, event *types.StakeDeposited) error }
type StakingAccounts ¶
type StateVarEngine ¶
type Stats ¶
type Stats interface { IncTotalCreateOrder() AddCurrentTradesInBatch(i uint64) AddTotalTrades(i uint64) uint64 IncTotalOrders() IncCurrentOrdersInBatch() IncTotalCancelOrder() IncTotalAmendOrder() // batch stats IncTotalBatches() NewBatch() TotalOrders() uint64 TotalBatches() uint64 SetAverageOrdersPerBatch(i uint64) SetBlockDuration(uint64) CurrentOrdersInBatch() uint64 CurrentTradesInBatch() uint64 SetOrdersPerSecond(i uint64) SetTradesPerSecond(i uint64) CurrentEventsInBatch() uint64 SetEventsPerSecond(uint64) // blockchain stats IncTotalTxCurrentBatch() IncHeight() Height() uint64 SetAverageTxPerBatch(i uint64) SetAverageTxSizeBytes(i uint64) SetTotalTxLastBatch(i uint64) SetTotalTxCurrentBatch(i uint64) TotalTxCurrentBatch() uint64 TotalTxLastBatch() uint64 SetHash(string) SetHeight(uint64) }
type TimeService ¶
type Tx ¶
type Tx struct {
// contains filtered or unexported fields
}
func DecodeTxNoValidation ¶
func (Tx) BlockHeight ¶
func (Tx) GetPoWNonce ¶
func (Tx) GetVersion ¶
type ValidatorTopology ¶
type ValidatorTopology interface { Len() int IsValidatorFuryPubKey(pk string) bool IsValidatorNodeID(nodeID string) bool AllFuryPubKeys() []string IsValidator() bool AddKeyRotate(ctx context.Context, nodeID string, currentBlockHeight uint64, kr *commandspb.KeyRotateSubmission) error ProcessEthereumKeyRotation(ctx context.Context, nodeID string, kr *commandspb.EthereumKeyRotateSubmission, verify func(message, signature []byte, hexAddress string) error) error BeginBlock(ctx context.Context, req abcitypes.RequestBeginBlock) GetValidatorPowerUpdates() []abcitypes.ValidatorUpdate ProcessAnnounceNode(ctx context.Context, nr *commandspb.AnnounceNode) error ProcessValidatorHeartbeat(context.Context, *commandspb.ValidatorHeartbeat, func(message, signature, pubkey []byte) error, func(message, signature []byte, hexAddress string) error) error AddForwarder(ID string) IssueSignatures(ctx context.Context, submitter, nodeID string, kind types.NodeSignatureKind) error }