Skip to content

Commit 7197929

Browse files
Merge pull request #38 from KristiforMilchev/development
Resolving path issue of system files between different operating systems
2 parents 2ea197f + 937da0d commit 7197929

File tree

5 files changed

+42
-20
lines changed

5 files changed

+42
-20
lines changed

Data/AuthenicationHandler.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ public string GetDefault()
3535

3636
public bool SetupNetwork(string networkName, string networkSymbol, string rpcUrl, int chainID, string blockExplorer)
3737
{
38-
if (!File.Exists($"{Utilities.GetOsDatFolder()}/LocalNetworks.json"))
39-
File.WriteAllText($"{Utilities.GetOsDatFolder()}/LocalNetworks.json", "");
38+
if (!File.Exists($"{Utilities.GetOsSavePath()}/LocalNetworks.json"))
39+
File.WriteAllText($"{Utilities.GetOsSavePath()}/LocalNetworks.json", "");
4040

41-
var filesContent = File.ReadAllText($"{Utilities.GetOsDatFolder()}/LocalNetworks.json");
41+
var filesContent = File.ReadAllText($"{Utilities.GetOsSavePath()}/LocalNetworks.json");
4242

4343
var convertedNetworkList = JsonConvert.DeserializeObject<List<NetworkSettings>>(filesContent);
4444

@@ -59,7 +59,7 @@ public bool SetupNetwork(string networkName, string networkSymbol, string rpcUrl
5959
TokenSylmbol = networkSymbol
6060
});
6161

62-
File.WriteAllText($"{Utilities.GetOsDatFolder()}/LocalNetworks.json", JsonConvert.SerializeObject(convertedNetworkList));
62+
File.WriteAllText($"{Utilities.GetOsSavePath()}/LocalNetworks.json", JsonConvert.SerializeObject(convertedNetworkList));
6363
return true;
6464
}
6565

@@ -68,10 +68,10 @@ public bool SetupNetwork(string networkName, string networkSymbol, string rpcUrl
6868

6969
public bool ImportToken(string contractAddress, string symbol, int delimiter, int network)
7070
{
71-
if (!File.Exists($"{Utilities.GetOsDatFolder()}/LocalTokens.json"))
72-
File.WriteAllText($"{Utilities.GetOsDatFolder()}/LocalTokens.json", "");
71+
if (!File.Exists($"{Utilities.GetOsSavePath()}/LocalTokens.json"))
72+
File.WriteAllText($"{Utilities.GetOsSavePath()}/LocalTokens.json", "");
7373

74-
var filesContent = File.ReadAllText($"{Utilities.GetOsDatFolder()}/LocalTokens.json");
74+
var filesContent = File.ReadAllText($"{Utilities.GetOsSavePath()}/LocalTokens.json");
7575

7676
var tokenList = JsonConvert.DeserializeObject<List<Token>>(filesContent);
7777

@@ -98,7 +98,7 @@ public bool ImportToken(string contractAddress, string symbol, int delimiter, in
9898
}
9999
}
100100
});
101-
File.WriteAllText($"{Utilities.GetOsDatFolder()}/LocalTokens.json", JsonConvert.SerializeObject(tokenList));
101+
File.WriteAllText($"{Utilities.GetOsSavePath()}/LocalTokens.json", JsonConvert.SerializeObject(tokenList));
102102
return true;
103103
}
104104
}

Data/ContractService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,10 +245,10 @@ public static async Task<List<Token>> GetNetworkTokens(int networkId)
245245

246246
tokens = await GetListedTokens(listedTokenData, tokens, getNetworkData);
247247

248-
if (!File.Exists($"{Utilities.GetOsDatFolder()}/LocalTokens.json"))
249-
File.WriteAllText($"{Utilities.GetOsDatFolder()}/LocalTokens.json", "");
248+
if (!File.Exists($"{Utilities.GetOsSavePath()}/LocalTokens.json"))
249+
File.WriteAllText($"{Utilities.GetOsSavePath()}/LocalTokens.json", "");
250250

251-
var filesContent = File.ReadAllText($"{Utilities.GetOsDatFolder()}/LocalTokens.json");
251+
var filesContent = File.ReadAllText($"{Utilities.GetOsSavePath()}/LocalTokens.json");
252252

253253
var tokenList = JsonConvert.DeserializeObject<List<Token>>(filesContent);
254254

Data/HardwareService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public async Task<bool> CreateNewDevice(string port)
4949
string userName = Environment.UserName;
5050

5151

