Skip to content

Latest commit

 

History

History
55 lines (48 loc) · 1.99 KB

File metadata and controls

55 lines (48 loc) · 1.99 KB

Web Wallet documentation

About SDK

The library is used to connect to MultiversX Web Wallet and sign transactions.

How to install?

The content is delivered via nuget package:

RemarkableTools.Mx.WebWallet Package

Quick start guide

  1. Define the network provider which can be MainNet/DevNet/TestNet
IApiProvider provider = new ApiProvider(new ApiNetworkConfiguration(Network.DevNet));
  1. Define the Web Wallet
IWebWallet IWebWallet = new WebWallet(provider.NetworkConfiguration);
  1. Create transaction to sign
var networkConfig = await NetworkConfig.GetFromNetwork(provider);
var account = Account.From(await provider.GetAccount("USER_ACCOUNT_ADDRESS"));
var receiverAddress = Address.FromBech32("RECEIVER_ADDRESS");
var transactionRequest = EGLDTransactionRequest.EGLDTransfer(
        networkConfig,
        account,
        receiverAddress,
        ESDTAmount.EGLD("1"));
var transactionToSignUrl = IWebWallet.CreateTransactionToSignUrl(transactionRequest, "https://website.com");
  1. Navigate to transactionToSignUrl and sign the transaction
    *callback website address after signing transaction is https://website.com and is followed by some arguments ?TRANSACTION_ARGUMENTS

  2. Get the transaction from URL (https://website.com?TRANSACTION_ARGUMENTS)

WalletTransactionStatus status;
var transaction = IWebWallet.GetTransactionsFromUrl("https://website.com?TRANSACTION_ARGUMENTS", out status);
switch(status)
{
    case WalletTransactionStatus.TransactionsSigned:
        var response = await provider.SendTransactions(transaction);
        Console.WriteLine(response.TxHash);
        break;
    case WalletTransactionStatus.Cancelled:
        Console.WriteLine("Transaction was canceled");
        break;
    case WalletTransactionStatus.Unknown:
        Console.WriteLine("Some error occured");
        break;
}