CloudWalletPlugin
class CloudWalletPlugin::MonoBehaviourMain-class wrapping CloudWallet functionallity in a Unity MonoBehaviour
Summary
public bool IsInitialized
Boolean signaling if the plugin was initialized
public bool IsLoggedIn
Boolean signaling if a User is logged in
public string Account
String containing the AccountName of the logged-in User if a user is logged in
public Action<CloudWalletInitEvent> OnInit
Event invoked when WaxJs was initialized
public Action<CloudWalletLoginEvent> OnLoggedIn
Event invoked when a User successfully logged in
public Action<CloudWalletSignEvent> OnTransactionSigned
Event invoked when a transaction was signed
public Action<CloudWalletLogoutEvent> OnLoggedIn
Event invoked when a User logged out
public Action<CloudWalletErrorEvent> OnError
Event invoked when an Error occured
public Action<CloudWalletCreateInfoEvent> OnInfoCreated
Event invoked when CreateInfo was called successfully
Members
public bool IsInitialized
Boolean signaling if the plugin was initialized
public bool IsLoggedIn
Boolean signaling if a User is logged in
public string Account
String containing the AccountName of the logged-in User if a user is logged in
Events
public Action<CloudWalletInitEvent> OnInit
Event invoked when WaxJs was initialized
Example:
_cloudWalletPlugin.OnInit += (initEvent) =>
{
Debug.Log("WaxJs Initialized");
};public Action<CloudWalletLoginEvent> OnLoggedIn
Event invoked when a User successfully logged in
Example:
_cloudWalletPlugin.OnLoggedIn += (loginEvent) =>
{
Account = loginEvent.Account;
Debug.Log($"{loginEvent.Account} Logged In");
};public Action<CloudWalletSignEvent> OnTransactionSigned
Event invoked when a transaction was signed
Example:
_cloudWalletPlugin.OnTransactionSigned += (signEvent) =>
{
Debug.Log($"Transaction signed: {JsonConvert.SerializeObject(signEvent.Result)}");
};public Action<CloudWalletLogoutEvent> OnLoggedIn
Event invoked when a User logged out
Example:
_cloudWalletPlugin.OnLoggedIn += (loginEvent) =>
{
Account = loginEvent.Account; // class-Level variable
Debug.Log($"{loginEvent.Account} Logged In");
};public Action<CloudWalletErrorEvent> OnError
Event invoked when an Error occured
Example:
_cloudWalletPlugin.OnError += (errorEvent) =>
{
Debug.Log($"An Error occured: {errorEvent.Message}");
};public Action<CloudWalletCreateInfoEvent> OnInfoCreated
Event invoked when CreateInfo was called successfully
Example:
_cloudWalletPlugin.OnInfoCreated += (infoCreatedEvent) =>
{
Debug.Log($"CreateInfoResult: {JsonConvert.SerializeObject(infoCreatedEvent.Result)}");
};Methods
public void InitializeWebGl(string rpcAddress, bool tryAutoLogin = true, string userAccount = null, string pubKeys = null, string apiSigner = null, string eosApiArgs = null, bool freeBandwidth = true, bool feeFallback = true, string verifyTx = null, string metricsUrl = null, bool returnTempAccounts = false)
Initialize the Cloud Wallet Plugin for WebGL, see WaxJs on Github for more information
Has no Effect on other Build-Targets.
RECOMMENDED Way to use this Plugin
Example:
#if UNITY_WEBGL
_cloudWalletPlugin.InitializeWebGl("https://wax.greymass.com");
#endifParameters
rpcAddressThe WAX public node API endpoint URL you wish to connect to. RequiredtryAutoLoginAlways attempt to autologin when your dapp starts up. Default trueuserAccountUser account to start up with. OptionalpubKeysPublic keys for the userAccount manually specified above. Optional.apiSignerCustom signing logic. Note that free bandwidth will not be provided to custom signers. Default OptionaleosApiArgsCustom eosjs constructor arguments to use when instantiating eosjs. OptionalfreeBandwidthRequest bandwidth management from WAX. Default truefeeFallbackAdd wax fee action if user exhausted their own bandwidth, the free boost. Default trueverifyTxIGNOREDmetricsUrlused by WAXIO to gather metrics about failed transaction, times it takes to load a transaction. Default OptionalreturnTempAccountsusing this flag will return temporary accounts or accounts that have signed up for a cloud wallet but not paid the introduction fee to get a blockchain account created. When this is set to true, using the doLogin function will return blockchain account name that may not exist in the blockchain but it will also return an extra boolean flag called isTemp. If this flag is true it is a temporary account, it does not exist in the blockchain yet. If this constructor option is false then only accounts which have been activated and have a blockchain account will be returned.
public void InitializeDesktop(uint localPort, string wcwSigningWebsiteUrl, bool hostLocalWebsite = true, string indexHtmlDataPath = null, string waxJsDataPath = null)
Initialize the Cloud Wallet Plugin for use on Desktops (Windows, MAC, Linux)
Has no Effect on other Build-Targets. Useful for local debugging.
USAGE NOT RECOMMENDED in Production as it uses a local HttpListener and works with Localhost instead of a real domain while usage of a real domain is supported but comes with security risks
Example:
#if UNTIY_ANDROID || UNITY_IOS
_cloudWalletPlugin.InitializeDesktop(1234, "http://127.0.0.1:1234/index.html");
#endifParameters
localPortThe Port to be used in the HttpListenerwcwSigningWebsiteUrlNOT RECOMMENDED. Allows the Usage of a website/domain instead of localhost, website needs to contain the custom methods from the custom index.html to make Callbacks to the UnityClient. Choosing this options comes with great security risks. Optional.hostLocalWebsiteDefault true - set to false if a website/domain should be used instead. Optional.indexHtmlDataPathAllows to provide a custom path to the index.html to be hosted via the HttpListener on the local device. Optional.waxJsDataPathAllows to provide a custom path to the waxjs.js-file to be hosted via the HttpListener on the local device. Optional.
public void InitializeMobile(uint localPort, string wcwSigningWebsiteUrl, bool hostLocalWebsite = true, string indexHtmlString = null, string waxJsString = null)
Initialize the Cloud Wallet Plugin for Mobile (Android, iOS)
Has no Effect on other Build-Targets. Useful for local debugging and as temporary Solution until Wax Cloud Wallet updates for a better and more secure integration are implemented.
USAGE NOT RECOMMENDED in Production as it uses a local HttpListener and works with Localhost instead of a real domain while usage of a real domain is supported but comes with security risks
Uses Android Chrome Custom Tabs and iOS SFSafariViewController to visualize the Interaction with the WAX Cloud Wallet.
UniversalSDK (Github-Link Github-AssetStore-Link) needs to be installed for Mobile support
Example:
#if UNTIY_ANDROID || UNITY_IOS
_cloudWalletPlugin.InitializeMobile(1234, "http://127.0.0.1:1234/index.html", true, indexHtmlString, waxJsString);
#endifParameters
localPortThe Port to be used in the HttpListenerwcwSigningWebsiteUrlNOT RECOMMENDED. Allows the Usage of a website/domain instead of localhost, website needs to contain the custom methods from the custom index.html to make Callbacks to the UnityClient. Choosing this options comes with great security risks. Optional.hostLocalWebsiteDefault true - set to false if a website/domain should be used instead. Optional.indexHtmlStringAllows to provide a custom index.html-file as string to be hosted via the HttpListener on the local device. Needs to be provided as string due to encryption and compression on Mobile Devices. Optional.waxJsStringAllows to provide a custom waxjs.js-file as string to be hosted via the HttpListener on the local device. Needs to be provided as string due to encryption and compression on Mobile Devices. Optional.
Last updated