Go to file
nabarun bb5223afda Add support for staking module tx MsgCreateValidator (#14)
Part of [laconicd testnet validator enrollment](https://www.notion.so/laconicd-testnet-validator-enrollment-6fc1d3cafcc64fef8c5ed3affa27c675)

Co-authored-by: Prathamesh Musale <prathamesh.musale0@gmail.com>
Co-authored-by: Adw8 <adwaitgharpure@gmail.com>
Reviewed-on: cerc-io/laconic-wallet#14
2024-08-09 09:41:46 +00:00
__tests__ Support SIWE using selected account (#61) 2024-03-28 11:10:55 +05:30
.bundle Create a basic react native app (#2) 2024-02-05 17:18:18 +05:30
.husky Add details to setup wallet connect in readme (#58) 2024-04-25 17:08:27 +05:30
android Load config values from env (#1) 2024-03-08 06:54:16 +00:00
ios Create a basic react native app (#2) 2024-02-05 17:18:18 +05:30
patches Patch ethers to reduce wallet creation time (#24) 2024-02-19 14:04:06 +05:30
scripts Add copy button for mnemonic after creating new wallet (#13) 2024-08-08 07:35:50 +00:00
src Add support for staking module tx MsgCreateValidator (#14) 2024-08-09 09:41:46 +00:00
.env.example Add laconicd as a default network in wallet (#9) 2024-07-29 12:55:50 +00:00
.eslintrc.js Handle incorrect RPC URL error and reject request (#112) 2024-04-25 17:08:27 +05:30
.gitignore Reset Add Network form after switching the network (#97) 2024-04-25 17:08:27 +05:30
.npmrc Add support for sending cosmos transactions (#116) 2024-07-04 18:36:20 +05:30
.prettierrc.js Add react-native-paper ui library (#7) 2024-02-12 18:51:03 +05:30
.watchmanconfig Create a basic react native app (#2) 2024-02-05 17:18:18 +05:30
app.json Change package name to com.laconic.wallet (#33) 2024-03-04 15:20:09 +05:30
babel.config.js Add polyfills for url and https packages (#120) 2024-07-09 14:36:59 +05:30
development.md Refactor wallet connect instance to use state variables (#8) 2024-07-29 12:13:15 +00:00
Gemfile Create a basic react native app (#2) 2024-02-05 17:18:18 +05:30
index.js Fix intents path to use namespace and chainId (#92) 2024-04-25 17:08:27 +05:30
jest.config.js Create a basic react native app (#2) 2024-02-05 17:18:18 +05:30
metro.config.js Support SIWE using selected account (#61) 2024-03-28 11:10:55 +05:30
package.json Add copy button for mnemonic after creating new wallet (#13) 2024-08-08 07:35:50 +00:00
react-native-config.d.ts Add laconicd as a default network in wallet (#9) 2024-07-29 12:55:50 +00:00
README.md Add support for sending cosmos transactions (#116) 2024-07-04 18:36:20 +05:30
tsconfig.json Refactor code for WalletConnect Integration (#59) 2024-03-18 10:57:20 +05:30
yarn.lock Add copy button for mnemonic after creating new wallet (#13) 2024-08-08 07:35:50 +00:00

laconic-wallet

Install

  • Install Node

  • Install version 17 of the Java SE Development Kit (JDK) (Clicking on the link will download the .deb file)

  • Install Android Studio

  • In the installation wizard check the following items:

    • Android SDK

    • Android SDK Platform

    • Android Virtual Device

  • Install Android SDK

    • Open Android Studio -> Configure -> SDK Manager -> SDK Platform Tab.

    • Check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 13 (Tiramisu) entry, then make sure the following items are checked:

      • Android SDK Platform 33

      • Intel x86 Atom_64 System Image or Google APIs Intel x86 Atom System Image

    • Select SDK Tools and check the box next to "Show Package Details"

    • Select Android SDK Build-Tools 33.0.0

    • Click Apply

  • Configure the ANDROID_HOME environment variable

  • Add the following lines to your $HOME/.bash_profile or $HOME/.bashrc (if you are using zsh then ~/.zprofile or ~/.zshrc) config file:

    export ANDROID_HOME=$HOME/Android/Sdk
    export PATH=$PATH:$ANDROID_HOME/emulator
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Type source $HOME/.bash_profile for bash or source $HOME/.zprofile to load the config into your current shell. Verify that ANDROID_HOME has been set by running

    echo $ANDROID_HOME
    
  • Check that the appropriate directories have been added to your path by running

    echo $PATH
    

Setup for laconic-wallet

  1. Clone the repository

    git clone git@git.vdb.to:cerc-io/laconic-wallet.git
    
  2. Enter the project directory

    cd laconic-wallet
    
  3. Install dependencies

    yarn
    
  4. Setup .env

    • Copy and update .env

      cp .env.example .env
      
    • In the .env file add your WalletConnect project id. You can generate your own ProjectId at https://cloud.walletconnect.com

      WALLET_CONNECT_PROJECT_ID=39bc93c...
      
  5. Add SDK directory to project

    • Inside the android directory, create a file local.properties and add your Android SDK path
      sdk.dir = /home/USERNAME/Android/Sdk
      
      Where USERNAME is your linux username
  6. Set up the Android device

  7. Start the application

    yarn start
    
  8. Press a to run the application on android

Flow for the app

  • User scans QR Code on dApp from wallet to connect

  • After clicking on pair button, dApp emits an event 'session_proposal'

  • Wallet listens to this event and opens a modal to either accept or reject the proposal

    • Modal shows information about methods, chains and events the dApp is requesting for

      • This information is taken from namespaces object received from dApp
  • On accepting, wallet sends the namespaces object with information about the accounts that are present in the wallet in response

  • Once the session is established, it is shown on the active sessions page

  • The wallet can be connected to multiple dApps

signature-requester-app

Setup

  1. Clone the repository

    git clone git@git.vdb.to:cerc-io/signature-requester-app.git
    
  2. Enter the project directory

    cd signature-requester-app
    
  3. Install dependencies

    yarn
    
  4. Start the application

    yarn start
    
  5. Press a to run the application on android

You should see both the apps running on your emulator or physical device

Run

  1. Open the app

  2. Add details about chain and address you wish to sign the message with

    • You can see the URL based on the data you entered
  3. Click on Open Link button to open Laconic Wallet and sign message

    • If this does not work, follow steps below

      • Open Laconic Wallet app settings

      • Open Open by default section

      • Click on Add link

      • You should see wallet.laconic.com link

      • Once selected, signature-requester-app should work as intended

Troubleshooting

  • To clean the build

    cd android
    
    ./gradlew clean