-
Notifications
You must be signed in to change notification settings - Fork 45
/
expected_keepers.go
65 lines (55 loc) · 3.23 KB
/
expected_keepers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package types
import (
"math/big"
"cosmossdk.io/math"
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
"github.com/bnb-chain/greenfield/types/resource"
paymenttypes "github.com/bnb-chain/greenfield/x/payment/types"
permtypes "github.com/bnb-chain/greenfield/x/permission/types"
sptypes "github.com/bnb-chain/greenfield/x/sp/types"
)
// AccountKeeper defines the expected account keeper used for simulations (noalias)
type AccountKeeper interface {
GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
// Methods imported from account should be defined here
}
// BankKeeper defines the expected interface needed to retrieve account balances.
type BankKeeper interface {
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
// Methods imported from bank should be defined here
}
type SpKeeper interface {
GetStorageProvider(ctx sdk.Context, addr sdk.AccAddress) (sp *sptypes.StorageProvider, found bool)
GetStorageProviderBySealAddr(ctx sdk.Context, sealAddr sdk.AccAddress) (sp *sptypes.StorageProvider, found bool)
GetStorageProviderByGcAddr(ctx sdk.Context, gcAddr sdk.AccAddress) (sp *sptypes.StorageProvider, found bool)
IsStorageProviderExistAndInService(ctx sdk.Context, addr sdk.AccAddress) error
}
type PaymentKeeper interface {
GetParams(ctx sdk.Context) paymenttypes.Params
IsPaymentAccountOwner(ctx sdk.Context, addr, owner sdk.AccAddress) bool
GetStoragePrice(ctx sdk.Context, params paymenttypes.StoragePriceParams) (price paymenttypes.StoragePrice, err error)
ApplyUserFlowsList(ctx sdk.Context, userFlows []paymenttypes.UserFlows) (err error)
UpdateStreamRecordByAddr(ctx sdk.Context, change *paymenttypes.StreamRecordChange) (ret *paymenttypes.StreamRecord, err error)
}
type PermissionKeeper interface {
PutPolicy(ctx sdk.Context, policy *permtypes.Policy) (math.Uint, error)
DeletePolicy(ctx sdk.Context, principal *permtypes.Principal, resourceType resource.ResourceType,
resourceID math.Uint) (math.Uint, error)
VerifyPolicy(ctx sdk.Context, resourceID math.Uint, resourceType resource.ResourceType, operator sdk.AccAddress,
action permtypes.ActionType, opts *permtypes.VerifyOptions) permtypes.Effect
AddGroupMember(ctx sdk.Context, groupID math.Uint, member sdk.AccAddress) error
RemoveGroupMember(ctx sdk.Context, groupID math.Uint, member sdk.AccAddress) error
GetPolicyByID(ctx sdk.Context, policyID math.Uint) (*permtypes.Policy, bool)
GetPolicyForAccount(ctx sdk.Context, resourceID math.Uint, resourceType resource.ResourceType, addr sdk.AccAddress) (policy *permtypes.Policy, isFound bool)
GetPolicyForGroup(ctx sdk.Context, resourceID math.Uint, resourceType resource.ResourceType,
groupID math.Uint) (policy *permtypes.Policy, isFound bool)
GetGroupMember(ctx sdk.Context, groupID math.Uint, member sdk.AccAddress) (*permtypes.GroupMember, bool)
GetGroupMemberByID(ctx sdk.Context, groupMemberID math.Uint) (*permtypes.GroupMember, bool)
}
type CrossChainKeeper interface {
CreateRawIBCPackageWithFee(ctx sdk.Context, channelID sdk.ChannelID, packageType sdk.CrossChainPackageType,
packageLoad []byte, relayerFee *big.Int, ackRelayerFee *big.Int,
) (uint64, error)
RegisterChannel(name string, id sdk.ChannelID, app sdk.CrossChainApplication) error
}