# Functions

No description provided by the author
DefaultGenesisState returns empty genesis state.
DefaultParams returns a copy of the default params.
No description provided by the author
EthAddrLessThan migrates the Ethereum address less than function.
GetAttestationKey returns the following key format prefix nonce claim-details-hash [0x5][0 0 0 0 0 0 0 1][fd1af8cec6c67fcf156f1b61fdf91ebc04d05484d007436e75342fc05bbff35a] An attestation is an event multiple people are voting on, this function needs the claim details because each Attestation is aggregating all claims of a specific event, lets say validator X and validator y where making different claims about the same event nonce Note that the claim hash does NOT include the claimer address and only identifies an event.
GetBatchConfirmKey returns the following key format prefix eth-contract-address BatchNonce Validator-address [0xe1][0xc783df8a850f42e7F7e57013759C285caa701eB6][0 0 0 0 0 0 0 1][gravityvaloper1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm] TODO this should be a sdk.ValAddress.
GetClaimKey returns the following key format prefix type cosmos-validator-address nonce attestation-details-hash [0x0][0 0 0 1][gravityvaloper1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm][0 0 0 0 0 0 0 1][fd1af8cec6c67fcf156f1b61fdf91ebc04d05484d007436e75342fc05bbff35a] The Claim hash identifies a unique event, for example it would have a event nonce, a sender and a receiver.
No description provided by the author
No description provided by the author
GetEthAddressByValidatorKey returns the following key format prefix cosmos-validator [0x0][gravityvaloper1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm].
GetLastEventNonceByValidatorKey indexes lateset event nonce by validator GetLastEventNonceByValidatorKey returns the following key format prefix cosmos-validator [0x0][gravity1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm].
No description provided by the author
GetNativePrefixedAccAddress re-prefixes the input AccAddress with this chain's configured Bech32AccountAddrPrefix.
GetNativePrefixedAccAddressString treats the input as an AccAddress and re-prefixes the string with this chain's configured Bech32AccountAddrPrefix Returns an error when input is not a bech32 string or the original string it is already natively prefixed.
GetOrchestratorAddressKey returns the following key format prefix [0xe8][gravity1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm].
No description provided by the author
GetOutgoingTxBatchKey returns the following key format prefix nonce eth-contract-address [0xa][0 0 0 0 0 0 0 1][0xc783df8a850f42e7F7e57013759C285caa701eB6].
GetOutgoingTxPoolContractPrefix returns the following key format prefix feeContract [0x6][0xc783df8a850f42e7F7e57013759C285caa701eB6] This prefix is used for iterating over unbatched transactions for a given contract.
GetOutgoingTxPoolKey returns the following key format prefix feeContract feeAmount id [0x6][0xc783df8a850f42e7F7e57013759C285caa701eB6][1000000000][0 0 0 0 0 0 0 1].
GetPastEthSignatureCheckpointKey returns the following key format prefix checkpoint [0x0][ checkpoint bytes ].
GetPrefixFromBech32 returns the human readable part of a bech32 string (excluding the 1 byte) Returns an error on too short input or when the 1 byte cannot be found Note: This is an excerpt from the Decode function for bech32 strings.
GetValidatorByEthAddressKey returns the following key format prefix cosmos-validator [0xf9][0xAb5801a7D398351b8bE11C439e05C5B3259aeC9B].
GetValsetConfirmKey returns the following key format prefix nonce validator-address [0x0][0 0 0 0 0 0 0 1][gravity1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm] MARK finish-batches: this is where the key is created in the old (presumed working) code.
GetValsetKey returns the following key format prefix nonce [0x0][0 0 0 0 0 0 0 1].
GravityDenom converts an EthAddress to a gravity cosmos denom.
GravityDenomToERC20 converts a gravity cosmos denom to an EthAddress.
IBCAddressFromBech32 decodes an IBC-compatible Address from a Bech32 encoded string TODO: This is very similar to the sdk's GetFromBech32 method, but makes no assertions about the bech32 prefix (aka "human readable part"), when Gravity IBC Forwarding is completed, this function should return invalid prefix errors.
NewERC20Token returns a new instance of an ERC20.
Creates a new EthAddress from a string, performing validation and returning any validation errors.
NewEthereumSignature creates a new signuature over a given byte array.
No description provided by the author
NewInternalERC20Token creates an InternalERC20Token, performing validation and returning any errors.
No description provided by the author
No description provided by the author
No description provided by the author
NewMsgCancelSendToEth returns a new msgSetOrchestratorAddress.
No description provided by the author
NewMsgRequestBatch returns a new msgRequestBatch.
NewMsgSendToEth returns a new msgSendToEth.
NewMsgSetOrchestratorAddress returns a new msgSetOrchestratorAddress.
NewMsgValsetConfirm returns a new msgValsetConfirm.
No description provided by the author
NewSDKIntERC20Token returns a new instance of an ERC20, accepting a sdk.Int.
NewValset returns a new valset.
ParamKeyTable for auth module.
nolint: exhaustivestruct RegisterCodec registers concrete types on the Amino codec.
nolint: exhaustivestruct RegisterInterfaces registers the interfaces for the proto stuff.
RegisterMsgHandler registers the http handlers for service Msg to "mux".
RegisterMsgHandlerClient registers the http handlers for service Msg to "mux".
RegisterMsgHandlerFromEndpoint is same as RegisterMsgHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
RegisterMsgHandlerServer registers the http handlers for service Msg to "mux".
No description provided by the author
RegisterQueryHandler registers the http handlers for service Query to "mux".
RegisterQueryHandlerClient registers the http handlers for service Query to "mux".
RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
RegisterQueryHandlerServer registers the http handlers for service Query to "mux".
No description provided by the author
UInt64Bytes uses the SDK byte marshaling to encode a uint64.
UInt64FromBytes create uint from binary big endian representation.
UInt64FromString to parse out a uint64 for a nonce.
Validates the input string as an Ethereum Address Addresses must not be empty, have 42 character length, start with 0x and have 40 remaining characters in [0-9a-fA-F].
ValidateEthereumSignature takes a message, an associated signature and public key and returns an error if the signature isn't valid.
Returns a new EthAddress with 0x0000000000000000000000000000000000000000 as the wrapped address.

