Skip to content

EPIC: remove global bech32 #13140

@tac0turtle

Description

@tac0turtle

Summary

Currently bech32 prefixes is a global in the cosmos-sdk and for applications as well. We should aim to remove most if not all globals within the sdk.

Problem Definition

Globals should be removed.

Work Breakdown

  • replace account bech32 calls with calls into address codec for the prefix(s)
  • replace validator key bech32 calls
  • remove sdk.bech32 from types and outside modules
  • Remove address verifier from global config, put it as argument to NewAccountKeeper
  • Support cosmos.msg.v1.signer as alternative to Msg.GetSigners #11275
  • Add a way for clients to get the bech32 prefix
  • Go through every module and remove calls to .String() (this may require state migrations)
    • auth
    • authz
    • bank
    • feegrant
    • gov
    • groups
    • nft
    • distribution
    • staking
    • slashing
    • upgrade
  • Deprecate all .String calls on addresses
  • remove the need to set global codecs

Notes:

Is there any other work we should mention here?

ref #8332

Metadata

Metadata

Type

No type
No fields configured for issues without a type.

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions