@rango-dev/queue-manager-rango-preset 0.1.10-next.77 → 0.1.10-next.78
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/dist/helpers.d.ts +2 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/queue-manager-rango-preset.cjs.development.js +18 -15
- package/dist/queue-manager-rango-preset.cjs.development.js.map +1 -1
- package/dist/queue-manager-rango-preset.cjs.production.min.js +1 -1
- package/dist/queue-manager-rango-preset.cjs.production.min.js.map +1 -1
- package/dist/queue-manager-rango-preset.esm.js +13 -10
- package/dist/queue-manager-rango-preset.esm.js.map +1 -1
- package/dist/shared-api.d.ts.map +1 -1
- package/dist/shared.d.ts +2 -2
- package/dist/shared.d.ts.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/src/helpers.ts +213 -182
- package/src/shared-api.ts +10 -13
- package/src/shared-sentry.ts +1 -1
- package/src/shared.ts +5 -8
- package/src/types.ts +2 -3
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,r,n=require("bignumber.js"),a=(e=n)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@rango-dev/wallets-shared"),s=require("@rango-dev/wallets-core"),i=require("@rango-dev/queue-manager-core"),l=require("@sentry/browser");function u(){u=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=Object.defineProperty||function(e,t,r){e[t]=r.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",i=a.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,a){var o=Object.create((t&&t.prototype instanceof d?t:d).prototype),s=new A(a||[]);return n(o,"_invoke",{value:x(e,r,s)}),o}function p(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var f={};function d(){}function g(){}function v(){}var T={};l(T,o,(function(){return this}));var h=Object.getPrototypeOf,w=h&&h(h(b([])));w&&w!==t&&r.call(w,o)&&(T=w);var E=v.prototype=d.prototype=Object.create(T);function S(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){var a;n(this,"_invoke",{value:function(n,o){function s(){return new t((function(a,s){!function n(a,o,s,i){var l=p(e[a],e,o);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==typeof c&&r.call(c,"__await")?t.resolve(c.__await).then((function(e){n("next",e,s,i)}),(function(e){n("throw",e,s,i)})):t.resolve(c).then((function(e){u.value=e,s(u)}),(function(e){return n("throw",e,s,i)}))}i(l.arg)}(n,o,a,s)}))}return a=a?a.then(s,s):s()}})}function x(e,t,r){var n="suspendedStart";return function(a,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw o;return{value:void 0,done:!0}}for(r.method=a,r.arg=o;;){var s=r.delegate;if(s){var i=_(s,r);if(i){if(i===f)continue;return i}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=p(e,t,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}function _(e,t){var r=t.method,n=e.iterator[r];if(void 0===n)return t.delegate=null,"throw"===r&&e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method)||"return"!==r&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+r+"' method")),f;var a=p(n,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,f;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function m(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(m,this),this.reset(!0)}function b(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,a=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:k}}function k(){return{value:void 0,done:!0}}return g.prototype=v,n(E,"constructor",{value:v,configurable:!0}),n(v,"constructor",{value:g,configurable:!0}),g.displayName=l(v,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,l(e,i,"GeneratorFunction")),e.prototype=Object.create(E),e},e.awrap=function(e){return{__await:e}},S(y.prototype),l(y.prototype,s,(function(){return this})),e.AsyncIterator=y,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var s=new y(c(t,r,n,a),o);return e.isGeneratorFunction(r)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},S(E),l(E,i,"Generator"),l(E,o,(function(){return this})),l(E,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},e.values=b,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return s.type="throw",s.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var i=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(i&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),C(r),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;C(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:b(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},e}function c(e,t,r,n,a,o,s){try{var i=e[o](s),l=i.value}catch(e){return void r(e)}i.done?t(l):Promise.resolve(l).then(n,a)}function p(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function s(e){c(o,n,a,s,i,"next",e)}function i(e){c(o,n,a,s,i,"throw",e)}s(void 0)}))}}function f(){return(f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function d(e){return(d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function g(e,t){return(g=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function v(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function T(e,t,r){return(T=v()?Reflect.construct.bind():function(e,t,r){var n=[null];n.push.apply(n,t);var a=new(Function.bind.apply(e,n));return r&&g(a,r.prototype),a}).apply(null,arguments)}function h(e){var t="function"==typeof Map?new Map:void 0;return(h=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return T(e,arguments,d(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),g(r,e)})(e)}!function(e){e.START="START",e.SCHEDULE_NEXT_STEP="SCHEDULE_NEXT_STEP",e.CREATE_TRANSACTION="CREATE_TRANSACTION",e.EXECUTE_TRANSACTION="EXECUTE_TRANSACTION",e.CHECK_TRANSACTION_STATUS="CHECK_TRANSACTION_STATUS"}(t||(t={})),function(e){e.WAIT_FOR_CONNECT_WALLET="waiting_for_connecting_wallet",e.WAIT_FOR_NETWORK_CHANGE="waiting_for_network_change",e.DEPENDS_ON_OTHER_QUEUES="depends_on_other_queues"}(r||(r={}));var w,E,S,y=process.env.REACT_APP_RANGO_DAPP_ID_QUERY,x=process.env.REACT_APP_BASE_URL,_=function(e,t){return"Please change your "+(e||"wallet")+" account to "+(t||"proper address")},m=function(e){return"Please connect to "+(e||"your wallet")+" by using bellow button or top right button on page."},C=function(e){return"Please change your network to "+e+"."};!function(e){e.TX_FAIL="TX_FAIL",e.FETCH_TX_FAILED="FETCH_TX_FAILED",e.USER_REJECT="USER_REJECT",e.CALL_WALLET_FAILED="CALL_WALLET_FAILED",e.SEND_TX_FAILED="SEND_TX_FAILED",e.CALL_OR_SEND_FAILED="CALL_OR_SEND_FAILED",e.USER_CANCEL="USER_CANCEL",e.CLIENT_UNEXPECTED_BEHAVIOUR="CLIENT_UNEXPECTED_BEHAVIOUR"}(w||(w={})),function(e){e.RequestingSwapTransaction="Requesting Swap Transaction",e.CreatingSwap="Creating Swap",e.CheckingTransactionStatus="Checking transaction status",e.CreateTransaction="Create Transaction",e.CheckApproval="Check TX Approval",e.GettingSwapDetail="Getting Swap Detail",e.GettingUserLimits="Getting user limits"}(E||(E={})),function(e){e.GenericTransaction="transaction",e.SendingOneInchTransaction="1inch transaction",e.Approval="approve transaction"}(S||(S={}));var A,b,k=function(e){return"Unexpected response from API ("+e+")"},N=function(e){var t,r;function n(t,r,a,o){var s;return s=e.call(this,r)||this,Object.setPrototypeOf(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(s),n.prototype),s.code=t,s.detail=o,s.root=a,s}return r=e,(t=n).prototype=Object.create(r.prototype),t.prototype.constructor=t,g(t,r),n.prototype.getErrorDetail=function(){var e="object"==typeof this.root&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),t="string"==typeof this.root?this.root:this.root instanceof Error?this.root.message:e;return{extraMessage:this.message,extraMessageDetail:this.detail||t,extraMessageErrorCode:this.code||null}},n.AssertionFailed=function(e){return new n(w.CLIENT_UNEXPECTED_BEHAVIOUR,"Assertion failed (Unexpected behaviour)",e)},n.BadStatusCode=function(e,t){return new n(w.TX_FAIL,e,null,"status code = "+t)},n.CreateTransaction=function(e){return new n(w.FETCH_TX_FAILED,"Create transaction failed in Rango Server",null,e)},n.WalletMissing=function(){return new n(w.CLIENT_UNEXPECTED_BEHAVIOUR,"Input wallet not found",null,"Server requested for a blockchain or address not selected by user")},n.BlockchainMissing=function(){return new n(w.CLIENT_UNEXPECTED_BEHAVIOUR,"Input wallet not found",null,"Server requested for a blockchain or address not selected by user")},n}(h(Error));!function(e){e.WaitingForConnectingWallet="waitingForConnectingWallet",e.WaitingForQueue="waitingForQueue",e.WaitingForNetworkChange="waitingForNetworkChange",e.NetworkChanged="networkChanged"}(A||(A={})),function(e){e.error="error",e.warning="warning",e.info="info",e.success="success"}(b||(b={}));var O=function(e,t){try{return D(e,t)}catch(e){return null}},D=function(e,t){var r,n,a,o,s,i,l,u,c,p=(null==(r=t.evmTransaction)?void 0:r.blockChain)||(null==(n=t.evmApprovalTransaction)?void 0:n.blockChain)||(null==(a=t.starknetTransaction)?void 0:a.blockChain)||(null==(o=t.starknetApprovalTransaction)?void 0:o.blockChain)||(null==(s=t.tronTransaction)?void 0:s.blockChain)||(null==(i=t.tronApprovalTransaction)?void 0:i.blockChain)||(null==(l=t.cosmosTransaction)?void 0:l.blockChain)||(null==(u=t.solanaTransaction)?void 0:u.blockChain);if(p)return p;var f=null==(c=t.transferTransaction)?void 0:c.fromWalletAddress;if(!f)throw N.BlockchainMissing();var d=Object.keys(e.wallets).find((function(t){var r;return(null==(r=e.wallets[t])?void 0:r.address)===f}))||null;if(null==d)throw N.BlockchainMissing();return d},I=function(e){if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(e instanceof N)return e.getErrorDetail();if(e instanceof o.WalletError){var t=e.getErrorDetail();return{extraMessage:t.message,extraMessageDetail:t.detail,extraMessageErrorCode:t.code}}return e instanceof Error?{extraMessage:e.toString(),extraMessageErrorCode:null}:"string"!=typeof e?{extraMessage:JSON.stringify(e),extraMessageErrorCode:null}:{extraMessage:e,extraMessageErrorCode:null}};function L(){var e="X-Rango-Id",t=window.localStorage.getItem(e);if(t)return t;var r=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return window.localStorage.setItem(e,r),r}function R(e,t){return e.steps.find((function(e){return"failed"!==e.status&&"success"!==e.status&&e.id!==t.id}))||null}function M(e,t,r,n){try{l.captureException(e,{tags:{requestId:t.requestId,rpc:!0,swapper:(null==r?void 0:r.swapperId)||"",walletType:n||""},level:"warning"})}catch(e){console.log({e:e})}}function U(e,t,r){return W.apply(this,arguments)}function W(){return(W=p(u().mark((function e(t,r,a){var o,s,i,l,c,p;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=x+"/tx/check-status?"+y,i={step:a,txId:r,requestId:t},e.next=4,fetch(s,{method:"POST",headers:(o={},o["X-Rango-Id"]=L(),o["content-type"]="application/json;charset=UTF-8",o),body:JSON.stringify(i)});case 4:if(!((l=e.sent).status&&(l.status<200||l.status>=400)||!l.ok)){e.next=8;break}throw c=k(E.CheckingTransactionStatus),N.BadStatusCode(c,l.status);case 8:return e.next=10,l.json();case 10:return e.abrupt("return",f({},p=e.sent,{outputAmount:p.outputAmount?new n.BigNumber(p.outputAmount):null}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function F(e){return P.apply(this,arguments)}function P(){return(P=p(u().mark((function e(t){var r,n,a,o;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=x+"/tx/create?"+y,e.prev=1,e.next=4,fetch(r,{method:"POST",headers:(n={"content-type":"application/json;charset=UTF-8"},n["X-Rango-Id"]=L(),n),body:JSON.stringify(t)});case 4:if(!((a=e.sent).status&&(a.status<200||a.status>=400)||!a.ok)){e.next=7;break}throw N.CreateTransaction("Error creating the transaction, status code: "+a.status);case 7:return e.next=9,a.json();case 9:if((o=e.sent).ok&&o.transaction){e.next=12;break}throw N.CreateTransaction(o.error||"bad response from create tx endpoint");case 12:return e.abrupt("return",o);case 15:if(e.prev=15,e.t0=e.catch(1),!(e.t0 instanceof Error)){e.next=19;break}throw N.CreateTransaction(e.t0.message);case 19:throw e.t0;case 20:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function B(e){return j.apply(this,arguments)}function j(){return(j=p(u().mark((function e(t){var r,n,a,o;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=x+"/tx/"+t+"/check-approval?"+y,e.next=3,fetch(n,{method:"GET",headers:(r={"content-type":"application/json;charset=UTF-8"},r["X-Rango-Id"]=L(),r)});case 3:if(!((a=e.sent).status&&(a.status<200||a.status>=400)||!a.ok)){e.next=7;break}throw o=k(E.CheckApproval),N.BadStatusCode(o,a.status);case 7:return e.next=9,a.json();case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function X(){return(X=p(u().mark((function e(t,r,n,a,o){var s,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=x+"/tx/report-tx?"+y,e.next=3,fetch(i,{method:"POST",headers:(s={"content-type":"application/json;charset=UTF-8"},s["X-Rango-Id"]=L(),s),body:JSON.stringify({requestId:t,step:r,eventType:n,reason:a,tags:{wallet:o}})});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var H=null,q=function(e){return e.steps.find((function(e){return"failed"!==e.status&&"success"!==e.status}))||null};function K(e){var t=e.getStorage,r=e.setStorage,n=e.nextStatus,a=e.nextStepStatus,s=e.message,i=e.details,l=e.errorCode,u=void 0===l?null:l,c=t().swapDetails,p=q(c);if(a&&p&&(p.status=a),n&&(c.status=n),n&&["failed","success"].includes(n)&&(c.finishTime=(new Date).getTime().toString()),s&&(c.extraMessage=s),i&&(c.extraMessageDetail=i),a&&["failed"].includes(a)){var d,g=i&&i.includes("Warning")?"Swap canceled by user.":i;c.extraMessageSeverity=b.error,function(e,t,r,n,a){return X.apply(this,arguments)}(c.requestId,(null==p?void 0:p.id)||1,function(e){var t,r=w.CLIENT_UNEXPECTED_BEHAVIOUR;try{return e?(t=e,Object.values(w).includes(t)?e:o.isWalletErrorCode(e)?((n={})[o.WalletErrorCode.REJECTED_BY_USER]=w.USER_REJECT,n[o.WalletErrorCode.SIGN_TX_ERROR]=w.CALL_WALLET_FAILED,n[o.WalletErrorCode.SEND_TX_ERROR]=w.SEND_TX_FAILED,n[o.WalletErrorCode.NOT_IMPLEMENTED]=r,n[o.WalletErrorCode.OPERATION_UNSUPPORTED]=r,n[o.WalletErrorCode.UNEXPECTED_BEHAVIOUR]=r,n)[e]:r):r;var n}catch(e){return r}}(u),g||"",(p?null==(d=function(e,t){try{return ue(e,t)}catch(e){return null}}(c,p))?void 0:d.walletType:null)||null).then()}else a&&["running"].includes(a)?c.extraMessageSeverity=b.info:a&&["success","approved"].includes(a)?c.extraMessageSeverity=b.success:a&&["waitingForApproval"].includes(a)&&(c.extraMessageSeverity=b.warning);return"running"===a&&p&&(p.startTransactionTime=(new Date).getTime()),r(f({},t(),{swapDetails:c})),{swap:c,step:p}}function G(e,t,r,n){var a=e.getStorage,o=e.setStorage,s=a().swapDetails,i=q(s);i.executedTransactionId=t||i.executedTransactionId,o(f({},a(),{swapDetails:s})),n({eventType:r,swap:s,step:i})}function V(e){var t=e.getStorage,r=e.setStorage,n=t().swapDetails,a=q(n);if(a)return n.networkStatusExtraMessage="",n.networkStatusExtraMessageDetail="",a.networkStatus=A.WaitingForQueue,r(f({},t(),{swapDetails:n})),{swap:n,step:a}}function J(e){return new Promise((function(t){return setTimeout(t,e)}))}var Q,Y=function(e){return e.type===o.TransactionType.EVM},z=function(e){return e.type===o.TransactionType.COSMOS},Z=function(e){return e.type===o.TransactionType.SOLANA},$=function(e){return e.type===o.TransactionType.TRANSFER},ee=function(e){return e.type===o.TransactionType.STARKNET},te=function(e){return e.type===o.TransactionType.TRON};function re(e){return null===e||null===(null==e?void 0:e.blockchains)||0===(null==e?void 0:e.blockchains.length)}function ne(e,t){return t&&e[t]?e[t].size?e[t].get(o.Network.ETHEREUM):e[t]:null}function ae(e){var t=q(e),r=O(e,t);if(!r)return{type:null,network:null,address:null};var n=function(e,t){var r;return null==(r=e.wallets[t])?void 0:r.walletType}(e,r),a=e.wallets[r];return{type:n||null,network:r,address:a?a.address:null}}function oe(e){return se.apply(this,arguments)}function se(){return(se=p(u().mark((function e(t){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.request({method:"eth_chainId"});case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=null==t?void 0:t.chainId;case 5:return e.abrupt("return",e.t0);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ie(e,t,r,n,a){return le.apply(this,arguments)}function le(){return(le=p(u().mark((function e(t,r,n,a,s){var i,l,c,p,f;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!re(n)){e.next=3;break}return console.warn("wallet object is null"),e.abrupt("return",!1);case 3:if(i=O(t,r)){e.next=6;break}return e.abrupt("return",!1);case 6:if(!a.evmBasedChains.find((function(e){return e.name===i}))){e.next=30;break}if(e.prev=7,!(l=t.wallets[i])){e.next=24;break}if(![o.WalletType.META_MASK,o.WalletType.BINANCE_CHAIN,o.WalletType.XDEFI,o.WalletType.WALLET_CONNECT,o.WalletType.TRUST_WALLET,o.WalletType.COIN98,o.WalletType.EXODUS,o.WalletType.OKX,o.WalletType.COINBASE,o.WalletType.TOKEN_POCKET,o.WalletType.MATH,o.WalletType.SAFEPAL,o.WalletType.COSMOSTATION,o.WalletType.CLOVER,o.WalletType.BRAVE].includes(l.walletType)){e.next=23;break}return c=ne(s,l.walletType),e.next=14,oe(c);case 14:if(!(p=e.sent)){e.next=21;break}if(!(f=o.getBlockChainNameFromId(p,Object.entries(a.blockchains).map((function(e){return e[1]}))))||f.toLowerCase()!==i.toLowerCase()){e.next=19;break}return e.abrupt("return",!0);case 19:if(!f||f.toLowerCase()===i.toLowerCase()){e.next=21;break}return e.abrupt("return",!1);case 21:e.next=24;break;case 23:return e.abrupt("return",!0);case 24:e.next=29;break;case 26:e.prev=26,e.t0=e.catch(7),console.log(e.t0);case 29:return e.abrupt("return",!1);case 30:return e.abrupt("return",!0);case 31:case"end":return e.stop()}}),e,null,[[7,26]])})))).apply(this,arguments)}function ue(e,t){var r=function(e,t){var r,n,a,o,s,i,l=e.wallets[(null==(r=t.evmTransaction)?void 0:r.blockChain)||""]||e.wallets[(null==(n=t.evmApprovalTransaction)?void 0:n.blockChain)||""]||e.wallets[(null==(a=t.cosmosTransaction)?void 0:a.blockChain)||""]||e.wallets[(null==(o=t.solanaTransaction)?void 0:o.blockChain)||""]||(null!=(s=t.transferTransaction)&&s.fromWalletAddress?{address:null==(i=t.transferTransaction)?void 0:i.fromWalletAddress}:null)||null;if(null==l)throw N.WalletMissing();return l.address}(e,t),n=Object.keys(e.wallets).map((function(t){return{k:t,v:e.wallets[t]}})).find((function(e){return e.v.address===r}))||null,a=(null==n?void 0:n.v)||null,s=null==a?void 0:a.walletType;if(s===o.WalletType.UNKNOWN||null===a)throw N.AssertionFailed("Wallet for source "+((null==n?void 0:n.k)||null)+" not passed to transfer: walletType: "+s);return a}function ce(e){var t=e.getStorage,r=e.setStorage,n=t().swapDetails,a=q(n);null!=a&&a.networkStatus&&(a.networkStatus=null,r(f({},t(),{swapDetails:n})))}function pe(e,t){void 0===t&&(t={message:"",details:"",status:null});var r=t.message,n=t.details,a=t.status,o=e.getStorage,s=e.setStorage,i=o().swapDetails,l=q(i);null!=l&&l.networkStatus&&(i.networkStatusExtraMessage=r,i.networkStatusExtraMessageDetail=n,l.networkStatus=a,s(f({},o(),{swapDetails:i})))}function fe(e,t){var r=ae(e),n=r.type,a=r.address;return!(!n||!a)&&(t(n).accounts||[]).some((function(e){var t=s.readAccountAddress(e);return a===t.address}))}function de(e){var r=e.getStorage,n=e.setStorage,a=e.failed,s=e.next,i=e.schedule,l=e.context,u=l.meta,c=l.getSigners,p=l.notifier,d=r().swapDetails,g=q(d),v=g.evmTransaction,T=g.evmApprovalTransaction,h=g.cosmosTransaction,w=g.solanaTransaction,E=g.transferTransaction,S=ue(d,g),y=c(S.walletType),x=function(){e.context.resetClaimedBy&&e.context.resetClaimedBy()};if(T){if(!(null==T?void 0:T.to))throw N.AssertionFailed("contract address is null for checking approval");var _=K({getStorage:r,setStorage:n,nextStepStatus:"waitingForApproval",message:"waiting for approval of "+(null==g?void 0:g.fromSymbol)+" coin "+(S.walletType===o.WalletType.WALLET_CONNECT?"on your mobile phone":""),details:"Waiting for approve transaction to be mined and confirmed successfully"});return p(f({eventType:"confirm_contract"},_)),void y.executeEvmTransaction(T,u).then((function(e){console.debug("transaction of approval minted successfully",e);var a=function(e,t,r){var n=r.find((function(e){return e.name===t}));if(!n)throw Error("unsupported network: "+t+" for getting approve url.");if(n.info.transactionUrl)return n.info.transactionUrl.replace("{txHash}",e.toLowerCase());throw Error("Explorer url for "+t+" is not implemented")}(e,D(d,g),u.evmBasedChains);g.explorerUrl=[].concat(g.explorerUrl||[],[{url:a,description:"approve"}]),n(f({},r(),{swapDetails:d})),i(t.CHECK_TRANSACTION_STATUS),s(),x()}),(function(e){var t,o,s;if("failed"!==d.status){console.debug("error in approving",e);var i=I(e),l=i.extraMessage,u=i.extraMessageDetail,c=i.extraMessageErrorCode;e&&null!=e&&e.root&&null!=e&&null!=(t=e.root)&&t.message&&null!=e&&null!=(o=e.root)&&o.code&&null!=e&&null!=(s=e.root)&&s.reason&&M(e.root,d,g,null==S?void 0:S.walletType);var v=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:l,details:u,errorCode:c});p(f({eventType:"contract_rejected"},v)),a(),x()}}))}var m=S.walletType===o.WalletType.WALLET_CONNECT?"Check your mobile phone":"";if(E){var C=K({getStorage:r,setStorage:n,nextStepStatus:"running",message:"executing transaction",details:m});p(f({eventType:"confirm_transfer"},C)),y.executeTransfer(E,u).then((function(r){G(e,r,"transfer_confirmed",p),i(t.CHECK_TRANSACTION_STATUS),s(),x()}),(function(e){if("failed"!==d.status){var t=I(e),o=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});p(f({eventType:"transfer_rejected"},o)),a(),x()}}))}else if(v){var A=K({getStorage:r,setStorage:n,nextStepStatus:"running",message:"executing transaction",details:m});p(f({eventType:"calling_smart_contract"},A)),y.executeEvmTransaction(v,u).then((function(r){G(e,r,"smart_contract_called",p),i(t.CHECK_TRANSACTION_STATUS),s(),x()}),(function(e){var t,o,s;if("failed"!==d.status){var i=I(e),l=i.extraMessage,u=i.extraMessageDetail,c=i.extraMessageErrorCode;e&&null!=e&&e.root&&null!=e&&null!=(t=e.root)&&t.message&&null!=e&&null!=(o=e.root)&&o.code&&null!=e&&null!=(s=e.root)&&s.reason&&M(e.root,d,g,null==S?void 0:S.walletType);var v=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:l,details:u,errorCode:c});p(f({eventType:"smart_contract_call_failed"},v)),a(),x()}}))}else if(h){var b=K({getStorage:r,setStorage:n,nextStepStatus:"running",message:"executing transaction",details:m});if(p(f({eventType:"calling_smart_contract"},b)),("TerraSwap"===(null==g?void 0:g.swapperId.toString())||"ThorChain"===(null==g?void 0:g.swapperId.toString())&&(null==g?void 0:g.fromBlockchain)===o.Network.TERRA||"Terra Bridge"===(null==g?void 0:g.swapperId.toString())&&g.fromBlockchain===o.Network.TERRA)&&S.walletType===o.WalletType.KEPLR){var k=I("Keplr only supports IBC Transactions on Terra. Using Terra Bridge, TerraSwap and THORChain is not possible with Keplr. Please use TerraStation or Leap wallet"),O=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:k.extraMessage,details:k.extraMessageDetail,errorCode:k.extraMessageErrorCode});return p(f({eventType:"smart_contract_call_failed"},O)),a(),void x()}y.executeCosmosMessage(h,u).then((function(r){G(e,r,"smart_contract_called",p),i(t.CHECK_TRANSACTION_STATUS),s(),x()}),(function(e){if("failed"!==d.status){var t=I(e),o=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});p(f({eventType:"smart_contract_call_failed"},o)),a(),x()}}))}else if(w){var L=K({getStorage:r,setStorage:n,nextStepStatus:"running",message:"executing transaction",details:m});p(f({eventType:"calling_smart_contract"},L)),y.executeSolanaTransaction(w,d.requestId).then((function(r){G(e,r,"smart_contract_called",p),i(t.CHECK_TRANSACTION_STATUS),s(),x()}),(function(e){if("failed"!==d.status){var t=I(e),o=K({getStorage:r,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});p(f({eventType:"smart_contract_call_failed"},o)),a(),x()}}))}}function ge(e){return!!e.evmTransaction||!!e.evmApprovalTransaction||!!e.cosmosTransaction}function ve(e){return Te.apply(this,arguments)}function Te(){return(Te=p(u().mark((function e(r){var n,o,s,i,l,c,p,d,g,v,T,h,w,E,S,y,x,_,m,C,A,k,N,O;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return h=r.setStorage,w=r.next,E=r.schedule,S=r.retry,y=r.context,x=(T=r.getStorage)().swapDetails,_=q(x),m=_.executedTransactionId,C=null,e.prev=5,e.next=8,U(x.requestId,m,_.id);case 8:C=e.sent,e.next=17;break;case 11:return e.prev=11,e.t0=e.catch(5),e.next=15,J(2e3);case 15:return S(),e.abrupt("return");case 17:if(A=(null==(n=C)?void 0:n.outputAmount)||(_.outputAmount?new a(_.outputAmount):null),k=_.outputAmount,x.extraMessage=(null==(o=C)?void 0:o.extraMessage)||x.extraMessage,x.extraMessageSeverity=b.info,x.extraMessageDetail="",_.status=(null==(s=C)?void 0:s.status)||_.status,_.diagnosisUrl=(null==(i=C)?void 0:i.diagnosisUrl)||_.diagnosisUrl||null,_.outputAmount=(null==A?void 0:A.toFixed())||_.outputAmount,_.explorerUrl=(null==(l=C)?void 0:l.explorerUrl)||_.explorerUrl,_.internalSteps=(null==(c=C)?void 0:c.steps)||null,(N=null==(p=C)?void 0:p.newTx)&&(_.status="created",_.executedTransactionId=null,_.transferTransaction=null,_.cosmosTransaction=null,_.evmTransaction=null,_.solanaTransaction=null,_.evmApprovalTransaction=null,_.starknetApprovalTransaction=null,_.starknetTransaction=null,_.tronApprovalTransaction=null,_.tronTransaction=null,Y(N)?N.isApprovalTx?_.evmApprovalTransaction=N:_.evmTransaction=N:z(N)?_.cosmosTransaction=N:Z(N)?_.solanaTransaction=N:$(N)?_.transferTransaction=N:ee(N)?N.isApprovalTx?_.starknetApprovalTransaction=N:_.starknetTransaction=N:te(N)&&(N.isApprovalTx?_.tronApprovalTransaction=N:_.tronTransaction=N)),null===k&&null!==A&&y.notifier({eventType:"step_completed_with_output",swap:x,step:_}),"success"===_.status&&(O=R(x,_),x.extraMessageDetail="",x.extraMessage=O?"starting next step: "+O.swapperId+": "+O.fromBlockchain+" -> "+O.toBlockchain:""),h(f({},T(),{swapDetails:x})),!("failed"===(null==(d=C)?void 0:d.status)||"success"===(null==(g=C)?void 0:g.status)||"running"===(null==(v=C)?void 0:v.status)&&C.newTx)){e.next=37;break}E(t.SCHEDULE_NEXT_STEP),w(),e.next=40;break;case 37:return e.next=39,J(2e3);case 39:S();case 40:case"end":return e.stop()}}),e,null,[[5,11]])})))).apply(this,arguments)}function he(e){return we.apply(this,arguments)}function we(){return(we=p(u().mark((function e(r){var n,a,o,s,i,l,c,p,d;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=r.setStorage,o=r.next,s=r.schedule,i=r.retry,l=r.context,c=(n=r.getStorage)().swapDetails,p=q(c),d=!1,e.prev=4,e.next=7,B(c.requestId);case 7:d=e.sent.isApproved,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.error("Failed to check getApprovedAmount",e.t0);case 14:if(!d){e.next=27;break}p.status="approved",c.extraMessage="Spending "+p.fromSymbol+" approved successfully.",c.extraMessageDetail=null,c.extraMessageSeverity=b.success,p.evmApprovalTransaction=null,p.executedTransactionId=null,a(f({},n(),{swapDetails:c})),l.notifier({eventType:"contract_confirmed",swap:c,step:p}),s(t.SCHEDULE_NEXT_STEP),o(),e.next=30;break;case 27:return e.next=29,J(2e3);case 29:i();case 30:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function Ee(){return(Ee=p(u().mark((function e(t){var r,n;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.getStorage().swapDetails,n=q(r),ce(t),"running"!==n.status){e.next=8;break}return e.next=6,ve(t);case 6:e.next=11;break;case 8:if("waitingForApproval"!==n.status){e.next=11;break}return e.next=11,he(t);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Se(){return(Se=p(u().mark((function e(r){var n,a,o,s,i,l,c,p,d,g,v,T,h,E,S;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=r.setStorage,o=r.next,s=r.schedule,i=r.context,l=(a=r.getStorage)().swapDetails,c=q(l),p=c.cosmosTransaction,d=c.transferTransaction,g=c.evmApprovalTransaction,v=c.solanaTransaction,c.evmTransaction||p||d||g||v){e.next=25;break}return T={requestId:l.requestId,step:c.id,userSettings:{slippage:l.settings.slippage,infiniteApprove:l.settings.infiniteApprove},validations:{balance:l.validateBalanceOrFee,fee:l.validateBalanceOrFee}},e.prev=6,e.next=9,F(T);case 9:(h=e.sent.transaction)&&(Y(h)?h.isApprovalTx?c.evmApprovalTransaction=h:c.evmTransaction=h:z(h)?c.cosmosTransaction=h:Z(h)?c.solanaTransaction=h:$(h)&&(c.transferTransaction=h)),n(f({},a(),{swapDetails:l})),s(t.EXECUTE_TRANSACTION),o(),e.next=25;break;case 17:e.prev=17,e.t0=e.catch(6),l.status="failed",l.finishTime=(new Date).getTime().toString(),E=I(e.t0),S=K({getStorage:a,setStorage:n,nextStatus:"failed",nextStepStatus:"failed",message:E.extraMessage,details:E.extraMessageDetail,errorCode:w.FETCH_TX_FAILED}),i.notifier(f({eventType:"task_failed"},S)),r.failed();case 25:case"end":return e.stop()}}),e,null,[[6,17]])})))).apply(this,arguments)}function ye(){return(ye=p(u().mark((function e(t){var n,a,o,s,i,l,c,p,f,d,g,v,T,h,w;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(a=t.context).meta,s=a.wallets,i=a.providers,l=a.claimedBy===(null==(n=a._queue)?void 0:n.id),c=function(e){t.block(e),l&&t.context.resetClaimedBy&&t.context.resetClaimedBy()},p=(0,t.getStorage)().swapDetails,f=q(p),ce(t),fe(p,a.state)){e.next=14;break}return d=ae(p),g=d.type,v=d.address,T=s?_(g,v):m(g),c({reason:r.WAIT_FOR_CONNECT_WALLET,description:T}),e.abrupt("return");case 14:if(!ge(f)||l||!a.claimedBy){e.next=19;break}return c({reason:r.DEPENDS_ON_OTHER_QUEUES,description:"Waiting for other running tasks to be finished",details:{}}),e.abrupt("return");case 19:return e.next=21,ie(p,f,s,o,i);case 21:if(e.sent){e.next=30;break}return h=D(p,f),w=C(h),c({reason:r.WAIT_FOR_NETWORK_CHANGE,details:w}),e.abrupt("return");case 30:pe(t,{message:"",details:"Wallet network changed successfully",status:A.NetworkChanged});case 31:de(t);case 32:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var xe={name:"swap",actions:(Q={},Q[t.START]=function(e){var r=e.next;(0,e.schedule)(t.SCHEDULE_NEXT_STEP),r()},Q[t.SCHEDULE_NEXT_STEP]=function(e){var r=e.schedule,n=e.next,a=e.failed,o=e.setStorage,s=e.getStorage,i=e.context,l=s().swapDetails,u=q(l);if(u){if(function(e,t){var r,n,a,o,s;return null!==(e.wallets[(null==(r=t.evmTransaction)?void 0:r.blockChain)||""]||e.wallets[(null==(n=t.evmApprovalTransaction)?void 0:n.blockChain)||""]||e.wallets[(null==(a=t.cosmosTransaction)?void 0:a.blockChain)||""]||e.wallets[(null==(o=t.solanaTransaction)?void 0:o.blockChain)||""]||(null==(s=t.transferTransaction)?void 0:s.fromWalletAddress)||null)}(l,u))return r(t.EXECUTE_TRANSACTION),n();if(null!=u&&u.executedTransactionId)return r(t.CHECK_TRANSACTION_STATUS),n();l.status="running",o(f({},s(),{swapDetails:l})),r(t.CREATE_TRANSACTION),n()}else{var c=l.steps.find((function(e){return"failed"===e.status}));l.status=c?"failed":"success",l.finishTime=(new Date).getTime().toString(),o(f({},s(),{swapDetails:l})),i.notifier({eventType:c?"task_failed":"task_completed",swap:l,step:null}),c?a():n()}},Q[t.CREATE_TRANSACTION]=function(e){return Se.apply(this,arguments)},Q[t.EXECUTE_TRANSACTION]=function(e){return ye.apply(this,arguments)},Q[t.CHECK_TRANSACTION_STATUS]=function(e){return Ee.apply(this,arguments)},Q),run:[t.START],whenTaskBlocked:function(e,t){e.reason.reason===r.WAIT_FOR_CONNECT_WALLET?function(e,t){var r=t.context,n=t.queue,a=n.getStorage().swapDetails;if(!fe(a,r.state)){var o=q(a);return r.notifier({eventType:"waiting_for_connecting_wallet",swap:a,step:o}),void function(e,t,r){var n=e.getStorage,a=e.setStorage,o=n().swapDetails,s=q(o);if(s){var i=new Date;o.lastNotificationTime=i.getTime().toString(),s.networkStatus===A.WaitingForConnectingWallet&&o.networkStatusExtraMessage===t&&o.networkStatusExtraMessageDetail===r||(s.networkStatus=A.WaitingForConnectingWallet,o.networkStatusExtraMessage=t,o.networkStatusExtraMessageDetail=r,a(f({},n(),{swapDetails:o})))}}({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)},"Waiting for connecting wallet",e.reason.description)}n.unblock()}(e,t):e.reason.reason===r.WAIT_FOR_NETWORK_CHANGE?function(e,t){var r=t.context,n=t.queue,a=n.getStorage().swapDetails;if(q(a)){var s=function(e){var t=e.getStorage,r=e.setStorage,n=t().swapDetails,a=q(n);if(a){var s=ae(n).type,i=D(n,a),l="Change "+s+" wallet network to "+i,u="";s===o.WalletType.META_MASK&&(u="(Networks -> Select '"+i+"' network.)");var c="Please change your "+s+" wallet network to "+i+". "+u,p=new Date;return n.lastNotificationTime=p.getTime().toString(),a.networkStatus=A.WaitingForNetworkChange,n.networkStatusExtraMessage=l,n.networkStatusExtraMessageDetail=c,r(f({},t(),{swapDetails:n})),{swap:n,step:a}}}({getStorage:n.getStorage.bind(n),setStorage:n.setStorage.bind(n)});s&&r.notifier({eventType:"waiting_for_network_change",swap:s.swap,step:s.step});var i=ae(a),l=i.type,u=i.network;if(l&&u){var c=r.switchNetwork(l,u);c&&c.then((function(){n.unblock()}))}}}(0,t):e.reason.reason===r.DEPENDS_ON_OTHER_QUEUES&&function(e,t){var n=t.forceExecute,a=t.queue,o=t.manager,s=function(){var e;return null==(e=H)?void 0:e.id},l=(0,t.getBlockedTasks)().filter((function(e){return e.reason.reason===r.DEPENDS_ON_OTHER_QUEUES}));if(0!==l.length)if(s())V({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});else{var u=l.find((function(e){return e.queue_id===t.queue_id}));u||(u=l[0]),H={id:u.queue_id};var c=ae(u.storage.get().swapDetails),p=c.type,f=c.network,d=c.address;n(u.queue_id,{claimedBy:s(),resetClaimedBy:function(){H=null,function(e,t,r){var n;void 0===r&&(r={fallbackToOnlyWallet:!0});var a=e.split("-"),o=a[0],s=a[1];if(o&&s){var l=[],u=[];null==t||t.getAll().forEach((function(e){if(e.status===i.Status.BLOCKED){var t=e.list.getStorage(),r=null==t?void 0:t.swapDetails;if(r){var n,a,c=q(r);c&&(c.fromBlockchain==s&&(null==t||null==(n=t.swapDetails.wallets[s])?void 0:n.walletType)===o?l.push(e.list):(null==t||null==(a=t.swapDetails.wallets[c.fromBlockchain])?void 0:a.walletType)===o&&u.push(e.list))}}}));var c=void 0;if(l.length>0){if(c=l[0],l.length>1)for(var p=1;p<l.length;p++){var f=l[p];V({getStorage:f.getStorage.bind(f),setStorage:f.setStorage.bind(f)})}}else u.length>0&&r.fallbackToOnlyWallet&&(c=u[0]);null==(n=c)||n.checkBlock()}}(p+"-"+f+"-"+d,o)}})}}(0,t)}};exports.swapQueueDef=xe;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t,n,r=require("bignumber.js"),a=(e=r)&&"object"==typeof e&&"default"in e?e.default:e,o=require("@rango-dev/wallets-shared"),s=require("@rango-dev/wallets-core"),i=require("rango-sdk"),l=require("@rango-dev/queue-manager-core"),u=require("rango-types"),c=require("@sentry/browser");function p(){p=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},o=a.iterator||"@@iterator",s=a.asyncIterator||"@@asyncIterator",i=a.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var o=Object.create((t&&t.prototype instanceof d?t:d).prototype),s=new A(a||[]);return r(o,"_invoke",{value:x(e,n,s)}),o}function c(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var f={};function d(){}function g(){}function v(){}var T={};l(T,o,(function(){return this}));var h=Object.getPrototypeOf,S=h&&h(h(b([])));S&&S!==t&&n.call(S,o)&&(T=S);var w=v.prototype=d.prototype=Object.create(T);function E(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function y(e,t){var a;r(this,"_invoke",{value:function(r,o){function s(){return new t((function(a,s){!function r(a,o,s,i){var l=c(e[a],e,o);if("throw"!==l.type){var u=l.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){r("next",e,s,i)}),(function(e){r("throw",e,s,i)})):t.resolve(p).then((function(e){u.value=e,s(u)}),(function(e){return r("throw",e,s,i)}))}i(l.arg)}(r,o,a,s)}))}return a=a?a.then(s,s):s()}})}function x(e,t,n){var r="suspendedStart";return function(a,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===a)throw o;return{value:void 0,done:!0}}for(n.method=a,n.arg=o;;){var s=n.delegate;if(s){var i=_(s,n);if(i){if(i===f)continue;return i}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=c(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function _(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,_(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var a=c(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,f;var o=a.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function m(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function C(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function A(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(m,this),this.reset(!0)}function b(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:k}}function k(){return{value:void 0,done:!0}}return g.prototype=v,r(w,"constructor",{value:v,configurable:!0}),r(v,"constructor",{value:g,configurable:!0}),g.displayName=l(v,i,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===g||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,v):(e.__proto__=v,l(e,i,"GeneratorFunction")),e.prototype=Object.create(w),e},e.awrap=function(e){return{__await:e}},E(y.prototype),l(y.prototype,s,(function(){return this})),e.AsyncIterator=y,e.async=function(t,n,r,a,o){void 0===o&&(o=Promise);var s=new y(u(t,n,r,a),o);return e.isGeneratorFunction(n)?s:s.next().then((function(e){return e.done?e.value:s.next()}))},E(w),l(w,i,"Generator"),l(w,o,(function(){return this})),l(w,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=b,A.prototype={constructor:A,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(C),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return s.type="throw",s.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var o=this.tryEntries[a],s=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var i=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(i&&l){if(this.prev<o.catchLoc)return r(o.catchLoc,!0);if(this.prev<o.finallyLoc)return r(o.finallyLoc)}else if(i){if(this.prev<o.catchLoc)return r(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return r(o.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===e||"continue"===e)&&o.tryLoc<=t&&t<=o.finallyLoc&&(o=null);var s=o?o.completion:{};return s.type=e,s.arg=t,o?(this.method="next",this.next=o.finallyLoc,f):this.complete(s)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),f},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),C(n),f}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;C(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:b(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function f(e,t,n,r,a,o,s){try{var i=e[o](s),l=i.value}catch(e){return void n(e)}i.done?t(l):Promise.resolve(l).then(r,a)}function d(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var o=e.apply(t,n);function s(e){f(o,r,a,s,i,"next",e)}function i(e){f(o,r,a,s,i,"throw",e)}s(void 0)}))}}function g(){return(g=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function v(e){return(v=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function T(e,t){return(T=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function h(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function S(e,t,n){return(S=h()?Reflect.construct.bind():function(e,t,n){var r=[null];r.push.apply(r,t);var a=new(Function.bind.apply(e,r));return n&&T(a,n.prototype),a}).apply(null,arguments)}function w(e){var t="function"==typeof Map?new Map:void 0;return(w=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return S(e,arguments,v(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),T(n,e)})(e)}!function(e){e.START="START",e.SCHEDULE_NEXT_STEP="SCHEDULE_NEXT_STEP",e.CREATE_TRANSACTION="CREATE_TRANSACTION",e.EXECUTE_TRANSACTION="EXECUTE_TRANSACTION",e.CHECK_TRANSACTION_STATUS="CHECK_TRANSACTION_STATUS"}(t||(t={})),function(e){e.WAIT_FOR_CONNECT_WALLET="waiting_for_connecting_wallet",e.WAIT_FOR_NETWORK_CHANGE="waiting_for_network_change",e.DEPENDS_ON_OTHER_QUEUES="depends_on_other_queues"}(n||(n={}));var E,y,x,_=process.env.REACT_APP_RANGO_DAPP_ID_QUERY,m=process.env.REACT_APP_BASE_URL,C=function(e,t){return"Please change your "+(e||"wallet")+" account to "+(t||"proper address")},A=function(e){return"Please connect to "+(e||"your wallet")+" by using bellow button or top right button on page."},b=function(e){return"Please change your network to "+e+"."};!function(e){e.TX_FAIL="TX_FAIL",e.FETCH_TX_FAILED="FETCH_TX_FAILED",e.USER_REJECT="USER_REJECT",e.CALL_WALLET_FAILED="CALL_WALLET_FAILED",e.SEND_TX_FAILED="SEND_TX_FAILED",e.CALL_OR_SEND_FAILED="CALL_OR_SEND_FAILED",e.USER_CANCEL="USER_CANCEL",e.CLIENT_UNEXPECTED_BEHAVIOUR="CLIENT_UNEXPECTED_BEHAVIOUR"}(E||(E={})),function(e){e.RequestingSwapTransaction="Requesting Swap Transaction",e.CreatingSwap="Creating Swap",e.CheckingTransactionStatus="Checking transaction status",e.CreateTransaction="Create Transaction",e.CheckApproval="Check TX Approval",e.GettingSwapDetail="Getting Swap Detail",e.GettingUserLimits="Getting user limits"}(y||(y={})),function(e){e.GenericTransaction="transaction",e.SendingOneInchTransaction="1inch transaction",e.Approval="approve transaction"}(x||(x={}));var k,N,O=function(e){return"Unexpected response from API ("+e+")"},D=function(e){var t,n;function r(t,n,a,o){var s;return s=e.call(this,n)||this,Object.setPrototypeOf(function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(s),r.prototype),s.code=t,s.detail=o,s.root=a,s}return n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,T(t,n),r.prototype.getErrorDetail=function(){var e="object"==typeof this.root&&this.root&&this.root.error?this.root.error:JSON.stringify(this.root),t="string"==typeof this.root?this.root:this.root instanceof Error?this.root.message:e;return{extraMessage:this.message,extraMessageDetail:this.detail||t,extraMessageErrorCode:this.code||null}},r.AssertionFailed=function(e){return new r(E.CLIENT_UNEXPECTED_BEHAVIOUR,"Assertion failed (Unexpected behaviour)",e)},r.BadStatusCode=function(e,t){return new r(E.TX_FAIL,e,null,"status code = "+t)},r.CreateTransaction=function(e){return new r(E.FETCH_TX_FAILED,"Create transaction failed in Rango Server",null,e)},r.WalletMissing=function(){return new r(E.CLIENT_UNEXPECTED_BEHAVIOUR,"Input wallet not found",null,"Server requested for a blockchain or address not selected by user")},r.BlockchainMissing=function(){return new r(E.CLIENT_UNEXPECTED_BEHAVIOUR,"Input wallet not found",null,"Server requested for a blockchain or address not selected by user")},r}(w(Error));!function(e){e.WaitingForConnectingWallet="waitingForConnectingWallet",e.WaitingForQueue="waitingForQueue",e.WaitingForNetworkChange="waitingForNetworkChange",e.NetworkChanged="networkChanged"}(k||(k={})),function(e){e.error="error",e.warning="warning",e.info="info",e.success="success"}(N||(N={}));var L=function(e,t){try{return I(e,t)}catch(e){return null}},I=function(e,t){var n,r,a,o,s,i,l,u,c,p=(null==(n=t.evmTransaction)?void 0:n.blockChain)||(null==(r=t.evmApprovalTransaction)?void 0:r.blockChain)||(null==(a=t.starknetTransaction)?void 0:a.blockChain)||(null==(o=t.starknetApprovalTransaction)?void 0:o.blockChain)||(null==(s=t.tronTransaction)?void 0:s.blockChain)||(null==(i=t.tronApprovalTransaction)?void 0:i.blockChain)||(null==(l=t.cosmosTransaction)?void 0:l.blockChain)||(null==(u=t.solanaTransaction)?void 0:u.blockChain);if(p)return p;var f=null==(c=t.transferTransaction)?void 0:c.fromWalletAddress;if(!f)throw D.BlockchainMissing();var d=Object.keys(e.wallets).find((function(t){var n;return(null==(n=e.wallets[t])?void 0:n.address)===f}))||null;if(null==d)throw D.BlockchainMissing();return d},R=function(e){if(!e)return{extraMessage:"",extraMessageErrorCode:null};if(e instanceof D)return e.getErrorDetail();if(e instanceof u.SignerError){var t=e.getErrorDetail();return{extraMessage:t.message,extraMessageDetail:t.detail,extraMessageErrorCode:t.code}}return e instanceof Error?{extraMessage:e.toString(),extraMessageErrorCode:null}:"string"!=typeof e?{extraMessage:JSON.stringify(e),extraMessageErrorCode:null}:{extraMessage:e,extraMessageErrorCode:null}};function M(){var e="X-Rango-Id",t=window.localStorage.getItem(e);if(t)return t;var n=Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15);return window.localStorage.setItem(e,n),n}function U(e,t){return e.steps.find((function(e){return"failed"!==e.status&&"success"!==e.status&&e.id!==t.id}))||null}function W(e,t,n,r){try{c.captureException(e,{tags:{requestId:t.requestId,rpc:!0,swapper:(null==n?void 0:n.swapperId)||"",walletType:r||""},level:"warning"})}catch(e){console.log({e:e})}}function F(e,t,n){return P.apply(this,arguments)}function P(){return(P=d(p().mark((function e(t,n,a){var o,s,i,l,u,c;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=m+"/tx/check-status?"+_,i={step:a,txId:n,requestId:t},e.next=4,fetch(s,{method:"POST",headers:(o={},o["X-Rango-Id"]=M(),o["content-type"]="application/json;charset=UTF-8",o),body:JSON.stringify(i)});case 4:if(!((l=e.sent).status&&(l.status<200||l.status>=400)||!l.ok)){e.next=8;break}throw u=O(y.CheckingTransactionStatus),D.BadStatusCode(u,l.status);case 8:return e.next=10,l.json();case 10:return e.abrupt("return",g({},c=e.sent,{outputAmount:c.outputAmount?new r.BigNumber(c.outputAmount):null}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function B(e){return j.apply(this,arguments)}function j(){return(j=d(p().mark((function e(t){var n,r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=m+"/tx/create?"+_,e.prev=1,e.next=4,fetch(n,{method:"POST",headers:(r={"content-type":"application/json;charset=UTF-8"},r["X-Rango-Id"]=M(),r),body:JSON.stringify(t)});case 4:if(!((a=e.sent).status&&(a.status<200||a.status>=400)||!a.ok)){e.next=7;break}throw D.CreateTransaction("Error creating the transaction, status code: "+a.status);case 7:return e.next=9,a.json();case 9:if((o=e.sent).ok&&o.transaction){e.next=12;break}throw D.CreateTransaction(o.error||"bad response from create tx endpoint");case 12:return e.abrupt("return",o);case 15:if(e.prev=15,e.t0=e.catch(1),!(e.t0 instanceof Error)){e.next=19;break}throw D.CreateTransaction(e.t0.message);case 19:throw e.t0;case 20:case"end":return e.stop()}}),e,null,[[1,15]])})))).apply(this,arguments)}function X(e){return H.apply(this,arguments)}function H(){return(H=d(p().mark((function e(t){var n,r,a,o;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m+"/tx/"+t+"/check-approval?"+_,e.next=3,fetch(r,{method:"GET",headers:(n={"content-type":"application/json;charset=UTF-8"},n["X-Rango-Id"]=M(),n)});case 3:if(!((a=e.sent).status&&(a.status<200||a.status>=400)||!a.ok)){e.next=7;break}throw o=O(y.CheckApproval),D.BadStatusCode(o,a.status);case 7:return e.next=9,a.json();case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function q(){return(q=d(p().mark((function e(t,n,r,a,o){var s,i;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=m+"/tx/report-tx?"+_,e.next=3,fetch(i,{method:"POST",headers:(s={"content-type":"application/json;charset=UTF-8"},s["X-Rango-Id"]=M(),s),body:JSON.stringify({requestId:t,step:n,eventType:r,reason:a,tags:{wallet:o}})});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var K=null,G=function(e){return e.steps.find((function(e){return"failed"!==e.status&&"success"!==e.status}))||null};function V(e){var t=e.getStorage,n=e.setStorage,r=e.nextStatus,a=e.nextStepStatus,o=e.message,s=e.details,i=e.errorCode,l=void 0===i?null:i,c=t().swapDetails,p=G(c);if(a&&p&&(p.status=a),r&&(c.status=r),r&&["failed","success"].includes(r)&&(c.finishTime=(new Date).getTime().toString()),o&&(c.extraMessage=o),s&&(c.extraMessageDetail=s),a&&["failed"].includes(a)){var f,d=s&&s.includes("Warning")?"Swap canceled by user.":s;c.extraMessageSeverity=N.error,function(e,t,n,r,a){return q.apply(this,arguments)}(c.requestId,(null==p?void 0:p.id)||1,function(e){var t,n=E.CLIENT_UNEXPECTED_BEHAVIOUR;try{return e?(t=e,Object.values(E).includes(t)?e:u.isSignerErrorCode(e)?((r={})[u.SignerErrorCode.REJECTED_BY_USER]=E.USER_REJECT,r[u.SignerErrorCode.SIGN_TX_ERROR]=E.CALL_WALLET_FAILED,r[u.SignerErrorCode.SEND_TX_ERROR]=E.SEND_TX_FAILED,r[u.SignerErrorCode.NOT_IMPLEMENTED]=n,r[u.SignerErrorCode.OPERATION_UNSUPPORTED]=n,r[u.SignerErrorCode.UNEXPECTED_BEHAVIOUR]=n,r)[e]:n):n;var r}catch(e){return n}}(l),d||"",(p?null==(f=function(e,t){try{return fe(e,t)}catch(e){return null}}(c,p))?void 0:f.walletType:null)||null).then()}else a&&["running"].includes(a)?c.extraMessageSeverity=N.info:a&&["success","approved"].includes(a)?c.extraMessageSeverity=N.success:a&&["waitingForApproval"].includes(a)&&(c.extraMessageSeverity=N.warning);return"running"===a&&p&&(p.startTransactionTime=(new Date).getTime()),n(g({},t(),{swapDetails:c})),{swap:c,step:p}}function J(e,t,n,r){var a=e.getStorage,o=e.setStorage,s=a().swapDetails,i=G(s);i.executedTransactionId=t||i.executedTransactionId,o(g({},a(),{swapDetails:s})),r({eventType:n,swap:s,step:i})}function Q(e){var t=e.getStorage,n=e.setStorage,r=t().swapDetails,a=G(r);if(a)return r.networkStatusExtraMessage="",r.networkStatusExtraMessageDetail="",a.networkStatus=k.WaitingForQueue,n(g({},t(),{swapDetails:r})),{swap:r,step:a}}function Y(e){return new Promise((function(t){return setTimeout(t,e)}))}var z=function(e){return e.type===i.TransactionType.EVM},Z=function(e){return e.type===i.TransactionType.COSMOS},$=function(e){return e.type===i.TransactionType.SOLANA},ee=function(e){return e.type===i.TransactionType.TRANSFER},te=function(e){return e.type===i.TransactionType.STARKNET},ne=function(e){return e.type===i.TransactionType.TRON};function re(e){return null===e||null===(null==e?void 0:e.blockchains)||0===(null==e?void 0:e.blockchains.length)}function ae(e,t){return t&&e[t]?e[t].size?e[t].get(o.Network.ETHEREUM):e[t]:null}function oe(e){var t=G(e),n=L(e,t);if(!n)return{type:null,network:null,address:null};var r=function(e,t){var n;return null==(n=e.wallets[t])?void 0:n.walletType}(e,n),a=e.wallets[n];return{type:r||null,network:n,address:a?a.address:null}}function se(e){return ie.apply(this,arguments)}function ie(){return(ie=d(p().mark((function e(t){return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t.request({method:"eth_chainId"});case 2:if(e.t0=e.sent,e.t0){e.next=5;break}e.t0=null==t?void 0:t.chainId;case 5:return e.abrupt("return",e.t0);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function le(e,t,n,r,a){return ue.apply(this,arguments)}function ue(){return(ue=d(p().mark((function e(t,n,r,a,s){var i,l,u,c,f;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!re(r)){e.next=3;break}return console.warn("wallet object is null"),e.abrupt("return",!1);case 3:if(i=L(t,n)){e.next=6;break}return e.abrupt("return",!1);case 6:if(!a.evmBasedChains.find((function(e){return e.name===i}))){e.next=30;break}if(e.prev=7,!(l=t.wallets[i])){e.next=24;break}if(![o.WalletType.META_MASK,o.WalletType.BINANCE_CHAIN,o.WalletType.XDEFI,o.WalletType.WALLET_CONNECT,o.WalletType.TRUST_WALLET,o.WalletType.COIN98,o.WalletType.EXODUS,o.WalletType.OKX,o.WalletType.COINBASE,o.WalletType.TOKEN_POCKET,o.WalletType.MATH,o.WalletType.SAFEPAL,o.WalletType.COSMOSTATION,o.WalletType.CLOVER,o.WalletType.BRAVE].includes(l.walletType)){e.next=23;break}return u=ae(s,l.walletType),e.next=14,se(u);case 14:if(!(c=e.sent)){e.next=21;break}if(!(f=o.getBlockChainNameFromId(c,Object.entries(a.blockchains).map((function(e){return e[1]}))))||f.toLowerCase()!==i.toLowerCase()){e.next=19;break}return e.abrupt("return",!0);case 19:if(!f||f.toLowerCase()===i.toLowerCase()){e.next=21;break}return e.abrupt("return",!1);case 21:e.next=24;break;case 23:return e.abrupt("return",!0);case 24:e.next=29;break;case 26:e.prev=26,e.t0=e.catch(7),console.log(e.t0);case 29:return e.abrupt("return",!1);case 30:return e.abrupt("return",!0);case 31:case"end":return e.stop()}}),e,null,[[7,26]])})))).apply(this,arguments)}var ce,pe=function(e,t){var n,r,a,o,s,i,l=e.wallets[(null==(n=t.evmTransaction)?void 0:n.blockChain)||""]||e.wallets[(null==(r=t.evmApprovalTransaction)?void 0:r.blockChain)||""]||e.wallets[(null==(a=t.cosmosTransaction)?void 0:a.blockChain)||""]||e.wallets[(null==(o=t.solanaTransaction)?void 0:o.blockChain)||""]||(null!=(s=t.transferTransaction)&&s.fromWalletAddress?{address:null==(i=t.transferTransaction)?void 0:i.fromWalletAddress}:null)||null;if(null==l)throw D.WalletMissing();return l.address};function fe(e,t){var n=pe(e,t),r=Object.keys(e.wallets).map((function(t){return{k:t,v:e.wallets[t]}})).find((function(e){return e.v.address===n}))||null,a=(null==r?void 0:r.v)||null,s=null==a?void 0:a.walletType;if(s===o.WalletType.UNKNOWN||null===a)throw D.AssertionFailed("Wallet for source "+((null==r?void 0:r.k)||null)+" not passed: walletType: "+s);return a}function de(e){var t=e.getStorage,n=e.setStorage,r=t().swapDetails,a=G(r);null!=a&&a.networkStatus&&(a.networkStatus=null,n(g({},t(),{swapDetails:r})))}function ge(e,t){void 0===t&&(t={message:"",details:"",status:null});var n=t.message,r=t.details,a=t.status,o=e.getStorage,s=e.setStorage,i=o().swapDetails,l=G(i);null!=l&&l.networkStatus&&(i.networkStatusExtraMessage=n,i.networkStatusExtraMessageDetail=r,l.networkStatus=a,s(g({},o(),{swapDetails:i})))}function ve(e,t){var n=oe(e),r=n.type,a=n.address;return!(!r||!a)&&(t(r).accounts||[]).some((function(e){var t=s.readAccountAddress(e);return a===t.address}))}function Te(e){var n=e.getStorage,r=e.setStorage,a=e.failed,s=e.next,l=e.schedule,u=e.context,c=u.meta,p=u.getSigners,f=u.notifier,d=n().swapDetails,v=G(d),T=v.evmTransaction,h=v.evmApprovalTransaction,S=v.cosmosTransaction,w=v.solanaTransaction,E=v.transferTransaction,y=fe(d,v),x=pe(d,v),_=p(y.walletType),m=function(){e.context.resetClaimedBy&&e.context.resetClaimedBy()};if(h){if(!(null==h?void 0:h.to))throw D.AssertionFailed("contract address is null for checking approval");var C=V({getStorage:n,setStorage:r,nextStepStatus:"waitingForApproval",message:"waiting for approval of "+(null==v?void 0:v.fromSymbol)+" coin "+(y.walletType===o.WalletType.WALLET_CONNECT?"on your mobile phone":""),details:"Waiting for approve transaction to be mined and confirmed successfully"});return f(g({eventType:"confirm_contract"},C)),void _.getSigner(i.TransactionType.EVM).signAndSendTx(h,x,null).then((function(e){console.debug("transaction of approval minted successfully",e);var a=function(e,t,n){var r=n.find((function(e){return e.name===t}));if(!r)throw Error("unsupported network: "+t+" for getting approve url.");if(r.info.transactionUrl)return r.info.transactionUrl.replace("{txHash}",e.toLowerCase());throw Error("Explorer url for "+t+" is not implemented")}(e,I(d,v),c.evmBasedChains);v.explorerUrl=[].concat(v.explorerUrl||[],[{url:a,description:"approve"}]),r(g({},n(),{swapDetails:d})),l(t.CHECK_TRANSACTION_STATUS),s(),m()}),(function(e){var t,o,s;if("failed"!==d.status){console.debug("error in approving",e);var i=R(e),l=i.extraMessage,u=i.extraMessageDetail,c=i.extraMessageErrorCode;e&&null!=e&&e.root&&null!=e&&null!=(t=e.root)&&t.message&&null!=e&&null!=(o=e.root)&&o.code&&null!=e&&null!=(s=e.root)&&s.reason&&W(e.root,d,v,null==y?void 0:y.walletType);var p=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:l,details:u,errorCode:c});f(g({eventType:"contract_rejected"},p)),a(),m()}}))}var A=y.walletType===o.WalletType.WALLET_CONNECT?"Check your mobile phone":"";if(E){var b=V({getStorage:n,setStorage:r,nextStepStatus:"running",message:"executing transaction",details:A});f(g({eventType:"confirm_transfer"},b)),_.getSigner(i.TransactionType.TRANSFER).signAndSendTx(E,x,null).then((function(n){J(e,n,"transfer_confirmed",f),l(t.CHECK_TRANSACTION_STATUS),s(),m()}),(function(e){if("failed"!==d.status){var t=R(e),o=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});f(g({eventType:"transfer_rejected"},o)),a(),m()}}))}else if(T){var k=V({getStorage:n,setStorage:r,nextStepStatus:"running",message:"executing transaction",details:A});f(g({eventType:"calling_smart_contract"},k)),_.getSigner(i.TransactionType.EVM).signAndSendTx(T,x,null).then((function(n){J(e,n,"smart_contract_called",f),l(t.CHECK_TRANSACTION_STATUS),s(),m()}),(function(e){var t,o,s;if("failed"!==d.status){var i=R(e),l=i.extraMessage,u=i.extraMessageDetail,c=i.extraMessageErrorCode;e&&null!=e&&e.root&&null!=e&&null!=(t=e.root)&&t.message&&null!=e&&null!=(o=e.root)&&o.code&&null!=e&&null!=(s=e.root)&&s.reason&&W(e.root,d,v,null==y?void 0:y.walletType);var p=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:l,details:u,errorCode:c});f(g({eventType:"smart_contract_call_failed"},p)),a(),m()}}))}else if(S){var N=V({getStorage:n,setStorage:r,nextStepStatus:"running",message:"executing transaction",details:A});if(f(g({eventType:"calling_smart_contract"},N)),("TerraSwap"===(null==v?void 0:v.swapperId.toString())||"ThorChain"===(null==v?void 0:v.swapperId.toString())&&(null==v?void 0:v.fromBlockchain)===o.Network.TERRA||"Terra Bridge"===(null==v?void 0:v.swapperId.toString())&&v.fromBlockchain===o.Network.TERRA)&&y.walletType===o.WalletType.KEPLR){var O=R("Keplr only supports IBC Transactions on Terra. Using Terra Bridge, TerraSwap and THORChain is not possible with Keplr. Please use TerraStation or Leap wallet"),L=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:O.extraMessage,details:O.extraMessageDetail,errorCode:O.extraMessageErrorCode});return f(g({eventType:"smart_contract_call_failed"},L)),a(),void m()}_.getSigner(i.TransactionType.COSMOS).signAndSendTx(S,x,null).then((function(n){J(e,n,"smart_contract_called",f),l(t.CHECK_TRANSACTION_STATUS),s(),m()}),(function(e){if("failed"!==d.status){var t=R(e),o=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});f(g({eventType:"smart_contract_call_failed"},o)),a(),m()}}))}else if(w){var M=V({getStorage:n,setStorage:r,nextStepStatus:"running",message:"executing transaction",details:A});f(g({eventType:"calling_smart_contract"},M));var U=w;_.getSigner(i.TransactionType.SOLANA).signAndSendTx(U,x,null).then((function(n){J(e,n,"smart_contract_called",f),l(t.CHECK_TRANSACTION_STATUS),s(),m()}),(function(e){if("failed"!==d.status){var t=R(e),o=V({getStorage:n,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:t.extraMessage,details:t.extraMessageDetail,errorCode:t.extraMessageErrorCode});f(g({eventType:"smart_contract_call_failed"},o)),a(),m()}}))}}function he(e){return!!e.evmTransaction||!!e.evmApprovalTransaction||!!e.cosmosTransaction}function Se(e){return we.apply(this,arguments)}function we(){return(we=d(p().mark((function e(n){var r,o,s,i,l,u,c,f,d,v,T,h,S,w,E,y,x,_,m,C,A,b,k,O;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return h=n.setStorage,S=n.next,w=n.schedule,E=n.retry,y=n.context,x=(T=n.getStorage)().swapDetails,_=G(x),m=_.executedTransactionId,C=null,e.prev=5,e.next=8,F(x.requestId,m,_.id);case 8:C=e.sent,e.next=17;break;case 11:return e.prev=11,e.t0=e.catch(5),e.next=15,Y(2e3);case 15:return E(),e.abrupt("return");case 17:if(A=(null==(r=C)?void 0:r.outputAmount)||(_.outputAmount?new a(_.outputAmount):null),b=_.outputAmount,x.extraMessage=(null==(o=C)?void 0:o.extraMessage)||x.extraMessage,x.extraMessageSeverity=N.info,x.extraMessageDetail="",_.status=(null==(s=C)?void 0:s.status)||_.status,_.diagnosisUrl=(null==(i=C)?void 0:i.diagnosisUrl)||_.diagnosisUrl||null,_.outputAmount=(null==A?void 0:A.toFixed())||_.outputAmount,_.explorerUrl=(null==(l=C)?void 0:l.explorerUrl)||_.explorerUrl,_.internalSteps=(null==(u=C)?void 0:u.steps)||null,(k=null==(c=C)?void 0:c.newTx)&&(_.status="created",_.executedTransactionId=null,_.transferTransaction=null,_.cosmosTransaction=null,_.evmTransaction=null,_.solanaTransaction=null,_.evmApprovalTransaction=null,_.starknetApprovalTransaction=null,_.starknetTransaction=null,_.tronApprovalTransaction=null,_.tronTransaction=null,z(k)?k.isApprovalTx?_.evmApprovalTransaction=k:_.evmTransaction=k:Z(k)?_.cosmosTransaction=k:$(k)?_.solanaTransaction=k:ee(k)?_.transferTransaction=k:te(k)?k.isApprovalTx?_.starknetApprovalTransaction=k:_.starknetTransaction=k:ne(k)&&(k.isApprovalTx?_.tronApprovalTransaction=k:_.tronTransaction=k)),null===b&&null!==A&&y.notifier({eventType:"step_completed_with_output",swap:x,step:_}),"success"===_.status&&(O=U(x,_),x.extraMessageDetail="",x.extraMessage=O?"starting next step: "+O.swapperId+": "+O.fromBlockchain+" -> "+O.toBlockchain:""),h(g({},T(),{swapDetails:x})),!("failed"===(null==(f=C)?void 0:f.status)||"success"===(null==(d=C)?void 0:d.status)||"running"===(null==(v=C)?void 0:v.status)&&C.newTx)){e.next=37;break}w(t.SCHEDULE_NEXT_STEP),S(),e.next=40;break;case 37:return e.next=39,Y(2e3);case 39:E();case 40:case"end":return e.stop()}}),e,null,[[5,11]])})))).apply(this,arguments)}function Ee(e){return ye.apply(this,arguments)}function ye(){return(ye=d(p().mark((function e(n){var r,a,o,s,i,l,u,c,f;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=n.setStorage,o=n.next,s=n.schedule,i=n.retry,l=n.context,u=(r=n.getStorage)().swapDetails,c=G(u),f=!1,e.prev=4,e.next=7,X(u.requestId);case 7:f=e.sent.isApproved,e.next=14;break;case 11:e.prev=11,e.t0=e.catch(4),console.error("Failed to check getApprovedAmount",e.t0);case 14:if(!f){e.next=27;break}c.status="approved",u.extraMessage="Spending "+c.fromSymbol+" approved successfully.",u.extraMessageDetail=null,u.extraMessageSeverity=N.success,c.evmApprovalTransaction=null,c.executedTransactionId=null,a(g({},r(),{swapDetails:u})),l.notifier({eventType:"contract_confirmed",swap:u,step:c}),s(t.SCHEDULE_NEXT_STEP),o(),e.next=30;break;case 27:return e.next=29,Y(2e3);case 29:i();case 30:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function xe(){return(xe=d(p().mark((function e(t){var n,r;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.getStorage().swapDetails,r=G(n),de(t),"running"!==r.status){e.next=8;break}return e.next=6,Se(t);case 6:e.next=11;break;case 8:if("waitingForApproval"!==r.status){e.next=11;break}return e.next=11,Ee(t);case 11:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function _e(){return(_e=d(p().mark((function e(n){var r,a,o,s,i,l,u,c,f,d,v,T,h,S,w;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n.setStorage,o=n.next,s=n.schedule,i=n.context,l=(a=n.getStorage)().swapDetails,u=G(l),c=u.cosmosTransaction,f=u.transferTransaction,d=u.evmApprovalTransaction,v=u.solanaTransaction,u.evmTransaction||c||f||d||v){e.next=25;break}return T={requestId:l.requestId,step:u.id,userSettings:{slippage:l.settings.slippage,infiniteApprove:l.settings.infiniteApprove},validations:{balance:l.validateBalanceOrFee,fee:l.validateBalanceOrFee}},e.prev=6,e.next=9,B(T);case 9:(h=e.sent.transaction)&&(z(h)?h.isApprovalTx?u.evmApprovalTransaction=h:u.evmTransaction=h:Z(h)?u.cosmosTransaction=h:$(h)?u.solanaTransaction=h:ee(h)&&(u.transferTransaction=h)),r(g({},a(),{swapDetails:l})),s(t.EXECUTE_TRANSACTION),o(),e.next=25;break;case 17:e.prev=17,e.t0=e.catch(6),l.status="failed",l.finishTime=(new Date).getTime().toString(),S=R(e.t0),w=V({getStorage:a,setStorage:r,nextStatus:"failed",nextStepStatus:"failed",message:S.extraMessage,details:S.extraMessageDetail,errorCode:E.FETCH_TX_FAILED}),i.notifier(g({eventType:"task_failed"},w)),n.failed();case 25:case"end":return e.stop()}}),e,null,[[6,17]])})))).apply(this,arguments)}function me(){return(me=d(p().mark((function e(t){var r,a,o,s,i,l,u,c,f,d,g,v,T,h,S;return p().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=(a=t.context).meta,s=a.wallets,i=a.providers,l=a.claimedBy===(null==(r=a._queue)?void 0:r.id),u=function(e){t.block(e),l&&t.context.resetClaimedBy&&t.context.resetClaimedBy()},c=(0,t.getStorage)().swapDetails,f=G(c),de(t),ve(c,a.state)){e.next=14;break}return d=oe(c),g=d.type,v=d.address,T=s?C(g,v):A(g),u({reason:n.WAIT_FOR_CONNECT_WALLET,description:T}),e.abrupt("return");case 14:if(!he(f)||l||!a.claimedBy){e.next=19;break}return u({reason:n.DEPENDS_ON_OTHER_QUEUES,description:"Waiting for other running tasks to be finished",details:{}}),e.abrupt("return");case 19:return e.next=21,le(c,f,s,o,i);case 21:if(e.sent){e.next=30;break}return h=I(c,f),S=b(h),u({reason:n.WAIT_FOR_NETWORK_CHANGE,details:S}),e.abrupt("return");case 30:ge(t,{message:"",details:"Wallet network changed successfully",status:k.NetworkChanged});case 31:Te(t);case 32:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ce={name:"swap",actions:(ce={},ce[t.START]=function(e){var n=e.next;(0,e.schedule)(t.SCHEDULE_NEXT_STEP),n()},ce[t.SCHEDULE_NEXT_STEP]=function(e){var n=e.schedule,r=e.next,a=e.failed,o=e.setStorage,s=e.getStorage,i=e.context,l=s().swapDetails,u=G(l);if(u){if(function(e,t){var n,r,a,o,s;return null!==(e.wallets[(null==(n=t.evmTransaction)?void 0:n.blockChain)||""]||e.wallets[(null==(r=t.evmApprovalTransaction)?void 0:r.blockChain)||""]||e.wallets[(null==(a=t.cosmosTransaction)?void 0:a.blockChain)||""]||e.wallets[(null==(o=t.solanaTransaction)?void 0:o.blockChain)||""]||(null==(s=t.transferTransaction)?void 0:s.fromWalletAddress)||null)}(l,u))return n(t.EXECUTE_TRANSACTION),r();if(null!=u&&u.executedTransactionId)return n(t.CHECK_TRANSACTION_STATUS),r();l.status="running",o(g({},s(),{swapDetails:l})),n(t.CREATE_TRANSACTION),r()}else{var c=l.steps.find((function(e){return"failed"===e.status}));l.status=c?"failed":"success",l.finishTime=(new Date).getTime().toString(),o(g({},s(),{swapDetails:l})),i.notifier({eventType:c?"task_failed":"task_completed",swap:l,step:null}),c?a():r()}},ce[t.CREATE_TRANSACTION]=function(e){return _e.apply(this,arguments)},ce[t.EXECUTE_TRANSACTION]=function(e){return me.apply(this,arguments)},ce[t.CHECK_TRANSACTION_STATUS]=function(e){return xe.apply(this,arguments)},ce),run:[t.START],whenTaskBlocked:function(e,t){e.reason.reason===n.WAIT_FOR_CONNECT_WALLET?function(e,t){var n=t.context,r=t.queue,a=r.getStorage().swapDetails;if(!ve(a,n.state)){var o=G(a);return n.notifier({eventType:"waiting_for_connecting_wallet",swap:a,step:o}),void function(e,t,n){var r=e.getStorage,a=e.setStorage,o=r().swapDetails,s=G(o);if(s){var i=new Date;o.lastNotificationTime=i.getTime().toString(),s.networkStatus===k.WaitingForConnectingWallet&&o.networkStatusExtraMessage===t&&o.networkStatusExtraMessageDetail===n||(s.networkStatus=k.WaitingForConnectingWallet,o.networkStatusExtraMessage=t,o.networkStatusExtraMessageDetail=n,a(g({},r(),{swapDetails:o})))}}({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)},"Waiting for connecting wallet",e.reason.description)}r.unblock()}(e,t):e.reason.reason===n.WAIT_FOR_NETWORK_CHANGE?function(e,t){var n=t.context,r=t.queue,a=r.getStorage().swapDetails;if(G(a)){var s=function(e){var t=e.getStorage,n=e.setStorage,r=t().swapDetails,a=G(r);if(a){var s=oe(r).type,i=I(r,a),l="Change "+s+" wallet network to "+i,u="";s===o.WalletType.META_MASK&&(u="(Networks -> Select '"+i+"' network.)");var c="Please change your "+s+" wallet network to "+i+". "+u,p=new Date;return r.lastNotificationTime=p.getTime().toString(),a.networkStatus=k.WaitingForNetworkChange,r.networkStatusExtraMessage=l,r.networkStatusExtraMessageDetail=c,n(g({},t(),{swapDetails:r})),{swap:r,step:a}}}({getStorage:r.getStorage.bind(r),setStorage:r.setStorage.bind(r)});s&&n.notifier({eventType:"waiting_for_network_change",swap:s.swap,step:s.step});var i=oe(a),l=i.type,u=i.network;if(l&&u){var c=n.switchNetwork(l,u);c&&c.then((function(){r.unblock()}))}}}(0,t):e.reason.reason===n.DEPENDS_ON_OTHER_QUEUES&&function(e,t){var r=t.forceExecute,a=t.queue,o=t.manager,s=function(){var e;return null==(e=K)?void 0:e.id},i=(0,t.getBlockedTasks)().filter((function(e){return e.reason.reason===n.DEPENDS_ON_OTHER_QUEUES}));if(0!==i.length)if(s())Q({getStorage:a.getStorage.bind(a),setStorage:a.setStorage.bind(a)});else{var u=i.find((function(e){return e.queue_id===t.queue_id}));u||(u=i[0]),K={id:u.queue_id};var c=oe(u.storage.get().swapDetails),p=c.type,f=c.network,d=c.address;r(u.queue_id,{claimedBy:s(),resetClaimedBy:function(){K=null,function(e,t,n){var r;void 0===n&&(n={fallbackToOnlyWallet:!0});var a=e.split("-"),o=a[0],s=a[1];if(o&&s){var i=[],u=[];null==t||t.getAll().forEach((function(e){if(e.status===l.Status.BLOCKED){var t=e.list.getStorage(),n=null==t?void 0:t.swapDetails;if(n){var r,a,c=G(n);c&&(c.fromBlockchain==s&&(null==t||null==(r=t.swapDetails.wallets[s])?void 0:r.walletType)===o?i.push(e.list):(null==t||null==(a=t.swapDetails.wallets[c.fromBlockchain])?void 0:a.walletType)===o&&u.push(e.list))}}}));var c=void 0;if(i.length>0){if(c=i[0],i.length>1)for(var p=1;p<i.length;p++){var f=i[p];Q({getStorage:f.getStorage.bind(f),setStorage:f.setStorage.bind(f)})}}else u.length>0&&n.fallbackToOnlyWallet&&(c=u[0]);null==(r=c)||r.checkBlock()}}(p+"-"+f+"-"+d,o)}})}}(0,t)}};exports.swapQueueDef=Ce;
|
|
2
2
|
//# sourceMappingURL=queue-manager-rango-preset.cjs.production.min.js.map
|