types

package
v0.0.0-...-3a28d7b Latest Latest
Warning

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

Go to latest
Published: Aug 1, 2023 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrDuplicateConsumerChain     = errorsmod.Register(ModuleName, 1, "consumer chain already exists")
	ErrInvalidChannelFlow         = errorsmod.Register(ModuleName, 2, "invalid message sent to channel end")
	ErrInvalidVersion             = errorsmod.Register(ModuleName, 3, "invalid restaking version")
	ErrUnauthorizedConsumerChain  = errorsmod.Register(ModuleName, 4, "consumer chain is not authorized")
	ErrBuildRestakingPacketFailed = errorsmod.Register(ModuleName, 5, "can't build restaking packet")
)
View Source
var (
	ModuleName = "restaking"

	CoordinatorPortID = "restakingCoordinator"

	ConsumerPortID = "restakingConsumer"

	Version = "1"
)
View Source
var (
	ErrInvalidLengthRestaking        = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRestaking          = fmt.Errorf("proto: integer overflow")
	ErrUnexpectedEndOfGroupRestaking = fmt.Errorf("proto: unexpected end of group")
)
View Source
var CoordinatorPacket_PacketType_name = map[int32]string{
	0: "Delegation",
	1: "Undelegation",
	2: "Slash",
	3: "WithdrawReward",
}
View Source
var CoordinatorPacket_PacketType_value = map[string]int32{
	"Delegation":     0,
	"Undelegation":   1,
	"Slash":          2,
	"WithdrawReward": 3,
}
View Source
var KeyCCVTimeoutPeriod = []byte("RestakingTimeoutPeriod")
View Source
var ValidatorSetChange_Type_name = map[int32]string{
	0: "ADD",
	1: "REMOVE",
}
View Source
var ValidatorSetChange_Type_value = map[string]int32{
	"ADD":    0,
	"REMOVE": 1,
}

Functions

func AccumulateChanges

func AccumulateChanges(currentChanges, newChanges []abci.ValidatorUpdate) []abci.ValidatorUpdate

func CalculateTrustPeriod

func CalculateTrustPeriod(unbondingPeriod time.Duration, defaultTrustPeriodFraction string) (time.Duration, error)

func SendIBCPacket

func SendIBCPacket(
	ctx sdk.Context,
	scopedKeeper ScopedKeeper,
	channelKeeper ChannelKeeper,
	channelID string,
	portID string,
	packetData []byte,
	timeoutPeriod time.Duration,
) (uint64, error)

func ValidateBech32

func ValidateBech32(i interface{}) error

func ValidateBool

func ValidateBool(i interface{}) error

func ValidateChannelIdentifier

func ValidateChannelIdentifier(i interface{}) error

func ValidateDuration

func ValidateDuration(i interface{}) error

func ValidateInt64

func ValidateInt64(i interface{}) error

func ValidatePositiveInt64

func ValidatePositiveInt64(i interface{}) error

func ValidateString

func ValidateString(i interface{}) error

func ValidateStringFraction

func ValidateStringFraction(i interface{}) error

Types

type AccountKeeper

type AccountKeeper interface {
	GetModuleAccount(ctx sdk.Context, name string) auth.ModuleAccountI
}

AccountKeeper defines the expected account keeper used for simulations

type BankKeeper

