diff --git a/distr/wavesplatform-core.js b/distr/wavesplatform-core.js index b4da15c..ee30bbf 100644 --- a/distr/wavesplatform-core.js +++ b/distr/wavesplatform-core.js @@ -675,7 +675,6 @@ var Currency = (function () { this.id = data.id; // base58 encoded asset id of the currency this.displayName = data.displayName; this.shortName = data.shortName || data.displayName; - this.symbol = data.symbol || ''; this.precision = data.precision; // number of decimal places after a decimal point this.verified = data.verified || false; @@ -699,7 +698,6 @@ var Currency = (function () { id: '', displayName: 'Waves', shortName: 'WAVES', - symbol: 'WAVES', precision: 8, verified: true }); @@ -708,7 +706,6 @@ var Currency = (function () { id: '8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS', displayName: 'Bitcoin', shortName: 'BTC', - symbol: 'B', precision: 8, verified: true }); @@ -717,7 +714,6 @@ var Currency = (function () { id: 'Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck', displayName: 'US Dollar', shortName: 'USD', - symbol: '$', precision: 2, verified: true }); @@ -726,7 +722,6 @@ var Currency = (function () { id: 'Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU', displayName: 'Euro', shortName: 'EUR', - symbol: '€', precision: 2, verified: true }); @@ -735,7 +730,6 @@ var Currency = (function () { id: 'DEJbZipbKQjwEiRjx2AqQFucrj5CZ3rAc4ZvFM8nAsoA', displayName: 'Chinese Yuan', shortName: 'CNY', - symbol: '¥', precision: 2, verified: true }); @@ -744,7 +738,6 @@ var Currency = (function () { id: 'DHgwrRvVyqJsepd32YbBqUeDH4GJ1N984X8QoekjgH8J', displayName: 'Waves Community', shortName: 'WCT', - symbol: 'WCT', precision: 2, verified: true }); @@ -753,7 +746,6 @@ var Currency = (function () { id: '4uK8i4ThRGbehENwa6MxyLtxAjAo1Rj9fduborGExarC', displayName: 'Miner Reward', shortName: 'MRT', - symbol: 'MRT', precision: 2, verified: true }); @@ -762,7 +754,6 @@ var Currency = (function () { id: '4eT6R8R2XuTcBuTHiXVQsh2dN2mg3c2Qnp95EWBNHygg', displayName: 'WavesGo', shortName: 'WGO', - symbol: 'WGO', precision: 8, verified: true }); @@ -771,7 +762,6 @@ var Currency = (function () { id: 'FLbGXzrpqkvucZqsHDcNxePTkh2ChmEi4GdBfDRRJVof', displayName: 'Incent', shortName: 'INCNT', - symbol: 'INCNT', precision: 8, verified: true }); @@ -780,7 +770,6 @@ var Currency = (function () { id: 'AnERqFRffNVrCbviXbDEdzrU6ipXCP5Y1PKpFdRnyQAy', displayName: 'Ripto Bux', shortName: 'RBX', - symbol: 'RBX', precision: 8, verified: true }); @@ -789,7 +778,6 @@ var Currency = (function () { id: 'HzfaJp8YQWLvQG4FkUxq2Q7iYWMYQ2k8UF89vVJAjWPj', displayName: 'Mercury', shortName: 'MER', - symbol: 'MER', precision: 8, verified: true }); @@ -798,7 +786,6 @@ var Currency = (function () { id: 'APz41KyoKuBBh8t3oZjqvhbbsg6f63tpZM5Ck5LYx6h', displayName: 'B@nkcoin', shortName: 'B@', - symbol: 'B@', precision: 8, verified: true }); @@ -807,7 +794,6 @@ var Currency = (function () { id: '4764Pr9DpKQAHAjAVA2uqnrYidLMnM7vpDDLCDWujFTt', displayName: 'Upcoin', shortName: 'UPC', - symbol: 'UPC', precision: 2, verified: true }); @@ -816,7 +802,6 @@ var Currency = (function () { id: 'EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK', displayName: 'Kolion', shortName: 'KLN', - symbol: 'KLN', precision: 4, verified: true }); @@ -825,7 +810,6 @@ var Currency = (function () { id: 'BDMRyZsmDZpgKhdM7fUTknKcUbVVkDpMcqEj31PUzjMy', displayName: 'Tokes', shortName: 'TKS', - symbol: 'TKS', precision: 8, verified: true }); @@ -834,7 +818,6 @@ var Currency = (function () { id: 'BkFyeRdrLquxds5FenxyonyfTwMVJJ6o6L7VTaPr5fs3', displayName: 'WavesPool.NET', shortName: 'WPN', - symbol: 'WPN', precision: 8, verified: true }); @@ -843,7 +826,6 @@ var Currency = (function () { id: '725Yv9oceWsB4GsYwyy4A52kEwyVrL5avubkeChSnL46', displayName: 'Ergo First Year Token', shortName: 'EFYT', - symbol: 'EFYT', precision: 8, verified: true }); @@ -852,7 +834,6 @@ var Currency = (function () { id: '2Y8eFFXDTkxgCvXbMT5K4J38cpDYYbQdciJEZb48vTDj', displayName: 'Mobile Go Token', shortName: 'MGO', - symbol: 'MGO', precision: 8, verified: true }); @@ -861,7 +842,6 @@ var Currency = (function () { id: '8ofu3VpEaVCFjRqLLqzTMNs5URKUUQMrPp3k6oFmiCc6', displayName: 'EncryptoTel', shortName: 'ETT', - symbol: 'ETT', precision: 8, verified: true }); @@ -870,7 +850,6 @@ var Currency = (function () { id: '5ZPuAVxAwYvptbCgSVKdTzeud9dhbZ7vvxHVnZUoxf4h', displayName: 'ZrCoin', shortName: 'ZRC', - symbol: 'ZRC', precision: 8, verified: true }); @@ -879,7 +858,6 @@ var Currency = (function () { id: '39wcSXj4MdRNRJXA88rVxF7EXWjYixaA3J3EteoN6DMM', displayName: 'privateBANKX', shortName: 'PBKX', - symbol: 'PBKX', precision: 0, verified: true }); @@ -888,7 +866,6 @@ var Currency = (function () { id: 'Bi4w2UuGRt2jAJFfRb8b3SwDUV5x8krCzX2zZHcRfPNc', displayName: 'CryptoPing', shortName: 'PING', - symbol: 'PING', precision: 8, verified: true }); @@ -897,7 +874,6 @@ var Currency = (function () { id: 'BTfuGGoeA934Ta1fgcehQ5UhbHuWKj4don64ZNBuMT38', displayName: 'Starrie', shortName: 'STAR', - symbol: 'STAR', precision: 8, verified: true }); @@ -906,7 +882,6 @@ var Currency = (function () { id: '9gnc5UCY6RxtSi9FEJkcD57r5NBgdr45DVYtunyDLrgC', displayName: 'BearWaves', shortName: 'BEAR', - symbol: 'BEAR', precision: 2, verified: true }); @@ -915,7 +890,6 @@ var Currency = (function () { id: 'K5JcgN8UdwNdh5sbdAuPMm5XEd5aFvoXaC3iHsHVz1d', displayName: 'Darcrus', shortName: 'DAR', - symbol: 'DAR', precision: 6, verified: true }); @@ -924,7 +898,6 @@ var Currency = (function () { id: '9g5JiYThxFTxknSMA3TT5xoXG7GYjRrTJxxLeeoQ36kJ', displayName: 'GLIPP', shortName: 'GLIPP', - symbol: 'GLIPP', precision: 8, verified: true }); @@ -933,7 +906,6 @@ var Currency = (function () { id: '6284oD9Aky3gZwwwqCFEZzvyx5qeeswAbYEtCHcMyKUR', displayName: 'TrackNetToken', shortName: 'TNT', - symbol: 'TNT', precision: 4, verified: true }); @@ -942,7 +914,6 @@ var Currency = (function () { id: '9c7U7bXdP23oHpmGKwGfSsjFrpxdRcp3tp28qbfhEc3d', displayName: '$bkt', shortName: 'BKT', - symbol: 'BKT', precision: 0, verified: true }); @@ -951,7 +922,6 @@ var Currency = (function () { id: '8t8DMJFQu5GEhvAetiA8aHa3yPjxLj54sBnZsjnJ5dsw', displayName: 'Wagerr', shortName: 'WGR', - symbol: 'WGR', precision: 8, verified: true }); @@ -960,7 +930,6 @@ var Currency = (function () { id: 'EdDvbhk4wJ1kL6pMCq1V36GbQE2nGE7Metb87zbaY2JL', displayName: 'Primalbase Token', shortName: 'PBT', - symbol: 'PBT', precision: 4, verified: true }); diff --git a/distr/wavesplatform-core.min.js b/distr/wavesplatform-core.min.js index f12dbc4..9de871f 100644 --- a/distr/wavesplatform-core.min.js +++ b/distr/wavesplatform-core.min.js @@ -1,3 +1,3 @@ -function normalizeInput(input){var ret;if(input instanceof Uint8Array)ret=input;else if(input instanceof Buffer)ret=new Uint8Array(input);else{if("string"!=typeof input)throw new Error(ERROR_MSG_INPUT);ret=new Uint8Array(new Buffer(input,"utf8"))}return ret}function toHex(bytes){return Array.prototype.map.call(bytes,function(n){return(n<16?"0":"")+n.toString(16)}).join("")}function uint32ToHex(val){return(4294967296+val).toString(16).substring(1)}function debugPrint(label,arr,size){for(var msg="\n"+label+" = ",i=0;i=4294967296&&o1++,v[a]=o0,v[a+1]=o1}function ADD64AC(v,a,b0,b1){var o0=v[a]+b0;b0<0&&(o0+=4294967296);var o1=v[a+1]+b1;o0>=4294967296&&o1++,v[a]=o0,v[a+1]=o1}function B2B_GET32(arr,i){return arr[i]^arr[i+1]<<8^arr[i+2]<<16^arr[i+3]<<24}function B2B_G(a,b,c,d,ix,iy){var x0=m[ix],x1=m[ix+1],y0=m[iy],y1=m[iy+1];ADD64AA(v,a,b),ADD64AC(v,a,x0,x1);var xor0=v[d]^v[a],xor1=v[d+1]^v[a+1];v[d]=xor1,v[d+1]=xor0,ADD64AA(v,c,d),xor0=v[b]^v[c],xor1=v[b+1]^v[c+1],v[b]=xor0>>>24^xor1<<8,v[b+1]=xor1>>>24^xor0<<8,ADD64AA(v,a,b),ADD64AC(v,a,y0,y1),xor0=v[d]^v[a],xor1=v[d+1]^v[a+1],v[d]=xor0>>>16^xor1<<16,v[d+1]=xor1>>>16^xor0<<16,ADD64AA(v,c,d),xor0=v[b]^v[c],xor1=v[b+1]^v[c+1],v[b]=xor1>>>31^xor0<<1,v[b+1]=xor0>>>31^xor1<<1}function blake2b_compress(ctx,last){var i=0;for(i=0;i<16;i++)v[i]=ctx.h[i],v[i+16]=BLAKE2B_IV32[i];for(v[24]=v[24]^ctx.t,v[25]=v[25]^ctx.t/4294967296,last&&(v[28]=~v[28],v[29]=~v[29]),i=0;i<32;i++)m[i]=B2B_GET32(ctx.b,4*i);for(i=0;i<12;i++)B2B_G(0,8,16,24,SIGMA82[16*i+0],SIGMA82[16*i+1]),B2B_G(2,10,18,26,SIGMA82[16*i+2],SIGMA82[16*i+3]),B2B_G(4,12,20,28,SIGMA82[16*i+4],SIGMA82[16*i+5]),B2B_G(6,14,22,30,SIGMA82[16*i+6],SIGMA82[16*i+7]),B2B_G(0,10,20,30,SIGMA82[16*i+8],SIGMA82[16*i+9]),B2B_G(2,12,22,24,SIGMA82[16*i+10],SIGMA82[16*i+11]),B2B_G(4,14,16,26,SIGMA82[16*i+12],SIGMA82[16*i+13]),B2B_G(6,8,18,28,SIGMA82[16*i+14],SIGMA82[16*i+15]);for(i=0;i<16;i++)ctx.h[i]=ctx.h[i]^v[i]^v[i+16]}function blake2b_init(outlen,key){if(0===outlen||outlen>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(key&&key.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");for(var ctx={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:outlen},i=0;i<16;i++)ctx.h[i]=BLAKE2B_IV32[i];var keylen=key?key.length:0;return ctx.h[0]^=16842752^keylen<<8^outlen,key&&(blake2b_update(ctx,key),ctx.c=128),ctx}function blake2b_update(ctx,input){for(var i=0;i>2]>>8*(3&i);return out}function blake2b(input,key,outlen){outlen=outlen||64,input=normalizeInput(input);var ctx=blake2b_init(outlen,key);return blake2b_update(ctx,input),blake2b_final(ctx)}function blake2bHex(input,key,outlen){var output=blake2b(input,key,outlen);return toHex(output)}var ERROR_MSG_INPUT="Input must be an string, Buffer or Uint8Array",BLAKE2B_IV32=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),SIGMA8=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],SIGMA82=new Uint8Array(SIGMA8.map(function(x){return 2*x})),v=new Uint32Array(32),m=new Uint32Array(32),converters=function(){var i,charToNibble={},nibbleToChar=[];for(i=0;i<=9;++i){var character=i.toString();charToNibble[character]=i,nibbleToChar.push(character)}for(i=10;i<=15;++i){var lowerChar=String.fromCharCode("a".charCodeAt(0)+i-10),upperChar=String.fromCharCode("A".charCodeAt(0)+i-10);charToNibble[lowerChar]=i,charToNibble[upperChar]=i,nibbleToChar.push(lowerChar)}return{byteArrayToHexString:function(bytes){for(var str="",i=0;i>4]+nibbleToChar[15&bytes[i]];return str},stringToByteArray:function(str){str=unescape(encodeURIComponent(str));for(var bytes=new Array(str.length),i=0;i=0;i--)temp1=value.multiply(new BigInteger("256",10)),temp2=temp1.add(new BigInteger(bytes[opt_startIndex+i].toString(10),10)),value=temp2;return value},byteArrayToWordArray:function(byteArray){for(var i=0,offset=0,word=0,len=byteArray.length,words=new Uint32Array((len/4|0)+(len%4==0?0:1));i1&&(word|=byteArray[i++]<<16),len%4>2&&(word|=byteArray[i++]<<8),words[offset]=word);var wordArray=new Object;return wordArray.sigBytes=len,wordArray.words=words,wordArray},wordArrayToByteArray:function(wordArray){return converters.wordArrayToByteArrayImpl(wordArray,!0)},wordArrayToByteArrayImpl:function(wordArray,isFirstByteHasSign){var len=wordArray.words.length;if(0==len)return new Array(0);var word,i,byteArray=new Array(wordArray.sigBytes),offset=0;for(i=0;i>24:word>>24&255,byteArray[offset++]=word>>16&255,byteArray[offset++]=word>>8&255,byteArray[offset++]=255&word;return word=wordArray.words[len-1],byteArray[offset++]=isFirstByteHasSign?word>>24:word>>24&255,wordArray.sigBytes%4==0&&(byteArray[offset++]=word>>16&255,byteArray[offset++]=word>>8&255,byteArray[offset++]=255&word),wordArray.sigBytes%4>1&&(byteArray[offset++]=word>>16&255),wordArray.sigBytes%4>2&&(byteArray[offset++]=word>>8&255),byteArray},byteArrayToString:function(bytes,opt_startIndex,length){if(0==length)return"";if(opt_startIndex&&length){this.checkBytesToIntInput(bytes,parseInt(length,10),parseInt(opt_startIndex,10));bytes=bytes.slice(opt_startIndex,opt_startIndex+length)}return decodeURIComponent(escape(String.fromCharCode.apply(null,bytes)))},byteArrayToShortArray:function(byteArray){var i,shortArray=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<16;i++)shortArray[i]=byteArray[2*i]|byteArray[2*i+1]<<8;return shortArray},shortArrayToByteArray:function(shortArray){var i,byteArray=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<16;i++)byteArray[2*i]=255&shortArray[i],byteArray[2*i+1]=shortArray[i]>>8;return byteArray},shortArrayToHexString:function(ary){for(var res="",i=0;i>4&15]+nibbleToChar[15&ary[i]]+nibbleToChar[ary[i]>>12&15]+nibbleToChar[ary[i]>>8&15];return res},intToBytes_:function(x,numBytes,unsignedMax,opt_bigEndian){var signedMax=Math.floor(unsignedMax/2),negativeMax=(signedMax+1)*-1;if(x!=Math.floor(x)||xunsignedMax)throw new Error(x+" is not a "+8*numBytes+" bit integer");var current,bytes=[],numberType=x>=0&&x<=signedMax?0:x>signedMax&&x<=unsignedMax?1:2;2==numberType&&(x=x*-1-1);for(var i=0;i>=8;return bytes},int32ToBytes:function(x,opt_bigEndian){return converters.intToBytes_(x,4,4294967295,opt_bigEndian)},int16ToBytes:function(x,opt_bigEndian){return converters.intToBytes_(x,2,65535,opt_bigEndian)},wordArrayToByteArrayEx:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,u8=new Uint8Array(sigBytes),i=0;i>>2]>>>24-i%4*8&255;u8[i]=byte}return u8},byteArrayToWordArrayEx:function(u8arr){for(var len=u8arr.length,words=[],i=0;i>>2]|=(255&u8arr[i])<<24-i%4*8;return CryptoJS.lib.WordArray.create(words,len)}}}(),Currency=function(){function Currency(data){return data=data||{},this.id=data.id,this.displayName=data.displayName,this.shortName=data.shortName||data.displayName,this.symbol=data.symbol||"",this.precision=data.precision,this.verified=data.verified||!1,void 0!==data.roundingMode?this.roundingMode=data.roundingMode:this.roundingMode=Decimal.ROUND_HALF_UP,this}function invalidateCache(){currencyCache={},currencyCache[WAVES.id]=WAVES,currencyCache[BTC.id]=BTC,currencyCache[USD.id]=USD,currencyCache[EUR.id]=EUR,currencyCache[CNY.id]=CNY,currencyCache[WCT.id]=WCT,currencyCache[MRT.id]=MRT,currencyCache[WGO.id]=WGO,currencyCache[INCNT.id]=INCNT,currencyCache[RBX.id]=RBX,currencyCache[MER.id]=MER,currencyCache[BAt.id]=BAt,currencyCache[UPC.id]=UPC,currencyCache[KLN.id]=KLN,currencyCache[TKS.id]=TKS,currencyCache[WPN.id]=WPN,currencyCache[EFYT.id]=EFYT,currencyCache[MGO.id]=MGO,currencyCache[ETT.id]=ETT,currencyCache[ZRC.id]=ZRC,currencyCache[PBKX.id]=PBKX,currencyCache[PING.id]=PING,currencyCache[STAR.id]=STAR,currencyCache[BEAR.id]=BEAR,currencyCache[DAR.id]=DAR,currencyCache[GLIPP.id]=GLIPP,currencyCache[TNT.id]=TNT,currencyCache[BKT.id]=BKT,currencyCache[WGR.id]=WGR,currencyCache[PBT.id]=PBT}var currencyCache={};Currency.prototype.toString=function(){return this.shortName?this.shortName:this.displayName};var WAVES=new Currency({id:"",displayName:"Waves",shortName:"WAVES",symbol:"WAVES",precision:8,verified:!0}),BTC=new Currency({id:"8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS",displayName:"Bitcoin",shortName:"BTC",symbol:"B",precision:8,verified:!0}),USD=new Currency({id:"Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck",displayName:"US Dollar",shortName:"USD",symbol:"$",precision:2,verified:!0}),EUR=new Currency({id:"Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU",displayName:"Euro",shortName:"EUR",symbol:"€",precision:2,verified:!0}),CNY=new Currency({id:"DEJbZipbKQjwEiRjx2AqQFucrj5CZ3rAc4ZvFM8nAsoA",displayName:"Chinese Yuan",shortName:"CNY",symbol:"¥",precision:2,verified:!0}),WCT=new Currency({id:"DHgwrRvVyqJsepd32YbBqUeDH4GJ1N984X8QoekjgH8J",displayName:"Waves Community",shortName:"WCT",symbol:"WCT",precision:2,verified:!0}),MRT=new Currency({id:"4uK8i4ThRGbehENwa6MxyLtxAjAo1Rj9fduborGExarC",displayName:"Miner Reward",shortName:"MRT",symbol:"MRT",precision:2,verified:!0}),WGO=new Currency({id:"4eT6R8R2XuTcBuTHiXVQsh2dN2mg3c2Qnp95EWBNHygg",displayName:"WavesGo",shortName:"WGO",symbol:"WGO",precision:8,verified:!0}),INCNT=new Currency({id:"FLbGXzrpqkvucZqsHDcNxePTkh2ChmEi4GdBfDRRJVof",displayName:"Incent",shortName:"INCNT",symbol:"INCNT",precision:8,verified:!0}),RBX=new Currency({id:"AnERqFRffNVrCbviXbDEdzrU6ipXCP5Y1PKpFdRnyQAy",displayName:"Ripto Bux",shortName:"RBX",symbol:"RBX",precision:8,verified:!0}),MER=new Currency({id:"HzfaJp8YQWLvQG4FkUxq2Q7iYWMYQ2k8UF89vVJAjWPj",displayName:"Mercury",shortName:"MER",symbol:"MER",precision:8,verified:!0}),BAt=new Currency({id:"APz41KyoKuBBh8t3oZjqvhbbsg6f63tpZM5Ck5LYx6h",displayName:"B@nkcoin",shortName:"B@",symbol:"B@",precision:8,verified:!0}),UPC=new Currency({id:"4764Pr9DpKQAHAjAVA2uqnrYidLMnM7vpDDLCDWujFTt",displayName:"Upcoin",shortName:"UPC",symbol:"UPC",precision:2,verified:!0}),KLN=new Currency({id:"EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK",displayName:"Kolion",shortName:"KLN",symbol:"KLN",precision:4,verified:!0}),TKS=new Currency({id:"BDMRyZsmDZpgKhdM7fUTknKcUbVVkDpMcqEj31PUzjMy",displayName:"Tokes",shortName:"TKS",symbol:"TKS",precision:8,verified:!0}),WPN=new Currency({id:"BkFyeRdrLquxds5FenxyonyfTwMVJJ6o6L7VTaPr5fs3",displayName:"WavesPool.NET",shortName:"WPN",symbol:"WPN",precision:8,verified:!0}),EFYT=new Currency({id:"725Yv9oceWsB4GsYwyy4A52kEwyVrL5avubkeChSnL46",displayName:"Ergo First Year Token",shortName:"EFYT",symbol:"EFYT",precision:8,verified:!0}),MGO=new Currency({id:"2Y8eFFXDTkxgCvXbMT5K4J38cpDYYbQdciJEZb48vTDj",displayName:"Mobile Go Token",shortName:"MGO",symbol:"MGO",precision:8,verified:!0}),ETT=new Currency({id:"8ofu3VpEaVCFjRqLLqzTMNs5URKUUQMrPp3k6oFmiCc6",displayName:"EncryptoTel",shortName:"ETT",symbol:"ETT",precision:8,verified:!0}),ZRC=new Currency({id:"5ZPuAVxAwYvptbCgSVKdTzeud9dhbZ7vvxHVnZUoxf4h",displayName:"ZrCoin",shortName:"ZRC",symbol:"ZRC",precision:8,verified:!0}),PBKX=new Currency({id:"39wcSXj4MdRNRJXA88rVxF7EXWjYixaA3J3EteoN6DMM",displayName:"privateBANKX",shortName:"PBKX",symbol:"PBKX",precision:0,verified:!0}),PING=new Currency({id:"Bi4w2UuGRt2jAJFfRb8b3SwDUV5x8krCzX2zZHcRfPNc",displayName:"CryptoPing",shortName:"PING",symbol:"PING",precision:8,verified:!0}),STAR=new Currency({id:"BTfuGGoeA934Ta1fgcehQ5UhbHuWKj4don64ZNBuMT38",displayName:"Starrie",shortName:"STAR",symbol:"STAR",precision:8,verified:!0}),BEAR=new Currency({id:"9gnc5UCY6RxtSi9FEJkcD57r5NBgdr45DVYtunyDLrgC",displayName:"BearWaves",shortName:"BEAR",symbol:"BEAR",precision:2,verified:!0}),DAR=new Currency({id:"K5JcgN8UdwNdh5sbdAuPMm5XEd5aFvoXaC3iHsHVz1d",displayName:"Darcrus",shortName:"DAR",symbol:"DAR",precision:6,verified:!0}),GLIPP=new Currency({id:"9g5JiYThxFTxknSMA3TT5xoXG7GYjRrTJxxLeeoQ36kJ",displayName:"GLIPP",shortName:"GLIPP",symbol:"GLIPP",precision:8,verified:!0}),TNT=new Currency({id:"6284oD9Aky3gZwwwqCFEZzvyx5qeeswAbYEtCHcMyKUR",displayName:"TrackNetToken",shortName:"TNT",symbol:"TNT",precision:4,verified:!0}),BKT=new Currency({id:"9c7U7bXdP23oHpmGKwGfSsjFrpxdRcp3tp28qbfhEc3d",displayName:"$bkt",shortName:"BKT",symbol:"BKT",precision:0,verified:!0}),WGR=new Currency({id:"8t8DMJFQu5GEhvAetiA8aHa3yPjxLj54sBnZsjnJ5dsw",displayName:"Wagerr",shortName:"WGR",symbol:"WGR",precision:8,verified:!0}),PBT=new Currency({id:"EdDvbhk4wJ1kL6pMCq1V36GbQE2nGE7Metb87zbaY2JL",displayName:"Primalbase Token",shortName:"PBT",symbol:"PBT",precision:4,verified:!0});return invalidateCache(),{create:function(data){return _.has(data,"id")?(currencyCache[data.id]||(currencyCache[data.id]=new Currency(data)),currencyCache[data.id]):new Currency(data)},invalidateCache:invalidateCache,WAVES:WAVES,BTC:BTC,USD:USD,EUR:EUR,CNY:CNY,WCT:WCT,MRT:MRT,WGO:WGO,INCNT:INCNT,RBX:RBX,MER:MER,BAt:BAt,UPC:UPC,KLN:KLN,TKS:TKS,WPN:WPN,EFYT:EFYT,MGO:MGO,ETT:ETT,ZRC:ZRC,PBKX:PBKX,PING:PING,STAR:STAR,BEAR:BEAR,DAR:DAR,GLIPP:GLIPP,TNT:TNT,BKT:BKT,WGR:WGR,PBT:PBT}}(),Money=function(amount,currency){var DECIMAL_SEPARATOR=".",THOUSANDS_SEPARATOR=",";if(void 0===amount)throw Error("Amount is required");if(void 0===currency)throw Error("Currency is required");this.amount=new Decimal(amount).toDecimalPlaces(currency.precision,Decimal.ROUND_FLOOR),this.currency=currency;var integerPart=function(value){return value.trunc()},fractionPart=function(value){return value.minus(integerPart(value))},format=function(value){return value.toFixed(currency.precision,currency.roundingMode)},validateCurrency=function(expected,actual){if(expected.id!==actual.id)throw new Error("Currencies must be the same for operands. Expected: "+expected.displayName+"; Actual: "+actual.displayName)},fromTokensToCoins=function(valueInTokens,currencyPrecision){return valueInTokens.mul(Math.pow(10,currencyPrecision)).trunc()},fromCoinsToTokens=function(valueInCoins,currencyPrecision){return valueInCoins.trunc().div(Math.pow(10,currencyPrecision))},formatWithThousandsSeparator=function(formattedAmount){var parts=formattedAmount.split(DECIMAL_SEPARATOR);return parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,THOUSANDS_SEPARATOR),parts.join(DECIMAL_SEPARATOR)};return this.formatAmount=function(stripZeroes,useThousandsSeparator){var result=stripZeroes?this.toTokens().toFixed(this.amount.decimalPlaces()):format(this.amount);return useThousandsSeparator?formatWithThousandsSeparator(result):result},this.formatIntegerPart=function(){return integerPart(this.amount).toFixed(0)},this.formatFractionPart=function(){var valueWithLeadingZero=format(fractionPart(this.amount));return valueWithLeadingZero.slice(1)},this.toTokens=function(){var result=fromCoinsToTokens(fromTokensToCoins(this.amount,this.currency.precision),this.currency.precision);return result.toNumber()},this.toCoins=function(){return fromTokensToCoins(this.amount,this.currency.precision).toNumber()},this.plus=function(money){return validateCurrency(this.currency,money.currency),new Money(this.amount.plus(money.amount),this.currency)},this.minus=function(money){return validateCurrency(this.currency,money.currency),new Money(this.amount.minus(money.amount),this.currency)},this.greaterThan=function(other){return validateCurrency(this.currency,other.currency),this.amount.greaterThan(other.amount)},this.greaterThanOrEqualTo=function(other){return validateCurrency(this.currency,other.currency),this.amount.greaterThanOrEqualTo(other.amount)},this.lessThan=function(other){return validateCurrency(this.currency,other.currency),this.amount.lessThan(other.amount)},this.lessThanOrEqualTo=function(other){return validateCurrency(this.currency,other.currency),this.amount.lessThanOrEqualTo(other.amount)},this.multiply=function(multiplier){if(!_.isNumber(multiplier))throw new Error("Number is expected");if(isNaN(multiplier))throw new Error("Multiplication by NaN is not supported");return new Money(this.amount.mul(multiplier),this.currency)},this.toString=function(){return this.formatAmount(!1,!0)+" "+this.currency.toString()},this};Money.fromTokens=function(amount,currency){return new Money(amount,currency)},Money.fromCoins=function(amount,currency){if(currency=currency||{},void 0===currency.precision)throw new Error("A valid currency must be provided");return amount=new Decimal(amount),amount=amount.div(Math.pow(10,currency.precision)),new Money(amount,currency)},Decimal.config({toExpNeg:-(Currency.WAVES.precision+1)}),function(){"use strict";angular.module("waves.core",["waves.core.services","waves.core.constants","waves.core.filter","waves.core.directives"])}(),function(){"use strict";angular.module("waves.core.constants",[]).constant("constants.network",{NETWORK_NAME:"devel",ADDRESS_VERSION:1,NETWORK_CODE:"T",INITIAL_NONCE:0}),angular.module("waves.core.constants").constant("constants.address",{RAW_ADDRESS_LENGTH:35,ADDRESS_PREFIX:"1W",MAINNET_ADDRESS_REGEXP:/^[a-zA-Z0-9]{35}$/}),angular.module("waves.core.constants").constant("constants.features",{ALIAS_VERSION:2}),angular.module("waves.core.constants").constant("constants.ui",{MINIMUM_PAYMENT_AMOUNT:1e-8,MINIMUM_TRANSACTION_FEE:.001,AMOUNT_DECIMAL_PLACES:8,JAVA_MAX_LONG:0x8000000000000000,MAXIMUM_ATTACHMENT_BYTE_SIZE:140}),angular.module("waves.core.constants").constant("constants.transactions",{PAYMENT_TRANSACTION_TYPE:2,ASSET_ISSUE_TRANSACTION_TYPE:3,ASSET_TRANSFER_TRANSACTION_TYPE:4,ASSET_REISSUE_TRANSACTION_TYPE:5,EXCHANGE_TRANSACTION_TYPE:7,START_LEASING_TRANSACTION_TYPE:8,CANCEL_LEASING_TRANSACTION_TYPE:9,CREATE_ALIAS_TRANSACTION_TYPE:10,MAKE_ASSET_NAME_UNIQUE_TRANSACTION_TYPE:11})}(),function(){"use strict";angular.module("waves.core.directives",[])}(),function(){"use strict";angular.module("waves.core.services",["waves.core","restangular"]).config(function(){String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{enumerable:!1,configurable:!1,writable:!1,value:function(searchString,position){return position=position||0,this.lastIndexOf(searchString,position)===position}}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(suffix){return this.indexOf(suffix,this.length-suffix.length)!==-1})})}(),function(){"use strict";angular.module("waves.core.filter",[])}(),function(){"use strict";angular.module("waves.core.services").constant("wordList",["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]); +function normalizeInput(input){var ret;if(input instanceof Uint8Array)ret=input;else if(input instanceof Buffer)ret=new Uint8Array(input);else{if("string"!=typeof input)throw new Error(ERROR_MSG_INPUT);ret=new Uint8Array(new Buffer(input,"utf8"))}return ret}function toHex(bytes){return Array.prototype.map.call(bytes,function(n){return(n<16?"0":"")+n.toString(16)}).join("")}function uint32ToHex(val){return(4294967296+val).toString(16).substring(1)}function debugPrint(label,arr,size){for(var msg="\n"+label+" = ",i=0;i=4294967296&&o1++,v[a]=o0,v[a+1]=o1}function ADD64AC(v,a,b0,b1){var o0=v[a]+b0;b0<0&&(o0+=4294967296);var o1=v[a+1]+b1;o0>=4294967296&&o1++,v[a]=o0,v[a+1]=o1}function B2B_GET32(arr,i){return arr[i]^arr[i+1]<<8^arr[i+2]<<16^arr[i+3]<<24}function B2B_G(a,b,c,d,ix,iy){var x0=m[ix],x1=m[ix+1],y0=m[iy],y1=m[iy+1];ADD64AA(v,a,b),ADD64AC(v,a,x0,x1);var xor0=v[d]^v[a],xor1=v[d+1]^v[a+1];v[d]=xor1,v[d+1]=xor0,ADD64AA(v,c,d),xor0=v[b]^v[c],xor1=v[b+1]^v[c+1],v[b]=xor0>>>24^xor1<<8,v[b+1]=xor1>>>24^xor0<<8,ADD64AA(v,a,b),ADD64AC(v,a,y0,y1),xor0=v[d]^v[a],xor1=v[d+1]^v[a+1],v[d]=xor0>>>16^xor1<<16,v[d+1]=xor1>>>16^xor0<<16,ADD64AA(v,c,d),xor0=v[b]^v[c],xor1=v[b+1]^v[c+1],v[b]=xor1>>>31^xor0<<1,v[b+1]=xor0>>>31^xor1<<1}function blake2b_compress(ctx,last){var i=0;for(i=0;i<16;i++)v[i]=ctx.h[i],v[i+16]=BLAKE2B_IV32[i];for(v[24]=v[24]^ctx.t,v[25]=v[25]^ctx.t/4294967296,last&&(v[28]=~v[28],v[29]=~v[29]),i=0;i<32;i++)m[i]=B2B_GET32(ctx.b,4*i);for(i=0;i<12;i++)B2B_G(0,8,16,24,SIGMA82[16*i+0],SIGMA82[16*i+1]),B2B_G(2,10,18,26,SIGMA82[16*i+2],SIGMA82[16*i+3]),B2B_G(4,12,20,28,SIGMA82[16*i+4],SIGMA82[16*i+5]),B2B_G(6,14,22,30,SIGMA82[16*i+6],SIGMA82[16*i+7]),B2B_G(0,10,20,30,SIGMA82[16*i+8],SIGMA82[16*i+9]),B2B_G(2,12,22,24,SIGMA82[16*i+10],SIGMA82[16*i+11]),B2B_G(4,14,16,26,SIGMA82[16*i+12],SIGMA82[16*i+13]),B2B_G(6,8,18,28,SIGMA82[16*i+14],SIGMA82[16*i+15]);for(i=0;i<16;i++)ctx.h[i]=ctx.h[i]^v[i]^v[i+16]}function blake2b_init(outlen,key){if(0===outlen||outlen>64)throw new Error("Illegal output length, expected 0 < length <= 64");if(key&&key.length>64)throw new Error("Illegal key, expected Uint8Array with 0 < length <= 64");for(var ctx={b:new Uint8Array(128),h:new Uint32Array(16),t:0,c:0,outlen:outlen},i=0;i<16;i++)ctx.h[i]=BLAKE2B_IV32[i];var keylen=key?key.length:0;return ctx.h[0]^=16842752^keylen<<8^outlen,key&&(blake2b_update(ctx,key),ctx.c=128),ctx}function blake2b_update(ctx,input){for(var i=0;i>2]>>8*(3&i);return out}function blake2b(input,key,outlen){outlen=outlen||64,input=normalizeInput(input);var ctx=blake2b_init(outlen,key);return blake2b_update(ctx,input),blake2b_final(ctx)}function blake2bHex(input,key,outlen){var output=blake2b(input,key,outlen);return toHex(output)}var ERROR_MSG_INPUT="Input must be an string, Buffer or Uint8Array",BLAKE2B_IV32=new Uint32Array([4089235720,1779033703,2227873595,3144134277,4271175723,1013904242,1595750129,2773480762,2917565137,1359893119,725511199,2600822924,4215389547,528734635,327033209,1541459225]),SIGMA8=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3,11,8,12,0,5,2,15,13,10,14,3,6,7,1,9,4,7,9,3,1,13,12,11,14,2,6,5,10,4,0,15,8,9,0,5,7,2,4,10,15,14,1,11,12,6,8,3,13,2,12,6,10,0,11,8,3,4,13,7,5,15,14,1,9,12,5,1,15,14,13,4,10,0,7,6,3,9,2,8,11,13,11,7,14,12,1,3,9,5,0,15,4,8,6,2,10,6,15,14,9,11,3,0,8,12,2,13,7,1,4,10,5,10,2,8,4,7,6,1,5,15,11,9,14,3,12,13,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,14,10,4,8,9,15,13,6,1,12,0,2,11,7,5,3],SIGMA82=new Uint8Array(SIGMA8.map(function(x){return 2*x})),v=new Uint32Array(32),m=new Uint32Array(32),converters=function(){var i,charToNibble={},nibbleToChar=[];for(i=0;i<=9;++i){var character=i.toString();charToNibble[character]=i,nibbleToChar.push(character)}for(i=10;i<=15;++i){var lowerChar=String.fromCharCode("a".charCodeAt(0)+i-10),upperChar=String.fromCharCode("A".charCodeAt(0)+i-10);charToNibble[lowerChar]=i,charToNibble[upperChar]=i,nibbleToChar.push(lowerChar)}return{byteArrayToHexString:function(bytes){for(var str="",i=0;i>4]+nibbleToChar[15&bytes[i]];return str},stringToByteArray:function(str){str=unescape(encodeURIComponent(str));for(var bytes=new Array(str.length),i=0;i=0;i--)temp1=value.multiply(new BigInteger("256",10)),temp2=temp1.add(new BigInteger(bytes[opt_startIndex+i].toString(10),10)),value=temp2;return value},byteArrayToWordArray:function(byteArray){for(var i=0,offset=0,word=0,len=byteArray.length,words=new Uint32Array((len/4|0)+(len%4==0?0:1));i1&&(word|=byteArray[i++]<<16),len%4>2&&(word|=byteArray[i++]<<8),words[offset]=word);var wordArray=new Object;return wordArray.sigBytes=len,wordArray.words=words,wordArray},wordArrayToByteArray:function(wordArray){return converters.wordArrayToByteArrayImpl(wordArray,!0)},wordArrayToByteArrayImpl:function(wordArray,isFirstByteHasSign){var len=wordArray.words.length;if(0==len)return new Array(0);var word,i,byteArray=new Array(wordArray.sigBytes),offset=0;for(i=0;i>24:word>>24&255,byteArray[offset++]=word>>16&255,byteArray[offset++]=word>>8&255,byteArray[offset++]=255&word;return word=wordArray.words[len-1],byteArray[offset++]=isFirstByteHasSign?word>>24:word>>24&255,wordArray.sigBytes%4==0&&(byteArray[offset++]=word>>16&255,byteArray[offset++]=word>>8&255,byteArray[offset++]=255&word),wordArray.sigBytes%4>1&&(byteArray[offset++]=word>>16&255),wordArray.sigBytes%4>2&&(byteArray[offset++]=word>>8&255),byteArray},byteArrayToString:function(bytes,opt_startIndex,length){if(0==length)return"";if(opt_startIndex&&length){this.checkBytesToIntInput(bytes,parseInt(length,10),parseInt(opt_startIndex,10));bytes=bytes.slice(opt_startIndex,opt_startIndex+length)}return decodeURIComponent(escape(String.fromCharCode.apply(null,bytes)))},byteArrayToShortArray:function(byteArray){var i,shortArray=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<16;i++)shortArray[i]=byteArray[2*i]|byteArray[2*i+1]<<8;return shortArray},shortArrayToByteArray:function(shortArray){var i,byteArray=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i<16;i++)byteArray[2*i]=255&shortArray[i],byteArray[2*i+1]=shortArray[i]>>8;return byteArray},shortArrayToHexString:function(ary){for(var res="",i=0;i>4&15]+nibbleToChar[15&ary[i]]+nibbleToChar[ary[i]>>12&15]+nibbleToChar[ary[i]>>8&15];return res},intToBytes_:function(x,numBytes,unsignedMax,opt_bigEndian){var signedMax=Math.floor(unsignedMax/2),negativeMax=(signedMax+1)*-1;if(x!=Math.floor(x)||xunsignedMax)throw new Error(x+" is not a "+8*numBytes+" bit integer");var current,bytes=[],numberType=x>=0&&x<=signedMax?0:x>signedMax&&x<=unsignedMax?1:2;2==numberType&&(x=x*-1-1);for(var i=0;i>=8;return bytes},int32ToBytes:function(x,opt_bigEndian){return converters.intToBytes_(x,4,4294967295,opt_bigEndian)},int16ToBytes:function(x,opt_bigEndian){return converters.intToBytes_(x,2,65535,opt_bigEndian)},wordArrayToByteArrayEx:function(wordArray){for(var words=wordArray.words,sigBytes=wordArray.sigBytes,u8=new Uint8Array(sigBytes),i=0;i>>2]>>>24-i%4*8&255;u8[i]=byte}return u8},byteArrayToWordArrayEx:function(u8arr){for(var len=u8arr.length,words=[],i=0;i>>2]|=(255&u8arr[i])<<24-i%4*8;return CryptoJS.lib.WordArray.create(words,len)}}}(),Currency=function(){function Currency(data){return data=data||{},this.id=data.id,this.displayName=data.displayName,this.shortName=data.shortName||data.displayName,this.precision=data.precision,this.verified=data.verified||!1,void 0!==data.roundingMode?this.roundingMode=data.roundingMode:this.roundingMode=Decimal.ROUND_HALF_UP,this}function invalidateCache(){currencyCache={},currencyCache[WAVES.id]=WAVES,currencyCache[BTC.id]=BTC,currencyCache[USD.id]=USD,currencyCache[EUR.id]=EUR,currencyCache[CNY.id]=CNY,currencyCache[WCT.id]=WCT,currencyCache[MRT.id]=MRT,currencyCache[WGO.id]=WGO,currencyCache[INCNT.id]=INCNT,currencyCache[RBX.id]=RBX,currencyCache[MER.id]=MER,currencyCache[BAt.id]=BAt,currencyCache[UPC.id]=UPC,currencyCache[KLN.id]=KLN,currencyCache[TKS.id]=TKS,currencyCache[WPN.id]=WPN,currencyCache[EFYT.id]=EFYT,currencyCache[MGO.id]=MGO,currencyCache[ETT.id]=ETT,currencyCache[ZRC.id]=ZRC,currencyCache[PBKX.id]=PBKX,currencyCache[PING.id]=PING,currencyCache[STAR.id]=STAR,currencyCache[BEAR.id]=BEAR,currencyCache[DAR.id]=DAR,currencyCache[GLIPP.id]=GLIPP,currencyCache[TNT.id]=TNT,currencyCache[BKT.id]=BKT,currencyCache[WGR.id]=WGR,currencyCache[PBT.id]=PBT}var currencyCache={};Currency.prototype.toString=function(){return this.shortName?this.shortName:this.displayName};var WAVES=new Currency({id:"",displayName:"Waves",shortName:"WAVES",precision:8,verified:!0}),BTC=new Currency({id:"8LQW8f7P5d5PZM7GtZEBgaqRPGSzS3DfPuiXrURJ4AJS",displayName:"Bitcoin",shortName:"BTC",precision:8,verified:!0}),USD=new Currency({id:"Ft8X1v1LTa1ABafufpaCWyVj8KkaxUWE6xBhW6sNFJck",displayName:"US Dollar",shortName:"USD",precision:2,verified:!0}),EUR=new Currency({id:"Gtb1WRznfchDnTh37ezoDTJ4wcoKaRsKqKjJjy7nm2zU",displayName:"Euro",shortName:"EUR",precision:2,verified:!0}),CNY=new Currency({id:"DEJbZipbKQjwEiRjx2AqQFucrj5CZ3rAc4ZvFM8nAsoA",displayName:"Chinese Yuan",shortName:"CNY",precision:2,verified:!0}),WCT=new Currency({id:"DHgwrRvVyqJsepd32YbBqUeDH4GJ1N984X8QoekjgH8J",displayName:"Waves Community",shortName:"WCT",precision:2,verified:!0}),MRT=new Currency({id:"4uK8i4ThRGbehENwa6MxyLtxAjAo1Rj9fduborGExarC",displayName:"Miner Reward",shortName:"MRT",precision:2,verified:!0}),WGO=new Currency({id:"4eT6R8R2XuTcBuTHiXVQsh2dN2mg3c2Qnp95EWBNHygg",displayName:"WavesGo",shortName:"WGO",precision:8,verified:!0}),INCNT=new Currency({id:"FLbGXzrpqkvucZqsHDcNxePTkh2ChmEi4GdBfDRRJVof",displayName:"Incent",shortName:"INCNT",precision:8,verified:!0}),RBX=new Currency({id:"AnERqFRffNVrCbviXbDEdzrU6ipXCP5Y1PKpFdRnyQAy",displayName:"Ripto Bux",shortName:"RBX",precision:8,verified:!0}),MER=new Currency({id:"HzfaJp8YQWLvQG4FkUxq2Q7iYWMYQ2k8UF89vVJAjWPj",displayName:"Mercury",shortName:"MER",precision:8,verified:!0}),BAt=new Currency({id:"APz41KyoKuBBh8t3oZjqvhbbsg6f63tpZM5Ck5LYx6h",displayName:"B@nkcoin",shortName:"B@",precision:8,verified:!0}),UPC=new Currency({id:"4764Pr9DpKQAHAjAVA2uqnrYidLMnM7vpDDLCDWujFTt",displayName:"Upcoin",shortName:"UPC",precision:2,verified:!0}),KLN=new Currency({id:"EYz8Zvs62D4d7F5ZgXHCWuzuFaZg63FYnfVQrTWQoLSK",displayName:"Kolion",shortName:"KLN",precision:4,verified:!0}),TKS=new Currency({id:"BDMRyZsmDZpgKhdM7fUTknKcUbVVkDpMcqEj31PUzjMy",displayName:"Tokes",shortName:"TKS",precision:8,verified:!0}),WPN=new Currency({id:"BkFyeRdrLquxds5FenxyonyfTwMVJJ6o6L7VTaPr5fs3",displayName:"WavesPool.NET",shortName:"WPN",precision:8,verified:!0}),EFYT=new Currency({id:"725Yv9oceWsB4GsYwyy4A52kEwyVrL5avubkeChSnL46",displayName:"Ergo First Year Token",shortName:"EFYT",precision:8,verified:!0}),MGO=new Currency({id:"2Y8eFFXDTkxgCvXbMT5K4J38cpDYYbQdciJEZb48vTDj",displayName:"Mobile Go Token",shortName:"MGO",precision:8,verified:!0}),ETT=new Currency({id:"8ofu3VpEaVCFjRqLLqzTMNs5URKUUQMrPp3k6oFmiCc6",displayName:"EncryptoTel",shortName:"ETT",precision:8,verified:!0}),ZRC=new Currency({id:"5ZPuAVxAwYvptbCgSVKdTzeud9dhbZ7vvxHVnZUoxf4h",displayName:"ZrCoin",shortName:"ZRC",precision:8,verified:!0}),PBKX=new Currency({id:"39wcSXj4MdRNRJXA88rVxF7EXWjYixaA3J3EteoN6DMM",displayName:"privateBANKX",shortName:"PBKX",precision:0,verified:!0}),PING=new Currency({id:"Bi4w2UuGRt2jAJFfRb8b3SwDUV5x8krCzX2zZHcRfPNc",displayName:"CryptoPing",shortName:"PING",precision:8,verified:!0}),STAR=new Currency({id:"BTfuGGoeA934Ta1fgcehQ5UhbHuWKj4don64ZNBuMT38",displayName:"Starrie",shortName:"STAR",precision:8,verified:!0}),BEAR=new Currency({id:"9gnc5UCY6RxtSi9FEJkcD57r5NBgdr45DVYtunyDLrgC",displayName:"BearWaves",shortName:"BEAR",precision:2,verified:!0}),DAR=new Currency({id:"K5JcgN8UdwNdh5sbdAuPMm5XEd5aFvoXaC3iHsHVz1d",displayName:"Darcrus",shortName:"DAR",precision:6,verified:!0}),GLIPP=new Currency({id:"9g5JiYThxFTxknSMA3TT5xoXG7GYjRrTJxxLeeoQ36kJ",displayName:"GLIPP",shortName:"GLIPP",precision:8,verified:!0}),TNT=new Currency({id:"6284oD9Aky3gZwwwqCFEZzvyx5qeeswAbYEtCHcMyKUR",displayName:"TrackNetToken",shortName:"TNT",precision:4,verified:!0}),BKT=new Currency({id:"9c7U7bXdP23oHpmGKwGfSsjFrpxdRcp3tp28qbfhEc3d",displayName:"$bkt",shortName:"BKT",precision:0,verified:!0}),WGR=new Currency({id:"8t8DMJFQu5GEhvAetiA8aHa3yPjxLj54sBnZsjnJ5dsw",displayName:"Wagerr",shortName:"WGR",precision:8,verified:!0}),PBT=new Currency({id:"EdDvbhk4wJ1kL6pMCq1V36GbQE2nGE7Metb87zbaY2JL",displayName:"Primalbase Token",shortName:"PBT",precision:4,verified:!0});return invalidateCache(),{create:function(data){return _.has(data,"id")?(currencyCache[data.id]||(currencyCache[data.id]=new Currency(data)),currencyCache[data.id]):new Currency(data)},invalidateCache:invalidateCache,WAVES:WAVES,BTC:BTC,USD:USD,EUR:EUR,CNY:CNY,WCT:WCT,MRT:MRT,WGO:WGO,INCNT:INCNT,RBX:RBX,MER:MER,BAt:BAt,UPC:UPC,KLN:KLN,TKS:TKS,WPN:WPN,EFYT:EFYT,MGO:MGO,ETT:ETT,ZRC:ZRC,PBKX:PBKX,PING:PING,STAR:STAR,BEAR:BEAR,DAR:DAR,GLIPP:GLIPP,TNT:TNT,BKT:BKT,WGR:WGR,PBT:PBT}}(),Money=function(amount,currency){var DECIMAL_SEPARATOR=".",THOUSANDS_SEPARATOR=",";if(void 0===amount)throw Error("Amount is required");if(void 0===currency)throw Error("Currency is required");this.amount=new Decimal(amount).toDecimalPlaces(currency.precision,Decimal.ROUND_FLOOR),this.currency=currency;var integerPart=function(value){return value.trunc()},fractionPart=function(value){return value.minus(integerPart(value))},format=function(value){return value.toFixed(currency.precision,currency.roundingMode)},validateCurrency=function(expected,actual){if(expected.id!==actual.id)throw new Error("Currencies must be the same for operands. Expected: "+expected.displayName+"; Actual: "+actual.displayName)},fromTokensToCoins=function(valueInTokens,currencyPrecision){return valueInTokens.mul(Math.pow(10,currencyPrecision)).trunc()},fromCoinsToTokens=function(valueInCoins,currencyPrecision){return valueInCoins.trunc().div(Math.pow(10,currencyPrecision))},formatWithThousandsSeparator=function(formattedAmount){var parts=formattedAmount.split(DECIMAL_SEPARATOR);return parts[0]=parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,THOUSANDS_SEPARATOR),parts.join(DECIMAL_SEPARATOR)};return this.formatAmount=function(stripZeroes,useThousandsSeparator){var result=stripZeroes?this.toTokens().toFixed(this.amount.decimalPlaces()):format(this.amount);return useThousandsSeparator?formatWithThousandsSeparator(result):result},this.formatIntegerPart=function(){return integerPart(this.amount).toFixed(0)},this.formatFractionPart=function(){var valueWithLeadingZero=format(fractionPart(this.amount));return valueWithLeadingZero.slice(1)},this.toTokens=function(){var result=fromCoinsToTokens(fromTokensToCoins(this.amount,this.currency.precision),this.currency.precision);return result.toNumber()},this.toCoins=function(){return fromTokensToCoins(this.amount,this.currency.precision).toNumber()},this.plus=function(money){return validateCurrency(this.currency,money.currency),new Money(this.amount.plus(money.amount),this.currency)},this.minus=function(money){return validateCurrency(this.currency,money.currency),new Money(this.amount.minus(money.amount),this.currency)},this.greaterThan=function(other){return validateCurrency(this.currency,other.currency),this.amount.greaterThan(other.amount)},this.greaterThanOrEqualTo=function(other){return validateCurrency(this.currency,other.currency),this.amount.greaterThanOrEqualTo(other.amount)},this.lessThan=function(other){return validateCurrency(this.currency,other.currency),this.amount.lessThan(other.amount)},this.lessThanOrEqualTo=function(other){return validateCurrency(this.currency,other.currency),this.amount.lessThanOrEqualTo(other.amount)},this.multiply=function(multiplier){if(!_.isNumber(multiplier))throw new Error("Number is expected");if(isNaN(multiplier))throw new Error("Multiplication by NaN is not supported");return new Money(this.amount.mul(multiplier),this.currency)},this.toString=function(){return this.formatAmount(!1,!0)+" "+this.currency.toString()},this};Money.fromTokens=function(amount,currency){return new Money(amount,currency)},Money.fromCoins=function(amount,currency){if(currency=currency||{},void 0===currency.precision)throw new Error("A valid currency must be provided");return amount=new Decimal(amount),amount=amount.div(Math.pow(10,currency.precision)),new Money(amount,currency)},Decimal.config({toExpNeg:-(Currency.WAVES.precision+1)}),function(){"use strict";angular.module("waves.core",["waves.core.services","waves.core.constants","waves.core.filter","waves.core.directives"])}(),function(){"use strict";angular.module("waves.core.constants",[]).constant("constants.network",{NETWORK_NAME:"devel",ADDRESS_VERSION:1,NETWORK_CODE:"T",INITIAL_NONCE:0}),angular.module("waves.core.constants").constant("constants.address",{RAW_ADDRESS_LENGTH:35,ADDRESS_PREFIX:"1W",MAINNET_ADDRESS_REGEXP:/^[a-zA-Z0-9]{35}$/}),angular.module("waves.core.constants").constant("constants.features",{ALIAS_VERSION:2}),angular.module("waves.core.constants").constant("constants.ui",{MINIMUM_PAYMENT_AMOUNT:1e-8,MINIMUM_TRANSACTION_FEE:.001,AMOUNT_DECIMAL_PLACES:8,JAVA_MAX_LONG:0x8000000000000000,MAXIMUM_ATTACHMENT_BYTE_SIZE:140}),angular.module("waves.core.constants").constant("constants.transactions",{PAYMENT_TRANSACTION_TYPE:2,ASSET_ISSUE_TRANSACTION_TYPE:3,ASSET_TRANSFER_TRANSACTION_TYPE:4,ASSET_REISSUE_TRANSACTION_TYPE:5,EXCHANGE_TRANSACTION_TYPE:7,START_LEASING_TRANSACTION_TYPE:8,CANCEL_LEASING_TRANSACTION_TYPE:9,CREATE_ALIAS_TRANSACTION_TYPE:10,MAKE_ASSET_NAME_UNIQUE_TRANSACTION_TYPE:11})}(),function(){"use strict";angular.module("waves.core.directives",[])}(),function(){"use strict";angular.module("waves.core.services",["waves.core","restangular"]).config(function(){String.prototype.startsWith||Object.defineProperty(String.prototype,"startsWith",{enumerable:!1,configurable:!1,writable:!1,value:function(searchString,position){return position=position||0,this.lastIndexOf(searchString,position)===position}}),"function"!=typeof String.prototype.endsWith&&(String.prototype.endsWith=function(suffix){return this.indexOf(suffix,this.length-suffix.length)!==-1})})}(),function(){"use strict";angular.module("waves.core.filter",[])}(),function(){"use strict";angular.module("waves.core.services").constant("wordList",["abandon","ability","able","about","above","absent","absorb","abstract","absurd","abuse","access","accident","account","accuse","achieve","acid","acoustic","acquire","across","act","action","actor","actress","actual","adapt","add","addict","address","adjust","admit","adult","advance","advice","aerobic","affair","afford","afraid","again","age","agent","agree","ahead","aim","air","airport","aisle","alarm","album","alcohol","alert","alien","all","alley","allow","almost","alone","alpha","already","also","alter","always","amateur","amazing","among","amount","amused","analyst","anchor","ancient","anger","angle","angry","animal","ankle","announce","annual","another","answer","antenna","antique","anxiety","any","apart","apology","appear","apple","approve","april","arch","arctic","area","arena","argue","arm","armed","armor","army","around","arrange","arrest","arrive","arrow","art","artefact","artist","artwork","ask","aspect","assault","asset","assist","assume","asthma","athlete","atom","attack","attend","attitude","attract","auction","audit","august","aunt","author","auto","autumn","average","avocado","avoid","awake","aware","away","awesome","awful","awkward","axis","baby","bachelor","bacon","badge","bag","balance","balcony","ball","bamboo","banana","banner","bar","barely","bargain","barrel","base","basic","basket","battle","beach","bean","beauty","because","become","beef","before","begin","behave","behind","believe","below","belt","bench","benefit","best","betray","better","between","beyond","bicycle","bid","bike","bind","biology","bird","birth","bitter","black","blade","blame","blanket","blast","bleak","bless","blind","blood","blossom","blouse","blue","blur","blush","board","boat","body","boil","bomb","bone","bonus","book","boost","border","boring","borrow","boss","bottom","bounce","box","boy","bracket","brain","brand","brass","brave","bread","breeze","brick","bridge","brief","bright","bring","brisk","broccoli","broken","bronze","broom","brother","brown","brush","bubble","buddy","budget","buffalo","build","bulb","bulk","bullet","bundle","bunker","burden","burger","burst","bus","business","busy","butter","buyer","buzz","cabbage","cabin","cable","cactus","cage","cake","call","calm","camera","camp","can","canal","cancel","candy","cannon","canoe","canvas","canyon","capable","capital","captain","car","carbon","card","cargo","carpet","carry","cart","case","cash","casino","castle","casual","cat","catalog","catch","category","cattle","caught","cause","caution","cave","ceiling","celery","cement","census","century","cereal","certain","chair","chalk","champion","change","chaos","chapter","charge","chase","chat","cheap","check","cheese","chef","cherry","chest","chicken","chief","child","chimney","choice","choose","chronic","chuckle","chunk","churn","cigar","cinnamon","circle","citizen","city","civil","claim","clap","clarify","claw","clay","clean","clerk","clever","click","client","cliff","climb","clinic","clip","clock","clog","close","cloth","cloud","clown","club","clump","cluster","clutch","coach","coast","coconut","code","coffee","coil","coin","collect","color","column","combine","come","comfort","comic","common","company","concert","conduct","confirm","congress","connect","consider","control","convince","cook","cool","copper","copy","coral","core","corn","correct","cost","cotton","couch","country","couple","course","cousin","cover","coyote","crack","cradle","craft","cram","crane","crash","crater","crawl","crazy","cream","credit","creek","crew","cricket","crime","crisp","critic","crop","cross","crouch","crowd","crucial","cruel","cruise","crumble","crunch","crush","cry","crystal","cube","culture","cup","cupboard","curious","current","curtain","curve","cushion","custom","cute","cycle","dad","damage","damp","dance","danger","daring","dash","daughter","dawn","day","deal","debate","debris","decade","december","decide","decline","decorate","decrease","deer","defense","define","defy","degree","delay","deliver","demand","demise","denial","dentist","deny","depart","depend","deposit","depth","deputy","derive","describe","desert","design","desk","despair","destroy","detail","detect","develop","device","devote","diagram","dial","diamond","diary","dice","diesel","diet","differ","digital","dignity","dilemma","dinner","dinosaur","direct","dirt","disagree","discover","disease","dish","dismiss","disorder","display","distance","divert","divide","divorce","dizzy","doctor","document","dog","doll","dolphin","domain","donate","donkey","donor","door","dose","double","dove","draft","dragon","drama","drastic","draw","dream","dress","drift","drill","drink","drip","drive","drop","drum","dry","duck","dumb","dune","during","dust","dutch","duty","dwarf","dynamic","eager","eagle","early","earn","earth","easily","east","easy","echo","ecology","economy","edge","edit","educate","effort","egg","eight","either","elbow","elder","electric","elegant","element","elephant","elevator","elite","else","embark","embody","embrace","emerge","emotion","employ","empower","empty","enable","enact","end","endless","endorse","enemy","energy","enforce","engage","engine","enhance","enjoy","enlist","enough","enrich","enroll","ensure","enter","entire","entry","envelope","episode","equal","equip","era","erase","erode","erosion","error","erupt","escape","essay","essence","estate","eternal","ethics","evidence","evil","evoke","evolve","exact","example","excess","exchange","excite","exclude","excuse","execute","exercise","exhaust","exhibit","exile","exist","exit","exotic","expand","expect","expire","explain","expose","express","extend","extra","eye","eyebrow","fabric","face","faculty","fade","faint","faith","fall","false","fame","family","famous","fan","fancy","fantasy","farm","fashion","fat","fatal","father","fatigue","fault","favorite","feature","february","federal","fee","feed","feel","female","fence","festival","fetch","fever","few","fiber","fiction","field","figure","file","film","filter","final","find","fine","finger","finish","fire","firm","first","fiscal","fish","fit","fitness","fix","flag","flame","flash","flat","flavor","flee","flight","flip","float","flock","floor","flower","fluid","flush","fly","foam","focus","fog","foil","fold","follow","food","foot","force","forest","forget","fork","fortune","forum","forward","fossil","foster","found","fox","fragile","frame","frequent","fresh","friend","fringe","frog","front","frost","frown","frozen","fruit","fuel","fun","funny","furnace","fury","future","gadget","gain","galaxy","gallery","game","gap","garage","garbage","garden","garlic","garment","gas","gasp","gate","gather","gauge","gaze","general","genius","genre","gentle","genuine","gesture","ghost","giant","gift","giggle","ginger","giraffe","girl","give","glad","glance","glare","glass","glide","glimpse","globe","gloom","glory","glove","glow","glue","goat","goddess","gold","good","goose","gorilla","gospel","gossip","govern","gown","grab","grace","grain","grant","grape","grass","gravity","great","green","grid","grief","grit","grocery","group","grow","grunt","guard","guess","guide","guilt","guitar","gun","gym","habit","hair","half","hammer","hamster","hand","happy","harbor","hard","harsh","harvest","hat","have","hawk","hazard","head","health","heart","heavy","hedgehog","height","hello","helmet","help","hen","hero","hidden","high","hill","hint","hip","hire","history","hobby","hockey","hold","hole","holiday","hollow","home","honey","hood","hope","horn","horror","horse","hospital","host","hotel","hour","hover","hub","huge","human","humble","humor","hundred","hungry","hunt","hurdle","hurry","hurt","husband","hybrid","ice","icon","idea","identify","idle","ignore","ill","illegal","illness","image","imitate","immense","immune","impact","impose","improve","impulse","inch","include","income","increase","index","indicate","indoor","industry","infant","inflict","inform","inhale","inherit","initial","inject","injury","inmate","inner","innocent","input","inquiry","insane","insect","inside","inspire","install","intact","interest","into","invest","invite","involve","iron","island","isolate","issue","item","ivory","jacket","jaguar","jar","jazz","jealous","jeans","jelly","jewel","job","join","joke","journey","joy","judge","juice","jump","jungle","junior","junk","just","kangaroo","keen","keep","ketchup","key","kick","kid","kidney","kind","kingdom","kiss","kit","kitchen","kite","kitten","kiwi","knee","knife","knock","know","lab","label","labor","ladder","lady","lake","lamp","language","laptop","large","later","latin","laugh","laundry","lava","law","lawn","lawsuit","layer","lazy","leader","leaf","learn","leave","lecture","left","leg","legal","legend","leisure","lemon","lend","length","lens","leopard","lesson","letter","level","liar","liberty","library","license","life","lift","light","like","limb","limit","link","lion","liquid","list","little","live","lizard","load","loan","lobster","local","lock","logic","lonely","long","loop","lottery","loud","lounge","love","loyal","lucky","luggage","lumber","lunar","lunch","luxury","lyrics","machine","mad","magic","magnet","maid","mail","main","major","make","mammal","man","manage","mandate","mango","mansion","manual","maple","marble","march","margin","marine","market","marriage","mask","mass","master","match","material","math","matrix","matter","maximum","maze","meadow","mean","measure","meat","mechanic","medal","media","melody","melt","member","memory","mention","menu","mercy","merge","merit","merry","mesh","message","metal","method","middle","midnight","milk","million","mimic","mind","minimum","minor","minute","miracle","mirror","misery","miss","mistake","mix","mixed","mixture","mobile","model","modify","mom","moment","monitor","monkey","monster","month","moon","moral","more","morning","mosquito","mother","motion","motor","mountain","mouse","move","movie","much","muffin","mule","multiply","muscle","museum","mushroom","music","must","mutual","myself","mystery","myth","naive","name","napkin","narrow","nasty","nation","nature","near","neck","need","negative","neglect","neither","nephew","nerve","nest","net","network","neutral","never","news","next","nice","night","noble","noise","nominee","noodle","normal","north","nose","notable","note","nothing","notice","novel","now","nuclear","number","nurse","nut","oak","obey","object","oblige","obscure","observe","obtain","obvious","occur","ocean","october","odor","off","offer","office","often","oil","okay","old","olive","olympic","omit","once","one","onion","online","only","open","opera","opinion","oppose","option","orange","orbit","orchard","order","ordinary","organ","orient","original","orphan","ostrich","other","outdoor","outer","output","outside","oval","oven","over","own","owner","oxygen","oyster","ozone","pact","paddle","page","pair","palace","palm","panda","panel","panic","panther","paper","parade","parent","park","parrot","party","pass","patch","path","patient","patrol","pattern","pause","pave","payment","peace","peanut","pear","peasant","pelican","pen","penalty","pencil","people","pepper","perfect","permit","person","pet","phone","photo","phrase","physical","piano","picnic","picture","piece","pig","pigeon","pill","pilot","pink","pioneer","pipe","pistol","pitch","pizza","place","planet","plastic","plate","play","please","pledge","pluck","plug","plunge","poem","poet","point","polar","pole","police","pond","pony","pool","popular","portion","position","possible","post","potato","pottery","poverty","powder","power","practice","praise","predict","prefer","prepare","present","pretty","prevent","price","pride","primary","print","priority","prison","private","prize","problem","process","produce","profit","program","project","promote","proof","property","prosper","protect","proud","provide","public","pudding","pull","pulp","pulse","pumpkin","punch","pupil","puppy","purchase","purity","purpose","purse","push","put","puzzle","pyramid","quality","quantum","quarter","question","quick","quit","quiz","quote","rabbit","raccoon","race","rack","radar","radio","rail","rain","raise","rally","ramp","ranch","random","range","rapid","rare","rate","rather","raven","raw","razor","ready","real","reason","rebel","rebuild","recall","receive","recipe","record","recycle","reduce","reflect","reform","refuse","region","regret","regular","reject","relax","release","relief","rely","remain","remember","remind","remove","render","renew","rent","reopen","repair","repeat","replace","report","require","rescue","resemble","resist","resource","response","result","retire","retreat","return","reunion","reveal","review","reward","rhythm","rib","ribbon","rice","rich","ride","ridge","rifle","right","rigid","ring","riot","ripple","risk","ritual","rival","river","road","roast","robot","robust","rocket","romance","roof","rookie","room","rose","rotate","rough","round","route","royal","rubber","rude","rug","rule","run","runway","rural","sad","saddle","sadness","safe","sail","salad","salmon","salon","salt","salute","same","sample","sand","satisfy","satoshi","sauce","sausage","save","say","scale","scan","scare","scatter","scene","scheme","school","science","scissors","scorpion","scout","scrap","screen","script","scrub","sea","search","season","seat","second","secret","section","security","seed","seek","segment","select","sell","seminar","senior","sense","sentence","series","service","session","settle","setup","seven","shadow","shaft","shallow","share","shed","shell","sheriff","shield","shift","shine","ship","shiver","shock","shoe","shoot","shop","short","shoulder","shove","shrimp","shrug","shuffle","shy","sibling","sick","side","siege","sight","sign","silent","silk","silly","silver","similar","simple","since","sing","siren","sister","situate","six","size","skate","sketch","ski","skill","skin","skirt","skull","slab","slam","sleep","slender","slice","slide","slight","slim","slogan","slot","slow","slush","small","smart","smile","smoke","smooth","snack","snake","snap","sniff","snow","soap","soccer","social","sock","soda","soft","solar","soldier","solid","solution","solve","someone","song","soon","sorry","sort","soul","sound","soup","source","south","space","spare","spatial","spawn","speak","special","speed","spell","spend","sphere","spice","spider","spike","spin","spirit","split","spoil","sponsor","spoon","sport","spot","spray","spread","spring","spy","square","squeeze","squirrel","stable","stadium","staff","stage","stairs","stamp","stand","start","state","stay","steak","steel","stem","step","stereo","stick","still","sting","stock","stomach","stone","stool","story","stove","strategy","street","strike","strong","struggle","student","stuff","stumble","style","subject","submit","subway","success","such","sudden","suffer","sugar","suggest","suit","summer","sun","sunny","sunset","super","supply","supreme","sure","surface","surge","surprise","surround","survey","suspect","sustain","swallow","swamp","swap","swarm","swear","sweet","swift","swim","swing","switch","sword","symbol","symptom","syrup","system","table","tackle","tag","tail","talent","talk","tank","tape","target","task","taste","tattoo","taxi","teach","team","tell","ten","tenant","tennis","tent","term","test","text","thank","that","theme","then","theory","there","they","thing","this","thought","three","thrive","throw","thumb","thunder","ticket","tide","tiger","tilt","timber","time","tiny","tip","tired","tissue","title","toast","tobacco","today","toddler","toe","together","toilet","token","tomato","tomorrow","tone","tongue","tonight","tool","tooth","top","topic","topple","torch","tornado","tortoise","toss","total","tourist","toward","tower","town","toy","track","trade","traffic","tragic","train","transfer","trap","trash","travel","tray","treat","tree","trend","trial","tribe","trick","trigger","trim","trip","trophy","trouble","truck","true","truly","trumpet","trust","truth","try","tube","tuition","tumble","tuna","tunnel","turkey","turn","turtle","twelve","twenty","twice","twin","twist","two","type","typical","ugly","umbrella","unable","unaware","uncle","uncover","under","undo","unfair","unfold","unhappy","uniform","unique","unit","universe","unknown","unlock","until","unusual","unveil","update","upgrade","uphold","upon","upper","upset","urban","urge","usage","use","used","useful","useless","usual","utility","vacant","vacuum","vague","valid","valley","valve","van","vanish","vapor","various","vast","vault","vehicle","velvet","vendor","venture","venue","verb","verify","version","very","vessel","veteran","viable","vibrant","vicious","victory","video","view","village","vintage","violin","virtual","virus","visa","visit","visual","vital","vivid","vocal","voice","void","volcano","volume","vote","voyage","wage","wagon","wait","walk","wall","walnut","want","warfare","warm","warrior","wash","wasp","waste","water","wave","way","wealth","weapon","wear","weasel","weather","web","wedding","weekend","weird","welcome","west","wet","whale","what","wheat","wheel","when","where","whip","whisper","wide","width","wife","wild","will","win","window","wine","wing","wink","winner","winter","wire","wisdom","wise","wish","witness","wolf","woman","wonder","wood","wool","word","work","world","worry","worth","wrap","wreck","wrestle","wrist","write","wrong","yard","year","yellow","you","young","youth","zebra","zero","zone","zoo"]); }(),function(){"use strict";angular.module("waves.core.services").service("passPhraseService",["wordList","$window",function(wordList,$window){this.generate=function(){var crypto=$window.crypto||$window.msCrypto,bits=160,wordCount=2048,random=new Uint32Array(bits/32),passPhrase="";crypto.getRandomValues(random);for(var x,w1,w2,w3,i=0,l=random.length,n=wordCount,words=[];i>0)+w1)%n,w3=(((x/n>>0)/n>>0)+w2)%n,words.push(wordList[w1]),words.push(wordList[w2]),words.push(wordList[w3]);return passPhrase=words.join(" "),crypto.getRandomValues(random),passPhrase}}])}(),function(){"use strict";angular.module("waves.core.services").service("accountService",["storageService","$q",function(storageService,$q){function removeByIndex(state,index){return state.accounts.splice(index,1),state}function getState(){return angular.isUndefined(stateCache)?storageService.loadState().then(function(state){return state=state||{},state.accounts||(state.accounts=[]),stateCache=state}):$q.when(stateCache)}var stateCache;this.addAccount=function(accountInfo){return getState().then(function(state){return state.accounts.push(accountInfo),state}).then(storageService.saveState)},this.removeAccountByIndex=function(index){return getState().then(function(state){return removeByIndex(state,index)}).then(storageService.saveState)},this.removeAccount=function(account){return getState().then(function(state){var index=_.findIndex(state.accounts,{address:account.address});return removeByIndex(state,index)}).then(storageService.saveState)},this.getAccounts=function(){return getState().then(function(state){return state.accounts})}}])}(),function(){"use strict";angular.module("waves.core.services").service("addressService",["constants.address",function(constants){this.cleanupOptionalPrefix=function(displayAddress){if(displayAddress.length<=30)return displayAddress;var address=displayAddress,prefixLen=constants.ADDRESS_PREFIX.length;return(address.length>constants.RAW_ADDRESS_LENGTH||address.startsWith(constants.ADDRESS_PREFIX))&&(address=address.substr(prefixLen,address.length-prefixLen)),address},this.validateAddress=function(address){var cleanAddress=this.cleanupOptionalPrefix(address);return constants.MAINNET_ADDRESS_REGEXP.test(cleanAddress)}}])}(),function(){"use strict";angular.module("waves.core.services").service("cryptoService",["constants.network","$window",function(constants,window){var getNetworkIdByte=function(){return 255&constants.NETWORK_CODE.charCodeAt(0)},appendUint8Arrays=function(array1,array2){var tmp=new Uint8Array(array1.length+array2.length);return tmp.set(array1,0),tmp.set(array2,array1.length),tmp},appendNonce=function(originalSeed){var nonce=new Uint8Array(converters.int32ToBytes(constants.INITIAL_NONCE,!0));return appendUint8Arrays(nonce,originalSeed)},sha256=function(message){var bytes;bytes="string"==typeof message?converters.stringToByteArray(message):message;var wordArray=converters.byteArrayToWordArrayEx(new Uint8Array(bytes)),resultWordArray=CryptoJS.SHA256(wordArray);return converters.wordArrayToByteArrayEx(resultWordArray)},prepareKey=function(key){for(var rounds=1e3,digest=key,i=0;i=0;k--)bytes[k]=255&value,value/=256;return bytes},this.shortToByteArray=function(value){return converters.int16ToBytes(value,!0)},this.base58StringToByteArray=function(base58String){for(var decoded=cryptoService.base58.decode(base58String),result=[],i=0;i