Go to file
IshaVenikar 820ac62615 Fix README (#114)
* Fix readme

* Remove fullstops and colons

* Don't link .env
2024-04-25 17:08:27 +05:30
__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
src Handle incorrect RPC URL error and reject request (#112) 2024-04-25 17:08:27 +05:30
.env.example Simulate gas limit for cosmos transactions (#111) 2024-04-25 17:08:27 +05:30
.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
.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 Integrate functions with UI (#14) 2024-02-14 19:14:21 +05:30
development.md Add details to setup wallet connect in readme (#58) 2024-04-25 17:08:27 +05:30
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 details to setup wallet connect in readme (#58) 2024-04-25 17:08:27 +05:30
react-native-config.d.ts Simulate gas limit for cosmos transactions (#111) 2024-04-25 17:08:27 +05:30
README.md Fix README (#114) 2024-04-25 17:08:27 +05:30
tsconfig.json Refactor code for WalletConnect Integration (#59) 2024-03-18 10:57:20 +05:30
yarn.lock Add details to setup wallet connect in readme (#58) 2024-04-25 17:08:27 +05:30

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 PLatfrom 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. Set up the Android device

  6. Start the application

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

Setup for signature-requester-app

  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

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

Troubleshooting

  • To clean the build

    cd android
    
    ./gradlew clean