Migration Guide v7.0

API Changes

Cosmos

Regen Ledger v7.0 includes an update to Cosmos SDK 0.53open in new window and the addition of Protocol Pool and Circuit Breaker modules.

Events

  • abci.TxResult.Log behavior changed

    • In v7.0, the log field in abci.TxResult is no longer populated when message execution is successful.

    • Instead, each emitted event now includes an additional attribute:

      • msg_index: identifies which message within the transaction the event and its attributes belong to.
    • This allows consumers to reliably group events by the message that produced them, without relying on the legacy log field.

  • BeginBlock and EndBlock events via FinalizeBlock

    • BeginBlock and EndBlock events are now emitted through FinalizeBlock.

    • These events include a new attribute to distinguish their origin:

      • mode=BeginBlock for events originating from BeginBlock
      • mode=EndBlock for events originating from EndBlock
    • Indexers and event consumers must use the mode attribute to determine whether an event came from BeginBlock or EndBlock.

IBC

ibc.applications.transfer.v1

What changed for clients

List all denominations
- Old: GET /ibc/apps/transfer/v1/denom_traces  
+ New: GET /ibc/apps/transfer/v1/denoms 

Response

- Old field: denom_traces  
+ New field: denoms  

Get denomination
- Old: GET /ibc/apps/transfer/v1/denom_traces/{hash}  
+ New: GET /ibc/apps/transfer/v1/denoms/{hash}  

Response

- Old field: denom_trace  
+ New field: denom 

Denom object format

Old format (DenomTrace)

{
  "base_denom": "uregen",
  "path": "transfer/channel-0/transfer/channel-1"
}  

New format (Denom)

{
  "base": "uregen",
  "trace": [
    {
      "port_id": "transfer",
      "channel_id": "channel-0"
    },
    {
      "port_id": "transfer",
      "channel_id": "channel-1"
    }
  ]
}