Socket
Socket
Sign inDemoInstall

ganache

Package Overview
Dependencies
Maintainers
8
Versions
124
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ganache - npm Package Compare versions

Comparing version 7.0.0-alpha.0 to 7.0.0-alpha.1

7

dist/node/1.js.LICENSE.txt

@@ -35,1 +35,8 @@ /*!

*/
/*!
* @ganache/secp256k1
*
* @author David Murdoch
* @license MIT
*/

2

dist/node/cli.js
#!/usr/bin/env node
/*! For license information please see cli.js.LICENSE.txt */
!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bigint-buffer","keccak","secp256k1","leveldown","bufferutil","utf-8-validate"],t):"object"==typeof exports?exports.Ganache=t(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):e.Ganache=t(e["bigint-buffer"],e.keccak,e.secp256k1,e.leveldown,e.bufferutil,e["utf-8-validate"])}(global,(function(e,t,o,r,n,s){return(()=>{var c,i,a={927:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=927,e.exports=webpackEmptyContext},925:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=925,e.exports=webpackEmptyContext},243:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=243,e.exports=webpackEmptyContext},926:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=926,e.exports=webpackEmptyContext},137:function(e,t,o){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),n(o(924),t)},924:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TruffleColors=void 0,t.TruffleColors={porsche:"#e4a663",turquoise:"#3fe0c5"}},387:function(e,t,o){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=o(137),s=r(o(657)),c=o(30),i=r(o(242)),a=o(92),l=r(o(668)),u=r(o(672)),p=o(118);l.default.setOptions({renderer:new u.default({codespan:i.default.hex(n.TruffleColors.porsche),unescape:!1})});const f=Math.min(120,s.default.terminalWidth());function processOption(e,t,o,r,n,s,c){if(!0!==n.disableInCLI){const p=[],f=[];let _=(u=n.cliDescription||"",function unescapeEntities(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\*\#COLON\|\*/g,":")}(l.default.parseInline(u)));n.cliAliases&&(n.cliAliases.forEach((e=>{1===e.length?p.push(e):f.push(e)})),_=i.default`${_}${a.EOL}{dim deprecated aliases: ${f.map((e=>`--${e}`)).join(", ")}}`);const generateDefaultDescription=()=>e[r]=n.default?n.default(e,c).toString():void 0,d="defaultDescription"in n?n.defaultDescription:generateDefaultDescription(),{cliType:h}=n,b=h&&h.startsWith("array:"),g=b?h.slice(6):h,w={group:o,description:_,alias:p,defaultDescription:d,array:b,type:g,choices:n.cliChoices,coerce:n.cliCoerce,implies:n.implies},k=`${t}.${r}`;s=(s=((e,t,o)=>{const r={hidden:!0,alias:o};return t.reduce(((e,t)=>e.option(t,r)),e)})(s,f,k)).option(k,w)}var u}function applyDefaults(e,t,o){for(const r in e){const n=`${r[0].toUpperCase()}${r.slice(1)}:`,s=e[r],c={};for(const e in s){processOption(c,r,n,e,s[e],t,o)}}}t.default=function default_1(e,t){const o=i.default`{hex("${n.TruffleColors.porsche}").bold ${r=e," ".repeat(Math.max(0,Math.floor((f-r.length)/2)))+r}}`;var r;let l,u=s.default.parserConfiguration({"dot-notation":!1}).strict().usage(o).epilogue(o+a.EOL);for(l in c.DefaultOptionsByName){const e=c.DefaultOptionsByName[l];let o,r;switch(l){case c.FilecoinFlavorName:o=l,r=7777;break;case c.DefaultFlavor:o=["$0",l],r=8545;break;default:o=l,r=8545}u=u.command(o,i.default`Use the {bold ${l}} flavor of Ganache`,(o=>{applyDefaults(e,o,l),applyDefaults(p._DefaultServerOptions,o,l),o=o.option("server.host",{group:"Server:",description:i.default`Hostname to listen on.${a.EOL}{dim deprecated aliases: --host, --hostname}${a.EOL}`,alias:["h","host","hostname"],type:"string",default:t?"0.0.0.0":"127.0.0.1"}).option("server.port",{group:"Server:",description:i.default`Port to listen on.${a.EOL}{dim deprecated aliases: --port}${a.EOL}`,alias:["p","port"],type:"number",default:r}).check((e=>{const{"server.port":t,"server.host":o}=e;if(t<1||t>65535)throw new Error(`Invalid port number '${t}'`);if(""===o.trim())throw new Error("Cannot leave host blank; please provide a host");return!0}))}))}u=u.showHelpOnFail(!1,"Specify -? or --help for available options").alias("help","?").wrap(f).version(e);const _=u.argv,d={flavor:_._.length>0?_._[0]:c.DefaultFlavor};for(let e in _){const[t,o]=e.split(/\.(.+)/);o&&(d[t]||(d[t]={}),d[t][o]=_[e])}return d}},931:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=o(2),n=o(0);t.default=function default_1(e,t){const o=e.getOptions(),s=e.getInitialAccounts(),c=Object.keys(s);console.log(""),console.log("Available Accounts"),console.log("=================="),c.length>0?(c.forEach((function(e,t){const o=s[e].balance,c=o/r.WEI,i=o%r.WEI===0n?"":"~";let a=`(${t}) ${n.toChecksumAddress(e)} (${i}${c} ETH)`;s[e].unlocked||(a+=" 🔒"),console.log(a)})),console.log(""),console.log("Private Keys"),console.log("=================="),c.forEach((function(e,t){console.log(`(${t}) ${s[e].secretKey}`)})),null!=o.wallet.accountKeysPath&&(console.log(""),console.log(`Accounts and keys saved to ${o.wallet.accountKeysPath}`))):console.log("(no accounts unlocked)"),null==o.wallet.accounts&&(console.log(""),console.log("HD Wallet"),console.log("=================="),console.log(`Mnemonic: ${o.wallet.mnemonic}`),console.log(`Base HD Path: ${o.wallet.hdPath}{account_index}`)),o.miner.defaultGasPrice&&(console.log(""),console.log("Default Gas Price"),console.log("=================="),console.log(o.miner.defaultGasPrice.toBigInt())),o.miner.blockGasLimit&&(console.log(""),console.log("BlockGas Limit"),console.log("=================="),console.log(o.miner.blockGasLimit.toBigInt())),o.miner.callGasLimit&&(console.log(""),console.log("Call Gas Limit"),console.log("=================="),console.log(o.miner.callGasLimit.toBigInt())),o.fork.url&&(console.log(""),console.log("Forked Chain"),console.log("=================="),console.log(`Location: ${o.fork.url.toString()}`),console.log(`Block: ${o.fork.blockNumber}`),console.log(`Network ID: ${o.chain.networkId}`),console.log(`Time: ${(new Date).toString()}`),0!==o.fork.requestsPerSecond&&console.log(`Requests/Second: ${o.fork.requestsPerSecond}`)),console.log(""),console.log("Chain Id"),console.log("=================="),console.log(o.chain.chainId),console.log(""),console.log("RPC Listening on "+t.host+":"+t.port)}},932:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function default_1(e,t){const o=e.getOptions(),r=await e.getInitialAccounts();console.log(""),console.log("Available Accounts"),console.log("==================");const n=Object.keys(r),s=1000000000000000000n;n.forEach((function(e,t){const o=r[e].balance;let n=`(${t}) ${e} (${o%s===0n?"":"~"}${o/s} FIL)`;r[e].unlocked||(n+=" 🔒"),console.log(n)})),console.log(""),console.log("Private Keys"),console.log("=================="),n.forEach((function(e,t){console.log(`(${t}) ${r[e].secretKey}`)})),console.log(""),console.log(`Lotus RPC listening on ${t.host}:${t.port}`),console.log(`IPFS RPC listening on ${o.chain.ipfsHost}:${o.chain.ipfsPort}`)}},68:function(e,t,o){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(o(118)),a=c(o(387)),l=o(30),u=c(o(931)),p=c(o(932)),logAndForceExit=(e,t=0)=>{process.stdout._handle&&process.stdout._handle.setBlocking(!0);try{e.forEach((e=>console.log(e)))}catch(e){console.log(e)}process.exit(t)},{version:f}={version:"0.1.1-alpha.0"},{version:_}={version:"0.1.1-alpha.0"},{version:d}={version:"7.0.0-alpha.0"},h=`ganache v${d} (@ganache/cli: ${_}, @ganache/core: ${f})`,b="DOCKER"in process.env&&"true"===process.env.DOCKER.toLowerCase(),g=a.default(h,b),w=g.flavor,k=g.server;let v;console.log(h);try{v=i.default.server(g)}catch(e){console.error(e.message),process.exit(1)}let m=!1;process.on("uncaughtException",(function(e){logAndForceExit(m?[e]:[e.stack],1)}));let y=!1;const handleSignal=async e=>{console.log(`\nReceived shutdown signal: ${e}`),closeHandler()},closeHandler=async()=>{try{switch(v.status){case i.ServerStatus.opening:return y=!0,void console.log("Server is currently starting; waiting…");case i.ServerStatus.open:console.log("Shutting down…"),await v.close(),console.log("Server has been shut down")}process.exitCode=0}catch(e){logAndForceExit(["\nReceived an error while attempting to shut down the server: ",e.stack||e],1)}};if("win32"===process.platform){const e=o(933).createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",(()=>{e.close(),handleSignal("SIGINT")}))}process.on("SIGINT",handleSignal),process.on("SIGTERM",handleSignal),process.on("SIGHUP",handleSignal),console.log("Starting RPC server"),v.listen(k.port,k.host,(async function startGanache(e){if(e)return console.log(e),void(process.exitCode=1);if(y)closeHandler();else switch(m=!0,w){case l.FilecoinFlavorName:await p.default(v.provider,k);break;case l.EthereumFlavorName:default:u.default(v.provider,k)}}))},923:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),o(68)},4:e=>{"use strict";e.exports=require("assert")},249:t=>{"use strict";t.exports=e},39:e=>{"use strict";e.exports=require("buffer")},574:e=>{"use strict";if(void 0===n){var t=new Error("Cannot find module 'bufferutil'");throw t.code="MODULE_NOT_FOUND",t}e.exports=n},22:e=>{"use strict";e.exports=require("crypto")},58:e=>{"use strict";e.exports=require("events")},17:e=>{"use strict";e.exports=require("fs")},162:e=>{"use strict";e.exports=require("http")},364:e=>{"use strict";e.exports=require("https")},167:e=>{"use strict";e.exports=t},471:e=>{"use strict";e.exports=r},298:e=>{"use strict";e.exports=require("net")},92:e=>{"use strict";e.exports=require("os")},18:e=>{"use strict";e.exports=require("path")},621:e=>{"use strict";e.exports=require("querystring")},933:e=>{"use strict";e.exports=require("readline")},145:e=>{"use strict";e.exports=o},152:e=>{"use strict";e.exports=require("stream")},572:e=>{"use strict";e.exports=require("tls")},297:e=>{"use strict";e.exports=require("tty")},181:e=>{"use strict";e.exports=require("url")},576:e=>{"use strict";if(void 0===s){var t=new Error("Cannot find module 'utf-8-validate'");throw t.code="MODULE_NOT_FOUND",t}e.exports=s},20:e=>{"use strict";e.exports=require("util")},573:e=>{"use strict";e.exports=require("zlib")}},l={};function __webpack_require__(e){if(l[e])return l[e].exports;var t=l[e]={id:e,loaded:!1,exports:{}};return a[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}return __webpack_require__.m=a,__webpack_require__.c=l,__webpack_require__.x=()=>__webpack_require__(__webpack_require__.s=923),__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,o)=>(__webpack_require__.f[o](e,t),t)),[])),__webpack_require__.u=e=>e+".js",__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),c=__webpack_require__.x,__webpack_require__.x=()=>(__webpack_require__.e(0),__webpack_require__.e(4),__webpack_require__.e(1),c()),__webpack_require__.p="",i={2:1},__webpack_require__.f.require=function(e,t){i[e]||(e=>{var t=e.modules,o=e.ids,r=e.runtime;for(var n in t)__webpack_require__.o(t,n)&&(__webpack_require__.m[n]=t[n]);r&&r(__webpack_require__);for(var s=0;s<o.length;s++)i[o[s]]=1})(require("./"+__webpack_require__.u(e)))},__webpack_require__.x()})()}));
!function webpackUniversalModuleDefinition(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bigint-buffer","keccak","secp256k1","leveldown","bufferutil","utf-8-validate"],t):"object"==typeof exports?exports.Ganache=t(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):e.Ganache=t(e["bigint-buffer"],e.keccak,e.secp256k1,e.leveldown,e.bufferutil,e["utf-8-validate"])}(global,(function(e,t,o,r,n,s){return(()=>{var c,i,a={886:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=886,e.exports=webpackEmptyContext},884:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=884,e.exports=webpackEmptyContext},234:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=234,e.exports=webpackEmptyContext},885:e=>{function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}webpackEmptyContext.keys=()=>[],webpackEmptyContext.resolve=webpackEmptyContext,webpackEmptyContext.id=885,e.exports=webpackEmptyContext},135:function(e,t,o){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__exportStar||function(e,t){for(var o in e)"default"===o||Object.prototype.hasOwnProperty.call(t,o)||r(t,e,o)};Object.defineProperty(t,"__esModule",{value:!0}),n(o(883),t)},883:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TruffleColors=void 0,t.TruffleColors={porsche:"#e4a663",turquoise:"#3fe0c5"}},381:function(e,t,o){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=o(135),s=r(o(651)),c=o(28),i=r(o(233)),a=o(93),l=r(o(662)),u=r(o(666)),p=o(116);l.default.setOptions({renderer:new u.default({codespan:i.default.hex(n.TruffleColors.porsche),unescape:!1})});const f=Math.min(120,s.default.terminalWidth());function processOption(e,t,o,r,n,s,c){if(!0!==n.disableInCLI){const p=[],f=[];let _=(u=n.cliDescription||"",function unescapeEntities(e){return e.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\*\#COLON\|\*/g,":")}(l.default.parseInline(u)));n.cliAliases&&(n.cliAliases.forEach((e=>{1===e.length?p.push(e):f.push(e)})),_=i.default`${_}${a.EOL}{dim deprecated aliases: ${f.map((e=>`--${e}`)).join(", ")}}`);const generateDefaultDescription=()=>e[r]=n.default?n.default(e,c).toString():void 0,d="defaultDescription"in n?n.defaultDescription:generateDefaultDescription(),{cliType:h}=n,b=h&&h.startsWith("array:"),g=b?h.slice(6):h,w={group:o,description:_,alias:p,defaultDescription:d,array:b,type:g,choices:n.cliChoices,coerce:n.cliCoerce,implies:n.implies},k=`${t}.${r}`;s=(s=((e,t,o)=>{const r={hidden:!0,alias:o};return t.reduce(((e,t)=>e.option(t,r)),e)})(s,f,k)).option(k,w)}var u}function applyDefaults(e,t,o){for(const r in e){const n=`${r[0].toUpperCase()}${r.slice(1)}:`,s=e[r],c={};for(const e in s){processOption(c,r,n,e,s[e],t,o)}}}t.default=function default_1(e,t){const o=i.default`{hex("${n.TruffleColors.porsche}").bold ${r=e," ".repeat(Math.max(0,Math.floor((f-r.length)/2)))+r}}`;var r;let l,u=s.default.parserConfiguration({"dot-notation":!1}).strict().usage(o).epilogue(o+a.EOL);for(l in c.DefaultOptionsByName){const e=c.DefaultOptionsByName[l];let o,r;switch(l){case c.FilecoinFlavorName:o=l,r=7777;break;case c.DefaultFlavor:o=["$0",l],r=8545;break;default:o=l,r=8545}u=u.command(o,i.default`Use the {bold ${l}} flavor of Ganache`,(o=>{applyDefaults(e,o,l),applyDefaults(p._DefaultServerOptions,o,l),o=o.option("server.host",{group:"Server:",description:i.default`Hostname to listen on.${a.EOL}{dim deprecated aliases: --host, --hostname}${a.EOL}`,alias:["h","host","hostname"],type:"string",default:t?"0.0.0.0":"127.0.0.1"}).option("server.port",{group:"Server:",description:i.default`Port to listen on.${a.EOL}{dim deprecated aliases: --port}${a.EOL}`,alias:["p","port"],type:"number",default:r}).check((e=>{const{"server.port":t,"server.host":o}=e;if(t<1||t>65535)throw new Error(`Invalid port number '${t}'`);if(""===o.trim())throw new Error("Cannot leave host blank; please provide a host");return!0}))}))}u=u.showHelpOnFail(!1,"Specify -? or --help for available options").alias("help","?").wrap(f).version(e);const _=u.argv,d={flavor:_._.length>0?_._[0]:c.DefaultFlavor};for(let e in _){const[t,o]=e.split(/\.(.+)/);o&&(d[t]||(d[t]={}),d[t][o]=_[e])}return d}},890:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=o(2),n=o(0);t.default=function default_1(e,t){const o=e.getOptions(),s=e.getInitialAccounts(),c=Object.keys(s);console.log(""),console.log("Available Accounts"),console.log("=================="),c.length>0?(c.forEach((function(e,t){const o=s[e].balance,c=o/r.WEI,i=o%r.WEI===0n?"":"~";let a=`(${t}) ${n.toChecksumAddress(e)} (${i}${c} ETH)`;s[e].unlocked||(a+=" 🔒"),console.log(a)})),console.log(""),console.log("Private Keys"),console.log("=================="),c.forEach((function(e,t){console.log(`(${t}) ${s[e].secretKey}`)})),null!=o.wallet.accountKeysPath&&(console.log(""),console.log(`Accounts and keys saved to ${o.wallet.accountKeysPath}`))):console.log("(no accounts unlocked)"),null==o.wallet.accounts&&(console.log(""),console.log("HD Wallet"),console.log("=================="),console.log(`Mnemonic: ${o.wallet.mnemonic}`),console.log(`Base HD Path: ${o.wallet.hdPath}{account_index}`)),o.miner.defaultGasPrice&&(console.log(""),console.log("Default Gas Price"),console.log("=================="),console.log(o.miner.defaultGasPrice.toBigInt())),o.miner.blockGasLimit&&(console.log(""),console.log("BlockGas Limit"),console.log("=================="),console.log(o.miner.blockGasLimit.toBigInt())),o.miner.callGasLimit&&(console.log(""),console.log("Call Gas Limit"),console.log("=================="),console.log(o.miner.callGasLimit.toBigInt())),o.fork.url&&(console.log(""),console.log("Forked Chain"),console.log("=================="),console.log(`Location: ${o.fork.url.toString()}`),console.log(`Block: ${o.fork.blockNumber}`),console.log(`Network ID: ${o.chain.networkId}`),console.log(`Time: ${(new Date).toString()}`),0!==o.fork.requestsPerSecond&&console.log(`Requests/Second: ${o.fork.requestsPerSecond}`)),console.log(""),console.log("Chain Id"),console.log("=================="),console.log(o.chain.chainId),console.log(""),console.log("RPC Listening on "+t.host+":"+t.port)}},891:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=async function default_1(e,t){const o=e.getOptions(),r=await e.getInitialAccounts();console.log(""),console.log("Available Accounts"),console.log("==================");const n=Object.keys(r),s=1000000000000000000n;n.forEach((function(e,t){const o=r[e].balance;let n=`(${t}) ${e} (${o%s===0n?"":"~"}${o/s} FIL)`;r[e].unlocked||(n+=" 🔒"),console.log(n)})),console.log(""),console.log("Private Keys"),console.log("=================="),n.forEach((function(e,t){console.log(`(${t}) ${r[e].secretKey}`)})),console.log(""),console.log(`Lotus RPC listening on ${t.host}:${t.port}`),console.log(`IPFS RPC listening on ${o.chain.ipfsHost}:${o.chain.ipfsPort}`)}},69:function(e,t,o){"use strict";var r=this&&this.__createBinding||(Object.create?function(e,t,o,r){void 0===r&&(r=o),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[o]}})}:function(e,t,o,r){void 0===r&&(r=o),e[r]=t[o]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var o in e)"default"!==o&&Object.prototype.hasOwnProperty.call(e,o)&&r(t,e,o);return n(t,e),t},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=s(o(116)),a=c(o(381)),l=o(28),u=c(o(890)),p=c(o(891)),logAndForceExit=(e,t=0)=>{process.stdout._handle&&process.stdout._handle.setBlocking(!0);try{e.forEach((e=>console.log(e)))}catch(e){console.log(e)}process.exit(t)},{version:f}={version:"0.1.1-alpha.1"},{version:_}={version:"0.1.1-alpha.1"},{version:d}={version:"7.0.0-alpha.1"},h=`ganache v${d} (@ganache/cli: ${_}, @ganache/core: ${f})`,b="DOCKER"in process.env&&"true"===process.env.DOCKER.toLowerCase(),g=a.default(h,b),w=g.flavor,k=g.server;let v;console.log(h);try{v=i.default.server(g)}catch(e){console.error(e.message),process.exit(1)}let m=!1;process.on("uncaughtException",(function(e){logAndForceExit(m?[e]:[e.stack],1)}));let y=!1;const handleSignal=async e=>{console.log(`\nReceived shutdown signal: ${e}`),closeHandler()},closeHandler=async()=>{try{switch(v.status){case i.ServerStatus.opening:return y=!0,void console.log("Server is currently starting; waiting…");case i.ServerStatus.open:console.log("Shutting down…"),await v.close(),console.log("Server has been shut down")}process.exitCode=0}catch(e){logAndForceExit(["\nReceived an error while attempting to shut down the server: ",e.stack||e],1)}};if("win32"===process.platform){const e=o(892).createInterface({input:process.stdin,output:process.stdout}).on("SIGINT",(()=>{e.close(),handleSignal("SIGINT")}))}process.on("SIGINT",handleSignal),process.on("SIGTERM",handleSignal),process.on("SIGHUP",handleSignal),console.log("Starting RPC server"),v.listen(k.port,k.host,(async function startGanache(e){if(e)return console.log(e),void(process.exitCode=1);if(y)closeHandler();else switch(m=!0,w){case l.FilecoinFlavorName:await p.default(v.provider,k);break;case l.EthereumFlavorName:default:u.default(v.provider,k)}}))},882:(e,t,o)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),o(69)},4:e=>{"use strict";e.exports=require("assert")},240:t=>{"use strict";t.exports=e},40:e=>{"use strict";e.exports=require("buffer")},358:e=>{"use strict";if(void 0===n){var t=new Error("Cannot find module 'bufferutil'");throw t.code="MODULE_NOT_FOUND",t}e.exports=n},15:e=>{"use strict";e.exports=require("crypto")},49:e=>{"use strict";e.exports=require("events")},16:e=>{"use strict";e.exports=require("fs")},111:e=>{"use strict";e.exports=require("http")},130:e=>{"use strict";e.exports=require("https")},164:e=>{"use strict";e.exports=t},475:e=>{"use strict";e.exports=r},78:e=>{"use strict";e.exports=require("net")},93:e=>{"use strict";e.exports=require("os")},13:e=>{"use strict";e.exports=require("path")},615:e=>{"use strict";e.exports=require("querystring")},892:e=>{"use strict";e.exports=require("readline")},167:e=>{"use strict";e.exports=o},74:e=>{"use strict";e.exports=require("stream")},112:e=>{"use strict";e.exports=require("tls")},285:e=>{"use strict";e.exports=require("tty")},151:e=>{"use strict";e.exports=require("url")},360:e=>{"use strict";if(void 0===s){var t=new Error("Cannot find module 'utf-8-validate'");throw t.code="MODULE_NOT_FOUND",t}e.exports=s},18:e=>{"use strict";e.exports=require("util")},357:e=>{"use strict";e.exports=require("zlib")}},l={};function __webpack_require__(e){if(l[e])return l[e].exports;var t=l[e]={id:e,loaded:!1,exports:{}};return a[e].call(t.exports,t,t.exports,__webpack_require__),t.loaded=!0,t.exports}return __webpack_require__.m=a,__webpack_require__.c=l,__webpack_require__.x=()=>__webpack_require__(__webpack_require__.s=882),__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((t,o)=>(__webpack_require__.f[o](e,t),t)),[])),__webpack_require__.u=e=>e+".js",__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),c=__webpack_require__.x,__webpack_require__.x=()=>(__webpack_require__.e(0),__webpack_require__.e(4),__webpack_require__.e(1),c()),__webpack_require__.p="",i={2:1},__webpack_require__.f.require=function(e,t){i[e]||(e=>{var t=e.modules,o=e.ids,r=e.runtime;for(var n in t)__webpack_require__.o(t,n)&&(__webpack_require__.m[n]=t[n]);r&&r(__webpack_require__);for(var s=0;s<o.length;s++)i[o[s]]=1})(require("./"+__webpack_require__.u(e)))},__webpack_require__.x()})()}));

@@ -1,2 +0,2 @@

!function webpackUniversalModuleDefinition(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bigint-buffer","keccak","secp256k1","leveldown","bufferutil","utf-8-validate"],r):"object"==typeof exports?exports.Ganache=r(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):e.Ganache=r(e["bigint-buffer"],e.keccak,e.secp256k1,e.leveldown,e.bufferutil,e["utf-8-validate"])}(global,(function(e,r,t,_,i,u){return(()=>{"use strict";var o,a,n={248:function(e,r,t){var _=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.provider=r.server=r.Server=void 0;var i=t(118);Object.defineProperty(r,"Server",{enumerable:!0,get:function(){return i.Server}}),Object.defineProperty(r,"server",{enumerable:!0,get:function(){return i.server}}),Object.defineProperty(r,"provider",{enumerable:!0,get:function(){return i.provider}});const u=_(t(118));r.default=u.default},4:e=>{e.exports=require("assert")},249:r=>{r.exports=e},39:e=>{e.exports=require("buffer")},574:e=>{if(void 0===i){var r=new Error("Cannot find module 'bufferutil'");throw r.code="MODULE_NOT_FOUND",r}e.exports=i},22:e=>{e.exports=require("crypto")},58:e=>{e.exports=require("events")},17:e=>{e.exports=require("fs")},162:e=>{e.exports=require("http")},364:e=>{e.exports=require("https")},167:e=>{e.exports=r},471:e=>{e.exports=_},298:e=>{e.exports=require("net")},92:e=>{e.exports=require("os")},18:e=>{e.exports=require("path")},621:e=>{e.exports=require("querystring")},145:e=>{e.exports=t},152:e=>{e.exports=require("stream")},572:e=>{e.exports=require("tls")},297:e=>{e.exports=require("tty")},181:e=>{e.exports=require("url")},576:e=>{if(void 0===u){var r=new Error("Cannot find module 'utf-8-validate'");throw r.code="MODULE_NOT_FOUND",r}e.exports=u},20:e=>{e.exports=require("util")},573:e=>{e.exports=require("zlib")}},p={};function __webpack_require__(e){if(p[e])return p[e].exports;var r=p[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}return __webpack_require__.m=n,__webpack_require__.x=()=>__webpack_require__(248),__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,t)=>(__webpack_require__.f[t](e,r),r)),[])),__webpack_require__.u=e=>e+".js",__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o=__webpack_require__.x,__webpack_require__.x=()=>(__webpack_require__.e(0),__webpack_require__.e(1),o()),__webpack_require__.p="",a={3:1},__webpack_require__.f.require=function(e,r){a[e]||(e=>{var r=e.modules,t=e.ids,_=e.runtime;for(var i in r)__webpack_require__.o(r,i)&&(__webpack_require__.m[i]=r[i]);_&&_(__webpack_require__);for(var u=0;u<t.length;u++)a[t[u]]=1})(require("./"+__webpack_require__.u(e)))},__webpack_require__.x()})()}));
!function webpackUniversalModuleDefinition(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):"function"==typeof define&&define.amd?define(["bigint-buffer","keccak","secp256k1","leveldown","bufferutil","utf-8-validate"],r):"object"==typeof exports?exports.Ganache=r(require("bigint-buffer"),require("keccak"),require("secp256k1"),require("leveldown"),function webpackLoadOptionalExternalModule(){try{return require("bufferutil")}catch(e){}}(),function webpackLoadOptionalExternalModule(){try{return require("utf-8-validate")}catch(e){}}()):e.Ganache=r(e["bigint-buffer"],e.keccak,e.secp256k1,e.leveldown,e.bufferutil,e["utf-8-validate"])}(global,(function(e,r,t,_,i,u){return(()=>{"use strict";var o,a,n={239:function(e,r,t){var _=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0}),r.provider=r.server=r.Server=void 0;var i=t(116);Object.defineProperty(r,"Server",{enumerable:!0,get:function(){return i.Server}}),Object.defineProperty(r,"server",{enumerable:!0,get:function(){return i.server}}),Object.defineProperty(r,"provider",{enumerable:!0,get:function(){return i.provider}});const u=_(t(116));r.default=u.default},4:e=>{e.exports=require("assert")},240:r=>{r.exports=e},40:e=>{e.exports=require("buffer")},358:e=>{if(void 0===i){var r=new Error("Cannot find module 'bufferutil'");throw r.code="MODULE_NOT_FOUND",r}e.exports=i},15:e=>{e.exports=require("crypto")},49:e=>{e.exports=require("events")},16:e=>{e.exports=require("fs")},111:e=>{e.exports=require("http")},130:e=>{e.exports=require("https")},164:e=>{e.exports=r},475:e=>{e.exports=_},78:e=>{e.exports=require("net")},93:e=>{e.exports=require("os")},13:e=>{e.exports=require("path")},615:e=>{e.exports=require("querystring")},167:e=>{e.exports=t},74:e=>{e.exports=require("stream")},112:e=>{e.exports=require("tls")},285:e=>{e.exports=require("tty")},151:e=>{e.exports=require("url")},360:e=>{if(void 0===u){var r=new Error("Cannot find module 'utf-8-validate'");throw r.code="MODULE_NOT_FOUND",r}e.exports=u},18:e=>{e.exports=require("util")},357:e=>{e.exports=require("zlib")}},p={};function __webpack_require__(e){if(p[e])return p[e].exports;var r=p[e]={id:e,loaded:!1,exports:{}};return n[e].call(r.exports,r,r.exports,__webpack_require__),r.loaded=!0,r.exports}return __webpack_require__.m=n,__webpack_require__.x=()=>__webpack_require__(239),__webpack_require__.amdD=function(){throw new Error("define cannot be used indirect")},__webpack_require__.amdO={},__webpack_require__.f={},__webpack_require__.e=e=>Promise.all(Object.keys(__webpack_require__.f).reduce(((r,t)=>(__webpack_require__.f[t](e,r),r)),[])),__webpack_require__.u=e=>e+".js",__webpack_require__.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),o=__webpack_require__.x,__webpack_require__.x=()=>(__webpack_require__.e(0),__webpack_require__.e(1),o()),__webpack_require__.p="",a={3:1},__webpack_require__.f.require=function(e,r){a[e]||(e=>{var r=e.modules,t=e.ids,_=e.runtime;for(var i in r)__webpack_require__.o(r,i)&&(__webpack_require__.m[i]=r[i]);_&&_(__webpack_require__);for(var u=0;u<t.length;u++)a[t[u]]=1})(require("./"+__webpack_require__.u(e)))},__webpack_require__.x()})()}));
//# sourceMappingURL=core.js.map

