keeper

package
v7.2.0-rc2 Latest Latest
Warning

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

Go to latest
Published: May 21, 2024 License: Apache-2.0 Imports: 38 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExportGenesis

func ExportGenesis(ctx sdk.Context, k Keeper) *types.GenesisState

ExportGenesis export module status

func InitGenesis

func InitGenesis(ctx sdk.Context, k Keeper, state *types.GenesisState)

InitGenesis import module genesis

func NewMsgServerImpl

func NewMsgServerImpl(keeper Keeper) types.MsgServer

NewMsgServerImpl returns an implementation of the gov MsgServer interface for the provided Keeper.

func NewMsgServerRouterImpl

func NewMsgServerRouterImpl(routerKeeper RouterKeeper) types.MsgServer

NewMsgServerRouterImpl returns an implementation of the crosschain router MsgServer interface for the provided Keeper.

func NewQueryServerImpl

func NewQueryServerImpl(keeper Keeper) types.QueryServer

Types

type Keeper

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

Keeper maintains the link to storage and exposes getter/setter methods for the various parts of the state machine

func NewKeeper

func NewKeeper(cdc codec.BinaryCodec, moduleName string, storeKey storetypes.StoreKey,
	stakingKeeper types.StakingKeeper, stakingMsgServer types.StakingMsgServer, distributionKeeper types.DistributionMsgServer,
	bankKeeper types.BankKeeper, ibcTransferKeeper types.IBCTransferKeeper, erc20Keeper types.Erc20Keeper, ak types.AccountKeeper,
	evmKeeper types.EVMKeeper, authority string,
) Keeper

NewKeeper returns a new instance of the gravity keeper

func (Keeper) AddBridgeToken

func (k Keeper) AddBridgeToken(ctx sdk.Context, token, denom string)

func (Keeper) AddOracleSetRequest

func (k Keeper) AddOracleSetRequest(ctx sdk.Context, currentOracleSet *types.OracleSet)

AddOracleSetRequest returns a new instance of the Gravity BridgeValidatorSet

func (Keeper) AddOutgoingBridgeCall

func (k Keeper) AddOutgoingBridgeCall(
	ctx sdk.Context,
	sender sdk.AccAddress,
	receiver string,
	tokens []types.ERC20Token,
	to string,
	data string,
	memo string,
	eventNonce uint64,
) (*types.OutgoingBridgeCall, error)

func (Keeper) AddToOutgoingPendingPool

func (k Keeper) AddToOutgoingPendingPool(ctx sdk.Context, sender sdk.AccAddress, receiver string, amount sdk.Coin, fee sdk.Coin) (uint64, error)

func (Keeper) AddToOutgoingPool

func (k Keeper) AddToOutgoingPool(ctx sdk.Context, sender sdk.AccAddress, receiver string, amount sdk.Coin, fee sdk.Coin) (uint64, error)

AddToOutgoingPool - checks a counterpart denominator exists for the given voucher type - burns the voucher for transfer amount and fees - persists an OutgoingTx - adds the TX to the `available` TX pool via a second index

func (Keeper) AddUnbatchedTx

func (k Keeper) AddUnbatchedTx(ctx sdk.Context, outgoingTransferTx *types.OutgoingTransferTx) error

AddUnbatchedTx creates a new transaction in the pool

func (Keeper) AddUnbatchedTxBridgeFee

func (k Keeper) AddUnbatchedTxBridgeFee(ctx sdk.Context, txId uint64, sender sdk.AccAddress, addBridgeFee sdk.Coin) error

func (Keeper) Attest

func (k Keeper) Attest(ctx sdk.Context, oracleAddr sdk.AccAddress, claim types.ExternalClaim) (*types.Attestation, error)

func (Keeper) AttestationHandler

func (k Keeper) AttestationHandler(ctx sdk.Context, externalClaim types.ExternalClaim) error

AttestationHandler Handle is the entry point for Attestation processing.

func (Keeper) BridgeCallCoinsToERC20Token

func (k Keeper) BridgeCallCoinsToERC20Token(ctx sdk.Context, sender sdk.AccAddress, coins sdk.Coins) ([]types.ERC20Token, error)

func (Keeper) BridgeCallEvm

func (k Keeper) BridgeCallEvm(
	ctx sdk.Context,
	sender common.Address,
	receiver sdk.AccAddress,
	tokens []types.ERC20Token,
	to *common.Address,
	data []byte,
	value sdkmath.Int,
	eventNonce uint64,
) error

func (Keeper) BridgeCallHandler

func (k Keeper) BridgeCallHandler(ctx sdk.Context, msg *types.MsgBridgeCallClaim) error

func (Keeper) BridgeCallResultHandler

func (k Keeper) BridgeCallResultHandler(ctx sdk.Context, claim *types.MsgBridgeCallResultClaim)

