keeper

package
v16.0.0 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2023 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Index

Constants

View Source
const IBCCallbacksID_LSMTransfer = "lsm-transfer"
View Source
const IBCCallbacksID_NativeTransfer = "transfer"

Variables

View Source
var (
	// Timeout for the IBC transfer of the LSM Token to the host zone
	LSMDepositTransferTimeout = time.Hour * 24 // 1 day
)

Functions

func GetDepositRecordIDBytes

func GetDepositRecordIDBytes(id uint64) []byte

GetDepositRecordIDBytes returns the byte representation of the ID

func GetEpochUnbondingRecordIDBytes

func GetEpochUnbondingRecordIDBytes(id uint64) []byte

GetEpochUnbondingRecordIDBytes returns the byte representation of the ID

func GetEpochUnbondingRecordIDFromBytes

func GetEpochUnbondingRecordIDFromBytes(bz []byte) uint64

GetEpochUnbondingRecordIDFromBytes returns ID in uint64 format from a byte array

Types

type Keeper

type Keeper struct {
	// *cosmosibckeeper.Keeper
	Cdc codec.BinaryCodec

	AccountKeeper      types.AccountKeeper
	TransferKeeper     ibctransferkeeper.Keeper
	IBCKeeper          ibckeeper.Keeper
	ICACallbacksKeeper icacallbackskeeper.Keeper
	// contains filtered or unexported fields
}

func NewKeeper

func NewKeeper(
	Cdc codec.BinaryCodec,
	storeKey,
	memKey storetypes.StoreKey,
	ps paramtypes.Subspace,
	AccountKeeper types.AccountKeeper,
	TransferKeeper ibctransferkeeper.Keeper,
	ibcKeeper ibckeeper.Keeper,
	ICACallbacksKeeper icacallbackskeeper.Keeper,
) *Keeper

func (Keeper) AddHostZoneToEpochUnbondingRecord

func (k Keeper) AddHostZoneToEpochUnbondingRecord(ctx sdk.Context, epochNumber uint64, chainId string, hzu *types.HostZoneUnbonding) (val *types.EpochUnbondingRecord, success bool)

Adds a HostZoneUnbonding to an EpochUnbondingRecord

func (Keeper) AppendDepositRecord

func (k Keeper) AppendDepositRecord(
	ctx sdk.Context,
	depositRecord types.DepositRecord,
) uint64

AppendDepositRecord appends a depositRecord in the store with a new id and update the count

func (Keeper) Callbacks

func (Keeper) GetAllDepositRecord

func (k Keeper) GetAllDepositRecord(ctx sdk.Context) (list []types.DepositRecord)

GetAllDepositRecord returns all depositRecord

func (Keeper) GetAllEpochUnbondingRecord

func (k Keeper) GetAllEpochUnbondingRecord(ctx sdk.Context) (list []types.EpochUnbondingRecord)

GetAllEpochUnbondingRecord returns all epochUnbondingRecord

func (Keeper) GetAllLSMTokenDeposit

func (k Keeper) GetAllLSMTokenDeposit(ctx sdk.Context) []types.LSMTokenDeposit

func (Keeper) GetAllPreviousEpochUnbondingRecords

func (k Keeper) GetAllPreviousEpochUnbondingRecords(ctx sdk.Context, epochNumber uint64) (list []types.EpochUnbondingRecord)

GetAllPreviousEpochUnbondingRecords returns all epochUnbondingRecords prior to a given epoch

func (Keeper) GetAllUserRedemptionRecord

func (k Keeper) GetAllUserRedemptionRecord(ctx sdk.Context) (list []types.UserRedemptionRecord)

GetAllUserRedemptionRecord returns all userRedemptionRecord

func (Keeper) GetDepositRecord

func (k Keeper) GetDepositRecord(ctx sdk.Context, id uint64) (val types.DepositRecord, found bool)

GetDepositRecord returns a depositRecord from its id

func (Keeper) GetDepositRecordCount

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

GetDepositRecordCount get the total number of depositRecord

func (Keeper) GetEpochUnbondingRecord

func (k Keeper) GetEpochUnbondingRecord(ctx sdk.Context, epochNumber uint64) (val types.EpochUnbondingRecord, found bool)

GetEpochUnbondingRecord returns a epochUnbondingRecord from its id

func (Keeper) GetHostZoneUnbondingByChainId

func (k Keeper) GetHostZoneUnbondingByChainId(ctx sdk.Context, epochNumber uint64, chainId string) (val *types.HostZoneUnbonding, found bool)

GetEpochUnbondingRecordByEpoch returns a epochUnbondingRecord from its epochNumber

func (Keeper) GetLSMDepositsForHostZone

func (k Keeper) GetLSMDepositsForHostZone(ctx sdk.Context, chainId string) []types.LSMTokenDeposit

func (Keeper) GetLSMDepositsForHostZoneWithStatus

func (k Keeper) GetLSMDepositsForHostZoneWithStatus(ctx sdk.Context, chainId string, status types.LSMTokenDeposit_Status) []types.LSMTokenDeposit

func (Keeper) GetLSMTokenDeposit

func (k Keeper) GetLSMTokenDeposit(ctx sdk.Context, chainId, denom string) (deposit types.LSMTokenDeposit, found bool)

func (Keeper) GetParams

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

GetParams get all parameters as types.Params

func (Keeper) GetTransferDepositRecordByEpochAndChain

func (k Keeper) GetTransferDepositRecordByEpochAndChain(ctx sdk.Context, epochNumber uint64, chainId string) (val *types.DepositRecord, found bool)

func (Keeper) GetUserRedemptionRecord

