diff --git a/wormhole_chain/x/tokenbridge/keeper/msg_server_execute_governance_vaa.go b/wormhole_chain/x/tokenbridge/keeper/msg_server_execute_governance_vaa.go index d46aec3a7..6026bf878 100644 --- a/wormhole_chain/x/tokenbridge/keeper/msg_server_execute_governance_vaa.go +++ b/wormhole_chain/x/tokenbridge/keeper/msg_server_execute_governance_vaa.go @@ -84,6 +84,10 @@ func (k msgServer) ExecuteGovernanceVAA(goCtx context.Context, msg *types.MsgExe chainId := binary.BigEndian.Uint16(payload[:2]) bridgeEmitter := payload[2:34] + if chainId == uint16(wormholeConfig.ChainId) { + return nil, types.ErrRegisterWormholeChain + } + if _, found := k.GetChainRegistration(ctx, uint32(chainId)); found { return nil, types.ErrChainAlreadyRegistered } diff --git a/wormhole_chain/x/tokenbridge/types/errors.go b/wormhole_chain/x/tokenbridge/types/errors.go index bdda73b5b..3ba21f4ae 100644 --- a/wormhole_chain/x/tokenbridge/types/errors.go +++ b/wormhole_chain/x/tokenbridge/types/errors.go @@ -38,4 +38,5 @@ var ( ErrAmountTooHigh = sdkerrors.Register(ModuleName, 1133, "the amount would exceed the bridges capacity of u64") ErrAssetMetaRollback = sdkerrors.Register(ModuleName, 1134, "asset meta must have a higher sequence than the last update") ErrNegativeFee = sdkerrors.Register(ModuleName, 1135, "fee cannot be negative") + ErrRegisterWormholeChain = sdkerrors.Register(ModuleName, 1136, "cannot register an emitter for wormhole-chain on wormhole-chain") )