func (Keeper) BuildOutgoingTxBatch

func (k Keeper) BuildOutgoingTxBatch(ctx sdk.Context, tokenContract, feeReceive string, maxElements uint, minimumFee, baseFee sdkmath.Int) (*types.OutgoingTxBatch, error)

BuildOutgoingTxBatch starts the following process chain:

  • find bridged denominator for given voucher type
  • determine if a an unExecuted batch is already waiting for this token type, if so confirm the new batch would have a higher total fees. If not exit without creating a batch
  • select available transactions from the outgoing transaction pool sorted by fee desc
  • persist an outgoing batch object with an incrementing ID = nonce
  • emit an event

func (Keeper) CalExternalTimeoutHeight

func (k Keeper) CalExternalTimeoutHeight(ctx sdk.Context, params types.Params, timeout uint64) uint64

CalExternalTimeoutHeight This gets the timeout height in External blocks.

func (Keeper) CancelOutgoingTxBatch

func (k Keeper) CancelOutgoingTxBatch(ctx sdk.Context, tokenContract string, batchNonce uint64) error

CancelOutgoingTxBatch releases all TX in the batch and deletes the batch

func (Keeper) CommonSetOracleTotalPower

func (k Keeper) CommonSetOracleTotalPower(ctx sdk.Context)

func (Keeper) CreateBridgeAccount

func (k Keeper) CreateBridgeAccount(ctx sdk.Context, address string)

func (Keeper) DelLastEventNonceByOracle

func (k Keeper) DelLastEventNonceByOracle(ctx sdk.Context, oracleAddr sdk.AccAddress)

DelLastEventNonceByOracle delete the latest event nonce for a given oracle

func (Keeper) DelOracle

func (k Keeper) DelOracle(ctx sdk.Context, oracle sdk.AccAddress)

func (Keeper) DelOracleAddrByBridgerAddr

func (k Keeper) DelOracleAddrByBridgerAddr(ctx sdk.Context, bridgerAddr sdk.AccAddress)

DelOracleAddrByBridgerAddr delete the bridger key for a given oracle

func (Keeper) DelOracleAddrByExternalAddr

func (k Keeper) DelOracleAddrByExternalAddr(ctk sdk.Context, externalAddress string)

DelOracleAddrByExternalAddr delete the external address for a give oracle

func (Keeper) DeleteAttestation

func (k Keeper) DeleteAttestation(ctx sdk.Context, claim types.ExternalClaim)

DeleteAttestation deletes an attestation given an event nonce and claim

func (Keeper) DeleteBatch

func (k Keeper) DeleteBatch(ctx sdk.Context, batch *types.OutgoingTxBatch)

DeleteBatch deletes an outgoing transaction batch

func (Keeper) DeleteBatchConfirm

func (k Keeper) DeleteBatchConfirm(ctx sdk.Context, batchNonce uint64, tokenContract string)

func (Keeper) DeleteBridgeCallConfirm

func (k Keeper) DeleteBridgeCallConfirm(ctx sdk.Context, nonce uint64)

func (Keeper) DeleteBridgeCallFromMsg

func (k Keeper) DeleteBridgeCallFromMsg(ctx sdk.Context, txID uint64)

func (Keeper) DeleteOracleSet

func (k Keeper) DeleteOracleSet(ctx sdk.Context, nonce uint64)

DeleteOracleSet deletes the oracleSet at a given nonce from state

func (Keeper) DeleteOracleSetConfirm

func (k Keeper) DeleteOracleSetConfirm(ctx sdk.Context, nonce uint64)

func (Keeper) DeleteOutgoingBridgeCall

func (k Keeper) DeleteOutgoingBridgeCall(ctx sdk.Context, nonce uint64)

func (Keeper) DeleteOutgoingBridgeCallRecord

func (k Keeper) DeleteOutgoingBridgeCallRecord(ctx sdk.Context, bridgeCallNonce uint64)

func (Keeper) EndBlocker

func (k Keeper) EndBlocker(ctx sdk.Context)

EndBlocker is called at the end of every block

func (Keeper) GetAllBatchFees

func (k Keeper) GetAllBatchFees(ctx sdk.Context, maxElements uint, minBatchFees []types.MinBatchFee) (batchFees []*types.BatchFees)

GetAllBatchFees creates a fee entry for every batch type currently in the store this can be used by relayers to determine what batch types are desirable to request

func (Keeper) GetAllOracles

func (k Keeper) GetAllOracles(ctx sdk.Context, isOnline bool) (oracles types.Oracles)

func (Keeper) GetAttestation

func (k Keeper) GetAttestation(ctx sdk.Context, eventNonce uint64, claimHash []byte) *types.Attestation

GetAttestation return an attestation given a nonce

func (Keeper) GetAuthority

func (k Keeper) GetAuthority() string

func (Keeper) GetBatchConfirm

