-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(x/authz)!: Remove account keeper dependency #21632
Changes from all commits
fe95ddf
9e84f98
1b037bf
3f76520
1f7069a
7ab64a6
186158a
1b8d338
4b7c3cf
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
@@ -9,6 +9,7 @@ import ( | |||||||||||||||||||||||||||||||||||
gogoproto "github.com/cosmos/gogoproto/proto" | ||||||||||||||||||||||||||||||||||||
gogoprotoany "github.com/cosmos/gogoproto/types/any" | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
"cosmossdk.io/core/address" | ||||||||||||||||||||||||||||||||||||
"cosmossdk.io/core/appmodule" | ||||||||||||||||||||||||||||||||||||
corecontext "cosmossdk.io/core/context" | ||||||||||||||||||||||||||||||||||||
errorsmod "cosmossdk.io/errors" | ||||||||||||||||||||||||||||||||||||
|
@@ -30,16 +31,16 @@ const gasCostPerIteration = uint64(20) | |||||||||||||||||||||||||||||||||||
type Keeper struct { | ||||||||||||||||||||||||||||||||||||
appmodule.Environment | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
cdc codec.Codec | ||||||||||||||||||||||||||||||||||||
authKeeper authz.AccountKeeper | ||||||||||||||||||||||||||||||||||||
cdc codec.Codec | ||||||||||||||||||||||||||||||||||||
addrCdc address.Codec | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
// NewKeeper constructs a message authorization Keeper | ||||||||||||||||||||||||||||||||||||
func NewKeeper(env appmodule.Environment, cdc codec.Codec, ak authz.AccountKeeper) Keeper { | ||||||||||||||||||||||||||||||||||||
func NewKeeper(env appmodule.Environment, cdc codec.Codec, addrCdc address.Codec) Keeper { | ||||||||||||||||||||||||||||||||||||
return Keeper{ | ||||||||||||||||||||||||||||||||||||
Environment: env, | ||||||||||||||||||||||||||||||||||||
cdc: cdc, | ||||||||||||||||||||||||||||||||||||
authKeeper: ak, | ||||||||||||||||||||||||||||||||||||
addrCdc: addrCdc, | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
|
@@ -206,11 +207,11 @@ func (k Keeper) SaveGrant(ctx context.Context, grantee, granter sdk.AccAddress, | |||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
granterAddr, err := k.authKeeper.AddressCodec().BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
granterAddr, err := k.addrCdc.BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
Comment on lines
+210
to
212
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🛠️ Refactor suggestion Refactor repetitive address conversions into a helper method The address conversion using Define the following helper method in the func (k Keeper) addressToString(addr sdk.AccAddress) (string, error) {
return k.addrCdc.BytesToString(addr)
} Then, replace the repeated code with calls to this helper method. For example, at line 210: - granterAddr, err := k.addrCdc.BytesToString(granter)
+ granterAddr, err := k.addressToString(granter)
if err != nil {
return err
} Apply this change to all similar occurrences where address conversion is performed. Also applies to: 214-216, 233-235, 238-240, 259-261, 263-265, 295-297 |
||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.authKeeper.AddressCodec().BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.addrCdc.BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
@@ -229,12 +230,12 @@ func (k Keeper) DeleteGrant(ctx context.Context, grantee, granter sdk.AccAddress | |||||||||||||||||||||||||||||||||||
skey := grantStoreKey(grantee, granter, msgType) | ||||||||||||||||||||||||||||||||||||
grant, found := k.getGrant(ctx, skey) | ||||||||||||||||||||||||||||||||||||
if !found { | ||||||||||||||||||||||||||||||||||||
granterAddr, err := k.authKeeper.AddressCodec().BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
granterAddr, err := k.addrCdc.BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return errorsmod.Wrapf(authz.ErrNoAuthorizationFound, | ||||||||||||||||||||||||||||||||||||
"could not convert granter address to string") | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.authKeeper.AddressCodec().BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.addrCdc.BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return errorsmod.Wrapf(authz.ErrNoAuthorizationFound, | ||||||||||||||||||||||||||||||||||||
Comment on lines
+233
to
240
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Return appropriate error when address conversion fails Wrapping the error with Apply this diff to return the actual error: granterAddr, err := k.addrCdc.BytesToString(granter)
if err != nil {
- return errorsmod.Wrapf(authz.ErrNoAuthorizationFound,
- "could not convert granter address to string")
+ return err
}
granteeAddr, err := k.addrCdc.BytesToString(grantee)
if err != nil {
- return errorsmod.Wrapf(authz.ErrNoAuthorizationFound,
- "could not convert grantee address to string")
+ return err
} 📝 Committable suggestion
Suggested change
|
||||||||||||||||||||||||||||||||||||
"could not convert grantee address to string") | ||||||||||||||||||||||||||||||||||||
|
@@ -255,11 +256,11 @@ func (k Keeper) DeleteGrant(ctx context.Context, grantee, granter sdk.AccAddress | |||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
granterAddr, err := k.authKeeper.AddressCodec().BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
granterAddr, err := k.addrCdc.BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.authKeeper.AddressCodec().BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
granteeAddr, err := k.addrCdc.BytesToString(grantee) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
@@ -291,7 +292,7 @@ func (k Keeper) DeleteAllGrants(ctx context.Context, granter sdk.AccAddress) err | |||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||
grantAddr, err := k.authKeeper.AddressCodec().BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
grantAddr, err := k.addrCdc.BytesToString(granter) | ||||||||||||||||||||||||||||||||||||
if err != nil { | ||||||||||||||||||||||||||||||||||||
return err | ||||||||||||||||||||||||||||||||||||
} | ||||||||||||||||||||||||||||||||||||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💡 Codebase verification
Multiple
NewKeeper
invocations have not been updated to includeaddrCdc address.Codec
as the third parameter:orm/model/ormdb/module_test.go
,x/upgrade/keeper/keeper_test.go
,x/authz/keeper/genesis_test.go
, etc.) are missing the updated parameter.Recommended Actions:
NewKeeper
calls to includeaddrCdc address.Codec
as the third argument.🔗 Analysis chain
Verify all
NewKeeper
invocations are updatedEnsure that all calls to
NewKeeper
in the codebase have been updated to match the new signature acceptingaddrCdc address.Codec
as the third parameter.Run the following script to find all invocations of
NewKeeper
:🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
Length of output: 19562