MCPcopy Create free account
hub / github.com/DEROFDN/Engram / StoreEncryptedValue

Function StoreEncryptedValue

store.go:91–141  ·  view source on GitHub ↗

Encrypt a key-value and then store it in a Graviton tree Requires the user to have an active wallet open

(t string, key []byte, value []byte)

Source from the content-addressed store, hash-verified

89// Encrypt a key-value and then store it in a Graviton tree
90// Requires the user to have an active wallet open
91func StoreEncryptedValue(t string, key []byte, value []byte) (err error) {
92 if engram.Disk == nil {
93 err = errors.New("error: no active account found")
94 return
95 }
96
97 if t == "" {
98 err = errors.New("error: missing graviton tree input")
99 return
100 } else if key == nil {
101 err = errors.New("error: missing graviton key input")
102 return
103 }
104
105 eValue, err := engram.Disk.Encrypt(value)
106 if err != nil {
107 return
108 }
109
110 shard, err := GetShard()
111 if err != nil {
112 return
113 }
114
115 store, err := graviton.NewDiskStore(shard)
116 if err != nil {
117 return
118 }
119
120 ss, err := store.LoadSnapshot(0)
121 if err != nil {
122 return
123 }
124
125 tree, err := ss.GetTree(t)
126 if err != nil {
127 return
128 }
129
130 err = tree.Put(key, eValue)
131 if err != nil {
132 return
133 }
134
135 _, err = graviton.Commit(tree)
136 if err != nil {
137 return
138 }
139
140 return
141}
142
143// Store a key-value in a Graviton tree
144func StoreValue(t string, key []byte, value []byte) (err error) {

Callers 11

setCyberdeckFunction · 0.85
setPrimaryUsernameFunction · 0.85
setPermissionsFunction · 0.85
storeEPOCHTotalFunction · 0.85
layoutAssetExplorerFunction · 0.85
layoutMyAssetsFunction · 0.85
layoutAssetManagerFunction · 0.85
layoutDatapadFunction · 0.85
layoutPadFunction · 0.85
layoutTELAFunction · 0.85
layoutTELAManagerFunction · 0.85

Calls 1

GetShardFunction · 0.85

Tested by

no test coverage detected