# Constants

No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
todo: implement oracle constants as params.
ETHContractAddressLen is the length of contract address strings.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GravityDenomLen is the length of the denoms generated by the gravity module.
GravityDenomPrefix indicates the prefix for all assests minted by this module.
GravityDenomSeparator is the separator for gravity denoms.
ModuleName is the name of the module.
OutgoingBatchTxCheckpointABIJSON checks the ETH ABI for compatability of the OutgoingBatchTx message.
OutgoingLogicCallABIJSON checks the ETH ABI for compatability of the logic call message.
No description provided by the author
No description provided by the author
No description provided by the author
QuerierRoute to be used for querierer msgs.
RouterKey is the module name router key.
No description provided by the author
No description provided by the author
No description provided by the author
StoreKey to be used when creating the KVStore.
No description provided by the author
No description provided by the author
ValsetCheckpointABIJSON checks the ETH ABI for compatability of the Valset update message.
ZeroAddress is an EthAddress containing the zero ethereum address.

# Variables

AttestationVotesPowerThreshold threshold of votes power to succeed.
BatchConfirmKey indexes validator confirmations by token contract address.
No description provided by the author
No description provided by the author
DenomiatorPrefix indexes token contract addresses from ETH on gravity.
DenomToERC20Key prefixes the index of Cosmos originated asset denoms to ERC20s.
ERC20ToDenomKey prefixes the index of Cosmos originated assets ERC20s to denoms.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
EthAddressByValidatorKey indexes cosmos validator account addresses i.e.
KeyLastOutgoingBatchID indexes the lastBatchID.
KeyLastTXPoolID indexes the lastTxPoolID.
KeyOrchestratorAddress indexes the validator keys for an orchestrator.
KeyOutgoingLogicCall indexes the outgoing logic calls.
KeyOutgoingLogicConfirm indexes the outgoing logic confirms.
LastEventNonceByValidatorKey indexes lateset event nonce by validator.
LastObservedEthereumBlockHeightKey indexes the latest Ethereum block height.
LastObservedEventNonceKey indexes the latest event nonce.
LastObservedValsetNonceKey indexes the latest observed valset nonce HERE THERE BE DRAGONS, do not use this value as an up to date validator set on Ethereum it will always lag significantly and may be totally wrong at some times.
LastSlashedBatchBlock indexes the latest slashed batch block height.
LastSlashedLogicCallBlock indexes the latest slashed logic call block height.
LastSlashedValsetNonce indexes the latest slashed valset nonce.
LastUnBondingBlockHeight indexes the last validator unbonding block height.
LatestValsetNonce indexes the latest valset nonce.
ModuleCdc is the codec for the module.
OracleAttestationKey attestation details by nonce and validator address i.e.
OracleClaimKey Claim details by nonce and validator address i.e.
OutgoingTXBatchKey indexes outgoing tx batches under a nonce and token address.
OutgoingTXPoolKey indexes the last nonce for the outgoing tx pool.
ParamsStoreKeySignedClaimsWindow stores the signed blocks window.
ParamsStoreKeySignedClaimsWindow stores the signed blocks window.
ParamsStoreKeyBridgeContractChainID stores the bridge chain id.
ParamsStoreKeyBridgeContractAddress stores the ethereum address.
ParamsStoreKeyContractHash stores the contract hash.
ParamsStoreKeyGravityID stores the gravity id.
ParamsStoreKeySignedBatchesWindow stores the signed blocks window.
ParamsStoreKeySignedLogicCallsWindow stores the signed blocks window.
ParamsStoreKeySignedValsetsWindow stores the signed blocks window.
ParamsStoreKeySignedClaimsWindow stores the signed blocks window.
ParamsStoreSlashFractionBatch stores the slash fraction Batch.
ParamsStoreSlashFractionValset stores the slash fraction valset.
ParamBridgeActive allows governance to temporarily halt the bridge via vote, in this context halting means no more batches will be created and no oracle events executed.
ParamStoreEthereumBlacklist allows storage of blocked Ethereum addresses blocked for use with the bridge this could be for technical reasons (zero address) or non-technical reasons, these apply across all ERC20 tokens.
ResetBridgeHeight stores the nonce after which oracle events should be discarded when resetting the bridge.
ResetBridgeState boolean indicates the oracle events of the bridge history should be reset.
ParamStoreSlashFractionBadEthSignature stores the amount by which a validator making a fraudulent eth signature will be slashed.
ParamStoreUnbondSlashingValsetsWindow stores unbond slashing valset window.
ValsetRewardAmount the amount of the coin, both denom and amount to issue to a relayer when they relay a valset.
PastEthSignatureCheckpointKey indexes eth signature checkpoints that have existed.
SecondIndexNonceByClaimKey indexes latest nonce for a given claim type.
SequenceKeyPrefix indexes different txids.
No description provided by the author
No description provided by the author
ValidatorByEthAddressKey indexes ethereum addresses i.e.
ValsetConfirmKey indexes valset confirmations by nonce and the validator account address i.e gravity1ahx7f8wyertuus9r20284ej0asrs085ceqtfnm.
ValsetRequestKey indexes valset requests by nonce.

