eHMND to HMND

The guide to swap eHMND to HMND.

Tools

  • Environment to deploy ethereum smart contracts like Remix IDE

  • Ethereum supported wallet like Metamask

Steps

  1. Open the Remix IDE and create a file containing the currency swap precompile interface.

// SPDX-License-Identifier: UNLICENSED

pragma solidity >=0.7.0 <0.9.0;

/**
 * @title Currency Swap Interface
 *
 * An interface enabling swapping the funds from EVM accounts to
 * native Substrate accounts.
 *
 * Address: 0x0000000000000000000000000000000000000900
 */
interface CurrencySwap {
  /**
   * Transfer the funds from an EVM account to native substrate account.
   * Selector: 76467cbd
   *
   * @param nativeAddress The native address to send the funds to.
   * @return success Whether or not the swap was successful.
   */
  function swap(bytes32 nativeAddress) external payable returns (bool success);
}
  1. Go to compile tab and compile the interface.

  2. Go to deploy tab.

  3. Properly select ENVIRONMENT, ACCOUNT and CONTRACT fields.

  4. Use 0x0000000000000000000000000000000000000900 value as an input for Deploy tab at At Address field.

  5. Click on Deploy tab and open Deployed Contracts tab. You will be able to see a swap call. The call accepts bytes32 nativeAddress as an argument to send currency to.

  6. Open Utilities tab at Polkadot-JS apps connected to Humanode Israfel Testnet.

  7. Convert your native HMND address into bytes32 value.

  8. Copy the value from the hex public key field and go back to Remix IDE. Input the value as an argument for the swap call. Input the amount you would like to swap into VALUE field. Keep in mind, that you should input the amount with 18 point decimals value in case using Wei.

  9. Finally, perform the swap by clicking on the swap call and confirm the transaction.

  10. Check the balance on the Polkadot-JS app.

Last updated