type BankKeeper interface {
	GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin
	GetAllBalances(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
	SendCoinsFromModuleToModule(ctx sdk.Context, senderModule, recipientModule string, amt sdk.Coins) error
	SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error
	SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error

	BurnCoins(ctx sdk.Context, name string, amt sdk.Coins) error
	MintCoins(ctx sdk.Context, moduleName string, amounts sdk.Coins) error
}

BankKeeper defines the expected interface needed to retrieve account balances.

type ChannelKeeper

type ChannelKeeper interface {
	GetChannel(ctx sdk.Context, srcPort, srcChan string) (channel channeltypes.Channel, found bool)
	GetNextSequenceSend(ctx sdk.Context, portID, channelID string) (uint64, bool)
	SendPacket(ctx sdk.Context, channelCap *capabilitytypes.Capability, sourcePort string, sourceChannel string, timeoutHeight clienttypes.Height, timeoutTimestamp uint64, data []byte) (uint64, error)
	WriteAcknowledgement(ctx sdk.Context, chanCap *capabilitytypes.Capability, packet ibcexported.PacketI, acknowledgement ibcexported.Acknowledgement) error
	ChanCloseInit(ctx sdk.Context, portID, channelID string, chanCap *capabilitytypes.Capability) error
}

ChannelKeeper defines the expected IBC channel keeper

type ClientKeeper

type ClientKeeper interface {
	CreateClient(ctx sdk.Context, clientState ibcexported.ClientState, consensusState ibcexported.ConsensusState) (string, error)
	GetClientState(ctx sdk.Context, clientID string) (ibcexported.ClientState, bool)
	GetLatestClientConsensusState(ctx sdk.Context, clientID string) (ibcexported.ConsensusState, bool)
	GetSelfConsensusState(ctx sdk.Context, height ibcexported.Height) (ibcexported.ConsensusState, error)
}

ClientKeeper defines the expected IBC client keeper

type ConnectionKeeper

type ConnectionKeeper interface {
	GetConnection(ctx sdk.Context, connectionID string) (conntypes.ConnectionEnd, bool)
}

ConnectionKeeper defines the expected IBC connection keeper

type ConsumerPacket

type ConsumerPacket struct {
	ValidatorSetChanges []ValidatorSetChange `protobuf:"bytes,1,rep,name=validator_set_changes,json=validatorSetChanges,proto3" json:"validator_set_changes"`
	ConsumerSlashList   []ConsumerSlash      `protobuf:"bytes,2,rep,name=consumer_slash_list,json=consumerSlashList,proto3" json:"consumer_slash_list"`
}

ConsumerPacket contains the data for a consumer packet.

func (*ConsumerPacket) Descriptor

func (*ConsumerPacket) Descriptor() ([]byte, []int)

func (*ConsumerPacket) GetConsumerSlashList

func (m *ConsumerPacket) GetConsumerSlashList() []ConsumerSlash

func (*ConsumerPacket) GetValidatorSetChanges

func (m *ConsumerPacket) GetValidatorSetChanges() []ValidatorSetChange

func (*ConsumerPacket) Marshal

func (m *ConsumerPacket) Marshal() (dAtA []byte, err error)

func (*ConsumerPacket) MarshalTo

func (m *ConsumerPacket) MarshalTo(dAtA []byte) (int, error)

func (*ConsumerPacket) MarshalToSizedBuffer

func (m *ConsumerPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsumerPacket) ProtoMessage

func (*ConsumerPacket) ProtoMessage()

func (*ConsumerPacket) Reset

func (m *ConsumerPacket) Reset()

func (*ConsumerPacket) Size

func (m *ConsumerPacket) Size() (n int)

func (*ConsumerPacket) String

func (m *ConsumerPacket) String() string

func (*ConsumerPacket) Unmarshal

func (m *ConsumerPacket) Unmarshal(dAtA []byte) error

func (*ConsumerPacket) XXX_DiscardUnknown

func (m *ConsumerPacket) XXX_DiscardUnknown()

func (*ConsumerPacket) XXX_Marshal

func (m *ConsumerPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsumerPacket) XXX_Merge

func (m *ConsumerPacket) XXX_Merge(src proto.Message)

func (*ConsumerPacket) XXX_Size

func (m *ConsumerPacket) XXX_Size() int

func (*ConsumerPacket) XXX_Unmarshal

func (m *ConsumerPacket) XXX_Unmarshal(b []byte) error

type ConsumerSlash

type ConsumerSlash struct {
	// operator_address is the address of the operator being slashed.
	OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	// slash_factor is the amount by which the validator is being slashed, represented as a decimal.
	SlashFactor github_com_cosmos_cosmos_sdk_types.Dec `` /* 134-byte string literal not displayed */
}

ConsumerSlash represents the slashing information for a consumer chain.

func (*ConsumerSlash) Descriptor

func (*ConsumerSlash) Descriptor() ([]byte, []int)

func (*ConsumerSlash) GetOperatorAddress

func (m *ConsumerSlash) GetOperatorAddress() string

func (*ConsumerSlash) Marshal

func (m *ConsumerSlash) Marshal() (dAtA []byte, err error)

func (*ConsumerSlash) MarshalTo

func (m *ConsumerSlash) MarshalTo(dAtA []byte) (int, error)

func (*ConsumerSlash) MarshalToSizedBuffer

func (m *ConsumerSlash) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsumerSlash) ProtoMessage

func (*ConsumerSlash) ProtoMessage()

func (*ConsumerSlash) Reset

func (m *ConsumerSlash) Reset()

func (*ConsumerSlash) Size

func (m *ConsumerSlash) Size() (n int)

func (*ConsumerSlash) String

func (m *ConsumerSlash) String() string

func (*ConsumerSlash) Unmarshal

func (m *ConsumerSlash) Unmarshal(dAtA []byte) error

func (*ConsumerSlash) XXX_DiscardUnknown

func (m *ConsumerSlash) XXX_DiscardUnknown()

func (*ConsumerSlash) XXX_Marshal

func (m *ConsumerSlash) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsumerSlash) XXX_Merge

func (m *ConsumerSlash) XXX_Merge(src proto.Message)

func (*ConsumerSlash) XXX_Size

func (m *ConsumerSlash) XXX_Size() int

func (*ConsumerSlash) XXX_Unmarshal

func (m *ConsumerSlash) XXX_Unmarshal(b []byte) error

type ConsumerSlashList

type ConsumerSlashList struct {
	Slashes []ConsumerSlash `protobuf:"bytes,1,rep,name=slashes,proto3" json:"slashes"`
}

