Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@waves/data-entities

Package Overview
Dependencies
Maintainers
16
Versions
39
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@waves/data-entities - npm Package Compare versions

Comparing version 1.10.1 to 2.0.0-a

2

dist/data-entities.min.js

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

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dataEntities=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var storage={remapAsset:function(data){return data},remapCandle:function(data){return data}};var config;(function(config){function get(key){return storage[key]}config.get=get;function set(key,value){if(typeof key==="string"){storage[key]=value}else{Object.keys(key).forEach(function(configKey){return set(configKey,key[configKey])})}}config.set=set})(config=exports.config||(exports.config={}))},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var config_1=require("../config");var utils_1=require("../utils");var Asset=function(){function Asset(assetObject){assetObject=config_1.config.get("remapAsset")(assetObject);this.quantity=utils_1.toBigNumber(assetObject.quantity);this.minSponsoredFee=utils_1.toBigNumber(assetObject.minSponsoredFee);this.ticker=assetObject.ticker||null;this.id=assetObject.id;this.name=assetObject.name;this.precision=assetObject.precision;this.description=assetObject.description;this.height=assetObject.height;this.timestamp=assetObject.timestamp;this.sender=assetObject.sender;this.reissuable=assetObject.reissuable;this.hasScript=assetObject.hasScript||false;this.displayName=assetObject.ticker||assetObject.name}Asset.prototype.toJSON=function(){return{ticker:this.ticker,id:this.id,name:this.name,precision:this.precision,description:this.description,height:this.height,timestamp:this.timestamp,sender:this.sender,quantity:this.quantity,reissuable:this.reissuable,hasScript:this.hasScript,minSponsoredFee:this.minSponsoredFee}};Asset.prototype.toString=function(){return this.id};Asset.isAsset=function(object){return object instanceof Asset};return Asset}();exports.Asset=Asset},{"../config":1,"../utils":9}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var AssetPair=function(){function AssetPair(amountAsset,priceAsset){this.amountAsset=amountAsset;this.priceAsset=priceAsset;this.precisionDifference=this.priceAsset.precision-this.amountAsset.precision}AssetPair.prototype.toJSON=function(){return{amountAsset:this.amountAsset.id,priceAsset:this.priceAsset.id}};AssetPair.prototype.toString=function(){return this.amountAsset+"/"+this.priceAsset};AssetPair.isAssetPair=function(object){return object instanceof AssetPair};return AssetPair}();exports.AssetPair=AssetPair},{}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var config_1=require("../config");var utils_1=require("../utils");var Candle=function(){function Candle(candleObject){var _this=this;candleObject=config_1.config.get("remapCandle")(candleObject);var bigNumbers=["open","close","high","low","volume","quoteVolume","weightedAveragePrice"];bigNumbers.forEach(function(key){return _this[key]=utils_1.toBigNumber(candleObject[key])});this.time=candleObject.time;this.maxHeight=candleObject.maxHeight;this.txsCount=candleObject.txsCount}Candle.prototype.toJSON=function(){return{time:this.time,open:this.open,close:this.close,high:this.high,low:this.low,volume:this.volume,quoteVolume:this.quoteVolume,weightedAveragePrice:this.weightedAveragePrice,maxHeight:this.maxHeight,txsCount:this.txsCount}};Candle.prototype.toString=function(){return"[object Candle]"};Candle.isCandle=function(object){return object instanceof Candle};return Candle}();exports.Candle=Candle},{"../config":1,"../utils":9}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("../libs/bignumber");var utils_1=require("../utils");var Money=function(){function Money(coins,asset){var divider=Money._getDivider(asset.precision);this.asset=asset;this._coins=utils_1.toBigNumber(coins).dp(0);this._tokens=this._coins.div(divider)}Money.prototype.getCoins=function(){return this._coins.plus(0)};Money.prototype.getTokens=function(){return this._tokens.plus(0)};Money.prototype.toCoins=function(){return this._coins.toFixed(0)};Money.prototype.toTokens=function(){return this._tokens.toFixed(this.asset.precision)};Money.prototype.toFormat=function(precision){return this._tokens.toFormat(precision)};Money.prototype.add=function(money){this._matchAssets(money);var inputCoins=money.getCoins();var result=this._coins.plus(inputCoins);return new Money(result,this.asset)};Money.prototype.plus=function(money){return this.add(money)};Money.prototype.sub=function(money){this._matchAssets(money);var inputCoins=money.getCoins();var result=this._coins.minus(inputCoins);return new Money(result,this.asset)};Money.prototype.minus=function(money){return this.sub(money)};Money.prototype.times=function(money){this._matchAssets(money);return new Money(this.getTokens().times(money.getTokens()),this.asset)};Money.prototype.div=function(money){this._matchAssets(money);return new Money(this.getTokens().div(money.getTokens()),this.asset)};Money.prototype.eq=function(money){this._matchAssets(money);return this._coins.eq(money.getCoins())};Money.prototype.lt=function(money){this._matchAssets(money);return this._coins.lt(money.getCoins())};Money.prototype.lte=function(money){this._matchAssets(money);return this._coins.lte(money.getCoins())};Money.prototype.gt=function(money){this._matchAssets(money);return this._coins.gt(money.getCoins())};Money.prototype.gte=function(money){this._matchAssets(money);return this._coins.gte(money.getCoins())};Money.prototype.safeSub=function(money){if(this.asset.id===money.asset.id){return this.sub(money)}return this};Money.prototype.toNonNegative=function(){if(this.getTokens().lt(0)){return this.cloneWithTokens(0)}return this};Money.prototype.cloneWithCoins=function(coins){return new Money(new bignumber_1.BigNumber(coins),this.asset)};Money.prototype.cloneWithTokens=function(tokens){var coins=Money._tokensToCoins(tokens,this.asset.precision);return new Money(coins,this.asset)};Money.prototype.convertTo=function(asset,exchangeRate){return Money.convert(this,asset,utils_1.toBigNumber(exchangeRate))};Money.prototype.toJSON=function(){return{assetId:this.asset.id,tokens:this.toTokens()}};Money.prototype.toString=function(){return this.toTokens()+" "+this.asset.id};Money.prototype._matchAssets=function(money){if(this.asset.id!==money.asset.id){throw new Error("You cannot apply arithmetic operations to Money created with different assets")}};Money.max=function(){var moneyList=[];for(var _i=0;_i<arguments.length;_i++){moneyList[_i]=arguments[_i]}return moneyList.reduce(function(max,money){return max.gte(money)?max:money})};Money.min=function(){var moneyList=[];for(var _i=0;_i<arguments.length;_i++){moneyList[_i]=arguments[_i]}return moneyList.reduce(function(min,money){return min.lte(money)?min:money})};Money.isMoney=function(object){return object instanceof Money};Money.convert=function(money,asset,exchangeRate){if(money.asset===asset){return money}else{var difference=money.asset.precision-asset.precision;var divider=new bignumber_1.BigNumber(10).pow(difference);var coins=money.getCoins();var result=coins.multipliedBy(exchangeRate).div(divider).toFixed(0,bignumber_1.BigNumber.ROUND_DOWN);return new Money(new bignumber_1.BigNumber(result),asset)}};Money.fromTokens=function(count,asset){var tokens=utils_1.toBigNumber(count);return new Money(tokens.times(new bignumber_1.BigNumber(10).pow(asset.precision)),asset)};Money.fromCoins=function(count,asset){return new Money(count,asset)};Money._tokensToCoins=function(tokens,precision){var divider=Money._getDivider(precision);tokens=new bignumber_1.BigNumber(tokens).toFixed(precision);return new bignumber_1.BigNumber(tokens).multipliedBy(divider)};Money._getDivider=function(precision){return new bignumber_1.BigNumber(10).pow(precision)};return Money}();exports.Money=Money},{"../libs/bignumber":8,"../utils":9}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("../libs/bignumber");var utils_1=require("../utils");var OrderPrice=function(){function OrderPrice(coins,pair){var divider=OrderPrice._getMatcherDivider(pair.precisionDifference);this.pair=pair;this._matcherCoins=coins;this._tokens=this._matcherCoins.div(divider)}OrderPrice.prototype.getMatcherCoins=function(){return this._matcherCoins.plus(0)};OrderPrice.prototype.getTokens=function(){return this._tokens.plus(0)};OrderPrice.prototype.toMatcherCoins=function(){return this._matcherCoins.toFixed(0)};OrderPrice.prototype.toTokens=function(){return this._tokens.toFixed(this.pair.priceAsset.precision)};OrderPrice.prototype.toFormat=function(){return this._tokens.toFormat(this.pair.priceAsset.precision)};OrderPrice.prototype.toJSON=function(){return{amountAssetId:this.pair.amountAsset.id,priceAssetId:this.pair.priceAsset.id,priceTokens:this.toTokens()}};OrderPrice.prototype.toString=function(){return this.toTokens()+" "+this.pair.amountAsset.id+"/"+this.pair.priceAsset.id};OrderPrice.fromMatcherCoins=function(coins,pair){OrderPrice._checkAmount(coins);return new OrderPrice(utils_1.toBigNumber(coins),pair)};OrderPrice.fromTokens=function(tokens,pair){OrderPrice._checkAmount(tokens);tokens=utils_1.toBigNumber(tokens).toFixed(pair.priceAsset.precision);var divider=OrderPrice._getMatcherDivider(pair.precisionDifference);var coins=new bignumber_1.BigNumber(tokens).times(divider);return new OrderPrice(coins,pair)};OrderPrice._getMatcherDivider=function(precision){return new bignumber_1.BigNumber(10).pow(precision).multipliedBy(OrderPrice._MATCHER_SCALE)};OrderPrice.isOrderPrice=function(object){return object instanceof OrderPrice};OrderPrice._checkAmount=function(amount){if(!(["string","number"].includes(typeof amount)||amount instanceof bignumber_1.BigNumber)){throw new Error("Please use strings to create instances of OrderPrice")}};OrderPrice._MATCHER_SCALE=new bignumber_1.BigNumber(10).pow(8);return OrderPrice}();exports.OrderPrice=OrderPrice},{"../libs/bignumber":8,"../utils":9}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("./libs/bignumber");exports.BigNumber=bignumber_1.BigNumber;var Asset_1=require("./entities/Asset");exports.Asset=Asset_1.Asset;var Candle_1=require("./entities/Candle");exports.Candle=Candle_1.Candle;var Money_1=require("./entities/Money");exports.Money=Money_1.Money;var OrderPrice_1=require("./entities/OrderPrice");exports.OrderPrice=OrderPrice_1.OrderPrice;var AssetPair_1=require("./entities/AssetPair");exports.AssetPair=AssetPair_1.AssetPair;var config_1=require("./config");exports.config=config_1.config},{"./config":1,"./entities/Asset":2,"./entities/AssetPair":3,"./entities/Candle":4,"./entities/Money":5,"./entities/OrderPrice":6,"./libs/bignumber":8}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_js_1=require("bignumber.js");exports.BigNumber=bignumber_js_1.default;bignumber_js_1.default.config({ROUNDING_MODE:bignumber_js_1.default.ROUND_DOWN})},{"bignumber.js":10}],9:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("./libs/bignumber");function toBigNumber(some){return some instanceof bignumber_1.BigNumber?some:new bignumber_1.BigNumber(some)}exports.toBigNumber=toBigNumber},{"./libs/bignumber":8}],10:[function(require,module,exports){(function(globalObject){"use strict";var BigNumber,isNumeric=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,mathceil=Math.ceil,mathfloor=Math.floor,bignumberError="[BigNumber Error] ",tooManyDigits=bignumberError+"Number primitive has more than 15 significant digits: ",BASE=1e14,LOG_BASE=14,MAX_SAFE_INTEGER=9007199254740991,POWS_TEN=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],SQRT_BASE=1e7,MAX=1e9;function clone(configObject){var div,convertBase,parseNumeric,P=BigNumber.prototype={constructor:BigNumber,toString:null,valueOf:null},ONE=new BigNumber(1),DECIMAL_PLACES=20,ROUNDING_MODE=4,TO_EXP_NEG=-7,TO_EXP_POS=21,MIN_EXP=-1e7,MAX_EXP=1e7,CRYPTO=false,MODULO_MODE=1,POW_PRECISION=0,FORMAT={decimalSeparator:".",groupSeparator:",",groupSize:3,secondaryGroupSize:0,fractionGroupSeparator:" ",fractionGroupSize:0},ALPHABET="0123456789abcdefghijklmnopqrstuvwxyz";function BigNumber(n,b){var alphabet,c,e,i,isNum,len,str,x=this;if(!(x instanceof BigNumber)){return new BigNumber(n,b)}if(b==null){if(n instanceof BigNumber){x.s=n.s;x.e=n.e;x.c=(n=n.c)?n.slice():n;return}isNum=typeof n=="number";if(isNum&&n*0==0){x.s=1/n<0?(n=-n,-1):1;if(n===~~n){for(e=0,i=n;i>=10;i/=10,e++);x.e=e;x.c=[n];return}str=n+""}else{if(!isNumeric.test(str=n+""))return parseNumeric(x,str,isNum);x.s=str.charCodeAt(0)==45?(str=str.slice(1),-1):1}}else{intCheck(b,2,ALPHABET.length,"Base");str=n+"";if(b==10){x=new BigNumber(n instanceof BigNumber?n:str);return round(x,DECIMAL_PLACES+x.e+1,ROUNDING_MODE)}isNum=typeof n=="number";if(isNum){if(n*0!=0)return parseNumeric(x,str,isNum,b);x.s=1/n<0?(str=str.slice(1),-1):1;if(BigNumber.DEBUG&&str.replace(/^0\.0*|\./,"").length>15){throw Error(tooManyDigits+n)}isNum=false}else{x.s=str.charCodeAt(0)===45?(str=str.slice(1),-1):1;if(b>10&&b<37)str=str.toLowerCase()}alphabet=ALPHABET.slice(0,b);e=i=0;for(len=str.length;i<len;i++){if(alphabet.indexOf(c=str.charAt(i))<0){if(c=="."){if(i>e){e=len;continue}}return parseNumeric(x,n+"",isNum,b)}}str=convertBase(str,b,10,x.s)}if((e=str.indexOf("."))>-1)str=str.replace(".","");if((i=str.search(/e/i))>0){if(e<0)e=i;e+=+str.slice(i+1);str=str.substring(0,i)}else if(e<0){e=str.length}for(i=0;str.charCodeAt(i)===48;i++);for(len=str.length;str.charCodeAt(--len)===48;);str=str.slice(i,++len);if(str){len-=i;if(isNum&&BigNumber.DEBUG&&len>15&&(n>MAX_SAFE_INTEGER||n!==mathfloor(n))){throw Error(tooManyDigits+x.s*n)}e=e-i-1;if(e>MAX_EXP){x.c=x.e=null}else if(e<MIN_EXP){x.c=[x.e=0]}else{x.e=e;x.c=[];i=(e+1)%LOG_BASE;if(e<0)i+=LOG_BASE;if(i<len){if(i)x.c.push(+str.slice(0,i));for(len-=LOG_BASE;i<len;){x.c.push(+str.slice(i,i+=LOG_BASE))}str=str.slice(i);i=LOG_BASE-str.length}else{i-=len}for(;i--;str+="0");x.c.push(+str)}}else{x.c=[x.e=0]}}BigNumber.clone=clone;BigNumber.ROUND_UP=0;BigNumber.ROUND_DOWN=1;BigNumber.ROUND_CEIL=2;BigNumber.ROUND_FLOOR=3;BigNumber.ROUND_HALF_UP=4;BigNumber.ROUND_HALF_DOWN=5;BigNumber.ROUND_HALF_EVEN=6;BigNumber.ROUND_HALF_CEIL=7;BigNumber.ROUND_HALF_FLOOR=8;BigNumber.EUCLID=9;BigNumber.config=BigNumber.set=function(obj){var p,v;if(obj!=null){if(typeof obj=="object"){if(obj.hasOwnProperty(p="DECIMAL_PLACES")){v=obj[p];intCheck(v,0,MAX,p);DECIMAL_PLACES=v}if(obj.hasOwnProperty(p="ROUNDING_MODE")){v=obj[p];intCheck(v,0,8,p);ROUNDING_MODE=v}if(obj.hasOwnProperty(p="EXPONENTIAL_AT")){v=obj[p];if(isArray(v)){intCheck(v[0],-MAX,0,p);intCheck(v[1],0,MAX,p);TO_EXP_NEG=v[0];TO_EXP_POS=v[1]}else{intCheck(v,-MAX,MAX,p);TO_EXP_NEG=-(TO_EXP_POS=v<0?-v:v)}}if(obj.hasOwnProperty(p="RANGE")){v=obj[p];if(isArray(v)){intCheck(v[0],-MAX,-1,p);intCheck(v[1],1,MAX,p);MIN_EXP=v[0];MAX_EXP=v[1]}else{intCheck(v,-MAX,MAX,p);if(v){MIN_EXP=-(MAX_EXP=v<0?-v:v)}else{throw Error(bignumberError+p+" cannot be zero: "+v)}}}if(obj.hasOwnProperty(p="CRYPTO")){v=obj[p];if(v===!!v){if(v){if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes)){CRYPTO=v}else{CRYPTO=!v;throw Error(bignumberError+"crypto unavailable")}}else{CRYPTO=v}}else{throw Error(bignumberError+p+" not true or false: "+v)}}if(obj.hasOwnProperty(p="MODULO_MODE")){v=obj[p];intCheck(v,0,9,p);MODULO_MODE=v}if(obj.hasOwnProperty(p="POW_PRECISION")){v=obj[p];intCheck(v,0,MAX,p);POW_PRECISION=v}if(obj.hasOwnProperty(p="FORMAT")){v=obj[p];if(typeof v=="object")FORMAT=v;else throw Error(bignumberError+p+" not an object: "+v)}if(obj.hasOwnProperty(p="ALPHABET")){v=obj[p];if(typeof v=="string"&&!/^.$|\.|(.).*\1/.test(v)){ALPHABET=v}else{throw Error(bignumberError+p+" invalid: "+v)}}}else{throw Error(bignumberError+"Object expected: "+obj)}}return{DECIMAL_PLACES:DECIMAL_PLACES,ROUNDING_MODE:ROUNDING_MODE,EXPONENTIAL_AT:[TO_EXP_NEG,TO_EXP_POS],RANGE:[MIN_EXP,MAX_EXP],CRYPTO:CRYPTO,MODULO_MODE:MODULO_MODE,POW_PRECISION:POW_PRECISION,FORMAT:FORMAT,ALPHABET:ALPHABET}};BigNumber.isBigNumber=function(v){return v instanceof BigNumber||v&&v._isBigNumber===true||false};BigNumber.maximum=BigNumber.max=function(){return maxOrMin(arguments,P.lt)};BigNumber.minimum=BigNumber.min=function(){return maxOrMin(arguments,P.gt)};BigNumber.random=function(){var pow2_53=9007199254740992;var random53bitInt=Math.random()*pow2_53&2097151?function(){return mathfloor(Math.random()*pow2_53)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(dp){var a,b,e,k,v,i=0,c=[],rand=new BigNumber(ONE);if(dp==null)dp=DECIMAL_PLACES;else intCheck(dp,0,MAX);k=mathceil(dp/LOG_BASE);if(CRYPTO){if(crypto.getRandomValues){a=crypto.getRandomValues(new Uint32Array(k*=2));for(;i<k;){v=a[i]*131072+(a[i+1]>>>11);if(v>=9e15){b=crypto.getRandomValues(new Uint32Array(2));a[i]=b[0];a[i+1]=b[1]}else{c.push(v%1e14);i+=2}}i=k/2}else if(crypto.randomBytes){a=crypto.randomBytes(k*=7);for(;i<k;){v=(a[i]&31)*281474976710656+a[i+1]*1099511627776+a[i+2]*4294967296+a[i+3]*16777216+(a[i+4]<<16)+(a[i+5]<<8)+a[i+6];if(v>=9e15){crypto.randomBytes(7).copy(a,i)}else{c.push(v%1e14);i+=7}}i=k/7}else{CRYPTO=false;throw Error(bignumberError+"crypto unavailable")}}if(!CRYPTO){for(;i<k;){v=random53bitInt();if(v<9e15)c[i++]=v%1e14}}k=c[--i];dp%=LOG_BASE;if(k&&dp){v=POWS_TEN[LOG_BASE-dp];c[i]=mathfloor(k/v)*v}for(;c[i]===0;c.pop(),i--);if(i<0){c=[e=0]}else{for(e=-1;c[0]===0;c.splice(0,1),e-=LOG_BASE);for(i=1,v=c[0];v>=10;v/=10,i++);if(i<LOG_BASE)e-=LOG_BASE-i}rand.e=e;rand.c=c;return rand}}();convertBase=function(){var decimal="0123456789";function toBaseOut(str,baseIn,baseOut,alphabet){var j,arr=[0],arrL,i=0,len=str.length;for(;i<len;){for(arrL=arr.length;arrL--;arr[arrL]*=baseIn);arr[0]+=alphabet.indexOf(str.charAt(i++));for(j=0;j<arr.length;j++){if(arr[j]>baseOut-1){if(arr[j+1]==null)arr[j+1]=0;arr[j+1]+=arr[j]/baseOut|0;arr[j]%=baseOut}}}return arr.reverse()}return function(str,baseIn,baseOut,sign,callerIsToString){var alphabet,d,e,k,r,x,xc,y,i=str.indexOf("."),dp=DECIMAL_PLACES,rm=ROUNDING_MODE;if(i>=0){k=POW_PRECISION;POW_PRECISION=0;str=str.replace(".","");y=new BigNumber(baseIn);x=y.pow(str.length-i);POW_PRECISION=k;y.c=toBaseOut(toFixedPoint(coeffToString(x.c),x.e,"0"),10,baseOut,decimal);y.e=y.c.length}xc=toBaseOut(str,baseIn,baseOut,callerIsToString?(alphabet=ALPHABET,decimal):(alphabet=decimal,ALPHABET));e=k=xc.length;for(;xc[--k]==0;xc.pop());if(!xc[0])return alphabet.charAt(0);if(i<0){--e}else{x.c=xc;x.e=e;x.s=sign;x=div(x,y,dp,rm,baseOut);xc=x.c;r=x.r;e=x.e}d=e+dp+1;i=xc[d];k=baseOut/2;r=r||d<0||xc[d+1]!=null;r=rm<4?(i!=null||r)&&(rm==0||rm==(x.s<0?3:2)):i>k||i==k&&(rm==4||r||rm==6&&xc[d-1]&1||rm==(x.s<0?8:7));if(d<1||!xc[0]){str=r?toFixedPoint(alphabet.charAt(1),-dp,alphabet.charAt(0)):alphabet.charAt(0)}else{xc.length=d;if(r){for(--baseOut;++xc[--d]>baseOut;){xc[d]=0;if(!d){++e;xc=[1].concat(xc)}}}for(k=xc.length;!xc[--k];);for(i=0,str="";i<=k;str+=alphabet.charAt(xc[i++]));str=toFixedPoint(str,e,alphabet.charAt(0))}return str}}();div=function(){function multiply(x,k,base){var m,temp,xlo,xhi,carry=0,i=x.length,klo=k%SQRT_BASE,khi=k/SQRT_BASE|0;for(x=x.slice();i--;){xlo=x[i]%SQRT_BASE;xhi=x[i]/SQRT_BASE|0;m=khi*xlo+xhi*klo;temp=klo*xlo+m%SQRT_BASE*SQRT_BASE+carry;carry=(temp/base|0)+(m/SQRT_BASE|0)+khi*xhi;x[i]=temp%base}if(carry)x=[carry].concat(x);return x}function compare(a,b,aL,bL){var i,cmp;if(aL!=bL){cmp=aL>bL?1:-1}else{for(i=cmp=0;i<aL;i++){if(a[i]!=b[i]){cmp=a[i]>b[i]?1:-1;break}}}return cmp}function subtract(a,b,aL,base){var i=0;for(;aL--;){a[aL]-=i;i=a[aL]<b[aL]?1:0;a[aL]=i*base+a[aL]-b[aL]}for(;!a[0]&&a.length>1;a.splice(0,1));}return function(x,y,dp,rm,base){var cmp,e,i,more,n,prod,prodL,q,qc,rem,remL,rem0,xi,xL,yc0,yL,yz,s=x.s==y.s?1:-1,xc=x.c,yc=y.c;if(!xc||!xc[0]||!yc||!yc[0]){return new BigNumber(!x.s||!y.s||(xc?yc&&xc[0]==yc[0]:!yc)?NaN:xc&&xc[0]==0||!yc?s*0:s/0)}q=new BigNumber(s);qc=q.c=[];e=x.e-y.e;s=dp+e+1;if(!base){base=BASE;e=bitFloor(x.e/LOG_BASE)-bitFloor(y.e/LOG_BASE);s=s/LOG_BASE|0}for(i=0;yc[i]==(xc[i]||0);i++);if(yc[i]>(xc[i]||0))e--;if(s<0){qc.push(1);more=true}else{xL=xc.length;yL=yc.length;i=0;s+=2;n=mathfloor(base/(yc[0]+1));if(n>1){yc=multiply(yc,n,base);xc=multiply(xc,n,base);yL=yc.length;xL=xc.length}xi=yL;rem=xc.slice(0,yL);remL=rem.length;for(;remL<yL;rem[remL++]=0);yz=yc.slice();yz=[0].concat(yz);yc0=yc[0];if(yc[1]>=base/2)yc0++;do{n=0;cmp=compare(yc,rem,yL,remL);if(cmp<0){rem0=rem[0];if(yL!=remL)rem0=rem0*base+(rem[1]||0);n=mathfloor(rem0/yc0);if(n>1){if(n>=base)n=base-1;prod=multiply(yc,n,base);prodL=prod.length;remL=rem.length;while(compare(prod,rem,prodL,remL)==1){n--;subtract(prod,yL<prodL?yz:yc,prodL,base);prodL=prod.length;cmp=1}}else{if(n==0){cmp=n=1}prod=yc.slice();prodL=prod.length}if(prodL<remL)prod=[0].concat(prod);subtract(rem,prod,remL,base);remL=rem.length;if(cmp==-1){while(compare(yc,rem,yL,remL)<1){n++;subtract(rem,yL<remL?yz:yc,remL,base);remL=rem.length}}}else if(cmp===0){n++;rem=[0]}qc[i++]=n;if(rem[0]){rem[remL++]=xc[xi]||0}else{rem=[xc[xi]];remL=1}}while((xi++<xL||rem[0]!=null)&&s--);more=rem[0]!=null;if(!qc[0])qc.splice(0,1)}if(base==BASE){for(i=1,s=qc[0];s>=10;s/=10,i++);round(q,dp+(q.e=i+e*LOG_BASE-1)+1,rm,more)}else{q.e=e;q.r=+more}return q}}();function format(n,i,rm,id){var c0,e,ne,len,str;if(rm==null)rm=ROUNDING_MODE;else intCheck(rm,0,8);if(!n.c)return n.toString();c0=n.c[0];ne=n.e;if(i==null){str=coeffToString(n.c);str=id==1||id==2&&ne<=TO_EXP_NEG?toExponential(str,ne):toFixedPoint(str,ne,"0")}else{n=round(new BigNumber(n),i,rm);e=n.e;str=coeffToString(n.c);len=str.length;if(id==1||id==2&&(i<=e||e<=TO_EXP_NEG)){for(;len<i;str+="0",len++);str=toExponential(str,e)}else{i-=ne;str=toFixedPoint(str,e,"0");if(e+1>len){if(--i>0)for(str+=".";i--;str+="0");}else{i+=e-len;if(i>0){if(e+1==len)str+=".";for(;i--;str+="0");}}}}return n.s<0&&c0?"-"+str:str}function maxOrMin(args,method){var m,n,i=0;if(isArray(args[0]))args=args[0];m=new BigNumber(args[0]);for(;++i<args.length;){n=new BigNumber(args[i]);if(!n.s){m=n;break}else if(method.call(m,n)){m=n}}return m}function normalise(n,c,e){var i=1,j=c.length;for(;!c[--j];c.pop());for(j=c[0];j>=10;j/=10,i++);if((e=i+e*LOG_BASE-1)>MAX_EXP){n.c=n.e=null}else if(e<MIN_EXP){n.c=[n.e=0]}else{n.e=e;n.c=c}return n}parseNumeric=function(){var basePrefix=/^(-?)0([xbo])(?=\w[\w.]*$)/i,dotAfter=/^([^.]+)\.$/,dotBefore=/^\.([^.]+)$/,isInfinityOrNaN=/^-?(Infinity|NaN)$/,whitespaceOrPlus=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(x,str,isNum,b){var base,s=isNum?str:str.replace(whitespaceOrPlus,"");if(isInfinityOrNaN.test(s)){x.s=isNaN(s)?null:s<0?-1:1;x.c=x.e=null}else{if(!isNum){s=s.replace(basePrefix,function(m,p1,p2){base=(p2=p2.toLowerCase())=="x"?16:p2=="b"?2:8;return!b||b==base?p1:m});if(b){base=b;s=s.replace(dotAfter,"$1").replace(dotBefore,"0.$1")}if(str!=s)return new BigNumber(s,base)}if(BigNumber.DEBUG){throw Error(bignumberError+"Not a"+(b?" base "+b:"")+" number: "+str)}x.c=x.e=x.s=null}}}();function round(x,sd,rm,r){var d,i,j,k,n,ni,rd,xc=x.c,pows10=POWS_TEN;if(xc){out:{for(d=1,k=xc[0];k>=10;k/=10,d++);i=sd-d;if(i<0){i+=LOG_BASE;j=sd;n=xc[ni=0];rd=n/pows10[d-j-1]%10|0}else{ni=mathceil((i+1)/LOG_BASE);if(ni>=xc.length){if(r){for(;xc.length<=ni;xc.push(0));n=rd=0;d=1;i%=LOG_BASE;j=i-LOG_BASE+1}else{break out}}else{n=k=xc[ni];for(d=1;k>=10;k/=10,d++);i%=LOG_BASE;j=i-LOG_BASE+d;rd=j<0?0:n/pows10[d-j-1]%10|0}}r=r||sd<0||xc[ni+1]!=null||(j<0?n:n%pows10[d-j-1]);r=rm<4?(rd||r)&&(rm==0||rm==(x.s<0?3:2)):rd>5||rd==5&&(rm==4||r||rm==6&&(i>0?j>0?n/pows10[d-j]:0:xc[ni-1])%10&1||rm==(x.s<0?8:7));if(sd<1||!xc[0]){xc.length=0;if(r){sd-=x.e+1;xc[0]=pows10[(LOG_BASE-sd%LOG_BASE)%LOG_BASE];x.e=-sd||0}else{xc[0]=x.e=0}return x}if(i==0){xc.length=ni;k=1;ni--}else{xc.length=ni+1;k=pows10[LOG_BASE-i];xc[ni]=j>0?mathfloor(n/pows10[d-j]%pows10[j])*k:0}if(r){for(;;){if(ni==0){for(i=1,j=xc[0];j>=10;j/=10,i++);j=xc[0]+=k;for(k=1;j>=10;j/=10,k++);if(i!=k){x.e++;if(xc[0]==BASE)xc[0]=1}break}else{xc[ni]+=k;if(xc[ni]!=BASE)break;xc[ni--]=0;k=1}}}for(i=xc.length;xc[--i]===0;xc.pop());}if(x.e>MAX_EXP){x.c=x.e=null}else if(x.e<MIN_EXP){x.c=[x.e=0]}}return x}P.absoluteValue=P.abs=function(){var x=new BigNumber(this);if(x.s<0)x.s=1;return x};P.comparedTo=function(y,b){return compare(this,new BigNumber(y,b))};P.decimalPlaces=P.dp=function(dp,rm){var c,n,v,x=this;if(dp!=null){intCheck(dp,0,MAX);if(rm==null)rm=ROUNDING_MODE;else intCheck(rm,0,8);return round(new BigNumber(x),dp+x.e+1,rm)}if(!(c=x.c))return null;n=((v=c.length-1)-bitFloor(this.e/LOG_BASE))*LOG_BASE;if(v=c[v])for(;v%10==0;v/=10,n--);if(n<0)n=0;return n};P.dividedBy=P.div=function(y,b){return div(this,new BigNumber(y,b),DECIMAL_PLACES,ROUNDING_MODE)};P.dividedToIntegerBy=P.idiv=function(y,b){return div(this,new BigNumber(y,b),0,1)};P.exponentiatedBy=P.pow=function(n,m){var half,isModExp,k,more,nIsBig,nIsNeg,nIsOdd,y,x=this;n=new BigNumber(n);if(n.c&&!n.isInteger()){throw Error(bignumberError+"Exponent not an integer: "+n)}if(m!=null)m=new BigNumber(m);nIsBig=n.e>14;if(!x.c||!x.c[0]||x.c[0]==1&&!x.e&&x.c.length==1||!n.c||!n.c[0]){y=new BigNumber(Math.pow(+x.valueOf(),nIsBig?2-isOdd(n):+n));return m?y.mod(m):y}nIsNeg=n.s<0;if(m){if(m.c?!m.c[0]:!m.s)return new BigNumber(NaN);isModExp=!nIsNeg&&x.isInteger()&&m.isInteger();if(isModExp)x=x.mod(m)}else if(n.e>9&&(x.e>0||x.e<-1||(x.e==0?x.c[0]>1||nIsBig&&x.c[1]>=24e7:x.c[0]<8e13||nIsBig&&x.c[0]<=9999975e7))){k=x.s<0&&isOdd(n)?-0:0;if(x.e>-1)k=1/k;return new BigNumber(nIsNeg?1/k:k)}else if(POW_PRECISION){k=mathceil(POW_PRECISION/LOG_BASE+2)}if(nIsBig){half=new BigNumber(.5);nIsOdd=isOdd(n)}else{nIsOdd=n%2}if(nIsNeg)n.s=1;y=new BigNumber(ONE);for(;;){if(nIsOdd){y=y.times(x);if(!y.c)break;if(k){if(y.c.length>k)y.c.length=k}else if(isModExp){y=y.mod(m)}}if(nIsBig){n=n.times(half);round(n,n.e+1,1);if(!n.c[0])break;nIsBig=n.e>14;nIsOdd=isOdd(n)}else{n=mathfloor(n/2);if(!n)break;nIsOdd=n%2}x=x.times(x);if(k){if(x.c&&x.c.length>k)x.c.length=k}else if(isModExp){x=x.mod(m)}}if(isModExp)return y;if(nIsNeg)y=ONE.div(y);return m?y.mod(m):k?round(y,POW_PRECISION,ROUNDING_MODE,more):y};P.integerValue=function(rm){var n=new BigNumber(this);if(rm==null)rm=ROUNDING_MODE;else intCheck(rm,0,8);return round(n,n.e+1,rm)};P.isEqualTo=P.eq=function(y,b){return compare(this,new BigNumber(y,b))===0};P.isFinite=function(){return!!this.c};P.isGreaterThan=P.gt=function(y,b){return compare(this,new BigNumber(y,b))>0};P.isGreaterThanOrEqualTo=P.gte=function(y,b){return(b=compare(this,new BigNumber(y,b)))===1||b===0};P.isInteger=function(){return!!this.c&&bitFloor(this.e/LOG_BASE)>this.c.length-2};P.isLessThan=P.lt=function(y,b){return compare(this,new BigNumber(y,b))<0};P.isLessThanOrEqualTo=P.lte=function(y,b){return(b=compare(this,new BigNumber(y,b)))===-1||b===0};P.isNaN=function(){return!this.s};P.isNegative=function(){return this.s<0};P.isPositive=function(){return this.s>0};P.isZero=function(){return!!this.c&&this.c[0]==0};P.minus=function(y,b){var i,j,t,xLTy,x=this,a=x.s;y=new BigNumber(y,b);b=y.s;if(!a||!b)return new BigNumber(NaN);if(a!=b){y.s=-b;return x.plus(y)}var xe=x.e/LOG_BASE,ye=y.e/LOG_BASE,xc=x.c,yc=y.c;if(!xe||!ye){if(!xc||!yc)return xc?(y.s=-b,y):new BigNumber(yc?x:NaN);if(!xc[0]||!yc[0]){return yc[0]?(y.s=-b,y):new BigNumber(xc[0]?x:ROUNDING_MODE==3?-0:0)}}xe=bitFloor(xe);ye=bitFloor(ye);xc=xc.slice();if(a=xe-ye){if(xLTy=a<0){a=-a;t=xc}else{ye=xe;t=yc}t.reverse();for(b=a;b--;t.push(0));t.reverse()}else{j=(xLTy=(a=xc.length)<(b=yc.length))?a:b;for(a=b=0;b<j;b++){if(xc[b]!=yc[b]){xLTy=xc[b]<yc[b];break}}}if(xLTy)t=xc,xc=yc,yc=t,y.s=-y.s;b=(j=yc.length)-(i=xc.length);if(b>0)for(;b--;xc[i++]=0);b=BASE-1;for(;j>a;){if(xc[--j]<yc[j]){for(i=j;i&&!xc[--i];xc[i]=b);--xc[i];xc[j]+=BASE}xc[j]-=yc[j]}for(;xc[0]==0;xc.splice(0,1),--ye);if(!xc[0]){y.s=ROUNDING_MODE==3?-1:1;y.c=[y.e=0];return y}return normalise(y,xc,ye)};P.modulo=P.mod=function(y,b){var q,s,x=this;y=new BigNumber(y,b);if(!x.c||!y.s||y.c&&!y.c[0]){return new BigNumber(NaN)}else if(!y.c||x.c&&!x.c[0]){return new BigNumber(x)}if(MODULO_MODE==9){s=y.s;y.s=1;q=div(x,y,0,3);y.s=s;q.s*=s}else{q=div(x,y,0,MODULO_MODE)}y=x.minus(q.times(y));if(!y.c[0]&&MODULO_MODE==1)y.s=x.s;return y};P.multipliedBy=P.times=function(y,b){var c,e,i,j,k,m,xcL,xlo,xhi,ycL,ylo,yhi,zc,base,sqrtBase,x=this,xc=x.c,yc=(y=new BigNumber(y,b)).c;if(!xc||!yc||!xc[0]||!yc[0]){if(!x.s||!y.s||xc&&!xc[0]&&!yc||yc&&!yc[0]&&!xc){y.c=y.e=y.s=null}else{y.s*=x.s;if(!xc||!yc){y.c=y.e=null}else{y.c=[0];y.e=0}}return y}e=bitFloor(x.e/LOG_BASE)+bitFloor(y.e/LOG_BASE);y.s*=x.s;xcL=xc.length;ycL=yc.length;if(xcL<ycL)zc=xc,xc=yc,yc=zc,i=xcL,xcL=ycL,ycL=i;for(i=xcL+ycL,zc=[];i--;zc.push(0));base=BASE;sqrtBase=SQRT_BASE;for(i=ycL;--i>=0;){c=0;ylo=yc[i]%sqrtBase;yhi=yc[i]/sqrtBase|0;for(k=xcL,j=i+k;j>i;){xlo=xc[--k]%sqrtBase;xhi=xc[k]/sqrtBase|0;m=yhi*xlo+xhi*ylo;xlo=ylo*xlo+m%sqrtBase*sqrtBase+zc[j]+c;c=(xlo/base|0)+(m/sqrtBase|0)+yhi*xhi;zc[j--]=xlo%base}zc[j]=c}if(c){++e}else{zc.splice(0,1)}return normalise(y,zc,e)};P.negated=function(){var x=new BigNumber(this);x.s=-x.s||null;return x};P.plus=function(y,b){var t,x=this,a=x.s;y=new BigNumber(y,b);b=y.s;if(!a||!b)return new BigNumber(NaN);if(a!=b){y.s=-b;return x.minus(y)}var xe=x.e/LOG_BASE,ye=y.e/LOG_BASE,xc=x.c,yc=y.c;if(!xe||!ye){if(!xc||!yc)return new BigNumber(a/0);if(!xc[0]||!yc[0])return yc[0]?y:new BigNumber(xc[0]?x:a*0)}xe=bitFloor(xe);ye=bitFloor(ye);xc=xc.slice();if(a=xe-ye){if(a>0){ye=xe;t=yc}else{a=-a;t=xc}t.reverse();for(;a--;t.push(0));t.reverse()}a=xc.length;b=yc.length;if(a-b<0)t=yc,yc=xc,xc=t,b=a;for(a=0;b;){a=(xc[--b]=xc[b]+yc[b]+a)/BASE|0;xc[b]=BASE===xc[b]?0:xc[b]%BASE}if(a){xc=[a].concat(xc);++ye}return normalise(y,xc,ye)};P.precision=P.sd=function(sd,rm){var c,n,v,x=this;if(sd!=null&&sd!==!!sd){intCheck(sd,1,MAX);if(rm==null)rm=ROUNDING_MODE;else intCheck(rm,0,8);return round(new BigNumber(x),sd,rm)}if(!(c=x.c))return null;v=c.length-1;n=v*LOG_BASE+1;if(v=c[v]){for(;v%10==0;v/=10,n--);for(v=c[0];v>=10;v/=10,n++);}if(sd&&x.e+1>n)n=x.e+1;return n};P.shiftedBy=function(k){intCheck(k,-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER);return this.times("1e"+k)};P.squareRoot=P.sqrt=function(){var m,n,r,rep,t,x=this,c=x.c,s=x.s,e=x.e,dp=DECIMAL_PLACES+4,half=new BigNumber("0.5");if(s!==1||!c||!c[0]){return new BigNumber(!s||s<0&&(!c||c[0])?NaN:c?x:1/0)}s=Math.sqrt(+x);if(s==0||s==1/0){n=coeffToString(c);if((n.length+e)%2==0)n+="0";s=Math.sqrt(n);e=bitFloor((e+1)/2)-(e<0||e%2);if(s==1/0){n="1e"+e}else{n=s.toExponential();n=n.slice(0,n.indexOf("e")+1)+e}r=new BigNumber(n)}else{r=new BigNumber(s+"")}if(r.c[0]){e=r.e;s=e+dp;if(s<3)s=0;for(;;){t=r;r=half.times(t.plus(div(x,t,dp,1)));if(coeffToString(t.c).slice(0,s)===(n=coeffToString(r.c)).slice(0,s)){if(r.e<e)--s;n=n.slice(s-3,s+1);if(n=="9999"||!rep&&n=="4999"){if(!rep){round(t,t.e+DECIMAL_PLACES+2,0);if(t.times(t).eq(x)){r=t;break}}dp+=4;s+=4;rep=1}else{if(!+n||!+n.slice(1)&&n.charAt(0)=="5"){round(r,r.e+DECIMAL_PLACES+2,1);m=!r.times(r).eq(x)}break}}}}return round(r,r.e+DECIMAL_PLACES+1,ROUNDING_MODE,m)};P.toExponential=function(dp,rm){if(dp!=null){intCheck(dp,0,MAX);dp++}return format(this,dp,rm,1)};P.toFixed=function(dp,rm){if(dp!=null){intCheck(dp,0,MAX);dp=dp+this.e+1}return format(this,dp,rm)};P.toFormat=function(dp,rm){var str=this.toFixed(dp,rm);if(this.c){var i,arr=str.split("."),g1=+FORMAT.groupSize,g2=+FORMAT.secondaryGroupSize,groupSeparator=FORMAT.groupSeparator,intPart=arr[0],fractionPart=arr[1],isNeg=this.s<0,intDigits=isNeg?intPart.slice(1):intPart,len=intDigits.length;if(g2)i=g1,g1=g2,g2=i,len-=i;if(g1>0&&len>0){i=len%g1||g1;intPart=intDigits.substr(0,i);for(;i<len;i+=g1){intPart+=groupSeparator+intDigits.substr(i,g1)}if(g2>0)intPart+=groupSeparator+intDigits.slice(i);if(isNeg)intPart="-"+intPart}str=fractionPart?intPart+FORMAT.decimalSeparator+((g2=+FORMAT.fractionGroupSize)?fractionPart.replace(new RegExp("\\d{"+g2+"}\\B","g"),"$&"+FORMAT.fractionGroupSeparator):fractionPart):intPart}return str};P.toFraction=function(md){var arr,d,d0,d1,d2,e,exp,n,n0,n1,q,s,x=this,xc=x.c;if(md!=null){n=new BigNumber(md);if(!n.isInteger()&&(n.c||n.s!==1)||n.lt(ONE)){throw Error(bignumberError+"Argument "+(n.isInteger()?"out of range: ":"not an integer: ")+md)}}if(!xc)return x.toString();d=new BigNumber(ONE);n1=d0=new BigNumber(ONE);d1=n0=new BigNumber(ONE);s=coeffToString(xc);e=d.e=s.length-x.e-1;d.c[0]=POWS_TEN[(exp=e%LOG_BASE)<0?LOG_BASE+exp:exp];md=!md||n.comparedTo(d)>0?e>0?d:n1:n;exp=MAX_EXP;MAX_EXP=1/0;n=new BigNumber(s);n0.c[0]=0;for(;;){q=div(n,d,0,1);d2=d0.plus(q.times(d1));if(d2.comparedTo(md)==1)break;d0=d1;d1=d2;n1=n0.plus(q.times(d2=n1));n0=d2;d=n.minus(q.times(d2=d));n=d2}d2=div(md.minus(d0),d1,0,1);n0=n0.plus(d2.times(n1));d0=d0.plus(d2.times(d1));n0.s=n1.s=x.s;e*=2;arr=div(n1,d1,e,ROUNDING_MODE).minus(x).abs().comparedTo(div(n0,d0,e,ROUNDING_MODE).minus(x).abs())<1?[n1.toString(),d1.toString()]:[n0.toString(),d0.toString()];MAX_EXP=exp;return arr};P.toNumber=function(){return+this};P.toPrecision=function(sd,rm){if(sd!=null)intCheck(sd,1,MAX);return format(this,sd,rm,2)};P.toString=function(b){var str,n=this,s=n.s,e=n.e;if(e===null){if(s){str="Infinity";if(s<0)str="-"+str}else{str="NaN"}}else{str=coeffToString(n.c);if(b==null){str=e<=TO_EXP_NEG||e>=TO_EXP_POS?toExponential(str,e):toFixedPoint(str,e,"0")}else{intCheck(b,2,ALPHABET.length,"Base");str=convertBase(toFixedPoint(str,e,"0"),10,b,s,true)}if(s<0&&n.c[0])str="-"+str}return str};P.valueOf=P.toJSON=function(){var str,n=this,e=n.e;if(e===null)return n.toString();str=coeffToString(n.c);str=e<=TO_EXP_NEG||e>=TO_EXP_POS?toExponential(str,e):toFixedPoint(str,e,"0");return n.s<0?"-"+str:str};P._isBigNumber=true;if(configObject!=null)BigNumber.set(configObject);return BigNumber}function bitFloor(n){var i=n|0;return n>0||n===i?i:i-1}function coeffToString(a){var s,z,i=1,j=a.length,r=a[0]+"";for(;i<j;){s=a[i++]+"";z=LOG_BASE-s.length;for(;z--;s="0"+s);r+=s}for(j=r.length;r.charCodeAt(--j)===48;);return r.slice(0,j+1||1)}function compare(x,y){var a,b,xc=x.c,yc=y.c,i=x.s,j=y.s,k=x.e,l=y.e;if(!i||!j)return null;a=xc&&!xc[0];b=yc&&!yc[0];if(a||b)return a?b?0:-j:i;if(i!=j)return i;a=i<0;b=k==l;if(!xc||!yc)return b?0:!xc^a?1:-1;if(!b)return k>l^a?1:-1;j=(k=xc.length)<(l=yc.length)?k:l;for(i=0;i<j;i++)if(xc[i]!=yc[i])return xc[i]>yc[i]^a?1:-1;return k==l?0:k>l^a?1:-1}function intCheck(n,min,max,name){if(n<min||n>max||n!==(n<0?mathceil(n):mathfloor(n))){throw Error(bignumberError+(name||"Argument")+(typeof n=="number"?n<min||n>max?" out of range: ":" not an integer: ":" not a primitive number: ")+n)}}function isArray(obj){return Object.prototype.toString.call(obj)=="[object Array]"}function isOdd(n){var k=n.c.length-1;return bitFloor(n.e/LOG_BASE)==k&&n.c[k]%2!=0}function toExponential(str,e){return(str.length>1?str.charAt(0)+"."+str.slice(1):str)+(e<0?"e":"e+")+e}function toFixedPoint(str,e,z){var len,zs;if(e<0){for(zs=z+".";++e;zs+=z);str=zs+str}else{len=str.length;if(++e>len){for(zs=z,e-=len;--e;zs+=z);str+=zs}else if(e<len){str=str.slice(0,e)+"."+str.slice(e)}}return str}BigNumber=clone();BigNumber["default"]=BigNumber.BigNumber=BigNumber;if(typeof define=="function"&&define.amd){define(function(){return BigNumber})}else if(typeof module!="undefined"&&module.exports){module.exports=BigNumber}else{if(!globalObject){globalObject=typeof self!="undefined"&&self?self:window}globalObject.BigNumber=BigNumber}})(this)},{}]},{},[7])(7)});
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.dataEntities=f()}})(function(){var define,module,exports;return function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<t.length;i++)o(t[i]);return o}return r}()({1:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var storage={remapAsset:function(data){return data},remapCandle:function(data){return data}};var config;(function(config){function get(key){return storage[key]}config.get=get;function set(key,value){if(typeof key==="string"){storage[key]=value}else{Object.keys(key).forEach(function(configKey){return set(configKey,key[configKey])})}}config.set=set})(config=exports.config||(exports.config={}))},{}],2:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var config_1=require("../config");var utils_1=require("../utils");var Asset=function(){function Asset(assetObject){assetObject=config_1.config.get("remapAsset")(assetObject);this.quantity=utils_1.toBigNumber(assetObject.quantity);this.minSponsoredFee=utils_1.toBigNumber(assetObject.minSponsoredFee);this.ticker=assetObject.ticker||null;this.id=assetObject.id;this.name=assetObject.name;this.precision=assetObject.precision;this.description=assetObject.description;this.height=assetObject.height;this.timestamp=assetObject.timestamp;this.sender=assetObject.sender;this.reissuable=assetObject.reissuable;this.hasScript=assetObject.hasScript||false;this.displayName=assetObject.ticker||assetObject.name}Asset.prototype.toJSON=function(){return{ticker:this.ticker,id:this.id,name:this.name,precision:this.precision,description:this.description,height:this.height,timestamp:this.timestamp,sender:this.sender,quantity:this.quantity,reissuable:this.reissuable,hasScript:this.hasScript,minSponsoredFee:this.minSponsoredFee}};Asset.prototype.toString=function(){return this.id};Asset.isAsset=function(object){return object instanceof Asset};return Asset}();exports.Asset=Asset},{"../config":1,"../utils":8}],3:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var AssetPair=function(){function AssetPair(amountAsset,priceAsset){this.amountAsset=amountAsset;this.priceAsset=priceAsset;this.precisionDifference=this.priceAsset.precision-this.amountAsset.precision}AssetPair.prototype.toJSON=function(){return{amountAsset:this.amountAsset.id,priceAsset:this.priceAsset.id}};AssetPair.prototype.toString=function(){return this.amountAsset+"/"+this.priceAsset};AssetPair.isAssetPair=function(object){return object instanceof AssetPair};return AssetPair}();exports.AssetPair=AssetPair},{}],4:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var config_1=require("../config");var utils_1=require("../utils");var Candle=function(){function Candle(candleObject){var _this=this;candleObject=config_1.config.get("remapCandle")(candleObject);var bigNumbers=["open","close","high","low","volume","quoteVolume","weightedAveragePrice"];bigNumbers.forEach(function(key){return _this[key]=utils_1.toBigNumber(candleObject[key])});this.time=candleObject.time;this.maxHeight=candleObject.maxHeight;this.txsCount=candleObject.txsCount}Candle.prototype.toJSON=function(){return{time:this.time,open:this.open,close:this.close,high:this.high,low:this.low,volume:this.volume,quoteVolume:this.quoteVolume,weightedAveragePrice:this.weightedAveragePrice,maxHeight:this.maxHeight,txsCount:this.txsCount}};Candle.prototype.toString=function(){return"[object Candle]"};Candle.isCandle=function(object){return object instanceof Candle};return Candle}();exports.Candle=Candle},{"../config":1,"../utils":8}],5:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("@waves/bignumber");var utils_1=require("../utils");var Money=function(){function Money(coins,asset){var divider=Money._getDivider(asset.precision);this.asset=asset;this._coins=utils_1.toBigNumber(coins).roundTo(0);this._tokens=this._coins.div(divider)}Money.prototype.getCoins=function(){return this._coins.add(0)};Money.prototype.getTokens=function(){return this._tokens.add(0)};Money.prototype.toCoins=function(){return this._coins.toFixed(0)};Money.prototype.toTokens=function(){return this._tokens.toFixed(this.asset.precision)};Money.prototype.toFormat=function(precision){return this._tokens.toFormat(precision)};Money.prototype.add=function(money){this._matchAssets(money);var inputCoins=money.getCoins();var result=this._coins.add(inputCoins);return new Money(result,this.asset)};Money.prototype.plus=function(money){return this.add(money)};Money.prototype.sub=function(money){this._matchAssets(money);var inputCoins=money.getCoins();var result=this._coins.sub(inputCoins);return new Money(result,this.asset)};Money.prototype.minus=function(money){return this.sub(money)};Money.prototype.times=function(money){this._matchAssets(money);return new Money(this.getTokens().mul(money.getTokens()),this.asset)};Money.prototype.div=function(money){this._matchAssets(money);return new Money(this.getTokens().div(money.getTokens()),this.asset)};Money.prototype.eq=function(money){this._matchAssets(money);return this._coins.eq(money.getCoins())};Money.prototype.lt=function(money){this._matchAssets(money);return this._coins.lt(money.getCoins())};Money.prototype.lte=function(money){this._matchAssets(money);return this._coins.lte(money.getCoins())};Money.prototype.gt=function(money){this._matchAssets(money);return this._coins.gt(money.getCoins())};Money.prototype.gte=function(money){this._matchAssets(money);return this._coins.gte(money.getCoins())};Money.prototype.safeSub=function(money){if(this.asset.id===money.asset.id){return this.sub(money)}return this};Money.prototype.toNonNegative=function(){if(this.getTokens().lt(0)){return this.cloneWithTokens(0)}return this};Money.prototype.cloneWithCoins=function(coins){return new Money(new bignumber_1.BigNumber(coins),this.asset)};Money.prototype.cloneWithTokens=function(tokens){var coins=Money._tokensToCoins(tokens,this.asset.precision);return new Money(coins,this.asset)};Money.prototype.convertTo=function(asset,exchangeRate){return Money.convert(this,asset,utils_1.toBigNumber(exchangeRate))};Money.prototype.toJSON=function(){return{assetId:this.asset.id,tokens:this.toTokens()}};Money.prototype.toString=function(){return this.toTokens()+" "+this.asset.id};Money.prototype._matchAssets=function(money){if(this.asset.id!==money.asset.id){throw new Error("You cannot apply arithmetic operations to Money created with different assets")}};Money.max=function(){var moneyList=[];for(var _i=0;_i<arguments.length;_i++){moneyList[_i]=arguments[_i]}return moneyList.reduce(function(max,money){return max.gte(money)?max:money})};Money.min=function(){var moneyList=[];for(var _i=0;_i<arguments.length;_i++){moneyList[_i]=arguments[_i]}return moneyList.reduce(function(min,money){return min.lte(money)?min:money})};Money.isMoney=function(object){return object instanceof Money};Money.convert=function(money,asset,exchangeRate){if(money.asset===asset){return money}else{var difference=money.asset.precision-asset.precision;var divider=new bignumber_1.BigNumber(10).pow(difference);var coins=money.getCoins();var result=coins.mul(exchangeRate).div(divider).roundTo(0,1).toFixed();return new Money(new bignumber_1.BigNumber(result),asset)}};Money.fromTokens=function(count,asset){var tokens=utils_1.toBigNumber(count);return new Money(tokens.mul(new bignumber_1.BigNumber(10).pow(asset.precision)),asset)};Money.fromCoins=function(count,asset){return new Money(count,asset)};Money._tokensToCoins=function(tokens,precision){var divider=Money._getDivider(precision);tokens=new bignumber_1.BigNumber(tokens).toFixed(precision);return new bignumber_1.BigNumber(tokens).mul(divider)};Money._getDivider=function(precision){return new bignumber_1.BigNumber(10).pow(precision)};return Money}();exports.Money=Money},{"../utils":8,"@waves/bignumber":undefined}],6:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("@waves/bignumber");var utils_1=require("../utils");var OrderPrice=function(){function OrderPrice(coins,pair){var divider=OrderPrice._getMatcherDivider(pair.precisionDifference);this.pair=pair;this._matcherCoins=coins;this._tokens=this._matcherCoins.div(divider)}OrderPrice.prototype.getMatcherCoins=function(){return this._matcherCoins.clone()};OrderPrice.prototype.getTokens=function(){return this._tokens.clone()};OrderPrice.prototype.toMatcherCoins=function(){return this._matcherCoins.toFixed(0)};OrderPrice.prototype.toTokens=function(){return this._tokens.toFixed(this.pair.priceAsset.precision)};OrderPrice.prototype.toFormat=function(){return this._tokens.toFormat(this.pair.priceAsset.precision)};OrderPrice.prototype.toJSON=function(){return{amountAssetId:this.pair.amountAsset.id,priceAssetId:this.pair.priceAsset.id,priceTokens:this.toTokens()}};OrderPrice.prototype.toString=function(){return this.toTokens()+" "+this.pair.amountAsset.id+"/"+this.pair.priceAsset.id};OrderPrice.fromMatcherCoins=function(coins,pair){OrderPrice._checkAmount(coins);return new OrderPrice(utils_1.toBigNumber(coins),pair)};OrderPrice.fromTokens=function(tokens,pair){OrderPrice._checkAmount(tokens);tokens=utils_1.toBigNumber(tokens).toFixed(pair.priceAsset.precision);var divider=OrderPrice._getMatcherDivider(pair.precisionDifference);var coins=new bignumber_1.BigNumber(tokens).mul(divider);return new OrderPrice(coins,pair)};OrderPrice._getMatcherDivider=function(precision){return new bignumber_1.BigNumber(10).pow(precision).mul(OrderPrice._MATCHER_SCALE)};OrderPrice.isOrderPrice=function(object){return object instanceof OrderPrice};OrderPrice._checkAmount=function(amount){if(!(["string","number"].includes(typeof amount)||amount instanceof bignumber_1.BigNumber)){throw new Error("Please use strings to create instances of OrderPrice")}};OrderPrice._MATCHER_SCALE=new bignumber_1.BigNumber(10).pow(8);return OrderPrice}();exports.OrderPrice=OrderPrice},{"../utils":8,"@waves/bignumber":undefined}],7:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var Asset_1=require("./entities/Asset");exports.Asset=Asset_1.Asset;var Candle_1=require("./entities/Candle");exports.Candle=Candle_1.Candle;var Money_1=require("./entities/Money");exports.Money=Money_1.Money;var OrderPrice_1=require("./entities/OrderPrice");exports.OrderPrice=OrderPrice_1.OrderPrice;var AssetPair_1=require("./entities/AssetPair");exports.AssetPair=AssetPair_1.AssetPair;var config_1=require("./config");exports.config=config_1.config},{"./config":1,"./entities/Asset":2,"./entities/AssetPair":3,"./entities/Candle":4,"./entities/Money":5,"./entities/OrderPrice":6}],8:[function(require,module,exports){"use strict";Object.defineProperty(exports,"__esModule",{value:true});var bignumber_1=require("@waves/bignumber");function toBigNumber(some){return some instanceof bignumber_1.BigNumber?some:new bignumber_1.BigNumber(some)}exports.toBigNumber=toBigNumber},{"@waves/bignumber":undefined}]},{},[7])(7)});

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