func (k Keeper) GetBatchConfirm(ctx sdk.Context, tokenContract string, batchNonce uint64, oracleAddr sdk.AccAddress) *types.MsgConfirmBatch

GetBatchConfirm returns a batch confirmation given its nonce, the token contract, and a oracle address

func (Keeper) GetBatchFeesByTokenType

func (k Keeper) GetBatchFeesByTokenType(ctx sdk.Context, tokenContract string, maxElements uint, baseFee sdkmath.Int) *types.BatchFees

GetBatchFeesByTokenType gets the fee the next batch of a given token type would have if created right now. This info is both presented to relayers for the purpose of determining when to request batches and also used by the batch creation process to decide not to create a new batch (fees must be increasing)

func (Keeper) GetBridgeCallTimeout

func (k Keeper) GetBridgeCallTimeout(ctx sdk.Context) uint64

func (Keeper) GetBridgeTokenDenom

func (k Keeper) GetBridgeTokenDenom(ctx sdk.Context, tokenContract string) *types.BridgeToken

func (Keeper) GetCurrentOracleSet

func (k Keeper) GetCurrentOracleSet(ctx sdk.Context) *types.OracleSet

GetCurrentOracleSet gets powers from the store and normalizes them into an integer percentage with a resolution of uint32 Max meaning a given validators 'gravity power' is computed as Cosmos power / total cosmos power = x / uint32 Max where x is the voting power on the gravity contract. This allows us to only use integer division which produces a known rounding error from truncation equal to the ratio of the validators Cosmos power / total cosmos power ratio, leaving us at uint32 Max - 1 total voting power. This is an acceptable rounding error since floating point may cause consensus problems if different floating point unit implementations are involved.

func (Keeper) GetDenomBridgeToken

func (k Keeper) GetDenomBridgeToken(ctx sdk.Context, denom string) *types.BridgeToken

func (Keeper) GetGravityID

func (k Keeper) GetGravityID(ctx sdk.Context) string

GetGravityID returns the GravityID is essentially a salt value for bridge signatures, provided each chain running Gravity has a unique ID it won't be possible to play back signatures from one bridge onto another even if they share a oracle set.

The lifecycle of the GravityID is that it is set in the Genesis file read from the live chain for the contract deployment, once a Gravity contract is deployed the GravityID CAN NOT BE CHANGED. Meaning that it can't just be the same as the chain id since the chain id may be changed many times with each successive chain in charge of the same bridge

func (Keeper) GetIbcTransferTimeoutHeight

func (k Keeper) GetIbcTransferTimeoutHeight(ctx sdk.Context) uint64

func (Keeper) GetLastEventBlockHeightByOracle

func (k Keeper) GetLastEventBlockHeightByOracle(ctx sdk.Context, oracleAddr sdk.AccAddress) uint64

GetLastEventBlockHeightByOracle get the latest event blockHeight for a give oracle

func (Keeper) GetLastEventNonceByOracle

func (k Keeper) GetLastEventNonceByOracle(ctx sdk.Context, oracleAddr sdk.AccAddress) uint64

GetLastEventNonceByOracle returns the latest event nonce for a given oracle

func (Keeper) GetLastObservedBlockHeight

func (k Keeper) GetLastObservedBlockHeight(ctx sdk.Context) types.LastObservedBlockHeight

GetLastObservedBlockHeight height gets the block height to of the last observed attestation from the store

func (Keeper) GetLastObservedEventNonce

func (k Keeper) GetLastObservedEventNonce(ctx sdk.Context) uint64

GetLastObservedEventNonce returns the latest observed event nonce

func (Keeper) GetLastObservedOracleSet

func (k Keeper) GetLastObservedOracleSet(ctx sdk.Context) *types.OracleSet

GetLastObservedOracleSet retrieves the last observed oracle set from the store WARNING: This value is not an up to date oracle set on Ethereum, it is a oracle set that AT ONE POINT was the one in the bridge on Ethereum. If you assume that it's up to date you may break the bridge

func (Keeper) GetLastOracleSlashBlockHeight

func (k Keeper) GetLastOracleSlashBlockHeight(ctx sdk.Context) uint64

GetLastOracleSlashBlockHeight returns the last proposal block height

func (Keeper) GetLastOutgoingBatchByTokenType

func (k Keeper) GetLastOutgoingBatchByTokenType(ctx sdk.Context, token string) *types.OutgoingTxBatch

GetLastOutgoingBatchByTokenType gets the latest outgoing tx batch by token type

func (Keeper) GetLastSlashedBatchBlock

func (k Keeper) GetLastSlashedBatchBlock(ctx sdk.Context) uint64

GetLastSlashedBatchBlock returns the latest slashed Batch block

func (Keeper) GetLastSlashedBridgeCallNonce

func (k Keeper) GetLastSlashedBridgeCallNonce(ctx sdk.Context) uint64

