Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions modules/light-clients/08-wasm/keeper/genesis.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package keeper
import (
sdk "github.com/cosmos/cosmos-sdk/types"

"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/internal/ibcwasm"
"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"
)

Expand All @@ -20,7 +21,7 @@ func (k Keeper) InitGenesis(ctx sdk.Context, gs types.GenesisState) error {

// ExportGenesis returns the 08-wasm module's exported genesis. This includes the code
// for all contracts previously stored.
func (k Keeper) ExportGenesis(ctx sdk.Context) types.GenesisState {
func (Keeper) ExportGenesis(ctx sdk.Context) types.GenesisState {
checksums, err := types.GetAllChecksums(ctx)
if err != nil {
panic(err)
Expand All @@ -29,7 +30,7 @@ func (k Keeper) ExportGenesis(ctx sdk.Context) types.GenesisState {
// Grab code from wasmVM and add to genesis state.
var genesisState types.GenesisState
for _, checksum := range checksums {
code, err := k.wasmVM.GetCode(checksum)
code, err := ibcwasm.GetVM().GetCode(checksum)
if err != nil {
panic(err)
}
Expand Down
4 changes: 2 additions & 2 deletions modules/light-clients/08-wasm/keeper/grpc_query.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import (
var _ types.QueryServer = (*Keeper)(nil)

// Code implements the Query/Code gRPC method
func (k Keeper) Code(goCtx context.Context, req *types.QueryCodeRequest) (*types.QueryCodeResponse, error) {
func (Keeper) Code(goCtx context.Context, req *types.QueryCodeRequest) (*types.QueryCodeResponse, error) {
if req == nil {
return nil, status.Error(codes.InvalidArgument, "empty request")
}
Expand All @@ -35,7 +35,7 @@ func (k Keeper) Code(goCtx context.Context, req *types.QueryCodeRequest) (*types
return nil, status.Error(codes.NotFound, errorsmod.Wrap(types.ErrWasmChecksumNotFound, req.Checksum).Error())
}

code, err := k.wasmVM.GetCode(checksum)
code, err := ibcwasm.GetVM().GetCode(checksum)
if err != nil {
return nil, status.Error(codes.NotFound, errorsmod.Wrap(types.ErrWasmChecksumNotFound, req.Checksum).Error())
}
Expand Down
10 changes: 4 additions & 6 deletions modules/light-clients/08-wasm/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@ type Keeper struct {
// implements gRPC QueryServer interface
types.QueryServer

cdc codec.BinaryCodec
wasmVM ibcwasm.WasmEngine
cdc codec.BinaryCodec

clientKeeper types.ClientKeeper

Expand Down Expand Up @@ -64,7 +63,6 @@ func NewKeeperWithVM(

return Keeper{
cdc: cdc,
wasmVM: vm,
clientKeeper: clientKeeper,
authority: authority,
}
Expand Down Expand Up @@ -93,7 +91,7 @@ func (k Keeper) GetAuthority() string {
return k.authority
}

func (k Keeper) storeWasmCode(ctx sdk.Context, code []byte) ([]byte, error) {
func (Keeper) storeWasmCode(ctx sdk.Context, code []byte) ([]byte, error) {
var err error
if types.IsGzip(code) {
ctx.GasMeter().ConsumeGas(types.VMGasRegister.UncompressCosts(len(code)), "Uncompress gzip bytecode")
Expand All @@ -120,7 +118,7 @@ func (k Keeper) storeWasmCode(ctx sdk.Context, code []byte) ([]byte, error) {

// create the code in the vm
ctx.GasMeter().ConsumeGas(types.VMGasRegister.CompileCosts(len(code)), "Compiling wasm bytecode")
vmChecksum, err := k.wasmVM.StoreCode(code)
vmChecksum, err := ibcwasm.GetVM().StoreCode(code)
if err != nil {
return nil, errorsmod.Wrap(err, "failed to store contract")
}
Expand All @@ -131,7 +129,7 @@ func (k Keeper) storeWasmCode(ctx sdk.Context, code []byte) ([]byte, error) {
}

// pin the code to the vm in-memory cache
if err := k.wasmVM.Pin(vmChecksum); err != nil {
if err := ibcwasm.GetVM().Pin(vmChecksum); err != nil {
return nil, errorsmod.Wrapf(err, "failed to pin contract with checksum (%s) to vm cache", hex.EncodeToString(vmChecksum))
}

Expand Down
2 changes: 1 addition & 1 deletion modules/light-clients/08-wasm/keeper/msg_server.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ func (k Keeper) RemoveChecksum(goCtx context.Context, msg *types.MsgRemoveChecks
}

// unpin the code from the vm in-memory cache
if err := k.wasmVM.Unpin(msg.Checksum); err != nil {
if err := ibcwasm.GetVM().Unpin(msg.Checksum); err != nil {
return nil, errorsmod.Wrapf(err, "failed to unpin contract with checksum (%s) from vm cache", hex.EncodeToString(msg.Checksum))
}

Expand Down
7 changes: 4 additions & 3 deletions modules/light-clients/08-wasm/keeper/snapshotter.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (

tmproto "github.com/cometbft/cometbft/proto/tendermint/types"

"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/internal/ibcwasm"
"github.com/cosmos/ibc-go/modules/light-clients/08-wasm/types"
)

Expand Down Expand Up @@ -72,7 +73,7 @@ func (ws *WasmSnapshotter) SnapshotExtension(height uint64, payloadWriter snapsh
}

for _, checksum := range checksums {
wasmCode, err := ws.keeper.wasmVM.GetCode(checksum)
wasmCode, err := ibcwasm.GetVM().GetCode(checksum)
if err != nil {
return err
}
Expand Down Expand Up @@ -111,12 +112,12 @@ func restoreV1(ctx sdk.Context, k *Keeper, compressedCode []byte) error {
return errorsmod.Wrap(err, "failed to uncompress wasm code")
}

checksum, err := k.wasmVM.StoreCode(wasmCode)
checksum, err := ibcwasm.GetVM().StoreCode(wasmCode)
if err != nil {
return errorsmod.Wrap(err, "failed to store wasm code")
}

if err := k.wasmVM.Pin(checksum); err != nil {
if err := ibcwasm.GetVM().Pin(checksum); err != nil {
return errorsmod.Wrapf(err, "failed to pin checksum: %s to in-memory cache", hex.EncodeToString(checksum))
}

Expand Down