@ape.swap/bonds-sdk 6.2.18 → 6.2.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,7 +39,7 @@ const Toast = ({ popIndex, popup }) => {
39
39
  : isInsufficientFundsError
40
40
  ? 'Insufficient funds.'
41
41
  : popup?.description;
42
- return (jsx(AnimatePresence, { children: show && (jsxs(motion.div, { initial: { right: '-300px' }, animate: { right: '10px' }, transition: { duration: 0.5 }, exit: { right: '-300px' }, className: "ape:fixed ape:flex ape:w-[300px] ape:bg-white2 ape:rounded-[10px] ape:pl-[20px] ape:py-[14px] ape:pr-[14px] ape:min-h-[90px] ape:z-[103]", style: { top: 108 * popIndex, columnGap: '11px' }, children: [jsx(Flex, { children: jsx(VariantIcon, { color: variant, width: "30px" }) }), jsxs(Flex, { className: "ape:flex-col ape:flex-1 ape:text-text ape:ml-[10px]", children: [jsx(Text, { size: "14px", className: "ape:font-medium", style: { color: resolveColor(variant) }, children: title }), description && (jsx(Text, { size: "12px", className: "ape:font-normal ape:max-h-[48px] ape:min-h-4 ape:line-clamp-3", style: { lineHeight: '1rem' }, children: parsedErrorString })), url && (jsxs("a", { href: url, className: linkClasses, target: "_blank", rel: "noreferrer", children: [jsx(Text, { className: "ape:mr-[5px]", children: "View on Explorer" }), jsx(External, {})] })), showSupportLink && (jsxs("a", { href: 'https://discord.com/channels/821817977917538375/1110438345701593088', className: linkClasses, target: "_blank", rel: "noreferrer", children: [jsx(Text, { className: "ape:mr-[5px]", children: "Having issues? Get support" }), jsx(External, {})] }))] }), jsx(Flex, { className: "ape:items-start ape:pt-[3px]", onClick: () => removePopup(popup), children: jsx(IconButton, { icon: Close, color: "text", variant: "transparent" }) })] })) }));
42
+ return (jsx(AnimatePresence, { children: show && (jsxs(motion.div, { initial: { right: '-300px' }, animate: { right: '10px' }, transition: { duration: 0.5 }, exit: { right: '-300px' }, className: "ape:fixed ape:flex ape:w-[300px] ape:bg-white2 ape:rounded-[10px] ape:pl-[20px] ape:py-[14px] ape:pr-[14px] ape:min-h-[90px] ape:z-[103]", style: { top: 108 * popIndex, columnGap: '11px' }, children: [jsx(Flex, { children: jsx(VariantIcon, { color: variant, width: "30px" }) }), jsxs(Flex, { className: "ape:flex-col ape:flex-1 ape:text-text ape:ml-[10px]", children: [jsx(Text, { size: "14px", className: "ape:font-medium", style: { color: resolveColor(variant) }, children: title }), description && (jsx(Text, { size: "12px", className: "ape:font-normal ape:max-h-[48px] ape:min-h-4 ape:line-clamp-3 ape:break-all", style: { lineHeight: '1rem' }, children: parsedErrorString })), url && (jsxs("a", { href: url, className: linkClasses, target: "_blank", rel: "noreferrer", children: [jsx("div", { className: "ape:mr-[5px]", children: "View on Explorer" }), jsx(External, {})] })), showSupportLink && (jsxs("a", { href: 'https://discord.com/channels/821817977917538375/1110438345701593088', className: linkClasses, target: "_blank", rel: "noreferrer", children: [jsx("div", { className: "ape:mr-[5px]", children: "Having issues? Get support" }), jsx(External, {})] }))] }), jsx(Flex, { className: "ape:items-start ape:pt-[3px]", onClick: () => removePopup(popup), children: jsx(IconButton, { icon: Close, color: "text", variant: "transparent" }) })] })) }));
43
43
  };
44
44
 
