{"version":3,"file":"index-legacy.8c265e7b.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/CencelOrder.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\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 */\r\nexport function discountResult(params: T) {\r\n return reactiveComputed(() => {\r\n const info = {\r\n fee: 0,\r\n amount: 0,\r\n save: 0,\r\n discount: 0,\r\n needBurning: 0,\r\n }\r\n if (!params.priceInSun || !params.resourceValue)\r\n return info\r\n const day = params.rentTimeUnit === 'h' ? 1 : params.rentDuration\r\n const needBurning = params.resourceType\r\n ? Number(((params.resourceValue! * 420) / 1000000) * day)\r\n : Number((1000 / 1000000) * params.resourceValue! * day)\r\n\r\n info.needBurning = needBurning\r\n info.amount = calcAmount(params)\r\n\r\n info.save = Number(\r\n (needBurning - info.amount < 0 ? 0 : needBurning - info.amount).toFixed(2),\r\n )\r\n const discount\r\n = 100 * (1 - info.amount / needBurning) < 0\r\n ? 0\r\n : 100 * (1 - info.amount / needBurning)\r\n info.discount = Number(discount.toFixed(0))\r\n\r\n return info\r\n })\r\n}\r\n\r\nfunction calcAmount(params: T) {\r\n let payAmount = 0\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 = Number(\r\n (\r\n ((params.resourceValue! * params.priceInSun) / 1000000)\r\n * 1\r\n ).toFixed(6),\r\n )\r\n break\r\n case 'd':\r\n if (params.rentDuration < 1 || params.rentDuration > 30)\r\n break\r\n\r\n payAmount = Number(\r\n (\r\n ((params.resourceValue! * params.priceInSun) / 1000000)\r\n * params.rentDuration\r\n ).toFixed(6),\r\n )\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}\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 })\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 })\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' ? [50000, 100000, 1000000, 10000000] : [5000, 10000, 50000, 100000])\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) >= fixed(discount.amount, 6, false)\r\n || (toValue(payType) === EPaymentMethod.DAPP && toValue(isConnected)),\r\n balanceTip: toValue(payType) === EPaymentMethod.BALANCE && (unref(trxMoney) ?? 0) < fixed(discount.amount, 6, false),\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 console.log('', JSON.stringify(ev.discountInfo))\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: ctx.discountInfo.amount,\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 = ctx.discountInfo.amount\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: ctx.discountInfo.amount } })\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 {{ fixed(formData.resourceValue ?? 0, 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
\r\n {{ $t(\"5lDjHyMvhDv34o9QihLy\") }}\r\n \r\n {{ fixed(discountInfo.needBurning, 6) }} TRX\r\n {{ fixed(discountInfo.amount, 6) }} TRX\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\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')} ${fixed(maxTRX.value, 0, true)} 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 aModel.success({\r\n title: $t('g5LTbuKGP5_PUr-aUMVq_'),\r\n content:\r\n `${$t('JVJZwWrDZaWCpXUvy7eYn',{amount: fixed(params.amount * 10 ** -6, 0, true)})}\r\n ${$t('NKsQg2au3bN_T6s8bA0tY',{typeTxt: typeTxt})}\r\n ${fixed(freezeInfo.availableResource, 0, true)}`,\r\n okText: $t('UENBgObobQIqSj65k6uBN'),\r\n onOk: () => props.close(),\r\n onCancel: () => props.close(),\r\n wrapClassName: 'ant-cover__basic-modal-confirm',\r\n })\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 }\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\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') + fixed(energyMin.value, 0, true),\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\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 return\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 amout: 0,\r\n }\r\n if (!resource)\r\n return info\r\n const multi = orderDetail.max_amount\r\n ? formData.sellAmount / orderDetail.max_amount\r\n : 0\r\n info.amout = orderDetail.max_payout\r\n ? (orderDetail.max_payout ?? 0) * multi\r\n : 0\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 // sellInfoRow.value?.resource_type === 1 &&\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","\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","amount","save","discount","needBurning","priceInSun","resourceValue","day","rentTimeUnit","rentDuration","resourceType","Number","payAmount","toFixed","calcAmount","useBuyProvider","useBuy","createInjectionState","shortcutTime","useRentalTime","account","isConnected","tronComp","useAccountCurrent","formData","reactive","ENERGY","receiveAddress","rentTimeSecond","times","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","isOpenTTPay","_config$value6","base","enable_ttpay","window","payType","EPaymentMethod","DAPP","paymentMethod","TTPAY","BALANCE","trxMoney","useUserInfo","buttonGroup","_unref5","_unref6","walletConnection","toValue","walletConnectionToPay","download","pay","fixed","balanceTip","isRentDays","paymentAddress","_config$value7","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","console","log","JSON","stringify","discountInfo","toAddress","services","precreateTronlinkOrder","fromAddress","res","payTRXServerBroadcast","msg","formatTronErrorMessage","createTronlinkOrder","key","snakeCase","signed_txn","resource_value","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","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$discountI","_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","checking","useHideFormHelp","ResourceType","useResource","_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","accountMulti","multiRefetch","mode","maxTRX","_balance$value","trx","resource_type","freezeInfo","availableResource","needResource","sellAmount","needExchange","remaine","result","onChange","cost","setMaxTrx","_formData$amount2","_formData$amount","freezeBalanceV2ByMultiSign","freezeBalanceV2","fetchCanDelegatedMaxSize","typeTxt","aModel","success","content","okText","onOk","close","onCancel","wrapClassName","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$value8","_config$value$order$e2","_config$value9","energy_min_value","_orderDetail$max_amou","_orderDetail$max_amou2","max_amount","_orderDetail$max_payo","_resource$energyUnitP","amout","multi","_resource$netUnitPric","max_payout","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","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","vote","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","useRecycleResoure","onMounted","isFetching","fetchAgencyOrders","limit","start","_data$value5","_data$value$data$tota","_data$value6","useAgentTable","row","percent","current","orderPreCancelDetail","mutaion","useMutation","mutationKey","orderPreCancel","mutationFn","onCancelOrder","_config$value10","_detail$value","_tron$tronWeb3","_detail$value2","cancelAmount","sendTrx","signedTx","orderCancelC2C","cancelDetail","orderCancelQuery","loop","refresh","onCancelOrderPolling","is_split","mutateAsync","_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"],"mappings":"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"}