ConsumerSlashList represents a list of slashing information for consumer chains.

func (*ConsumerSlashList) Descriptor

func (*ConsumerSlashList) Descriptor() ([]byte, []int)

func (*ConsumerSlashList) GetSlashes

func (m *ConsumerSlashList) GetSlashes() []ConsumerSlash

func (*ConsumerSlashList) Marshal

func (m *ConsumerSlashList) Marshal() (dAtA []byte, err error)

func (*ConsumerSlashList) MarshalTo

func (m *ConsumerSlashList) MarshalTo(dAtA []byte) (int, error)

func (*ConsumerSlashList) MarshalToSizedBuffer

func (m *ConsumerSlashList) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsumerSlashList) ProtoMessage

func (*ConsumerSlashList) ProtoMessage()

func (*ConsumerSlashList) Reset

func (m *ConsumerSlashList) Reset()

func (*ConsumerSlashList) Size

func (m *ConsumerSlashList) Size() (n int)

func (*ConsumerSlashList) String

func (m *ConsumerSlashList) String() string

func (*ConsumerSlashList) Unmarshal

func (m *ConsumerSlashList) Unmarshal(dAtA []byte) error

func (*ConsumerSlashList) XXX_DiscardUnknown

func (m *ConsumerSlashList) XXX_DiscardUnknown()

func (*ConsumerSlashList) XXX_Marshal

func (m *ConsumerSlashList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsumerSlashList) XXX_Merge

func (m *ConsumerSlashList) XXX_Merge(src proto.Message)

func (*ConsumerSlashList) XXX_Size

func (m *ConsumerSlashList) XXX_Size() int

func (*ConsumerSlashList) XXX_Unmarshal

func (m *ConsumerSlashList) XXX_Unmarshal(b []byte) error

type ConsumerUndelegateResponse

type ConsumerUndelegateResponse struct {
	CompletionTime int64 `protobuf:"varint,1,opt,name=completion_time,json=completionTime,proto3" json:"completion_time,omitempty"`
}

ConsumerUndelegateResponse contains the completion time for undelegation.

func (*ConsumerUndelegateResponse) Descriptor

func (*ConsumerUndelegateResponse) Descriptor() ([]byte, []int)

func (*ConsumerUndelegateResponse) GetCompletionTime

func (m *ConsumerUndelegateResponse) GetCompletionTime() int64

func (*ConsumerUndelegateResponse) Marshal

func (m *ConsumerUndelegateResponse) Marshal() (dAtA []byte, err error)

func (*ConsumerUndelegateResponse) MarshalTo

func (m *ConsumerUndelegateResponse) MarshalTo(dAtA []byte) (int, error)

func (*ConsumerUndelegateResponse) MarshalToSizedBuffer

func (m *ConsumerUndelegateResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsumerUndelegateResponse) ProtoMessage

func (*ConsumerUndelegateResponse) ProtoMessage()

func (*ConsumerUndelegateResponse) Reset

func (m *ConsumerUndelegateResponse) Reset()

func (*ConsumerUndelegateResponse) Size

func (m *ConsumerUndelegateResponse) Size() (n int)

func (*ConsumerUndelegateResponse) String

func (m *ConsumerUndelegateResponse) String() string

func (*ConsumerUndelegateResponse) Unmarshal

func (m *ConsumerUndelegateResponse) Unmarshal(dAtA []byte) error

func (*ConsumerUndelegateResponse) XXX_DiscardUnknown

func (m *ConsumerUndelegateResponse) XXX_DiscardUnknown()

func (*ConsumerUndelegateResponse) XXX_Marshal

func (m *ConsumerUndelegateResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsumerUndelegateResponse) XXX_Merge

func (m *ConsumerUndelegateResponse) XXX_Merge(src proto.Message)

func (*ConsumerUndelegateResponse) XXX_Size

func (m *ConsumerUndelegateResponse) XXX_Size() int

func (*ConsumerUndelegateResponse) XXX_Unmarshal

func (m *ConsumerUndelegateResponse) XXX_Unmarshal(b []byte) error

type ConsumerWithdrawRewardResponse

type ConsumerWithdrawRewardResponse struct {
	TransferDestChannel string     `protobuf:"bytes,1,opt,name=transfer_dest_channel,json=transferDestChannel,proto3" json:"transfer_dest_channel,omitempty"`
	TransferDestPort    string     `protobuf:"bytes,2,opt,name=transfer_dest_port,json=transferDestPort,proto3" json:"transfer_dest_port,omitempty"`
	TransferDestSeq     uint64     `protobuf:"varint,3,opt,name=transfer_dest_seq,json=transferDestSeq,proto3" json:"transfer_dest_seq,omitempty"`
	Balance             types.Coin `protobuf:"bytes,4,opt,name=balance,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"balance"`
}

WithdrawRewardPacket represents a response to withdraw restaking reward.

