UNPKG

send-crypto

Version:

A minimal JavaScript library / wallet for sending crypto assets

84 lines 6.15 kB
import { ethers } from "ethers"; export const getEthersSigner = (privateKey, endpoint) => { // const provider = new HDWalletProvider(privateKey, endpoint); const provider = new ethers.providers.JsonRpcProvider(endpoint); const signer = new ethers.Wallet(privateKey, provider); return [signer, signer.address]; }; // Free tier - only used as a fallback. const defaultInfuraKey = "3b7a6c29f9c048d688a848899888aa96"; export var Network; (function (Network) { Network["Mainnet"] = "mainnet"; Network["Ropsten"] = "ropsten"; Network["Kovan"] = "kovan"; Network["Rinkeby"] = "rinkeby"; Network["G\u00F6rli"] = "goerli"; })(Network || (Network = {})); const publicEndpoints = { [Network.Mainnet]: "https://cloudflare-eth.com", [Network.Kovan]: "https://kovan.poa.network", [Network.Rinkeby]: "https://rinkeby-light.eth.linkpool.io", [Network.Görli]: "https://rpc.goerli.mudit.blog", }; export const getNetwork = (network) => { switch (network.toLowerCase()) { case "mainnet": case "main": return Network.Mainnet; case "kovan": return Network.Kovan; case "rinkeby": return Network.Rinkeby; case "görli": case "goerli": case "gorli": return Network.Görli; case "ropsten": case "testnet": default: return Network.Ropsten; } }; const infuraUrl = (network, infuraKey) => `https://${network}.infura.io/v3/${infuraKey}`; export const getEndpoint = (network, ethereumNode, infuraKey) => // Check if an ethereum node has been provided. ethereumNode || // Check if an infura key has been provided. (infuraKey && infuraUrl(network, infuraKey)) || // Check if there's a public endpoint. publicEndpoints[network] || // Use the public infura key. infuraUrl(network, defaultInfuraKey); // Create a `txConfig` object with only the relevant fields in the `options` // object. export const getTransactionConfig = (options) => { const txConfig = {}; // tslint:disable: no-object-mutation if (options.gasLimit) { txConfig.gasLimit = options.gasLimit; } if (options.gasPrice) { txConfig.gasPrice = options.gasPrice; } if (options.maxFeePerGas) { txConfig.maxFeePerGas = options.maxFeePerGas; } if (options.maxPriorityFeePerGas) { txConfig.maxPriorityFeePerGas = options.maxPriorityFeePerGas; } if (options.nonce) { txConfig.nonce = options.nonce; } if (options.type) { txConfig.type = options.type; } if (options.accessList) { txConfig.accessList = options.accessList; } if (options.customData) { txConfig.customData = options.customData; } return txConfig; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaGFuZGxlcnMvRVRIL2V0aFV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQW1DLE1BQU0sUUFBUSxDQUFDO0FBRWpFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUMzQixVQUFrQixFQUNsQixRQUFnQixFQUNPLEVBQUU7SUFDekIsK0RBQStEO0lBRS9ELE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUM7QUFFRix1Q0FBdUM7QUFDdkMsTUFBTSxnQkFBZ0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUU1RCxNQUFNLENBQU4sSUFBWSxPQU1YO0FBTkQsV0FBWSxPQUFPO0lBQ2YsOEJBQW1CLENBQUE7SUFDbkIsOEJBQW1CLENBQUE7SUFDbkIsMEJBQWUsQ0FBQTtJQUNmLDhCQUFtQixDQUFBO0lBQ25CLGdDQUFnQixDQUFBO0FBQ3BCLENBQUMsRUFOVyxPQUFPLEtBQVAsT0FBTyxRQU1sQjtBQUVELE1BQU0sZUFBZSxHQUFzQztJQUN2RCxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSw0QkFBNEI7SUFDL0MsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsMkJBQTJCO0lBQzVDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLHVDQUF1QztJQUMxRCxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSwrQkFBK0I7Q0FDbkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FB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