{"version":3,"sources":["jsdelivr-header.js","/npm/infura-web3-provider@0.0.3/index.js"],"names":[],"mappings":"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","file":"/npm/infura-web3-provider@0.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/infura-web3-provider@0.0.3/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","var bip39 = require(\"bip39\");\nvar hdkey = require('ethereumjs-wallet/hdkey');\nvar walletUtils = require('ethereumjs-wallet');\nvar ProviderEngine = require(\"web3-provider-engine\");\nvar FiltersSubprovider = require('web3-provider-engine/subproviders/filters.js');\nvar HookedSubprovider = require('web3-provider-engine/subproviders/hooked-wallet.js');\nvar Web3Subprovider = require(\"web3-provider-engine/subproviders/web3.js\");\nvar Web3 = require(\"web3\");\nvar Transaction = require('ethereumjs-tx');\n\nfunction InfuraWalletProvider(secret, token, network) {\n  if (secret.trim().split(/\\s+/).length == 1) {\n    this.pvtKey = secret.substring(0, 2) == '0x' ? secret.substring(2) : secret;\n    this.wallet = walletUtils.fromPrivateKey(Buffer.from(this.pvtKey, 'hex'));\n    this.addresses = [];\n    this.address = '0x' + this.wallet.getAddress().toString('hex');\n    this.addresses.push(this.address);\n    if (token.constructor === Array) token = token[Math.floor(Math.random() * token.length)]\n    this.provider_url = network == \"mainnet\" ? \"https://mainnet.infura.io/\" + token : \"https://ropsten.infura.io/\" + token;\n    console.log(this.provider_url)\n    const tmp_accounts = this.addresses;\n    const tmp_account = this.address;\n    const tmp_wallet = this.wallet;\n    this.engine = new ProviderEngine();\n    this.engine.addProvider(new HookedSubprovider({\n      getAccounts: function(cb) { cb(null, tmp_accounts) },\n      getPrivateKey: function(address, cb) {\n        if (tmp_account != address) { return cb('Account not found'); } else { cb(null, tmp_wallet.getPrivateKey().toString('hex')); }\n      },\n      signTransaction: function(txParams, cb) {\n        let pkey;\n        if (tmp_account == [txParams.from]) { pkey = tmp_wallet.getPrivateKey(); } else { cb('Account not found'); }\n        var tx = new Transaction(txParams);\n        tx.sign(pkey);\n        var rawTx = '0x' + tx.serialize().toString('hex');\n        cb(null, rawTx);\n      }\n    }));\n    this.engine.addProvider(new FiltersSubprovider());\n    this.engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(this.provider_url)));\n    this.engine.start(); // Required by the provider engine.\n  } else {\n    this.mnemonic = secret;\n    this.wallet = hdkey.fromMasterSeed(bip39.mnemonicToSeed(this.mnemonic));\n    this.wallet_hdpath = \"m/44'/60'/0'/0/\";\n    this.provider_url = network == \"mainnet\" ? \"https://mainnet.infura.io/\" + token : \"https://ropsten.infura.io/\" + token;\n    console.log(this.provider_url)\n    this.wallets = {};\n    this.addresses = [];\n    for (let i = 0; i <= 1; i++) {\n      var wallet = this.wallet.derivePath(this.wallet_hdpath + i).getWallet();\n      var addr = '0x' + wallet.getAddress().toString('hex');\n      this.addresses.push(addr);\n      this.wallets[addr] = wallet;\n    }\n    const tmp_accounts = this.addresses;\n    const tmp_wallets = this.wallets;\n\n    this.engine = new ProviderEngine();\n    this.engine.addProvider(new HookedSubprovider({\n      getAccounts: function(cb) { cb(null, tmp_accounts) },\n      getPrivateKey: function(address, cb) {\n        if (!tmp_wallets[address]) { return cb('Account not found'); } else { cb(null, tmp_wallets[address].getPrivateKey().toString('hex')); }\n      },\n      signTransaction: function(txParams, cb) {\n        let pkey;\n        if (tmp_wallets[txParams.from]) { pkey = tmp_wallets[txParams.from].getPrivateKey(); } else { cb('Account not found'); }\n        var tx = new Transaction(txParams);\n        tx.sign(pkey);\n        var rawTx = '0x' + tx.serialize().toString('hex');\n        cb(null, rawTx);\n      }\n    }));\n    this.engine.addProvider(new FiltersSubprovider());\n    this.engine.addProvider(new Web3Subprovider(new Web3.providers.HttpProvider(this.provider_url)));\n    this.engine.start(); // Required by the provider engine.\n  }\n}\n\nfunction secretWallet(secret, token, network) {\n\n};\n\nfunction HDWallet(secret, token, network) {\n\n};\n\nInfuraWalletProvider.prototype.sendAsync = function() {\n  this.engine.sendAsync.apply(this.engine, arguments);\n};\n\nInfuraWalletProvider.prototype.send = function() {\n  return this.engine.send.apply(this.engine, arguments);\n};\n\n// returns the address of the given address_index, first checking the cache\nInfuraWalletProvider.prototype.getAddress = function(idx) {\n  if (!idx) { return this.addresses[0]; } else { return this.addresses[idx]; }\n}\n\n// returns the addresses cache\nInfuraWalletProvider.prototype.getAddresses = function() {\n  return this.addresses;\n}\n\nmodule.exports = InfuraWalletProvider;\n"]}