func (*ConsumerWithdrawRewardResponse) Descriptor

func (*ConsumerWithdrawRewardResponse) Descriptor() ([]byte, []int)

func (*ConsumerWithdrawRewardResponse) GetBalance

func (m *ConsumerWithdrawRewardResponse) GetBalance() types.Coin

func (*ConsumerWithdrawRewardResponse) GetTransferDestChannel

func (m *ConsumerWithdrawRewardResponse) GetTransferDestChannel() string

func (*ConsumerWithdrawRewardResponse) GetTransferDestPort

func (m *ConsumerWithdrawRewardResponse) GetTransferDestPort() string

func (*ConsumerWithdrawRewardResponse) GetTransferDestSeq

func (m *ConsumerWithdrawRewardResponse) GetTransferDestSeq() uint64

func (*ConsumerWithdrawRewardResponse) Marshal

func (m *ConsumerWithdrawRewardResponse) Marshal() (dAtA []byte, err error)

func (*ConsumerWithdrawRewardResponse) MarshalTo

func (m *ConsumerWithdrawRewardResponse) MarshalTo(dAtA []byte) (int, error)

func (*ConsumerWithdrawRewardResponse) MarshalToSizedBuffer

func (m *ConsumerWithdrawRewardResponse) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConsumerWithdrawRewardResponse) ProtoMessage

func (*ConsumerWithdrawRewardResponse) ProtoMessage()

func (*ConsumerWithdrawRewardResponse) Reset

func (m *ConsumerWithdrawRewardResponse) Reset()

func (*ConsumerWithdrawRewardResponse) Size

func (m *ConsumerWithdrawRewardResponse) Size() (n int)

func (*ConsumerWithdrawRewardResponse) String

func (*ConsumerWithdrawRewardResponse) Unmarshal

func (m *ConsumerWithdrawRewardResponse) Unmarshal(dAtA []byte) error

func (*ConsumerWithdrawRewardResponse) XXX_DiscardUnknown

func (m *ConsumerWithdrawRewardResponse) XXX_DiscardUnknown()

func (*ConsumerWithdrawRewardResponse) XXX_Marshal

func (m *ConsumerWithdrawRewardResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConsumerWithdrawRewardResponse) XXX_Merge

func (m *ConsumerWithdrawRewardResponse) XXX_Merge(src proto.Message)

func (*ConsumerWithdrawRewardResponse) XXX_Size

func (m *ConsumerWithdrawRewardResponse) XXX_Size() int

func (*ConsumerWithdrawRewardResponse) XXX_Unmarshal

func (m *ConsumerWithdrawRewardResponse) XXX_Unmarshal(b []byte) error

type CoordinatorPacket

type CoordinatorPacket struct {
	// Type of the packet indicating delegation or undelegation.
	Type CoordinatorPacket_PacketType `` /* 128-byte string literal not displayed */
	// Data payload of the packet.
	Data string `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
}

CoordinatorPacket represents a packet that send from coordinator to consumer.

func BuildRestakingProtocolPacket

func BuildRestakingProtocolPacket(cdc codec.Codec, packet interface{}) (*CoordinatorPacket, error)

func (*CoordinatorPacket) Descriptor

func (*CoordinatorPacket) Descriptor() ([]byte, []int)

func (*CoordinatorPacket) GetData

func (m *CoordinatorPacket) GetData() string

func (*CoordinatorPacket) GetType

func (*CoordinatorPacket) Marshal

func (m *CoordinatorPacket) Marshal() (dAtA []byte, err error)

func (*CoordinatorPacket) MarshalTo

func (m *CoordinatorPacket) MarshalTo(dAtA []byte) (int, error)

func (*CoordinatorPacket) MarshalToSizedBuffer

func (m *CoordinatorPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CoordinatorPacket) ProtoMessage

func (*CoordinatorPacket) ProtoMessage()

func (*CoordinatorPacket) Reset

func (m *CoordinatorPacket) Reset()

func (*CoordinatorPacket) Size

func (m *CoordinatorPacket) Size() (n int)

func (*CoordinatorPacket) String

func (m *CoordinatorPacket) String() string

func (*CoordinatorPacket) Unmarshal

func (m *CoordinatorPacket) Unmarshal(dAtA []byte) error

func (*CoordinatorPacket) XXX_DiscardUnknown

func (m *CoordinatorPacket) XXX_DiscardUnknown()

func (*CoordinatorPacket) XXX_Marshal

func (m *CoordinatorPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CoordinatorPacket) XXX_Merge

func (m *CoordinatorPacket) XXX_Merge(src proto.Message)

func (*CoordinatorPacket) XXX_Size

func (m *CoordinatorPacket) XXX_Size() int

func (*CoordinatorPacket) XXX_Unmarshal

func (m *CoordinatorPacket) XXX_Unmarshal(b []byte) error

type CoordinatorPacket_PacketType

type CoordinatorPacket_PacketType int32

The type of this packet

const (
	// The packet contains delegation data.
	CoordinatorPacket_Delegation CoordinatorPacket_PacketType = 0
	// The packet contains undelegation data.
	CoordinatorPacket_Undelegation CoordinatorPacket_PacketType = 1
	// Slash
	CoordinatorPacket_Slash CoordinatorPacket_PacketType = 2
	// Withdraw Reward
	CoordinatorPacket_WithdrawReward CoordinatorPacket_PacketType = 3
)

func (CoordinatorPacket_PacketType) EnumDescriptor

func (CoordinatorPacket_PacketType) EnumDescriptor() ([]byte, []int)

func (CoordinatorPacket_PacketType) String

type DelegationPacket

type DelegationPacket struct {
	// Operator address
	OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	// Address of the validator.
	ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"`
	// Amount of tokens to be delegated
	Balance types.Coin `protobuf:"bytes,3,opt,name=balance,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"balance"`
}

