keeper

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Keeper

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

Keeper of this module maintains collections of erc721.

func NewKeeper

NewKeeper creates new instances of the erc721 Keeper

func (Keeper) CallEVM

func (k Keeper) CallEVM(
	ctx sdk.Context,
	abi abi.ABI,
	from, contract common.Address,
	commit bool,
	method string,
	args ...interface{},
) (*evmtypes.MsgEthereumTxResponse, error)

CallEVM performs a smart contract method call using given args

func (Keeper) CallEVMWithData

func (k Keeper) CallEVMWithData(
	ctx sdk.Context,
	from common.Address,
	contract *common.Address,
	data []byte,
	commit bool,
) (*evmtypes.MsgEthereumTxResponse, error)

CallEVMWithData performs a smart contract method call using contract data

func (Keeper) ConvertERC721

func (k Keeper) ConvertERC721(
	goCtx context.Context,
	msg *types.MsgConvertERC721,
) (
	*types.MsgConvertERC721Response, error,
)

ConvertERC721 converts ERC721 tokens into native Cosmos nft for both Cosmos-native and ERC721 TokenPair Owners

func (Keeper) ConvertNFT

func (k Keeper) ConvertNFT(
	goCtx context.Context,
	msg *types.MsgConvertNFT,
) (
	*types.MsgConvertNFTResponse, error,
)

ConvertNFT ConvertCoin converts native Cosmos nft into ERC721 tokens for both Cosmos-native and ERC721 TokenPair Owners

func (Keeper) CreateNFTClass

func (k Keeper) CreateNFTClass(ctx sdk.Context, msg *types.MsgConvertERC721) error

CreateNFTClass generates the metadata to represent the ERC721 token .

func (Keeper) DeleteClassMap added in v0.4.0

func (k Keeper) DeleteClassMap(ctx sdk.Context, classID string)

DeleteClassMap deletes the token pair id for the given class.

func (Keeper) DeleteERC721Map

func (k Keeper) DeleteERC721Map(ctx sdk.Context, erc721 common.Address)

DeleteERC721Map deletes the token pair id for the given address

func (Keeper) DeleteEvmAddressByContractTokenId added in v0.2.16

func (k Keeper) DeleteEvmAddressByContractTokenId(ctx sdk.Context, evmContractAddress string, evmTokenId string)

func (Keeper) DeleteNFTPairByNFTID

func (k Keeper) DeleteNFTPairByNFTID(ctx sdk.Context, classID string, nftID string)

func (Keeper) DeleteNFTPairByTokenID

func (k Keeper) DeleteNFTPairByTokenID(ctx sdk.Context, contractAddress string, tokenID string)

func (Keeper) DeleteNFTUIDPairByNFTUID added in v0.2.5

func (k Keeper) DeleteNFTUIDPairByNFTUID(ctx sdk.Context, nftUID string)

func (Keeper) DeleteNFTUIDPairByTokenUID added in v0.2.5

func (k Keeper) DeleteNFTUIDPairByTokenUID(ctx sdk.Context, tokenUID string)

func (Keeper) DeleteTokenPair

func (k Keeper) DeleteTokenPair(ctx sdk.Context, tokenPair types.TokenPair)

DeleteTokenPair removes a token pair.

func (Keeper) DeployERC721Contract

func (k Keeper) DeployERC721Contract(
	ctx sdk.Context,
	msg *types.MsgConvertNFT,
) (common.Address, error)

DeployERC721Contract creates and deploys an ERC721 contract on the EVM with the erc20 module account as owner.

func (Keeper) EvmContract added in v0.2.16

EvmContract returns a given registered token pair

func (Keeper) GetClassIDAndNFTID added in v0.2.5

func (k Keeper) GetClassIDAndNFTID(ctx sdk.Context, msg *types.MsgConvertERC721) (string, []string, error)

GetClassIDAndNFTID sets the erc721 parameters to the param space.

func (Keeper) GetClassMap

func (k Keeper) GetClassMap(ctx sdk.Context, classID string) []byte

GetClassMap returns the token pair id for the given class

func (Keeper) GetContractAddressAndTokenIds added in v0.2.8

func (k Keeper) GetContractAddressAndTokenIds(ctx sdk.Context, msg *types.MsgConvertNFT) (string, []string, error)

GetContractAddressAndTokenIds sets the erc721 parameters to the param space.

func (Keeper) GetERC721Map

func (k Keeper) GetERC721Map(ctx sdk.Context, erc721 common.Address) []byte

GetERC721Map returns the token pair id for the given address

func (Keeper) GetEnableErc721 added in v0.4.0

func (k Keeper) GetEnableErc721(ctx sdk.Context) bool

