{"version":3,"sources":["jsdelivr-header.js","/npm/bitcoin-faucet@0.2.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;ACJA,IAiBI,KAjBA,KAAO,QAAQ,QACf,KAAO,QAAQ,QACf,MAAQ,QAAQ,SAChB,WAAa,QAAQ,cACrB,MAAQ,QAAQ,SAChB,SAAW,QAAQ,YACnB,QAAU,QAAQ,WAClB,QAAU,QAAQ,WAClB,GAAK,QAAQ,YACb,MAAQ,QAAQ,SAChB,MAAQ,QAAQ,SAEhB,SAAW,kBACX,YAAc,QAAQ,IAAI,eAAiB,KAAK,KAAK,QAAQ,IAAI,MAAQ,QAAQ,IAAI,YAAa,kBAAmB,eACrH,KAAO,QAAQ,IAAI,aAAe,MAIjC,GAAG,WAAW,aAMjB,KAAO,GAAG,aAAa,cALvB,KAAO,CACL,SAAU,MAAM,oBAElB,GAAG,eAAe,YAAa,OAKjC,IAAI,MAAQ,MAAM,eAAe,MAAM,eAAe,KAAK,WAAW,OAAO,UACzE,WAAa,MAAM,WACnB,GAAK,IAAI,QAAQ,WAAY,SAAS,QAAQ,MAElD,MAAM,WAAa,IAAI,WAAW,mCAElC,IAAI,IAAM,UACV,IAAI,IAAI,KAAK,SAAU,EAAK,GAC1B,EAAI,IAAI,eAAgB,cACxB,EAAI,IAAI,8BAAgC,GAAG,cAC7C,IAGA,IAAI,IAAI,8BAA8B,SAAU,EAAK,GAC9C,EAAI,MAAM,SACb,EAAI,OAAO,KAAK,KAAK,CAAE,OAAQ,QAAS,KAAM,CAAE,QAAS,gDAI3D,IAAI,EAAS,SAAS,EAAI,MAAM,OAAQ,KAAO,IAE/C,MAAM,GAAG,WAAY,EAAI,MAAM,QAAS,GAAQ,SAAU,EAAK,GAC7D,GAAI,EAAK,OAAO,EAAI,OAAO,KAAK,KAAK,CAAC,OAAQ,QAAS,KAAM,CAAC,QAAS,EAAI,WAC3E,EAAI,KAAK,CAAC,OAAQ,UAAW,KAAM,CAAC,KAAM,IAC5C,GACF,IAEA,IAAI,OAAS,KAAK,aAAa,KAE/B,OAAO,OAAO,MAAM,SAAU,GACxB,GAAK,QAAQ,MAAM,GACvB,QAAQ,IAAI,0CAA2C,MAAM,KAAK,KAAK,OACvE,QAAQ,IAAI,yBAA0B,MAAM,MAAM,KAAK,GAAG,eAC5D","file":"/npm/bitcoin-faucet@0.2.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/bitcoin-faucet@0.2.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","#!/usr/bin/env node\n\nvar http = require('http')\nvar path = require('path')\nvar bip39 = require('bip39')\nvar Blockchain = require('cb-insight')\nvar chalk = require('chalk')\nvar coininfo = require('coininfo')\nvar CoinKey = require('coinkey')\nvar express = require('express')\nvar fs = require('fs-extra')\nvar HDKey = require('hdkey')\nvar spend = require('spend')\n\nvar KEY_PATH = \"m/44'/1'/0'/0/0\" // first BIP44 Bitcoin Testnet External address\nvar WALLET_FILE = process.env.FAUCET_WALLET || path.join(process.env.HOME || process.env.USERPROFILE, '.bitcoin-faucet', 'wallet.json')\nvar PORT = process.env.FAUCET_PORT || 14004\n\n// initialize wallet\nvar data\nif (!fs.existsSync(WALLET_FILE)) {\n  data = {\n    mnemonic: bip39.generateMnemonic()\n  }\n  fs.outputJsonSync(WALLET_FILE, data)\n} else {\n  data = fs.readJsonSync(WALLET_FILE)\n}\n\nvar hdkey = HDKey.fromMasterSeed(bip39.mnemonicToSeed(data.mnemonic)).derive(KEY_PATH)\nvar privateKey = hdkey.privateKey\nvar ck = new CoinKey(privateKey, coininfo.bitcoin.test)\n\nspend.blockchain = new Blockchain('https://test-insight.bitpay.com')\n\nvar app = express()\napp.get('/', function (req, res) {\n  res.set('Content-Type', 'text/plain')\n  res.end('Please send funds back to: ' + ck.publicAddress)\n})\n\n// only bitcoin testnet supported for now\napp.get('/:coin/:network/withdrawal', function (req, res) {\n  if (!req.query.address) {\n    res.status(422).send({ status: 'error', data: { message: 'You forgot to set the \"address\" parameter.' } })\n  }\n\n  // satoshis\n  var amount = parseInt(req.query.amount, 10) || 10000\n\n  spend(ck.privateWif, req.query.address, amount, function (err, txId) {\n    if (err) return res.status(500).send({status: 'error', data: {message: err.message}})\n    res.send({status: 'success', data: {txId: txId}})\n  })\n})\n\nvar server = http.createServer(app)\n\nserver.listen(PORT, function (err) {\n  if (err) console.error(err)\n  console.log('\\n  bitcoin-faucet listening on port %s', chalk.blue.bold(PORT))\n  console.log('  deposit funds to: %s', chalk.green.bold(ck.publicAddress))\n})\n"]}