DelegationPacket represents a packet containing delegation information.

func (*DelegationPacket) Descriptor

func (*DelegationPacket) Descriptor() ([]byte, []int)

func (*DelegationPacket) GetBalance

func (m *DelegationPacket) GetBalance() types.Coin

func (*DelegationPacket) GetOperatorAddress

func (m *DelegationPacket) GetOperatorAddress() string

func (*DelegationPacket) GetValidatorAddress

func (m *DelegationPacket) GetValidatorAddress() string

func (*DelegationPacket) Marshal

func (m *DelegationPacket) Marshal() (dAtA []byte, err error)

func (*DelegationPacket) MarshalTo

func (m *DelegationPacket) MarshalTo(dAtA []byte) (int, error)

func (*DelegationPacket) MarshalToSizedBuffer

func (m *DelegationPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DelegationPacket) ProtoMessage

func (*DelegationPacket) ProtoMessage()

func (*DelegationPacket) Reset

func (m *DelegationPacket) Reset()

func (*DelegationPacket) Size

func (m *DelegationPacket) Size() (n int)

func (*DelegationPacket) String

func (m *DelegationPacket) String() string

func (*DelegationPacket) Unmarshal

func (m *DelegationPacket) Unmarshal(dAtA []byte) error

func (*DelegationPacket) XXX_DiscardUnknown

func (m *DelegationPacket) XXX_DiscardUnknown()

func (*DelegationPacket) XXX_Marshal

func (m *DelegationPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DelegationPacket) XXX_Merge

func (m *DelegationPacket) XXX_Merge(src proto.Message)

func (*DelegationPacket) XXX_Size

func (m *DelegationPacket) XXX_Size() int

func (*DelegationPacket) XXX_Unmarshal

func (m *DelegationPacket) XXX_Unmarshal(b []byte) error

type EvidenceKeeper

type EvidenceKeeper interface {
	HandleEquivocationEvidence(ctx sdk.Context, evidence *evidencetypes.Equivocation)
}

type IBCTransferKeeper

type IBCTransferKeeper interface {
	Transfer(
		context.Context,
		*transfertype.MsgTransfer,
	) (*transfertype.MsgTransferResponse, error)
}

type Int

type Int = math.Int

type MTStakingKeeper

type MTStakingKeeper interface {
	MTStakingDelegate(ctx sdk.Context, delegatorAccAddr sdk.AccAddress, validatorAddr sdk.ValAddress, balance sdk.Coin) (math.Int, error)

	Unbond(ctx sdk.Context, delAddr sdk.AccAddress, valAddr sdk.ValAddress, token sdk.Coin) error

	InstantSlash(ctx sdk.Context, valAddr sdk.ValAddress, delegator sdk.AccAddress, slashCoin sdk.Coin) error

	WithdrawReward(ctx sdk.Context, valAddr sdk.ValAddress, stakeDenom string, delegator sdk.AccAddress) (sdk.Coin, error)
}

type PortKeeper

type PortKeeper interface {
	BindPort(ctx sdk.Context, portID string) *capabilitytypes.Capability
}

PortKeeper defines the expected IBC port keeper

type ScopedKeeper

type ScopedKeeper interface {
	GetCapability(ctx sdk.Context, name string) (*capabilitytypes.Capability, bool)
	AuthenticateCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) bool
	ClaimCapability(ctx sdk.Context, cap *capabilitytypes.Capability, name string) error
}

type SlashPacket

type SlashPacket struct {
	// Operator address
	OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	// Address of the validator.
	ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"`
	// Amount of tokens to be slahed.
	Balance types.Coin `protobuf:"bytes,3,opt,name=balance,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"balance"`
}

SlashPacket represents a packet containing slash information

func (*SlashPacket) Descriptor

func (*SlashPacket) Descriptor() ([]byte, []int)

func (*SlashPacket) GetBalance

func (m *SlashPacket) GetBalance() types.Coin

func (*SlashPacket) GetOperatorAddress

