Skip to content

Commit 6858297

Browse files
committed
bsc integration
1 parent a85c4b2 commit 6858297

File tree

5 files changed

+27
-37
lines changed

5 files changed

+27
-37
lines changed

Phantasma.API/NexusAPI.cs

+19-18
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@ private static string ExternalHashToString(string platform, Hash hash, string sy
474474
result = result.Substring(0, 40);
475475
break;
476476

477-
case "ethereum":
477+
default:
478478
result = result.Substring(0, 40);
479479
break;
480480
}
@@ -2293,7 +2293,8 @@ public IAPIResult SettleSwap([APIParameter("Name of platform where swap transact
22932293
}
22942294

22952295
[APIInfo(typeof(SwapResult[]), "Returns platform swaps for a specific address.", false, 0, true)]
2296-
public IAPIResult GetSwapsForAddress([APIParameter("Address or account name", "helloman")] string account, bool extended = false)
2296+
public IAPIResult GetSwapsForAddress([APIParameter("Address or account name", "helloman")] string account,
2297+
string platform, bool extended = false)
22972298
{
22982299
if (TokenSwapper == null)
22992300
{
@@ -2302,23 +2303,23 @@ public IAPIResult GetSwapsForAddress([APIParameter("Address or account name", "h
23022303

23032304
Address address;
23042305

2305-
if (Address.IsValidAddress(account))
2306-
{
2307-
address = Address.FromText(account);
2308-
}
2309-
else
2310-
if (Pay.Chains.NeoWallet.IsValidAddress(account))
2311-
{
2312-
address = Pay.Chains.NeoWallet.EncodeAddress(account);
2313-
}
2314-
else
2315-
if (Pay.Chains.EthereumWallet.IsValidAddress(account))
2316-
{
2317-
address = Pay.Chains.EthereumWallet.EncodeAddress(account);
2318-
}
2319-
else
2306+
switch (platform)
23202307
{
2321-
address = Nexus.LookUpName(Nexus.RootStorage, account);
2308+
case DomainSettings.PlatformName:
2309+
address = Address.FromText(account);
2310+
break;
2311+
case Pay.Chains.NeoWallet.NeoPlatform:
2312+
address = Pay.Chains.NeoWallet.EncodeAddress(account);
2313+
break;
2314+
case Pay.Chains.EthereumWallet.EthereumPlatform:
2315+
address = Pay.Chains.EthereumWallet.EncodeAddress(account);
2316+
break;
2317+
case Pay.Chains.BSCWallet.BSCPlatform:
2318+
address = Pay.Chains.BSCWallet.EncodeAddress(account);
2319+
break;
2320+
default:
2321+
address = Nexus.LookUpName(Nexus.RootStorage, account);
2322+
break;
23222323
}
23232324

23242325
if (address.IsNull)

Phantasma.Blockchain/Contracts/InteropContract.cs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using Phantasma.Numerics;
55
using Phantasma.Storage;
66
using Phantasma.Storage.Context;
7-
using System.Diagnostics.Tracing;
87
using System.Linq;
98

109
namespace Phantasma.Blockchain.Contracts

Phantasma.Domain/DomainSettings.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public static class DomainSettings
9595
public const string PhantomForceOrganizationName = "phantom_force";
9696

9797
public static readonly BigInteger PlatformSupply = UnitConversion.ToBigInteger(100000000, FuelTokenDecimals);
98-
public static readonly string PlatformName = "phantasma";
98+
public const string PlatformName = "phantasma";
9999

100100
public static readonly int ArchiveMinSize = 64; // in bytes
101101
public static readonly int ArchiveMaxSize = 104857600; //100mb

Phantasma.Pay/Chains/BSCWallet.cs

+1-17
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,7 @@ public override void MakePayment(string symbol, decimal amount, string targetAdd
2727

2828
public override void SyncBalances(Action<bool> callback)
2929
{
30-
_balances.Clear();
31-
32-
var url = $"https://api.blockcypher.com/v1/eth/main/addrs/{this.Address}/balance";
33-
JSONRequest(url, (root) =>
34-
{
35-
if (root == null)
36-
{
37-
callback(false);
38-
return;
39-
}
40-
41-
var temp = root.GetString("balance");
42-
var n = BigInteger.Parse(temp);
43-
var amount = UnitConversion.ToDecimal(n, 18);
44-
_balances.Add(new WalletBalance("ETH", amount));
45-
callback(true);
46-
});
30+
throw new NotImplementedException();
4731
}
4832

4933
protected override string DeriveAddress(PhantasmaKeys keys)

Phantasma.Simulator/NexusSimulator.cs

+6
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ public NexusSimulator(Nexus nexus, PhantasmaKeys ownerKey, int seed, Logger logg
109109
var ethText = Phantasma.Ethereum.EthereumKey.FromWIF(ethKeys.ToWIF()).Address;
110110
var ethAddress = Phantasma.Pay.Chains.EthereumWallet.EncodeAddress(ethText);
111111

112+
var bscPlatform = Pay.Chains.BSCWallet.BSCPlatform;
113+
var bscKeys = InteropUtils.GenerateInteropKeys(_owner, Nexus.GetGenesisHash(Nexus.RootStorage), bscPlatform);
114+
var bscText = Phantasma.Ethereum.EthereumKey.FromWIF(bscKeys.ToWIF()).Address;
115+
var bscAddress = Phantasma.Pay.Chains.BSCWallet.EncodeAddress(bscText);
116+
112117
// only create all this stuff once
113118
if (!nexus.PlatformExists(nexus.RootStorage, neoPlatform))
114119
{
@@ -126,6 +131,7 @@ public NexusSimulator(Nexus nexus, PhantasmaKeys ownerKey, int seed, Logger logg
126131
GenerateCustomTransaction(_owner, 0, () => new ScriptBuilder().AllowGas(_owner.Address, Address.Null, MinimumFee, 9999).
127132
CallInterop("Nexus.CreatePlatform", _owner.Address, neoPlatform, neoText, neoAddress, "GAS").
128133
CallInterop("Nexus.CreatePlatform", _owner.Address, ethPlatform, ethText, ethAddress, "ETH").
134+
CallInterop("Nexus.CreatePlatform", _owner.Address, bscPlatform, bscText, bscAddress, "BNB").
129135
SpendGas(_owner.Address).EndScript());
130136

131137
var orgFunding = UnitConversion.ToBigInteger(1863626, DomainSettings.StakingTokenDecimals);

0 commit comments

Comments
 (0)