Documentation ¶
Index ¶
- Constants
- Variables
- type App
- func (app *App) Abci() *abci.App
- func (app *App) ApplyReferralCode(ctx context.Context, tx abci.Tx) error
- func (app *App) ApplySnapshotChunk(ctx context.Context, req *tmtypes.RequestApplySnapshotChunk) (*tmtypes.ResponseApplySnapshotChunk, error)
- func (app *App) CheckAmendAmmForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckAmendOrderForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckApplyReferralCode(_ context.Context, tx abci.Tx) error
- func (app *App) CheckBatchMarketInstructions(_ 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) CheckBatchPropose(_ context.Context, tx abci.Tx, deterministicBatchID string) error
- func (app *App) CheckBatchProposeW(f func(context.Context, abci.Tx) error) func(context.Context, abci.Tx) error
- func (app *App) CheckCancelAmmForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckCancelLPForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckCancelOrderForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckCreateOrUpdateReferralSet(_ context.Context, tx abci.Tx) error
- func (app *App) CheckLPAmendForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckLPSubmissionForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckOrderSubmissionForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckPropose(_ 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) CheckSubmitAmmForSpam(_ context.Context, tx abci.Tx) error
- func (app *App) CheckSubmitOracleData(_ context.Context, tx abci.Tx) error
- func (app *App) CheckTransferCommand(_ context.Context, tx abci.Tx) error
- func (app *App) CreateReferralSet(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverAmendAMM(ctx context.Context, tx abci.Tx, deterministicID string) 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) DeliverBatchPropose(ctx context.Context, tx abci.Tx, deterministicBatchID string) (err error)
- func (app *App) DeliverCancelAMM(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) DeliverStopOrdersCancellation(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverStopOrdersSubmission(ctx context.Context, tx abci.Tx, deterministicID string) error
- func (app *App) DeliverSubmitAMM(ctx context.Context, tx abci.Tx, deterministicID string) 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) Finalize() []byte
- func (app *App) Info(_ context.Context, _ *tmtypes.RequestInfo) (*tmtypes.ResponseInfo, error)
- func (app *App) JoinTeam(ctx context.Context, tx abci.Tx) error
- func (app *App) ListSnapshots(_ context.Context, _ *tmtypes.RequestListSnapshots) (*tmtypes.ResponseListSnapshots, error)
- func (app *App) LoadSnapshotChunk(_ context.Context, req *tmtypes.RequestLoadSnapshotChunk) (*tmtypes.ResponseLoadSnapshotChunk, error)
- func (app *App) OfferSnapshot(_ context.Context, req *tmtypes.RequestOfferSnapshot) (*tmtypes.ResponseOfferSnapshot, error)
- func (app *App) OnBeginBlock(blockHeight uint64, blockHash string, blockTime time.Time, proposer string, ...) context.Context
- func (app *App) OnBlockchainEVMChainConfigUpdate(_ context.Context, conf any) error
- func (app *App) OnBlockchainPrimaryEthereumConfigUpdate(_ context.Context, conf any) error
- 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() (*tmtypes.ResponseCommit, error)
- func (app *App) OnEndBlock(blockHeight uint64) (tmtypes.ValidatorUpdates, types1.ConsensusParams)
- func (app *App) OnInitChain(req *tmtypes.RequestInitChain) (*tmtypes.ResponseInitChain, error)
- func (app *App) OnSpamProtectionMaxBatchSizeUpdate(_ context.Context, u *num.Uint) error
- func (app *App) ReloadConf(cfg Config)
- func (app *App) RequireValidatorMasterPubKey(_ 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(_ 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
- func (app *App) UpdateMarginMode(ctx context.Context, tx abci.Tx) error
- func (app *App) UpdatePartyProfile(ctx context.Context, tx abci.Tx) error
- func (app *App) UpdateReferralSet(ctx context.Context, tx abci.Tx) error
- type Assets
- type BMIError
- type BMIProcessor
- type BalanceChecker
- type Banking
- type BlockchainClient
- type Broker
- type Checkpoint
- type Codec
- type Config
- type DelegationEngine
- type ERC20MultiSigTopology
- type EpochService
- type EthCallEngine
- type EthereumOracleVerifier
- type EvtForwarder
- type EvtForwarderHeartbeat
- 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 HasVegaAssetID
- type Limits
- type NetworkParameters
- type Notary
- type NullBlockchainTxCodec
- type Oracle
- type OracleAdaptors
- type OraclesEngine
- type PartiesEngine
- type PoWEngine
- type ProtocolUpgradeService
- type ReferralProgram
- type Snapshot
- type SnapshotEngine
- type SpamEngine
- type StakeVerifier
- type StakingAccounts
- type StateVarEngine
- type Stats
- type TeamsEngine
- type TimeService
- type Tx
- func (t Tx) BlockHeight() uint64
- func (t Tx) Command() txn.Command
- func (t Tx) GetCmd() interface{}
- func (t Tx) GetLength() int
- func (t Tx) GetNonce() uint64
- 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 TxCache
- type TxCodec
- type TxWrapper
- type Validate
- func (v Validate) CheckOrderAmendment(amend *commandspb.OrderAmendment) error
- func (v Validate) CheckOrderCancellation(cancel *commandspb.OrderCancellation) error
- func (v Validate) CheckOrderSubmission(order *commandspb.OrderSubmission) error
- func (v Validate) CheckStopOrdersCancellation(cancel *commandspb.StopOrdersCancellation) error
- func (v Validate) CheckStopOrdersSubmission(order *commandspb.StopOrdersSubmission) error
- func (v Validate) CheckUpdateMarginMode(order *commandspb.UpdateMarginMode) error
- type Validator
- type ValidatorTopology
- type VolumeDiscountProgram
- type VolumeRebateProgram
- type Witness
Constants ¶
const AppVersion = 1
Variables ¶
var ( 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") ErrEthOraclesDisabled = errors.New("ethereum oracles disabled") ErrOracleNoSubscribers = errors.New("there are no subscribes to the oracle data") ErrSpotMarketProposalDisabled = errors.New("spot market proposal disabled") ErrPerpsMarketProposalDisabled = errors.New("perps market proposal disabled") ErrAMMPoolDisabled = errors.New("amm pool disabled") 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") ErrNotBridgeChainID = errors.New("not the chainID of any bridge") )
var ( 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) } ErrParentMarketAlreadySucceeded = errors.New("parent market already was already succeeded") )
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, vegaPaths paths.Paths, config Config, cancelFn func(), stopBlockchain func() error, assets Assets, banking Banking, broker Broker, witness Witness, evtForwarder EvtForwarder, evtHeartbeat EvtForwarderHeartbeat, 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 SnapshotEngine, stateVarEngine StateVarEngine, teamsEngine TeamsEngine, referralProgram ReferralProgram, volumeDiscountProgram VolumeDiscountProgram, volumeRebateProgram VolumeRebateProgram, blockchainClient BlockchainClient, primaryMultisig ERC20MultiSigTopology, secondaryMultisig ERC20MultiSigTopology, version string, protocolUpgradeService ProtocolUpgradeService, codec abci.Codec, gastimator *Gastimator, ethCallEngine EthCallEngine, balanceChecker BalanceChecker, partiesEngine PartiesEngine, txCache TxCache, ) *App
func (*App) ApplyReferralCode ¶ added in v0.73.0
func (*App) ApplySnapshotChunk ¶
func (app *App) ApplySnapshotChunk(ctx context.Context, req *tmtypes.RequestApplySnapshotChunk) (*tmtypes.ResponseApplySnapshotChunk, error)
func (*App) CheckAmendAmmForSpam ¶ added in v0.77.0
func (*App) CheckAmendOrderForSpam ¶ added in v0.77.0
func (*App) CheckApplyReferralCode ¶ added in v0.73.0
func (*App) CheckBatchMarketInstructions ¶ added in v0.55.0
func (*App) CheckBatchMarketInstructionsW ¶ added in v0.55.0
func (*App) CheckBatchPropose ¶ added in v0.74.0
func (*App) CheckBatchProposeW ¶ added in v0.74.0
func (*App) CheckCancelAmmForSpam ¶ added in v0.77.0
func (*App) CheckCancelLPForSpam ¶ added in v0.77.0
func (*App) CheckCancelOrderForSpam ¶ added in v0.77.0
func (*App) CheckCreateOrUpdateReferralSet ¶ added in v0.74.0
func (*App) CheckLPAmendForSpam ¶ added in v0.77.0
func (*App) CheckLPSubmissionForSpam ¶ added in v0.77.0
func (*App) CheckOrderSubmissionForSpam ¶ added in v0.77.0
func (*App) CheckPropose ¶ added in v0.56.0
func (*App) CheckProposeW ¶ added in v0.56.0
func (*App) CheckProtocolUpgradeProposal ¶ added in v0.55.0
func (*App) CheckSubmitAmmForSpam ¶ added in v0.77.0
func (*App) CheckSubmitOracleData ¶
func (*App) CheckTransferCommand ¶ added in v0.68.0
func (*App) CreateReferralSet ¶ added in v0.73.0
func (*App) DeliverAmendAMM ¶ added in v0.77.0
func (*App) DeliverAmendLiquidityProvision ¶
func (*App) DeliverAmendOrder ¶
func (*App) DeliverAnnounceNode ¶
func (*App) DeliverBatchMarketInstructions ¶ added in v0.55.0
func (*App) DeliverBatchPropose ¶ added in v0.74.0
func (*App) DeliverCancelAMM ¶ added in v0.77.0
func (*App) DeliverCancelLiquidityProvision ¶
func (*App) DeliverCancelOrder ¶
func (*App) DeliverCancelTransferFunds ¶
func (*App) DeliverChainEvent ¶
func (*App) DeliverDelegate ¶
func (*App) DeliverEthereumKeyRotateSubmission ¶
func (*App) DeliverIssueSignatures ¶ added in v0.55.0
func (*App) DeliverKeyRotateSubmission ¶
func (*App) DeliverLiquidityProvision ¶
func (*App) DeliverNodeSignature ¶
func (*App) DeliverNodeVote ¶
func (*App) DeliverPropose ¶
func (*App) DeliverProtocolUpgradeCommand ¶
func (*App) DeliverStateVarProposal ¶
func (*App) DeliverStopOrdersCancellation ¶ added in v0.72.0
func (*App) DeliverStopOrdersSubmission ¶ added in v0.72.0
func (*App) DeliverSubmitAMM ¶ added in v0.77.0
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(_ context.Context, _ *tmtypes.RequestInfo) (*tmtypes.ResponseInfo, error)
func (*App) ListSnapshots ¶
func (app *App) ListSnapshots(_ context.Context, _ *tmtypes.RequestListSnapshots) (*tmtypes.ResponseListSnapshots, error)
func (*App) LoadSnapshotChunk ¶
func (app *App) LoadSnapshotChunk(_ context.Context, req *tmtypes.RequestLoadSnapshotChunk) (*tmtypes.ResponseLoadSnapshotChunk, error)
func (*App) OfferSnapshot ¶
func (app *App) OfferSnapshot(_ context.Context, req *tmtypes.RequestOfferSnapshot) (*tmtypes.ResponseOfferSnapshot, error)
func (*App) OnBeginBlock ¶
func (app *App) OnBeginBlock(blockHeight uint64, blockHash string, blockTime time.Time, proposer string, txs []abci.Tx) context.Context
OnBeginBlock updates the internal lastBlockTime value with each new block.
func (*App) OnBlockchainEVMChainConfigUpdate ¶ added in v0.76.0
func (*App) OnBlockchainPrimaryEthereumConfigUpdate ¶ added in v0.76.0
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) OnEndBlock ¶
func (app *App) OnEndBlock(blockHeight uint64) (tmtypes.ValidatorUpdates, types1.ConsensusParams)
func (*App) OnInitChain ¶
func (app *App) OnInitChain(req *tmtypes.RequestInitChain) (*tmtypes.ResponseInitChain, error)
func (*App) OnSpamProtectionMaxBatchSizeUpdate ¶ added in v0.55.0
func (*App) ReloadConf ¶
ReloadConf updates the internal configuration.
func (*App) RequireValidatorMasterPubKey ¶
func (*App) RequireValidatorMasterPubKeyW ¶
func (*App) RequireValidatorPubKey ¶
func (*App) RequireValidatorPubKeyW ¶
func (*App) SendTransactionResult ¶ added in v0.58.0
func (*App) UpdateMarginMode ¶ added in v0.74.0
func (*App) UpdatePartyProfile ¶ added in v0.74.0
type BMIError ¶ added in v0.71.0
BMIError implements blockchain/abci.MaybePartialError.
func (*BMIError) ErrorOrNil ¶ added in v0.71.0
func (*BMIError) GetRawErrors ¶ added in v0.77.8
type BMIProcessor ¶ added in v0.55.0
type BMIProcessor struct {
// contains filtered or unexported fields
}
func NewBMIProcessor ¶ added in v0.55.0
func NewBMIProcessor( log *logging.Logger, exec ExecutionEngine, validator Validator, ) *BMIProcessor
func (*BMIProcessor) ProcessBatch ¶ added in v0.55.0
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 BalanceChecker ¶ added in v0.73.0
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, string) error UpdateERC20(context.Context, *types.ERC20AssetLimitsUpdated, string, uint64, uint64, string, string) error DepositERC20(context.Context, *types.ERC20Deposit, string, uint64, uint64, string, string) error WithdrawERC20(context.Context, string, string, string, *num.Uint, *types.Erc20WithdrawExt) error ERC20WithdrawalEvent(context.Context, *types.ERC20Withdrawal, uint64, string, string) error TransferFunds(context.Context, *types.TransferFunds) error CancelTransferFunds(context.Context, *types.CancelTransferFunds) error BridgeStopped(context.Context, bool, string, uint64, uint64, string, string) error BridgeResumed(context.Context, bool, string, uint64, uint64, string, string) error CheckTransfer(t *types.TransferBase) error NewGovernanceTransfer(ctx context.Context, ID, reference string, transferConfig *types.NewTransferConfiguration) error VerifyGovernanceTransfer(transfer *types.NewTransferConfiguration) error VerifyCancelGovernanceTransfer(transferID string) error CancelGovTransfer(ctx context.Context, ID string) error OnBlockEnd(ctx context.Context, now time.Time) }
Banking ..
type BlockchainClient ¶
type BlockchainClient interface { Validators(height *int64) ([]*tmtypesint.Validator, error) MaxMempoolSize() int64 }
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"` KeepCheckpointsMax uint `long:"keep-checkpoints-max"` SnapshotDebug Snapshot `group:"SnapshotDebug" namespace:"snapshotdebug"` }
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 EthCallEngine ¶ added in v0.73.0
type EthCallEngine interface {
Start()
}
type EthereumOracleVerifier ¶ added in v0.73.0
type EthereumOracleVerifier interface {
ProcessEthereumContractCallResult(callEvent ethcall.ContractCallEvent) error
}
type EvtForwarder ¶
type EvtForwarder interface {
Ack(*commandspb.ChainEvent) bool
}
EvtForwarder ...
type EvtForwarderHeartbeat ¶ added in v0.77.0
EvtForwarderHeartbeat ...
type ExecEngine ¶ added in v0.63.0
type ExecEngine interface {
GetMarketCounters() map[string]*types.MarketCounters
}
type ExecutionEngine ¶
type ExecutionEngine interface { CheckCanSubmitOrderOrLiquidityCommitment(party, market string) error CheckOrderSubmissionForSpam(orderSubmission *types.OrderSubmission, party string) error // 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) // stop orders stuff SubmitStopOrders(ctx context.Context, stopOrdersSubmission *types.StopOrdersSubmission, party string, idgen common.IDGenerator, stopOrderID1, stopOrderID2 *string) (*types.OrderConfirmation, error) CancelStopOrders(ctx context.Context, stopOrdersCancellation *types.StopOrdersCancellation, party string, idgen common.IDGenerator) error // Future stuff SubmitMarket(ctx context.Context, marketConfig *types.Market, proposer string, oos time.Time) 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) error // Spot stuff SubmitSpotMarket(ctx context.Context, marketConfig *types.Market, proposer string, oos time.Time) error UpdateSpotMarket(ctx context.Context, marketConfig *types.Market) 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 VerifyUpdateMarketState(changes *types.MarketStateUpdateConfiguration) error UpdateMarketState(ctx context.Context, changes *types.MarketStateUpdateConfiguration) error Hash() []byte // End of block BlockEnd(ctx context.Context) BeginBlock(ctx context.Context, duration time.Duration) // Margin mode UpdateMarginMode(ctx context.Context, party, marketID string, marginMode types.MarginMode, marginFactor num.Decimal) error // default chain ID, can be removed once we've upgraded to v0.74 OnChainIDUpdate(uint64) error SubmitAMM(ctx context.Context, sub *types.SubmitAMM, deterministicID string) error AmendAMM(ctx context.Context, sub *types.AmendAMM, deterministicID string) error CancelAMM(ctx context.Context, sub *types.CancelAMM, deterministicID string) error // add this method here for testing, this is the exec engine interface used by the gastimator. GetMarketCounters() map[string]*types.MarketCounters }
type Gastimator ¶ added in v0.63.0
type Gastimator struct {
// contains filtered or unexported fields
}
func NewGastimator ¶ added in v0.63.0
func NewGastimator(exec ExecEngine) *Gastimator
func (*Gastimator) CalcGasWantedForTx ¶ added in v0.63.0
func (g *Gastimator) CalcGasWantedForTx(tx abci.Tx) (uint64, error)
func (*Gastimator) GetMaxGas ¶ added in v0.63.0
func (g *Gastimator) GetMaxGas() uint64
GetMaxGas returns the current value of max gas.
func (*Gastimator) GetPriority ¶ added in v0.63.0
func (g *Gastimator) GetPriority(tx abci.Tx) uint64
func (*Gastimator) OnBlockEnd ¶ added in v0.63.0
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 ¶ added in v0.63.0
OnDefaultGasUpdate updates the default gas wanted per transaction.
func (*Gastimator) OnMaxGasUpdate ¶ added in v0.63.0
OnMaxGasUpdate updates the max gas from the network parameter.
func (*Gastimator) OnMinBlockCapacityUpdate ¶ added in v0.63.0
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) SubmitBatchProposal(context.Context, types.BatchProposalSubmission, 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 RejectBatchProposal(context.Context, string, types.ProposalError, error) error Hash() []byte OnChainIDUpdate(uint64) error }
type HasVegaAssetID ¶
type HasVegaAssetID interface {
GetVegaAssetID() string
}
type NetworkParameters ¶
type NetworkParameters interface { Update(ctx context.Context, key, value string) error DispatchChanges(ctx context.Context) IsUpdateAllowed(key string) error GetInt(key string) (int64, error) GetJSONStruct(key string, v netparams.Reset) 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 EthereumOraclesVerifier EthereumOracleVerifier EthereumL2OraclesVerifier EthereumOracleVerifier }
type OracleAdaptors ¶
type OracleAdaptors interface {
Normalise(crypto.PublicKey, commandspb.OracleDataSubmission) (*dscommon.Data, error)
}
type OraclesEngine ¶
type PartiesEngine ¶ added in v0.74.0
type PoWEngine ¶
type PoWEngine interface { api.ProofOfWorkParams BeginBlock(blockHeight uint64, blockHash string, txs []abci.Tx) CheckBlockTx(tx abci.Tx) (pow.ValidationResult, *uint) ProcessProposal(txs []abci.Tx) bool EndPrepareProposal([]pow.ValidationEntry) CheckTx(tx abci.Tx) error GetSpamStatistics(partyID string) *protoapi.PoWStatistic OnCommit() }
type ProtocolUpgradeService ¶
type ProtocolUpgradeService interface { BeginBlock(ctx context.Context, blockHeight uint64) UpgradeProposal(ctx context.Context, pk string, upgradeBlockHeight uint64, vegaReleaseTag string) error TimeForUpgrade() bool GetUpgradeStatus() types.UpgradeStatus SetReadyForUpgrade() CoreReadyForUpgrade() bool SetCoreReadyForUpgrade() Cleanup(ctx context.Context) IsValidProposal(ctx context.Context, pk string, upgradeBlockHeight uint64, vegaReleaseTag string) error }
type ReferralProgram ¶ added in v0.73.0
type ReferralProgram interface { UpdateProgram(program *types.ReferralProgram) PartyOwnsReferralSet(types.PartyID, types.ReferralSetID) error CreateReferralSet(context.Context, types.PartyID, types.ReferralSetID) error ApplyReferralCode(context.Context, types.PartyID, types.ReferralSetID) error CheckSufficientBalanceForApplyReferralCode(types.PartyID, *num.Uint) error CheckSufficientBalanceForCreateOrUpdateReferralSet(types.PartyID, *num.Uint) error }
type SnapshotEngine ¶ added in v0.73.0
type SnapshotEngine interface { Info() ([]byte, int64, string) Snapshot(context.Context) ([]byte, snapshot.DoneCh, error) SnapshotNow(context.Context) ([]byte, error) AddProviders(...types.StateProvider) HasSnapshots() (bool, error) ListLatestSnapshots() ([]*tmtypes.Snapshot, error) ReceiveSnapshot(*types.Snapshot) tmtypes.ResponseOfferSnapshot ReceiveSnapshotChunk(context.Context, *types.RawChunk, string) tmtypes.ResponseApplySnapshotChunk RetrieveSnapshotChunk(uint64, uint32, uint32) (*types.RawChunk, error) HasRestoredStateAlready() bool // debug snapshot issues/hash mismatch problems SnapshotDump(ctx context.Context, path string) ([]byte, 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 TeamsEngine ¶ added in v0.73.0
type TeamsEngine interface { TeamExists(team types.TeamID) bool CreateTeam(context.Context, types.PartyID, types.TeamID, *commandspb.CreateReferralSet_Team) error UpdateTeam(context.Context, types.PartyID, types.TeamID, *commandspb.UpdateReferralSet_Team) error JoinTeam(context.Context, types.PartyID, *commandspb.JoinTeam) error }
type TimeService ¶
type Tx ¶
type Tx struct {
// contains filtered or unexported fields
}
func DecodeTxNoValidation ¶
func (Tx) BlockHeight ¶
func (Tx) GetPoWNonce ¶
func (Tx) GetVersion ¶
type TxWrapper ¶ added in v0.74.0
type TxWrapper struct {
// contains filtered or unexported fields
}
type Validate ¶ added in v0.72.0
type Validate struct{}
func (Validate) CheckOrderAmendment ¶ added in v0.72.0
func (v Validate) CheckOrderAmendment(amend *commandspb.OrderAmendment) error
func (Validate) CheckOrderCancellation ¶ added in v0.72.0
func (v Validate) CheckOrderCancellation(cancel *commandspb.OrderCancellation) error
func (Validate) CheckOrderSubmission ¶ added in v0.72.0
func (v Validate) CheckOrderSubmission(order *commandspb.OrderSubmission) error
func (Validate) CheckStopOrdersCancellation ¶ added in v0.72.0
func (v Validate) CheckStopOrdersCancellation(cancel *commandspb.StopOrdersCancellation) error
func (Validate) CheckStopOrdersSubmission ¶ added in v0.72.0
func (v Validate) CheckStopOrdersSubmission(order *commandspb.StopOrdersSubmission) error
func (Validate) CheckUpdateMarginMode ¶ added in v0.74.0
func (v Validate) CheckUpdateMarginMode(order *commandspb.UpdateMarginMode) error
type Validator ¶ added in v0.72.0
type Validator interface { CheckOrderCancellation(cancel *commandspb.OrderCancellation) error CheckOrderAmendment(amend *commandspb.OrderAmendment) error CheckOrderSubmission(order *commandspb.OrderSubmission) error CheckStopOrdersCancellation(cancel *commandspb.StopOrdersCancellation) error CheckStopOrdersSubmission(order *commandspb.StopOrdersSubmission) error CheckUpdateMarginMode(update *commandspb.UpdateMarginMode) error }
type ValidatorTopology ¶
type ValidatorTopology interface { Len() int IsValidatorVegaPubKey(pk string) bool IsValidatorNodeID(nodeID string) bool AllVegaPubKeys() []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, blockHeight uint64, proposer string) 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, chainID string, kind types.NodeSignatureKind) error }
type VolumeDiscountProgram ¶ added in v0.73.0
type VolumeDiscountProgram interface {
UpdateProgram(program *types.VolumeDiscountProgram)
}
type VolumeRebateProgram ¶ added in v0.77.8
type VolumeRebateProgram interface {
UpdateProgram(program *types.VolumeRebateProgram)
}