func (m *SlashPacket) GetOperatorAddress() string

func (*SlashPacket) GetValidatorAddress

func (m *SlashPacket) GetValidatorAddress() string

func (*SlashPacket) Marshal

func (m *SlashPacket) Marshal() (dAtA []byte, err error)

func (*SlashPacket) MarshalTo

func (m *SlashPacket) MarshalTo(dAtA []byte) (int, error)

func (*SlashPacket) MarshalToSizedBuffer

func (m *SlashPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*SlashPacket) ProtoMessage

func (*SlashPacket) ProtoMessage()

func (*SlashPacket) Reset

func (m *SlashPacket) Reset()

func (*SlashPacket) Size

func (m *SlashPacket) Size() (n int)

func (*SlashPacket) String

func (m *SlashPacket) String() string

func (*SlashPacket) Unmarshal

func (m *SlashPacket) Unmarshal(dAtA []byte) error

func (*SlashPacket) XXX_DiscardUnknown

func (m *SlashPacket) XXX_DiscardUnknown()

func (*SlashPacket) XXX_Marshal

func (m *SlashPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SlashPacket) XXX_Merge

func (m *SlashPacket) XXX_Merge(src proto.Message)

func (*SlashPacket) XXX_Size

func (m *SlashPacket) XXX_Size() int

func (*SlashPacket) XXX_Unmarshal

func (m *SlashPacket) XXX_Unmarshal(b []byte) error

type SlashingKeeper

type SlashingKeeper interface {
	JailUntil(sdk.Context, sdk.ConsAddress, time.Time) // called from provider keeper only
	GetValidatorSigningInfo(ctx sdk.Context, address sdk.ConsAddress) (info slashingtypes.ValidatorSigningInfo, found bool)
	DowntimeJailDuration(sdk.Context) time.Duration
	SlashFractionDowntime(sdk.Context) sdk.Dec
	SlashFractionDoubleSign(ctx sdk.Context) (res sdk.Dec)
	Tombstone(sdk.Context, sdk.ConsAddress)
	IsTombstoned(sdk.Context, sdk.ConsAddress) bool
}

SlashingKeeper defines the contract expected to perform ccv slashing

type StakingKeeper

type StakingKeeper interface {
	GetParams(ctx sdk.Context) stakingtypes.Params
	GetValidatorUpdates(ctx sdk.Context) []abci.ValidatorUpdate
	UnbondingCanComplete(ctx sdk.Context, id uint64) error
	UnbondingTime(ctx sdk.Context) time.Duration
	GetValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress) (validator stakingtypes.Validator, found bool)
	GetLastValidatorPower(ctx sdk.Context, operator sdk.ValAddress) (power int64)
	// slash the validator and delegators of the validator, specifying offence height, offence power, and slash fraction
	Jail(sdk.Context, sdk.ConsAddress) // jail a validator
	Slash(sdk.Context, sdk.ConsAddress, int64, int64, sdk.Dec) math.Int
	Unjail(ctx sdk.Context, addr sdk.ConsAddress)
	GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, found bool)
	IterateLastValidatorPowers(ctx sdk.Context, cb func(addr sdk.ValAddress, power int64) (stop bool))
	PowerReduction(ctx sdk.Context) math.Int
	PutUnbondingOnHold(ctx sdk.Context, id uint64) error
	IterateValidators(ctx sdk.Context, f func(index int64, validator stakingtypes.ValidatorI) (stop bool))
	Validator(ctx sdk.Context, addr sdk.ValAddress) stakingtypes.ValidatorI
	IsValidatorJailed(ctx sdk.Context, addr sdk.ConsAddress) bool
	ValidatorByConsAddr(ctx sdk.Context, consAddr sdk.ConsAddress) stakingtypes.ValidatorI
	Delegation(ctx sdk.Context, addr sdk.AccAddress, valAddr sdk.ValAddress) stakingtypes.DelegationI
	MaxValidators(ctx sdk.Context) uint32
	GetLastTotalPower(ctx sdk.Context) math.Int
	GetLastValidators(ctx sdk.Context) (validators []stakingtypes.Validator)
	BondDenom(ctx sdk.Context) (res string)
}

type TendermintABCIValidatorUpdate

type TendermintABCIValidatorUpdate = abci.ValidatorUpdate

type UndelegationPacket

type UndelegationPacket struct {
	// Operator address
	OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	// Address of the validator.
	ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"`
	// Amount of tokens to be undelegated.
	Balance types.Coin `protobuf:"bytes,3,opt,name=balance,proto3,castrepeated=github.com/cosmos/cosmos-sdk/types.Coin" json:"balance"`
}

UndelegationPacket represents a packet containing undelegation information.

func (*UndelegationPacket) Descriptor

func (*UndelegationPacket) Descriptor() ([]byte, []int)

func (*UndelegationPacket) GetBalance

func (m *UndelegationPacket) GetBalance() types.Coin

func (*UndelegationPacket) GetOperatorAddress