@@ -44,2 +44,9 @@ /*!

/*!
* @ganache/secp256k1
*
* @author David Murdoch
* @license MIT
*/
/*!
* The buffer module from node.js, for the browser.

@@ -46,0 +53,0 @@ *

@@ -1,1 +0,1 @@

{"name":"ganache","version":"7.0.0-canary.1340","lockfileVersion":1,"requires":true,"dependencies":{"abstract-leveldown":{"version":"6.2.3","resolved":"https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz","integrity":"sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==","requires":{"buffer":"^5.5.0","immediate":"^3.2.3","level-concat-iterator":"~2.0.0","level-supports":"~1.0.0","xtend":"~4.0.0"},"dependencies":{"buffer":{"version":"5.7.1","resolved":"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz","integrity":"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==","requires":{"base64-js":"^1.3.1","ieee754":"^1.1.13"}}}},"base64-js":{"version":"1.5.1","resolved":"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz","integrity":"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="},"bigint-buffer":{"version":"1.1.5","resolved":"https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz","integrity":"sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==","requires":{"bindings":"^1.3.0"}},"bindings":{"version":"1.5.0","resolved":"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz","integrity":"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==","requires":{"file-uri-to-path":"1.0.0"}},"bn.js":{"version":"4.12.0","resolved":"https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz","integrity":"sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="},"brorand":{"version":"1.1.0","resolved":"https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz","integrity":"sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="},"bufferutil":{"version":"4.0.3","resolved":"https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz","integrity":"sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==","requires":{"node-gyp-build":"^4.2.0"}},"elliptic":{"version":"6.5.4","resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","requires":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}},"file-uri-to-path":{"version":"1.0.0","resolved":"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz","integrity":"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="},"hash.js":{"version":"1.1.7","resolved":"https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz","integrity":"sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==","requires":{"inherits":"^2.0.3","minimalistic-assert":"^1.0.1"}},"hmac-drbg":{"version":"1.0.1","resolved":"https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz","integrity":"sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=","requires":{"hash.js":"^1.0.3","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.1"}},"ieee754":{"version":"1.2.1","resolved":"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz","integrity":"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="},"immediate":{"version":"3.3.0","resolved":"https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz","integrity":"sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="},"inherits":{"version":"2.0.4","resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz","integrity":"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="},"keccak":{"version":"3.0.1","resolved":"https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz","integrity":"sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==","requires":{"node-addon-api":"^2.0.0","node-gyp-build":"^4.2.0"}},"level-concat-iterator":{"version":"2.0.1","resolved":"https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz","integrity":"sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw=="},"level-supports":{"version":"1.0.1","resolved":"https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz","integrity":"sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==","requires":{"xtend":"^4.0.2"}},"leveldown":{"version":"5.6.0","resolved":"https://registry.npmjs.org/leveldown/-/leveldown-5.6.0.tgz","integrity":"sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==","requires":{"abstract-leveldown":"~6.2.1","napi-macros":"~2.0.0","node-gyp-build":"~4.1.0"},"dependencies":{"node-gyp-build":{"version":"4.1.1","resolved":"https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz","integrity":"sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ=="}}},"minimalistic-assert":{"version":"1.0.1","resolved":"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz","integrity":"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="},"minimalistic-crypto-utils":{"version":"1.0.1","resolved":"https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz","integrity":"sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="},"napi-macros":{"version":"2.0.0","resolved":"https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz","integrity":"sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg=="},"node-addon-api":{"version":"2.0.2","resolved":"https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz","integrity":"sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="},"node-gyp-build":{"version":"4.2.3","resolved":"https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz","integrity":"sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg=="},"secp256k1":{"version":"4.0.2","resolved":"https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz","integrity":"sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==","requires":{"elliptic":"^6.5.2","node-addon-api":"^2.0.0","node-gyp-build":"^4.2.0"}},"utf-8-validate":{"version":"5.0.4","resolved":"https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz","integrity":"sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==","requires":{"node-gyp-build":"^4.2.0"}},"xtend":{"version":"4.0.2","resolved":"https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz","integrity":"sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="}}}
{"name":"ganache","version":"7.0.0-alpha.0","lockfileVersion":1,"requires":true,"dependencies":{"abstract-leveldown":{"version":"6.2.3","resolved":"https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz","integrity":"sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ==","requires":{"buffer":"^5.5.0","immediate":"^3.2.3","level-concat-iterator":"~2.0.0","level-supports":"~1.0.0","xtend":"~4.0.0"},"dependencies":{"buffer":{"version":"5.7.1","resolved":"https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz","integrity":"sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==","requires":{"base64-js":"^1.3.1","ieee754":"^1.1.13"}}}},"base64-js":{"version":"1.5.1","resolved":"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz","integrity":"sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="},"bigint-buffer":{"version":"1.1.5","resolved":"https://registry.npmjs.org/bigint-buffer/-/bigint-buffer-1.1.5.tgz","integrity":"sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==","requires":{"bindings":"^1.3.0"}},"bindings":{"version":"1.5.0","resolved":"https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz","integrity":"sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==","requires":{"file-uri-to-path":"1.0.0"}},"bn.js":{"version":"4.12.0","resolved":"https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz","integrity":"sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="},"brorand":{"version":"1.1.0","resolved":"https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz","integrity":"sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="},"bufferutil":{"version":"4.0.3","resolved":"https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.3.tgz","integrity":"sha512-yEYTwGndELGvfXsImMBLop58eaGW+YdONi1fNjTINSY98tmMmFijBG6WXgdkfuLNt4imzQNtIE+eBp1PVpMCSw==","requires":{"node-gyp-build":"^4.2.0"}},"elliptic":{"version":"6.5.4","resolved":"https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz","integrity":"sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==","requires":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}},"file-uri-to-path":{"version":"1.0.0","resolved":"https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz","integrity":"sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="},"hash.js":{"version":"1.1.7","resolved":"https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz","integrity":"sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==","requires":{"inherits":"^2.0.3","minimalistic-assert":"^1.0.1"}},"hmac-drbg":{"version":"1.0.1","resolved":"https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz","integrity":"sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=","requires":{"hash.js":"^1.0.3","minimalistic-assert":"^1.0.0","minimalistic-crypto-utils":"^1.0.1"}},"ieee754":{"version":"1.2.1","resolved":"https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz","integrity":"sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="},"immediate":{"version":"3.3.0","resolved":"https://registry.npmjs.org/immediate/-/immediate-3.3.0.tgz","integrity":"sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q=="},"inherits":{"version":"2.0.4","resolved":"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz","integrity":"sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="},"keccak":{"version":"3.0.1","resolved":"https://registry.npmjs.org/keccak/-/keccak-3.0.1.tgz","integrity":"sha512-epq90L9jlFWCW7+pQa6JOnKn2Xgl2mtI664seYR6MHskvI9agt7AnDqmAlp9TqU4/caMYbA08Hi5DMZAl5zdkA==","requires":{"node-addon-api":"^2.0.0","node-gyp-build":"^4.2.0"}},"level-concat-iterator":{"version":"2.0.1","resolved":"https://registry.npmjs.org/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz","integrity":"sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw=="},"level-supports":{"version":"1.0.1","resolved":"https://registry.npmjs.org/level-supports/-/level-supports-1.0.1.tgz","integrity":"sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg==","requires":{"xtend":"^4.0.2"}},"leveldown":{"version":"5.6.0","resolved":"https://registry.npmjs.org/leveldown/-/leveldown-5.6.0.tgz","integrity":"sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ==","requires":{"abstract-leveldown":"~6.2.1","napi-macros":"~2.0.0","node-gyp-build":"~4.1.0"},"dependencies":{"node-gyp-build":{"version":"4.1.1","resolved":"https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz","integrity":"sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ=="}}},"minimalistic-assert":{"version":"1.0.1","resolved":"https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz","integrity":"sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="},"minimalistic-crypto-utils":{"version":"1.0.1","resolved":"https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz","integrity":"sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="},"napi-macros":{"version":"2.0.0","resolved":"https://registry.npmjs.org/napi-macros/-/napi-macros-2.0.0.tgz","integrity":"sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg=="},"node-addon-api":{"version":"2.0.2","resolved":"https://registry.npmjs.org/node-addon-api/-/node-addon-api-2.0.2.tgz","integrity":"sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA=="},"node-gyp-build":{"version":"4.2.3","resolved":"https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.2.3.tgz","integrity":"sha512-MN6ZpzmfNCRM+3t57PTJHgHyw/h4OWnZ6mR8P5j/uZtqQr46RRuDE/P+g3n0YR/AiYXeWixZZzaip77gdICfRg=="},"secp256k1":{"version":"4.0.2","resolved":"https://registry.npmjs.org/secp256k1/-/secp256k1-4.0.2.tgz","integrity":"sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==","requires":{"elliptic":"^6.5.2","node-addon-api":"^2.0.0","node-gyp-build":"^4.2.0"}},"utf-8-validate":{"version":"5.0.4","resolved":"https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-5.0.4.tgz","integrity":"sha512-MEF05cPSq3AwJ2C7B7sHAA6i53vONoZbMGX8My5auEVm6W+dJ2Jd/TZPyGJ5CH42V2XtbI5FD28HeHeqlPzZ3Q==","requires":{"node-gyp-build":"^4.2.0"}},"xtend":{"version":"4.0.2","resolved":"https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz","integrity":"sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="}}}
{
"name": "ganache",
"version": "7.0.0-alpha.0",
"version": "7.0.0-alpha.1",
"description": "A library and cli to create a local blockchain for fast Ethereum development.",

@@ -54,5 +54,5 @@ "author": "David Murdoch",

"devDependencies": {
"@ganache/cli": "0.1.1-alpha.0",
"@ganache/core": "0.1.1-alpha.0",
"@ganache/flavors": "0.1.1-alpha.0",
"@ganache/cli": "0.1.1-alpha.1",
"@ganache/core": "0.1.1-alpha.1",
"@ganache/flavors": "0.1.1-alpha.1",
"@types/mocha": "8.2.2",

@@ -67,2 +67,3 @@ "@types/node": "14.14.6",

"level-js": "5.0.2",
"mcl-wasm": "0.7.8",
"mocha": "8.4.0",

@@ -94,3 +95,3 @@ "node-loader": "1.0.2",

},
"gitHead": "2110fd2b7fc9b2b41ba5e2a85dfecd13650dadb7"
"gitHead": "448e1fa20c811ea5faaafd19dfb416796dc7baf9"
}

@@ -195,2 +195,55 @@ <!-- Using h2 instead of h1 because npm doesn't support align=center on h1 tags -->

### Ganache Provider Events
In addition to [EIP-1193's](https://eips.ethereum.org/EIPS/eip-1193) `"message"` event and the legacy `"data"` event, Ganache emits 3 additional events: `"ganache:vm:tx:before"`, `"ganache:vm:tx:step"`, and `"ganache:vm:tx:after"`.
These events can be used to observe the lifecycle of any transaction executed via `*sendTransaction`, `eth_call`, `debug_traceTransaction`, or `debug_storageRangeAt`.
These share the [event paradigm that Truffle uses](https://www.trufflesuite.com/docs/truffle/advanced/event-system#how-to-define-your-event-handlers), but without any of the wildcard handling, i.e., no `"vm:*"` support (for now).
Each of these events will emit a `context` object which is a unique object that can be used to identify a transaction over the course of its lifecycle. For example:
```typescript
interface StepEvent {
account: {
nonce: bigint;
balance: bigint;
stateRoot: Buffer;
codeHash: Buffer;
};
address: Buffer;
codeAddress: Buffer;
depth: number;
gasLeft: bigint;
gasRefund: bigint;
memory: Buffer;
memoryWordCount: bigint;
opcode: {
name: string;
fee: number;
};
pc: number;
returnStack: Buffer[];
stack: Buffer[];
}
const contexts = new Map();
provider.on("ganache:vm:tx:before", (event: { context: {} }) => {
contexts.set(event.context, []);
});
provider.on("ganache:vm:tx:step", (event: StepEvent) => {
contexts.get(event.context).push(event.data);
});
provider.on("ganache:vm:tx:after", (event: { context: {} }) => {
doAThingWithThisTransactionsSteps(contexts.get(event.context));
contexts.delete(event.context);
});
```
The reason this `context` is necessary is that Ganache may run multiple transactions simultaneously, so `"ganache:vm:tx:step"` events from different transactions could be intermingled.
The above events will be emitted for `eth_call`, `*sendTransaction`, `debug_traceTransaction`, and `debug_storageRangeAt`.
Currently, we do not await the event listener's return value, however, we'll likely enable this in the future.
## Community

@@ -197,0 +250,0 @@

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc