it's seem that you repo update the cosmos-sdk version in this repo but missing fix some API CHANGE Issue like Cachecontext double event emit issue.
This issue will make your project emit Cosmos Event twice.
Specifically, we can see that CacheContext has been modified in version 0.4.16 of cosmos, which would emit event internally.
func (c Context) CacheContext() (cc Context, writeCache func()) {
cms := c.MultiStore().CacheMultiStore()
cc = c.WithMultiStore(cms).WithEventManager(NewEventManager())
writeCache = func() {
c.EventManager().EmitEvents(cc.EventManager().Events())
cms.Write()
}
return cc, writeCache
}
https://github.com/cosmos/cosmos-sdk/blob/v0.47.10/types/context.go#L294-L304
but in your repo, this event already emit by yourself, which would make double event emit issue as you already use PostTxProcessing in your repo.
} else if commit != nil {
// PostTxProcessing is successful, commit the tmpCtx
commit()
// Since the post-processing can alter the log, we need to update the result
res.Logs = types.NewLogsFromEth(receipt.Logs)
ctx.EventManager().EmitEvents(tmpCtx.EventManager().Events())
}
}
|
} else if commit != nil { |
|
// PostTxProcessing is successful, commit the tmpCtx |
|
commit() |
|
// Since the post-processing can alter the log, we need to update the result |
|
res.Logs = types.NewLogsFromEth(receipt.Logs) |
|
ctx.EventManager().EmitEvents(tmpCtx.EventManager().Events()) |
it's seem that you repo update the cosmos-sdk version in this repo but missing fix some API CHANGE Issue like
Cachecontextdouble event emit issue.This issue will make your project emit Cosmos Event twice.
Specifically, we can see that
CacheContexthas been modified in version0.4.16of cosmos, which would emit event internally.but in your repo, this event already emit by yourself, which would make double event emit issue as you already use PostTxProcessing in your repo.
rarimo-core/x/evm/keeper/state_transition.go
Lines 233 to 238 in 51c001d