edge-currency-accountbased 2.2.3 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/android/src/main/assets/edge-currency-accountbased/234.chunk.js +35 -0
- package/android/src/main/assets/edge-currency-accountbased/248.chunk.js +35 -0
- package/android/src/main/assets/edge-currency-accountbased/336.chunk.js +9 -0
- package/android/src/main/assets/edge-currency-accountbased/612.chunk.js +1 -0
- package/android/src/main/assets/edge-currency-accountbased/{945.chunk.js → 814.chunk.js} +8 -8
- package/android/src/main/assets/edge-currency-accountbased/935.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/94.chunk.js +8 -0
- package/android/src/main/assets/edge-currency-accountbased/algorand.chunk.js +2 -2
- package/android/src/main/assets/edge-currency-accountbased/bnb.chunk.js +4 -4
- package/android/src/main/assets/edge-currency-accountbased/edge-currency-accountbased.js +10 -10
- package/android/src/main/assets/edge-currency-accountbased/eos.chunk.js +12 -12
- package/android/src/main/assets/edge-currency-accountbased/ethereum.chunk.js +5 -5
- package/android/src/main/assets/edge-currency-accountbased/filecoin.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/fio.chunk.js +2 -2
- package/android/src/main/assets/edge-currency-accountbased/hedera.chunk.js +2 -2
- package/android/src/main/assets/edge-currency-accountbased/polkadot.chunk.js +2 -2
- package/android/src/main/assets/edge-currency-accountbased/ripple.chunk.js +5 -5
- package/android/src/main/assets/edge-currency-accountbased/solana.chunk.js +3 -3
- package/android/src/main/assets/edge-currency-accountbased/stellar.chunk.js +4 -4
- package/android/src/main/assets/edge-currency-accountbased/tezos.chunk.js +3 -3
- package/android/src/main/assets/edge-currency-accountbased/tron.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/zcash.chunk.js +2 -2
- package/lib/algorand/AlgorandEngine.js +46 -24
- package/lib/algorand/algorandInfo.js +8 -7
- package/lib/algorand/algorandTestnetInfo.js +8 -7
- package/lib/binance/BinanceEngine.js +19 -17
- package/lib/binance/binanceInfo.js +10 -7
- package/lib/common/types.js +10 -0
- package/lib/common/upgradeMemos.js +52 -0
- package/lib/common/utf8.js +32 -0
- package/lib/common/validateMemos.js +107 -0
- package/lib/eos/EosEngine.js +42 -41
- package/lib/eos/info/eosCommonInfo.js +10 -0
- package/lib/eos/info/eosInfo.js +15 -17
- package/lib/eos/info/telosInfo.js +15 -15
- package/lib/eos/info/waxInfo.js +15 -16
- package/lib/ethereum/EthereumEngine.js +13 -12
- package/lib/ethereum/EthereumNetwork.js +16 -14
- package/lib/ethereum/info/avalancheInfo.js +17 -7
- package/lib/ethereum/info/binancesmartchainInfo.js +9 -7
- package/lib/ethereum/info/celoInfo.js +9 -7
- package/lib/ethereum/info/ethDevInfo.js +9 -7
- package/lib/ethereum/info/ethereumCommonInfo.js +10 -0
- package/lib/ethereum/info/ethereumInfo.js +17 -7
- package/lib/ethereum/info/ethereumclassicInfo.js +9 -7
- package/lib/ethereum/info/ethereumpowInfo.js +9 -7
- package/lib/ethereum/info/fantomInfo.js +9 -7
- package/lib/ethereum/info/goerliInfo.js +9 -7
- package/lib/ethereum/info/kovanInfo.js +9 -7
- package/lib/ethereum/info/optimismInfo.js +9 -7
- package/lib/ethereum/info/polygonInfo.js +9 -7
- package/lib/ethereum/info/pulsechainInfo.js +9 -7
- package/lib/ethereum/info/rinkebyInfo.js +9 -7
- package/lib/ethereum/info/ropstenInfo.js +9 -7
- package/lib/ethereum/info/rskInfo.js +9 -7
- package/lib/ethereum/info/zksyncInfo.js +9 -7
- package/lib/filecoin/FilecoinEngine.js +125 -87
- package/lib/filecoin/Filfox.js +68 -1
- package/lib/filecoin/filecoinInfo.js +5 -7
- package/lib/fio/FioEngine.js +25 -17
- package/lib/fio/fioInfo.js +8 -6
- package/lib/hedera/HederaEngine.js +22 -18
- package/lib/hedera/hederaInfo.js +11 -8
- package/lib/hedera/hederaTestnetInfo.js +6 -6
- package/lib/polkadot/PolkadotEngine.js +15 -9
- package/lib/polkadot/info/liberlandInfo.js +3 -2
- package/lib/polkadot/info/liberlandTestnetInfo.js +3 -2
- package/lib/polkadot/info/polkadotInfo.js +8 -5
- package/lib/ripple/RippleEngine.js +53 -75
- package/lib/ripple/rippleInfo.js +16 -8
- package/lib/solana/SolanaEngine.js +17 -12
- package/lib/solana/solanaInfo.js +9 -5
- package/lib/stellar/StellarEngine.js +31 -22
- package/lib/stellar/stellarInfo.js +16 -7
- package/lib/tezos/TezosEngine.js +17 -11
- package/lib/tezos/tezosInfo.js +8 -5
- package/lib/tron/TronEngine.js +85 -68
- package/lib/tron/tronInfo.js +8 -7
- package/lib/zcash/ZcashEngine.js +23 -23
- package/lib/zcash/piratechainInfo.js +8 -6
- package/lib/zcash/zcashInfo.js +7 -6
- package/package.json +2 -2
- package/android/src/main/assets/edge-currency-accountbased/124.chunk.js +0 -35
- package/android/src/main/assets/edge-currency-accountbased/223.chunk.js +0 -9
- package/android/src/main/assets/edge-currency-accountbased/650.chunk.js +0 -1
- package/android/src/main/assets/edge-currency-accountbased/689.chunk.js +0 -8
- package/android/src/main/assets/edge-currency-accountbased/826.chunk.js +0 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[935],{18595:function(R,s,O){var i;i={value:!0};var r=O(47630),E=O(79911);const P=r.asCodec(t=>E.base16.parse(r.asString(t)),t=>E.base16.stringify(t).toLowerCase()),I=r.asCodec(t=>E.base32.parse(r.asString(t),{loose:!0}),t=>E.base32.stringify(t,{pad:!1})),c=r.asCodec(t=>E.base64.parse(r.asString(t)),t=>E.base64.stringify(t)),j=r.asObject({voucherId:r.asString,activates:r.asDate,created:r.asDate,ip:r.asString,ipDescription:r.asString,deviceDescription:r.asOptional(r.asString)}),T=r.asObject({min_length:r.asNumber,category:r.asValue("address","must","numeric","recovery2","string"),question:r.asString}),l=r.asObject({encryptionType:r.asNumber,data_base64:r.asString,iv_hex:r.asString}),m=r.asObject({salt_hex:P,n:r.asNumber,r:r.asNumber,p:r.asNumber}),B=r.asObject({loginRequest:r.asOptional(r.asObject({appId:r.asString}).withRest),publicKey:c,timeout:r.asOptional(r.asNumber)}).withRest,M=r.asObject({publicKey:c,box:l}),d=r.asArray(c);r.asObject({data:r.asUnknown,deviceDescription:r.asOptional(r.asString),otp:r.asOptional(r.asString),voucherId:r.asOptional(r.asString),voucherAuth:r.asOptional(c),loginId:r.asOptional(c),loginAuth:r.asOptional(c),userId:r.asOptional(c),passwordAuth:r.asOptional(c),pin2Id:r.asOptional(c),pin2Auth:r.asOptional(c),recovery2Id:r.asOptional(c),recovery2Auth:r.asOptional(d),loginIds:r.asOptional(r.asArray(c)),otpResetAuth:r.asOptional(r.asString),did:r.asOptional(r.asString),l1:r.asOptional(c),lp1:r.asOptional(c),lpin1:r.asOptional(c),lra1:r.asOptional(c),recoveryAuth:r.asOptional(c)}),r.asObject({results:r.asOptional(r.asUnknown),status_code:r.asNumber,message:r.asString}),r.asObject({otpTimeout:r.asOptional(r.asNumber,7*24*60*60),otpKey:I}),r.asObject({passwordAuth:c,passwordAuthBox:l,passwordAuthSnrp:m,passwordBox:l,passwordKeySnrp:m}),r.asObject({pin2Id:c}),r.asObject({pin2Id:r.asOptional(c),pin2Auth:r.asOptional(c),pin2Box:r.asOptional(l),pin2KeyBox:r.asOptional(l),pin2TextBox:l}),r.asObject({recovery2Id:c}),r.asObject({recovery2Id:c,recovery2Auth:d,recovery2Box:l,recovery2KeyBox:l,question2Box:l}),r.asObject({loginAuthBox:l,loginAuth:c}),r.asObject({userId:c,userTextBox:l}),r.asObject({approvedVouchers:r.asOptional(r.asArray(r.asString)),rejectedVouchers:r.asOptional(r.asArray(r.asString))}),r.asObject({keyBoxes:r.asArray(l),newSyncKeys:r.asOptional(r.asArray(r.asString),()=>[])}),r.asObject({appId:r.asString,loginId:c,parentBox:r.asOptional(l)}).withRest,r.asObject({request:B,replies:r.asArray(M)});const a=r.asObject({appId:r.asString,created:r.asDate,loginId:c,children:r.asOptional(r.asArray(t=>a(t))),parentBox:r.asOptional(l),otpKey:r.asOptional(I),otpResetDate:r.asOptional(r.asDate),otpTimeout:r.asOptional(r.asNumber),passwordAuthBox:r.asOptional(l),passwordAuthSnrp:r.asOptional(m),passwordBox:r.asOptional(l),passwordKeySnrp:r.asOptional(m),pin2Box:r.asOptional(l),pin2KeyBox:r.asOptional(l),pin2TextBox:r.asOptional(l),question2Box:r.asOptional(l),recovery2Box:r.asOptional(l),recovery2KeyBox:r.asOptional(l),loginAuthBox:r.asOptional(l),userId:r.asOptional(c),userTextBox:r.asOptional(l),pendingVouchers:r.asOptional(r.asArray(j),()=>[]),keyBoxes:r.asOptional(r.asArray(l)),mnemonicBox:r.asOptional(l),rootKeyBox:r.asOptional(l),syncKeyBox:r.asOptional(l)});r.asArray(r.asObject({loginId:c,otpResetPending:r.asOptional(r.asBoolean,!1),pendingVouchers:r.asOptional(r.asArray(j),()=>[]),recovery2Corrupt:r.asOptional(r.asBoolean,!1)}));const u=r.asObject({login_id:r.asOptional(c),otp_reset_auth:r.asOptional(r.asString),otp_timeout_date:r.asOptional(r.asDate),reason:r.asOptional(r.asValue("ip","otp"),"otp"),voucher_activates:r.asOptional(r.asDate),voucher_auth:r.asOptional(c),voucher_id:r.asOptional(r.asString)});r.asObject({otpResetDate:r.asDate});const C=r.asObject({wait_seconds:r.asOptional(r.asNumber)});r.asArray(T),r.asObject({question2Box:l}),r.asObject({passwordAuthSnrp:r.asOptional(m),questionBox:r.asOptional(l),questionKeySnrp:r.asOptional(m),recoveryAuthSnrp:r.asOptional(m)});function g(t){const{currencyInfo:e,allTokens:o}=t;let n=t.tokenId;n==null&&t.currencyCode!=null&&t.currencyCode!==e.currencyCode&&(n=Object.keys(o).find(f=>o[f].currencyCode===t.currencyCode));const{currencyCode:p}=n==null?e:o[n];return{currencyCode:p,tokenId:n}}function v(t="Please send a larger amount"){if(!(this instanceof v))throw new TypeError("Class constructor DustSpendError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:v,configurable:!0,writable:!0}),e}return o(t),e.name="DustSpendError",e}function _(t={}){if(!(this instanceof _))throw new TypeError("Class constructor InsufficientFundsError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:_,configurable:!0,writable:!0}),e}if(typeof t=="string")t.length>5?o(t):(o(`Insufficient ${t}`),e.currencyCode=t);else{const{currencyCode:n,networkFee:p}=t;o(`Insufficient ${n!=null?n:"funds"}`),e.currencyCode=n,e.networkFee=p}return e.name="InsufficientFundsError",e}function b(t="Cannot reach the network"){if(!(this instanceof b))throw new TypeError("Class constructor NetworkError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:b,configurable:!0,writable:!0}),e}return o(t),e.name="NetworkError",e}function y(t="Unable to create zero-amount transaction."){if(!(this instanceof y))throw new TypeError("Class constructor NoAmountSpecifiedError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:y,configurable:!0,writable:!0}),e}return o(t),e.name="NoAmountSpecifiedError",e}function S(t="The application is too old. Please upgrade."){if(!(this instanceof S))throw new TypeError("Class constructor ObsoleteApiError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:S,configurable:!0,writable:!0}),e}return o(t),e.name="ObsoleteApiError",e}function h(t,e="Invalid OTP token"){if(!(this instanceof h))throw new TypeError("Class constructor OtpError cannot be invoked without 'new'");var o;function n(f){return o=new Error(f),Object.defineProperty(o,"constructor",{value:h,configurable:!0,writable:!0}),o}n(e),o.name="OtpError",o.reason="otp";const p=r.asMaybe(u)(t);if(p!=null)return p.login_id!=null&&(o.loginId=E.base64.stringify(p.login_id)),o.resetToken=p.otp_reset_auth,o.reason=p.reason,o.resetDate=p.otp_timeout_date,o.voucherActivates=p.voucher_activates,p.voucher_auth!=null&&(o.voucherAuth=E.base64.stringify(p.voucher_auth)),o.voucherId=p.voucher_id,o}function A(t,e="Invalid password"){if(!(this instanceof A))throw new TypeError("Class constructor PasswordError cannot be invoked without 'new'");var o;function n(f){return o=new Error(f),Object.defineProperty(o,"constructor",{value:A,configurable:!0,writable:!0}),o}n(e),o.name="PasswordError";const p=r.asMaybe(C)(t);if(p!=null)return o.wait=p.wait_seconds,o}function D(t="Not enough confirmed funds"){if(!(this instanceof D))throw new TypeError("Class constructor PendingFundsError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:D,configurable:!0,writable:!0}),e}return o(t),e.name="PendingFundsError",e}function N(t="Wallets can not be the same currency"){if(!(this instanceof N))throw new TypeError("Class constructor SameCurrencyError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:N,configurable:!0,writable:!0}),e}return o(t),e.name="SameCurrencyError",e}function $(t="Spending to self"){if(!(this instanceof $))throw new TypeError("Class constructor SpendToSelfError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:$,configurable:!0,writable:!0}),e}return o(t),e.name="SpendToSelfError",e}function L(t,e,o="from"){if(!(this instanceof L))throw new TypeError("Class constructor SwapAboveLimitError cannot be invoked without 'new'");var n;function p(f){return n=new Error(f),Object.defineProperty(n,"constructor",{value:L,configurable:!0,writable:!0}),n}return p("Amount is too high"),n.name="SwapAboveLimitError",n.pluginId=t.pluginId,n.nativeMax=e,n.direction=o,n}function F(t,e,o="from"){if(!(this instanceof F))throw new TypeError("Class constructor SwapBelowLimitError cannot be invoked without 'new'");var n;function p(f){return n=new Error(f),Object.defineProperty(n,"constructor",{value:F,configurable:!0,writable:!0}),n}return p("Amount is too low"),n.name="SwapBelowLimitError",n.pluginId=t.pluginId,n.nativeMin=e,n.direction=o,n}function U(t,e,o){if(!(this instanceof U))throw new TypeError("Class constructor SwapCurrencyError cannot be invoked without 'new'");var n;function p(f){return n=new Error(f),Object.defineProperty(n,"constructor",{value:U,configurable:!0,writable:!0}),n}if(typeof e=="string")o=o!=null?o:"unknown",p(`${t.displayName} does not support ${e} to ${o}`),n.name="SwapCurrencyError",n.pluginId=t.pluginId,n.fromCurrency=e,n.toCurrency=o;else{const f=g({allTokens:e.fromWallet.currencyConfig.allTokens,currencyInfo:e.fromWallet.currencyInfo,currencyCode:e.fromCurrencyCode,tokenId:e.fromTokenId}),k=g({allTokens:e.toWallet.currencyConfig.allTokens,currencyInfo:e.toWallet.currencyInfo,currencyCode:e.toCurrencyCode,tokenId:e.toTokenId}),tr=f.tokenId==null?f.currencyCode:`${f.currencyCode} (${f.tokenId})`,ar=k.tokenId==null?k.currencyCode:`${k.currencyCode} (${k.tokenId})`;p(`${t.displayName} does not support ${tr} to ${ar}`),n.name="SwapCurrencyError",n.pluginId=t.pluginId,n.fromCurrency=f.currencyCode,n.fromTokenId=f.tokenId,n.toCurrency=k.currencyCode,n.toTokenId=k.tokenId}return n}function x(t,e){if(!(this instanceof x))throw new TypeError("Class constructor SwapPermissionError cannot be invoked without 'new'");var o;function n(p){return o=new Error(p),Object.defineProperty(o,"constructor",{value:x,configurable:!0,writable:!0}),o}return e!=null?n(e):n("You are not allowed to make this trade"),o.name="SwapPermissionError",o.pluginId=t.pluginId,o.reason=e,o}function K(t="Invalid username"){if(!(this instanceof K))throw new TypeError("Class constructor UsernameError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:K,configurable:!0,writable:!0}),e}return o(t),e.name="UsernameError",e}function w(t){return function(o){if(o instanceof Error&&o.name===t)return o}}const V=w("DustSpendError"),W=w("InsufficientFundsError"),Y=w("NetworkError"),z=w("NoAmountSpecifiedError"),H=w("ObsoleteApiError"),Q=w("OtpError"),q=w("PasswordError"),X=w("PendingFundsError"),G=w("SameCurrencyError"),J=w("SpendToSelfError"),Z=w("SwapAboveLimitError"),rr=w("SwapBelowLimitError"),er=w("SwapCurrencyError"),nr=w("SwapPermissionError"),or=w("UsernameError");s.Yy=v,s.C_=_,s.F7=b,s.$D=y,s.D1=S,s.XH=h,s.Yr=A,s.Vq=D,s.AQ=N,s.l0=$,s.I9=L,s.q0=F,s.Iz=U,s.d2=x,s.cI=K,s.y$=V,s.X7=W,s.g4=Y,s.xz=z,s.fT=H,s.zQ=Q,s.sl=q,s.mc=X,s.q=G,s.SS=J,s.Yl=Z,s.Gq=rr,s.UW=er,s.J_=nr,s.L=or},79911:function(R,s){Object.defineProperty(s,"__esModule",{value:!0});function O(d,a,u){var C;if(u===void 0&&(u={}),!a.codes){a.codes={};for(var g=0;g<a.chars.length;++g)a.codes[a.chars[g]]=g}if(!u.loose&&d.length*a.bits&7)throw new SyntaxError("Invalid padding");for(var v=d.length;d[v-1]==="=";)if(--v,!u.loose&&!((d.length-v)*a.bits&7))throw new SyntaxError("Invalid padding");for(var _=new((C=u.out)!=null?C:Uint8Array)(v*a.bits/8|0),b=0,y=0,S=0,h=0;h<v;++h){var A=a.codes[d[h]];if(A===void 0)throw new SyntaxError("Invalid character "+d[h]);y=y<<a.bits|A,b+=a.bits,b>=8&&(b-=8,_[S++]=255&y>>b)}if(b>=a.bits||255&y<<8-b)throw new SyntaxError("Unexpected end of data");return _}function i(d,a,u){u===void 0&&(u={});for(var C=u,g=C.pad,v=g===void 0?!0:g,_=(1<<a.bits)-1,b="",y=0,S=0,h=0;h<d.length;++h)for(S=S<<8|255&d[h],y+=8;y>a.bits;)y-=a.bits,b+=a.chars[_&S>>y];if(y&&(b+=a.chars[_&S<<a.bits-y]),v)for(;b.length*a.bits&7;)b+="=";return b}var r={chars:"0123456789ABCDEF",bits:4},E={chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bits:5},P={chars:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bits:5},I={chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bits:6},c={chars:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bits:6},j={parse:function(a,u){return O(a.toUpperCase(),r,u)},stringify:function(a,u){return i(a,r,u)}},T={parse:function(a,u){return u===void 0&&(u={}),O(u.loose?a.toUpperCase().replace(/0/g,"O").replace(/1/g,"L").replace(/8/g,"B"):a,E,u)},stringify:function(a,u){return i(a,E,u)}},l={parse:function(a,u){return O(a,P,u)},stringify:function(a,u){return i(a,P,u)}},m={parse:function(a,u){return O(a,I,u)},stringify:function(a,u){return i(a,I,u)}},B={parse:function(a,u){return O(a,c,u)},stringify:function(a,u){return i(a,c,u)}},M={parse:O,stringify:i};s.base16=j,s.base32=T,s.base32hex=l,s.base64=m,s.base64url=B,s.codec=M},94935:function(R,s,O){O.d(s,{$D:function(){return I},C_:function(){return E},l0:function(){return B}});var i=O(18595);const r=i.Yy,E=i.C_,P=i.F7,I=i.$D,c=i.D1,j=i.XH,T=i.Yr,l=i.Vq,m=i.AQ,B=i.l0,M=i.I9,d=i.q0,a=i.Iz,u=i.d2,C=i.cI,g=i.y$,v=i.X7,_=i.g4,b=i.xz,y=i.fT,S=i.zQ,h=i.sl,A=i.mc,D=i.q,N=i.SS,$=i.Yl,L=i.Gq,F=i.UW,U=i.J_,x=i.L}}]);
|
|
1
|
+
"use strict";(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[935],{18595:function(x,a,b){var s;s={value:!0};var r=b(47630),d=b(79911);const L=r.asCodec(t=>d.base16.parse(r.asString(t)),t=>d.base16.stringify(t).toLowerCase()),w=r.asCodec(t=>d.base32.parse(r.asString(t),{loose:!0}),t=>d.base32.stringify(t,{pad:!1})),i=r.asCodec(t=>d.base64.parse(r.asString(t)),t=>d.base64.stringify(t)),T=r.asObject({voucherId:r.asString,activates:r.asDate,created:r.asDate,ip:r.asString,ipDescription:r.asString,deviceDescription:r.asOptional(r.asString)}),F=r.asObject({min_length:r.asNumber,category:r.asValue("address","must","numeric","recovery2","string"),question:r.asString}),c=r.asObject({encryptionType:r.asNumber,data_base64:r.asString,iv_hex:r.asString}),f=r.asObject({salt_hex:L,n:r.asNumber,r:r.asNumber,p:r.asNumber}),B=r.asObject({loginRequest:r.asOptional(r.asObject({appId:r.asString}).withRest),publicKey:i,timeout:r.asOptional(r.asNumber)}).withRest,$=r.asObject({publicKey:i,box:c}),M=r.asArray(i);r.asObject({data:r.asUnknown,deviceDescription:r.asOptional(r.asString),otp:r.asOptional(r.asString),voucherId:r.asOptional(r.asString),voucherAuth:r.asOptional(i),loginId:r.asOptional(i),loginAuth:r.asOptional(i),userId:r.asOptional(i),passwordAuth:r.asOptional(i),pin2Id:r.asOptional(i),pin2Auth:r.asOptional(i),recovery2Id:r.asOptional(i),recovery2Auth:r.asOptional(M),loginIds:r.asOptional(r.asArray(i)),otpResetAuth:r.asOptional(r.asString),did:r.asOptional(r.asString),l1:r.asOptional(i),lp1:r.asOptional(i),lpin1:r.asOptional(i),lra1:r.asOptional(i),recoveryAuth:r.asOptional(i)}),r.asObject({results:r.asOptional(r.asUnknown),status_code:r.asNumber,message:r.asString}),r.asObject({otpTimeout:r.asOptional(r.asNumber,7*24*60*60),otpKey:w}),r.asObject({passwordAuth:i,passwordAuthBox:c,passwordAuthSnrp:f,passwordBox:c,passwordKeySnrp:f}),r.asObject({pin2Id:i}),r.asObject({pin2Id:r.asOptional(i),pin2Auth:r.asOptional(i),pin2Box:r.asOptional(c),pin2KeyBox:r.asOptional(c),pin2TextBox:c}),r.asObject({recovery2Id:i}),r.asObject({recovery2Id:i,recovery2Auth:M,recovery2Box:c,recovery2KeyBox:c,question2Box:c}),r.asObject({loginAuthBox:c,loginAuth:i}),r.asObject({userId:i,userTextBox:c}),r.asObject({approvedVouchers:r.asOptional(r.asArray(r.asString)),rejectedVouchers:r.asOptional(r.asArray(r.asString))}),r.asObject({keyBoxes:r.asArray(c),newSyncKeys:r.asOptional(r.asArray(r.asString),()=>[])}),r.asObject({appId:r.asString,loginId:i,parentBox:r.asOptional(c)}).withRest,r.asObject({request:B,replies:r.asArray($)});const K=r.asObject({appId:r.asString,created:r.asDate,loginId:i,children:r.asOptional(r.asArray(t=>K(t))),parentBox:r.asOptional(c),otpKey:r.asOptional(w),otpResetDate:r.asOptional(r.asDate),otpTimeout:r.asOptional(r.asNumber),passwordAuthBox:r.asOptional(c),passwordAuthSnrp:r.asOptional(f),passwordBox:r.asOptional(c),passwordKeySnrp:r.asOptional(f),pin2Box:r.asOptional(c),pin2KeyBox:r.asOptional(c),pin2TextBox:r.asOptional(c),question2Box:r.asOptional(c),recovery2Box:r.asOptional(c),recovery2KeyBox:r.asOptional(c),loginAuthBox:r.asOptional(c),userId:r.asOptional(i),userTextBox:r.asOptional(c),pendingVouchers:r.asOptional(r.asArray(T),()=>[]),keyBoxes:r.asOptional(r.asArray(c)),mnemonicBox:r.asOptional(c),rootKeyBox:r.asOptional(c),syncKeyBox:r.asOptional(c)});r.asArray(r.asObject({loginId:i,otpResetPending:r.asOptional(r.asBoolean,!1),pendingVouchers:r.asOptional(r.asArray(T),()=>[]),recovery2Corrupt:r.asOptional(r.asBoolean,!1)}));const R=r.asObject({login_id:r.asOptional(i),otp_reset_auth:r.asOptional(r.asString),otp_timeout_date:r.asOptional(r.asDate),reason:r.asOptional(r.asValue("ip","otp"),"otp"),voucher_activates:r.asOptional(r.asDate),voucher_auth:r.asOptional(i),voucher_id:r.asOptional(r.asString)});r.asObject({otpResetDate:r.asDate});const U=r.asObject({wait_seconds:r.asOptional(r.asNumber)});r.asArray(F),r.asObject({question2Box:c}),r.asObject({passwordAuthSnrp:r.asOptional(f),questionBox:r.asOptional(c),questionKeySnrp:r.asOptional(f),recoveryAuthSnrp:r.asOptional(f)});function D(t){const{currencyInfo:e,allTokens:o}=t;let n=t.tokenId;n==null&&t.currencyCode!=null&&t.currencyCode!==e.currencyCode&&(n=Object.keys(o).find(l=>o[l].currencyCode===t.currencyCode));const{currencyCode:u}=n==null?e:o[n];return{currencyCode:u,tokenId:n}}function E(t="Please send a larger amount"){if(!(this instanceof E))throw new TypeError("Class constructor DustSpendError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:E,configurable:!0,writable:!0}),e}return o(t),e.name="DustSpendError",e}function O(t={}){if(!(this instanceof O))throw new TypeError("Class constructor InsufficientFundsError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:O,configurable:!0,writable:!0}),e}if(typeof t=="string")t.length>5?o(t):(o(`Insufficient ${t}`),e.currencyCode=t);else{const{currencyCode:n,networkFee:u}=t;o(`Insufficient ${n!=null?n:"funds"}`),e.currencyCode=n,e.networkFee=u}return e.name="InsufficientFundsError",e}function h(t="Cannot reach the network"){if(!(this instanceof h))throw new TypeError("Class constructor NetworkError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:h,configurable:!0,writable:!0}),e}return o(t),e.name="NetworkError",e}function g(t="Unable to create zero-amount transaction."){if(!(this instanceof g))throw new TypeError("Class constructor NoAmountSpecifiedError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:g,configurable:!0,writable:!0}),e}return o(t),e.name="NoAmountSpecifiedError",e}function m(t="The application is too old. Please upgrade."){if(!(this instanceof m))throw new TypeError("Class constructor ObsoleteApiError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:m,configurable:!0,writable:!0}),e}return o(t),e.name="ObsoleteApiError",e}function S(t,e="Invalid OTP token"){if(!(this instanceof S))throw new TypeError("Class constructor OtpError cannot be invoked without 'new'");var o;function n(l){return o=new Error(l),Object.defineProperty(o,"constructor",{value:S,configurable:!0,writable:!0}),o}n(e),o.name="OtpError",o.reason="otp";const u=r.asMaybe(R)(t);if(u!=null)return u.login_id!=null&&(o.loginId=d.base64.stringify(u.login_id)),o.resetToken=u.otp_reset_auth,o.reason=u.reason,o.resetDate=u.otp_timeout_date,o.voucherActivates=u.voucher_activates,u.voucher_auth!=null&&(o.voucherAuth=d.base64.stringify(u.voucher_auth)),o.voucherId=u.voucher_id,o}function v(t,e="Invalid password"){if(!(this instanceof v))throw new TypeError("Class constructor PasswordError cannot be invoked without 'new'");var o;function n(l){return o=new Error(l),Object.defineProperty(o,"constructor",{value:v,configurable:!0,writable:!0}),o}n(e),o.name="PasswordError";const u=r.asMaybe(U)(t);if(u!=null)return o.wait=u.wait_seconds,o}function _(t="Not enough confirmed funds"){if(!(this instanceof _))throw new TypeError("Class constructor PendingFundsError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:_,configurable:!0,writable:!0}),e}return o(t),e.name="PendingFundsError",e}function I(t="Wallets can not be the same currency"){if(!(this instanceof I))throw new TypeError("Class constructor SameCurrencyError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:I,configurable:!0,writable:!0}),e}return o(t),e.name="SameCurrencyError",e}function C(t="Spending to self"){if(!(this instanceof C))throw new TypeError("Class constructor SpendToSelfError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:C,configurable:!0,writable:!0}),e}return o(t),e.name="SpendToSelfError",e}function k(t,e,o="from"){if(!(this instanceof k))throw new TypeError("Class constructor SwapAboveLimitError cannot be invoked without 'new'");var n;function u(l){return n=new Error(l),Object.defineProperty(n,"constructor",{value:k,configurable:!0,writable:!0}),n}return u("Amount is too high"),n.name="SwapAboveLimitError",n.pluginId=t.pluginId,n.nativeMax=e,n.direction=o,n}function A(t,e,o="from"){if(!(this instanceof A))throw new TypeError("Class constructor SwapBelowLimitError cannot be invoked without 'new'");var n;function u(l){return n=new Error(l),Object.defineProperty(n,"constructor",{value:A,configurable:!0,writable:!0}),n}return u("Amount is too low"),n.name="SwapBelowLimitError",n.pluginId=t.pluginId,n.nativeMin=e,n.direction=o,n}function P(t,e,o){if(!(this instanceof P))throw new TypeError("Class constructor SwapCurrencyError cannot be invoked without 'new'");var n;function u(l){return n=new Error(l),Object.defineProperty(n,"constructor",{value:P,configurable:!0,writable:!0}),n}if(typeof e=="string")o=o!=null?o:"unknown",u(`${t.displayName} does not support ${e} to ${o}`),n.name="SwapCurrencyError",n.pluginId=t.pluginId,n.fromCurrency=e,n.toCurrency=o;else{const l=D({allTokens:e.fromWallet.currencyConfig.allTokens,currencyInfo:e.fromWallet.currencyInfo,currencyCode:e.fromCurrencyCode,tokenId:e.fromTokenId}),y=D({allTokens:e.toWallet.currencyConfig.allTokens,currencyInfo:e.toWallet.currencyInfo,currencyCode:e.toCurrencyCode,tokenId:e.toTokenId}),tr=l.tokenId==null?l.currencyCode:`${l.currencyCode} (${l.tokenId})`,ar=y.tokenId==null?y.currencyCode:`${y.currencyCode} (${y.tokenId})`;u(`${t.displayName} does not support ${tr} to ${ar}`),n.name="SwapCurrencyError",n.pluginId=t.pluginId,n.fromCurrency=l.currencyCode,n.fromTokenId=l.tokenId,n.toCurrency=y.currencyCode,n.toTokenId=y.tokenId}return n}function j(t,e){if(!(this instanceof j))throw new TypeError("Class constructor SwapPermissionError cannot be invoked without 'new'");var o;function n(u){return o=new Error(u),Object.defineProperty(o,"constructor",{value:j,configurable:!0,writable:!0}),o}return e!=null?n(e):n("You are not allowed to make this trade"),o.name="SwapPermissionError",o.pluginId=t.pluginId,o.reason=e,o}function N(t="Invalid username"){if(!(this instanceof N))throw new TypeError("Class constructor UsernameError cannot be invoked without 'new'");var e;function o(n){return e=new Error(n),Object.defineProperty(e,"constructor",{value:N,configurable:!0,writable:!0}),e}return o(t),e.name="UsernameError",e}function p(t){return function(o){if(o instanceof Error&&o.name===t)return o}}const V=p("DustSpendError"),W=p("InsufficientFundsError"),z=p("NetworkError"),Y=p("NoAmountSpecifiedError"),q=p("ObsoleteApiError"),Q=p("OtpError"),H=p("PasswordError"),X=p("PendingFundsError"),G=p("SameCurrencyError"),J=p("SpendToSelfError"),Z=p("SwapAboveLimitError"),rr=p("SwapBelowLimitError"),er=p("SwapCurrencyError"),nr=p("SwapPermissionError"),or=p("UsernameError");a.Yy=E,a.C_=O,a.F7=h,a.$D=g,a.D1=m,a.XH=S,a.Yr=v,a.Vq=_,a.AQ=I,a.l0=C,a.I9=k,a.q0=A,a.Iz=P,a.d2=j,a.cI=N,a.y$=V,a.X7=W,a.g4=z,a.xz=Y,a.fT=q,a.zQ=Q,a.sl=H,a.mc=X,a.q=G,a.SS=J,a.Yl=Z,a.Gq=rr,a.UW=er,a.J_=nr,a.L=or},94935:function(x,a,b){b.d(a,{$D:function(){return w},C_:function(){return d},l0:function(){return B}});var s=b(18595);const r=s.Yy,d=s.C_,L=s.F7,w=s.$D,i=s.D1,T=s.XH,F=s.Yr,c=s.Vq,f=s.AQ,B=s.l0,$=s.I9,M=s.q0,K=s.Iz,R=s.d2,U=s.cI,D=s.y$,E=s.X7,O=s.g4,h=s.xz,g=s.fT,m=s.zQ,S=s.sl,v=s.mc,_=s.q,I=s.SS,C=s.Yl,k=s.Gq,A=s.UW,P=s.J_,j=s.L}}]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[94],{91094:function(S,Dt,_){var Et=_(34155),Ot;/**
|
|
2
|
+
* [js-sha3]{@link https://github.com/emn178/js-sha3}
|
|
3
|
+
*
|
|
4
|
+
* @version 0.8.0
|
|
5
|
+
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
6
|
+
* @copyright Chen, Yi-Cyuan 2015-2018
|
|
7
|
+
* @license MIT
|
|
8
|
+
*/(function(){"use strict";var x="input is invalid type",Gt="finalize already called",Mt=typeof window=="object",y=Mt?window:{};y.JS_SHA3_NO_WINDOW&&(Mt=!1);var Lt=!Mt&&typeof self=="object",Xt=!y.JS_SHA3_NO_NODE_JS&&typeof Et=="object"&&Et.versions&&Et.versions.node;Xt?y=_.g:Lt&&(y=self);var Zt=!y.JS_SHA3_NO_COMMON_JS&&!0&&S.exports,Qt=_.amdO,k=!y.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",b="0123456789abcdef".split(""),$t=[31,7936,2031616,520093696],gt=[4,1024,262144,67108864],mt=[1,256,65536,16777216],qt=[6,1536,393216,100663296],p=[0,8,16,24],Ht=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],Kt=[224,256,384,512],Rt=[128,256],zt=["hex","buffer","arrayBuffer","array","digest"],Jt={128:168,256:136};(y.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),k&&(y.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var Ut=function(t,e,r){return function(n){return new h(t,e,t).update(n)[r]()}},Pt=function(t,e,r){return function(n,a){return new h(t,e,a).update(n)[r]()}},Tt=function(t,e,r){return function(n,a,i,f){return d["cshake"+t].update(n,a,i,f)[r]()}},Wt=function(t,e,r){return function(n,a,i,f){return d["kmac"+t].update(n,a,i,f)[r]()}},C=function(t,e,r,n){for(var a=0;a<zt.length;++a){var i=zt[a];t[i]=e(r,n,i)}return t},jt=function(t,e){var r=Ut(t,e,"hex");return r.create=function(){return new h(t,e,t)},r.update=function(n){return r.create().update(n)},C(r,Ut,t,e)},st=function(t,e){var r=Pt(t,e,"hex");return r.create=function(n){return new h(t,e,n)},r.update=function(n,a){return r.create(a).update(n)},C(r,Pt,t,e)},te=function(t,e){var r=Jt[t],n=Tt(t,e,"hex");return n.create=function(a,i,f){return!i&&!f?d["shake"+t].create(a):new h(t,e,a).bytepad([i,f],r)},n.update=function(a,i,f,o){return n.create(i,f,o).update(a)},C(n,Tt,t,e)},ee=function(t,e){var r=Jt[t],n=Wt(t,e,"hex");return n.create=function(a,i,f){return new Nt(t,e,i).bytepad(["KMAC",f],r).bytepad([a],r)},n.update=function(a,i,f,o){return n.create(a,f,o).update(i)},C(n,Wt,t,e)},Vt=[{name:"keccak",padding:mt,bits:Kt,createMethod:jt},{name:"sha3",padding:qt,bits:Kt,createMethod:jt},{name:"shake",padding:$t,bits:Rt,createMethod:st},{name:"cshake",padding:gt,bits:Rt,createMethod:te},{name:"kmac",padding:gt,bits:Rt,createMethod:ee}],d={},B=[],v=0;v<Vt.length;++v)for(var A=Vt[v],E=A.bits,w=0;w<E.length;++w){var It=A.name+"_"+E[w];if(B.push(It),d[It]=A.createMethod(E[w],A.padding),A.name!=="sha3"){var Yt=A.name+E[w];B.push(Yt),d[Yt]=d[It]}}function h(t,e,r){this.blocks=[],this.s=[],this.padding=e,this.outputBits=r,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(r&31)>>3;for(var n=0;n<50;++n)this.s[n]=0}h.prototype.update=function(t){if(this.finalized)throw new Error(Gt);var e,r=typeof t;if(r!=="string"){if(r==="object"){if(t===null)throw new Error(x);if(k&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!k||!ArrayBuffer.isView(t)))throw new Error(x)}else throw new Error(x);e=!0}for(var n=this.blocks,a=this.byteCount,i=t.length,f=this.blockCount,o=0,l=this.s,u,c;o<i;){if(this.reset)for(this.reset=!1,n[0]=this.block,u=1;u<f+1;++u)n[u]=0;if(e)for(u=this.start;o<i&&u<a;++o)n[u>>2]|=t[o]<<p[u++&3];else for(u=this.start;o<i&&u<a;++o)c=t.charCodeAt(o),c<128?n[u>>2]|=c<<p[u++&3]:c<2048?(n[u>>2]|=(192|c>>6)<<p[u++&3],n[u>>2]|=(128|c&63)<<p[u++&3]):c<55296||c>=57344?(n[u>>2]|=(224|c>>12)<<p[u++&3],n[u>>2]|=(128|c>>6&63)<<p[u++&3],n[u>>2]|=(128|c&63)<<p[u++&3]):(c=65536+((c&1023)<<10|t.charCodeAt(++o)&1023),n[u>>2]|=(240|c>>18)<<p[u++&3],n[u>>2]|=(128|c>>12&63)<<p[u++&3],n[u>>2]|=(128|c>>6&63)<<p[u++&3],n[u>>2]|=(128|c&63)<<p[u++&3]);if(this.lastByteIndex=u,u>=a){for(this.start=u-a,this.block=n[f],u=0;u<f;++u)l[u]^=n[u];F(l),this.reset=!0}else this.start=u}return this},h.prototype.encode=function(t,e){var r=t&255,n=1,a=[r];for(t=t>>8,r=t&255;r>0;)a.unshift(r),t=t>>8,r=t&255,++n;return e?a.push(n):a.unshift(n),this.update(a),a.length},h.prototype.encodeString=function(t){var e,r=typeof t;if(r!=="string"){if(r==="object"){if(t===null)throw new Error(x);if(k&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!k||!ArrayBuffer.isView(t)))throw new Error(x)}else throw new Error(x);e=!0}var n=0,a=t.length;if(e)n=a;else for(var i=0;i<t.length;++i){var f=t.charCodeAt(i);f<128?n+=1:f<2048?n+=2:f<55296||f>=57344?n+=3:(f=65536+((f&1023)<<10|t.charCodeAt(++i)&1023),n+=4)}return n+=this.encode(n*8),this.update(t),n},h.prototype.bytepad=function(t,e){for(var r=this.encode(e),n=0;n<t.length;++n)r+=this.encodeString(t[n]);var a=e-r%e,i=[];return i.length=a,this.update(i),this},h.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex,r=this.blockCount,n=this.s;if(t[e>>2]|=this.padding[e&3],this.lastByteIndex===this.byteCount)for(t[0]=t[r],e=1;e<r+1;++e)t[e]=0;for(t[r-1]|=2147483648,e=0;e<r;++e)n[e]^=t[e];F(n)}},h.prototype.toString=h.prototype.hex=function(){this.finalize();for(var t=this.blockCount,e=this.s,r=this.outputBlocks,n=this.extraBytes,a=0,i=0,f="",o;i<r;){for(a=0;a<t&&i<r;++a,++i)o=e[a],f+=b[o>>4&15]+b[o&15]+b[o>>12&15]+b[o>>8&15]+b[o>>20&15]+b[o>>16&15]+b[o>>28&15]+b[o>>24&15];i%t===0&&(F(e),a=0)}return n&&(o=e[a],f+=b[o>>4&15]+b[o&15],n>1&&(f+=b[o>>12&15]+b[o>>8&15]),n>2&&(f+=b[o>>20&15]+b[o>>16&15])),f},h.prototype.arrayBuffer=function(){this.finalize();var t=this.blockCount,e=this.s,r=this.outputBlocks,n=this.extraBytes,a=0,i=0,f=this.outputBits>>3,o;n?o=new ArrayBuffer(r+1<<2):o=new ArrayBuffer(f);for(var l=new Uint32Array(o);i<r;){for(a=0;a<t&&i<r;++a,++i)l[i]=e[a];i%t===0&&F(e)}return n&&(l[a]=e[a],o=o.slice(0,f)),o},h.prototype.buffer=h.prototype.arrayBuffer,h.prototype.digest=h.prototype.array=function(){this.finalize();for(var t=this.blockCount,e=this.s,r=this.outputBlocks,n=this.extraBytes,a=0,i=0,f=[],o,l;i<r;){for(a=0;a<t&&i<r;++a,++i)o=i<<2,l=e[a],f[o]=l&255,f[o+1]=l>>8&255,f[o+2]=l>>16&255,f[o+3]=l>>24&255;i%t===0&&F(e)}return n&&(o=i<<2,l=e[a],f[o]=l&255,n>1&&(f[o+1]=l>>8&255),n>2&&(f[o+2]=l>>16&255)),f};function Nt(t,e,r){h.call(this,t,e,r)}Nt.prototype=new h,Nt.prototype.finalize=function(){return this.encode(this.outputBits,!0),h.prototype.finalize.call(this)};var F=function(t){var e,r,n,a,i,f,o,l,u,c,O,M,R,I,N,D,g,H,K,z,J,U,P,T,W,j,V,Y,G,L,X,Z,Q,$,m,q,s,tt,et,rt,nt,at,ot,it,ft,ut,ct,ht,lt,bt,pt,yt,dt,vt,xt,At,kt,Bt,wt,Ft,St,_t,Ct;for(n=0;n<48;n+=2)a=t[0]^t[10]^t[20]^t[30]^t[40],i=t[1]^t[11]^t[21]^t[31]^t[41],f=t[2]^t[12]^t[22]^t[32]^t[42],o=t[3]^t[13]^t[23]^t[33]^t[43],l=t[4]^t[14]^t[24]^t[34]^t[44],u=t[5]^t[15]^t[25]^t[35]^t[45],c=t[6]^t[16]^t[26]^t[36]^t[46],O=t[7]^t[17]^t[27]^t[37]^t[47],M=t[8]^t[18]^t[28]^t[38]^t[48],R=t[9]^t[19]^t[29]^t[39]^t[49],e=M^(f<<1|o>>>31),r=R^(o<<1|f>>>31),t[0]^=e,t[1]^=r,t[10]^=e,t[11]^=r,t[20]^=e,t[21]^=r,t[30]^=e,t[31]^=r,t[40]^=e,t[41]^=r,e=a^(l<<1|u>>>31),r=i^(u<<1|l>>>31),t[2]^=e,t[3]^=r,t[12]^=e,t[13]^=r,t[22]^=e,t[23]^=r,t[32]^=e,t[33]^=r,t[42]^=e,t[43]^=r,e=f^(c<<1|O>>>31),r=o^(O<<1|c>>>31),t[4]^=e,t[5]^=r,t[14]^=e,t[15]^=r,t[24]^=e,t[25]^=r,t[34]^=e,t[35]^=r,t[44]^=e,t[45]^=r,e=l^(M<<1|R>>>31),r=u^(R<<1|M>>>31),t[6]^=e,t[7]^=r,t[16]^=e,t[17]^=r,t[26]^=e,t[27]^=r,t[36]^=e,t[37]^=r,t[46]^=e,t[47]^=r,e=c^(a<<1|i>>>31),r=O^(i<<1|a>>>31),t[8]^=e,t[9]^=r,t[18]^=e,t[19]^=r,t[28]^=e,t[29]^=r,t[38]^=e,t[39]^=r,t[48]^=e,t[49]^=r,I=t[0],N=t[1],ut=t[11]<<4|t[10]>>>28,ct=t[10]<<4|t[11]>>>28,Y=t[20]<<3|t[21]>>>29,G=t[21]<<3|t[20]>>>29,Ft=t[31]<<9|t[30]>>>23,St=t[30]<<9|t[31]>>>23,at=t[40]<<18|t[41]>>>14,ot=t[41]<<18|t[40]>>>14,$=t[2]<<1|t[3]>>>31,m=t[3]<<1|t[2]>>>31,D=t[13]<<12|t[12]>>>20,g=t[12]<<12|t[13]>>>20,ht=t[22]<<10|t[23]>>>22,lt=t[23]<<10|t[22]>>>22,L=t[33]<<13|t[32]>>>19,X=t[32]<<13|t[33]>>>19,_t=t[42]<<2|t[43]>>>30,Ct=t[43]<<2|t[42]>>>30,vt=t[5]<<30|t[4]>>>2,xt=t[4]<<30|t[5]>>>2,q=t[14]<<6|t[15]>>>26,s=t[15]<<6|t[14]>>>26,H=t[25]<<11|t[24]>>>21,K=t[24]<<11|t[25]>>>21,bt=t[34]<<15|t[35]>>>17,pt=t[35]<<15|t[34]>>>17,Z=t[45]<<29|t[44]>>>3,Q=t[44]<<29|t[45]>>>3,T=t[6]<<28|t[7]>>>4,W=t[7]<<28|t[6]>>>4,At=t[17]<<23|t[16]>>>9,kt=t[16]<<23|t[17]>>>9,tt=t[26]<<25|t[27]>>>7,et=t[27]<<25|t[26]>>>7,z=t[36]<<21|t[37]>>>11,J=t[37]<<21|t[36]>>>11,yt=t[47]<<24|t[46]>>>8,dt=t[46]<<24|t[47]>>>8,it=t[8]<<27|t[9]>>>5,ft=t[9]<<27|t[8]>>>5,j=t[18]<<20|t[19]>>>12,V=t[19]<<20|t[18]>>>12,Bt=t[29]<<7|t[28]>>>25,wt=t[28]<<7|t[29]>>>25,rt=t[38]<<8|t[39]>>>24,nt=t[39]<<8|t[38]>>>24,U=t[48]<<14|t[49]>>>18,P=t[49]<<14|t[48]>>>18,t[0]=I^~D&H,t[1]=N^~g&K,t[10]=T^~j&Y,t[11]=W^~V&G,t[20]=$^~q&tt,t[21]=m^~s&et,t[30]=it^~ut&ht,t[31]=ft^~ct<,t[40]=vt^~At&Bt,t[41]=xt^~kt&wt,t[2]=D^~H&z,t[3]=g^~K&J,t[12]=j^~Y&L,t[13]=V^~G&X,t[22]=q^~tt&rt,t[23]=s^~et&nt,t[32]=ut^~ht&bt,t[33]=ct^~lt&pt,t[42]=At^~Bt&Ft,t[43]=kt^~wt&St,t[4]=H^~z&U,t[5]=K^~J&P,t[14]=Y^~L&Z,t[15]=G^~X&Q,t[24]=tt^~rt&at,t[25]=et^~nt&ot,t[34]=ht^~bt&yt,t[35]=lt^~pt&dt,t[44]=Bt^~Ft&_t,t[45]=wt^~St&Ct,t[6]=z^~U&I,t[7]=J^~P&N,t[16]=L^~Z&T,t[17]=X^~Q&W,t[26]=rt^~at&$,t[27]=nt^~ot&m,t[36]=bt^~yt&it,t[37]=pt^~dt&ft,t[46]=Ft^~_t&vt,t[47]=St^~Ct&xt,t[8]=U^~I&D,t[9]=P^~N&g,t[18]=Z^~T&j,t[19]=Q^~W&V,t[28]=at^~$&q,t[29]=ot^~m&s,t[38]=yt^~it&ut,t[39]=dt^~ft&ct,t[48]=_t^~vt&At,t[49]=Ct^~xt&kt,t[0]^=Ht[n],t[1]^=Ht[n+1]};if(Zt)S.exports=d;else{for(v=0;v<B.length;++v)y[B[v]]=d[B[v]];Qt&&(Ot=function(){return d}.call(Dt,_,Dt,S),Ot!==void 0&&(S.exports=Ot))}})()}}]);
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[741],{37011:function(de,_,m){"use strict";m.r(_),m.d(_,{AlgorandTools:function(){return ie},makeCurrencyEngine:function(){return Pe},makeCurrencyTools:function(){return Se}});var k=m(88814),p=m(77591),V=m(20918),$=m(79014),P=m(76714),e=m(82448),Z=m(62177);const z=(0,e.su)({latestRound:(0,e.Vk)(e.mH,0),latestTxid:(0,e.Vk)(e.XC,"")}),q=(0,e.su)({amount:e.mH,assets:(0,e._2)((0,e.su)({amount:e.mH,"asset-id":e.mH})),"min-balance":e.mH,round:e.mH}),J=(0,e.su)({"confirmed-round":e.mH,fee:e.mH,"first-valid":e.mH,id:e.XC,note:(0,e.Zz)(e.XC),"round-time":e.mH,sender:e.XC,"tx-type":e.XC}).withRest,K=(0,e.Wf)("pay"),G=(0,e.su)({"payment-transaction":(0,e.su)({amount:e.mH,"close-amount":e.mH,receiver:e.XC}),"tx-type":K}),Y=(0,e.Wf)("axfer"),ee=(0,e.su)({"asset-transfer-transaction":(0,e.su)({amount:e.mH,"asset-id":e.mH,receiver:e.XC}),"tx-type":Y}),h=(0,e.su)({"confirmed-round":e.mH,fee:e.mH,"first-valid":e.mH,note:(0,e.Zz)(e.XC),"round-time":e.mH,sender:e.XC,"tx-type":e.XC}).withRest,w=(0,e.Wf)("appl"),T=(0,e.su)({"inner-txns":(0,e.Zz)((0,e._2)(h)),"tx-type":w}).withRest,C=(0,e.su)({"current-round":e.mH,"next-token":(0,e.Zz)(e.XC),transactions:(0,e._2)(J)}),L=(0,e.su)({flatFee:e.jK,fee:e.mH,firstRound:e.mH,lastRound:e.mH,genesisID:e.XC,genesisHash:e.XC}),g=(0,e.su)({type:e.XC}).withRest,F=(0,e.su)({encodedTx:e.XC,recipient:(0,e.Zz)(e.XC)}),he=(0,e.su)({type:K,to:e.XC,amount:e.mH}).withRest,b=(0,e.Vk)((0,e.su)({fee:(0,e.Zz)(e.XC)}),{fee:void 0}),X=(0,e.Vk)((0,e.su)({contractAddress:Z.jD})),W=Z.BQ,R=y=>{const t=(0,e.su)({[`${y}Mnemonic`]:e.XC});return(0,e.W1)(n=>({mnemonic:t(n)[`${y}Mnemonic`]}),n=>({[`${y}Mnemonic`]:n.mnemonic}))},N=(0,e.su)({id:(0,e._C)(e.XC,e.mH),method:(0,e.Wf)("algo_signTxn"),params:(0,e.vq)((0,e.vq)((0,e.su)({txn:e.XC,message:(0,e.Zz)(e.XC)})))}),Q=(0,e.su)({id:e.mH,jsonrpc:(0,e.Wf)("2.0"),method:(0,e.Wf)("algo_signTxn"),params:(0,e.vq)((0,e._2)((0,e.su)({txn:e.XC,message:(0,e.Zz)(e.XC)})))}).withRest;var M=m(94935),H=m(35620),fe=m(84650),ye=m(48764).Buffer,me=Object.defineProperty,pe=Object.defineProperties,ge=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,we=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty,Ie=Object.prototype.propertyIsEnumerable,ve=Reflect.get,se=(y,t,n)=>t in y?me(y,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):y[t]=n,j=(y,t)=>{for(var n in t||(t={}))Te.call(t,n)&&se(y,n,t[n]);if(re)for(var n of re(t))Ie.call(t,n)&&se(y,n,t[n]);return y},ke=(y,t)=>pe(y,ge(t)),Ce=(y,t,n)=>ve(we(y),n,t),f=(y,t,n)=>new Promise((s,i)=>{var o=r=>{try{l(n.next(r))}catch(c){i(c)}},a=r=>{try{l(n.throw(r))}catch(c){i(c)}},l=r=>r.done?s(r.value):Promise.resolve(r.value).then(o,a);l((n=n.apply(y,t)).next())});const{Algodv2:te,Indexer:xe}=k.ZP,oe=5e3,Ae=3e3;class ne extends fe.P{constructor(t,n,s,i){super(t,n,s,i),this.getRecipientBalance=o=>f(this,null,function*(){try{return(yield this.fetchAccountInfo(o)).amount.toString()}catch{return this.minimumAddressBalance}}),this.engineGetActivationAssets=o=>f(this,null,function*(){return{assetOptions:[{paymentWalletId:this.walletId,currencyPluginId:this.currencyInfo.pluginId}]}}),this.engineActivateWallet=o=>f(this,[o],function*({activateTokenIds:a,paymentTokenId:l,paymentWallet:r}){var c;if(a==null)throw new Error(`Must specify activateTokenIds for ${this.currencyInfo.currencyCode}`);if(l!=null)throw new Error(`Must activate with ${this.currencyInfo.currencyCode}`);if((r==null?void 0:r.id)!==this.walletId)throw new Error("Must pay with same wallet you are activating token with");const d=this.networkInfo.minimumTxFee.toFixed();let u="0";const v=[];for(const O of a){if(this.allTokensMap[O]==null)throw new Error(`Invalid tokenId to activate ${O}`);const x={currencyCode:this.allTokensMap[O].currencyCode,skipChecks:!0,spendTargets:[{publicAddress:this.walletInfo.keys.publicKey,nativeAmount:"0"}]};try{const I=yield this.makeSpend(x);u=(0,p.add)(u,(c=I.parentNetworkFee)!=null?c:d)}catch{u=(0,p.add)(u,d)}v.push(x)}return{paymentWalletId:this.walletId,fromNativeAmount:"0",networkFee:{nativeAmount:u,currencyPluginId:this.currencyInfo.pluginId},approve:(...O)=>f(this,[...O],function*(x={}){const{metadata:I}=x,A=[];for(const B of v){const U=yield this.makeSpend(B);U.metadata=j({},I);let S=yield r.signTx(U);S=yield r.broadcastTx(S),A.push(S),yield r.saveTx(S)}return{transactions:A}}),close:()=>f(this,null,function*(){})}}),this.networkInfo=t.networkInfo,this.queryTxMutex=(0,P.jT)(),this.suggestedTransactionParams={flatFee:!1,fee:0,firstRound:0,lastRound:0,genesisID:this.networkInfo.genesisID,genesisHash:this.networkInfo.genesisHash},this.minimumAddressBalance=this.networkInfo.minimumAddressBalance,this.totalReserve=this.minimumAddressBalance,this.otherMethods={parseWalletConnectV2Payload:o=>f(this,null,function*(){try{const l=Q(o).params[0][0],r=(0,k.wj)(H.US.parse(l.txn)),c=r.amount!=null?r.amount.toString():"0",d=r.fee.toFixed();let u;if(r.type==="axfer"){const v=r.assetIndex.toString();if(this.allTokensMap[v]==null)throw new Error("Unrecognized token");u=v}return{nativeAmount:c,networkFee:d,tokenId:u}}catch(a){throw this.warn("Wallet connect call_request ",a),a}})}}setOtherData(t){this.otherData=z(t)}fetchAccountInfo(t){return f(this,null,function*(){return yield(0,P.QJ)(this.networkInfo.algodServers.map(n=>()=>f(this,null,function*(){const i=yield new te("",n,"").accountInformation(t).do();return q(i)})))})}queryBalance(){return f(this,null,function*(){try{const t=yield this.fetchAccountInfo(this.walletLocalData.publicKey),{assets:n,amount:s,"min-balance":i,round:o}=t;this.totalReserve=i.toString();const a=[];for(const l of this.enabledTokens)if(l===this.currencyInfo.currencyCode)this.updateBalance(this.currencyInfo.currencyCode,s.toString());else{const r=Object.keys(this.allTokensMap).find(d=>this.allTokensMap[d].currencyCode===l);if(r==null){this.updateBalance(l,"0");continue}const c=n.find(d=>d["asset-id"].toFixed()===r);if(c==null){a.push(r),this.updateBalance(l,"0");continue}this.updateBalance(l,c.amount.toString())}o>this.walletLocalData.blockHeight&&(this.walletLocalData.blockHeight=o,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onBlockHeightChanged(this.walletLocalData.blockHeight)),(0,P.dQ)(a,this.walletLocalData.unactivatedTokenIds)||(this.walletLocalData.unactivatedTokenIds=a,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onUnactivatedTokenIdsChanged(this.walletLocalData.unactivatedTokenIds))}catch(t){this.log.warn("queryBalance Error ",t)}})}queryTransactionParams(){return f(this,null,function*(){try{const t=yield(0,P.QJ)(this.networkInfo.algodServers.map(n=>()=>f(this,null,function*(){const i=yield new te("",n,"").getTransactionParams().do(),o=L(i);if(o.genesisHash!==this.networkInfo.genesisHash)throw new Error("Server genesisHash mismatch");return o})));this.suggestedTransactionParams=t}catch(t){this.log.warn("queryTransactionParams error:",t)}})}processAlgorandTransaction(t){const{fee:n,"confirmed-round":s,id:i,"round-time":o,sender:a,"tx-type":l}=t;let r,c,d,u,v=!1;const E=[];switch(l){case"pay":{const{amount:x,receiver:I}=G(t)["payment-transaction"];if(c=x.toString(),d=n.toString(),a===this.walletInfo.keys.publicKey)c=`-${(0,p.add)(c,d)}`,v=!0;else if(I===this.walletInfo.keys.publicKey)d="0",E.push(this.walletInfo.keys.publicKey);else return;r=this.currencyInfo.currencyCode;break}case"axfer":{const{amount:x,"asset-id":I,receiver:A}=ee(t)["asset-transfer-transaction"];if(c=x.toString(),d="0",a===this.walletInfo.keys.publicKey)c=`-${c}`,u=n.toString(),v=!0;else if(A===this.walletInfo.keys.publicKey)E.push(this.walletInfo.keys.publicKey);else return;const B=this.allTokensMap[I];if(B==null)return;r=B.currencyCode;break}case"appl":{const{"inner-txns":x=[]}=T(t);if(x.forEach(I=>this.processAlgorandTransaction(ke(j({},I),{id:i}))),c="0",d=n.toString(),a===this.walletInfo.keys.publicKey)c=`-${(0,p.add)(c,d)}`,v=!0;else return;r=this.currencyInfo.currencyCode;break}default:return}const O={txid:i,date:o,currencyCode:r,blockHeight:s,nativeAmount:c,isSend:v,networkFee:d,ourReceiveAddresses:E,parentNetworkFee:u,signedTx:"",walletId:this.walletId};this.addTransaction(this.currencyInfo.currencyCode,O)}queryTransactions(){return f(this,null,function*(){return yield this.queryTxMutex(()=>f(this,null,function*(){return yield this.queryTransactionsInner()}))})}queryTransactionsInner(){return f(this,null,function*(){const t=this.otherData.latestRound;let n,s=this.otherData.latestRound,i=0,o,a=!0;do{const l=yield(0,P.QJ)(this.networkInfo.indexerServers.map(u=>()=>f(this,null,function*(){const E=yield new xe({},u,"").lookupAccountTransactions(this.walletLocalData.publicKey).minRound(t).nextToken(o!=null?o:"").do();return C(E)}))),{"next-token":r,transactions:c}=l;if(c.length===0)break;for(const u of c){if(n==null&&(n=u.id,s=u["confirmed-round"]),i=u["confirmed-round"],u.id===this.otherData.latestTxid){a=!1;break}try{this.processAlgorandTransaction(u)}catch(v){this.log.warn("processAlgorandTransaction error:",v)}}s=s!=null?s:this.walletLocalData.blockHeight;const d=(s-i)/(s-t);this.tokenCheckTransactionsStatus[this.currencyInfo.currencyCode]=d,this.updateOnAddressesChecked(),o=r}while(o!=null&&a);n!=null&&this.otherData.latestTxid!==n&&(this.otherData.latestTxid=n,this.otherData.latestRound=s,this.walletLocalDataDirty=!0);for(const l of this.enabledTokens)this.tokenCheckTransactionsStatus[l]=1;this.updateOnAddressesChecked(),this.transactionsChangedArray.length>0&&(this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onTransactionsChanged(this.transactionsChangedArray),this.transactionsChangedArray=[])})}startEngine(){return f(this,null,function*(){this.engineOn=!0,this.addToLoop("queryBalance",oe).catch(()=>{}),this.addToLoop("queryTransactionParams",oe).catch(()=>{}),this.addToLoop("queryTransactions",Ae).catch(()=>{}),yield Ce(ne.prototype,this,"startEngine").call(this)})}resyncBlockchain(){return f(this,null,function*(){yield this.killEngine(),yield this.clearBlockchainCache(),yield this.startEngine()})}calcFee(t){const n=t.estimateSize();return Math.max(this.suggestedTransactionParams.fee*n,this.networkInfo.minimumTxFee).toString()}getMaxSpendable(t){return f(this,null,function*(){let n=this.getBalance({currencyCode:t.currencyCode});if(t.currencyCode===this.currencyInfo.currencyCode&&(n=(0,p.sub)(n,this.totalReserve)),t.spendTargets[0].publicAddress==null)throw new Error("makeSpend Missing publicAddress");const{customNetworkFee:i}=t;let a=b(i).fee;a==null&&(t.spendTargets[0].nativeAmount="1",a=(yield this.makeSpend(t)).networkFee);const l=(r,c)=>f(this,null,function*(){const d=(0,p.sub)(c,r);if((0,p.lte)(d,"1"))return r;const u=(0,p.add)(r,(0,p.div)(d,"2"));t.spendTargets[0].nativeAmount=u;const v=(0,p.add)(u,a!=null?a:this.networkInfo.minimumTxFee.toString());return(0,p.gt)(v,n)?yield l(r,u):yield l(u,c)});return yield l("0",(0,p.add)(n,"1"))})}makeSpend(t){return f(this,null,function*(){var n,s,i;const{edgeSpendInfo:o,currencyCode:a,nativeBalance:l}=this.makeSpendCheck(t),r=(0,p.sub)(this.getBalance({currencyCode:this.currencyInfo.currencyCode}),this.totalReserve);if(o.spendTargets.length!==1)throw new Error("Error: only one output allowed");const{nativeAmount:c,memo:d,publicAddress:u}=o.spendTargets[0];if(u==null)throw new Error("makeSpend Missing publicAddress");if(c==null)throw new M.$D;const{type:v}=(n=(0,e.Vk)(g)(o.otherParams))!=null?n:{type:a===this.currencyInfo.currencyCode?"pay":"axfer"};let E;d!=null&&(E=Uint8Array.from(ye.from(d,"ascii")));const{customNetworkFee:O}=o,x=b(O).fee;let I,A=c,B="0",U,S,ce;switch(v){case"pay":{if(I=k.ZP.makePaymentTxnWithSuggestedParamsFromObject({to:u,from:this.walletInfo.keys.publicKey,amount:BigInt(c),note:E,suggestedParams:j({},this.suggestedTransactionParams)}),S=x!=null?x:this.calcFee(I),B=S,A=`-${(0,p.add)(A,B)}`,ce=u,(0,p.gt)((0,p.abs)(A),r))throw new M.C_;break}case"axfer":{const le=Object.keys(this.allTokensMap).find(De=>this.allTokensMap[De].currencyCode===a);if(le==null)throw new Error("Unrecognized asset");const ue=X((i=(s=this.allTokensMap)==null?void 0:s[le])==null?void 0:i.networkLocation);if(ue==null)throw new Error("Unrecognized asset");if(I=k.ZP.makeAssetTransferTxnWithSuggestedParamsFromObject({assetIndex:parseInt(ue.contractAddress),to:u,from:this.walletInfo.keys.publicKey,amount:BigInt(c),note:E,suggestedParams:j({},this.suggestedTransactionParams)}),S=x!=null?x:this.calcFee(I),A=`-${A}`,U=S,(0,p.gt)(U,r))throw new M.C_({currencyCode:this.currencyInfo.currencyCode,networkFee:S});if((0,p.gt)((0,p.abs)(A),l))throw new M.C_;break}default:throw new Error("Unrecognized transaction type")}I.flatFee=!0,I.fee=parseInt(S);const Oe={encodedTx:H.YU.stringify((0,k.nJ)(I)),recipient:ce};return{txid:"",date:0,currencyCode:a,blockHeight:0,nativeAmount:A,isSend:!0,networkFee:B,ourReceiveAddresses:[],parentNetworkFee:U,signedTx:"",otherParams:Oe,walletId:this.walletId}})}signMessage(t,n){return f(this,null,function*(){const s=R(this.currencyInfo.pluginId)(n),i=(0,k.wj)(H.US.parse(t)),o=k.ZP.mnemonicToSecretKey(s.mnemonic),a=i.signTxn(o.sk);return H.US.stringify(a)})}signTx(t,n){return f(this,null,function*(){const{encodedTx:s,recipient:i}=F((0,P.Xp)(t)),o=(0,k.wj)(Uint8Array.from(H.YU.parse(s)));i!=null&&(yield this.checkRecipientMinimumBalance(this.getRecipientBalance,o.amount.toString(),i));const a=R(this.currencyInfo.pluginId)(n),l=k.ZP.mnemonicToSecretKey(a.mnemonic),r=o.signTxn(l.sk),c=H.YU.stringify(r);return t.signedTx=c,t})}broadcastTx(t){return f(this,null,function*(){const n=Uint8Array.from(H.YU.parse(t.signedTx));try{const{txId:s}=yield(0,P.QJ)(this.networkInfo.algodServers.map(i=>()=>f(this,null,function*(){return yield new te("",i,"").sendRawTransaction(n).do()})));t.txid=s,t.date=Date.now()/1e3}catch(s){throw this.warn("FAILURE broadcastTx failed: ",s),s}return this.warn(`SUCCESS broadcastTx
|
|
2
|
-
${(0,
|
|
1
|
+
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[741],{37011:function(se,X,y){"use strict";y.r(X),y.d(X,{AlgorandTools:function(){return de},makeCurrencyEngine:function(){return Ee},makeCurrencyTools:function(){return De}});var T=y(88814),h=y(77591),E=y(20918),b=y(79014),I=y(76714),e=y(82448),L=y(62177);const Q=(0,e.su)({latestRound:(0,e.Vk)(e.mH,0),latestTxid:(0,e.Vk)(e.XC,"")}),J=(0,e.su)({amount:e.mH,assets:(0,e._2)((0,e.su)({amount:e.mH,"asset-id":e.mH})),"min-balance":e.mH,round:e.mH}),Y=(0,e.su)({"confirmed-round":e.mH,fee:e.mH,"first-valid":e.mH,id:e.XC,note:(0,e.Zz)(e.XC),"round-time":e.mH,sender:e.XC,"tx-type":e.XC}).withRest,_=(0,e.Wf)("pay"),G=(0,e.su)({"payment-transaction":(0,e.su)({amount:e.mH,"close-amount":e.mH,receiver:e.XC}),"tx-type":_}),ee=(0,e.Wf)("axfer"),te=(0,e.su)({"asset-transfer-transaction":(0,e.su)({amount:e.mH,"asset-id":e.mH,receiver:e.XC}),"tx-type":ee}),f=(0,e.su)({"confirmed-round":e.mH,fee:e.mH,"first-valid":e.mH,note:(0,e.Zz)(e.XC),"round-time":e.mH,sender:e.XC,"tx-type":e.XC}).withRest,v=(0,e.Wf)("appl"),k=(0,e.su)({"inner-txns":(0,e.Zz)((0,e._2)(f)),"tx-type":v}).withRest,A=(0,e.su)({"current-round":e.mH,"next-token":(0,e.Zz)(e.XC),transactions:(0,e._2)(Y)}),$=(0,e.su)({flatFee:e.jK,fee:e.mH,firstRound:e.mH,lastRound:e.mH,genesisID:e.XC,genesisHash:e.XC}),g=(0,e.su)({type:e.XC}).withRest,N=(0,e.su)({encodedTx:e.XC,recipient:(0,e.Zz)(e.XC)}),me=(0,e.su)({type:_,to:e.XC,amount:e.mH}).withRest,S=(0,e.Vk)((0,e.su)({fee:(0,e.Zz)(e.XC)}),{fee:void 0}),Z=(0,e.Vk)((0,e.su)({contractAddress:L.jD})),z=L.BQ,F=p=>{const t=(0,e.su)({[`${p}Mnemonic`]:e.XC});return(0,e.W1)(n=>({mnemonic:t(n)[`${p}Mnemonic`]}),n=>({[`${p}Mnemonic`]:n.mnemonic}))},j=(0,e.su)({id:(0,e._C)(e.XC,e.mH),method:(0,e.Wf)("algo_signTxn"),params:(0,e.vq)((0,e.vq)((0,e.su)({txn:e.XC,message:(0,e.Zz)(e.XC)})))}),V=(0,e.su)({id:e.mH,jsonrpc:(0,e.Wf)("2.0"),method:(0,e.Wf)("algo_signTxn"),params:(0,e.vq)((0,e._2)((0,e.su)({txn:e.XC,message:(0,e.Zz)(e.XC)})))}).withRest;var B=y(94935),U=y(35620),pe=y(84650),oe=y(72681),ae=y(99599),ge=Object.defineProperty,we=Object.defineProperties,Te=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,Ie=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty,ke=Object.prototype.propertyIsEnumerable,Ce=Reflect.get,ce=(p,t,n)=>t in p?ge(p,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):p[t]=n,q=(p,t)=>{for(var n in t||(t={}))ve.call(t,n)&&ce(p,n,t[n]);if(ie)for(var n of ie(t))ke.call(t,n)&&ce(p,n,t[n]);return p},xe=(p,t)=>we(p,Te(t)),Ae=(p,t,n)=>Ce(Ie(p),n,t),m=(p,t,n)=>new Promise((s,c)=>{var o=r=>{try{i(n.next(r))}catch(u){c(u)}},a=r=>{try{i(n.throw(r))}catch(u){c(u)}},i=r=>r.done?s(r.value):Promise.resolve(r.value).then(o,a);i((n=n.apply(p,t)).next())});const{Algodv2:ne,Indexer:Pe}=T.ZP,le=5e3,be=3e3;class re extends pe.P{constructor(t,n,s,c){super(t,n,s,c),this.getRecipientBalance=o=>m(this,null,function*(){try{return(yield this.fetchAccountInfo(o)).amount.toString()}catch{return this.minimumAddressBalance}}),this.engineGetActivationAssets=o=>m(this,null,function*(){return{assetOptions:[{paymentWalletId:this.walletId,currencyPluginId:this.currencyInfo.pluginId}]}}),this.engineActivateWallet=o=>m(this,[o],function*({activateTokenIds:a,paymentTokenId:i,paymentWallet:r}){var u;if(a==null)throw new Error(`Must specify activateTokenIds for ${this.currencyInfo.currencyCode}`);if(i!=null)throw new Error(`Must activate with ${this.currencyInfo.currencyCode}`);if((r==null?void 0:r.id)!==this.walletId)throw new Error("Must pay with same wallet you are activating token with");const d=this.networkInfo.minimumTxFee.toFixed();let l="0";const C=[];for(const P of a){if(this.allTokensMap[P]==null)throw new Error(`Invalid tokenId to activate ${P}`);const R={currencyCode:this.allTokensMap[P].currencyCode,skipChecks:!0,spendTargets:[{publicAddress:this.walletInfo.keys.publicKey,nativeAmount:"0"}]};try{const O=yield this.makeSpend(R);l=(0,h.add)(l,(u=O.parentNetworkFee)!=null?u:d)}catch{l=(0,h.add)(l,d)}C.push(R)}return{paymentWalletId:this.walletId,fromNativeAmount:"0",networkFee:{nativeAmount:l,currencyPluginId:this.currencyInfo.pluginId},approve:(...P)=>m(this,[...P],function*(R={}){const{metadata:O}=R,w=[];for(const x of C){const K=yield this.makeSpend(x);K.metadata=q({},O);let D=yield r.signTx(K);D=yield r.broadcastTx(D),w.push(D),yield r.saveTx(D)}return{transactions:w}}),close:()=>m(this,null,function*(){})}}),this.networkInfo=t.networkInfo,this.queryTxMutex=(0,I.jT)(),this.suggestedTransactionParams={flatFee:!1,fee:0,firstRound:0,lastRound:0,genesisID:this.networkInfo.genesisID,genesisHash:this.networkInfo.genesisHash},this.minimumAddressBalance=this.networkInfo.minimumAddressBalance,this.totalReserve=this.minimumAddressBalance,this.otherMethods={parseWalletConnectV2Payload:o=>m(this,null,function*(){try{const i=V(o).params[0][0],r=(0,T.wj)(U.US.parse(i.txn)),u=r.amount!=null?r.amount.toString():"0",d=r.fee.toFixed();let l;if(r.type==="axfer"){const C=r.assetIndex.toString();if(this.allTokensMap[C]==null)throw new Error("Unrecognized token");l=C}return{nativeAmount:u,networkFee:d,tokenId:l}}catch(a){throw this.warn("Wallet connect call_request ",a),a}})}}setOtherData(t){this.otherData=Q(t)}fetchAccountInfo(t){return m(this,null,function*(){return yield(0,I.QJ)(this.networkInfo.algodServers.map(n=>()=>m(this,null,function*(){const c=yield new ne("",n,"").accountInformation(t).do();return J(c)})))})}queryBalance(){return m(this,null,function*(){try{const t=yield this.fetchAccountInfo(this.walletLocalData.publicKey),{assets:n,amount:s,"min-balance":c,round:o}=t;this.totalReserve=c.toString();const a=[];for(const i of this.enabledTokens)if(i===this.currencyInfo.currencyCode)this.updateBalance(this.currencyInfo.currencyCode,s.toString());else{const r=Object.keys(this.allTokensMap).find(d=>this.allTokensMap[d].currencyCode===i);if(r==null){this.updateBalance(i,"0");continue}const u=n.find(d=>d["asset-id"].toFixed()===r);if(u==null){a.push(r),this.updateBalance(i,"0");continue}this.updateBalance(i,u.amount.toString())}o>this.walletLocalData.blockHeight&&(this.walletLocalData.blockHeight=o,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onBlockHeightChanged(this.walletLocalData.blockHeight)),(0,I.dQ)(a,this.walletLocalData.unactivatedTokenIds)||(this.walletLocalData.unactivatedTokenIds=a,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onUnactivatedTokenIdsChanged(this.walletLocalData.unactivatedTokenIds))}catch(t){this.log.warn("queryBalance Error ",t)}})}queryTransactionParams(){return m(this,null,function*(){try{const t=yield(0,I.QJ)(this.networkInfo.algodServers.map(n=>()=>m(this,null,function*(){const c=yield new ne("",n,"").getTransactionParams().do(),o=$(c);if(o.genesisHash!==this.networkInfo.genesisHash)throw new Error("Server genesisHash mismatch");return o})));this.suggestedTransactionParams=t}catch(t){this.log.warn("queryTransactionParams error:",t)}})}processAlgorandTransaction(t){const{"confirmed-round":n,"round-time":s,"tx-type":c,fee:o,id:a,note:i,sender:r}=t;let u,d,l,C,M=!1;const P=[];switch(c){case"pay":{const{amount:w,receiver:x}=G(t)["payment-transaction"];if(d=w.toString(),l=o.toString(),r===this.walletInfo.keys.publicKey)d=`-${(0,h.add)(d,l)}`,M=!0;else if(x===this.walletInfo.keys.publicKey)l="0",P.push(this.walletInfo.keys.publicKey);else return;u=this.currencyInfo.currencyCode;break}case"axfer":{const{amount:w,"asset-id":x,receiver:K}=te(t)["asset-transfer-transaction"];if(d=w.toString(),l="0",r===this.walletInfo.keys.publicKey)d=`-${d}`,C=o.toString(),M=!0;else if(K===this.walletInfo.keys.publicKey)P.push(this.walletInfo.keys.publicKey);else return;const D=this.allTokensMap[x];if(D==null)return;u=D.currencyCode;break}case"appl":{const{"inner-txns":w=[]}=k(t);if(w.forEach(x=>this.processAlgorandTransaction(xe(q({},x),{id:a}))),d="0",l=o.toString(),r===this.walletInfo.keys.publicKey)d=`-${(0,h.add)(d,l)}`,M=!0;else return;u=this.currencyInfo.currencyCode;break}default:return}const R=[];if(i!=null){const w=U.US.parse(i);try{R.push({memoName:"note",type:"text",value:ae.K.stringify(w)})}catch{R.push({memoName:"note",type:"hex",value:U.YU.stringify(w).toLowerCase()})}}const O={blockHeight:n,currencyCode:u,date:s,isSend:M,memos:R,nativeAmount:d,networkFee:l,ourReceiveAddresses:P,parentNetworkFee:C,signedTx:"",txid:a,walletId:this.walletId};this.addTransaction(this.currencyInfo.currencyCode,O)}queryTransactions(){return m(this,null,function*(){return yield this.queryTxMutex(()=>m(this,null,function*(){return yield this.queryTransactionsInner()}))})}queryTransactionsInner(){return m(this,null,function*(){const t=this.otherData.latestRound;let n,s=this.otherData.latestRound,c=0,o,a=!0;do{const i=yield(0,I.QJ)(this.networkInfo.indexerServers.map(l=>()=>m(this,null,function*(){const M=yield new Pe({},l,"").lookupAccountTransactions(this.walletLocalData.publicKey).minRound(t).nextToken(o!=null?o:"").do();return A(M)}))),{"next-token":r,transactions:u}=i;if(u.length===0)break;for(const l of u){if(n==null&&(n=l.id,s=l["confirmed-round"]),c=l["confirmed-round"],l.id===this.otherData.latestTxid){a=!1;break}try{this.processAlgorandTransaction(l)}catch(C){this.log.warn("processAlgorandTransaction error:",C)}}s=s!=null?s:this.walletLocalData.blockHeight;const d=(s-c)/(s-t);this.tokenCheckTransactionsStatus[this.currencyInfo.currencyCode]=d,this.updateOnAddressesChecked(),o=r}while(o!=null&&a);n!=null&&this.otherData.latestTxid!==n&&(this.otherData.latestTxid=n,this.otherData.latestRound=s,this.walletLocalDataDirty=!0);for(const i of this.enabledTokens)this.tokenCheckTransactionsStatus[i]=1;this.updateOnAddressesChecked(),this.transactionsChangedArray.length>0&&(this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onTransactionsChanged(this.transactionsChangedArray),this.transactionsChangedArray=[])})}startEngine(){return m(this,null,function*(){this.engineOn=!0,this.addToLoop("queryBalance",le).catch(()=>{}),this.addToLoop("queryTransactionParams",le).catch(()=>{}),this.addToLoop("queryTransactions",be).catch(()=>{}),yield Ae(re.prototype,this,"startEngine").call(this)})}resyncBlockchain(){return m(this,null,function*(){yield this.killEngine(),yield this.clearBlockchainCache(),yield this.startEngine()})}calcFee(t){const n=t.estimateSize();return Math.max(this.suggestedTransactionParams.fee*n,this.networkInfo.minimumTxFee).toString()}getMaxSpendable(t){return m(this,null,function*(){t=(0,oe.s)(t,this.currencyInfo);let n=this.getBalance({currencyCode:t.currencyCode});if(t.currencyCode===this.currencyInfo.currencyCode&&(n=(0,h.sub)(n,this.totalReserve)),t.spendTargets[0].publicAddress==null)throw new Error("makeSpend Missing publicAddress");const{customNetworkFee:c}=t;let a=S(c).fee;a==null&&(t.spendTargets[0].nativeAmount="1",a=(yield this.makeSpend(t)).networkFee);const i=(r,u)=>m(this,null,function*(){const d=(0,h.sub)(u,r);if((0,h.lte)(d,"1"))return r;const l=(0,h.add)(r,(0,h.div)(d,"2"));t.spendTargets[0].nativeAmount=l;const C=(0,h.add)(l,a!=null?a:this.networkInfo.minimumTxFee.toString());return(0,h.gt)(C,n)?yield i(r,l):yield i(l,u)});return yield i("0",(0,h.add)(n,"1"))})}makeSpend(t){return m(this,null,function*(){var n,s,c,o;t=(0,oe.s)(t,this.currencyInfo);const{edgeSpendInfo:a,currencyCode:i,nativeBalance:r}=this.makeSpendCheck(t),{memos:u=[]}=a,d=(0,h.sub)(this.getBalance({currencyCode:this.currencyInfo.currencyCode}),this.totalReserve);if(a.spendTargets.length!==1)throw new Error("Error: only one output allowed");const{nativeAmount:l,publicAddress:C}=a.spendTargets[0];if(C==null)throw new Error("makeSpend Missing publicAddress");if(l==null)throw new B.$D;const{type:M}=(n=(0,e.Vk)(g)(a.otherParams))!=null?n:{type:i===this.currencyInfo.currencyCode?"pay":"axfer"},P=((s=u[0])==null?void 0:s.type)==="text"?ae.K.parse(u[0].value):void 0,{customNetworkFee:R}=a,O=S(R).fee;let w,x=l,K="0",D,W,he;switch(M){case"pay":{if(w=T.ZP.makePaymentTxnWithSuggestedParamsFromObject({to:C,from:this.walletInfo.keys.publicKey,amount:BigInt(l),note:P,suggestedParams:q({},this.suggestedTransactionParams)}),W=O!=null?O:this.calcFee(w),K=W,x=`-${(0,h.add)(x,K)}`,he=C,(0,h.gt)((0,h.abs)(x),d))throw new B.C_;break}case"axfer":{const fe=Object.keys(this.allTokensMap).find(Re=>this.allTokensMap[Re].currencyCode===i);if(fe==null)throw new Error("Unrecognized asset");const ye=Z((o=(c=this.allTokensMap)==null?void 0:c[fe])==null?void 0:o.networkLocation);if(ye==null)throw new Error("Unrecognized asset");if(w=T.ZP.makeAssetTransferTxnWithSuggestedParamsFromObject({assetIndex:parseInt(ye.contractAddress),to:C,from:this.walletInfo.keys.publicKey,amount:BigInt(l),note:P,suggestedParams:q({},this.suggestedTransactionParams)}),W=O!=null?O:this.calcFee(w),x=`-${x}`,D=W,(0,h.gt)(D,d))throw new B.C_({currencyCode:this.currencyInfo.currencyCode,networkFee:W});if((0,h.gt)((0,h.abs)(x),r))throw new B.C_;break}default:throw new Error("Unrecognized transaction type")}w.flatFee=!0,w.fee=parseInt(W);const Me={encodedTx:U.YU.stringify((0,T.nJ)(w)),recipient:he};return{blockHeight:0,currencyCode:i,date:0,isSend:!0,memos:u,nativeAmount:x,networkFee:K,otherParams:Me,ourReceiveAddresses:[],parentNetworkFee:D,signedTx:"",txid:"",walletId:this.walletId}})}signMessage(t,n){return m(this,null,function*(){const s=F(this.currencyInfo.pluginId)(n),c=(0,T.wj)(U.US.parse(t)),o=T.ZP.mnemonicToSecretKey(s.mnemonic),a=c.signTxn(o.sk);return U.US.stringify(a)})}signTx(t,n){return m(this,null,function*(){const{encodedTx:s,recipient:c}=N((0,I.Xp)(t)),o=(0,T.wj)(Uint8Array.from(U.YU.parse(s)));c!=null&&(yield this.checkRecipientMinimumBalance(this.getRecipientBalance,o.amount.toString(),c));const a=F(this.currencyInfo.pluginId)(n),i=T.ZP.mnemonicToSecretKey(a.mnemonic),r=o.signTxn(i.sk),u=U.YU.stringify(r);return t.signedTx=u,t})}broadcastTx(t){return m(this,null,function*(){const n=Uint8Array.from(U.YU.parse(t.signedTx));try{const{txId:s}=yield(0,I.QJ)(this.networkInfo.algodServers.map(c=>()=>m(this,null,function*(){return yield new ne("",c,"").sendRawTransaction(n).do()})));t.txid=s,t.date=Date.now()/1e3}catch(s){throw this.warn("FAILURE broadcastTx failed: ",s),s}return this.warn(`SUCCESS broadcastTx
|
|
2
|
+
${(0,I.oX)(t)}`),t})}}function Ee(p,t,n,s){return m(this,null,function*(){const c=z(n),o=new re(p,t,c,s);return yield o.loadEngine(),o})}var Se=y(48764).Buffer,H=(p,t,n)=>new Promise((s,c)=>{var o=r=>{try{i(n.next(r))}catch(u){c(u)}},a=r=>{try{i(n.throw(r))}catch(u){c(u)}},i=r=>r.done?s(r.value):Promise.resolve(r.value).then(o,a);i((n=n.apply(p,t)).next())});const{isValidAddress:ue,mnemonicFromSeed:Oe}=T.ZP;class de{constructor(t){const{builtinTokens:n,currencyInfo:s,io:c}=t;this.io=c,this.currencyInfo=s,this.builtinTokens=n}getDisplayPrivateKey(t){return H(this,null,function*(){const{pluginId:n}=this.currencyInfo;return F(n)(t.keys).mnemonic})}getDisplayPublicKey(t){return H(this,null,function*(){const{keys:n}=z(t);return n.publicKey})}importPrivateKey(t){return H(this,null,function*(){const{pluginId:n}=this.currencyInfo;return T.ZP.mnemonicToSecretKey(t),{[`${n}Mnemonic`]:t}})}createPrivateKey(t){return H(this,null,function*(){if(t!==this.currencyInfo.walletType)throw new Error("InvalidWalletType");const n=Se.from(this.io.random(32)),s=Oe(n);return yield this.importPrivateKey(s)})}derivePublicKey(t){return H(this,null,function*(){const{pluginId:n}=this.currencyInfo;if(t.type!==this.currencyInfo.walletType)throw new Error("InvalidWalletType");const s=F(n)(t.keys);return{publicKey:T.ZP.mnemonicToSecretKey(s.mnemonic).addr}})}parseUri(t,n,s){return H(this,null,function*(){const{pluginId:c}=this.currencyInfo,o={[c]:!0},{parsedUri:a,edgeParsedUri:i}=(0,b.k)(this.currencyInfo,t,o,n!=null?n:this.currencyInfo.currencyCode,s);let r="";if(i.publicAddress!=null&&(r=i.publicAddress),!ue(r))throw new Error("InvalidPublicAddressError");return i.uniqueIdentifier=a.query.memo,i})}encodeUri(t){return H(this,arguments,function*(n,s=[]){const{pluginId:c}=this.currencyInfo,{nativeAmount:o,currencyCode:a,publicAddress:i}=n;if(!ue(i))throw new Error("InvalidPublicAddressError");let r;if(typeof o=="string"){const d=(0,I.Qs)(a!=null?a:this.currencyInfo.currencyCode,this.currencyInfo,s);if(d==null)throw new Error("InternalErrorInvalidCurrencyCode");r=(0,h.div)(o,d.multiplier,18)}return(0,b.Q)(n,c,r)})}getTokenId(t){return H(this,null,function*(){(0,E.Rp)(t);const n=Z(t.networkLocation);if(n==null)throw new Error("ErrorInvalidContractAddress");return n.contractAddress})}}function De(p){return H(this,null,function*(){return new de(p)})}},79014:function(se,X,y){"use strict";y.d(X,{Q:function(){return te},k:function(){return ee}});var T=y(77591),h=y.n(T),E=y(24350),b=y(84564),I=y.n(b),e=y(76714),L=Object.defineProperty,Q=Object.getOwnPropertySymbols,J=Object.prototype.hasOwnProperty,Y=Object.prototype.propertyIsEnumerable,_=(f,v,k)=>v in f?L(f,v,{enumerable:!0,configurable:!0,writable:!0,value:k}):f[v]=k,G=(f,v)=>{for(var k in v||(v={}))J.call(v,k)&&_(f,k,v[k]);if(Q)for(var k of Q(v))Y.call(v,k)&&_(f,k,v[k]);return f};function ee(f,v,k,A,$=[]){const g=G({},I()(v,{},!0)),N=v.startsWith(`${f.pluginId}://`);if(g.protocol!=null&&(g.protocol=g.protocol.replace(":","")),g.protocol!=null&&g.protocol!==""&&!k[g.protocol])throw new Error(`Uri protocol '${g.protocol}' is not supported for ${f.pluginId}.`);if(g.host===""&&g.pathname==="")throw new Error("Path and host not found in uri.");const S={publicAddress:g.host!==""?g.host:g.pathname.split("/")[0]},Z=g.query.label,z=g.query.message,F=g.query.category;(Z!=null||z!=null||F!=null||N)&&(S.metadata={},S.metadata.name=Z,S.metadata.notes=z,S.metadata.category=F,S.metadata.gateway=N!=null?N:!1);const j=g.query.amount;if(j!=null&&typeof j=="string"){A==null&&(A=f.currencyCode);const V=(0,e.Qs)(A!=null?A:"",f,$);if(V==null)throw new Error("InternalErrorInvalidCurrencyCode");let B=(0,T.mul)(j,V.multiplier);B=(0,T.toFixed)(B,0,0),S.nativeAmount=B,S.currencyCode=A}return{edgeParsedUri:S,parsedUri:g}}function te(f,v,k){if(f.publicAddress==null)throw new Error("InvalidPublicAddressError");if(k==null&&f.label==null&&f.message==null)return f.publicAddress;{let A="";k!=null&&(A+="amount="+k+"&"),(f.label!=null||f.message!=null)&&(typeof f.label=="string"&&(A+="label="+f.label+"&"),typeof f.message=="string"&&(A+="message="+f.message+"&")),A=A.substr(0,A.length-1);const $={scheme:v,path:f.publicAddress,query:A};return(0,E.qC)($)}}},99599:function(se,X,y){"use strict";y.d(X,{K:function(){return T}});const T={parse(h){const E=encodeURI(h),b=new Uint8Array(E.length);let I=0;for(let e=0;e<E.length;++e){const L=E.charCodeAt(e);L===37?(b[I++]=parseInt(E.slice(e+1,e+3),16),e+=2):b[I++]=L}return b.subarray(0,I)},stringify(h){let E="";for(let b=0;b<h.length;++b){const I=h[b];E+="%"+(I>>4).toString(16)+(I&15).toString(16)}return decodeURIComponent(E)}}},55024:function(){}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[26],{36048:function($){function E(u){var
|
|
2
|
-
${(0,
|
|
3
|
-
${(0,
|
|
4
|
-
${JSON.stringify((0,
|
|
1
|
+
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[26],{36048:function($){function E(u){var C=new Error("Cannot find module '"+u+"'");throw C.code="MODULE_NOT_FOUND",C}E.keys=function(){return[]},E.resolve=E,E.id=36048,$.exports=E},89662:function($,E,u){"use strict";u.r(E),u.d(E,{BinanceTools:function(){return Y},makeCurrencyEngine:function(){return q},makeCurrencyTools:function(){return ne}});var C=u(58298),v=u(77591),U=u(2153),R=u(48764),P=u(79014),m=u(76714),i=u(82448),I=u(62177);const H=(0,i.su)({sync_info:(0,i.su)({latest_block_height:i.mH})}),X=(0,i.su)({balances:(0,i._2)((0,i.su)({free:i.XC,frozen:i.XC,locked:i.XC,symbol:i.XC}))}),S=(0,i.su)({hash:i.XC,blockHeight:i.mH,blockTime:i.mH,type:i.XC,fee:i.mH,memo:i.XC,asset:i.XC,amount:i.mH,fromAddr:i.XC,toAddr:i.XC}),x=(0,i.su)({txs:(0,i._2)(S)}),j=(0,i.su)({binanceMnemonic:(0,i.Zz)(i.XC),publicKey:(0,i.Zz)(i.XC)}),F=(0,i.su)({result:(0,i._2)((0,i.su)({ok:i.jK,hash:(0,i.Zz)(i.XC)}))}),l=I.BQ,p=(0,i.su)({binanceKey:i.XC,binanceMnemonic:i.XC});var y=u(94935),b=u(84650),B=u(72681),f=Object.getPrototypeOf,L=Reflect.get,V=(g,e,t)=>L(f(g),t,e),d=(g,e,t)=>new Promise((s,n)=>{var r=o=>{try{c(t.next(o))}catch(h){n(h)}},a=o=>{try{c(t.throw(o))}catch(h){n(h)}},c=o=>o.done?s(o.value):Promise.resolve(o.value).then(r,a);c((t=t.apply(g,e)).next())});const D=2e4,K=2e4,M=3e3,T=1e3*60*60*24,N=15555e8,O=1e3*60*60*24*5,J="7500";class W extends b.P{constructor(e,t,s,n,r){super(e,t,s,r),this.fetchCors=(0,m.zR)(e.io),this.networkInfo=e.networkInfo}setOtherData(e){this.otherData={}}fetchGet(e){return d(this,null,function*(){const t=yield this.fetchCors(e,{method:"GET"});if(!t.ok)throw new Error(`The server returned error code ${t.status} for ${e}`);return yield t.json()})}checkBlockchainInnerLoop(){return d(this,null,function*(){try{const e=yield this.multicastServers("bnb_blockNumber","/api/v1/node-info"),s=H(e).sync_info.latest_block_height;this.log(`Got block height ${s}`),this.walletLocalData.blockHeight!==s&&(this.checkDroppedTransactionsThrottled(),this.walletLocalData.blockHeight=s,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onBlockHeightChanged(this.walletLocalData.blockHeight))}catch(e){this.error("Error fetching height: ",e.message)}})}checkAccountInnerLoop(){return d(this,null,function*(){const e=this.walletLocalData.publicKey;try{const t=yield this.multicastServers("bnb_getBalance",`/api/v1/account/${e}`),s=X(t);s.balances.length===0&&this.updateBalance("BNB","0");for(const n of this.enabledTokens)for(const r of s.balances)if(r.symbol===n){const a=(0,m.aL)(n,this.currencyInfo,this.allTokensMap);if(a==null){this.error(`checkAccountInnerLoop Received unsupported currencyCode: ${n}`);break}const c=(0,v.mul)(r.free,a.multiplier);this.updateBalance(n,c)}}catch(t){/error code 404/.test(t==null?void 0:t.message)?this.updateBalance("BNB","0"):this.error(`Error checking BNB address balance ${String(t)}`)}})}processBinanceApiTransaction(e,t){if(t!==e.asset||e.type!=="TRANSFER")return;let s;const n=[],r=String(e.fee),a=String(e.amount);e.fromAddr.toLowerCase()===this.walletLocalData.publicKey.toLowerCase()?e.fromAddr.toLowerCase()===e.toAddr.toLowerCase()?s=(0,v.mul)(r,"-1"):(s=(0,v.sub)("0",a),s=(0,v.sub)(s,r)):(s=(0,v.add)("0",a),n.push(this.walletLocalData.publicKey.toLowerCase()));let c=e.blockHeight;c<0&&(c=0);const o=new Date(e.blockTime).getTime()/1e3,h={blockHeight:c,currencyCode:t,date:o,isSend:s.startsWith("-"),memos:[],metadata:{notes:e.memo},nativeAmount:s,networkFee:r,ourReceiveAddresses:n,signedTx:"",txid:e.hash,walletId:this.walletId};this.addTransaction(t,h)}checkTransactionsFetch(e,t){return d(this,null,function*(){const s=this.walletLocalData.publicKey;let n=e,r=0;const a=Date.now();try{for(;r!==a;){r=n+O,r>a&&(r=a);const o=`/bc/api/v1/txs?address=${s}`+`&startTime=${n}&endTime=${r}`,h=yield this.multicastServers("bnb_getTransactions",o),w=x(h);for(const k of w.txs)this.processBinanceApiTransaction(k,t);n=r}}catch(c){if(!(0,I.Tt)(c).message.includes("404"))return this.error(`Error checkTransactionsFetch ${t}: ${this.walletLocalData.publicKey}`,c),!1}return this.tokenCheckTransactionsStatus[t]=1,this.updateOnAddressesChecked(),!0})}checkTransactionsInnerLoop(){return d(this,null,function*(){const e=Date.now();let t=N;const s=[];this.walletLocalData.lastAddressQueryHeight>T&&(t=this.walletLocalData.lastAddressQueryHeight-T);for(const a of this.enabledTokens)s.push(this.checkTransactionsFetch(t,a));let n=[];try{n=yield Promise.all(s)}catch(a){this.error("Failed to query transactions ",a)}let r=0;for(const a of n)a&&r++;r===s.length&&(this.walletLocalData.lastAddressQueryHeight=e),this.transactionsChangedArray.length>0&&(this.currencyEngineCallbacks.onTransactionsChanged(this.transactionsChangedArray),this.transactionsChangedArray=[])})}multicastServers(e,...t){return d(this,null,function*(){let s={result:"",server:"no server"},n;switch(e){case"bnb_broadcastTx":{const r=[],a=this.networkInfo.binanceApiServers;for(const h of a){const w=`${h}/api/v1/broadcast?sync=true`;r.push(this.fetchCors(w,{method:"POST",body:t[0],headers:{"content-type":"text/plain"}}))}const o=yield(yield(0,m.Wp)(r)).json();if(o[0]&&o[0].ok&&o[0].code===0)return this.log(`multicastServers ${e} ${JSON.stringify(s)} won`),{result:o,server:"irrelevant"};throw new Error(`send fail with error: ${o.message}`)}case"bnb_blockNumber":case"bnb_getBalance":n=this.networkInfo.binanceApiServers.map(r=>()=>d(this,null,function*(){const a=t[0],c=yield this.fetchGet(r+a);if(typeof c!="object"){const o=`Invalid return value ${e} in ${r}`;throw this.error(o),new Error(o)}return{server:r,result:c}})),n=(0,m.Sy)(n),s=yield(0,m.QJ)(n);break;case"bnb_getTransactions":n=this.networkInfo.beaconChainApiServers.map(r=>()=>d(this,null,function*(){const a=t[0],c=yield this.fetchGet(r+a);if(typeof c!="object"){const o=`Invalid return value ${e} in ${r}`;throw this.error(o),new Error(o)}return{server:r,result:c}})),n=(0,m.Sy)(n),s=yield(0,m.QJ)(n);break}return this.log(`multicastServers ${e} ${s.server} won`),s.result})}startEngine(){return d(this,null,function*(){this.engineOn=!0,this.addToLoop("checkBlockchainInnerLoop",K).catch(()=>{}),this.addToLoop("checkAccountInnerLoop",D).catch(()=>{}),this.addToLoop("checkTransactionsInnerLoop",M).catch(()=>{}),yield V(W.prototype,this,"startEngine").call(this)})}resyncBlockchain(){return d(this,null,function*(){yield this.killEngine(),yield this.clearBlockchainCache(),yield this.startEngine()})}makeSpend(e){return d(this,null,function*(){var t,s;e=(0,B.s)(e,this.currencyInfo);const{edgeSpendInfo:n,currencyCode:r}=this.makeSpendCheck(e),{memos:a=[]}=n,c=n.spendTargets[0],{publicAddress:o}=c;let{nativeAmount:h}=c;if(o==null)throw new Error("makeSpend Missing publicAddress");if(h==null)throw new y.$D;const w=c.otherParams!=null?c.otherParams.data:void 0,k={from:[this.walletLocalData.publicKey],to:[o],errorVal:0,tokenRecipientAddress:null,data:w};if(r!==this.currencyInfo.currencyCode)throw new Error("Binance Beacon Chain token transfers not supported");k.memo=((t=a[0])==null?void 0:t.type)==="text"?a[0].value:void 0;const _=J,G=new Error("Insufficient BNB for transaction fee");G.name="ErrorInsufficientFundsMoreBnb";const re=(s=this.walletLocalData.totalBalances[this.currencyInfo.currencyCode])!=null?s:"0";let z="0";if(z=(0,v.add)(h,_),(0,v.gt)(z,re))throw new y.C_;return h=(0,v.mul)(z,"-1"),{blockHeight:0,currencyCode:r,date:0,isSend:h.startsWith("-"),memos:a,nativeAmount:h,networkFee:_,otherParams:k,ourReceiveAddresses:[],signedTx:"",txid:"",walletId:this.walletId}})}signTx(e,t){return d(this,null,function*(){const s=p(t),n=(0,m.Xp)(e),r=new C.TR(this.networkInfo.binanceApiServers[0]);r.chooseNetwork("mainnet");const{binanceKey:a}=s;yield r.setPrivateKey(a),yield r.initChain();const c=e.currencyCode,h=(0,v.add)(e.nativeAmount,J).replace("-",""),w=(0,m.aL)(c,this.currencyInfo,this.allTokensMap);if(w==null)throw this.error(`signTx Received unsupported currencyCode: ${c}`),new Error(`Received unsupported currencyCode: ${c}`);const k=parseInt(h)/parseInt(w.multiplier);r._broadcastDelegate=G=>G;const _=yield r.transfer(n.from[0],n.to[0],k,c,n.memo);return e.signedTx=_.serialize(),this.warn(`signTx
|
|
2
|
+
${(0,m.oX)(e)}`),e})}broadcastTx(e){return d(this,null,function*(){var t,s;try{const n=yield this.multicastServers("bnb_broadcastTx",e.signedTx),r=F(n);if((t=r.result[0])!=null&&t.ok)return this.warn(`SUCCESS broadcastTx
|
|
3
|
+
${(0,m.oX)(e)}`),e.txid=(s=r.result[0].hash)!=null?s:"",e.date=Date.now()/1e3,e;throw new Error(`Broadcast failed ${JSON.stringify(r)}`)}catch(n){throw this.log.warn(`FAILURE broadcastTx
|
|
4
|
+
${JSON.stringify((0,m.oX)(e))} `,n),new Error(`Broadcast failed: ${n.message}`)}})}}function q(g,e,t,s){return d(this,null,function*(){const{initOptions:n}=g,r=l(t),a=new W(g,e,r,n,s);return yield a.loadEngine(),a})}var A=(g,e,t)=>new Promise((s,n)=>{var r=o=>{try{c(t.next(o))}catch(h){n(h)}},a=o=>{try{c(t.throw(o))}catch(h){n(h)}},c=o=>o.done?s(o.value):Promise.resolve(o.value).then(r,a);c((t=t.apply(g,e)).next())});const{checkAddress:Z,getAddressFromPrivateKey:ee,getPrivateKeyFromMnemonic:Q,validateMnemonic:te}=C.eL;class Y{constructor(e){const{builtinTokens:t,currencyInfo:s,io:n,networkInfo:r}=e;this.builtinTokens=t,this.currencyInfo=s,this.io=n,this.networkInfo=r}getDisplayPrivateKey(e){return A(this,null,function*(){return p(e.keys).binanceMnemonic})}getDisplayPublicKey(e){return A(this,null,function*(){const{keys:t}=l(e);return t.publicKey})}importPrivateKey(e){return A(this,null,function*(){if(!te(e))throw new Error("Invalid BNB mnemonic");const s=Q(e);return{binanceMnemonic:e,binanceKey:s}})}createPrivateKey(e){return A(this,null,function*(){if(e.replace("wallet:","")==="binance"){const s=R.Buffer.from(this.io.random(32)).toString("hex"),n=(0,U.entropyToMnemonic)(s),r=Q(n);return{binanceMnemonic:n,binanceKey:r}}else throw new Error("InvalidWalletType")})}derivePublicKey(e){return A(this,null,function*(){if(e.type.replace("wallet:","")==="binance"){let s="",n=e.keys.binanceKey;return typeof n!="string"&&(n=Q(e.keys.binanceMnemonic)),s=ee(n,"bnb"),{publicKey:s}}else throw new Error("InvalidWalletType")})}parseUri(e,t,s){return A(this,null,function*(){var n;const r={binance:!0},{parsedUri:a,edgeParsedUri:c}=(0,P.k)(this.currencyInfo,e,r,t!=null?t:"BNB",s),o=(n=c.publicAddress)!=null?n:"";if(!Z(o,"bnb"))throw new Error("InvalidPublicAddressError");return c.uniqueIdentifier=a.query.memo,c})}encodeUri(e){return A(this,arguments,function*(t,s=[]){const{publicAddress:n,nativeAmount:r,currencyCode:a}=t;if(!Z(n,"bnb"))throw new Error("InvalidPublicAddressError");let o;if(typeof r=="string"){const w=(0,m.Qs)(a!=null?a:"BNB",this.currencyInfo,s);if(w==null)throw new Error("InternalErrorInvalidCurrencyCode");o=(0,v.div)(r,w.multiplier,18)}return(0,P.Q)(t,"binance",o)})}}function ne(g){return A(this,null,function*(){return new Y(g)})}},79014:function($,E,u){"use strict";u.d(E,{Q:function(){return F},k:function(){return j}});var C=u(77591),v=u.n(C),U=u(24350),R=u(84564),P=u.n(R),m=u(76714),i=Object.defineProperty,I=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable,S=(l,p,y)=>p in l?i(l,p,{enumerable:!0,configurable:!0,writable:!0,value:y}):l[p]=y,x=(l,p)=>{for(var y in p||(p={}))H.call(p,y)&&S(l,y,p[y]);if(I)for(var y of I(p))X.call(p,y)&&S(l,y,p[y]);return l};function j(l,p,y,b,B=[]){const f=x({},P()(p,{},!0)),L=p.startsWith(`${l.pluginId}://`);if(f.protocol!=null&&(f.protocol=f.protocol.replace(":","")),f.protocol!=null&&f.protocol!==""&&!y[f.protocol])throw new Error(`Uri protocol '${f.protocol}' is not supported for ${l.pluginId}.`);if(f.host===""&&f.pathname==="")throw new Error("Path and host not found in uri.");const d={publicAddress:f.host!==""?f.host:f.pathname.split("/")[0]},D=f.query.label,K=f.query.message,M=f.query.category;(D!=null||K!=null||M!=null||L)&&(d.metadata={},d.metadata.name=D,d.metadata.notes=K,d.metadata.category=M,d.metadata.gateway=L!=null?L:!1);const T=f.query.amount;if(T!=null&&typeof T=="string"){b==null&&(b=l.currencyCode);const N=(0,m.Qs)(b!=null?b:"",l,B);if(N==null)throw new Error("InternalErrorInvalidCurrencyCode");let O=(0,C.mul)(T,N.multiplier);O=(0,C.toFixed)(O,0,0),d.nativeAmount=O,d.currencyCode=b}return{edgeParsedUri:d,parsedUri:f}}function F(l,p,y){if(l.publicAddress==null)throw new Error("InvalidPublicAddressError");if(y==null&&l.label==null&&l.message==null)return l.publicAddress;{let b="";y!=null&&(b+="amount="+y+"&"),(l.label!=null||l.message!=null)&&(typeof l.label=="string"&&(b+="label="+l.label+"&"),typeof l.message=="string"&&(b+="message="+l.message+"&")),b=b.substr(0,b.length-1);const B={scheme:p,path:l.publicAddress,query:b};return(0,U.qC)(B)}}},71156:function(){},83954:function(){}}]);
|