Skip to content

Commit b0f26b8

Browse files
author
Ovidiu Arion
committed
Webgl working
1 parent 884f776 commit b0f26b8

File tree

4 files changed

+29
-5
lines changed

4 files changed

+29
-5
lines changed

Assets/ElrondUnityTools/Example/Scripts/SCScreen.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ private void QueryComplete(ElrondUnityTools.OperationStatus operationStatus, str
8383
{
8484
Debug.LogError("No data returned, check the call");
8585
}
86+
8687
}
8788
else
8889
{
@@ -131,6 +132,7 @@ private void SCTransactionListener(ElrondUnityTools.OperationStatus operationSta
131132
if (message == "success")
132133
{
133134
//do something
135+
ElrondUnityTools.Manager.RefreshAccount();
134136
}
135137
}
136138
}

Assets/ElrondUnityTools/Example/Scripts/TransactionsScreen.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public override void Init(params object[] args)
3030
base.Init(args);
3131
destination.text = defaultAddress;
3232
message.text = defaultMessage;
33-
amount.text = egld.ToString();
33+
amount.text = esdtAmount.text = egld.ToString();
3434
PopulateDropDown();
3535
status.text = "Start loading tokens";
3636
Manager.LoadAllTokens(TokensLoaded);
@@ -157,7 +157,7 @@ private void BlockchainTransactionListener(ElrondUnityTools.OperationStatus oper
157157
{
158158
ElrondUnityTools.Manager.RefreshAccount(RefreshDone);
159159
status.text = "Success -> Refreshing tokens";
160-
160+
161161
}
162162
}
163163
}

Assets/ElrondUnityTools/Scripts/ConnectionManager.cs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
using Erdcsharp.Configuration;
22
using Erdcsharp.Domain;
3+
using Erdcsharp.Domain.Exceptions;
34
using Erdcsharp.Provider;
45
using Erdcsharp.Provider.Dtos;
56
using Newtonsoft.Json;
67
using System;
78
using System.Collections;
89
using System.Collections.Generic;
910
using System.IO;
11+
using System.Linq;
1012
using System.Net.Http;
13+
using System.Numerics;
1114
using System.Text;
1215
using UnityEngine;
1316
using UnityEngine.Events;
@@ -17,6 +20,7 @@
1720
using WalletConnectSharp.Core.Models;
1821
using WalletConnectSharp.Core.Models.Ethereum;
1922
using WalletConnectSharp.Unity;
23+
using Vector2 = UnityEngine.Vector2;
2024

2125
namespace ElrondUnityTools
2226
{
@@ -117,14 +121,25 @@ internal void Disconnect()
117121
#region SendTransaction
118122
internal void SendESDTTransaction(string destinationAddress, string amount, ESDTToken token, UnityAction<OperationStatus, string> transactionStatus)
119123
{
120-
float value = float.Parse(amount);
121-
value = value * Mathf.Pow(10, token.decimals);
122-
string hexaAmount = ((long)value).ToString("X");
124+
125+
//string[] array = amount.Split(new char[1] { '.' });
126+
//string obj = array.FirstOrDefault() ?? "0";
127+
//string text = ((array.Length == 2) ? array[1] : string.Empty);
128+
//string something = obj + text.PadRight(token.decimals, '0');
129+
//BigInteger value = BigInteger.Parse(something);
130+
//if (value.Sign == -1)
131+
//{
132+
// throw new InvalidTokenAmountException(something);
133+
//}
134+
//Debug.Log(something+" "+value);
135+
136+
string hexaAmount = TokenAmount.ESDT(amount, token.ToToken()).Value.ToString("X");
123137
if (hexaAmount.Length % 2 == 1)
124138
{
125139
hexaAmount = "0" + hexaAmount;
126140
}
127141

142+
128143
string hexaTokenIdentifier = Erdcsharp.Domain.Helper.Converter.ToHexString(token.identifier);
129144
string data = "ESDTTransfer" +
130145
"@" + hexaTokenIdentifier +

Assets/ElrondUnityTools/Scripts/ESDTToken.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
using Erdcsharp.Domain;
2+
13
namespace ElrondUnityTools
24
{
35
public class ESDTToken
@@ -18,5 +20,10 @@ public ESDTToken(string name, string identifier, int decimals)
1820
this.identifier = identifier;
1921
this.decimals = decimals;
2022
}
23+
24+
public Token ToToken()
25+
{
26+
return new Token(name, "AAA", decimals);
27+
}
2128
}
2229
}

0 commit comments

Comments
 (0)