1.1.5 • Published 2 years ago

@nativ3/wallet-sdk v1.1.5

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

Available Scripts

In the project directory, you can run:

Example

npm local or yarn local

Runs the app in the development mode.\ Open http://localhost:8888 to view it in the browser.

Build

npm run build or yarn build

Install

npm install @nativ3/wallet-sdk or yarn add @nativ3/wallet-sdk

Import

import N3Wallet, {WALLET_EVENTS, Wallet} from '@nativ3/wallet-sdk'

Use Wallet Sdk

import N3Wallet, {WALLET_EVENTS} from '@nativ3/wallet-sdk'
const initSDKEvent = () => {
    N3Wallet.Instance.on(WALLET_EVENTS.PUBLIC_WALLET, (wallet) => {
        accountDom.innerText = `account: ${wallet.account}`
        initWalletEvent(wallet)
    })
    N3Wallet.Instance.on(WALLET_EVENTS.CLOSE_MODAL, () => {
        console.log(WALLET_EVENTS.CLOSE_MODAL)
    })
    N3Wallet.Instance.on(WALLET_EVENTS.OPEN_MODAL, () => {
        console.log(WALLET_EVENTS.OPEN_MODAL)
    })
    N3Wallet.Instance.on(WALLET_EVENTS.CHAIN_CHANGED, (chainId) => {
        console.log(`${WALLET_EVENTS.CHAIN_CHANGED} = ${chainId}`)
    })
    N3Wallet.Instance.on(WALLET_EVENTS.ACCOUNT_CHANGED, (account) => {
        console.log(`${WALLET_EVENTS.ACCOUNT_CHANGED} = ${account}`)
    })
    N3Wallet.Instance.on(WALLET_EVENTS.ACCOUNTS_CHANGED, (accountArray) => {
        console.log(`${WALLET_EVENTS.ACCOUNTS_CHANGED} = ${accountArray}`)
    })
}
const initPage = async () => {
    accountDom.innerText = `Loading...`
    initSDKEvent()
    const result = await N3Wallet.Instance.init({
        buildEnv: 'development',
        defaultChainId: '806'
    })
    console.log(`Init ${result ? 'Successful!' : 'Fail!'}`)
}
initPage()

N3Wallet Methods

export default class N3Wallet extends EventEmitter {
    static get Instance(): any;
    init(params: WalletParams): Promise<true | undefined>;
    getChainId(): Promise<number>;
    switchChain(network: Network): Promise<number | string | void>;
    addChain(network: Network): Promise<number | string | void>;
    addToken(token: {
        token_address: string;
        token_symbol: string;
        token_decimals: string;
        token_icon: string;
    }): Promise<number | string | void>;
    openWallet(): void;
    closeWallet(): void;
    getProvider(): any;
    destroy(): Promise<void>;
    disconnect(): Promise<void>;
}

Provider

const provider = N3Wallet.Instance.getProvider()
// or
N3Wallet.Instance.on(WALLET_EVENTS.PUBLIC_WALLET, (wallet: Wallet) => {
    const provider = wallet.provider
    // wallet = {
    //     loginType: '',
    //     account: '',
    //     provider: window.ethereum,
    //     userInfo: {
    //         name: string
    //         email: string
    //     } | null,
    //     client: any | null
    // }
})

Wallet

export interface Wallet {
    loginType: string
    account: string[]
    provider: any
    userInfo: {
        name: string
        email: string
    } | null
    client: any | null
}

WALLET_EVENTS

const WALLET_EVENTS = {
    PUBLIC_WALLET: 'publicWallet',
    CLOSE_MODAL: 'closeModal',
    OPEN_MODAL: 'openModal',
    ACCOUNTS_CHANGED: 'accountsChanged', // account array
    ACCOUNT_CHANGED: 'accountChanged', // Current account using wallet
    CHAIN_CHANGED: 'chainChanged'
}
1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago