├── PCS_Bot_usage.pdf ├── README.md ├── abis ├── factory.json ├── router.json └── wbnb.json ├── bot.js ├── dump.rdb ├── package-lock.json ├── package.json └── sniper.json /PCS_Bot_usage.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a180024/pcs_bot_v2/b3838fd1708eb612c6029cb51f865aad7b87b179/PCS_Bot_usage.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Pancakeswap Sniping Bot V2 2 | > Snipe launches when contract is given out beforehand. User should have WBNB for swapping and BNB for gas. Previous bot did not work for fair launches when the contract is given out beforehand. Uses Redis Pub Sub to input contract address during runtime so the buy can be instantaneous. 3 | 4 | https://user-images.githubusercontent.com/57989149/121805167-8daf0280-cc7c-11eb-817c-97626094f1be.mp4 5 | 6 | ## Install 7 | 1. [Install Redis](https://redis.io/topics/quickstart) 8 | 2. Open new terminal tab and run `$ src/redis-cli` 9 | 3. Open new terminal tab and run `$ src/redis-server` 10 | 4. `$ npm run start` to start the bot 11 | 5. Run `$ PUBLISH contract {tokenAddress}` in the redis-cli when address is given. 12 | 13 | ## Bot Options 14 | Input the following values into sniper.json 15 | 16 | - provider (use a private node websockets i.e. quicknode) 17 | - privateKey 18 | - slippagePercentage (100 to buy at any price impact) 19 | - approveBeforeTransaction (should be false for fair launches) 20 | - tokenAmountToApprove (large number) 21 | 22 | - buyImmediately (true for fair launches, false when trying to detect liquidity add tx) 23 | - amountInEther (in bnb) 24 | - gasPrice (in gwei) 25 | - gasLimit 26 | - approvalGasPrice (in gwei) 27 | 28 | addresses 29 | - wbnb (change to busd address for busd snipes) 30 | - targetToken 31 | - factory (Pancakeswap factory address) 32 | - router (Pancakeswap router address) 33 | - recipient (Own address) 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /abis/factory.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"address","name":"pair","type":"address"},{"indexed":false,"internalType":"uint256","name":"","type":"uint256"}],"name":"PairCreated","type":"event"},{"constant":true,"inputs":[],"name":"INIT_CODE_PAIR_HASH","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"allPairsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"}],"name":"createPair","outputs":[{"internalType":"address","name":"pair","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"feeTo","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"feeToSetter","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"getPair","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeTo","type":"address"}],"name":"setFeeTo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_feeToSetter","type":"address"}],"name":"setFeeToSetter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}] -------------------------------------------------------------------------------- /abis/router.json: -------------------------------------------------------------------------------- 1 | [{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"amountADesired","type":"uint256"},{"internalType":"uint256","name":"amountBDesired","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amountTokenDesired","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsIn","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAMin","type":"uint256"},{"internalType":"uint256","name":"amountBMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityWithPermit","outputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapETHForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}] -------------------------------------------------------------------------------- /abis/wbnb.json: -------------------------------------------------------------------------------- 1 | [{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"guy","type":"address"},{"name":"wad","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"src","type":"address"},{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"wad","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"dst","type":"address"},{"name":"wad","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"deposit","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"guy","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"dst","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"src","type":"address"},{"indexed":false,"name":"wad","type":"uint256"}],"name":"Withdrawal","type":"event"}] -------------------------------------------------------------------------------- /bot.js: -------------------------------------------------------------------------------- 1 | const ethers = require("ethers"); 2 | const RouterABI = require("./abis/router.json"); // Contract ABI 3 | const chalk = require("chalk"); 4 | const ora = require("ora"); 5 | const spinner = ora("Loading..").start(); 6 | 7 | const config = require("config.json")("./sniper.json"); 8 | require("log-timestamp"); 9 | 10 | const redis = require("redis"); 11 | const subscriber = redis.createClient(); 12 | 13 | /* Constants */ 14 | const addLiquidityETH = "0xf305d719"; 15 | const addLiquidity = "0xe8e33700"; 16 | 17 | /* Env Variables */ 18 | const buyImmediately = config.buyImmediately; 19 | const addresses = config.addresses; 20 | let targetTokenAddress = addresses.targetToken; 21 | const slippagePercentage = parseInt(config.slippagePercentage); 22 | const approveBeforeTransaction = config.approveBeforeTransaction; 23 | const amountInEther = config.amountInEther; 24 | const tokenAmountToApprove = config.tokenAmountToApprove; 25 | const privateKey = config.privateKey; 26 | 27 | const provider = new ethers.providers.WebSocketProvider(config.provider); 28 | const wallet = new ethers.Wallet(privateKey); 29 | const account = wallet.connect(provider); 30 | 31 | let counter = 0; 32 | var targetToken; 33 | 34 | subscriber.on("message", function (channel, message) { 35 | spinner.succeed(`Contract address added: ${message}`); 36 | spinner.start(); 37 | if (buyImmediately && targetTokenAddress === "") { 38 | targetTokenAddress = message; 39 | targetToken = new ethers.Contract( 40 | targetTokenAddress, 41 | ["function approve(address spender, uint amount) public returns(bool)"], 42 | account 43 | ); 44 | buyToken().then( 45 | () => { 46 | approveTargetTokenTransaction().then(() => { 47 | process.exit(0); 48 | }); 49 | }, 50 | (err) => { 51 | spinner.fail(`Problem buying token ${err}`); 52 | process.exit(0); 53 | } 54 | ); 55 | } 56 | }); 57 | 58 | subscriber.subscribe("contract"); 59 | 60 | provider._websocket.on("error", async () => { 61 | console.log(`Unable to connect, retrying in 3s...`); 62 | setTimeout(init, 3000); 63 | }); 64 | provider._websocket.on("close", async (code) => { 65 | console.log( 66 | `Connection lost with code ${code}! Attempting reconnect in 3s...` 67 | ); 68 | provider._websocket.terminate(); 69 | setTimeout(init, 3000); 70 | }); 71 | 72 | const router = new ethers.Contract( 73 | addresses.router, 74 | [ 75 | "function getAmountsOut(uint amountIn, address[] memory path) public view returns (uint[] memory amounts)", 76 | "function swapExactTokensForTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts)", 77 | ], 78 | account 79 | ); 80 | 81 | const factory = new ethers.Contract( 82 | addresses.factory, 83 | [ 84 | "event PairCreated(address indexed token0, address indexed token1, address pair, uint)", 85 | "function getPair(address tokenA, address tokenB) external view returns (address pair)", 86 | ], 87 | account 88 | ); 89 | 90 | transactionOptions = { 91 | gasPrice: parseInt(config.gasPrice) * 1e9, 92 | gasLimit: config.gasLimit, 93 | }; 94 | 95 | approvalTransactionOptions = { 96 | gasPrice: parseInt(config.approvalGasPrice) * 1e9, 97 | gasLimit: config.gasLimit, 98 | }; 99 | 100 | const wbnb = new ethers.Contract( 101 | addresses.WBNB, 102 | [ 103 | "function approve(address spender, uint amount) public returns(bool)", 104 | { 105 | constant: true, 106 | inputs: [{ name: "_owner", type: "address" }], 107 | name: "balanceOf", 108 | outputs: [{ name: "balance", type: "uint256" }], 109 | payable: false, 110 | type: "function", 111 | }, 112 | ], 113 | account 114 | ); 115 | 116 | if (targetTokenAddress !== "") { 117 | targetToken = new ethers.Contract( 118 | addresses.targetToken, 119 | ["function approve(address spender, uint amount) public returns(bool)"], 120 | account 121 | ); 122 | } 123 | 124 | const routerInterface = new ethers.utils.Interface(RouterABI); 125 | 126 | const approveTransaction = async () => { 127 | const approveAmount = parseFloat(amountInEther) * 100000; 128 | spinner.warn(`Approving amount: ${approveAmount} BSC`); 129 | spinner.start(); 130 | 131 | const tx = await wbnb.approve( 132 | router.address, 133 | ethers.utils.parseUnits(String(approveAmount), "ether"), 134 | transactionOptions 135 | ); 136 | const receipt = await tx.wait(); 137 | spinner.succeed(`Transaction hash: ${receipt.transactionHash}`); 138 | spinner.succeed("Approve successful"); 139 | spinner.start(); 140 | }; 141 | 142 | const approveTargetTokenTransaction = async () => { 143 | spinner.warn(`Approving amount: ${tokenAmountToApprove} BSC`); 144 | spinner.start(); 145 | 146 | const tx = await targetToken.approve( 147 | router.address, 148 | ethers.utils.parseUnits(tokenAmountToApprove, "ether"), 149 | approvalTransactionOptions 150 | ); 151 | 152 | const receipt = await tx.wait(); 153 | spinner.succeed(`Transaction hash: ${receipt.transactionHash}`); 154 | spinner.succeed("Approve successful"); 155 | spinner.start(); 156 | }; 157 | 158 | const buyToken = async () => { 159 | spinner.warn(`Buying token ${targetTokenAddress}`); 160 | spinner.start(); 161 | const amountIn = ethers.utils.parseUnits(amountInEther, "ether"); 162 | const amounts = await router.getAmountsOut(amountIn, [ 163 | addresses.WBNB, 164 | targetTokenAddress, 165 | ]); 166 | const amountOutMin = ethers.BigNumber.from(100 - slippagePercentage) 167 | .mul(amounts[1]) 168 | .div(ethers.BigNumber.from(100)); 169 | 170 | const tx = await router.swapExactTokensForTokens( 171 | amountIn, 172 | amountOutMin, 173 | [addresses.WBNB, targetTokenAddress], 174 | addresses.recipient, 175 | Date.now() + 1000 * 60 * 10, //10 minutes 176 | transactionOptions 177 | ); 178 | spinner.succeed(`Bought token: ${addresses.targetToken}`); 179 | const receipt = await tx.wait(); 180 | spinner.succeed( 181 | `Transaction receipt : https://www.bscscan.com/tx/${receipt.logs[1].transactionHash}` 182 | ); 183 | spinner.start(); 184 | }; 185 | 186 | const init = async () => { 187 | const _targetTokenAddress = targetTokenAddress.toLowerCase().substring(2); 188 | provider.on("pending", (tx) => { 189 | counter = counter + 1; 190 | spinner.text = `Scanned ${counter} transactions.`; 191 | 192 | provider.getTransaction(tx).then(async function (transaction) { 193 | let targetAddressFound = false; 194 | 195 | if ( 196 | (transaction != null && 197 | transaction["data"].includes(addLiquidity) && 198 | transaction["data"].includes(_targetTokenAddress)) || 199 | (transaction != null && 200 | transaction["data"].includes(addLiquidityETH) && 201 | transaction["data"].includes(_targetTokenAddress)) 202 | ) { 203 | targetAddressFound = true; 204 | } 205 | 206 | if (targetAddressFound) { 207 | spinner.succeed( 208 | `Found a liquidity in token at transaction ${transaction.hash}` 209 | ); 210 | if (approveBeforeTransaction) { 211 | await approveTransaction(); 212 | } 213 | spinner.start(); 214 | await buyToken(); 215 | process.exit(0); 216 | } 217 | }); 218 | }); 219 | }; 220 | 221 | if (targetTokenAddress !== "") { 222 | if (buyImmediately) { 223 | if (approveBeforeTransaction) { 224 | approveTransaction().then(() => { 225 | buyToken().then( 226 | () => { 227 | process.exit(0); 228 | }, 229 | (err) => { 230 | spinner.fail(`Problem buying token ${err}`); 231 | process.exit(0); 232 | } 233 | ); 234 | }); 235 | } else { 236 | buyToken().then( 237 | () => { 238 | approveTargetTokenTransaction().then(() => { 239 | process.exit(0); 240 | }); 241 | }, 242 | (err) => { 243 | spinner.fail(`Problem buying token ${err}`); 244 | process.exit(0); 245 | } 246 | ); 247 | } 248 | } else { 249 | if (approveBeforeTransaction) { 250 | approveTargetTokenTransaction().then(() => { 251 | init(); 252 | }); 253 | } else { 254 | init(); 255 | } 256 | } 257 | } 258 | -------------------------------------------------------------------------------- /dump.rdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/a180024/pcs_bot_v2/b3838fd1708eb612c6029cb51f865aad7b87b179/dump.rdb -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pcs_ethers", 3 | "version": "1.0.0", 4 | "lockfileVersion": 2, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "pcs_ethers", 9 | "version": "1.0.0", 10 | "license": "ISC", 11 | "dependencies": { 12 | "chalk": "^4.1.1", 13 | "config.json": "0.0.4", 14 | "ethers": "^5.1.4", 15 | "log-timestamp": "^0.3.0", 16 | "ora": "^5.4.0" 17 | } 18 | }, 19 | "node_modules/@ethersproject/abi": { 20 | "version": "5.1.2", 21 | "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", 22 | "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", 23 | "dependencies": { 24 | "@ethersproject/address": "^5.1.0", 25 | "@ethersproject/bignumber": "^5.1.0", 26 | "@ethersproject/bytes": "^5.1.0", 27 | "@ethersproject/constants": "^5.1.0", 28 | "@ethersproject/hash": "^5.1.0", 29 | "@ethersproject/keccak256": "^5.1.0", 30 | "@ethersproject/logger": "^5.1.0", 31 | "@ethersproject/properties": "^5.1.0", 32 | "@ethersproject/strings": "^5.1.0" 33 | } 34 | }, 35 | "node_modules/@ethersproject/abstract-provider": { 36 | "version": "5.1.0", 37 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz", 38 | "integrity": "sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ==", 39 | "dependencies": { 40 | "@ethersproject/bignumber": "^5.1.0", 41 | "@ethersproject/bytes": "^5.1.0", 42 | "@ethersproject/logger": "^5.1.0", 43 | "@ethersproject/networks": "^5.1.0", 44 | "@ethersproject/properties": "^5.1.0", 45 | "@ethersproject/transactions": "^5.1.0", 46 | "@ethersproject/web": "^5.1.0" 47 | } 48 | }, 49 | "node_modules/@ethersproject/abstract-signer": { 50 | "version": "5.1.0", 51 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz", 52 | "integrity": "sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w==", 53 | "dependencies": { 54 | "@ethersproject/abstract-provider": "^5.1.0", 55 | "@ethersproject/bignumber": "^5.1.0", 56 | "@ethersproject/bytes": "^5.1.0", 57 | "@ethersproject/logger": "^5.1.0", 58 | "@ethersproject/properties": "^5.1.0" 59 | } 60 | }, 61 | "node_modules/@ethersproject/address": { 62 | "version": "5.1.0", 63 | "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.1.0.tgz", 64 | "integrity": "sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg==", 65 | "dependencies": { 66 | "@ethersproject/bignumber": "^5.1.0", 67 | "@ethersproject/bytes": "^5.1.0", 68 | "@ethersproject/keccak256": "^5.1.0", 69 | "@ethersproject/logger": "^5.1.0", 70 | "@ethersproject/rlp": "^5.1.0" 71 | } 72 | }, 73 | "node_modules/@ethersproject/base64": { 74 | "version": "5.1.0", 75 | "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.1.0.tgz", 76 | "integrity": "sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g==", 77 | "dependencies": { 78 | "@ethersproject/bytes": "^5.1.0" 79 | } 80 | }, 81 | "node_modules/@ethersproject/basex": { 82 | "version": "5.1.0", 83 | "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.1.0.tgz", 84 | "integrity": "sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg==", 85 | "dependencies": { 86 | "@ethersproject/bytes": "^5.1.0", 87 | "@ethersproject/properties": "^5.1.0" 88 | } 89 | }, 90 | "node_modules/@ethersproject/bignumber": { 91 | "version": "5.1.1", 92 | "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.1.1.tgz", 93 | "integrity": "sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig==", 94 | "dependencies": { 95 | "@ethersproject/bytes": "^5.1.0", 96 | "@ethersproject/logger": "^5.1.0", 97 | "bn.js": "^4.4.0" 98 | } 99 | }, 100 | "node_modules/@ethersproject/bytes": { 101 | "version": "5.1.0", 102 | "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz", 103 | "integrity": "sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==", 104 | "dependencies": { 105 | "@ethersproject/logger": "^5.1.0" 106 | } 107 | }, 108 | "node_modules/@ethersproject/constants": { 109 | "version": "5.1.0", 110 | "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.1.0.tgz", 111 | "integrity": "sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw==", 112 | "dependencies": { 113 | "@ethersproject/bignumber": "^5.1.0" 114 | } 115 | }, 116 | "node_modules/@ethersproject/contracts": { 117 | "version": "5.1.1", 118 | "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.1.1.tgz", 119 | "integrity": "sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw==", 120 | "dependencies": { 121 | "@ethersproject/abi": "^5.1.0", 122 | "@ethersproject/abstract-provider": "^5.1.0", 123 | "@ethersproject/abstract-signer": "^5.1.0", 124 | "@ethersproject/address": "^5.1.0", 125 | "@ethersproject/bignumber": "^5.1.0", 126 | "@ethersproject/bytes": "^5.1.0", 127 | "@ethersproject/constants": "^5.1.0", 128 | "@ethersproject/logger": "^5.1.0", 129 | "@ethersproject/properties": "^5.1.0", 130 | "@ethersproject/transactions": "^5.1.0" 131 | } 132 | }, 133 | "node_modules/@ethersproject/hash": { 134 | "version": "5.1.0", 135 | "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz", 136 | "integrity": "sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==", 137 | "dependencies": { 138 | "@ethersproject/abstract-signer": "^5.1.0", 139 | "@ethersproject/address": "^5.1.0", 140 | "@ethersproject/bignumber": "^5.1.0", 141 | "@ethersproject/bytes": "^5.1.0", 142 | "@ethersproject/keccak256": "^5.1.0", 143 | "@ethersproject/logger": "^5.1.0", 144 | "@ethersproject/properties": "^5.1.0", 145 | "@ethersproject/strings": "^5.1.0" 146 | } 147 | }, 148 | "node_modules/@ethersproject/hdnode": { 149 | "version": "5.1.0", 150 | "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.1.0.tgz", 151 | "integrity": "sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg==", 152 | "dependencies": { 153 | "@ethersproject/abstract-signer": "^5.1.0", 154 | "@ethersproject/basex": "^5.1.0", 155 | "@ethersproject/bignumber": "^5.1.0", 156 | "@ethersproject/bytes": "^5.1.0", 157 | "@ethersproject/logger": "^5.1.0", 158 | "@ethersproject/pbkdf2": "^5.1.0", 159 | "@ethersproject/properties": "^5.1.0", 160 | "@ethersproject/sha2": "^5.1.0", 161 | "@ethersproject/signing-key": "^5.1.0", 162 | "@ethersproject/strings": "^5.1.0", 163 | "@ethersproject/transactions": "^5.1.0", 164 | "@ethersproject/wordlists": "^5.1.0" 165 | } 166 | }, 167 | "node_modules/@ethersproject/json-wallets": { 168 | "version": "5.1.0", 169 | "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz", 170 | "integrity": "sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA==", 171 | "dependencies": { 172 | "@ethersproject/abstract-signer": "^5.1.0", 173 | "@ethersproject/address": "^5.1.0", 174 | "@ethersproject/bytes": "^5.1.0", 175 | "@ethersproject/hdnode": "^5.1.0", 176 | "@ethersproject/keccak256": "^5.1.0", 177 | "@ethersproject/logger": "^5.1.0", 178 | "@ethersproject/pbkdf2": "^5.1.0", 179 | "@ethersproject/properties": "^5.1.0", 180 | "@ethersproject/random": "^5.1.0", 181 | "@ethersproject/strings": "^5.1.0", 182 | "@ethersproject/transactions": "^5.1.0", 183 | "aes-js": "3.0.0", 184 | "scrypt-js": "3.0.1" 185 | } 186 | }, 187 | "node_modules/@ethersproject/keccak256": { 188 | "version": "5.1.0", 189 | "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz", 190 | "integrity": "sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==", 191 | "dependencies": { 192 | "@ethersproject/bytes": "^5.1.0", 193 | "js-sha3": "0.5.7" 194 | } 195 | }, 196 | "node_modules/@ethersproject/logger": { 197 | "version": "5.1.0", 198 | "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", 199 | "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==" 200 | }, 201 | "node_modules/@ethersproject/networks": { 202 | "version": "5.1.0", 203 | "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz", 204 | "integrity": "sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==", 205 | "dependencies": { 206 | "@ethersproject/logger": "^5.1.0" 207 | } 208 | }, 209 | "node_modules/@ethersproject/pbkdf2": { 210 | "version": "5.1.0", 211 | "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz", 212 | "integrity": "sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew==", 213 | "dependencies": { 214 | "@ethersproject/bytes": "^5.1.0", 215 | "@ethersproject/sha2": "^5.1.0" 216 | } 217 | }, 218 | "node_modules/@ethersproject/properties": { 219 | "version": "5.1.0", 220 | "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", 221 | "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", 222 | "dependencies": { 223 | "@ethersproject/logger": "^5.1.0" 224 | } 225 | }, 226 | "node_modules/@ethersproject/providers": { 227 | "version": "5.1.2", 228 | "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.1.2.tgz", 229 | "integrity": "sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg==", 230 | "dependencies": { 231 | "@ethersproject/abstract-provider": "^5.1.0", 232 | "@ethersproject/abstract-signer": "^5.1.0", 233 | "@ethersproject/address": "^5.1.0", 234 | "@ethersproject/basex": "^5.1.0", 235 | "@ethersproject/bignumber": "^5.1.0", 236 | "@ethersproject/bytes": "^5.1.0", 237 | "@ethersproject/constants": "^5.1.0", 238 | "@ethersproject/hash": "^5.1.0", 239 | "@ethersproject/logger": "^5.1.0", 240 | "@ethersproject/networks": "^5.1.0", 241 | "@ethersproject/properties": "^5.1.0", 242 | "@ethersproject/random": "^5.1.0", 243 | "@ethersproject/rlp": "^5.1.0", 244 | "@ethersproject/sha2": "^5.1.0", 245 | "@ethersproject/strings": "^5.1.0", 246 | "@ethersproject/transactions": "^5.1.0", 247 | "@ethersproject/web": "^5.1.0", 248 | "bech32": "1.1.4", 249 | "ws": "7.2.3" 250 | } 251 | }, 252 | "node_modules/@ethersproject/random": { 253 | "version": "5.1.0", 254 | "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.1.0.tgz", 255 | "integrity": "sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw==", 256 | "dependencies": { 257 | "@ethersproject/bytes": "^5.1.0", 258 | "@ethersproject/logger": "^5.1.0" 259 | } 260 | }, 261 | "node_modules/@ethersproject/rlp": { 262 | "version": "5.1.0", 263 | "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz", 264 | "integrity": "sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==", 265 | "dependencies": { 266 | "@ethersproject/bytes": "^5.1.0", 267 | "@ethersproject/logger": "^5.1.0" 268 | } 269 | }, 270 | "node_modules/@ethersproject/sha2": { 271 | "version": "5.1.0", 272 | "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.1.0.tgz", 273 | "integrity": "sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA==", 274 | "dependencies": { 275 | "@ethersproject/bytes": "^5.1.0", 276 | "@ethersproject/logger": "^5.1.0", 277 | "hash.js": "1.1.3" 278 | } 279 | }, 280 | "node_modules/@ethersproject/sha2/node_modules/hash.js": { 281 | "version": "1.1.3", 282 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", 283 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", 284 | "dependencies": { 285 | "inherits": "^2.0.3", 286 | "minimalistic-assert": "^1.0.0" 287 | } 288 | }, 289 | "node_modules/@ethersproject/signing-key": { 290 | "version": "5.1.0", 291 | "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", 292 | "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", 293 | "dependencies": { 294 | "@ethersproject/bytes": "^5.1.0", 295 | "@ethersproject/logger": "^5.1.0", 296 | "@ethersproject/properties": "^5.1.0", 297 | "bn.js": "^4.4.0", 298 | "elliptic": "6.5.4" 299 | } 300 | }, 301 | "node_modules/@ethersproject/solidity": { 302 | "version": "5.1.0", 303 | "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.1.0.tgz", 304 | "integrity": "sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ==", 305 | "dependencies": { 306 | "@ethersproject/bignumber": "^5.1.0", 307 | "@ethersproject/bytes": "^5.1.0", 308 | "@ethersproject/keccak256": "^5.1.0", 309 | "@ethersproject/sha2": "^5.1.0", 310 | "@ethersproject/strings": "^5.1.0" 311 | } 312 | }, 313 | "node_modules/@ethersproject/strings": { 314 | "version": "5.1.0", 315 | "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz", 316 | "integrity": "sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==", 317 | "dependencies": { 318 | "@ethersproject/bytes": "^5.1.0", 319 | "@ethersproject/constants": "^5.1.0", 320 | "@ethersproject/logger": "^5.1.0" 321 | } 322 | }, 323 | "node_modules/@ethersproject/transactions": { 324 | "version": "5.1.1", 325 | "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz", 326 | "integrity": "sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==", 327 | "dependencies": { 328 | "@ethersproject/address": "^5.1.0", 329 | "@ethersproject/bignumber": "^5.1.0", 330 | "@ethersproject/bytes": "^5.1.0", 331 | "@ethersproject/constants": "^5.1.0", 332 | "@ethersproject/keccak256": "^5.1.0", 333 | "@ethersproject/logger": "^5.1.0", 334 | "@ethersproject/properties": "^5.1.0", 335 | "@ethersproject/rlp": "^5.1.0", 336 | "@ethersproject/signing-key": "^5.1.0" 337 | } 338 | }, 339 | "node_modules/@ethersproject/units": { 340 | "version": "5.1.0", 341 | "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.1.0.tgz", 342 | "integrity": "sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA==", 343 | "dependencies": { 344 | "@ethersproject/bignumber": "^5.1.0", 345 | "@ethersproject/constants": "^5.1.0", 346 | "@ethersproject/logger": "^5.1.0" 347 | } 348 | }, 349 | "node_modules/@ethersproject/wallet": { 350 | "version": "5.1.0", 351 | "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.1.0.tgz", 352 | "integrity": "sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ==", 353 | "dependencies": { 354 | "@ethersproject/abstract-provider": "^5.1.0", 355 | "@ethersproject/abstract-signer": "^5.1.0", 356 | "@ethersproject/address": "^5.1.0", 357 | "@ethersproject/bignumber": "^5.1.0", 358 | "@ethersproject/bytes": "^5.1.0", 359 | "@ethersproject/hash": "^5.1.0", 360 | "@ethersproject/hdnode": "^5.1.0", 361 | "@ethersproject/json-wallets": "^5.1.0", 362 | "@ethersproject/keccak256": "^5.1.0", 363 | "@ethersproject/logger": "^5.1.0", 364 | "@ethersproject/properties": "^5.1.0", 365 | "@ethersproject/random": "^5.1.0", 366 | "@ethersproject/signing-key": "^5.1.0", 367 | "@ethersproject/transactions": "^5.1.0", 368 | "@ethersproject/wordlists": "^5.1.0" 369 | } 370 | }, 371 | "node_modules/@ethersproject/web": { 372 | "version": "5.1.0", 373 | "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz", 374 | "integrity": "sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==", 375 | "dependencies": { 376 | "@ethersproject/base64": "^5.1.0", 377 | "@ethersproject/bytes": "^5.1.0", 378 | "@ethersproject/logger": "^5.1.0", 379 | "@ethersproject/properties": "^5.1.0", 380 | "@ethersproject/strings": "^5.1.0" 381 | } 382 | }, 383 | "node_modules/@ethersproject/wordlists": { 384 | "version": "5.1.0", 385 | "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.1.0.tgz", 386 | "integrity": "sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ==", 387 | "dependencies": { 388 | "@ethersproject/bytes": "^5.1.0", 389 | "@ethersproject/hash": "^5.1.0", 390 | "@ethersproject/logger": "^5.1.0", 391 | "@ethersproject/properties": "^5.1.0", 392 | "@ethersproject/strings": "^5.1.0" 393 | } 394 | }, 395 | "node_modules/aes-js": { 396 | "version": "3.0.0", 397 | "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", 398 | "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" 399 | }, 400 | "node_modules/ansi-regex": { 401 | "version": "5.0.0", 402 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 403 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", 404 | "engines": { 405 | "node": ">=8" 406 | } 407 | }, 408 | "node_modules/ansi-styles": { 409 | "version": "4.3.0", 410 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 411 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 412 | "dependencies": { 413 | "color-convert": "^2.0.1" 414 | }, 415 | "engines": { 416 | "node": ">=8" 417 | } 418 | }, 419 | "node_modules/async": { 420 | "version": "0.9.2", 421 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 422 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 423 | }, 424 | "node_modules/base64-js": { 425 | "version": "1.5.1", 426 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 427 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 428 | }, 429 | "node_modules/bech32": { 430 | "version": "1.1.4", 431 | "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", 432 | "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" 433 | }, 434 | "node_modules/bl": { 435 | "version": "4.1.0", 436 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 437 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 438 | "dependencies": { 439 | "buffer": "^5.5.0", 440 | "inherits": "^2.0.4", 441 | "readable-stream": "^3.4.0" 442 | } 443 | }, 444 | "node_modules/bn.js": { 445 | "version": "4.12.0", 446 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 447 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 448 | }, 449 | "node_modules/brorand": { 450 | "version": "1.1.0", 451 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 452 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" 453 | }, 454 | "node_modules/buffer": { 455 | "version": "5.7.1", 456 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 457 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 458 | "dependencies": { 459 | "base64-js": "^1.3.1", 460 | "ieee754": "^1.1.13" 461 | } 462 | }, 463 | "node_modules/chalk": { 464 | "version": "4.1.1", 465 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", 466 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", 467 | "dependencies": { 468 | "ansi-styles": "^4.1.0", 469 | "supports-color": "^7.1.0" 470 | }, 471 | "engines": { 472 | "node": ">=10" 473 | } 474 | }, 475 | "node_modules/cli-cursor": { 476 | "version": "3.1.0", 477 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 478 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 479 | "dependencies": { 480 | "restore-cursor": "^3.1.0" 481 | }, 482 | "engines": { 483 | "node": ">=8" 484 | } 485 | }, 486 | "node_modules/cli-spinners": { 487 | "version": "2.6.0", 488 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", 489 | "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", 490 | "engines": { 491 | "node": ">=6" 492 | } 493 | }, 494 | "node_modules/clone": { 495 | "version": "1.0.4", 496 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 497 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", 498 | "engines": { 499 | "node": ">=0.8" 500 | } 501 | }, 502 | "node_modules/color-convert": { 503 | "version": "2.0.1", 504 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 505 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 506 | "dependencies": { 507 | "color-name": "~1.1.4" 508 | }, 509 | "engines": { 510 | "node": ">=7.0.0" 511 | } 512 | }, 513 | "node_modules/color-name": { 514 | "version": "1.1.4", 515 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 516 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 517 | }, 518 | "node_modules/config.json": { 519 | "version": "0.0.4", 520 | "resolved": "https://registry.npmjs.org/config.json/-/config.json-0.0.4.tgz", 521 | "integrity": "sha1-3AJQEF3ZhIiMA3Ky9Mq72KL9Gvs=", 522 | "dependencies": { 523 | "nconf": "0.7.1" 524 | } 525 | }, 526 | "node_modules/defaults": { 527 | "version": "1.0.3", 528 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 529 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 530 | "dependencies": { 531 | "clone": "^1.0.2" 532 | } 533 | }, 534 | "node_modules/elliptic": { 535 | "version": "6.5.4", 536 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 537 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 538 | "dependencies": { 539 | "bn.js": "^4.11.9", 540 | "brorand": "^1.1.0", 541 | "hash.js": "^1.0.0", 542 | "hmac-drbg": "^1.0.1", 543 | "inherits": "^2.0.4", 544 | "minimalistic-assert": "^1.0.1", 545 | "minimalistic-crypto-utils": "^1.0.1" 546 | } 547 | }, 548 | "node_modules/ethers": { 549 | "version": "5.1.4", 550 | "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.1.4.tgz", 551 | "integrity": "sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g==", 552 | "dependencies": { 553 | "@ethersproject/abi": "5.1.2", 554 | "@ethersproject/abstract-provider": "5.1.0", 555 | "@ethersproject/abstract-signer": "5.1.0", 556 | "@ethersproject/address": "5.1.0", 557 | "@ethersproject/base64": "5.1.0", 558 | "@ethersproject/basex": "5.1.0", 559 | "@ethersproject/bignumber": "5.1.1", 560 | "@ethersproject/bytes": "5.1.0", 561 | "@ethersproject/constants": "5.1.0", 562 | "@ethersproject/contracts": "5.1.1", 563 | "@ethersproject/hash": "5.1.0", 564 | "@ethersproject/hdnode": "5.1.0", 565 | "@ethersproject/json-wallets": "5.1.0", 566 | "@ethersproject/keccak256": "5.1.0", 567 | "@ethersproject/logger": "5.1.0", 568 | "@ethersproject/networks": "5.1.0", 569 | "@ethersproject/pbkdf2": "5.1.0", 570 | "@ethersproject/properties": "5.1.0", 571 | "@ethersproject/providers": "5.1.2", 572 | "@ethersproject/random": "5.1.0", 573 | "@ethersproject/rlp": "5.1.0", 574 | "@ethersproject/sha2": "5.1.0", 575 | "@ethersproject/signing-key": "5.1.0", 576 | "@ethersproject/solidity": "5.1.0", 577 | "@ethersproject/strings": "5.1.0", 578 | "@ethersproject/transactions": "5.1.1", 579 | "@ethersproject/units": "5.1.0", 580 | "@ethersproject/wallet": "5.1.0", 581 | "@ethersproject/web": "5.1.0", 582 | "@ethersproject/wordlists": "5.1.0" 583 | } 584 | }, 585 | "node_modules/has-flag": { 586 | "version": "4.0.0", 587 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 588 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 589 | "engines": { 590 | "node": ">=8" 591 | } 592 | }, 593 | "node_modules/hash.js": { 594 | "version": "1.1.7", 595 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 596 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 597 | "dependencies": { 598 | "inherits": "^2.0.3", 599 | "minimalistic-assert": "^1.0.1" 600 | } 601 | }, 602 | "node_modules/hmac-drbg": { 603 | "version": "1.0.1", 604 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 605 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 606 | "dependencies": { 607 | "hash.js": "^1.0.3", 608 | "minimalistic-assert": "^1.0.0", 609 | "minimalistic-crypto-utils": "^1.0.1" 610 | } 611 | }, 612 | "node_modules/ieee754": { 613 | "version": "1.2.1", 614 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 615 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" 616 | }, 617 | "node_modules/inherits": { 618 | "version": "2.0.4", 619 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 620 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 621 | }, 622 | "node_modules/ini": { 623 | "version": "1.3.8", 624 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 625 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 626 | }, 627 | "node_modules/is-interactive": { 628 | "version": "1.0.0", 629 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", 630 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", 631 | "engines": { 632 | "node": ">=8" 633 | } 634 | }, 635 | "node_modules/is-unicode-supported": { 636 | "version": "0.1.0", 637 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 638 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", 639 | "engines": { 640 | "node": ">=10" 641 | } 642 | }, 643 | "node_modules/js-sha3": { 644 | "version": "0.5.7", 645 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 646 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 647 | }, 648 | "node_modules/log-prefix": { 649 | "version": "0.1.1", 650 | "resolved": "https://registry.npmjs.org/log-prefix/-/log-prefix-0.1.1.tgz", 651 | "integrity": "sha512-aP1Lst8OCdZKATqzXDN0JBissNVZuiKLyo6hOXDBxaQ1jHDsaxh2J1i5Pp0zMy6ayTKDWfUlLMXyLaQe1PJ48g==", 652 | "engines": { 653 | "node": "*" 654 | } 655 | }, 656 | "node_modules/log-symbols": { 657 | "version": "4.1.0", 658 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 659 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 660 | "dependencies": { 661 | "chalk": "^4.1.0", 662 | "is-unicode-supported": "^0.1.0" 663 | }, 664 | "engines": { 665 | "node": ">=10" 666 | } 667 | }, 668 | "node_modules/log-timestamp": { 669 | "version": "0.3.0", 670 | "resolved": "https://registry.npmjs.org/log-timestamp/-/log-timestamp-0.3.0.tgz", 671 | "integrity": "sha512-luRz6soxijd1aJh0GkLXFjKABihxthvTfWTzu3XhCgg5EivG2bsTpSd63QFbUgS+/KmFtL+0RfSpeaD2QvOV8Q==", 672 | "dependencies": { 673 | "log-prefix": "0.1.1" 674 | }, 675 | "engines": { 676 | "node": "*" 677 | } 678 | }, 679 | "node_modules/mimic-fn": { 680 | "version": "2.1.0", 681 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 682 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 683 | "engines": { 684 | "node": ">=6" 685 | } 686 | }, 687 | "node_modules/minimalistic-assert": { 688 | "version": "1.0.1", 689 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 690 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 691 | }, 692 | "node_modules/minimalistic-crypto-utils": { 693 | "version": "1.0.1", 694 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 695 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" 696 | }, 697 | "node_modules/minimist": { 698 | "version": "0.0.10", 699 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 700 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" 701 | }, 702 | "node_modules/nconf": { 703 | "version": "0.7.1", 704 | "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz", 705 | "integrity": "sha1-7ktWHdl5o8WNsSLjjxltSdYa61s=", 706 | "dependencies": { 707 | "async": "~0.9.0", 708 | "ini": "1.x.x", 709 | "optimist": "~0.6.0" 710 | }, 711 | "engines": { 712 | "node": ">= 0.4.0" 713 | } 714 | }, 715 | "node_modules/onetime": { 716 | "version": "5.1.2", 717 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 718 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 719 | "dependencies": { 720 | "mimic-fn": "^2.1.0" 721 | }, 722 | "engines": { 723 | "node": ">=6" 724 | } 725 | }, 726 | "node_modules/optimist": { 727 | "version": "0.6.1", 728 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 729 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 730 | "dependencies": { 731 | "minimist": "~0.0.1", 732 | "wordwrap": "~0.0.2" 733 | } 734 | }, 735 | "node_modules/ora": { 736 | "version": "5.4.0", 737 | "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", 738 | "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", 739 | "dependencies": { 740 | "bl": "^4.1.0", 741 | "chalk": "^4.1.0", 742 | "cli-cursor": "^3.1.0", 743 | "cli-spinners": "^2.5.0", 744 | "is-interactive": "^1.0.0", 745 | "is-unicode-supported": "^0.1.0", 746 | "log-symbols": "^4.1.0", 747 | "strip-ansi": "^6.0.0", 748 | "wcwidth": "^1.0.1" 749 | }, 750 | "engines": { 751 | "node": ">=10" 752 | } 753 | }, 754 | "node_modules/readable-stream": { 755 | "version": "3.6.0", 756 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 757 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 758 | "dependencies": { 759 | "inherits": "^2.0.3", 760 | "string_decoder": "^1.1.1", 761 | "util-deprecate": "^1.0.1" 762 | }, 763 | "engines": { 764 | "node": ">= 6" 765 | } 766 | }, 767 | "node_modules/restore-cursor": { 768 | "version": "3.1.0", 769 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 770 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 771 | "dependencies": { 772 | "onetime": "^5.1.0", 773 | "signal-exit": "^3.0.2" 774 | }, 775 | "engines": { 776 | "node": ">=8" 777 | } 778 | }, 779 | "node_modules/safe-buffer": { 780 | "version": "5.2.1", 781 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 782 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 783 | }, 784 | "node_modules/scrypt-js": { 785 | "version": "3.0.1", 786 | "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", 787 | "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" 788 | }, 789 | "node_modules/signal-exit": { 790 | "version": "3.0.3", 791 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 792 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 793 | }, 794 | "node_modules/string_decoder": { 795 | "version": "1.3.0", 796 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 797 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 798 | "dependencies": { 799 | "safe-buffer": "~5.2.0" 800 | } 801 | }, 802 | "node_modules/strip-ansi": { 803 | "version": "6.0.0", 804 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 805 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 806 | "dependencies": { 807 | "ansi-regex": "^5.0.0" 808 | }, 809 | "engines": { 810 | "node": ">=8" 811 | } 812 | }, 813 | "node_modules/supports-color": { 814 | "version": "7.2.0", 815 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 816 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 817 | "dependencies": { 818 | "has-flag": "^4.0.0" 819 | }, 820 | "engines": { 821 | "node": ">=8" 822 | } 823 | }, 824 | "node_modules/util-deprecate": { 825 | "version": "1.0.2", 826 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 827 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 828 | }, 829 | "node_modules/wcwidth": { 830 | "version": "1.0.1", 831 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 832 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 833 | "dependencies": { 834 | "defaults": "^1.0.3" 835 | } 836 | }, 837 | "node_modules/wordwrap": { 838 | "version": "0.0.3", 839 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 840 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", 841 | "engines": { 842 | "node": ">=0.4.0" 843 | } 844 | }, 845 | "node_modules/ws": { 846 | "version": "7.2.3", 847 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", 848 | "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==", 849 | "engines": { 850 | "node": ">=8.3.0" 851 | } 852 | } 853 | }, 854 | "dependencies": { 855 | "@ethersproject/abi": { 856 | "version": "5.1.2", 857 | "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.1.2.tgz", 858 | "integrity": "sha512-uMhoQVPX0UtfzTpekYQSEUcJGDgsJ25ifz+SV6PDETWaUFhcR8RNgb1QPTASP13inW8r6iy0/Xdq9D5hK2pNvA==", 859 | "requires": { 860 | "@ethersproject/address": "^5.1.0", 861 | "@ethersproject/bignumber": "^5.1.0", 862 | "@ethersproject/bytes": "^5.1.0", 863 | "@ethersproject/constants": "^5.1.0", 864 | "@ethersproject/hash": "^5.1.0", 865 | "@ethersproject/keccak256": "^5.1.0", 866 | "@ethersproject/logger": "^5.1.0", 867 | "@ethersproject/properties": "^5.1.0", 868 | "@ethersproject/strings": "^5.1.0" 869 | } 870 | }, 871 | "@ethersproject/abstract-provider": { 872 | "version": "5.1.0", 873 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.1.0.tgz", 874 | "integrity": "sha512-8dJUnT8VNvPwWhYIau4dwp7qe1g+KgdRm4XTWvjkI9gAT2zZa90WF5ApdZ3vl1r6NDmnn6vUVvyphClRZRteTQ==", 875 | "requires": { 876 | "@ethersproject/bignumber": "^5.1.0", 877 | "@ethersproject/bytes": "^5.1.0", 878 | "@ethersproject/logger": "^5.1.0", 879 | "@ethersproject/networks": "^5.1.0", 880 | "@ethersproject/properties": "^5.1.0", 881 | "@ethersproject/transactions": "^5.1.0", 882 | "@ethersproject/web": "^5.1.0" 883 | } 884 | }, 885 | "@ethersproject/abstract-signer": { 886 | "version": "5.1.0", 887 | "resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.1.0.tgz", 888 | "integrity": "sha512-qQDMkjGZSSJSKl6AnfTgmz9FSnzq3iEoEbHTYwjDlEAv+LNP7zd4ixCcVWlWyk+2siud856M5CRhAmPdupeN9w==", 889 | "requires": { 890 | "@ethersproject/abstract-provider": "^5.1.0", 891 | "@ethersproject/bignumber": "^5.1.0", 892 | "@ethersproject/bytes": "^5.1.0", 893 | "@ethersproject/logger": "^5.1.0", 894 | "@ethersproject/properties": "^5.1.0" 895 | } 896 | }, 897 | "@ethersproject/address": { 898 | "version": "5.1.0", 899 | "resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.1.0.tgz", 900 | "integrity": "sha512-rfWQR12eHn2cpstCFS4RF7oGjfbkZb0oqep+BfrT+gWEGWG2IowJvIsacPOvzyS1jhNF4MQ4BS59B04Mbovteg==", 901 | "requires": { 902 | "@ethersproject/bignumber": "^5.1.0", 903 | "@ethersproject/bytes": "^5.1.0", 904 | "@ethersproject/keccak256": "^5.1.0", 905 | "@ethersproject/logger": "^5.1.0", 906 | "@ethersproject/rlp": "^5.1.0" 907 | } 908 | }, 909 | "@ethersproject/base64": { 910 | "version": "5.1.0", 911 | "resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.1.0.tgz", 912 | "integrity": "sha512-npD1bLvK4Bcxz+m4EMkx+F8Rd7CnqS9DYnhNu0/GlQBXhWjvfoAZzk5HJ0f1qeyp8d+A86PTuzLOGOXf4/CN8g==", 913 | "requires": { 914 | "@ethersproject/bytes": "^5.1.0" 915 | } 916 | }, 917 | "@ethersproject/basex": { 918 | "version": "5.1.0", 919 | "resolved": "https://registry.npmjs.org/@ethersproject/basex/-/basex-5.1.0.tgz", 920 | "integrity": "sha512-vBKr39bum7DDbOvkr1Sj19bRMEPA4FnST6Utt6xhDzI7o7L6QNkDn2yrCfP+hnvJGhZFKtLygWwqlTBZoBXYLg==", 921 | "requires": { 922 | "@ethersproject/bytes": "^5.1.0", 923 | "@ethersproject/properties": "^5.1.0" 924 | } 925 | }, 926 | "@ethersproject/bignumber": { 927 | "version": "5.1.1", 928 | "resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.1.1.tgz", 929 | "integrity": "sha512-AVz5iqz7+70RIqoQTznsdJ6DOVBYciNlvO+AlQmPTB6ofCvoihI9bQdr6wljsX+d5W7Yc4nyvQvP4JMzg0Agig==", 930 | "requires": { 931 | "@ethersproject/bytes": "^5.1.0", 932 | "@ethersproject/logger": "^5.1.0", 933 | "bn.js": "^4.4.0" 934 | } 935 | }, 936 | "@ethersproject/bytes": { 937 | "version": "5.1.0", 938 | "resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.1.0.tgz", 939 | "integrity": "sha512-sGTxb+LVjFxJcJeUswAIK6ncgOrh3D8c192iEJd7mLr95V6du119rRfYT/b87WPkZ5I3gRBUYIYXtdgCWACe8g==", 940 | "requires": { 941 | "@ethersproject/logger": "^5.1.0" 942 | } 943 | }, 944 | "@ethersproject/constants": { 945 | "version": "5.1.0", 946 | "resolved": "https://registry.npmjs.org/@ethersproject/constants/-/constants-5.1.0.tgz", 947 | "integrity": "sha512-0/SuHrxc8R8k+JiLmJymxHJbojUDWBQqO+b+XFdwaP0jGzqC09YDy/CAlSZB6qHsBifY8X3I89HcK/oMqxRdBw==", 948 | "requires": { 949 | "@ethersproject/bignumber": "^5.1.0" 950 | } 951 | }, 952 | "@ethersproject/contracts": { 953 | "version": "5.1.1", 954 | "resolved": "https://registry.npmjs.org/@ethersproject/contracts/-/contracts-5.1.1.tgz", 955 | "integrity": "sha512-6WwktLJ0DFWU8pDkgH4IGttQHhQN4SnwKFu9h+QYVe48VGWtbDu4W8/q/7QA1u/HWlWMrKxqawPiZUJj0UMvOw==", 956 | "requires": { 957 | "@ethersproject/abi": "^5.1.0", 958 | "@ethersproject/abstract-provider": "^5.1.0", 959 | "@ethersproject/abstract-signer": "^5.1.0", 960 | "@ethersproject/address": "^5.1.0", 961 | "@ethersproject/bignumber": "^5.1.0", 962 | "@ethersproject/bytes": "^5.1.0", 963 | "@ethersproject/constants": "^5.1.0", 964 | "@ethersproject/logger": "^5.1.0", 965 | "@ethersproject/properties": "^5.1.0", 966 | "@ethersproject/transactions": "^5.1.0" 967 | } 968 | }, 969 | "@ethersproject/hash": { 970 | "version": "5.1.0", 971 | "resolved": "https://registry.npmjs.org/@ethersproject/hash/-/hash-5.1.0.tgz", 972 | "integrity": "sha512-fNwry20yLLPpnRRwm3fBL+2ksgO+KMadxM44WJmRIoTKzy4269+rbq9KFoe2LTqq2CXJM2CE70beGaNrpuqflQ==", 973 | "requires": { 974 | "@ethersproject/abstract-signer": "^5.1.0", 975 | "@ethersproject/address": "^5.1.0", 976 | "@ethersproject/bignumber": "^5.1.0", 977 | "@ethersproject/bytes": "^5.1.0", 978 | "@ethersproject/keccak256": "^5.1.0", 979 | "@ethersproject/logger": "^5.1.0", 980 | "@ethersproject/properties": "^5.1.0", 981 | "@ethersproject/strings": "^5.1.0" 982 | } 983 | }, 984 | "@ethersproject/hdnode": { 985 | "version": "5.1.0", 986 | "resolved": "https://registry.npmjs.org/@ethersproject/hdnode/-/hdnode-5.1.0.tgz", 987 | "integrity": "sha512-obIWdlujloExPHWJGmhJO/sETOOo7SEb6qemV4f8kyFoXg+cJK+Ta9SvBrj7hsUK85n3LZeZJZRjjM7oez3Clg==", 988 | "requires": { 989 | "@ethersproject/abstract-signer": "^5.1.0", 990 | "@ethersproject/basex": "^5.1.0", 991 | "@ethersproject/bignumber": "^5.1.0", 992 | "@ethersproject/bytes": "^5.1.0", 993 | "@ethersproject/logger": "^5.1.0", 994 | "@ethersproject/pbkdf2": "^5.1.0", 995 | "@ethersproject/properties": "^5.1.0", 996 | "@ethersproject/sha2": "^5.1.0", 997 | "@ethersproject/signing-key": "^5.1.0", 998 | "@ethersproject/strings": "^5.1.0", 999 | "@ethersproject/transactions": "^5.1.0", 1000 | "@ethersproject/wordlists": "^5.1.0" 1001 | } 1002 | }, 1003 | "@ethersproject/json-wallets": { 1004 | "version": "5.1.0", 1005 | "resolved": "https://registry.npmjs.org/@ethersproject/json-wallets/-/json-wallets-5.1.0.tgz", 1006 | "integrity": "sha512-00n2iBy27w8zrGZSiU762UOVuzCQZxUZxopsZC47++js6xUFuI74DHcJ5K/2pddlF1YBskvmMuboEu1geK8mnA==", 1007 | "requires": { 1008 | "@ethersproject/abstract-signer": "^5.1.0", 1009 | "@ethersproject/address": "^5.1.0", 1010 | "@ethersproject/bytes": "^5.1.0", 1011 | "@ethersproject/hdnode": "^5.1.0", 1012 | "@ethersproject/keccak256": "^5.1.0", 1013 | "@ethersproject/logger": "^5.1.0", 1014 | "@ethersproject/pbkdf2": "^5.1.0", 1015 | "@ethersproject/properties": "^5.1.0", 1016 | "@ethersproject/random": "^5.1.0", 1017 | "@ethersproject/strings": "^5.1.0", 1018 | "@ethersproject/transactions": "^5.1.0", 1019 | "aes-js": "3.0.0", 1020 | "scrypt-js": "3.0.1" 1021 | } 1022 | }, 1023 | "@ethersproject/keccak256": { 1024 | "version": "5.1.0", 1025 | "resolved": "https://registry.npmjs.org/@ethersproject/keccak256/-/keccak256-5.1.0.tgz", 1026 | "integrity": "sha512-vrTB1W6AEYoadww5c9UyVJ2YcSiyIUTNDRccZIgwTmFFoSHwBtcvG1hqy9RzJ1T0bMdATbM9Hfx2mJ6H0i7Hig==", 1027 | "requires": { 1028 | "@ethersproject/bytes": "^5.1.0", 1029 | "js-sha3": "0.5.7" 1030 | } 1031 | }, 1032 | "@ethersproject/logger": { 1033 | "version": "5.1.0", 1034 | "resolved": "https://registry.npmjs.org/@ethersproject/logger/-/logger-5.1.0.tgz", 1035 | "integrity": "sha512-wtUaD1lBX10HBXjjKV9VHCBnTdUaKQnQ2XSET1ezglqLdPdllNOIlLfhyCRqXm5xwcjExVI5ETokOYfjPtaAlw==" 1036 | }, 1037 | "@ethersproject/networks": { 1038 | "version": "5.1.0", 1039 | "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.1.0.tgz", 1040 | "integrity": "sha512-A/NIrIED/G/IgU1XUukOA3WcFRxn2I4O5GxsYGA5nFlIi+UZWdGojs85I1VXkR1gX9eFnDXzjE6OtbgZHjFhIA==", 1041 | "requires": { 1042 | "@ethersproject/logger": "^5.1.0" 1043 | } 1044 | }, 1045 | "@ethersproject/pbkdf2": { 1046 | "version": "5.1.0", 1047 | "resolved": "https://registry.npmjs.org/@ethersproject/pbkdf2/-/pbkdf2-5.1.0.tgz", 1048 | "integrity": "sha512-B8cUbHHTgs8OtgJIafrRcz/YPDobVd5Ru8gTnShOiM9EBuFpYHQpq3+8iQJ6pyczDu6HP/oc/njAsIBhwFZYew==", 1049 | "requires": { 1050 | "@ethersproject/bytes": "^5.1.0", 1051 | "@ethersproject/sha2": "^5.1.0" 1052 | } 1053 | }, 1054 | "@ethersproject/properties": { 1055 | "version": "5.1.0", 1056 | "resolved": "https://registry.npmjs.org/@ethersproject/properties/-/properties-5.1.0.tgz", 1057 | "integrity": "sha512-519KKTwgmH42AQL3+GFV3SX6khYEfHsvI6v8HYejlkigSDuqttdgVygFTDsGlofNFchhDwuclrxQnD5B0YLNMg==", 1058 | "requires": { 1059 | "@ethersproject/logger": "^5.1.0" 1060 | } 1061 | }, 1062 | "@ethersproject/providers": { 1063 | "version": "5.1.2", 1064 | "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.1.2.tgz", 1065 | "integrity": "sha512-GqsS8rd+eyd4eNkcNgzZ4l9IRULBPUZa7JPnv22k4MHflMobUseyhfbVnmoN5bVNNkOxjV1IPTw9i0sV1hwdpg==", 1066 | "requires": { 1067 | "@ethersproject/abstract-provider": "^5.1.0", 1068 | "@ethersproject/abstract-signer": "^5.1.0", 1069 | "@ethersproject/address": "^5.1.0", 1070 | "@ethersproject/basex": "^5.1.0", 1071 | "@ethersproject/bignumber": "^5.1.0", 1072 | "@ethersproject/bytes": "^5.1.0", 1073 | "@ethersproject/constants": "^5.1.0", 1074 | "@ethersproject/hash": "^5.1.0", 1075 | "@ethersproject/logger": "^5.1.0", 1076 | "@ethersproject/networks": "^5.1.0", 1077 | "@ethersproject/properties": "^5.1.0", 1078 | "@ethersproject/random": "^5.1.0", 1079 | "@ethersproject/rlp": "^5.1.0", 1080 | "@ethersproject/sha2": "^5.1.0", 1081 | "@ethersproject/strings": "^5.1.0", 1082 | "@ethersproject/transactions": "^5.1.0", 1083 | "@ethersproject/web": "^5.1.0", 1084 | "bech32": "1.1.4", 1085 | "ws": "7.2.3" 1086 | } 1087 | }, 1088 | "@ethersproject/random": { 1089 | "version": "5.1.0", 1090 | "resolved": "https://registry.npmjs.org/@ethersproject/random/-/random-5.1.0.tgz", 1091 | "integrity": "sha512-+uuczLQZ4+no9cP6TCoCktXx0u2YbNaRT7lRkSt12d8263e702f0u+4JnnRO8Qmv5nylWJebnqCHzyxP+6mLqw==", 1092 | "requires": { 1093 | "@ethersproject/bytes": "^5.1.0", 1094 | "@ethersproject/logger": "^5.1.0" 1095 | } 1096 | }, 1097 | "@ethersproject/rlp": { 1098 | "version": "5.1.0", 1099 | "resolved": "https://registry.npmjs.org/@ethersproject/rlp/-/rlp-5.1.0.tgz", 1100 | "integrity": "sha512-vDTyHIwNPrecy55gKGZ47eJZhBm8LLBxihzi5ou+zrSvYTpkSTWRcKUlXFDFQVwfWB+P5PGyERAdiDEI76clxw==", 1101 | "requires": { 1102 | "@ethersproject/bytes": "^5.1.0", 1103 | "@ethersproject/logger": "^5.1.0" 1104 | } 1105 | }, 1106 | "@ethersproject/sha2": { 1107 | "version": "5.1.0", 1108 | "resolved": "https://registry.npmjs.org/@ethersproject/sha2/-/sha2-5.1.0.tgz", 1109 | "integrity": "sha512-+fNSeZRstOpdRJpdGUkRONFCaiAqWkc91zXgg76Nlp5ndBQE25Kk5yK8gCPG1aGnCrbariiPr5j9DmrYH78JCA==", 1110 | "requires": { 1111 | "@ethersproject/bytes": "^5.1.0", 1112 | "@ethersproject/logger": "^5.1.0", 1113 | "hash.js": "1.1.3" 1114 | }, 1115 | "dependencies": { 1116 | "hash.js": { 1117 | "version": "1.1.3", 1118 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", 1119 | "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", 1120 | "requires": { 1121 | "inherits": "^2.0.3", 1122 | "minimalistic-assert": "^1.0.0" 1123 | } 1124 | } 1125 | } 1126 | }, 1127 | "@ethersproject/signing-key": { 1128 | "version": "5.1.0", 1129 | "resolved": "https://registry.npmjs.org/@ethersproject/signing-key/-/signing-key-5.1.0.tgz", 1130 | "integrity": "sha512-tE5LFlbmdObG8bY04NpuwPWSRPgEswfxweAI1sH7TbP0ml1elNfqcq7ii/3AvIN05i5U0Pkm3Tf8bramt8MmLw==", 1131 | "requires": { 1132 | "@ethersproject/bytes": "^5.1.0", 1133 | "@ethersproject/logger": "^5.1.0", 1134 | "@ethersproject/properties": "^5.1.0", 1135 | "bn.js": "^4.4.0", 1136 | "elliptic": "6.5.4" 1137 | } 1138 | }, 1139 | "@ethersproject/solidity": { 1140 | "version": "5.1.0", 1141 | "resolved": "https://registry.npmjs.org/@ethersproject/solidity/-/solidity-5.1.0.tgz", 1142 | "integrity": "sha512-kPodsGyo9zg1g9XSXp1lGhFaezBAUUsAUB1Vf6OkppE5Wksg4Et+x3kG4m7J/uShDMP2upkJtHNsIBK2XkVpKQ==", 1143 | "requires": { 1144 | "@ethersproject/bignumber": "^5.1.0", 1145 | "@ethersproject/bytes": "^5.1.0", 1146 | "@ethersproject/keccak256": "^5.1.0", 1147 | "@ethersproject/sha2": "^5.1.0", 1148 | "@ethersproject/strings": "^5.1.0" 1149 | } 1150 | }, 1151 | "@ethersproject/strings": { 1152 | "version": "5.1.0", 1153 | "resolved": "https://registry.npmjs.org/@ethersproject/strings/-/strings-5.1.0.tgz", 1154 | "integrity": "sha512-perBZy0RrmmL0ejiFGUOlBVjMsUceqLut3OBP3zP96LhiJWWbS8u1NqQVgN4/Gyrbziuda66DxiQocXhsvx+Sw==", 1155 | "requires": { 1156 | "@ethersproject/bytes": "^5.1.0", 1157 | "@ethersproject/constants": "^5.1.0", 1158 | "@ethersproject/logger": "^5.1.0" 1159 | } 1160 | }, 1161 | "@ethersproject/transactions": { 1162 | "version": "5.1.1", 1163 | "resolved": "https://registry.npmjs.org/@ethersproject/transactions/-/transactions-5.1.1.tgz", 1164 | "integrity": "sha512-Nwgbp09ttIVN0OoUBatCXaHxR7grWPHbozJN8v7AXDLrl6nnOIBEMDh+yJTnosSQlFhcyjfTGGN+Mx6R8HdvMw==", 1165 | "requires": { 1166 | "@ethersproject/address": "^5.1.0", 1167 | "@ethersproject/bignumber": "^5.1.0", 1168 | "@ethersproject/bytes": "^5.1.0", 1169 | "@ethersproject/constants": "^5.1.0", 1170 | "@ethersproject/keccak256": "^5.1.0", 1171 | "@ethersproject/logger": "^5.1.0", 1172 | "@ethersproject/properties": "^5.1.0", 1173 | "@ethersproject/rlp": "^5.1.0", 1174 | "@ethersproject/signing-key": "^5.1.0" 1175 | } 1176 | }, 1177 | "@ethersproject/units": { 1178 | "version": "5.1.0", 1179 | "resolved": "https://registry.npmjs.org/@ethersproject/units/-/units-5.1.0.tgz", 1180 | "integrity": "sha512-isvJrx6qG0nKWfxsGORNjmOq/nh175fStfvRTA2xEKrGqx8JNJY83fswu4GkILowfriEM/eYpretfJnfzi7YhA==", 1181 | "requires": { 1182 | "@ethersproject/bignumber": "^5.1.0", 1183 | "@ethersproject/constants": "^5.1.0", 1184 | "@ethersproject/logger": "^5.1.0" 1185 | } 1186 | }, 1187 | "@ethersproject/wallet": { 1188 | "version": "5.1.0", 1189 | "resolved": "https://registry.npmjs.org/@ethersproject/wallet/-/wallet-5.1.0.tgz", 1190 | "integrity": "sha512-ULmUtiYQLTUS+y3DgkLzRhFEK10zMwmjOthnjiZxee3Q/MVwr3rnmuAnXIUZrPjna6hvUPnyRIdW5XuF0Ld0YQ==", 1191 | "requires": { 1192 | "@ethersproject/abstract-provider": "^5.1.0", 1193 | "@ethersproject/abstract-signer": "^5.1.0", 1194 | "@ethersproject/address": "^5.1.0", 1195 | "@ethersproject/bignumber": "^5.1.0", 1196 | "@ethersproject/bytes": "^5.1.0", 1197 | "@ethersproject/hash": "^5.1.0", 1198 | "@ethersproject/hdnode": "^5.1.0", 1199 | "@ethersproject/json-wallets": "^5.1.0", 1200 | "@ethersproject/keccak256": "^5.1.0", 1201 | "@ethersproject/logger": "^5.1.0", 1202 | "@ethersproject/properties": "^5.1.0", 1203 | "@ethersproject/random": "^5.1.0", 1204 | "@ethersproject/signing-key": "^5.1.0", 1205 | "@ethersproject/transactions": "^5.1.0", 1206 | "@ethersproject/wordlists": "^5.1.0" 1207 | } 1208 | }, 1209 | "@ethersproject/web": { 1210 | "version": "5.1.0", 1211 | "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.1.0.tgz", 1212 | "integrity": "sha512-LTeluWgTq04+RNqAkVhpydPcRZK/kKxD2Vy7PYGrAD27ABO9kTqTBKwiOuzTyAHKUQHfnvZbXmxBXJAGViSDcA==", 1213 | "requires": { 1214 | "@ethersproject/base64": "^5.1.0", 1215 | "@ethersproject/bytes": "^5.1.0", 1216 | "@ethersproject/logger": "^5.1.0", 1217 | "@ethersproject/properties": "^5.1.0", 1218 | "@ethersproject/strings": "^5.1.0" 1219 | } 1220 | }, 1221 | "@ethersproject/wordlists": { 1222 | "version": "5.1.0", 1223 | "resolved": "https://registry.npmjs.org/@ethersproject/wordlists/-/wordlists-5.1.0.tgz", 1224 | "integrity": "sha512-NsUCi/TpBb+oTFvMSccUkJGtp5o/84eOyqp5q5aBeiNBSLkYyw21znRn9mAmxZgySpxgruVgKbaapnYPgvctPQ==", 1225 | "requires": { 1226 | "@ethersproject/bytes": "^5.1.0", 1227 | "@ethersproject/hash": "^5.1.0", 1228 | "@ethersproject/logger": "^5.1.0", 1229 | "@ethersproject/properties": "^5.1.0", 1230 | "@ethersproject/strings": "^5.1.0" 1231 | } 1232 | }, 1233 | "aes-js": { 1234 | "version": "3.0.0", 1235 | "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.0.0.tgz", 1236 | "integrity": "sha1-4h3xCtbCBTKVvLuNq0Cwnb6ofk0=" 1237 | }, 1238 | "ansi-regex": { 1239 | "version": "5.0.0", 1240 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", 1241 | "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" 1242 | }, 1243 | "ansi-styles": { 1244 | "version": "4.3.0", 1245 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 1246 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 1247 | "requires": { 1248 | "color-convert": "^2.0.1" 1249 | } 1250 | }, 1251 | "async": { 1252 | "version": "0.9.2", 1253 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", 1254 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" 1255 | }, 1256 | "base64-js": { 1257 | "version": "1.5.1", 1258 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 1259 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" 1260 | }, 1261 | "bech32": { 1262 | "version": "1.1.4", 1263 | "resolved": "https://registry.npmjs.org/bech32/-/bech32-1.1.4.tgz", 1264 | "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" 1265 | }, 1266 | "bl": { 1267 | "version": "4.1.0", 1268 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 1269 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 1270 | "requires": { 1271 | "buffer": "^5.5.0", 1272 | "inherits": "^2.0.4", 1273 | "readable-stream": "^3.4.0" 1274 | } 1275 | }, 1276 | "bn.js": { 1277 | "version": "4.12.0", 1278 | "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", 1279 | "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" 1280 | }, 1281 | "brorand": { 1282 | "version": "1.1.0", 1283 | "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", 1284 | "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" 1285 | }, 1286 | "buffer": { 1287 | "version": "5.7.1", 1288 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 1289 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 1290 | "requires": { 1291 | "base64-js": "^1.3.1", 1292 | "ieee754": "^1.1.13" 1293 | } 1294 | }, 1295 | "chalk": { 1296 | "version": "4.1.1", 1297 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", 1298 | "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", 1299 | "requires": { 1300 | "ansi-styles": "^4.1.0", 1301 | "supports-color": "^7.1.0" 1302 | } 1303 | }, 1304 | "cli-cursor": { 1305 | "version": "3.1.0", 1306 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", 1307 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", 1308 | "requires": { 1309 | "restore-cursor": "^3.1.0" 1310 | } 1311 | }, 1312 | "cli-spinners": { 1313 | "version": "2.6.0", 1314 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", 1315 | "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" 1316 | }, 1317 | "clone": { 1318 | "version": "1.0.4", 1319 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 1320 | "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" 1321 | }, 1322 | "color-convert": { 1323 | "version": "2.0.1", 1324 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1325 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1326 | "requires": { 1327 | "color-name": "~1.1.4" 1328 | } 1329 | }, 1330 | "color-name": { 1331 | "version": "1.1.4", 1332 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1333 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" 1334 | }, 1335 | "config.json": { 1336 | "version": "0.0.4", 1337 | "resolved": "https://registry.npmjs.org/config.json/-/config.json-0.0.4.tgz", 1338 | "integrity": "sha1-3AJQEF3ZhIiMA3Ky9Mq72KL9Gvs=", 1339 | "requires": { 1340 | "nconf": "0.7.1" 1341 | } 1342 | }, 1343 | "defaults": { 1344 | "version": "1.0.3", 1345 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", 1346 | "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", 1347 | "requires": { 1348 | "clone": "^1.0.2" 1349 | } 1350 | }, 1351 | "elliptic": { 1352 | "version": "6.5.4", 1353 | "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", 1354 | "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", 1355 | "requires": { 1356 | "bn.js": "^4.11.9", 1357 | "brorand": "^1.1.0", 1358 | "hash.js": "^1.0.0", 1359 | "hmac-drbg": "^1.0.1", 1360 | "inherits": "^2.0.4", 1361 | "minimalistic-assert": "^1.0.1", 1362 | "minimalistic-crypto-utils": "^1.0.1" 1363 | } 1364 | }, 1365 | "ethers": { 1366 | "version": "5.1.4", 1367 | "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.1.4.tgz", 1368 | "integrity": "sha512-EAPQ/fgGRu0PoR/VNFnHTMOtG/IZ0AItdW55C9T8ffmVu0rnyllZL404eBF66elJehOLz2kxnUrhXpE7TCpW7g==", 1369 | "requires": { 1370 | "@ethersproject/abi": "5.1.2", 1371 | "@ethersproject/abstract-provider": "5.1.0", 1372 | "@ethersproject/abstract-signer": "5.1.0", 1373 | "@ethersproject/address": "5.1.0", 1374 | "@ethersproject/base64": "5.1.0", 1375 | "@ethersproject/basex": "5.1.0", 1376 | "@ethersproject/bignumber": "5.1.1", 1377 | "@ethersproject/bytes": "5.1.0", 1378 | "@ethersproject/constants": "5.1.0", 1379 | "@ethersproject/contracts": "5.1.1", 1380 | "@ethersproject/hash": "5.1.0", 1381 | "@ethersproject/hdnode": "5.1.0", 1382 | "@ethersproject/json-wallets": "5.1.0", 1383 | "@ethersproject/keccak256": "5.1.0", 1384 | "@ethersproject/logger": "5.1.0", 1385 | "@ethersproject/networks": "5.1.0", 1386 | "@ethersproject/pbkdf2": "5.1.0", 1387 | "@ethersproject/properties": "5.1.0", 1388 | "@ethersproject/providers": "5.1.2", 1389 | "@ethersproject/random": "5.1.0", 1390 | "@ethersproject/rlp": "5.1.0", 1391 | "@ethersproject/sha2": "5.1.0", 1392 | "@ethersproject/signing-key": "5.1.0", 1393 | "@ethersproject/solidity": "5.1.0", 1394 | "@ethersproject/strings": "5.1.0", 1395 | "@ethersproject/transactions": "5.1.1", 1396 | "@ethersproject/units": "5.1.0", 1397 | "@ethersproject/wallet": "5.1.0", 1398 | "@ethersproject/web": "5.1.0", 1399 | "@ethersproject/wordlists": "5.1.0" 1400 | } 1401 | }, 1402 | "has-flag": { 1403 | "version": "4.0.0", 1404 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1405 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" 1406 | }, 1407 | "hash.js": { 1408 | "version": "1.1.7", 1409 | "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", 1410 | "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", 1411 | "requires": { 1412 | "inherits": "^2.0.3", 1413 | "minimalistic-assert": "^1.0.1" 1414 | } 1415 | }, 1416 | "hmac-drbg": { 1417 | "version": "1.0.1", 1418 | "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", 1419 | "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", 1420 | "requires": { 1421 | "hash.js": "^1.0.3", 1422 | "minimalistic-assert": "^1.0.0", 1423 | "minimalistic-crypto-utils": "^1.0.1" 1424 | } 1425 | }, 1426 | "ieee754": { 1427 | "version": "1.2.1", 1428 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1429 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" 1430 | }, 1431 | "inherits": { 1432 | "version": "2.0.4", 1433 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1434 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" 1435 | }, 1436 | "ini": { 1437 | "version": "1.3.8", 1438 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1439 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" 1440 | }, 1441 | "is-interactive": { 1442 | "version": "1.0.0", 1443 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", 1444 | "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" 1445 | }, 1446 | "is-unicode-supported": { 1447 | "version": "0.1.0", 1448 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", 1449 | "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" 1450 | }, 1451 | "js-sha3": { 1452 | "version": "0.5.7", 1453 | "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", 1454 | "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" 1455 | }, 1456 | "log-prefix": { 1457 | "version": "0.1.1", 1458 | "resolved": "https://registry.npmjs.org/log-prefix/-/log-prefix-0.1.1.tgz", 1459 | "integrity": "sha512-aP1Lst8OCdZKATqzXDN0JBissNVZuiKLyo6hOXDBxaQ1jHDsaxh2J1i5Pp0zMy6ayTKDWfUlLMXyLaQe1PJ48g==" 1460 | }, 1461 | "log-symbols": { 1462 | "version": "4.1.0", 1463 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", 1464 | "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", 1465 | "requires": { 1466 | "chalk": "^4.1.0", 1467 | "is-unicode-supported": "^0.1.0" 1468 | } 1469 | }, 1470 | "log-timestamp": { 1471 | "version": "0.3.0", 1472 | "resolved": "https://registry.npmjs.org/log-timestamp/-/log-timestamp-0.3.0.tgz", 1473 | "integrity": "sha512-luRz6soxijd1aJh0GkLXFjKABihxthvTfWTzu3XhCgg5EivG2bsTpSd63QFbUgS+/KmFtL+0RfSpeaD2QvOV8Q==", 1474 | "requires": { 1475 | "log-prefix": "0.1.1" 1476 | } 1477 | }, 1478 | "mimic-fn": { 1479 | "version": "2.1.0", 1480 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 1481 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" 1482 | }, 1483 | "minimalistic-assert": { 1484 | "version": "1.0.1", 1485 | "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", 1486 | "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" 1487 | }, 1488 | "minimalistic-crypto-utils": { 1489 | "version": "1.0.1", 1490 | "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", 1491 | "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" 1492 | }, 1493 | "minimist": { 1494 | "version": "0.0.10", 1495 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", 1496 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" 1497 | }, 1498 | "nconf": { 1499 | "version": "0.7.1", 1500 | "resolved": "https://registry.npmjs.org/nconf/-/nconf-0.7.1.tgz", 1501 | "integrity": "sha1-7ktWHdl5o8WNsSLjjxltSdYa61s=", 1502 | "requires": { 1503 | "async": "~0.9.0", 1504 | "ini": "1.x.x", 1505 | "optimist": "~0.6.0" 1506 | } 1507 | }, 1508 | "onetime": { 1509 | "version": "5.1.2", 1510 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 1511 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 1512 | "requires": { 1513 | "mimic-fn": "^2.1.0" 1514 | } 1515 | }, 1516 | "optimist": { 1517 | "version": "0.6.1", 1518 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", 1519 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", 1520 | "requires": { 1521 | "minimist": "~0.0.1", 1522 | "wordwrap": "~0.0.2" 1523 | } 1524 | }, 1525 | "ora": { 1526 | "version": "5.4.0", 1527 | "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.0.tgz", 1528 | "integrity": "sha512-1StwyXQGoU6gdjYkyVcqOLnVlbKj+6yPNNOxJVgpt9t4eksKjiriiHuxktLYkgllwk+D6MbC4ihH84L1udRXPg==", 1529 | "requires": { 1530 | "bl": "^4.1.0", 1531 | "chalk": "^4.1.0", 1532 | "cli-cursor": "^3.1.0", 1533 | "cli-spinners": "^2.5.0", 1534 | "is-interactive": "^1.0.0", 1535 | "is-unicode-supported": "^0.1.0", 1536 | "log-symbols": "^4.1.0", 1537 | "strip-ansi": "^6.0.0", 1538 | "wcwidth": "^1.0.1" 1539 | } 1540 | }, 1541 | "readable-stream": { 1542 | "version": "3.6.0", 1543 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", 1544 | "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", 1545 | "requires": { 1546 | "inherits": "^2.0.3", 1547 | "string_decoder": "^1.1.1", 1548 | "util-deprecate": "^1.0.1" 1549 | } 1550 | }, 1551 | "restore-cursor": { 1552 | "version": "3.1.0", 1553 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", 1554 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", 1555 | "requires": { 1556 | "onetime": "^5.1.0", 1557 | "signal-exit": "^3.0.2" 1558 | } 1559 | }, 1560 | "safe-buffer": { 1561 | "version": "5.2.1", 1562 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 1563 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" 1564 | }, 1565 | "scrypt-js": { 1566 | "version": "3.0.1", 1567 | "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-3.0.1.tgz", 1568 | "integrity": "sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==" 1569 | }, 1570 | "signal-exit": { 1571 | "version": "3.0.3", 1572 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", 1573 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" 1574 | }, 1575 | "string_decoder": { 1576 | "version": "1.3.0", 1577 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 1578 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 1579 | "requires": { 1580 | "safe-buffer": "~5.2.0" 1581 | } 1582 | }, 1583 | "strip-ansi": { 1584 | "version": "6.0.0", 1585 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", 1586 | "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", 1587 | "requires": { 1588 | "ansi-regex": "^5.0.0" 1589 | } 1590 | }, 1591 | "supports-color": { 1592 | "version": "7.2.0", 1593 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", 1594 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", 1595 | "requires": { 1596 | "has-flag": "^4.0.0" 1597 | } 1598 | }, 1599 | "util-deprecate": { 1600 | "version": "1.0.2", 1601 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 1602 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" 1603 | }, 1604 | "wcwidth": { 1605 | "version": "1.0.1", 1606 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 1607 | "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", 1608 | "requires": { 1609 | "defaults": "^1.0.3" 1610 | } 1611 | }, 1612 | "wordwrap": { 1613 | "version": "0.0.3", 1614 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", 1615 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" 1616 | }, 1617 | "ws": { 1618 | "version": "7.2.3", 1619 | "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.3.tgz", 1620 | "integrity": "sha512-HTDl9G9hbkNDk98naoR/cHDws7+EyYMOdL1BmjsZXRUjf7d+MficC4B7HLUPlSiho0vg+CWKrGIt/VJBd1xunQ==" 1621 | } 1622 | } 1623 | } 1624 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pcs_ethers", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "start": "node bot.js", 8 | "playground": "node test.js" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "chalk": "^4.1.1", 15 | "config.json": "0.0.4", 16 | "ethers": "^5.1.4", 17 | "log-timestamp": "^0.3.0", 18 | "ora": "^5.4.0" 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /sniper.json: -------------------------------------------------------------------------------- 1 | { 2 | "provider": "", 3 | "privateKey": "", 4 | "slippagePercentage": "100", 5 | "approveBeforeTransaction": false, 6 | "tokenAmountToApprove": "115792089237316195423570985008687907853269984665640564039457", 7 | "buyImmediately": false, 8 | "amountInEther": "0.0001", 9 | "gasPrice": "10", 10 | "gasLimit": "650000", 11 | "approvalGasPrice" : "10", 12 | "addresses": { 13 | "WBNB": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", 14 | "targetToken": "0xe9e7cea3dedca5984780bafc599bd69add087d56", 15 | "factory": "0xcA143Ce32Fe78f1f7019d7d551a6402fC5350c73", 16 | "router": "0x10ED43C718714eb63d5aA57B78B54704E256024E", 17 | "recipient": "" 18 | } 19 | } 20 | --------------------------------------------------------------------------------