Get an encrypted key-value from a Graviton tree and then decrypt it Requires the user to have an active wallet open
(t string, key []byte)
| 226 | // Get an encrypted key-value from a Graviton tree and then decrypt it |
| 227 | // Requires the user to have an active wallet open |
| 228 | func GetEncryptedValue(t string, key []byte) (result []byte, err error) { |
| 229 | result = []byte("") |
| 230 | |
| 231 | if t == "" { |
| 232 | err = errors.New("error: missing graviton tree input") |
| 233 | return |
| 234 | } else if key == nil { |
| 235 | err = errors.New("error: missing graviton key input") |
| 236 | return |
| 237 | } |
| 238 | |
| 239 | shard, err := GetShard() |
| 240 | if err != nil { |
| 241 | return |
| 242 | } |
| 243 | |
| 244 | store, err := graviton.NewDiskStore(shard) |
| 245 | if err != nil { |
| 246 | return |
| 247 | } |
| 248 | |
| 249 | ss, err := store.LoadSnapshot(0) |
| 250 | |
| 251 | if err != nil { |
| 252 | return |
| 253 | } |
| 254 | |
| 255 | tree, err := ss.GetTree(t) |
| 256 | if err != nil { |
| 257 | return |
| 258 | } |
| 259 | |
| 260 | eValue, err := tree.Get(key) |
| 261 | if err != nil { |
| 262 | return |
| 263 | } |
| 264 | |
| 265 | result, err = engram.Disk.Decrypt(eValue) |
| 266 | if err != nil { |
| 267 | return |
| 268 | } |
| 269 | |
| 270 | return |
| 271 | } |
| 272 | |
| 273 | // Delete a key-value in a Graviton tree |
| 274 | func DeleteKey(t string, key []byte) (err error) { |
no test coverage detected