feat(x/auth): Add auth sim decoder case for AccountNumberStoreKeyPrefix (#13048)
* [13028]: Add auth sim decoder case for AccountNumberStoreKeyPrefix (and a unit test case for it). * [13028]: Add changelog entry.
This commit is contained in:
parent
5e4651ecaf
commit
1fb6f0ba07
@ -68,6 +68,7 @@ Ref: https://keepachangelog.com/en/1.0.0/
|
||||
* [#12455](https://github.com/cosmos/cosmos-sdk/pull/12455) Show attempts count in error for signing.
|
||||
* [#12886](https://github.com/cosmos/cosmos-sdk/pull/12886) Amortize cost of processing cache KV store
|
||||
* [#12953](https://github.com/cosmos/cosmos-sdk/pull/12953) Change the default priority mechanism to be based on gas price.
|
||||
* [#13048](https://github.com/cosmos/cosmos-sdk/pull/13048) Add handling of AccountNumberStoreKeyPrefix to the x/auth simulation decoder.
|
||||
|
||||
### State Machine Breaking
|
||||
|
||||
|
||||
@ -7,6 +7,7 @@ import (
|
||||
gogotypes "github.com/gogo/protobuf/types"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/codec"
|
||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||
"github.com/cosmos/cosmos-sdk/types/kv"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth/types"
|
||||
)
|
||||
@ -41,6 +42,20 @@ func NewDecodeStore(ak AuthUnmarshaler) func(kvA, kvB kv.Pair) string {
|
||||
|
||||
return fmt.Sprintf("GlobalAccNumberA: %d\nGlobalAccNumberB: %d", globalAccNumberA, globalAccNumberB)
|
||||
|
||||
case bytes.HasPrefix(kvA.Key, types.AccountNumberStoreKeyPrefix):
|
||||
var accNumA, accNumB sdk.AccAddress
|
||||
err := accNumA.Unmarshal(kvA.Value)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
err = accNumB.Unmarshal(kvB.Value)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return fmt.Sprintf("AccNumA: %s\nAccNumB: %s", accNumA, accNumB)
|
||||
|
||||
default:
|
||||
panic(fmt.Sprintf("unexpected %s key %X (%s)", types.ModuleName, kvA.Key, kvA.Key))
|
||||
}
|
||||
|
||||
@ -51,6 +51,10 @@ func TestDecodeStore(t *testing.T) {
|
||||
Key: types.GlobalAccountNumberKey,
|
||||
Value: cdc.MustMarshal(&globalAccNumber),
|
||||
},
|
||||
{
|
||||
Key: types.AccountNumberStoreKey(5),
|
||||
Value: acc.GetAddress().Bytes(),
|
||||
},
|
||||
{
|
||||
Key: []byte{0x99},
|
||||
Value: []byte{0x99},
|
||||
@ -63,6 +67,7 @@ func TestDecodeStore(t *testing.T) {
|
||||
}{
|
||||
{"Account", fmt.Sprintf("%v\n%v", acc, acc)},
|
||||
{"GlobalAccNumber", fmt.Sprintf("GlobalAccNumberA: %d\nGlobalAccNumberB: %d", globalAccNumber, globalAccNumber)},
|
||||
{"AccNum", fmt.Sprintf("AccNumA: %s\nAccNumB: %s", acc.GetAddress(), acc.GetAddress())},
|
||||
{"other", ""},
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user