Fin Wallet
  • 🐳Fin Wallet For Sei
  • Product / Feature
    • Extension
    • Mobile App
  • User Guide
    • Basic
      • Mobile App
      • Extension
        • How to install Fin Wallet Extension
        • How to set up Fin Extension Wallet
        • How to add a new wallet
        • How to manage wallets
        • How to send or receive tokens
        • How to send or receive NFTs
        • How to add a custom token?
        • How to manage tokens
        • How to add view-only wallet
        • How to link Sei native with Sei EVM wallet address
        • General settings
    • FAQs
      • Balances Not Showing on My Wallet
      • I can't recover my wallet by using Seed Phrase.
      • What is the difference between Private Key and Seed Phrase?
      • Are there any service fees on Fin Wallet when I send tokens?
      • Where can I get Sei Testnet Token?
      • Can I change the wallet name?
      • How do I contact Fin Wallet for support?
  • Developer Guide
    • Dev Guide V1 - Sei DApps Integration
      • Keplr Override
        • Basic API
        • Use with CosmJs
        • Use with SecretJS
        • Suggest Chain
    • Dev Guide V2 - Sei DApps V2 Integration
  • Legal
    • Terms of Service
    • Privacy Policy
  • Official Links
    • Website
    • Twitter
    • Discord
    • Telegram
    • Blog
  • BRAND ASSETS
Powered by GitBook
On this page
  • Sei DApps Integration
  • To detect Fin Wallet Extension with Cosmos Base Chain
  • Notice: Fin Wallet Extension Testnet is under development and not available now.
  • To connect Fin Extension Wallet
  • To disconnect Fin Extension Wallet
  • To experience functions
  • To handle events
  1. Developer Guide

Dev Guide V1 - Sei DApps Integration

Welcome to Fin Extension Wallet Developer Guide. This documentation contains guides for developers to get started developing on Fin Extension Wallet.‌

Sei DApps Integration

Welcome to Fin Wallet Extension Developer Guide. This documentation contains guides for developers to get started developing on Fin Wallet Extension.‌

To detect Fin Wallet Extension with Cosmos Base Chain

To detect whether your browser is running fin Extension, please use:

if (window.fin) {
  console.log('Fin Wallet Extension is installed!');
}// Some code

Notice: Fin Wallet Extension Testnet is under development and not available now.

To connect Fin Extension Wallet

To connect Fin Wallet Extension means to access the user's [blockchain - like Cosmos] account(s).

// Connect only
const connection = window.fin.cosmos('<chain: String>');
// Connect & get accounts
connection.request({ method: 'cosmos_accounts' });
// Check whether dapp connected or not
connection.isConnected();// Some code

Currently chains support: ['terra','cosmos']

To disconnect Fin Extension Wallet

To disconnect fin Extension, please use:

connection.disconnect();

To experience functions

Once your account is connected, let's start experiencing more functions.‌

Get Current Account

return Promise<Array[String]>

  • If wallet can not be found, return [] instead of throw Error

connection.request({ method: 'cosmos_accounts' }).then((accounts) => {
  if (accounts[0]) {
    // Do something with accounts
  } else {
    // Wallet not found
  }
});

Check wallet whether exists or not

return Promise<{data: Boolean}>

const hasWallet = connection.request({ method: 'has_wallet', params: ['<chain>'] });

Execute contract function

return: Promise<Hash>

const signature = connection.request({
  method: 'cosmos_execute',
  params: ['<contractAddres: string>', '<executeMsg: string>'],
});

// Example Execute Contract
let cw20Contract =
  'juno10rktvmllvgctcmhl5vv8kl3mdksukyqf2tdveh8drpn0sppugwwqjzz30z';
let execMsg =
  '{"transfer":{"amount":"1","recipient":"juno1cx4nq77x3unvl2xsa9fmm9drxkexzkjnzwt2y7"}}';

const response = await connection.request({
  method: 'cosmos_execute',
  params: [cw20Contract, execMsg],
});

To handle events

List of events

Currently we only support some action event from wallet extension

connection.on('event_name', callback);
​//Example
connection.on('close', () => window.location.reload());
connection.on('accountsChanged', () => window.location.reload());
Events
Trigger

accountsChanged

Receive when active account changed in Extension

networkChanged

Receive when active network changed in Extension

chainChanged

Receive when active chain changed in Extension

disconnect

Receive when disconnect from Extension

close

Alias for disconnect event

Method
Description

Method

Description

on(event, callback)

Add event listener

off(event, callback)

Remove event listener

PreviousHow do I contact Fin Wallet for support?NextKeplr Override

Last updated 1 year ago