{"version":3,"file":"index-legacy.ed6f7dee.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' | 'm'\r\n rentDuration: number\r\n}\r\n\r\ninterface DiscountParams {\r\n rentTimeUnit: 'h' | 'd' | 'm'\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\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 === 'm')\r\n range.c2cMinSun = source.sun_m\r\n\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n range.c2cMinSun = source.sun_1d || 0\r\n if (params.rentDuration === 2)\r\n range.c2cMinSun = source.sun_2d || 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 === 'm')\r\n defaultPriceInSun = source.default_sun_m\r\n\r\n if (params.rentTimeUnit === 'd') {\r\n if (params.rentDuration === 1)\r\n defaultPriceInSun = source.default_sun_1d\r\n if (params.rentDuration === 2)\r\n defaultPriceInSun = source.default_sun_2d\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 { config } = useAppState()\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 const day = params.rentTimeUnit === 'd' ? bignumber(params.rentDuration) : bignumber(1)\r\n\r\n const needBurning = params.resourceType\r\n ? bignumber(params.resourceValue).multipliedBy((config.value?.estimate.energy_price ?? 210)).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 return info\r\n })\r\n}\r\n\r\nfunction calcAmount(params: T) {\r\n let payAmount = bignumber(0)\r\n switch (params.rentTimeUnit) {\r\n case 'd':\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 default:\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 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' | 'm'\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\r\n watch(config, (val) => {\r\n console.log('val', val)\r\n if (val?.order.time_range_c2c[0] === 600) {\r\n formData.rentTimeSecond = 600\r\n formData.rentTimeUnit = 'm'\r\n formData.rentDuration = 10\r\n }\r\n }, { immediate: true, deep: true })\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 <= 1000) {\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 = 50 * 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 {{ timeSecondFilters(formData.rentTimeSecond) }}\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 {{ timeFn(formData.rentDuration, formData.rentTimeUnit) }}\r\n \r\n
\r\n
\r\n {{ $t(\"5lDjHyMvhDv34o9QihLy\") }}\r\n \r\n \r\n {{ formatAmount(discountInfo.needBurning, 6) }} TRX\r\n \r\n\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 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 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 console.log('ownerPermission', ownerPermission)\r\n console.log('activePermission', activePermission)\r\n if (!ownerPermission || !activePermission)\r\n info.isOwnerPermission = false\r\n\r\n if (ownerPermission.threshold > 1)\r\n info.isOwnerPermission = ownerPermission.keys.some((i: any) => (i.address === tron.tronWeb?.address.toHex(accountCurrent.address) && i.weight === ownerPermission.threshold))\r\n\r\n else if (ownerPermission.threshold === 1)\r\n info.isOwnerPermission = ownerPermission.keys.some((i: any) => (i.address === tron.tronWeb?.address.toHex(accountCurrent.address)))\r\n\r\n if (!info.isOwnerPermission) {\r\n activePermission?.forEach((item: any) => {\r\n item.keys.forEach((i: any) => {\r\n if (item.threshold > 1) {\r\n if (i.weight === item.threshold && i.address === tron.tronWeb?.address.toHex(accountCurrent.address) && tron.getPermission(item.operations, id))\r\n info.permissionId = item.id\r\n }\r\n\r\n if (item.threshold === 1) {\r\n if (i.address === tron.tronWeb?.address.toHex(accountCurrent.address) && tron.getPermission(item.operations, id))\r\n info.permissionId = item.id\r\n }\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 actions: {\r\n type: \"showErrorMessage\",\r\n },\r\n cond: 'isConflict',\r\n },\r\n {\r\n target: \"conflict\",\r\n actions: {\r\n type: \"showErrorMessage\",\r\n },\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 (data.code === 12008 || data.code === 12001 || data.code === 12006)\r\n return;\r\n else\r\n aMessage.error(data.msg);\r\n }\r\n if (event.type === 'error.platform.orderDelegateC2C') {\r\n if (data.code === 11000 && data.msg.includes('sig error')){\r\n aMessage.error($t('h3Ek4FbetwagbAzh95fRj'))\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\n// import { 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","_config$value$estimat","_config$value6","info","fee","bignumber","amount","save","discount","needBurning","priceInSun","resourceValue","day","rentTimeUnit","rentDuration","resourceType","multipliedBy","estimate","energy_price","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","watch","val","console","log","order","time_range_c2c","immediate","deep","fromDataRefs","toRefs","unitPriceRange","_config$value","_config$value2","range","c2cMinValue","c2cMaxValue","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_m","sun_1d","sun_2d","sun_1h","sun_6h","sun_3h","max_sun","resourceUnitPrice","defaultPriceInSun","_config$value5","toLowerCase","default_sun","default_sun_m","default_sun_1d","default_sun_2d","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$value7","_config$value8","energy_c2c_quick_options","bandwidth_quick_options","isOpenTTPay","_config$value9","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$value10","wallet","payment_c2c_address","useEventBus","on","address","watchEffect","_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","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","threshold","keys","some","_tron$tronWeb","toHex","weight","_tron$tronWeb2","forEach","_tron$tronWeb3","_tron$tronWeb4","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","muitiSingAddress","Short","min_amount","payAddress","getOwnerAddress","freezeTRX","_formData$sellAmount","_config$value$order$e","_config$value11","_config$value$order$e2","_config$value12","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","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","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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"}