func (m *UndelegationPacket) GetOperatorAddress() string

func (*UndelegationPacket) GetValidatorAddress

func (m *UndelegationPacket) GetValidatorAddress() string

func (*UndelegationPacket) Marshal

func (m *UndelegationPacket) Marshal() (dAtA []byte, err error)

func (*UndelegationPacket) MarshalTo

func (m *UndelegationPacket) MarshalTo(dAtA []byte) (int, error)

func (*UndelegationPacket) MarshalToSizedBuffer

func (m *UndelegationPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*UndelegationPacket) ProtoMessage

func (*UndelegationPacket) ProtoMessage()

func (*UndelegationPacket) Reset

func (m *UndelegationPacket) Reset()

func (*UndelegationPacket) Size

func (m *UndelegationPacket) Size() (n int)

func (*UndelegationPacket) String

func (m *UndelegationPacket) String() string

func (*UndelegationPacket) Unmarshal

func (m *UndelegationPacket) Unmarshal(dAtA []byte) error

func (*UndelegationPacket) XXX_DiscardUnknown

func (m *UndelegationPacket) XXX_DiscardUnknown()

func (*UndelegationPacket) XXX_Marshal

func (m *UndelegationPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*UndelegationPacket) XXX_Merge

func (m *UndelegationPacket) XXX_Merge(src proto.Message)

func (*UndelegationPacket) XXX_Size

func (m *UndelegationPacket) XXX_Size() int

func (*UndelegationPacket) XXX_Unmarshal

func (m *UndelegationPacket) XXX_Unmarshal(b []byte) error

type ValidatorSet

type ValidatorSet = tmtypes.ValidatorSet

type ValidatorSetChange

type ValidatorSetChange struct {
	// type specifies the type of change.
	Type ValidatorSetChange_Type `protobuf:"varint,1,opt,name=type,proto3,enum=restaking_protocol.restaking.v1.ValidatorSetChange_Type" json:"type,omitempty"`
	// addresses of consumer validator
	ValidatorAddresses []string `protobuf:"bytes,2,rep,name=validator_addresses,json=validatorAddresses,proto3" json:"validator_addresses,omitempty"`
}

ValidatorSetChange represents changes of consumer validators.

func (*ValidatorSetChange) Descriptor

func (*ValidatorSetChange) Descriptor() ([]byte, []int)

func (*ValidatorSetChange) GetType

func (*ValidatorSetChange) GetValidatorAddresses

func (m *ValidatorSetChange) GetValidatorAddresses() []string

func (*ValidatorSetChange) Marshal

func (m *ValidatorSetChange) Marshal() (dAtA []byte, err error)

func (*ValidatorSetChange) MarshalTo

func (m *ValidatorSetChange) MarshalTo(dAtA []byte) (int, error)

func (*ValidatorSetChange) MarshalToSizedBuffer

func (m *ValidatorSetChange) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ValidatorSetChange) ProtoMessage

func (*ValidatorSetChange) ProtoMessage()

func (*ValidatorSetChange) Reset

func (m *ValidatorSetChange) Reset()

func (*ValidatorSetChange) Size

func (m *ValidatorSetChange) Size() (n int)

func (*ValidatorSetChange) String

func (m *ValidatorSetChange) String() string

func (*ValidatorSetChange) Unmarshal

func (m *ValidatorSetChange) Unmarshal(dAtA []byte) error

func (*ValidatorSetChange) XXX_DiscardUnknown

func (m *ValidatorSetChange) XXX_DiscardUnknown()

func (*ValidatorSetChange) XXX_Marshal

func (m *ValidatorSetChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ValidatorSetChange) XXX_Merge

func (m *ValidatorSetChange) XXX_Merge(src proto.Message)

func (*ValidatorSetChange) XXX_Size

func (m *ValidatorSetChange) XXX_Size() int

func (*ValidatorSetChange) XXX_Unmarshal

func (m *ValidatorSetChange) XXX_Unmarshal(b []byte) error

type ValidatorSetChange_Type

type ValidatorSetChange_Type int32

Type defines the type of change: Add, Remove, or Update.

const (
	// The validators has been created at consumer.
	ValidatorSetChange_ADD ValidatorSetChange_Type = 0
	// The validators has been removed at consumer.
	ValidatorSetChange_REMOVE ValidatorSetChange_Type = 1
)

func (ValidatorSetChange_Type) EnumDescriptor

func (ValidatorSetChange_Type) EnumDescriptor() ([]byte, []int)

func (ValidatorSetChange_Type) String

func (x ValidatorSetChange_Type) String() string

type ValidatorSetChanges

type ValidatorSetChanges struct {
	// validator_set_changes contains the list of validator set changes.
	ValidatorSetChanges []ValidatorSetChange `protobuf:"bytes,1,rep,name=validator_set_changes,json=validatorSetChanges,proto3" json:"validator_set_changes"`
}

