Skip to content

Commit

Permalink
feat(rollapp): verify genesis checksum is same in hub and rollapp (#1384
Browse files Browse the repository at this point in the history
)
  • Loading branch information
zale144 authored Nov 4, 2024
1 parent d577982 commit 5386029
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 7 deletions.
2 changes: 1 addition & 1 deletion ibctesting/utils_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,7 @@ func (s *utilSuite) createRollapp(transfersEnabled bool, channelID *string) {
X: "https://x.dymension.xyz",
},
&rollapptypes.GenesisInfo{
GenesisChecksum: "somechecksum",
GenesisChecksum: "checksum",
Bech32Prefix: "ethm",
NativeDenom: rollapptypes.DenomMetadata{
Display: "DEN",
Expand Down
11 changes: 5 additions & 6 deletions x/rollapp/genesisbridge/ibc_module.go
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ func (w IBCModule) OnRecvPacket(
}

// validate genesis info against the expected data set on the rollapp
err = w.ValidateGenesisBridge(ctx, ra, genesisBridgeData.GenesisInfo)
err = w.ValidateGenesisBridge(ra, genesisBridgeData.GenesisInfo)
if err != nil {
l.Error("Validate genesis info.", "err", err)
return uevent.NewErrorAcknowledgement(ctx, errorsmod.Wrap(err, "validate genesis info"))
Expand Down Expand Up @@ -151,13 +151,12 @@ func (w IBCModule) OnRecvPacket(
return successAck
}

func (w IBCModule) ValidateGenesisBridge(ctx sdk.Context, ra *types.Rollapp, data GenesisBridgeInfo) error {
func (w IBCModule) ValidateGenesisBridge(ra *types.Rollapp, data GenesisBridgeInfo) error {
raInfo := ra.GenesisInfo

// TODO: validate genesis checksum
// if data.GenesisChecksum != raInfo.GenesisChecksum {
// return fmt.Errorf("genesis checksum mismatch: expected: %v, got: %v", raInfo.GenesisChecksum, data.GenesisChecksum)
// }
if data.GenesisChecksum != raInfo.GenesisChecksum {
return fmt.Errorf("genesis checksum mismatch: expected: %v, got: %v", raInfo.GenesisChecksum, data.GenesisChecksum)
}

if data.Bech32Prefix != raInfo.Bech32Prefix {
return fmt.Errorf("bech32 prefix mismatch: expected: %v, got: %v", raInfo.Bech32Prefix, data.Bech32Prefix)
Expand Down

0 comments on commit 5386029

Please sign in to comment.