func (Keeper) GetLastSlashedOracleSetNonce

func (k Keeper) GetLastSlashedOracleSetNonce(ctx sdk.Context) uint64

GetLastSlashedOracleSetNonce returns the latest slashed oracleSet nonce

func (Keeper) GetLastTotalPower

func (k Keeper) GetLastTotalPower(ctx sdk.Context) sdkmath.Int

GetLastTotalPower Load the last total oracle power.

func (Keeper) GetLatestOracleSet

func (k Keeper) GetLatestOracleSet(ctx sdk.Context) *types.OracleSet

GetLatestOracleSet returns the latest oracle set in state

func (Keeper) GetLatestOracleSetNonce

func (k Keeper) GetLatestOracleSetNonce(ctx sdk.Context) uint64

GetLatestOracleSetNonce returns the latest oracleSet nonce

func (Keeper) GetOracle

func (k Keeper) GetOracle(ctx sdk.Context, addr sdk.AccAddress) (oracle types.Oracle, found bool)

GetOracle get Oracle data

func (Keeper) GetOracleAddrByBridgerAddr

func (k Keeper) GetOracleAddrByBridgerAddr(ctx sdk.Context, bridgerAddr sdk.AccAddress) (sdk.AccAddress, bool)

GetOracleAddrByBridgerAddr returns the oracle key associated with an bridger key

func (Keeper) GetOracleAddrByExternalAddr

func (k Keeper) GetOracleAddrByExternalAddr(ctx sdk.Context, externalAddress string) (sdk.AccAddress, bool)

GetOracleAddrByExternalAddr returns the external address for a given gravity oracle

func (Keeper) GetOracleDelegateMultiple

func (k Keeper) GetOracleDelegateMultiple(ctx sdk.Context) int64

func (Keeper) GetOracleDelegateThreshold

func (k Keeper) GetOracleDelegateThreshold(ctx sdk.Context) sdk.Coin

func (Keeper) GetOracleDelegateToken

func (k Keeper) GetOracleDelegateToken(ctx sdk.Context, delegateAddr sdk.AccAddress, valAddr sdk.ValAddress) (sdkmath.Int, error)

func (Keeper) GetOracleSet

func (k Keeper) GetOracleSet(ctx sdk.Context, nonce uint64) *types.OracleSet

GetOracleSet returns a oracleSet by nonce

func (Keeper) GetOracleSetConfirm

func (k Keeper) GetOracleSetConfirm(ctx sdk.Context, nonce uint64, oracleAddr sdk.AccAddress) *types.MsgOracleSetConfirm

GetOracleSetConfirm returns a oracleSet confirmation by a nonce and external address

func (Keeper) GetOracleSetUpdatePowerChangePercent

func (k Keeper) GetOracleSetUpdatePowerChangePercent(ctx sdk.Context) sdk.Dec

func (Keeper) GetOracleSets

func (k Keeper) GetOracleSets(ctx sdk.Context) (oracleSets types.OracleSets)

GetOracleSets used in testing

func (Keeper) GetOutgoingBridgeCallByNonce

func (k Keeper) GetOutgoingBridgeCallByNonce(ctx sdk.Context, nonce uint64) (*types.OutgoingBridgeCall, bool)

func (Keeper) GetOutgoingTxBatch

func (k Keeper) GetOutgoingTxBatch(ctx sdk.Context, tokenContract string, batchNonce uint64) *types.OutgoingTxBatch

GetOutgoingTxBatch loads a batch object. Returns nil when not exists.

func (Keeper) GetOutgoingTxBatches

func (k Keeper) GetOutgoingTxBatches(ctx sdk.Context) (out []*types.OutgoingTxBatch)

GetOutgoingTxBatches used in testing

func (Keeper) GetParams

func (k Keeper) GetParams(ctx sdk.Context) (params types.Params)

GetParams returns the parameters from the store

func (Keeper) GetPendingPoolTxById

func (k Keeper) GetPendingPoolTxById(ctx sdk.Context, txId uint64) (*types.PendingOutgoingTransferTx, bool)

func (Keeper) GetProposalOracle

func (k Keeper) GetProposalOracle(ctx sdk.Context) (proposalOracle types.ProposalOracle, found bool)

func (Keeper) GetSignedWindow

func (k Keeper) GetSignedWindow(ctx sdk.Context) uint64

func (Keeper) GetSlashFraction

func (k Keeper) GetSlashFraction(ctx sdk.Context) sdk.Dec

func (Keeper) GetUnSlashedBatches

func (k Keeper) GetUnSlashedBatches(ctx sdk.Context, maxHeight uint64) (outgoingTxBatches types.OutgoingTxBatches)

GetUnSlashedBatches returns all the unSlashed batches in state

func (Keeper) GetUnSlashedBridgeCalls

