ibc
ibc copied to clipboard
ICS027: Support registration of different account types
Ref: ibc-go#1298
Community feedback has indicated it'd be desirable to create different types of accounts for an interchain account. Within ibc-go, this is not possible unless the account registration process (the channel handshake) also indicates the type of account to be created.
Opening issue here for discussion.
I see a couple possibilities:
- add account type to ics27 metadata, bump metadata version to
ics27-2 - wait for partially ordered channels, add new packet type (register account)
Community feedback has indicated it'd be desirable to create different types of accounts for an interchain account.
Does this mean vesting accounts cannot use ics27? Or just EVMOS smart contracts? What about module accounts? (A large use case was community pool using ICA)
I will note that wasmd creates a BaseAccount for each contract when instantiated to ensure it played well with all the coin transfer logic, so this is not needed for CosmWasm.
But I think a complete use case should be defined... and maybe an enum used instead of Any (as support for Any is usually only a few cases anyway)