@fr0ntier-x/wallet-sdk v0.9.4
Fr0ntierX Wallet SDK
The @fr0ntierx/wallet-sdk
offers a straightforward method for integrating the FrontierX Wallet API into web applications that use ethers.js. This SDK includes a custom signer, enabling the signing of messages and transactions using the FrontierX Wallet.
Installation
To install the Wallet SDK use the following command for npm
:
npm install @fr0ntierx/wallet-sdk
or for yarn
:
yarn add @fr0ntierx/wallet-sdk
Usage
Initialization
Before you can sign messages and transactions, you need to initialize a Fr0ntierXWalletSigner
object. You will need to following parameters:
- Wallet API URL: the URL of the wallet instace you want to use
- Wallet API Key: your wallet API key
- ID token: a valid ID token created from a whitelisted OAuth client associated with the API key
- (optional) Ethers provider: an ethers provider for interaction with the blockchain
import { Fr0ntierXWalletSigner } from "@fr0ntierx/wallet-sdk";
const signer = new Fr0ntierXWalletSigner("https://wallet-api-dev.fr0ntierx.xyz", "demo", idToken);
Updating the OIDC Token
If the ID token of the user expires, you can update itL
signer.updateOIDCToken(newIdToken);
Getting Address
Retrieve the address associated with the current ID token.
const address = await signer.getAddress();
console.log(address);
Signing a Message
Sign a message using the user's Fr0ntierX Wallet.
const message = "Hello, Fr0ntierX!";
const signedMessage = await signer.signMessage(message);
console.log(signedMessage);
Signing Typed Data
Sign typed data using the user's Fr0ntierX Wallet.
const domain = {}; // your domain data
const types = {}; // your type data
const value = {}; // the data to be signed
const signedTypedData = await signer._signTypedData(domain, types, value);
console.log(signedTypedData);
Signing a Transaction
Sign a transaction using the user's Fr0ntierX Wallet.
const transaction = {
to: "0x...", // recipient address
value: ethers.utils.parseEther("1.0"), // 1 ether
// ... other transaction data
};
const signedTransaction = await signer.signTransaction(transaction);
console.log(signedTransaction);
Contributions
We welcome contributions from the community. If you have any suggestions, bug reports, or feature requests, please open an issue on our GitHub repository.
License
This project is licensed under the MIT License.