func (k Keeper) GetUnSlashedBridgeCalls(ctx sdk.Context, height uint64) []types.OutgoingBridgeCall

func (Keeper) GetUnSlashedOracleSets

func (k Keeper) GetUnSlashedOracleSets(ctx sdk.Context, maxHeight uint64) (oracleSets types.OracleSets)

GetUnSlashedOracleSets returns all the unSlashed oracle sets in state

func (Keeper) GetUnbatchedTransactions

func (k Keeper) GetUnbatchedTransactions(ctx sdk.Context) []*types.OutgoingTransferTx

GetUnbatchedTransactions used in testing

func (Keeper) GetUnbatchedTxByFeeAndId

func (k Keeper) GetUnbatchedTxByFeeAndId(ctx sdk.Context, fee types.ERC20Token, txID uint64) (*types.OutgoingTransferTx, error)

GetUnbatchedTxByFeeAndId grabs a tx from the pool given its fee and txID

func (Keeper) GetUnbatchedTxById

func (k Keeper) GetUnbatchedTxById(ctx sdk.Context, txID uint64) (*types.OutgoingTransferTx, error)

GetUnbatchedTxById grabs a tx from the pool given only the txID note that due to the way unbatched txs are indexed, the GetUnbatchedTxByFeeAndId method is much faster

func (Keeper) HandleOutgoingBridgeCallRefund

func (k Keeper) HandleOutgoingBridgeCallRefund(ctx sdk.Context, data *types.OutgoingBridgeCall)

func (Keeper) HandlePendingOutgoingTx

func (k Keeper) HandlePendingOutgoingTx(ctx sdk.Context, liquidityProvider sdk.AccAddress, eventNonce uint64, bridgeToken *types.BridgeToken)

func (Keeper) HasBridgeCallConfirm

func (k Keeper) HasBridgeCallConfirm(ctx sdk.Context, nonce uint64, oracleAddr sdk.AccAddress) bool

func (Keeper) HasBridgeCallFromMsg

func (k Keeper) HasBridgeCallFromMsg(ctx sdk.Context, txID uint64) bool

func (Keeper) HasBridgeToken

func (k Keeper) HasBridgeToken(ctx sdk.Context, tokenContract string) bool

func (Keeper) HasOracle

func (k Keeper) HasOracle(ctx sdk.Context, addr sdk.AccAddress) (found bool)

func (Keeper) HasOracleAddrByBridgerAddr

func (k Keeper) HasOracleAddrByBridgerAddr(ctx sdk.Context, bridgerAddr sdk.AccAddress) bool

func (Keeper) HasOracleAddrByExternalAddr

func (k Keeper) HasOracleAddrByExternalAddr(ctx sdk.Context, externalAddress string) bool

func (Keeper) HasOracleSetRequest

func (k Keeper) HasOracleSetRequest(ctx sdk.Context, nonce uint64) bool

HasOracleSetRequest returns true if a oracleSet defined by a nonce exists

func (Keeper) IsProposalOracle

func (k Keeper) IsProposalOracle(ctx sdk.Context, oracleAddr string) bool

func (Keeper) IterBridgeCallConfirmByNonce

func (k Keeper) IterBridgeCallConfirmByNonce(ctx sdk.Context, nonce uint64, cb func(msg *types.MsgBridgeCallConfirm) bool)

func (Keeper) IterateAttestationAndClaim

func (k Keeper) IterateAttestationAndClaim(ctx sdk.Context, cb func(*types.Attestation, types.ExternalClaim) bool)

IterateAttestationAndClaim iterates through all attestations

func (Keeper) IterateAttestations

func (k Keeper) IterateAttestations(ctx sdk.Context, cb func(*types.Attestation) bool)

IterateAttestations iterates through all attestations

func (Keeper) IterateBatchByBlockHeight

func (k Keeper) IterateBatchByBlockHeight(ctx sdk.Context, start uint64, end uint64, cb func(*types.OutgoingTxBatch) bool)

IterateBatchByBlockHeight iterates through all Batch by block in the half-open interval [start,end)

func (Keeper) IterateBatchConfirmByNonceAndTokenContract

func (k Keeper) IterateBatchConfirmByNonceAndTokenContract(ctx sdk.Context, batchNonce uint64, tokenContract string, cb func(*types.MsgConfirmBatch) bool)

IterateBatchConfirmByNonceAndTokenContract iterates through all batch confirmations

func (Keeper) IterateBridgeTokenToDenom

func (k Keeper) IterateBridgeTokenToDenom(ctx sdk.Context, cb func(*types.BridgeToken) bool)

func (Keeper) IterateOracle

func (k Keeper) IterateOracle(ctx sdk.Context, cb func(oracle types.Oracle) bool)

func (Keeper) IterateOracleSetByNonce

func (k Keeper) IterateOracleSetByNonce(ctx sdk.Context, startNonce uint64, cb func(*types.OracleSet) bool)