ValidatorSetChanges represents a collection of validator set changes.

func (*ValidatorSetChanges) Descriptor

func (*ValidatorSetChanges) Descriptor() ([]byte, []int)

func (*ValidatorSetChanges) GetValidatorSetChanges

func (m *ValidatorSetChanges) GetValidatorSetChanges() []ValidatorSetChange

func (*ValidatorSetChanges) Marshal

func (m *ValidatorSetChanges) Marshal() (dAtA []byte, err error)

func (*ValidatorSetChanges) MarshalTo

func (m *ValidatorSetChanges) MarshalTo(dAtA []byte) (int, error)

func (*ValidatorSetChanges) MarshalToSizedBuffer

func (m *ValidatorSetChanges) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ValidatorSetChanges) ProtoMessage

func (*ValidatorSetChanges) ProtoMessage()

func (*ValidatorSetChanges) Reset

func (m *ValidatorSetChanges) Reset()

func (*ValidatorSetChanges) Size

func (m *ValidatorSetChanges) Size() (n int)

func (*ValidatorSetChanges) String

func (m *ValidatorSetChanges) String() string

func (*ValidatorSetChanges) Unmarshal

func (m *ValidatorSetChanges) Unmarshal(dAtA []byte) error

func (*ValidatorSetChanges) XXX_DiscardUnknown

func (m *ValidatorSetChanges) XXX_DiscardUnknown()

func (*ValidatorSetChanges) XXX_Marshal

func (m *ValidatorSetChanges) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ValidatorSetChanges) XXX_Merge

func (m *ValidatorSetChanges) XXX_Merge(src proto.Message)

func (*ValidatorSetChanges) XXX_Size

func (m *ValidatorSetChanges) XXX_Size() int

func (*ValidatorSetChanges) XXX_Unmarshal

func (m *ValidatorSetChanges) XXX_Unmarshal(b []byte) error

type WithdrawRewardPacket

type WithdrawRewardPacket struct {
	// Operator address
	OperatorAddress string `protobuf:"bytes,1,opt,name=operator_address,json=operatorAddress,proto3" json:"operator_address,omitempty"`
	// Address of the validator.
	ValidatorAddress string `protobuf:"bytes,2,opt,name=validator_address,json=validatorAddress,proto3" json:"validator_address,omitempty"`
	Denom            string `protobuf:"bytes,3,opt,name=denom,proto3" json:"denom,omitempty"`
	TransferChanel   string `protobuf:"bytes,4,opt,name=transfer_chanel,json=transferChanel,proto3" json:"transfer_chanel,omitempty"`
}

WithdrawRewardPacket represents a request to withdraw restaking reward.

func (*WithdrawRewardPacket) Descriptor

func (*WithdrawRewardPacket) Descriptor() ([]byte, []int)

func (*WithdrawRewardPacket) GetDenom

func (m *WithdrawRewardPacket) GetDenom() string

func (*WithdrawRewardPacket) GetOperatorAddress

func (m *WithdrawRewardPacket) GetOperatorAddress() string

func (*WithdrawRewardPacket) GetTransferChanel

func (m *WithdrawRewardPacket) GetTransferChanel() string

func (*WithdrawRewardPacket) GetValidatorAddress

func (m *WithdrawRewardPacket) GetValidatorAddress() string

func (*WithdrawRewardPacket) Marshal

func (m *WithdrawRewardPacket) Marshal() (dAtA []byte, err error)

func (*WithdrawRewardPacket) MarshalTo

func (m *WithdrawRewardPacket) MarshalTo(dAtA []byte) (int, error)

func (*WithdrawRewardPacket) MarshalToSizedBuffer

func (m *WithdrawRewardPacket) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*WithdrawRewardPacket) ProtoMessage

func (*WithdrawRewardPacket) ProtoMessage()

func (*WithdrawRewardPacket) Reset

func (m *WithdrawRewardPacket) Reset()

func (*WithdrawRewardPacket) Size

func (m *WithdrawRewardPacket) Size() (n int)

func (*WithdrawRewardPacket) String

func (m *WithdrawRewardPacket) String() string

func (*WithdrawRewardPacket) Unmarshal

func (m *WithdrawRewardPacket) Unmarshal(dAtA []byte) error

func (*WithdrawRewardPacket) XXX_DiscardUnknown

func (m *WithdrawRewardPacket) XXX_DiscardUnknown()

func (*WithdrawRewardPacket) XXX_Marshal

func (m *WithdrawRewardPacket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*WithdrawRewardPacket) XXX_Merge

func (m *WithdrawRewardPacket) XXX_Merge(src proto.Message)

func (*WithdrawRewardPacket) XXX_Size

func (m *WithdrawRewardPacket) XXX_Size() int

func (*WithdrawRewardPacket) XXX_Unmarshal

func (m *WithdrawRewardPacket) XXX_Unmarshal(b []byte) error

Jump to

Keyboard shortcuts

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