{"version":3,"sources":["webpack:///./src/modals/signin.module.css?4865","webpack:///./src/modals/dswap-order.module.css?ed52","webpack:///./src/modals/confirm-chain.ts","webpack:///./src/modals/confirm-chain.html","webpack:///./src/modals/dswap-order.ts","webpack:///./src/modals/dswap-order.html","webpack:///./src/modals/dswap-swapdetails.ts","webpack:///./src/modals/dswap-swapdetails.html","webpack:///./src/modals/signin.ts","webpack:///./src/modals/signin.html","webpack:///./src/modals/dswap-swapdetails.module.css?6507"],"names":["module","exports","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","DswapOrderModal","hes","ss","ts","copyTxt","copyMemoTxt","styles","createValidationRules","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","validationResult","validate","customValid","result","results","valid","rule","messageKey","swapV2","txMemo","ChainTransactionId","swapResponse","SwapRequest","Id","txMemoId","sendTx","sendToken","transactionId","enrichTokensWithUserBalances","DswapSwapdetailsModal","swapStatusName","SwapStatusId","blockExplorerUrl","swapTransactions","t","timestamp_month_name","CreatedAt","format","timestamp_day","timestamp_time","timestamp_year","SwapStatusName","SwapStepName","SwapStepId","SigninModal","router","environment","usePrivateKey","useKeychain","subscription","username","currentChainId","window","hive_keychain","requestHandshake","steem_keychain","chains","currentChain","login","trim","toLowerCase","close","e","privateKey","getElementById","display"],"mappings":"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","file":"app~1b1e745d.e961fd203fd467b7fead.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"signin-text\":\"signin-module__signin-text____5vvot\",\"auth-input\":\"signin-module__auth-input____2hW-B\",\"keychain-btn\":\"signin-module__keychain-btn____39jzj\",\"auth-link\":\"signin-module__auth-link____SMSay\",\"active-key-btn\":\"signin-module__active-key-btn____3RELn\",\"greenBtns\":\"signin-module__greenBtns____1GXQd\",\"redBtn\":\"signin-module__redBtn____u_HYr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sendTokenBalance\":\"dswap-order-module__sendTokenBalance____1RDr0\",\"modal-header\":\"dswap-order-module__modal-header____vZ5I8\",\"modal-body\":\"dswap-order-module__modal-body____3f-jy\",\"trade-button\":\"dswap-order-module__trade-button____1-MQG\"};","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';\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\n\r\n@autoinject()\r\nexport class DswapOrderModal {\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: ISwapRequestModel;\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\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 }\r\n\r\n async activate(swapRequestModel: ISwapRequestModel) { \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 copyMessage(val: string, memo: boolean) {\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n\r\n if (memo) {\r\n this.copyMemoTxt = \"Copied!\";\r\n } else {\r\n this.copyTxt = \"Copied!\";\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 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.sellToken && this.sellToken.isCrypto && !this.depositAddress) {\r\n const toast = new ToastMessage();\r\n\r\n toast.message = this.i18n.tr(\"DepositAddressMissing\", {\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 customValid = false;\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\r\n if (this.swapRequestModel.TokenInputMemo)\r\n {\r\n this.swapV2 = false;\r\n let txMemo = this.swapRequestModel.TokenInputMemo;\r\n if (this.customMemo)\r\n txMemo += \" \" + this.customMemo;\r\n\r\n this.swapRequestModel.ChainTransactionId = txMemo;\r\n\r\n // update token input memo with unique id generated (if it is applicable)\r\n if (this.customMemo)\r\n this.swapRequestModel.TokenInputMemo = this.customMemoId;\r\n\r\n let swapResponse = await this.ss.SwapRequest(this.swapRequestModel);\r\n\r\n if (swapResponse && swapResponse.Id) {\r\n this.controller.ok();\r\n }\r\n } else {\r\n var txMemoId = getRandomID(); \r\n this.swapRequestModel.TokenInputMemo = txMemoId; \r\n let swapResponse = await this.ss.SwapRequest(this.swapRequestModel);\r\n this.swapV2 = true;\r\n\r\n var txMemo = \"SwapRequest \" + txMemoId;\r\n if (swapResponse && swapResponse.Id) {\r\n var sendTx = await this.hes.sendToken(this.swapRequestModel.TokenInput, environment.DSWAP_ACCOUNT_HE, this.swapRequestModel.TokenInputAmount, txMemo);\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.controller.ok();\r\n }\r\n } else {\r\n this.swapRequestModel.TokenInputMemo = \"\";\r\n }\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\";","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-swapdetails.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, getSwapRequestTransactions } from 'common/dswap-api';\r\nimport { getPeggedTokenSymbolByChain, getBlockExplorerByChain, getSwapStatusById, getSwapStepById } from 'common/functions';\r\nimport moment from 'moment';\r\n\r\n@autoinject()\r\nexport class DswapSwapdetailsModal {\r\n @bindable amount;\r\n @bindable username;\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: ISwapRequestViewModel;\r\n private baseTokenSymbol;\r\n private blockExplorerUrl;\r\n private swapTransactions: ISwapRequestTransactionViewModel[];\r\n private swapStatusName;\r\n\r\n constructor(private controller: DialogController, private toast: ToastService, private taskQueue: TaskQueue,\r\n private controllerFactory: ValidationControllerFactory, private i18n: I18N, private hes: HiveEngineService, private ss: SwapService) {\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\r\n bind() {\r\n \r\n }\r\n\r\n async activate(swapRequestModel: ISwapRequestViewModel) {\r\n this.loading = true;\r\n this.swapRequestModel = swapRequestModel;\r\n this.swapStatusName = getSwapStatusById(swapRequestModel.SwapStatusId);\r\n this.baseTokenSymbol = await getPeggedTokenSymbolByChain(swapRequestModel.Chain);\r\n this.blockExplorerUrl = await getBlockExplorerByChain(swapRequestModel.Chain);\r\n this.swapTransactions = await getSwapRequestTransactions(swapRequestModel.Id)\r\n for (let t of this.swapTransactions) {\r\n t.timestamp_month_name = moment(t.CreatedAt).format('MMMM');\r\n t.timestamp_day = moment(t.CreatedAt).format('DD');\r\n t.timestamp_time = moment(t.CreatedAt).format('HH:mm');\r\n t.timestamp_year = moment(t.CreatedAt).format('YYYY');\r\n t.SwapStatusName = await getSwapStatusById(t.SwapStatusId);\r\n t.SwapStepName = await getSwapStepById(t.SwapStepId);\r\n }\r\n \r\n this.loading = false;\r\n }\r\n\r\n balanceClicked() {\r\n this.amount = this.token.stake;\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","import { Router } from \"aurelia-router\";\r\nimport { ToastMessage } from \"services/toast-service\";\r\nimport { I18N } from \"aurelia-i18n\";\r\nimport { dispatchify, Store } from \"aurelia-store\";\r\n//import { HiveEngine } from 'services/hive-engine';\r\nimport { DialogController } from \"aurelia-dialog\";\r\nimport { autoinject } from \"aurelia-framework\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { environment } from \"environment\";\r\nimport { ToastService } from \"services/toast-service\";\r\nimport { login } from \"store/actions\";\r\n\r\nimport styles from \"./signin.module.css\";\r\nimport { AuthService } from \"services/auth-service\";\r\nimport { getDswapChains, getChainByState } from \"../common/functions\";\r\n\r\n@autoinject()\r\nexport class SigninModal {\r\n private styles = styles;\r\n private environment = environment;\r\n private subscription: Subscription;\r\n private loading = false;\r\n private usePrivateKey = false;\r\n private username;\r\n private privateKey;\r\n private useKeychain = false;\r\n private state: IState;\r\n private currentChainId;\r\n private currentChain;\r\n\r\n constructor(\r\n private controller: DialogController,\r\n private authService: AuthService,\r\n private i18n: I18N,\r\n private router: Router,\r\n private toast: ToastService,\r\n private store: Store\r\n ) {\r\n this.controller.settings.lock = false;\r\n this.controller.settings.centerHorizontalOnly = true;\r\n\r\n this.subscription = 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(username?: string) {\r\n if (username)\r\n this.username = username;\r\n }\r\n\r\n async attached() {\r\n this.currentChainId = await getChainByState(this.state);\r\n\r\n if (window.hive_keychain) {\r\n window.hive_keychain.requestHandshake(() => {\r\n this.useKeychain = true;\r\n });\r\n }\r\n\r\n if (window.steem_keychain) {\r\n window.steem_keychain.requestHandshake(() => {\r\n this.useKeychain = true;\r\n });\r\n }\r\n\r\n let chains = await getDswapChains();\r\n this.currentChain = chains.find(x => x.id === this.currentChainId);\r\n }\r\n\r\n async keychainSignIn() {\r\n try {\r\n this.loading = true;\r\n\r\n const { username } = (await this.authService.login(\r\n this.username.trim().toLowerCase(),\r\n null,\r\n this.currentChain.id\r\n )) as any;\r\n\r\n if (username) {\r\n await dispatchify(login)(username, this.currentChain.id);\r\n }\r\n\r\n this.controller.close(true);\r\n\r\n this.loading = false;\r\n } catch (e) {\r\n this.loading = false;\r\n }\r\n }\r\n\r\n async keySignIn() {\r\n try {\r\n this.loading = true;\r\n\r\n const { username } = (await this.authService.login(\r\n this.username.trim().toLowerCase(),\r\n this.privateKey.trim(),\r\n this.currentChain.id\r\n )) as any;\r\n\r\n if (username) {\r\n await dispatchify(login)(username, this.currentChain.id);\r\n }\r\n\r\n this.controller.close(true);\r\n\r\n this.loading = false;\r\n } catch (e) {\r\n this.loading = false;\r\n }\r\n }\r\n hideKeychainBtn() {\r\n this.usePrivateKey = !this.usePrivateKey;\r\n document.getElementById(\"activeKeyBtn\").style.display = \"none\";\r\n }\r\n}\r\n","module.exports = \"\\r\\n\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sendTokenBalance\":\"dswap-swapdetails-module__sendTokenBalance____UvlQw\",\"modal-header\":\"dswap-swapdetails-module__modal-header____1ul9u\",\"modal-body\":\"dswap-swapdetails-module__modal-body____3D_pz\",\"trade-button\":\"dswap-swapdetails-module__trade-button____3YzHR\"};"],"sourceRoot":""}