IterateOracleSetByNonce iterates through all oracleSet by nonce

func (Keeper) IterateOracleSetConfirmByNonce

func (k Keeper) IterateOracleSetConfirmByNonce(ctx sdk.Context, nonce uint64, cb func(*types.MsgOracleSetConfirm) bool)

IterateOracleSetConfirmByNonce iterates through all oracleSet confirms by nonce

func (Keeper) IterateOracleSets

func (k Keeper) IterateOracleSets(ctx sdk.Context, reverse bool, cb func(*types.OracleSet) bool)

IterateOracleSets returns all oracleSet

func (Keeper) IterateOutgoingBridgeCallByNonce

func (k Keeper) IterateOutgoingBridgeCallByNonce(ctx sdk.Context, startNonce uint64, cb func(outCall *types.OutgoingBridgeCall) bool)

func (Keeper) IterateOutgoingBridgeCalls

func (k Keeper) IterateOutgoingBridgeCalls(ctx sdk.Context, cb func(outCall *types.OutgoingBridgeCall) bool)

func (Keeper) IterateOutgoingBridgeCallsByAddress

func (k Keeper) IterateOutgoingBridgeCallsByAddress(ctx sdk.Context, senderAddr string, cb func(outCall *types.OutgoingBridgeCall) bool)

func (Keeper) IterateOutgoingTxBatches

func (k Keeper) IterateOutgoingTxBatches(ctx sdk.Context, cb func(batch *types.OutgoingTxBatch) bool)

IterateOutgoingTxBatches iterates through all outgoing batches

func (Keeper) IterateUnbatchedTransactions

func (k Keeper) IterateUnbatchedTransactions(ctx sdk.Context, tokenContract string, cb func(tx *types.OutgoingTransferTx) bool)

IterateUnbatchedTransactions iterates through all unbatched transactions

func (Keeper) IteratorPendingOutgoingTx

func (k Keeper) IteratorPendingOutgoingTx(ctx sdk.Context, cb func(pendingOutgoingTx types.PendingOutgoingTransferTx) bool)

func (Keeper) IteratorPendingOutgoingTxByBridgeTokenContractAddr

func (k Keeper) IteratorPendingOutgoingTxByBridgeTokenContractAddr(ctx sdk.Context, tokenContract string, cb func(pendingOutgoingTx types.PendingOutgoingTransferTx) bool)

func (Keeper) Logger

