-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
ocr.go
117 lines (89 loc) · 3.08 KB
/
ocr.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
105
106
107
108
109
110
111
112
113
114
115
116
117
package resolver
import (
"github.com/graph-gophers/graphql-go"
"github.com/pkg/errors"
"github.com/smartcontractkit/chainlink/core/services/keystore"
"github.com/smartcontractkit/chainlink/core/services/keystore/keys/ocrkey"
)
type OCRKeyBundleResolver struct {
key ocrkey.KeyV2
}
func NewOCRKeyBundleResolver(key ocrkey.KeyV2) OCRKeyBundleResolver {
return OCRKeyBundleResolver{key: key}
}
func (k OCRKeyBundleResolver) ID() graphql.ID {
return graphql.ID(k.key.ID())
}
func (k OCRKeyBundleResolver) ConfigPublicKey() string {
return ocrkey.ConfigPublicKey(k.key.PublicKeyConfig()).String()
}
func (k OCRKeyBundleResolver) OffChainPublicKey() string {
return k.key.OffChainSigning.PublicKey().String()
}
func (k OCRKeyBundleResolver) OnChainSigningAddress() string {
return k.key.OnChainSigning.Address().String()
}
type OCRKeyBundlesPayloadResolver struct {
keys []ocrkey.KeyV2
}
func NewOCRKeyBundlesPayloadResolver(keys []ocrkey.KeyV2) *OCRKeyBundlesPayloadResolver {
return &OCRKeyBundlesPayloadResolver{keys: keys}
}
func (r *OCRKeyBundlesPayloadResolver) Results() []OCRKeyBundleResolver {
var bundles []OCRKeyBundleResolver
for _, k := range r.keys {
bundles = append(bundles, NewOCRKeyBundleResolver(k))
}
return bundles
}
// -- CreateOCRKeyBundle Mutation --
type CreateOCRKeyBundlePayloadResolver struct {
key *ocrkey.KeyV2
}
func NewCreateOCRKeyBundlePayload(key *ocrkey.KeyV2) *CreateOCRKeyBundlePayloadResolver {
return &CreateOCRKeyBundlePayloadResolver{key: key}
}
func (r *CreateOCRKeyBundlePayloadResolver) ToCreateOCRKeyBundleSuccess() (*CreateOCRKeyBundleSuccessResolver, bool) {
if r.key != nil {
return NewCreateOCRKeyBundleSuccess(r.key), true
}
return nil, false
}
type CreateOCRKeyBundleSuccessResolver struct {
key *ocrkey.KeyV2
}
func NewCreateOCRKeyBundleSuccess(key *ocrkey.KeyV2) *CreateOCRKeyBundleSuccessResolver {
return &CreateOCRKeyBundleSuccessResolver{key: key}
}
func (r *CreateOCRKeyBundleSuccessResolver) Bundle() *OCRKeyBundleResolver {
return &OCRKeyBundleResolver{key: *r.key}
}
// -- Delete --
type DeleteOCRKeyBundleSuccessResolver struct {
key ocrkey.KeyV2
}
func NewDeleteOCRKeyBundleSuccessResolver(key ocrkey.KeyV2) *DeleteOCRKeyBundleSuccessResolver {
return &DeleteOCRKeyBundleSuccessResolver{key: key}
}
func (r *DeleteOCRKeyBundleSuccessResolver) Bundle() OCRKeyBundleResolver {
return OCRKeyBundleResolver{key: r.key}
}
type DeleteOCRKeyBundlePayloadResolver struct {
key ocrkey.KeyV2
NotFoundErrorUnionType
}
func NewDeleteOCRKeyBundlePayloadResolver(key ocrkey.KeyV2, err error) *DeleteOCRKeyBundlePayloadResolver {
var e NotFoundErrorUnionType
if err != nil {
e = NotFoundErrorUnionType{err: err, message: err.Error(), isExpectedErrorFn: func(err error) bool {
return errors.As(err, &keystore.KeyNotFoundError{})
}}
}
return &DeleteOCRKeyBundlePayloadResolver{key: key, NotFoundErrorUnionType: e}
}
func (r *DeleteOCRKeyBundlePayloadResolver) ToDeleteOCRKeyBundleSuccess() (*DeleteOCRKeyBundleSuccessResolver, bool) {
if r.err == nil {
return NewDeleteOCRKeyBundleSuccessResolver(r.key), true
}
return nil, false
}