Skip to content

DharitriOne/drt-sdk-js-web-wallet-provider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

drt-sdk-js-web-wallet-provider

Signing provider for dApps: Dharitri (Web) Wallet.

Documentation is available on docs.dharitri.org, while an integration example can be found here.

Note that we recommend using dapp-core instead of integrating the signing provider on your own.

Distribution

npm

Installation

npm install @dharitri-sdk/web-wallet-provider

Building the library

In order to compile the library, run the following:

npm install
npm run compile

Usage Examples

####Login

export async function login() {
let provider = createProvider();
await provider.login();
}

####Sign Transactions

export async function signTransactions() {
let provider = createProvider();

    let firstTransaction = {
        toPlainObject: function () {
            return {
                nonce: 42,
                value: "1",
                receiver: "moa1uv40ahysflse896x4ktnh6ecx43u7cmy9wnxnvcyp7deg299a4sqh5mtjd",
                gasPrice: 1000000000,
                gasLimit: 70000,
                data: Buffer.from("hello").toString("base64"),
                chainID: "T",
                version: 1
            };
        }
    };

    let secondTransaction = {
        toPlainObject: function () {
            return {
                nonce: 43,
                value: "1",
                receiver: "moa1uv40ahysflse896x4ktnh6ecx43u7cmy9wnxnvcyp7deg299a4sqh5mtjd",
                gasPrice: 1000000000,
                gasLimit: 70000,
                data: Buffer.from("world").toString("base64"),
                chainID: "T",
                version: 1
            };
        }
    };

    await provider.signTransactions([firstTransaction, secondTransaction]);
}

In production, if needed, one can use sdk-core' Transaction.fromPlainObject() to wrap the plain transaction objects returned by the provider.

For example:

let plainSignedTransactions = provider.getTransactionsFromWalletUrl();
let transactions = plainSignedTransactions.map(item => Transaction.fromPlainObject(item));

Show signed messages

export async function showSignedTransactions() {
    let provider = createProvider();
    let plainSignedTransactions = provider.getTransactionsFromWalletUrl();
    alert(JSON.stringify(plainSignedTransactions, null, 4));
}

Logout

export async function logout() {
    let provider = createProvider();
    await provider.logout({ callbackUrl: window.location.href, redirectDelayMilliseconds: 10 });
}

About

Signing provider for dApps: Dharitri (Web) Wallet.

Resources

License

Stars

Watchers

Forks

Packages

No packages published