Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Assets/SequenceSDK/Pay/Tests/Transak/TransakOnRampTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ public async Task TestGetSupportedCountries()
}

[Test]
public void TestGetTransakLink()
public async Task TestGetTransakLink()
{
TransakOnRamp onRamp = new TransakOnRamp("0xc683a014955b75F5ECF991d4502427c8fa1Aa249");
string transakOnRampLink = onRamp.GetTransakLink();
string transakOnRampLink = await onRamp.GetTransakLink();
Assert.IsNotNull(transakOnRampLink);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public async Task OnRamp()

public async Task<string> GetOnRampLink()
{
return _onRamp.GetTransakLink();
return await _onRamp.GetTransakLink();
}

public Task<string> GetNftCheckoutLink(CollectibleOrder order, ulong amount, NFTType nftType = NFTType.ERC721,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,25 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Sequence.Config;
using Sequence.Utils;
using UnityEngine;
using UnityEngine.Networking;
using HttpClient = Sequence.Utils.HttpClient;

namespace Sequence.Pay.Transak
{
public class TransakOnRamp
{
private readonly Dictionary<string, string> _headers = new()
{
{ "X-Access-Key", SequenceConfig.GetConfig().BuilderAPIKey }
};

private Address _walletAddress;

public TransakOnRamp(Address walletAddress)
Expand Down Expand Up @@ -78,16 +86,45 @@ public static async Task<SupportedCountry[]> GetSupportedCountries()
}
}

public string GetTransakLink(string fiatCurrency = "USD", string defaultFiatAmount = "50", string defaultCryptoCurrency = AddFundsSettings.DefaultCryptoCurrency, string networks = AddFundsSettings.DefaultNetworks, bool disableWalletAddressForm = true)
public async Task<string> GetTransakLink(string fiatCurrency = "USD", string defaultFiatAmount = "50", string defaultCryptoCurrency = AddFundsSettings.DefaultCryptoCurrency, string networks = AddFundsSettings.DefaultNetworks, bool disableWalletAddressForm = true)
{
AddFundsSettings addFundsSettings = new AddFundsSettings(_walletAddress, fiatCurrency, defaultFiatAmount, defaultCryptoCurrency, networks);
OnOffRampQueryParameters queryParameters = new OnOffRampQueryParameters(_walletAddress, addFundsSettings, disableWalletAddressForm);
return $"https://global.transak.com?{queryParameters.AsQueryParameters()}";

return await GetTransakWidgetUrl(queryParameters);
}

public void OpenTransakLink(string fiatCurrency = "USD", string defaultFiatAmount = "50", string defaultCryptoCurrency = AddFundsSettings.DefaultCryptoCurrency, string networks = AddFundsSettings.DefaultNetworks, bool disableWalletAddressForm = true)
public async Task OpenTransakLink(string fiatCurrency = "USD", string defaultFiatAmount = "50", string defaultCryptoCurrency = AddFundsSettings.DefaultCryptoCurrency, string networks = AddFundsSettings.DefaultNetworks, bool disableWalletAddressForm = true)
{
var url = await GetTransakLink(fiatCurrency, defaultFiatAmount, defaultCryptoCurrency, networks,
disableWalletAddressForm);

Application.OpenURL(url);
}

private async Task<string> GetTransakWidgetUrl(OnOffRampQueryParameters @params)
{
Application.OpenURL(GetTransakLink(fiatCurrency, defaultFiatAmount, defaultCryptoCurrency, networks, disableWalletAddressForm));
const string path = "rpc/API/TransakGetWidgetURL";

#if SEQUENCE_DEV_STACK || SEQUENCE_DEV
const string baseUrl = "https://dev-api.sequence.app";
#else
const string baseUrl = "https://api.sequence.app";
#endif

var args = new Dictionary<string, object>
{
{ "params", @params }
};

var client = new HttpClient(baseUrl);

var response = await client.SendPostRequest<
Dictionary<string, object>,
Dictionary<string, string>
>(path, args, _headers);

return response.TryGetValue("url", out var url) ? url : string.Empty;
}
}
}
2 changes: 1 addition & 1 deletion Packages/Sequence-Unity/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "xyz.0xsequence.waas-unity",
"version": "5.0.11",
"version": "5.0.12",
"displayName": "Sequence SDK",
"description": "A Unity SDK for Sequence APIs",
"unity": "2021.3",
Expand Down
Loading