-
Notifications
You must be signed in to change notification settings - Fork 31
/
expected_keepers.go
104 lines (90 loc) · 2.3 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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package types
import (
tmbytes "github.com/tendermint/tendermint/libs/bytes"
sdk "github.com/cosmos/cosmos-sdk/types"
authtypes "github.com/cosmos/cosmos-sdk/x/auth/types"
service "github.com/irisnet/irismod/modules/service/exported"
)
// ServiceKeeper defines the expected service keeper (noalias)
type ServiceKeeper interface {
RegisterResponseCallback(
moduleName string, respCallback service.ResponseCallback,
) error
RegisterStateCallback(
moduleName string, stateCallback service.StateCallback,
) error
RegisterModuleService(
moduleName string, moduleService *service.ModuleService,
) error
GetRequestContext(
ctx sdk.Context, requestContextID tmbytes.HexBytes,
) (service.RequestContext, bool)
CreateRequestContext(
ctx sdk.Context,
serviceName string,
providers []sdk.AccAddress,
consumer sdk.AccAddress,
input string,
serviceFeeCap sdk.Coins,
timeout int64,
repeated bool,
repeatedFrequency uint64,
repeatedTotal int64,
state service.RequestContextState,
responseThreshold uint32,
moduleName string,
) (tmbytes.HexBytes, error)
UpdateRequestContext(
ctx sdk.Context,
requestContextID tmbytes.HexBytes,
providers []sdk.AccAddress,
respThreshold uint32,
serviceFeeCap sdk.Coins,
timeout int64,
repeatedFreq uint64,
repeatedTotal int64,
consumer sdk.AccAddress,
) error
StartRequestContext(
ctx sdk.Context,
requestContextID tmbytes.HexBytes,
consumer sdk.AccAddress,
) error
PauseRequestContext(
ctx sdk.Context,
requestContextID tmbytes.HexBytes,
consumer sdk.AccAddress,
) error
AddServiceBinding(
ctx sdk.Context,
serviceName string,
provider sdk.AccAddress,
deposit sdk.Coins,
pricing string,
qos uint64,
options string,
owner sdk.AccAddress,
) error
AddServiceDefinition(
ctx sdk.Context,
name,
description string,
tags []string,
author sdk.AccAddress,
authorDescription,
schemas string,
) error
}
// AuthKeeper defines the expected auth keeper (noalias)
type AuthKeeper interface {
Authorized(ctx sdk.Context, addr sdk.AccAddress) bool
}
var (
RequestContextStateFromString = service.RequestContextStateFromString
)
type BankKeeper interface {
SpendableCoins(ctx sdk.Context, addr sdk.AccAddress) sdk.Coins
}
type AccountKeeper interface {
GetAccount(ctx sdk.Context, addr sdk.AccAddress) authtypes.AccountI
}