import { BigNumber } from '../libs/bignumber';
import { BigNumber } from '@waves/bignumber';
export interface IAssetInfo {

@@ -3,0 +3,0 @@ readonly ticker?: string;

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

import { BigNumber } from '../libs/bignumber';
import { BigNumber } from '@waves/bignumber';
export interface ICandleInfo {

@@ -3,0 +3,0 @@ readonly time: Date;

import { Asset } from './Asset';
import { BigNumber } from '../libs/bignumber';
import { BigNumber } from '@waves/bignumber';
export interface IMoneyJSON {

@@ -4,0 +4,0 @@ assetId: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("../libs/bignumber");
var bignumber_1 = require("@waves/bignumber");
var utils_1 = require("../utils");

@@ -11,10 +11,10 @@ var Money = /** @class */ (function () {

this.asset = asset;
this._coins = utils_1.toBigNumber(coins).dp(0);
this._coins = utils_1.toBigNumber(coins).roundTo(0);
this._tokens = this._coins.div(divider);
}
Money.prototype.getCoins = function () {
return this._coins.plus(0);
return this._coins.add(0);
};
Money.prototype.getTokens = function () {
return this._tokens.plus(0);
return this._tokens.add(0);
};

@@ -33,3 +33,3 @@ Money.prototype.toCoins = function () {

var inputCoins = money.getCoins();
var result = this._coins.plus(inputCoins);
var result = this._coins.add(inputCoins);
return new Money(result, this.asset);

@@ -43,3 +43,3 @@ };

var inputCoins = money.getCoins();
var result = this._coins.minus(inputCoins);
var result = this._coins.sub(inputCoins);
return new Money(result, this.asset);

@@ -52,3 +52,3 @@ };

this._matchAssets(money);
return new Money(this.getTokens().times(money.getTokens()), this.asset);
return new Money(this.getTokens().mul(money.getTokens()), this.asset);
};

@@ -142,5 +142,6 @@ Money.prototype.div = function (money) {

var result = coins
.multipliedBy(exchangeRate)
.mul(exchangeRate)
.div(divider)
.toFixed(0, bignumber_1.BigNumber.ROUND_DOWN);
.roundTo(0, 1 /* ROUND_DOWN */)
.toFixed();
return new Money(new bignumber_1.BigNumber(result), asset);

@@ -151,3 +152,3 @@ }

var tokens = utils_1.toBigNumber(count);
return new Money(tokens.times(new bignumber_1.BigNumber(10).pow(asset.precision)), asset);
return new Money(tokens.mul(new bignumber_1.BigNumber(10).pow(asset.precision)), asset);
};

@@ -160,3 +161,3 @@ Money.fromCoins = function (count, asset) {

tokens = new bignumber_1.BigNumber(tokens).toFixed(precision);
return new bignumber_1.BigNumber(tokens).multipliedBy(divider);
return new bignumber_1.BigNumber(tokens).mul(divider);
};

@@ -163,0 +164,0 @@ Money._getDivider = function (precision) {

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

import { BigNumber } from '../libs/bignumber';
import { BigNumber } from '@waves/bignumber';
import { AssetPair } from './AssetPair';

@@ -3,0 +3,0 @@ export interface IOrderPriceJSON {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("../libs/bignumber");
var bignumber_1 = require("@waves/bignumber");
var utils_1 = require("../utils");

@@ -14,6 +14,6 @@ var OrderPrice = /** @class */ (function () {

OrderPrice.prototype.getMatcherCoins = function () {
return this._matcherCoins.plus(0);
return this._matcherCoins.clone();
};
OrderPrice.prototype.getTokens = function () {
return this._tokens.plus(0);
return this._tokens.clone();
};

@@ -47,3 +47,3 @@ OrderPrice.prototype.toMatcherCoins = function () {

var divider = OrderPrice._getMatcherDivider(pair.precisionDifference);
var coins = new bignumber_1.BigNumber(tokens).times(divider);
var coins = new bignumber_1.BigNumber(tokens).mul(divider);
return new OrderPrice(coins, pair);

@@ -54,3 +54,3 @@ };

.pow(precision)
.multipliedBy(OrderPrice._MATCHER_SCALE);
.mul(OrderPrice._MATCHER_SCALE);
};

@@ -57,0 +57,0 @@ OrderPrice.isOrderPrice = function (object) {

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

export { BigNumber } from './libs/bignumber';
export { Asset, IAssetJSON } from './entities/Asset';

@@ -3,0 +2,0 @@ export { Candle, ICandleJSON } from './entities/Candle';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("./libs/bignumber");
exports.BigNumber = bignumber_1.BigNumber;
var Asset_1 = require("./entities/Asset");

@@ -6,0 +4,0 @@ exports.Asset = Asset_1.Asset;

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

import { BigNumber } from './libs/bignumber';
import { BigNumber } from '@waves/bignumber';
export declare function toBigNumber(some: string | number | BigNumber): BigNumber;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("./libs/bignumber");
var bignumber_1 = require("@waves/bignumber");
function toBigNumber(some) {

@@ -5,0 +5,0 @@ return some instanceof bignumber_1.BigNumber ? some : new bignumber_1.BigNumber(some);

{
"name": "@waves/data-entities",
"description": "Waves data types",
"version": "1.10.1",
"version": "2.0.0-a",
"license": "Apache-2.0",

@@ -19,3 +19,3 @@ "private": false,

"uglify": "node_modules/.bin/uglifyjs ./dist/data-entities.js -o ./dist/data-entities.min.js",
"build": "./node_modules/.bin/browserify ./dist/index.js --node -s data-entities -o ./dist/data-entities.js",
"build": "./node_modules/.bin/browserify ./dist/index.js --node -s data-entities -u @waves/bignumber -o ./dist/data-entities.js",
"patch": "npm version patch && npm publish && git push",

@@ -27,3 +27,3 @@ "minor": "npm version minor && npm publish && git push",

"dependencies": {
"bignumber.js": "7.0.1"
"@waves/bignumber": "0.0.1-a"
},

@@ -30,0 +30,0 @@ "devDependencies": {

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

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc