Comparing version 7.0.0-alpha.0 to 7.0.0-alpha.1
@@ -35,1 +35,8 @@ /*! | ||
*/ | ||
/*! | ||
* @ganache/secp256k1 | ||
* | ||
* @author David Murdoch | ||
* @license MIT | ||
*/ |
#!/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(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/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(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
60956845
14714
269
8
30