GetEnableErc721 returns whether ERC721 conversion is enabled.

func (Keeper) GetEvmAddressByContractTokenId added in v0.2.16

func (k Keeper) GetEvmAddressByContractTokenId(ctx sdk.Context, evmContractAddress string, evmTokenId string) []byte

func (Keeper) GetEvmRefundReceiver added in v0.4.0

func (k Keeper) GetEvmRefundReceiver(ctx sdk.Context, evmContractAddress, cosmosTokenId, evmTokenId string) []byte

GetEvmRefundReceiver looks up the original ERC721 owner recorded at IBC send.

func (Keeper) GetNFTPairByClassNFTID added in v0.2.8

func (k Keeper) GetNFTPairByClassNFTID(ctx sdk.Context, classID string, nftID string) []byte

func (Keeper) GetNFTPairByContractTokenID added in v0.2.8

func (k Keeper) GetNFTPairByContractTokenID(ctx sdk.Context, contractAddress string, tokenID string) []byte

func (Keeper) GetNFTUIDPairByTokenUID added in v0.2.5

func (k Keeper) GetNFTUIDPairByTokenUID(ctx sdk.Context, tokenUID string) []byte

func (Keeper) GetPair added in v0.2.5

func (k Keeper) GetPair(
	ctx sdk.Context,
	token string,
) (types.TokenPair, error)

GetPair checks that:

  • the global parameter for erc721 conversion is enabled
  • minting is enabled for the given (erc721,nft) token pair

func (Keeper) GetParams

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

GetParams returns the total set of erc721 parameters.

func (Keeper) GetTokenPair

func (k Keeper) GetTokenPair(ctx sdk.Context, id []byte) (types.TokenPair, bool)

GetTokenPair - get registered token pair from the identifier

func (Keeper) GetTokenPairID

func (k Keeper) GetTokenPairID(ctx sdk.Context, token string) []byte

GetTokenPairID returns the pair id from either of the registered tokens.

func (Keeper) GetTokenPairs

func (k Keeper) GetTokenPairs(ctx sdk.Context) []types.TokenPair

GetTokenPairs - get all registered token tokenPairs

func (Keeper) GetTokenUIDPairByNFTUID added in v0.2.5

func (k Keeper) GetTokenUIDPairByNFTUID(ctx sdk.Context, nftUID string) []byte

func (*Keeper) GetVoucherClassID added in v0.2.16

func (k *Keeper) GetVoucherClassID(port string, channel string, classId string) string

func (Keeper) IsClassRegistered

func (k Keeper) IsClassRegistered(ctx sdk.Context, classID string) bool

IsClassRegistered check if registered nft class is registered

func (Keeper) IsERC721Registered

func (k Keeper) IsERC721Registered(ctx sdk.Context, erc721 common.Address) bool

IsERC721Registered check if registered ERC721 token is registered

func (Keeper) IsTokenPairRegistered

func (k Keeper) IsTokenPairRegistered(ctx sdk.Context, id []byte) bool

IsTokenPairRegistered - check if registered token tokenPair is registered

func (Keeper) Logger

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

Logger returns a module-specific logger.

func (Keeper) Params

Params returns the params of the erc20 module

func (Keeper) QueryClassEnhance added in v0.2.5

func (k Keeper) QueryClassEnhance(
	ctx sdk.Context,
	contract common.Address,
) (types.ClassEnhance, error)

QueryClassEnhance returns the data of a deployed ERC721 contract

func (Keeper) QueryERC721

func (k Keeper) QueryERC721(
	ctx sdk.Context,
	contract common.Address,
) (types.ERC721Data, error)

QueryERC721 returns the data of a deployed ERC721 contract

func (Keeper) QueryERC721DataByTokenID added in v0.2.16

func (k Keeper) QueryERC721DataByTokenID(
	queryFuncName string,
	ctx sdk.Context,
	contract common.Address,
	tokenID *big.Int) ([]interface{}, error)

func (Keeper) QueryERC721Token

func (k Keeper) QueryERC721Token(
	ctx sdk.Context,
	contract common.Address,
) (types.ERC721TokenData, error)

QueryERC721Token returns the data of a ERC721 token

func (Keeper) QueryERC721TokenOwner

func (k Keeper) QueryERC721TokenOwner(
	ctx sdk.Context,
	contract common.Address,
	tokenID *big.Int,
) (common.Address, error)

QueryERC721TokenOwner returns the owner of given tokenID

func (Keeper) QueryNFTEnhance added in v0.2.5

func (k Keeper) QueryNFTEnhance(
	ctx sdk.Context,
	contract common.Address,
	tokenID *big.Int,
) (types.NFTEnhance, error)

