@@ -14,6 +14,8 @@ import (
1414 "github.com/pkg/errors"
1515)
1616
17+ const SKVSKey = "SKVS"
18+
1719type SkvsStubInterface struct {
1820 * FpcStubInterface
1921 allDataOld map [string ][]byte
@@ -22,46 +24,50 @@ type SkvsStubInterface struct {
2224}
2325
2426func NewSkvsStubInterface (stub shim.ChaincodeStubInterface , input * pb.ChaincodeInput , rwset * readWriteSet , sep StateEncryptionFunctions ) * SkvsStubInterface {
25- logger .Warning ("==== Get New Skvs Interface =====" )
2627 fpcStub := NewFpcStubInterface (stub , input , rwset , sep )
27- skvsStub := SkvsStubInterface {fpcStub , map [string ][]byte {}, map [string ][]byte {}, "SKVS" }
28- err := skvsStub .InitSKVS ()
28+ skvsStub := & SkvsStubInterface {
29+ FpcStubInterface : fpcStub ,
30+ allDataOld : map [string ][]byte {},
31+ allDataNew : map [string ][]byte {},
32+ key : SKVSKey ,
33+ }
34+ err := skvsStub .initSKVS ()
2935 if err != nil {
30- logger . Warningf ( "Error!! Initializing SKVS failed" )
36+ panic ( " Initializing SKVS failed" )
3137 }
32- return & skvsStub
38+ return skvsStub
3339}
3440
35- func (s * SkvsStubInterface ) InitSKVS () error {
36- logger .Warningf (" === Initializing SKVS === " )
41+ func (s * SkvsStubInterface ) initSKVS () error {
3742
3843 // get current state, this will only operate once
3944 encValue , err := s .GetPublicState (s .key )
4045 if err != nil {
41- return nil
46+ return err
4247 }
4348
49+ // return if the key initially does not exist
4450 if len (encValue ) == 0 {
4551 logger .Warningf ("SKVS is empty, Initiating." )
46- } else {
47- value , err := s .sep .DecryptState (encValue )
48- if err != nil {
49- return err
50- }
51- logger .Warningf ("SKVS has default value, loading current value." )
52-
53- err = json .Unmarshal (value , & s .allDataOld )
54- if err != nil {
55- logger .Errorf ("SKVS Json unmarshal error: %s" , err )
56- return err
57- }
58- err = json .Unmarshal (value , & s .allDataNew )
59- if err != nil {
60- logger .Errorf ("SKVS Json unmarshal error: %s" , err )
61- return err
62- }
52+ return nil
6353 }
6454
55+ value , err := s .sep .DecryptState (encValue )
56+ if err != nil {
57+ return err
58+ }
59+ logger .Debug ("SKVS has default value, loading current value." )
60+
61+ err = json .Unmarshal (value , & s .allDataOld )
62+ if err != nil {
63+ logger .Errorf ("SKVS Json unmarshal error: %s" , err )
64+ return err
65+ }
66+ err = json .Unmarshal (value , & s .allDataNew )
67+ if err != nil {
68+ logger .Errorf ("SKVS Json unmarshal error: %s" , err )
69+ return err
70+ }
6571 return nil
6672}
6773
0 commit comments