func (k Keeper) GetUserRedemptionRecord(ctx sdk.Context, id string) (val types.UserRedemptionRecord, found bool)

GetUserRedemptionRecord returns a userRedemptionRecord from its id

func (Keeper) IBCTransferLSMToken

func (k Keeper) IBCTransferLSMToken(
	ctx sdk.Context,
	lsmTokenDeposit types.LSMTokenDeposit,
	transferChannelID string,
	hostZoneDepositAddress string,
	hostZoneDelegationICAAddress string,
) error

Transfer's LSM Tokens to the host from LSMLiquidStakes This is invoked immediately after the LSMLiquidStake

func (Keeper) IBCTransferNativeTokens

func (k Keeper) IBCTransferNativeTokens(ctx sdk.Context, msg *transfertypes.MsgTransfer, depositRecord types.DepositRecord) error

Transfers native tokens, accumulated from normal liquid stakes, to the host zone This is invoked epochly

func (Keeper) IterateUserRedemptionRecords

func (k Keeper) IterateUserRedemptionRecords(ctx sdk.Context,
	fn func(index int64, userRedemptionRecord types.UserRedemptionRecord) (stop bool),
)

IterateUserRedemptionRecords iterates zones

func (Keeper) LSMTransferCallback

func (k Keeper) LSMTransferCallback(ctx sdk.Context, packet channeltypes.Packet, ackResponse *icacallbackstypes.AcknowledgementResponse, args []byte) error

Callback after an LSM token is IBC tranferred to the host zone

If successful: mark the LSM Token status as DETOKENIZATION_QUEUE
If failure: mark the LSM Token status as FAILED
If timeout: revert the LSM Token status back to TRANSFER_QUEUE so it gets resubmitted

func (Keeper) Logger

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

func (Keeper) MarshalTransferCallbackArgs

func (k Keeper) MarshalTransferCallbackArgs(ctx sdk.Context, delegateCallback types.TransferCallback) ([]byte, error)

func (Keeper) OnAcknowledgementPacket

func (k Keeper) OnAcknowledgementPacket(ctx sdk.Context, packet channeltypes.Packet, acknowledgement []byte) error

OnAcknowledgementPacket unmarshals the acknowledgement object to determine if the ack was successful and then passes that to the ICACallback If this packet does not have associated callback data, there will be no additional ack logic in CallRegisteredICACallback

func (Keeper) OnTimeoutPacket

func (k Keeper) OnTimeoutPacket(ctx sdk.Context, packet channeltypes.Packet) error

OnTimeoutPacket passes the ack timeout to the ICACallback If there was no callback data associated with this packet, there will be no additional ack logic in CallRegisteredICACallback

func (Keeper) Params

func (Keeper) RemoveDepositRecord

func (k Keeper) RemoveDepositRecord(ctx sdk.Context, id uint64)

RemoveDepositRecord removes a depositRecord from the store

func (Keeper) RemoveEpochUnbondingRecord

func (k Keeper) RemoveEpochUnbondingRecord(ctx sdk.Context, epochNumber uint64)

RemoveEpochUnbondingRecord removes a epochUnbondingRecord from the store

func (Keeper) RemoveLSMTokenDeposit

func (k Keeper) RemoveLSMTokenDeposit(ctx sdk.Context, chainId, denom string)

func (Keeper) RemoveUserRedemptionRecord

func (k Keeper) RemoveUserRedemptionRecord(ctx sdk.Context, id string)

RemoveUserRedemptionRecord removes a userRedemptionRecord from the store

func (Keeper) SetDepositRecord

func (k Keeper) SetDepositRecord(ctx sdk.Context, depositRecord types.DepositRecord)

SetDepositRecord set a specific depositRecord in the store

func (Keeper) SetDepositRecordCount

func (k Keeper) SetDepositRecordCount(ctx sdk.Context, count uint64)

SetDepositRecordCount set the total number of depositRecord

func (Keeper) SetEpochUnbondingRecord

func (k Keeper) SetEpochUnbondingRecord(ctx sdk.Context, epochUnbondingRecord types.EpochUnbondingRecord)

SetEpochUnbondingRecord set a specific epochUnbondingRecord in the store

func (Keeper) SetHostZoneUnbondings

func (k Keeper) SetHostZoneUnbondings(ctx sdk.Context, chainId string, epochUnbondingRecordIds []uint64, status types.HostZoneUnbonding_Status) error

Updates the status for a given host zone across relevant epoch unbonding record IDs

func (Keeper) SetLSMTokenDeposit

func (k Keeper) SetLSMTokenDeposit(ctx sdk.Context, deposit types.LSMTokenDeposit)

func (Keeper) SetParams

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

SetParams set the params

func (Keeper) SetUserRedemptionRecord

func (k Keeper) SetUserRedemptionRecord(ctx sdk.Context, userRedemptionRecord types.UserRedemptionRecord)

SetUserRedemptionRecord set a specific userRedemptionRecord in the store

func (Keeper) TransferCallback

func (k Keeper) TransferCallback(ctx sdk.Context, packet channeltypes.Packet, ackResponse *icacallbackstypes.AcknowledgementResponse, args []byte) error

func (Keeper) UnmarshalTransferCallbackArgs

func (k Keeper) UnmarshalTransferCallbackArgs(ctx sdk.Context, delegateCallback []byte) (*types.TransferCallback, error)

func (Keeper) UpdateLSMTokenDepositStatus

func (k Keeper) UpdateLSMTokenDepositStatus(ctx sdk.Context, deposit types.LSMTokenDeposit, status types.LSMTokenDeposit_Status)

Jump to

Keyboard shortcuts

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