{"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","sellToken","tokens","find","x","symbol","TokenInput","isCrypto","sellTokenSwap","depositAddress","DSWAP_ACCOUNT_HE","getDepositAddress","TokenInputMemo","address","memo","customMemoId","customMemo","error","amtInclFee","parseFloat","TokenInputAmount","toFixed","depositAmount","val","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","validationResult","validate","customValid","result","results","valid","rule","messageKey","swapV2","txMemo","ChainTransactionId","swapResponse","SwapRequestDCA","Id","txMemoId","sendTx","sendToken","transactionId","getDSwapTokenBalances","Hive","DswapOrderDcaCancelModal","dswapDcaCancelFee","peggedToken","SwapStatusId","InProgress","CancelRequested","Init","Account","account","name","dcaCancelRequestModel","DCAId","SourceId","DSWAP_SOURCE_ID","Message","dcaCancelResponse","CancelSwapRequestDCA"],"mappings":"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","file":"app~1b1e745d.9664aaf7bd0af6511081.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 } 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\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\n this.sellToken = this.state.tokens.find(x => x.symbol === swapRequestModel.TokenInput);\n if (this.sellToken && this.sellToken.isCrypto) {\n let sellTokenSwap = await getSwapTokenByCrypto(this.sellToken.symbol);\n if (sellTokenSwap == this.baseTokenSymbol) {\n this.depositAddress = environment.DSWAP_ACCOUNT_HE;\n } else {\n this.depositAddress = await this.hes.getDepositAddress(sellTokenSwap, environment.DSWAP_ACCOUNT_HE);\n \n if (this.depositAddress) {\n this.swapRequestModel.TokenInputMemo = this.depositAddress.address;\n\n if (this.depositAddress.memo) {\n this.customMemoId = getRandomID();\n this.customMemo = this.depositAddress.memo + \" \" + this.customMemoId;\n }\n } else {\n const toast = new ToastMessage();\n\n toast.message = this.i18n.tr(\"converterApiTimeout\", {\n ns: 'errors'\n });\n\n this.toast.error(toast);\n }\n }\n\n // calculate 1.001% fee instead of 1% to be safe with rounding differences\n let amtInclFee = parseFloat((this.swapRequestModel.TokenInputAmount * 100 / 98.999).toFixed(8));\n\n this.depositAmount = amtInclFee;\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 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 }\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';\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 { env } from 'process';\nimport { Chain, SwapStatus } from 'common/enums';\n\n@autoinject()\nexport class DswapOrderDcaCancelModal {\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: ISwapRequestDCAViewModel;\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 dswapDcaCancelFee;\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 this.dswapDcaCancelFee = environment.dswapDcaCancelFee + \" \" + environment.peggedToken;\n }\n\n async activate(swapRequestModel: ISwapRequestDCAViewModel) { \n this.swapRequestModel = swapRequestModel;\n this.baseTokenSymbol = await getPeggedTokenSymbolByChain(swapRequestModel.Chain);\n\n this.sellToken = this.state.tokens.find(x => x.symbol === swapRequestModel.TokenInput);\n if (this.sellToken && this.sellToken.isCrypto) {\n let sellTokenSwap = await getSwapTokenByCrypto(this.sellToken.symbol);\n if (sellTokenSwap == this.baseTokenSymbol) {\n this.depositAddress = environment.DSWAP_ACCOUNT_HE;\n } else {\n this.depositAddress = await this.hes.getDepositAddress(sellTokenSwap, environment.DSWAP_ACCOUNT_HE);\n \n if (this.depositAddress) {\n this.swapRequestModel.TokenInputMemo = this.depositAddress.address;\n\n if (this.depositAddress.memo) {\n this.customMemoId = getRandomID();\n this.customMemo = this.depositAddress.memo + \" \" + this.customMemoId;\n }\n } else {\n const toast = new ToastMessage();\n\n toast.message = this.i18n.tr(\"converterApiTimeout\", {\n ns: 'errors'\n });\n\n this.toast.error(toast);\n }\n }\n\n // calculate 1.001% fee instead of 1% to be safe with rounding differences\n let amtInclFee = parseFloat((this.swapRequestModel.TokenInputAmount * 100 / 98.999).toFixed(8));\n\n this.depositAmount = amtInclFee;\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 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 }\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.swapRequestModel.SwapStatusId != SwapStatus.InProgress &&\n this.swapRequestModel.SwapStatusId != SwapStatus.CancelRequested &&\n this.swapRequestModel.SwapStatusId != SwapStatus.Init\n ) {\n customValid = false;\n\n const toast = new ToastMessage(); \n toast.message = this.i18n.tr(\"dcaCancelErrorUnsupportedStatus\", {\n error: '',\n ns: 'errors'\n });\n\n this.toast.error(toast);\n }\n\n if (this.swapRequestModel.Account != this.state.account.name) {\n customValid = false;\n\n const toast = new ToastMessage(); \n toast.message = this.i18n.tr(\"dcaCancelErrorUsernameMismatch\", {\n error: '',\n ns: 'errors'\n });\n\n this.toast.error(toast);\n }\n\n if (validationResult.valid && customValid) {\n //let waitMsg = this.i18n.tr('swapRequestQueued', {\n // ns: 'notifications'\n //});\n var txMemoId = getRandomID(); \n\n let dcaCancelRequestModel: IDCACancelRequestModel = {\n Account: this.state.account.name,\n Chain: Chain.Hive,\n ChainTransactionId: \"\",\n DCAId: this.swapRequestModel.Id,\n SourceId: environment.DSWAP_SOURCE_ID,\n TokenInputMemo: txMemoId,\n Message: \"\"\n }; \n\n let dcaCancelResponse = await this.ss.CancelSwapRequestDCA(dcaCancelRequestModel);\n this.swapV2 = true;\n\n var txMemo = \"SwapRequestDCA Cancel \" + txMemoId;\n if (dcaCancelResponse && dcaCancelResponse.Id) {\n var sendTx = await this.hes.sendToken(environment.peggedToken, environment.DSWAP_ACCOUNT_HE, environment.dswapDcaCancelFee, 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 this.loading = false;\n }\n\n}\n","module.exports = \"\\n\";","module.exports = \"\\n\";"],"sourceRoot":""}