Documentation ¶
Index ¶
- Constants
- Variables
- func GetHeightFromIterationKey(iterKey []byte) exported.Height
- func GetIterationKey(clientStore storetypes.KVStore, height exported.Height) []byte
- func GetProcessedHeight(clientStore storetypes.KVStore, height exported.Height) (exported.Height, bool)
- func GetProcessedTime(clientStore storetypes.KVStore, height exported.Height) (uint64, bool)
- func IsMatchingClientState(subject, substitute ClientState) bool
- func IterateConsensusMetadata(store storetypes.KVStore, cb func(key, val []byte) bool)
- func IterateConsensusStateAscending(clientStore storetypes.KVStore, cb func(height exported.Height) (stop bool))
- func IterationKey(height exported.Height) []byte
- func MainVerifyAggregateProof(leafNumber []uint64, values [][]byte, key [][]byte, leafOp ics23.LeafOp, ...) (error, bool)
- func ProcessedHeightKey(height exported.Height) []byte
- func ProcessedTimeKey(height exported.Height) []byte
- func PruneAllExpiredConsensusStates(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ...) int
- func RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func SetIterationKey(clientStore storetypes.KVStore, height exported.Height)
- func SetProcessedHeight(clientStore storetypes.KVStore, consHeight, processedHeight exported.Height)
- func SetProcessedTime(clientStore storetypes.KVStore, height exported.Height, timeNs uint64)
- type AggregatePacket
- func (*AggregatePacket) Descriptor() ([]byte, []int)
- func (m *AggregatePacket) GetPackets() []*Packet
- func (m *AggregatePacket) GetPacketsLeafNumber() []uint32
- func (m *AggregatePacket) GetProof() []*SubProof
- func (m *AggregatePacket) GetSigner() string
- func (m *AggregatePacket) Marshal() (dAtA []byte, err error)
- func (m *AggregatePacket) MarshalTo(dAtA []byte) (int, error)
- func (m *AggregatePacket) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*AggregatePacket) ProtoMessage()
- func (m *AggregatePacket) Reset()
- func (m *AggregatePacket) Size() (n int)
- func (m *AggregatePacket) String() string
- func (m *AggregatePacket) Unmarshal(dAtA []byte) error
- func (m *AggregatePacket) XXX_DiscardUnknown()
- func (m *AggregatePacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *AggregatePacket) XXX_Merge(src proto.Message)
- func (m *AggregatePacket) XXX_Size() int
- func (m *AggregatePacket) XXX_Unmarshal(b []byte) error
- type AppModule
- type AppModuleBasic
- func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
- func (AppModuleBasic) GetQueryCmd() *cobra.Command
- func (AppModuleBasic) GetTxCmd() *cobra.Command
- func (AppModuleBasic) Name() string
- func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
- func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry)
- func (AppModuleBasic) RegisterLegacyAminoCodec(*codec.LegacyAmino)
- func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
- type ClientState
- func (ClientState) CheckForMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...) bool
- func (cs ClientState) CheckSubstituteAndUpdateState(ctx sdk.Context, cdc codec.BinaryCodec, ...) error
- func (ClientState) ClientType() string
- func (*ClientState) Descriptor() ([]byte, []int)
- func (ClientState) ExportMetadata(store storetypes.KVStore) []exported.GenesisMetadata
- func (cs ClientState) GetChainID() string
- func (cs ClientState) GetLatestHeight() exported.Height
- func (ClientState) GetTimestampAtHeight(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ...) (uint64, error)
- func (cs ClientState) Initialize(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...) error
- func (cs ClientState) IsExpired(latestTimestamp, now time.Time) bool
- func (m *ClientState) Marshal() (dAtA []byte, err error)
- func (m *ClientState) MarshalTo(dAtA []byte) (int, error)
- func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ClientState) ProtoMessage()
- func (m *ClientState) Reset()
- func (cs ClientState) SetHashValue(ctx sdk.Context, key []byte, value []byte, clientStore storetypes.KVStore)
- func (m *ClientState) Size() (n int)
- func (cs ClientState) Status(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec) exported.Status
- func (m *ClientState) String() string
- func (m *ClientState) Unmarshal(dAtA []byte) error
- func (cs ClientState) UpdateState(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...) []exported.Height
- func (cs ClientState) UpdateStateOnMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...)
- func (cs ClientState) Validate() error
- func (cs ClientState) VerifyAggregateMembership(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ...) error
- func (cs *ClientState) VerifyClientMessage(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...) error
- func (cs ClientState) VerifyMembership(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ...) error
- func (cs ClientState) VerifyNonMembership(ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ...) error
- func (cs ClientState) VerifyUpgradeAndUpdateState(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, ...) error
- func (m *ClientState) XXX_DiscardUnknown()
- func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ClientState) XXX_Merge(src proto.Message)
- func (m *ClientState) XXX_Size() int
- func (m *ClientState) XXX_Unmarshal(b []byte) error
- func (cs ClientState) ZeroCustomFields() exported.ClientState
- type ConsensusState
- func GetConsensusState(store storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
- func GetNextConsensusState(clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
- func GetPreviousConsensusState(clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
- func NewConsensusState(timestamp time.Time, root commitmenttypes.MerkleRoot, ...) *ConsensusState
- func (ConsensusState) ClientType() string
- func (*ConsensusState) Descriptor() ([]byte, []int)
- func (cs ConsensusState) GetRoot() exported.Root
- func (cs ConsensusState) GetTimestamp() uint64
- func (m *ConsensusState) Marshal() (dAtA []byte, err error)
- func (m *ConsensusState) MarshalTo(dAtA []byte) (int, error)
- func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ConsensusState) ProtoMessage()
- func (m *ConsensusState) Reset()
- func (m *ConsensusState) Size() (n int)
- func (m *ConsensusState) String() string
- func (m *ConsensusState) Unmarshal(dAtA []byte) error
- func (cs ConsensusState) ValidateBasic() error
- func (m *ConsensusState) XXX_DiscardUnknown()
- func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ConsensusState) XXX_Merge(src proto.Message)
- func (m *ConsensusState) XXX_Size() int
- func (m *ConsensusState) XXX_Unmarshal(b []byte) error
- type Fraction
- func (*Fraction) Descriptor() ([]byte, []int)
- func (m *Fraction) GetDenominator() uint64
- func (m *Fraction) GetNumerator() uint64
- func (m *Fraction) Marshal() (dAtA []byte, err error)
- func (m *Fraction) MarshalTo(dAtA []byte) (int, error)
- func (m *Fraction) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Fraction) ProtoMessage()
- func (m *Fraction) Reset()
- func (m *Fraction) Size() (n int)
- func (m *Fraction) String() string
- func (f Fraction) ToAggrelite() tmmath.Fraction
- func (m *Fraction) Unmarshal(dAtA []byte) error
- func (m *Fraction) XXX_DiscardUnknown()
- func (m *Fraction) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Fraction) XXX_Merge(src proto.Message)
- func (m *Fraction) XXX_Size() int
- func (m *Fraction) XXX_Unmarshal(b []byte) error
- type HashOp
- type Header
- func (Header) ClientType() string
- func (h Header) ConsensusState() *ConsensusState
- func (*Header) Descriptor() ([]byte, []int)
- func (h Header) GetHeight() exported.Height
- func (h Header) GetTime() time.Time
- func (m *Header) GetTrustedHeight() types.Height
- func (m *Header) GetTrustedValidators() *types2.ValidatorSet
- func (m *Header) GetValidatorSet() *types2.ValidatorSet
- func (m *Header) Marshal() (dAtA []byte, err error)
- func (m *Header) MarshalTo(dAtA []byte) (int, error)
- func (m *Header) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Header) ProtoMessage()
- func (m *Header) Reset()
- func (m *Header) Size() (n int)
- func (m *Header) String() string
- func (m *Header) Unmarshal(dAtA []byte) error
- func (h Header) ValidateBasic() error
- func (m *Header) XXX_DiscardUnknown()
- func (m *Header) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Header) XXX_Merge(src proto.Message)
- func (m *Header) XXX_Size() int
- func (m *Header) XXX_Unmarshal(b []byte) error
- type Height
- func (*Height) Descriptor() ([]byte, []int)
- func (m *Height) GetRevisionHeight() uint64
- func (m *Height) GetRevisionNumber() uint64
- func (m *Height) Marshal() (dAtA []byte, err error)
- func (m *Height) MarshalTo(dAtA []byte) (int, error)
- func (m *Height) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Height) ProtoMessage()
- func (m *Height) Reset()
- func (m *Height) Size() (n int)
- func (m *Height) String() string
- func (m *Height) Unmarshal(dAtA []byte) error
- func (m *Height) XXX_DiscardUnknown()
- func (m *Height) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Height) XXX_Merge(src proto.Message)
- func (m *Height) XXX_Size() int
- func (m *Height) XXX_Unmarshal(b []byte) error
- type InnerOp
- func (*InnerOp) Descriptor() ([]byte, []int)
- func (m *InnerOp) GetHash() HashOp
- func (m *InnerOp) GetPrefix() []byte
- func (m *InnerOp) GetSuffix() []byte
- func (m *InnerOp) Marshal() (dAtA []byte, err error)
- func (m *InnerOp) MarshalTo(dAtA []byte) (int, error)
- func (m *InnerOp) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*InnerOp) ProtoMessage()
- func (m *InnerOp) Reset()
- func (m *InnerOp) Size() (n int)
- func (m *InnerOp) String() string
- func (m *InnerOp) Unmarshal(dAtA []byte) error
- func (m *InnerOp) XXX_DiscardUnknown()
- func (m *InnerOp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *InnerOp) XXX_Merge(src proto.Message)
- func (m *InnerOp) XXX_Size() int
- func (m *InnerOp) XXX_Unmarshal(b []byte) error
- type Misbehaviour
- func (Misbehaviour) ClientType() string
- func (*Misbehaviour) Descriptor() ([]byte, []int)
- func (misbehaviour Misbehaviour) GetTime() time.Time
- func (m *Misbehaviour) Marshal() (dAtA []byte, err error)
- func (m *Misbehaviour) MarshalTo(dAtA []byte) (int, error)
- func (m *Misbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Misbehaviour) ProtoMessage()
- func (m *Misbehaviour) Reset()
- func (m *Misbehaviour) Size() (n int)
- func (m *Misbehaviour) String() string
- func (m *Misbehaviour) Unmarshal(dAtA []byte) error
- func (misbehaviour Misbehaviour) ValidateBasic() error
- func (m *Misbehaviour) XXX_DiscardUnknown()
- func (m *Misbehaviour) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Misbehaviour) XXX_Merge(src proto.Message)
- func (m *Misbehaviour) XXX_Size() int
- func (m *Misbehaviour) XXX_Unmarshal(b []byte) error
- type Packet
- func (*Packet) Descriptor() ([]byte, []int)
- func (m *Packet) GetData() []byte
- func (m *Packet) GetDestinationChannel() string
- func (m *Packet) GetDestinationPort() string
- func (m *Packet) GetSequence() uint64
- func (m *Packet) GetSourceChannel() string
- func (m *Packet) GetSourcePort() string
- func (m *Packet) GetTimeoutHeight() *Height
- func (m *Packet) GetTimeoutTimestamp() uint64
- func (m *Packet) Marshal() (dAtA []byte, err error)
- func (m *Packet) MarshalTo(dAtA []byte) (int, error)
- func (m *Packet) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Packet) ProtoMessage()
- func (m *Packet) Reset()
- func (m *Packet) Size() (n int)
- func (m *Packet) String() string
- func (m *Packet) Unmarshal(dAtA []byte) error
- func (m *Packet) XXX_DiscardUnknown()
- func (m *Packet) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Packet) XXX_Merge(src proto.Message)
- func (m *Packet) XXX_Size() int
- func (m *Packet) XXX_Unmarshal(b []byte) error
- type ProofMeta
- func (*ProofMeta) Descriptor() ([]byte, []int)
- func (m *ProofMeta) GetHashValue() []byte
- func (m *ProofMeta) GetPathInnerOp() *InnerOp
- func (m *ProofMeta) Marshal() (dAtA []byte, err error)
- func (m *ProofMeta) MarshalTo(dAtA []byte) (int, error)
- func (m *ProofMeta) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ProofMeta) ProtoMessage()
- func (m *ProofMeta) Reset()
- func (m *ProofMeta) Size() (n int)
- func (m *ProofMeta) String() string
- func (m *ProofMeta) Unmarshal(dAtA []byte) error
- func (m *ProofMeta) XXX_DiscardUnknown()
- func (m *ProofMeta) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ProofMeta) XXX_Merge(src proto.Message)
- func (m *ProofMeta) XXX_Size() int
- func (m *ProofMeta) XXX_Unmarshal(b []byte) error
- type SubProof
- func (*SubProof) Descriptor() ([]byte, []int)
- func (m *SubProof) GetNumber() uint32
- func (m *SubProof) GetProofMetaList() []*ProofMeta
- func (m *SubProof) Marshal() (dAtA []byte, err error)
- func (m *SubProof) MarshalTo(dAtA []byte) (int, error)
- func (m *SubProof) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*SubProof) ProtoMessage()
- func (m *SubProof) Reset()
- func (m *SubProof) Size() (n int)
- func (m *SubProof) String() string
- func (m *SubProof) Unmarshal(dAtA []byte) error
- func (m *SubProof) XXX_DiscardUnknown()
- func (m *SubProof) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SubProof) XXX_Merge(src proto.Message)
- func (m *SubProof) XXX_Size() int
- func (m *SubProof) XXX_Unmarshal(b []byte) error
Constants ¶
const KeyIterateConsensusStatePrefix = "iterateConsensusStates"
const (
ModuleName = "05-aggrelite"
)
const SentinelRoot = "sentinel_root"
SentinelRoot is used as a stand-in root value for the consensus state set at the upgrade height
Variables ¶
var ( ErrInvalidLengthAggrelite = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowAggrelite = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupAggrelite = fmt.Errorf("proto: unexpected end of group") )
var ( ErrInvalidChainID = errorsmod.Register(ModuleName, 2, "invalid chain-id") ErrInvalidTrustingPeriod = errorsmod.Register(ModuleName, 3, "invalid trusting period") ErrInvalidUnbondingPeriod = errorsmod.Register(ModuleName, 4, "invalid unbonding period") ErrInvalidHeaderHeight = errorsmod.Register(ModuleName, 5, "invalid header height") ErrInvalidHeader = errorsmod.Register(ModuleName, 6, "invalid header") ErrInvalidMaxClockDrift = errorsmod.Register(ModuleName, 7, "invalid max clock drift") ErrProcessedTimeNotFound = errorsmod.Register(ModuleName, 8, "processed time not found") ErrProcessedHeightNotFound = errorsmod.Register(ModuleName, 9, "processed height not found") ErrDelayPeriodNotPassed = errorsmod.Register(ModuleName, 10, "packet-specified delay period has not been reached") ErrTrustingPeriodExpired = errorsmod.Register(ModuleName, 11, "time since latest trusted state has passed the trusting period") ErrUnbondingPeriodExpired = errorsmod.Register(ModuleName, 12, "time since latest trusted state has passed the unbonding period") ErrInvalidProofSpecs = errorsmod.Register(ModuleName, 13, "invalid proof specs") ErrInvalidValidatorSet = errorsmod.Register(ModuleName, 14, "invalid validator set") )
IBC aggrelite client sentinel errors
var ( // KeyProcessedTime is appended to consensus state key to store the processed time KeyProcessedTime = []byte("/processedTime") // KeyProcessedHeight is appended to consensus state key to store the processed height KeyProcessedHeight = []byte("/processedHeight") // KeyIteration stores the key mapping to consensus state key for efficient iteration KeyIteration = []byte("/iterationKey") )
var DefaultTrustLevel = NewFractionFromTm(light.DefaultTrustLevel)
DefaultTrustLevel is the aggrelite light client default trust level
var FrozenHeight = clienttypes.NewHeight(0, 1)
FrozenHeight is same for all misbehaviour
var HashOp_name = map[int32]string{
0: "NO_HASH",
1: "SHA256",
2: "SHA512",
3: "KECCAK256",
4: "RIPEMD160",
5: "BITCOIN",
6: "SHA512_256",
7: "BLAKE2B_512",
8: "BLAKE2S_256",
9: "BLAKE3",
}
var HashOp_value = map[string]int32{
"NO_HASH": 0,
"SHA256": 1,
"SHA512": 2,
"KECCAK256": 3,
"RIPEMD160": 4,
"BITCOIN": 5,
"SHA512_256": 6,
"BLAKE2B_512": 7,
"BLAKE2S_256": 8,
"BLAKE3": 9,
}
Functions ¶
func GetHeightFromIterationKey ¶
GetHeightFromIterationKey takes an iteration key and returns the height that it references
func GetIterationKey ¶
func GetIterationKey(clientStore storetypes.KVStore, height exported.Height) []byte
GetIterationKey returns the consensus state key stored under the efficient iteration key. NOTE: This function is currently only used for testing purposes
func GetProcessedHeight ¶
func GetProcessedHeight(clientStore storetypes.KVStore, height exported.Height) (exported.Height, bool)
GetProcessedHeight gets the height at which this chain received and processed a aggrelite header. This is used to validate that a received packet has passed the block delay period.
func GetProcessedTime ¶
GetProcessedTime gets the time (in nanoseconds) at which this chain received and processed a aggrelite header. This is used to validate that a received packet has passed the time delay period.
func IsMatchingClientState ¶
func IsMatchingClientState(subject, substitute ClientState) bool
IsMatchingClientState returns true if all the client state parameters match except for frozen height, latest height, trusting period, chain-id.
func IterateConsensusMetadata ¶
func IterateConsensusMetadata(store storetypes.KVStore, cb func(key, val []byte) bool)
IterateConsensusMetadata iterates through the prefix store and applies the callback. If the cb returns true, then iterator will close and stop.
func IterateConsensusStateAscending ¶
func IterateConsensusStateAscending(clientStore storetypes.KVStore, cb func(height exported.Height) (stop bool))
IterateConsensusStateAscending iterates through the consensus states in ascending order. It calls the provided callback on each height, until stop=true is returned.
func IterationKey ¶
IterationKey returns the key under which the consensus state key will be stored. The iteration key is a BigEndian representation of the consensus state key to support efficient iteration.
func MainVerifyAggregateProof ¶ added in v9.2.7
func ProcessedHeightKey ¶
ProcessedHeightKey returns the key under which the processed height will be stored in the client store.
func ProcessedTimeKey ¶
ProcessedTimeKey returns the key under which the processed time will be stored in the client store.
func PruneAllExpiredConsensusStates ¶
func PruneAllExpiredConsensusStates( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, clientState *ClientState, ) int
PruneAllExpiredConsensusStates iterates over all consensus states for a given client store. If a consensus state is expired, it is deleted and its metadata is deleted. The number of consensus states pruned is returned.
func RegisterInterfaces ¶
func RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers the aggrelite concrete client-related implementations and interfaces.
func SetIterationKey ¶
func SetIterationKey(clientStore storetypes.KVStore, height exported.Height)
SetIterationKey stores the consensus state key under a key that is more efficient for ordered iteration
func SetProcessedHeight ¶
func SetProcessedHeight(clientStore storetypes.KVStore, consHeight, processedHeight exported.Height)
SetProcessedHeight stores the height at which a header was processed and the corresponding consensus state was created. This is useful when validating whether a packet has reached the specified block delay period in the aggrelite client's verification functions
func SetProcessedTime ¶
func SetProcessedTime(clientStore storetypes.KVStore, height exported.Height, timeNs uint64)
SetProcessedTime stores the time at which a header was processed and the corresponding consensus state was created. This is useful when validating whether a packet has reached the time specified delay period in the aggrelite client's verification functions
Types ¶
type AggregatePacket ¶
type AggregatePacket struct { Packets []*Packet `protobuf:"bytes,1,rep,name=packets,proto3" json:"packets,omitempty"` PacketsLeafNumber []uint32 `protobuf:"varint,2,rep,packed,name=packets_leaf_number,json=packetsLeafNumber,proto3" json:"packets_leaf_number,omitempty"` Proof []*SubProof `protobuf:"bytes,3,rep,name=proof,proto3" json:"proof,omitempty"` Signer string `protobuf:"bytes,4,opt,name=signer,proto3" json:"signer,omitempty"` }
AggregatePacket
func (*AggregatePacket) Descriptor ¶
func (*AggregatePacket) Descriptor() ([]byte, []int)
func (*AggregatePacket) GetPackets ¶
func (m *AggregatePacket) GetPackets() []*Packet
func (*AggregatePacket) GetPacketsLeafNumber ¶
func (m *AggregatePacket) GetPacketsLeafNumber() []uint32
func (*AggregatePacket) GetProof ¶
func (m *AggregatePacket) GetProof() []*SubProof
func (*AggregatePacket) GetSigner ¶
func (m *AggregatePacket) GetSigner() string
func (*AggregatePacket) Marshal ¶
func (m *AggregatePacket) Marshal() (dAtA []byte, err error)
func (*AggregatePacket) MarshalToSizedBuffer ¶
func (m *AggregatePacket) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*AggregatePacket) ProtoMessage ¶
func (*AggregatePacket) ProtoMessage()
func (*AggregatePacket) Reset ¶
func (m *AggregatePacket) Reset()
func (*AggregatePacket) Size ¶
func (m *AggregatePacket) Size() (n int)
func (*AggregatePacket) String ¶
func (m *AggregatePacket) String() string
func (*AggregatePacket) Unmarshal ¶
func (m *AggregatePacket) Unmarshal(dAtA []byte) error
func (*AggregatePacket) XXX_DiscardUnknown ¶
func (m *AggregatePacket) XXX_DiscardUnknown()
func (*AggregatePacket) XXX_Marshal ¶
func (m *AggregatePacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*AggregatePacket) XXX_Merge ¶
func (m *AggregatePacket) XXX_Merge(src proto.Message)
func (*AggregatePacket) XXX_Size ¶
func (m *AggregatePacket) XXX_Size() int
func (*AggregatePacket) XXX_Unmarshal ¶
func (m *AggregatePacket) XXX_Unmarshal(b []byte) error
type AppModule ¶
type AppModule struct {
AppModuleBasic
}
AppModule is the application module for the aggrelite client module
func NewAppModule ¶
func NewAppModule() AppModule
NewAppModule creates a new aggrelite client module
func (AppModule) IsAppModule ¶
func (AppModule) IsAppModule()
IsAppModule implements the appmodule.AppModule interface.
func (AppModule) IsOnePerModuleType ¶
func (AppModule) IsOnePerModuleType()
IsOnePerModuleType implements the depinject.OnePerModuleType interface.
type AppModuleBasic ¶
type AppModuleBasic struct{}
AppModuleBasic defines the basic application module used by the aggrelite light client. Only the RegisterInterfaces function needs to be implemented. All other function perform a no-op.
func (AppModuleBasic) DefaultGenesis ¶
func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage
DefaultGenesis performs a no-op. Genesis is not supported for the aggrelite light client.
func (AppModuleBasic) GetQueryCmd ¶
func (AppModuleBasic) GetQueryCmd() *cobra.Command
GetQueryCmd performs a no-op. Please see the 02-client cli commands.
func (AppModuleBasic) GetTxCmd ¶
func (AppModuleBasic) GetTxCmd() *cobra.Command
GetTxCmd performs a no-op. Please see the 02-client cli commands.
func (AppModuleBasic) Name ¶
func (AppModuleBasic) Name() string
Name returns the aggrelite module name.
func (AppModuleBasic) RegisterGRPCGatewayRoutes ¶
func (AppModuleBasic) RegisterGRPCGatewayRoutes(clientCtx client.Context, mux *runtime.ServeMux)
RegisterGRPCGatewayRoutes performs a no-op.
func (AppModuleBasic) RegisterInterfaces ¶
func (AppModuleBasic) RegisterInterfaces(registry codectypes.InterfaceRegistry)
RegisterInterfaces registers module concrete types into protobuf Any. This allows core IBC to unmarshal aggrelite light client types.
func (AppModuleBasic) RegisterLegacyAminoCodec ¶
func (AppModuleBasic) RegisterLegacyAminoCodec(*codec.LegacyAmino)
RegisterLegacyAminoCodec performs a no-op. The aggrelite client does not support amino.
func (AppModuleBasic) ValidateGenesis ¶
func (AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, config client.TxEncodingConfig, bz json.RawMessage) error
ValidateGenesis performs a no-op. Genesis is not supported for the aggrelite light cilent.
type ClientState ¶
type ClientState struct { ChainId string `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"` TrustLevel Fraction `protobuf:"bytes,2,opt,name=trust_level,json=trustLevel,proto3" json:"trust_level"` // duration of the period since the LastestTimestamp during which the // submitted headers are valid for upgrade TrustingPeriod time.Duration `protobuf:"bytes,3,opt,name=trusting_period,json=trustingPeriod,proto3,stdduration" json:"trusting_period"` // duration of the staking unbonding period UnbondingPeriod time.Duration `protobuf:"bytes,4,opt,name=unbonding_period,json=unbondingPeriod,proto3,stdduration" json:"unbonding_period"` // defines how much new (untrusted) header's Time can drift into the future. MaxClockDrift time.Duration `protobuf:"bytes,5,opt,name=max_clock_drift,json=maxClockDrift,proto3,stdduration" json:"max_clock_drift"` FrozenHeight types.Height `protobuf:"bytes,6,opt,name=frozen_height,json=frozenHeight,proto3" json:"frozen_height"` LatestHeight types.Height `protobuf:"bytes,7,opt,name=latest_height,json=latestHeight,proto3" json:"latest_height"` ProofSpecs []*_go.ProofSpec `protobuf:"bytes,8,rep,name=proof_specs,json=proofSpecs,proto3" json:"proof_specs,omitempty"` UpgradePath []string `protobuf:"bytes,9,rep,name=upgrade_path,json=upgradePath,proto3" json:"upgrade_path,omitempty"` AllowUpdateAfterExpiry bool `` // Deprecated: Do not use. /* 133-byte string literal not displayed */ AllowUpdateAfterMisbehaviour bool `` // Deprecated: Do not use. /* 151-byte string literal not displayed */ }
ClientState from Tendermint tracks the current validator set, latest height, and a possible frozen height.
func NewClientState ¶
func NewClientState( chainID string, trustLevel Fraction, trustingPeriod, ubdPeriod, maxClockDrift time.Duration, latestHeight clienttypes.Height, specs []*ics23.ProofSpec, upgradePath []string, ) *ClientState
NewClientState creates a new ClientState instance
func (ClientState) CheckForMisbehaviour ¶
func (ClientState) CheckForMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, msg exported.ClientMessage) bool
CheckForMisbehaviour detects duplicate height misbehaviour and BFT time violation misbehaviour in a submitted Header message and verifies the correctness of a submitted Misbehaviour ClientMessage
func (ClientState) CheckSubstituteAndUpdateState ¶
func (cs ClientState) CheckSubstituteAndUpdateState( ctx sdk.Context, cdc codec.BinaryCodec, subjectClientStore, substituteClientStore storetypes.KVStore, substituteClient exported.ClientState, ) error
CheckSubstituteAndUpdateState will try to update the client with the state of the substitute.
AllowUpdateAfterMisbehaviour and AllowUpdateAfterExpiry have been deprecated. Please see ADR 026 for more information.
The following must always be true:
- The substitute client is the same type as the subject client
- The subject and substitute client states match in all parameters (expect frozen height, latest height, and chain-id)
In case 1) before updating the client, the client will be unfrozen by resetting the FrozenHeight to the zero Height.
func (*ClientState) Descriptor ¶
func (*ClientState) Descriptor() ([]byte, []int)
func (ClientState) ExportMetadata ¶
func (ClientState) ExportMetadata(store storetypes.KVStore) []exported.GenesisMetadata
ExportMetadata exports all the consensus metadata in the client store so they can be included in clients genesis and imported by a ClientKeeper
func (ClientState) GetChainID ¶
func (cs ClientState) GetChainID() string
GetChainID returns the chain-id
func (ClientState) GetLatestHeight ¶
func (cs ClientState) GetLatestHeight() exported.Height
GetLatestHeight returns latest block height.
func (ClientState) GetTimestampAtHeight ¶
func (ClientState) GetTimestampAtHeight( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height, ) (uint64, error)
GetTimestampAtHeight returns the timestamp in nanoseconds of the consensus state at the given height.
func (ClientState) Initialize ¶
func (cs ClientState) Initialize(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, consState exported.ConsensusState) error
Initialize checks that the initial consensus state is an 05-aggrelite consensus state and sets the client state, consensus state and associated metadata in the provided client store.
func (ClientState) IsExpired ¶
func (cs ClientState) IsExpired(latestTimestamp, now time.Time) bool
IsExpired returns whether or not the client has passed the trusting period since the last update (in which case no headers are considered valid).
func (*ClientState) Marshal ¶
func (m *ClientState) Marshal() (dAtA []byte, err error)
func (*ClientState) MarshalToSizedBuffer ¶
func (m *ClientState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ClientState) ProtoMessage ¶
func (*ClientState) ProtoMessage()
func (*ClientState) Reset ¶
func (m *ClientState) Reset()
func (ClientState) SetHashValue ¶ added in v9.2.7
func (cs ClientState) SetHashValue(ctx sdk.Context, key []byte, value []byte, clientStore storetypes.KVStore)
func (*ClientState) Size ¶
func (m *ClientState) Size() (n int)
func (ClientState) Status ¶
func (cs ClientState) Status( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, ) exported.Status
Status returns the status of the aggrelite client. The client may be: - Active: FrozenHeight is zero and client is not expired - Frozen: Frozen Height is not zero - Expired: the latest consensus state timestamp + trusting period <= current time
A frozen client will become expired, so the Frozen status has higher precedence.
func (*ClientState) String ¶
func (m *ClientState) String() string
func (*ClientState) Unmarshal ¶
func (m *ClientState) Unmarshal(dAtA []byte) error
func (ClientState) UpdateState ¶
func (cs ClientState) UpdateState(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, clientMsg exported.ClientMessage) []exported.Height
UpdateState may be used to either create a consensus state for: - a future height greater than the latest client state height - a past height that was skipped during bisection If we are updating to a past height, a consensus state is created for that height to be persisted in client store If we are updating to a future height, the consensus state is created and the client state is updated to reflect the new latest height A list containing the updated consensus height is returned. UpdateState must only be used to update within a single revision, thus header revision number and trusted height's revision number must be the same. To update to a new revision, use a separate upgrade path UpdateState will prune the oldest consensus state if it is expired.
func (ClientState) UpdateStateOnMisbehaviour ¶
func (cs ClientState) UpdateStateOnMisbehaviour(ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, _ exported.ClientMessage)
UpdateStateOnMisbehaviour updates state upon misbehaviour, freezing the ClientState. This method should only be called when misbehaviour is detected as it does not perform any misbehaviour checks.
func (ClientState) Validate ¶
func (cs ClientState) Validate() error
Validate performs a basic validation of the client state fields.
func (ClientState) VerifyAggregateMembership ¶
func (cs ClientState) VerifyAggregateMembership( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height, delayTimePeriod uint64, delayBlockPeriod uint64, keyArr [][]byte, leafNumber []uint64, values [][]byte, proof [][]byte, leafOps [][]byte) error
VerifyAggregateMembership is a generic proof verification method which verifies a proof of the existence of a value at a given CommitmentPath at the specified height. The caller is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized path (as defined in ICS 24). If a zero proof height is passed in, it will fail to retrieve the associated consensus state.
func (*ClientState) VerifyClientMessage ¶
func (cs *ClientState) VerifyClientMessage( ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, clientMsg exported.ClientMessage, ) error
VerifyClientMessage checks if the clientMessage is of type Header or Misbehaviour and verifies the message
func (ClientState) VerifyMembership ¶
func (cs ClientState) VerifyMembership( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height, delayTimePeriod uint64, delayBlockPeriod uint64, proof []byte, path exported.Path, value []byte, ) error
VerifyMembership is a generic proof verification method which verifies a proof of the existence of a value at a given CommitmentPath at the specified height. The caller is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized path (as defined in ICS 24). If a zero proof height is passed in, it will fail to retrieve the associated consensus state.
func (ClientState) VerifyNonMembership ¶
func (cs ClientState) VerifyNonMembership( ctx sdk.Context, clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height, delayTimePeriod uint64, delayBlockPeriod uint64, proof []byte, path exported.Path, ) error
VerifyNonMembership is a generic proof verification method which verifies the absence of a given CommitmentPath at a specified height. The caller is expected to construct the full CommitmentPath from a CommitmentPrefix and a standardized path (as defined in ICS 24). If a zero proof height is passed in, it will fail to retrieve the associated consensus state.
func (ClientState) VerifyUpgradeAndUpdateState ¶
func (cs ClientState) VerifyUpgradeAndUpdateState( ctx sdk.Context, cdc codec.BinaryCodec, clientStore storetypes.KVStore, upgradedClient exported.ClientState, upgradedConsState exported.ConsensusState, upgradeClientProof, upgradeConsStateProof []byte, ) error
VerifyUpgradeAndUpdateState checks if the upgraded client has been committed by the current client It will zero out all client-specific fields (e.g. TrustingPeriod) and verify all data in client state that must be the same across all valid aggrelite clients for the new chain. VerifyUpgrade will return an error if: - the upgradedClient is not a aggrelite ClientState - the latest height of the client state does not have the same revision number or has a greater height than the committed client.
- the height of upgraded client is not greater than that of current client
- the latest height of the new client does not match or is greater than the height in committed client
- any aggrelite chain specified parameter in upgraded client such as ChainID, UnbondingPeriod, and ProofSpecs do not match parameters set by committed client
func (*ClientState) XXX_DiscardUnknown ¶
func (m *ClientState) XXX_DiscardUnknown()
func (*ClientState) XXX_Marshal ¶
func (m *ClientState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ClientState) XXX_Merge ¶
func (m *ClientState) XXX_Merge(src proto.Message)
func (*ClientState) XXX_Size ¶
func (m *ClientState) XXX_Size() int
func (*ClientState) XXX_Unmarshal ¶
func (m *ClientState) XXX_Unmarshal(b []byte) error
func (ClientState) ZeroCustomFields ¶
func (cs ClientState) ZeroCustomFields() exported.ClientState
ZeroCustomFields returns a ClientState that is a copy of the current ClientState with all client customizable fields zeroed out
type ConsensusState ¶
type ConsensusState struct { Timestamp time.Time `protobuf:"bytes,1,opt,name=timestamp,proto3,stdtime" json:"timestamp"` // commitment root (i.e app hash) Root types1.MerkleRoot `protobuf:"bytes,2,opt,name=root,proto3" json:"root"` NextValidatorsHash github_com_cometbft_cometbft_libs_bytes.HexBytes `` /* 175-byte string literal not displayed */ }
ConsensusState defines the consensus state from Tendermint.
func GetConsensusState ¶
func GetConsensusState(store storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
GetConsensusState retrieves the consensus state from the client prefixed store. If the ConsensusState does not exist in state for the provided height a nil value and false boolean flag is returned
func GetNextConsensusState ¶
func GetNextConsensusState(clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
GetNextConsensusState returns the lowest consensus state that is larger than the given height. The Iterator returns a storetypes.Iterator which iterates from start (inclusive) to end (exclusive). If the starting height exists in store, we need to call iterator.Next() to get the next consenus state. Otherwise, the iterator is already at the next consensus state so we can call iterator.Value() immediately.
func GetPreviousConsensusState ¶
func GetPreviousConsensusState(clientStore storetypes.KVStore, cdc codec.BinaryCodec, height exported.Height) (*ConsensusState, bool)
GetPreviousConsensusState returns the highest consensus state that is lower than the given height. The Iterator returns a storetypes.Iterator which iterates from the end (exclusive) to start (inclusive). Thus to get previous consensus state we call iterator.Value() immediately.
func NewConsensusState ¶
func NewConsensusState( timestamp time.Time, root commitmenttypes.MerkleRoot, nextValsHash tmbytes.HexBytes, ) *ConsensusState
NewConsensusState creates a new ConsensusState instance.
func (ConsensusState) ClientType ¶
func (ConsensusState) ClientType() string
ClientType returns AggreLite
func (*ConsensusState) Descriptor ¶
func (*ConsensusState) Descriptor() ([]byte, []int)
func (ConsensusState) GetRoot ¶
func (cs ConsensusState) GetRoot() exported.Root
GetRoot returns the commitment Root for the specific
func (ConsensusState) GetTimestamp ¶
func (cs ConsensusState) GetTimestamp() uint64
GetTimestamp returns block time in nanoseconds of the header that created consensus state
func (*ConsensusState) Marshal ¶
func (m *ConsensusState) Marshal() (dAtA []byte, err error)
func (*ConsensusState) MarshalToSizedBuffer ¶
func (m *ConsensusState) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ConsensusState) ProtoMessage ¶
func (*ConsensusState) ProtoMessage()
func (*ConsensusState) Reset ¶
func (m *ConsensusState) Reset()
func (*ConsensusState) Size ¶
func (m *ConsensusState) Size() (n int)
func (*ConsensusState) String ¶
func (m *ConsensusState) String() string
func (*ConsensusState) Unmarshal ¶
func (m *ConsensusState) Unmarshal(dAtA []byte) error
func (ConsensusState) ValidateBasic ¶
func (cs ConsensusState) ValidateBasic() error
ValidateBasic defines a basic validation for the aggrelite consensus state. NOTE: ProcessedTimestamp may be zero if this is an initial consensus state passed in by relayer as opposed to a consensus state constructed by the chain.
func (*ConsensusState) XXX_DiscardUnknown ¶
func (m *ConsensusState) XXX_DiscardUnknown()
func (*ConsensusState) XXX_Marshal ¶
func (m *ConsensusState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ConsensusState) XXX_Merge ¶
func (m *ConsensusState) XXX_Merge(src proto.Message)
func (*ConsensusState) XXX_Size ¶
func (m *ConsensusState) XXX_Size() int
func (*ConsensusState) XXX_Unmarshal ¶
func (m *ConsensusState) XXX_Unmarshal(b []byte) error
type Fraction ¶
type Fraction struct { Numerator uint64 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"` Denominator uint64 `protobuf:"varint,2,opt,name=denominator,proto3" json:"denominator,omitempty"` }
Fraction defines the protobuf message type for tmmath.Fraction that only supports positive values.
func NewFractionFromTm ¶
NewFractionFromTm returns a new Fraction instance from a tmmath.Fraction
func (*Fraction) Descriptor ¶
func (*Fraction) GetDenominator ¶
func (*Fraction) GetNumerator ¶
func (*Fraction) MarshalToSizedBuffer ¶
func (*Fraction) ProtoMessage ¶
func (*Fraction) ProtoMessage()
func (Fraction) ToAggrelite ¶ added in v9.2.4
Toaggrelite converts Fraction to tmmath.Fraction
func (*Fraction) XXX_DiscardUnknown ¶
func (m *Fraction) XXX_DiscardUnknown()
func (*Fraction) XXX_Marshal ¶
func (*Fraction) XXX_Unmarshal ¶
type HashOp ¶
type HashOp int32
const ( // NO_HASH is the default if no data passed. Note this is an illegal argument some places. HashOp_NO_HASH HashOp = 0 HashOp_SHA256 HashOp = 1 HashOp_SHA512 HashOp = 2 HashOp_KECCAK256 HashOp = 3 HashOp_RIPEMD160 HashOp = 4 HashOp_BITCOIN HashOp = 5 HashOp_SHA512_256 HashOp = 6 HashOp_BLAKE2B_512 HashOp = 7 HashOp_BLAKE2S_256 HashOp = 8 HashOp_BLAKE3 HashOp = 9 )
func (HashOp) EnumDescriptor ¶
type Header ¶
type Header struct { *types2.SignedHeader `protobuf:"bytes,1,opt,name=signed_header,json=signedHeader,proto3,embedded=signed_header" json:"signed_header,omitempty"` ValidatorSet *types2.ValidatorSet `protobuf:"bytes,2,opt,name=validator_set,json=validatorSet,proto3" json:"validator_set,omitempty"` TrustedHeight types.Height `protobuf:"bytes,3,opt,name=trusted_height,json=trustedHeight,proto3" json:"trusted_height"` TrustedValidators *types2.ValidatorSet `protobuf:"bytes,4,opt,name=trusted_validators,json=trustedValidators,proto3" json:"trusted_validators,omitempty"` }
Header defines the Tendermint client consensus Header. It encapsulates all the information necessary to update from a trusted Tendermint ConsensusState. The inclusion of TrustedHeight and TrustedValidators allows this update to process correctly, so long as the ConsensusState for the TrustedHeight exists, this removes race conditions among relayers The SignedHeader and ValidatorSet are the new untrusted update fields for the client. The TrustedHeight is the height of a stored ConsensusState on the client that will be used to verify the new untrusted header. The Trusted ConsensusState must be within the unbonding period of current time in order to correctly verify, and the TrustedValidators must hash to TrustedConsensusState.NextValidatorsHash since that is the last trusted validator set at the TrustedHeight.
func (Header) ClientType ¶
ClientType defines that the Header is a aggrelite consensus algorithm
func (Header) ConsensusState ¶
func (h Header) ConsensusState() *ConsensusState
ConsensusState returns the updated consensus state associated with the header
func (*Header) Descriptor ¶
func (Header) GetHeight ¶
GetHeight returns the current height. It returns 0 if the aggrelite header is nil. NOTE: the header.Header is checked to be non nil in ValidateBasic.
func (Header) GetTime ¶
GetTime returns the current block timestamp. It returns a zero time if the aggrelite header is nil. NOTE: the header.Header is checked to be non nil in ValidateBasic.
func (*Header) GetTrustedHeight ¶
func (*Header) GetTrustedValidators ¶
func (m *Header) GetTrustedValidators() *types2.ValidatorSet
func (*Header) GetValidatorSet ¶
func (m *Header) GetValidatorSet() *types2.ValidatorSet
func (*Header) MarshalToSizedBuffer ¶
func (*Header) ProtoMessage ¶
func (*Header) ProtoMessage()
func (Header) ValidateBasic ¶
ValidateBasic calls the SignedHeader ValidateBasic function and checks that validatorsets are not nil. NOTE: TrustedHeight and TrustedValidators may be empty when creating client with MsgCreateClient
func (*Header) XXX_DiscardUnknown ¶
func (m *Header) XXX_DiscardUnknown()
func (*Header) XXX_Marshal ¶
func (*Header) XXX_Unmarshal ¶
type Height ¶
type Height struct { // the revision that the client is currently on RevisionNumber uint64 `protobuf:"varint,1,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` // the height within the given revision RevisionHeight uint64 `protobuf:"varint,2,opt,name=revision_height,json=revisionHeight,proto3" json:"revision_height,omitempty"` }
func (*Height) Descriptor ¶
func (*Height) GetRevisionHeight ¶
func (*Height) GetRevisionNumber ¶
func (*Height) MarshalToSizedBuffer ¶
func (*Height) ProtoMessage ¶
func (*Height) ProtoMessage()
func (*Height) XXX_DiscardUnknown ¶
func (m *Height) XXX_DiscardUnknown()
func (*Height) XXX_Marshal ¶
func (*Height) XXX_Unmarshal ¶
type InnerOp ¶
type InnerOp struct { Hash HashOp `protobuf:"varint,1,opt,name=hash,proto3,enum=ibc.lightclients.aggrelite.v1.HashOp" json:"hash,omitempty"` Prefix []byte `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"` Suffix []byte `protobuf:"bytes,3,opt,name=suffix,proto3" json:"suffix,omitempty"` }
InnerOp
func (*InnerOp) Descriptor ¶
func (*InnerOp) MarshalToSizedBuffer ¶
func (*InnerOp) ProtoMessage ¶
func (*InnerOp) ProtoMessage()
func (*InnerOp) XXX_DiscardUnknown ¶
func (m *InnerOp) XXX_DiscardUnknown()
func (*InnerOp) XXX_Marshal ¶
func (*InnerOp) XXX_Unmarshal ¶
type Misbehaviour ¶
type Misbehaviour struct { // ClientID is deprecated ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"` // Deprecated: Do not use. Header1 *Header `protobuf:"bytes,2,opt,name=header_1,json=header1,proto3" json:"header_1,omitempty"` Header2 *Header `protobuf:"bytes,3,opt,name=header_2,json=header2,proto3" json:"header_2,omitempty"` }
Misbehaviour is a wrapper over two conflicting Headers that implements Misbehaviour interface expected by ICS-02
func NewMisbehaviour ¶
func NewMisbehaviour(clientID string, header1, header2 *Header) *Misbehaviour
NewMisbehaviour creates a new Misbehaviour instance.
func (Misbehaviour) ClientType ¶
func (Misbehaviour) ClientType() string
ClientType is aggrelite light client
func (*Misbehaviour) Descriptor ¶
func (*Misbehaviour) Descriptor() ([]byte, []int)
func (Misbehaviour) GetTime ¶
func (misbehaviour Misbehaviour) GetTime() time.Time
GetTime returns the timestamp at which misbehaviour occurred. It uses the maximum value from both headers to prevent producing an invalid header outside of the misbehaviour age range.
func (*Misbehaviour) Marshal ¶
func (m *Misbehaviour) Marshal() (dAtA []byte, err error)
func (*Misbehaviour) MarshalToSizedBuffer ¶
func (m *Misbehaviour) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*Misbehaviour) ProtoMessage ¶
func (*Misbehaviour) ProtoMessage()
func (*Misbehaviour) Reset ¶
func (m *Misbehaviour) Reset()
func (*Misbehaviour) Size ¶
func (m *Misbehaviour) Size() (n int)
func (*Misbehaviour) String ¶
func (m *Misbehaviour) String() string
func (*Misbehaviour) Unmarshal ¶
func (m *Misbehaviour) Unmarshal(dAtA []byte) error
func (Misbehaviour) ValidateBasic ¶
func (misbehaviour Misbehaviour) ValidateBasic() error
ValidateBasic implements Misbehaviour interface
func (*Misbehaviour) XXX_DiscardUnknown ¶
func (m *Misbehaviour) XXX_DiscardUnknown()
func (*Misbehaviour) XXX_Marshal ¶
func (m *Misbehaviour) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*Misbehaviour) XXX_Merge ¶
func (m *Misbehaviour) XXX_Merge(src proto.Message)
func (*Misbehaviour) XXX_Size ¶
func (m *Misbehaviour) XXX_Size() int
func (*Misbehaviour) XXX_Unmarshal ¶
func (m *Misbehaviour) XXX_Unmarshal(b []byte) error
type Packet ¶
type Packet struct { // number corresponds to the order of sends and receives, where a Packet // with an earlier sequence number must be sent and received before a Packet // with a later sequence number. Sequence uint64 `protobuf:"varint,1,opt,name=sequence,proto3" json:"sequence,omitempty"` // identifies the port on the sending chain. SourcePort string `protobuf:"bytes,2,opt,name=source_port,json=sourcePort,proto3" json:"source_port,omitempty"` // identifies the channel end on the sending chain. SourceChannel string `protobuf:"bytes,3,opt,name=source_channel,json=sourceChannel,proto3" json:"source_channel,omitempty"` // identifies the port on the receiving chain. DestinationPort string `protobuf:"bytes,4,opt,name=destination_port,json=destinationPort,proto3" json:"destination_port,omitempty"` // identifies the channel end on the receiving chain. DestinationChannel string `protobuf:"bytes,5,opt,name=destination_channel,json=destinationChannel,proto3" json:"destination_channel,omitempty"` // actual opaque bytes transferred directly to the application module Data []byte `protobuf:"bytes,6,opt,name=data,proto3" json:"data,omitempty"` // block height after which the packet times out TimeoutHeight *Height `protobuf:"bytes,7,opt,name=timeout_height,json=timeoutHeight,proto3" json:"timeout_height,omitempty"` // block timestamp (in nanoseconds) after which the packet times out TimeoutTimestamp uint64 `protobuf:"varint,8,opt,name=timeout_timestamp,json=timeoutTimestamp,proto3" json:"timeout_timestamp,omitempty"` }
func (*Packet) Descriptor ¶
func (*Packet) GetDestinationChannel ¶
func (*Packet) GetDestinationPort ¶
func (*Packet) GetSequence ¶
func (*Packet) GetSourceChannel ¶
func (*Packet) GetSourcePort ¶
func (*Packet) GetTimeoutHeight ¶
func (*Packet) GetTimeoutTimestamp ¶
func (*Packet) MarshalToSizedBuffer ¶
func (*Packet) ProtoMessage ¶
func (*Packet) ProtoMessage()
func (*Packet) XXX_DiscardUnknown ¶
func (m *Packet) XXX_DiscardUnknown()
func (*Packet) XXX_Marshal ¶
func (*Packet) XXX_Unmarshal ¶
type ProofMeta ¶
type ProofMeta struct { HashValue []byte `protobuf:"bytes,1,opt,name=hash_value,json=hashValue,proto3" json:"hash_value,omitempty"` PathInnerOp *InnerOp `protobuf:"bytes,2,opt,name=path_inner_op,json=pathInnerOp,proto3" json:"path_inner_op,omitempty"` }
ProofMeta
func (*ProofMeta) Descriptor ¶
func (*ProofMeta) GetHashValue ¶
func (*ProofMeta) GetPathInnerOp ¶
func (*ProofMeta) MarshalToSizedBuffer ¶
func (*ProofMeta) ProtoMessage ¶
func (*ProofMeta) ProtoMessage()
func (*ProofMeta) XXX_DiscardUnknown ¶
func (m *ProofMeta) XXX_DiscardUnknown()
func (*ProofMeta) XXX_Marshal ¶
func (*ProofMeta) XXX_Unmarshal ¶
type SubProof ¶
type SubProof struct { Number uint32 `protobuf:"varint,1,opt,name=number,proto3" json:"number,omitempty"` ProofMetaList []*ProofMeta `protobuf:"bytes,2,rep,name=proof_meta_list,json=proofMetaList,proto3" json:"proof_meta_list,omitempty"` }
SubProof
func (*SubProof) Descriptor ¶
func (*SubProof) GetProofMetaList ¶
func (*SubProof) MarshalToSizedBuffer ¶
func (*SubProof) ProtoMessage ¶
func (*SubProof) ProtoMessage()
func (*SubProof) XXX_DiscardUnknown ¶
func (m *SubProof) XXX_DiscardUnknown()