-
Notifications
You must be signed in to change notification settings - Fork 625
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: set up IBCTestStakingKeeper interface #2028
Changes from 6 commits
c278d65
4e374f5
62916e1
5c5aa52
3673054
46f0480
bd27422
d1d88da
92f44ea
b27f8e5
ae50357
eea436e
782e84d
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 |
---|---|---|
|
@@ -23,11 +23,11 @@ func TestChangeValSet(t *testing.T) { | |
amount2, ok := sdk.NewIntFromString("30000000000000000000") | ||
require.True(t, ok) | ||
|
||
val := chainA.App.GetStakingKeeper().GetValidators(chainA.GetContext(), 4) | ||
val := chainA.GetSimApp().StakingKeeper.GetValidators(chainA.GetContext(), 4) | ||
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. Is it not possible to keep using 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. i think the idea is that in our simApp, we would continue using the staking module's staking keeper so we don't actually need to add these two methods as they are already there. it's just that in the testing chain and testing app setup, we would like to enable osmosis to swap out their customised interfluid staking keeper so they can use our testing setup. this is why we only need to add that one method which is used in the testing/chain.go file to the new interface. 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. I actually requested those functions to not be added. I think we should keep our interfaces as small as possible (ideally we wouldn't even need the staking keeper interface) |
||
|
||
chainA.App.GetStakingKeeper().Delegate(chainA.GetContext(), chainA.SenderAccounts[1].SenderAccount.GetAddress(), | ||
chainA.GetSimApp().StakingKeeper.Delegate(chainA.GetContext(), chainA.SenderAccounts[1].SenderAccount.GetAddress(), | ||
amount, types.Unbonded, val[1], true) | ||
chainA.App.GetStakingKeeper().Delegate(chainA.GetContext(), chainA.SenderAccounts[3].SenderAccount.GetAddress(), | ||
chainA.GetSimApp().StakingKeeper.Delegate(chainA.GetContext(), chainA.SenderAccounts[3].SenderAccount.GetAddress(), | ||
amount2, types.Unbonded, val[3], true) | ||
|
||
coord.CommitBlock(chainA) | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package types | ||
colin-axner marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
import ( | ||
sdk "github.com/cosmos/cosmos-sdk/types" | ||
stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" | ||
) | ||
|
||
// IBCTestingStakingKeeper defines the expected staking keeper interface used in the | ||
colin-axner marked this conversation as resolved.
Show resolved
Hide resolved
|
||
// IBC testing package | ||
type StakingKeeper interface { | ||
GetHistoricalInfo(ctx sdk.Context, height int64) (stakingtypes.HistoricalInfo, bool) | ||
} |
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.
I honestly liked the name
GetStakingKeeper
, since the name of the type already indicates that this is for testing, so I consider that is redundant to addTest
in the name of the function... But no problem if we decide to rename it.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.
i renamed on request from @ValarDragon in the issue, i don't have a particularly strong opinion either way tho. I can see the value add in being explicit, but it is true that the type is also quite informative.
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.
I think now that the interface returns the
ibctestingtypes.StakingKeeper
it can be redundant. I do agreeGetStakingKeeper
is cleaner, but I understand this function will be implemented inapp.go
for a production chain.@ValarDragon do you still prefer
GetIBCTestStakingKeeper
given the new return value