From 3543c7a4bffd41fc2b66341d71ba11d4ad0736aa Mon Sep 17 00:00:00 2001 From: haad Date: Mon, 20 Nov 2017 16:35:07 +0100 Subject: [PATCH] Use js-ipfs 0.27.0 Fix pubsub callbacks Fix benchmark IPFS repo directories Update dependencies Update build --- benchmarks/browser/benchmark-append.html | 2 +- benchmarks/browser/benchmark-join.html | 2 +- dist/ipfslog.min.js | 8 +- lib/es5/log.js | 5 +- package-lock.json | 3622 ++++++++++------------ package.json | 10 +- test/replicate.spec.js | 14 +- 7 files changed, 1699 insertions(+), 1964 deletions(-) diff --git a/benchmarks/browser/benchmark-append.html b/benchmarks/browser/benchmark-append.html index 6bab6be9..f7cca852 100644 --- a/benchmarks/browser/benchmark-append.html +++ b/benchmarks/browser/benchmark-append.html @@ -40,7 +40,7 @@

Results

let run = (() => { ipfs = new Ipfs({ - repo: './ipfs-log/examples/browser/benchmark-append/new', + repo: './ipfs-log/examples/browser/benchmark-append/0.27.0', start: false, EXPERIMENTAL: { pubsub: false, diff --git a/benchmarks/browser/benchmark-join.html b/benchmarks/browser/benchmark-join.html index f85139f1..a7519fe1 100644 --- a/benchmarks/browser/benchmark-join.html +++ b/benchmarks/browser/benchmark-join.html @@ -55,7 +55,7 @@

Results

let run = (() => { ipfs = new Ipfs({ - repo: './ipfs-log/examples/browser/benchmark-join/new', + repo: './ipfs-log/examples/browser/benchmark-join/new/0.27.0', start: false, EXPERIMENTAL: { pubsub: false, diff --git a/dist/ipfslog.min.js b/dist/ipfslog.min.js index 8cbd4ee2..32cd2484 100644 --- a/dist/ipfslog.min.js +++ b/dist/ipfslog.min.js @@ -1,7 +1 @@ -var Log=function(t){function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}var e={};return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},r.p="",r(r.s=7)}([function(t,r,e){"use strict";t.exports=((t,r,e)=>new Promise((n,i)=>{if(e=Object.assign({concurrency:1/0},e),"function"!=typeof r)throw new TypeError("Mapper function is required");const o=e.concurrency;if(!("number"==typeof o&&o>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${o}\` (${typeof o})`);const s=[],a=t[Symbol.iterator]();let h=!1,u=!1,f=0,c=0;const l=()=>{if(h)return;const t=a.next(),e=c;if(c++,t.done)return u=!0,void(0===f&&n(s));f++,Promise.resolve(t.value).then(t=>r(t,e)).then(t=>{s[e]=t,f--,l()},t=>{h=!0,i(t)})};for(let t=0;tnew Error("Ipfs instance not defined");class s{static async create(t,r,e,a=[],h,u){if(!i(t))throw o();if(!i(r))throw new Error("Entry requires an id");if(!i(e))throw new Error("Entry requires data");if(!i(a)||!Array.isArray(a))throw new Error("'next' argument is not an array");let f={hash:null,id:r,payload:e,next:a.filter(i).map(t=>t.hash?t.hash:t),v:0,clock:new n(r,h?h.time:null)};return t.keystore&&u&&(f=await s.signEntry(t.keystore,f,u)),f.hash=await s.toMultihash(t,f),f}static async signEntry(t,e,n){const i=await t.sign(n,new r(JSON.stringify(e)));return e.sig=i,e.key=n.getPublic("hex"),e}static async verifyEntry(t,e){const n=Object.assign({},{hash:null,id:t.id,payload:t.payload,next:t.next,v:t.v,clock:t.clock}),i=await e.importPublicKey(t.key);await e.verify(t.sig,i,new r(JSON.stringify(n)))}static toMultihash(t,e){if(!t)throw o();const n=r.from(JSON.stringify(e));return t.object.put(n).then(t=>t.toJSON().multihash)}static fromMultihash(t,r){if(!t)throw o();if(!r)throw new Error(`Invalid hash: ${r}`);return t.object.get(r,{enc:"base58"}).then(t=>JSON.parse(t.toJSON().data)).then(t=>{let e={hash:r,id:t.id,payload:t.payload,next:t.next,v:t.v,clock:t.clock};return t.sig&&Object.assign(e,{sig:t.sig}),t.key&&Object.assign(e,{key:t.key}),e})}static isEntry(t){return void 0!==t.id&&void 0!==t.next&&void 0!==t.hash&&void 0!==t.payload&&void 0!==t.v&&void 0!==t.clock}static compare(t,r){var e=n.compare(t.clock,r.clock);return 0===e?t.clock.id-1}static findChildren(t,r){for(var e=[],n=r.find(r=>s.isParent(t,r)),i=t;n;)e.push(n),i=n,n=r.find(t=>s.isParent(i,t));return e=e.sort((t,r)=>t.clock.time>t.clock.time)}}t.exports=s}).call(r,e(4).Buffer)},function(t,r,e){"use strict";class n{constructor(t,r){this.id=t,this.time=r||0}tick(){return new n(this.id,++this.time)}merge(t){return this.time=Math.max(this.time,t.time),new n(this.id,this.time)}clone(){return new n(this.id,this.time)}static compare(t,r){var e=t.time-r.time;return 0===e&&t.id!==r.id?t.idvoid 0!==t&&null!==t)},function(t,r,e){"use strict";(function(t){function n(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,r){if(n()=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|t}function c(t,r){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return T(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return S(t).length;default:if(n)return T(t).length;r=(""+r).toLowerCase(),n=!0}}function l(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if(e>>>=0,r>>>=0,e<=r)return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,r,e){var n=t.length;(!r||r<0)&&(r=0);(!e||e<0||e>n)&&(e=n);for(var i="",o=r;o2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=o.from(r,n)),o.isBuffer(r))return 0===r.length?-1:p(t,r,e,n,i);if("number"==typeof r)return r&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):p(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function p(t,r,e,n,i){function o(t,r){return 1===s?t[r]:t.readUInt16BE(r*s)}var s=1,a=t.length,h=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;s=2,a/=2,h/=2,e/=2}var u;if(i){var f=-1;for(u=e;ua&&(e=a-h),u=e;u>=0;u--){for(var c=!0,l=0;li&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=e%256,o.push(i),o.push(n);return o}(r,t.length-e),t,e,n)}function _(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;i239?4:o>223?3:o>191?2:1;if(i+a<=e){var h,u,f,c;switch(a){case 1:o<128&&(s=o);break;case 2:128==(192&(h=t[i+1]))&&(c=(31&o)<<6|63&h)>127&&(s=c);break;case 3:h=t[i+1],u=t[i+2],128==(192&h)&&128==(192&u)&&(c=(15&o)<<12|(63&h)<<6|63&u)>2047&&(c<55296||c>57343)&&(s=c);break;case 4:h=t[i+1],u=t[i+2],f=t[i+3],128==(192&h)&&128==(192&u)&&128==(192&f)&&(c=(15&o)<<18|(63&h)<<12|(63&u)<<6|63&f)>65535&&c<1114112&&(s=c)}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(t){var r=t.length;if(r<=M)return String.fromCharCode.apply(String,t);var e="",n=0;for(;ne)throw new RangeError("Trying to access beyond buffer length")}function x(t,r,e,n,i,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function P(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i>>8*(n?i:1-i)}function R(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i>>8*(n?i:3-i)&255}function B(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function I(t,r,e,n,i){return i||B(t,0,e,4),N.write(t,r,e,n,23,4),e+4}function k(t,r,e,n,i){return i||B(t,0,e,8),N.write(t,r,e,n,52,8),e+8}function T(t,r){r=r||1/0;for(var e,n=t.length,i=null,o=[],s=0;s55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function S(t){return D.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(L,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function O(t,r,e,n){for(var i=0;i=r.length||i>=t.length);++i)r[i+e]=t[i];return i}/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */ -var D=e(9),N=e(10),U=e(11);r.Buffer=o,r.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},r.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),r.kMaxLength=n(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,r,e){return s(null,t,r,e)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,r,e){return function(t,r,e,n){return a(r),r<=0?i(t,r):void 0!==e?"string"==typeof n?i(t,r).fill(e,n):i(t,r).fill(e):i(t,r)}(null,t,r,e)},o.allocUnsafe=function(t){return h(null,t)},o.allocUnsafeSlow=function(t){return h(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,r){if(!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,s=Math.min(e,n);i0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},o.prototype.compare=function(t,r,e,n,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var s=i-n,a=e-r,h=Math.min(s,a),u=this.slice(n,i),f=t.slice(r,e),c=0;ci)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return y(this,t,r,e);case"utf8":case"utf-8":return w(this,t,r,e);case"ascii":return m(this,t,r,e);case"latin1":case"binary":return v(this,t,r,e);case"base64":return E(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;o.prototype.slice=function(t,r){var e=this.length;t=~~t,r=void 0===r?e:~~r,t<0?(t+=e)<0&&(t=0):t>e&&(t=e),r<0?(r+=e)<0&&(r=0):r>e&&(r=e),r0&&(i*=256);)n+=this[t+--r]*i;return n},o.prototype.readUInt8=function(t,r){return r||A(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,r){return r||A(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,r){return r||A(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,r){return r||A(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,r){return r||A(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||A(t,r,this.length);for(var n=this[t],i=1,o=0;++o=i&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||A(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*r)),o},o.prototype.readInt8=function(t,r){return r||A(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,r){r||A(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},o.prototype.readInt16BE=function(t,r){r||A(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},o.prototype.readInt32LE=function(t,r){return r||A(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return r||A(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,r){return r||A(t,4,this.length),N.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return r||A(t,4,this.length),N.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return r||A(t,8,this.length),N.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return r||A(t,8,this.length),N.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r|=0,e|=0,!n){x(this,t,r,e,Math.pow(2,8*e)-1,0)}var i=1,o=0;for(this[r]=255&t;++o=0&&(o*=256);)this[r+i]=t/o&255;return r+e},o.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):P(this,t,r,!0),r+2},o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):P(this,t,r,!1),r+2},o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):R(this,t,r,!0),r+4},o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):R(this,t,r,!1),r+4},o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);x(this,t,r,e,i-1,-i)}var o=0,s=1,a=0;for(this[r]=255&t;++o>0)-a&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);x(this,t,r,e,i-1,-i)}var o=e-1,s=1,a=0;for(this[r+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[r+o+1]&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):P(this,t,r,!0),r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):P(this,t,r,!1),r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):R(this,t,r,!0),r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):R(this,t,r,!1),r+4},o.prototype.writeFloatLE=function(t,r,e){return I(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return I(this,t,r,!1,e)},o.prototype.writeDoubleLE=function(t,r,e){return k(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return k(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r=0;--i)t[i+r]=this[i+e];else if(s<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,e=void 0===e?this.length:e>>>0,t||(t=0);var s;if("number"==typeof t)for(s=r;snew Error("ImmutableDB instance not defined"),LogNotDefinedError:()=>new Error("Log instance not defined"),NotALogError:()=>new Error("Given argument is not an instance of Log")}},function(t,r,e){"use strict";t.exports=function(t,r){let e={};return t.forEach(t=>e[r?t[r]:t]=t),Object.keys(e).map(t=>e[t])}},function(t,r,e){"use strict";(function(r){const n=e(0),i=e(12),o=e(1),s=e(13),a=e(5),h=e(2),u=e(3),f=e(6);class c extends i{constructor(t,r,e,n,i,o,s=[]){if(!u(t))throw a.ImmutableDBNotDefinedError();if(u(e)&&!Array.isArray(e))throw new Error("'entries' argument must be an array of Entry instances");if(u(n)&&!Array.isArray(n))throw new Error("'heads' argument must be an array");super(),this._storage=t,this._id=r||(new Date).getTime().toString(),this._keystore=this._storage.keystore,this._key=o,this._keys=Array.isArray(s)?s:[s],e=e||[],this._entryIndex=e.reduce((t,r)=>(t[r.hash]=r,t),{}),n=n||c.findHeads(e),this._headsIndex=n.reduce((t,r)=>(t[r.hash]=r,t),{}),this._length=e?e.length:0;const f=Math.max(i?i.time:0,this.heads.reduce((t,r)=>Math.max(t,r.clock.time),0));this._clock=new h(this.id,f)}get id(){return this._id}get clock(){return this._clock}get length(){return this._length}get values(){return Object.values(this._entryIndex).sort(o.compare)||[]}get heads(){return Object.values(this._headsIndex)||[]}get tails(){return c.findTails(this.values)}get tailHashes(){return c.findTailHashes(this.values)}get(t){return this._entryIndex[t]}has(t){return void 0!==this.values.find(r=>o.isEqual(r,t))}async append(t){if(this._key&&!this._keys.includes(this._key.getPublic("hex"))&&!this._keys.includes("*"))throw new Error("Not allowed to write");const r=Math.max(this.clock.time,this.heads.reduce((t,r)=>Math.max(t,r.clock.time),0))+1;this._clock=new h(this.clock.id,r);const e=await o.create(this._storage,this.id,t,Object.values(this._headsIndex),this.clock,this._key);return this._entryIndex[e.hash]=e,this._headsIndex={},this._headsIndex[e.hash]=e,this._length++,e}async join(t,r=-1,e){if(!u(t))throw a.LogNotDefinedError();if(!c.isLog(t))throw a.NotALogError();const i=(t,r)=>(t[r.hash]=r,t);e=e||[t,this].sort((t,r)=>t.id>r.id)[0].id;const s=((t,r)=>{let e=Object.keys(t._headsIndex),n={},i={};for(;e.length>0;){const o=e.shift(),s=t.get(o);s&&!r.get(o)&&(i[s.hash]=s,n[s.hash]=!0,s.next.forEach(t=>{n[t]||r.get(t)||(e.push(t),n[t]=!0)}))}return i})(t,this);if(this._key){if(!await(async t=>{this._keys.map(t=>t.getPublic?t.getPublic("hex"):t);return(await n(t,async t=>{if(!t.key)throw new Error("Entry doesn't have a public key");if(!t.sig)throw new Error("Entry doesn't have a signature");if(1===this._keys.length&&this._keys[0]===this._key&&t.id!==this.id)throw new Error("Entry doesn't belong in this log (wrong ID)");if(this._keys.length>0&&!this._keys.includes("*")&&!((t,r)=>t.find(t=>t===r.key))(this._keys.concat([this._key]),t))return console.warn("Warning: Input log contains entries that are not allowed in this log. Logs weren't joined."),!1;try{await o.verifyEntry(t,this._keystore)}catch(r){return console.log(r),console.log("Couldn't verify entry:\n",t),!1}return!0})).every(t=>!0===t)})(Object.values(s)))return this}if(this._entryIndex=Object.assign(this._entryIndex,s),this._length+=Object.values(s).length,r>-1){let t=this.values;t=t.slice(-r),this._entryIndex=t.reduce(i,{}),this._length=Object.values(this._entryIndex).length}const f=c.findHeads(Object.values(Object.assign({},this._headsIndex,t._headsIndex)));this._headsIndex=f.reduce(i,{});const l=Object.values(this._headsIndex).reduce((t,r)=>t=Math.max(t,r.clock.time),0),d=new h(this.id,Math.max(this.clock.time,l));return this._id=e,this._clock=d,this}toJSON(){return{id:this.id,heads:this.heads.map(t=>t.hash)}}toSnapshot(){return{id:this.id,heads:this.heads,values:this.values}}toBuffer(){return r.from(JSON.stringify(this.toJSON()))}toString(t){return this.values.slice().reverse().map((r,e)=>{const n=o.findChildren(r,this.values).length;let i=new Array(Math.max(n-1,0));return i=n>1?i.fill(" "):i,(i=n>0?i.concat(["└─"]):i).join("")+(t?t(r.payload):r.payload)}).join("\n")}static isLog(t){return void 0!==t.id&&void 0!==t.heads&&void 0!==t._entryIndex}toMultihash(){return s.toMultihash(this._storage,this)}static fromMultihash(t,r,e=-1,n,i,o){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error(`Invalid hash: ${r}`);return s.fromMultihash(t,r,e,n,o).then(r=>new c(t,r.id,r.values,r.heads,r.clock,i))}static fromEntryHash(t,r,e,n=-1,i,o,h,f){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error("'hash' must be defined");return s.fromEntryHash(t,r,e,n,i,f).then(r=>new c(t,e,r.values,null,null,o,h))}static fromJSON(t,r,e=-1,n,i,o,h){if(!u(t))throw a.ImmutableDBNotDefinedError();return s.fromJSON(t,r,e,n,o,h).then(r=>new c(t,r.id,r.values,null,null,n,i))}static fromEntry(t,r,e=-1,n,i){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error("'sourceEntries' must be defined");return s.fromEntry(t,r,e,n,i).then(r=>new c(t,r.id,r.values))}static expandFrom(t,r,e,n=-1){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw a.LogNotDefinedError();if(!u(e))throw new Error("'entries' must be given as argument");if(!c.isLog(r))throw a.NotALogError();return s.expandFrom(t,r,e,n).then(e=>new c(t,r.id,e.values,null,r.clock))}static expand(t,r,e){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw a.LogNotDefinedError();if(!c.isLog(r))throw a.NotALogError();return s.expand(t,r,e).then(e=>new c(t,r.id,e.values,r.heads,r.clock))}static findHeads(t){var r=t.reduce((t,r,e,n)=>{return r.next.forEach(e=>t[e]=r.hash),t},{});return t.filter(t=>void 0===r[t.hash]).sort((t,r)=>t.id>r.id)}static findTails(t){var r={},e=[],n={},i=[];t.forEach(t=>{0===t.next.length&&e.push(t);t.next.forEach(e=>{r[e]||(r[e]=[]),r[e].push(t)}),i=i.concat(t.next),n[t.hash]=!0});const s=i.filter(t=>void 0===n[t]).map(t=>r[t]).reduce((t,r,e,n)=>t.concat(f(r,"hash")),[]).concat(e);return f(s,"hash").sort(o.compare)}static findTailHashes(t){var r={};return t.forEach(t=>r[t.hash]=!0),t.reduce((t,e,n,i)=>{return e.next.reverse().forEach(e=>{void 0===r[e]&&t.splice(0,0,e)}),t},[])}}t.exports=c}).call(r,e(4).Buffer)},function(t,r){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,r,e){"use strict";function n(t){var r=t.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[r-2]?2:"="===t[r-1]?1:0}function i(t){return s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t]}function o(t,r,e){for(var n,o=[],s=r;s0?u-4:u;var f=0;for(r=0;r>16&255,s[f++]=i>>8&255,s[f++]=255&i;return 2===o?(i=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[f++]=255&i):1===o&&(i=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[f++]=i>>8&255,s[f++]=255&i),s},r.fromByteArray=function(t){for(var r,e=t.length,n=e%3,i="",a=[],h=0,u=e-n;hu?u:h+16383));return 1===n?(r=t[e-1],i+=s[r>>2],i+=s[r<<4&63],i+="=="):2===n&&(r=(t[e-2]<<8)+t[e-1],i+=s[r>>10],i+=s[r>>4&63],i+=s[r<<2&63],i+="="),a.push(i),a.join("")};for(var s=[],a=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,c=u.length;f>1,f=-7,c=e?i-1:0,l=e?-1:1,d=t[r+c];for(c+=l,o=d&(1<<-f)-1,d>>=-f,f+=a;f>0;o=256*o+t[r+c],c+=l,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=256*s+t[r+c],c+=l,f-=8);if(0===o)o=1-u;else{if(o===h)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),o-=u}return(d?-1:1)*s*Math.pow(2,o-n)},r.write=function(t,r,e,n,i,o){var s,a,h,u=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,g=n?1:-1,p=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,s=f):(s=Math.floor(Math.log(r)/Math.LN2),r*(h=Math.pow(2,-s))<1&&(s--,h*=2),(r+=s+c>=1?l/h:l*Math.pow(2,1-c))*h>=2&&(s++,h/=2),s+c>=f?(a=0,s=f):s+c>=1?(a=(r*h-1)*Math.pow(2,i),s+=c):(a=r*Math.pow(2,c-1)*Math.pow(2,i),s=0));i>=8;t[e+d]=255&a,d+=g,a/=256,i-=8);for(s=s<0;t[e+d]=255&s,d+=g,s/=256,u-=8);t[e+d-g]|=128*p}},function(t,r){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},function(t,r,e){"use strict";class n{constuctor(t){}append(t){}merge(t){}get(t){}has(t){}get values(){}get length(){}}t.exports=n},function(t,r,e){"use strict";e(0);const n=e(1),i=e(14),o=e(2),s=e(5),a=e(3),h=e(6),u=e(16),f=e(17);class c{static toMultihash(t,r){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();if(r.values.length<1)throw new Error("Can't serialize an empty log");return t.object.put(r.toBuffer()).then(t=>t.toJSON().multihash)}static fromMultihash(t,r,e=-1,h,u){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw new Error(`Invalid hash: ${r}`);return t.object.get(r,{enc:"base58"}).then(t=>JSON.parse(t.toJSON().data)).then(r=>{if(!r.heads||!r.id)throw s.NotALogError();return i.fetchAll(t,r.heads,e,h,null,u).then(t=>{const e=t.reduce((t,r)=>r.clock.time>t.time?new o(r.clock.id,r.clock.time):t,new o(r.id)),i=t.slice().sort(n.compare),s=i.filter(t=>r.heads.includes(t.hash));return{id:r.id,values:i,heads:s,clock:e}})})}static fromEntryHash(t,r,e,n=-1,o,h){if(!a(t))throw s.IpfsNotDefinedError();if(!a(r))throw new Error("'entryHash' must be defined");n=n>-1?Math.max(n,1):n;const u=o;return i.fetchParallel(t,[r],n,u,null,null,h).then(t=>{return{values:n>-1?((t,r)=>t.slice(t.length-r,t.length))(t,n):t}})}static fromJSON(t,r,e=-1,o,h,u){if(!a(t))throw s.ImmutableDBNotDefinedError();return i.fetchParallel(t,r.heads.map(t=>t.hash),e,[],16,h,u).then(t=>{const e=t.slice().sort(n.compare);t.filter(t=>r.heads.includes(t.hash));return{id:r.id,values:e,heads:r.heads}})}static fromEntry(t,r,e=-1,o,u,c,l){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw new Error("'sourceEntries' must be defined");if(!Array.isArray(r)&&!n.isEntry(r))throw new Error("'sourceEntries' argument must be an array of Entry instances or a single Entry");Array.isArray(r)||(r=[r]),e=e>-1?Math.max(e,r.length):e;const d=o?o.map(t=>t.hash?t.hash:t):o,g=r.map(t=>t.hash);return i.fetchParallel(t,g,e,d,null,null,l).then(t=>{var i=r.concat(t),o=h(i,"hash").sort(n.compare);const s=o.slice(e>-1?-e:-o.length),a=((t,r)=>{var e=t.slice(r.length,t.length);return r.concat(e)})(s,f(s,r,"hash"));return{id:a[a.length-1].id,values:a}})}static expandFrom(t,r,e,n=-1){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();if(!a(e))throw new Error("'entries' must be given as argument");Array.isArray(e)||(e=[e]);const o=e.map(t=>t.next).filter(t=>t.length>0);return 0===o.length?Promise.resolve({values:r.values}):i.fetchParallel(t,o,n,r.values).then(t=>{return{values:r.merge(t.slice(0,n))}})}static expand(t,r,e=-1){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();return 0===r.tailHashes.length?Promise.resolve({values:r.values}):i.fetchParallel(t,r.tailHashes,e,r.values).then(t=>{const i=e>-1?r.values.length+e:-1,o=r.values.concat(t).sort(n.compare),s=i>-1?o.slice(-i):o.slice(),a=f(s,r.values,"hash").sort(n.compare),c=f(r.values,s,"hash").sort(n.compare),l=u(r.values,s,"hash").sort(n.compare),d=i-(l.length+a.length),g=(t,r)=>{var e=[];e=t.concat(r);return h(e,"hash").sort(n.compare)};return{values:g(a,g(l,d>-1?c.slice(-d):c))}})}}t.exports=c},function(t,r,e){"use strict";const n=e(15),i=e(0),o=e(1);let s=0,a=0;class h{static fetchParallel(t,r,e,n=[],o,s,a){return i(r,r=>h.fetchAll(t,r,e,n,s,a),{concurrency:Math.max(o||r.length,1)}).then(t=>t.reduce((t,r)=>t.concat(r),[]))}static fetchAll(t,r,e,i=[],h=null,u){let f=[],c={},l=Array.isArray(r)?r.slice():[r];i.forEach(t=>c[t.hash]=t);return n(()=>l.length>0&&(f.length{const r=l.shift();return c[r]?Promise.resolve():new Promise((e,n)=>{const i=h?setTimeout(()=>{console.warn(`Warning: Couldn't fetch entry '${r}', request timed out (${h}ms)`),e()},h):null;s++,o.fromMultihash(t,r).then(t=>{clearTimeout(i),o.isEntry(t)&&(t.next.forEach(t=>l.push(t)),f.push(t),c[r]=t,a++,u&&u(r,t,f.length))}).then(e).catch(t=>{e()})})}).then(()=>f)}}t.exports=h},function(t,r,e){"use strict";const n=t=>new Promise(r=>{r(t())});t.exports=((t,r)=>n(function e(){if(t())return n(r).then(e)}))},function(t,r,e){"use strict";t.exports=function(t,r,e){var n={},i={};return t.forEach(t=>i[e?t[e]:t]=!0),r.reduce((t,r)=>{var o=void 0!==i[e?r[e]:r],s=void 0!==n[e?r[e]:r];return o&&!s&&(t.push(r),n[e?r[e]:r]=!0),t},[])}},function(t,r,e){"use strict";t.exports=function(t,r,e){var n={},i={};return t.forEach(t=>i[e?t[e]:t]=!0),r.reduce((t,r)=>{var o=void 0!==i[e?r[e]:r],s=void 0!==n[e?r[e]:r];return o||s||(t.push(r),n[e?r[e]:r]=!0),t},[])}}]); \ No newline at end of file +var Log=function(t){function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}var e={};return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:n})},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,r){return Object.prototype.hasOwnProperty.call(t,r)},r.p="",r(r.s=7)}([function(t,r,e){"use strict";t.exports=((t,r,e)=>new Promise((n,i)=>{if(e=Object.assign({concurrency:1/0},e),"function"!=typeof r)throw new TypeError("Mapper function is required");const o=e.concurrency;if(!("number"==typeof o&&o>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${o}\` (${typeof o})`);const s=[],a=t[Symbol.iterator]();let h=!1,u=!1,f=0,c=0;const l=()=>{if(h)return;const t=a.next(),e=c;if(c++,t.done)return u=!0,void(0===f&&n(s));f++,Promise.resolve(t.value).then(t=>r(t,e)).then(t=>{s[e]=t,f--,l()},t=>{h=!0,i(t)})};for(let t=0;tnew Error("Ipfs instance not defined");class s{static async create(t,r,e,a=[],h,u){if(!i(t))throw o();if(!i(r))throw new Error("Entry requires an id");if(!i(e))throw new Error("Entry requires data");if(!i(a)||!Array.isArray(a))throw new Error("'next' argument is not an array");let f={hash:null,id:r,payload:e,next:a.filter(i).map(t=>t.hash?t.hash:t),v:0,clock:new n(r,h?h.time:null)};return t.keystore&&u&&(f=await s.signEntry(t.keystore,f,u)),f.hash=await s.toMultihash(t,f),f}static async signEntry(t,e,n){const i=await t.sign(n,new r(JSON.stringify(e)));return e.sig=i,e.key=n.getPublic("hex"),e}static async verifyEntry(t,e){const n=Object.assign({},{hash:null,id:t.id,payload:t.payload,next:t.next,v:t.v,clock:t.clock}),i=await e.importPublicKey(t.key);await e.verify(t.sig,i,new r(JSON.stringify(n)))}static toMultihash(t,e){if(!t)throw o();const n=r.from(JSON.stringify(e));return t.object.put(n).then(t=>t.toJSON().multihash)}static fromMultihash(t,r){if(!t)throw o();if(!r)throw new Error(`Invalid hash: ${r}`);return t.object.get(r,{enc:"base58"}).then(t=>JSON.parse(t.toJSON().data)).then(t=>{let e={hash:r,id:t.id,payload:t.payload,next:t.next,v:t.v,clock:t.clock};return t.sig&&Object.assign(e,{sig:t.sig}),t.key&&Object.assign(e,{key:t.key}),e})}static isEntry(t){return void 0!==t.id&&void 0!==t.next&&void 0!==t.hash&&void 0!==t.payload&&void 0!==t.v&&void 0!==t.clock}static compare(t,r){var e=n.compare(t.clock,r.clock);return 0===e?t.clock.id-1}static findChildren(t,r){for(var e=[],n=r.find(r=>s.isParent(t,r)),i=t;n;)e.push(n),i=n,n=r.find(t=>s.isParent(i,t));return e=e.sort((t,r)=>t.clock.time>t.clock.time)}}t.exports=s}).call(r,e(4).Buffer)},function(t,r,e){"use strict";class n{constructor(t,r){this.id=t,this.time=r||0}tick(){return new n(this.id,++this.time)}merge(t){return this.time=Math.max(this.time,t.time),new n(this.id,this.time)}clone(){return new n(this.id,this.time)}static compare(t,r){var e=t.time-r.time;return 0===e&&t.id!==r.id?t.idvoid 0!==t&&null!==t)},function(t,r,e){"use strict";(function(t){function n(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,r){if(n()=n())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n().toString(16)+" bytes");return 0|t}function c(t,r){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var n=!1;;)switch(r){case"ascii":case"latin1":case"binary":return e;case"utf8":case"utf-8":case void 0:return T(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return S(t).length;default:if(n)return T(t).length;r=(""+r).toLowerCase(),n=!0}}function l(t,r,e){var n=!1;if((void 0===r||r<0)&&(r=0),r>this.length)return"";if((void 0===e||e>this.length)&&(e=this.length),e<=0)return"";if(e>>>=0,r>>>=0,e<=r)return"";for(t||(t="utf8");;)switch(t){case"hex":return function(t,r,e){var n=t.length;(!r||r<0)&&(r=0);(!e||e<0||e>n)&&(e=n);for(var i="",o=r;o2147483647?e=2147483647:e<-2147483648&&(e=-2147483648),e=+e,isNaN(e)&&(e=i?0:t.length-1),e<0&&(e=t.length+e),e>=t.length){if(i)return-1;e=t.length-1}else if(e<0){if(!i)return-1;e=0}if("string"==typeof r&&(r=o.from(r,n)),o.isBuffer(r))return 0===r.length?-1:p(t,r,e,n,i);if("number"==typeof r)return r&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,r,e):Uint8Array.prototype.lastIndexOf.call(t,r,e):p(t,[r],e,n,i);throw new TypeError("val must be string, number or Buffer")}function p(t,r,e,n,i){function o(t,r){return 1===s?t[r]:t.readUInt16BE(r*s)}var s=1,a=t.length,h=r.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||r.length<2)return-1;s=2,a/=2,h/=2,e/=2}var u;if(i){var f=-1;for(u=e;ua&&(e=a-h),u=e;u>=0;u--){for(var c=!0,l=0;li&&(n=i):n=i;var o=r.length;if(o%2!=0)throw new TypeError("Invalid hex string");n>o/2&&(n=o/2);for(var s=0;s>8,i=e%256,o.push(i),o.push(n);return o}(r,t.length-e),t,e,n)}function _(t,r,e){e=Math.min(t.length,e);for(var n=[],i=r;i239?4:o>223?3:o>191?2:1;if(i+a<=e){var h,u,f,c;switch(a){case 1:o<128&&(s=o);break;case 2:128==(192&(h=t[i+1]))&&(c=(31&o)<<6|63&h)>127&&(s=c);break;case 3:h=t[i+1],u=t[i+2],128==(192&h)&&128==(192&u)&&(c=(15&o)<<12|(63&h)<<6|63&u)>2047&&(c<55296||c>57343)&&(s=c);break;case 4:h=t[i+1],u=t[i+2],f=t[i+3],128==(192&h)&&128==(192&u)&&128==(192&f)&&(c=(15&o)<<18|(63&h)<<12|(63&u)<<6|63&f)>65535&&c<1114112&&(s=c)}}null===s?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|1023&s),n.push(s),i+=a}return function(t){var r=t.length;if(r<=M)return String.fromCharCode.apply(String,t);var e="",n=0;for(;ne)throw new RangeError("Trying to access beyond buffer length")}function x(t,r,e,n,i,s){if(!o.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(r>i||rt.length)throw new RangeError("Index out of range")}function P(t,r,e,n){r<0&&(r=65535+r+1);for(var i=0,o=Math.min(t.length-e,2);i>>8*(n?i:1-i)}function R(t,r,e,n){r<0&&(r=4294967295+r+1);for(var i=0,o=Math.min(t.length-e,4);i>>8*(n?i:3-i)&255}function I(t,r,e,n,i,o){if(e+n>t.length)throw new RangeError("Index out of range");if(e<0)throw new RangeError("Index out of range")}function B(t,r,e,n,i){return i||I(t,0,e,4),N.write(t,r,e,n,23,4),e+4}function k(t,r,e,n,i){return i||I(t,0,e,8),N.write(t,r,e,n,52,8),e+8}function T(t,r){r=r||1/0;for(var e,n=t.length,i=null,o=[],s=0;s55295&&e<57344){if(!i){if(e>56319){(r-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(r-=3)>-1&&o.push(239,191,189);continue}i=e;continue}if(e<56320){(r-=3)>-1&&o.push(239,191,189),i=e;continue}e=65536+(i-55296<<10|e-56320)}else i&&(r-=3)>-1&&o.push(239,191,189);if(i=null,e<128){if((r-=1)<0)break;o.push(e)}else if(e<2048){if((r-=2)<0)break;o.push(e>>6|192,63&e|128)}else if(e<65536){if((r-=3)<0)break;o.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(e<1114112))throw new Error("Invalid code point");if((r-=4)<0)break;o.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return o}function S(t){return D.toByteArray(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(L,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function O(t,r,e,n){for(var i=0;i=r.length||i>=t.length);++i)r[i+e]=t[i];return i}var D=e(9),N=e(10),U=e(11);r.Buffer=o,r.SlowBuffer=function(t){return+t!=t&&(t=0),o.alloc(+t)},r.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),r.kMaxLength=n(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,r,e){return s(null,t,r,e)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,r,e){return function(t,r,e,n){return a(r),r<=0?i(t,r):void 0!==e?"string"==typeof n?i(t,r).fill(e,n):i(t,r).fill(e):i(t,r)}(null,t,r,e)},o.allocUnsafe=function(t){return h(null,t)},o.allocUnsafeSlow=function(t){return h(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,r){if(!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError("Arguments must be Buffers");if(t===r)return 0;for(var e=t.length,n=r.length,i=0,s=Math.min(e,n);i0&&(t=this.toString("hex",0,e).match(/.{2}/g).join(" "),this.length>e&&(t+=" ... ")),""},o.prototype.compare=function(t,r,e,n,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===r&&(r=0),void 0===e&&(e=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),r<0||e>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&r>=e)return 0;if(n>=i)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,i>>>=0,this===t)return 0;for(var s=i-n,a=e-r,h=Math.min(s,a),u=this.slice(n,i),f=t.slice(r,e),c=0;ci)&&(e=i),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return y(this,t,r,e);case"utf8":case"utf-8":return w(this,t,r,e);case"ascii":return m(this,t,r,e);case"latin1":case"binary":return v(this,t,r,e);case"base64":return E(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return b(this,t,r,e);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var M=4096;o.prototype.slice=function(t,r){var e=this.length;t=~~t,r=void 0===r?e:~~r,t<0?(t+=e)<0&&(t=0):t>e&&(t=e),r<0?(r+=e)<0&&(r=0):r>e&&(r=e),r0&&(i*=256);)n+=this[t+--r]*i;return n},o.prototype.readUInt8=function(t,r){return r||A(t,1,this.length),this[t]},o.prototype.readUInt16LE=function(t,r){return r||A(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUInt16BE=function(t,r){return r||A(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUInt32LE=function(t,r){return r||A(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},o.prototype.readUInt32BE=function(t,r){return r||A(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readIntLE=function(t,r,e){t|=0,r|=0,e||A(t,r,this.length);for(var n=this[t],i=1,o=0;++o=i&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t|=0,r|=0,e||A(t,r,this.length);for(var n=r,i=1,o=this[t+--n];n>0&&(i*=256);)o+=this[t+--n]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*r)),o},o.prototype.readInt8=function(t,r){return r||A(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},o.prototype.readInt16LE=function(t,r){r||A(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},o.prototype.readInt16BE=function(t,r){r||A(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},o.prototype.readInt32LE=function(t,r){return r||A(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return r||A(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readFloatLE=function(t,r){return r||A(t,4,this.length),N.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return r||A(t,4,this.length),N.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return r||A(t,8,this.length),N.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return r||A(t,8,this.length),N.read(this,t,!1,52,8)},o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r|=0,e|=0,!n){x(this,t,r,e,Math.pow(2,8*e)-1,0)}var i=1,o=0;for(this[r]=255&t;++o=0&&(o*=256);)this[r+i]=t/o&255;return r+e},o.prototype.writeUInt8=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,1,255,0),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[r]=255&t,r+1},o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):P(this,t,r,!0),r+2},o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,65535,0),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):P(this,t,r,!1),r+2},o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=255&t):R(this,t,r,!0),r+4},o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,4294967295,0),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):R(this,t,r,!1),r+4},o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);x(this,t,r,e,i-1,-i)}var o=0,s=1,a=0;for(this[r]=255&t;++o>0)-a&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r|=0,!n){var i=Math.pow(2,8*e-1);x(this,t,r,e,i-1,-i)}var o=e-1,s=1,a=0;for(this[r+o]=255&t;--o>=0&&(s*=256);)t<0&&0===a&&0!==this[r+o+1]&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,1,127,-128),o.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[r]=255&t,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8):P(this,t,r,!0),r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,2,32767,-32768),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>8,this[r+1]=255&t):P(this,t,r,!1),r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,2147483647,-2147483648),o.TYPED_ARRAY_SUPPORT?(this[r]=255&t,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24):R(this,t,r,!0),r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r|=0,e||x(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),o.TYPED_ARRAY_SUPPORT?(this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=255&t):R(this,t,r,!1),r+4},o.prototype.writeFloatLE=function(t,r,e){return B(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return B(this,t,r,!1,e)},o.prototype.writeDoubleLE=function(t,r,e){return k(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return k(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(e||(e=0),n||0===n||(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r=0;--i)t[i+r]=this[i+e];else if(s<1e3||!o.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,e=void 0===e?this.length:e>>>0,t||(t=0);var s;if("number"==typeof t)for(s=r;snew Error("ImmutableDB instance not defined"),LogNotDefinedError:()=>new Error("Log instance not defined"),NotALogError:()=>new Error("Given argument is not an instance of Log")}},function(t,r,e){"use strict";t.exports=function(t,r){let e={};return t.forEach(t=>e[r?t[r]:t]=t),Object.keys(e).map(t=>e[t])}},function(t,r,e){"use strict";(function(r){const n=e(0),i=e(12),o=e(1),s=e(13),a=e(5),h=e(2),u=e(3),f=e(6),c=()=>(new Date).getTime().toString();class l extends i{constructor(t,r,e,n,i,o,s=[]){if(!u(t))throw a.ImmutableDBNotDefinedError();if(u(e)&&!Array.isArray(e))throw new Error("'entries' argument must be an array of Entry instances");if(u(n)&&!Array.isArray(n))throw new Error("'heads' argument must be an array");super(),this._storage=t,this._id=r||c(),this._keystore=this._storage.keystore,this._key=o,this._keys=Array.isArray(s)?s:[s],e=e||[],this._entryIndex=e.reduce((t,r)=>(t[r.hash]=r,t),{}),n=n||l.findHeads(e),this._headsIndex=n.reduce((t,r)=>(t[r.hash]=r,t),{}),this._length=e?e.length:0;const f=Math.max(i?i.time:0,this.heads.reduce((t,r)=>Math.max(t,r.clock.time),0));this._clock=new h(this.id,f)}get id(){return this._id}get clock(){return this._clock}get length(){return this._length}get values(){return Object.values(this._entryIndex).sort(o.compare)||[]}get heads(){return Object.values(this._headsIndex)||[]}get tails(){return l.findTails(this.values)}get tailHashes(){return l.findTailHashes(this.values)}get(t){return this._entryIndex[t]}has(t){return void 0!==this._entryIndex[t.hash||t]}async append(t){if(this._key&&!this._keys.includes(this._key.getPublic("hex"))&&!this._keys.includes("*"))throw new Error("Not allowed to write");const r=Math.max(this.clock.time,this.heads.reduce((t,r)=>Math.max(t,r.clock.time),0))+1;this._clock=new h(this.clock.id,r);const e=await o.create(this._storage,this.id,t,Object.values(this._headsIndex),this.clock,this._key);return this._entryIndex[e.hash]=e,this._headsIndex={},this._headsIndex[e.hash]=e,this._length++,e}async join(t,r=-1,e){if(!u(t))throw a.LogNotDefinedError();if(!l.isLog(t))throw a.NotALogError();const i=async t=>{this._keys.map(t=>t.getPublic?t.getPublic("hex"):t);return(await n(t,async t=>{if(!t.key)throw new Error("Entry doesn't have a public key");if(!t.sig)throw new Error("Entry doesn't have a signature");if(1===this._keys.length&&this._keys[0]===this._key&&t.id!==this.id)throw new Error("Entry doesn't belong in this log (wrong ID)");if(this._keys.length>0&&!this._keys.includes("*")&&!((t,r)=>t.find(t=>t===r.key))(this._keys.concat([this._key]),t))return console.warn("Warning: Input log contains entries that are not allowed in this log. Logs weren't joined."),!1;try{await o.verifyEntry(t,this._keystore)}catch(r){return console.log(r),console.log("Couldn't verify entry:\n",t),!1}return!0})).every(t=>!0===t)},s=(t,r)=>(t[r.hash]=r,t);e=e||[t,this].sort((t,r)=>t.id>r.id)[0].id;const f=((t,r)=>{let e=Object.keys(t._headsIndex),n={},i={};for(;e.length>0;){const o=e.shift(),s=t.get(o);s&&!r.get(o)&&(i[s.hash]=s,n[s.hash]=!0,s.next.forEach(t=>{n[t]||r.get(t)||(e.push(t),n[t]=!0)}))}return i})(t,this);if(this._key){if(!await i(Object.values(f)))return this}if(this._entryIndex=Object.assign(this._entryIndex,f),this._length+=Object.values(f).length,r>-1){let t=this.values;t=t.slice(-r),this._entryIndex=t.reduce(s,{}),this._length=Object.values(this._entryIndex).length}const c=l.findHeads(Object.values(Object.assign({},this._headsIndex,t._headsIndex)));this._headsIndex=c.reduce(s,{});const d=Object.values(this._headsIndex).reduce((t,r)=>t=Math.max(t,r.clock.time),0),g=new h(this.id,Math.max(this.clock.time,d));return this._id=e,this._clock=g,this}toJSON(){return{id:this.id,heads:this.heads.map(t=>t.hash)}}toSnapshot(){return{id:this.id,heads:this.heads,values:this.values}}toBuffer(){return r.from(JSON.stringify(this.toJSON()))}toString(t){return this.values.slice().reverse().map((r,e)=>{const n=o.findChildren(r,this.values).length;let i=new Array(Math.max(n-1,0));return i=n>1?i.fill(" "):i,(i=n>0?i.concat(["└─"]):i).join("")+(t?t(r.payload):r.payload)}).join("\n")}static isLog(t){return void 0!==t.id&&void 0!==t.heads&&void 0!==t._entryIndex}toMultihash(){return s.toMultihash(this._storage,this)}static fromMultihash(t,r,e=-1,n,i,o){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error(`Invalid hash: ${r}`);return s.fromMultihash(t,r,e,n,o).then(r=>new l(t,r.id,r.values,r.heads,r.clock,i))}static fromEntryHash(t,r,e,n=-1,i,o,h,f){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error("'hash' must be defined");return s.fromEntryHash(t,r,e,n,i,f).then(r=>new l(t,e,r.values,null,null,o,h))}static fromJSON(t,r,e=-1,n,i,o,h){if(!u(t))throw a.ImmutableDBNotDefinedError();return s.fromJSON(t,r,e,n,o,h).then(r=>new l(t,r.id,r.values,null,null,n,i))}static fromEntry(t,r,e=-1,n,i){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw new Error("'sourceEntries' must be defined");return s.fromEntry(t,r,e,n,i).then(r=>new l(t,r.id,r.values))}static expandFrom(t,r,e,n=-1){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw a.LogNotDefinedError();if(!u(e))throw new Error("'entries' must be given as argument");if(!l.isLog(r))throw a.NotALogError();return s.expandFrom(t,r,e,n).then(e=>new l(t,r.id,e.values,null,r.clock))}static expand(t,r,e){if(!u(t))throw a.ImmutableDBNotDefinedError();if(!u(r))throw a.LogNotDefinedError();if(!l.isLog(r))throw a.NotALogError();return s.expand(t,r,e).then(e=>new l(t,r.id,e.values,r.heads,r.clock))}static findHeads(t){var r=t.reduce((t,r,e,n)=>{return r.next.forEach(e=>t[e]=r.hash),t},{});return t.filter(t=>void 0===r[t.hash]).sort((t,r)=>t.id>r.id)}static findTails(t){var r={},e=[],n={},i=[];t.forEach(t=>{0===t.next.length&&e.push(t);t.next.forEach(e=>{r[e]||(r[e]=[]),r[e].push(t)}),i=i.concat(t.next),n[t.hash]=!0});const s=i.filter(t=>void 0===n[t]).map(t=>r[t]).reduce((t,r,e,n)=>t.concat(f(r,"hash")),[]).concat(e);return f(s,"hash").sort(o.compare)}static findTailHashes(t){var r={};return t.forEach(t=>r[t.hash]=!0),t.reduce((t,e,n,i)=>{return e.next.reverse().forEach(e=>{void 0===r[e]&&t.splice(0,0,e)}),t},[])}}t.exports=l}).call(r,e(4).Buffer)},function(t,r){var e;e=function(){return this}();try{e=e||Function("return this")()||(0,eval)("this")}catch(t){"object"==typeof window&&(e=window)}t.exports=e},function(t,r,e){"use strict";function n(t){var r=t.length;if(r%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===t[r-2]?2:"="===t[r-1]?1:0}function i(t){return s[t>>18&63]+s[t>>12&63]+s[t>>6&63]+s[63&t]}function o(t,r,e){for(var n,o=[],s=r;s0?u-4:u;var f=0;for(r=0;r>16&255,s[f++]=i>>8&255,s[f++]=255&i;return 2===o?(i=a[t.charCodeAt(r)]<<2|a[t.charCodeAt(r+1)]>>4,s[f++]=255&i):1===o&&(i=a[t.charCodeAt(r)]<<10|a[t.charCodeAt(r+1)]<<4|a[t.charCodeAt(r+2)]>>2,s[f++]=i>>8&255,s[f++]=255&i),s},r.fromByteArray=function(t){for(var r,e=t.length,n=e%3,i="",a=[],h=0,u=e-n;hu?u:h+16383));return 1===n?(r=t[e-1],i+=s[r>>2],i+=s[r<<4&63],i+="=="):2===n&&(r=(t[e-2]<<8)+t[e-1],i+=s[r>>10],i+=s[r>>4&63],i+=s[r<<2&63],i+="="),a.push(i),a.join("")};for(var s=[],a=[],h="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",f=0,c=u.length;f>1,f=-7,c=e?i-1:0,l=e?-1:1,d=t[r+c];for(c+=l,o=d&(1<<-f)-1,d>>=-f,f+=a;f>0;o=256*o+t[r+c],c+=l,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=256*s+t[r+c],c+=l,f-=8);if(0===o)o=1-u;else{if(o===h)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,n),o-=u}return(d?-1:1)*s*Math.pow(2,o-n)},r.write=function(t,r,e,n,i,o){var s,a,h,u=8*o-i-1,f=(1<>1,l=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=n?0:o-1,g=n?1:-1,p=r<0||0===r&&1/r<0?1:0;for(r=Math.abs(r),isNaN(r)||r===1/0?(a=isNaN(r)?1:0,s=f):(s=Math.floor(Math.log(r)/Math.LN2),r*(h=Math.pow(2,-s))<1&&(s--,h*=2),(r+=s+c>=1?l/h:l*Math.pow(2,1-c))*h>=2&&(s++,h/=2),s+c>=f?(a=0,s=f):s+c>=1?(a=(r*h-1)*Math.pow(2,i),s+=c):(a=r*Math.pow(2,c-1)*Math.pow(2,i),s=0));i>=8;t[e+d]=255&a,d+=g,a/=256,i-=8);for(s=s<0;t[e+d]=255&s,d+=g,s/=256,u-=8);t[e+d-g]|=128*p}},function(t,r){var e={}.toString;t.exports=Array.isArray||function(t){return"[object Array]"==e.call(t)}},function(t,r,e){"use strict";t.exports=class{constuctor(t){}append(t){}merge(t){}get(t){}has(t){}get values(){}get length(){}}},function(t,r,e){"use strict";e(0);const n=e(1),i=e(14),o=e(2),s=e(5),a=e(3),h=e(6),u=e(16),f=e(17),c=(t,r)=>t.slice(t.length-r,t.length);t.exports=class{static toMultihash(t,r){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();if(r.values.length<1)throw new Error("Can't serialize an empty log");return t.object.put(r.toBuffer()).then(t=>t.toJSON().multihash)}static fromMultihash(t,r,e=-1,h,u){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw new Error(`Invalid hash: ${r}`);return t.object.get(r,{enc:"base58"}).then(t=>JSON.parse(t.toJSON().data)).then(r=>{if(!r.heads||!r.id)throw s.NotALogError();return i.fetchAll(t,r.heads,e,h,null,u).then(t=>{const e=t.reduce((t,r)=>r.clock.time>t.time?new o(r.clock.id,r.clock.time):t,new o(r.id)),i=t.slice().sort(n.compare),s=i.filter(t=>r.heads.includes(t.hash));return{id:r.id,values:i,heads:s,clock:e}})})}static fromEntryHash(t,r,e,n=-1,o,h){if(!a(t))throw s.IpfsNotDefinedError();if(!a(r))throw new Error("'entryHash' must be defined");n=n>-1?Math.max(n,1):n;const u=o;return i.fetchParallel(t,[r],n,u,null,null,h).then(t=>({values:n>-1?c(t,n):t}))}static fromJSON(t,r,e=-1,o,h,u){if(!a(t))throw s.ImmutableDBNotDefinedError();return i.fetchParallel(t,r.heads.map(t=>t.hash),e,[],16,h,u).then(t=>{const e=t.slice().sort(n.compare);return t.filter(t=>r.heads.includes(t.hash)),{id:r.id,values:e,heads:r.heads}})}static fromEntry(t,r,e=-1,o,u,c,l){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw new Error("'sourceEntries' must be defined");if(!Array.isArray(r)&&!n.isEntry(r))throw new Error("'sourceEntries' argument must be an array of Entry instances or a single Entry");Array.isArray(r)||(r=[r]),e=e>-1?Math.max(e,r.length):e;const d=o?o.map(t=>t.hash?t.hash:t):o,g=r.map(t=>t.hash);return i.fetchParallel(t,g,e,d,null,null,l).then(t=>{var i=r.concat(t),o=h(i,"hash").sort(n.compare);const s=o.slice(e>-1?-e:-o.length),a=((t,r)=>{var e=t.slice(r.length,t.length);return r.concat(e)})(s,f(s,r,"hash"));return{id:a[a.length-1].id,values:a}})}static expandFrom(t,r,e,n=-1){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();if(!a(e))throw new Error("'entries' must be given as argument");Array.isArray(e)||(e=[e]);const o=e.map(t=>t.next).filter(t=>t.length>0);return 0===o.length?Promise.resolve({values:r.values}):i.fetchParallel(t,o,n,r.values).then(t=>({values:r.merge(t.slice(0,n))}))}static expand(t,r,e=-1){if(!a(t))throw s.ImmutableDBNotDefinedError();if(!a(r))throw s.LogNotDefinedError();return 0===r.tailHashes.length?Promise.resolve({values:r.values}):i.fetchParallel(t,r.tailHashes,e,r.values).then(t=>{const i=e>-1?r.values.length+e:-1,o=r.values.concat(t).sort(n.compare),s=i>-1?o.slice(-i):o.slice(),a=f(s,r.values,"hash").sort(n.compare),c=f(r.values,s,"hash").sort(n.compare),l=u(r.values,s,"hash").sort(n.compare),d=i-(l.length+a.length),g=(t,r)=>{var e=[];return e=t.concat(r),h(e,"hash").sort(n.compare)};return{values:g(a,g(l,d>-1?c.slice(-d):c))}})}}},function(t,r,e){"use strict";const n=e(15),i=e(0),o=e(1);let s=0,a=0;class h{static fetchParallel(t,r,e,n=[],o,s,a){const u=(t,r)=>t.concat(r);return i(r,r=>h.fetchAll(t,r,e,n,s,a),{concurrency:Math.max(o||r.length,1)}).then(t=>t.reduce(u,[]))}static fetchAll(t,r,e,i=[],h=null,u){let f=[],c={},l=Array.isArray(r)?r.slice():[r];const d=t=>l.push(t);i.forEach(t=>c[t.hash]=t);return n(()=>l.length>0&&(f.length{const r=l.shift();return c[r]?Promise.resolve():new Promise((e,n)=>{const i=h?setTimeout(()=>{console.warn(`Warning: Couldn't fetch entry '${r}', request timed out (${h}ms)`),e()},h):null;s++,o.fromMultihash(t,r).then(t=>{clearTimeout(i),o.isEntry(t)&&(t.next.forEach(d),f.push(t),c[r]=t,a++,u&&u(r,t,f.length))}).then(e).catch(t=>{e()})})}).then(()=>f)}}t.exports=h},function(t,r,e){"use strict";const n=t=>new Promise(r=>{r(t())});t.exports=((t,r)=>n(function e(){if(t())return n(r).then(e)}))},function(t,r,e){"use strict";t.exports=function(t,r,e){var n={},i={};return t.forEach(t=>i[e?t[e]:t]=!0),r.reduce((t,r)=>{var o=void 0!==i[e?r[e]:r],s=void 0!==n[e?r[e]:r];return o&&!s&&(t.push(r),n[e?r[e]:r]=!0),t},[])}},function(t,r,e){"use strict";t.exports=function(t,r,e){var n={},i={};return t.forEach(t=>i[e?t[e]:t]=!0),r.reduce((t,r)=>{var o=void 0!==i[e?r[e]:r],s=void 0!==n[e?r[e]:r];return o||s||(t.push(r),n[e?r[e]:r]=!0),t},[])}}]); \ No newline at end of file diff --git a/lib/es5/log.js b/lib/es5/log.js index 63847833..44f7a5db 100644 --- a/lib/es5/log.js +++ b/lib/es5/log.js @@ -146,10 +146,7 @@ var Log = function (_GSet) { }, { key: 'has', value: function has(entry) { - var isEqual = function isEqual(e) { - return Entry.isEqual(e, entry); - }; - return this.values.find(isEqual) !== undefined; + return this._entryIndex[entry.hash || entry] !== undefined; } /** diff --git a/package-lock.json b/package-lock.json index 6d3f0542..e54f3966 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,6 +4,13 @@ "lockfileVersion": 1, "requires": true, "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true, + "optional": true + }, "abstract-leveldown": { "version": "0.12.4", "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz", @@ -29,6 +36,23 @@ "requires": { "boom": "5.2.0", "hoek": "4.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "accepts": { @@ -71,9 +95,9 @@ "dev": true }, "ajv": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.4.0.tgz", - "integrity": "sha1-MtHPCNvIDEMvQm8S4QslEfa0ZHQ=", + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.1.tgz", + "integrity": "sha1-s4u4h22ehr7plJVqBOch6IskjrI=", "dev": true, "requires": { "co": "4.6.0", @@ -99,13 +123,6 @@ "repeat-string": "1.6.1" } }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true, - "optional": true - }, "ammo": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/ammo/-/ammo-2.0.4.tgz", @@ -114,6 +131,23 @@ "requires": { "boom": "5.2.0", "hoek": "4.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "ansi-align": { @@ -223,10 +257,17 @@ "integrity": "sha1-8zshWfBTKj8xB6JywMz70a0peco=", "dev": true }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true, + "optional": true + }, "asn1.js": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", - "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.0.0.tgz", + "integrity": "sha512-Y+FKviD0uyIWWo/xE0XkUl0x1allKFhzEVJ+//2Dgqpy+n+B77MlPNqvyk7Vx50M9XyVzjnRhDqJAEAsyivlbA==", "dev": true, "requires": { "bn.js": "4.11.8", @@ -243,6 +284,12 @@ "util": "0.10.3" } }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, "async": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/async/-/async-2.6.0.tgz", @@ -264,6 +311,27 @@ "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true, + "optional": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "optional": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true, + "optional": true + }, "b64": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/b64/-/b64-3.0.3.tgz", @@ -297,7 +365,7 @@ "babel-traverse": "6.26.0", "babel-types": "6.26.0", "babylon": "6.18.0", - "convert-source-map": "1.5.0", + "convert-source-map": "1.5.1", "debug": "2.6.9", "json5": "0.5.1", "lodash": "4.17.4", @@ -825,7 +893,7 @@ "babel-plugin-transform-es2015-unicode-regex": "6.24.1", "babel-plugin-transform-exponentiation-operator": "6.24.1", "babel-plugin-transform-regenerator": "6.26.0", - "browserslist": "2.9.0", + "browserslist": "2.10.0", "invariant": "2.2.2", "semver": "5.4.1" } @@ -884,7 +952,7 @@ "dev": true, "requires": { "core-js": "2.5.1", - "regenerator-runtime": "0.11.0" + "regenerator-runtime": "0.11.1" } }, "babel-template": { @@ -958,10 +1026,13 @@ "dev": true }, "base-x": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.0.tgz", - "integrity": "sha1-d7VvAxEHC3gLPIpfU0vqxH5QZwI=", - "dev": true + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.3.tgz", + "integrity": "sha512-qKXPTB94LxXhJs8hqwTdyVTiDXMFTRUFj5F7FnWOW19ALCfANf2lHHUnEcY43g3DaVi4X8E2oDCkHIN8bjr32Q==", + "dev": true, + "requires": { + "safe-buffer": "5.1.1" + } }, "base32.js": { "version": "0.1.0", @@ -987,6 +1058,25 @@ "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", "dev": true }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + }, + "dependencies": { + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + } + } + }, "better-assert": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", @@ -1014,6 +1104,12 @@ "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=", "dev": true }, + "binary-querystring": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/binary-querystring/-/binary-querystring-0.1.2.tgz", + "integrity": "sha512-mrot/6OS3YIUSWMyv/9uyMbCDYQWxl+fVDsrJFjPFGcVT0xDCdEg/gbN6eguaCr0UqsuXdtJ3DQ3i2z2alnulg==", + "dev": true + }, "bindings": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.0.tgz", @@ -1024,8 +1120,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/bintrees/-/bintrees-1.0.1.tgz", "integrity": "sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=", - "dev": true, - "optional": true + "dev": true }, "bip66": { "version": "1.1.5", @@ -1057,6 +1152,15 @@ "integrity": "sha1-vPEwUspURj8w+fx+lbmkdjCpSSE=", "dev": true }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, "bluebird": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", @@ -1070,12 +1174,12 @@ "dev": true }, "boom": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", - "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-7.1.1.tgz", + "integrity": "sha512-qwEARHTliqgEQiVkzKkkbLt3q0vRPIW60VRZ8zRnbjsm7INkPe9NxfAYDDYLZOdhxyUHa1gIe639Cx7t6RH/4A==", "dev": true, "requires": { - "hoek": "4.2.0" + "hoek": "5.0.2" } }, "borc": { @@ -1085,15 +1189,15 @@ "dev": true, "requires": { "bignumber.js": "3.0.1", - "commander": "2.11.0", + "commander": "2.12.2", "ieee754": "1.1.8", "json-text-sequence": "0.1.1" } }, "boxen": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz", - "integrity": "sha1-Px1AMsMP/qnUsCwyLq8up0HcvOU=", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-1.3.0.tgz", + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "dev": true, "requires": { "ansi-align": "2.0.0", @@ -1102,7 +1206,7 @@ "cli-boxes": "1.0.0", "string-width": "2.1.1", "term-size": "1.2.0", - "widest-line": "1.0.0" + "widest-line": "2.0.0" }, "dependencies": { "ansi-regex": { @@ -1188,18 +1292,6 @@ "repeat-element": "1.1.2" } }, - "brfs": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/brfs/-/brfs-1.4.3.tgz", - "integrity": "sha1-22ddb16SPm3wh/ylhZyQkKrtMhY=", - "dev": true, - "requires": { - "quote-stream": "1.0.2", - "resolve": "1.5.0", - "static-module": "1.5.0", - "through2": "2.0.3" - } - }, "brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -1299,23 +1391,14 @@ "pako": "1.0.6" } }, - "browserify-zlib-next": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-zlib-next/-/browserify-zlib-next-1.0.1.tgz", - "integrity": "sha1-iAQDhotPYmLw8+rPBGmav58Hb58=", - "dev": true, - "requires": { - "pako": "1.0.6" - } - }, "browserslist": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.9.0.tgz", - "integrity": "sha512-vJEBcDTANoDhSHL46NeOEW5hvQw7It9uCqzeFPQhpawXfnOwnpvW5C97vn1eGJ7iCkSg8wWU0nYObE7d/N95Iw==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-2.10.0.tgz", + "integrity": "sha512-WyvzSLsuAVPOjbljXnyeWl14Ae+ukAT8MUuagKVzIDvwBxl4UAwD1xqtyQs2eWYPGUKMeC3Ol62goqYuKqTTcw==", "dev": true, "requires": { - "caniuse-lite": "1.0.30000769", - "electron-to-chromium": "1.3.27" + "caniuse-lite": "1.0.30000780", + "electron-to-chromium": "1.3.28" } }, "bs58": { @@ -1324,18 +1407,7 @@ "integrity": "sha1-vhYedsNU9veIrkBx9j806MTwpCo=", "dev": true, "requires": { - "base-x": "3.0.2" - }, - "dependencies": { - "base-x": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.2.tgz", - "integrity": "sha1-v4c4YbdRQnm3lp80CSnquHwR0TA=", - "dev": true, - "requires": { - "safe-buffer": "5.1.1" - } - } + "base-x": "3.0.3" } }, "buffer": { @@ -1349,12 +1421,6 @@ "isarray": "1.0.0" } }, - "buffer-equal": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", - "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=", - "dev": true - }, "buffer-equals": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.4.tgz", @@ -1400,6 +1466,12 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "byteman": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/byteman/-/byteman-1.3.5.tgz", + "integrity": "sha512-FzWDstifFRxtHX234b93AGa1b77dA6NUFpEXe+AoG1NydGN//XDZLMXxRNUoMf7SYYhVxfpwUEUgQOziearJvA==", + "dev": true + }, "cacache": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.1.tgz", @@ -1429,6 +1501,23 @@ "requires": { "boom": "5.2.0", "hoek": "4.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "callsite": { @@ -1444,9 +1533,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30000769", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000769.tgz", - "integrity": "sha1-1oxaoHcuo+rGyX1C4jnJtNMmG5M=", + "version": "1.0.30000780", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000780.tgz", + "integrity": "sha1-H5CV8u/UlA4LpsWZKreptkzDW6Q=", "dev": true }, "capture-stack-trace": { @@ -1455,6 +1544,13 @@ "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=", "dev": true }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true, + "optional": true + }, "catbox": { "version": "7.1.5", "resolved": "https://registry.npmjs.org/catbox/-/catbox-7.1.5.tgz", @@ -1464,6 +1560,35 @@ "boom": "5.2.0", "hoek": "4.2.0", "joi": "10.6.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "dev": true, + "requires": { + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" + } + } } }, "catbox-memory": { @@ -1473,6 +1598,14 @@ "dev": true, "requires": { "hoek": "4.2.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "center-align": { @@ -1586,10 +1719,19 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true, + "requires": { + "delayed-stream": "1.0.0" + } + }, "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", + "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", "dev": true }, "commondir": { @@ -1675,12 +1817,29 @@ "dev": true, "requires": { "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "convert-source-map": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.0.tgz", - "integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", + "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, "cookie": { @@ -1778,6 +1937,23 @@ "dev": true, "requires": { "boom": "5.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "crypto-browserify": { @@ -1817,9 +1993,25 @@ "integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=", "dev": true, "requires": { - "es5-ext": "0.10.35" + "es5-ext": "0.10.37" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" } }, + "data-queue": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/data-queue/-/data-queue-0.0.3.tgz", + "integrity": "sha512-6YOUFa/+lXklPO42RF4zIzzphG01Jp1eoWolzkQb6z5oVsSThLibZ63VmAze3KuIMTglFt551q8j0Zaswx5vGQ==", + "dev": true + }, "datastore-core": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.4.0.tgz", @@ -1827,56 +2019,26 @@ "dev": true, "requires": { "async": "2.6.0", - "interface-datastore": "0.4.1", + "interface-datastore": "0.4.2", "left-pad": "1.2.0", "pull-many": "1.0.8", "pull-stream": "3.6.1" } }, "datastore-fs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.3.0.tgz", - "integrity": "sha1-E/X571Jm9beOpNJ2ToF9kuNjtV0=", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.4.2.tgz", + "integrity": "sha512-mJ511KiZP1zrkEnCvMqvrurW6YSf3QT4P3bdGVftPl+DeaGxC/gdwj8DE9cWsmyD6E1a50jU2Q8IqhaZGNEBbg==", "dev": true, "requires": { - "datastore-core": "0.3.0", + "async": "2.6.0", + "datastore-core": "0.4.0", + "glob": "7.1.2", "graceful-fs": "4.1.11", - "interface-datastore": "0.3.1", - "level-js": "2.2.4", - "leveldown": "1.9.0", - "levelup": "1.3.9", + "interface-datastore": "0.4.2", "mkdirp": "0.5.1", - "pull-glob": "1.0.6", "pull-stream": "3.6.1", "write-file-atomic": "2.3.0" - }, - "dependencies": { - "datastore-core": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.3.0.tgz", - "integrity": "sha1-yoguDqTQr86H1PujZZjTGr13K0k=", - "dev": true, - "requires": { - "async": "2.6.0", - "interface-datastore": "0.3.1", - "left-pad": "1.2.0", - "pull-many": "1.0.8", - "pull-stream": "3.6.1" - } - }, - "interface-datastore": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.3.1.tgz", - "integrity": "sha512-xoHrLkKZQpxhHOd+8ET2fW6jKxXTzl4o71/A59X5JhzwUDJb6Az5G8//RUtNJxQbyRU3k3q5uDMMu9v1hyF7cA==", - "dev": true, - "requires": { - "async": "2.6.0", - "libp2p-crypto": "0.10.3", - "pull-defer": "0.2.2", - "pull-stream": "3.6.1", - "uuid": "3.1.0" - } - } } }, "datastore-level": { @@ -1886,7 +2048,7 @@ "dev": true, "requires": { "datastore-core": "0.4.0", - "interface-datastore": "0.4.1", + "interface-datastore": "0.4.2", "level-js": "2.2.4", "leveldown": "1.9.0", "levelup": "1.3.9", @@ -1946,6 +2108,12 @@ } } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, "delegates": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", @@ -2072,41 +2240,6 @@ "create-hmac": "1.1.6" } }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "1.1.14" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" - } - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - } - } - }, "duplexer3": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", @@ -2125,10 +2258,29 @@ "stream-shift": "1.0.0" } }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true, + "requires": { + "jsbn": "0.1.1" + }, + "dependencies": { + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + } + } + }, "electron-to-chromium": { - "version": "1.3.27", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.27.tgz", - "integrity": "sha1-eOy4o5kGYYe7N07t412ccFZagD0=", + "version": "1.3.28", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.28.tgz", + "integrity": "sha1-jdTmRYCGZE6fnwoc8y4qH53/2e4=", "dev": true }, "elliptic": { @@ -2220,9 +2372,18 @@ "tapable": "0.2.8" } }, - "errno": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", + "epimetheus": { + "version": "1.0.55", + "resolved": "https://registry.npmjs.org/epimetheus/-/epimetheus-1.0.55.tgz", + "integrity": "sha1-j0dAiy1oCxIm/9IF1QH499XikgY=", + "dev": true, + "requires": { + "prom-client": "10.2.2" + } + }, + "errno": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz", "integrity": "sha1-uJbiOp5ei6M4cfyZar02NfyaHH0=", "dev": true, "requires": { @@ -2247,9 +2408,9 @@ } }, "es5-ext": { - "version": "0.10.35", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz", - "integrity": "sha1-GO6FjOajxFx9eekcFfzKnsVoSU8=", + "version": "0.10.37", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.37.tgz", + "integrity": "sha1-DudB0Ui4AGm6J9AgOTdWryV978M=", "dev": true, "requires": { "es6-iterator": "2.0.3", @@ -2263,7 +2424,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.37", "es6-symbol": "3.1.1" } }, @@ -2274,7 +2435,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.37", "es6-iterator": "2.0.3", "es6-set": "0.1.5", "es6-symbol": "3.1.1", @@ -2288,7 +2449,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.37", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1", "event-emitter": "0.3.5" @@ -2301,7 +2462,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35" + "es5-ext": "0.10.37" } }, "es6-weak-map": { @@ -2311,7 +2472,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35", + "es5-ext": "0.10.37", "es6-iterator": "2.0.3", "es6-symbol": "3.1.1" } @@ -2322,36 +2483,6 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, - "escodegen": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz", - "integrity": "sha1-8CQBb1qI4Eb9EgBQVek5gC5sXyM=", - "dev": true, - "requires": { - "esprima": "1.1.1", - "estraverse": "1.5.1", - "esutils": "1.0.0", - "source-map": "0.1.43" - }, - "dependencies": { - "esutils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", - "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", - "dev": true - }, - "source-map": { - "version": "0.1.43", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", - "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", - "dev": true, - "optional": true, - "requires": { - "amdefine": "1.0.1" - } - } - } - }, "escope": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", @@ -2362,22 +2493,8 @@ "es6-weak-map": "2.0.2", "esrecurse": "4.2.0", "estraverse": "4.2.0" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } } }, - "esprima": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz", - "integrity": "sha1-W28VR/TRAuZw4UDFCb5ncdautUk=", - "dev": true - }, "esrecurse": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.0.tgz", @@ -2386,20 +2503,12 @@ "requires": { "estraverse": "4.2.0", "object-assign": "4.1.1" - }, - "dependencies": { - "estraverse": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", - "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", - "dev": true - } } }, "estraverse": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", - "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz", + "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=", "dev": true }, "esutils": { @@ -2434,7 +2543,7 @@ "ethereum-common": "0.2.0", "ethereumjs-tx": "1.3.3", "ethereumjs-util": "5.1.2", - "merkle-patricia-tree": "2.2.0" + "merkle-patricia-tree": "2.3.0" }, "dependencies": { "ethereumjs-util": { @@ -2448,9 +2557,9 @@ "bn.js": "4.11.8", "create-hash": "1.1.3", "ethjs-util": "0.1.4", - "keccak": "1.3.0", + "keccak": "1.4.0", "rlp": "2.0.0", - "secp256k1": "3.3.1" + "secp256k1": "3.4.0" } } } @@ -2482,9 +2591,9 @@ "bn.js": "4.11.8", "create-hash": "1.1.3", "ethjs-util": "0.1.4", - "keccak": "1.3.0", + "keccak": "1.4.0", "rlp": "2.0.0", - "secp256k1": "3.3.1" + "secp256k1": "3.4.0" } } } @@ -2499,7 +2608,7 @@ "create-hash": "1.1.3", "keccakjs": "0.2.1", "rlp": "2.0.0", - "secp256k1": "3.3.1" + "secp256k1": "3.4.0" } }, "ethjs-util": { @@ -2519,7 +2628,7 @@ "dev": true, "requires": { "d": "1.0.0", - "es5-ext": "0.10.35" + "es5-ext": "0.10.37" } }, "events": { @@ -2577,6 +2686,13 @@ "integrity": "sha512-kkjwkMqj0h4w/sb32ERCDxCQkREMCAgS39DscDnSwDsbxnwwM1BTZySdC3Bn1lhY7vL08n9GoO/fVTynjDgRyQ==", "dev": true }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true, + "optional": true + }, "extglob": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", @@ -2586,31 +2702,11 @@ "is-extglob": "1.0.0" } }, - "falafel": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz", - "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=", - "dev": true, - "requires": { - "acorn": "5.2.1", - "foreach": "2.0.5", - "isarray": "0.0.1", - "object-keys": "1.0.11" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "object-keys": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", - "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=", - "dev": true - } - } + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true }, "fast-deep-equal": { "version": "1.0.0", @@ -2631,9 +2727,9 @@ "dev": true }, "file-type": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-7.4.0.tgz", + "integrity": "sha1-KnyU9ioAMBULt9m2xwz6HT51nIY=", "dev": true }, "filename-regex": { @@ -2679,7 +2775,7 @@ "dev": true, "requires": { "chalk": "2.3.0", - "commander": "2.11.0", + "commander": "2.12.2", "debug": "2.6.9" }, "dependencies": { @@ -2754,11 +2850,24 @@ "for-in": "1.0.2" } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", - "dev": true + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true, + "optional": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true, + "optional": true, + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } }, "from2": { "version": "2.3.0", @@ -3718,11 +3827,29 @@ "fsm": "1.0.2" } }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true + "fstream": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz", + "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "inherits": "2.0.3", + "mkdirp": "0.5.1", + "rimraf": "2.6.2" + } + }, + "fstream-ignore": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz", + "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=", + "dev": true, + "optional": true, + "requires": { + "fstream": "1.0.11", + "inherits": "2.0.3", + "minimatch": "3.0.4" + } }, "functional-red-black-tree": { "version": "1.0.1", @@ -3747,9 +3874,9 @@ } }, "gc-stats": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.0.2.tgz", - "integrity": "sha512-/mXXARj1tc4Q3nOf/K88bOc1wLWvm0tiWy0EZGWxxR7yLDuM5mZmwrKtYnWIEotKI4o2Sycz3mnszFRIIV/v2w==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gc-stats/-/gc-stats-1.1.0.tgz", + "integrity": "sha1-OULkSdh8j6I0EsaJabidzXZWmvM=", "dev": true, "optional": true, "requires": { @@ -3757,904 +3884,77 @@ "node-pre-gyp": "0.6.36" }, "dependencies": { - "abbrev": { - "version": "1.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ajv": { - "version": "4.11.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "co": "4.6.0", - "json-stable-stringify": "1.0.1" - } - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true, - "dev": true - }, - "aproba": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.1" - } - }, - "asn1": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "assert-plus": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "asynckit": { - "version": "0.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws-sign2": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "aws4": { - "version": "1.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.1", + "node-pre-gyp": { + "version": "0.6.36", "bundled": true, "dev": true, "optional": true, "requires": { - "tweetnacl": "0.14.5" - } - }, - "block-stream": { - "version": "0.0.9", - "bundled": true, - "dev": true, - "requires": { - "inherits": "2.0.3" - } - }, - "boom": { - "version": "2.10.1", - "bundled": true, - "dev": true, - "requires": { - "hoek": "2.16.3" - } - }, - "brace-expansion": { - "version": "1.1.8", - "bundled": true, - "dev": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "caseless": { - "version": "0.12.0", - "bundled": true, - "dev": true, - "optional": true - }, - "co": { - "version": "4.6.0", - "bundled": true, - "dev": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true, - "dev": true - }, - "combined-stream": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "requires": { - "delayed-stream": "1.0.0" + "mkdirp": "0.5.1", + "nopt": "4.0.1", + "npmlog": "4.1.2", + "rc": "1.2.2", + "request": "2.83.0", + "rimraf": "2.6.2", + "semver": "5.4.1", + "tar": "2.2.1", + "tar-pack": "3.4.1" } - }, - "concat-map": { - "version": "0.0.1", - "bundled": true, - "dev": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true, + } + } + }, + "get-browser-rtc": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz", + "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", + "dev": true + }, + "get-folder-size": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-folder-size/-/get-folder-size-1.0.0.tgz", + "integrity": "sha1-E01mOg50VhG3L3HIOxPxsS8xuik=", + "dev": true, + "requires": { + "async": "1.5.2", + "minimist": "1.2.0" + }, + "dependencies": { + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "cryptiles": { - "version": "2.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1" - } - }, - "dashdash": { - "version": "1.14.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "debug": { - "version": "2.6.8", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.4.2", - "bundled": true, - "dev": true, - "optional": true - }, - "delayed-stream": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "ecc-jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsbn": "0.1.1" - } - }, - "extend": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "extsprintf": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "bundled": true, - "dev": true, - "optional": true - }, - "form-data": { - "version": "2.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asynckit": "0.4.0", - "combined-stream": "1.0.5", - "mime-types": "2.1.15" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "fstream": { - "version": "1.0.11", - "bundled": true, - "dev": true, - "requires": { - "graceful-fs": "4.1.11", - "inherits": "2.0.3", - "mkdirp": "0.5.1", - "rimraf": "2.6.1" - } - }, - "fstream-ignore": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "fstream": "1.0.11", - "inherits": "2.0.3", - "minimatch": "3.0.4" - } - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aproba": "1.1.2", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "getpass": { - "version": "0.1.7", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "dev": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "graceful-fs": { - "version": "4.1.11", - "bundled": true, - "dev": true - }, - "har-schema": { - "version": "1.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "har-validator": { - "version": "4.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "ajv": "4.11.8", - "har-schema": "1.0.5" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "hawk": { - "version": "3.1.3", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "boom": "2.10.1", - "cryptiles": "2.0.5", - "hoek": "2.16.3", - "sntp": "1.0.9" - } - }, - "hoek": { - "version": "2.16.3", - "bundled": true, - "dev": true - }, - "http-signature": { - "version": "1.1.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "0.2.0", - "jsprim": "1.4.0", - "sshpk": "1.13.1" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "dev": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "dev": true - }, - "ini": { - "version": "1.3.4", - "bundled": true, - "dev": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "is-typedarray": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "dev": true - }, - "isstream": { - "version": "0.1.2", - "bundled": true, - "dev": true, - "optional": true - }, - "jsbn": { - "version": "0.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "json-schema": { - "version": "0.2.3", - "bundled": true, - "dev": true, - "optional": true - }, - "json-stable-stringify": { - "version": "1.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "jsonify": "0.0.0" - } - }, - "json-stringify-safe": { - "version": "5.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "jsonify": { - "version": "0.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "jsprim": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.0.2", - "json-schema": "0.2.3", - "verror": "1.3.6" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "mime-db": { - "version": "1.27.0", - "bundled": true, - "dev": true - }, - "mime-types": { - "version": "2.1.15", - "bundled": true, - "dev": true, - "requires": { - "mime-db": "1.27.0" - } - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "dev": true, - "requires": { - "brace-expansion": "1.1.8" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "node-pre-gyp": { - "version": "0.6.36", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "mkdirp": "0.5.1", - "nopt": "4.0.1", - "npmlog": "4.1.0", - "rc": "1.2.1", - "request": "2.81.0", - "rimraf": "2.6.1", - "semver": "5.3.0", - "tar": "2.2.1", - "tar-pack": "3.4.0" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "abbrev": "1.1.0", - "osenv": "0.1.4" - } - }, - "npmlog": { - "version": "4.1.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "oauth-sign": { - "version": "0.8.2", - "bundled": true, - "dev": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "dev": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "dev": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "osenv": { - "version": "0.1.4", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "dev": true - }, - "performance-now": { - "version": "0.2.0", - "bundled": true, - "dev": true, - "optional": true - }, - "process-nextick-args": { - "version": "1.0.7", - "bundled": true, - "dev": true - }, - "punycode": { - "version": "1.4.1", - "bundled": true, - "dev": true, - "optional": true - }, - "qs": { - "version": "6.4.0", - "bundled": true, - "dev": true, - "optional": true - }, - "rc": { - "version": "1.2.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "deep-extend": "0.4.2", - "ini": "1.3.4", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.1", - "bundled": true, - "dev": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "1.0.7", - "safe-buffer": "5.1.1", - "string_decoder": "1.0.2", - "util-deprecate": "1.0.2" - } - }, - "request": { - "version": "2.81.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "aws-sign2": "0.6.0", - "aws4": "1.6.0", - "caseless": "0.12.0", - "combined-stream": "1.0.5", - "extend": "3.0.1", - "forever-agent": "0.6.1", - "form-data": "2.1.4", - "har-validator": "4.2.1", - "hawk": "3.1.3", - "http-signature": "1.1.1", - "is-typedarray": "1.0.0", - "isstream": "0.1.2", - "json-stringify-safe": "5.0.1", - "mime-types": "2.1.15", - "oauth-sign": "0.8.2", - "performance-now": "0.2.0", - "qs": "6.4.0", - "safe-buffer": "5.1.1", - "stringstream": "0.0.5", - "tough-cookie": "2.3.2", - "tunnel-agent": "0.6.0", - "uuid": "3.1.0" - } - }, - "rimraf": { - "version": "2.6.1", - "bundled": true, - "dev": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true, - "dev": true - }, - "semver": { - "version": "5.3.0", - "bundled": true, - "dev": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "dev": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "dev": true, - "optional": true - }, - "sntp": { - "version": "1.0.9", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "hoek": "2.16.3" - } - }, - "sshpk": { - "version": "1.13.1", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "asn1": "0.2.3", - "assert-plus": "1.0.0", - "bcrypt-pbkdf": "1.0.1", - "dashdash": "1.14.1", - "ecc-jsbn": "0.1.1", - "getpass": "0.1.7", - "jsbn": "0.1.1", - "tweetnacl": "0.14.5" - }, - "dependencies": { - "assert-plus": { - "version": "1.0.0", - "bundled": true, - "dev": true, - "optional": true - } - } - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.0.2", - "bundled": true, - "dev": true, - "requires": { - "safe-buffer": "5.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.0.1", - "bundled": true, - "dev": true - } - } - }, - "stringstream": { - "version": "0.0.5", - "bundled": true, - "dev": true, - "optional": true - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "dev": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "dev": true, - "optional": true - }, - "tar": { - "version": "2.2.1", - "bundled": true, - "dev": true, - "requires": { - "block-stream": "0.0.9", - "fstream": "1.0.11", - "inherits": "2.0.3" - } - }, - "tar-pack": { - "version": "3.4.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "debug": "2.6.8", - "fstream": "1.0.11", - "fstream-ignore": "1.0.5", - "once": "1.4.0", - "readable-stream": "2.3.1", - "rimraf": "2.6.1", - "tar": "2.2.1", - "uid-number": "0.0.6" - } - }, - "tough-cookie": { - "version": "2.3.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "punycode": "1.4.1" - } - }, - "tunnel-agent": { - "version": "0.6.0", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "bundled": true, - "dev": true, - "optional": true - }, - "uid-number": { - "version": "0.0.6", - "bundled": true, - "dev": true, - "optional": true - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "dev": true - }, - "uuid": { - "version": "3.1.0", - "bundled": true, - "dev": true, - "optional": true - }, - "verror": { - "version": "1.3.6", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "extsprintf": "1.0.2" - } - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "dev": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", "dev": true } } }, - "get-browser-rtc": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz", - "integrity": "sha1-u81AyEUaftTvXDc7gWmkCd0dEdk=", - "dev": true - }, - "get-caller-file": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.2.tgz", - "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=", - "dev": true - }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0" + } + }, "github-from-package": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", @@ -4780,6 +4080,21 @@ "topo": "2.0.2" }, "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, "isemail": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.0.0.tgz", @@ -4808,13 +4123,22 @@ "integrity": "sha1-KvrgAsZxnW1U8/qIRi+CKJLS3xM=", "dev": true }, - "has": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", - "integrity": "sha1-hGFzP1OLCDfJNh45qauelwTcLyg=", + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true, + "optional": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", "dev": true, + "optional": true, "requires": { - "function-bind": "1.1.1" + "ajv": "5.5.1", + "har-schema": "2.0.0" } }, "has-ansi": { @@ -4886,6 +4210,37 @@ "integrity": "sha1-eTpYlD+QKupXgXfXsDNfE/JpS3E=", "dev": true }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true, + "optional": true, + "requires": { + "boom": "4.3.1", + "cryptiles": "3.1.2", + "hoek": "4.2.0", + "sntp": "2.1.0" + }, + "dependencies": { + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } + } + }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", @@ -4907,6 +4262,35 @@ "boom": "5.2.0", "hoek": "4.2.0", "joi": "10.6.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "dev": true, + "requires": { + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" + } + } } }, "hmac-drbg": { @@ -4921,9 +4305,9 @@ } }, "hoek": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", - "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-5.0.2.tgz", + "integrity": "sha512-NA10UYP9ufCtY2qYGkZktcQXwVyYK4zK0gkaFSB96xhtlo6V8tKXdQgx8eHolQTRemaW0uLn8BhjhwqrOU+QLQ==", "dev": true }, "home-or-tmp": { @@ -4942,6 +4326,18 @@ "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -4966,9 +4362,9 @@ } }, "idb-wrapper": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.1.tgz", - "integrity": "sha1-ajJnASLhc6hOzFz6lmj6LOsiGwQ=", + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.2.tgz", + "integrity": "sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==", "dev": true }, "ieee754": { @@ -5007,6 +4403,49 @@ "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", "dev": true }, + "inert": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/inert/-/inert-4.2.1.tgz", + "integrity": "sha512-qmbbZYPSzU/eOUOStPQvSjrU9IR1Q3uDtsEsVwnBQeZG43xu7Nrj6yuUrX3ice/03rv5dj/KiKB+NGCbiqH+aQ==", + "dev": true, + "requires": { + "ammo": "2.0.4", + "boom": "5.2.0", + "hoek": "4.2.0", + "items": "2.1.1", + "joi": "10.6.0", + "lru-cache": "4.1.1" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "dev": true, + "requires": { + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" + } + } + } + }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -5040,9 +4479,9 @@ } }, "interface-datastore": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.4.1.tgz", - "integrity": "sha512-K7wXBqkhEw1ry+Gf4OXol04JFaBreHPQYxzohZx+G7xgrb6E2ku3WDe936ZO1W0p5LsFiwlfgLPDNZpJjpR9yQ==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.4.2.tgz", + "integrity": "sha512-Vztsb1SXZANtwwGkpDoxOTMELhhuCklkQKbjma6PY4XLwIyrhQ1xEKaG1sOHavMXoghThw8IZEysiCDrofOQKQ==", "dev": true, "requires": { "async": "2.6.0", @@ -5052,9 +4491,9 @@ } }, "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", + "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=", "dev": true }, "invariant": { @@ -5079,60 +4518,65 @@ "dev": true }, "ip-address": { - "version": "5.8.8", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.8.8.tgz", - "integrity": "sha1-X9H490ZSSft9Kzwe7HtB0p0fG3Y=", + "version": "5.8.9", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.8.9.tgz", + "integrity": "sha512-7ay355oMN34iXhET1BmCJVsHjOTSItEEIIpOs38qUC23AIhOy+xIPnkrTuEFjeLMrTJ7m8KMXWgWfy/2Vn9sDw==", "dev": true, "requires": { - "jsbn": "0.1.0", + "jsbn": "1.1.0", "lodash.find": "4.6.0", "lodash.max": "4.0.1", "lodash.merge": "4.6.0", "lodash.padstart": "4.6.1", "lodash.repeat": "4.1.0", - "sprintf-js": "1.1.1", - "util-deprecate": "1.0.2" + "sprintf-js": "1.1.0" } }, "ipfs": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.26.0.tgz", - "integrity": "sha512-0FKFV7oyiIaZVE+PtuxB16Xg76jw+LCXEGWy+BF0QWSdyqqaXpfQvd2XSgAYLSctbOxlMKLJSOJV5Sb32X2QCw==", + "version": "0.27.1", + "resolved": "https://registry.npmjs.org/ipfs/-/ipfs-0.27.1.tgz", + "integrity": "sha512-sv82SR/0MJCyRgZ2VoHn1rKJbLTXKej1usRQjpg0sa78wVum+wzJm9QzaW5RaexFiGXJcE9w1tiopcAC1ysfJA==", "dev": true, "requires": { "async": "2.6.0", + "binary-querystring": "0.1.2", "bl": "1.2.1", - "boom": "5.2.0", + "boom": "7.1.1", + "bs58": "4.0.1", + "byteman": "1.3.5", "cids": "0.5.2", "debug": "3.1.0", - "file-type": "6.2.0", + "file-type": "7.4.0", "filesize": "3.5.11", "fsm-event": "2.1.0", + "get-folder-size": "1.0.0", "glob": "7.1.2", "hapi": "16.6.2", "hapi-set-header": "1.0.2", - "hoek": "4.2.0", - "ipfs-api": "14.3.7", + "hoek": "5.0.2", + "ipfs-api": "17.2.4", "ipfs-bitswap": "0.17.4", "ipfs-block": "0.6.1", - "ipfs-block-service": "0.12.0", + "ipfs-block-service": "0.13.0", "ipfs-multipart": "0.1.0", - "ipfs-repo": "0.17.0", + "ipfs-repo": "0.18.4", "ipfs-unixfs": "0.1.14", - "ipfs-unixfs-engine": "0.22.5", - "ipld-resolver": "0.13.4", + "ipfs-unixfs-engine": "0.24.1", + "ipld-resolver": "0.14.1", "is-ipfs": "0.3.2", "is-stream": "1.1.0", - "joi": "10.6.0", - "libp2p": "0.12.4", - "libp2p-floodsub": "0.11.1", - "libp2p-kad-dht": "0.5.1", + "joi": "13.0.2", + "libp2p": "0.13.3", + "libp2p-circuit": "0.1.4", + "libp2p-floodsub": "0.13.1", + "libp2p-kad-dht": "0.6.0", "libp2p-mdns": "0.9.1", "libp2p-multiplex": "0.5.0", "libp2p-railing": "0.7.1", "libp2p-secio": "0.8.1", "libp2p-tcp": "0.11.1", - "libp2p-webrtc-star": "0.13.2", + "libp2p-webrtc-star": "0.13.3", + "libp2p-websocket-star": "0.7.2", "libp2p-websockets": "0.10.4", "lodash.flatmap": "4.5.0", "lodash.get": "4.4.2", @@ -5145,20 +4589,23 @@ "multihashes": "0.4.12", "once": "1.4.0", "path-exists": "3.0.0", - "peer-book": "0.5.1", - "peer-id": "0.10.2", - "peer-info": "0.11.1", + "peer-book": "0.5.2", + "peer-id": "0.10.3", + "peer-info": "0.11.3", + "progress": "2.0.0", "prom-client": "10.2.2", "prometheus-gc-stats": "0.5.0", "promisify-es6": "1.0.3", - "pull-file": "1.0.0", + "pull-abortable": "4.1.1", + "pull-file": "1.1.0", + "pull-ndjson": "0.1.1", "pull-paramap": "1.2.2", "pull-pushable": "2.1.1", "pull-sort": "1.0.1", "pull-stream": "3.6.1", "pull-stream-to-stream": "1.3.4", "pull-zip": "2.0.1", - "read-pkg-up": "2.0.0", + "read-pkg-up": "3.0.0", "readable-stream": "2.3.3", "safe-buffer": "5.1.1", "stream-to-pull-stream": "1.7.2", @@ -5166,163 +4613,25 @@ "temp": "0.8.3", "through2": "2.0.3", "update-notifier": "2.3.0", - "yargs": "8.0.2" + "yargs": "10.0.3", + "yargs-parser": "8.0.0" }, "dependencies": { - "datastore-core": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.3.0.tgz", - "integrity": "sha1-yoguDqTQr86H1PujZZjTGr13K0k=", - "dev": true, - "requires": { - "async": "2.6.0", - "interface-datastore": "0.3.1", - "left-pad": "1.2.0", - "pull-many": "1.0.8", - "pull-stream": "3.6.1" - } - }, - "datastore-level": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.6.0.tgz", - "integrity": "sha1-MYulZF2fjWzgUdJh5sPF+B/d+DE=", - "dev": true, - "requires": { - "datastore-core": "0.3.0", - "interface-datastore": "0.3.1", - "level-js": "2.2.4", - "leveldown": "1.9.0", - "levelup": "1.3.9", - "pull-stream": "3.6.1" - }, - "dependencies": { - "level-js": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz", - "integrity": "sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=", - "dev": true, - "requires": { - "abstract-leveldown": "0.12.4", - "idb-wrapper": "1.7.1", - "isbuffer": "0.0.0", - "ltgt": "2.2.0", - "typedarray-to-buffer": "1.0.4", - "xtend": "2.1.2" - } - } - } - }, "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "interface-datastore": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.3.1.tgz", - "integrity": "sha512-xoHrLkKZQpxhHOd+8ET2fW6jKxXTzl4o71/A59X5JhzwUDJb6Az5G8//RUtNJxQbyRU3k3q5uDMMu9v1hyF7cA==", - "dev": true, - "requires": { - "async": "2.6.0", - "libp2p-crypto": "0.10.3", - "pull-defer": "0.2.2", - "pull-stream": "3.6.1", - "uuid": "3.1.0" - } - }, - "ipfs-repo": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.17.0.tgz", - "integrity": "sha1-WyuEsrvW3jJQTooqpZdNTdD4Q4k=", - "dev": true, - "requires": { - "async": "2.6.0", - "base32.js": "0.1.0", - "cids": "0.5.2", - "datastore-core": "0.3.0", - "datastore-fs": "0.3.0", - "datastore-level": "0.6.0", - "debug": "2.6.9", - "interface-datastore": "0.3.1", - "ipfs-block": "0.6.1", - "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", - "leveldown": "1.9.0", - "lock-me": "1.0.3", - "lodash.get": "4.4.2", - "lodash.has": "4.5.2", - "lodash.set": "4.3.2", - "multiaddr": "2.3.0", - "safe-buffer": "5.1.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "multiaddr": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-2.3.0.tgz", - "integrity": "sha1-VmNIJPSLy9hAX9VDTDGyd0JMYvw=", - "dev": true, - "requires": { - "bs58": "4.0.1", - "ip": "1.1.5", - "lodash.filter": "4.6.0", - "lodash.map": "4.6.0", - "varint": "5.0.0", - "xtend": "4.0.1" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } - } - }, - "level-js": { - "version": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "dev": true, "requires": { - "abstract-leveldown": "2.4.1", - "idb-readable-stream": "0.0.4", - "ltgt": "2.2.0", - "xtend": "4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", - "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", - "dev": true, - "requires": { - "xtend": "4.0.1" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } + "ms": "2.0.0" } } } }, "ipfs-api": { - "version": "14.3.7", - "resolved": "https://registry.npmjs.org/ipfs-api/-/ipfs-api-14.3.7.tgz", - "integrity": "sha512-SeCKT6KwMuu/qDEMDd5CRj2KhSa1+Dyx63jJgadU2tD6QINyxCy/ooPFBhZRwlGuAhb61IVSV8pfZ0nHNQEINQ==", + "version": "17.2.4", + "resolved": "https://registry.npmjs.org/ipfs-api/-/ipfs-api-17.2.4.tgz", + "integrity": "sha512-GFNy3Cj7EkzCrdyaQpvctHmtwtghzIDPTtW6XTqj+vybSwk2swyEMKaMHimqi8c8N+5+x5wfLpeUyRUhcZ9lDA==", "dev": true, "requires": { "async": "2.6.0", @@ -5335,22 +4644,24 @@ "glob-escape": "0.0.2", "ipfs-block": "0.6.1", "ipfs-unixfs": "0.1.14", - "ipld-dag-pb": "0.11.3", + "ipld-dag-pb": "0.11.4", "is-ipfs": "0.3.2", "is-stream": "1.1.0", "lru-cache": "4.1.1", "multiaddr": "3.0.1", "multihashes": "0.4.12", - "multipart-stream": "2.0.1", "ndjson": "1.5.0", "once": "1.4.0", - "peer-id": "0.10.2", - "peer-info": "0.11.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3", "promisify-es6": "1.0.3", + "pull-defer": "0.2.2", + "pull-pushable": "2.1.1", "pump": "1.0.3", "qs": "6.5.1", "readable-stream": "2.3.3", "stream-http": "2.7.2", + "stream-to-pull-stream": "1.7.2", "streamifier": "0.1.1", "tar-stream": "1.5.5" } @@ -5376,7 +4687,7 @@ "lodash.values": "4.3.0", "multicodec": "0.2.5", "multihashing-async": "0.4.7", - "protons": "1.0.0", + "protons": "1.0.1", "pull-defer": "0.2.2", "pull-length-prefixed": "1.3.0", "pull-pushable": "2.1.1", @@ -5406,9 +4717,9 @@ } }, "ipfs-block-service": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.12.0.tgz", - "integrity": "sha1-gpOjg3uW031P7EyuV9erj+rIx1w=", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/ipfs-block-service/-/ipfs-block-service-0.13.0.tgz", + "integrity": "sha512-fKKEF47oOSTV4S0X12FPqtfxBRL1/BZF+AzIzpfuTXer7ikStn02quUs2mz0Hfn5I0BjCuDGbJEnzca4m6EpQg==", "dev": true }, "ipfs-multipart": { @@ -5422,19 +4733,19 @@ } }, "ipfs-repo": { - "version": "0.18.3", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.18.3.tgz", - "integrity": "sha512-XTbawXJ0CcxVUa1i+r+vnQ6gDcpTDp0SVfTdskuWxfhW4YSsNlsIl0jhB7ZEgE66Nc3A1bxhTpmL4wmAHqMoLQ==", + "version": "0.18.4", + "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.18.4.tgz", + "integrity": "sha512-sBrde6bIpzywv2hxqkTsOT4njJjme4cXuFNKbcaH/hGuz17MUpX+bGgeZsOhc4lVBSWh6VM/uVbS+vFfqEVdzw==", "dev": true, "requires": { "async": "2.6.0", "base32.js": "0.1.0", "cids": "0.5.2", "datastore-core": "0.4.0", - "datastore-fs": "0.4.1", + "datastore-fs": "0.4.2", "datastore-level": "0.7.0", "debug": "3.1.0", - "interface-datastore": "0.4.1", + "interface-datastore": "0.4.2", "ipfs-block": "0.6.1", "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", "leveldown": "1.9.0", @@ -5454,21 +4765,6 @@ "xtend": "4.0.1" } }, - "datastore-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/datastore-fs/-/datastore-fs-0.4.1.tgz", - "integrity": "sha512-I8N6kn/7pyQ+VY5WCel3GMbOoLXORoytM50Edyq55X1L0Ad40jXR6X3Y/hjvVHgFe495ciQk8OU6sx1TCxGJBw==", - "dev": true, - "requires": { - "datastore-core": "0.4.0", - "glob": "7.1.2", - "graceful-fs": "4.1.11", - "interface-datastore": "0.4.1", - "mkdirp": "0.5.1", - "pull-stream": "3.6.1", - "write-file-atomic": "2.3.0" - } - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -5502,13 +4798,13 @@ "integrity": "sha512-s1tEnwKhdd17MmyC/EUMNVMDYzKhCiHDI11TF8tSBeWkEQp+0WUxkYuqvz0R5TSi2lNDJ/oVnEmwWhki2spUiQ==", "dev": true, "requires": { - "protons": "1.0.0" + "protons": "1.0.1" } }, "ipfs-unixfs-engine": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/ipfs-unixfs-engine/-/ipfs-unixfs-engine-0.22.5.tgz", - "integrity": "sha512-50ul7nWlzYXQDLH2kiGJ9PA12l6FXTgr3vDOpl/ro2b5uoc2f8RtxqpyWyevHCxTSbKKBjziq2qNJNWLlNj8dA==", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/ipfs-unixfs-engine/-/ipfs-unixfs-engine-0.24.1.tgz", + "integrity": "sha512-Xm4jxdZFsBe7mwKhpqPxGaH2rMvoAbdovYKrA75ZZJwHT7rocepE+4Tx0Gpr+0mJnmGO9eZ2bzbvtqA71nNWmw==", "dev": true, "requires": { "async": "2.6.0", @@ -5516,8 +4812,8 @@ "cids": "0.5.2", "deep-extend": "0.5.0", "ipfs-unixfs": "0.1.14", - "ipld-dag-pb": "0.11.3", - "ipld-resolver": "0.13.4", + "ipld-dag-pb": "0.11.4", + "ipld-resolver": "0.14.1", "left-pad": "1.2.0", "lodash": "4.17.4", "multihashes": "0.4.12", @@ -5525,7 +4821,6 @@ "pull-batch": "1.0.0", "pull-block": "1.4.0", "pull-cat": "1.1.11", - "pull-defer": "0.2.2", "pull-pair": "1.1.0", "pull-paramap": "1.2.2", "pull-pause": "0.0.1", @@ -5561,9 +4856,9 @@ } }, "ipld-dag-pb": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.11.3.tgz", - "integrity": "sha512-EVu9hxlvvZQyEmV27vokBJbi3EgAJZYPYAbEvutcW3gQidADlgRx8R7WJ6+w/aL80H6ZyMuzR/8JT91YsoZNeA==", + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/ipld-dag-pb/-/ipld-dag-pb-0.11.4.tgz", + "integrity": "sha512-A514Bt4z44bxhPQVzmBFMJsV3res92eBaDX0snzVsLLasBPNh4Z7He8N2mwSeAX9bJNywRBlJbHMQPwC45rqXw==", "dev": true, "requires": { "async": "2.6.0", @@ -5574,7 +4869,7 @@ "is-ipfs": "0.3.2", "multihashes": "0.4.12", "multihashing-async": "0.4.7", - "protons": "1.0.0", + "protons": "1.0.1", "pull-stream": "3.6.1", "pull-traverse": "1.0.3", "stable": "0.1.6" @@ -5592,7 +4887,7 @@ "ethereumjs-block": "1.7.0", "ethereumjs-tx": "1.3.3", "ipfs-block": "0.6.1", - "merkle-patricia-tree": "2.2.0", + "merkle-patricia-tree": "2.3.0", "multihashes": "0.4.12", "multihashing-async": "0.4.7", "rlp": "2.0.0" @@ -5623,19 +4918,19 @@ } }, "ipld-resolver": { - "version": "0.13.4", - "resolved": "https://registry.npmjs.org/ipld-resolver/-/ipld-resolver-0.13.4.tgz", - "integrity": "sha512-jyMYvSESTocKGYuI5b6WCP7650GId9W/SalIr3fvk23Q8w2T/TuIaYOSyaalZasNy+gxzFqxAU8KtNe++7/w+Q==", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/ipld-resolver/-/ipld-resolver-0.14.1.tgz", + "integrity": "sha512-pS1YylYjCZKCxzEY0KCR+4Y8N7aFituNHGtAjwl9uSBxAqMJ1GDHeYVkqilVsMytT4s+tdbZ2DEa7GJZSg9NDw==", "dev": true, "requires": { "async": "2.6.0", "cids": "0.5.2", - "interface-datastore": "0.3.1", + "interface-datastore": "0.4.2", "ipfs-block": "0.6.1", - "ipfs-block-service": "0.12.0", - "ipfs-repo": "0.17.0", + "ipfs-block-service": "0.13.0", + "ipfs-repo": "0.18.4", "ipld-dag-cbor": "0.11.2", - "ipld-dag-pb": "0.11.3", + "ipld-dag-pb": "0.11.4", "ipld-ethereum": "1.4.4", "ipld-git": "0.1.1", "ipld-raw": "1.0.7", @@ -5647,138 +4942,6 @@ "pull-sort": "1.0.1", "pull-stream": "3.6.1", "pull-traverse": "1.0.3" - }, - "dependencies": { - "datastore-core": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-0.3.0.tgz", - "integrity": "sha1-yoguDqTQr86H1PujZZjTGr13K0k=", - "dev": true, - "requires": { - "async": "2.6.0", - "interface-datastore": "0.3.1", - "left-pad": "1.2.0", - "pull-many": "1.0.8", - "pull-stream": "3.6.1" - } - }, - "datastore-level": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/datastore-level/-/datastore-level-0.6.0.tgz", - "integrity": "sha1-MYulZF2fjWzgUdJh5sPF+B/d+DE=", - "dev": true, - "requires": { - "datastore-core": "0.3.0", - "interface-datastore": "0.3.1", - "level-js": "2.2.4", - "leveldown": "1.9.0", - "levelup": "1.3.9", - "pull-stream": "3.6.1" - }, - "dependencies": { - "level-js": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz", - "integrity": "sha1-vAVfQYBjXUSJtWHJSG+jcOjBFpc=", - "dev": true, - "requires": { - "abstract-leveldown": "0.12.4", - "idb-wrapper": "1.7.1", - "isbuffer": "0.0.0", - "ltgt": "2.2.0", - "typedarray-to-buffer": "1.0.4", - "xtend": "2.1.2" - } - } - } - }, - "interface-datastore": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.3.1.tgz", - "integrity": "sha512-xoHrLkKZQpxhHOd+8ET2fW6jKxXTzl4o71/A59X5JhzwUDJb6Az5G8//RUtNJxQbyRU3k3q5uDMMu9v1hyF7cA==", - "dev": true, - "requires": { - "async": "2.6.0", - "libp2p-crypto": "0.10.3", - "pull-defer": "0.2.2", - "pull-stream": "3.6.1", - "uuid": "3.1.0" - } - }, - "ipfs-repo": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/ipfs-repo/-/ipfs-repo-0.17.0.tgz", - "integrity": "sha1-WyuEsrvW3jJQTooqpZdNTdD4Q4k=", - "dev": true, - "requires": { - "async": "2.6.0", - "base32.js": "0.1.0", - "cids": "0.5.2", - "datastore-core": "0.3.0", - "datastore-fs": "0.3.0", - "datastore-level": "0.6.0", - "debug": "2.6.9", - "interface-datastore": "0.3.1", - "ipfs-block": "0.6.1", - "level-js": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", - "leveldown": "1.9.0", - "lock-me": "1.0.3", - "lodash.get": "4.4.2", - "lodash.has": "4.5.2", - "lodash.set": "4.3.2", - "multiaddr": "2.3.0", - "safe-buffer": "5.1.1" - } - }, - "level-js": { - "version": "github:timkuijsten/level.js#18e03adab34c49523be7d3d58fafb0c632f61303", - "dev": true, - "requires": { - "abstract-leveldown": "2.4.1", - "idb-readable-stream": "0.0.4", - "ltgt": "2.2.0", - "xtend": "4.0.1" - }, - "dependencies": { - "abstract-leveldown": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-2.4.1.tgz", - "integrity": "sha1-s7/tuITraToSd18MVenwpCDM7mQ=", - "dev": true, - "requires": { - "xtend": "4.0.1" - } - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } - } - }, - "multiaddr": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/multiaddr/-/multiaddr-2.3.0.tgz", - "integrity": "sha1-VmNIJPSLy9hAX9VDTDGyd0JMYvw=", - "dev": true, - "requires": { - "bs58": "4.0.1", - "ip": "1.1.5", - "lodash.filter": "4.6.0", - "lodash.map": "4.6.0", - "varint": "5.0.0", - "xtend": "4.0.1" - }, - "dependencies": { - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } - } - } } }, "iron": { @@ -5790,6 +4953,23 @@ "boom": "5.2.0", "cryptiles": "3.1.2", "hoek": "4.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "is-arrayish": { @@ -5895,7 +5075,7 @@ "dev": true, "requires": { "global-dirs": "0.1.1", - "is-path-inside": "1.0.0" + "is-path-inside": "1.0.1" } }, "is-ipfs": { @@ -5931,9 +5111,9 @@ "dev": true }, "is-path-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz", - "integrity": "sha1-/AbloWg/vaE95mev9xe7wQpI838=", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "dev": true, "requires": { "path-is-inside": "1.0.2" @@ -5975,6 +5155,13 @@ "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", "dev": true }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true, + "optional": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -6008,6 +5195,13 @@ "isarray": "1.0.0" } }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true, + "optional": true + }, "items": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz", @@ -6015,15 +5209,34 @@ "dev": true }, "joi": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", - "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-13.0.2.tgz", + "integrity": "sha512-kVka3LaHQyENvcMW4WJPSepGM43oCofcKxfs9HbbKd/FrwBAAt4lNNTPKOzSMmV53GIspmNO4U3O2TzoGvxxCA==", "dev": true, "requires": { - "hoek": "4.2.0", - "isemail": "2.2.1", - "items": "2.1.1", - "topo": "2.0.2" + "hoek": "5.0.2", + "isemail": "3.0.0", + "topo": "3.0.0" + }, + "dependencies": { + "isemail": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/isemail/-/isemail-3.0.0.tgz", + "integrity": "sha512-rz0ng/c+fX+zACpLgDB8fnUQ845WSU06f4hlhk4K8TJxmR6f5hyvitu9a9JdMD7aq/P4E0XdG1uaab2OiXgHlA==", + "dev": true, + "requires": { + "punycode": "2.1.0" + } + }, + "topo": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/topo/-/topo-3.0.0.tgz", + "integrity": "sha512-Tlu1fGlR90iCdIPURqPiufqAlCZYzLjHYVVbcFWDMcX7+tK8hdZWAfsMrD/pBul9jqHHwFjNdf1WaxA9vTRRhw==", + "dev": true, + "requires": { + "hoek": "5.0.2" + } + } } }, "js-sha3": { @@ -6039,9 +5252,9 @@ "dev": true }, "jsbn": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz", - "integrity": "sha1-ZQmH2g3XT06/WhE3eiqi0nPpff0=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha1-sBMHyym2GKHtJux56RH4A8TaAEA=", "dev": true }, "jsesc": { @@ -6056,6 +5269,19 @@ "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", "dev": true }, + "json-parse-better-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz", + "integrity": "sha512-xyQpxeWWMKyJps9CuGJYeng6ssI5bpqS9ltQpdVQ90t4ql6NdnxFKh95JcRt2cun/DjMVNrdjniLPuMA69xmCw==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true, + "optional": true + }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", @@ -6083,10 +5309,23 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, "k-bucket": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.0.tgz", - "integrity": "sha512-WIAQ54LfNjzt4viUIEVnXo9cr7ALS9Yocg+USLoiO89Uvbf9hz0OBtqmfzSr49kT3vbnhlzFfsJHFQ0xnp7LbA==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/k-bucket/-/k-bucket-3.3.1.tgz", + "integrity": "sha512-kgwWqYT79rAahn4maIVTP8dIe+m1KulufWW+f1bB9DlZrRFiGpZ4iJOg2HUp4xJYBWONP3+rOPIWF/RXABU6mw==", "dev": true, "requires": { "buffer-equals": "1.0.4", @@ -6095,15 +5334,14 @@ } }, "keccak": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.3.0.tgz", - "integrity": "sha512-JgsKPxYhcJxKrV+TrCyg/GwZbOjhpRPrz2kG8xbAsUaIDelUlKjm08YcwBO9Fm8sqf/Kg8ZWkk6nWujhLykfvw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/keccak/-/keccak-1.4.0.tgz", + "integrity": "sha512-eZVaCpblK5formjPjeTBik7TAg+pqnDrMHIffSvi9Lh7PQgM1+hSzakUeZFCk9DVVG0dacZJuaz2ntwlzZUIBw==", "dev": true, "requires": { "bindings": "1.3.0", "inherits": "2.0.3", "nan": "2.7.0", - "prebuild-install": "2.3.0", "safe-buffer": "5.1.1" } }, @@ -6238,7 +5476,7 @@ "dev": true, "requires": { "abstract-leveldown": "0.12.4", - "idb-wrapper": "1.7.1", + "idb-wrapper": "1.7.2", "isbuffer": "0.0.0", "ltgt": "2.2.0", "typedarray-to-buffer": "1.0.4", @@ -6291,7 +5529,7 @@ "bindings": "1.3.0", "fast-future": "1.0.2", "nan": "2.7.0", - "prebuild-install": "2.3.0" + "prebuild-install": "2.4.0" }, "dependencies": { "abstract-leveldown": { @@ -6335,35 +5573,70 @@ } }, "libp2p": { - "version": "0.12.4", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.12.4.tgz", - "integrity": "sha512-u5ZgtZjET6XHwQA61PyP8urQfMcbsrR7NQxbrpzeDGGXTXWrHgtRnsekhjfOl59+8GRNrqkkbkYG1SCYqrfGug==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-0.13.3.tgz", + "integrity": "sha512-u2STVP3FcC7kL16RykcS1ik5fBgNYgLVpPERpObRtwVpfnWgqWT9/faaJ649LGHBlH/4z/4piOrvgIeIdlnDVg==", "dev": true, "requires": { "async": "2.6.0", "libp2p-ping": "0.6.0", - "libp2p-swarm": "0.32.4", + "libp2p-swarm": "0.33.2", + "mafmt": "3.0.2", + "multiaddr": "3.0.1", + "peer-book": "0.5.2", + "peer-id": "0.10.3", + "peer-info": "0.11.3" + } + }, + "libp2p-circuit": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/libp2p-circuit/-/libp2p-circuit-0.1.4.tgz", + "integrity": "sha512-NTFeIul3LlTuI3QqGqvk1+3OVnTF4lqcrI4LJmOoL5NpwhHtOG5+IswtlOBFBJIZULvFbBYw06RhdUV27fqtTQ==", + "dev": true, + "requires": { + "assert": "1.4.1", + "async": "2.6.0", + "debug": "3.1.0", + "interface-connection": "0.3.2", + "lodash": "4.17.4", "mafmt": "3.0.2", "multiaddr": "3.0.1", - "peer-book": "0.5.1", - "peer-id": "0.10.2", - "peer-info": "0.11.1" + "multistream-select": "0.14.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3", + "protons": "1.0.1", + "pull-abortable": "4.1.1", + "pull-handshake": "1.1.4", + "pull-stream": "3.6.1", + "safe-buffer": "5.1.1", + "setimmediate": "1.0.5" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "libp2p-crypto": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.10.3.tgz", - "integrity": "sha512-E03YpbwOOQzEunR0OpWtuU8LPcBJnVZEfwCsVP17ngLH5pMhzIy3t9imEOkMT6vLnsxe25Q/HIiipNgRDxyd5g==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/libp2p-crypto/-/libp2p-crypto-0.10.4.tgz", + "integrity": "sha512-jNEs0/LouDqMGEE9hN1yRfkeFtDrgMbEGPy5xE/y2OVWr9WFU5S/u/tlpF3aeT0b/xhy/zCtSZ/PjzviJwuv5w==", "dev": true, "requires": { - "asn1.js": "4.9.2", + "asn1.js": "5.0.0", "async": "2.6.0", "browserify-aes": "1.1.1", "keypair": "1.0.1", "libp2p-crypto-secp256k1": "0.2.2", "multihashing-async": "0.4.7", "pem-jwk": "1.5.1", - "protons": "1.0.0", + "protons": "1.0.1", "rsa-pem-to-jwk": "1.1.3", "tweetnacl": "1.0.0", "webcrypto-shim": "github:dignifiedquire/webcrypto-shim#190bc9ec341375df6025b17ae12ddb2428ea49c8" @@ -6379,21 +5652,22 @@ "multihashing-async": "0.4.7", "nodeify": "1.0.1", "safe-buffer": "5.1.1", - "secp256k1": "3.3.1" + "secp256k1": "3.4.0" } }, "libp2p-floodsub": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/libp2p-floodsub/-/libp2p-floodsub-0.11.1.tgz", - "integrity": "sha512-3RwzR6MWIPMclgXm8QtnfSz1h3n6OhslvGH/wM96BeVmELPTIh/jjVuZss8GDHpT4U1Uqq6FCOsMbZTC5vddfA==", + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/libp2p-floodsub/-/libp2p-floodsub-0.13.1.tgz", + "integrity": "sha512-qJT5dKBVYG7pPm5jtwwFt1Pd8N7/U4eDa2bVTloLq3SzGnwcVvkP6tWRwyz3Nsed4xDzuGHHm2u0gqqpDdHt+Q==", "dev": true, "requires": { "async": "2.6.0", + "bs58": "4.0.1", "debug": "3.1.0", "length-prefixed-stream": "1.5.1", - "libp2p-crypto": "0.10.3", + "libp2p-crypto": "0.10.4", "lodash.values": "4.3.0", - "protons": "1.0.0", + "protons": "1.0.1", "pull-pushable": "2.1.1", "time-cache": "0.3.0" }, @@ -6416,17 +5690,17 @@ "dev": true, "requires": { "multiaddr": "3.0.1", - "peer-id": "0.10.2", - "peer-info": "0.11.1", - "protons": "1.0.0", + "peer-id": "0.10.3", + "peer-info": "0.11.3", + "protons": "1.0.1", "pull-length-prefixed": "1.3.0", "pull-stream": "3.6.1" } }, "libp2p-kad-dht": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.5.1.tgz", - "integrity": "sha512-dhsqNAlAszCH6D7BZxtiEgQa6d+40SxuwI2L4STjgc9ew87amu7wSvof0QJ2FGxftjvjvvevKYm0j1MtGmdQzQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/libp2p-kad-dht/-/libp2p-kad-dht-0.6.0.tgz", + "integrity": "sha512-oSmtLCkMkVYgq58T2MkdLwNiCtN2hY55Eh1Q05Tw34ab31YnT3NqoVw6l6srFDDjg5Ka/4TDbp/fTppgNulFRw==", "dev": true, "requires": { "async": "2.6.0", @@ -6435,15 +5709,15 @@ "debug": "3.1.0", "hashlru": "2.2.0", "heap": "0.2.6", - "interface-datastore": "0.3.1", - "k-bucket": "3.3.0", - "libp2p-crypto": "0.10.3", + "interface-datastore": "0.4.2", + "k-bucket": "3.3.1", + "libp2p-crypto": "0.10.4", "libp2p-record": "0.5.1", "multihashing-async": "0.4.7", - "peer-id": "0.10.2", - "peer-info": "0.11.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3", "priorityqueue": "0.2.0", - "protons": "1.0.0", + "protons": "1.0.1", "pull-length-prefixed": "1.3.0", "pull-stream": "3.6.1", "safe-buffer": "5.1.1", @@ -6459,19 +5733,6 @@ "requires": { "ms": "2.0.0" } - }, - "interface-datastore": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/interface-datastore/-/interface-datastore-0.3.1.tgz", - "integrity": "sha512-xoHrLkKZQpxhHOd+8ET2fW6jKxXTzl4o71/A59X5JhzwUDJb6Az5G8//RUtNJxQbyRU3k3q5uDMMu9v1hyF7cA==", - "dev": true, - "requires": { - "async": "2.6.0", - "libp2p-crypto": "0.10.3", - "pull-defer": "0.2.2", - "pull-stream": "3.6.1", - "uuid": "3.1.0" - } } } }, @@ -6483,9 +5744,9 @@ "requires": { "libp2p-tcp": "0.11.1", "multiaddr": "3.0.1", - "multicast-dns": "6.2.0", - "peer-id": "0.10.2", - "peer-info": "0.11.1" + "multicast-dns": "6.2.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3" } }, "libp2p-multiplex": { @@ -6508,7 +5769,7 @@ "integrity": "sha512-e+J3IsF6B1oV4l534di/5kyAIJ1wjzACdpYpHF87pdEX+CFJGgCtYa2Kup/vWiBumuEsb2VtWWVlNmZS2HV/FQ==", "dev": true, "requires": { - "libp2p-crypto": "0.10.3", + "libp2p-crypto": "0.10.4", "pull-handshake": "1.1.4", "pull-stream": "3.6.1" } @@ -6523,8 +5784,8 @@ "debug": "3.1.0", "lodash": "4.17.4", "multiaddr": "3.0.1", - "peer-id": "0.10.2", - "peer-info": "0.11.1" + "peer-id": "0.10.3", + "peer-info": "0.11.3" }, "dependencies": { "debug": { @@ -6549,8 +5810,8 @@ "left-pad": "1.2.0", "multihashes": "0.4.12", "multihashing-async": "0.4.7", - "peer-id": "0.10.2", - "protons": "1.0.0" + "peer-id": "0.10.3", + "protons": "1.0.1" } }, "libp2p-secio": { @@ -6562,10 +5823,10 @@ "async": "2.6.0", "debug": "3.1.0", "interface-connection": "0.3.2", - "libp2p-crypto": "0.10.3", + "libp2p-crypto": "0.10.4", "multihashing-async": "0.4.7", - "peer-id": "0.10.2", - "protons": "1.0.0", + "peer-id": "0.10.3", + "protons": "1.0.1", "pull-defer": "0.2.2", "pull-handshake": "1.1.4", "pull-length-prefixed": "1.3.0", @@ -6584,23 +5845,23 @@ } }, "libp2p-swarm": { - "version": "0.32.4", - "resolved": "https://registry.npmjs.org/libp2p-swarm/-/libp2p-swarm-0.32.4.tgz", - "integrity": "sha512-L2mTMoXutMIELenyMJiNZUu7qvXNH4kAdsdkFkgU0rgl4obHuxDtcrECTcJf/nNgy6CTsJ2vy3Y2IFuj+p+haw==", + "version": "0.33.2", + "resolved": "https://registry.npmjs.org/libp2p-swarm/-/libp2p-swarm-0.33.2.tgz", + "integrity": "sha512-+detttstBXcQFiUqKv2kEYf08QntKqLIlRVDjFERMQsLp2ce4wRIymd75Hj5CvqAjdlcjh8WU/sjsNsPU/Dd+A==", "dev": true, "requires": { "async": "2.6.0", - "browserify-zlib-next": "1.0.1", "debug": "3.1.0", "interface-connection": "0.3.2", - "ip-address": "5.8.8", + "ip-address": "5.8.9", + "libp2p-circuit": "0.1.4", "libp2p-identify": "0.6.1", "lodash.includes": "4.3.0", "multiaddr": "3.0.1", - "multistream-select": "0.13.5", + "multistream-select": "0.14.1", "once": "1.4.0", - "peer-id": "0.10.2", - "peer-info": "0.11.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3", "pull-stream": "3.6.1" }, "dependencies": { @@ -6622,7 +5883,7 @@ "dev": true, "requires": { "interface-connection": "0.3.2", - "ip-address": "5.8.8", + "ip-address": "5.8.9", "lodash.includes": "4.3.0", "lodash.isfunction": "3.0.8", "mafmt": "3.0.2", @@ -6632,24 +5893,26 @@ } }, "libp2p-webrtc-star": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.13.2.tgz", - "integrity": "sha512-iYtB6sce9AHFujI9QeV0O7cTFkNFV5jAEPnk/pQENhQEpICahcMFNd9YbH/DdKTmF4DzjtNhRGdmfL0R+JB4FQ==", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/libp2p-webrtc-star/-/libp2p-webrtc-star-0.13.3.tgz", + "integrity": "sha512-UD3SAJwKcpM5DL5EtxEXFHAJFl/YHGIMxBcx9zdIxnwJOiwuZ5Jo8vhIA14gBUgOKjgr/dHOQPzWEdzT3yifSw==", "dev": true, "requires": { "async": "2.6.0", "debug": "3.1.0", "detect-node": "2.0.3", + "epimetheus": "1.0.55", "hapi": "16.6.2", + "inert": "4.2.1", "interface-connection": "0.3.2", "mafmt": "3.0.2", "minimist": "1.2.0", "multiaddr": "3.0.1", "once": "1.4.0", - "peer-id": "0.10.2", - "peer-info": "0.11.1", + "peer-id": "0.10.3", + "peer-info": "0.11.3", "pull-stream": "3.6.1", - "simple-peer": "8.1.1", + "simple-peer": "8.2.0", "socket.io": "2.0.4", "socket.io-client": "2.0.4", "stream-to-pull-stream": "1.7.2", @@ -6673,6 +5936,40 @@ } } }, + "libp2p-websocket-star": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/libp2p-websocket-star/-/libp2p-websocket-star-0.7.2.tgz", + "integrity": "sha512-Dmcu0uQopOSPzsRN/Yr0vfqrFSX+ySKAKHTcoVQ52S+zyTjNlvHdGZN8p4TTE0fJIiEfy1MtNgeDI3HFOzWTBA==", + "dev": true, + "requires": { + "async": "2.6.0", + "data-queue": "0.0.3", + "debug": "3.1.0", + "interface-connection": "0.3.2", + "libp2p-crypto": "0.10.4", + "mafmt": "3.0.2", + "merge-recursive": "0.0.3", + "multiaddr": "3.0.1", + "once": "1.4.0", + "peer-id": "0.10.3", + "peer-info": "0.11.3", + "pull-stream": "3.6.1", + "socket.io-client": "2.0.4", + "socket.io-pull-stream": "0.1.3", + "uuid": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "libp2p-websockets": { "version": "0.10.4", "resolved": "https://registry.npmjs.org/libp2p-websockets/-/libp2p-websockets-0.10.4.tgz", @@ -6686,23 +5983,15 @@ } }, "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "4.1.11", - "parse-json": "2.2.0", - "pify": "2.3.0", + "parse-json": "4.0.0", + "pify": "3.0.0", "strip-bom": "3.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } } }, "loader-runner": { @@ -7034,14 +6323,20 @@ "readable-stream": "2.3.3" } }, + "merge-recursive": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/merge-recursive/-/merge-recursive-0.0.3.tgz", + "integrity": "sha1-3nkB78rsyQbYyrKtHpxHD1o9roQ=", + "dev": true + }, "merkle-patricia-tree": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.2.0.tgz", - "integrity": "sha1-ekeHsSYqsA/psgSrRxsAUzIwbvo=", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/merkle-patricia-tree/-/merkle-patricia-tree-2.3.0.tgz", + "integrity": "sha512-LKd2OoIT9Re/OG38zXbd5pyHIk2IfcOUczCwkYXl5iJIbufg9nqpweh66VfPwMkUlrEvc7YVvtQdmSrB9V9TkQ==", "dev": true, "requires": { "async": "1.5.2", - "ethereumjs-util": "4.5.0", + "ethereumjs-util": "5.1.2", "level-ws": "0.0.0", "levelup": "1.3.9", "memdown": "1.4.1", @@ -7055,6 +6350,22 @@ "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=", "dev": true + }, + "ethereumjs-util": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.1.2.tgz", + "integrity": "sha1-JboCFcu0wvCxCKb5avKi5i5Fkh8=", + "dev": true, + "requires": { + "babel-preset-es2015": "6.24.1", + "babelify": "7.3.0", + "bn.js": "4.11.8", + "create-hash": "1.1.3", + "ethjs-util": "0.1.4", + "keccak": "1.4.0", + "rlp": "2.0.0", + "secp256k1": "3.4.0" + } } } }, @@ -7090,9 +6401,9 @@ } }, "mime-db": { - "version": "1.31.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.31.0.tgz", - "integrity": "sha512-oB3w9lx50CMd6nfonoV5rBRUbJtjMifUHaFb5MfzjC8ksAIfVjT0BsX46SjjqBz7n9JGTrTX3paIeLSK+rS5fQ==", + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.32.0.tgz", + "integrity": "sha512-+ZWo/xZN40Tt6S+HyakUxnSOgff+JEdaneLWIm0Z6LmpCn5DMcZntLyUY5c/rTDog28LhXLKOUZKoTxTCAdBVw==", "dev": true }, "mime-types": { @@ -7125,7 +6436,15 @@ "dev": true, "requires": { "hoek": "4.2.0", - "mime-db": "1.31.0" + "mime-db": "1.32.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "minimalistic-assert": { @@ -7200,6 +6519,12 @@ "supports-color": "4.4.0" }, "dependencies": { + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", + "dev": true + }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", @@ -7269,12 +6594,20 @@ "dev": true, "requires": { "base-x": "3.0.0" + }, + "dependencies": { + "base-x": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.0.tgz", + "integrity": "sha1-d7VvAxEHC3gLPIpfU0vqxH5QZwI=", + "dev": true + } } }, "multicast-dns": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.0.tgz", - "integrity": "sha512-tnQqWkuWYHCOVRveiWQf+5KjHUnEmtxUycTy1esL4prQjXoT4qpndIS4fH63zObmHNxIHke3YHRnQrXYpXHf2A==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.1.tgz", + "integrity": "sha512-uV3/ckdsffHx9IrGQrx613mturMdMqQ06WTq+C09NsStJ9iNG6RcUWgPKs1Rfjy+idZT6tfQoXEusGNnEZhT3w==", "dev": true, "requires": { "dns-packet": "1.2.2", @@ -7314,17 +6647,6 @@ "nodeify": "1.0.1" } }, - "multipart-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/multipart-stream/-/multipart-stream-2.0.1.tgz", - "integrity": "sha1-GVyctLLEHnjHKh6POMfQ66HNC6A=", - "dev": true, - "requires": { - "inherits": "2.0.3", - "is-stream": "1.1.0", - "sandwich-stream": "1.0.0" - } - }, "multiplex": { "version": "github:dignifiedquire/multiplex#b5d5edd30454e2c978ee8c52df86f5f4840d2eab", "dev": true, @@ -7344,13 +6666,13 @@ } }, "multistream-select": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-0.13.5.tgz", - "integrity": "sha1-/jNnYgLmRhkFSu60UzaogcycVOk=", + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/multistream-select/-/multistream-select-0.14.1.tgz", + "integrity": "sha512-g5t66GQjJZQwlz5nwGT9o76U0IOUDS6bvCMC+J5BKgIelr8p3LQntn8DbKGFkjrw5m/OFxcRJFHbwxJI15I9OA==", "dev": true, "requires": { "async": "2.6.0", - "debug": "2.6.9", + "debug": "3.1.0", "interface-connection": "0.3.2", "lodash.isfunction": "3.0.8", "lodash.range": "3.2.0", @@ -7360,6 +6682,17 @@ "pull-stream": "3.6.1", "semver": "5.4.1", "varint": "5.0.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } } }, "murmurhash3js": { @@ -7408,6 +6741,14 @@ "requires": { "hoek": "4.2.0", "vise": "2.0.2" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "node-abi": { @@ -7496,6 +6837,17 @@ "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=", "dev": true }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "dev": true, + "optional": true, + "requires": { + "abbrev": "1.1.1", + "osenv": "0.1.4" + } + }, "normalize-package-data": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", @@ -7544,6 +6896,13 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true, + "optional": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -7556,12 +6915,6 @@ "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", "dev": true }, - "object-inspect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", - "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=", - "dev": true - }, "object-keys": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", @@ -7610,7 +6963,9 @@ "dev": true }, "orbit-db-keystore": { - "version": "github:haadcode/orbit-db-keystore#ce34e71fcfc28e63e054134e09debf19b3393fe2", + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/orbit-db-keystore/-/orbit-db-keystore-0.0.2.tgz", + "integrity": "sha512-uhf3ynp+/iEIhDOuseyUMO6NdrF/Ke3iwUqQk5wf3oCaxD7oUGC3AQBvyOPprRQhilcOLqFywRCvn5sqFNmYZQ==", "dev": true, "requires": { "elliptic": "6.4.0", @@ -7647,6 +7002,17 @@ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", "dev": true }, + "osenv": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz", + "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=", + "dev": true, + "optional": true, + "requires": { + "os-homedir": "1.0.2", + "os-tmpdir": "1.0.2" + } + }, "p-finally": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", @@ -7718,6 +7084,19 @@ "create-hash": "1.1.3", "evp_bytestokey": "1.0.3", "pbkdf2": "3.0.14" + }, + "dependencies": { + "asn1.js": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", + "integrity": "sha512-b/OsSjvWEo8Pi8H0zsDd2P6Uqo2TK2pH8gNLSJtNLM2Db0v2QaAZ0pBQJXVjAn4gBuugeVDr7s63ZogpUIwWDg==", + "dev": true, + "requires": { + "bn.js": "4.11.8", + "inherits": "2.0.3", + "minimalistic-assert": "1.0.0" + } + } } }, "parse-glob": { @@ -7733,12 +7112,13 @@ } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "1.3.1" + "error-ex": "1.3.1", + "json-parse-better-errors": "1.0.1" } }, "parseqs": { @@ -7789,27 +7169,13 @@ "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "pify": "3.0.0" } }, "pbkdf2": { @@ -7826,37 +7192,37 @@ } }, "peer-book": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/peer-book/-/peer-book-0.5.1.tgz", - "integrity": "sha512-BDbOU5lWnEczLzoiYfpje3OMVv5TEP70EQqVqqoe/1/PhkVNbjnq80hhDykc9eSKguP4hGyAArywDzd4YjZ76Q==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/peer-book/-/peer-book-0.5.2.tgz", + "integrity": "sha512-+BgRdGjVhPJo1AaIyBFPI/Nij1uvyBeowXT5CHGJVjVUlcONK3rl471l9t5oVf0Q31/wEtZTL68Y7l0TctFSHQ==", "dev": true, "requires": { "bs58": "4.0.1", - "peer-id": "0.10.2", - "peer-info": "0.11.1" + "peer-id": "0.10.3", + "peer-info": "0.11.3" } }, "peer-id": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.2.tgz", - "integrity": "sha512-E5uxAAhbLylyNE2FNWykyGqsRoiOOfprFOkZfCO7yTBFIJc2Gq+l6XKBeyWTQKR/eUizHbzZgexqEDcqFw84iw==", + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/peer-id/-/peer-id-0.10.3.tgz", + "integrity": "sha512-hwMMPNBFgUkDs7GVXfXDcRIEmuQ29zyi37S+VBKa5G+e28rGRIJAbEEod2dj98cj/janDp19RaP5QKejvW5/gQ==", "dev": true, "requires": { "async": "2.6.0", - "libp2p-crypto": "0.10.3", + "libp2p-crypto": "0.10.4", "lodash": "4.17.4", "multihashes": "0.4.12" } }, "peer-info": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.11.1.tgz", - "integrity": "sha512-CSkBYu6gkEGRCbO7hS4S/drlniMxaZ/oAC7s0XzFDzNB/fTk5pQrgpn261IP4mJCn63leI4+Nl7R2NJecS47QQ==", + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/peer-info/-/peer-info-0.11.3.tgz", + "integrity": "sha512-FzNzL5PYGr7rpHFpoSMdEGwRVb7X9D88YDmTkamXd4CO05bNeHITlrwIV7ctshBhVRTvokpnI59HUSEQly5rnA==", "dev": true, "requires": { "lodash.uniqby": "4.7.0", "multiaddr": "3.0.1", - "peer-id": "0.10.2" + "peer-id": "0.10.3" } }, "pem-jwk": { @@ -7888,6 +7254,13 @@ } } }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true, + "optional": true + }, "pez": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/pez/-/pez-2.1.5.tgz", @@ -7899,6 +7272,23 @@ "content": "3.0.6", "hoek": "4.2.0", "nigel": "2.0.2" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "pify": { @@ -7925,12 +7315,32 @@ "hoek": "4.2.0", "items": "2.1.1", "joi": "10.6.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "dev": true, + "requires": { + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" + } + } } }, "prebuild-install": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.3.0.tgz", - "integrity": "sha512-gzjq2oHB8oMbzJSsSh9MQ64zrXZGt092/uT4TLZlz2qnrPxpWqp4vYB7LZrDxnlxf5RfbCjkgDI/z0EIVuYzAw==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.4.0.tgz", + "integrity": "sha512-2v/FFGgF8Z2UjmM7dHiEwfuldALnZZsBEfjY6Pk1wPu88gYexPkIBUJwHYJ7e/kasFu8zbtTPY5bY45Vc2MC6g==", "dev": true, "requires": { "expand-template": "1.1.0", @@ -7999,12 +7409,17 @@ "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", "dev": true }, + "progress": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.0.tgz", + "integrity": "sha1-ihvjZr+Pwj2yvSPxDG/pILQ4nR8=", + "dev": true + }, "prom-client": { "version": "10.2.2", "resolved": "https://registry.npmjs.org/prom-client/-/prom-client-10.2.2.tgz", "integrity": "sha512-d3qCBK41qZx00/WVzWOX4tau9FinCztqaECZiGuMI5vGYD//5VSdKMOZPRQKjVh5RkI4Ex98DI0YPsoFnEo1QQ==", "dev": true, - "optional": true, "requires": { "tdigest": "0.1.1" } @@ -8016,7 +7431,7 @@ "dev": true, "optional": true, "requires": { - "gc-stats": "1.0.2", + "gc-stats": "1.1.0", "optional": "0.1.4" } }, @@ -8048,12 +7463,11 @@ "dev": true }, "protons": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.0.tgz", - "integrity": "sha512-n+FhiYi0NMM3A84BeeD4tQ878F6qZnbaoBiO4GjIIzqyd4p5SaGiGwduPbtKeVMrNFuzIuh6jEA7vmw9sExcpQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/protons/-/protons-1.0.1.tgz", + "integrity": "sha512-+0ZKnfVs+4c43tbAQ5j0Mck8wPcLnlxUYzKQoB4iDW4ocdXGnN4P+0dDbgX1FTpoY9+7P2Tn2scJyHHqj+S/lQ==", "dev": true, "requires": { - "brfs": "1.4.3", "protocol-buffers-schema": "3.3.2", "safe-buffer": "5.1.1", "signed-varint": "2.0.1", @@ -8085,6 +7499,12 @@ "randombytes": "2.0.5" } }, + "pull-abortable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/pull-abortable/-/pull-abortable-4.1.1.tgz", + "integrity": "sha1-s61a77QRayWRbSbbiTk6yY0NzqE=", + "dev": true + }, "pull-batch": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/pull-batch/-/pull-batch-1.0.0.tgz", @@ -8122,47 +7542,14 @@ "dev": true }, "pull-file": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.0.0.tgz", - "integrity": "sha1-WgywNteO4Q4+C0KT389u/6EDYxg=", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-1.1.0.tgz", + "integrity": "sha1-HdmHYF1jV6DSPB5Lgm95FaIVEpw=", "dev": true, "requires": { "pull-utf8-decoder": "1.0.2" } }, - "pull-fs": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/pull-fs/-/pull-fs-1.1.6.tgz", - "integrity": "sha1-8YT2p3KLtNlWQTdr6tafb2bfR80=", - "dev": true, - "requires": { - "pull-file": "0.5.0", - "pull-stream": "3.6.1", - "pull-traverse": "1.0.3", - "pull-write-file": "0.2.4" - }, - "dependencies": { - "pull-file": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/pull-file/-/pull-file-0.5.0.tgz", - "integrity": "sha1-s8pAUwbggvnUUoKIkzutsrZWNls=", - "dev": true, - "requires": { - "pull-utf8-decoder": "1.0.2" - } - } - } - }, - "pull-glob": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/pull-glob/-/pull-glob-1.0.6.tgz", - "integrity": "sha1-3qWsWUjuFZeNqyTXdyApJ/aK6KY=", - "dev": true, - "requires": { - "pull-fs": "1.1.6", - "pull-stream": "3.6.1" - } - }, "pull-handshake": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz", @@ -8196,6 +7583,17 @@ "pull-stream": "3.6.1" } }, + "pull-ndjson": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pull-ndjson/-/pull-ndjson-0.1.1.tgz", + "integrity": "sha1-gx4GutmqbFxevBKol+Og4V1J4H4=", + "dev": true, + "requires": { + "pull-split": "0.2.0", + "pull-stream": "3.6.1", + "pull-stringify": "1.2.2" + } + }, "pull-pair": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz", @@ -8247,6 +7645,15 @@ "pull-stream": "3.6.1" } }, + "pull-split": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pull-split/-/pull-split-0.2.0.tgz", + "integrity": "sha1-mW0ohTEFIgmoMTiK0NKB3zyCN5Y=", + "dev": true, + "requires": { + "pull-through": "1.0.18" + } + }, "pull-stream": { "version": "3.6.1", "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.1.tgz", @@ -8259,6 +7666,12 @@ "integrity": "sha1-P4HYIWvRjSv9GhmBkEcRgOJzg5k=", "dev": true }, + "pull-stringify": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/pull-stringify/-/pull-stringify-1.2.2.tgz", + "integrity": "sha1-Whw04Adfry8vbUYATjbczTO9fHw=", + "dev": true + }, "pull-through": { "version": "1.0.18", "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz", @@ -8299,12 +7712,6 @@ } } }, - "pull-write-file": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/pull-write-file/-/pull-write-file-0.2.4.tgz", - "integrity": "sha1-Q3NErrIYn2XmeO0a838PdgpUU+8=", - "dev": true - }, "pull-ws": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.0.tgz", @@ -8385,25 +7792,6 @@ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", "dev": true }, - "quote-stream": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz", - "integrity": "sha1-hJY/jJwmuULhU/7rU6rnRlK34LI=", - "dev": true, - "requires": { - "buffer-equal": "0.0.1", - "minimist": "1.2.0", - "through2": "2.0.3" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - } - } - }, "randomatic": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", @@ -8485,24 +7873,24 @@ } }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "2.0.0", + "load-json-file": "4.0.0", "normalize-package-data": "2.4.0", - "path-type": "2.0.0" + "path-type": "3.0.0" } }, "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { "find-up": "2.1.0", - "read-pkg": "2.0.0" + "read-pkg": "3.0.0" } }, "readable-stream": { @@ -8539,9 +7927,9 @@ "dev": true }, "regenerator-runtime": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.0.tgz", - "integrity": "sha512-/aA0kLeRb5N9K0d4fw7ooEbI+xDe+DKD499EQqygGqeS8N3xto15p09uY2xj7ixP81sNPXvRLnAQIqdVStgb1A==", + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", "dev": true }, "regenerator-transform": { @@ -8650,6 +8038,37 @@ "is-finite": "1.0.2" } }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "optional": true, + "requires": { + "aws-sign2": "0.7.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.3.1", + "har-validator": "5.0.3", + "hawk": "6.0.2", + "http-signature": "1.2.0", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "2.1.0", + "qs": "6.5.1", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -8662,15 +8081,6 @@ "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", "dev": true }, - "resolve": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz", - "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", - "dev": true, - "requires": { - "path-parse": "1.0.5" - } - }, "right-align": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", @@ -8747,25 +8157,19 @@ "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", "dev": true }, - "sandwich-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sandwich-stream/-/sandwich-stream-1.0.0.tgz", - "integrity": "sha1-eDDkV5e1kzKH8fmyj4cZB0ViYvI=", - "dev": true - }, "schema-utils": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", "dev": true, "requires": { - "ajv": "5.4.0" + "ajv": "5.5.1" } }, "secp256k1": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.3.1.tgz", - "integrity": "sha512-lygjgfjzjBHblEDDkppUF5KK1EeVk6P/Dv2MsJZpYIR3vW5TKFRexOFkf0hHy9J5YxEpjQZ6x98Y3XQpMQO/vA==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/secp256k1/-/secp256k1-3.4.0.tgz", + "integrity": "sha512-eC120ESQ6MB3gMkxj0PVcSjv/9VtSUmm9uPGNc58yTs93iMCUQZ1xeGPidQMY1z1O4psbCtOxRu3vNqpbuck6Q==", "dev": true, "requires": { "bindings": "1.3.0", @@ -8775,7 +8179,6 @@ "drbg.js": "1.0.1", "elliptic": "6.4.0", "nan": "2.7.0", - "prebuild-install": "2.3.0", "safe-buffer": "5.1.1" } }, @@ -8837,12 +8240,6 @@ "nan": "2.7.0" } }, - "shallow-copy": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", - "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", - "dev": true - }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -8866,6 +8263,26 @@ "requires": { "hoek": "4.2.0", "joi": "10.6.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", + "dev": true, + "requires": { + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" + } + } } }, "signal-exit": { @@ -8903,9 +8320,9 @@ } }, "simple-peer": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-8.1.1.tgz", - "integrity": "sha512-t2zRYgj1HE5lbfkuL2bJ8s8Q60TQfPwOfDj/TA1/N/Qvi8pdj4uEU0bctrZIsHZlzuU7HM+RFR/YBbiLJjHpxQ==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/simple-peer/-/simple-peer-8.2.0.tgz", + "integrity": "sha512-m3K7TJC7SjdzVB3KvvrcFkWfQknHYNF9d88aracdea/Jn/lreYQ6kGdD6+Rcjpq8w1Ai7dssd3XIYYWZ+Nt0qg==", "dev": true, "requires": { "debug": "2.6.9", @@ -8933,6 +8350,25 @@ "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==", "dev": true }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true, + "optional": true, + "requires": { + "hoek": "4.2.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true, + "optional": true + } + } + }, "socket.io": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.0.4.tgz", @@ -8993,6 +8429,29 @@ } } }, + "socket.io-pull-stream": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/socket.io-pull-stream/-/socket.io-pull-stream-0.1.3.tgz", + "integrity": "sha512-6vK5knjAmypmg9UmtAONdXivBxgesmpbwkbtBzdupkCxiO1rAkVKm/Z3iF+jJV0oQ+csyYpEcliQUJpRAoCcgA==", + "dev": true, + "requires": { + "data-queue": "0.0.3", + "debug": "3.1.0", + "pull-stream": "3.6.1", + "uuid": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -9059,12 +8518,45 @@ "through2": "2.0.3" } }, - "sprintf-js": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.1.tgz", - "integrity": "sha1-Nr54Mgr+WAH2zqPueLblqrlA6gw=", - "dev": true - }, + "sprintf-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.0.tgz", + "integrity": "sha1-z/yvcC2vZeo5u04PorKZzsGhvkY=", + "dev": true + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true, + "optional": true, + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + } + } + }, "ssri": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.0.0.tgz", @@ -9092,103 +8584,33 @@ "iron": "4.0.5", "items": "2.1.1", "joi": "10.6.0" - } - }, - "static-eval": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz", - "integrity": "sha1-t9NNg4k3uWn5ZBygfUj47eJj6ns=", - "dev": true, - "requires": { - "escodegen": "0.0.28" - }, - "dependencies": { - "escodegen": { - "version": "0.0.28", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz", - "integrity": "sha1-Dk/xcV8yh3XWyrUaxEpAbNer/9M=", - "dev": true, - "requires": { - "esprima": "1.0.4", - "estraverse": "1.3.2", - "source-map": "0.5.7" - } - }, - "esprima": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", - "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", - "dev": true - }, - "estraverse": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz", - "integrity": "sha1-N8K4k+8T1yPydth41g2FNRUqbEI=", - "dev": true - } - } - }, - "static-module": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz", - "integrity": "sha1-J9qYg8QajNCSNvhC8MHrxu32PYY=", - "dev": true, - "requires": { - "concat-stream": "1.6.0", - "duplexer2": "0.0.2", - "escodegen": "1.3.3", - "falafel": "2.1.0", - "has": "1.0.1", - "object-inspect": "0.4.0", - "quote-stream": "0.0.0", - "readable-stream": "1.0.34", - "shallow-copy": "0.0.1", - "static-eval": "0.2.4", - "through2": "0.4.2" }, "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "quote-stream": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz", - "integrity": "sha1-zeKelMQJsW4Z3HCYuJtmWPlyHTs=", - "dev": true, - "requires": { - "minimist": "0.0.8", - "through2": "0.4.2" - } - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", "dev": true, "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "0.0.1", - "string_decoder": "0.10.31" + "hoek": "4.2.0" } }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", "dev": true }, - "through2": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", - "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "joi": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-10.6.0.tgz", + "integrity": "sha512-hBF3LcqyAid+9X/pwg+eXjD2QBZI5eXnBFJYaAkH4SK3mp9QSRiiQnDYlmlz5pccMvnLcJRS4whhDOTCkmsAdQ==", "dev": true, "requires": { - "readable-stream": "1.0.34", - "xtend": "2.1.2" + "hoek": "4.2.0", + "isemail": "2.2.1", + "items": "2.1.1", + "topo": "2.0.2" } } } @@ -9282,6 +8704,13 @@ "safe-buffer": "5.1.1" } }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true, + "optional": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -9329,6 +8758,23 @@ "hoek": "4.2.0", "pez": "2.1.5", "wreck": "12.5.1" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "supports-color": { @@ -9343,6 +8789,17 @@ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", "dev": true }, + "tar": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz", + "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=", + "dev": true, + "requires": { + "block-stream": "0.0.9", + "fstream": "1.0.11", + "inherits": "2.0.3" + } + }, "tar-fs": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz", @@ -9355,6 +8812,23 @@ "tar-stream": "1.5.5" } }, + "tar-pack": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz", + "integrity": "sha512-PPRybI9+jM5tjtCbN2cxmmRU7YmqT3Zv/UDy48tAh2XRkLa9bAORtSWLkVc13+GJF+cdTh1yEnHEk3cpTaL5Kg==", + "dev": true, + "optional": true, + "requires": { + "debug": "2.6.9", + "fstream": "1.0.11", + "fstream-ignore": "1.0.5", + "once": "1.4.0", + "readable-stream": "2.3.3", + "rimraf": "2.6.2", + "tar": "2.2.1", + "uid-number": "0.0.6" + } + }, "tar-stream": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", @@ -9380,7 +8854,6 @@ "resolved": "https://registry.npmjs.org/tdigest/-/tdigest-0.1.1.tgz", "integrity": "sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=", "dev": true, - "optional": true, "requires": { "bintrees": "1.0.1" } @@ -9497,6 +8970,33 @@ "dev": true, "requires": { "hoek": "4.2.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } + } + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true, + "optional": true, + "requires": { + "punycode": "1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true, + "optional": true + } } }, "traverse": { @@ -9545,12 +9045,12 @@ "dev": true }, "uglify-es": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.10.tgz", - "integrity": "sha512-RwBX0aOeHvO8MKKUeLCArQGb9OZ6xA+EqfVxsE9wqK0saFYFVLIFvHeeCOg61C6NO6KCuSiG9OjNjCA+OB4nzg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.2.1.tgz", + "integrity": "sha512-c+Fy4VuGvPmT7mj7vEPjRR/iNFuXuOAkufhCtCvTGX0Hr4gCM9YwCnLgHkxr1ngqSODQaDObU3g8SF8uE/tY1w==", "dev": true, "requires": { - "commander": "2.11.0", + "commander": "2.12.2", "source-map": "0.6.1" }, "dependencies": { @@ -9570,17 +9070,17 @@ "optional": true }, "uglifyjs-webpack-plugin": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.0.tgz", - "integrity": "sha512-x5+BK4OvEZZvaoXln/Z1JMGq3Nvp5A8d7oQ7Xpyf17lqZV9NYvugfj5aTaYcxDWNoILgVdnlPWNpAWgVdwT1/g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-k07cmJTj+8vZMSc3BaQ9uW7qVl2MqDts4ti4KaNACXEcXSw2vQM2S8olSk/CODxvcSFGvUHzNSqA8JQlhgUJPw==", "dev": true, "requires": { "cacache": "10.0.1", "find-cache-dir": "1.0.0", "schema-utils": "0.3.0", "source-map": "0.6.1", - "uglify-es": "3.1.10", - "webpack-sources": "1.0.2", + "uglify-es": "3.2.1", + "webpack-sources": "1.1.0", "worker-farm": "1.5.2" }, "dependencies": { @@ -9592,10 +9092,17 @@ } } }, + "uid-number": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz", + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=", + "dev": true, + "optional": true + }, "ultron": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz", - "integrity": "sha1-sHoualQagV/Go0zNRTO67DB8qGQ=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, "unique-filename": { @@ -9637,7 +9144,7 @@ "integrity": "sha1-TognpruRUUCrCTVZ1wFOPruDdFE=", "dev": true, "requires": { - "boxen": "1.2.2", + "boxen": "1.3.0", "chalk": "2.3.0", "configstore": "3.1.1", "import-lazy": "2.1.0", @@ -9767,6 +9274,18 @@ "varint": "5.0.0" } }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "optional": true, + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + } + }, "vise": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/vise/-/vise-2.0.2.tgz", @@ -9774,6 +9293,14 @@ "dev": true, "requires": { "hoek": "4.2.0" + }, + "dependencies": { + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "vm-browserify": { @@ -9801,19 +9328,19 @@ "dev": true }, "webpack": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.8.1.tgz", - "integrity": "sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==", + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", + "integrity": "sha512-fxxKXoicjdXNUMY7LIdY89tkJJJ0m1Oo8PQutZ5rLgWbV5QVKI15Cn7+/IHnRTd3vfKfiwBx6SBqlorAuNA8LA==", "dev": true, "requires": { "acorn": "5.2.1", "acorn-dynamic-import": "2.0.2", - "ajv": "5.4.0", + "ajv": "5.5.1", "ajv-keywords": "2.1.1", "async": "2.6.0", "enhanced-resolve": "3.4.1", "escope": "3.6.0", - "interpret": "1.0.4", + "interpret": "1.1.0", "json-loader": "0.5.7", "json5": "0.5.1", "loader-runner": "2.3.0", @@ -9826,10 +9353,16 @@ "tapable": "0.2.8", "uglifyjs-webpack-plugin": "0.4.6", "watchpack": "1.4.0", - "webpack-sources": "1.0.2", + "webpack-sources": "1.1.0", "yargs": "8.0.2" }, "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, "camelcase": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", @@ -9847,6 +9380,90 @@ "wordwrap": "0.0.2" } }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "dev": true, + "requires": { + "graceful-fs": "4.1.11", + "parse-json": "2.2.0", + "pify": "2.3.0", + "strip-bom": "3.0.0" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "dev": true, + "requires": { + "error-ex": "1.3.1" + } + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "dev": true, + "requires": { + "pify": "2.3.0" + } + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "dev": true, + "requires": { + "load-json-file": "2.0.0", + "normalize-package-data": "2.4.0", + "path-type": "2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "dev": true, + "requires": { + "find-up": "2.1.0", + "read-pkg": "2.0.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } + } + }, "supports-color": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", @@ -9889,7 +9506,7 @@ "requires": { "source-map": "0.5.7", "uglify-js": "2.8.29", - "webpack-sources": "1.0.2" + "webpack-sources": "1.1.0" } }, "wordwrap": { @@ -9897,13 +9514,83 @@ "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", "dev": true + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "dev": true, + "requires": { + "camelcase": "4.1.0", + "cliui": "3.2.0", + "decamelize": "1.2.0", + "get-caller-file": "1.0.2", + "os-locale": "2.1.0", + "read-pkg-up": "2.0.0", + "require-directory": "2.1.1", + "require-main-filename": "1.0.1", + "set-blocking": "2.0.0", + "string-width": "2.1.1", + "which-module": "2.0.0", + "y18n": "3.2.1", + "yargs-parser": "7.0.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "dev": true, + "requires": { + "string-width": "1.0.2", + "strip-ansi": "3.0.1", + "wrap-ansi": "2.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "1.1.0", + "is-fullwidth-code-point": "1.0.0", + "strip-ansi": "3.0.1" + } + } + } + } + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "dev": true, + "requires": { + "camelcase": "4.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + } + } } } }, "webpack-sources": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz", - "integrity": "sha512-Y7UddMCv6dGjy81nBv6nuQeFFIt5aalHm7uyDsAsW86nZwfOVPGRr3XMjEQLaT+WKo8rlzhC9qtbJvYKLtAwaw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.1.0.tgz", + "integrity": "sha512-aqYp18kPphgoO5c/+NaUvEeACtZjMESmDChuD3NBciVpah3XpMEU9VAAtIaB1BsfJWWTSdv8Vv1m3T0aRk2dUw==", "dev": true, "requires": { "source-list-map": "2.0.0", @@ -9947,12 +9634,45 @@ } }, "widest-line": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz", - "integrity": "sha1-DAnIXCqUaD0Nfq+O4JfVZL8OEFw=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.0.tgz", + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "dev": true, "requires": { - "string-width": "1.0.2" + "string-width": "2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "2.0.0", + "strip-ansi": "4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "3.0.0" + } + } } }, "window-size": { @@ -10009,6 +9729,23 @@ "requires": { "boom": "5.2.0", "hoek": "4.2.0" + }, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true, + "requires": { + "hoek": "4.2.0" + } + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + } } }, "write-file-atomic": { @@ -10030,7 +9767,7 @@ "requires": { "async-limiter": "1.0.0", "safe-buffer": "5.1.1", - "ultron": "1.1.0" + "ultron": "1.1.1" } }, "xdg-basedir": { @@ -10073,24 +9810,23 @@ "dev": true }, "yargs": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", - "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz", + "integrity": "sha512-DqBpQ8NAUX4GyPP/ijDGHsJya4tYqLQrjPr95HNsr1YwL3+daCfvBwg7+gIC6IdJhR2kATh3hb61vjzMWEtjdw==", "dev": true, "requires": { - "camelcase": "4.1.0", "cliui": "3.2.0", "decamelize": "1.2.0", + "find-up": "2.1.0", "get-caller-file": "1.0.2", "os-locale": "2.1.0", - "read-pkg-up": "2.0.0", "require-directory": "2.1.1", "require-main-filename": "1.0.1", "set-blocking": "2.0.0", "string-width": "2.1.1", "which-module": "2.0.0", "y18n": "3.2.1", - "yargs-parser": "7.0.0" + "yargs-parser": "8.0.0" }, "dependencies": { "ansi-regex": { @@ -10127,9 +9863,9 @@ } }, "yargs-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", - "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz", + "integrity": "sha1-IdR2Mw5agieaS4gTRb8GYQLiGcY=", "dev": true, "requires": { "camelcase": "4.1.0" diff --git a/package.json b/package.json index dd9a2406..14fd77eb 100644 --- a/package.json +++ b/package.json @@ -22,13 +22,13 @@ "babel-plugin-transform-runtime": "^6.23.0", "babel-preset-env": "^1.6.1", "datastore-level": "~0.7.0", - "ipfs": "~0.26.0", - "ipfs-repo": "~0.18.3", + "ipfs": "~0.27.1", + "ipfs-repo": "~0.18.4", "mocha": "^4.0.1", - "orbit-db-keystore": "github:haadcode/orbit-db-keystore.git", + "orbit-db-keystore": "~0.0.2", "rimraf": "^2.6.1", - "uglifyjs-webpack-plugin": "~1.1.0", - "webpack": "^3.5.5" + "uglifyjs-webpack-plugin": "~1.1.2", + "webpack": "^3.10.0" }, "scripts": { "test": "mocha", diff --git a/test/replicate.spec.js b/test/replicate.spec.js index f80ad7be..495d5d39 100644 --- a/test/replicate.spec.js +++ b/test/replicate.spec.js @@ -96,13 +96,21 @@ apis.forEach((IPFS) => { processing -- } - beforeEach(async () => { + beforeEach((done) => { log1 = new Log(ipfs1, 'A') log2 = new Log(ipfs2, 'B') input1 = new Log(ipfs1, 'input1') input2 = new Log(ipfs2, 'input2') - await ipfs1.pubsub.subscribe(channel, handleMessage) - await ipfs2.pubsub.subscribe(channel, handleMessage2) + ipfs1.pubsub.subscribe(channel, handleMessage, (err) => { + if (err) + return done(err) + ipfs2.pubsub.subscribe(channel, handleMessage2, (err) => { + if (err) + done(err) + else + done() + }) + }) }) it('replicates logs', (done) => {