Skip to content

EPIC: remove global bech32 #13140

Closed

Description

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Labels

T: Client UXT: Dev UXUX for SDK developers (i.e. how to call our code)T:EpicEpics

Type

No type

Projects

  • Status

    🥳 Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions