UNPKG

@asset-projects/ethers-wrapper

Version:
91 lines (90 loc) 3.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getJsonRpcSigner = exports.connectWallet = exports.getWalletSigner = exports.createHDWalletFromMnemonic = exports.getWalletFromPrivateKey = exports.getWalletFromMnemonic = exports.createWallet = exports.getVoidSigner = void 0; const ethers_1 = require("ethers"); /** * @param address string; 0xb3A566Ff63cE... * @param provider ethers.providers.BaseProvider | ethers.providers.JsonRpcProvider | ethers.providers.InfuraProvider | ethers.providers.AlchemyProvider | ethers.providers.AnkrProvider; * @returns ethers.VoidSigner; */ const getVoidSigner = (address, provider) => { if (!ethers_1.utils.isAddress(address)) return; const signer = new ethers_1.ethers.VoidSigner(address, provider); return signer; }; exports.getVoidSigner = getVoidSigner; /** * @returns ethers.Wallet; */ const createWallet = () => { return ethers_1.ethers.Wallet.createRandom(); }; exports.createWallet = createWallet; /** * @param mnemonic string; term brand sight ... * @param index number | undefined; default: 0 * @returns ethers.Wallet | undefined; */ const getWalletFromMnemonic = (mnemonic, index = 0) => { if (!ethers_1.ethers.utils.isValidMnemonic(mnemonic)) return; const wallet = ethers_1.ethers.Wallet.fromMnemonic(mnemonic, `m/44'/60'/0'/0/${index}`); return wallet; }; exports.getWalletFromMnemonic = getWalletFromMnemonic; /** * @param privateKey string: 0x4cca...; * @returns ethers.Wallet | undefined; */ const getWalletFromPrivateKey = (privateKey) => { try { const wallet = new ethers_1.ethers.Wallet(privateKey); return wallet; } catch (_a) { return; } }; exports.getWalletFromPrivateKey = getWalletFromPrivateKey; /** * @param mnemonic string; term brand sight ... * @param index number | undefined; default: 0 * @returns ethers.utils.HDNode | undefined; */ const createHDWalletFromMnemonic = (mnemonic, index = 0) => { if (!ethers_1.ethers.utils.isValidMnemonic(mnemonic)) return; const hdnode = ethers_1.ethers.utils.HDNode.fromMnemonic(mnemonic); const hdWallet = hdnode.derivePath(`m/44'/60'/0'/0/${index}`); return hdWallet; }; exports.createHDWalletFromMnemonic = createHDWalletFromMnemonic; /** * @param privateKey string: 0x4cca...; * @param provider ethers.providers.BaseProvider | ethers.providers.JsonRpcProvider | ethers.providers.InfuraProvider | ethers.providers.AlchemyProvider | ethers.providers.AnkrProvider; * @returns ethers.Wallet; */ const getWalletSigner = (privateKey, provider) => { return new ethers_1.ethers.Wallet(privateKey, provider); }; exports.getWalletSigner = getWalletSigner; /** * @param wallet ethers.Wallet; * @param provider ethers.providers.BaseProvider | ethers.providers.JsonRpcProvider | ethers.providers.InfuraProvider | ethers.providers.AlchemyProvider | ethers.providers.AnkrProvider; * @returns ethers.Wallet; */ const connectWallet = (wallet, provider) => { const walletSigner = wallet.connect(provider); return walletSigner; }; exports.connectWallet = connectWallet; /** * @param provider ethers.providers.Web3Provider; * @returns ethers.providers.JsonRpcSigner; */ const getJsonRpcSigner = (provider) => { const signer = provider.getSigner(); return signer; }; exports.getJsonRpcSigner = getJsonRpcSigner;