{"version":3,"file":"index-legacy.5c14a216.js","sources":["../../../../src/composables/tron/useResourceTypeText.ts","../../../../src/assets/imgs/activity-pc-ch.svg","../../../../src/assets/imgs/activity-pc-en.svg","../../../../src/assets/imgs/activity-imtoken.svg","../../../../src/components/activity/src/Desktop.vue","../../../../src/assets/imgs/arrow-s2.svg","../../../../src/assets/imgs/c2c-sell.png","../../../../src/pages-components/c2c/components/FastTrad.vue","../../../../src/composables/app/getC2cAmountCalculator.ts","../../../../src/pages-components/c2c/components/buy/hooks/useBuy.ts","../../../../src/pages-components/c2c/components/buy/machine/c2cBuyMachine.ts","../../../../src/pages-components/c2c/components/buy/machine/useC2cBuyMachine.ts","../../../../src/components/order-create/src/OrderCreate.vue","../../../../src/pages-components/c2c/components/buy/BuyTnfoConfirmation.vue","../../../../src/pages-components/c2c/components/buy/BuyPopupGather.vue","../../../../src/components/custom-input-number/src/CustomInputNumber.vue","../../../../src/components/check-box/CheckBox.vue","../../../../src/pages-components/c2c/components/buy/BuyPopup.vue","../../../../src/pages-components/c2c/hooks/useMultiSign.ts","../../../../src/pages-components/c2c/hooks/useSell.ts","../../../../src/pages-components/c2c/components/freeze/hooks/useFreeze.ts","../../../../src/pages-components/c2c/components/freeze/FreezePopup.vue","../../../../src/pages-components/c2c/components/sell/machine/c2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/machine/useC2cSellMachine.ts","../../../../src/pages-components/c2c/components/sell/SellPopup.vue","../../../../src/pages-components/c2c/components/sell/hooks/index.ts","../../../../src/assets/imgs/no-trade.png","../../../../src/pages-components/c2c/components/sell/SelfHelpOrder.vue","../../../../src/pages-components/c2c/components/VoteModal.vue","../../../../src/pages-components/c2c/components/current-order/RightExtra.vue","../../../../src/pages-components/c2c/components/current-order/CurrentOrder.vue","../../../../src/pages-components/c2c/components/history/LatestTable.vue","../../../../src/pages-components/c2c/components/history/RecycleResoure.vue","../../../../src/pages-components/c2c/components/history/AgentTable.vue","../../../../src/pages-components/c2c/components/history/Progress.vue","../../../../src/pages-components/c2c/components/history/MineOrderDetail.vue","../../../../src/pages-components/c2c/components/history/BuyTable.vue","../../../../src/pages-components/c2c/components/history/index.vue","../../../../src/pages-components/c2c/index.vue","../../../../src/pages/c2c/index.vue","../../../../src/composables/imtoken/useIsImtoken.ts"],"sourcesContent":["import { TronRes } from '~/utils/tron-v2'\r\n\r\nexport function useResourceTypeText(type: Ref) {\r\n return computed(() => {\r\n return type.value === TronRes.BANDWIDTH ? $t('IgN1EoVRFTDyCVLbFG-oT') : $t('YUG0RoDj9Kcw8PtVRPR9Y')\r\n })\r\n}\r\n","export default \"__VITE_ASSET__49cf4299__\"","export default \"__VITE_ASSET__b16bb195__\"","export default \"__VITE_ASSET__53e41bea__\"","\r\n\r\n\r\n\r\n\r\n","export default \"__VITE_ASSET__c796d0e8__\"","export default \"__VITE_ASSET__82b75fae__\"","\r\n\r\n\r\n\r\n\r\n","import { reactiveComputed } from '@vueuse/core/index'\r\nimport BigNumber, { default as bignumber } from 'bignumber.js';\r\n\r\ninterface ResourceParams {\r\n resourceType: number\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n}\r\n\r\ninterface DiscountParams {\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n resourceValue: number | null\r\n resourceType: number\r\n priceInSun: number\r\n\r\n}\r\n\r\n/**\r\n * 资源价格区间,用于输入框限制及输入判断\r\n * @param resourceType TronRes\r\n */\r\nexport function resourcePriceRange(resourceType: Ref) {\r\n const { config } = useAppState()\r\n return reactiveComputed(() => {\r\n const range = {\r\n c2cMinValue: 0,\r\n c2cMaxValue: 0,\r\n }\r\n if (!config.value?.order)\r\n return range\r\n const order = config.value?.order\r\n range.c2cMinValue = unref(resourceType)\r\n ? order.energy_c2c_min_value\r\n : order.bandwidth_c2c_min_value\r\n range.c2cMaxValue = unref(resourceType)\r\n ? order.energy_c2c_max_value\r\n : order.bandwidth_c2c_max_value\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 单价区间\r\n * @param params\r\n */\r\nexport function resourceUnitPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return reactiveComputed(() => {\r\n const type = unref(resourceType)\r\n const range = {\r\n c2cMinSun: config.value?.price_c2c[type]!.sun ?? 90, // 最小值\r\n c2cMaxSun: 0,\r\n }\r\n\r\n const source = config.value?.price_c2c[type]\r\n\r\n if (!source)\r\n return range\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1d || 0\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1h || 0\r\n else if (params.rentDuration === 6)\r\n range.c2cMinSun = source.sun_6h || 0\r\n else if (params.rentDuration === 3)\r\n range.c2cMinSun = source.sun_3h || 0\r\n }\r\n\r\n range.c2cMaxSun = source?.max_sun\r\n\r\n return range\r\n })\r\n}\r\n\r\n/**\r\n * 默认单价\r\n * @param params\r\n */\r\nexport function resourceDefaultPrice(params: T) {\r\n const { config } = useAppState()\r\n const resourceType = computed(() => params.resourceType ? 'energy' : 'bandwidth')\r\n return computed(() => {\r\n const type = resourceType.value.toLowerCase()\r\n // @ts-expect-error\r\n const source = config.value?.price_c2c[type]\r\n if (!source)\r\n return 0\r\n let defaultPriceInSun = source.default_sun\r\n\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1d\r\n }\r\n else if (params.rentTimeUnit === 'h') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1h\r\n else if (params.rentDuration === 6)\r\n defaultPriceInSun = source.default_sun_6h\r\n else if (params.rentDuration === 3)\r\n defaultPriceInSun = source.default_sun_3h\r\n }\r\n return defaultPriceInSun\r\n })\r\n}\r\n\r\n/**\r\n * 计算折扣\r\n * @param params\r\n * todo 折扣类型返回有问题\r\n */\r\nexport function discountResult(params: T) {\r\n return reactiveComputed(() => {\r\n const info = {\r\n fee: bignumber(0),\r\n amount: bignumber(0),\r\n save: bignumber(0),\r\n discount: bignumber(0),\r\n needBurning: bignumber(0),\r\n }\r\n if (!params.priceInSun || !params.resourceValue)\r\n return info\r\n \r\n const day = params.rentTimeUnit === 'h' ? bignumber(1) : bignumber(params.rentDuration)\r\n \r\n const needBurning = params.resourceType\r\n ? bignumber(params.resourceValue).multipliedBy(420).dividedBy(1000000).multipliedBy(day)\r\n : bignumber(1000).dividedBy(1000000).multipliedBy(params.resourceValue).multipliedBy(day);\r\n\r\n info.needBurning = needBurning\r\n info.amount = calcAmount(params)\r\n \r\n // todo 此处将toFixed 改成 BigNumber.ROUND_DOWN 截断\r\n info.save = needBurning.minus(info.amount).isNegative()\r\n ? new BigNumber(0)\r\n : needBurning.minus(info.amount).decimalPlaces(2, BigNumber.ROUND_DOWN);\r\n \r\n const discountFormula = bignumber(100).multipliedBy(bignumber(1).minus(info.amount.dividedBy(needBurning)));\r\n info.discount = discountFormula.isNegative()\r\n ? bignumber(0)\r\n : discountFormula.decimalPlaces(0, BigNumber.ROUND_DOWN);\r\n \r\n\r\n return info\r\n })\r\n}\r\n\r\nfunction calcAmount(params: T) {\r\n let payAmount = bignumber(0)\r\n \r\n switch (params.rentTimeUnit) {\r\n case 'h':\r\n if (params.rentDuration < 1 || params.rentDuration > 23)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(1)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n \r\n case 'd':\r\n \r\n if (params.rentDuration < 1 || params.rentDuration > 30)\r\n break\r\n \r\n payAmount = bignumber((params.resourceValue ?? 0))\r\n .multipliedBy(params.priceInSun)\r\n .dividedBy(1000000)\r\n .multipliedBy(params.rentDuration)\r\n .decimalPlaces(6, BigNumber.ROUND_DOWN);\r\n break;\r\n }\r\n return payAmount\r\n}\r\n","import { createInjectionState, reactiveComputed, useEventBus } from '@vueuse/core'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\nimport { EPaymentMethod } from '~/components/pay-type/src/PayType.vue'\r\nimport { imtoken } from '~/utils/imtoken'\r\nimport { useRentalTime } from '~/composables/useRentalTime'\r\nimport { discountResult, resourceDefaultPrice, resourcePriceRange, resourceUnitPrice } from '~/composables/app/getC2cAmountCalculator'\r\nimport { useUserInfo } from '~/composables/app'\r\n\r\ninterface IFormData {\r\n resourceType: number\r\n receiveAddress: string\r\n resourceValue: number | null\r\n priceInSun: number\r\n rentTimeSecond: number\r\n rentTimeUnit: 'h' | 'd'\r\n rentDuration: number\r\n times: number\r\n waitSecond: number\r\n}\r\nexport const [useBuyProvider, useBuy] = createInjectionState(() => {\r\n const { config } = useAppState()\r\n const { shortcutTime } = useRentalTime('c2c')\r\n const { account, isConnected } = tronComp.useAccountCurrent()\r\n const formData = reactive({\r\n resourceType: TronRes.ENERGY,\r\n receiveAddress: '',\r\n resourceValue: null,\r\n priceInSun: 0,\r\n rentTimeSecond: 259200,\r\n rentTimeUnit: 'd',\r\n rentDuration: 3,\r\n times: 1, // 笔数\r\n waitSecond: 1800, // 笔数\r\n })\r\n const fromDataRefs = toRefs(formData)\r\n\r\n const unitPriceRange = resourcePriceRange(fromDataRefs.resourceType)\r\n const priceRange = resourceUnitPrice(formData)\r\n const defaultPriceInSun = resourceDefaultPrice(formData)\r\n const discount = discountResult(formData)\r\n\r\n const buyForm = useAntFormValidator({\r\n resourceType: {\r\n value: fromDataRefs.resourceType,\r\n },\r\n receiveAddress: {\r\n value: fromDataRefs.receiveAddress,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('koczkm929Fmicnja2sYs4'))\r\n\r\n if (isUnaddressDom.value) {\r\n if (!imtoken.isImToken() && !tron.isAddress(value))\r\n return Promise.reject($t('mbKTfi73xuZvYVdZnac7'))\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n resourceValue: {\r\n value: fromDataRefs.resourceValue,\r\n validator(rule, value) {\r\n const type = resourceType.value === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('xo7kGD9R2fV50wOIihlhL')\r\n\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cO4MIzIlIHzj5eWyvgb16', { type }))\r\n\r\n if (!value || value <= 0)\r\n return Promise.reject($t('Z3dE8F8H0GPEYq_juWdf5'))\r\n\r\n if (value < unitPriceRange.c2cMinValue)\r\n return Promise.reject(`${$t('9Air0S8Iviz5hpGdRb9Za')} : ${unitPriceRange.c2cMinValue}`)\r\n\r\n if (value > unitPriceRange.c2cMaxValue)\r\n return Promise.reject(`${$t('onYvOfwpMf8GcNrAc5r4H')} ${unitPriceRange.c2cMaxValue}`)\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n priceInSun: {\r\n value: fromDataRefs.priceInSun,\r\n validator(rule, value) {\r\n if (typeof value !== 'number')\r\n return Promise.reject($t('cw6ImkkTup21CecCdWac'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n rentTimeSecond: {\r\n value: fromDataRefs.rentTimeSecond,\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('dHgidzfd5qiruU6fTpsQ'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n waitSecond:{\r\n value : fromDataRefs.waitSecond\r\n }\r\n })\r\n\r\n const isPenNumber = ref(false)\r\n\r\n const otherMode = computed(() => !!tron.tronWeb && isConnected.value)\r\n\r\n const changeEnergyUnit = (e: boolean) => {\r\n isPenNumber.value = e\r\n }\r\n\r\n const resourceType = computed(() =>\r\n formData.resourceType ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n const shortcut = computed(() => resourceType.value === 'ENERGY' ? config.value?.order.energy_c2c_quick_options : config.value?.order.bandwidth_quick_options)\r\n\r\n const chooseRentDuration = (item?: number) => {\r\n item = item ?? formData.rentTimeSecond\r\n const data = shortcutTime?.find((i: any) => i.value === item)\r\n if (!data)\r\n return\r\n formData.rentTimeSecond = data.value\r\n formData.rentDuration = data.dur\r\n formData.rentTimeUnit = data.unit\r\n formData.priceInSun = defaultPriceInSun.value\r\n buyForm.$form.value?.clearValidate()\r\n }\r\n\r\n const isOpenTTPay = computed(() => config.value?.base.enable_ttpay)\r\n\r\n /** 是否下载有tron钱包插件 */\r\n const isUnaddressDom = computed(() => typeof window.tronWeb === 'object' || imtoken.isImToken())\r\n\r\n const onSubmit = async () => {}\r\n\r\n const onValidate = async () => {}\r\n\r\n const payType = ref(EPaymentMethod.DAPP)\r\n\r\n const paymentMethod = computed(() => {\r\n switch (payType.value) {\r\n case EPaymentMethod.DAPP:\r\n return 'dapp'\r\n case EPaymentMethod.TTPAY:\r\n return 'ttpay'\r\n case EPaymentMethod.BALANCE:\r\n return 'balance'\r\n default:\r\n return 'dapp'\r\n }\r\n })\r\n\r\n const togglePayType = (code: number) => {\r\n payType.value = code\r\n }\r\n const { trxMoney } = useUserInfo()\r\n /** 按钮组显示条件 */\r\n const buttonGroup = reactiveComputed(() => {\r\n return {\r\n walletConnection:\r\n !toValue(isOpenTTPay)\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n walletConnectionToPay:\r\n toValue(payType) === EPaymentMethod.DAPP\r\n && toValue(isUnaddressDom)\r\n && !toValue(isConnected),\r\n download:\r\n toValue(payType) === EPaymentMethod.DAPP && !toValue(isUnaddressDom),\r\n pay:\r\n toValue(payType) === EPaymentMethod.TTPAY\r\n // eslint-disable-next-line style/no-mixed-operators\r\n || toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) >= toDecimalPlaces(discount.amount, 6)\r\n || (toValue(payType) === EPaymentMethod.DAPP && toValue(isConnected)),\r\n balanceTip: toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) < toDecimalPlaces(discount.amount, 6),\r\n }\r\n })\r\n\r\n const isRentDays = computed(() => formData.rentTimeUnit === 'd' && formData?.rentDuration > 1)\r\n\r\n const paymentAddress = computed(\r\n () => config.value?.wallet?.payment_c2c_address,\r\n )\r\n\r\n const bus = useEventBus('SWITCH-WALLET')\r\n\r\n // 监听钱包切换\r\n bus.on(() => {\r\n formData.receiveAddress = account.address\r\n })\r\n\r\n watchEffect(() => {\r\n formData.priceInSun = defaultPriceInSun.value\r\n })\r\n\r\n watch(isConnected, () => {\r\n formData.receiveAddress = isConnected.value ? account.address : formData.receiveAddress\r\n }, { immediate: true })\r\n\r\n watch(\r\n () => formData.resourceType,\r\n () => {\r\n buyForm.$form.value?.clearValidate()\r\n formData.resourceValue = null\r\n },\r\n )\r\n\r\n return {\r\n shortcut,\r\n changeEnergyUnit,\r\n unitPriceRange,\r\n priceRange,\r\n shortcutTime,\r\n defaultPriceInSun,\r\n formData,\r\n buyForm,\r\n chooseRentDuration,\r\n discount,\r\n onSubmit,\r\n isOpenTTPay,\r\n isUnaddressDom,\r\n onValidate,\r\n togglePayType,\r\n payType,\r\n buttonGroup,\r\n paymentAddress,\r\n paymentMethod,\r\n isRentDays,\r\n isPenNumber,\r\n otherMode,\r\n }\r\n})\r\n\r\ninterface TDiscount {\r\n fee: number\r\n amount: number\r\n save: number\r\n discount: number\r\n}\r\nexport type { TDiscount }\r\n","import { createMachine } from 'xstate'\r\nimport type { TDiscount } from '../hooks/useBuy'\r\n\r\ninterface IContext {\r\n formData: any\r\n payType: number\r\n paymentAddress: string | undefined\r\n discountInfo: TDiscount\r\n toAddress: string\r\n paymentUrl: string\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'c2cBuyMachine',\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'confirm',\r\n cond: 'isPc',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'confirm': {\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n BUY: {\r\n target: 'info-confirm',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n 'info-confirm': {\r\n on: {\r\n PAY: [\r\n {\r\n target: 'tronlink',\r\n cond: 'isTronlink',\r\n internal: false,\r\n },\r\n {\r\n target: 'TTpay',\r\n cond: 'isTtpay',\r\n internal: false,\r\n },\r\n {\r\n target: 'Balance',\r\n cond: 'isBalance',\r\n },\r\n ],\r\n CLOSE: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n 'tronlink': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'tronlink-order-precreating',\r\n },\r\n },\r\n 'tronlink-order-precreating': {\r\n invoke: {\r\n src: 'precreateTronlinkOrder',\r\n id: 'precreateTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-create-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-create-order': {\r\n invoke: {\r\n src: 'createTronlinkOrder',\r\n id: 'createTronlinkOrder',\r\n onDone: [\r\n {\r\n target: 'tronlink-query-order',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'tronlink-request'],\r\n },\r\n 'tronlink-query-order': {\r\n invoke: {\r\n src: 'queryTronlinkOrder',\r\n id: 'invoke-6coj5',\r\n },\r\n tags: ['request', 'tronlink-request', 'querying-tronlink'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'TTpay': {\r\n entry: {\r\n type: 'setInfo',\r\n },\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'ttpay-create-order',\r\n },\r\n },\r\n 'ttpay-create-order': {\r\n invoke: {\r\n src: 'createTtpayOrder',\r\n id: 'createTtpayOrder',\r\n onDone: [\r\n {\r\n target: 'ttpay-query-order',\r\n actions: [\r\n {\r\n type: 'toPayment',\r\n },\r\n {\r\n type: 'setPayment',\r\n },\r\n ],\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.confirm',\r\n actions: {\r\n type: 'requestError',\r\n },\r\n },\r\n ],\r\n },\r\n tags: ['request', 'ttpay-request'],\r\n },\r\n 'ttpay-query-order': {\r\n invoke: {\r\n src: 'queryTtpayOrder',\r\n id: 'invoke-5co6c',\r\n },\r\n tags: ['request', 'ttpay-request', 'querying-ttpay'],\r\n on: {\r\n END: {\r\n target: 'order-results',\r\n },\r\n STOP: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n KEEP: {\r\n actions: {\r\n type: 'toPayment',\r\n },\r\n internal: true,\r\n },\r\n },\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n 'Balance': {\r\n initial: 'idle',\r\n states: {\r\n 'idle': {\r\n always: {\r\n target: 'balance-create-order',\r\n },\r\n },\r\n 'balance-create-order': {\r\n invoke: {\r\n src: 'createBalanceOrder',\r\n id: 'createBalanceOrder',\r\n onError: [\r\n {\r\n target: '#c2cBuyMachine.info-confirm',\r\n },\r\n ],\r\n onDone: [\r\n {\r\n target: 'order-results',\r\n },\r\n ],\r\n },\r\n tags: [\r\n 'request',\r\n 'balance-request',\r\n ],\r\n },\r\n 'order-results': {\r\n on: {\r\n OK: {\r\n target: '#c2cBuyMachine.idle',\r\n },\r\n },\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | {\r\n type: 'PAY'\r\n formData: any\r\n paymentAddress: string\r\n discountInfo: any\r\n payType: number\r\n toAddress: string\r\n data: any\r\n paymentMethod: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OPEN'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'CLOSE'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'BUY'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'END'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'OK'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n }\r\n | {\r\n type: 'KEEP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n } | {\r\n type: 'STOP'\r\n formData?: any\r\n paymentAddress?: string\r\n discountInfo?: any\r\n payType?: number\r\n toAddress?: string\r\n data?: any\r\n paymentMethod?: 'dapp' | 'ttpay' | 'balance'\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cBuyMachine.typegen').Typegen0,\r\n})\r\n","import {\r\n createInjectionState,\r\n reactiveComputed,\r\n useTimeoutPoll,\r\n} from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { snakeCase } from 'lodash'\r\nimport { useAppBreakpoints } from '@peng_kai/theme/vue/index'\r\nimport { machine as c2cBuylMachine } from './c2cBuyMachine'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { extractContentInBrackets, jumpCompatible } from '~/utils'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nexport const [useC2cBuyMachineProvide, useC2cBuyMachine] = createInjectionState(\r\n () => {\r\n const queryTronlinkOrder = ref()\r\n const queryTtpayOrder = ref()\r\n const rentalInformation = ref()\r\n const bp = useAppBreakpoints()\r\n const { account } = tronComp.useAccountCurrent()\r\n\r\n const machine = useMachine(c2cBuylMachine, {\r\n actions: {\r\n // todo tron的提示和api请求的提示不应该放一起的,这里不走tronError 错误处理,后期需要统一\r\n requestError: (ctx, ev) => {\r\n if (ev.data instanceof Error) {\r\n if (ev.data.message.includes('balance is not sufficient') || ev.data.message.includes('Tapos check error') || ev.data.message.includes('Account resource insufficient error'))\r\n aMessage.error($t('tm41OUsNwS4B7IkB1jey'))\r\n else if (ev.data.message.includes('Confirmation declined by user') || ev.data.message.includes('cancel') || ev.data.message.includes('cancle') || ev.data.message.includes('取消') || ev.data.message.includes('拒绝'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n else if (ev.data.message.includes('Validate TransferContract error, no OwnerAccount'))\r\n aMessage.error($t('fiNURjHwnMnPYh48lYi'))\r\n else if (ev.data.message.includes('does not exist'))\r\n aMessage.error(`${extractContentInBrackets(ev.data.message)} ${$t('AUdgXSOOMymyhIWK9Mg1A')}`)\r\n else\r\n aMessage.error(ev.data.message)\r\n }\r\n },\r\n\r\n toPayment: (ctx, ev) => {\r\n const { data } = ev as any\r\n if (ev.type === 'KEEP') {\r\n if (bp.ltLaptop)\r\n location.href = ctx.paymentUrl\r\n else\r\n window.open(ctx.paymentUrl, '_blank')\r\n }\r\n else if (ev.type === 'done.invoke.createTtpayOrder') {\r\n jumpCompatible($t('rVh4iCmGnClYuxNyVNn6', { url: data.payment_url, href: encodeURIComponent(window.location.href) }))\r\n }\r\n },\r\n\r\n setPayment: actions.assign((ctx, ev) => {\r\n const link\r\n = `${ev.data?.payment_url\r\n }&return_url=${\r\n encodeURIComponent(window.location.href)}`\r\n return {\r\n paymentUrl: link,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'BUY') {\r\n rentalInformation.value = ev\r\n return {\r\n formData: ev.formData,\r\n paymentAddress: ev.paymentAddress,\r\n discountInfo: ev.discountInfo,\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n if (ev.type === 'PAY') {\r\n return {\r\n toAddress: ev.toAddress,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n },\r\n services: {\r\n /** dapp支付流程 开始 */\r\n precreateTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n amount: toDecimalPlaces(ctx.discountInfo.amount, 6),\r\n toAddress: ctx.paymentAddress,\r\n fromAddress: ctx.toAddress,\r\n }\r\n const res = await tron.payTRXServerBroadcast(params)\r\n\r\n if (res)\r\n return res\r\n }\r\n catch (e) {\r\n // 兼容imtoken取消时不一样的返回信息\r\n const msg = formatTronErrorMessage(e)\r\n throw new Error(msg)\r\n }\r\n },\r\n createTronlinkOrder: async (ctx, ev) => {\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n data.signed_txn = ev.data\r\n data.resource_value = Number(data.resource_value)\r\n\r\n return await apis.orderCreateC2C({\r\n requestBody: data,\r\n }, { errorMessageMode: 'none' })\r\n }\r\n catch (e) {\r\n throw new Error(e.msg)\r\n }\r\n },\r\n queryTronlinkOrder: (ctx, ev) => async (callback) => {\r\n let second = 0\r\n while (second <= 15) {\r\n try {\r\n await sleep(2000)\r\n second++\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ev.data.order_no,\r\n trx_address: ev.data.pay_address,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res) {\r\n queryTronlinkOrder.value = {\r\n code: res.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n break\r\n }\r\n }\r\n catch (e) {\r\n if (e.code !== 17019) {\r\n // 其他异常\r\n queryTronlinkOrder.value = {\r\n code: e.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n throw new Error('')\r\n }\r\n }\r\n }\r\n },\r\n /** dapp支付流程 结束 */\r\n\r\n /** ttpay支付流程 开始 */\r\n createTtpayOrder: async (ctx, ev) => {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n\r\n data.pay_amount = toDecimalPlaces(ctx.discountInfo.amount, 6)\r\n\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.ttpayOrderC2C({ requestBody: data }, { errorMessageMode: 'none' })\r\n },\r\n queryTtpayOrder: (ctx, ev) => (callback) => {\r\n const { out_trade_no } = ev.data as any\r\n const startTime = Date.now()\r\n const limtTime = 10 * 60 * 1000\r\n\r\n const { resume, pause } = useTimeoutPoll(async () => {\r\n if (Date.now() - startTime > limtTime) {\r\n pause()\r\n queryTtpayOrder.value = {\r\n code: 0,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n return\r\n }\r\n\r\n // 接口请求和结果处理\r\n const res = await apis.orderQuery(\r\n { order_no: out_trade_no },\r\n {\r\n errorMessageMode: 'none',\r\n resultType: 'api',\r\n checkCode: false,\r\n },\r\n )\r\n if (res.code === 0) {\r\n queryTtpayOrder.value = {\r\n code: res.data?.status,\r\n status: 'success',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n\r\n if (res.code !== 17019 && res.code !== 0) {\r\n queryTtpayOrder.value = {\r\n code: res.code,\r\n status: 'fail',\r\n }\r\n callback({ type: 'END' })\r\n }\r\n }, 2000)\r\n\r\n resume()\r\n return () => pause()\r\n },\r\n /** ttpay支付流程 结束 */\r\n\r\n /** 余额支付流程 开始 */\r\n createBalanceOrder: async (ctx) => {\r\n // 请求接口\r\n try {\r\n const data:\r\n | Api.GetParam['requestBody']\r\n | { [key: string]: string | number } = {}\r\n for (const key in ctx.formData)\r\n data[snakeCase(key)] = ctx.formData[key]\r\n\r\n return await apis.apiOrderCreateOrderByBalance({ requestBody: { ...data, order_type: 2, pay_amount: toDecimalPlaces(ctx.discountInfo.amount, 6) } })\r\n }\r\n catch (e) {\r\n throw new Error(e)\r\n }\r\n },\r\n /** 余额支付流程 结束 */\r\n\r\n },\r\n guards: {\r\n isTronlink: (ctx, ev) => {\r\n return ev.paymentMethod === 'dapp'\r\n },\r\n isTtpay: (context, ev) => {\r\n return ev.paymentMethod === 'ttpay'\r\n },\r\n isBalance: (context, ev) => {\r\n console.log('guards', ev.paymentMethod === 'balance')\r\n return ev.paymentMethod === 'balance'\r\n },\r\n isPc: (context, event) => {\r\n return bp.laptopl\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value\r\n\r\n const isConfirm = s.matches('confirm')\r\n const isInfoConfirm = s.matches('info-confirm')\r\n const isIdle = s.matches('idle')\r\n const isTronlinkOrderResults = s.matches('tronlink.order-results')\r\n const isTtpayOrderResults = s.matches('TTpay.order-results')\r\n const isBalanceResults = s.matches('Balance.order-results')\r\n const isTtpayQueryOrder = s.matches('TTpay.ttpay-query-order')\r\n const isRequest = s.hasTag('request')\r\n const isQueryingTtpay = s.hasTag('querying-ttpay')\r\n const isRefresh = s.event.type === 'OK'\r\n const requesting = s.hasTag('tronlink-request') || s.hasTag('ttpay-request') || s.hasTag('balance-request')\r\n\r\n return {\r\n isConfirm,\r\n isInfoConfirm,\r\n isTtpayQueryOrder,\r\n isIdle,\r\n isTronlinkOrderResults,\r\n isTtpayOrderResults,\r\n isRequest,\r\n isQueryingTtpay,\r\n isRefresh,\r\n isBalanceResults,\r\n requesting,\r\n }\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n queryTronlinkOrder,\r\n rentalInformation,\r\n queryTtpayOrder,\r\n }\r\n },\r\n)\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n {})\r\n \"\r\n />\r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{ formData.rentDuration }}
\r\n\r\n \r\n {{\r\n (formData.rentTimeSecond ?? 0) >= 86400\r\n ? $t(\"pTlUvYtDyBk3J0M6SwH8\")\r\n : $t(\"e5EcgLaO2CnOhsQrV3zNt\")\r\n }}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n {{ $t(\"MdLWMNeCJsOrXnrrrWLgX\") }}\r\n \r\n {{ formatAmount(formData.resourceValue, 0) }}\r\n {{ $t(ResourceType[formData.resourceType].label) }}\r\n ,\r\n {{ formData.rentDuration }}\r\n \r\n {{\r\n formData.rentTimeUnit === \"h\"\r\n ? $t(\"SlBOLvhC-SbNV2HiN7_bi\")\r\n : $t(\"sgq3K4HMvzvjpCGigTbMu\")\r\n }}\r\n \r\n \r\n {{\r\n formData.rentTimeUnit === \"h\"\r\n ? $t(\"GRAxQVNTjLwXYfOpY6FRh\")\r\n : $t(\"8zE4c0R_g37KkcLgrn4u0\")\r\n }}\r\n \r\n \r\n
\r\n
\r\n {{ $t(\"5lDjHyMvhDv34o9QihLy\") }}\r\n \r\n {{ formatAmount(discountInfo.needBurning, 6) }} TRX\r\n {{ formatAmount(discountInfo.amount, 6) }} TRX\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n
\r\n \r\n {{ $t(\"hAns2WaHjEPbTgBxlqXn\") }}\r\n \r\n \r\n {{ $t(\"cT9bJuYfJKoIN0Skkp84T\") }}\r\n \r\n\r\n \r\n
\r\n\r\n \r\n \r\n\r\n\r\n\r\n","import { createInjectionState } from '@vueuse/core'\r\nimport { tron, tronErrors } from '~/utils/tron-v2'\r\n\r\nexport const [useMultiSignProvider, useMultiSign] = createInjectionState(() => {\r\n const info = reactive({ isOwnerPermission: false, permissionId: 0 })\r\n\r\n const addressMuktiSign = ref('')\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n addressMuktiSign,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n /**\r\n * 验证多签是否有权限\r\n */\r\n const onValidatePower = (isMultiSign: boolean | Ref, id: number) => {\r\n if (!toValue(isMultiSign))\r\n return\r\n\r\n info.isOwnerPermission = false\r\n info.permissionId = 0\r\n const {\r\n owner_permission: ownerPermission,\r\n active_permission: activePermission,\r\n } = accountMultiSign\r\n\r\n if (!ownerPermission || !activePermission)\r\n info.isOwnerPermission = false\r\n\r\n ownerPermission?.keys.forEach((i:any) => {\r\n if (i.address === tron.tronWeb?.address.toHex(accountCurrent.address))\r\n info.isOwnerPermission = true\r\n })\r\n\r\n if (!info.isOwnerPermission) {\r\n activePermission?.forEach((i:any) => {\r\n if (\r\n i.keys.some(\r\n (obj: { address: string }) =>\r\n obj.address\r\n === tron.tronWeb?.address.toHex(accountCurrent.address),\r\n )\r\n ) {\r\n if (tron.getPermission(i.operations, id))\r\n info.permissionId = i.id\r\n }\r\n })\r\n\r\n if (!info.permissionId)\r\n throw tronErrors.MULTISIGN_ERROR()\r\n }\r\n }\r\n\r\n const setAddress = (address: string) => {\r\n if (!tron.isAddress(address))\r\n return\r\n addressMuktiSign.value = address\r\n }\r\n\r\n return {\r\n info,\r\n onValidatePower,\r\n setAddress,\r\n }\r\n})\r\n","import { createInjectionState } from '@vueuse/core'\r\n\r\nexport const [useSellProvider, useSell] = createInjectionState((is: Ref, address: Ref) => {\r\n const isMultiSign = ref(is)\r\n const multiSingAddress = ref(address)\r\n const muktiSignResources = reactive({\r\n energy: 0,\r\n bandwidth: 0,\r\n balance: 0,\r\n })\r\n\r\n const { account: accountCurrent } = tronComp.useAccountCurrent()\r\n const { account: accountMultiSign } = tronComp.useAccount(\r\n multiSingAddress,\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const setMultiSingAddress = (address: string) => {\r\n multiSingAddress.value = address\r\n }\r\n\r\n const remaineResource = computed(() => {\r\n const info = {\r\n ENERGY: 0,\r\n BANDWIDTH: 0,\r\n };\r\n\r\n // 只判断当前钱包有没有钱会导致,当前钱包没钱而多签钱包有钱而那不到\r\n const { delegable } = accountCurrent;\r\n const { delegable: delegableMulti } = accountMultiSign;\r\n\r\n if (!delegable && !delegableMulti)\r\n return info;\r\n\r\n const energyUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.energyUnitPrice : accountCurrent.resource.energyUnitPrice;\r\n const netUnitPrice = toValue(isMultiSign) ? accountMultiSign.resource.netUnitPrice : accountCurrent.resource.netUnitPrice;\r\n\r\n const canDelegatedBalanceForEnergy = toValue(isMultiSign)\r\n ? toRef(muktiSignResources, 'energy')\r\n : toRef(delegable, 'energy');\r\n\r\n info.ENERGY = Math.floor(\r\n (canDelegatedBalanceForEnergy.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * energyUnitPrice;\r\n\r\n const canDelegatedBalanceForBandwidth = toValue(isMultiSign)\r\n ? toRef(muktiSignResources.bandwidth)\r\n : toRef(delegable, 'bandwidth');\r\n\r\n info.BANDWIDTH = Math.floor(\r\n (canDelegatedBalanceForBandwidth.value ?? 0)\r\n * 10 ** -6,\r\n )\r\n * netUnitPrice;\r\n\r\n info.ENERGY = Math.floor(info.ENERGY ?? 0);\r\n info.BANDWIDTH = Math.floor(info.BANDWIDTH ?? 0);\r\n\r\n return info;\r\n });\r\n\r\n const balance = computed(() => {\r\n return toValue(isMultiSign) ? muktiSignResources.balance : accountCurrent.balanceTrx\r\n })\r\n\r\n watchEffect(() => {\r\n if (accountMultiSign) {\r\n muktiSignResources.energy = accountMultiSign?.delegable?.energy ?? 0\r\n muktiSignResources.bandwidth = accountMultiSign?.delegable?.bandwidth ?? 0\r\n muktiSignResources.balance = accountMultiSign.balanceTrx ?? 0\r\n }\r\n })\r\n\r\n return {\r\n setMultiSingAddress,\r\n remaineResource,\r\n balance,\r\n }\r\n})\r\n","import type { IProps } from '../FreezePopup.vue'\r\nimport type { TronRes } from '~/utils/tron-v2'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useResource } from '~/composables/tron'\r\nimport { useMultiSign } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useSellProvider } from '~/pages-components/c2c/hooks/useSell'\r\nimport { formatTronErrorMessage } from '~/utils/tron-v2/tronError'\r\n\r\nconst { resourceType: ResourceType } = useResource()\r\nexport function useFreeze(props: IProps) {\r\n const { orderDetail } = props.detail\r\n const isMultiSign = computed(() => !!props?.detail.multiAddress)\r\n const loading = useBoolean()\r\n const freezeResult = ref(false)\r\n const modalContent = ref('')\r\n const { onValidatePower, info } = useMultiSign()!\r\n const {\r\n remaineResource,\r\n balance,\r\n } = useSellProvider(isMultiSign, toRef(props.detail, 'multiAddress'))\r\n\r\n const { account: accountCurrent, refetch } = tronComp.useAccountCurrent()\r\n const { account: accountMulti, refetch: multiRefetch } = tronComp.useAccount(\r\n toRef(props.detail, 'multiAddress'),\r\n toRef(accountCurrent, 'chainId'),\r\n )\r\n\r\n const title = computed(() => {\r\n const map: { [kye: string]: string } = {\r\n '1_0': $t('RRvYluqPaPRe7eGmbayQY'),\r\n '1_1': $t('jEGkLIlIEyQ-oCW7UVmAB'),\r\n '0_0': $t('GBYT0K-9f4v2Bl8fZvbsB'),\r\n '0_1': $t('n5OmlOh-IeEaUjNkslgT2'),\r\n }\r\n const key = `${toValue(isMultiSign) ? 1 : 0}_${props?.detail.mode}`\r\n return map[key]\r\n })\r\n\r\n const maxTRX = computed(() => {\r\n const trx = ((balance.value ?? 0) / 1000000) - 1\r\n return trx > 0 ? trx : 0\r\n })\r\n\r\n const setMaxTrx = () => {\r\n if (!maxTRX.value)\r\n return\r\n formData.amount = Math.floor(maxTRX.value)\r\n onChange(formData.amount)\r\n }\r\n\r\n const resourceType = computed(() =>\r\n orderDetail?.resource_type ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const freezeInfo = reactive({\r\n availableResource: 0,\r\n needResource: props.detail.sellAmount,\r\n })\r\n\r\n const formData = reactive({\r\n amount: undefined,\r\n resource: 'ENERGY' as 'BANDWIDTH' | 'ENERGY',\r\n })\r\n\r\n const needExchange = computed(() => {\r\n const remaine = toValue(remaineResource)[resourceType.value]\r\n const result\r\n = freezeInfo.needResource - remaine - freezeInfo.availableResource\r\n\r\n return result > 0 ? result : 0\r\n })\r\n\r\n const onChange = (e: any) => {\r\n const { resource } = accountCurrent\r\n const cost\r\n = resourceType.value === 'ENERGY'\r\n ? resource?.energyUnitPrice\r\n : resource?.netUnitPrice\r\n freezeInfo.availableResource = Math.floor(e * cost)\r\n }\r\n\r\n function validator() {\r\n return new Promise((resolve, reject) => {\r\n if (!formData.amount) {\r\n aMessage.info($t('APfc3MeEIDjqXLApadbAz'))\r\n reject()\r\n }\r\n\r\n if ((formData.amount ?? 0) > maxTRX.value) {\r\n aMessage.error(\r\n `${$t('38ytZ0y25yoOxKMOvq1o8')} ${formatAmount(maxTRX.value, 0)} TRX ${$t('OSICXBRWyZAISpFNxEdll')}`,\r\n )\r\n reject()\r\n }\r\n\r\n resolve(true)\r\n })\r\n }\r\n\r\n const onSubmit = async () => {\r\n try {\r\n await validator()\r\n\r\n onValidatePower(isMultiSign, 54)\r\n\r\n loading.setTrue()\r\n\r\n let params: any = {\r\n amount: (formData.amount ?? 0) * 10 ** 6,\r\n resourceType: toValue(resourceType),\r\n address: accountCurrent.address,\r\n }\r\n let res = null\r\n if (toValue(isMultiSign)) {\r\n params = {\r\n ...params,\r\n address: accountMulti.address,\r\n isOwnerPermission: info.isOwnerPermission,\r\n permissionId: info.permissionId,\r\n }\r\n res = await tron.freezeBalanceV2ByMultiSign(params)\r\n }\r\n else {\r\n res = await tron.freezeBalanceV2(params)\r\n }\r\n\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 0 as TronRes)\r\n tron.fetchCanDelegatedMaxSize(accountCurrent.address, 1 as TronRes)\r\n\r\n if (res) {\r\n await refetch()\r\n await multiRefetch()\r\n const typeTxt = params.resourceType === 'ENERGY' ? $t('Mqe_hlD_yGPsAMB9oaO1D') : $t('IgN1EoVRFTDyCVLbFG-oT')\r\n modalContent.value = `${$t('JVJZwWrDZaWCpXUvy7eYn', { amount: formatAmount(params.amount * 10 ** -6, 0) })}\r\n ${$t('NKsQg2au3bN_T6s8bA0tY', { typeTxt })}\r\n ${formatAmount(freezeInfo.availableResource, 0)}`\r\n freezeResult.value = true\r\n }\r\n else {\r\n aMessage.error($t('vXcbCo5Z9Xx0PhQvMopAR'))\r\n }\r\n loading.setFalse()\r\n }\r\n catch (e) {\r\n loading.setFalse()\r\n if (typeof e === 'string') {\r\n if (e.includes('Confirmation declined by user'))\r\n aMessage.error($t('Hk5eWgjl88eEeU0VPuaRz'))\r\n\r\n else if (e.includes('but it is not contained of permission'))\r\n aMessage.error($t('XaVJJSbJsBZJUCo6UjiOh'))\r\n\r\n else if (e.includes('frozenBalance must be more than 1TRX'))\r\n aMessage.error($t('xIc755xgV4BzHc55RSuf'))\r\n\r\n else if (e.includes('TRANSACTION_EXPIRATION_ERROR'))\r\n aMessage.error($t('iEe52eGjGSr0BiehkAtdb'))\r\n else\r\n aMessage.error(e)\r\n }\r\n\r\n if (e instanceof Error) {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n }\r\n }\r\n }\r\n\r\n return {\r\n isMultiSign,\r\n title,\r\n maxTRX,\r\n setMaxTrx,\r\n freezeInfo,\r\n formData,\r\n needExchange,\r\n onChange,\r\n onSubmit,\r\n resourceType,\r\n loading,\r\n remaineResource,\r\n freezeResult,\r\n modalContent,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { createMachine } from 'xstate'\r\n\r\ninterface ImultiSignIfo {\r\n isOwnerPermission: boolean\r\n permissionId: number\r\n}\r\n\r\ninterface IContext {\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n orderPreSubmitCode: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: Ref | boolean\r\n resourceType: string\r\n lockPeriod: number\r\n}\r\n\r\nexport const machine = createMachine({\r\n id: 'C2cSellMachine',\r\n initial: 'idle',\r\n states: {\r\n idle: {\r\n entry: {\r\n type: 'init',\r\n },\r\n on: {\r\n OPEN: {\r\n target: 'confirm',\r\n },\r\n },\r\n },\r\n confirm: {\r\n tags: 'confirm',\r\n entry: {\r\n type: 'resetting',\r\n },\r\n on: {\r\n CLOSE: {\r\n target: 'idle',\r\n },\r\n SUBMIT: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n DOUBLECHEC: {\r\n target: 'FetchOrderPredelegete',\r\n actions: {\r\n type: 'setInfo',\r\n },\r\n },\r\n },\r\n },\r\n FetchOrderPredelegete: {\r\n invoke: {\r\n src: 'fetchOrderPredelegete',\r\n id: 'fetchOrderPredelegete',\r\n onDone: [\r\n {\r\n target: 'fetchDelegateResourceSign',\r\n cond: 'hasOrderRes',\r\n },\r\n {\r\n target: 'fetchdelegateResourceServerBroadcast',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n actions: [\r\n {\r\n type: 'preRequestError',\r\n },\r\n {\r\n type: 'showErrorMessage',\r\n },\r\n ],\r\n internal: false,\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchDelegateResourceSign: {\r\n invoke: {\r\n src: 'fetchDelegateResourceSign',\r\n id: 'fetchDelegateResourceSign',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n fetchdelegateResourceServerBroadcast: {\r\n invoke: {\r\n src: 'fetchdelegateResourceServerBroadcast',\r\n id: 'fetchdelegateResourceServerBroadcast',\r\n onDone: [\r\n {\r\n target: 'orderDelegateC2C',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n actions: {\r\n type: 'showErrorMessage',\r\n },\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n conflict: {\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n orderDelegateC2C: {\r\n invoke: {\r\n src: 'orderDelegateC2C',\r\n id: 'orderDelegateC2C',\r\n onDone: [\r\n {\r\n target: 'orderQuery',\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'confirm',\r\n cond: 'isConflict',\r\n },\r\n {\r\n target: 'conflict',\r\n },\r\n ],\r\n },\r\n tags: 'request',\r\n },\r\n orderQuery: {\r\n invoke: {\r\n src: 'orderQuery',\r\n id: 'orderQuery',\r\n onDone: [\r\n {\r\n target: 'onShowSellSuccessModal',\r\n actions: {\r\n type: 'orderQuerySuccess',\r\n },\r\n },\r\n ],\r\n onError: [\r\n {\r\n target: 'onShowSellFailModal',\r\n },\r\n ],\r\n },\r\n tags: ['orderQuerying', 'request'],\r\n },\r\n onShowSellSuccessModal: {\r\n tags: ['sellSuccess', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n onShowSellFailModal: {\r\n tags: ['sellFail', 'orderQueryResult'],\r\n on: {\r\n OK: {\r\n target: 'idle',\r\n },\r\n },\r\n },\r\n },\r\n schema: {\r\n events: {} as\r\n | { type: 'OK' }\r\n | { type: 'OPEN' }\r\n | { type: 'CLOSE' }\r\n | { type: 'DOUBLECHEC', skipDuplicateCheck: number }\r\n | {\r\n type: 'SUBMIT'\r\n orderDetail: Api.GetDataItem\r\n ownerAddress: string\r\n resourceValue: number\r\n settleAddress: string\r\n frozenBalance: number\r\n skipDuplicateCheck: number\r\n multiSignIfo: ImultiSignIfo\r\n isMultiSign: boolean | Ref\r\n resourceType: string\r\n },\r\n },\r\n predictableActionArguments: true,\r\n preserveActionOrder: true,\r\n context: ({} as unknown) as IContext,\r\n tsTypes: {} as import('./c2cSellMachine.typegen').Typegen0,\r\n})\r\n","import { createInjectionState, reactiveComputed } from '@vueuse/core'\r\nimport { actions } from 'xstate'\r\nimport { useMachine } from '@xstate/vue'\r\nimport { machine as c2cSellMachine } from './c2cSellMachine'\r\nimport { TronRes, tron } from '~/utils/tron-v2'\r\n\r\nexport const [\r\n useC2cSellMachineProvide,\r\n useC2cSellMachine,\r\n] = createInjectionState(() => {\r\n const machine = useMachine(c2cSellMachine, {\r\n actions: {\r\n init: actions.assign((ctx, ev) => {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }),\r\n resetting: actions.assign((ctx, ev) => {\r\n if (ev.type === 'OPEN') {\r\n return {\r\n orderPreSubmitCode: 0,\r\n }\r\n }\r\n return {}\r\n }),\r\n\r\n showErrorMessage: (context, event: any) => {\r\n const { data } = event\r\n if (event.type === 'error.platform.fetchOrderPredelegete') {\r\n if (event.data.code === 12008 || event.data.code === 12001 || event.data.code === 12006)\r\n return;\r\n else\r\n aMessage.error(data.msg);\r\n }\r\n },\r\n\r\n preRequestError: actions.assign((context, event) => {\r\n return { orderPreSubmitCode: event?.data.code }\r\n }),\r\n\r\n orderQuerySuccess: actions.assign((ctx, ev) => {\r\n return {\r\n orderQueryRes: ev.data,\r\n }\r\n }),\r\n\r\n setInfo: actions.assign((ctx, ev) => {\r\n if (ev.type === 'SUBMIT') {\r\n let lockPeriod = 0\r\n if (ev.orderDetail.rent_time_unit === 'd')\r\n lockPeriod = (ev.orderDetail.rent_duration * 86400) / 3\r\n else if (ev.orderDetail.rent_time_unit === 'h')\r\n lockPeriod = (ev.orderDetail.rent_duration * 3600) / 3\r\n\r\n return {\r\n orderDetail: ev.orderDetail,\r\n ownerAddress: ev.ownerAddress,\r\n resourceValue: ev.resourceValue,\r\n settleAddress: ev.settleAddress,\r\n frozenBalance: ev.frozenBalance,\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n orderPreSubmitCode: 0,\r\n multiSignIfo: ev.multiSignIfo,\r\n isMultiSign: ev.isMultiSign,\r\n lockPeriod,\r\n resourceType: ev.resourceType,\r\n }\r\n }\r\n\r\n if (ev.type === 'DOUBLECHEC') {\r\n return {\r\n skipDuplicateCheck: ev.skipDuplicateCheck,\r\n }\r\n }\r\n\r\n return {}\r\n }),\r\n\r\n },\r\n services: {\r\n // 预下单\r\n fetchOrderPredelegete: async (ctx, ev) => {\r\n const res = await apis.orderPreDelegateC2C(\r\n {\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n owner_address: ctx.ownerAddress,\r\n resource_type: ctx.orderDetail.resource_type,\r\n resource_value: ctx.resourceValue,\r\n frozen_balance: ctx.frozenBalance,\r\n permission_id: ctx.multiSignIfo.permissionId,\r\n skip_duplicate_check: ctx.skipDuplicateCheck,\r\n },\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n return res\r\n },\r\n\r\n // 拉起签名\r\n fetchDelegateResourceSign: async (ctx, ev: any) => {\r\n const options = ctx.orderDetail.resource_type === TronRes.BANDWIDTH ? { estimatedBandwidth: String(ctx.resourceValue) } : { estimatedEnergy: String(ctx.resourceValue) }\r\n try {\r\n const sign = await tron.getDelegateResourceSign({\r\n c2CPreDelegateResp: { ...ev.data, __options: options },\r\n isMultiSign: toValue(ctx.isMultiSign),\r\n permissionId: ctx.multiSignIfo.permissionId,\r\n isOwnerPermission: ctx.multiSignIfo.isOwnerPermission,\r\n })\r\n sleep(100);\r\n return sign\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n fetchdelegateResourceServerBroadcast: async (ctx, ev) => {\r\n try {\r\n const params = {\r\n frozenBalance: ctx.frozenBalance * 10 ** 6,\r\n ownerAddress: ctx.ownerAddress,\r\n receiveAddress: ctx.orderDetail.receive_address,\r\n resourceType: ctx.resourceType,\r\n isMultiSign: ctx.isMultiSign,\r\n multiSignIfo: ctx.multiSignIfo,\r\n isLock: ctx.orderDetail.is_lock === 1,\r\n lockPeriod: ctx.orderDetail?.lock_period\r\n ? ctx.orderDetail?.lock_period\r\n : ctx.lockPeriod,\r\n }\r\n return await tron.delegateResourceServerBroadcast(params)\r\n }\r\n catch (error) {\r\n if (error instanceof Error) {\r\n const msg = formatTronErrorMessage(error);\r\n aMessage.error(msg);\r\n }\r\n throw new Error('');\r\n }\r\n },\r\n\r\n orderDelegateC2C: async (ctx, ev: any) => {\r\n return await apis.orderDelegateC2C({\r\n requestBody: {\r\n order_no: ctx.orderDetail.order_no,\r\n settle_address: ctx.settleAddress,\r\n resource_value: ctx.resourceValue,\r\n signed_txn: ev.data,\r\n resource_type: ctx.orderDetail.resource_type,\r\n },\r\n }, { errorMessageMode: 'none' })\r\n },\r\n\r\n orderQuery: async (ctx, ev) => {\r\n // 轮询订单\r\n let second = 0\r\n do {\r\n try {\r\n await sleep(2000)\r\n const res = await apis.orderQuery(\r\n {\r\n order_no: ctx.orderDetail.order_no,\r\n },\r\n { errorMessageMode: 'none' },\r\n )\r\n if (res)\r\n return res\r\n second++\r\n }\r\n catch (error: any) {\r\n if (ApiError.is(error)) {\r\n if (error.code === 12002)\r\n throw new Error(error.message)\r\n }\r\n else {\r\n throw new Error(error)\r\n }\r\n }\r\n } while (second <= 8)\r\n throw new Error('')\r\n },\r\n },\r\n guards: {\r\n hasOrderRes: (context, event: any) => {\r\n return !!event.data;\r\n },\r\n\r\n isConflict: (context, event: any) => {\r\n if (event.data.code === 12006)\r\n return false;\r\n\r\n return true;\r\n },\r\n },\r\n delays: {},\r\n })\r\n\r\n const states = reactiveComputed(() => {\r\n const s = machine.state.value;\r\n const isRequest = s.hasTag('request');\r\n const isSameAddress = s.context.orderPreSubmitCode === 12001;\r\n const isConfirm = s.hasTag('confirm') || s.hasTag('request');\r\n const isRefresh = s.matches('onShowSellSuccessModal');\r\n const isConflict = s.matches('conflict');\r\n const showSellRefPopup = s.hasTag('orderQueryResult');\r\n\r\n return {\r\n isRequest,\r\n isConfirm,\r\n isSameAddress,\r\n showSellRefPopup,\r\n isRefresh,\r\n isConflict,\r\n };\r\n });\r\n\r\n watch(machine.state, (state) => {\r\n })\r\n\r\n return {\r\n machine,\r\n states,\r\n }\r\n})\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import type { IProps } from '../SellPopup.vue'\r\nimport { EFreezeType } from '../../freeze/FreezePopup.vue'\r\nimport { tron } from '~/utils/tron-v2'\r\nimport { useMultiSignProvider } from '~/pages-components/c2c/hooks/useMultiSign'\r\nimport { useC2cSellMachine } from '~/pages-components/c2c/components/sell/machine/useC2cSellMachine'\r\nimport { SentryUtils } from '~/utils/sentry'\r\nimport { discountResult } from '~/composables/app/getC2cAmountCalculator'\r\n\r\nexport function useSell(props: IProps) {\r\n const sellScope = new SentryUtils('c2c')\r\n const { account, refetch } = tronComp.useAccountCurrent()\r\n\r\n const multiAddress = ref(props.muitiSingAddress)\r\n const isMultiSign = useBoolean(false)\r\n const mode = ref(EFreezeType.Short)\r\n const visibleFreeze = useBoolean(false)\r\n const spinning = useBoolean(false)\r\n const { orderDetail } = props\r\n const { config } = useAppState()\r\n const formData = reactive({\r\n settleAddress: account?.address,\r\n sellAmount: orderDetail.min_amount,\r\n })\r\n\r\n const {\r\n onValidatePower,\r\n info: multiSignIfo,\r\n setAddress,\r\n } = useMultiSignProvider()\r\n const { machine, states } = useC2cSellMachine()!\r\n\r\n const sellForm = useAntFormValidator({\r\n payAddress: {\r\n value: multiAddress,\r\n validator(rule, value) {\r\n if (isMultiSign.is && !tron.isAddress(value))\r\n return Promise.reject($t('sHmcz_3thcjWOabRqDhT'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n settleAddress: {\r\n value: toRef(formData, 'settleAddress'),\r\n validator(rule, value) {\r\n if (!tron.isAddress(value))\r\n return Promise.reject($t('e8ik9k7EhmgdQfl0ZOlu'))\r\n\r\n return Promise.resolve()\r\n },\r\n },\r\n sellAmount: {\r\n value: toRef(formData, 'sellAmount'),\r\n validator(rule, value) {\r\n if (!value)\r\n return Promise.reject($t('n305EyjKQuab3Q0Ym5Msu'))\r\n\r\n for (const [s, e] of toValue(ranges)) {\r\n if (value < s && value > e) {\r\n return Promise.reject(\r\n $t('hB-Pdl_5hJSlPkso_yNMs') + formatAmount(energyMin.value, 0),\r\n )\r\n }\r\n }\r\n return Promise.resolve()\r\n },\r\n },\r\n })\r\n const onSubmit = async () => {\r\n try {\r\n const formState = (await sellForm.$form.value\r\n ?.validate()\r\n .catch(() => {})) as typeof sellForm.formState\r\n\r\n if (formState) {\r\n setAddress(toValue(multiAddress))\r\n\r\n onValidatePower(isMultiSign.is, 57)\r\n await validator()\r\n console.log('formState.sellAmount', formState.sellAmount)\r\n machine.send({\r\n type: 'SUBMIT',\r\n orderDetail,\r\n ownerAddress: getOwnerAddress(),\r\n resourceValue: formState.sellAmount,\r\n settleAddress: formState.settleAddress,\r\n frozenBalance: sellInfo.value.freezeTRX,\r\n skipDuplicateCheck: 0,\r\n multiSignIfo,\r\n isMultiSign: isMultiSign.is,\r\n resourceType: toValue(resourceType),\r\n })\r\n }\r\n }\r\n catch (e) {\r\n if (typeof e === 'object') {\r\n const msg = formatTronErrorMessage(e)\r\n aMessage.error(msg)\r\n return\r\n }\r\n\r\n if (e instanceof Error) {\r\n sellScope.setTagPath('c2c', ['sell'])\r\n sellScope.captureException(e)\r\n aMessage.error(e.message)\r\n }\r\n }\r\n }\r\n\r\n const getOwnerAddress = (): string => {\r\n return isMultiSign.is ? multiAddress.value : account.address\r\n }\r\n\r\n const validator = () => {\r\n return new Promise((resolve, reject) => {\r\n if (orderDetail.receive_address == getOwnerAddress()) {\r\n aMessage.error($t('DogFR2AdsY9AJ9A8dDB8y'))\r\n reject()\r\n }\r\n if (!sellInfo.value.freezeTRX && !formData.sellAmount) {\r\n aMessage.error($t('pVxWPz1WarabRXO2VSUyt'))\r\n reject()\r\n }\r\n resolve('')\r\n })\r\n }\r\n\r\n // 打开质押弹窗\r\n const openFreezeModal = (e: EFreezeType) => {\r\n mode.value = e\r\n setAddress(toValue(multiAddress))\r\n visibleFreeze.setTrue()\r\n }\r\n const closeFreeze = () => visibleFreeze.setFalse()\r\n\r\n const freezeModalDetail = computed(() => {\r\n const info = {\r\n orderDetail,\r\n sellAmount: formData.sellAmount ?? orderDetail.min_amount,\r\n mode: EFreezeType.Short,\r\n multiAddress: isMultiSign.is ? multiAddress.value : '',\r\n }\r\n info.mode = mode.value\r\n\r\n return info\r\n })\r\n\r\n const resourceType = computed(() =>\r\n orderDetail.resource_type === 1 ? 'ENERGY' : 'BANDWIDTH',\r\n )\r\n\r\n const energyMin = computed(() =>\r\n Math.min(\r\n config.value?.order.energy_min_value ?? 10000,\r\n config.value?.order.energy_c2c_min_value ?? 10000,\r\n ),\r\n )\r\n\r\n const ranges = computed(() => {\r\n return [\r\n [0, orderDetail.min_amount - toValue(energyMin)],\r\n [orderDetail.max_amount ?? 10000, orderDetail.max_amount ?? 10000],\r\n ]\r\n })\r\n\r\n const sellInfo = computed(() => {\r\n const { resource } = account\r\n const info = {\r\n freezeTRX: 0,\r\n amount: 0,\r\n }\r\n if (!resource)\r\n return info\r\n // 计算收入\r\n const params = {\r\n rentTimeUnit: orderDetail.rent_time_unit,\r\n rentDuration: orderDetail.rent_duration,\r\n resourceValue: formData.sellAmount,\r\n resourceType: orderDetail.resource_type,\r\n priceInSun: orderDetail.price_in_sun,\r\n\r\n }\r\n const { amount } = discountResult(params)\r\n info.amount = amount * 0.75\r\n\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.energyUnitPrice ?? 0),\r\n )\r\n if (orderDetail?.resource_type === 0) {\r\n info.freezeTRX = Math.ceil(\r\n formData.sellAmount / (resource.netUnitPrice ?? 0),\r\n ) // 按全网质押单价计算\r\n }\r\n return info\r\n })\r\n\r\n const showSellRang = computed(() => {\r\n return (\r\n (orderDetail.resource_split_value ?? 0) < (orderDetail.max_amount ?? 0)\r\n && orderDetail.max_amount > orderDetail.min_amount\r\n )\r\n })\r\n\r\n return {\r\n onSubmit,\r\n openFreezeModal,\r\n freezeModalDetail,\r\n resourceType,\r\n formData,\r\n ranges,\r\n energyMin,\r\n sellInfo,\r\n closeFreeze,\r\n multiAddress,\r\n accountAddress: account.address,\r\n visibleFreeze,\r\n isMultiSign,\r\n spinning,\r\n sellForm,\r\n showSellRang,\r\n }\r\n}\r\n","export default \"__VITE_ASSET__fb1b5870__\"","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","import { imtoken } from '~/utils/imtoken'\r\n\r\n// 改成 响应式的\r\nexport function useIsImtoken() {\r\n // 没有连接并且是imtoken\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n imtoken.showAccountSwitch()\r\n}\r\n\r\n// 判断是否是imtoken的环境Promise todo\r\nexport function hasImtoken() {\r\n new Promise((resolve, reject) => {\r\n if (imtoken.isImToken() && !(window as any).tronWeb)\r\n resolve()\r\n else\r\n reject()\r\n })\r\n}\r\n"],"names":["useResourceTypeText","type","computed","value","TronRes","BANDWIDTH","$t","_imports_0$1","URL","module","meta","url","href","_imports_1","_imports_2","locale","useSwichLocale","states","onReceive","onRule","receiveList","activityConfig","enabled","isLoading","useActivity","slidesToShow","length","_imports_0","sellImg","config","useAppState","tradRef","ref","useAnimation","animationData","discountResult","params","reactiveComputed","info","fee","bignumber","amount","save","discount","needBurning","priceInSun","resourceValue","day","rentTimeUnit","rentDuration","resourceType","multipliedBy","dividedBy","_params$resourceValue","_params$resourceValue2","payAmount","decimalPlaces","BigNumber","ROUND_DOWN","calcAmount","minus","isNegative","discountFormula","useBuyProvider","useBuy","createInjectionState","shortcutTime","useRentalTime","account","isConnected","tronComp","useAccountCurrent","formData","reactive","ENERGY","receiveAddress","rentTimeSecond","times","waitSecond","fromDataRefs","toRefs","unitPriceRange","_config$value","_config$value2","range","c2cMinValue","c2cMaxValue","order","unref","energy_c2c_min_value","bandwidth_c2c_min_value","energy_c2c_max_value","bandwidth_c2c_max_value","resourcePriceRange","priceRange","_config$value$price_c","_config$value3","_config$value4","c2cMinSun","price_c2c","sun","c2cMaxSun","source","sun_1d","sun_1h","sun_6h","sun_3h","max_sun","resourceUnitPrice","defaultPriceInSun","_config$value5","toLowerCase","default_sun","default_sun_1d","default_sun_1h","default_sun_6h","default_sun_3h","resourceDefaultPrice","buyForm","useAntFormValidator","validator","rule","isUnaddressDom","imtoken","isImToken","tron","isAddress","Promise","resolve","reject","isPenNumber","otherMode","tronWeb","shortcut","_config$value6","_config$value7","energy_c2c_quick_options","bandwidth_quick_options","isOpenTTPay","_config$value8","base","enable_ttpay","window","payType","EPaymentMethod","DAPP","paymentMethod","TTPAY","BALANCE","trxMoney","useUserInfo","buttonGroup","_unref5","_unref6","walletConnection","toValue","walletConnectionToPay","download","pay","toDecimalPlaces","balanceTip","isRentDays","paymentAddress","_config$value9","wallet","payment_c2c_address","useEventBus","on","address","watchEffect","watch","immediate","_buyForm$$form$value2","$form","clearValidate","changeEnergyUnit","e","chooseRentDuration","item","_item","_buyForm$$form$value","data","find","i","dur","unit","onSubmit","async","onValidate","togglePayType","code","machine","createMachine","id","initial","idle","always","target","cond","OPEN","confirm","CLOSE","BUY","actions","PAY","internal","tronlink","entry","invoke","src","onDone","onError","tags","END","OK","TTpay","STOP","KEEP","Balance","schema","events","predictableActionArguments","preserveActionOrder","context","tsTypes","useC2cBuyMachineProvide","useC2cBuyMachine","queryTronlinkOrder","queryTtpayOrder","rentalInformation","bp","useAppBreakpoints","useMachine","c2cBuylMachine","requestError","ctx","ev","Error","message","includes","aMessage","error","extractContentInBrackets","toPayment","ltLaptop","location","paymentUrl","open","jumpCompatible","payment_url","encodeURIComponent","setPayment","actions.assign","_ev$data","setInfo","discountInfo","toAddress","services","precreateTronlinkOrder","fromAddress","res","payTRXServerBroadcast","msg","formatTronErrorMessage","createTronlinkOrder","key","snakeCase","signed_txn","resource_value","Number","apis","orderCreateC2C","requestBody","errorMessageMode","second","sleep","orderQuery","order_no","trx_address","pay_address","status","callback","createTtpayOrder","pay_amount","ttpayOrderC2C","out_trade_no","startTime","Date","now","resume","pause","useTimeoutPoll","resultType","checkCode","_res$data","createBalanceOrder","apiOrderCreateOrderByBalance","order_type","guards","isTronlink","isTtpay","isBalance","console","log","isPc","event","laptopl","delays","s","state","isConfirm","matches","isInfoConfirm","isIdle","isTronlinkOrderResults","isTtpayOrderResults","isBalanceResults","isTtpayQueryOrder","isRequest","hasTag","isQueryingTtpay","isRefresh","requesting","_hoisted_2","_createElementVNode","class","_hoisted_3","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1","_toDisplayString","_info$value","_unref7","_unref8","refetch","userInfoQuerier","bus","dappTitle","title","subtitle","ttpayTitle","_queryTtpayOrder$valu","_queryTtpayOrder$valu2","_queryTtpayOrder$valu3","balancePaymentCallback","send","dappPaymentCallback","TRANSFER","props","__props","emits","__emit","max","min","useBoolean","cursorState","count","inc","dec","initiaValue","inc2","dec2","useNumber","useVModel","isAutoCancel","checking","useHideFormHelp","ResourceType","useResource","isNaN","isLessThanOrEqualTo","_window","_buyForm$$form$value3","showAccountSwitch","formState","validate","catch","setTrue","arr","name","useMultiSignProvider","useMultiSign","isOwnerPermission","permissionId","addressMuktiSign","accountCurrent","accountMultiSign","useAccount","toRef","onValidatePower","isMultiSign","owner_permission","ownerPermission","active_permission","activePermission","keys","forEach","_tron$tronWeb","toHex","some","obj","_tron$tronWeb2","getPermission","operations","tronErrors","MULTISIGN_ERROR","setAddress","useSellProvider","useSell","is","multiSingAddress","muktiSignResources","energy","bandwidth","balance","remaineResource","_canDelegatedBalanceF","_canDelegatedBalanceF2","_info$ENERGY","_info$BANDWIDTH","delegable","delegableMulti","energyUnitPrice","resource","netUnitPrice","canDelegatedBalanceForEnergy","Math","floor","canDelegatedBalanceForBandwidth","balanceTrx","_accountMultiSign$del","_accountMultiSign$del2","_accountMultiSign$del3","_accountMultiSign$del4","_accountMultiSign$bal","setMultiSingAddress","useFreeze","orderDetail","detail","multiAddress","loading","freezeResult","modalContent","accountMulti","multiRefetch","mode","maxTRX","_balance$value","trx","resource_type","freezeInfo","availableResource","needResource","sellAmount","needExchange","remaine","result","onChange","cost","setMaxTrx","_formData$amount2","_formData$amount","formatAmount","freezeBalanceV2ByMultiSign","freezeBalanceV2","fetchCanDelegatedMaxSize","typeTxt","setFalse","EFreezeType","EFreezeType2","resTypeText","SUBMIT","DOUBLECHEC","FetchOrderPredelegete","fetchDelegateResourceSign","fetchdelegateResourceServerBroadcast","conflict","orderDelegateC2C","onShowSellSuccessModal","onShowSellFailModal","useC2cSellMachineProvide","useC2cSellMachine","c2cSellMachine","init","orderPreSubmitCode","resetting","showErrorMessage","preRequestError","orderQuerySuccess","orderQueryRes","lockPeriod","rent_time_unit","rent_duration","ownerAddress","settleAddress","frozenBalance","skipDuplicateCheck","multiSignIfo","fetchOrderPredelegete","orderPreDelegateC2C","owner_address","frozen_balance","permission_id","skip_duplicate_check","options","estimatedBandwidth","String","estimatedEnergy","sign","getDelegateResourceSign","c2CPreDelegateResp","__options","_ctx$orderDetail","_ctx$orderDetail2","receive_address","isLock","is_lock","lock_period","delegateResourceServerBroadcast","settle_address","ApiError","hasOrderRes","isConflict","isSameAddress","showSellRefPopup","exports","openFreezeModal","freezeModalDetail","ranges","energyMin","sellInfo","closeFreeze","showSellRang","accountAddress","visibleFreeze","spinning","sellForm","sellScope","SentryUtils","muitiSingAddress","Short","min_amount","payAddress","getOwnerAddress","freezeTRX","_formData$sellAmount","_config$value$order$e","_config$value10","_config$value$order$e2","_config$value11","energy_min_value","_orderDetail$max_amou","_orderDetail$max_amou2","max_amount","_resource$energyUnitP","price_in_sun","_resource$netUnitPric","ceil","_orderDetail$resource","_orderDetail$max_amou3","resource_split_value","_sellForm$$form$value","setTagPath","captureException","onPayAddressChange","setTimeout","service","onTransition","emptyImg","SellPopupGather","defineAsyncComponent","import","dataList","pagination","sort","total","pageSize","page","useQuery","queryKey","orderTrades","refetchOnWindowFocus","refetchInterval","queryFn","page_size","_data$value$list","_data$value","list","_data$value$paginatio","_data$value2","useSelfHelpOrder","walletBus","SellPopupRef","tableColumns","dataIndex","align","responsive","width","paginationChange","val","record","_globalModal$ConnectW","globalModal","ConnectWallet","visible","prompt","voteList","votetInfo","useVoteData","querier","witnessApi","staleTime","_tronVoteData$tronPow","_tronVoteData$tronPow2","_tronVoteData","voteTotal","voteUsed","votableNumber","maxVoteNumber","voteUsedStic","tronPowerLimit","tronPowerUsed","_querier$data$value","map","onInputBlur","onSetALL","submiting","inputTotal","filterData","_voteList2$value","filter","hasOwnProperty","getInputTotal","_filterDataRes$map","filterDataRes","reduce","previousValue","currentValut","Object","fromEntries","onSetALL2","usableValue","JSON","stringify","vote","close","useVote","_voteList$value","__expose","VoteModalRef","onSelect","emit","toVote","_globalModal$ConnectW2","listData","orderLastTrades","_data$value3","_data$value4","useLatestTable","tronAccount","maxTrx","_formData$value","lockBalance","multiplyByTenToPower","estimatedResource","_formData$value2","print","unitPrinceTrx","customTrx","setAmount","onCconfirm","_formData$value3","_data$estimatedResour","_data$estimatedResour2","_formData$value4","_formData$value5","_formData$value6","receiverAddress","undelegateResource","recoveryResult","useRecycleResoure","onMounted","cancel","isFetching","fetchAgencyOrders","limit","start","_data$value5","_data$value$data$tota","_data$value6","useAgentTable","row","percent","current","_resourceType","queritr","subOrderListByAddress","_record$value2","order_parent_no","_queritr$data$value","_queritr$data$value2","_record$value","getProgressVal","frozen_resource_value","myPayOrder","_data$value7","_data$value8","useBuyTable","CencelOrderRef","MineOrderDetailRef","activeKey","showSellVip","useActivityProvider","BuyPopupRef","ltTabletl","i18nHead","useLocaleHead","addSeoAttributes","useHead","htmlAttrs","lang","link","property","content"],"mappings":"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"}