# Structs

AirdropProposal defines a custom governance proposal type that allows an airdrop to occur in a decentralized fashion.
Attestation is an aggregate of `claims` that eventually becomes `observed` by all orchestrators EVENT_NONCE: EventNonce a nonce provided by the gravity contract that is unique per event fired These event nonces must be relayed in order.
No description provided by the author
BridgeValidator represents a validator's ETH address and its power.
This records the relationship between an ERC20 token and the denom of the corresponding Cosmos originated asset.
ERC20Token unique identifier for an Ethereum ERC20 token.
Regular EthAddress.
GenesisState struct, containing all persistant data required by the Gravity module.
GravityCounters contains the many noces and counters required to maintain the bridge state in the genesis.
IBCMetadataProposal defines a custom governance proposal type that allows governance to set the metadata for an IBC token, this will allow Gravity to deploy an ERC20 representing this token on Ethereum Name: the token name Symbol: the token symbol Description: the token description, not sent to ETH at all, only used on Cosmos Display: the token display name (only used on Cosmos to decide ERC20 Decimals) Deicmals: the decimals for the display unit ibc_denom is the denom of the token in question on this chain.
IDSet represents a set of IDs.
Bridge Validator but with validated EthereumAddress.
InternalERC20Token contains validated fields, used for all internal computation.
InternalOutgoingTransferTx is an internal duplicate of OutgoingTransferTx with validation.
InternalOutgoingTxBatch is an internal duplicate of OutgoingTxBatch with validation.
LastObservedEthereumBlockHeight stores the last observed Ethereum block height along with the Cosmos block height that it was observed at.
BatchSendToEthClaim claims that a batch of send to eth operations on the bridge contract was executed.
No description provided by the author
This call allows the sender (and only the sender) to cancel a given MsgSendToEth and recieve a refund of the tokens.
No description provided by the author
MsgConfirmBatch When validators observe a MsgRequestBatch they form a batch by ordering transactions currently in the txqueue in order of highest to lowest fee, cutting off when the batch either reaches a hardcoded maximum size (to be decided, probably around 100) or when transactions stop being profitable (TODO determine this without nondeterminism) This message includes the batch as well as an Ethereum signature over this batch by the validator -------------.
No description provided by the author
MsgConfirmLogicCall When validators observe a MsgRequestBatch they form a batch by ordering transactions currently in the txqueue in order of highest to lowest fee, cutting off when the batch either reaches a hardcoded maximum size (to be decided, probably around 100) or when transactions stop being profitable (TODO determine this without nondeterminism) This message includes the batch as well as an Ethereum signature over this batch by the validator -------------.
No description provided by the author
ERC20DeployedClaim allows the Cosmos module to learn about an ERC20 that someone deployed to represent a Cosmos asset.
No description provided by the author
This informs the Cosmos module that a logic call has been executed.
No description provided by the author
MsgRequestBatch this is a message anyone can send that requests a batch of transactions to send across the bridge be created for whatever block height this message is included in.
No description provided by the author
MsgSendToCosmosClaim When more than 66% of the active validator set has claimed to have seen the deposit enter the ethereum blockchain coins are issued to the Cosmos address in question -------------.
No description provided by the author
MsgSendToEth This is the message that a user calls when they want to bridge an asset it will later be removed when it is included in a batch and successfully submitted tokens are removed from the users balance immediately ------------- AMOUNT: the coin to send across the bridge, note the restriction that this is a single coin not a set of coins that is normal in other Cosmos messages FEE: the fee paid for the bridge, distinct from the fee paid to the chain to actually send this message in the first place.
No description provided by the author
MsgSetOrchestratorAddress this message allows validators to delegate their voting responsibilities to a given key.
No description provided by the author
This call allows anyone to submit evidence that a validator has signed a valset, batch, or logic call that never existed on the Cosmos chain.
No description provided by the author
MsgValsetConfirm this is the message sent by the validators when they wish to submit their signatures over the validator set at a given block height.
No description provided by the author
This informs the Cosmos module that a validator set has been updated.
No description provided by the author
OutgoingLogicCall represents an individual logic call from gravity to ETH.
OutgoingTransferTx represents an individual send from gravity to ETH.
OutgoingTxBatch represents a batch of transactions going from gravity to ETH.
The slashing fractions for the various gravity related slashing conditions.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
UnhaltBridgeProposal defines a custom governance proposal useful for restoring the bridge after a oracle disagreement.
UnimplementedMsgServer can be embedded to have forward compatible implementations.
UnimplementedQueryServer can be embedded to have forward compatible implementations.
Valset is the Ethereum Bridge Multsig Set, each gravity validator also maintains an ETH key to sign messages, these are used to check signatures on ETH because of the significant gas savings.

# Interfaces

BankKeeper defines the expected bank keeper methods.
No description provided by the author
EthereumClaim represents a claim on ethereum state.
This interface is implemented by all the types that are used to create transactions on Ethereum that are signed by validators.
MsgClient is the client API for Msg service.
MsgServer is the server API for Msg service.
QueryClient is the client API for Query service.
QueryServer is the server API for Query service.
No description provided by the author
StakingKeeper defines the expected staking keeper methods.

# Type aliases

BridgeValidators is the sorted set of validator data for Ethereum bridge MultiSig set.
No description provided by the author
InternalBridgeValidators is the sorted set of validator data for Ethereum bridge MultiSig set.
InternalOutgoingTxBatch is an internal duplicate array of OutgoingTxBatch with validation.
SignType defines messages that have been signed by an orchestrator.
Valsets is a collection of valset.