github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/wasm/watcher/params.go (about) 1 package watcher 2 3 import ( 4 "log" 5 6 "github.com/fibonacci-chain/fbc/x/wasm/types" 7 "github.com/golang/protobuf/proto" 8 ) 9 10 var ( 11 paramsKey = []byte("wasm-parameters") 12 sendEnabledKey = []byte("send-enabled") 13 ) 14 15 func SetParams(para types.Params) { 16 if !Enable() { 17 return 18 } 19 b, err := proto.Marshal(¶) 20 if err != nil { 21 panic("wasm watchDB SetParams marshal error:" + err.Error()) 22 } 23 if err = db.Set(paramsKey, b); err != nil { 24 panic("wasm watchDB SetParams set error:" + err.Error()) 25 } 26 } 27 28 func GetParams() types.Params { 29 ensureChecked() 30 b, err := db.Get(paramsKey) 31 if err != nil { 32 panic("wasm watchDB GetParams get error:" + err.Error()) 33 } 34 var p types.Params 35 if err = proto.Unmarshal(b, &p); err != nil { 36 panic("wasm watchDB GetParams unmarshal error:" + err.Error()) 37 } 38 return p 39 } 40 41 type ParamsManager struct{} 42 43 func (p ParamsManager) SetSendEnabled(enable bool) { 44 if !Enable() { 45 return 46 } 47 var ok byte 48 if enable { 49 ok = 1 50 } 51 if err := db.Set(sendEnabledKey, []byte{ok}); err != nil { 52 log.Println("SetSendEnabled error:", err) 53 } 54 } 55 56 func (p ParamsManager) GetSendEnabled() bool { 57 ensureChecked() 58 v, err := db.Get(sendEnabledKey) 59 if err != nil { 60 log.Println("SetSendEnabled error:", err) 61 return false 62 } 63 if len(v) == 0 || v[0] == 0 { 64 return false 65 } 66 return true 67 }