{"version":3,"sources":["webpack:///./src/modals/confirm-chain.ts","webpack:///./src/modals/confirm-chain.html","webpack:///./src/modals/dswap-order-dca.ts","webpack:///./src/modals/dswap-order-dca-cancel.ts","webpack:///./src/modals/dswap-order-dca-cancel.html","webpack:///./src/modals/dswap-order-dca.html"],"names":["ConfirmChainModal","controller","toast","taskQueue","controllerFactory","i18n","store","authService","loading","this","validationController","createForCurrentScope","renderer","addRenderer","settings","lock","centerHorizontalOnly","storeSubscription","state","subscribe","selectedChain","dswapChainId","id","loggedIn","logout","toastMessage","message","tr","ns","overrideOptions","timeout","warning","ok","module","exports","DswapOrderDcaModal","hes","ss","ts","copyTxt","copyMemoTxt","styles","createValidationRules","dswapDcaFee","swapRequestModel","baseTokenSymbol","Chain","DCAType","MarketDCA","sellToken","tokens","find","x","symbol","TokenInput","supportedTokens","getDSwapTokens","Hive","val","memo","selBox","document","createElement","style","position","left","top","opacity","value","body","appendChild","focus","select","execCommand","removeChild","amount","token","stake","marketMakerFeeToken","EXCHANGE_URL_HE","t","metadata","icon","endsWith","t2","console","log","getTokenDetails","validationResult","validate","customValid","result","results","valid","rule","messageKey","error","isCrypto","depositAddress","TokenInputMemo","swapV2","txMemo","customMemo","ChainTransactionId","customMemoId","swapResponse","SwapRequestDCA","Id","txMemoId","sendTx","sendToken","DSWAP_ACCOUNT_HE","TokenInputAmount","transactionId","getDSwapTokenBalances","DswapOrderDcaCancelModal","dswapDcaCancelFee","peggedToken","sellTokenSwap","getDepositAddress","address","amtInclFee","parseFloat","toFixed","depositAmount","SwapStatusId","InProgress","CancelRequested","Init","Account","account","name","dcaCancelRequestModel","DCAId","SourceId","DSWAP_SOURCE_ID","Message","dcaCancelResponse","CancelSwapRequestDCA"],"mappings":"iuBAYA,gBAAaA,EAAb,MAUI,YAAoBC,EACRC,EACAC,EACAC,EACAC,EACAC,EACAC,GANQ,KAAAN,aACR,KAAAC,QACA,KAAAC,YACA,KAAAC,oBACA,KAAAC,OACA,KAAAC,QACA,KAAAC,cAfJ,KAAAC,SAAU,EAgBdC,KAAKC,qBAAuBN,EAAkBO,wBAE9CF,KAAKG,SAAW,IAAI,IACpBH,KAAKC,qBAAqBG,YAAYJ,KAAKG,UAE3CH,KAAKR,WAAWa,SAASC,MAAO,EAChCN,KAAKR,WAAWa,SAASE,sBAAuB,EAEhDP,KAAKQ,kBAAoBR,KAAKH,MAAMY,MAAMC,UAAUD,IAC5CA,IACAT,KAAKS,MAAQA,KAKzB,eAAeE,GACXX,KAAKW,cAAgBA,EAGzB,sBAKI,GAJAX,KAAKD,SAAU,EAEfC,KAAKS,MAAMG,aAAeZ,KAAKW,cAAcE,GAEzCb,KAAKS,MAAMK,SAAU,OACfd,KAAKF,YAAYiB,SAEvB,MAAMC,EAAe,IAAI,IACzBA,EAAaC,QAAUjB,KAAKJ,KAAKsB,GAAG,gCAAiC,CACjEC,GAAI,kBAERH,EAAaI,gBAAgBC,QAAU,IACvCrB,KAAKP,MAAM6B,QAAQN,GAGvBhB,KAAKD,SAAU,EAEfC,KAAKR,WAAW+B,OAExB,OAxDahC,EAAiB,GAD7B,c,uBAWmC,mBACb,IACI,IACQ,8BACb,OACC,QACM,OAhBhBA,GAwDb,GAxDA,I,0CCZAiC,EAAOC,QAAU,w5B,+uBCkBjB,gBAAaC,EAAb,MAyBI,YAAoBlC,EAAsCC,EAA6BC,EAA8BG,EACzGF,EAAwDC,EAAoB+B,EAAgCC,EAAyBC,GAD7H,KAAArC,aAAsC,KAAAC,QAA6B,KAAAC,YAA8B,KAAAG,QACzG,KAAAF,oBAAwD,KAAAC,OAAoB,KAAA+B,MAAgC,KAAAC,KAAyB,KAAAC,KAvBvI,KAAAC,QAAU,OACV,KAAAC,YAAc,OAEhB,KAAAC,OAAS,IACT,KAAAjC,SAAU,EAoBdC,KAAKC,qBAAuBN,EAAkBO,wBAE9CF,KAAKG,SAAW,IAAI,IACpBH,KAAKC,qBAAqBG,YAAYJ,KAAKG,UAE3CH,KAAKR,WAAWa,SAASC,MAAO,EAChCN,KAAKR,WAAWa,SAASE,sBAAuB,EAEhDP,KAAKQ,kBAAoBR,KAAKH,MAAMY,MAAMC,UAAUD,IAC5CA,IACAT,KAAKS,MAAQA,KAKzB,OACIT,KAAKiC,wBACLjC,KAAKkC,YAAc,IAAYA,YAAc,IAGjD,eAAeC,GACXnC,KAAKmC,iBAAmBA,EACxBnC,KAAKoC,sBAAwB,YAA4BD,EAAiBE,OACtEF,EAAiBG,SAAW,IAAQC,UACpCvC,KAAKwC,UAAYxC,KAAKS,MAAMgC,OAAOC,KAAKC,GAAKA,EAAEC,SAAWT,EAAiBU,aAE3E7C,KAAK8C,sBAAwB9C,KAAK6B,GAAGkB,gBAAe,EAAM,IAAMC,MAAM,GACtEhD,KAAKwC,UAAYxC,KAAK8C,gBAAgBJ,KAAKC,GAAKA,EAAEC,SAAWT,EAAiBU,aAItF,YAAYI,EAAaC,GACrB,MAAMC,EAASC,SAASC,cAAc,YACtCF,EAAOG,MAAMC,SAAW,QACxBJ,EAAOG,MAAME,KAAO,IACpBL,EAAOG,MAAMG,IAAM,IACnBN,EAAOG,MAAMI,QAAU,IACvBP,EAAOQ,MAAQV,EACfG,SAASQ,KAAKC,YAAYV,GAC1BA,EAAOW,QACPX,EAAOY,SACPX,SAASY,YAAY,QACrBZ,SAASQ,KAAKK,YAAYd,GAEtBD,EACAlD,KAAK+B,YAAc,UAEnB/B,KAAK8B,QAAU,UAIvB,iBACI9B,KAAKkE,OAASlE,KAAKmE,MAAMC,MAGrB,yBAIR,WAAWxB,GACP,GAAIA,GAAU,IAAYyB,oBACtB,OAAO,IAAYC,gBAAkB,wBAErC,GAAItE,KAAKmC,iBAAiBG,SAAW,IAAQC,UAAW,CACpD,IAAIgC,EAAIvE,KAAKS,MAAMgC,OAAOC,KAAKC,GAAKA,EAAEC,SAAWA,GACjD,GAAI2B,EACA,OAAOA,EAAEC,SAASC,KAAKC,SAAS,QAAUH,EAAEC,SAASC,KAAO,gCAAgCF,EAAEC,SAASC,SAExG,CACH,IAAIE,EAAK3E,KAAK8C,gBAAgBJ,KAAKC,GAAKA,EAAEC,SAAWA,GACrD,GAAI+B,EAKA,OAJAC,QAAQC,IAAIF,GACPA,EAAGH,WACJG,EAAK3E,KAAK6B,GAAGiD,gBAAgBlC,EAAQ,IAAMI,MAAM,GAAM,IAEpD2B,EAAGH,SAASC,KAAKC,SAAS,QAAUC,EAAGH,SAASC,KAAO,gCAAgCE,EAAGH,SAASC,MAM1H,oBACI,MAAMM,QAAmD/E,KAAKC,qBAAqB+E,WAEnFhF,KAAKD,SAAU,EACf,IAAIkF,GAAc,EAElB,IAAK,MAAMC,KAAUH,EAAiBI,QAClC,IAAKD,EAAOE,MAAO,CACf,MAAM3F,EAAQ,IAAI,IAElBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAGgE,EAAOG,KAAKC,WAAY,CACjDlB,MAAOpE,KAAKmE,MAAMC,MAClBxB,OAAQ5C,KAAKmE,MAAMvB,OACnBzB,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GAIzB,GAAIO,KAAKwC,WAAaxC,KAAKwC,UAAUgD,WAAaxF,KAAKyF,eAAgB,CACnE,MAAMhG,EAAQ,IAAI,IAElBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAG,wBAAyB,CAClDkD,MAAOpE,KAAKmE,MAAMC,MAClBxB,OAAQ5C,KAAKmE,MAAMvB,OACnBzB,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GACjBwF,GAAc,EAGlB,GAAIF,EAAiBK,OAASH,EAK1B,GAAIjF,KAAKmC,iBAAiBuD,eAC1B,CACI1F,KAAK2F,QAAS,EACd,IAAIC,EAAS5F,KAAKmC,iBAAiBuD,eAC/B1F,KAAK6F,aACLD,GAAU,IAAM5F,KAAK6F,YAEzB7F,KAAKmC,iBAAiB2D,mBAAqBF,EAGvC5F,KAAK6F,aACL7F,KAAKmC,iBAAiBuD,eAAiB1F,KAAK+F,cAEhD,IAAIC,QAAqBhG,KAAK4B,GAAGqE,eAAejG,KAAKmC,kBAEjD6D,GAAgBA,EAAaE,IAC7BlG,KAAKR,WAAW+B,SAEjB,CACH,IAAI4E,EAAW,cACfnG,KAAKmC,iBAAiBuD,eAAiBS,EACvC,IAAIH,QAAqBhG,KAAK4B,GAAGqE,eAAejG,KAAKmC,kBACrDnC,KAAK2F,QAAS,EAEd,IAAIC,EAAS,kBAAoBO,EACjC,GAAIH,GAAgBA,EAAaE,GAAI,CACjC,IAAIE,QAAepG,KAAK2B,IAAI0E,UAAUrG,KAAKmC,iBAAiBU,WAAY,IAAYyD,iBAAkBtG,KAAKmC,iBAAiBoE,iBAAkBX,EAAQ,GAAI,iBACtJQ,EACIA,EAAOI,gBAIPxG,KAAK6B,GAAG4E,sBAAsB,IAAMzD,MAAM,GAC1ChD,KAAKR,WAAW+B,MAGpBvB,KAAKmC,iBAAiBuD,eAAiB,IAMvD1F,KAAKD,SAAU,IAGvB,OA9Lc,GAAT,I,sDACS,GAAT,I,wDACS,GAAT,I,uDACS,GAAT,I,2DAJQ2B,EAAkB,GAD9B,c,uBA0BmC,mBAAiC,IAAiC,IAA0B,QAC7F,8BAA2C,OAAmB,IAA+B,IAAyB,OA1B5IA,GA+Lb,GA/LA,I,svBCCA,gBAAagF,EAAb,MAyBI,YAAoBlH,EAAsCC,EAA6BC,EAA8BG,EACzGF,EAAwDC,EAAoB+B,EAAgCC,EAAyBC,GAD7H,KAAArC,aAAsC,KAAAC,QAA6B,KAAAC,YAA8B,KAAAG,QACzG,KAAAF,oBAAwD,KAAAC,OAAoB,KAAA+B,MAAgC,KAAAC,KAAyB,KAAAC,KAvBvI,KAAAC,QAAU,OACV,KAAAC,YAAc,OAEhB,KAAAC,OAAS,IACT,KAAAjC,SAAU,EAoBdC,KAAKC,qBAAuBN,EAAkBO,wBAE9CF,KAAKG,SAAW,IAAI,IACpBH,KAAKC,qBAAqBG,YAAYJ,KAAKG,UAE3CH,KAAKR,WAAWa,SAASC,MAAO,EAChCN,KAAKR,WAAWa,SAASE,sBAAuB,EAEhDP,KAAKQ,kBAAoBR,KAAKH,MAAMY,MAAMC,UAAUD,IAC5CA,IACAT,KAAKS,MAAQA,KAKzB,OACIT,KAAKiC,wBACLjC,KAAKkC,YAAc,IAAYA,YAAc,IAC7ClC,KAAK2G,kBAAoB,IAAYA,kBAAoB,IAAM,IAAYC,YAG/E,eAAezE,GAKX,GAJAnC,KAAKmC,iBAAmBA,EACxBnC,KAAKoC,sBAAwB,YAA4BD,EAAiBE,OAE1ErC,KAAKwC,UAAYxC,KAAKS,MAAMgC,OAAOC,KAAKC,GAAKA,EAAEC,SAAWT,EAAiBU,YACvE7C,KAAKwC,WAAaxC,KAAKwC,UAAUgD,SAAU,CAC3C,IAAIqB,QAAsB,YAAqB7G,KAAKwC,UAAUI,QAC9D,GAAIiE,GAAiB7G,KAAKoC,gBACtBpC,KAAKyF,eAAiB,IAAYa,sBAIlC,GAFAtG,KAAKyF,qBAAuBzF,KAAK2B,IAAImF,kBAAkBD,EAAe,IAAYP,kBAE9EtG,KAAKyF,eACLzF,KAAKmC,iBAAiBuD,eAAiB1F,KAAKyF,eAAesB,QAEvD/G,KAAKyF,eAAevC,OACpBlD,KAAK+F,aAAe,cACpB/F,KAAK6F,WAAa7F,KAAKyF,eAAevC,KAAO,IAAMlD,KAAK+F,kBAEzD,CACH,MAAMtG,EAAQ,IAAI,IAElBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAG,sBAAuB,CAChDC,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GAKzB,IAAIuH,EAAaC,YAAqD,IAAzCjH,KAAKmC,iBAAiBoE,iBAAyB,QAAQW,QAAQ,IAE5FlH,KAAKmH,cAAgBH,GAI7B,iBACIhH,KAAKkE,OAASlE,KAAKmE,MAAMC,MAGrB,yBAIR,WAAWxB,GACP,GAAIA,GAAU,IAAYyB,oBACtB,OAAO,IAAYC,gBAAkB,wBAErC,IAAIC,EAAIvE,KAAKS,MAAMgC,OAAOC,KAAKC,GAAKA,EAAEC,SAAWA,GACjD,OAAI2B,EACOA,EAAEC,SAASC,KAAKC,SAAS,QAAUH,EAAEC,SAASC,KAAO,gCAAgCF,EAAEC,SAASC,UAD3G,EAMR,oBACI,MAAMM,QAAmD/E,KAAKC,qBAAqB+E,WAEnFhF,KAAKD,SAAU,EACf,IAAIkF,GAAc,EAElB,IAAK,MAAMC,KAAUH,EAAiBI,QAClC,IAAKD,EAAOE,MAAO,CACf,MAAM3F,EAAQ,IAAI,IAElBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAGgE,EAAOG,KAAKC,WAAY,CACjDlB,MAAOpE,KAAKmE,MAAMC,MAClBxB,OAAQ5C,KAAKmE,MAAMvB,OACnBzB,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GAIzB,GAAIO,KAAKmC,iBAAiBiF,cAAgB,IAAWC,YACjDrH,KAAKmC,iBAAiBiF,cAAgB,IAAWE,iBACjDtH,KAAKmC,iBAAiBiF,cAAgB,IAAWG,KACnD,CACEtC,GAAc,EAEd,MAAMxF,EAAQ,IAAI,IAClBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAG,kCAAmC,CAC5DqE,MAAO,GACPpE,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GAGrB,GAAIO,KAAKmC,iBAAiBqF,SAAWxH,KAAKS,MAAMgH,QAAQC,KAAM,CAC1DzC,GAAc,EAEd,MAAMxF,EAAQ,IAAI,IAClBA,EAAMwB,QAAUjB,KAAKJ,KAAKsB,GAAG,iCAAkC,CAC3DqE,MAAO,GACPpE,GAAI,WAGRnB,KAAKP,MAAM8F,MAAM9F,GAGrB,GAAIsF,EAAiBK,OAASH,EAAa,CAIvC,IAAIkB,EAAW,cAEd,IAAIwB,EAAgD,CACrCH,QAASxH,KAAKS,MAAMgH,QAAQC,KAC5BrF,MAAO,IAAMW,KACb8C,mBAAoB,GACpB8B,MAAO5H,KAAKmC,iBAAiB+D,GAC7B2B,SAAU,IAAYC,gBACtBpC,eAAgBS,EAChB4B,QAAS,IAGrBC,QAA0BhI,KAAK4B,GAAGqG,qBAAqBN,GAC3D3H,KAAK2F,QAAS,EAEd,IAAIC,EAAS,yBAA2BO,EACxC,GAAI6B,GAAqBA,EAAkB9B,GAAI,CAC3C,IAAIE,QAAepG,KAAK2B,IAAI0E,UAAU,IAAYO,YAAa,IAAYN,iBAAkB,IAAYK,kBAAmBf,EAAQ,GAAI,iBACpIQ,EACIA,EAAOI,gBAIPxG,KAAK6B,GAAG4E,sBAAsB,IAAMzD,MAAM,GAC1ChD,KAAKR,WAAW+B,MAGpBvB,KAAKmC,iBAAiBuD,eAAiB,IAKnD1F,KAAKD,SAAU,IAGvB,OA7Lc,GAAT,I,sDACS,GAAT,I,wDACS,GAAT,I,uDACS,GAAT,I,2DAJQ2G,EAAwB,GADpC,c,uBA0BmC,mBAAiC,IAAiC,IAA0B,QAC7F,8BAA2C,OAAmB,IAA+B,IAAyB,OA1B5IA,GA8Lb,GA9LA,I,mDCnBAlF,EAAOC,QAAU,4iI,4CCAjBD,EAAOC,QAAU","file":"app~1b1e745d.1ccb62354e60c74af794.chunk.js","sourcesContent":["import { dispatchify, Store } from 'aurelia-store';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { autoinject, TaskQueue, bindable } from 'aurelia-framework';\r\nimport { Subscription } from 'rxjs';\r\nimport { ValidationControllerFactory, ControllerValidateResult, ValidationRules } from 'aurelia-validation';\r\nimport { ToastService, ToastMessage } from 'services/toast-service';\r\nimport { BootstrapFormRenderer } from 'resources/bootstrap-form-renderer';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { DefaultPopupTimeOut } from 'common/constants';\r\nimport { AuthService } from '../services/auth-service';\r\n\r\n@autoinject()\r\nexport class ConfirmChainModal {\r\n private loading = false;\r\n private subscription: Subscription;\r\n private token: any;\r\n private validationController;\r\n private renderer;\r\n private selectedChain;\r\n public storeSubscription: Subscription;\r\n private state: IState;\r\n\r\n constructor(private controller: DialogController,\r\n private toast: ToastService,\r\n private taskQueue: TaskQueue,\r\n private controllerFactory: ValidationControllerFactory,\r\n private i18n: I18N,\r\n private store: Store,\r\n private authService: AuthService) {\r\n this.validationController = controllerFactory.createForCurrentScope();\r\n\r\n this.renderer = new BootstrapFormRenderer();\r\n this.validationController.addRenderer(this.renderer);\r\n\r\n this.controller.settings.lock = false;\r\n this.controller.settings.centerHorizontalOnly = true;\r\n\r\n this.storeSubscription = this.store.state.subscribe(state => {\r\n if (state) {\r\n this.state = state;\r\n }\r\n }); \r\n }\r\n\r\n async activate(selectedChain) {\r\n this.selectedChain = selectedChain;\r\n }\r\n\r\n async confirmSwitch() {\r\n this.loading = true;\r\n\r\n this.state.dswapChainId = this.selectedChain.id;\r\n\r\n if (this.state.loggedIn) {\r\n await this.authService.logout();\r\n\r\n const toastMessage = new ToastMessage();\r\n toastMessage.message = this.i18n.tr(\"marketMakerChainSwitchConfirm\", {\r\n ns: 'notifications'\r\n });\r\n toastMessage.overrideOptions.timeout = DefaultPopupTimeOut;\r\n this.toast.warning(toastMessage);\r\n }\r\n\r\n this.loading = false;\r\n\r\n this.controller.ok();\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { dispatchify, Store } from 'aurelia-store';\nimport { DialogController } from 'aurelia-dialog';\nimport { autoinject, TaskQueue, bindable } from 'aurelia-framework';\nimport { Subscription } from 'rxjs';\nimport { ValidationControllerFactory, ControllerValidateResult, ValidationRules } from 'aurelia-validation';\nimport { ToastService, ToastMessage } from 'services/toast-service';\nimport { BootstrapFormRenderer } from 'resources/bootstrap-form-renderer';\nimport { I18N } from 'aurelia-i18n';\nimport styles from './dswap-order.module.css';\nimport { HiveEngineService } from 'services/hive-engine-service';\nimport { environment } from 'environment';\nimport { SwapService } from 'services/swap-service';\nimport { swapRequest } from 'common/dswap-api';\nimport { getPeggedTokenSymbolByChain, getSwapTokenByCrypto, getRandomID } from 'common/functions';\nimport { TokenService } from '../services/token-service';\nimport { Chain, DCAType } from 'common/enums';\n\n@autoinject()\nexport class DswapOrderDcaModal {\n @bindable amount;\n @bindable username;\n @bindable copyTxt = \"Copy\";\n @bindable copyMemoTxt = \"Copy\";\n\n private styles = styles;\n private loading = false;\n private subscription: Subscription; \n private token: any;\n private validationController;\n private renderer;\n private swapRequestModel: ISwapRequestDCAModel;\n private baseTokenSymbol;\n public storeSubscription: Subscription;\n private state: IState;\n private depositAddress;\n private sellToken; \n private depositAmount: number;\n private customMemo;\n private customMemoId;\n private swapV2;\n private dswapDcaFee;\n private supportedTokens;\n\n constructor(private controller: DialogController, private toast: ToastService, private taskQueue: TaskQueue, private store: Store,\n private controllerFactory: ValidationControllerFactory, private i18n: I18N, private hes: HiveEngineService, private ss: SwapService, private ts: TokenService) {\n this.validationController = controllerFactory.createForCurrentScope();\n\n this.renderer = new BootstrapFormRenderer();\n this.validationController.addRenderer(this.renderer);\n\n this.controller.settings.lock = false;\n this.controller.settings.centerHorizontalOnly = true; \n\n this.storeSubscription = this.store.state.subscribe(state => {\n if (state) {\n this.state = state;\n }\n }); \n }\n\n bind() {\n this.createValidationRules();\n this.dswapDcaFee = environment.dswapDcaFee + '%';\n }\n\n async activate(swapRequestModel: ISwapRequestDCAModel) { \n this.swapRequestModel = swapRequestModel;\n this.baseTokenSymbol = await getPeggedTokenSymbolByChain(swapRequestModel.Chain);\n if (swapRequestModel.DCAType == DCAType.MarketDCA) {\n this.sellToken = this.state.tokens.find(x => x.symbol === swapRequestModel.TokenInput);\n } else {\n this.supportedTokens = await this.ts.getDSwapTokens(true, Chain.Hive, true)\n this.sellToken = this.supportedTokens.find(x => x.symbol === swapRequestModel.TokenInput);\n }\n }\n\n copyMessage(val: string, memo: boolean) {\n const selBox = document.createElement('textarea');\n selBox.style.position = 'fixed';\n selBox.style.left = '0';\n selBox.style.top = '0';\n selBox.style.opacity = '0';\n selBox.value = val;\n document.body.appendChild(selBox);\n selBox.focus();\n selBox.select();\n document.execCommand('copy');\n document.body.removeChild(selBox);\n\n if (memo) {\n this.copyMemoTxt = \"Copied!\";\n } else {\n this.copyTxt = \"Copied!\";\n }\n }\n\n balanceClicked() {\n this.amount = this.token.stake;\n }\n\n private createValidationRules() {\n \n }\n\n tokenImage(symbol) {\n if (symbol == environment.marketMakerFeeToken) {\n return environment.EXCHANGE_URL_HE + 'images/logo-small.png';\n } else {\n if (this.swapRequestModel.DCAType == DCAType.MarketDCA) {\n var t = this.state.tokens.find(x => x.symbol === symbol);\n if (t) {\n return t.metadata.icon.endsWith('.svg') ? t.metadata.icon : `https://images.hive.blog/0x0/${t.metadata.icon}`;\n } \n } else {\n var t2 = this.supportedTokens.find(x => x.symbol === symbol);\n if (t2) {\n console.log(t2);\n if (!t2.metadata){\n t2 = this.ts.getTokenDetails(symbol, Chain.Hive, true, true);\n }\n return t2.metadata.icon.endsWith('.svg') ? t2.metadata.icon : `https://images.hive.blog/0x0/${t2.metadata.icon}`;\n } \n }\n }\n }\n\n async confirmSend() {\n const validationResult: ControllerValidateResult = await this.validationController.validate();\n\n this.loading = true;\n let customValid = true;\n\n for (const result of validationResult.results) {\n if (!result.valid) {\n const toast = new ToastMessage();\n\n toast.message = this.i18n.tr(result.rule.messageKey, {\n stake: this.token.stake,\n symbol: this.token.symbol,\n ns: 'errors'\n });\n\n this.toast.error(toast);\n }\n }\n\n if (this.sellToken && this.sellToken.isCrypto && !this.depositAddress) {\n const toast = new ToastMessage();\n\n toast.message = this.i18n.tr(\"DepositAddressMissing\", {\n stake: this.token.stake,\n symbol: this.token.symbol,\n ns: 'errors'\n });\n\n this.toast.error(toast);\n customValid = false;\n }\n\n if (validationResult.valid && customValid) {\n //let waitMsg = this.i18n.tr('swapRequestQueued', {\n // ns: 'notifications'\n //});\n\n if (this.swapRequestModel.TokenInputMemo)\n {\n this.swapV2 = false;\n let txMemo = this.swapRequestModel.TokenInputMemo;\n if (this.customMemo)\n txMemo += \" \" + this.customMemo;\n\n this.swapRequestModel.ChainTransactionId = txMemo;\n\n // update token input memo with unique id generated (if it is applicable)\n if (this.customMemo)\n this.swapRequestModel.TokenInputMemo = this.customMemoId;\n\n let swapResponse = await this.ss.SwapRequestDCA(this.swapRequestModel);\n\n if (swapResponse && swapResponse.Id) {\n this.controller.ok();\n }\n } else {\n var txMemoId = getRandomID(); \n this.swapRequestModel.TokenInputMemo = txMemoId; \n let swapResponse = await this.ss.SwapRequestDCA(this.swapRequestModel);\n this.swapV2 = true;\n\n var txMemo = \"SwapRequestDCA \" + txMemoId;\n if (swapResponse && swapResponse.Id) {\n var sendTx = await this.hes.sendToken(this.swapRequestModel.TokenInput, environment.DSWAP_ACCOUNT_HE, this.swapRequestModel.TokenInputAmount, txMemo, '', 'tokensSentDca');\n if (sendTx) {\n if (sendTx.transactionId) {\n //this.swapRequestModel.ChainTransactionId = sendTx.transactionId;\n\n //await this.ts.enrichTokensWithUserBalances([this.swapRequestModel.TokenInput]);\n this.ts.getDSwapTokenBalances(Chain.Hive, true);\n this.controller.ok();\n }\n } else {\n this.swapRequestModel.TokenInputMemo = \"\";\n }\n }\n }\n }\n\n this.loading = false;\n }\n\n}\n","import { dispatchify, Store } from 'aurelia-store';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport { autoinject, TaskQueue, bindable } from 'aurelia-framework';\r\nimport { Subscription } from 'rxjs';\r\nimport { ValidationControllerFactory, ControllerValidateResult, ValidationRules } from 'aurelia-validation';\r\nimport { ToastService, ToastMessage } from 'services/toast-service';\r\nimport { BootstrapFormRenderer } from 'resources/bootstrap-form-renderer';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport styles from './dswap-order.module.css';\r\nimport { HiveEngineService } from 'services/hive-engine-service';\r\nimport { environment } from 'environment';\r\nimport { SwapService } from 'services/swap-service';\r\nimport { swapRequest } from 'common/dswap-api';\r\nimport { getPeggedTokenSymbolByChain, getSwapTokenByCrypto, getRandomID } from 'common/functions';\r\nimport { TokenService } from '../services/token-service';\r\nimport { env } from 'process';\r\nimport { Chain, SwapStatus } from 'common/enums';\r\n\r\n@autoinject()\r\nexport class DswapOrderDcaCancelModal {\r\n @bindable amount;\r\n @bindable username;\r\n @bindable copyTxt = \"Copy\";\r\n @bindable copyMemoTxt = \"Copy\";\r\n\r\n private styles = styles;\r\n private loading = false;\r\n private subscription: Subscription; \r\n private token: any;\r\n private validationController;\r\n private renderer;\r\n private swapRequestModel: ISwapRequestDCAViewModel;\r\n private baseTokenSymbol;\r\n public storeSubscription: Subscription;\r\n private state: IState;\r\n private depositAddress;\r\n private sellToken; \r\n private depositAmount: number;\r\n private customMemo;\r\n private customMemoId;\r\n private swapV2;\r\n private dswapDcaFee;\r\n private dswapDcaCancelFee;\r\n\r\n constructor(private controller: DialogController, private toast: ToastService, private taskQueue: TaskQueue, private store: Store,\r\n private controllerFactory: ValidationControllerFactory, private i18n: I18N, private hes: HiveEngineService, private ss: SwapService, private ts: TokenService) {\r\n this.validationController = controllerFactory.createForCurrentScope();\r\n\r\n this.renderer = new BootstrapFormRenderer();\r\n this.validationController.addRenderer(this.renderer);\r\n\r\n this.controller.settings.lock = false;\r\n this.controller.settings.centerHorizontalOnly = true; \r\n\r\n this.storeSubscription = this.store.state.subscribe(state => {\r\n if (state) {\r\n this.state = state;\r\n }\r\n }); \r\n }\r\n\r\n bind() {\r\n this.createValidationRules();\r\n this.dswapDcaFee = environment.dswapDcaFee + '%';\r\n this.dswapDcaCancelFee = environment.dswapDcaCancelFee + \" \" + environment.peggedToken;\r\n }\r\n\r\n async activate(swapRequestModel: ISwapRequestDCAViewModel) { \r\n this.swapRequestModel = swapRequestModel;\r\n this.baseTokenSymbol = await getPeggedTokenSymbolByChain(swapRequestModel.Chain);\r\n\r\n this.sellToken = this.state.tokens.find(x => x.symbol === swapRequestModel.TokenInput);\r\n if (this.sellToken && this.sellToken.isCrypto) {\r\n let sellTokenSwap = await getSwapTokenByCrypto(this.sellToken.symbol);\r\n if (sellTokenSwap == this.baseTokenSymbol) {\r\n this.depositAddress = environment.DSWAP_ACCOUNT_HE;\r\n } else {\r\n this.depositAddress = await this.hes.getDepositAddress(sellTokenSwap, environment.DSWAP_ACCOUNT_HE);\r\n \r\n if (this.depositAddress) {\r\n this.swapRequestModel.TokenInputMemo = this.depositAddress.address;\r\n\r\n if (this.depositAddress.memo) {\r\n this.customMemoId = getRandomID();\r\n this.customMemo = this.depositAddress.memo + \" \" + this.customMemoId;\r\n }\r\n } else {\r\n const toast = new ToastMessage();\r\n\r\n toast.message = this.i18n.tr(\"converterApiTimeout\", {\r\n ns: 'errors'\r\n });\r\n\r\n this.toast.error(toast);\r\n }\r\n }\r\n\r\n // calculate 1.001% fee instead of 1% to be safe with rounding differences\r\n let amtInclFee = parseFloat((this.swapRequestModel.TokenInputAmount * 100 / 98.999).toFixed(8));\r\n\r\n this.depositAmount = amtInclFee;\r\n }\r\n }\r\n\r\n balanceClicked() {\r\n this.amount = this.token.stake;\r\n }\r\n\r\n private createValidationRules() {\r\n \r\n }\r\n\r\n tokenImage(symbol) {\r\n if (symbol == environment.marketMakerFeeToken) {\r\n return environment.EXCHANGE_URL_HE + 'images/logo-small.png';\r\n } else {\r\n var t = this.state.tokens.find(x => x.symbol === symbol);\r\n if (t) {\r\n return t.metadata.icon.endsWith('.svg') ? t.metadata.icon : `https://images.hive.blog/0x0/${t.metadata.icon}`;\r\n }\r\n }\r\n }\r\n\r\n async confirmSend() {\r\n const validationResult: ControllerValidateResult = await this.validationController.validate();\r\n\r\n this.loading = true;\r\n let customValid = true;\r\n\r\n for (const result of validationResult.results) {\r\n if (!result.valid) {\r\n const toast = new ToastMessage();\r\n\r\n toast.message = this.i18n.tr(result.rule.messageKey, {\r\n stake: this.token.stake,\r\n symbol: this.token.symbol,\r\n ns: 'errors'\r\n });\r\n\r\n this.toast.error(toast);\r\n }\r\n }\r\n\r\n if (this.swapRequestModel.SwapStatusId != SwapStatus.InProgress &&\r\n this.swapRequestModel.SwapStatusId != SwapStatus.CancelRequested &&\r\n this.swapRequestModel.SwapStatusId != SwapStatus.Init\r\n ) {\r\n customValid = false;\r\n\r\n const toast = new ToastMessage(); \r\n toast.message = this.i18n.tr(\"dcaCancelErrorUnsupportedStatus\", {\r\n error: '',\r\n ns: 'errors'\r\n });\r\n\r\n this.toast.error(toast);\r\n }\r\n\r\n if (this.swapRequestModel.Account != this.state.account.name) {\r\n customValid = false;\r\n\r\n const toast = new ToastMessage(); \r\n toast.message = this.i18n.tr(\"dcaCancelErrorUsernameMismatch\", {\r\n error: '',\r\n ns: 'errors'\r\n });\r\n\r\n this.toast.error(toast);\r\n }\r\n\r\n if (validationResult.valid && customValid) {\r\n //let waitMsg = this.i18n.tr('swapRequestQueued', {\r\n // ns: 'notifications'\r\n //});\r\n var txMemoId = getRandomID(); \r\n\r\n let dcaCancelRequestModel: IDCACancelRequestModel = {\r\n Account: this.state.account.name,\r\n Chain: Chain.Hive,\r\n ChainTransactionId: \"\",\r\n DCAId: this.swapRequestModel.Id,\r\n SourceId: environment.DSWAP_SOURCE_ID,\r\n TokenInputMemo: txMemoId,\r\n Message: \"\"\r\n }; \r\n\r\n let dcaCancelResponse = await this.ss.CancelSwapRequestDCA(dcaCancelRequestModel);\r\n this.swapV2 = true;\r\n\r\n var txMemo = \"SwapRequestDCA Cancel \" + txMemoId;\r\n if (dcaCancelResponse && dcaCancelResponse.Id) {\r\n var sendTx = await this.hes.sendToken(environment.peggedToken, environment.DSWAP_ACCOUNT_HE, environment.dswapDcaCancelFee, txMemo, '', 'tokensSentDca');\r\n if (sendTx) {\r\n if (sendTx.transactionId) {\r\n //this.swapRequestModel.ChainTransactionId = sendTx.transactionId;\r\n\r\n //await this.ts.enrichTokensWithUserBalances([this.swapRequestModel.TokenInput]);\r\n this.ts.getDSwapTokenBalances(Chain.Hive, true);\r\n this.controller.ok();\r\n }\r\n } else {\r\n this.swapRequestModel.TokenInputMemo = \"\";\r\n }\r\n }\r\n }\r\n\r\n this.loading = false;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\";","module.exports = \"\\r\\n\";"],"sourceRoot":""}