Skip to content

Commit e54c8fb

Browse files
committed
memorize guard configs
1 parent 1436ddc commit e54c8fb

File tree

1 file changed

+12
-4
lines changed
  • Packages/Sequence-Unity/Sequence/SequenceSDK/EcosystemWallet/Guard

1 file changed

+12
-4
lines changed

Packages/Sequence-Unity/Sequence/SequenceSDK/EcosystemWallet/Guard/GuardStorage.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,33 @@
1+
using System.Collections.Generic;
12
using Newtonsoft.Json;
23
using Sequence.Utils.SecureStorage;
3-
using UnityEngine;
44

55
namespace Sequence.EcosystemWallet
66
{
77
public class GuardStorage
88
{
9+
private static readonly Dictionary<Address, GuardConfig> Configs = new();
10+
911
private readonly ISecureStorage _storage = SecureStorageFactory.CreateSecureStorage();
1012

1113
public GuardConfig GetConfig(Address address)
1214
{
15+
if (Configs.TryGetValue(address, out var memorizedConfig))
16+
return memorizedConfig;
17+
1318
var json = _storage.RetrieveString(BuildStorageKey(address));
14-
Debug.Log($"{json}");
15-
return string.IsNullOrEmpty(json) ? null :
16-
JsonConvert.DeserializeObject<GuardConfig>(json);
19+
var config = string.IsNullOrEmpty(json) ? null : JsonConvert.DeserializeObject<GuardConfig>(json);
20+
if (config != null)
21+
Configs[address] = config;
22+
23+
return config;
1724
}
1825

1926
public void SaveConfig(Address address, GuardConfig config)
2027
{
2128
var json = JsonConvert.SerializeObject(config);
2229
_storage.StoreString(BuildStorageKey(address), json);
30+
Configs[address] = config;
2331
}
2432

2533
private string BuildStorageKey(Address address)

0 commit comments

Comments
 (0)