Skip to content

Latest commit

 

History

History
80 lines (50 loc) · 2.83 KB

README.md

File metadata and controls

80 lines (50 loc) · 2.83 KB

Ledger Paraswap Plugin

This is a plugin for the Ethereum application which helps parsing and displaying relevant information when signing a Paraswap transaction.

Prerequisite

Be sure to have your environment correctly set up (see Getting Started) and ledgerblue and installed.

If you want to benefit from vscode integration, it's recommended to move the toolchain in /opt and set BOLOS_ENV environment variable as follows

BOLOS_ENV=/opt/bolos-devenv

and do the same with BOLOS_SDK environment variable

BOLOS_SDK=/opt/nanos-secure-sdk

Documentation

Need more information about the interface, the architecture, or general stuff about ethereum plugins? You can find more about them in the ethereum-app documentation.

Compilation

make DEBUG=1  # compile optionally with PRINTF
make load     # load the app on the Nano using ledgerblue

This plugin uses the ethereum-plugin-sdk. If there's an error while building, try running git pull --recurse-submodules in order to update the sdk. If this fixes your bug, please file an issue or create a PR to add the new sdk version :)

If you need to update the sdk, you will need to do it locally and create a PR on the ethereum-plugin-sdk repo.

Tests & Continuous Integration

The flow processed in GitHub Actions is the following:

RDP tests execution

You can test the plugin using a remote development host, if you deal with an unsupported CPU architecture (Ex.: Apple M1). Your server must have a GUI Desktop installed.

  1. Install first xrdp on remote linux VM (Ex: Ubuntu 20.04.1)
sudo apt install xrdp
  1. Set access control to none :
xhost +

access control disabled, clients can connect from any host

  1. Connect to the VM using Remote Desktop Client using port forwarding through ssh connection on port 3389. This will keep the security at maximum and avoid exposing the VM to the web on RDP port.
ssh -i PRIVATEKEY USERNAME@PUBLICIP -L 3389:localhost:3389
  1. Identify the Display index:
echo $DISPLAY

:10.0

  1. In the terminal where are executed the tests set Display to the RDP previous value, here :10.0:
export DISPLAY=:10.0
  1. After this setup you could run yarn test and see the emulator in the RDP display going through the test sequence.