52-
if (!File.Exists(@$"{Utilities.GetOsDatFolder()}\wallet.ino.standard.hex"))
52+
if (!File.Exists(@$"{Utilities.GetOsSavePath()}\wallet.ino.standard.hex"))
5353
{
5454
using (WebClient wc = new WebClient())
5555
{
@@ -58,13 +58,13 @@ public async Task<bool> CreateNewDevice(string port)
5858
// Param1 = Link of file
5959
new System.Uri("https://raw.githubusercontent.com/KristiforMilchev/LInksync-Cold-Storage-Wallet/main/HardwareCode/ColdStorage/wallet.ino.standard.hex"),
6060
// Param2 = Path to save
61-
@$"{Utilities.GetOsDatFolder()}\wallet.ino.standard.hex"
61+
@$"{Utilities.GetOsSavePath()}\wallet.ino.standard.hex"
6262
);
6363
}
6464
}
6565

6666

67-
ConfigureHardware(MauiProgram.DeviceType, @$"{Utilities.GetOsDatFolder()}\wallet.ino.standard.hex", port);
67+
ConfigureHardware(MauiProgram.DeviceType, @$"{Utilities.GetOsSavePath()}\wallet.ino.standard.hex", port);
6868

6969
Debug.WriteLine("Device Updated");
7070
return true;

MauiProgram.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,7 @@ public static async Task<MauiApp> CreateMauiApp()
5959
#if DEBUG
6060
builder.Services.AddBlazorWebViewDeveloperTools();
6161
#endif
62-
Os = Utilities.GetOsDatFolder();
63-
62+
Os = Utilities.GetSystemOs();
6463

6564
DefaultPath = AppDomain.CurrentDomain.BaseDirectory;
6665
ContractABI = "[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_initBaseURI\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_initNotRevealedUri\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseExtension\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cost\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxMintAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_mintAmount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"notRevealedUri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_state\",\"type\":\"bool\"}],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reveal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revealed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_newBaseExtension\",\"type\":\"string\"}],\"name\":\"setBaseExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_newBaseURI\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newCost\",\"type\":\"uint256\"}],\"name\":\"setCost\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_notRevealedURI\",\"type\":\"string\"}],\"name\":\"setNotRevealedURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_newmaxMintAmount\",\"type\":\"uint256\"}],\"name\":\"setmaxMintAmount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"walletOfOwner\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]";

Services/Implementation/Utilities.cs

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ internal class Utilities
1616
public async Task<List<NetworkSettings>> SetupNetworks()
1717
{
1818

19-
if (!File.Exists($"{GetOsDatFolder()}/LocalNetworks.json"))
19+
if (!File.Exists($"{GetOsSavePath()}/LocalNetworks.json"))
2020
return await GetRequest<List<NetworkSettings>>(@"https://raw.githubusercontent.com/KristiforMilchev/LInksync-Cold-Storage-Wallet/main/NetworkSettings.json");
2121
else
2222
{
2323
var whiteListedNetworks = await GetRequest<List<NetworkSettings>>(@"https://raw.githubusercontent.com/KristiforMilchev/LInksync-Cold-Storage-Wallet/main/NetworkSettings.json");
2424

25-
var filesContent = File.ReadAllText($"{GetOsDatFolder()}/LocalNetworks.json");
25+
var filesContent = File.ReadAllText($"{GetOsSavePath()}/LocalNetworks.json");
2626
var convertedNetworkList = JsonConvert.DeserializeObject<List<NetworkSettings>>(filesContent);
2727

2828
whiteListedNetworks.AddRange(convertedNetworkList);
@@ -114,7 +114,7 @@ public static decimal ConvertToDex(decimal value, int delimeter)
114114
return result;
115115
}
116116

117-
public static int GetOsDatFolder()
117+
public static int GetSystemOs()
118118
{
119119

120120
if (SYNCWallet.Models.OperatingSystem.IsWindows())
@@ -126,6 +126,29 @@ public static int GetOsDatFolder()
126126

127127
return 0;
128128
}
129-
129+
130+
131+
public static string GetOsSavePath()
132+
{
133+
var result = string.Empty;
134+
string userName = Environment.UserName;
135+
switch (MauiProgram.Os)
136+
{
137+
case 1:
138+
result = $@"C:\Users\{userName}\Documents";
139+
break;
140+
141+
case 2:
142+
result = $@"home/{userName}";
143+
break;
144+
145+
case 3:
146+
result = $@"home/{userName}";
147+
break;
148+
}
149+
150+
return result;
151+
}
152+
130153
}
131154
}

0 commit comments

Comments
 (0)