func (k Keeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

func (Keeper) ModuleName

func (k Keeper) ModuleName() string

func (Keeper) OutgoingTxBatchExecuted

func (k Keeper) OutgoingTxBatchExecuted(ctx sdk.Context, tokenContract string, batchNonce uint64)

OutgoingTxBatchExecuted is run when the Cosmos chain detects that a batch has been executed on Ethereum It frees all the transactions in the batch, then cancels all earlier batches

func (Keeper) PrecompileBridgeCall

func (k Keeper) PrecompileBridgeCall(
	ctx sdk.Context,
	sender common.Address,
	receiver common.Address,
	coins sdk.Coins,
	to common.Address,
	data []byte,
	memo []byte,
) (nonce uint64, err error)

func (Keeper) PrecompileCancelSendToExternal

func (k Keeper) PrecompileCancelSendToExternal(ctx sdk.Context, txID uint64, sender sdk.AccAddress) (sdk.Coin, error)

func (Keeper) PrecompileIncreaseBridgeFee

func (k Keeper) PrecompileIncreaseBridgeFee(ctx sdk.Context, txID uint64, sender sdk.AccAddress, addBridgeFee sdk.Coin) error

func (Keeper) RelayTransferHandler

func (k Keeper) RelayTransferHandler(ctx sdk.Context, eventNonce uint64, targetHex string, receiver sdk.AccAddress, coin sdk.Coin) error

func (Keeper) RemoveFromOutgoingPoolAndRefund

func (k Keeper) RemoveFromOutgoingPoolAndRefund(ctx sdk.Context, txId uint64, sender sdk.AccAddress) (sdk.Coin, error)

RemoveFromOutgoingPoolAndRefund - checks that the provided tx actually exists - deletes the unbatched tx from the pool - issues the tokens back to the sender

func (Keeper) RemovePendingOutgoingTx

func (k Keeper) RemovePendingOutgoingTx(context sdk.Context, tokenContract string, txId uint64)

func (Keeper) SetAttestation

func (k Keeper) SetAttestation(ctx sdk.Context, eventNonce uint64, claimHash []byte, att *types.Attestation)

SetAttestation sets the attestation in the store

func (Keeper) SetBatchConfirm

func (k Keeper) SetBatchConfirm(ctx sdk.Context, oracleAddr sdk.AccAddress, batch *types.MsgConfirmBatch)

SetBatchConfirm sets a batch confirmation by a oracle

func (Keeper) SetBridgeCallConfirm

func (k Keeper) SetBridgeCallConfirm(ctx sdk.Context, oracleAddr sdk.AccAddress, msg *types.MsgBridgeCallConfirm)

func (Keeper) SetBridgeCallFromMsg

func (k Keeper) SetBridgeCallFromMsg(ctx sdk.Context, txID uint64)

func (Keeper) SetIbcDenomTrace

func (k Keeper) SetIbcDenomTrace(ctx sdk.Context, token, channelIBC string) (string, error)

func (Keeper) SetLastEventBlockHeightByOracle

func (k Keeper) SetLastEventBlockHeightByOracle(ctx sdk.Context, oracleAddr sdk.AccAddress, blockHeight uint64)

SetLastEventBlockHeightByOracle set the latest event blockHeight for a give oracle

func (Keeper) SetLastEventNonceByOracle

func (k Keeper) SetLastEventNonceByOracle(ctx sdk.Context, oracleAddr sdk.AccAddress, eventNonce uint64)

SetLastEventNonceByOracle sets the latest event nonce for a give oracle

func (Keeper) SetLastObservedBlockHeight

func (k Keeper) SetLastObservedBlockHeight(ctx sdk.Context, externalBlockHeight, blockHeight uint64)

SetLastObservedBlockHeight sets the block height in the store.

func (Keeper) SetLastObservedEventNonce

func (k Keeper) SetLastObservedEventNonce(ctx sdk.Context, eventNonce uint64)

SetLastObservedEventNonce sets the latest observed event nonce

func (Keeper) SetLastObservedOracleSet

func (k Keeper) SetLastObservedOracleSet(ctx sdk.Context, oracleSet *types.OracleSet)

SetLastObservedOracleSet updates the last observed oracle set in the store

func (Keeper) SetLastOracleSlashBlockHeight

func (k Keeper) SetLastOracleSlashBlockHeight(ctx sdk.Context, blockHeight uint64)

SetLastOracleSlashBlockHeight sets the last proposal block height

func (Keeper) SetLastSlashedBatchBlock

func (k Keeper) SetLastSlashedBatchBlock(ctx sdk.Context, blockHeight uint64)

SetLastSlashedBatchBlock sets the latest slashed Batch block height

func (Keeper) SetLastSlashedBridgeCallNonce

func (k Keeper) SetLastSlashedBridgeCallNonce(ctx sdk.Context, nonce uint64)

func (Keeper) SetLastSlashedOracleSetNonce

func (k Keeper) SetLastSlashedOracleSetNonce(ctx sdk.Context, nonce uint64)

SetLastSlashedOracleSetNonce sets the latest slashed oracleSet nonce

func (Keeper) SetLastTotalPower

func (k Keeper) SetLastTotalPower(ctx sdk.Context, power sdkmath.Int)

SetLastTotalPower Set the last total validator power.

func (Keeper) SetLatestOracleSetNonce

func (k Keeper) SetLatestOracleSetNonce(ctx sdk.Context, nonce uint64)

SetLatestOracleSetNonce sets the latest oracleSet nonce

func (Keeper) SetOracle

func (k Keeper) SetOracle(ctx sdk.Context, oracle types.Oracle)

SetOracle save Oracle data

func (Keeper) SetOracleAddrByBridgerAddr

func (k Keeper) SetOracleAddrByBridgerAddr(ctx sdk.Context, bridgerAddr, oracleAddr sdk.AccAddress)

SetOracleAddrByBridgerAddr sets the bridger key for a given oracle

func (Keeper) SetOracleAddrByExternalAddr

func (k Keeper) SetOracleAddrByExternalAddr(ctx sdk.Context, externalAddress string, oracleAddr sdk.AccAddress)

SetOracleAddrByExternalAddr sets the external address for a given oracle

func (Keeper) SetOracleSetConfirm

func (k Keeper) SetOracleSetConfirm(ctx sdk.Context, oracleAddr sdk.AccAddress, oracleSetConfirm *types.MsgOracleSetConfirm)

SetOracleSetConfirm sets a oracleSet confirmation

func (Keeper) SetOutgoingBridgeCall

func (k Keeper) SetOutgoingBridgeCall(ctx sdk.Context, outCall *types.OutgoingBridgeCall)

func (Keeper) SetParams

func (k Keeper) SetParams(ctx sdk.Context, params *types.Params) error

SetParams sets the parameters in the store

func (Keeper) SetPendingTx

func (k Keeper) SetPendingTx(ctx sdk.Context, outgoing *types.PendingOutgoingTransferTx)

func (Keeper) SetProposalOracle

func (k Keeper) SetProposalOracle(ctx sdk.Context, proposalOracle *types.ProposalOracle)

func (Keeper) SlashOracle

func (k Keeper) SlashOracle(ctx sdk.Context, oracleAddrStr string)

func (Keeper) StoreBatch

func (k Keeper) StoreBatch(ctx sdk.Context, batch *types.OutgoingTxBatch) error

StoreBatch stores a transaction batch

func (Keeper) StoreOracleSet

func (k Keeper) StoreOracleSet(ctx sdk.Context, oracleSet *types.OracleSet)

StoreOracleSet is for storing a oracle set at a given height

func (Keeper) TransferAfter

func (k Keeper) TransferAfter(ctx sdk.Context, sender sdk.AccAddress, receive string, amount, fee sdk.Coin, originToken, insufficientLiquidity bool) error

TransferAfter 1. Hook operation after transfer transaction triggered by IBC module 2. Hook operation after transferCrossChain triggered by ERC20 module

func (Keeper) TryAttestation

func (k Keeper) TryAttestation(ctx sdk.Context, att *types.Attestation, claim types.ExternalClaim)

TryAttestation checks if an attestation has enough votes to be applied to the consensus state and has not already been marked Observed, then calls processAttestation to actually apply it to the state, and then marks it Observed and emits an event.

func (Keeper) UnbondedOracleFromProposal

func (k Keeper) UnbondedOracleFromProposal(ctx sdk.Context, oracle types.Oracle) error

func (Keeper) UpdateChainOraclesProposal

func (k Keeper) UpdateChainOraclesProposal(ctx sdk.Context, proposal *types.UpdateChainOraclesProposal) error

UpdateChainOraclesProposal Deprecated: v0.46 gov execution models is based on sdk.Msgs

func (Keeper) UpdateProposalOracles

func (k Keeper) UpdateProposalOracles(ctx sdk.Context, oracles []string) error

type Migrator

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

func NewMigrator

func NewMigrator(k Keeper) Migrator

func (Migrator) Migrate

func (m Migrator) Migrate(ctx sdk.Context) error

type ModuleHandler

type ModuleHandler struct {
	QueryServer    types.QueryServer
	MsgServer      types.MsgServer
	ProposalServer proposalServer
}

func NewModuleHandler

func NewModuleHandler(keeper Keeper) *ModuleHandler

type MsgServer

type MsgServer struct {
	Keeper
}

func (MsgServer) AddDelegate

func (MsgServer) BondedOracle

func (MsgServer) BridgeCall

func (MsgServer) BridgeCallClaim

func (MsgServer) ConfirmBatch

func (MsgServer) EditBridger

func (MsgServer) OracleSetUpdateClaim

OracleSetUpdateClaim handles claims for executing a oracle set update on Ethereum

func (MsgServer) ReDelegate

func (MsgServer) RequestBatch

func (MsgServer) SendToExternal

func (MsgServer) SendToFxClaim

func (MsgServer) UnbondedOracle

func (MsgServer) UpdateParams

func (MsgServer) WithdrawReward

type QueryServer

type QueryServer struct {
	Keeper
}

func (QueryServer) BatchConfirms

BatchConfirms returns the batch confirmations by nonce and token contract

func (QueryServer) BatchFees

BatchFees queries the batch fees from unbatched pool

func (QueryServer) BridgeAddrToOracle

func (k QueryServer) BridgeAddrToOracle(ctx sdk.Context, bridgeAddr string) (types.Oracle, error)

func (QueryServer) BridgeAddrToOracleAddr

func (k QueryServer) BridgeAddrToOracleAddr(ctx sdk.Context, bridgeAddr string) (sdk.AccAddress, error)

func (QueryServer) GetOracleByAddr

func (QueryServer) LastEventNonceByAddr

LastEventNonceByAddr returns the last event nonce for the given validator address, this allows eth oracles to figure out where they left off

func (QueryServer) Params

type Router

type Router interface {
	AddRoute(name string, moduleHandler *ModuleHandler) (router Router)
	HasRoute(name string) bool
	GetRoute(name string) (moduleHandler *ModuleHandler)
	Seal()
}

Router implements a crosschain Server Handler router.

func NewRouter

func NewRouter() Router

NewRouter creates a new Router interface instance

type RouterKeeper

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

RouterKeeper maintains the link to storage and exposes getter/setter methods for the various parts of the state machine

func NewRouterKeeper

func NewRouterKeeper(rtr Router) RouterKeeper

NewRouterKeeper returns a new instance of the cross chain keeper

func (RouterKeeper) BatchFees

func (RouterKeeper) GetOracleByAddr

func (RouterKeeper) Logger

func (k RouterKeeper) Logger(ctx sdk.Context) log.Logger

Logger returns a module-specific logger.

func (RouterKeeper) Oracles

func (RouterKeeper) Params

func (RouterKeeper) Router

func (k RouterKeeper) Router() Router

Router returns the gov Keeper's Router

Jump to

Keyboard shortcuts

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