QueryNFTEnhance returns the data of a deployed ERC721 contract

func (Keeper) RefundPacketToken added in v0.2.16

func (k Keeper) RefundPacketToken(
	ctx sdk.Context,
	data ibcnfttransfertypes.NonFungibleTokenPacketData,
) error

RefundPacketToken handles the erc721 conversion for a native erc721 token pair:

  • escrow tokens on module account
  • mint nft to the receiver: nftId: tokenAddress|tokenID

func (Keeper) RegisterERC721

func (k Keeper) RegisterERC721(ctx sdk.Context, msg *types.MsgConvertERC721) (*types.TokenPair, error)

RegisterERC721 creates a Cosmos coin and registers the token pair between the nft and the ERC721

func (Keeper) RegisterNFT

func (k Keeper) RegisterNFT(ctx sdk.Context, msg *types.MsgConvertNFT) (*types.TokenPair, error)

RegisterNFT deploys an erc721 contract and creates the token pair for the existing cosmos coin

func (Keeper) SetClassMap

func (k Keeper) SetClassMap(ctx sdk.Context, classID string, id []byte)

SetClassMap sets the token pair id for the classID

func (Keeper) SetERC721Map

func (k Keeper) SetERC721Map(ctx sdk.Context, erc721 common.Address, id []byte)

SetERC721Map sets the token pair id for the given address

func (Keeper) SetEvmAddressByContractTokenId added in v0.2.16

func (k Keeper) SetEvmAddressByContractTokenId(ctx sdk.Context, evmContractAddress string, evmTokenId string, evmAddress string)

SetEvmAddressByContractTokenId

func (Keeper) SetEvmRefundReceiver added in v0.4.0

func (k Keeper) SetEvmRefundReceiver(ctx sdk.Context, evmContractAddress string, cosmosTokenIds, evmTokenIds []string, evmAddress string)

SetEvmRefundReceiver records the original ERC721 owner for IBC timeout/error refunds. Keys use a lowercased contract address plus both cosmos and EVM token ids so lookup matches packet TokenIds and the NFT-UID mapping.

func (*Keeper) SetICS4Wrapper

func (k *Keeper) SetICS4Wrapper(ics4Wrapper porttypes.ICS4Wrapper) error

SetICS4Wrapper sets the ICS4 wrapper to the keeper. It returns an error if the wrapper has already been set.

func (Keeper) SetNFTPairByClassNFTID added in v0.2.8

func (k Keeper) SetNFTPairByClassNFTID(ctx sdk.Context, classID string, nftID string, contractAddress string, tokenID string)

func (Keeper) SetNFTPairByContractTokenID added in v0.2.8

func (k Keeper) SetNFTPairByContractTokenID(ctx sdk.Context, contractAddress string, tokenID string, classID string, nftID string)

func (Keeper) SetNFTPairs added in v0.2.5

func (k Keeper) SetNFTPairs(ctx sdk.Context, contractAddress string, tokenID string, classID string, nftID string)

func (Keeper) SetNFTUIDPairByNFTUID added in v0.2.5

func (k Keeper) SetNFTUIDPairByNFTUID(ctx sdk.Context, nftUID string, tokenUID string)

func (Keeper) SetNFTUIDPairByTokenUID added in v0.2.5

func (k Keeper) SetNFTUIDPairByTokenUID(ctx sdk.Context, tokenUID string, nftUID string)

func (Keeper) SetParams

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

SetParams sets the erc721 parameters to the store.

func (Keeper) SetTokenPair

func (k Keeper) SetTokenPair(ctx sdk.Context, tokenPair types.TokenPair)

SetTokenPair stores a token pair

func (Keeper) ToggleConversion

func (k Keeper) ToggleConversion(ctx sdk.Context, token string) (types.TokenPair, error)

ToggleConversion toggles conversion for a given token pair

func (Keeper) TokenPair

TokenPair returns a given registered token pair

func (Keeper) TokenPairs

TokenPairs returns all registered pairs

func (Keeper) TransferERC721 added in v0.2.16

func (k Keeper) TransferERC721(
	goCtx context.Context,
	msg *types.MsgTransferERC721,
) (
	*types.MsgTransferERC721Response, error,
)

TransferERC721 converts ERC721 tokens into native Cosmos nft for both Cosmos-native and ERC721 TokenPair Owners and transfer through IBC

func (Keeper) UpdateParams added in v0.4.0

UpdateParams updates erc721 params. Authority must be the gov module account.

type Migrator

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

Migrator is a struct for handling in-place store migrations.

func NewMigrator

func NewMigrator(keeper Keeper) Migrator

NewMigrator returns a new Migrator.

Jump to

Keyboard shortcuts

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