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
}