@thirdweb-dev/wallets
Version:
<p align="center"> <br /> <a href="https://thirdweb.com"><img src="https://github.com/thirdweb-dev/js/blob/main/legacy_packages/sdk/logo.svg?raw=true" width="200" alt=""/></a> <br /> </p> <h1 align="center">thirdweb Wallet SDK</h1> <p align="center"> <a h
54 lines (48 loc) • 1.67 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var evm_wallets_abstract_dist_thirdwebDevWalletsEvmWalletsAbstract = require('../../abstract/dist/thirdweb-dev-wallets-evm-wallets-abstract.cjs.prod.js');
var ethers = require('ethers');
var sdk = require('@thirdweb-dev/sdk');
require('../../../../dist/defineProperty-b749763b.cjs.prod.js');
require('eventemitter3');
/**
* Wallet interface to connect using a Private Key
*
* @example
* ```ts
* import { PrivateKeyWallet } from "@thirdweb-dev/wallets";
*
* // can be any ethers.js signer
* const privateKey = process.env.PRIVATE_KEY;
* const wallet = new PrivateKeyWallet(privateKey);
* ```
*
* @wallet
*/
class PrivateKeyWallet extends evm_wallets_abstract_dist_thirdwebDevWalletsEvmWalletsAbstract.AbstractWallet {
/**
* Create instance of `PrivateKeyWallet`
*
* @param privateKey - The private key to use for signing transactions.
*
* @param chain - The chain or rpc url to connect to when querying the blockchain directly through this wallet.
*
* @param secretKey -
* Provide `secretKey` to use the thirdweb RPCs for given `chain`
*
* You can create a secret key from [thirdweb dashboard](https://thirdweb.com/create-api-key).
*/
constructor(privateKey, chain, secretKey) {
super();
this._signer = new ethers.ethers.Wallet(privateKey, chain ? sdk.getChainProvider(chain, {
secretKey
}) : undefined);
}
/**
* Get the [ethers.js signer](https://docs.ethers.io/v5/api/signer/) object used by the wallet
*/
async getSigner() {
return this._signer;
}
}
exports.PrivateKeyWallet = PrivateKeyWallet;