45
45
  export { Toast as default };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/Toast/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { resolveColor } from '../../utils/resolveColor'\nimport { PopupProps, usePopups } from '../../state/popups/usePopups'\nimport Flex from '../uikit-sdk/Flex'\nimport IconButton from '../uikit-sdk/Button/IconButton'\nimport Text from '../uikit-sdk/Text'\nimport Close from '../uikit-sdk/Svg/Icons/Close'\nimport External from '../uikit-sdk/Svg/Icons/External'\nimport Success from '../uikit-sdk/Svg/Icons/Success'\nimport ErrorIcon from '../uikit-sdk/Svg/Icons/Error'\n\nconst linkClasses = 'ape:text-[12px] ape:underline ape:text-primary-bright ape:font-bold ape:flex ape:items-center'\n\nconst Toast = ({ popIndex, popup }: { popIndex: number; popup: PopupProps }) => {\n const { variant, title, description, url } = popup\n const { removePopup } = usePopups()\n const [show, setShow] = useState(true)\n const VariantIcon = variant === 'success' ? Success : ErrorIcon\n\n useEffect(() => {\n setTimeout(() => {\n setShow(false)\n setTimeout(() => {\n removePopup(popup)\n }, 500)\n }, 10000)\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [])\n\n const showSupportLink = variant === 'error' && !url && !popup?.description?.includes('User rejected the request')\n const isSlippageError =\n popup?.description?.includes('INSUFFICIENT') ||\n popup?.description?.includes('Slippage') ||\n popup?.description?.includes('Return amount is not enough')\n\n const isTimeoutError = popup?.description?.includes('Blockhash not found')\n\n const isInsufficientFundsError = popup?.description?.includes('insufficient funds')\n\n const parsedErrorString = isSlippageError\n ? 'Slippage error. Try increasing Slippage in the cog icon ⚙️.'\n : isTimeoutError\n ? 'Tx timeout. Please try again.'\n : isInsufficientFundsError\n ? 'Insufficient funds.'\n : popup?.description\n\n return (\n <AnimatePresence>\n {show && (\n <motion.div\n initial={{ right: '-300px' }}\n animate={{ right: '10px' }}\n transition={{ duration: 0.5 }}\n exit={{ right: '-300px' }}\n className=\"ape:fixed ape:flex ape:w-[300px] ape:bg-white2 ape:rounded-[10px] ape:pl-[20px] ape:py-[14px] ape:pr-[14px] ape:min-h-[90px] ape:z-[103]\"\n style={{ top: 108 * popIndex, columnGap: '11px' }}\n >\n <Flex>\n <VariantIcon color={variant} width=\"30px\" />\n </Flex>\n <Flex className=\"ape:flex-col ape:flex-1 ape:text-text ape:ml-[10px]\">\n <Text size=\"14px\" className=\"ape:font-medium\" style={{ color: resolveColor(variant) }}>\n {title}\n </Text>\n {description && (\n <Text\n size=\"12px\"\n className=\"ape:font-normal ape:max-h-[48px] ape:min-h-4 ape:line-clamp-3\"\n style={{ lineHeight: '1rem' }}\n >\n {parsedErrorString}\n </Text>\n )}\n {url && (\n <a href={url} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n <Text className=\"ape:mr-[5px]\">View on Explorer</Text>\n <External />\n </a>\n )}\n {showSupportLink && (\n <a\n href={'https://discord.com/channels/821817977917538375/1110438345701593088'}\n className={linkClasses}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <Text className=\"ape:mr-[5px]\">Having issues? Get support</Text>\n <External />\n </a>\n )}\n </Flex>\n <Flex className=\"ape:items-start ape:pt-[3px]\" onClick={() => removePopup(popup)}>\n <IconButton icon={Close} color=\"text\" variant=\"transparent\" />\n </Flex>\n </motion.div>\n )}\n </AnimatePresence>\n )\n}\n\nexport default Toast\n"],"names":["ErrorIcon","_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/Toast/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport { resolveColor } from '../../utils/resolveColor'\nimport { PopupProps, usePopups } from '../../state/popups/usePopups'\nimport Flex from '../uikit-sdk/Flex'\nimport IconButton from '../uikit-sdk/Button/IconButton'\nimport Text from '../uikit-sdk/Text'\nimport Close from '../uikit-sdk/Svg/Icons/Close'\nimport External from '../uikit-sdk/Svg/Icons/External'\nimport Success from '../uikit-sdk/Svg/Icons/Success'\nimport ErrorIcon from '../uikit-sdk/Svg/Icons/Error'\n\nconst linkClasses = 'ape:text-[12px] ape:underline ape:text-primary-bright ape:font-bold ape:flex ape:items-center'\n\nconst Toast = ({ popIndex, popup }: { popIndex: number; popup: PopupProps }) => {\n const { variant, title, description, url } = popup\n const { removePopup } = usePopups()\n const [show, setShow] = useState(true)\n const VariantIcon = variant === 'success' ? Success : ErrorIcon\n\n useEffect(() => {\n setTimeout(() => {\n setShow(false)\n setTimeout(() => {\n removePopup(popup)\n }, 500)\n }, 10000)\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [])\n\n const showSupportLink = variant === 'error' && !url && !popup?.description?.includes('User rejected the request')\n const isSlippageError =\n popup?.description?.includes('INSUFFICIENT') ||\n popup?.description?.includes('Slippage') ||\n popup?.description?.includes('Return amount is not enough')\n\n const isTimeoutError = popup?.description?.includes('Blockhash not found')\n\n const isInsufficientFundsError = popup?.description?.includes('insufficient funds')\n\n const parsedErrorString = isSlippageError\n ? 'Slippage error. Try increasing Slippage in the cog icon ⚙️.'\n : isTimeoutError\n ? 'Tx timeout. Please try again.'\n : isInsufficientFundsError\n ? 'Insufficient funds.'\n : popup?.description\n\n return (\n <AnimatePresence>\n {show && (\n <motion.div\n initial={{ right: '-300px' }}\n animate={{ right: '10px' }}\n transition={{ duration: 0.5 }}\n exit={{ right: '-300px' }}\n className=\"ape:fixed ape:flex ape:w-[300px] ape:bg-white2 ape:rounded-[10px] ape:pl-[20px] ape:py-[14px] ape:pr-[14px] ape:min-h-[90px] ape:z-[103]\"\n style={{ top: 108 * popIndex, columnGap: '11px' }}\n >\n <Flex>\n <VariantIcon color={variant} width=\"30px\" />\n </Flex>\n <Flex className=\"ape:flex-col ape:flex-1 ape:text-text ape:ml-[10px]\">\n <Text size=\"14px\" className=\"ape:font-medium\" style={{ color: resolveColor(variant) }}>\n {title}\n </Text>\n {description && (\n <Text\n size=\"12px\"\n className=\"ape:font-normal ape:max-h-[48px] ape:min-h-4 ape:line-clamp-3 ape:break-all\"\n style={{ lineHeight: '1rem' }}\n >\n {parsedErrorString}\n </Text>\n )}\n {url && (\n <a href={url} className={linkClasses} target=\"_blank\" rel=\"noreferrer\">\n <div className=\"ape:mr-[5px]\">View on Explorer</div>\n <External />\n </a>\n )}\n {showSupportLink && (\n <a\n href={'https://discord.com/channels/821817977917538375/1110438345701593088'}\n className={linkClasses}\n target=\"_blank\"\n rel=\"noreferrer\"\n >\n <div className=\"ape:mr-[5px]\">Having issues? Get support</div>\n <External />\n </a>\n )}\n </Flex>\n <Flex className=\"ape:items-start ape:pt-[3px]\" onClick={() => removePopup(popup)}>\n <IconButton icon={Close} color=\"text\" variant=\"transparent\" />\n </Flex>\n </motion.div>\n )}\n </AnimatePresence>\n )\n}\n\nexport default Toast\n"],"names":["ErrorIcon","_jsx","_jsxs"],"mappings":"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"}
package/dist/styles.css CHANGED
@@ -1,2 +1,2 @@
1
1
  /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
2
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--ape-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ape-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ape-color-white:#fff;--ape-spacing:.25rem;--ape-text-sm:.875rem;--ape-text-sm--line-height:calc(1.25 / .875);--ape-text-base:1rem;--ape-text-base--line-height:calc(1.5 / 1);--ape-font-weight-light:300;--ape-font-weight-normal:400;--ape-font-weight-medium:500;--ape-font-weight-semibold:600;--ape-font-weight-bold:700;--ape-ease-out:cubic-bezier(0, 0, .2, 1);--ape-ease-in-out:cubic-bezier(.4, 0, .2, 1);--ape-default-transition-duration:.15s;--ape-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--ape-default-font-family:var(--ape-font-sans);--ape-default-mono-font-family:var(--ape-font-mono);--ape-color-white1:#0e0d16;--ape-color-white2:#161420;--ape-color-white3:#1f1d29;--ape-color-white4:#282632;--ape-color-white5:#312f3a;--ape-color-primary-button:#6560c5;--ape-color-primary-button-disable:#48475b;--ape-color-primary-button-hovered:#8480d1;--ape-color-success:#38a611;--ape-color-error:#df4141;--ape-color-text:#fafafa;--ape-color-text-disabled:#424242;--ape-color-text-disabled-button:#73728e;--ape-color-primary-bright:#fafafa;--ape-color-modal-overlay:#42424280;--ape-gradient-abond:linear-gradient(98.79deg, #6560c5 -2.37%, #e07753 100%);--ape-font-body:"Poppins", sans-serif;--ape-radius-small:6px;--ape-radius-default:16px;--ape-radius-normal:10px;--ape-radius-card:32px;--ape-z-index-dropdown:10;--ape-z-index-modal:102}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ape-default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--ape-default-font-feature-settings,normal);font-variation-settings:var(--ape-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ape-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--ape-default-mono-font-feature-settings,normal);font-variation-settings:var(--ape-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.ape-root{width:100%;min-width:0;font-family:var(--ape-font-body);-webkit-font-smoothing:antialiased;color:var(--ape-color-text);background-color:var(--ape-color-white1);scroll-behavior:smooth;font-weight:600}.ape-root a{color:var(--ape-color-text);text-decoration:none}.ape-root a:hover{color:var(--ape-color-primary-button);text-decoration:underline}.ape-root hr{background-color:var(--ape-color-white3);border:none;height:1px}.ape-root ::-webkit-scrollbar{width:6px}.ape-root ::-webkit-scrollbar-thumb{background:var(--ape-color-text);border-radius:8px}.ape-root ::-webkit-scrollbar-track{background:var(--ape-color-white2);border-radius:10px}}@layer components{@keyframes ape-ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.ape-ellipsis:after{content:".";text-align:left;width:1em;animation:1.25s infinite ape-ellipsis;display:inline-block}.ape-carousel-viewport{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;-webkit-touch-callout:none}.ape-carousel-viewport::-webkit-scrollbar{display:none}.ape-you-tooltip:after{content:"";border-style:solid;border-width:6px;border-color:transparent var(--ape-color-primary-button) transparent transparent;position:absolute;top:50%;left:-11px;transform:translateY(-50%)}.ape-you-card{position:absolute;top:0;right:-45px}.ape-you-card:before{content:"";border:9px solid #0000;border-right-color:var(--ape-color-primary-button);width:0;height:0;display:block;position:absolute;top:50%;right:100%;transform:translateY(-50%)}@keyframes ape-spinner-rotation{0%{transform:rotate(40deg)}to{transform:rotate(400deg)}}.ape-spinner{box-sizing:border-box;border-radius:50%;display:inline-block}.ape-spinner-loading{animation:1s linear infinite ape-spinner-rotation;transform:rotate(40deg)}.ape-icon{fill:currentColor;transition:transform .3s linear}.ape-icon path{fill:currentColor}.ape-text-link{cursor:pointer;text-decoration:none;display:inline-block;position:relative}.ape-text-link:after{content:"";background:var(--ape-color-text);border-radius:var(--ape-radius-normal);transform-origin:100% 100%;backface-visibility:hidden;width:100%;height:1.5px;transition:transform .25s ease-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.ape-text-link:hover:after{transform-origin:0 100%;transform:scaleX(1)}.ape-tooltip-bubble{color:var(--ape-color-text);border-radius:var(--ape-radius-normal);background-color:var(--ape-tooltip-bg,var(--ape-color-white2));width:max-content;z-index:var(--ape-z-index-modal);padding:20px;font-size:12px;font-weight:600;line-height:18px;position:relative;top:15px;box-shadow:0 0 25px #c8c8c84d}.ape-tooltip-bottom-right:before,.ape-tooltip-bottom-left:before,.ape-tooltip-top-right:before,.ape-tooltip-top-left:before,.ape-tooltip-left:before{content:"";border:12px solid #0000;width:0;display:block;position:absolute}.ape-tooltip-bottom-right:before{border-top:0;border-bottom-style:solid;border-bottom-width:15px;border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));top:0;right:3%;transform:translate(-50%,-100%)}.ape-tooltip-bottom-left:before{border-top:0;border-bottom-style:solid;border-bottom-width:15px;border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));top:0;left:calc(3% + 15px);transform:translate(-50%,-100%)}.ape-tooltip-top-right:before{border-top-style:solid;border-top-width:15px;border-bottom:0;border-top-color:var(--ape-tooltip-bg,var(--ape-color-white2));bottom:0;right:3%;transform:translate(-50%,100%)}.ape-tooltip-top-left:before{border-top-style:solid;border-top-width:15px;border-bottom:0;border-top-color:var(--ape-tooltip-bg,var(--ape-color-white2));bottom:0;left:calc(3% + 15px);transform:translate(-50%,100%)}.ape-tooltip-only-container-right:before{content:"";border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));position:absolute;right:3%}.ape-tooltip-left:before{color:var(--ape-color-white2);border-right:15px solid;top:65%;left:-13px;transform:translate(-50%,-100%)}@keyframes ape-skeleton-waves{0%{left:-150px}to{left:100%}}@keyframes ape-skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ape-skeleton-waves{background-color:var(--ape-color-white2);min-height:16px;display:block;position:relative;overflow:hidden;transform:translate(0)}.ape-skeleton-waves:before{content:"";background-image:linear-gradient(90deg,#0000,#f3f3f34d,#0000);width:250px;height:100%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite ape-skeleton-waves;position:absolute;top:0;left:-150px}.ape-skeleton-pulse{background-color:var(--ape-color-white2);border-radius:2px;min-height:20px;animation:2s ease-out infinite ape-skeleton-pulse;display:block;transform:translate(0)}}@layer utilities{.ape\:pointer-events-none{pointer-events:none}.ape\:absolute{position:absolute}.ape\:fixed{position:fixed}.ape\:relative{position:relative}.ape\:inset-0{inset:0}.ape\:-top-\[15px\]{top:-15px}.ape\:top-0{top:0}.ape\:top-1\/2{top:50%}.ape\:top-\[-180px\]{top:-180px}.ape\:top-\[5px\]{top:5px}.ape\:top-\[12px\]{top:12px}.ape\:top-\[24px\]{top:24px}.ape\:top-\[25px\]{top:25px}.ape\:top-\[45px\]{top:45px}.ape\:top-\[50px\]{top:50px}.ape\:top-\[56\%\]{top:56%}.ape\:right-0{right:0}.ape\:right-3{right:calc(var(--ape-spacing) * 3)}.ape\:right-\[5px\]{right:5px}.ape\:right-\[6px\]{right:6px}.ape\:right-\[10px\]{right:10px}.ape\:right-\[50\%\]{right:50%}.ape\:bottom-0{bottom:0}.ape\:bottom-\[-43px\]{bottom:-43px}.ape\:bottom-\[3px\]{bottom:3px}.ape\:bottom-\[calc\(100\%-10px\)\]{bottom:calc(100% - 10px)}.ape\:bottom-\[unset\]{bottom:unset}.ape\:left-0{left:0}.ape\:left-1\/2{left:50%}.ape\:left-\[-20px\]{left:-20px}.ape\:left-\[-50px\]{left:-50px}.ape\:left-\[1px\]{left:1px}.ape\:left-\[25\%\]{left:25%}.ape\:left-\[40px\]{left:40px}.ape\:left-\[65\%\]{left:65%}.ape\:-z-\[1\]{z-index:calc(1 * -1)}.ape\:z-0{z-index:0}.ape\:z-10{z-index:10}.ape\:z-100{z-index:100}.ape\:z-\[1\]{z-index:1}.ape\:z-\[2\]{z-index:2}.ape\:z-\[5\]{z-index:5}.ape\:z-\[20\]{z-index:20}.ape\:z-\[100\]{z-index:100}.ape\:z-\[103\]{z-index:103}.ape\:z-\[121\]{z-index:121}.ape\:z-\[999\]{z-index:999}.ape\:z-\[1000\]{z-index:1000}.ape\:z-\[1001\]{z-index:1001}.ape\:z-\[5000\]{z-index:5000}.ape\:float-left{float:left}.ape\:m-0{margin:0}.ape\:m-\[0_5px_5px_0\]{margin:0 5px 5px 0}.ape\:m-\[10px_0px_15px_0px\]{margin:10px 0 15px}.ape\:m-auto{margin:auto}.ape\:mx-\[-5px\]{margin-inline:-5px}.ape\:mx-\[-8px\]{margin-inline:-8px}.ape\:mx-\[2\.5px\]{margin-inline:2.5px}.ape\:mx-\[2px\]{margin-inline:2px}.ape\:mx-\[3px\]{margin-inline:3px}.ape\:mx-\[5px\]{margin-inline:5px}.ape\:mx-\[8px\]{margin-inline:8px}.ape\:mx-\[10px\]{margin-inline:10px}.ape\:mx-\[20px\]{margin-inline:20px}.ape\:mx-\[25px\]{margin-inline:25px}.ape\:my-\[2px\]{margin-block:2px}.ape\:my-\[5px\]{margin-block:5px}.ape\:my-\[10px\]{margin-block:10px}.ape\:my-\[15px\]{margin-block:15px}.ape\:my-\[20px\]{margin-block:20px}.ape\:mt-0{margin-top:0}.ape\:mt-0\.75{margin-top:calc(var(--ape-spacing) * .75)}.ape\:mt-2\.5{margin-top:calc(var(--ape-spacing) * 2.5)}.ape\:mt-4{margin-top:calc(var(--ape-spacing) * 4)}.ape\:mt-\[-5px\]{margin-top:-5px}.ape\:mt-\[-15px\]{margin-top:-15px}.ape\:mt-\[3px\]{margin-top:3px}.ape\:mt-\[5px\]{margin-top:5px}.ape\:mt-\[10px\]{margin-top:10px}.ape\:mt-\[15px\]{margin-top:15px}.ape\:mt-\[20px\]{margin-top:20px}.ape\:mt-\[25px\]{margin-top:25px}.ape\:mt-\[30px\]{margin-top:30px}.ape\:mt-\[35px\]{margin-top:35px}.ape\:mt-\[40px\]{margin-top:40px}.ape\:mt-px{margin-top:1px}.ape\:mr-0{margin-right:0}.ape\:mr-1\.25{margin-right:calc(var(--ape-spacing) * 1.25)}.ape\:mr-\[3px\]{margin-right:3px}.ape\:mr-\[4px\]{margin-right:4px}.ape\:mr-\[5px\]{margin-right:5px}.ape\:mr-\[6px\]{margin-right:6px}.ape\:mr-\[8px\]{margin-right:8px}.ape\:mr-\[10px\]{margin-right:10px}.ape\:mr-\[15px\]{margin-right:15px}.ape\:mr-\[20px\]{margin-right:20px}.ape\:mb-1\.25{margin-bottom:calc(var(--ape-spacing) * 1.25)}.ape\:mb-2\.5{margin-bottom:calc(var(--ape-spacing) * 2.5)}.ape\:mb-5{margin-bottom:calc(var(--ape-spacing) * 5)}.ape\:mb-\[1px\]{margin-bottom:1px}.ape\:mb-\[3px\]{margin-bottom:3px}.ape\:mb-\[5px\]{margin-bottom:5px}.ape\:mb-\[8px\]{margin-bottom:8px}.ape\:mb-\[10px\]{margin-bottom:10px}.ape\:mb-\[14px\]{margin-bottom:14px}.ape\:mb-\[15px\]{margin-bottom:15px}.ape\:mb-\[20px\]{margin-bottom:20px}.ape\:mb-\[30px\]{margin-bottom:30px}.ape\:mb-\[50px\]{margin-bottom:50px}.ape\:ml-0{margin-left:0}.ape\:ml-1{margin-left:var(--ape-spacing)}.ape\:ml-3\.5{margin-left:calc(var(--ape-spacing) * 3.5)}.ape\:ml-3\.75{margin-left:calc(var(--ape-spacing) * 3.75)}.ape\:ml-\[3px\]{margin-left:3px}.ape\:ml-\[4px\]{margin-left:4px}.ape\:ml-\[5px\]{margin-left:5px}.ape\:ml-\[6px\]{margin-left:6px}.ape\:ml-\[7px\]{margin-left:7px}.ape\:ml-\[10px\]{margin-left:10px}.ape\:ml-\[15px\]{margin-left:15px}.ape\:ml-\[20px\]{margin-left:20px}.ape\:ml-\[30px\]{margin-left:30px}.ape\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ape\:block{display:block}.ape\:block\!{display:block!important}.ape\:flex{display:flex}.ape\:hidden{display:none}.ape\:hidden\!{display:none!important}.ape\:inline-flex{display:inline-flex}.ape\:aspect-\[1\/0\.56\]{aspect-ratio:1/.56}.ape\:size-full{width:100%;height:100%}.ape\:h-7\.5{height:calc(var(--ape-spacing) * 7.5)}.ape\:h-8{height:calc(var(--ape-spacing) * 8)}.ape\:h-10{height:calc(var(--ape-spacing) * 10)}.ape\:h-11\.25{height:calc(var(--ape-spacing) * 11.25)}.ape\:h-\[2px\]{height:2px}.ape\:h-\[3px\]{height:3px}.ape\:h-\[5px\]{height:5px}.ape\:h-\[14px\]{height:14px}.ape\:h-\[15px\]{height:15px}.ape\:h-\[18px\]{height:18px}.ape\:h-\[20px\]{height:20px}.ape\:h-\[21px\]{height:21px}.ape\:h-\[22px\]{height:22px}.ape\:h-\[24px\]{height:24px}.ape\:h-\[25px\]{height:25px}.ape\:h-\[26px\]{height:26px}.ape\:h-\[30px\]{height:30px}.ape\:h-\[30vh\]{height:30vh}.ape\:h-\[31px\]{height:31px}.ape\:h-\[32px\]{height:32px}.ape\:h-\[34px\]{height:34px}.ape\:h-\[35px\]{height:35px}.ape\:h-\[36px\]{height:36px}.ape\:h-\[36px\]\!{height:36px!important}.ape\:h-\[40px\]{height:40px}.ape\:h-\[45px\]{height:45px}.ape\:h-\[49px\]{height:49px}.ape\:h-\[60px\]{height:60px}.ape\:h-\[70px\]{height:70px}.ape\:h-\[75px\]{height:75px}.ape\:h-\[84px\]{height:84px}.ape\:h-\[91px\]{height:91px}.ape\:h-\[125px\]{height:125px}.ape\:h-\[300px\]{height:300px}.ape\:h-\[400px\]{height:400px}.ape\:h-\[725px\]{height:725px}.ape\:h-\[calc\(100\%\+20px\)\]{height:calc(100% + 20px)}.ape\:h-\[calc\(100\%-150px\)\]{height:calc(100% - 150px)}.ape\:h-\[unset\]{height:unset}.ape\:h-auto{height:auto}.ape\:h-fit{height:fit-content}.ape\:h-full{height:100%}.ape\:h-px{height:1px}.ape\:h-screen{height:100vh}.ape\:max-h-\[32px\]{max-height:32px}.ape\:max-h-\[48px\]{max-height:48px}.ape\:max-h-\[95vh\]{max-height:95vh}.ape\:max-h-\[300px\]{max-height:300px}.ape\:max-h-none{max-height:none}.ape\:min-h-4{min-height:calc(var(--ape-spacing) * 4)}.ape\:min-h-23{min-height:calc(var(--ape-spacing) * 23)}.ape\:min-h-\[27px\]{min-height:27px}.ape\:min-h-\[30px\]{min-height:30px}.ape\:min-h-\[40px\]{min-height:40px}.ape\:min-h-\[47\.45px\]{min-height:47.45px}.ape\:min-h-\[90px\]{min-height:90px}.ape\:min-h-\[160px\]{min-height:160px}.ape\:min-h-\[225px\]{min-height:225px}.ape\:min-h-\[330px\]{min-height:330px}.ape\:w-1\/2{width:50%}.ape\:w-1\/5{width:20%}.ape\:w-43\.75{width:calc(var(--ape-spacing) * 43.75)}.ape\:w-85{width:calc(var(--ape-spacing) * 85)}.ape\:w-95{width:calc(var(--ape-spacing) * 95)}.ape\:w-\[6px\]{width:6px}.ape\:w-\[8px\]{width:8px}.ape\:w-\[14px\]{width:14px}.ape\:w-\[15px\]{width:15px}.ape\:w-\[20px\]{width:20px}.ape\:w-\[25px\]{width:25px}.ape\:w-\[30px\]{width:30px}.ape\:w-\[32\%\]{width:32%}.ape\:w-\[34\%\]{width:34%}.ape\:w-\[35px\]{width:35px}.ape\:w-\[36\%\]{width:36%}.ape\:w-\[40px\]{width:40px}.ape\:w-\[45\%\]{width:45%}.ape\:w-\[49\%\]{width:49%}.ape\:w-\[50px\]{width:50px}.ape\:w-\[55px\]{width:55px}.ape\:w-\[60px\]{width:60px}.ape\:w-\[65\%\]{width:65%}.ape\:w-\[75\%\]{width:75%}.ape\:w-\[85px\]{width:85px}.ape\:w-\[98vw\]{width:98vw}.ape\:w-\[100px\]{width:100px}.ape\:w-\[110px\]{width:110px}.ape\:w-\[115px\]{width:115px}.ape\:w-\[120px\]{width:120px}.ape\:w-\[122px\]{width:122px}.ape\:w-\[125px\]{width:125px}.ape\:w-\[127px\]{width:127px}.ape\:w-\[130px\]{width:130px}.ape\:w-\[135px\]{width:135px}.ape\:w-\[144px\]{width:144px}.ape\:w-\[155px\]{width:155px}.ape\:w-\[160px\]{width:160px}.ape\:w-\[170px\]{width:170px}.ape\:w-\[175px\]{width:175px}.ape\:w-\[190px\]{width:190px}.ape\:w-\[210px\]{width:210px}.ape\:w-\[220px\]{width:220px}.ape\:w-\[235px\]{width:235px}.ape\:w-\[300px\]{width:300px}.ape\:w-\[380px\]{width:380px}.ape\:w-\[380px\]\!{width:380px!important}.ape\:w-\[400px\]{width:400px}.ape\:w-\[420px\]{width:420px}.ape\:w-\[450px\]{width:450px}.ape\:w-\[480px\]{width:480px}.ape\:w-\[500px\]{width:500px}.ape\:w-\[740px\]\!{width:740px!important}.ape\:w-\[calc\(33\.33\%-20px\)\]{width:calc(33.33% - 20px)}.ape\:w-\[calc\(50vw-25px\)\]{width:calc(50vw - 25px)}.ape\:w-\[calc\(100\%\+40px\)\]{width:calc(100% + 40px)}.ape\:w-\[calc\(100\%-2px\)\]{width:calc(100% - 2px)}.ape\:w-auto{width:auto}.ape\:w-fit{width:fit-content}.ape\:w-full{width:100%}.ape\:w-max{width:max-content}.ape\:w-screen{width:100vw}.ape\:max-w-75{max-width:calc(var(--ape-spacing) * 75)}.ape\:max-w-85{max-width:calc(var(--ape-spacing) * 85)}.ape\:max-w-\[95vw\]{max-width:95vw}.ape\:max-w-\[100px\]{max-width:100px}.ape\:max-w-\[300px\]{max-width:300px}.ape\:max-w-full{max-width:100%}.ape\:min-w-100{min-width:calc(var(--ape-spacing) * 100)}.ape\:min-w-\[10px\]{min-width:10px}.ape\:min-w-\[14px\]{min-width:14px}.ape\:min-w-\[20px\]{min-width:20px}.ape\:min-w-\[25px\]{min-width:25px}.ape\:min-w-\[30px\]{min-width:30px}.ape\:min-w-\[33px\]{min-width:33px}.ape\:min-w-\[40px\]{min-width:40px}.ape\:min-w-\[48px\]{min-width:48px}.ape\:min-w-\[65px\]{min-width:65px}.ape\:min-w-\[100px\]{min-width:100px}.ape\:min-w-\[120px\]{min-width:120px}.ape\:min-w-\[148px\]{min-width:148px}.ape\:min-w-\[250px\]{min-width:250px}.ape\:min-w-\[700px\]{min-width:700px}.ape\:min-w-\[unset\]{min-width:unset}.ape\:min-w-full{min-width:100%}.ape\:\[flex\:0_0_100\%\]{flex:0 0 100%}.ape\:flex-1{flex:1}.ape\:shrink-0{flex-shrink:0}.ape\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:translate-x-\[50\%\]{--tw-translate-x:50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:scale-\[0\.5\]{scale:.5}.ape\:rotate-\[-45deg\]{rotate:-45deg}.ape\:cursor-\[unset\]{cursor:unset}.ape\:cursor-pointer{cursor:pointer}.ape\:snap-center{scroll-snap-align:center}.ape\:list-none{list-style-type:none}.ape\:appearance-none{appearance:none}.ape\:flex-col{flex-direction:column}.ape\:flex-col-reverse{flex-direction:column-reverse}.ape\:flex-row{flex-direction:row}.ape\:flex-row-reverse{flex-direction:row-reverse}.ape\:flex-wrap{flex-wrap:wrap}.ape\:items-center{align-items:center}.ape\:items-end{align-items:flex-end}.ape\:items-start{align-items:flex-start}.ape\:items-stretch{align-items:stretch}.ape\:justify-around{justify-content:space-around}.ape\:justify-between{justify-content:space-between}.ape\:justify-center{justify-content:center}.ape\:justify-end{justify-content:flex-end}.ape\:justify-start{justify-content:flex-start}.ape\:gap-2\.5{gap:calc(var(--ape-spacing) * 2.5)}.ape\:gap-\[1px\]{gap:1px}.ape\:gap-\[3px\]{gap:3px}.ape\:gap-\[4px\]{gap:4px}.ape\:gap-\[5px\]{gap:5px}.ape\:gap-\[7px\]{gap:7px}.ape\:gap-\[8px\]{gap:8px}.ape\:gap-\[10px\]{gap:10px}.ape\:gap-\[14px\]{gap:14px}.ape\:gap-\[15px\]{gap:15px}.ape\:gap-\[20px\]{gap:20px}.ape\:overflow-hidden{overflow:hidden}.ape\:overflow-x-auto{overflow-x:auto}.ape\:overflow-x-hidden{overflow-x:hidden}.ape\:overflow-x-visible{overflow-x:visible}.ape\:\[overflow-y\:unset\]\!{overflow-y:unset!important}.ape\:overflow-y-auto{overflow-y:auto}.ape\:overflow-y-hidden{overflow-y:hidden}.ape\:overflow-y-scroll{overflow-y:scroll}.ape\:rounded-\[0_0_10px_10px\],.ape\:rounded-\[0px_0px_10px_10px\]{border-radius:0 0 10px 10px}.ape\:rounded-\[0px_10px_10px_0px\]{border-radius:0 10px 10px 0}.ape\:rounded-\[4px\]{border-radius:4px}.ape\:rounded-\[5px\]{border-radius:5px}.ape\:rounded-\[6px\]{border-radius:6px}.ape\:rounded-\[6px_6px_0px_0px\]{border-radius:6px 6px 0 0}.ape\:rounded-\[8px\]{border-radius:8px}.ape\:rounded-\[10px\]{border-radius:10px}.ape\:rounded-\[10px_0px_10px_0px\]{border-radius:10px 0}.ape\:rounded-\[10px_10px_0_0\],.ape\:rounded-\[10px_10px_0px_0px\]{border-radius:10px 10px 0 0}.ape\:rounded-\[14px\]{border-radius:14px}.ape\:rounded-\[40px\]{border-radius:40px}.ape\:rounded-\[50\%\]{border-radius:50%}.ape\:rounded-\[50px\]{border-radius:50px}.ape\:rounded-full{border-radius:3.40282e38px}.ape\:rounded-none{border-radius:0}.ape\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:rounded-small{border-radius:var(--ape-radius-small)}.ape\:rounded-tl-\[10px\]{border-top-left-radius:10px}.ape\:rounded-br-\[8px\]{border-bottom-right-radius:8px}.ape\:border{border-style:var(--tw-border-style);border-width:1px}.ape\:border-0{border-style:var(--tw-border-style);border-width:0}.ape\:border-2{border-style:var(--tw-border-style);border-width:2px}.ape\:border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.ape\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ape\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ape\:border-none{--tw-border-style:none;border-style:none}.ape\:border-solid{--tw-border-style:solid;border-style:solid}.ape\:border-\[\#9960C5\]{border-color:#9960c5}.ape\:border-\[\#222222\]{border-color:#222}.ape\:border-\[grey\]{border-color:gray}.ape\:border-primary-button{border-color:var(--ape-color-primary-button)}.ape\:border-success{border-color:var(--ape-color-success)}.ape\:border-text{border-color:var(--ape-color-text)}.ape\:border-white2{border-color:var(--ape-color-white2)}.ape\:border-white3{border-color:var(--ape-color-white3)}.ape\:border-white4{border-color:var(--ape-color-white4)}.ape\:bg-\[\#38A6110D\]{background-color:#38a6110d}.ape\:bg-\[\#9960C5\]{background-color:#9960c5}.ape\:bg-\[\#DE62F366\]{background-color:#de62f366}.ape\:bg-\[grey\]{background-color:gray}.ape\:bg-modal-overlay{background-color:var(--ape-color-modal-overlay)}.ape\:bg-primary-button{background-color:var(--ape-color-primary-button)}.ape\:bg-text{background-color:var(--ape-color-text)}.ape\:bg-text-disabled{background-color:var(--ape-color-text-disabled)}.ape\:bg-transparent{background-color:#0000}.ape\:bg-transparent\!{background-color:#0000!important}.ape\:bg-white{background-color:var(--ape-color-white)}.ape\:bg-white1{background-color:var(--ape-color-white1)}.ape\:bg-white2{background-color:var(--ape-color-white2)}.ape\:bg-white2\!{background-color:var(--ape-color-white2)!important}.ape\:bg-white3{background-color:var(--ape-color-white3)}.ape\:bg-white4{background-color:var(--ape-color-white4)}.ape\:bg-\[image\:var\(--ape-gradient-abond\)\]{background-image:var(--ape-gradient-abond)}.ape\:bg-\[image\:var\(--banner-bg-mobile\)\]{background-image:var(--banner-bg-mobile)}.ape\:bg-\[linear-gradient\(180deg\,\#FFFFFF_50\%\,\#666666_100\%\)\]{background-image:linear-gradient(#fff 50%,#666 100%)}.ape\:bg-cover{background-size:cover}.ape\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.ape\:bg-no-repeat{background-repeat:no-repeat}.ape\:object-contain{object-fit:contain}.ape\:object-cover{object-fit:cover}.ape\:p-0{padding:0}.ape\:p-0\!{padding:0!important}.ape\:p-2{padding:calc(var(--ape-spacing) * 2)}.ape\:p-2\.5{padding:calc(var(--ape-spacing) * 2.5)}.ape\:p-3{padding:calc(var(--ape-spacing) * 3)}.ape\:p-3\.75{padding:calc(var(--ape-spacing) * 3.75)}.ape\:p-5{padding:calc(var(--ape-spacing) * 5)}.ape\:p-\[0_1px\]{padding:0 1px}.ape\:p-\[0_20px_20px_20px\]{padding:0 20px 20px}.ape\:p-\[0px_8px\]\!{padding:0 8px!important}.ape\:p-\[2\.5px_5px\]{padding:2.5px 5px}.ape\:p-\[2px\]{padding:2px}.ape\:p-\[2px_5px\]{padding:2px 5px}.ape\:p-\[2px_6px\]{padding:2px 6px}.ape\:p-\[2px_8px\]{padding:2px 8px}.ape\:p-\[2px_10px\]{padding:2px 10px}.ape\:p-\[2px_10px_2px_5px\]{padding:2px 10px 2px 5px}.ape\:p-\[3px_6px\]{padding:3px 6px}.ape\:p-\[4px_2px\]{padding:4px 2px}.ape\:p-\[4px_6px\]{padding:4px 6px}.ape\:p-\[4px_10px\]{padding:4px 10px}.ape\:p-\[5px\]{padding:5px}.ape\:p-\[5px_10px\]{padding:5px 10px}.ape\:p-\[5px_15px\]{padding:5px 15px}.ape\:p-\[5px_20px\]{padding:5px 20px}.ape\:p-\[6px\]{padding:6px}.ape\:p-\[6px_12px\]{padding:6px 12px}.ape\:p-\[8px\]{padding:8px}.ape\:p-\[8px_4px_4px_4px\]{padding:8px 4px 4px}.ape\:p-\[8px_10px\]{padding:8px 10px}.ape\:p-\[8px_12px\]{padding:8px 12px}.ape\:p-\[8px_16px\]{padding:8px 16px}.ape\:p-\[10px\]{padding:10px}.ape\:p-\[15px\]{padding:15px}.ape\:p-\[15px_20px_5px_20px\]{padding:15px 20px 5px}.ape\:p-\[16px\]{padding:16px}.ape\:p-\[20px\]{padding:20px}.ape\:p-px{padding:1px}.ape\:px-2\.5{padding-inline:calc(var(--ape-spacing) * 2.5)}.ape\:px-6{padding-inline:calc(var(--ape-spacing) * 6)}.ape\:px-\[3px\]{padding-inline:3px}.ape\:px-\[4px\]{padding-inline:4px}.ape\:px-\[5px\]{padding-inline:5px}.ape\:px-\[6px\]{padding-inline:6px}.ape\:px-\[8px\]{padding-inline:8px}.ape\:px-\[10px\]{padding-inline:10px}.ape\:px-\[14px\]{padding-inline:14px}.ape\:px-\[15px\]{padding-inline:15px}.ape\:px-\[19px\]{padding-inline:19px}.ape\:py-2\.5{padding-block:calc(var(--ape-spacing) * 2.5)}.ape\:py-\[2px\]{padding-block:2px}.ape\:py-\[3px\]{padding-block:3px}.ape\:py-\[5px\]{padding-block:5px}.ape\:py-\[6px\]{padding-block:6px}.ape\:py-\[10px\]{padding-block:10px}.ape\:py-\[14px\]{padding-block:14px}.ape\:pt-1\.25{padding-top:calc(var(--ape-spacing) * 1.25)}.ape\:pt-4{padding-top:calc(var(--ape-spacing) * 4)}.ape\:pt-\[2px\]{padding-top:2px}.ape\:pt-\[3px\]{padding-top:3px}.ape\:pt-\[5px\]{padding-top:5px}.ape\:pt-\[10px\]{padding-top:10px}.ape\:pt-\[15px\]{padding-top:15px}.ape\:pt-\[20px\]{padding-top:20px}.ape\:pt-\[100px\]{padding-top:100px}.ape\:pr-0{padding-right:0}.ape\:pr-1\.25{padding-right:calc(var(--ape-spacing) * 1.25)}.ape\:pr-\[4px\]{padding-right:4px}.ape\:pr-\[14px\]{padding-right:14px}.ape\:pr-\[15px\]{padding-right:15px}.ape\:pr-\[20px\]{padding-right:20px}.ape\:pr-\[23px\]{padding-right:23px}.ape\:pb-\[2px\]{padding-bottom:2px}.ape\:pb-\[10px\]{padding-bottom:10px}.ape\:pb-\[20px\]{padding-bottom:20px}.ape\:pb-\[100px\]{padding-bottom:100px}.ape\:pl-0{padding-left:0}.ape\:pl-0\!{padding-left:0!important}.ape\:pl-1\.25{padding-left:calc(var(--ape-spacing) * 1.25)}.ape\:pl-\[5px\]{padding-left:5px}.ape\:pl-\[10px\]{padding-left:10px}.ape\:pl-\[15px\]{padding-left:15px}.ape\:pl-\[20px\]{padding-left:20px}.ape\:pl-\[26px\]{padding-left:26px}.ape\:pl-\[35px\]{padding-left:35px}.ape\:text-center{text-align:center}.ape\:text-left{text-align:left}.ape\:align-middle{vertical-align:middle}.ape\:align-sub{vertical-align:sub}.ape\:font-body{font-family:var(--ape-font-body)}.ape\:text-base{font-size:var(--ape-text-base);line-height:var(--tw-leading,var(--ape-text-base--line-height))}.ape\:text-sm\!{font-size:var(--ape-text-sm)!important;line-height:var(--tw-leading,var(--ape-text-sm--line-height))!important}.ape\:text-\[10px\]{font-size:10px}.ape\:text-\[10px\]\!{font-size:10px!important}.ape\:text-\[11px\]{font-size:11px}.ape\:text-\[12px\]{font-size:12px}.ape\:text-\[12px\]\!{font-size:12px!important}.ape\:text-\[13px\]{font-size:13px}.ape\:text-\[13px\]\!{font-size:13px!important}.ape\:text-\[14\.26px\]{font-size:14.26px}.ape\:text-\[14px\]{font-size:14px}.ape\:text-\[14px\]\!{font-size:14px!important}.ape\:text-\[16px\]{font-size:16px}.ape\:text-\[18px\]{font-size:18px}.ape\:text-\[18px\]\!{font-size:18px!important}.ape\:text-\[20px\]{font-size:20px}.ape\:text-\[22px\]{font-size:22px}.ape\:text-\[24px\]{font-size:24px}.ape\:text-\[24px\]\!{font-size:24px!important}.ape\:text-\[25\.26px\]{font-size:25.26px}.ape\:text-\[32px\]{font-size:32px}.ape\:leading-4{--tw-leading:calc(var(--ape-spacing) * 4);line-height:calc(var(--ape-spacing) * 4)}.ape\:leading-4\!{--tw-leading:calc(var(--ape-spacing) * 4)!important;line-height:calc(var(--ape-spacing) * 4)!important}.ape\:leading-5{--tw-leading:calc(var(--ape-spacing) * 5);line-height:calc(var(--ape-spacing) * 5)}.ape\:leading-5\.5\!{--tw-leading:calc(var(--ape-spacing) * 5.5)!important;line-height:calc(var(--ape-spacing) * 5.5)!important}.ape\:leading-\[11px\]{--tw-leading:11px;line-height:11px}.ape\:leading-\[12px\]{--tw-leading:12px;line-height:12px}.ape\:leading-\[13px\]{--tw-leading:13px;line-height:13px}.ape\:leading-\[14px\]{--tw-leading:14px;line-height:14px}.ape\:leading-\[15px\]{--tw-leading:15px;line-height:15px}.ape\:leading-\[18px\]{--tw-leading:18px;line-height:18px}.ape\:leading-\[18px\]\!{--tw-leading:18px!important;line-height:18px!important}.ape\:leading-\[21px\]{--tw-leading:21px;line-height:21px}.ape\:leading-\[22px\]{--tw-leading:22px;line-height:22px}.ape\:leading-\[24px\]{--tw-leading:24px;line-height:24px}.ape\:leading-\[28px\]{--tw-leading:28px;line-height:28px}.ape\:leading-\[30\.26px\]{--tw-leading:30.26px;line-height:30.26px}.ape\:leading-\[33px\]{--tw-leading:33px;line-height:33px}.ape\:font-bold{--tw-font-weight:var(--ape-font-weight-bold);font-weight:var(--ape-font-weight-bold)}.ape\:font-light{--tw-font-weight:var(--ape-font-weight-light);font-weight:var(--ape-font-weight-light)}.ape\:font-medium{--tw-font-weight:var(--ape-font-weight-medium);font-weight:var(--ape-font-weight-medium)}.ape\:font-normal{--tw-font-weight:var(--ape-font-weight-normal);font-weight:var(--ape-font-weight-normal)}.ape\:font-semibold{--tw-font-weight:var(--ape-font-weight-semibold);font-weight:var(--ape-font-weight-semibold)}.ape\:tracking-\[0\]{--tw-tracking:0;letter-spacing:0}.ape\:text-ellipsis{text-overflow:ellipsis}.ape\:whitespace-nowrap{white-space:nowrap}.ape\:text-\[\#777\]{color:#777}.ape\:text-error{color:var(--ape-color-error)}.ape\:text-primary-bright{color:var(--ape-color-primary-bright)}.ape\:text-primary-button{color:var(--ape-color-primary-button)}.ape\:text-primary-button-disable{color:var(--ape-color-primary-button-disable)}.ape\:text-success{color:var(--ape-color-success)}.ape\:text-text{color:var(--ape-color-text)}.ape\:text-text-disabled{color:var(--ape-color-text-disabled)}.ape\:text-text-disabled-button{color:var(--ape-color-text-disabled-button)}.ape\:text-transparent{color:#0000}.ape\:text-white{color:var(--ape-color-white)}.ape\:capitalize{text-transform:capitalize}.ape\:normal-case{text-transform:none}.ape\:uppercase{text-transform:uppercase}.ape\:line-through{text-decoration-line:line-through}.ape\:no-underline{text-decoration-line:none}.ape\:underline{text-decoration-line:underline}.ape\:opacity-0{opacity:0}.ape\:opacity-20{opacity:.2}.ape\:opacity-50{opacity:.5}.ape\:opacity-60{opacity:.6}.ape\:opacity-70{opacity:.7}.ape\:opacity-80{opacity:.8}.ape\:opacity-90{opacity:.9}.ape\:shadow-\[0px_1px_4px_rgb\(0_0_0\/0\.16\)\]{--tw-shadow:0px 1px 4px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:shadow-\[rgba\(0\,0\,0\,0\.16\)_0px_1px_4px\]{--tw-shadow-color:#00000029}@supports (color:color-mix(in lab, red, red)){.ape\:shadow-\[rgba\(0\,0\,0\,0\.16\)_0px_1px_4px\]{--tw-shadow-color:color-mix(in oklab, #00000029 0px 1px 4px var(--tw-shadow-alpha), transparent)}}.ape\:blur-\[1px\]{--tw-blur:blur(1px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ape\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ape\:duration-500{--tw-duration:.5s;transition-duration:.5s}.ape\:duration-1000{--tw-duration:1s;transition-duration:1s}.ape\:duration-\[1500ms\]{--tw-duration:1.5s;transition-duration:1.5s}.ape\:ease-\[ease\]{--tw-ease:ease;transition-timing-function:ease}.ape\:ease-in-out{--tw-ease:var(--ape-ease-in-out);transition-timing-function:var(--ape-ease-in-out)}.ape\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.ape\:ease-out{--tw-ease:var(--ape-ease-out);transition-timing-function:var(--ape-ease-out)}.ape\:outline-none{--tw-outline-style:none;outline-style:none}.ape\:select-none{-webkit-user-select:none;user-select:none}.ape\:\[-webkit-text-fill-color\:transparent\]{-webkit-text-fill-color:transparent}@media (hover:hover){.ape\:group-hover\:bg-\[rgb\(20_18_29_\/_0\.25\)\]\!:is(:where(.ape\:group):hover *){background-color:#14121d40!important}.ape\:group-hover\/tooltip\:block:is(:where(.ape\:group\/tooltip):hover *){display:block}}.ape\:peer-checked\:block:is(:where(.ape\:peer):checked~*){display:block}.ape\:first\:rounded-t-normal:first-child{border-top-left-radius:var(--ape-radius-normal);border-top-right-radius:var(--ape-radius-normal)}.ape\:last\:mr-0:last-child{margin-right:0}.ape\:last\:rounded-b-normal:last-child{border-bottom-right-radius:var(--ape-radius-normal);border-bottom-left-radius:var(--ape-radius-normal)}.ape\:checked\:border-primary-button:checked{border-color:var(--ape-color-primary-button)}.ape\:checked\:bg-primary-button:checked{background-color:var(--ape-color-primary-button)}@media (hover:hover){.ape\:hover\:z-\[1000\]:hover{z-index:1000}.ape\:hover\:cursor-pointer:hover{cursor:pointer}.ape\:hover\:bg-\[rgb\(20_18_29_\/_0\.36\)\]\!:hover{background-color:#14121d5c!important}.ape\:hover\:bg-white3:hover{background-color:var(--ape-color-white3)}.ape\:hover\:bg-white4:hover{background-color:var(--ape-color-white4)}.ape\:hover\:bg-white5:hover{background-color:var(--ape-color-white5)}.ape\:hover\:underline:hover{text-decoration-line:underline}.ape\:hover\:opacity-60:hover{opacity:.6}.ape\:hover\:opacity-80:hover{opacity:.8}.ape\:hover\:brightness-115:hover{--tw-brightness:brightness(115%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ape\:hover\:\[backdrop-filter\:blur\(2px\)\]:hover{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ape\:hover\:\[background\:linear-gradient\(90deg\,rgba\(49\,46\,122\,0\.70\)_0\%\,rgba\(92\,79\,174\,0\.70\)_100\%\)\]:hover{background:linear-gradient(90deg,#312e7ab3 0%,#5c4faeb3 100%)}}.ape\:focus\:outline:focus,.ape\:focus\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.ape\:focus\:outline-primary-button:focus{outline-color:var(--ape-color-primary-button)}.ape\:focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.ape\:focus\:not-checked\:shadow-none:focus:not(:checked){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:focus\:not-checked\:outline-none:focus:not(:checked){--tw-outline-style:none;outline-style:none}.ape\:active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (hover:hover){.ape\:enabled\:hover\:border-primary-button-hovered:enabled:hover{border-color:var(--ape-color-primary-button-hovered)}.ape\:enabled\:hover\:bg-primary-button:enabled:hover{background-color:var(--ape-color-primary-button)}.ape\:enabled\:hover\:bg-primary-button-hovered:enabled:hover{background-color:var(--ape-color-primary-button-hovered)}.ape\:enabled\:hover\:text-text:enabled:hover{color:var(--ape-color-text)}.ape\:enabled\:hover\:not-checked\:border-primary-button:enabled:hover:not(:checked){border-color:var(--ape-color-primary-button)}}.ape\:active\:enabled\:scale-90:active:enabled{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.ape\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ape\:disabled\:border-transparent:disabled{border-color:#0000}.ape\:disabled\:bg-white3:disabled{background-color:var(--ape-color-white3)}.ape\:disabled\:text-primary-button-disable:disabled{color:var(--ape-color-primary-button-disable)}.ape\:disabled\:text-text-disabled-button:disabled{color:var(--ape-color-text-disabled-button)}.ape\:disabled\:opacity-90:disabled{opacity:.9}@media not all and (min-width:1000px){.ape\:max-\[1000px\]\:w-\[49\%\]{width:49%}}@media not all and (min-width:852px){.ape\:max-md\:mb-\[10px\]{margin-bottom:10px}}@media not all and (min-width:768px){.ape\:max-\[768px\]\:w-full{width:100%}}@media not all and (min-width:576px){.ape\:max-sm\:mb-\[10px\]{margin-bottom:10px}.ape\:max-sm\:w-1\/2{width:50%}.ape\:max-sm\:w-\[55\%\]{width:55%}.ape\:max-sm\:text-\[12px\]{font-size:12px}.ape\:max-sm\:text-\[18px\]{font-size:18px}.ape\:max-sm\:leading-\[14px\]{--tw-leading:14px;line-height:14px}.ape\:max-sm\:leading-\[21px\]{--tw-leading:21px;line-height:21px}}@media (min-width:513px){.ape\:min-\[513px\]\:justify-center{justify-content:center}.ape\:min-\[513px\]\:pl-0{padding-left:0}}@media (min-width:576px){.ape\:sm\:top-\[-240px\]{top:-240px}.ape\:sm\:ml-2{margin-left:calc(var(--ape-spacing) * 2)}.ape\:sm\:ml-5{margin-left:calc(var(--ape-spacing) * 5)}.ape\:sm\:max-w-\[190px\]{max-width:190px}.ape\:sm\:justify-start{justify-content:flex-start}.ape\:sm\:text-\[16px\]\!{font-size:16px!important}}@media (min-width:800px){.ape\:min-\[800px\]\:max-h-none{max-height:none}.ape\:min-\[800px\]\:w-\[350px\]{width:350px}.ape\:min-\[800px\]\:flex-col{flex-direction:column}.ape\:min-\[800px\]\:flex-row{flex-direction:row}.ape\:min-\[800px\]\:gap-\[5px\]{gap:5px}.ape\:min-\[800px\]\:p-\[12px\]{padding:12px}.ape\:min-\[800px\]\:p-\[20px\]{padding:20px}.ape\:min-\[800px\]\:pb-\[5px\]{padding-bottom:5px}@media not all and (min-width:1000px){.ape\:min-\[800px\]\:max-\[1000px\]\:bg-bottom{background-position:bottom}}}@media (min-width:852px){.ape\:md\:top-\[20px\]{top:20px}.ape\:md\:top-\[unset\]{top:unset}.ape\:md\:right-\[-13\%\]{right:-13%}.ape\:md\:right-\[-50px\]{right:-50px}.ape\:md\:-bottom-12\.5{bottom:calc(var(--ape-spacing) * -12.5)}.ape\:md\:bottom-\[-15px\]{bottom:-15px}.ape\:md\:bottom-\[unset\]{bottom:unset}.ape\:md\:mt-0{margin-top:0}.ape\:md\:mt-\[5px\]{margin-top:5px}.ape\:md\:mr-\[15px\]{margin-right:15px}.ape\:md\:mb-0{margin-bottom:0}.ape\:md\:ml-\[5px\]{margin-left:5px}.ape\:md\:block{display:block}.ape\:md\:flex{display:flex}.ape\:md\:flex\!{display:flex!important}.ape\:md\:hidden{display:none}.ape\:md\:hidden\!{display:none!important}.ape\:md\:h-\[200px\]{height:200px}.ape\:md\:h-\[225px\]{height:225px}.ape\:md\:max-h-\[350px\]{max-height:350px}.ape\:md\:min-h-\[430px\]{min-height:430px}.ape\:md\:w-1\/2{width:50%}.ape\:md\:w-87\.5{width:calc(var(--ape-spacing) * 87.5)}.ape\:md\:w-175{width:calc(var(--ape-spacing) * 175)}.ape\:md\:w-\[35\%\]{width:35%}.ape\:md\:w-\[150px\]{width:150px}.ape\:md\:w-\[180px\]{width:180px}.ape\:md\:w-\[200px\]{width:200px}.ape\:md\:w-\[225px\]{width:225px}.ape\:md\:w-\[300px\]{width:300px}.ape\:md\:w-\[calc\(100\%-300px\)\]{width:calc(100% - 300px)}.ape\:md\:w-\[unset\]{width:unset}.ape\:md\:w-full{width:100%}.ape\:md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:scale-\[0\.4\]{scale:.4}.ape\:md\:flex-col{flex-direction:column}.ape\:md\:flex-row,.ape\:min-md\:flex-row{flex-direction:row}.ape\:md\:justify-end{justify-content:flex-end}.ape\:md\:gap-\[15px\]{gap:15px}.ape\:min-md\:gap-\[5px\]{gap:5px}.ape\:md\:rounded-\[20px\]{border-radius:20px}.ape\:md\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:md\:p-3{padding:calc(var(--ape-spacing) * 3)}.ape\:md\:p-5{padding:calc(var(--ape-spacing) * 5)}.ape\:md\:p-\[4px_10px\]{padding:4px 10px}.ape\:md\:p-\[20px\]{padding:20px}.ape\:md\:pr-\[20px\]{padding-right:20px}.ape\:md\:pb-1\.25{padding-bottom:calc(var(--ape-spacing) * 1.25)}.ape\:min-md\:pb-\[5px\]{padding-bottom:5px}.ape\:md\:pl-\[20px\]{padding-left:20px}.ape\:md\:text-\[12px\]\!{font-size:12px!important}.ape\:md\:text-\[14px\]{font-size:14px}.ape\:md\:text-\[14px\]\!{font-size:14px!important}.ape\:md\:text-\[16px\]{font-size:16px}.ape\:md\:text-\[18px\]{font-size:18px}.ape\:md\:text-\[20px\]{font-size:20px}.ape\:md\:text-\[24px\]{font-size:24px}.ape\:min-md\:text-\[16px\]{font-size:16px}.ape\:md\:leading-\[21px\]\!{--tw-leading:21px!important;line-height:21px!important}.ape\:md\:font-bold{--tw-font-weight:var(--ape-font-weight-bold);font-weight:var(--ape-font-weight-bold)}@media (hover:hover){.ape\:md\:hover\:z-\[1000\]\!:hover{z-index:1000!important}}}@media (min-width:968px){.ape\:lg\:mt-0{margin-top:0}.ape\:lg\:mr-\[10px\]{margin-right:10px}.ape\:lg\:mr-\[15px\]{margin-right:15px}.ape\:lg\:mb-0{margin-bottom:0}.ape\:lg\:ml-0{margin-left:0}.ape\:lg\:ml-\[10px\]{margin-left:10px}.ape\:lg\:flex{display:flex}.ape\:lg\:inline{display:inline}.ape\:lg\:h-\[40px\]{height:40px}.ape\:lg\:w-1\/2{width:50%}.ape\:lg\:w-\[30\%\]{width:30%}.ape\:lg\:w-\[35\%\]{width:35%}.ape\:lg\:w-\[45\%\]{width:45%}.ape\:lg\:w-\[65\%\]{width:65%}.ape\:lg\:w-\[unset\]{width:unset}.ape\:lg\:w-auto{width:auto}.ape\:lg\:max-w-\[calc\(100\%-35px\)\]{max-width:calc(100% - 35px)}.ape\:lg\:min-w-100{min-width:calc(var(--ape-spacing) * 100)}.ape\:lg\:min-w-\[300px\]\!{min-width:300px!important}.ape\:lg\:min-w-\[400px\]{min-width:400px}.ape\:lg\:flex-row{flex-direction:row}.ape\:lg\:items-center{align-items:center}.ape\:lg\:gap-\[10px\]{gap:10px}.ape\:lg\:gap-\[15px\]{gap:15px}.ape\:lg\:overflow-visible{overflow:visible}.ape\:lg\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:lg\:bg-white4{background-color:var(--ape-color-white4)}.ape\:lg\:bg-\[image\:var\(--banner-bg-desktop\)\]{background-image:var(--banner-bg-desktop)}.ape\:lg\:px-\[10px\]{padding-inline:10px}.ape\:lg\:pr-\[20px\]{padding-right:20px}.ape\:lg\:pb-\[20px\]{padding-bottom:20px}.ape\:lg\:text-\[16px\]\!{font-size:16px!important}.ape\:lg\:leading-6\!{--tw-leading:calc(var(--ape-spacing) * 6)!important;line-height:calc(var(--ape-spacing) * 6)!important}}@media (min-width:1000px){.ape\:min-\[1000px\]\:absolute{position:absolute}.ape\:min-\[1000px\]\:left-\[10px\]{left:10px}.ape\:min-\[1000px\]\:mt-0{margin-top:0}.ape\:min-\[1000px\]\:flex{display:flex}.ape\:min-\[1000px\]\:hidden{display:none}.ape\:min-\[1000px\]\:h-\[70px\]{height:70px}.ape\:min-\[1000px\]\:w-\[30\%\]{width:30%}.ape\:min-\[1000px\]\:w-\[70\%\]{width:70%}.ape\:min-\[1000px\]\:w-\[130px\]{width:130px}.ape\:min-\[1000px\]\:w-\[210px\]{width:210px}.ape\:min-\[1000px\]\:w-\[300px\]{width:300px}.ape\:min-\[1000px\]\:min-w-\[300px\]{min-width:300px}.ape\:min-\[1000px\]\:flex-row{flex-direction:row}.ape\:min-\[1000px\]\:justify-between{justify-content:space-between}.ape\:min-\[1000px\]\:justify-center{justify-content:center}.ape\:min-\[1000px\]\:justify-end{justify-content:flex-end}.ape\:min-\[1000px\]\:p-0{padding:0}.ape\:min-\[1000px\]\:p-\[20px_0_10px_0\]{padding:20px 0 10px}.ape\:min-\[1000px\]\:pr-\[20px\]{padding-right:20px}}@media (min-width:1080px){.ape\:xl\:flex{display:flex}.ape\:xl\:w-\[30\%\]{width:30%}.ape\:xl\:w-\[70\%\]{width:70%}.ape\:xl\:w-\[100px\]{width:100px}.ape\:xl\:w-\[115px\]{width:115px}.ape\:xl\:w-\[135px\]{width:135px}.ape\:xl\:min-w-\[400px\]{min-width:400px}.ape\:xl\:flex-row{flex-direction:row}.ape\:xl\:justify-between{justify-content:space-between}.ape\:xl\:gap-\[30px\]{gap:30px}.ape\:xl\:p-\[20px_0_10px_0\]{padding:20px 0 10px}}@media (min-width:1200px){.ape\:xxl\:flex{display:flex}}.ape\:\[\&_\*\]\:text-\[14px\]\! *{font-size:14px!important}.ape\:\[\&_\*\]\:text-\[18px\]\! *{font-size:18px!important}.ape\:\[\&_\*\]\:text-\[24px\]\! *{font-size:24px!important}.ape\:\[\&_button\]\:ml-auto button,.ape\:\[\&_svg\]\:ml-auto svg{margin-left:auto}.ape\:\[\&_svg\]\:w-\[11px\] svg{width:11px}.ape\:\[\&_svg\]\:cursor-pointer svg{cursor:pointer}.ape\:\[\&_svg\]\:bg-transparent svg{background-color:#0000}.ape\:\[\&_svg\]\:fill-text svg{fill:var(--ape-color-text)}.ape\:\[\&\:\:-webkit-scrollbar\]\:h-\[5px\]::-webkit-scrollbar{height:5px}.ape\:\[\&\>\*\]\:h-\[31px\]\!>*{height:31px!important}.ape\:\[\&\>\*\]\:w-\[210px\]>*{width:210px}.ape\:\[\&\>\*\]\:text-\[14px\]\!>*{font-size:14px!important}@media (min-width:1080px){.ape\:xl\:\[\&\>\*\]\:w-\[100px\]>*{width:100px}}.ape\:\[\&\>div\]\:pt-0\!>div{padding-top:0!important}.ape\:\[\&\>div\:last-child\]\:mr-0>div:last-child{margin-right:0}.ape\:\[\&\>div\>div\]\:bg-white2>div>div{background-color:var(--ape-color-white2)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-outline-style:solid;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--ape-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--ape-font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ape-color-white:#fff;--ape-spacing:.25rem;--ape-text-sm:.875rem;--ape-text-sm--line-height:calc(1.25 / .875);--ape-text-base:1rem;--ape-text-base--line-height:calc(1.5 / 1);--ape-font-weight-light:300;--ape-font-weight-normal:400;--ape-font-weight-medium:500;--ape-font-weight-semibold:600;--ape-font-weight-bold:700;--ape-ease-out:cubic-bezier(0, 0, .2, 1);--ape-ease-in-out:cubic-bezier(.4, 0, .2, 1);--ape-default-transition-duration:.15s;--ape-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--ape-default-font-family:var(--ape-font-sans);--ape-default-mono-font-family:var(--ape-font-mono);--ape-color-white1:#0e0d16;--ape-color-white2:#161420;--ape-color-white3:#1f1d29;--ape-color-white4:#282632;--ape-color-white5:#312f3a;--ape-color-primary-button:#6560c5;--ape-color-primary-button-disable:#48475b;--ape-color-primary-button-hovered:#8480d1;--ape-color-success:#38a611;--ape-color-error:#df4141;--ape-color-text:#fafafa;--ape-color-text-disabled:#424242;--ape-color-text-disabled-button:#73728e;--ape-color-primary-bright:#fafafa;--ape-color-modal-overlay:#42424280;--ape-gradient-abond:linear-gradient(98.79deg, #6560c5 -2.37%, #e07753 100%);--ape-font-body:"Poppins", sans-serif;--ape-radius-small:6px;--ape-radius-default:16px;--ape-radius-normal:10px;--ape-radius-card:32px;--ape-z-index-dropdown:10;--ape-z-index-modal:102}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--ape-default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--ape-default-font-feature-settings,normal);font-variation-settings:var(--ape-default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ape-default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--ape-default-mono-font-feature-settings,normal);font-variation-settings:var(--ape-default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.ape-root{width:100%;min-width:0;font-family:var(--ape-font-body);-webkit-font-smoothing:antialiased;color:var(--ape-color-text);background-color:var(--ape-color-white1);scroll-behavior:smooth;font-weight:600}.ape-root a{color:var(--ape-color-text);text-decoration:none}.ape-root a:hover{color:var(--ape-color-primary-button);text-decoration:underline}.ape-root hr{background-color:var(--ape-color-white3);border:none;height:1px}.ape-root ::-webkit-scrollbar{width:6px}.ape-root ::-webkit-scrollbar-thumb{background:var(--ape-color-text);border-radius:8px}.ape-root ::-webkit-scrollbar-track{background:var(--ape-color-white2);border-radius:10px}}@layer components{@keyframes ape-ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.ape-ellipsis:after{content:".";text-align:left;width:1em;animation:1.25s infinite ape-ellipsis;display:inline-block}.ape-carousel-viewport{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;-webkit-touch-callout:none}.ape-carousel-viewport::-webkit-scrollbar{display:none}.ape-you-tooltip:after{content:"";border-style:solid;border-width:6px;border-color:transparent var(--ape-color-primary-button) transparent transparent;position:absolute;top:50%;left:-11px;transform:translateY(-50%)}.ape-you-card{position:absolute;top:0;right:-45px}.ape-you-card:before{content:"";border:9px solid #0000;border-right-color:var(--ape-color-primary-button);width:0;height:0;display:block;position:absolute;top:50%;right:100%;transform:translateY(-50%)}@keyframes ape-spinner-rotation{0%{transform:rotate(40deg)}to{transform:rotate(400deg)}}.ape-spinner{box-sizing:border-box;border-radius:50%;display:inline-block}.ape-spinner-loading{animation:1s linear infinite ape-spinner-rotation;transform:rotate(40deg)}.ape-icon{fill:currentColor;transition:transform .3s linear}.ape-icon path{fill:currentColor}.ape-text-link{cursor:pointer;text-decoration:none;display:inline-block;position:relative}.ape-text-link:after{content:"";background:var(--ape-color-text);border-radius:var(--ape-radius-normal);transform-origin:100% 100%;backface-visibility:hidden;width:100%;height:1.5px;transition:transform .25s ease-out;position:absolute;bottom:0;left:0;transform:scaleX(0)}.ape-text-link:hover:after{transform-origin:0 100%;transform:scaleX(1)}.ape-tooltip-bubble{color:var(--ape-color-text);border-radius:var(--ape-radius-normal);background-color:var(--ape-tooltip-bg,var(--ape-color-white2));width:max-content;z-index:var(--ape-z-index-modal);padding:20px;font-size:12px;font-weight:600;line-height:18px;position:relative;top:15px;box-shadow:0 0 25px #c8c8c84d}.ape-tooltip-bottom-right:before,.ape-tooltip-bottom-left:before,.ape-tooltip-top-right:before,.ape-tooltip-top-left:before,.ape-tooltip-left:before{content:"";border:12px solid #0000;width:0;display:block;position:absolute}.ape-tooltip-bottom-right:before{border-top:0;border-bottom-style:solid;border-bottom-width:15px;border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));top:0;right:3%;transform:translate(-50%,-100%)}.ape-tooltip-bottom-left:before{border-top:0;border-bottom-style:solid;border-bottom-width:15px;border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));top:0;left:calc(3% + 15px);transform:translate(-50%,-100%)}.ape-tooltip-top-right:before{border-top-style:solid;border-top-width:15px;border-bottom:0;border-top-color:var(--ape-tooltip-bg,var(--ape-color-white2));bottom:0;right:3%;transform:translate(-50%,100%)}.ape-tooltip-top-left:before{border-top-style:solid;border-top-width:15px;border-bottom:0;border-top-color:var(--ape-tooltip-bg,var(--ape-color-white2));bottom:0;left:calc(3% + 15px);transform:translate(-50%,100%)}.ape-tooltip-only-container-right:before{content:"";border-bottom-color:var(--ape-tooltip-bg,var(--ape-color-white2));position:absolute;right:3%}.ape-tooltip-left:before{color:var(--ape-color-white2);border-right:15px solid;top:65%;left:-13px;transform:translate(-50%,-100%)}@keyframes ape-skeleton-waves{0%{left:-150px}to{left:100%}}@keyframes ape-skeleton-pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.ape-skeleton-waves{background-color:var(--ape-color-white2);min-height:16px;display:block;position:relative;overflow:hidden;transform:translate(0)}.ape-skeleton-waves:before{content:"";background-image:linear-gradient(90deg,#0000,#f3f3f34d,#0000);width:250px;height:100%;animation:1.5s cubic-bezier(.4,0,.2,1) infinite ape-skeleton-waves;position:absolute;top:0;left:-150px}.ape-skeleton-pulse{background-color:var(--ape-color-white2);border-radius:2px;min-height:20px;animation:2s ease-out infinite ape-skeleton-pulse;display:block;transform:translate(0)}}@layer utilities{.ape\:pointer-events-none{pointer-events:none}.ape\:absolute{position:absolute}.ape\:fixed{position:fixed}.ape\:relative{position:relative}.ape\:inset-0{inset:0}.ape\:-top-\[15px\]{top:-15px}.ape\:top-0{top:0}.ape\:top-1\/2{top:50%}.ape\:top-\[-180px\]{top:-180px}.ape\:top-\[5px\]{top:5px}.ape\:top-\[12px\]{top:12px}.ape\:top-\[24px\]{top:24px}.ape\:top-\[25px\]{top:25px}.ape\:top-\[45px\]{top:45px}.ape\:top-\[50px\]{top:50px}.ape\:top-\[56\%\]{top:56%}.ape\:right-0{right:0}.ape\:right-3{right:calc(var(--ape-spacing) * 3)}.ape\:right-\[5px\]{right:5px}.ape\:right-\[6px\]{right:6px}.ape\:right-\[10px\]{right:10px}.ape\:right-\[50\%\]{right:50%}.ape\:bottom-0{bottom:0}.ape\:bottom-\[-43px\]{bottom:-43px}.ape\:bottom-\[3px\]{bottom:3px}.ape\:bottom-\[calc\(100\%-10px\)\]{bottom:calc(100% - 10px)}.ape\:bottom-\[unset\]{bottom:unset}.ape\:left-0{left:0}.ape\:left-1\/2{left:50%}.ape\:left-\[-20px\]{left:-20px}.ape\:left-\[-50px\]{left:-50px}.ape\:left-\[1px\]{left:1px}.ape\:left-\[25\%\]{left:25%}.ape\:left-\[40px\]{left:40px}.ape\:left-\[65\%\]{left:65%}.ape\:-z-\[1\]{z-index:calc(1 * -1)}.ape\:z-0{z-index:0}.ape\:z-10{z-index:10}.ape\:z-100{z-index:100}.ape\:z-\[1\]{z-index:1}.ape\:z-\[2\]{z-index:2}.ape\:z-\[5\]{z-index:5}.ape\:z-\[20\]{z-index:20}.ape\:z-\[100\]{z-index:100}.ape\:z-\[103\]{z-index:103}.ape\:z-\[121\]{z-index:121}.ape\:z-\[999\]{z-index:999}.ape\:z-\[1000\]{z-index:1000}.ape\:z-\[1001\]{z-index:1001}.ape\:z-\[5000\]{z-index:5000}.ape\:float-left{float:left}.ape\:m-0{margin:0}.ape\:m-\[0_5px_5px_0\]{margin:0 5px 5px 0}.ape\:m-\[10px_0px_15px_0px\]{margin:10px 0 15px}.ape\:m-auto{margin:auto}.ape\:mx-\[-5px\]{margin-inline:-5px}.ape\:mx-\[-8px\]{margin-inline:-8px}.ape\:mx-\[2\.5px\]{margin-inline:2.5px}.ape\:mx-\[2px\]{margin-inline:2px}.ape\:mx-\[3px\]{margin-inline:3px}.ape\:mx-\[5px\]{margin-inline:5px}.ape\:mx-\[8px\]{margin-inline:8px}.ape\:mx-\[10px\]{margin-inline:10px}.ape\:mx-\[20px\]{margin-inline:20px}.ape\:mx-\[25px\]{margin-inline:25px}.ape\:my-\[2px\]{margin-block:2px}.ape\:my-\[5px\]{margin-block:5px}.ape\:my-\[10px\]{margin-block:10px}.ape\:my-\[15px\]{margin-block:15px}.ape\:my-\[20px\]{margin-block:20px}.ape\:mt-0{margin-top:0}.ape\:mt-0\.75{margin-top:calc(var(--ape-spacing) * .75)}.ape\:mt-2{margin-top:calc(var(--ape-spacing) * 2)}.ape\:mt-2\.5{margin-top:calc(var(--ape-spacing) * 2.5)}.ape\:mt-4{margin-top:calc(var(--ape-spacing) * 4)}.ape\:mt-\[-5px\]{margin-top:-5px}.ape\:mt-\[-15px\]{margin-top:-15px}.ape\:mt-\[3px\]{margin-top:3px}.ape\:mt-\[5px\]{margin-top:5px}.ape\:mt-\[10px\]{margin-top:10px}.ape\:mt-\[15px\]{margin-top:15px}.ape\:mt-\[20px\]{margin-top:20px}.ape\:mt-\[25px\]{margin-top:25px}.ape\:mt-\[30px\]{margin-top:30px}.ape\:mt-\[35px\]{margin-top:35px}.ape\:mt-\[40px\]{margin-top:40px}.ape\:mt-px{margin-top:1px}.ape\:mr-0{margin-right:0}.ape\:mr-1\.25{margin-right:calc(var(--ape-spacing) * 1.25)}.ape\:mr-\[3px\]{margin-right:3px}.ape\:mr-\[4px\]{margin-right:4px}.ape\:mr-\[5px\]{margin-right:5px}.ape\:mr-\[6px\]{margin-right:6px}.ape\:mr-\[8px\]{margin-right:8px}.ape\:mr-\[10px\]{margin-right:10px}.ape\:mr-\[15px\]{margin-right:15px}.ape\:mr-\[20px\]{margin-right:20px}.ape\:mb-1\.25{margin-bottom:calc(var(--ape-spacing) * 1.25)}.ape\:mb-2\.5{margin-bottom:calc(var(--ape-spacing) * 2.5)}.ape\:mb-5{margin-bottom:calc(var(--ape-spacing) * 5)}.ape\:mb-\[1px\]{margin-bottom:1px}.ape\:mb-\[3px\]{margin-bottom:3px}.ape\:mb-\[5px\]{margin-bottom:5px}.ape\:mb-\[8px\]{margin-bottom:8px}.ape\:mb-\[10px\]{margin-bottom:10px}.ape\:mb-\[14px\]{margin-bottom:14px}.ape\:mb-\[15px\]{margin-bottom:15px}.ape\:mb-\[20px\]{margin-bottom:20px}.ape\:mb-\[30px\]{margin-bottom:30px}.ape\:mb-\[50px\]{margin-bottom:50px}.ape\:ml-0{margin-left:0}.ape\:ml-1{margin-left:var(--ape-spacing)}.ape\:ml-3\.5{margin-left:calc(var(--ape-spacing) * 3.5)}.ape\:ml-3\.75{margin-left:calc(var(--ape-spacing) * 3.75)}.ape\:ml-5{margin-left:calc(var(--ape-spacing) * 5)}.ape\:ml-\[3px\]{margin-left:3px}.ape\:ml-\[4px\]{margin-left:4px}.ape\:ml-\[5px\]{margin-left:5px}.ape\:ml-\[6px\]{margin-left:6px}.ape\:ml-\[7px\]{margin-left:7px}.ape\:ml-\[10px\]{margin-left:10px}.ape\:ml-\[15px\]{margin-left:15px}.ape\:ml-\[20px\]{margin-left:20px}.ape\:ml-\[30px\]{margin-left:30px}.ape\:line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ape\:block{display:block}.ape\:block\!{display:block!important}.ape\:flex{display:flex}.ape\:hidden{display:none}.ape\:hidden\!{display:none!important}.ape\:inline-flex{display:inline-flex}.ape\:aspect-\[1\/0\.56\]{aspect-ratio:1/.56}.ape\:size-full{width:100%;height:100%}.ape\:h-7\.5{height:calc(var(--ape-spacing) * 7.5)}.ape\:h-8{height:calc(var(--ape-spacing) * 8)}.ape\:h-10{height:calc(var(--ape-spacing) * 10)}.ape\:h-11\.25{height:calc(var(--ape-spacing) * 11.25)}.ape\:h-\[2px\]{height:2px}.ape\:h-\[3px\]{height:3px}.ape\:h-\[5px\]{height:5px}.ape\:h-\[14px\]{height:14px}.ape\:h-\[15px\]{height:15px}.ape\:h-\[18px\]{height:18px}.ape\:h-\[20px\]{height:20px}.ape\:h-\[21px\]{height:21px}.ape\:h-\[22px\]{height:22px}.ape\:h-\[24px\]{height:24px}.ape\:h-\[25px\]{height:25px}.ape\:h-\[26px\]{height:26px}.ape\:h-\[30px\]{height:30px}.ape\:h-\[30vh\]{height:30vh}.ape\:h-\[31px\]{height:31px}.ape\:h-\[32px\]{height:32px}.ape\:h-\[34px\]{height:34px}.ape\:h-\[35px\]{height:35px}.ape\:h-\[36px\]{height:36px}.ape\:h-\[36px\]\!{height:36px!important}.ape\:h-\[40px\]{height:40px}.ape\:h-\[45px\]{height:45px}.ape\:h-\[49px\]{height:49px}.ape\:h-\[60px\]{height:60px}.ape\:h-\[70px\]{height:70px}.ape\:h-\[75px\]{height:75px}.ape\:h-\[84px\]{height:84px}.ape\:h-\[91px\]{height:91px}.ape\:h-\[125px\]{height:125px}.ape\:h-\[300px\]{height:300px}.ape\:h-\[400px\]{height:400px}.ape\:h-\[725px\]{height:725px}.ape\:h-\[calc\(100\%\+20px\)\]{height:calc(100% + 20px)}.ape\:h-\[calc\(100\%-150px\)\]{height:calc(100% - 150px)}.ape\:h-\[unset\]{height:unset}.ape\:h-auto{height:auto}.ape\:h-fit{height:fit-content}.ape\:h-full{height:100%}.ape\:h-px{height:1px}.ape\:h-screen{height:100vh}.ape\:max-h-\[32px\]{max-height:32px}.ape\:max-h-\[48px\]{max-height:48px}.ape\:max-h-\[95vh\]{max-height:95vh}.ape\:max-h-\[300px\]{max-height:300px}.ape\:max-h-none{max-height:none}.ape\:min-h-4{min-height:calc(var(--ape-spacing) * 4)}.ape\:min-h-23{min-height:calc(var(--ape-spacing) * 23)}.ape\:min-h-\[27px\]{min-height:27px}.ape\:min-h-\[30px\]{min-height:30px}.ape\:min-h-\[40px\]{min-height:40px}.ape\:min-h-\[47\.45px\]{min-height:47.45px}.ape\:min-h-\[90px\]{min-height:90px}.ape\:min-h-\[160px\]{min-height:160px}.ape\:min-h-\[225px\]{min-height:225px}.ape\:min-h-\[330px\]{min-height:330px}.ape\:w-1\/2{width:50%}.ape\:w-1\/5{width:20%}.ape\:w-7\!{width:calc(var(--ape-spacing) * 7)!important}.ape\:w-43\.75{width:calc(var(--ape-spacing) * 43.75)}.ape\:w-85{width:calc(var(--ape-spacing) * 85)}.ape\:w-95{width:calc(var(--ape-spacing) * 95)}.ape\:w-\[6px\]{width:6px}.ape\:w-\[8px\]{width:8px}.ape\:w-\[14px\]{width:14px}.ape\:w-\[15px\]{width:15px}.ape\:w-\[20px\]{width:20px}.ape\:w-\[25px\]{width:25px}.ape\:w-\[30px\]{width:30px}.ape\:w-\[32\%\]{width:32%}.ape\:w-\[34\%\]{width:34%}.ape\:w-\[35px\]{width:35px}.ape\:w-\[36\%\]{width:36%}.ape\:w-\[40px\]{width:40px}.ape\:w-\[45\%\]{width:45%}.ape\:w-\[49\%\]{width:49%}.ape\:w-\[50px\]{width:50px}.ape\:w-\[55px\]{width:55px}.ape\:w-\[60px\]{width:60px}.ape\:w-\[65\%\]{width:65%}.ape\:w-\[75\%\]{width:75%}.ape\:w-\[85px\]{width:85px}.ape\:w-\[98vw\]{width:98vw}.ape\:w-\[100px\]{width:100px}.ape\:w-\[110px\]{width:110px}.ape\:w-\[115px\]{width:115px}.ape\:w-\[120px\]{width:120px}.ape\:w-\[122px\]{width:122px}.ape\:w-\[125px\]{width:125px}.ape\:w-\[127px\]{width:127px}.ape\:w-\[130px\]{width:130px}.ape\:w-\[135px\]{width:135px}.ape\:w-\[144px\]{width:144px}.ape\:w-\[155px\]{width:155px}.ape\:w-\[160px\]{width:160px}.ape\:w-\[170px\]{width:170px}.ape\:w-\[175px\]{width:175px}.ape\:w-\[190px\]{width:190px}.ape\:w-\[210px\]{width:210px}.ape\:w-\[220px\]{width:220px}.ape\:w-\[235px\]{width:235px}.ape\:w-\[300px\]{width:300px}.ape\:w-\[380px\]{width:380px}.ape\:w-\[380px\]\!{width:380px!important}.ape\:w-\[400px\]{width:400px}.ape\:w-\[420px\]{width:420px}.ape\:w-\[450px\]{width:450px}.ape\:w-\[480px\]{width:480px}.ape\:w-\[500px\]{width:500px}.ape\:w-\[740px\]\!{width:740px!important}.ape\:w-\[calc\(33\.33\%-20px\)\]{width:calc(33.33% - 20px)}.ape\:w-\[calc\(50vw-25px\)\]{width:calc(50vw - 25px)}.ape\:w-\[calc\(100\%\+40px\)\]{width:calc(100% + 40px)}.ape\:w-\[calc\(100\%-2px\)\]{width:calc(100% - 2px)}.ape\:w-auto{width:auto}.ape\:w-fit{width:fit-content}.ape\:w-full{width:100%}.ape\:w-max{width:max-content}.ape\:w-screen{width:100vw}.ape\:max-w-75{max-width:calc(var(--ape-spacing) * 75)}.ape\:max-w-85{max-width:calc(var(--ape-spacing) * 85)}.ape\:max-w-\[95vw\]{max-width:95vw}.ape\:max-w-\[100px\]{max-width:100px}.ape\:max-w-\[300px\]{max-width:300px}.ape\:max-w-full{max-width:100%}.ape\:min-w-\[10px\]{min-width:10px}.ape\:min-w-\[14px\]{min-width:14px}.ape\:min-w-\[20px\]{min-width:20px}.ape\:min-w-\[25px\]{min-width:25px}.ape\:min-w-\[30px\]{min-width:30px}.ape\:min-w-\[33px\]{min-width:33px}.ape\:min-w-\[40px\]{min-width:40px}.ape\:min-w-\[48px\]{min-width:48px}.ape\:min-w-\[65px\]{min-width:65px}.ape\:min-w-\[100px\]{min-width:100px}.ape\:min-w-\[120px\]{min-width:120px}.ape\:min-w-\[148px\]{min-width:148px}.ape\:min-w-\[250px\]{min-width:250px}.ape\:min-w-\[700px\]{min-width:700px}.ape\:min-w-\[unset\]{min-width:unset}.ape\:min-w-full{min-width:100%}.ape\:\[flex\:0_0_100\%\]{flex:0 0 100%}.ape\:flex-1{flex:1}.ape\:shrink-0{flex-shrink:0}.ape\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:translate-x-1\/2{--tw-translate-x:calc(1 / 2 * 100%);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:translate-x-\[50\%\]{--tw-translate-x:50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:scale-\[0\.5\]{scale:.5}.ape\:rotate-\[-45deg\]{rotate:-45deg}.ape\:cursor-\[unset\]{cursor:unset}.ape\:cursor-pointer{cursor:pointer}.ape\:snap-center{scroll-snap-align:center}.ape\:list-none{list-style-type:none}.ape\:appearance-none{appearance:none}.ape\:flex-col{flex-direction:column}.ape\:flex-col-reverse{flex-direction:column-reverse}.ape\:flex-row{flex-direction:row}.ape\:flex-row-reverse{flex-direction:row-reverse}.ape\:flex-wrap{flex-wrap:wrap}.ape\:items-center{align-items:center}.ape\:items-end{align-items:flex-end}.ape\:items-start{align-items:flex-start}.ape\:items-stretch{align-items:stretch}.ape\:justify-around{justify-content:space-around}.ape\:justify-between{justify-content:space-between}.ape\:justify-center{justify-content:center}.ape\:justify-end{justify-content:flex-end}.ape\:justify-start{justify-content:flex-start}.ape\:gap-1{gap:var(--ape-spacing)}.ape\:gap-2\.5{gap:calc(var(--ape-spacing) * 2.5)}.ape\:gap-\[1px\]{gap:1px}.ape\:gap-\[3px\]{gap:3px}.ape\:gap-\[4px\]{gap:4px}.ape\:gap-\[5px\]{gap:5px}.ape\:gap-\[7px\]{gap:7px}.ape\:gap-\[8px\]{gap:8px}.ape\:gap-\[10px\]{gap:10px}.ape\:gap-\[14px\]{gap:14px}.ape\:gap-\[15px\]{gap:15px}.ape\:gap-\[20px\]{gap:20px}.ape\:overflow-hidden{overflow:hidden}.ape\:overflow-x-auto{overflow-x:auto}.ape\:overflow-x-hidden{overflow-x:hidden}.ape\:overflow-x-visible{overflow-x:visible}.ape\:\[overflow-y\:unset\]\!{overflow-y:unset!important}.ape\:overflow-y-auto{overflow-y:auto}.ape\:overflow-y-hidden{overflow-y:hidden}.ape\:overflow-y-scroll{overflow-y:scroll}.ape\:rounded-\[0_0_10px_10px\],.ape\:rounded-\[0px_0px_10px_10px\]{border-radius:0 0 10px 10px}.ape\:rounded-\[0px_10px_10px_0px\]{border-radius:0 10px 10px 0}.ape\:rounded-\[4px\]{border-radius:4px}.ape\:rounded-\[5px\]{border-radius:5px}.ape\:rounded-\[6px\]{border-radius:6px}.ape\:rounded-\[6px_6px_0px_0px\]{border-radius:6px 6px 0 0}.ape\:rounded-\[8px\]{border-radius:8px}.ape\:rounded-\[10px\]{border-radius:10px}.ape\:rounded-\[10px_0px_10px_0px\]{border-radius:10px 0}.ape\:rounded-\[10px_10px_0_0\],.ape\:rounded-\[10px_10px_0px_0px\]{border-radius:10px 10px 0 0}.ape\:rounded-\[14px\]{border-radius:14px}.ape\:rounded-\[40px\]{border-radius:40px}.ape\:rounded-\[50\%\]{border-radius:50%}.ape\:rounded-\[50px\]{border-radius:50px}.ape\:rounded-full{border-radius:3.40282e38px}.ape\:rounded-none{border-radius:0}.ape\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:rounded-small{border-radius:var(--ape-radius-small)}.ape\:rounded-tl-\[10px\]{border-top-left-radius:10px}.ape\:rounded-br-\[8px\]{border-bottom-right-radius:8px}.ape\:border{border-style:var(--tw-border-style);border-width:1px}.ape\:border-0{border-style:var(--tw-border-style);border-width:0}.ape\:border-2{border-style:var(--tw-border-style);border-width:2px}.ape\:border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.ape\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ape\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ape\:border-none{--tw-border-style:none;border-style:none}.ape\:border-solid{--tw-border-style:solid;border-style:solid}.ape\:border-\[\#9960C5\]{border-color:#9960c5}.ape\:border-\[\#222222\]{border-color:#222}.ape\:border-\[grey\]{border-color:gray}.ape\:border-primary-button{border-color:var(--ape-color-primary-button)}.ape\:border-success{border-color:var(--ape-color-success)}.ape\:border-text{border-color:var(--ape-color-text)}.ape\:border-white2{border-color:var(--ape-color-white2)}.ape\:border-white3{border-color:var(--ape-color-white3)}.ape\:border-white4{border-color:var(--ape-color-white4)}.ape\:bg-\[\#38A6110D\]{background-color:#38a6110d}.ape\:bg-\[\#9960C5\]{background-color:#9960c5}.ape\:bg-\[\#DE62F366\]{background-color:#de62f366}.ape\:bg-\[grey\]{background-color:gray}.ape\:bg-modal-overlay{background-color:var(--ape-color-modal-overlay)}.ape\:bg-primary-button{background-color:var(--ape-color-primary-button)}.ape\:bg-text{background-color:var(--ape-color-text)}.ape\:bg-text-disabled{background-color:var(--ape-color-text-disabled)}.ape\:bg-transparent{background-color:#0000}.ape\:bg-transparent\!{background-color:#0000!important}.ape\:bg-white{background-color:var(--ape-color-white)}.ape\:bg-white1{background-color:var(--ape-color-white1)}.ape\:bg-white2{background-color:var(--ape-color-white2)}.ape\:bg-white2\!{background-color:var(--ape-color-white2)!important}.ape\:bg-white3{background-color:var(--ape-color-white3)}.ape\:bg-white4{background-color:var(--ape-color-white4)}.ape\:bg-\[image\:var\(--ape-gradient-abond\)\]{background-image:var(--ape-gradient-abond)}.ape\:bg-\[image\:var\(--banner-bg-mobile\)\]{background-image:var(--banner-bg-mobile)}.ape\:bg-\[linear-gradient\(180deg\,\#FFFFFF_50\%\,\#666666_100\%\)\]{background-image:linear-gradient(#fff 50%,#666 100%)}.ape\:bg-cover{background-size:cover}.ape\:bg-clip-text{-webkit-background-clip:text;background-clip:text}.ape\:bg-no-repeat{background-repeat:no-repeat}.ape\:object-contain{object-fit:contain}.ape\:object-cover{object-fit:cover}.ape\:p-0{padding:0}.ape\:p-0\!{padding:0!important}.ape\:p-2{padding:calc(var(--ape-spacing) * 2)}.ape\:p-2\.5{padding:calc(var(--ape-spacing) * 2.5)}.ape\:p-3{padding:calc(var(--ape-spacing) * 3)}.ape\:p-3\.75{padding:calc(var(--ape-spacing) * 3.75)}.ape\:p-5{padding:calc(var(--ape-spacing) * 5)}.ape\:p-\[0_1px\]{padding:0 1px}.ape\:p-\[0_20px_20px_20px\]{padding:0 20px 20px}.ape\:p-\[0px_8px\]\!{padding:0 8px!important}.ape\:p-\[2\.5px_5px\]{padding:2.5px 5px}.ape\:p-\[2px\]{padding:2px}.ape\:p-\[2px_5px\]{padding:2px 5px}.ape\:p-\[2px_6px\]{padding:2px 6px}.ape\:p-\[2px_8px\]{padding:2px 8px}.ape\:p-\[2px_10px\]{padding:2px 10px}.ape\:p-\[2px_10px_2px_5px\]{padding:2px 10px 2px 5px}.ape\:p-\[3px_6px\]{padding:3px 6px}.ape\:p-\[4px_2px\]{padding:4px 2px}.ape\:p-\[4px_6px\]{padding:4px 6px}.ape\:p-\[4px_10px\]{padding:4px 10px}.ape\:p-\[5px\]{padding:5px}.ape\:p-\[5px_10px\]{padding:5px 10px}.ape\:p-\[5px_15px\]{padding:5px 15px}.ape\:p-\[5px_20px\]{padding:5px 20px}.ape\:p-\[6px\]{padding:6px}.ape\:p-\[6px_12px\]{padding:6px 12px}.ape\:p-\[8px\]{padding:8px}.ape\:p-\[8px_4px_4px_4px\]{padding:8px 4px 4px}.ape\:p-\[8px_10px\]{padding:8px 10px}.ape\:p-\[8px_12px\]{padding:8px 12px}.ape\:p-\[8px_16px\]{padding:8px 16px}.ape\:p-\[10px\]{padding:10px}.ape\:p-\[15px\]{padding:15px}.ape\:p-\[15px_20px_5px_20px\]{padding:15px 20px 5px}.ape\:p-\[16px\]{padding:16px}.ape\:p-\[20px\]{padding:20px}.ape\:p-px{padding:1px}.ape\:px-2\.5{padding-inline:calc(var(--ape-spacing) * 2.5)}.ape\:px-6{padding-inline:calc(var(--ape-spacing) * 6)}.ape\:px-\[3px\]{padding-inline:3px}.ape\:px-\[4px\]{padding-inline:4px}.ape\:px-\[5px\]{padding-inline:5px}.ape\:px-\[6px\]{padding-inline:6px}.ape\:px-\[8px\]{padding-inline:8px}.ape\:px-\[10px\]{padding-inline:10px}.ape\:px-\[14px\]{padding-inline:14px}.ape\:px-\[15px\]{padding-inline:15px}.ape\:px-\[19px\]{padding-inline:19px}.ape\:py-2\.5{padding-block:calc(var(--ape-spacing) * 2.5)}.ape\:py-\[2px\]{padding-block:2px}.ape\:py-\[3px\]{padding-block:3px}.ape\:py-\[5px\]{padding-block:5px}.ape\:py-\[6px\]{padding-block:6px}.ape\:py-\[10px\]{padding-block:10px}.ape\:py-\[14px\]{padding-block:14px}.ape\:pt-1\.25{padding-top:calc(var(--ape-spacing) * 1.25)}.ape\:pt-3\!{padding-top:calc(var(--ape-spacing) * 3)!important}.ape\:pt-4{padding-top:calc(var(--ape-spacing) * 4)}.ape\:pt-\[2px\]{padding-top:2px}.ape\:pt-\[3px\]{padding-top:3px}.ape\:pt-\[5px\]{padding-top:5px}.ape\:pt-\[10px\]{padding-top:10px}.ape\:pt-\[15px\]{padding-top:15px}.ape\:pt-\[20px\]{padding-top:20px}.ape\:pt-\[100px\]{padding-top:100px}.ape\:pr-0{padding-right:0}.ape\:pr-1\.25{padding-right:calc(var(--ape-spacing) * 1.25)}.ape\:pr-\[4px\]{padding-right:4px}.ape\:pr-\[14px\]{padding-right:14px}.ape\:pr-\[15px\]{padding-right:15px}.ape\:pr-\[20px\]{padding-right:20px}.ape\:pr-\[23px\]{padding-right:23px}.ape\:pb-\[2px\]{padding-bottom:2px}.ape\:pb-\[10px\]{padding-bottom:10px}.ape\:pb-\[20px\]{padding-bottom:20px}.ape\:pb-\[100px\]{padding-bottom:100px}.ape\:pl-0{padding-left:0}.ape\:pl-0\!{padding-left:0!important}.ape\:pl-1\.25{padding-left:calc(var(--ape-spacing) * 1.25)}.ape\:pl-\[5px\]{padding-left:5px}.ape\:pl-\[10px\]{padding-left:10px}.ape\:pl-\[15px\]{padding-left:15px}.ape\:pl-\[20px\]{padding-left:20px}.ape\:pl-\[26px\]{padding-left:26px}.ape\:pl-\[35px\]{padding-left:35px}.ape\:text-center{text-align:center}.ape\:text-left{text-align:left}.ape\:align-middle{vertical-align:middle}.ape\:align-sub{vertical-align:sub}.ape\:font-body{font-family:var(--ape-font-body)}.ape\:text-base{font-size:var(--ape-text-base);line-height:var(--tw-leading,var(--ape-text-base--line-height))}.ape\:text-sm{font-size:var(--ape-text-sm);line-height:var(--tw-leading,var(--ape-text-sm--line-height))}.ape\:text-sm\!{font-size:var(--ape-text-sm)!important;line-height:var(--tw-leading,var(--ape-text-sm--line-height))!important}.ape\:text-\[10px\]{font-size:10px}.ape\:text-\[10px\]\!{font-size:10px!important}.ape\:text-\[11px\]{font-size:11px}.ape\:text-\[12px\]{font-size:12px}.ape\:text-\[12px\]\!{font-size:12px!important}.ape\:text-\[13px\]{font-size:13px}.ape\:text-\[13px\]\!{font-size:13px!important}.ape\:text-\[14\.26px\]{font-size:14.26px}.ape\:text-\[14px\]{font-size:14px}.ape\:text-\[14px\]\!{font-size:14px!important}.ape\:text-\[16px\]{font-size:16px}.ape\:text-\[18px\]{font-size:18px}.ape\:text-\[18px\]\!{font-size:18px!important}.ape\:text-\[20px\]{font-size:20px}.ape\:text-\[22px\]{font-size:22px}.ape\:text-\[24px\]{font-size:24px}.ape\:text-\[24px\]\!{font-size:24px!important}.ape\:text-\[25\.26px\]{font-size:25.26px}.ape\:text-\[32px\]{font-size:32px}.ape\:leading-4{--tw-leading:calc(var(--ape-spacing) * 4);line-height:calc(var(--ape-spacing) * 4)}.ape\:leading-4\!{--tw-leading:calc(var(--ape-spacing) * 4)!important;line-height:calc(var(--ape-spacing) * 4)!important}.ape\:leading-5{--tw-leading:calc(var(--ape-spacing) * 5);line-height:calc(var(--ape-spacing) * 5)}.ape\:leading-5\.5\!{--tw-leading:calc(var(--ape-spacing) * 5.5)!important;line-height:calc(var(--ape-spacing) * 5.5)!important}.ape\:leading-\[11px\]{--tw-leading:11px;line-height:11px}.ape\:leading-\[12px\]{--tw-leading:12px;line-height:12px}.ape\:leading-\[13px\]{--tw-leading:13px;line-height:13px}.ape\:leading-\[14px\]{--tw-leading:14px;line-height:14px}.ape\:leading-\[15px\]{--tw-leading:15px;line-height:15px}.ape\:leading-\[18px\]{--tw-leading:18px;line-height:18px}.ape\:leading-\[18px\]\!{--tw-leading:18px!important;line-height:18px!important}.ape\:leading-\[21px\]{--tw-leading:21px;line-height:21px}.ape\:leading-\[22px\]{--tw-leading:22px;line-height:22px}.ape\:leading-\[24px\]{--tw-leading:24px;line-height:24px}.ape\:leading-\[28px\]{--tw-leading:28px;line-height:28px}.ape\:leading-\[30\.26px\]{--tw-leading:30.26px;line-height:30.26px}.ape\:leading-\[33px\]{--tw-leading:33px;line-height:33px}.ape\:font-bold{--tw-font-weight:var(--ape-font-weight-bold);font-weight:var(--ape-font-weight-bold)}.ape\:font-light{--tw-font-weight:var(--ape-font-weight-light);font-weight:var(--ape-font-weight-light)}.ape\:font-medium{--tw-font-weight:var(--ape-font-weight-medium);font-weight:var(--ape-font-weight-medium)}.ape\:font-normal{--tw-font-weight:var(--ape-font-weight-normal);font-weight:var(--ape-font-weight-normal)}.ape\:font-semibold{--tw-font-weight:var(--ape-font-weight-semibold);font-weight:var(--ape-font-weight-semibold)}.ape\:tracking-\[0\]{--tw-tracking:0;letter-spacing:0}.ape\:break-all{word-break:break-all}.ape\:text-ellipsis{text-overflow:ellipsis}.ape\:whitespace-nowrap{white-space:nowrap}.ape\:text-\[\#777\]{color:#777}.ape\:text-error{color:var(--ape-color-error)}.ape\:text-primary-bright{color:var(--ape-color-primary-bright)}.ape\:text-primary-button{color:var(--ape-color-primary-button)}.ape\:text-primary-button-disable{color:var(--ape-color-primary-button-disable)}.ape\:text-success{color:var(--ape-color-success)}.ape\:text-text{color:var(--ape-color-text)}.ape\:text-text-disabled{color:var(--ape-color-text-disabled)}.ape\:text-text-disabled-button{color:var(--ape-color-text-disabled-button)}.ape\:text-transparent{color:#0000}.ape\:text-white{color:var(--ape-color-white)}.ape\:capitalize{text-transform:capitalize}.ape\:normal-case{text-transform:none}.ape\:uppercase{text-transform:uppercase}.ape\:line-through{text-decoration-line:line-through}.ape\:no-underline{text-decoration-line:none}.ape\:underline{text-decoration-line:underline}.ape\:opacity-0{opacity:0}.ape\:opacity-20{opacity:.2}.ape\:opacity-50{opacity:.5}.ape\:opacity-60{opacity:.6}.ape\:opacity-70{opacity:.7}.ape\:opacity-80{opacity:.8}.ape\:opacity-90{opacity:.9}.ape\:shadow-\[0px_1px_4px_rgb\(0_0_0\/0\.16\)\]{--tw-shadow:0px 1px 4px var(--tw-shadow-color,#00000029);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:shadow-\[rgba\(0\,0\,0\,0\.16\)_0px_1px_4px\]{--tw-shadow-color:#00000029}@supports (color:color-mix(in lab, red, red)){.ape\:shadow-\[rgba\(0\,0\,0\,0\.16\)_0px_1px_4px\]{--tw-shadow-color:color-mix(in oklab, #00000029 0px 1px 4px var(--tw-shadow-alpha), transparent)}}.ape\:blur-\[1px\]{--tw-blur:blur(1px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ape\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--ape-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ape-default-transition-duration))}.ape\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ape\:duration-500{--tw-duration:.5s;transition-duration:.5s}.ape\:duration-1000{--tw-duration:1s;transition-duration:1s}.ape\:duration-\[1500ms\]{--tw-duration:1.5s;transition-duration:1.5s}.ape\:ease-\[ease\]{--tw-ease:ease;transition-timing-function:ease}.ape\:ease-in-out{--tw-ease:var(--ape-ease-in-out);transition-timing-function:var(--ape-ease-in-out)}.ape\:ease-linear{--tw-ease:linear;transition-timing-function:linear}.ape\:ease-out{--tw-ease:var(--ape-ease-out);transition-timing-function:var(--ape-ease-out)}.ape\:outline-none{--tw-outline-style:none;outline-style:none}.ape\:select-none{-webkit-user-select:none;user-select:none}.ape\:\[-webkit-text-fill-color\:transparent\]{-webkit-text-fill-color:transparent}@media (hover:hover){.ape\:group-hover\:bg-\[rgb\(20_18_29_\/_0\.25\)\]\!:is(:where(.ape\:group):hover *){background-color:#14121d40!important}.ape\:group-hover\/tooltip\:block:is(:where(.ape\:group\/tooltip):hover *){display:block}}.ape\:peer-checked\:block:is(:where(.ape\:peer):checked~*){display:block}.ape\:first\:rounded-t-normal:first-child{border-top-left-radius:var(--ape-radius-normal);border-top-right-radius:var(--ape-radius-normal)}.ape\:last\:mr-0:last-child{margin-right:0}.ape\:last\:rounded-b-normal:last-child{border-bottom-right-radius:var(--ape-radius-normal);border-bottom-left-radius:var(--ape-radius-normal)}.ape\:checked\:border-primary-button:checked{border-color:var(--ape-color-primary-button)}.ape\:checked\:bg-primary-button:checked{background-color:var(--ape-color-primary-button)}@media (hover:hover){.ape\:hover\:z-\[1000\]:hover{z-index:1000}.ape\:hover\:cursor-pointer:hover{cursor:pointer}.ape\:hover\:bg-\[rgb\(20_18_29_\/_0\.36\)\]\!:hover{background-color:#14121d5c!important}.ape\:hover\:bg-white3:hover{background-color:var(--ape-color-white3)}.ape\:hover\:bg-white4:hover{background-color:var(--ape-color-white4)}.ape\:hover\:bg-white5:hover{background-color:var(--ape-color-white5)}.ape\:hover\:underline:hover{text-decoration-line:underline}.ape\:hover\:opacity-60:hover{opacity:.6}.ape\:hover\:opacity-80:hover{opacity:.8}.ape\:hover\:brightness-115:hover{--tw-brightness:brightness(115%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.ape\:hover\:\[backdrop-filter\:blur\(2px\)\]:hover{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ape\:hover\:\[background\:linear-gradient\(90deg\,rgba\(49\,46\,122\,0\.70\)_0\%\,rgba\(92\,79\,174\,0\.70\)_100\%\)\]:hover{background:linear-gradient(90deg,#312e7ab3 0%,#5c4faeb3 100%)}}.ape\:focus\:outline:focus,.ape\:focus\:outline-1:focus{outline-style:var(--tw-outline-style);outline-width:1px}.ape\:focus\:outline-primary-button:focus{outline-color:var(--ape-color-primary-button)}.ape\:focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.ape\:focus\:not-checked\:shadow-none:focus:not(:checked){--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ape\:focus\:not-checked\:outline-none:focus:not(:checked){--tw-outline-style:none;outline-style:none}.ape\:active\:scale-90:active{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}@media (hover:hover){.ape\:enabled\:hover\:border-primary-button-hovered:enabled:hover{border-color:var(--ape-color-primary-button-hovered)}.ape\:enabled\:hover\:bg-primary-button:enabled:hover{background-color:var(--ape-color-primary-button)}.ape\:enabled\:hover\:bg-primary-button-hovered:enabled:hover{background-color:var(--ape-color-primary-button-hovered)}.ape\:enabled\:hover\:text-text:enabled:hover{color:var(--ape-color-text)}.ape\:enabled\:hover\:not-checked\:border-primary-button:enabled:hover:not(:checked){border-color:var(--ape-color-primary-button)}}.ape\:active\:enabled\:scale-90:active:enabled{--tw-scale-x:90%;--tw-scale-y:90%;--tw-scale-z:90%;scale:var(--tw-scale-x) var(--tw-scale-y)}.ape\:disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.ape\:disabled\:border-transparent:disabled{border-color:#0000}.ape\:disabled\:bg-white3:disabled{background-color:var(--ape-color-white3)}.ape\:disabled\:text-primary-button-disable:disabled{color:var(--ape-color-primary-button-disable)}.ape\:disabled\:text-text-disabled-button:disabled{color:var(--ape-color-text-disabled-button)}.ape\:disabled\:opacity-90:disabled{opacity:.9}@media not all and (min-width:1000px){.ape\:max-\[1000px\]\:w-\[49\%\]{width:49%}}@media not all and (min-width:852px){.ape\:max-md\:mb-\[10px\]{margin-bottom:10px}}@media not all and (min-width:768px){.ape\:max-\[768px\]\:w-full{width:100%}}@media not all and (min-width:576px){.ape\:max-sm\:mb-\[10px\]{margin-bottom:10px}.ape\:max-sm\:w-1\/2{width:50%}.ape\:max-sm\:w-\[55\%\]{width:55%}.ape\:max-sm\:text-\[12px\]{font-size:12px}.ape\:max-sm\:text-\[18px\]{font-size:18px}.ape\:max-sm\:leading-\[14px\]{--tw-leading:14px;line-height:14px}.ape\:max-sm\:leading-\[21px\]{--tw-leading:21px;line-height:21px}}@media (min-width:513px){.ape\:min-\[513px\]\:justify-center{justify-content:center}.ape\:min-\[513px\]\:pl-0{padding-left:0}}@media (min-width:576px){.ape\:sm\:top-\[-240px\]{top:-240px}.ape\:sm\:ml-2{margin-left:calc(var(--ape-spacing) * 2)}.ape\:sm\:ml-5{margin-left:calc(var(--ape-spacing) * 5)}.ape\:sm\:max-w-\[190px\]{max-width:190px}.ape\:sm\:justify-start{justify-content:flex-start}.ape\:sm\:text-\[16px\]\!{font-size:16px!important}}@media (min-width:800px){.ape\:min-\[800px\]\:max-h-none{max-height:none}.ape\:min-\[800px\]\:w-\[350px\]{width:350px}.ape\:min-\[800px\]\:flex-col{flex-direction:column}.ape\:min-\[800px\]\:flex-row{flex-direction:row}.ape\:min-\[800px\]\:gap-\[5px\]{gap:5px}.ape\:min-\[800px\]\:p-\[12px\]{padding:12px}.ape\:min-\[800px\]\:p-\[20px\]{padding:20px}.ape\:min-\[800px\]\:pb-\[5px\]{padding-bottom:5px}@media not all and (min-width:1000px){.ape\:min-\[800px\]\:max-\[1000px\]\:bg-bottom{background-position:bottom}}}@media (min-width:852px){.ape\:md\:top-\[20px\]{top:20px}.ape\:md\:top-\[unset\]{top:unset}.ape\:md\:right-\[-13\%\]{right:-13%}.ape\:md\:right-\[-50px\]{right:-50px}.ape\:md\:-bottom-12\.5{bottom:calc(var(--ape-spacing) * -12.5)}.ape\:md\:bottom-\[-15px\]{bottom:-15px}.ape\:md\:bottom-\[unset\]{bottom:unset}.ape\:md\:mt-0{margin-top:0}.ape\:md\:mt-\[5px\]{margin-top:5px}.ape\:md\:mr-\[15px\]{margin-right:15px}.ape\:md\:mb-0{margin-bottom:0}.ape\:md\:ml-\[5px\]{margin-left:5px}.ape\:md\:block{display:block}.ape\:md\:flex{display:flex}.ape\:md\:flex\!{display:flex!important}.ape\:md\:hidden{display:none}.ape\:md\:hidden\!{display:none!important}.ape\:md\:h-\[200px\]{height:200px}.ape\:md\:h-\[225px\]{height:225px}.ape\:md\:max-h-\[350px\]{max-height:350px}.ape\:md\:min-h-\[430px\]{min-height:430px}.ape\:md\:w-1\/2{width:50%}.ape\:md\:w-87\.5{width:calc(var(--ape-spacing) * 87.5)}.ape\:md\:w-175{width:calc(var(--ape-spacing) * 175)}.ape\:md\:w-\[35\%\]{width:35%}.ape\:md\:w-\[150px\]{width:150px}.ape\:md\:w-\[180px\]{width:180px}.ape\:md\:w-\[200px\]{width:200px}.ape\:md\:w-\[225px\]{width:225px}.ape\:md\:w-\[300px\]{width:300px}.ape\:md\:w-\[calc\(100\%-300px\)\]{width:calc(100% - 300px)}.ape\:md\:w-\[unset\]{width:unset}.ape\:md\:w-full{width:100%}.ape\:md\:-translate-x-1\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:-translate-y-3\/4{--tw-translate-y:calc(calc(3 / 4 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.ape\:md\:scale-\[0\.4\]{scale:.4}.ape\:md\:flex-col{flex-direction:column}.ape\:md\:flex-row,.ape\:min-md\:flex-row{flex-direction:row}.ape\:md\:justify-end{justify-content:flex-end}.ape\:md\:gap-\[15px\]{gap:15px}.ape\:min-md\:gap-\[5px\]{gap:5px}.ape\:md\:rounded-\[20px\]{border-radius:20px}.ape\:md\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:md\:p-3{padding:calc(var(--ape-spacing) * 3)}.ape\:md\:p-5{padding:calc(var(--ape-spacing) * 5)}.ape\:md\:p-\[4px_10px\]{padding:4px 10px}.ape\:md\:p-\[20px\]{padding:20px}.ape\:md\:pr-\[20px\]{padding-right:20px}.ape\:md\:pb-1\.25{padding-bottom:calc(var(--ape-spacing) * 1.25)}.ape\:min-md\:pb-\[5px\]{padding-bottom:5px}.ape\:md\:pl-\[20px\]{padding-left:20px}.ape\:md\:text-\[12px\]\!{font-size:12px!important}.ape\:md\:text-\[14px\]{font-size:14px}.ape\:md\:text-\[14px\]\!{font-size:14px!important}.ape\:md\:text-\[16px\]{font-size:16px}.ape\:md\:text-\[18px\]{font-size:18px}.ape\:md\:text-\[20px\]{font-size:20px}.ape\:md\:text-\[24px\]{font-size:24px}.ape\:min-md\:text-\[16px\]{font-size:16px}.ape\:md\:leading-\[21px\]\!{--tw-leading:21px!important;line-height:21px!important}.ape\:md\:font-bold{--tw-font-weight:var(--ape-font-weight-bold);font-weight:var(--ape-font-weight-bold)}@media (hover:hover){.ape\:md\:hover\:z-\[1000\]\!:hover{z-index:1000!important}}}@media (min-width:968px){.ape\:lg\:mt-0{margin-top:0}.ape\:lg\:mr-\[10px\]{margin-right:10px}.ape\:lg\:mr-\[15px\]{margin-right:15px}.ape\:lg\:mb-0{margin-bottom:0}.ape\:lg\:ml-0{margin-left:0}.ape\:lg\:ml-\[10px\]{margin-left:10px}.ape\:lg\:flex{display:flex}.ape\:lg\:inline{display:inline}.ape\:lg\:h-\[40px\]{height:40px}.ape\:lg\:w-1\/2{width:50%}.ape\:lg\:w-\[30\%\]{width:30%}.ape\:lg\:w-\[35\%\]{width:35%}.ape\:lg\:w-\[45\%\]{width:45%}.ape\:lg\:w-\[65\%\]{width:65%}.ape\:lg\:w-\[unset\]{width:unset}.ape\:lg\:w-auto{width:auto}.ape\:lg\:max-w-\[calc\(100\%-35px\)\]{max-width:calc(100% - 35px)}.ape\:lg\:min-w-100{min-width:calc(var(--ape-spacing) * 100)}.ape\:lg\:min-w-\[300px\]\!{min-width:300px!important}.ape\:lg\:min-w-\[400px\]{min-width:400px}.ape\:lg\:flex-row{flex-direction:row}.ape\:lg\:items-center{align-items:center}.ape\:lg\:gap-\[10px\]{gap:10px}.ape\:lg\:gap-\[15px\]{gap:15px}.ape\:lg\:overflow-visible{overflow:visible}.ape\:lg\:rounded-normal{border-radius:var(--ape-radius-normal)}.ape\:lg\:bg-white4{background-color:var(--ape-color-white4)}.ape\:lg\:bg-\[image\:var\(--banner-bg-desktop\)\]{background-image:var(--banner-bg-desktop)}.ape\:lg\:px-\[10px\]{padding-inline:10px}.ape\:lg\:pr-\[20px\]{padding-right:20px}.ape\:lg\:pb-\[20px\]{padding-bottom:20px}.ape\:lg\:text-\[16px\]\!{font-size:16px!important}.ape\:lg\:leading-6\!{--tw-leading:calc(var(--ape-spacing) * 6)!important;line-height:calc(var(--ape-spacing) * 6)!important}}@media (min-width:1000px){.ape\:min-\[1000px\]\:absolute{position:absolute}.ape\:min-\[1000px\]\:left-\[10px\]{left:10px}.ape\:min-\[1000px\]\:mt-0{margin-top:0}.ape\:min-\[1000px\]\:flex{display:flex}.ape\:min-\[1000px\]\:hidden{display:none}.ape\:min-\[1000px\]\:h-\[70px\]{height:70px}.ape\:min-\[1000px\]\:w-\[30\%\]{width:30%}.ape\:min-\[1000px\]\:w-\[70\%\]{width:70%}.ape\:min-\[1000px\]\:w-\[130px\]{width:130px}.ape\:min-\[1000px\]\:w-\[210px\]{width:210px}.ape\:min-\[1000px\]\:w-\[300px\]{width:300px}.ape\:min-\[1000px\]\:min-w-\[300px\]{min-width:300px}.ape\:min-\[1000px\]\:flex-row{flex-direction:row}.ape\:min-\[1000px\]\:justify-between{justify-content:space-between}.ape\:min-\[1000px\]\:justify-center{justify-content:center}.ape\:min-\[1000px\]\:justify-end{justify-content:flex-end}.ape\:min-\[1000px\]\:p-0{padding:0}.ape\:min-\[1000px\]\:p-\[20px_0_10px_0\]{padding:20px 0 10px}.ape\:min-\[1000px\]\:pr-\[20px\]{padding-right:20px}}@media (min-width:1080px){.ape\:xl\:flex{display:flex}.ape\:xl\:w-\[30\%\]{width:30%}.ape\:xl\:w-\[70\%\]{width:70%}.ape\:xl\:w-\[100px\]{width:100px}.ape\:xl\:w-\[115px\]{width:115px}.ape\:xl\:w-\[135px\]{width:135px}.ape\:xl\:min-w-\[400px\]{min-width:400px}.ape\:xl\:flex-row{flex-direction:row}.ape\:xl\:justify-between{justify-content:space-between}.ape\:xl\:gap-\[30px\]{gap:30px}.ape\:xl\:p-\[20px_0_10px_0\]{padding:20px 0 10px}}@media (min-width:1200px){.ape\:xxl\:flex{display:flex}}.ape\:\[\&_\*\]\:text-\[14px\]\! *{font-size:14px!important}.ape\:\[\&_\*\]\:text-\[18px\]\! *{font-size:18px!important}.ape\:\[\&_\*\]\:text-\[24px\]\! *{font-size:24px!important}.ape\:\[\&_button\]\:ml-auto button,.ape\:\[\&_svg\]\:ml-auto svg{margin-left:auto}.ape\:\[\&_svg\]\:w-\[11px\] svg{width:11px}.ape\:\[\&_svg\]\:cursor-pointer svg{cursor:pointer}.ape\:\[\&_svg\]\:bg-transparent svg{background-color:#0000}.ape\:\[\&_svg\]\:fill-text svg{fill:var(--ape-color-text)}.ape\:\[\&\:\:-webkit-scrollbar\]\:h-\[5px\]::-webkit-scrollbar{height:5px}.ape\:\[\&\>\*\]\:h-\[31px\]\!>*{height:31px!important}.ape\:\[\&\>\*\]\:w-\[210px\]>*{width:210px}.ape\:\[\&\>\*\]\:text-\[14px\]\!>*{font-size:14px!important}@media (min-width:1080px){.ape\:xl\:\[\&\>\*\]\:w-\[100px\]>*{width:100px}}.ape\:\[\&\>div\]\:pt-0\!>div{padding-top:0!important}.ape\:\[\&\>div\:last-child\]\:mr-0>div:last-child{margin-right:0}.ape\:\[\&\>div\>div\]\:bg-white2>div>div{background-color:var(--ape-color-white2)}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}
@@ -18,7 +18,7 @@ const BonusComponent = ({ trueBondPrices, minTier, bonus, airdropTooltip, toolti
18
18
  const baseTrueBondPrice = findHighestTrueBondPrice('0', trueBondPrices);
19
19
  return (jsx(Flex, { children: trueBondPrices && trueBondPrices?.length > 1 && SDKConfig.useTiers ? (jsx(Flex, { className: "ape:items-center ape:min-w-[20px]", children: highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0 ? (jsx(TooltipBubble, { width: "280px", placement: tooltipPosition, transformTip: tooltipPosition === 'bottomLeft' ? 'translate(0%, 0%)' : 'translate(0%, 0%)', body: jsx(BonusTable, { trueBondPrices: trueBondPrices, minTier: minTier }), hideTooltip: hideTooltip, children: jsxs(Flex, { className: "ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden ape:cursor-pointer ape:w-[130px] ape:md:w-[150px]", children: [jsx(Flex, { className: "ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20" }), jsxs(Flex, { className: "ape:w-full ape:z-[2] ape:items-center ape:justify-center", children: [jsx("img", { src: `https://ape.bond/images/launch/mythical.png`, alt: "minTier", style: { width: '21px', height: '21px', marginRight: '3px', zIndex: 1 } }), jsx(Flex, { className: "ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]", children: "Up to" }), jsxs(Flex, { className: clsx('ape:text-[14px] ape:md:text-[16px]', highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0
20
20
  ? 'ape:text-success'
21
- : 'ape:text-error'), children: [highestPointsElement?.bonusWithFee?.toFixed(2), "%"] })] })] }) })) : (jsx(Flex, { className: "ape:h-[20px] ape:w-[20px]", children: jsx(TooltipBubble, { body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Timer, { width: "20px", color: "#81CFEA" }) }) })) })) : baseTrueBondPrice ? (jsx(Flex, { className: clsx('ape:items-center ape:min-w-[20px]', getDiscountColor(+baseTrueBondPrice?.bonusWithFee)), children: baseTrueBondPrice?.bonusWithFee > 0 ? (`${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`) : (jsx(Flex, { className: "ape:h-[20px] ape:w-[20px]", children: jsx(TooltipBubble, { body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Timer, { width: "20px", color: "#81CFEA" }) }) })) })) : (jsxs(Flex, { className: "ape:items-center ape:min-w-[20px]", style: { color: bonus ? 'var(--ape-color-success)' : undefined }, children: [bonus || '-', airdropTooltip && (jsx(TooltipBubble, { body: jsx(Fragment, { children: airdropTooltip }), width: "230px", placement: isMobile ? 'bottomRight' : 'bottomLeft', transformTip: isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)', children: jsx(Flex, { className: "ape:w-[20px] ape:h-[20px] ape:items-center ape:ml-[5px]", children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png", alt: "airdrop-img", style: { width: '20px', height: '20px' } }) }) }))] })) }));
21
+ : 'ape:text-error'), children: [highestPointsElement?.bonusWithFee?.toFixed(2), "%"] })] })] }) })) : (jsx(Flex, { className: "ape:h-[20px] ape:w-[20px]", children: jsx(TooltipBubble, { body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Timer, { width: "20px", color: "#81CFEA" }) }) })) })) : baseTrueBondPrice ? (jsx(Flex, { className: clsx('ape:items-center ape:min-w-[20px]'), style: { color: getDiscountColor(+baseTrueBondPrice?.bonusWithFee) }, children: baseTrueBondPrice?.bonusWithFee > 0 ? (`${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`) : (jsx(Flex, { className: "ape:h-[20px] ape:w-[20px]", children: jsx(TooltipBubble, { body: 'This bond is currently on cooldown and has no bonus. Please check back soon.', width: "205px", placement: "bottomRight", transformTip: "translate(10%, 0%)", children: jsx(Timer, { width: "20px", color: "#81CFEA" }) }) })) })) : (jsxs(Flex, { className: "ape:items-center ape:min-w-[20px]", style: { color: bonus ? 'var(--ape-color-success)' : undefined }, children: [bonus || '-', airdropTooltip && (jsx(TooltipBubble, { body: jsx(Fragment, { children: airdropTooltip }), width: "230px", placement: isMobile ? 'bottomRight' : 'bottomLeft', transformTip: isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)', children: jsx(Flex, { className: "ape:w-[20px] ape:h-[20px] ape:items-center ape:ml-[5px]", children: jsx("img", { src: "https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png", alt: "airdrop-img", style: { width: '20px', height: '20px' } }) }) }))] })) }));
22
22
  };
23
23
 
24
24
  export { BonusComponent as default };
@@ -1 +1 @@
1
- {"version":3,"file":"BonusComponent.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusComponent.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport BonusTable from './BonusTable'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { getDiscountColor } from '../../utils'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Timer from '../../../../components/uikit-sdk/Svg/Icons/Timer'\n\nconst BonusComponent = ({\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n tooltipPosition,\n hideTooltip,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n tooltipPosition?: 'bottomRight' | 'bottomLeft'\n hideTooltip?: boolean\n}) => {\n const SDKConfig = useSDKConfig()\n const isMobile = useIsMobile()\n const highestPointsElement = trueBondPrices?.reduce((max, current) => {\n return BigInt(current.points) > BigInt(max.points) ? current : max\n }, trueBondPrices[0])\n\n const baseTrueBondPrice = findHighestTrueBondPrice('0', trueBondPrices)\n\n return (\n <Flex>\n {trueBondPrices && trueBondPrices?.length > 1 && SDKConfig.useTiers ? (\n <Flex className=\"ape:items-center ape:min-w-[20px]\">\n {highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0 ? (\n <TooltipBubble\n width=\"280px\"\n placement={tooltipPosition}\n transformTip={tooltipPosition === 'bottomLeft' ? 'translate(0%, 0%)' : 'translate(0%, 0%)'}\n body={<BonusTable trueBondPrices={trueBondPrices} minTier={minTier} />}\n hideTooltip={hideTooltip}\n >\n <Flex className=\"ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden ape:cursor-pointer ape:w-[130px] ape:md:w-[150px]\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20\" />\n <Flex className=\"ape:w-full ape:z-[2] ape:items-center ape:justify-center\">\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex className=\"ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]\">Up to</Flex>\n <Flex\n className={clsx(\n 'ape:text-[14px] ape:md:text-[16px]',\n highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0\n ? 'ape:text-success'\n : 'ape:text-error',\n )}\n >\n {highestPointsElement?.bonusWithFee?.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n </TooltipBubble>\n ) : (\n <Flex className=\"ape:h-[20px] ape:w-[20px]\">\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Timer width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : baseTrueBondPrice ? (\n <Flex className={clsx('ape:items-center ape:min-w-[20px]', getDiscountColor(+baseTrueBondPrice?.bonusWithFee))}>\n {baseTrueBondPrice?.bonusWithFee > 0 ? (\n `${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`\n ) : (\n <Flex className=\"ape:h-[20px] ape:w-[20px]\">\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Timer width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex\n className=\"ape:items-center ape:min-w-[20px]\"\n style={{ color: bonus ? 'var(--ape-color-success)' : undefined }}\n >\n {bonus || '-'}\n {airdropTooltip && (\n <TooltipBubble\n body={<>{airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex className=\"ape:w-[20px] ape:h-[20px] ape:items-center ape:ml-[5px]\">\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default BonusComponent\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BonusComponent.js","sources":["../../../../../src/views/Bonds/components/BonusComponents/BonusComponent.tsx"],"sourcesContent":["import React from 'react'\nimport clsx from 'clsx'\nimport { TrueBondPrices } from '../../../../types/bonds'\nimport BonusTable from './BonusTable'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport { getDiscountColor } from '../../utils'\nimport { findHighestTrueBondPrice } from '../../../../utils/bondPriceHelpers'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { useIsMobile } from '../../../../hooks/useIsMobile'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport TooltipBubble from '../../../../components/uikit-sdk/TooltipBubble'\nimport Timer from '../../../../components/uikit-sdk/Svg/Icons/Timer'\n\nconst BonusComponent = ({\n trueBondPrices,\n minTier,\n bonus,\n airdropTooltip,\n tooltipPosition,\n hideTooltip,\n}: {\n trueBondPrices?: TrueBondPrices[]\n minTier?: LaunchBondTiers\n bonus?: string\n airdropTooltip?: string\n tooltipPosition?: 'bottomRight' | 'bottomLeft'\n hideTooltip?: boolean\n}) => {\n const SDKConfig = useSDKConfig()\n const isMobile = useIsMobile()\n const highestPointsElement = trueBondPrices?.reduce((max, current) => {\n return BigInt(current.points) > BigInt(max.points) ? current : max\n }, trueBondPrices[0])\n\n const baseTrueBondPrice = findHighestTrueBondPrice('0', trueBondPrices)\n\n return (\n <Flex>\n {trueBondPrices && trueBondPrices?.length > 1 && SDKConfig.useTiers ? (\n <Flex className=\"ape:items-center ape:min-w-[20px]\">\n {highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0 ? (\n <TooltipBubble\n width=\"280px\"\n placement={tooltipPosition}\n transformTip={tooltipPosition === 'bottomLeft' ? 'translate(0%, 0%)' : 'translate(0%, 0%)'}\n body={<BonusTable trueBondPrices={trueBondPrices} minTier={minTier} />}\n hideTooltip={hideTooltip}\n >\n <Flex className=\"ape:p-[3px_6px] ape:border ape:border-solid ape:border-[#9960C5] ape:rounded-normal ape:bg-transparent ape:relative ape:overflow-hidden ape:cursor-pointer ape:w-[130px] ape:md:w-[150px]\">\n <Flex className=\"ape:absolute ape:w-full ape:h-full ape:top-0 ape:left-0 ape:z-[1] ape:bg-[#9960C5] ape:opacity-20\" />\n <Flex className=\"ape:w-full ape:z-[2] ape:items-center ape:justify-center\">\n <img\n src={`https://ape.bond/images/launch/mythical.png`}\n alt=\"minTier\"\n style={{ width: '21px', height: '21px', marginRight: '3px', zIndex: 1 }}\n />\n <Flex className=\"ape:text-[12px] ape:md:text-[14px] ape:mr-[3px]\">Up to</Flex>\n <Flex\n className={clsx(\n 'ape:text-[14px] ape:md:text-[16px]',\n highestPointsElement?.bonusWithFee && highestPointsElement?.bonusWithFee > 0\n ? 'ape:text-success'\n : 'ape:text-error',\n )}\n >\n {highestPointsElement?.bonusWithFee?.toFixed(2)}%\n </Flex>\n </Flex>\n </Flex>\n </TooltipBubble>\n ) : (\n <Flex className=\"ape:h-[20px] ape:w-[20px]\">\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Timer width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : baseTrueBondPrice ? (\n <Flex\n className={clsx('ape:items-center ape:min-w-[20px]')}\n style={{ color: getDiscountColor(+baseTrueBondPrice?.bonusWithFee) }}\n >\n {baseTrueBondPrice?.bonusWithFee > 0 ? (\n `${baseTrueBondPrice?.bonusWithFee?.toFixed(2)}%`\n ) : (\n <Flex className=\"ape:h-[20px] ape:w-[20px]\">\n <TooltipBubble\n body={'This bond is currently on cooldown and has no bonus. Please check back soon.'}\n width=\"205px\"\n placement=\"bottomRight\"\n transformTip=\"translate(10%, 0%)\"\n >\n <Timer width=\"20px\" color=\"#81CFEA\" />\n </TooltipBubble>\n </Flex>\n )}\n </Flex>\n ) : (\n <Flex\n className=\"ape:items-center ape:min-w-[20px]\"\n style={{ color: bonus ? 'var(--ape-color-success)' : undefined }}\n >\n {bonus || '-'}\n {airdropTooltip && (\n <TooltipBubble\n body={<>{airdropTooltip}</>}\n width=\"230px\"\n placement={isMobile ? 'bottomRight' : 'bottomLeft'}\n transformTip={isMobile ? 'translate(9%, 6%)' : 'translate(-3%, 6%)'}\n >\n <Flex className=\"ape:w-[20px] ape:h-[20px] ape:items-center ape:ml-[5px]\">\n <img\n src=\"https://res.cloudinary.com/dswmrqgwy/image/upload/v1750345773/airdrop_qvh4ow.png\"\n alt=\"airdrop-img\"\n style={{ width: '20px', height: '20px' }}\n />\n </Flex>\n </TooltipBubble>\n )}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default BonusComponent\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;AAaA,MAAM,cAAc,GAAG,CAAC,EACtB,cAAc,EACd,OAAO,EACP,KAAK,EACL,cAAc,EACd,eAAe,EACf,WAAW,GAQZ,KAAI;AACH,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE;AAChC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;IAC9B,MAAM,oBAAoB,GAAG,cAAc,EAAE,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,KAAI;QACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,GAAG;AACpE,IAAA,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAErB,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,GAAG,EAAE,cAAc,CAAC;AAEvE,IAAA,QACEA,GAAA,CAAC,IAAI,EAAA,EAAA,QAAA,EACF,cAAc,IAAI,cAAc,EAAE,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,IACjEA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,mCAAmC,YAChD,oBAAoB,EAAE,YAAY,IAAI,oBAAoB,EAAE,YAAY,GAAG,CAAC,IAC3EA,GAAA,CAAC,aAAa,EAAA,EACZ,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,eAAe,EAC1B,YAAY,EAAE,eAAe,KAAK,YAAY,GAAG,mBAAmB,GAAG,mBAAmB,EAC1F,IAAI,EAAEA,GAAA,CAAC,UAAU,EAAA,EAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAI,EACtE,WAAW,EAAE,WAAW,YAExBC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2LAA2L,EAAA,QAAA,EAAA,CACzMD,GAAA,CAAC,IAAI,IAAC,SAAS,EAAC,mGAAmG,EAAA,CAAG,EACtHC,IAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,0DAA0D,EAAA,QAAA,EAAA,CACxED,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,CAAA,2CAAA,CAA6C,EAClD,GAAG,EAAC,SAAS,EACb,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,GACvE,EACFA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,iDAAiD,EAAA,QAAA,EAAA,OAAA,EAAA,CAAa,EAC9EC,KAAC,IAAI,EAAA,EACH,SAAS,EAAE,IAAI,CACb,oCAAoC,EACpC,oBAAoB,EAAE,YAAY,IAAI,oBAAoB,EAAE,YAAY,GAAG;AACzE,0CAAE;AACF,0CAAE,gBAAgB,CACrB,EAAA,QAAA,EAAA,CAEA,oBAAoB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,EAAA,GAAA,CAAA,EAAA,CAC1C,CAAA,EAAA,CACF,CAAA,EAAA,CACF,EAAA,CACO,KAEhBD,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EACzCA,IAAC,aAAa,EAAA,EACZ,IAAI,EAAE,8EAA8E,EACpF,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,aAAa,EACvB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,SAAS,EAAA,CAAG,EAAA,CACxB,EAAA,CACX,CACR,EAAA,CACI,IACL,iBAAiB,IACnBA,GAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAE,IAAI,CAAC,mCAAmC,CAAC,EACpD,KAAK,EAAE,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,EAAA,QAAA,EAEnE,iBAAiB,EAAE,YAAY,GAAG,CAAC,IAClC,CAAA,EAAG,iBAAiB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,KAEjDA,GAAA,CAAC,IAAI,EAAA,EAAC,SAAS,EAAC,2BAA2B,EAAA,QAAA,EACzCA,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EAAE,8EAA8E,EACpF,KAAK,EAAC,OAAO,EACb,SAAS,EAAC,aAAa,EACvB,YAAY,EAAC,oBAAoB,EAAA,QAAA,EAEjCA,GAAA,CAAC,KAAK,IAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,SAAS,EAAA,CAAG,EAAA,CACxB,EAAA,CACX,CACR,EAAA,CACI,KAEPC,IAAA,CAAC,IAAI,EAAA,EACH,SAAS,EAAC,mCAAmC,EAC7C,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,0BAA0B,GAAG,SAAS,EAAE,EAAA,QAAA,EAAA,CAE/D,KAAK,IAAI,GAAG,EACZ,cAAc,KACbD,GAAA,CAAC,aAAa,EAAA,EACZ,IAAI,EAAEA,GAAA,CAAAE,QAAA,EAAA,EAAA,QAAA,EAAG,cAAc,EAAA,CAAI,EAC3B,KAAK,EAAC,OAAO,EACb,SAAS,EAAE,QAAQ,GAAG,aAAa,GAAG,YAAY,EAClD,YAAY,EAAE,QAAQ,GAAG,mBAAmB,GAAG,oBAAoB,EAAA,QAAA,EAEnEF,IAAC,IAAI,EAAA,EAAC,SAAS,EAAC,yDAAyD,EAAA,QAAA,EACvEA,GAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAC,kFAAkF,EACtF,GAAG,EAAC,aAAa,EACjB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAA,CACxC,EAAA,CACG,EAAA,CACO,CACjB,CAAA,EAAA,CACI,CACR,EAAA,CACI;AAEX;;;;"}
@@ -72,7 +72,7 @@ const sortBonds = (sortConfig, bonds) => {
72
72
  const getDiscountColor = (discount) => {
73
73
  if (!discount)
74
74
  return '';
75
- return discount < 0 ? 'discount-negative' : 'discount-positive';
75
+ return discount > 0 ? 'var(--ape-color-success) !important' : 'var(--ape-color-error)';
76
76
  };
77
77
  const isBondSupported = (SDKVersion, bondVersion) => {
78
78
  // Split the versions into major, minor, and patch parts
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../src/views/Bonds/utils.ts"],"sourcesContent":["import { BondsData } from '../../types/bonds'\nimport { SortOptions } from './Bonds'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { TIERS_WEIGHT } from '../../state/tiers/useTierPoints'\nimport { remainingPercentage } from '../../utils/displayHelpers'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\n\nexport const isBondSoldOut = (bill: BondsData, showLowValueBonds?: boolean): boolean => {\n if (bill.soldOut) return true\n if (bill.hide) return true\n if (bill.billType === 'fcfs') {\n const now = new Date().getTime()\n const saleFinishTime = (bill?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bill.finalized\n if (saleHasFinished) return true\n return false\n }\n const { tokensRemaining, payoutTokenPrice } = bill\n if (!tokensRemaining) return false\n if (showLowValueBonds) return false\n const thresholdToHide = 100 / Number(payoutTokenPrice ?? 0)\n\n if ((findHighestTrueBondPrice('0', bill?.trueBondPrices)?.bonusWithFee ?? 0) > 50) {\n if (bill.earnToken.symbol === 'sGOO') return false\n //if bonus is higher than 50% for regular bonds, hide them\n return true\n }\n if (Number(tokensRemaining) <= thresholdToHide) {\n // If there's less than 100 usd bond will be hidden\n return true\n } else return false\n}\n\nexport const sortBonds = (sortConfig?: SortOptions, bonds?: BondsData[]) => {\n const bondsToSort = bonds ?? []\n\n if (!sortConfig) {\n return bondsToSort\n }\n\n return [...bondsToSort].sort((a, b) => {\n let aValue: number\n let bValue: number\n\n if (sortConfig?.key === 'arr') {\n aValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonusWithFee ?? 0\n bValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonusWithFee ?? 0\n } else if (sortConfig.key === 'tokensRemaining') {\n aValue = remainingPercentage(a)\n bValue = remainingPercentage(b)\n } else if (sortConfig.key === 'terms') {\n aValue = getTimePeriods(a.vestingTerm, true).days\n bValue = getTimePeriods(b.vestingTerm, true).days\n } else {\n aValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonusWithFee ?? 0\n bValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonusWithFee ?? 0\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n}\n\nexport const getDiscountColor = (discount?: number): string => {\n if (!discount) return ''\n return discount < 0 ? 'discount-negative' : 'discount-positive'\n}\n\nexport const isBondSupported = (SDKVersion: string, bondVersion: string) => {\n // Split the versions into major, minor, and patch parts\n const [major1, minor1, patch1] = SDKVersion.split('.').map(Number) ?? []\n const [major2, minor2, patch2] = bondVersion?.split('.').map(Number) ?? []\n\n // Compare major versions\n if (major1 > major2) return true\n if (major1 < major2) return false\n\n // Compare minor versions\n if (minor1 > minor2) return true\n if (minor1 < minor2) return false\n\n // Compare patch versions\n if (patch1 >= patch2) return true\n\n // If none of the above conditions are met, version1 is less\n return false\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../src/views/Bonds/utils.ts"],"sourcesContent":["import { BondsData } from '../../types/bonds'\nimport { SortOptions } from './Bonds'\nimport { getTimePeriods } from '../../utils/getTimePeriods'\nimport { LaunchBondTiers } from '@ape.swap/apeswap-lists'\nimport { TIERS_WEIGHT } from '../../state/tiers/useTierPoints'\nimport { remainingPercentage } from '../../utils/displayHelpers'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\n\nexport const isBondSoldOut = (bill: BondsData, showLowValueBonds?: boolean): boolean => {\n if (bill.soldOut) return true\n if (bill.hide) return true\n if (bill.billType === 'fcfs') {\n const now = new Date().getTime()\n const saleFinishTime = (bill?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bill.finalized\n if (saleHasFinished) return true\n return false\n }\n const { tokensRemaining, payoutTokenPrice } = bill\n if (!tokensRemaining) return false\n if (showLowValueBonds) return false\n const thresholdToHide = 100 / Number(payoutTokenPrice ?? 0)\n\n if ((findHighestTrueBondPrice('0', bill?.trueBondPrices)?.bonusWithFee ?? 0) > 50) {\n if (bill.earnToken.symbol === 'sGOO') return false\n //if bonus is higher than 50% for regular bonds, hide them\n return true\n }\n if (Number(tokensRemaining) <= thresholdToHide) {\n // If there's less than 100 usd bond will be hidden\n return true\n } else return false\n}\n\nexport const sortBonds = (sortConfig?: SortOptions, bonds?: BondsData[]) => {\n const bondsToSort = bonds ?? []\n\n if (!sortConfig) {\n return bondsToSort\n }\n\n return [...bondsToSort].sort((a, b) => {\n let aValue: number\n let bValue: number\n\n if (sortConfig?.key === 'arr') {\n aValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonusWithFee ?? 0\n bValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonusWithFee ?? 0\n } else if (sortConfig.key === 'tokensRemaining') {\n aValue = remainingPercentage(a)\n bValue = remainingPercentage(b)\n } else if (sortConfig.key === 'terms') {\n aValue = getTimePeriods(a.vestingTerm, true).days\n bValue = getTimePeriods(b.vestingTerm, true).days\n } else {\n aValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], a?.trueBondPrices)?.bonusWithFee ?? 0\n bValue = findHighestTrueBondPrice(TIERS_WEIGHT[LaunchBondTiers.Legend], b?.trueBondPrices)?.bonusWithFee ?? 0\n }\n\n if (aValue < bValue) {\n return sortConfig.direction === 'asc' ? -1 : 1\n }\n if (aValue > bValue) {\n return sortConfig.direction === 'asc' ? 1 : -1\n }\n return 0\n })\n}\n\nexport const getDiscountColor = (discount?: number): string => {\n if (!discount) return ''\n return discount > 0 ? 'var(--ape-color-success) !important' : 'var(--ape-color-error)'\n}\n\nexport const isBondSupported = (SDKVersion: string, bondVersion: string) => {\n // Split the versions into major, minor, and patch parts\n const [major1, minor1, patch1] = SDKVersion.split('.').map(Number) ?? []\n const [major2, minor2, patch2] = bondVersion?.split('.').map(Number) ?? []\n\n // Compare major versions\n if (major1 > major2) return true\n if (major1 < major2) return false\n\n // Compare minor versions\n if (minor1 > minor2) return true\n if (minor1 < minor2) return false\n\n // Compare patch versions\n if (patch1 >= patch2) return true\n\n // If none of the above conditions are met, version1 is less\n return false\n}\n"],"names":[],"mappings":"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"}
@@ -587,7 +587,7 @@ const BuyComponentSolana = ({ onDismiss, bondAddress, bondChain, isProjectView,
587
587
  }
588
588
  /* eslint-disable react-hooks/exhaustive-deps */
589
589
  }, [inputCurrencyBalance, zapListFetched]);
590
- return bondData ? (jsx(Flex, { className: "modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-[15px] ape:min-[800px]:p-[20px]", style: { ...MCBuyComponentStyles[bondData?.marketingCampaign] }, children: jsxs(Flex, { className: "modaltable-container ape:w-full ape:flex ape:flex-col ape:relative", children: [jsx(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, hidePromotionUi: true }), jsx(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx(Flex, { className: clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex'), children: jsx(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError, hidePromotionUi: true }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData?.chainId, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!accountSolana }), bondData?.warningCard && (jsx(Flex, { className: "ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]", style: { background: '#DE62F366' }, children: jsxs(Text, { as: "div", size: "12px", className: "ape:font-normal ape:flex ape:items-center ape:gap-[10px]", children: [jsx(SafeHTMLComponent, { html: bondData?.warningCard }), bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { className: "ape:normal-case", children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(QuestionCircle, { width: 14, color: "textDisabledButton" }) }))] }) })), jsx(Flex, { className: "modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between", children: jsx(Flex, { className: "button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full", children: !accountSolana ? (jsx(ConnectSolanaWallet, {})) : (jsxs(Flex, { className: "ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row", children: [jsx(Button, { variant: "secondary", onClick: () => onOpenLifiModal(), className: "ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!", children: "bridge to sol" }), jsx(Button, { className: "action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!", load: load, disabled: load ||
590
+ return bondData ? (jsx(Flex, { className: "modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-3.75 ape:md:p-5", style: { ...MCBuyComponentStyles[bondData?.marketingCampaign] }, children: jsxs(Flex, { className: "modaltable-container ape:w-full ape:flex ape:flex-col ape:relative ape:gap-2.5", children: [jsx(BondModalHeader, { bondData: bondData, onDismiss: onDismiss, hidePromotionUi: true }), jsx(ProjectDescription, { description: bondData.shortDescription, isProjectView: true }), jsx(Flex, { className: clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex'), children: jsx(BondCards, { bondData: bondData, isDoingMaxBuy: exceedsSafeMaxBuy && !exceedsRealMaxBuy }) }), jsx(Estimations, { depositAmount: depositAmount, bondData: bondData, youSpendString: youSpendString, isZap: isZap, fetchingZapQuote: fetchingZapQuote, zapError: zapError, hidePromotionUi: true }), jsx(TokenSelectorPanel, { typedValue: inputValue, setTypedValue: setInputValue, selectedToken: inputToken, handleValueBtn: handleMaxButton, handleCurrencySelect: handleCurrencySelect, bondChainId: bondData?.chainId, enableZap: true, bondPrincipalToken: bondData?.lpToken, tokenBalance: inputCurrencyBalance ?? undefined, selectedTokenPrice: inputTokenPrice, isConnected: !!accountSolana }), bondData?.warningCard && (jsx(Flex, { className: "ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]", style: { background: '#DE62F366' }, children: jsxs(Text, { as: "div", size: "12px", className: "ape:font-normal ape:flex ape:items-center ape:gap-[10px]", children: [jsx(SafeHTMLComponent, { html: bondData?.warningCard }), bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (jsx(TooltipBubble, { className: "tooltip-bubble", body: jsx(Text, { className: "ape:normal-case", children: "Open the 'cog' icon menu in the top right and set the Slippage Tolerance to 5% or more." }), width: "315px", placement: "topRight", transformTip: "translate(9%, -10%)", children: jsx(QuestionCircle, { width: 14, color: "textDisabledButton" }) }))] }) })), jsx(Flex, { className: "modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:justify-between", children: jsx(Flex, { className: "button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full", children: !accountSolana ? (jsx(ConnectSolanaWallet, {})) : (jsxs(Flex, { className: "ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row", children: [jsx(Button, { variant: "secondary", onClick: () => onOpenLifiModal(), className: "ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!", children: "bridge to sol" }), jsx(Button, { className: "action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!", load: load, disabled: load ||
591
591
  bondData?.soldOut ||
592
592
  !accountSolana ||
593
593
  !inputValue ||
@@ -1 +1 @@
1
- {"version":3,"file":"BuyComponentSolana.js","sources":["../../../src/views/BuyBond/BuyComponentSolana.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport useModal from '../../hooks/useModal'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useJupiterSolanaQuote from '../../state/zap/useJupiterSolanaQuote'\nimport useSortedZapList from '../../hooks/useSortedZapList'\n\n// Solana\nimport ConnectSolanaWalletButton from '../../components/ConnectSolanaWalletButton/ConnectSolanaWalletButton'\nimport {\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n Keypair,\n Transaction,\n Connection,\n TransactionInstruction,\n} from '@solana/web3.js'\nimport { createJupiterApiClient } from '@jup-ag/api'\nimport { derivePda } from '../../utils/derivePda'\nimport {\n getAssociatedTokenAddress,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n createAssociatedTokenAccountInstruction,\n getAccount,\n} from '@solana/spl-token'\nimport { getBondIssuanceAccountSolana } from '../../utils/getSolanaAccount'\nimport { getU64Codec } from '@solana/kit'\nimport { DEPOSIT_DISCRIMINATOR, MPL_CORE_PROGRAM_ID, PROGRAM_ID } from '../../constants/solanaConstants'\nimport { Buffer } from 'buffer'\nimport { BondsData } from '../../types/bonds'\nimport { BondIssuanceAccount } from '../../types'\nimport { getRPC } from '../../config/constants/networks'\nimport { reportError } from '../../utils/reportError'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport LifiModal from '../LifiModal/LifiModal'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../utils/solanaAtaHelper'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// price * (100 + slippage) / (100 * 1e6), scaled by 1e6 to preserve fractional slippage\n// percentages without a float precompute (matches this bond program's price scale).\nconst slippageMaxPriceSolana = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6) * 1_000_000n, 'halfUp')\n\ninterface BuyComponentSolanaProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentSolana: React.FC<BuyComponentSolanaProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Hooks\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage()\n const sendReferenceId = useSendReferenceId()\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Tier Gating\n const trueBondPriceData = findHighestTrueBondPrice('0', bondData?.trueBondPrices)\n\n // State\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n\n const [\n fetchingZapQuote,\n jupiterQuote,\n zapDepositAmount,\n zapError,\n isDirectRoute,\n minimumDepositAmount,\n wrapAndUnwrapSol,\n ] = useJupiterSolanaQuote(inputValue, inputToken, bondData, accountSolana?.toBase58(), true, slippage)\n\n const { sortedZapList, isFetched: zapListFetched } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n\n // Estimations - use zapDepositAmount if swapping\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumberSI(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n const exceedsRealMaxBuy = getMaxBuy(bondData, true) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsSafeMaxBuy =\n getMaxBuy(bondData, false) * (isZap ? 0.995 : 0.9995) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n // Loading State - include zap loading\n const [loadingTx, setLoadingTx] = useState(false)\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxButton = () => {\n const balance = Number(inputCurrencyBalance ?? '0')\n const principalDecimals = bondData?.lpToken?.decimals?.[bondData?.chainId] ?? 18\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZap) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n console.log('user balance exceeds max buy limit, setting to max buy')\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n console.log('balance is ok, can be used')\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 18 : (enrichedTokenData?.token.decimals[bondData?.chainId!] ?? 18)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }\n\n const handleBuyCallback = async () => {\n if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData) return\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n setLoadingTx(true)\n\n const connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n\n // Convert input value\n const amountBigInt = parseUnits(inputValue, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const user = accountSolana\n\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n\n // Static addresses\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n // Fetch Bond Issuance Account\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) return\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient) // ADDED\n\n // Derive PDAs\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n // Create NFT mint\n const nftMint = Keypair.generate()\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // ATAs - use correct token program for each mint\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, principalTokenProgram)\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, user)\n\n // Encode args\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amountBigInt))\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n // Instruction\n const keys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: user, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n const instruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n\n // Create tx (prepend payout fee recipient ATA creation if needed)\n const transaction = new Transaction()\n if (createPayoutFeeRecipientAtaIx) transaction.add(createPayoutFeeRecipientAtaIx)\n transaction.add(instruction)\n transaction.feePayer = user\n\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n transaction.recentBlockhash = blockhash\n // Sign tx\n transaction.partialSign(nftMint)\n const signedTx = await signTransaction?.(transaction)!\n\n // Sends tx, generates hash\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n // awaits hash confirmation on chain - commitment \"confirmed\"\n await connection.confirmTransaction(\n {\n signature: txId,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\n )\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n // waits 3 seconds before triggering after-purchase flow\n await new Promise((resolve) => setTimeout(resolve, 3000))\n\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: { type: 'solanaBuyBond', error: error.message },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n // Helper: Build Jupiter swap instructions from API response\n const buildSwapInstructions = (swapResult: any) => {\n const swapInstruction = new TransactionInstruction({\n programId: new PublicKey(swapResult.swapInstruction.programId),\n keys: swapResult.swapInstruction.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(swapResult.swapInstruction.data, 'base64'),\n })\n\n const setupInstructions = (swapResult.setupInstructions || []).map(\n (ix: any) =>\n new TransactionInstruction({\n programId: new PublicKey(ix.programId),\n keys: ix.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(ix.data, 'base64'),\n }),\n )\n\n return { setupInstructions, swapInstruction }\n }\n\n // Helper: Build bond instruction with specified amount\n const buildBondInstruction = (amount: bigint, maxPriceEncoded: Buffer, bondKeys: any[]) => {\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amount))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n return new TransactionInstruction({\n keys: bondKeys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n }\n\n // Helper: Ensure user's principal token account exists\n const ensureUserPrincipalAtaExists = async (\n connection: Connection,\n payer: PublicKey,\n principalMint: PublicKey,\n user: PublicKey,\n tokenProgram: PublicKey,\n ): Promise<{ ataAddress: PublicKey; createInstruction: TransactionInstruction | null }> => {\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, tokenProgram)\n\n try {\n // Check if account exists\n await getAccount(connection, userPrincipalAta, undefined, tokenProgram)\n return { ataAddress: userPrincipalAta, createInstruction: null }\n } catch {\n // Account doesn't exist, return instruction to create it\n const createAtaIx = createAssociatedTokenAccountInstruction(\n payer, // fee payer\n userPrincipalAta, // ATA to create\n user, // owner of ATA\n principalMint, // mint\n tokenProgram, // token program\n )\n return { ataAddress: userPrincipalAta, createInstruction: createAtaIx }\n }\n }\n\n // Helper: Track zap events\n const trackZapEvents = (txType: 'single-tx' | 'two-tx') => {\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken),\n token2: bondData?.lpToken.symbol ?? '',\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: `zap-buy-${txType}`,\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !accountSolana || !bondData || !jupiterQuote || !signTransaction) return\n\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n try {\n setLoadingTx(true)\n const connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n const jupiterApi = createJupiterApiClient()\n\n // STEP 1: Calculate bond parameters and prepare accounts\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n console.log(isDirectRoute ? 'Using direct route' : 'Using multi-hop route')\n const depositAmountForBond = isDirectRoute ? minimumDepositAmount : zapDepositAmount\n\n const amountBigInt = parseUnits(depositAmountForBond, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) throw new Error('Failed to fetch bond issuance account')\n\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient)\n\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n const nftMint = Keypair.generate()\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // Ensure user's USDC account exists, get creation instruction if needed\n const { ataAddress: userPrincipalAta, createInstruction: createPrincipalAtaIx } =\n await ensureUserPrincipalAtaExists(\n connection,\n accountSolana,\n principalMint,\n accountSolana,\n principalTokenProgram,\n )\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, accountSolana)\n\n const u64Codec = getU64Codec()\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n\n const bondKeys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: accountSolana, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n // Build initial bond instruction (for single-tx attempt)\n const bondInstruction = buildBondInstruction(amountBigInt, maxPriceEncoded, bondKeys)\n\n // STEP 2: Get Jupiter swap instructions\n const swapResult = await jupiterApi.swapInstructionsPost({\n swapRequest: {\n quoteResponse: jupiterQuote,\n userPublicKey: accountSolana.toBase58(),\n wrapAndUnwrapSol: wrapAndUnwrapSol,\n dynamicComputeUnitLimit: true,\n prioritizationFeeLamports: {\n priorityLevelWithMaxLamports: {\n maxLamports: 4000000,\n priorityLevel: 'veryHigh',\n },\n },\n },\n })\n\n console.log('=== TRANSACTION SIZE ANALYSIS ===')\n console.log('Route used:', jupiterQuote.routePlan?.map((r) => r.swapInfo.label).join(' -> '))\n console.log('Swap accounts:', swapResult.swapInstruction.accounts.length)\n console.log('Setup instructions count:', swapResult.setupInstructions?.length || 0)\n\n let totalAccounts = swapResult.swapInstruction.accounts.length\n swapResult.setupInstructions?.forEach((ix, i) => {\n console.log(` Setup ${i}: ${ix.accounts.length} accounts`)\n totalAccounts += ix.accounts.length\n })\n\n console.log('Bond instruction accounts:', 20)\n console.log('Total accounts:', totalAccounts + 20)\n console.log('=== END ANALYSIS ===')\n\n // STEP 3: TRY SINGLE TRANSACTION (if direct route)\n if (isDirectRoute) {\n try {\n // Build swap instructions\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const setupIxs = [\n ...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []),\n ...(createPayoutFeeRecipientAtaIx ? [createPayoutFeeRecipientAtaIx] : []),\n ...setupInstructions,\n ]\n const allInstructions = [...setupIxs, swapInstruction, bondInstruction]\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n\n const combinedTx = new Transaction()\n combinedTx.add(...allInstructions)\n combinedTx.recentBlockhash = blockhash\n combinedTx.feePayer = accountSolana\n combinedTx.partialSign(nftMint)\n\n // Check size - account for signatures\n const messageSize = combinedTx.serializeMessage().length\n const numSignatures = combinedTx.signatures.length // Should be 2: nftMint + accountSolana\n const signatureOverhead = 1 + numSignatures * 64 // 1 byte for count + 64 bytes per signature\n const estimatedTxSize = messageSize + signatureOverhead\n\n console.log(`Combined transaction size: ${estimatedTxSize} bytes (limit: 1232 bytes)`)\n\n if (estimatedTxSize > 1232) {\n console.log('Transaction too large, falling back to two transactions')\n throw new Error('TRANSACTION_TOO_LARGE')\n }\n\n // Execute single transaction!\n console.log('Transaction fits. Executing combined swap + bond')\n const signedTx = await signTransaction(combinedTx)\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: txId, blockhash, lastValidBlockHeight }, 'confirmed')\n\n console.log('SINGLE transaction confirmed:', txId)\n\n // Track success\n trackZapEvents('single-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n return\n } catch (singleTxError: any) {\n if (singleTxError.message !== 'TRANSACTION_TOO_LARGE') {\n throw singleTxError\n }\n console.log('Falling back to two separate transactions...')\n }\n }\n\n // STEP 4: FALLBACK - TWO SEPARATE TRANSACTIONS\n console.log('Executing TWO separate transactions...')\n\n // Execute swap first\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const swapSetupIxs = [...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []), ...setupInstructions]\n const swapTx = new Transaction().add(...swapSetupIxs, swapInstruction)\n swapTx.feePayer = accountSolana\n const { blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid } =\n await connection.getLatestBlockhash('confirmed')\n swapTx.recentBlockhash = swapBlockhash\n\n const signedSwapTx = await signTransaction(swapTx)\n const swapTxId = await connection.sendRawTransaction(signedSwapTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction(\n { signature: swapTxId, blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid },\n 'confirmed',\n )\n console.log('Swap transaction confirmed:', swapTxId)\n\n // QUERY ACTUAL BALANCE RECEIVED FROM SWAP\n const principalTokenBalance = await connection.getTokenAccountBalance(userPrincipalAta)\n const actualAmount = BigInt(principalTokenBalance.value.amount)\n\n // REBUILD BOND INSTRUCTION WITH ACTUAL AMOUNT\n const actualBondInstruction = buildBondInstruction(actualAmount, maxPriceEncoded, bondKeys)\n\n const bondTx = new Transaction()\n if (createPayoutFeeRecipientAtaIx) bondTx.add(createPayoutFeeRecipientAtaIx)\n bondTx.add(actualBondInstruction)\n bondTx.feePayer = accountSolana\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n bondTx.recentBlockhash = blockhash\n bondTx.partialSign(nftMint)\n\n const signedBondTx = await signTransaction(bondTx)\n const bondTxId = await connection.sendRawTransaction(signedBondTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: bondTxId, blockhash, lastValidBlockHeight }, 'confirmed')\n console.log('Bond transaction confirmed:', bondTxId)\n\n // Track both transactions\n trackZapEvents('two-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, bondTxId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(bondTxId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during zap + bond purchase:', error)\n addToastError(error?.message || 'Unknown error during swap and bond')\n\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: {\n type: 'solanaJupiterZapBuyBond',\n error: error.message,\n isDirectRoute,\n quote: jupiterQuote,\n },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBothPurchases = () => {\n if (loadingTx) return // Prevent duplicate calls\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n handleBothPurchases()\n }\n }\n\n // Modals\n const [onOpenLifiModal] = useModal(\n <LifiModal bondChain={1151111081099710} principalToken={bondData?.lpToken?.address?.[bondData?.chainId]} />,\n true,\n false,\n 'LifiModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={handleBothPurchases} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n useEffect(() => {\n if (zapListFetched && !hasChecked) {\n if (parseFloat(inputCurrencyBalance ?? '0') < 0.0001) {\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n setHasChecked(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, zapListFetched])\n\n return bondData ? (\n <Flex\n className=\"modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-[15px] ape:min-[800px]:p-[20px]\"\n style={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}\n >\n <Flex className=\"modaltable-container ape:w-full ape:flex ape:flex-col ape:relative\">\n <BondModalHeader bondData={bondData} onDismiss={onDismiss} hidePromotionUi />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex className={clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex')}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n hidePromotionUi\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={bondData?.chainId}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!accountSolana}\n />\n {bondData?.warningCard && (\n <Flex\n className=\"ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]\"\n style={{ background: '#DE62F366' }}\n >\n <Text as=\"div\" size=\"12px\" className=\"ape:font-normal ape:flex ape:items-center ape:gap-[10px]\">\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text className=\"ape:normal-case\">\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <QuestionCircle width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:pt-[10px] ape:justify-between\">\n <Flex className=\"button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full\">\n {!accountSolana ? (\n <ConnectSolanaWalletButton />\n ) : (\n <Flex className=\"ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row\">\n <Button\n variant=\"secondary\"\n onClick={() => onOpenLifiModal()}\n className=\"ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!\"\n >\n bridge to sol\n </Button>\n <Button\n className=\"action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!\"\n load={load}\n disabled={\n load ||\n bondData?.soldOut ||\n !accountSolana ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsRealMaxBuy ||\n exceedsBalance ||\n (isZap && !jupiterQuote) ||\n SDKConfig.blockSales\n }\n onClick={handleOpenModal}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : zapError\n ? 'Swap quote failed'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentSolana\n"],"names":["_jsx","_jsxs","ConnectSolanaWalletButton","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"BuyComponentSolana.js","sources":["../../../src/views/BuyBond/BuyComponentSolana.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react'\nimport clsx from 'clsx'\nimport useModal from '../../hooks/useModal'\nimport { ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport TokenSelectorPanel from '../../components/TokenSelectorPanel'\nimport useBondsData from '../../state/bonds/useBondsData'\nimport useTokenFromZapList from '../../hooks/useTokenFromZapList'\nimport { usePopups } from '../../state/popups/usePopups'\nimport { formatUSDNumber, getMaxBuy, getPayoutAmount, getPrincipalAmount } from '../../utils/displayHelpers'\nimport { useSDKConfig } from '../../state/useSDKConfig'\nimport { useSlippage } from '../../state/slippage/useSlippage'\nimport { getSymbol } from '../../utils/getNativeTicker'\nimport BondModalHeader from './components/BondModalHeader'\nimport BondCards from './components/BondCards/BondCards'\nimport Estimations from './components/Estimations'\nimport ProjectDescription from './components/ProjectDescription'\nimport NoBonusModal from './components/NoBonusModal/NoBonusModal'\nimport useJupiterSolanaQuote from '../../state/zap/useJupiterSolanaQuote'\nimport useSortedZapList from '../../hooks/useSortedZapList'\n\n// Solana\nimport ConnectSolanaWalletButton from '../../components/ConnectSolanaWalletButton/ConnectSolanaWalletButton'\nimport {\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n Keypair,\n Transaction,\n Connection,\n TransactionInstruction,\n} from '@solana/web3.js'\nimport { createJupiterApiClient } from '@jup-ag/api'\nimport { derivePda } from '../../utils/derivePda'\nimport {\n getAssociatedTokenAddress,\n ASSOCIATED_TOKEN_PROGRAM_ID,\n createAssociatedTokenAccountInstruction,\n getAccount,\n} from '@solana/spl-token'\nimport { getBondIssuanceAccountSolana } from '../../utils/getSolanaAccount'\nimport { getU64Codec } from '@solana/kit'\nimport { DEPOSIT_DISCRIMINATOR, MPL_CORE_PROGRAM_ID, PROGRAM_ID } from '../../constants/solanaConstants'\nimport { Buffer } from 'buffer'\nimport { BondsData } from '../../types/bonds'\nimport { BondIssuanceAccount } from '../../types'\nimport { getRPC } from '../../config/constants/networks'\nimport { reportError } from '../../utils/reportError'\nimport SafeHTMLComponent from '../../components/SafeHTMLComponent'\nimport { findHighestTrueBondPrice } from '../../utils/bondPriceHelpers'\nimport track from '../../utils/track'\nimport { remove0xPrefix } from '../../utils/remove0xPrefix'\nimport { MCBuyComponentStyles } from '../../utils/campaignStyles'\nimport useSOLAccount from '../../hooks/accounts/useSOLAccount'\nimport { useSendReferenceId } from '../../hooks/useSendReferenceId'\nimport LifiModal from '../LifiModal/LifiModal'\nimport { getAtaWithCreateInstruction, getTokenProgramForMint } from '../../utils/solanaAtaHelper'\nimport Flex from '../../components/uikit-sdk/Flex'\nimport Text from '../../components/uikit-sdk/Text'\nimport TooltipBubble from '../../components/uikit-sdk/TooltipBubble'\nimport Button from '../../components/uikit-sdk/Button/Button'\nimport { formatNumberSI } from '../../utils/formatNumber'\nimport QuestionCircle from '../../components/uikit-sdk/Svg/Icons/QuestionCircle'\nimport { mulDivRound, parseUnits, toFixedString } from '../../utils/fixedPoint'\n\n// price * (100 + slippage) / (100 * 1e6), scaled by 1e6 to preserve fractional slippage\n// percentages without a float precompute (matches this bond program's price scale).\nconst slippageMaxPriceSolana = (priceBig: bigint, slippage: number): bigint =>\n mulDivRound(priceBig, parseUnits(String(100 + slippage), 6), parseUnits('100', 6) * 1_000_000n, 'halfUp')\n\ninterface BuyComponentSolanaProps {\n onDismiss?: () => void // this is only the modal\n bondAddress?: string\n bondChain?: number\n setBillId?: (id: string) => void\n isProjectView?: boolean\n}\n\nconst BuyComponentSolana: React.FC<BuyComponentSolanaProps> = ({\n onDismiss,\n bondAddress,\n bondChain,\n isProjectView,\n setBillId,\n}) => {\n const SDKConfig = useSDKConfig()\n\n // Hooks\n const { publicKey: accountSolana, signTransaction } = useSOLAccount()\n const { data: bonds } = useBondsData()\n const { addToastError, addToastSuccess } = usePopups()\n const { solSlippage: slippage } = useSlippage()\n const sendReferenceId = useSendReferenceId()\n\n const bondData: BondsData | undefined = bonds?.find(\n (bond) => bond?.contractAddress?.[bond?.chainId]?.toLowerCase() === bondAddress?.toLowerCase(),\n )\n\n // Tier Gating\n const trueBondPriceData = findHighestTrueBondPrice('0', bondData?.trueBondPrices)\n\n // State\n const [inputValue, setInputValue] = useState('')\n const [inputTokenString, setInputTokenString] = useState(bondData?.lpToken?.address?.[bondData.chainId])\n\n // On-chain Data\n const inputToken = useTokenFromZapList(inputTokenString, bondData?.chainId, bondData?.lpToken)\n const isZap = inputTokenString?.toLowerCase() !== bondData?.lpToken?.address?.[bondData?.chainId]?.toLowerCase()\n\n const [\n fetchingZapQuote,\n jupiterQuote,\n zapDepositAmount,\n zapError,\n isDirectRoute,\n minimumDepositAmount,\n wrapAndUnwrapSol,\n ] = useJupiterSolanaQuote(inputValue, inputToken, bondData, accountSolana?.toBase58(), true, slippage)\n\n const { sortedZapList, isFetched: zapListFetched } = useSortedZapList(bondChain, bondData?.lpToken)\n const enrichedTokenData = sortedZapList.find((item) =>\n item.token === 'NATIVE' || inputToken === 'NATIVE'\n ? item.token === inputToken\n : item?.token?.address?.[bondChain as ChainId]?.toLowerCase() ===\n inputToken?.address?.[bondChain as ChainId]?.toLowerCase(),\n )\n const inputCurrencyBalance = enrichedTokenData?.balance\n const inputTokenPrice = enrichedTokenData?.price\n\n // Estimations - use zapDepositAmount if swapping\n const depositAmount = isZap ? zapDepositAmount : inputValue\n const youSpendString = `${formatNumberSI(inputValue)} ${getSymbol(inputToken, bondData?.chainId)} = \n $${formatUSDNumber((parseFloat(inputValue) * (inputTokenPrice ?? 0)).toString())}`\n\n const exceedsRealMaxBuy = getMaxBuy(bondData, true) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsSafeMaxBuy =\n getMaxBuy(bondData, false) * (isZap ? 0.995 : 0.9995) <= getPayoutAmount(bondData, depositAmount, '0')\n const exceedsBalance = Number(inputCurrencyBalance ?? '0') < Number(inputValue)\n\n // Loading State - include zap loading\n const [loadingTx, setLoadingTx] = useState(false)\n const load = loadingTx || (fetchingZapQuote && !!inputValue)\n\n // State Handlers\n const handleCurrencySelect = useCallback((newInputToken: string) => {\n setInputValue('')\n setInputTokenString(newInputToken)\n }, [])\n\n const handleMaxButton = () => {\n const balance = Number(inputCurrencyBalance ?? '0')\n const principalDecimals = bondData?.lpToken?.decimals?.[bondData?.chainId] ?? 18\n const maxBuyAmount = getMaxBuy(bondData, SDKConfig.showLowValueBonds)\n\n if (!isZap) {\n const maxPossibleUserPurchase = getPayoutAmount(bondData, balance.toString(), '0')\n if (maxPossibleUserPurchase > maxBuyAmount) {\n console.log('user balance exceeds max buy limit, setting to max buy')\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n setInputValue(toFixedString(principalForMaxBuy, principalDecimals))\n } else {\n console.log('balance is ok, can be used')\n setInputValue(toFixedString(balance, principalDecimals))\n }\n } else {\n const principalForMaxBuy = getPrincipalAmount(bondData, maxBuyAmount.toString(), '0')\n const principalForMaxBuyUSD = principalForMaxBuy * Number(bondData?.principalTokenPrice ?? 0)\n const maxBuyAmountInSelectedToken = principalForMaxBuyUSD / (inputTokenPrice ?? 0)\n const decimals =\n enrichedTokenData?.token === 'NATIVE' ? 18 : (enrichedTokenData?.token.decimals[bondData?.chainId!] ?? 18)\n\n if (balance >= maxBuyAmountInSelectedToken) {\n setInputValue(toFixedString(maxBuyAmountInSelectedToken, decimals))\n } else {\n setInputValue(toFixedString(balance, decimals))\n }\n }\n }\n\n const handleBuyCallback = async () => {\n if (!accountSolana || !bondData || !inputValue || !inputToken || !bondData) return\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n try {\n setLoadingTx(true)\n\n const connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n\n // Convert input value\n const amountBigInt = parseUnits(inputValue, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const user = accountSolana\n\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n\n // Static addresses\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n // Fetch Bond Issuance Account\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) return\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient) // ADDED\n\n // Derive PDAs\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n // Create NFT mint\n const nftMint = Keypair.generate()\n\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // ATAs - use correct token program for each mint\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, principalTokenProgram)\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, user)\n\n // Encode args\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amountBigInt))\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n // Instruction\n const keys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: user, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n const instruction = new TransactionInstruction({\n keys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n\n // Create tx (prepend payout fee recipient ATA creation if needed)\n const transaction = new Transaction()\n if (createPayoutFeeRecipientAtaIx) transaction.add(createPayoutFeeRecipientAtaIx)\n transaction.add(instruction)\n transaction.feePayer = user\n\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n transaction.recentBlockhash = blockhash\n // Sign tx\n transaction.partialSign(nftMint)\n const signedTx = await signTransaction?.(transaction)!\n\n // Sends tx, generates hash\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n // awaits hash confirmation on chain - commitment \"confirmed\"\n await connection.confirmTransaction(\n {\n signature: txId,\n blockhash,\n lastValidBlockHeight,\n },\n 'confirmed',\n )\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: 'lp-buy',\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n // waits 3 seconds before triggering after-purchase flow\n await new Promise((resolve) => setTimeout(resolve, 3000))\n\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during bond purchase:', error)\n addToastError(error?.message || 'Unknown error')\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: { type: 'solanaBuyBond', error: error.message },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n // Helper: Build Jupiter swap instructions from API response\n const buildSwapInstructions = (swapResult: any) => {\n const swapInstruction = new TransactionInstruction({\n programId: new PublicKey(swapResult.swapInstruction.programId),\n keys: swapResult.swapInstruction.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(swapResult.swapInstruction.data, 'base64'),\n })\n\n const setupInstructions = (swapResult.setupInstructions || []).map(\n (ix: any) =>\n new TransactionInstruction({\n programId: new PublicKey(ix.programId),\n keys: ix.accounts.map((key: any) => ({\n pubkey: new PublicKey(key.pubkey),\n isSigner: key.isSigner,\n isWritable: key.isWritable,\n })),\n data: Buffer.from(ix.data, 'base64'),\n }),\n )\n\n return { setupInstructions, swapInstruction }\n }\n\n // Helper: Build bond instruction with specified amount\n const buildBondInstruction = (amount: bigint, maxPriceEncoded: Buffer, bondKeys: any[]) => {\n const u64Codec = getU64Codec()\n const amountEncoded = Buffer.from(u64Codec.encode(amount))\n const instructionData = Buffer.concat([DEPOSIT_DISCRIMINATOR, amountEncoded, maxPriceEncoded])\n\n return new TransactionInstruction({\n keys: bondKeys,\n programId: PROGRAM_ID,\n data: instructionData,\n })\n }\n\n // Helper: Ensure user's principal token account exists\n const ensureUserPrincipalAtaExists = async (\n connection: Connection,\n payer: PublicKey,\n principalMint: PublicKey,\n user: PublicKey,\n tokenProgram: PublicKey,\n ): Promise<{ ataAddress: PublicKey; createInstruction: TransactionInstruction | null }> => {\n const userPrincipalAta = await getAssociatedTokenAddress(principalMint, user, true, tokenProgram)\n\n try {\n // Check if account exists\n await getAccount(connection, userPrincipalAta, undefined, tokenProgram)\n return { ataAddress: userPrincipalAta, createInstruction: null }\n } catch {\n // Account doesn't exist, return instruction to create it\n const createAtaIx = createAssociatedTokenAccountInstruction(\n payer, // fee payer\n userPrincipalAta, // ATA to create\n user, // owner of ATA\n principalMint, // mint\n tokenProgram, // token program\n )\n return { ataAddress: userPrincipalAta, createInstruction: createAtaIx }\n }\n }\n\n // Helper: Track zap events\n const trackZapEvents = (txType: 'single-tx' | 'two-tx') => {\n track({\n event: 'zap',\n chain: bondChain,\n data: {\n cat: 'bond',\n token1: getSymbol(inputToken),\n token2: bondData?.lpToken.symbol ?? '',\n amount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n track({\n event: 'bond',\n chain: bondChain,\n data: {\n cat: `zap-buy-${txType}`,\n type: bondData?.billType ?? '',\n typedValue: inputValue,\n principalToken: bondData?.lpToken.symbol ?? '',\n earnToken: bondData?.earnToken.symbol ?? '',\n address: remove0xPrefix(bondData?.contractAddress?.[bondData.chainId]),\n usdAmount: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n }\n\n const handleZapCallback = async () => {\n if (loadingTx || !accountSolana || !bondData || !jupiterQuote || !signTransaction) return\n\n track({\n event: 'buyBondClick',\n chain: bondChain,\n data: {\n cat: bondData?.billType,\n bond: bondData?.earnToken.symbol,\n value: parseFloat(inputValue) * (inputTokenPrice ?? 0),\n },\n })\n\n try {\n setLoadingTx(true)\n const connection = new Connection(getRPC(ChainId.SOL), 'confirmed')\n const jupiterApi = createJupiterApiClient()\n\n // STEP 1: Calculate bond parameters and prepare accounts\n const trueBondPriceWithoutFee = bondData?.trueBondPrices?.[0]?.trueBondPrice\n const maxPrice = slippageMaxPriceSolana(BigInt(trueBondPriceWithoutFee ?? '0'), slippage).toString()\n console.log(isDirectRoute ? 'Using direct route' : 'Using multi-hop route')\n const depositAmountForBond = isDirectRoute ? minimumDepositAmount : zapDepositAmount\n\n const amountBigInt = parseUnits(depositAmountForBond, bondData.lpToken.decimals[ChainId.SOL]!)\n\n const bondIssuancePda = new PublicKey(bondData.contractAddress[bondData.chainId]!)\n const principalMint = new PublicKey(bondData.lpToken.address[bondData.chainId]!)\n const payoutMint = new PublicKey(bondData.earnToken.address[bondData.chainId]!)\n const collection = new PublicKey(bondData.billNnftAddress[bondData.chainId]!)\n\n // Detect token programs for both mints (supports Token-2022)\n const [principalTokenProgram, payoutTokenProgram] = await Promise.all([\n getTokenProgramForMint(connection, principalMint),\n getTokenProgramForMint(connection, payoutMint),\n ])\n\n const bondIssuanceAccounts = (await getBondIssuanceAccountSolana([\n bondIssuancePda.toBase58(),\n ])) as BondIssuanceAccount[]\n if (!bondIssuanceAccounts) throw new Error('Failed to fetch bond issuance account')\n\n const bondIssuanceAccount = bondIssuanceAccounts[0]\n const feeRecipient = new PublicKey(bondIssuanceAccount.feePrincipalRecipient)\n const partnerRecipient = new PublicKey(bondIssuanceAccount.partnerPrincipalRecipient)\n const feePayoutRecipient = new PublicKey(bondIssuanceAccount.feePayoutRecipient)\n\n const bondTermPda = derivePda('bond_term', bondIssuancePda, PROGRAM_ID)\n const bondPricingPda = derivePda('bond_pricing', bondIssuancePda, PROGRAM_ID)\n\n const nftMint = Keypair.generate()\n const [bondPda] = PublicKey.findProgramAddressSync(\n [Buffer.from('bond'), bondIssuancePda.toBuffer(), nftMint.publicKey.toBuffer()],\n PROGRAM_ID,\n )\n\n // Ensure user's USDC account exists, get creation instruction if needed\n const { ataAddress: userPrincipalAta, createInstruction: createPrincipalAtaIx } =\n await ensureUserPrincipalAtaExists(\n connection,\n accountSolana,\n principalMint,\n accountSolana,\n principalTokenProgram,\n )\n const treasuryAta = await getAssociatedTokenAddress(payoutMint, bondIssuancePda, true, payoutTokenProgram)\n const feePrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n feeRecipient,\n true,\n principalTokenProgram,\n )\n const partnerPrincipalRecipientAta = await getAssociatedTokenAddress(\n principalMint,\n partnerRecipient,\n true,\n principalTokenProgram,\n )\n const { address: feePayoutRecipientAta, createInstruction: createPayoutFeeRecipientAtaIx } =\n await getAtaWithCreateInstruction(connection, payoutMint, feePayoutRecipient, accountSolana)\n\n const u64Codec = getU64Codec()\n const maxPriceEncoded = Buffer.from(u64Codec.encode(BigInt(maxPrice)))\n\n const bondKeys = [\n { pubkey: bondPda, isSigner: false, isWritable: true },\n { pubkey: nftMint.publicKey, isSigner: true, isWritable: true },\n { pubkey: accountSolana, isSigner: true, isWritable: true },\n { pubkey: bondPricingPda, isSigner: false, isWritable: true },\n { pubkey: bondTermPda, isSigner: false, isWritable: true },\n { pubkey: bondIssuancePda, isSigner: false, isWritable: true },\n { pubkey: collection, isSigner: false, isWritable: true },\n { pubkey: userPrincipalAta, isSigner: false, isWritable: true },\n { pubkey: feePrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: partnerPrincipalRecipientAta, isSigner: false, isWritable: true },\n { pubkey: feePayoutRecipientAta, isSigner: false, isWritable: true },\n { pubkey: treasuryAta, isSigner: false, isWritable: true },\n { pubkey: principalMint, isSigner: false, isWritable: false },\n { pubkey: payoutMint, isSigner: false, isWritable: false },\n { pubkey: SystemProgram.programId, isSigner: false, isWritable: false },\n { pubkey: principalTokenProgram, isSigner: false, isWritable: false }, // principal_token_program (dynamic)\n { pubkey: payoutTokenProgram, isSigner: false, isWritable: false }, // payout_token_program (dynamic)\n { pubkey: ASSOCIATED_TOKEN_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: MPL_CORE_PROGRAM_ID, isSigner: false, isWritable: false },\n { pubkey: SYSVAR_INSTRUCTIONS_PUBKEY, isSigner: false, isWritable: false },\n ]\n\n // Build initial bond instruction (for single-tx attempt)\n const bondInstruction = buildBondInstruction(amountBigInt, maxPriceEncoded, bondKeys)\n\n // STEP 2: Get Jupiter swap instructions\n const swapResult = await jupiterApi.swapInstructionsPost({\n swapRequest: {\n quoteResponse: jupiterQuote,\n userPublicKey: accountSolana.toBase58(),\n wrapAndUnwrapSol: wrapAndUnwrapSol,\n dynamicComputeUnitLimit: true,\n prioritizationFeeLamports: {\n priorityLevelWithMaxLamports: {\n maxLamports: 4000000,\n priorityLevel: 'veryHigh',\n },\n },\n },\n })\n\n console.log('=== TRANSACTION SIZE ANALYSIS ===')\n console.log('Route used:', jupiterQuote.routePlan?.map((r) => r.swapInfo.label).join(' -> '))\n console.log('Swap accounts:', swapResult.swapInstruction.accounts.length)\n console.log('Setup instructions count:', swapResult.setupInstructions?.length || 0)\n\n let totalAccounts = swapResult.swapInstruction.accounts.length\n swapResult.setupInstructions?.forEach((ix, i) => {\n console.log(` Setup ${i}: ${ix.accounts.length} accounts`)\n totalAccounts += ix.accounts.length\n })\n\n console.log('Bond instruction accounts:', 20)\n console.log('Total accounts:', totalAccounts + 20)\n console.log('=== END ANALYSIS ===')\n\n // STEP 3: TRY SINGLE TRANSACTION (if direct route)\n if (isDirectRoute) {\n try {\n // Build swap instructions\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const setupIxs = [\n ...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []),\n ...(createPayoutFeeRecipientAtaIx ? [createPayoutFeeRecipientAtaIx] : []),\n ...setupInstructions,\n ]\n const allInstructions = [...setupIxs, swapInstruction, bondInstruction]\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n\n const combinedTx = new Transaction()\n combinedTx.add(...allInstructions)\n combinedTx.recentBlockhash = blockhash\n combinedTx.feePayer = accountSolana\n combinedTx.partialSign(nftMint)\n\n // Check size - account for signatures\n const messageSize = combinedTx.serializeMessage().length\n const numSignatures = combinedTx.signatures.length // Should be 2: nftMint + accountSolana\n const signatureOverhead = 1 + numSignatures * 64 // 1 byte for count + 64 bytes per signature\n const estimatedTxSize = messageSize + signatureOverhead\n\n console.log(`Combined transaction size: ${estimatedTxSize} bytes (limit: 1232 bytes)`)\n\n if (estimatedTxSize > 1232) {\n console.log('Transaction too large, falling back to two transactions')\n throw new Error('TRANSACTION_TOO_LARGE')\n }\n\n // Execute single transaction!\n console.log('Transaction fits. Executing combined swap + bond')\n const signedTx = await signTransaction(combinedTx)\n const txId = await connection.sendRawTransaction(signedTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: txId, blockhash, lastValidBlockHeight }, 'confirmed')\n\n console.log('SINGLE transaction confirmed:', txId)\n\n // Track success\n trackZapEvents('single-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, txId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(txId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n return\n } catch (singleTxError: any) {\n if (singleTxError.message !== 'TRANSACTION_TOO_LARGE') {\n throw singleTxError\n }\n console.log('Falling back to two separate transactions...')\n }\n }\n\n // STEP 4: FALLBACK - TWO SEPARATE TRANSACTIONS\n console.log('Executing TWO separate transactions...')\n\n // Execute swap first\n const { setupInstructions, swapInstruction } = buildSwapInstructions(swapResult)\n const swapSetupIxs = [...(createPrincipalAtaIx ? [createPrincipalAtaIx] : []), ...setupInstructions]\n const swapTx = new Transaction().add(...swapSetupIxs, swapInstruction)\n swapTx.feePayer = accountSolana\n const { blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid } =\n await connection.getLatestBlockhash('confirmed')\n swapTx.recentBlockhash = swapBlockhash\n\n const signedSwapTx = await signTransaction(swapTx)\n const swapTxId = await connection.sendRawTransaction(signedSwapTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction(\n { signature: swapTxId, blockhash: swapBlockhash, lastValidBlockHeight: swapLastValid },\n 'confirmed',\n )\n console.log('Swap transaction confirmed:', swapTxId)\n\n // QUERY ACTUAL BALANCE RECEIVED FROM SWAP\n const principalTokenBalance = await connection.getTokenAccountBalance(userPrincipalAta)\n const actualAmount = BigInt(principalTokenBalance.value.amount)\n\n // REBUILD BOND INSTRUCTION WITH ACTUAL AMOUNT\n const actualBondInstruction = buildBondInstruction(actualAmount, maxPriceEncoded, bondKeys)\n\n const bondTx = new Transaction()\n if (createPayoutFeeRecipientAtaIx) bondTx.add(createPayoutFeeRecipientAtaIx)\n bondTx.add(actualBondInstruction)\n bondTx.feePayer = accountSolana\n const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash('confirmed')\n bondTx.recentBlockhash = blockhash\n bondTx.partialSign(nftMint)\n\n const signedBondTx = await signTransaction(bondTx)\n const bondTxId = await connection.sendRawTransaction(signedBondTx.serialize(), {\n skipPreflight: false,\n preflightCommitment: 'confirmed',\n })\n\n await connection.confirmTransaction({ signature: bondTxId, blockhash, lastValidBlockHeight }, 'confirmed')\n console.log('Bond transaction confirmed:', bondTxId)\n\n // Track both transactions\n trackZapEvents('two-tx')\n await sendReferenceId(bondData.contractAddress[bondData.chainId]!, ChainId.SOL, bondTxId)\n\n await new Promise((resolve) => setTimeout(resolve, 3000))\n addToastSuccess(bondTxId, bondChain)\n setBillId?.(nftMint.publicKey.toString())\n } catch (error: any) {\n console.error('Error during zap + bond purchase:', error)\n addToastError(error?.message || 'Unknown error during swap and bond')\n\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error: error.message,\n extraInfo: {\n type: 'solanaJupiterZapBuyBond',\n error: error.message,\n isDirectRoute,\n quote: jupiterQuote,\n },\n chainId: bondChain,\n account: accountSolana.toString(),\n })\n } finally {\n setLoadingTx(false)\n }\n }\n\n const handleBothPurchases = () => {\n if (loadingTx) return // Prevent duplicate calls\n setLoadingTx(true)\n if (isZap) {\n handleZapCallback().finally(() => setLoadingTx(false))\n } else {\n handleBuyCallback().finally(() => setLoadingTx(false))\n }\n }\n\n const handleOpenModal = () => {\n const bonus = trueBondPriceData?.bonusWithFee ?? 0\n if (bonus <= 0) {\n openNoBonusModal()\n } else {\n handleBothPurchases()\n }\n }\n\n // Modals\n const [onOpenLifiModal] = useModal(\n <LifiModal bondChain={1151111081099710} principalToken={bondData?.lpToken?.address?.[bondData?.chainId]} />,\n true,\n false,\n 'LifiModal',\n )\n\n const [openNoBonusModal] = useModal(\n <NoBonusModal onAcknowledge={handleBothPurchases} showcaseTokenName={bondData?.showcaseTokenName} />,\n true,\n true,\n 'NoBonusModal',\n )\n // Effects\n const [hasChecked, setHasChecked] = useState(false)\n useEffect(() => {\n if (zapListFetched && !hasChecked) {\n if (parseFloat(inputCurrencyBalance ?? '0') < 0.0001) {\n setInputTokenString(\n sortedZapList[0].token === 'NATIVE' ? 'NATIVE' : sortedZapList[0].token.address[bondChain as ChainId],\n )\n }\n setHasChecked(true)\n }\n /* eslint-disable react-hooks/exhaustive-deps */\n }, [inputCurrencyBalance, zapListFetched])\n\n return bondData ? (\n <Flex\n className=\"modal-content ape:flex ape:flex-col ape:rounded-[10px] ape:bg-white2 ape:w-full ape:p-3.75 ape:md:p-5\"\n style={{ ...MCBuyComponentStyles[bondData?.marketingCampaign as MarketingCampaign] }}\n >\n <Flex className=\"modaltable-container ape:w-full ape:flex ape:flex-col ape:relative ape:gap-2.5\">\n <BondModalHeader bondData={bondData} onDismiss={onDismiss} hidePromotionUi />\n <ProjectDescription description={bondData.shortDescription} isProjectView />\n <Flex className={clsx('ape:w-full', isProjectView ? 'ape:hidden ape:lg:flex' : 'ape:flex')}>\n <BondCards bondData={bondData} isDoingMaxBuy={exceedsSafeMaxBuy && !exceedsRealMaxBuy} />\n </Flex>\n <Estimations\n depositAmount={depositAmount}\n bondData={bondData}\n youSpendString={youSpendString}\n isZap={isZap}\n fetchingZapQuote={fetchingZapQuote}\n zapError={zapError}\n hidePromotionUi\n />\n <TokenSelectorPanel\n typedValue={inputValue}\n setTypedValue={setInputValue}\n selectedToken={inputToken}\n handleValueBtn={handleMaxButton}\n handleCurrencySelect={handleCurrencySelect}\n bondChainId={bondData?.chainId}\n enableZap={true}\n bondPrincipalToken={bondData?.lpToken}\n tokenBalance={inputCurrencyBalance ?? undefined}\n selectedTokenPrice={inputTokenPrice}\n isConnected={!!accountSolana}\n />\n {bondData?.warningCard && (\n <Flex\n className=\"ape:w-full ape:justify-center ape:mt-[10px] ape:rounded-normal ape:p-[2px_10px]\"\n style={{ background: '#DE62F366' }}\n >\n <Text as=\"div\" size=\"12px\" className=\"ape:font-normal ape:flex ape:items-center ape:gap-[10px]\">\n <SafeHTMLComponent html={bondData?.warningCard} />\n {bondData?.chainId === ChainId.SONIC && bondData?.earnToken.symbol.toLowerCase() === 'moon' && (\n <TooltipBubble\n className=\"tooltip-bubble\"\n body={\n <Text className=\"ape:normal-case\">\n Open the &#39;cog&#39; icon menu in the top right and set the Slippage Tolerance to 5% or more.\n </Text>\n }\n width=\"315px\"\n placement=\"topRight\"\n transformTip=\"translate(9%, -10%)\"\n >\n <QuestionCircle width={14} color=\"textDisabledButton\" />\n </TooltipBubble>\n )}\n </Text>\n </Flex>\n )}\n <Flex className=\"modaltable-container button-container ape:w-full ape:flex ape:relative ape:flex-row ape:justify-between\">\n <Flex className=\"button-container buy ape:justify-center ape:items-center ape:cursor-pointer ape:w-full\">\n {!accountSolana ? (\n <ConnectSolanaWalletButton />\n ) : (\n <Flex className=\"ape:w-full ape:gap-[10px] ape:flex-col ape:lg:flex-row\">\n <Button\n variant=\"secondary\"\n onClick={() => onOpenLifiModal()}\n className=\"ape:w-full ape:lg:w-[35%] ape:text-[14px]! ape:lg:text-[16px]!\"\n >\n bridge to sol\n </Button>\n <Button\n className=\"action-button ape:w-full ape:lg:w-[65%] ape:text-[14px]! ape:lg:text-[16px]!\"\n load={load}\n disabled={\n load ||\n bondData?.soldOut ||\n !accountSolana ||\n !inputValue ||\n parseFloat(inputValue) === 0 ||\n fetchingZapQuote ||\n zapError ||\n exceedsRealMaxBuy ||\n exceedsBalance ||\n (isZap && !jupiterQuote) ||\n SDKConfig.blockSales\n }\n onClick={handleOpenModal}\n >\n {SDKConfig.blockSales\n ? 'Complete KYC to Buy'\n : exceedsRealMaxBuy\n ? 'Exceeds Max Buy. Reduce amount'\n : exceedsBalance\n ? 'Insufficient balance'\n : zapError\n ? 'Swap quote failed'\n : !inputValue || parseFloat(inputValue) === 0\n ? 'Insert amount'\n : 'buy'}\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n ) : (\n <></>\n )\n}\n\nexport default BuyComponentSolana\n"],"names":["_jsx","_jsxs","ConnectSolanaWalletButton","_Fragment"],"mappings":"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"}
@@ -60,7 +60,7 @@ const LifiModal = ({ bondChain, principalToken, onDismiss, }) => {
60
60
  },
61
61
  },
62
62
  };
63
- return (jsxs(Modal, { className: "ape:min-w-100 ape:justify-center ape:items-center ape:p-0!", children: [jsx(ModalHeader, { className: "ape:px-6 ape:pt-4", onDismiss: onDismiss, hideDivider: true, children: "Swap & Bridge with LIFI" }), jsx(LiFiWidget, { ...config })] }));
63
+ return (jsxs(Modal, { className: "ape:justify-center ape:items-center ape:p-0!", children: [jsx(ModalHeader, { className: "ape:px-6 ape:pt-4", onDismiss: onDismiss, hideDivider: true, children: "Swap & Bridge with LIFI" }), jsx(LiFiWidget, { ...config })] }));
64
64
  };
65
65
 
66
66
  export { LifiModal as default };
@@ -1 +1 @@
1
- {"version":3,"file":"LifiModal.js","sources":["../../../src/views/LifiModal/LifiModal.tsx"],"sourcesContent":["import React from 'react'\nimport { LiFiWidget } from '@lifi/widget'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\n\nconst getFees = async (fromTokenSymbol: string, toTokenSymbol: string): Promise<number> => {\n const stableCoins = ['FRAX', 'USDC', 'USDT', 'DAI', 'BUSD', 'TUSD', 'USDD', 'FDUSD']\n const isFromStable = stableCoins.includes(fromTokenSymbol)\n const isToStable = stableCoins.includes(toTokenSymbol)\n if (toTokenSymbol.toLowerCase() === 'abond') {\n return 0\n }\n return isFromStable && isToStable ? 0.001 : 0.003\n}\n\nconst LifiModal = ({\n bondChain,\n principalToken,\n onDismiss,\n}: {\n bondChain?: number\n principalToken?: string\n onDismiss?: () => void\n}) => {\n const config = {\n appearance: 'dark' as const,\n loadFonts: false,\n theme: {\n typography: {\n fontFamily: 'Poppins',\n },\n colorSchemes: {\n dark: {\n palette: {\n background: {\n default: '#161420',\n paper: '#1F1D29',\n },\n primary: {\n main: '#6560C5',\n },\n secondary: {\n main: '#6560C5',\n },\n },\n },\n },\n container: {\n boxShadow: '0px 8px 32px rgba(0, 0, 0, 0.08)',\n borderRadius: '16px',\n },\n },\n // fromToken: 'BNB',\n // fromChain: ChainId.BSC,\n toChain: bondChain,\n toToken: principalToken,\n sdkConfig: {\n rpcUrls: {\n [1151111081099710]: [\n 'https://ancient-cold-sailboat.solana-mainnet.quiknode.pro/da13400ad8d0035313f3e71c6a37c107d0d0334b',\n ],\n },\n },\n variant: 'wide' as const,\n integrator: 'apeswap',\n feeConfig: {\n calculateFee: async (params: any) => {\n return getFees(params.fromToken.symbol, params.toToken.symbol)\n },\n },\n }\n\n return (\n <Modal className=\"ape:min-w-100 ape:justify-center ape:items-center ape:p-0!\">\n <ModalHeader className=\"ape:px-6 ape:pt-4\" onDismiss={onDismiss} hideDivider>\n Swap & Bridge with LIFI\n </ModalHeader>\n <LiFiWidget {...config} />\n </Modal>\n )\n}\n\nexport default LifiModal\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;AAKA,MAAM,OAAO,GAAG,OAAO,eAAuB,EAAE,aAAqB,KAAqB;AACxF,IAAA,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IACpF,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;AACtD,IAAA,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;AAC3C,QAAA,OAAO,CAAC;IACV;IACA,OAAO,YAAY,IAAI,UAAU,GAAG,KAAK,GAAG,KAAK;AACnD,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,cAAc,EACd,SAAS,GAKV,KAAI;AACH,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,UAAU,EAAE,MAAe;AAC3B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,KAAK,EAAE;AACL,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE,SAAS;AACtB,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE;AACV,4BAAA,OAAO,EAAE,SAAS;AAClB,4BAAA,KAAK,EAAE,SAAS;AACjB,yBAAA;AACD,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACD,wBAAA,SAAS,EAAE;AACT,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,SAAS,EAAE,kCAAkC;AAC7C,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA;AACF,SAAA;;;AAGD,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,SAAS,EAAE;AACT,YAAA,OAAO,EAAE;gBACP,CAAC,gBAAgB,GAAG;oBAClB,oGAAoG;AACrG,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,MAAe;AACxB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,SAAS,EAAE;AACT,YAAA,YAAY,EAAE,OAAO,MAAW,KAAI;AAClC,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAChE,CAAC;AACF,SAAA;KACF;AAED,IAAA,QACEA,IAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,4DAA4D,EAAA,QAAA,EAAA,CAC3EC,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,CAE9D,EACdA,GAAA,CAAC,UAAU,EAAA,EAAA,GAAK,MAAM,EAAA,CAAI,CAAA,EAAA,CACpB;AAEZ;;;;"}
1
+ {"version":3,"file":"LifiModal.js","sources":["../../../src/views/LifiModal/LifiModal.tsx"],"sourcesContent":["import React from 'react'\nimport { LiFiWidget } from '@lifi/widget'\nimport Modal from '../../components/uikit-sdk/Modal'\nimport ModalHeader from '../../components/uikit-sdk/Modal/ModalHeader'\n\nconst getFees = async (fromTokenSymbol: string, toTokenSymbol: string): Promise<number> => {\n const stableCoins = ['FRAX', 'USDC', 'USDT', 'DAI', 'BUSD', 'TUSD', 'USDD', 'FDUSD']\n const isFromStable = stableCoins.includes(fromTokenSymbol)\n const isToStable = stableCoins.includes(toTokenSymbol)\n if (toTokenSymbol.toLowerCase() === 'abond') {\n return 0\n }\n return isFromStable && isToStable ? 0.001 : 0.003\n}\n\nconst LifiModal = ({\n bondChain,\n principalToken,\n onDismiss,\n}: {\n bondChain?: number\n principalToken?: string\n onDismiss?: () => void\n}) => {\n const config = {\n appearance: 'dark' as const,\n loadFonts: false,\n theme: {\n typography: {\n fontFamily: 'Poppins',\n },\n colorSchemes: {\n dark: {\n palette: {\n background: {\n default: '#161420',\n paper: '#1F1D29',\n },\n primary: {\n main: '#6560C5',\n },\n secondary: {\n main: '#6560C5',\n },\n },\n },\n },\n container: {\n boxShadow: '0px 8px 32px rgba(0, 0, 0, 0.08)',\n borderRadius: '16px',\n },\n },\n // fromToken: 'BNB',\n // fromChain: ChainId.BSC,\n toChain: bondChain,\n toToken: principalToken,\n sdkConfig: {\n rpcUrls: {\n [1151111081099710]: [\n 'https://ancient-cold-sailboat.solana-mainnet.quiknode.pro/da13400ad8d0035313f3e71c6a37c107d0d0334b',\n ],\n },\n },\n variant: 'wide' as const,\n integrator: 'apeswap',\n feeConfig: {\n calculateFee: async (params: any) => {\n return getFees(params.fromToken.symbol, params.toToken.symbol)\n },\n },\n }\n\n return (\n <Modal className=\"ape:justify-center ape:items-center ape:p-0!\">\n <ModalHeader className=\"ape:px-6 ape:pt-4\" onDismiss={onDismiss} hideDivider>\n Swap & Bridge with LIFI\n </ModalHeader>\n <LiFiWidget {...config} />\n </Modal>\n )\n}\n\nexport default LifiModal\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;AAKA,MAAM,OAAO,GAAG,OAAO,eAAuB,EAAE,aAAqB,KAAqB;AACxF,IAAA,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;IACpF,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC1D,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;AACtD,IAAA,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE;AAC3C,QAAA,OAAO,CAAC;IACV;IACA,OAAO,YAAY,IAAI,UAAU,GAAG,KAAK,GAAG,KAAK;AACnD,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,EACjB,SAAS,EACT,cAAc,EACd,SAAS,GAKV,KAAI;AACH,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,UAAU,EAAE,MAAe;AAC3B,QAAA,SAAS,EAAE,KAAK;AAChB,QAAA,KAAK,EAAE;AACL,YAAA,UAAU,EAAE;AACV,gBAAA,UAAU,EAAE,SAAS;AACtB,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,IAAI,EAAE;AACJ,oBAAA,OAAO,EAAE;AACP,wBAAA,UAAU,EAAE;AACV,4BAAA,OAAO,EAAE,SAAS;AAClB,4BAAA,KAAK,EAAE,SAAS;AACjB,yBAAA;AACD,wBAAA,OAAO,EAAE;AACP,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACD,wBAAA,SAAS,EAAE;AACT,4BAAA,IAAI,EAAE,SAAS;AAChB,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,SAAS,EAAE,kCAAkC;AAC7C,gBAAA,YAAY,EAAE,MAAM;AACrB,aAAA;AACF,SAAA;;;AAGD,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,SAAS,EAAE;AACT,YAAA,OAAO,EAAE;gBACP,CAAC,gBAAgB,GAAG;oBAClB,oGAAoG;AACrG,iBAAA;AACF,aAAA;AACF,SAAA;AACD,QAAA,OAAO,EAAE,MAAe;AACxB,QAAA,UAAU,EAAE,SAAS;AACrB,QAAA,SAAS,EAAE;AACT,YAAA,YAAY,EAAE,OAAO,MAAW,KAAI;AAClC,gBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAChE,CAAC;AACF,SAAA;KACF;AAED,IAAA,QACEA,IAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,8CAA8C,EAAA,QAAA,EAAA,CAC7DC,GAAA,CAAC,WAAW,EAAA,EAAC,SAAS,EAAC,mBAAmB,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,CAE9D,EACdA,GAAA,CAAC,UAAU,EAAA,EAAA,GAAK,MAAM,EAAA,CAAI,CAAA,EAAA,CACpB;AAEZ;;;;"}
@@ -1,9 +1,8 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
1
+ import { jsx } from 'react/jsx-runtime';
2
2
  import { useState } from 'react';
3
3
  import { useChainId, useSwitchChain, useWriteContract } from 'wagmi';
4
4
  import BOND_NFT_ABI from '../../../../config/abi/bondNft.json.js';
5
5
  import Button from '../../../../components/uikit-sdk/Button/Button.js';
6
- import { NETWORK_LABEL } from '../../../../config/constants/chains.js';
7
6
  import { useMonitorTx } from '../../../../hooks/useMonitorTx.js';
8
7
  import { usePopups } from '../../../../state/popups/usePopups.js';
9
8
  import track from '../../../../utils/track.js';
@@ -16,7 +15,7 @@ const TransferAction = ({ userBill, toAddress, disabled, }) => {
16
15
  const SDKConfig = useSDKConfig();
17
16
  const userChainId = useChainId();
18
17
  const { address: account } = useEVMAccount();
19
- const { switchChain } = useSwitchChain();
18
+ const { switchChainAsync } = useSwitchChain();
20
19
  // State
21
20
  const [transferTxHash, setTransferTxHash] = useState(null);
22
21
  const [loadingTx, setLoadingTx] = useState(false);
@@ -27,6 +26,9 @@ const TransferAction = ({ userBill, toAddress, disabled, }) => {
27
26
  const handleTransfer = async () => {
28
27
  const address = userBill?.billNftAddress;
29
28
  try {
29
+ if (userChainId !== userBill?.bond?.chainId) {
30
+ await switchChainAsync({ chainId: userBill?.bond?.chainId });
31
+ }
30
32
  setLoadingTx(true);
31
33
  const tx = await writeContractAsync({
32
34
  address: address,
@@ -66,7 +68,7 @@ const TransferAction = ({ userBill, toAddress, disabled, }) => {
66
68
  });
67
69
  }
68
70
  };
69
- return (jsx(Fragment, { children: userChainId !== userBill?.bond?.chainId ? (jsxs(Button, { onClick: () => switchChain({ chainId: userBill?.bond?.chainId }), children: ["Switch to ", NETWORK_LABEL[userBill?.bond?.chainId]] })) : (jsx(Button, { onClick: handleTransfer, load: load, disabled: load || disabled, fullWidth: true, children: "transfer" })) }));
71
+ return (jsx(Button, { onClick: handleTransfer, load: load, disabled: load || disabled, fullWidth: true, children: "transfer" }));
70
72
  };
71
73
 
72
74
  export { TransferAction as default };
@@ -1 +1 @@
1
- {"version":3,"file":"TransferAction.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/TransferAction.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport BOND_NFT_ABI from '../../../../config/abi/bondNft.json'\nimport { UserBill } from '../../../../types/yourbonds'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { NETWORK_LABEL } from '../../../../config/constants/chains'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { useMonitorTx } from '../../../../hooks/useMonitorTx'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport track from '../../../../utils/track'\nimport { reportError } from '../../../../utils/reportError'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\n\nconst TransferAction = ({\n userBill,\n toAddress,\n disabled,\n}: {\n userBill?: UserBill\n toAddress?: string\n disabled?: boolean\n}) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { address: account } = useEVMAccount()\n const { switchChain } = useSwitchChain()\n\n // State\n const [transferTxHash, setTransferTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n const { writeContractAsync } = useWriteContract()\n const { isLoading, isSuccess: isConfirmed } = useMonitorTx(transferTxHash, userBill?.bond?.chainId)\n const { addToastError } = usePopups()\n\n const load = loadingTx || (isLoading && !isConfirmed)\n const handleTransfer = async () => {\n const address: `0x${string}` = userBill?.billNftAddress as `0x${string}`\n try {\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_NFT_ABI,\n functionName: 'safeTransferFrom',\n args: [account, toAddress, userBill?.id],\n chain: userChainId as any,\n account: account,\n })\n if (tx) {\n setTransferTxHash(tx)\n track({\n event: 'bond',\n chain: userChainId,\n data: {\n cat: 'transfer',\n type: userBill?.bond?.billType ?? '',\n id: userBill?.id,\n from: account,\n to: toAddress,\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Transfer failed:', error)\n setLoadingTx(false)\n addToastError(error.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'transfer', userBill, error },\n chainId: userChainId,\n account,\n })\n }\n }\n return (\n <>\n {userChainId !== userBill?.bond?.chainId ? (\n <Button onClick={() => switchChain({ chainId: userBill?.bond?.chainId as ChainId })}>\n Switch to {NETWORK_LABEL[userBill?.bond?.chainId as ChainId]}\n </Button>\n ) : (\n <Button onClick={handleTransfer} load={load} disabled={load || disabled} fullWidth>\n transfer\n </Button>\n )}\n </>\n )\n}\n\nexport default TransferAction\n"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"TransferAction.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/TransferAction.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { useChainId, useSwitchChain, useWriteContract } from 'wagmi'\nimport BOND_NFT_ABI from '../../../../config/abi/bondNft.json'\nimport { UserBill } from '../../../../types/yourbonds'\nimport Button from '../../../../components/uikit-sdk/Button/Button'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport { useMonitorTx } from '../../../../hooks/useMonitorTx'\nimport { usePopups } from '../../../../state/popups/usePopups'\nimport track from '../../../../utils/track'\nimport { reportError } from '../../../../utils/reportError'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\nimport useEVMAccount from '../../../../hooks/accounts/useEVMAccount'\n\nconst TransferAction = ({\n userBill,\n toAddress,\n disabled,\n}: {\n userBill?: UserBill\n toAddress?: string\n disabled?: boolean\n}) => {\n // Hooks\n const SDKConfig = useSDKConfig()\n const userChainId = useChainId()\n const { address: account } = useEVMAccount()\n const { switchChainAsync } = useSwitchChain()\n\n // State\n const [transferTxHash, setTransferTxHash] = useState<string | null>(null)\n const [loadingTx, setLoadingTx] = useState(false)\n const { writeContractAsync } = useWriteContract()\n const { isLoading, isSuccess: isConfirmed } = useMonitorTx(transferTxHash, userBill?.bond?.chainId)\n const { addToastError } = usePopups()\n\n const load = loadingTx || (isLoading && !isConfirmed)\n const handleTransfer = async () => {\n const address: `0x${string}` = userBill?.billNftAddress as `0x${string}`\n try {\n if (userChainId !== userBill?.bond?.chainId) {\n await switchChainAsync({ chainId: userBill?.bond?.chainId as ChainId })\n }\n setLoadingTx(true)\n const tx = await writeContractAsync({\n address: address,\n abi: BOND_NFT_ABI,\n functionName: 'safeTransferFrom',\n args: [account, toAddress, userBill?.id],\n chain: userChainId as any,\n account: account,\n })\n if (tx) {\n setTransferTxHash(tx)\n track({\n event: 'bond',\n chain: userChainId,\n data: {\n cat: 'transfer',\n type: userBill?.bond?.billType ?? '',\n id: userBill?.id,\n from: account,\n to: toAddress,\n earnToken: userBill?.bond?.earnToken.symbol,\n },\n })\n }\n setLoadingTx(false)\n } catch (error: any) {\n console.error('Transfer failed:', error)\n setLoadingTx(false)\n addToastError(error.shortMessage)\n reportError({\n apiUrl: SDKConfig?.urls?.apiV2,\n error,\n extraInfo: { type: 'transfer', userBill, error },\n chainId: userChainId,\n account,\n })\n }\n }\n return (\n <Button onClick={handleTransfer} load={load} disabled={load || disabled} fullWidth>\n transfer\n </Button>\n )\n}\n\nexport default TransferAction\n"],"names":["_jsx"],"mappings":"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"}
@@ -2,7 +2,6 @@ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import React, { useState } from 'react';
3
3
  import Flex from '../../../../components/uikit-sdk/Flex/index.js';
4
4
  import Modal from '../../../../components/uikit-sdk/Modal/index.js';
5
- import Text from '../../../../components/uikit-sdk/Text/index.js';
6
5
  import Checkbox from '../../../../components/uikit-sdk/Checkbox/index.js';
7
6
  import { getBalanceNumber } from '../../../../utils/getBalanceNumber.js';
8
7
  import { ChainId } from '@ape.swap/apeswap-lists';
@@ -23,10 +22,10 @@ const TransferModal = ({ onDismiss, userBill }) => {
23
22
  const chainId = bond?.chainId;
24
23
  const pending = chainId &&
25
24
  getBalanceNumber(userBill?.payout ?? 0, bond?.earnToken?.decimals?.[chainId] ?? 18)?.toFixed(4);
26
- return (jsxs(Modal, { onDismiss: onDismiss, title: "Transfer Bond", className: "ape:w-[450px]", children: [jsx(Flex, { className: "ape:mt-[20px]", children: jsxs(Flex, { className: "ape:font-bold ape:justify-between ape:w-full", children: ["Transferring:", jsxs("span", { className: "ape:text-[14px] ape:font-normal", style: { color: 'var(--ape-color-text-disabled-button)' }, children: [bond?.earnToken?.symbol, " Bond # ", userBill?.id] })] }) }), jsx(Flex, { className: "ape:flex-col ape:items-center ape:mt-[10px] ape:mr-[10px]", children: jsxs(Flex, { className: "ape:mt-[5px]", children: [jsxs(Flex, { className: "ape:flex-col ape:mr-[20px]", children: [jsx(Text, { className: "ape:text-center ape:w-full ape:opacity-60", size: "12px", children: "Vesting time" }), getTimeLeftForFullyVested(userBill) > 0 ? `Ends in ${getPendingVestingString(userBill)}` : `Fully Vested`] }), jsxs(Flex, { className: "ape:flex-col ape:ml-[20px]", children: [jsx(Text, { className: "ape:text-center ape:w-full ape:opacity-60", size: "12px", children: "Tokens" }), jsxs(Flex, { children: [jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 20, chain: userBill?.bond?.chainId }), jsx(Text, { weight: 700, className: "ape:ml-[5px]", children: pending })] })] })] }) }), jsxs(Flex, { className: "ape:flex-col ape:mt-[30px]", children: [jsx(Text, { weight: 700, children: "Receiving Address:" }), jsx(Input, { mt: "10px", size: "lg", placeholder: 'Paste the address here', value: toAddress, onChange: (e) => setToAddress(e.target.value), style: { width: '100%', border: 'none' } })] }), jsx(Flex, { className: "ape:w-full ape:font-bold ape:text-[13px] ape:mt-[15px] ape:ml-[30px]", style: { color: 'var(--ape-color-error)' }, children: "WARNING" }), jsxs(Flex, { onClick: () => setConfirmSend(!confirmSend), className: "ape:cursor-pointer ape:items-center", children: [jsx(Checkbox, { checked: confirmSend, onChange: (event) => {
25
+ return (jsxs(Modal, { onDismiss: onDismiss, title: "Transfer Bond", className: "ape:w-[380px]! ape:pt-3!", children: [jsx(Flex, { className: "ape:mt-[20px]", children: jsxs(Flex, { className: "ape:justify-between ape:w-full", children: [jsx("div", { className: "ape:text-sm", children: "Transferring:" }), jsxs("span", { className: "ape:text-[14px] ape:font-normal", style: { color: 'var(--ape-color-text-disabled-button)' }, children: [bond?.earnToken?.symbol, " Bond # ", userBill?.id] })] }) }), jsx(Flex, { className: "ape:flex-col ape:items-center ape:mt-[10px] ape:mr-[10px]", children: jsxs(Flex, { className: "ape:mt-[5px]", children: [jsxs(Flex, { className: "ape:flex-col ape:ml-5 ape:gap-1", children: [jsx("div", { className: "ape:text-center ape:opacity-60 ape:text-[12px] ape:font-normal", children: "Vesting time" }), getTimeLeftForFullyVested(userBill) > 0 ? `Ends in ${getPendingVestingString(userBill)}` : `Fully Vested`] }), jsxs(Flex, { className: "ape:flex-col ape:ml-5 ape:gap-1", children: [jsx("div", { className: "ape:text-center ape:opacity-60 ape:text-[12px] ape:font-normal", children: "Tokens" }), jsxs(Flex, { className: "ape:gap-1", children: [jsx(TokenImage, { symbol: userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol, size: 20, chain: userBill?.bond?.chainId }), jsx("div", { className: "ape:ml-[5px]", children: pending })] })] })] }) }), jsxs(Flex, { className: "ape:flex-col ape:mt-[30px]", children: [jsx("div", { className: "ape:text-sm", children: "Receiving Address:" }), jsx(Input, { placeholder: 'Paste the address here', value: toAddress, onChange: (e) => setToAddress(e.target.value), className: "ape:bg-white3 ape:mt-2 ape:h-8 ape:font-normal" })] }), jsx(Flex, { className: "ape:w-full ape:font-bold ape:text-[13px] ape:mt-[15px] ape:ml-[30px]", style: { color: 'var(--ape-color-error)' }, children: "WARNING" }), jsxs(Flex, { onClick: () => setConfirmSend(!confirmSend), className: "ape:cursor-pointer ape:items-center", children: [jsx(Checkbox, { checked: confirmSend, onChange: (event) => {
27
26
  setConfirmSend(!confirmSend);
28
27
  event.stopPropagation();
29
- } }), jsx(Text, { className: "ape:ml-[10px] ape:text-[12px] ape:font-medium", style: { lineHeight: '18px', color: 'var(--ape-color-error)' }, children: "I understand the new wallet gains ownership of all unclaimed assets." })] }), jsx(Flex, { className: "ape:justify-center ape:mt-[15px]", children: chainId === ChainId.SOL ? (jsx(TransferAction, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) : chainId === ChainId.APTOS ? (jsx(TransferActionAptos, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) : chainId === ChainId.SUI ? (jsx(TransferActionSui, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress, onDismiss: onDismiss })) : (jsx(TransferAction$1, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) })] }));
28
+ }, className: "ape:w-7!" }), jsx("div", { className: "ape:ml-[10px] ape:text-[12px] ape:font-medium", style: { lineHeight: '18px', color: 'var(--ape-color-error)' }, children: "I understand the new wallet gains ownership of all unclaimed assets." })] }), jsx(Flex, { className: "ape:justify-center ape:mt-[15px]", children: chainId === ChainId.SOL ? (jsx(TransferAction, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) : chainId === ChainId.APTOS ? (jsx(TransferActionAptos, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) : chainId === ChainId.SUI ? (jsx(TransferActionSui, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress, onDismiss: onDismiss })) : (jsx(TransferAction$1, { userBill: userBill, toAddress: toAddress, disabled: !confirmSend || !toAddress })) })] }));
30
29
  };
31
30
  var TransferBondModal = React.memo(TransferModal);
32
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Modal from '../../../../components/uikit-sdk/Modal'\nimport Text from '../../../../components/uikit-sdk/Text'\nimport Checkbox from '../../../../components/uikit-sdk/Checkbox'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport TransferAction from './TransferAction'\nimport { getPendingVestingString, getTimeLeftForFullyVested } from '../../../../utils/displayHelpers'\nimport TransferActionSolana from './TransferActionSolana'\nimport TransferActionAptos from './TransferActionAptos'\nimport TransferActionSui from './TransferActionSui'\n\ninterface TransferBillModalProps {\n onDismiss?: () => void\n userBill?: UserBill\n}\n\nconst TransferModal: React.FC<TransferBillModalProps> = ({ onDismiss, userBill }) => {\n // State\n const [confirmSend, setConfirmSend] = useState(false)\n const [toAddress, setToAddress] = useState('')\n\n // Data\n const bond = userBill?.bond\n const chainId = bond?.chainId\n const pending =\n chainId &&\n getBalanceNumber(userBill?.payout ?? 0, bond?.earnToken?.decimals?.[chainId as ChainId] ?? 18)?.toFixed(4)\n\n return (\n <Modal onDismiss={onDismiss} title=\"Transfer Bond\" className=\"ape:w-[450px]\">\n <Flex className=\"ape:mt-[20px]\">\n <Flex className=\"ape:font-bold ape:justify-between ape:w-full\">\n Transferring:\n <span className=\"ape:text-[14px] ape:font-normal\" style={{ color: 'var(--ape-color-text-disabled-button)' }}>\n {bond?.earnToken?.symbol} Bond # {userBill?.id}\n </span>\n </Flex>\n </Flex>\n <Flex className=\"ape:flex-col ape:items-center ape:mt-[10px] ape:mr-[10px]\">\n <Flex className=\"ape:mt-[5px]\">\n <Flex className=\"ape:flex-col ape:mr-[20px]\">\n <Text className=\"ape:text-center ape:w-full ape:opacity-60\" size=\"12px\">Vesting time</Text>\n {getTimeLeftForFullyVested(userBill) > 0 ? `Ends in ${getPendingVestingString(userBill)}` : `Fully Vested`}\n </Flex>\n <Flex className=\"ape:flex-col ape:ml-[20px]\">\n <Text className=\"ape:text-center ape:w-full ape:opacity-60\" size=\"12px\">Tokens</Text>\n <Flex>\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={20}\n chain={userBill?.bond?.chainId}\n />\n <Text weight={700} className=\"ape:ml-[5px]\">{pending}</Text>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:flex-col ape:mt-[30px]\">\n <Text weight={700}>Receiving Address:</Text>\n <Input\n mt=\"10px\"\n size=\"lg\"\n placeholder={'Paste the address here'}\n value={toAddress}\n onChange={(e: any) => setToAddress(e.target.value)}\n style={{ width: '100%', border: 'none' }}\n />\n </Flex>\n <Flex\n className=\"ape:w-full ape:font-bold ape:text-[13px] ape:mt-[15px] ape:ml-[30px]\"\n style={{ color: 'var(--ape-color-error)' }}\n >\n WARNING\n </Flex>\n <Flex onClick={() => setConfirmSend(!confirmSend)} className=\"ape:cursor-pointer ape:items-center\">\n <Checkbox\n checked={confirmSend}\n onChange={(event: React.MouseEvent) => {\n setConfirmSend(!confirmSend)\n event.stopPropagation()\n }}\n />\n <Text\n className=\"ape:ml-[10px] ape:text-[12px] ape:font-medium\"\n style={{ lineHeight: '18px', color: 'var(--ape-color-error)' }}\n >\n I understand the new wallet gains ownership of all unclaimed assets.\n </Text>\n </Flex>\n <Flex className=\"ape:justify-center ape:mt-[15px]\">\n {chainId === ChainId.SOL ? (\n <TransferActionSolana userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n ) : chainId === ChainId.APTOS ? (\n <TransferActionAptos userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n ) : chainId === ChainId.SUI ? (\n <TransferActionSui\n userBill={userBill}\n toAddress={toAddress}\n disabled={!confirmSend || !toAddress}\n onDismiss={onDismiss}\n />\n ) : (\n <TransferAction userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n )}\n </Flex>\n </Modal>\n )\n}\n\nexport default React.memo(TransferModal)\n"],"names":["_jsxs","_jsx","TransferActionSolana","TransferAction"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/YourBondsModal/components/TransferBondModal/index.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Modal from '../../../../components/uikit-sdk/Modal'\nimport Checkbox from '../../../../components/uikit-sdk/Checkbox'\nimport { UserBill } from '../../../../types/yourbonds'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { ChainId } from '@ape.swap/apeswap-lists'\nimport TokenImage from '../../../../components/uikit-sdk/TokenImage'\nimport Input from '../../../../components/uikit-sdk/Input/Input'\nimport TransferAction from './TransferAction'\nimport { getPendingVestingString, getTimeLeftForFullyVested } from '../../../../utils/displayHelpers'\nimport TransferActionSolana from './TransferActionSolana'\nimport TransferActionAptos from './TransferActionAptos'\nimport TransferActionSui from './TransferActionSui'\n\ninterface TransferBillModalProps {\n onDismiss?: () => void\n userBill?: UserBill\n}\n\nconst TransferModal: React.FC<TransferBillModalProps> = ({ onDismiss, userBill }) => {\n // State\n const [confirmSend, setConfirmSend] = useState(false)\n const [toAddress, setToAddress] = useState('')\n\n // Data\n const bond = userBill?.bond\n const chainId = bond?.chainId\n const pending =\n chainId &&\n getBalanceNumber(userBill?.payout ?? 0, bond?.earnToken?.decimals?.[chainId as ChainId] ?? 18)?.toFixed(4)\n\n return (\n <Modal onDismiss={onDismiss} title=\"Transfer Bond\" className=\"ape:w-[380px]! ape:pt-3!\">\n <Flex className=\"ape:mt-[20px]\">\n <Flex className=\"ape:justify-between ape:w-full\">\n <div className=\"ape:text-sm\">Transferring:</div>\n <span className=\"ape:text-[14px] ape:font-normal\" style={{ color: 'var(--ape-color-text-disabled-button)' }}>\n {bond?.earnToken?.symbol} Bond # {userBill?.id}\n </span>\n </Flex>\n </Flex>\n <Flex className=\"ape:flex-col ape:items-center ape:mt-[10px] ape:mr-[10px]\">\n <Flex className=\"ape:mt-[5px]\">\n <Flex className=\"ape:flex-col ape:ml-5 ape:gap-1\">\n <div className=\"ape:text-center ape:opacity-60 ape:text-[12px] ape:font-normal\">Vesting time</div>\n {getTimeLeftForFullyVested(userBill) > 0 ? `Ends in ${getPendingVestingString(userBill)}` : `Fully Vested`}\n </Flex>\n <Flex className=\"ape:flex-col ape:ml-5 ape:gap-1\">\n <div className=\"ape:text-center ape:opacity-60 ape:text-[12px] ape:font-normal\">Tokens</div>\n <Flex className=\"ape:gap-1\">\n <TokenImage\n symbol={userBill?.bond?.showcaseTokenName ?? userBill?.bond?.earnToken?.symbol}\n size={20}\n chain={userBill?.bond?.chainId}\n />\n <div className=\"ape:ml-[5px]\">{pending}</div>\n </Flex>\n </Flex>\n </Flex>\n </Flex>\n <Flex className=\"ape:flex-col ape:mt-[30px]\">\n <div className=\"ape:text-sm\">Receiving Address:</div>\n <Input\n placeholder={'Paste the address here'}\n value={toAddress}\n onChange={(e: any) => setToAddress(e.target.value)}\n className=\"ape:bg-white3 ape:mt-2 ape:h-8 ape:font-normal\"\n />\n </Flex>\n <Flex\n className=\"ape:w-full ape:font-bold ape:text-[13px] ape:mt-[15px] ape:ml-[30px]\"\n style={{ color: 'var(--ape-color-error)' }}\n >\n WARNING\n </Flex>\n <Flex onClick={() => setConfirmSend(!confirmSend)} className=\"ape:cursor-pointer ape:items-center\">\n <Checkbox\n checked={confirmSend}\n onChange={(event: React.MouseEvent) => {\n setConfirmSend(!confirmSend)\n event.stopPropagation()\n }}\n className=\"ape:w-7!\"\n />\n <div\n className=\"ape:ml-[10px] ape:text-[12px] ape:font-medium\"\n style={{ lineHeight: '18px', color: 'var(--ape-color-error)' }}\n >\n I understand the new wallet gains ownership of all unclaimed assets.\n </div>\n </Flex>\n <Flex className=\"ape:justify-center ape:mt-[15px]\">\n {chainId === ChainId.SOL ? (\n <TransferActionSolana userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n ) : chainId === ChainId.APTOS ? (\n <TransferActionAptos userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n ) : chainId === ChainId.SUI ? (\n <TransferActionSui\n userBill={userBill}\n toAddress={toAddress}\n disabled={!confirmSend || !toAddress}\n onDismiss={onDismiss}\n />\n ) : (\n <TransferAction userBill={userBill} toAddress={toAddress} disabled={!confirmSend || !toAddress} />\n )}\n </Flex>\n </Modal>\n )\n}\n\nexport default React.memo(TransferModal)\n"],"names":["_jsxs","_jsx","TransferActionSolana","TransferAction"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Ape Bond SDK",
4
4
  "author": "Ape Bond",
5
5
  "license": "MIT",
6
- "version": "6.2.18",
6
+ "version": "6.2.19",
7
7
  "module": "dist/main.js",
8
8
  "type": "module",
9
9
  "types": "dist/main.d.ts",