edge-currency-accountbased 0.22.21 → 0.23.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 +7 -0
- package/android/src/main/assets/edge-currency-accountbased/{645.chunk.js → 216.chunk.js} +6 -6
- package/android/src/main/assets/edge-currency-accountbased/244.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/387.chunk.js +9 -0
- package/android/src/main/assets/edge-currency-accountbased/491.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/549.chunk.js +1 -1
- package/android/src/main/assets/edge-currency-accountbased/94.chunk.js +8 -9
- package/android/src/main/assets/edge-currency-accountbased/bnb.chunk.js +3 -3
- package/android/src/main/assets/edge-currency-accountbased/edge-currency-accountbased.js +2 -2
- package/android/src/main/assets/edge-currency-accountbased/eos.chunk.js +11 -11
- package/android/src/main/assets/edge-currency-accountbased/ethereum.chunk.js +9 -9
- 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 -4
- package/android/src/main/assets/edge-currency-accountbased/solana.chunk.js +3 -3
- package/android/src/main/assets/edge-currency-accountbased/stellar.chunk.js +6 -6
- 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/binance/bnbEngine.js +28 -16
- package/lib/binance/bnbTypes.js +11 -0
- package/lib/common/engine.js +47 -3
- package/lib/common/types.js +20 -0
- package/lib/declare-modules.d.js +0 -22
- package/lib/eos/eosEngine.js +32 -21
- package/lib/eos/eosTypes.js +16 -0
- package/lib/eos/info/eosInfo.js +3 -1
- package/lib/ethereum/ethEngine.js +90 -140
- package/lib/ethereum/ethTypes.js +64 -0
- package/lib/fio/fioConst.js +26 -55
- package/lib/fio/fioEngine.js +830 -609
- package/lib/fio/fioError.js +15 -22
- package/lib/fio/fioInfo.js +13 -23
- package/lib/fio/fioPlugin.js +85 -94
- package/lib/fio/fioTypes.js +180 -1
- package/lib/hedera/hederaEngine.js +24 -12
- package/lib/hedera/hederaTypes.js +37 -0
- package/lib/polkadot/polkadotEngine.js +30 -10
- package/lib/polkadot/polkadotTypes.js +37 -0
- package/lib/solana/solanaEngine.js +25 -27
- package/lib/solana/solanaTypes.js +37 -0
- package/lib/stellar/stellarEngine.js +21 -19
- package/lib/stellar/stellarTypes.js +10 -0
- package/lib/tezos/tezosEngine.js +23 -18
- package/lib/tezos/tezosTypes.js +16 -0
- package/lib/tron/tronEngine.js +14 -7
- package/lib/tron/tronPlugin.js +1 -1
- package/lib/tron/tronTypes.js +15 -11
- package/lib/xrp/xrpEngine.js +86 -59
- package/lib/xrp/xrpTypes.js +16 -0
- package/lib/zcash/zecEngine.js +33 -27
- package/lib/zcash/zecInfo.js +4 -1
- package/lib/zcash/zecPlugin.js +20 -6
- package/lib/zcash/zecTypes.js +57 -1
- package/package.json +3 -3
- package/android/src/main/assets/edge-currency-accountbased/206.chunk.js +0 -8
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[26],{36048:function(
|
|
2
|
-
${(0,
|
|
3
|
-
${(0,
|
|
1
|
+
(self.webpackChunkedge_currency_accountbased=self.webpackChunkedge_currency_accountbased||[]).push([[26],{36048:function(R){function w(u){var T=new Error("Cannot find module '"+u+"'");throw T.code="MODULE_NOT_FOUND",T}w.keys=function(){return[]},w.resolve=w,w.id=36048,R.exports=w},59439:function(R,w,u){"use strict";u.r(w),u.d(w,{BinanceTools:function(){return Z},makeCurrencyEngine:function(){return Y},makeCurrencyTools:function(){return te}});var T=u(58298),v=u(77591),H=u(2153),X=u(48764),S=u(79014),b=u(76714),D=u(94935),_=u(50244),K=u(62177),c=u(82448);const N=(0,c.su)({sync_info:(0,c.su)({latest_block_height:c.mH})}),F=(0,c.su)({balances:(0,c._2)((0,c.su)({free:c.XC,frozen:c.XC,locked:c.XC,symbol:c.XC}))}),x=(0,c.su)({hash:c.XC,blockHeight:c.mH,blockTime:c.mH,type:c.XC,fee:c.mH,memo:c.XC,asset:c.XC,amount:c.mH,fromAddr:c.XC,toAddr:c.XC}),W=(0,c.su)({txs:(0,c._2)(x)}),l=(0,c.su)({binanceMnemonic:(0,c.Zz)(c.XC),publicKey:(0,c.Zz)(c.XC)}),f=(0,c.su)({result:(0,c._2)((0,c.su)({ok:c.jK,hash:(0,c.Zz)(c.XC)}))}),p=K.BQ,y=(0,c.su)({binanceKey:c.XC,binanceMnemonic:c.XC});var B=Object.getPrototypeOf,h=Reflect.get,P=(g,e,n)=>h(B(g),n,e),m=(g,e,n)=>new Promise((r,t)=>{var s=i=>{try{o(n.next(i))}catch(d){t(d)}},a=i=>{try{o(n.throw(i))}catch(d){t(d)}},o=i=>i.done?r(i.value):Promise.resolve(i.value).then(s,a);o((n=n.apply(g,e)).next())});const E=2e4,M=2e4,$=3e3,L=1e3*60*60*24,O=15555e8,U=1e3*60*60*24*5,A="37500";class G extends _.P{constructor(e,n,r,t,s){super(e,n,r,s),this.networkInfo=e.networkInfo}setOtherData(e){this.otherData={}}fetchGet(e){return m(this,null,function*(){const n=yield this.io.fetch(e,{method:"GET"});if(!n.ok)throw new Error(`The server returned error code ${n.status} for ${e}`);return yield n.json()})}fetchCorsGet(e){return m(this,null,function*(){var n;const t=yield((n=this.io.fetchCors)!=null?n:this.io.fetch)(e,{method:"GET"});if(!t.ok)throw new Error(`The server returned error code ${t.status} for ${e}`);return yield t.json()})}checkBlockchainInnerLoop(){return m(this,null,function*(){try{const e=yield this.multicastServers("bnb_blockNumber","/api/v1/node-info"),r=N(e).sync_info.latest_block_height;this.log(`Got block height ${r}`),this.walletLocalData.blockHeight!==r&&(this.checkDroppedTransactionsThrottled(),this.walletLocalData.blockHeight=r,this.walletLocalDataDirty=!0,this.currencyEngineCallbacks.onBlockHeightChanged(this.walletLocalData.blockHeight))}catch(e){this.error("Error fetching height: ",e.message)}})}checkAccountInnerLoop(){return m(this,null,function*(){const e=this.walletLocalData.publicKey;try{const n=yield this.multicastServers("bnb_getBalance",`/api/v1/account/${e}`),r=F(n);r.balances.length===0&&this.updateBalance("BNB","0");for(const t of this.enabledTokens)for(const s of r.balances)if(s.symbol===t){const a=(0,b.cp)(this.currencyInfo,t);if(a==null){this.error(`checkAccountInnerLoop Received unsupported currencyCode: ${t}`);break}const o=(0,v.mul)(s.free,a.multiplier);this.updateBalance(t,o)}}catch{this.tokenCheckTransactionsStatus.BNB===1&&this.transactionList.BNB.length===0&&this.updateBalance("BNB","0"),this.error("Error checking BNB address balance")}})}processBinanceApiTransaction(e,n){if(n!==e.asset||e.type!=="TRANSFER")return;let r;const t=[],s=String(e.fee),a=String(e.amount);e.fromAddr.toLowerCase()===this.walletLocalData.publicKey.toLowerCase()?e.fromAddr.toLowerCase()===e.toAddr.toLowerCase()?r=(0,v.mul)(s,"-1"):(r=(0,v.sub)("0",a),r=(0,v.sub)(r,s)):(r=(0,v.add)("0",a),t.push(this.walletLocalData.publicKey.toLowerCase()));let o=e.blockHeight;o<0&&(o=0);const i=new Date(e.blockTime),d={txid:e.hash,date:i.getTime(),currencyCode:n,blockHeight:o,nativeAmount:r,networkFee:s,ourReceiveAddresses:t,signedTx:"",metadata:{notes:e.memo},walletId:this.walletId};this.addTransaction(n,d)}checkTransactionsFetch(e,n){return m(this,null,function*(){const r=this.walletLocalData.publicKey;let t=e,s=0;const a=Date.now();try{for(;s!==a;){s=t+U,s>a&&(s=a);const i=`/bc/api/v1/txs?address=${r}`+`&startTime=${t}&endTime=${s}`,d=yield this.multicastServers("bnb_getTransactions",i),C=W(d);for(const I of C.txs)this.processBinanceApiTransaction(I,n);t=s}}catch(o){if(!(0,K.Tt)(o).message.includes("404"))return this.error(`Error checkTransactionsFetch ${n}: ${this.walletLocalData.publicKey}`,o),!1}return this.tokenCheckTransactionsStatus[n]=1,this.updateOnAddressesChecked(),!0})}checkTransactionsInnerLoop(){return m(this,null,function*(){const e=Date.now();let n=O;const r=[];this.walletLocalData.lastAddressQueryHeight>L&&(n=this.walletLocalData.lastAddressQueryHeight-L);for(const a of this.enabledTokens)r.push(this.checkTransactionsFetch(n,a));let t=[];try{t=yield Promise.all(r)}catch(a){this.error("Failed to query transactions ",a)}let s=0;for(const a of t)a&&s++;s===r.length&&(this.walletLocalData.lastAddressQueryHeight=e),this.transactionsChangedArray.length>0&&(this.currencyEngineCallbacks.onTransactionsChanged(this.transactionsChangedArray),this.transactionsChangedArray=[])})}multicastServers(e,...n){return m(this,null,function*(){let r={result:"",server:"no server"},t;switch(e){case"bnb_broadcastTx":{const s=[],a=this.networkInfo.binanceApiServers;for(const d of a){const C=`${d}/api/v1/broadcast?sync=true`;s.push(this.io.fetch(C,{method:"POST",body:n[0],headers:{"content-type":"text/plain"}}))}const i=yield(yield(0,b.Wp)(s)).json();if(i[0]&&i[0].ok&&i[0].code===0)return this.log(`multicastServers ${e} ${JSON.stringify(r)} won`),{result:i,server:"irrelevant"};throw new Error(`send fail with error: ${i.message}`)}case"bnb_blockNumber":case"bnb_getBalance":t=this.networkInfo.binanceApiServers.map(s=>()=>m(this,null,function*(){const a=n[0],o=yield this.fetchGet(s+a);if(typeof o!="object"){const i=`Invalid return value ${e} in ${s}`;throw this.error(i),new Error(i)}return{server:s,result:o}})),t=(0,b.Sy)(t),r=yield(0,b.QJ)(t);break;case"bnb_getTransactions":t=this.networkInfo.beaconChainApiServers.map(s=>()=>m(this,null,function*(){const a=n[0],o=yield this.fetchCorsGet(s+a);if(typeof o!="object"){const i=`Invalid return value ${e} in ${s}`;throw this.error(i),new Error(i)}return{server:s,result:o}})),t=(0,b.Sy)(t),r=yield(0,b.QJ)(t);break}return this.log(`multicastServers ${e} ${r.server} won`),r.result})}startEngine(){return m(this,null,function*(){this.engineOn=!0,this.addToLoop("checkBlockchainInnerLoop",M).catch(()=>{}),this.addToLoop("checkAccountInnerLoop",E).catch(()=>{}),this.addToLoop("checkTransactionsInnerLoop",$).catch(()=>{}),yield P(G.prototype,this,"startEngine").call(this)})}resyncBlockchain(){return m(this,null,function*(){yield this.killEngine(),yield this.clearBlockchainCache(),yield this.startEngine()})}makeSpend(e){return m(this,null,function*(){var n,r;const{edgeSpendInfo:t,currencyCode:s}=this.makeSpendCheck(e),a=t.spendTargets[0],{publicAddress:o}=a;let{nativeAmount:i}=a;if(o==null)throw new Error("makeSpend Missing publicAddress");if(i==null)throw new D.$D;const d=a.otherParams!=null?a.otherParams.data:void 0,C={from:[this.walletLocalData.publicKey],to:[o],errorVal:0,tokenRecipientAddress:null,data:d};if(s!==this.currencyInfo.currencyCode)throw new Error("Binance Beacon Chain token transfers not supported");((n=t.spendTargets[0].otherParams)==null?void 0:n.uniqueIdentifier)!=null&&(C.memo=t.spendTargets[0].otherParams.uniqueIdentifier);const I=A,z=new Error("Insufficient BNB for transaction fee");z.name="ErrorInsufficientFundsMoreBnb";const j=(r=this.walletLocalData.totalBalances[this.currencyInfo.currencyCode])!=null?r:"0";let V="0";if(V=(0,v.add)(i,I),(0,v.gt)(V,j))throw new D.C_;return i=(0,v.mul)(V,"-1"),{txid:"",date:0,currencyCode:s,blockHeight:0,nativeAmount:i,networkFee:I,ourReceiveAddresses:[],signedTx:"",otherParams:C,walletId:this.walletId}})}signTx(e,n){return m(this,null,function*(){const r=y(n),t=(0,b.Xp)(e),s=new T.TR(this.networkInfo.binanceApiServers[0]);s.chooseNetwork("mainnet");const{binanceKey:a}=r;yield s.setPrivateKey(a),yield s.initChain();const o=e.currencyCode,d=(0,v.add)(e.nativeAmount,A).replace("-",""),C=(0,b.cp)(this.currencyInfo,o);if(C==null)throw this.error(`signTx Received unsupported currencyCode: ${o}`),new Error(`Received unsupported currencyCode: ${o}`);const I=parseInt(d)/parseInt(C.multiplier);s._broadcastDelegate=j=>j;const z=yield s.transfer(t.from[0],t.to[0],I,o,t.memo);return t.serializedTx=z.serialize(),this.warn(`signTx
|
|
2
|
+
${(0,b.oX)(e)}`),e})}broadcastTx(e){return m(this,null,function*(){var n,r;const s=(0,b.Xp)(e).serializedTx,a=yield this.multicastServers("bnb_broadcastTx",s),o=f(a);return(n=o.result[0])!=null&&n.ok&&(this.warn(`SUCCESS broadcastTx
|
|
3
|
+
${(0,b.oX)(e)}`),e.txid=(r=o.result[0].hash)!=null?r:""),e})}getDisplayPrivateSeed(e){return y(e).binanceMnemonic}getDisplayPublicSeed(){const{keys:e}=this.walletInfo;return e.publicKey}}function Y(g,e,n,r){return m(this,null,function*(){const{initOptions:t}=g,s=p(n),a=new G(g,e,s,t,r);return yield a.loadEngine(e,s,r),a})}var k=(g,e,n)=>new Promise((r,t)=>{var s=i=>{try{o(n.next(i))}catch(d){t(d)}},a=i=>{try{o(n.throw(i))}catch(d){t(d)}},o=i=>i.done?r(i.value):Promise.resolve(i.value).then(s,a);o((n=n.apply(g,e)).next())});const{checkAddress:J,getAddressFromPrivateKey:q,getPrivateKeyFromMnemonic:Q,validateMnemonic:ee}=T.eL;class Z{constructor(e){const{builtinTokens:n,currencyInfo:r,io:t,networkInfo:s}=e;this.builtinTokens=n,this.currencyInfo=r,this.io=t,this.networkInfo=s}importPrivateKey(e){return k(this,null,function*(){if(!ee(e))throw new Error("Invalid BNB mnemonic");const r=Q(e);return{binanceMnemonic:e,binanceKey:r}})}createPrivateKey(e){return k(this,null,function*(){if(e.replace("wallet:","")==="binance"){const r=X.Buffer.from(this.io.random(32)).toString("hex"),t=(0,H.entropyToMnemonic)(r),s=Q(t);return{binanceMnemonic:t,binanceKey:s}}else throw new Error("InvalidWalletType")})}derivePublicKey(e){return k(this,null,function*(){if(e.type.replace("wallet:","")==="binance"){let r="",t=e.keys.binanceKey;return typeof t!="string"&&(t=Q(e.keys.binanceMnemonic)),r=q(t,"bnb"),{publicKey:r}}else throw new Error("InvalidWalletType")})}parseUri(e,n,r){return k(this,null,function*(){var t;const s={binance:!0},{parsedUri:a,edgeParsedUri:o}=(0,S.k)(this.currencyInfo,e,s,n!=null?n:"BNB",r),i=(t=o.publicAddress)!=null?t:"";if(!J(i,"bnb"))throw new Error("InvalidPublicAddressError");return o.uniqueIdentifier=a.query.memo,o})}encodeUri(e,n){return k(this,null,function*(){const{publicAddress:r,nativeAmount:t,currencyCode:s}=e;if(!J(r,"bnb"))throw new Error("InvalidPublicAddressError");let o;if(typeof t=="string"){const d=(0,b.cp)(this.currencyInfo,s!=null?s:"BNB",n);if(d==null)throw new Error("InternalErrorInvalidCurrencyCode");o=(0,v.div)(t,d.multiplier,18)}return(0,S.Q)(e,"binance",o)})}}function te(g){return k(this,null,function*(){return new Z(g)})}},79014:function(R,w,u){"use strict";u.d(w,{Q:function(){return W},k:function(){return x}});var T=u(77591),v=u.n(T),H=u(24350),X=u(84564),S=u.n(X),b=u(76714),D=Object.defineProperty,_=Object.getOwnPropertySymbols,K=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,N=(l,f,p)=>f in l?D(l,f,{enumerable:!0,configurable:!0,writable:!0,value:p}):l[f]=p,F=(l,f)=>{for(var p in f||(f={}))K.call(f,p)&&N(l,p,f[p]);if(_)for(var p of _(f))c.call(f,p)&&N(l,p,f[p]);return l};function x(l,f,p,y,B){const h=F({},S()(f,{},!0)),P=f.startsWith(`${l.pluginId}://`);if(h.protocol!=null&&(h.protocol=h.protocol.replace(":","")),h.protocol!=null&&h.protocol!==""&&!p[h.protocol])throw new Error(`Uri protocol '${h.protocol}' is not supported for ${l.pluginId}.`);if(h.host===""&&h.pathname==="")throw new Error("Path and host not found in uri.");const E={publicAddress:h.host!==""?h.host:h.pathname.split("/")[0]},M=h.query.label,$=h.query.message,L=h.query.category;(M!=null||$!=null||L!=null||P)&&(E.metadata={},E.metadata.name=M,E.metadata.notes=$,E.metadata.category=L,E.metadata.gateway=P!=null?P:!1);const O=h.query.amount;if(O!=null&&typeof O=="string"){y==null&&(y=l.currencyCode);const U=(0,b.cp)(l,y!=null?y:"",B);if(U==null)throw new Error("InternalErrorInvalidCurrencyCode");let A=(0,T.mul)(O,U.multiplier);A=(0,T.toFixed)(A,0,0),E.nativeAmount=A,E.currencyCode=y}return{edgeParsedUri:E,parsedUri:h}}function W(l,f,p){if(l.publicAddress==null)throw new Error("InvalidPublicAddressError");if(p==null&&l.label==null&&l.message==null)return l.publicAddress;{let y="";p!=null&&(y+="amount="+p+"&"),(l.label!=null||l.message!=null)&&(typeof l.label=="string"&&(y+="label="+l.label+"&"),typeof l.message=="string"&&(y+="message="+l.message+"&")),y=y.substr(0,y.length-1);const B={scheme:f,path:l.publicAddress,query:y};return(0,H.qC)(B)}}},89214:function(){},71156:function(){},52361:function(){},94616:function(){},83954:function(){}}]);
|