:root{--ne-bg:#0b1020;--ne-surface-1:#11182a;--ne-surface-2:#161f34;--ne-surface-3:#1b2540;--ne-primary:#3f82d8;--ne-primary-hover:#4b8ee4;--ne-accent:#6da9c6;--ne-text:#fff;--ne-text-secondary:#a8b3c7;--ne-border:hsla(0,0%,100%,0.06);--ne-tab-inactive:#7d8799;--ne-tab-active:#4a86dd;--ne-color-bg-page:var(--ne-bg);--ne-color-bg-base:var(--ne-bg);--ne-color-bg-elevated:var(--ne-surface-1);--ne-color-bg-card:var(--ne-surface-2);--ne-color-bg-card-hover:var(--ne-surface-3);--ne-color-bg-card-muted:var(--ne-surface-1);--ne-color-border-subtle:var(--ne-border);--ne-color-border-strong:hsla(0,0%,100%,0.1);--ne-color-text-primary:var(--ne-text);--ne-color-text-secondary:var(--ne-text-secondary);--ne-color-text-muted:var(--ne-tab-inactive);--ne-color-text-on-dark:var(--ne-text);--ne-color-text-inverse:#fff;--ne-color-accent:var(--ne-primary);--ne-color-link:var(--ne-primary);--ne-color-accent-muted:rgba(63,130,216,0.12);--ne-color-warning:#d97706;--ne-color-error:#dc2626;--ne-color-info:var(--ne-primary);--ne-color-success:#4ade80;--ne-tab-bar-height:60px;--ne-app-max-width:390px;--ne-dashboard-max-width:var(--ne-app-max-width);--ne-dashboard-radius-lg:20px;--ne-dashboard-radius-md:16px;--ne-dashboard-radius-sm:12px;--ne-dashboard-shadow:none;--ne-dashboard-shadow-soft:none}.ne-legacy-text-primary{color:var(--ne-text)}.ne-legacy-text-secondary{color:var(--ne-text-secondary)}.ne-subpage .text-main{color:var(--ne-primary)!important}.ne-subpage .header-fix{background:var(--ne-surface-1)!important;border-bottom:1px solid var(--ne-border)}.ne-subpage .bg-depth2,.ne-subpage .bg-depth3{background:var(--ne-surface-2)!important;border:1px solid var(--ne-border)}.ne-app-layout{width:100%;max-width:var(--ne-app-max-width);margin:0 auto;background:var(--ne-bg);color:var(--ne-text);position:relative;overflow-x:hidden}.ne-app-layout,.ne-app-layout__main{min-height:100vh;box-sizing:border-box}.ne-app-layout__main{padding-bottom:calc(var(--ne-tab-bar-height, 60px) + 28px + env(safe-area-inset-bottom, 0px))}.ne-bottom-tab{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:100%;max-width:var(--ne-app-max-width);box-sizing:border-box;z-index:90;padding-bottom:env(safe-area-inset-bottom,0)}.ne-deposit-page,.ne-shell-page,.ne-subpage{min-height:100vh;max-width:var(--ne-dashboard-max-width);margin:0 auto;background:var(--ne-bg);color:var(--ne-text)}.ne-shell-page{position:relative}.ne-header-back,.ne-shell-page__header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:20;width:100%;max-width:var(--ne-dashboard-max-width);height:56px;background:var(--ne-surface-1);border-bottom:1px solid var(--ne-border)}.ne-header-back__title,.ne-shell-page__title{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ne-text)}.ne-shell-page__main{padding-top:56px;padding-bottom:24px;min-height:100vh;overflow-y:auto}.ne-surface-card,.ne-surface-panel{background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md)}.ne-surface-panel{overflow:hidden}.ne-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;border-radius:var(--ne-dashboard-radius-sm);background:var(--ne-primary);color:var(--ne-text);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s ease}.ne-btn-primary:active,.ne-btn-primary:hover{background:var(--ne-primary-hover)}.ne-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-sm);background:var(--ne-surface-2);color:var(--ne-text);font-size:14px;font-weight:600;cursor:pointer}.ne-section-title{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ne-text);margin:0 0 12px}.ne-chip{padding:8px 14px;border-radius:999px;border:1px solid var(--ne-border);background:var(--ne-surface-2);color:var(--ne-text-secondary);font-size:13px;font-weight:600;cursor:pointer}.ne-chip--active{border-color:rgba(63,130,216,.35);color:var(--ne-primary);background:var(--ne-color-accent-muted)}.ne-dashboard{min-height:100vh;background:var(--ne-bg);color:var(--ne-text);margin:0 auto;position:relative}.ne-dashboard,.ne-dashboard__header{max-width:var(--ne-dashboard-max-width)}.ne-dashboard__header{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:20;width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:var(--ne-surface-1);border-bottom:1px solid var(--ne-border)}.ne-dashboard__welcome{min-width:0;flex:1}.ne-dashboard__greeting{margin:0;font-size:16px;font-weight:600;line-height:1.35;color:var(--ne-text);word-break:keep-all}.ne-dashboard__header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.ne-dashboard__brand{display:flex;align-items:center;gap:10px}.ne-dashboard__logo{width:32px;height:32px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.ne-dashboard__title{font-size:17px;font-weight:700;letter-spacing:-.02em;color:var(--ne-text);margin:0}.ne-dashboard__notify{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--ne-border);border-radius:12px;background:var(--ne-surface-2);color:var(--ne-text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.ne-dashboard__notify:active,.ne-dashboard__notify:hover{color:var(--ne-text);background:var(--ne-surface-3)}.ne-dashboard__main{padding:72px 20px 24px;min-height:100vh;overflow-y:auto}.ne-dashboard__stack{display:flex;flex-direction:column;gap:20px}.ne-dashboard__stack>.ne-hero-card{margin-bottom:4px}.ne-dashboard__link-row{display:flex;justify-content:center}.ne-dashboard__text-link{display:inline-flex;align-items:center;gap:4px;padding:8px 4px;border:none;background:transparent;color:var(--ne-primary);font-size:13px;font-weight:600;cursor:pointer}.ne-hero-card{position:relative;overflow:hidden;border-radius:22px;padding:24px 22px 20px;background:linear-gradient(140deg,rgba(63,130,216,.1),transparent 38%),linear-gradient(168deg,#0f1628,#152238 42%,#1a2d4a);border:1px solid rgba(63,130,216,.14);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),0 24px 48px rgba(0,0,0,.42),0 0 0 1px rgba(0,0,0,.25)}.ne-hero-card__sheen{position:absolute;top:-40%;right:-25%;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(63,130,216,.14) 0,transparent 68%);pointer-events:none}.ne-hero-card__top{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ne-hero-card__main{flex:1;min-width:0}.ne-hero-card__label-row{display:flex;align-items:center;gap:10px}.ne-hero-card__label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(168,179,199,.95)}.ne-hero-card__toggle{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid hsla(0,0%,100%,.08);border-radius:9px;background:rgba(0,0,0,.2);color:var(--ne-text-secondary);cursor:pointer;transition:color .15s ease,background .15s ease}.ne-hero-card__toggle:hover{color:var(--ne-text);background:rgba(0,0,0,.32)}.ne-hero-card__medallion{position:relative;flex-shrink:0;width:72px;height:72px;display:flex;align-items:center;justify-content:center}.ne-hero-card__medallion-ring{position:absolute;inset:0;border-radius:18px;background:linear-gradient(145deg,rgba(63,130,216,.22),rgba(109,169,198,.06));border:1px solid rgba(63,130,216,.2);box-shadow:inset 0 1px 0 hsla(0,0%,100%,.08)}.ne-hero-card__medallion-icon{position:relative;z-index:1}.ne-hero-card__value-wrap{margin-top:18px}.ne-hero-card__value{display:flex;align-items:baseline;gap:2px;margin:0;line-height:1.05;font-variant-numeric:tabular-nums}.ne-hero-card__currency{font-size:26px;font-weight:600;color:hsla(0,0%,100%,.72);letter-spacing:-.02em}.ne-hero-card__amount{font-size:36px;font-weight:700;letter-spacing:-.035em;color:#fff;background:linear-gradient(180deg,#fff,#dce8f8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.ne-hero-card__sub{margin-top:8px;font-size:12px;font-weight:500;color:rgba(168,179,199,.88)}.ne-hero-card__split{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:0;margin-top:22px;padding:14px 16px;border-radius:16px;background:rgba(0,0,0,.22);border:1px solid hsla(0,0%,100%,.05)}.ne-hero-card__divider{width:1px;margin:2px 14px;background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.1),transparent)}.ne-hero-card__asset{padding:0;min-width:0}.ne-hero-card__asset-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(168,179,199,.9);margin-bottom:6px}.ne-hero-card__asset-dot{width:7px;height:7px;border-radius:50%;box-shadow:0 0 0 2px hsla(0,0%,100%,.06)}.ne-hero-card__asset-dot--ne{background:var(--ne-primary)}.ne-hero-card__asset-dot--usdt{background:var(--ne-accent)}.ne-hero-card__asset-amount{font-size:16px;font-weight:700;color:var(--ne-text);font-variant-numeric:tabular-nums;line-height:1.25;word-break:break-all}.ne-hero-card__asset-usd{margin-top:3px;font-size:11px;font-weight:500;color:rgba(168,179,199,.82);font-variant-numeric:tabular-nums}.ne-action-cards__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ne-action-cards__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1;min-height:48px;padding:16px 8px;border-radius:var(--ne-dashboard-radius-md);border:1px solid var(--ne-border);background:var(--ne-surface-2);cursor:pointer;transition:background .15s ease}.ne-action-cards__btn:active,.ne-action-cards__btn:hover{background:var(--ne-surface-3)}.ne-action-cards__icon-wrap{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--ne-surface-1);border:1px solid var(--ne-border);flex-shrink:0}.ne-action-cards__icon-wrap .material-icons{font-size:24px;color:var(--ne-primary)}.ne-action-cards__label{font-size:13px;font-weight:600;color:var(--ne-text);letter-spacing:-.01em;line-height:1.2;text-align:center;white-space:nowrap}.ne-home-menu__list{background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md);overflow:hidden}.ne-home-menu__row{display:flex;padding:14px 16px;align-items:center;justify-content:space-between;gap:12px;min-height:64px;background:transparent;border:none;border-bottom:1px solid var(--ne-border);border-radius:0;cursor:pointer;transition:background .12s ease}.ne-home-menu__row:last-child{border-bottom:none}.ne-home-menu__row:active,.ne-home-menu__row:hover{background:var(--ne-surface-2)}.ne-recent-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.ne-recent-section__title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0;color:var(--ne-text)}.ne-recent-section__more{display:inline-flex;align-items:center;gap:2px;padding:0;border:none;background:transparent;color:var(--ne-text-secondary);font-size:12px;font-weight:600;cursor:pointer}.ne-recent-section__more:hover{color:var(--ne-primary)}.ne-recent-section__list{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0;background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md);overflow:hidden}.ne-recent-section__status{font-size:13px;color:var(--ne-text-secondary);text-align:center;padding:20px 0}.ne-recent-section__status--error{color:var(--ne-color-error)}.ne-activity-card{display:flex;gap:12px;padding:14px 16px;background:transparent;border:none;border-bottom:1px solid var(--ne-border);cursor:pointer;transition:background .12s ease}.ne-activity-card:last-child{border-bottom:none}.ne-activity-card:active,.ne-activity-card:hover{background:var(--ne-surface-2)}.ne-activity-card--home{background:transparent}.ne-activity-card__icon{flex:0 0 auto;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--ne-surface-2);border:1px solid var(--ne-border)}.ne-activity-card__icon .material-icons{font-size:20px}.ne-activity-card__icon--send{color:#e57373}.ne-activity-card__icon--onchain_deposit,.ne-activity-card__icon--receive{color:var(--ne-primary)}.ne-activity-card__icon--qr_approve,.ne-activity-card__icon--qr_create,.ne-activity-card__icon--qr_reject{color:var(--ne-accent)}.ne-activity-card__body{flex:1;min-width:0}.ne-activity-card__row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.ne-activity-card__title{font-size:14px;font-weight:600;color:var(--ne-text)}.ne-activity-card__badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:6px;white-space:nowrap;color:var(--ne-text-secondary);background:var(--ne-surface-2)}.ne-activity-card__badge--completed,.ne-activity-card__badge--credited{color:var(--ne-primary);background:var(--ne-color-accent-muted)}.ne-activity-card__badge--confirming,.ne-activity-card__badge--pending{color:#ffb020;background:rgba(255,176,32,.1)}.ne-activity-card__badge--failed,.ne-activity-card__badge--rejected{color:#ff5252;background:rgba(255,82,82,.1)}.ne-activity-card__counterparty{font-size:12px;color:var(--ne-text-secondary);margin-bottom:2px}.ne-activity-card__amount{font-size:14px;font-weight:600;color:var(--ne-text)}.ne-activity-card__symbol{font-size:12px;color:var(--ne-text-secondary)}.ne-activity-card__time{margin-top:2px;font-size:11px;color:var(--ne-tab-inactive)}.ne-bottom-tab-bar--premium{background:var(--ne-surface-1);border-top:1px solid var(--ne-border)}.ne-bottom-tab-bar--premium .ne-bottom-tab-bar__item{color:var(--ne-tab-inactive)}.ne-bottom-tab-bar--premium .ne-bottom-tab-bar__item--active{color:var(--ne-tab-active)}.ne-bottom-tab-bar--premium .ne-bottom-tab-bar__item--active:before{background:var(--ne-tab-active);height:2px;left:25%;right:25%}.ne-activity-tab__filter{padding:8px 14px;border-radius:999px;border:1px solid var(--ne-border);background:var(--ne-surface-2);color:var(--ne-text-secondary);font-size:13px;font-weight:600;cursor:pointer}.ne-activity-tab__filter--active{border-color:rgba(63,130,216,.35);color:var(--ne-primary);background:var(--ne-color-accent-muted)}.ne-deposit-page__hint,.ne-deposit-page__intro,.ne-deposit-page__label{color:var(--ne-text-secondary)}.ne-deposit-page__address-card,.ne-deposit-page__soon-card{background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md)}.ne-deposit-page__chain{border:1px solid var(--ne-border);background:var(--ne-surface-2);color:var(--ne-text);border-radius:var(--ne-dashboard-radius-sm)}.ne-deposit-page__chain--active{border-color:rgba(63,130,216,.35);color:var(--ne-primary);background:var(--ne-color-accent-muted)}.ne-deposit-page__action{color:var(--ne-primary)}.ne-swap-page .ne-swap-card{background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md);color:var(--ne-text)}.ne-swap-page .ne-swap-muted{color:var(--ne-text-secondary)}.ne-swap-page .ne-swap-pill{background:var(--ne-surface-2);border:1px solid var(--ne-border)}.ne-swap-page .ne-swap-fab{background:var(--ne-surface-2);border:4px solid var(--ne-bg)}.ne-swap-page .ne-swap-submit{background:var(--ne-primary);color:var(--ne-text);border-radius:var(--ne-dashboard-radius-sm);font-weight:600}.ne-swap-page .ne-swap-submit:hover{background:var(--ne-primary-hover)}.ne-staking-page .ne-staking-card{background:var(--ne-surface-1);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-md)}.ne-staking-page .ne-staking-item{background:var(--ne-surface-2);border:1px solid var(--ne-border);border-radius:var(--ne-dashboard-radius-sm)}.ne-staking-page .ne-staking-muted{color:var(--ne-text-secondary)}.vm--modal{background:var(--ne-surface-1)!important;color:var(--ne-text)!important;border:1px solid var(--ne-border)!important;border-radius:16px!important;padding:20px!important}.vm--overlay{background:rgba(0,0,0,.72)!important}.bottom-sheet__content{color:var(--ne-text)!important;background:var(--ne-surface-1)!important;max-width:var(--ne-app-max-width)!important;width:100%!important;box-sizing:border-box!important;padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px))!important;max-height:calc(100vh - 80px)!important;max-height:calc(100dvh - 80px)!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}.bottom-sheet{z-index:200!important}.ne-receive-sheet-host.bottom-sheet{bottom:calc(var(--ne-tab-bar-height, 60px) + env(safe-area-inset-bottom, 0px))!important}.ne-receive-sheet-host .bottom-sheet__content{max-height:calc(100dvh - var(--ne-tab-bar-height, 60px) - 56px)!important;padding-bottom:12px!important}body.ne-receive-sheet-open .bottom-sheet__backdrop{bottom:calc(var(--ne-tab-bar-height, 60px) + env(safe-area-inset-bottom, 0px))!important}.ne-bottom-tab{z-index:300!important}.ne-send-root,.ne-send-root .ne-send-page,.ne-send-root .ne-send-page>section{min-height:auto!important}.ne-send-page__next{margin-top:8px;flex-shrink:0}.ne-send-amount-card{display:flex;flex-direction:column;gap:16px;padding:20px;border-radius:20px;background:var(--ne-surface-1,#1a1a1a);border:1px solid var(--ne-border,#2e2e2e)}.ne-send-amount-card__coin-row{display:flex;justify-content:space-between;align-items:center}.ne-send-amount-card__coin{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid var(--ne-border,#2e2e2e);background:var(--ne-surface-2,#252525);color:var(--ne-text,#fff);cursor:pointer}.ne-send-amount-card__coin-icon{width:24px;height:24px}.ne-send-amount-card__coin-label{font-size:15px;font-weight:600}.ne-send-amount-card__coin-chevron{font-size:20px;color:var(--ne-text-secondary,#b4b4b4)}.ne-send-amount-card__hint{margin:0;font-size:12px;line-height:1.5;color:var(--ne-text-muted,#6b6b6b)}.ne-send-amount-card__field{display:flex;flex-direction:column;gap:8px}.ne-send-amount-card__label{font-size:13px;font-weight:500;color:var(--ne-text-secondary,#b4b4b4)}.ne-send-amount-card__input-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;border:1px solid var(--ne-border,#2e2e2e);background:var(--ne-surface-2,#252525)}.ne-send-amount-card__input-row.is-error{border-color:#ef5350}.ne-send-amount-card__input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--ne-text,#fff);font-size:32px;font-weight:600;line-height:1.2}.ne-send-amount-card__input::-moz-placeholder{color:#5a5a5a;font-weight:500}.ne-send-amount-card__input::placeholder{color:#5a5a5a;font-weight:500}.ne-send-amount-card__unit{font-size:18px;font-weight:600;color:var(--ne-text-secondary,#b4b4b4);flex-shrink:0}.ne-send-amount-card__error{margin:0;font-size:12px;color:#ef5350}.ne-send-amount-card__usd{margin:0;font-size:14px;color:var(--ne-text-secondary,#b4b4b4)}.ne-send-amount-card__balances{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:14px;background:hsla(0,0%,100%,.03)}.ne-send-amount-card__balance-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--ne-text-secondary,#b4b4b4)}.ne-send-amount-card__available{color:var(--ne-primary,#0e7c86);font-weight:600}.ne-send-amount-card__actions{display:flex;justify-content:flex-end}.ne-send-amount-card__max{padding:8px 14px;border-radius:10px;border:1px solid rgba(14,124,134,.45);background:rgba(14,124,134,.12);color:#5eead4;font-size:13px;font-weight:600;cursor:pointer}.ne-send-final-confirm,.ne-send-summary{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--ne-surface-1,#1a1a1a);border:1px solid var(--ne-border,#2e2e2e)}.ne-send-final-confirm__row,.ne-send-summary__row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}.ne-send-final-confirm__row>span:first-child,.ne-send-summary__label{color:var(--ne-text-secondary,#b4b4b4)}.ne-send-final-confirm__row>span:last-child,.ne-send-summary__value{color:var(--ne-text,#fff);font-weight:600;text-align:right}.ne-send-summary__value-group{display:flex;align-items:center;gap:8px}.ne-send-summary__edit{padding:4px 10px;border-radius:8px;border:1px solid var(--ne-border,#2e2e2e);background:transparent;color:#5eead4;font-size:12px;font-weight:600;cursor:pointer}.ne-send-final-confirm__title{margin:0 0 4px;font-size:13px;font-weight:600;color:var(--ne-text-secondary,#b4b4b4)}.bottom-sheet__content .text16-sb,.bottom-sheet__content .text18-sb,.bottom-sheet__content .text-gray50{color:var(--ne-text)!important}.bottom-sheet__content .text14,.bottom-sheet__content .text-sm{color:var(--ne-text-secondary)!important}.ne-payment-request-modal__cta,.ne-pin-gate__btn--confirm,.ne-pin-settings__cta,.ne-qr-pay-sheet__btn--approve{background:var(--ne-primary)!important;color:var(--ne-text)!important}.ne-home__sheet-tab{flex:1;padding:10px;border-radius:10px;border:1px solid var(--ne-border);background:var(--ne-surface-2);color:var(--ne-text-secondary);font-size:13px;font-weight:500;cursor:pointer}.ne-home__sheet-tab--active{border-color:rgba(63,130,216,.35);color:var(--ne-primary);background:var(--ne-color-accent-muted)}.ne-home__back-address{width:100%;padding:10px;border:none;border-radius:10px;background:transparent;color:var(--ne-text-secondary);font-size:13px;cursor:pointer}/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositHistoryCard_vue_vue_type_style_index_0_id_3af05400_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("xofd");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositHistoryCard_vue_vue_type_style_index_0_id_3af05400_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositHistoryCard_vue_vue_type_style_index_0_id_3af05400_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */

var content = __webpack_require__("sSxK");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__("aET+")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}exports = module.exports = __webpack_require__("I1BE")(false);
// imports


// module
exports.push([module.i, ".ne-deposit-history[data-v-3af05400]{display:flex;gap:12px;padding:14px;border-radius:16px;background:var(--ne-color-bg-card,#1a1a1a);border:1px solid var(--ne-color-border-subtle,#2a2a2a);cursor:pointer}.ne-deposit-history[data-v-3af05400]:active{border-color:var(--ne-color-accent,#00e676)}.ne-deposit-history__icon[data-v-3af05400]{flex:0 0 auto;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--ne-color-bg-elevated,#121212);color:var(--ne-color-accent,#00e676)}.ne-deposit-history__body[data-v-3af05400]{flex:1;min-width:0}.ne-deposit-history__row[data-v-3af05400]{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.ne-deposit-history__title[data-v-3af05400]{font-size:13px;font-weight:600;color:var(--ne-color-text-primary,#fff)}.ne-deposit-history__badge[data-v-3af05400]{font-size:10px;font-weight:600;padding:2px 8px;border-radius:8px;white-space:nowrap}.ne-deposit-history__badge--completed[data-v-3af05400],.ne-deposit-history__badge--credited[data-v-3af05400]{color:var(--ne-color-accent,#00e676);background:var(--ne-color-accent-muted,rgba(0,230,118,.12))}.ne-deposit-history__badge--detected[data-v-3af05400]{color:#64b5f6;background:rgba(100,181,246,.12)}.ne-deposit-history__badge--confirming[data-v-3af05400],.ne-deposit-history__badge--pending[data-v-3af05400]{color:#ffb020;background:rgba(255,176,32,.12)}.ne-deposit-history__badge--failed[data-v-3af05400],.ne-deposit-history__badge--rejected[data-v-3af05400]{color:#ff5252;background:rgba(255,82,82,.12)}.ne-deposit-history__badge--expired[data-v-3af05400]{color:var(--ne-color-text-muted,#6b6b6b);background:hsla(0,0%,42%,.16)}.ne-deposit-history__amount[data-v-3af05400]{font-size:16px;font-weight:600;color:var(--ne-color-text-primary,#fff)}.ne-deposit-history__symbol[data-v-3af05400]{font-size:13px;color:var(--ne-color-text-secondary,#b4b4b4)}.ne-deposit-history__meta[data-v-3af05400]{font-size:11px;color:var(--ne-color-text-secondary,#b4b4b4);margin-top:4px}.ne-deposit-history__time[data-v-3af05400]{font-size:11px;color:var(--ne-color-text-muted,#6b6b6b);margin-top:4px}", ""]);

// exports
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositPage_vue_vue_type_style_index_0_id_6f718376_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("MUkQ");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositPage_vue_vue_type_style_index_0_id_6f718376_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_DepositPage_vue_vue_type_style_index_0_id_6f718376_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */

var content = __webpack_require__("yIIy");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__("aET+")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}exports = module.exports = __webpack_require__("I1BE")(false);
// imports


// module
exports.push([module.i, ".ne-deposit-page__intro[data-v-6f718376]{font-size:13px;line-height:1.5;color:var(--ne-color-text-secondary,#b4b4b4);margin-bottom:12px}.ne-deposit-page__guide-box[data-v-6f718376]{padding:12px 14px;margin-bottom:14px;border-radius:12px;background:rgba(63,130,216,.08);border:1px solid rgba(63,130,216,.2)}.ne-deposit-page__guide[data-v-6f718376]{font-size:13px;line-height:1.55;color:var(--ne-color-text-primary,#fff);margin:0 0 8px;white-space:pre-line}.ne-deposit-page__warn[data-v-6f718376]{font-size:12px;line-height:1.5;color:#ffb020;margin:0}.ne-deposit-page__chain-name[data-v-6f718376]{font-size:14px;font-weight:600}.ne-deposit-page__chain-assets[data-v-6f718376]{font-size:11px;color:var(--ne-color-text-secondary,#b4b4b4);line-height:1.35}.ne-deposit-page__assets-banner[data-v-6f718376]{font-size:15px;font-weight:700;color:var(--ne-color-accent,#00e676);text-align:center;margin-bottom:12px;line-height:1.4}.ne-deposit-page__assets--sub[data-v-6f718376]{margin-top:4px}.ne-deposit-page__chains[data-v-6f718376]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.ne-deposit-page__chain[data-v-6f718376]{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;border-radius:12px;border:1px solid var(--ne-color-border-subtle,#2a2a2a);background:var(--ne-color-bg-card,#1a1a1a);color:var(--ne-color-text-primary,#fff);font-size:14px;font-weight:600;cursor:pointer}.ne-deposit-page__chain--active[data-v-6f718376]{border-color:var(--ne-color-accent,#00e676);background:var(--ne-color-accent-muted,rgba(0,230,118,.08))}.ne-deposit-page__chain--disabled[data-v-6f718376]{opacity:.65;cursor:not-allowed}.ne-deposit-page__soon[data-v-6f718376]{font-size:10px;color:var(--ne-color-accent,#00e676)}.ne-deposit-page__address-card[data-v-6f718376]{padding:16px;border-radius:16px;background:var(--ne-color-bg-card,#1a1a1a);border:1px solid var(--ne-color-border-subtle,#2a2a2a)}.ne-deposit-page__label[data-v-6f718376]{font-size:12px;color:var(--ne-color-text-secondary,#b4b4b4);margin-bottom:12px}.ne-deposit-page__qr-wrap[data-v-6f718376]{display:flex;justify-content:center;margin-bottom:12px}.ne-deposit-page__qr[data-v-6f718376]{width:160px;height:160px;background:#fff;padding:8px}.ne-deposit-page__address[data-v-6f718376]{font-size:13px;line-height:1.5;color:var(--ne-color-text-primary,#fff);text-align:center;margin-bottom:8px}.ne-deposit-page__assets[data-v-6f718376],.ne-deposit-page__hint[data-v-6f718376]{font-size:12px;color:var(--ne-color-text-muted,#6b6b6b);text-align:center}.ne-deposit-page__actions[data-v-6f718376]{display:flex;gap:8px;margin-top:16px}.ne-deposit-page__action[data-v-6f718376]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;border:none;border-radius:12px;background:var(--ne-color-bg-elevated,#121212);color:var(--ne-color-text-secondary,#b4b4b4);font-size:13px;cursor:pointer}.ne-deposit-page__soon-card[data-v-6f718376]{padding:20px;border-radius:16px;background:var(--ne-color-bg-card,#1a1a1a);border:1px dashed var(--ne-color-border-subtle,#2a2a2a);text-align:center}.ne-deposit-page__soon-title[data-v-6f718376]{font-size:15px;font-weight:600;color:var(--ne-color-text-primary,#fff);margin-bottom:4px}.ne-deposit-page__soon-text[data-v-6f718376]{font-size:13px;color:var(--ne-color-text-muted,#6b6b6b)}.ne-deposit-page__history-header[data-v-6f718376]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ne-deposit-page__history-title[data-v-6f718376]{font-size:15px;font-weight:600;color:var(--ne-color-text-primary,#fff)}.ne-deposit-page__refresh[data-v-6f718376]{border:none;background:transparent;color:var(--ne-color-text-muted,#6b6b6b);font-size:12px;cursor:pointer}.ne-deposit-page__history-list[data-v-6f718376]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.ne-deposit-page__empty[data-v-6f718376]{font-size:13px;color:var(--ne-color-text-secondary,#b4b4b4);text-align:center;padding:20px 0}", ""]);

// exports
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QrScanPage_vue_vue_type_style_index_0_id_1dfd08df_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7OQa");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QrScanPage_vue_vue_type_style_index_0_id_1dfd08df_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_QrScanPage_vue_vue_type_style_index_0_id_1dfd08df_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */

var content = __webpack_require__("zUtt");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__("aET+")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}exports = module.exports = __webpack_require__("I1BE")(false);
// imports


// module
exports.push([module.i, ".ne-qr-scan-page[data-v-1dfd08df]{min-height:100vh;background:#000;color:#fff}.ne-qr-scan-page__loading[data-v-1dfd08df]{display:flex;align-items:center;justify-content:center;min-height:50vh;font-size:14px;color:#a8b3c7}.ne-qr-scan-page__scanner[data-v-1dfd08df]{position:fixed;inset:0;z-index:300;background:#000;display:flex;flex-direction:column}.ne-qr-scan-page__scanner-head[data-v-1dfd08df]{display:flex;justify-content:space-between;align-items:center;padding:16px}.ne-qr-scan-page__title[data-v-1dfd08df]{font-size:18px;font-weight:600;margin:0}.ne-qr-scan-page__close[data-v-1dfd08df]{border:none;background:transparent;color:#fff;font-size:14px;cursor:pointer}.ne-qr-scan-page__reader[data-v-1dfd08df]{flex:1;width:100%}.ne-qr-scan-page__hint[data-v-1dfd08df]{text-align:center;color:#a8b3c7;font-size:13px;padding:16px;margin:0}.ne-qr-scan-page__error[data-v-1dfd08df]{text-align:center;color:#ff6b6b;font-size:13px;padding:0 16px 24px;margin:0;line-height:1.5}", ""]);

// exports
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Swap_vue_vue_type_style_index_0_id_c1230ae2_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("13Pm");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Swap_vue_vue_type_style_index_0_id_c1230ae2_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_Swap_vue_vue_type_style_index_0_id_c1230ae2_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */

var content = __webpack_require__("QwVs");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__("aET+")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}exports = module.exports = __webpack_require__("I1BE")(false);
// imports


// module
exports.push([module.i, ".ne-swap-paused[data-v-c1230ae2]{background:rgba(248,113,113,.12);border:1px solid rgba(248,113,113,.35);color:#f87171}", ""]);

// exports
/* unused harmony export P2P_DISPLAY_DECIMALS */
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return formatP2PNumber; });
/** Default decimal places for P2P UI display (DB/calc remain DECIMAL(24,8)). */
var P2P_DISPLAY_DECIMALS = 3;

/**
 * Format a P2P amount/price for display only.
 * Examples: 1 → "1.000", 1.1 → "1.100", 2.345678 → "2.346"
 *
 * @param {number|string|null|undefined} value
 * @param {number} [decimals=3]
 * @returns {string}
 */
function formatP2PNumber(value) {
  var decimals = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : P2P_DISPLAY_DECIMALS;
  if (value === null || value === undefined || value === '') {
    return 0 .toFixed(decimals);
  }
  var raw = typeof value === 'number' ? value : parseFloat(String(value).replace(/,/g, ''));
  if (Number.isNaN(raw)) {
    return 0 .toFixed(decimals);
  }
  return raw.toFixed(decimals);
}/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_P2PExchangePage_vue_vue_type_style_index_0_id_07d181cf_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5uav");
/* harmony import */ var _node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_P2PExchangePage_vue_vue_type_style_index_0_id_07d181cf_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_index_js_node_modules_css_loader_index_js_ref_8_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_ref_8_2_node_modules_vue_loader_lib_index_js_vue_loader_options_P2PExchangePage_vue_vue_type_style_index_0_id_07d181cf_prod_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */

var content = __webpack_require__("xR4q");

if(typeof content === 'string') content = [[module.i, content, '']];

var transform;
var insertInto;



var options = {"hmr":true}

options.transform = transform
options.insertInto = undefined;

var update = __webpack_require__("aET+")(content, options);

if(content.locals) module.exports = content.locals;

if(false) {}exports = module.exports = __webpack_require__("I1BE")(false);
// imports


// module
exports.push([module.i, ".ne-p2p-exchange[data-v-07d181cf]{min-height:100vh;max-width:100%;overflow-x:hidden;background:var(--ne-bg,#0b1020);color:var(--ne-text,#fff);padding-bottom:24px}.ne-p2p-exchange[data-v-07d181cf],.ne-p2p-exchange *[data-v-07d181cf],.ne-p2p-exchange[data-v-07d181cf] :after,.ne-p2p-exchange[data-v-07d181cf] :before{box-sizing:border-box}.ne-p2p-exchange__header[data-v-07d181cf]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--ne-border,hsla(0,0%,100%,.06))}.ne-p2p-exchange__back[data-v-07d181cf]{background:transparent;border:none;padding:4px;cursor:pointer}.ne-p2p-exchange__title[data-v-07d181cf]{font-size:18px;font-weight:700;flex:1}.ne-p2p-exchange__badge[data-v-07d181cf]{font-size:10px;padding:2px 8px;border-radius:999px;background:rgba(255,176,32,.15);color:#ffb020}.ne-p2p-exchange__pair-tabs[data-v-07d181cf]{display:flex;gap:12px;margin-bottom:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}.ne-p2p-exchange__pair-tab[data-v-07d181cf]{display:inline-block;font-size:13px;font-weight:600;color:var(--ne-text-secondary,#a8b3c7);border:none;background:transparent;padding:0 0 4px;margin:0;cursor:pointer}.ne-p2p-exchange__pair-tab.is-active[data-v-07d181cf]{color:var(--ne-primary,#3f82d8);border-bottom:2px solid var(--ne-primary,#3f82d8)}.ne-p2p-exchange__price-row[data-v-07d181cf]{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.ne-p2p-exchange__price-main[data-v-07d181cf]{min-width:0;flex:1 1 160px}.ne-p2p-exchange__price-label[data-v-07d181cf]{font-size:11px;font-weight:600;color:var(--ne-text-secondary,#a8b3c7);margin-bottom:2px}.ne-p2p-exchange__price[data-v-07d181cf]{font-size:28px;font-weight:700;line-height:1.1;word-break:break-all}.ne-p2p-exchange__unit[data-v-07d181cf]{font-size:12px;color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__change[data-v-07d181cf]{font-size:13px;margin-top:4px}.ne-p2p-exchange__change.is-up[data-v-07d181cf]{color:#4ade80}.ne-p2p-exchange__change.is-down[data-v-07d181cf]{color:#ff6b6b}.ne-p2p-exchange__stats[data-v-07d181cf]{font-size:11px;color:var(--ne-text-secondary,#a8b3c7);text-align:right;line-height:1.6;flex:0 1 auto;min-width:0}.ne-p2p-exchange__main[data-v-07d181cf]{display:flex;flex-direction:column;gap:12px;padding:8px 12px;max-width:100%}.ne-p2p-exchange__book[data-v-07d181cf],.ne-p2p-exchange__panel[data-v-07d181cf]{width:100%;max-width:100%;background:var(--ne-surface-1,#11182a);border:1px solid var(--ne-border,hsla(0,0%,100%,.06));border-radius:12px;padding:12px}.ne-p2p-exchange__book-title[data-v-07d181cf],.ne-p2p-exchange__panel-title[data-v-07d181cf]{font-size:13px;font-weight:700;margin:0 0 10px;color:var(--ne-text,#fff)}.ne-p2p-exchange__book-side-label[data-v-07d181cf]{font-size:10px;font-weight:600;margin:4px 0 2px;color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__book-side-label--ask[data-v-07d181cf]{color:#ff8a8a}.ne-p2p-exchange__book-side-label--bid[data-v-07d181cf]{color:#7ee8a0}.ne-p2p-exchange__book-head[data-v-07d181cf],.ne-p2p-exchange__book-row[data-v-07d181cf]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;font-size:11px}.ne-p2p-exchange__book-row span[data-v-07d181cf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-p2p-exchange__book-head[data-v-07d181cf]{color:var(--ne-text-secondary,#a8b3c7);margin-bottom:6px}.ne-p2p-exchange__book-row[data-v-07d181cf]{padding:3px 0;cursor:pointer}.ne-p2p-exchange__book-row--ask span[data-v-07d181cf]:first-child{color:#ff6b6b}.ne-p2p-exchange__book-row--bid span[data-v-07d181cf]:first-child{color:#4ade80}.ne-p2p-exchange__mid[data-v-07d181cf]{text-align:center;font-size:14px;font-weight:700;color:#ff6b6b;padding:6px 0;margin:4px 0;border-top:1px solid var(--ne-border,hsla(0,0%,100%,.06));border-bottom:1px solid var(--ne-border,hsla(0,0%,100%,.06))}.ne-p2p-exchange__side-toggle[data-v-07d181cf]{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.ne-p2p-exchange__side-toggle button[data-v-07d181cf]{padding:8px;border-radius:8px;border:1px solid var(--ne-border,hsla(0,0%,100%,.06));background:var(--ne-surface-2,#161f34);color:var(--ne-text-secondary,#a8b3c7);font-size:13px;font-weight:600;cursor:pointer}.ne-p2p-exchange__side-toggle button.is-active[data-v-07d181cf]{background:rgba(74,222,128,.15);color:#4ade80;border-color:rgba(74,222,128,.35)}.ne-p2p-exchange__side-toggle button.is-active.is-sell[data-v-07d181cf]{background:rgba(63,130,216,.15);color:#3f82d8;border-color:rgba(63,130,216,.35)}.ne-p2p-exchange__intent[data-v-07d181cf]{margin:0 0 4px;font-size:13px;font-weight:700;color:var(--ne-text,#e8edf7)}.ne-p2p-exchange__confirm-copy[data-v-07d181cf],.ne-p2p-exchange__intent-detail[data-v-07d181cf]{margin:0 0 10px;font-size:12px;line-height:1.45;color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__field[data-v-07d181cf]{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;font-size:11px;color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__field input[data-v-07d181cf]{width:100%;max-width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--ne-border,hsla(0,0%,100%,.06));background:var(--ne-surface-2,#161f34);color:#fff;font-size:14px}.ne-p2p-exchange__pct-row[data-v-07d181cf]{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.ne-p2p-exchange__pct-row button[data-v-07d181cf]{padding:6px 0;font-size:11px;border-radius:6px;border:1px solid rgba(63,130,216,.35);background:transparent;color:var(--ne-primary,#3f82d8);cursor:pointer}.ne-p2p-exchange__avail[data-v-07d181cf],.ne-p2p-exchange__total[data-v-07d181cf]{font-size:12px;margin-bottom:8px}.ne-p2p-exchange__total[data-v-07d181cf]{display:flex;justify-content:space-between;font-weight:600}.ne-p2p-exchange__avail[data-v-07d181cf]{color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__lot-hint[data-v-07d181cf]{margin:-4px 0 8px;font-size:11px;color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__lot-error[data-v-07d181cf]{margin:-4px 0 8px;font-size:11px;color:#f87171}.ne-p2p-exchange__submit[data-v-07d181cf]{width:100%;padding:12px;border:none;border-radius:10px;background:#4ade80;color:#0b1020;font-size:14px;font-weight:700;cursor:pointer}.ne-p2p-exchange__submit.is-sell[data-v-07d181cf]{background:var(--ne-primary,#3f82d8);color:#fff}.ne-p2p-exchange__submit[data-v-07d181cf]:disabled{opacity:.6;cursor:not-allowed}.ne-p2p-exchange__tabs[data-v-07d181cf]{display:flex;gap:8px;margin:12px 0;flex-wrap:wrap}.ne-p2p-exchange__tabs button[data-v-07d181cf]{flex:1 1 auto;min-width:0;padding:8px 12px;border-radius:999px;border:1px solid var(--ne-border,hsla(0,0%,100%,.06));background:var(--ne-surface-2,#161f34);color:var(--ne-text-secondary,#a8b3c7);font-size:12px;cursor:pointer;white-space:nowrap}.ne-p2p-exchange__tabs button.is-active[data-v-07d181cf]{color:var(--ne-primary,#3f82d8);border-color:rgba(63,130,216,.35)}.ne-p2p-exchange__order-card[data-v-07d181cf],.ne-p2p-exchange__seller-card[data-v-07d181cf]{padding:12px;border-radius:12px;background:var(--ne-surface-1,#11182a);border:1px solid var(--ne-border,hsla(0,0%,100%,.06));margin-bottom:8px;cursor:pointer;overflow:hidden}.ne-p2p-exchange__order-top[data-v-07d181cf],.ne-p2p-exchange__seller-top[data-v-07d181cf]{display:flex;justify-content:space-between;font-size:13px;font-weight:600}.ne-p2p-exchange__seller-price[data-v-07d181cf]{color:#4ade80}.ne-p2p-exchange__seller-qty[data-v-07d181cf]{font-size:12px;color:var(--ne-text-secondary,#a8b3c7);margin-top:4px}.ne-p2p-exchange__side-badge[data-v-07d181cf]{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap}.ne-p2p-exchange__side-badge.is-buy[data-v-07d181cf]{color:#4ade80;background:rgba(74,222,128,.12)}.ne-p2p-exchange__side-badge.is-sell[data-v-07d181cf]{color:#6fa8ef;background:rgba(63,130,216,.15)}.ne-p2p-exchange__cancel[data-v-07d181cf]{margin-top:8px;padding:6px 10px;border-radius:8px;border:1px solid var(--ne-border,hsla(0,0%,100%,.06));background:transparent;color:var(--ne-text-secondary,#a8b3c7);font-size:12px;cursor:pointer}.ne-p2p-exchange__trade-row[data-v-07d181cf]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:8px;font-size:12px;padding:8px 0;border-bottom:1px solid var(--ne-border,hsla(0,0%,100%,.06))}.ne-p2p-exchange__trade-row span[data-v-07d181cf]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-p2p-exchange__participant[data-v-07d181cf],.ne-p2p-exchange__trade-parties[data-v-07d181cf]{margin:0;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ne-p2p-exchange__bottom[data-v-07d181cf]{max-width:100%;overflow-x:hidden}.ne-p2p-exchange__modal-backdrop[data-v-07d181cf]{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:12px;background:rgba(0,0,0,.72)}.ne-p2p-exchange__modal[data-v-07d181cf]{width:100%;max-width:520px;max-height:min(88vh,720px);overflow-y:auto;overflow-x:hidden;padding:16px;border:1px solid var(--ne-border,hsla(0,0%,100%,.08));border-radius:16px;background:var(--ne-surface-1,#11182a)}.ne-p2p-exchange__modal-head[data-v-07d181cf]{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ne-p2p-exchange__modal-head h2[data-v-07d181cf]{margin:0;font-size:16px}.ne-p2p-exchange__modal-head button[data-v-07d181cf]{border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer}.ne-p2p-exchange__detail-grid[data-v-07d181cf]{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8px 12px;margin-bottom:16px;font-size:12px}.ne-p2p-exchange__detail-grid>span[data-v-07d181cf]{color:var(--ne-text-secondary,#a8b3c7)}.ne-p2p-exchange__detail-grid>strong[data-v-07d181cf]{min-width:0;overflow-wrap:anywhere;text-align:right}.ne-p2p-exchange__fill-all[data-v-07d181cf]{margin:-2px 0 10px;border:0;background:transparent;color:var(--ne-primary,#6fa8ef);font-size:12px;cursor:pointer}.ne-p2p-exchange__direct-summary[data-v-07d181cf],.ne-p2p-exchange__modal-notice[data-v-07d181cf]{margin:0 0 12px;padding:10px;border-radius:8px;font-size:12px;overflow-wrap:anywhere}@media (min-width:768px){.ne-p2p-exchange__main[data-v-07d181cf]{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;min-height:320px}.ne-p2p-exchange__book-side-label[data-v-07d181cf],.ne-p2p-exchange__book-title[data-v-07d181cf],.ne-p2p-exchange__panel-title[data-v-07d181cf]{display:none}.ne-p2p-exchange__modal-backdrop[data-v-07d181cf]{align-items:center}}.ne-p2p-exchange__notice[data-v-07d181cf]{background:rgba(255,176,32,.12);color:#ffb020;font-size:13px;border-bottom:1px solid rgba(255,176,32,.2)}.ne-p2p-exchange__empty[data-v-07d181cf],.ne-p2p-exchange__error[data-v-07d181cf]{text-align:center;color:var(--ne-text-secondary,#a8b3c7);font-size:13px}", ""]);

// exports
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/DepositPage.vue?vue&type=template&id=6f718376&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "ne-deposit-page"
  }, [_c('HeaderBack', {
    attrs: {
      "is-buyer-sell-page": false,
      "header-title": _vm.$t('deposit.title')
    }
  }), _vm._v(" "), _c('main', {
    staticClass: "ne-deposit-page pt-[49px]"
  }, [_c('section', {
    staticClass: "px-5 py-4"
  }, [_c('p', {
    staticClass: "ne-deposit-page__intro"
  }, [_vm._v("\n                " + _vm._s(_vm.$t('deposit.intro')) + "\n            ")]), _vm._v(" "), _vm.selectedChainGuide || _vm.selectedChainWarning ? _c('div', {
    staticClass: "ne-deposit-page__guide-box"
  }, [_vm.selectedChainGuide ? _c('p', {
    staticClass: "ne-deposit-page__guide"
  }, [_vm._v(_vm._s(_vm.selectedChainGuide))]) : _vm._e(), _vm._v(" "), _vm.selectedChainWarning ? _c('p', {
    staticClass: "ne-deposit-page__warn"
  }, [_vm._v("\n                    " + _vm._s(_vm.selectedChainWarning) + "\n                ")]) : _vm._e()]) : _vm._e(), _vm._v(" "), _c('div', {
    staticClass: "ne-deposit-page__chains"
  }, _vm._l(_vm.visibleChains, function (chain) {
    return _c('button', {
      key: chain.id,
      staticClass: "ne-deposit-page__chain",
      "class": {
        'ne-deposit-page__chain--active': _vm.selectedChainId === chain.id,
        'ne-deposit-page__chain--disabled': !chain.available
      },
      attrs: {
        "type": "button",
        "disabled": !chain.available
      },
      on: {
        "click": function click($event) {
          return _vm.selectChain(chain);
        }
      }
    }, [_c('span', {
      staticClass: "ne-deposit-page__chain-name"
    }, [_vm._v(_vm._s(chain.name))]), _vm._v(" "), _vm.chainAssetShort(chain.id) ? _c('span', {
      staticClass: "ne-deposit-page__chain-assets"
    }, [_vm._v("\n                        " + _vm._s(_vm.chainAssetShort(chain.id)) + "\n                    ")]) : _vm._e(), _vm._v(" "), !chain.available ? _c('span', {
      staticClass: "ne-deposit-page__soon"
    }, [_vm._v(_vm._s(_vm.$t('common.comingSoon')))]) : _vm._e()]);
  }), 0), _vm._v(" "), _vm.selectedChain && _vm.selectedChain.available && _vm.addressData ? _c('div', {
    staticClass: "ne-deposit-page__address-card"
  }, [_c('p', {
    staticClass: "ne-deposit-page__label"
  }, [_vm._v(_vm._s(_vm.$t('deposit.addressLabel', {
    chain: _vm.addressData.chain_label || _vm.selectedChain.name
  })))]), _vm._v(" "), _vm.supportedAssets.length ? _c('p', {
    staticClass: "ne-deposit-page__assets-banner"
  }, [_vm._v("\n                    " + _vm._s(_vm.supportedAssets.join(' · ')) + "\n                ")]) : _vm._e(), _vm._v(" "), _c('div', {
    staticClass: "ne-deposit-page__qr-wrap"
  }, [_vm.qrImageSrc ? _c('img', {
    staticClass: "ne-deposit-page__qr",
    attrs: {
      "src": _vm.qrImageSrc,
      "alt": _vm.$t('deposit.title')
    }
  }) : _vm._e()]), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-page__address break-all"
  }, [_vm._v(_vm._s(_vm.addressData.address))]), _vm._v(" "), _vm.supportedAssets.length ? _c('p', {
    staticClass: "ne-deposit-page__assets ne-deposit-page__assets--sub"
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('deposit.sameAddress')) + "\n                ")]) : _vm._e(), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-page__hint"
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('deposit.confirmations', {
    count: _vm.addressData.required_confirmations
  })) + "\n                ")]), _vm._v(" "), _c('div', {
    staticClass: "ne-deposit-page__actions"
  }, [_c('button', {
    staticClass: "ne-deposit-page__action",
    attrs: {
      "type": "button"
    },
    on: {
      "click": _vm.copyAddress
    }
  }, [_c('span', {
    staticClass: "material-icons",
    attrs: {
      "aria-hidden": "true"
    }
  }, [_vm._v("content_copy")]), _vm._v("\n                        " + _vm._s(_vm.$t('common.copy')) + "\n                    ")]), _vm._v(" "), _c('button', {
    staticClass: "ne-deposit-page__action",
    attrs: {
      "type": "button"
    },
    on: {
      "click": _vm.shareAddress
    }
  }, [_c('span', {
    staticClass: "material-icons",
    attrs: {
      "aria-hidden": "true"
    }
  }, [_vm._v("share")]), _vm._v("\n                        " + _vm._s(_vm.$t('common.share')) + "\n                    ")])])]) : _vm.addressLoading ? _c('div', {
    staticClass: "ne-deposit-page__empty"
  }, [_vm._v("\n                " + _vm._s(_vm.$t('deposit.loadingAddress')) + "\n            ")]) : _vm.selectedChain && !_vm.selectedChain.available ? _c('div', {
    staticClass: "ne-deposit-page__soon-card"
  }, [_c('p', {
    staticClass: "ne-deposit-page__soon-title"
  }, [_vm._v(_vm._s(_vm.selectedChain.name))]), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-page__soon-text"
  }, [_vm._v(_vm._s(_vm.$t('deposit.networkSoon')))])]) : _vm._e()]), _vm._v(" "), _c('section', {
    staticClass: "ne-deposit-page__section px-5 pb-8"
  }, [_c('div', {
    staticClass: "ne-deposit-page__history-header"
  }, [_c('h2', {
    staticClass: "ne-deposit-page__history-title"
  }, [_vm._v(_vm._s(_vm.$t('deposit.historyTitle')))]), _vm._v(" "), _c('button', {
    staticClass: "ne-deposit-page__refresh",
    attrs: {
      "type": "button",
      "disabled": _vm.historyLoading
    },
    on: {
      "click": _vm.loadDeposits
    }
  }, [_vm._v("\n                    " + _vm._s(_vm.historyLoading ? '…' : _vm.$t('common.refresh')) + "\n                ")])]), _vm._v(" "), _vm.historyLoading ? _c('p', {
    staticClass: "ne-deposit-page__empty"
  }, [_vm._v(_vm._s(_vm.$t('common.loading')))]) : !_vm.deposits.length ? _c('p', {
    staticClass: "ne-deposit-page__empty"
  }, [_vm._v(_vm._s(_vm.$t('deposit.historyEmpty')))]) : _c('ul', {
    staticClass: "ne-deposit-page__history-list"
  }, _vm._l(_vm.deposits, function (item) {
    return _c('li', {
      key: item.id
    }, [_c('DepositHistoryCard', {
      attrs: {
        "deposit": item
      },
      on: {
        "select": _vm.goActivityDetail
      }
    })], 1);
  }), 0)])])], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/DepositPage.vue?vue&type=template&id=6f718376&scoped=true

// EXTERNAL MODULE: ./resources/js/mixins/i18nMixin.js + 1 modules
var i18nMixin = __webpack_require__("2A9R");

// EXTERNAL MODULE: ./resources/js/components/common/HeaderBack.vue + 9 modules
var HeaderBack = __webpack_require__("zida");

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/newallet/DepositHistoryCard.vue?vue&type=template&id=3af05400&scoped=true
var DepositHistoryCardvue_type_template_id_3af05400_scoped_true_render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('article', {
    staticClass: "ne-deposit-history",
    attrs: {
      "role": "button",
      "tabindex": "0"
    },
    on: {
      "click": function click($event) {
        return _vm.$emit('select', _vm.deposit);
      },
      "keyup": function keyup($event) {
        if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
        return _vm.$emit('select', _vm.deposit);
      }
    }
  }, [_vm._m(0), _vm._v(" "), _c('div', {
    staticClass: "ne-deposit-history__body"
  }, [_c('div', {
    staticClass: "ne-deposit-history__row"
  }, [_c('p', {
    staticClass: "ne-deposit-history__title"
  }, [_vm._v("\n                " + _vm._s(_vm.deposit.chain_label || '—') + " · " + _vm._s(_vm.deposit.asset_label || '—') + "\n            ")]), _vm._v(" "), _c('span', {
    staticClass: "ne-deposit-history__badge",
    "class": "ne-deposit-history__badge--".concat(_vm.badgeClass)
  }, [_vm._v("\n                " + _vm._s(_vm.deposit.status) + "\n            ")])]), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-history__amount tabular-nums"
  }, [_vm._v("\n            " + _vm._s(_vm.deposit.amount) + "\n            "), _c('span', {
    staticClass: "ne-deposit-history__symbol"
  }, [_vm._v(_vm._s(_vm.deposit.asset_label))])]), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-history__meta"
  }, [_vm._v("\n            " + _vm._s(_vm.$t('deposit.confirmationsLabel', {
    label: _vm.deposit.confirmations_label
  })) + "\n            "), _vm.deposit.from_address ? _c('span', [_vm._v(" · " + _vm._s(_vm.shortFrom))]) : _vm._e()]), _vm._v(" "), _c('p', {
    staticClass: "ne-deposit-history__time"
  }, [_vm._v(_vm._s(_vm.formattedTime))])])]);
};
var DepositHistoryCardvue_type_template_id_3af05400_scoped_true_staticRenderFns = [function () {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "ne-deposit-history__icon"
  }, [_c('span', {
    staticClass: "material-icons",
    attrs: {
      "aria-hidden": "true"
    }
  }, [_vm._v("south_west")])]);
}];

// CONCATENATED MODULE: ./resources/js/components/newallet/DepositHistoryCard.vue?vue&type=template&id=3af05400&scoped=true

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/newallet/DepositHistoryCard.vue?vue&type=script&lang=js

/* harmony default export */ var DepositHistoryCardvue_type_script_lang_js = ({
  name: 'DepositHistoryCard',
  mixins: [i18nMixin["a" /* default */]],
  props: {
    deposit: {
      type: Object,
      required: true
    }
  },
  computed: {
    badgeClass: function badgeClass() {
      return (this.deposit.status || 'Detected').toLowerCase();
    },
    formattedTime: function formattedTime() {
      var raw = this.deposit.detected_at || this.deposit.occurred_at;
      if (!raw) {
        return '';
      }
      var date = new Date(raw);
      return Number.isNaN(date.getTime()) ? raw : date.toLocaleString();
    },
    shortFrom: function shortFrom() {
      var addr = (this.deposit.from_address || '').trim();
      if (!addr) {
        return '';
      }
      if (addr.length <= 12) {
        return addr;
      }
      return addr.slice(0, 6) + '…' + addr.slice(-4);
    }
  }
});
// CONCATENATED MODULE: ./resources/js/components/newallet/DepositHistoryCard.vue?vue&type=script&lang=js
 /* harmony default export */ var newallet_DepositHistoryCardvue_type_script_lang_js = (DepositHistoryCardvue_type_script_lang_js);
// EXTERNAL MODULE: ./resources/js/components/newallet/DepositHistoryCard.vue?vue&type=style&index=0&id=3af05400&prod&scoped=true&lang=css
var DepositHistoryCardvue_type_style_index_0_id_3af05400_prod_scoped_true_lang_css = __webpack_require__("qApw");

// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("KHd+");

// CONCATENATED MODULE: ./resources/js/components/newallet/DepositHistoryCard.vue






/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  newallet_DepositHistoryCardvue_type_script_lang_js,
  DepositHistoryCardvue_type_template_id_3af05400_scoped_true_render,
  DepositHistoryCardvue_type_template_id_3af05400_scoped_true_staticRenderFns,
  false,
  null,
  "3af05400",
  null

)

/* harmony default export */ var DepositHistoryCard = (component.exports);
// EXTERNAL MODULE: ./resources/js/constants/depositChains.js
var depositChains = __webpack_require__("BPpX");

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/DepositPage.vue?vue&type=script&lang=js
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }




var CHAIN_DISPLAY_ASSETS = {
  bsc: depositChains["a" /* DEPOSIT_CHAIN_META */].bsc.assets,
  tron: depositChains["a" /* DEPOSIT_CHAIN_META */].tron.assets
};
/* harmony default export */ var DepositPagevue_type_script_lang_js = ({
  name: 'DepositPage',
  components: {
    HeaderBack: HeaderBack["a" /* default */],
    DepositHistoryCard: DepositHistoryCard
  },
  mixins: [i18nMixin["a" /* default */]],
  data: function data() {
    return {
      chains: [],
      selectedChainId: 'bsc',
      addressData: null,
      addressLoading: false,
      deposits: [],
      historyLoading: false
    };
  },
  computed: {
    visibleChains: function visibleChains() {
      return this.chains.filter(function (chain) {
        return !chain.hidden;
      });
    },
    selectedChain: function selectedChain() {
      var _this = this;
      return this.chains.find(function (c) {
        return c.id === _this.selectedChainId;
      }) || null;
    },
    qrImageSrc: function qrImageSrc() {
      if (!this.addressData || !this.addressData.address) {
        return '';
      }
      return 'https://quickchart.io/qr?size=200&text=' + encodeURIComponent(this.addressData.address);
    },
    supportedAssets: function supportedAssets() {
      var chainAssets = CHAIN_DISPLAY_ASSETS[this.selectedChainId];
      if (chainAssets && chainAssets.length) {
        return chainAssets;
      }
      if (!this.addressData || !this.addressData.assets) {
        return [];
      }
      return this.addressData.assets;
    },
    selectedChainGuide: function selectedChainGuide() {
      var meta = Object(depositChains["b" /* depositChainMeta */])(this.selectedChainId);
      return meta && meta.guideKey ? this.$t(meta.guideKey) : '';
    },
    selectedChainWarning: function selectedChainWarning() {
      var meta = Object(depositChains["b" /* depositChainMeta */])(this.selectedChainId);
      return meta && meta.warningKey ? this.$t(meta.warningKey) : '';
    }
  },
  mounted: function mounted() {
    var _this2 = this;
    return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
      return _regenerator().w(function (_context) {
        while (1) switch (_context.n) {
          case 0:
            if (_this2.$store.state.user.logined) {
              _context.n = 1;
              break;
            }
            _this2.$router.replace('/login');
            return _context.a(2);
          case 1:
            _context.n = 2;
            return _this2.loadChains();
          case 2:
            _context.n = 3;
            return _this2.loadAddressForSelected();
          case 3:
            _context.n = 4;
            return _this2.loadDeposits();
          case 4:
            return _context.a(2);
        }
      }, _callee);
    }))();
  },
  methods: {
    chainAssetShort: function chainAssetShort(chainId) {
      var meta = Object(depositChains["b" /* depositChainMeta */])(chainId);
      return meta && meta.shortAssetsKey ? this.$t(meta.shortAssetsKey) : '';
    },
    loadChains: function loadChains() {
      var _this3 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
        var res, firstAvailable, _t;
        return _regenerator().w(function (_context2) {
          while (1) switch (_context2.p = _context2.n) {
            case 0:
              _context2.p = 0;
              _context2.n = 1;
              return axios.post('/api/onchain/chains', {}, _this3.$store.getters.axiosconfig);
            case 1:
              res = _context2.v;
              if (res.data.res === 0) {
                _this3.chains = res.data.data || [];
                firstAvailable = _this3.visibleChains.find(function (c) {
                  return c.available;
                });
                if (firstAvailable) {
                  _this3.selectedChainId = firstAvailable.id;
                }
              }
              _context2.n = 3;
              break;
            case 2:
              _context2.p = 2;
              _t = _context2.v;
              console.error(_t);
            case 3:
              return _context2.a(2);
          }
        }, _callee2, null, [[0, 2]]);
      }))();
    },
    selectChain: function selectChain(chain) {
      var _this4 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
        return _regenerator().w(function (_context3) {
          while (1) switch (_context3.n) {
            case 0:
              if (chain.available) {
                _context3.n = 1;
                break;
              }
              _this4.selectedChainId = chain.id;
              _this4.addressData = null;
              return _context3.a(2);
            case 1:
              _this4.selectedChainId = chain.id;
              _context3.n = 2;
              return _this4.loadAddressForSelected();
            case 2:
              return _context3.a(2);
          }
        }, _callee3);
      }))();
    },
    loadAddressForSelected: function loadAddressForSelected() {
      var _this5 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
        var res, _t2;
        return _regenerator().w(function (_context4) {
          while (1) switch (_context4.p = _context4.n) {
            case 0:
              if (!(!_this5.selectedChain || !_this5.selectedChain.available)) {
                _context4.n = 1;
                break;
              }
              _this5.addressData = null;
              return _context4.a(2);
            case 1:
              _this5.addressLoading = true;
              _context4.p = 2;
              _context4.n = 3;
              return axios.post('/api/onchain/deposit/address', {
                chain: _this5.selectedChainId
              }, _this5.$store.getters.axiosconfig);
            case 3:
              res = _context4.v;
              if (res.data.res === 0) {
                _this5.addressData = res.data.data;
              } else {
                _this5.addressData = null;
                alert(_this5.$apiMessage(res.data, 'deposit.loadAddressFailed'));
              }
              _context4.n = 5;
              break;
            case 4:
              _context4.p = 4;
              _t2 = _context4.v;
              console.error(_t2);
              _this5.addressData = null;
            case 5:
              _context4.p = 5;
              _this5.addressLoading = false;
              return _context4.f(5);
            case 6:
              return _context4.a(2);
          }
        }, _callee4, null, [[2, 4, 5, 6]]);
      }))();
    },
    loadDeposits: function loadDeposits() {
      var _this6 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
        var res, _t3;
        return _regenerator().w(function (_context5) {
          while (1) switch (_context5.p = _context5.n) {
            case 0:
              _this6.historyLoading = true;
              _context5.p = 1;
              _context5.n = 2;
              return axios.post('/api/onchain/deposits', {}, _this6.$store.getters.axiosconfig);
            case 2:
              res = _context5.v;
              if (res.data.res === 0) {
                _this6.deposits = res.data.data || [];
              }
              _context5.n = 4;
              break;
            case 3:
              _context5.p = 3;
              _t3 = _context5.v;
              console.error(_t3);
            case 4:
              _context5.p = 4;
              _this6.historyLoading = false;
              return _context5.f(4);
            case 5:
              return _context5.a(2);
          }
        }, _callee5, null, [[1, 3, 4, 5]]);
      }))();
    },
    copyAddress: function copyAddress() {
      if (!this.addressData || !this.addressData.address) {
        return;
      }
      this.copyText(this.addressData.address, this.$t('deposit.addressCopied'));
    },
    shareAddress: function shareAddress() {
      var _this$addressData, _this$selectedChain;
      if (!this.addressData || !this.addressData.address) {
        return;
      }
      var chainLabel = ((_this$addressData = this.addressData) === null || _this$addressData === void 0 ? void 0 : _this$addressData.chain_label) || ((_this$selectedChain = this.selectedChain) === null || _this$selectedChain === void 0 ? void 0 : _this$selectedChain.name) || '';
      var share = {
        title: this.$t('deposit.shareTitle'),
        text: this.$t('deposit.shareText', {
          chain: chainLabel,
          address: this.addressData.address
        })
      };
      if (navigator.share) {
        navigator.share(share);
      } else {
        this.copyText(this.addressData.address, this.$t('deposit.addressCopied'));
      }
    },
    copyText: function copyText(value, message) {
      var el = document.createElement('textarea');
      el.value = value;
      document.body.appendChild(el);
      el.select();
      document.execCommand('copy');
      document.body.removeChild(el);
      alert(message);
    },
    goActivityDetail: function goActivityDetail(deposit) {
      this.$router.push({
        name: 'activityTab',
        query: {
          deposit_id: String(deposit.id)
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./resources/js/views/pages/newallet/DepositPage.vue?vue&type=script&lang=js
 /* harmony default export */ var newallet_DepositPagevue_type_script_lang_js = (DepositPagevue_type_script_lang_js);
// EXTERNAL MODULE: ./resources/js/views/pages/newallet/DepositPage.vue?vue&type=style&index=0&id=6f718376&prod&scoped=true&lang=css
var DepositPagevue_type_style_index_0_id_6f718376_prod_scoped_true_lang_css = __webpack_require__("p0to");

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/DepositPage.vue






/* normalize component */

var DepositPage_component = Object(componentNormalizer["a" /* default */])(
  newallet_DepositPagevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  null,
  "6f718376",
  null

)

/* harmony default export */ var DepositPage = __webpack_exports__["default"] = (DepositPage_component.exports);// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/QrScanPage.vue?vue&type=template&id=1dfd08df&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "ne-qr-scan-page"
  }, [!_vm.showScanner && !_vm.showQrPaymentSheet ? _c('div', {
    staticClass: "ne-qr-scan-page__loading"
  }, [_c('p', [_vm._v(_vm._s(_vm.$t('qr.preparingCamera')))])]) : _vm._e(), _vm._v(" "), _vm.showScanner ? _c('div', {
    staticClass: "ne-qr-scan-page__scanner"
  }, [_c('div', {
    staticClass: "ne-qr-scan-page__scanner-head"
  }, [_c('h2', {
    staticClass: "ne-qr-scan-page__title"
  }, [_vm._v(_vm._s(_vm.$t('qr.scanTitle')))]), _vm._v(" "), _c('button', {
    staticClass: "ne-qr-scan-page__close",
    attrs: {
      "type": "button"
    },
    on: {
      "click": _vm.goBack
    }
  }, [_vm._v(_vm._s(_vm.$t('common.close')))])]), _vm._v(" "), _c('div', {
    staticClass: "ne-qr-scan-page__reader",
    attrs: {
      "id": "pay-qr-reader"
    }
  }), _vm._v(" "), _c('p', {
    staticClass: "ne-qr-scan-page__hint"
  }, [_vm._v(_vm._s(_vm.$t('qr.hint')))]), _vm._v(" "), _vm.cameraError ? _c('p', {
    staticClass: "ne-qr-scan-page__error"
  }, [_vm._v(_vm._s(_vm.cameraError))]) : _vm._e()]) : _vm._e(), _vm._v(" "), _c('QrPaymentConfirmSheet', {
    attrs: {
      "visible": _vm.showQrPaymentSheet,
      "request-code": _vm.qrPaymentRequestCode,
      "scanned-payload": _vm.qrPaymentPayload
    },
    on: {
      "close": _vm.closeQrPaymentSheet,
      "completed": _vm.onPaymentCompleted
    }
  })], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/QrScanPage.vue?vue&type=template&id=1dfd08df&scoped=true

// EXTERNAL MODULE: ./node_modules/html5-qrcode/esm/index.js + 22 modules
var esm = __webpack_require__("eE7k");

// EXTERNAL MODULE: ./resources/js/mixins/i18nMixin.js + 1 modules
var i18nMixin = __webpack_require__("2A9R");

// EXTERNAL MODULE: ./resources/js/components/newallet/QrPaymentConfirmSheet.vue + 4 modules
var QrPaymentConfirmSheet = __webpack_require__("GPQT");

// EXTERNAL MODULE: ./resources/js/utils/parseQrScanPayload.js
var parseQrScanPayload = __webpack_require__("dzb2");

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/QrScanPage.vue?vue&type=script&lang=js
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }




/* harmony default export */ var QrScanPagevue_type_script_lang_js = ({
  name: 'QrScanPage',
  components: {
    QrPaymentConfirmSheet: QrPaymentConfirmSheet["a" /* default */]
  },
  mixins: [i18nMixin["a" /* default */]],
  data: function data() {
    return {
      showScanner: false,
      html5QrCode: null,
      cameraError: '',
      showQrPaymentSheet: false,
      qrPaymentRequestCode: '',
      qrPaymentPayload: null
    };
  },
  mounted: function mounted() {
    var _this = this;
    if (!this.$store.state.user.logined) {
      this.$router.replace('/login');
      return;
    }
    this.$nextTick(function () {
      return _this.openScanner();
    });
  },
  beforeDestroy: function beforeDestroy() {
    this.stopScanner();
  },
  methods: {
    goBack: function goBack() {
      this.stopScanner();
      this.$router.back();
    },
    openScanner: function openScanner() {
      var _this2 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
        var _t;
        return _regenerator().w(function (_context) {
          while (1) switch (_context.p = _context.n) {
            case 0:
              _this2.cameraError = '';
              _this2.showScanner = true;
              _context.n = 1;
              return _this2.$nextTick();
            case 1:
              _context.p = 1;
              _this2.html5QrCode = new esm["a" /* Html5Qrcode */]('pay-qr-reader');
              _context.n = 2;
              return _this2.html5QrCode.start({
                facingMode: 'environment'
              }, {
                fps: 10,
                qrbox: {
                  width: 250,
                  height: 250
                }
              }, function (decodedText) {
                _this2.stopScanner();
                _this2.handleQrScanResult(decodedText);
              });
            case 2:
              _context.n = 4;
              break;
            case 3:
              _context.p = 3;
              _t = _context.v;
              console.error('Scanner Error:', _t);
              _this2.cameraError = _this2.$t('qr.cameraError');
            case 4:
              return _context.a(2);
          }
        }, _callee, null, [[1, 3]]);
      }))();
    },
    stopScanner: function stopScanner() {
      var _this3 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
        var _t2;
        return _regenerator().w(function (_context2) {
          while (1) switch (_context2.p = _context2.n) {
            case 0:
              if (!_this3.html5QrCode) {
                _context2.n = 5;
                break;
              }
              _context2.p = 1;
              _context2.n = 2;
              return _this3.html5QrCode.stop();
            case 2:
              _context2.n = 4;
              break;
            case 3:
              _context2.p = 3;
              _t2 = _context2.v;
              console.error('Stop Error:', _t2);
            case 4:
              _this3.html5QrCode = null;
            case 5:
              _this3.showScanner = false;
            case 6:
              return _context2.a(2);
          }
        }, _callee2, null, [[1, 3]]);
      }))();
    },
    handleQrScanResult: function handleQrScanResult(text) {
      var parsed = Object(parseQrScanPayload["b" /* parseQrScanPayload */])(text);
      if (parsed.kind === 'newallet_pay') {
        this.qrPaymentRequestCode = parsed.payload.request_code;
        this.qrPaymentPayload = parsed.payload;
        this.showQrPaymentSheet = true;
        return;
      }
      if (parsed.kind === 'address') {
        this.$router.replace({
          name: 'send2',
          query: {
            address: parsed.address
          }
        });
        return;
      }
      alert(parsed.errorKey ? this.$t(parsed.errorKey) : this.$t('qr.unrecognized'));
      this.openScanner();
    },
    closeQrPaymentSheet: function closeQrPaymentSheet() {
      this.showQrPaymentSheet = false;
      this.qrPaymentRequestCode = '';
      this.qrPaymentPayload = null;
      this.goBack();
    },
    onPaymentCompleted: function onPaymentCompleted() {
      this.closeQrPaymentSheet();
      this.$router.replace('/pay');
    }
  }
});
// CONCATENATED MODULE: ./resources/js/views/pages/newallet/QrScanPage.vue?vue&type=script&lang=js
 /* harmony default export */ var newallet_QrScanPagevue_type_script_lang_js = (QrScanPagevue_type_script_lang_js);
// EXTERNAL MODULE: ./resources/js/views/pages/newallet/QrScanPage.vue?vue&type=style&index=0&id=1dfd08df&prod&scoped=true&lang=css
var QrScanPagevue_type_style_index_0_id_1dfd08df_prod_scoped_true_lang_css = __webpack_require__("Vt8s");

// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("KHd+");

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/QrScanPage.vue






/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  newallet_QrScanPagevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  null,
  "1dfd08df",
  null

)

/* harmony default export */ var QrScanPage = __webpack_exports__["default"] = (component.exports);// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/swap/Swap.vue?vue&type=template&id=c1230ae2&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "ne-subpage ne-swap-page min-h-screen p-4 pb-24"
  }, [_c('div', {
    staticClass: "flex items-center mb-6"
  }, [_c('button', {
    on: {
      "click": function click($event) {
        return _vm.$router.go(-1);
      }
    }
  }, [_c('img', {
    staticClass: "w-6",
    attrs: {
      "src": "/icons/back.svg"
    }
  })]), _vm._v(" "), _c('h1', {
    staticClass: "text-xl font-bold ml-4 ne-header-back__title"
  }, [_vm._v(_vm._s(_vm.$t('swap.title')))])]), _vm._v(" "), !_vm.swapEnabled ? _c('div', {
    staticClass: "ne-swap-paused mb-4 rounded-2xl p-4 text-sm font-medium"
  }, [_vm._v("\n    " + _vm._s(_vm.$t('swap.pausedMessage')) + "\n  ")]) : _vm._e(), _vm._v(" "), _c('div', {
    staticClass: "ne-swap-card rounded-2xl p-5 mb-2",
    "class": {
      'opacity-60': !_vm.swapEnabled
    }
  }, [_c('div', {
    staticClass: "flex justify-between ne-swap-muted text-sm mb-4"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('swap.youPay')))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('swap.balance', {
    amount: _vm.fromCoin.balance
  })))])]), _vm._v(" "), _c('div', {
    staticClass: "flex justify-between items-center"
  }, [_c('input', {
    directives: [{
      name: "model",
      rawName: "v-model.number",
      value: _vm.payAmount,
      expression: "payAmount",
      modifiers: {
        "number": true
      }
    }],
    staticClass: "bg-transparent text-2xl font-bold outline-none w-2/3",
    attrs: {
      "type": "number",
      "placeholder": _vm.$t('swap.amountPlaceholder'),
      "disabled": !_vm.swapEnabled
    },
    domProps: {
      "value": _vm.payAmount
    },
    on: {
      "input": function input($event) {
        if ($event.target.composing) return;
        _vm.payAmount = _vm._n($event.target.value);
      },
      "blur": function blur($event) {
        return _vm.$forceUpdate();
      }
    }
  }), _vm._v(" "), _c('div', {
    staticClass: "flex items-center ne-swap-pill px-3 py-1.5 rounded-full"
  }, [_c('img', {
    staticClass: "w-6 h-6 mr-2",
    attrs: {
      "src": _vm.fromCoin.icon
    }
  }), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.fromCoin.symbol))])])])]), _vm._v(" "), _c('div', {
    staticClass: "flex justify-center -my-5 z-10 relative"
  }, [_c('div', {
    staticClass: "ne-swap-fab p-3 rounded-full transition-transform duration-500",
    "class": _vm.swapEnabled ? 'cursor-pointer hover:scale-110 active:rotate-180' : 'opacity-50 cursor-not-allowed',
    on: {
      "click": function click($event) {
        _vm.swapEnabled && _vm.switchCoins();
      }
    }
  }, [_c('img', {
    staticClass: "w-6",
    attrs: {
      "src": "/icons/swap.png"
    }
  })])]), _vm._v(" "), _c('div', {
    staticClass: "ne-swap-card rounded-2xl p-5 mt-2",
    "class": {
      'opacity-60': !_vm.swapEnabled
    }
  }, [_c('div', {
    staticClass: "flex justify-between ne-swap-muted text-sm mb-4"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('swap.youReceive')))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('swap.estimated')))])]), _vm._v(" "), _c('div', {
    staticClass: "flex justify-between items-center"
  }, [_c('div', {
    staticClass: "text-2xl font-bold"
  }, [_vm._v(_vm._s(_vm.receiveAmount))]), _vm._v(" "), _c('div', {
    staticClass: "flex items-center ne-swap-pill px-3 py-1.5 rounded-full"
  }, [_c('img', {
    staticClass: "w-6 h-6 mr-2",
    attrs: {
      "src": _vm.toCoin.icon
    }
  }), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.toCoin.symbol))])])])]), _vm._v(" "), _c('div', {
    staticClass: "mt-6 space-y-3 px-2 text-sm ne-swap-muted"
  }, [_c('div', {
    staticClass: "flex justify-between"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('swap.exchangeRate')))]), _vm._v(" "), _c('span', [_vm._v("1 " + _vm._s(_vm.toCoin.symbol) + " = " + _vm._s(_vm.currentRate) + " " + _vm._s(_vm.fromCoin.symbol))])]), _vm._v(" "), _c('div', {
    staticClass: "flex justify-between font-medium",
    staticStyle: {
      "color": "var(--ne-accent)"
    }
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('swap.fee', {
    percent: (_vm.feeRate * 100).toFixed(1)
  })))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.feeAmount) + " " + _vm._s(_vm.fromCoin.symbol))])])]), _vm._v(" "), _c('button', {
    staticClass: "ne-swap-submit w-full py-4 mt-8 font-bold text-lg transition disabled:opacity-50",
    attrs: {
      "disabled": !_vm.isSwapValid
    },
    on: {
      "click": _vm.confirmSwap
    }
  }, [_vm._v("\n    " + _vm._s(_vm.swapButtonText) + "\n  ")]), _vm._v(" "), _c('SecurityPinGateModal', {
    ref: "securityPinGate"
  }), _vm._v(" "), _c('div', {
    staticClass: "mt-10 mb-20"
  }, [_c('div', {
    staticClass: "flex justify-between items-center mb-4 px-2"
  }, [_c('h3', {
    staticClass: "text-lg font-bold"
  }, [_vm._v(_vm._s(_vm.$t('swap.recentHistory')))]), _vm._v(" "), _c('button', {
    staticClass: "text-xs ne-swap-muted transition",
    on: {
      "click": _vm.loadHistory
    }
  }, [_vm._v(_vm._s(_vm.$t('swap.refresh')))])]), _vm._v(" "), _vm.history.length === 0 ? _c('div', {
    staticClass: "text-center py-10 ne-swap-muted ne-swap-card rounded-2xl"
  }, [_vm._v("\n      " + _vm._s(_vm.$t('swap.noHistory')) + "\n    ")]) : _c('div', {
    staticClass: "space-y-3"
  }, _vm._l(_vm.history, function (item, index) {
    return _c('div', {
      key: index,
      staticClass: "ne-swap-card p-4 rounded-2xl flex justify-between items-center"
    }, [_c('div', {
      staticClass: "flex items-center"
    }, [_c('div', {
      staticClass: "mr-3 ne-swap-pill p-2 rounded-full"
    }, [_c('img', {
      staticClass: "w-5 h-5",
      attrs: {
        "src": item.coin_type_in == 6 ? '/images/USDT.png' : '/images/logo.png'
      }
    })]), _vm._v(" "), _c('div', [_c('div', {
      staticClass: "text-sm font-medium"
    }, [_vm._v("\n              " + _vm._s(item.coin_type_in == 6 ? 'USDT' : 'NE') + " → " + _vm._s(item.coin_type_out == 1 ? 'NE' : 'USDT') + "\n            ")]), _vm._v(" "), _c('div', {
      staticClass: "text-xs ne-swap-muted"
    }, [_vm._v(_vm._s(_vm.formatDate(item.created_at)))])])]), _vm._v(" "), _c('div', {
      staticClass: "text-right"
    }, [_c('div', {
      staticClass: "text-sm font-bold",
      staticStyle: {
        "color": "var(--ne-accent)"
      }
    }, [_vm._v("\n            +" + _vm._s(item.coin_amount_out) + " " + _vm._s(item.coin_type_out == 1 ? 'NE' : 'USDT') + "\n          ")]), _vm._v(" "), _c('div', {
      staticClass: "text-xs ne-swap-muted"
    }, [_vm._v("\n            -" + _vm._s(item.coin_amount_in) + " " + _vm._s(item.coin_type_in == 6 ? 'USDT' : 'NE') + "\n          ")])])]);
  }), 0)])], 1);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./resources/js/views/pages/swap/Swap.vue?vue&type=template&id=c1230ae2&scoped=true

// EXTERNAL MODULE: ./node_modules/axios/index.js
var axios = __webpack_require__("vDqi");
var axios_default = /*#__PURE__*/__webpack_require__.n(axios);

// EXTERNAL MODULE: ./resources/js/mixins/i18nMixin.js + 1 modules
var i18nMixin = __webpack_require__("2A9R");

// EXTERNAL MODULE: ./resources/js/mixins/securityPinMixin.js + 5 modules
var securityPinMixin = __webpack_require__("f3K4");

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/swap/Swap.vue?vue&type=script&lang=js
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }



/* harmony default export */ var Swapvue_type_script_lang_js = ({
  mixins: [i18nMixin["a" /* default */], securityPinMixin["a" /* default */]],
  data: function data() {
    return {
      payAmount: 0,
      currentRate: 1,
      feeRate: 0,
      minSwap: 0,
      maxSwap: 0,
      swapEnabled: true,
      fromCoin: {
        symbol: 'USDT',
        balance: 0,
        icon: '/images/USDT.png',
        idx: 6
      },
      toCoin: {
        symbol: 'NE',
        balance: 0,
        icon: '/images/logo.png',
        idx: 1
      },
      history: [] // 히스토리 데이터 배열
    };
  },
  computed: {
    isSwapValid: function isSwapValid() {
      if (!this.swapEnabled) {
        return false;
      }
      var amount = parseFloat(this.payAmount);
      return amount >= this.minSwap && amount <= this.fromCoin.balance && amount <= this.maxSwap && amount > 0;
    },
    receiveAmount: function receiveAmount() {
      var amount = parseFloat(this.payAmount);
      if (!amount || this.currentRate === 0) return 0;
      var result = this.fromCoin.symbol === 'USDT' ? amount / this.currentRate : amount * this.currentRate;
      return result.toFixed(2);
    },
    feeAmount: function feeAmount() {
      var amount = parseFloat(this.payAmount);
      if (!amount) return "0.0000";
      return (amount * this.feeRate).toFixed(4);
    },
    swapButtonText: function swapButtonText() {
      if (!this.swapEnabled) {
        return this.$t('swap.paused');
      }
      var amount = parseFloat(this.payAmount);
      if (!amount || amount <= 0) return this.$t('swap.enterAmount');
      if (amount < this.minSwap) return this.$t('swap.minAmount', {
        min: this.minSwap,
        symbol: this.fromCoin.symbol
      });
      if (amount > this.maxSwap) return this.$t('swap.maxAmount', {
        max: this.maxSwap,
        symbol: this.fromCoin.symbol
      });
      if (amount > this.fromCoin.balance) return this.$t('swap.insufficientBalance');
      return this.$t('swap.submit');
    }
  },
  methods: {
    switchCoins: function switchCoins() {
      if (!this.swapEnabled) return;
      var temp = _objectSpread({}, this.fromCoin);
      this.fromCoin = _objectSpread({}, this.toCoin);
      this.toCoin = temp;
      this.payAmount = 0;
    },
    loadSettings: function loadSettings() {
      var _this = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
        var config, res, data, neAvailable, usdtAvailable, _t;
        return _regenerator().w(function (_context) {
          while (1) switch (_context.p = _context.n) {
            case 0:
              _context.p = 0;
              config = _this.$store.getters.axiosconfig;
              _context.n = 1;
              return axios_default.a.post('/api/swap-settings', {}, config);
            case 1:
              res = _context.v;
              if (res.data && res.data.balances) {
                data = res.data;
                _this.swapEnabled = data.enabled !== false;
                _this.currentRate = parseFloat(data.rate) || 1;
                _this.feeRate = (parseFloat(data.fee_percent) || 0) / 100;
                _this.minSwap = parseFloat(data.min) || 0;
                _this.maxSwap = parseFloat(data.max) || 0;
                neAvailable = parseFloat(data.balances.ne_available) || 0;
                usdtAvailable = parseFloat(data.balances.usdt_available) || 0;
                if (_this.fromCoin.symbol === 'USDT') {
                  _this.fromCoin.balance = usdtAvailable;
                  _this.toCoin.balance = neAvailable;
                } else {
                  _this.fromCoin.balance = neAvailable;
                  _this.toCoin.balance = usdtAvailable;
                }
              }
              _context.n = 3;
              break;
            case 2:
              _context.p = 2;
              _t = _context.v;
              console.error("설정 로드 실패", _t);
            case 3:
              return _context.a(2);
          }
        }, _callee, null, [[0, 2]]);
      }))();
    },
    loadHistory: function loadHistory() {
      var _this2 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
        var token, vuexData, _parsed$user, parsed, res, _e$response, _t2;
        return _regenerator().w(function (_context2) {
          while (1) switch (_context2.p = _context2.n) {
            case 0:
              _context2.p = 0;
              token = null; // 1. Vuex 스토어에서 직접 시도
              if (_this2.$store.state.user && _this2.$store.state.user.api_token) {
                token = _this2.$store.state.user.api_token;
              }

              // 2. 스토어에 없다면 localStorage의 'vuex' 키를 파싱해서 시도
              if (!token) {
                vuexData = localStorage.getItem('vuex');
                if (vuexData) {
                  parsed = JSON.parse(vuexData);
                  token = (_parsed$user = parsed.user) === null || _parsed$user === void 0 ? void 0 : _parsed$user.api_token;
                }
              }
              console.log("획득한 토큰:", token); // 이제 정상적으로 토큰 값이 찍힐 것입니다.
              if (token) {
                _context2.n = 1;
                break;
              }
              console.error("인증 토큰을 찾을 수 없습니다. 다시 로그인해 주세요.");
              return _context2.a(2);
            case 1:
              _context2.n = 2;
              return axios_default.a.post('/api/swap-history', {}, {
                headers: {
                  'Authorization': "Bearer ".concat(token),
                  'Accept': 'application/json'
                }
              });
            case 2:
              res = _context2.v;
              if (res.data && res.data.list) {
                _this2.history = res.data.list;
                console.log("히스토리 로드 성공:", _this2.history.length, "건");
              }
              _context2.n = 4;
              break;
            case 3:
              _context2.p = 3;
              _t2 = _context2.v;
              console.error("히스토리 로드 에러:", ((_e$response = _t2.response) === null || _e$response === void 0 ? void 0 : _e$response.data) || _t2.message);
            case 4:
              return _context2.a(2);
          }
        }, _callee2, null, [[0, 3]]);
      }))();
    },
    formatDate: function formatDate(dateString) {
      if (!dateString) return '';
      var date = new Date(dateString);
      return "".concat(date.getMonth() + 1, "/").concat(date.getDate(), " ").concat(date.getHours(), ":").concat(String(date.getMinutes()).padStart(2, '0'));
    },
    confirmSwap: function confirmSwap() {
      var _this3 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
        var pinOk, formData, config, res, _e$response2, _e$response3, _t3;
        return _regenerator().w(function (_context3) {
          while (1) switch (_context3.p = _context3.n) {
            case 0:
              if (_this3.swapEnabled) {
                _context3.n = 1;
                break;
              }
              alert(_this3.$t('swap.pausedMessage'));
              return _context3.a(2);
            case 1:
              if (_this3.isSwapValid) {
                _context3.n = 2;
                break;
              }
              return _context3.a(2);
            case 2:
              if (confirm(_this3.$t('swap.confirm', {
                amount: _this3.payAmount,
                symbol: _this3.fromCoin.symbol
              }))) {
                _context3.n = 3;
                break;
              }
              return _context3.a(2);
            case 3:
              _context3.n = 4;
              return _this3.requireSecurityPin({
                title: _this3.$t('pin.swapTitle'),
                description: _this3.$t('pin.swapDescription')
              });
            case 4:
              pinOk = _context3.v;
              if (pinOk) {
                _context3.n = 5;
                break;
              }
              return _context3.a(2);
            case 5:
              _context3.p = 5;
              formData = {
                from_coin: _this3.fromCoin.idx,
                to_coin: _this3.toCoin.idx,
                amount: _this3.payAmount
              };
              config = _this3.$store.getters.axiosconfig;
              console.log('execute-swap config:', config);
              console.log('execute-swap payload:', formData);
              _context3.n = 6;
              return axios_default.a.post('/api/execute-swap', formData, config);
            case 6:
              res = _context3.v;
              console.log('execute-swap response:', res.data);
              if (!(res.data.success || res.data.res === 0)) {
                _context3.n = 9;
                break;
              }
              alert(_this3.$t('swap.success'));
              _this3.payAmount = 0;
              _context3.n = 7;
              return _this3.loadSettings();
            case 7:
              _context3.n = 8;
              return _this3.loadHistory();
            case 8:
              _context3.n = 10;
              break;
            case 9:
              alert(_this3.$apiMessage(res.data, 'common.failed'));
            case 10:
              _context3.n = 12;
              break;
            case 11:
              _context3.p = 11;
              _t3 = _context3.v;
              console.error('execute-swap error full:', _t3);
              console.error('execute-swap error response:', (_e$response2 = _t3.response) === null || _e$response2 === void 0 ? void 0 : _e$response2.data);
              alert(_this3.$apiMessage((_e$response3 = _t3.response) === null || _e$response3 === void 0 ? void 0 : _e$response3.data, 'swap.error'));
            case 12:
              return _context3.a(2);
          }
        }, _callee3, null, [[5, 11]]);
      }))();
    }
  },
  mounted: function mounted() {
    this.loadSettings();
    this.loadHistory();
  }
});
// CONCATENATED MODULE: ./resources/js/views/pages/swap/Swap.vue?vue&type=script&lang=js
 /* harmony default export */ var swap_Swapvue_type_script_lang_js = (Swapvue_type_script_lang_js);
// EXTERNAL MODULE: ./resources/js/views/pages/swap/Swap.vue?vue&type=style&index=0&id=c1230ae2&prod&scoped=true&lang=css
var Swapvue_type_style_index_0_id_c1230ae2_prod_scoped_true_lang_css = __webpack_require__("MNOg");

// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("KHd+");

// CONCATENATED MODULE: ./resources/js/views/pages/swap/Swap.vue






/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  swap_Swapvue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  null,
  "c1230ae2",
  null

)

/* harmony default export */ var Swap = __webpack_exports__["default"] = (component.exports);// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/P2PExchangePage.vue?vue&type=template&id=07d181cf&scoped=true
var render = function render() {
  var _vm = this,
    _c = _vm._self._c;
  return _c('div', {
    staticClass: "ne-p2p-exchange ne-subpage"
  }, [_c('header', {
    staticClass: "ne-p2p-exchange__header"
  }, [_c('button', {
    staticClass: "ne-p2p-exchange__back",
    attrs: {
      "type": "button"
    },
    on: {
      "click": function click($event) {
        return _vm.$router.push('/');
      }
    }
  }, [_c('img', {
    staticClass: "w-6 h-6",
    attrs: {
      "src": "/icons/back.svg",
      "alt": ""
    }
  })]), _vm._v(" "), _c('h1', {
    staticClass: "ne-p2p-exchange__title"
  }, [_vm._v(_vm._s(_vm.$t('p2p.title')))]), _vm._v(" "), _vm.market.dry_run ? _c('span', {
    staticClass: "ne-p2p-exchange__badge"
  }, [_vm._v("DRY-RUN")]) : _vm._e()]), _vm._v(" "), _vm.loadError ? _c('div', {
    staticClass: "ne-p2p-exchange__error px-5 py-8"
  }, [_c('p', [_vm._v(_vm._s(_vm.loadError))])]) : [_vm.disabledNotice ? _c('div', {
    staticClass: "ne-p2p-exchange__notice px-5 py-3"
  }, [_vm._v("\n            " + _vm._s(_vm.disabledNotice) + "\n        ")]) : _vm._e(), _vm._v(" "), _c('section', {
    staticClass: "ne-p2p-exchange__ticker px-5 py-3"
  }, [_c('div', {
    staticClass: "ne-p2p-exchange__pair-tabs"
  }, _vm._l(_vm.marketTabs, function (item) {
    return _c('button', {
      key: item.pair,
      staticClass: "ne-p2p-exchange__pair-tab",
      "class": {
        'is-active': _vm.selectedPair === item.pair
      },
      attrs: {
        "type": "button"
      },
      on: {
        "click": function click($event) {
          return _vm.selectMarket(item.pair);
        }
      }
    }, [_vm._v("\n                    " + _vm._s(item.pair_label) + "\n                ")]);
  }), 0), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__price-row"
  }, [_c('div', {
    staticClass: "ne-p2p-exchange__price-main"
  }, [_c('p', {
    staticClass: "ne-p2p-exchange__price-label"
  }, [_vm._v(_vm._s(_vm.$t('p2p.currentPrice')))]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__price"
  }, [_vm._v(_vm._s(_vm.formatPrice(_vm.market.last_price_usdt)))]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__unit"
  }, [_vm._v("USDT / " + _vm._s(_vm.baseSymbol))]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__change",
    "class": _vm.changeClass
  }, [_vm._v("\n                        " + _vm._s(_vm.formatChange(_vm.market.change_pct)) + "\n                    ")])]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__stats"
  }, [_c('p', [_vm._v(_vm._s(_vm.$t('p2p.high', {
    price: _vm.formatPrice(_vm.market.high_24h)
  })))]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.$t('p2p.low', {
    price: _vm.formatPrice(_vm.market.low_24h)
  })))]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.$t('p2p.volume', {
    amount: _vm.formatAmount(_vm.market.volume_ne_24h),
    symbol: _vm.baseSymbol
  })))])])])]), _vm._v(" "), _c('section', {
    staticClass: "ne-p2p-exchange__main"
  }, [_c('div', {
    staticClass: "ne-p2p-exchange__book"
  }, [_c('p', {
    staticClass: "ne-p2p-exchange__book-title"
  }, [_vm._v(_vm._s(_vm.$t('p2p.orderBook')))]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__book-head"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.priceUsdt')))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.qtyNe', {
    symbol: _vm.baseSymbol
  })))])]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__book-side-label ne-p2p-exchange__book-side-label--ask"
  }, [_vm._v(_vm._s(_vm.$t('p2p.asks')))]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__asks"
  }, _vm._l(_vm.displayAsks, function (row, idx) {
    return _c('div', {
      key: 'a' + idx,
      staticClass: "ne-p2p-exchange__book-row ne-p2p-exchange__book-row--ask",
      on: {
        "click": function click($event) {
          return _vm.fillPrice(row.price_usdt);
        }
      }
    }, [_c('span', [_vm._v(_vm._s(_vm.formatPrice(row.price_usdt)))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.formatAmount(row.amount_ne)))])]);
  }), 0), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__mid"
  }, [_vm._v("\n                    " + _vm._s(_vm.formatPrice(_vm.market.last_price_usdt)) + "\n                ")]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__book-side-label ne-p2p-exchange__book-side-label--bid"
  }, [_vm._v(_vm._s(_vm.$t('p2p.bids')))]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__bids"
  }, _vm._l(_vm.displayBids, function (row, idx) {
    return _c('div', {
      key: 'b' + idx,
      staticClass: "ne-p2p-exchange__book-row ne-p2p-exchange__book-row--bid",
      on: {
        "click": function click($event) {
          return _vm.fillPrice(row.price_usdt);
        }
      }
    }, [_c('span', [_vm._v(_vm._s(_vm.formatPrice(row.price_usdt)))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.formatAmount(row.amount_ne)))])]);
  }), 0)]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__panel"
  }, [_c('p', {
    staticClass: "ne-p2p-exchange__panel-title"
  }, [_vm._v(_vm._s(_vm.$t('p2p.orderPanel')))]), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__side-toggle"
  }, [_c('button', {
    "class": {
      'is-active': _vm.orderSide === 'buy'
    },
    attrs: {
      "type": "button",
      "aria-pressed": _vm.orderSide === 'buy'
    },
    on: {
      "click": function click($event) {
        _vm.orderSide = 'buy';
      }
    }
  }, [_vm._v("\n                        " + _vm._s(_vm.$t('p2p.buy')) + "\n                    ")]), _vm._v(" "), _c('button', {
    "class": {
      'is-active is-sell': _vm.orderSide === 'sell'
    },
    attrs: {
      "type": "button",
      "aria-pressed": _vm.orderSide === 'sell'
    },
    on: {
      "click": function click($event) {
        _vm.orderSide = 'sell';
      }
    }
  }, [_vm._v("\n                        " + _vm._s(_vm.$t('p2p.sell')) + "\n                    ")])]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__intent"
  }, [_vm._v("\n                    " + _vm._s(_vm.orderSide === 'buy' ? _vm.$t('p2p.buy') + ' / ' + _vm.$t('p2p.buyOrderName') : _vm.$t('p2p.sell') + ' / ' + _vm.$t('p2p.sellOrderName')) + "\n                ")]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__intent-detail"
  }, [_vm._v(_vm._s(_vm.orderIntentLabel))]), _vm._v(" "), _c('label', {
    staticClass: "ne-p2p-exchange__field"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.price')))]), _vm._v(" "), _c('input', {
    directives: [{
      name: "model",
      rawName: "v-model",
      value: _vm.orderPrice,
      expression: "orderPrice"
    }],
    attrs: {
      "type": "text",
      "inputmode": "decimal",
      "placeholder": "0.000"
    },
    domProps: {
      "value": _vm.orderPrice
    },
    on: {
      "input": function input($event) {
        if ($event.target.composing) return;
        _vm.orderPrice = $event.target.value;
      }
    }
  })]), _vm._v(" "), _c('label', {
    staticClass: "ne-p2p-exchange__field"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.quantity', {
    symbol: _vm.baseSymbol
  })))]), _vm._v(" "), _c('input', {
    directives: [{
      name: "model",
      rawName: "v-model",
      value: _vm.orderAmount,
      expression: "orderAmount"
    }],
    attrs: {
      "type": "number",
      "inputmode": "numeric",
      "min": "100",
      "step": "100",
      "placeholder": "100"
    },
    domProps: {
      "value": _vm.orderAmount
    },
    on: {
      "input": function input($event) {
        if ($event.target.composing) return;
        _vm.orderAmount = $event.target.value;
      }
    }
  })]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__lot-hint"
  }, [_vm._v(_vm._s(_vm.$t('p2p.lotSizeHint', {
    size: _vm.amountLotSize,
    symbol: _vm.baseSymbol
  })))]), _vm._v(" "), _vm.orderAmountInvalid ? _c('p', {
    staticClass: "ne-p2p-exchange__lot-error"
  }, [_vm._v(_vm._s(_vm.$t('p2p.lotSizeInvalid', {
    size: _vm.amountLotSize,
    symbol: _vm.baseSymbol
  })))]) : _vm._e(), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__pct-row"
  }, _vm._l([25, 50, 75, 100], function (pct) {
    return _c('button', {
      key: pct,
      attrs: {
        "type": "button"
      },
      on: {
        "click": function click($event) {
          return _vm.applyPercent(pct);
        }
      }
    }, [_vm._v("\n                        " + _vm._s(pct) + "%\n                    ")]);
  }), 0), _vm._v(" "), _c('div', {
    staticClass: "ne-p2p-exchange__total"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.total')))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.formatPrice(_vm.orderTotal)) + " USDT")])]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__avail"
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('p2p.available')) + "\n                    " + _vm._s(_vm.orderSide === 'buy' ? _vm.formatAmount(_vm.balances.usdt_available) + ' USDT' : _vm.formatAmount(_vm.baseAvailable) + ' ' + _vm.baseSymbol) + "\n                ")]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__confirm-copy"
  }, [_vm._v(_vm._s(_vm.orderConfirmLabel))]), _vm._v(" "), _c('button', {
    staticClass: "ne-p2p-exchange__submit",
    "class": _vm.orderSide === 'sell' ? 'is-sell' : '',
    attrs: {
      "type": "button",
      "disabled": _vm.submitting || !_vm.tradingEnabled || _vm.orderAmountInvalid || !_vm.orderAmountReady
    },
    on: {
      "click": _vm.submitOrder
    }
  }, [_vm._v("\n                    " + _vm._s(_vm.orderSubmitLabel) + "\n                ")])])]), _vm._v(" "), _c('section', {
    staticClass: "ne-p2p-exchange__bottom px-5 pb-8"
  }, [_c('div', {
    staticClass: "ne-p2p-exchange__tabs"
  }, [_c('button', {
    "class": {
      'is-active': _vm.bottomTab === 'sellers'
    },
    attrs: {
      "type": "button"
    },
    on: {
      "click": function click($event) {
        _vm.bottomTab = 'sellers';
      }
    }
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('p2p.activeOrders')) + "\n                ")]), _vm._v(" "), _c('button', {
    "class": {
      'is-active': _vm.bottomTab === 'orders'
    },
    attrs: {
      "type": "button"
    },
    on: {
      "click": function click($event) {
        _vm.bottomTab = 'orders';
      }
    }
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('p2p.myOrders')) + "\n                ")]), _vm._v(" "), _c('button', {
    "class": {
      'is-active': _vm.bottomTab === 'trades'
    },
    attrs: {
      "type": "button"
    },
    on: {
      "click": function click($event) {
        _vm.bottomTab = 'trades';
      }
    }
  }, [_vm._v("\n                    " + _vm._s(_vm.$t('p2p.trades')) + "\n                ")])]), _vm._v(" "), _vm.bottomTab === 'sellers' ? _c('div', {
    staticClass: "ne-p2p-exchange__list"
  }, [!_vm.sellers.length ? _c('p', {
    staticClass: "ne-p2p-exchange__empty"
  }, [_vm._v(_vm._s(_vm.$t('p2p.noActiveOrders')))]) : _vm._e(), _vm._v(" "), _vm._l(_vm.sellers, function (item) {
    return _c('article', {
      key: item.order_id,
      staticClass: "ne-p2p-exchange__seller-card",
      attrs: {
        "role": "button",
        "tabindex": "0"
      },
      on: {
        "click": function click($event) {
          return _vm.openOrderDetail(item.order_id);
        },
        "keydown": function keydown($event) {
          if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
          return _vm.openOrderDetail(item.order_id);
        }
      }
    }, [_c('div', {
      staticClass: "ne-p2p-exchange__seller-top"
    }, [_c('span', {
      staticClass: "ne-p2p-exchange__side-badge",
      "class": item.side === 'buy' ? 'is-buy' : 'is-sell'
    }, [_vm._v("\n                            " + _vm._s(_vm.orderSideBadge(item.side)) + "\n                        ")]), _vm._v(" "), _c('span', {
      staticClass: "ne-p2p-exchange__seller-price"
    }, [_vm._v(_vm._s(_vm.formatPrice(item.price_usdt)) + " USDT")])]), _vm._v(" "), _c('p', {
      staticClass: "ne-p2p-exchange__seller-qty"
    }, [_vm._v(_vm._s(_vm.orderSideIntent(item.side)))]), _vm._v(" "), _c('p', {
      staticClass: "ne-p2p-exchange__seller-qty"
    }, [_vm._v(_vm._s(item.pair_label) + " · " + _vm._s(_vm.sellerDisplay(item)))]), _vm._v(" "), _c('p', {
      staticClass: "ne-p2p-exchange__seller-qty"
    }, [_vm._v("\n                        " + _vm._s(_vm.$t('p2p.remaining')) + " " + _vm._s(_vm.formatAmount(item.remaining_ne)) + " " + _vm._s(_vm.baseSymbol) + "\n                        · " + _vm._s(_vm.$t('p2p.total')) + " " + _vm._s(_vm.formatPrice(item.total_usdt)) + " USDT\n                    ")]), _vm._v(" "), _c('p', {
      staticClass: "ne-p2p-exchange__seller-qty"
    }, [_vm._v(_vm._s(_vm.formatDateTime(item.created_at)))])]);
  })], 2) : _vm.bottomTab === 'orders' ? _c('div', {
    staticClass: "ne-p2p-exchange__list"
  }, [!_vm.myOrders.length ? _c('p', {
    staticClass: "ne-p2p-exchange__empty"
  }, [_vm._v(_vm._s(_vm.$t('p2p.noOrders')))]) : _vm._e(), _vm._v(" "), _vm._l(_vm.myOrders, function (order) {
    return _c('article', {
      key: order.id,
      staticClass: "ne-p2p-exchange__order-card",
      attrs: {
        "role": "button",
        "tabindex": "0"
      },
      on: {
        "click": function click($event) {
          return _vm.openOrderDetail(order.id);
        },
        "keydown": function keydown($event) {
          if (!$event.type.indexOf('key') && _vm._k($event.keyCode, "enter", 13, $event.key, "Enter")) return null;
          return _vm.openOrderDetail(order.id);
        }
      }
    }, [_c('div', {
      staticClass: "ne-p2p-exchange__order-top"
    }, [_c('span', {
      staticClass: "ne-p2p-exchange__side-badge",
      "class": order.side === 'buy' ? 'is-buy' : 'is-sell'
    }, [_vm._v("\n                            " + _vm._s(_vm.orderSideBadge(order.side)) + "\n                        ")]), _vm._v(" "), _c('span', [_vm._v(_vm._s(order.status))])]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.orderSideIntent(order.side)))]), _vm._v(" "), _c('p', [_vm._v(_vm._s(order.pair_label) + " · " + _vm._s(_vm.formatPrice(order.price_usdt)) + " USDT")]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.$t('p2p.remaining')) + " " + _vm._s(_vm.formatAmount(order.remaining_ne)) + " / " + _vm._s(_vm.formatAmount(order.amount_ne)) + " " + _vm._s(_vm.baseSymbol))]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.$t('p2p.total')) + " " + _vm._s(_vm.formatPrice(Number(order.price_usdt) * Number(order.remaining_ne))) + " USDT")]), _vm._v(" "), _c('p', [_vm._v(_vm._s(_vm.formatDateTime(order.created_at)))]), _vm._v(" "), _vm.participantDisplay(order) ? _c('p', {
      staticClass: "ne-p2p-exchange__participant opacity-60"
    }, [_vm._v(_vm._s(_vm.participantDisplay(order)))]) : _vm._e(), _vm._v(" "), _vm.tradingEnabled && (order.status === 'open' || order.status === 'partial') ? _c('button', {
      staticClass: "ne-p2p-exchange__cancel",
      attrs: {
        "type": "button"
      },
      on: {
        "click": function click($event) {
          $event.stopPropagation();
          return _vm.cancelOrder(order.id);
        }
      }
    }, [_vm._v("\n                        " + _vm._s(_vm.$t('common.cancel')) + "\n                    ")]) : _vm._e()]);
  })], 2) : _c('div', {
    staticClass: "ne-p2p-exchange__list"
  }, [!_vm.trades.length ? _c('p', {
    staticClass: "ne-p2p-exchange__empty"
  }, [_vm._v(_vm._s(_vm.$t('p2p.noTrades')))]) : _vm._e(), _vm._v(" "), _vm._l(_vm.trades, function (trade) {
    return _c('article', {
      key: trade.id,
      staticClass: "ne-p2p-exchange__trade-card"
    }, [_c('div', {
      staticClass: "ne-p2p-exchange__trade-row"
    }, [_c('span', [_vm._v(_vm._s(_vm.formatPrice(trade.price_usdt)))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.formatAmount(trade.amount_ne)) + " " + _vm._s(_vm.baseSymbol))]), _vm._v(" "), _c('span', {
      staticClass: "opacity-60"
    }, [_vm._v(_vm._s(_vm.formatDateTime(trade.created_at)))])]), _vm._v(" "), _c('p', {
      staticClass: "ne-p2p-exchange__trade-parties opacity-60"
    }, [_vm._v(_vm._s(_vm.tradeParties(trade)))])]);
  })], 2)])], _vm._v(" "), _vm.detailOpen ? _c('div', {
    staticClass: "ne-p2p-exchange__modal-backdrop",
    on: {
      "click": function click($event) {
        if ($event.target !== $event.currentTarget) return null;
        return _vm.closeOrderDetail.apply(null, arguments);
      }
    }
  }, [_c('section', {
    staticClass: "ne-p2p-exchange__modal",
    attrs: {
      "role": "dialog",
      "aria-modal": "true"
    }
  }, [_c('div', {
    staticClass: "ne-p2p-exchange__modal-head"
  }, [_c('h2', [_vm._v(_vm._s(_vm.$t('p2p.orderDetail')))]), _vm._v(" "), _c('button', {
    attrs: {
      "type": "button"
    },
    on: {
      "click": _vm.closeOrderDetail
    }
  }, [_vm._v("×")])]), _vm._v(" "), _vm.detailLoading ? _c('p', {
    staticClass: "ne-p2p-exchange__empty"
  }, [_vm._v(_vm._s(_vm.$t('common.processing')))]) : _vm.detailOrder ? [_c('div', {
    staticClass: "ne-p2p-exchange__detail-grid"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.side')))]), _vm._v(" "), _c('strong', {
    staticClass: "ne-p2p-exchange__side-badge",
    "class": _vm.detailOrder.side === 'buy' ? 'is-buy' : 'is-sell'
  }, [_vm._v("\n                        " + _vm._s(_vm.orderSideBadge(_vm.detailOrder.side)) + "\n                    ")]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.direction')))]), _vm._v(" "), _c('strong', [_vm._v(_vm._s(_vm.orderSideIntent(_vm.detailOrder.side)))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.pair')))]), _c('strong', [_vm._v(_vm._s(_vm.detailOrder.pair_label))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.price')))]), _c('strong', [_vm._v(_vm._s(_vm.formatPrice(_vm.detailOrder.price_usdt)) + " USDT")]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.originalQuantity')))]), _c('strong', [_vm._v(_vm._s(_vm.formatAmount(_vm.detailOrder.amount_ne)) + " " + _vm._s(_vm.baseSymbol))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.remaining')))]), _c('strong', [_vm._v(_vm._s(_vm.formatAmount(_vm.detailOrder.remaining_ne)) + " " + _vm._s(_vm.baseSymbol))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.total')))]), _c('strong', [_vm._v(_vm._s(_vm.formatPrice(_vm.detailExpectedTotal)) + " USDT")]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.registeredAt')))]), _c('strong', [_vm._v(_vm._s(_vm.formatDateTime(_vm.detailOrder.created_at)))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.referralCode')))]), _c('strong', [_vm._v(_vm._s(_vm.detailParticipant.label || _vm.$t('p2p.unregistered')))]), _vm._v(" "), !_vm.detailParticipant.is_own_order ? [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.email')))]), _c('strong', [_vm._v(_vm._s(_vm.detailParticipant.masked_email))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.name')))]), _c('strong', [_vm._v(_vm._s(_vm.detailParticipant.masked_name))]), _vm._v(" "), _c('span', [_vm._v(_vm._s(_vm.$t('p2p.phone')))]), _c('strong', [_vm._v(_vm._s(_vm.detailParticipant.masked_phone))])] : _vm._e()], 2), _vm._v(" "), _vm.canDirectTrade ? [_c('label', {
    staticClass: "ne-p2p-exchange__field"
  }, [_c('span', [_vm._v(_vm._s(_vm.$t('p2p.directQuantity', {
    symbol: _vm.baseSymbol
  })))]), _vm._v(" "), _c('input', {
    directives: [{
      name: "model",
      rawName: "v-model",
      value: _vm.directAmount,
      expression: "directAmount"
    }],
    attrs: {
      "type": "number",
      "inputmode": "numeric",
      "step": _vm.amountLotSize,
      "min": _vm.amountLotSize
    },
    domProps: {
      "value": _vm.directAmount
    },
    on: {
      "input": function input($event) {
        if ($event.target.composing) return;
        _vm.directAmount = $event.target.value;
      }
    }
  })]), _vm._v(" "), _c('button', {
    staticClass: "ne-p2p-exchange__fill-all",
    attrs: {
      "type": "button"
    },
    on: {
      "click": _vm.fillDirectAll
    }
  }, [_vm._v(_vm._s(_vm.$t('p2p.fillAll')))]), _vm._v(" "), _c('p', {
    staticClass: "ne-p2p-exchange__direct-summary"
  }, [_vm._v("\n                        " + _vm._s(_vm.detailOrder.side === 'sell' ? _vm.$t('p2p.directBuy', {
    symbol: _vm.baseSymbol
  }) : _vm.$t('p2p.directSell', {
    symbol: _vm.baseSymbol
  })) + "\n                        · " + _vm._s(_vm.formatAmount(_vm.directAmount || 0)) + " " + _vm._s(_vm.baseSymbol) + "\n                        · " + _vm._s(_vm.formatPrice(_vm.directExpectedTotal)) + " USDT\n                    ")]), _vm._v(" "), _c('button', {
    staticClass: "ne-p2p-exchange__submit",
    "class": _vm.detailOrder.side === 'buy' ? 'is-sell' : '',
    attrs: {
      "type": "button",
      "disabled": _vm.directSubmitting || !_vm.directAmountValid
    },
    on: {
      "click": _vm.submitDirectTrade
    }
  }, [_vm._v("\n                        " + _vm._s(_vm.$t('p2p.confirmDirectTrade')) + "\n                    ")])] : _c('p', {
    staticClass: "ne-p2p-exchange__notice ne-p2p-exchange__modal-notice"
  }, [_vm._v(_vm._s(_vm.directDisabledReason))])] : _vm._e()], 2)]) : _vm._e(), _vm._v(" "), _c('SecurityPinGateModal', {
    ref: "securityPinGate"
  })], 2);
};
var staticRenderFns = [];

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/P2PExchangePage.vue?vue&type=template&id=07d181cf&scoped=true

// EXTERNAL MODULE: ./resources/js/mixins/i18nMixin.js + 1 modules
var i18nMixin = __webpack_require__("2A9R");

// EXTERNAL MODULE: ./resources/js/mixins/securityPinMixin.js + 5 modules
var securityPinMixin = __webpack_require__("f3K4");

// EXTERNAL MODULE: ./resources/js/utils/formatP2PNumber.js
var formatP2PNumber = __webpack_require__("aw4u");

// EXTERNAL MODULE: ./resources/js/utils/pinAuthSession.js
var pinAuthSession = __webpack_require__("Mfh6");

// CONCATENATED MODULE: ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/views/pages/newallet/P2PExchangePage.vue?vue&type=script&lang=js
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }




/* harmony default export */ var P2PExchangePagevue_type_script_lang_js = ({
  name: 'P2PExchangePage',
  mixins: [i18nMixin["a" /* default */], securityPinMixin["a" /* default */]],
  data: function data() {
    return {
      loadError: '',
      tradingEnabled: false,
      disabledReason: '',
      market: {
        last_price_usdt: '0',
        high_24h: '0',
        low_24h: '0',
        volume_ne_24h: '0',
        change_pct: '0',
        dry_run: false,
        trading_enabled: false,
        pair: 'NE_USDT',
        pair_label: 'NE/USDT',
        base_symbol: 'NE'
      },
      selectedPair: 'NE_USDT',
      markets: [{
        pair: 'NE_USDT',
        pair_label: 'NE/USDT'
      }, {
        pair: 'NEDC_USDT',
        pair_label: 'NEDC/USDT'
      }],
      balances: {
        ne_available: '0',
        nedc_available: '0',
        usdt_available: '0',
        base_available: '0'
      },
      asks: [],
      bids: [],
      sellers: [],
      myOrders: [],
      trades: [],
      orderSide: 'buy',
      orderPrice: '',
      orderAmount: '',
      amountLotSize: 100,
      submitting: false,
      cancelling: false,
      bottomTab: 'sellers',
      pollTimer: null,
      detailOpen: false,
      detailLoading: false,
      detailOrder: null,
      detailParticipant: {},
      directAmount: '',
      directSubmitting: false
    };
  },
  computed: {
    displayAsks: function displayAsks() {
      return _toConsumableArray(this.asks).reverse().slice(0, 8);
    },
    displayBids: function displayBids() {
      return this.bids.slice(0, 8);
    },
    orderTotal: function orderTotal() {
      var p = parseFloat(this.orderPrice) || 0;
      var a = parseFloat(this.orderAmount) || 0;
      return Object(formatP2PNumber["a" /* formatP2PNumber */])(p * a);
    },
    orderAmountReady: function orderAmountReady() {
      var amount = parseFloat(this.orderAmount);
      var price = parseFloat(this.orderPrice);
      return price > 0 && amount > 0;
    },
    orderAmountInvalid: function orderAmountInvalid() {
      var raw = String(this.orderAmount || '').trim();
      if (raw === '') {
        return false;
      }
      var amount = Number(raw);
      if (!Number.isFinite(amount) || amount <= 0) {
        return true;
      }
      var lot = this.amountLotSize || 100;
      // Integer multiple of lot (avoid float remainder drift via scaled integers).
      var scaled = Math.round(amount * 1e8);
      var lotScaled = Math.round(lot * 1e8);
      return scaled % lotScaled !== 0;
    },
    changeClass: function changeClass() {
      var v = parseFloat(this.market.change_pct) || 0;
      if (v > 0) {
        return 'is-up';
      }
      if (v < 0) {
        return 'is-down';
      }
      return '';
    },
    disabledNotice: function disabledNotice() {
      if (this.tradingEnabled) {
        return '';
      }
      return this.disabledReason || this.$t('p2p.disabled');
    },
    orderSubmitLabel: function orderSubmitLabel() {
      if (!this.tradingEnabled) {
        return this.$t('p2p.tradingOff');
      }
      if (this.submitting) {
        return this.$t('common.processing');
      }
      return this.orderSide === 'buy' ? this.$t('p2p.buyOrder') : this.$t('p2p.sellOrder');
    },
    orderIntentLabel: function orderIntentLabel() {
      return this.orderSideIntent(this.orderSide);
    },
    orderConfirmLabel: function orderConfirmLabel() {
      var key = this.orderSide === 'buy' ? 'p2p.submitConfirmBuy' : 'p2p.submitConfirmSell';
      return this.$t(key, {
        symbol: this.baseSymbol,
        amount: this.orderAmount || '0',
        price: this.orderPrice || '0'
      });
    },
    marketTabs: function marketTabs() {
      return this.markets.length ? this.markets : [{
        pair: 'NE_USDT',
        pair_label: 'NE/USDT'
      }, {
        pair: 'NEDC_USDT',
        pair_label: 'NEDC/USDT'
      }];
    },
    baseSymbol: function baseSymbol() {
      return this.market.base_symbol || (this.selectedPair === 'NE_USDT' ? 'NE' : 'NEDC');
    },
    baseAvailable: function baseAvailable() {
      if (this.balances.base_available != null && this.balances.base_available !== '') {
        return this.balances.base_available;
      }
      return this.selectedPair === 'NE_USDT' ? this.balances.ne_available : this.balances.nedc_available;
    },
    detailExpectedTotal: function detailExpectedTotal() {
      if (!this.detailOrder) {
        return '0';
      }
      return Object(formatP2PNumber["a" /* formatP2PNumber */])(Number(this.detailOrder.price_usdt) * Number(this.detailOrder.remaining_ne));
    },
    directExpectedTotal: function directExpectedTotal() {
      if (!this.detailOrder) {
        return '0';
      }
      return Object(formatP2PNumber["a" /* formatP2PNumber */])(Number(this.detailOrder.price_usdt) * Number(this.directAmount || 0));
    },
    canDirectTrade: function canDirectTrade() {
      return Boolean(this.tradingEnabled && this.detailOrder && !this.detailParticipant.is_own_order && (this.detailOrder.status === 'open' || this.detailOrder.status === 'partial') && Number(this.detailOrder.remaining_ne) > 0);
    },
    directAmountValid: function directAmountValid() {
      var amount = Number(this.directAmount);
      var remaining = Number(this.detailOrder && this.detailOrder.remaining_ne);
      var lot = Number(this.amountLotSize || 100);
      if (!(amount > 0) || !(remaining > 0) || amount > remaining) {
        return false;
      }
      return Math.round(amount * 1e8) % Math.round(lot * 1e8) === 0;
    },
    directDisabledReason: function directDisabledReason() {
      if (this.detailParticipant.is_own_order) {
        return this.$t('p2p.ownOrder');
      }
      return this.$t('p2p.orderUnavailable');
    }
  },
  mounted: function mounted() {
    var _this = this;
    return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
      return _regenerator().w(function (_context) {
        while (1) switch (_context.n) {
          case 0:
            if (_this.$store.state.user.logined) {
              _context.n = 1;
              break;
            }
            _this.$router.replace('/login');
            return _context.a(2);
          case 1:
            _context.n = 2;
            return _this.refreshAll();
          case 2:
            _this.pollTimer = setInterval(function () {
              return _this.refreshAll();
            }, 8000);
          case 3:
            return _context.a(2);
        }
      }, _callee);
    }))();
  },
  beforeDestroy: function beforeDestroy() {
    if (this.pollTimer) {
      clearInterval(this.pollTimer);
    }
  },
  methods: {
    orderSideBadge: function orderSideBadge(side) {
      return side === 'buy' ? 'BUY · ' + this.$t('p2p.buyOrderName') : 'SELL · ' + this.$t('p2p.sellOrderName');
    },
    orderSideIntent: function orderSideIntent(side) {
      var key = side === 'buy' ? 'p2p.buyIntent' : 'p2p.sellIntent';
      return this.$t(key, {
        symbol: this.baseSymbol
      });
    },
    axiosConfig: function axiosConfig() {
      return this.$store.getters.axiosconfig;
    },
    pairPayload: function pairPayload() {
      return {
        pair: this.selectedPair
      };
    },
    selectMarket: function selectMarket(pair) {
      if (pair === this.selectedPair) {
        return;
      }
      this.selectedPair = pair;
      this.asks = [];
      this.bids = [];
      this.sellers = [];
      this.myOrders = [];
      this.trades = [];
      this.orderPrice = '';
      this.orderAmount = '';
      this.refreshAll();
    },
    refreshAll: function refreshAll() {
      var _this2 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2() {
        var _bookRes$data$data, _bookRes$data$data2, cfg, pair, _yield$Promise$all, _yield$Promise$all2, marketRes, bookRes, sellersRes, ordersRes, tradesRes, md, _t;
        return _regenerator().w(function (_context2) {
          while (1) switch (_context2.p = _context2.n) {
            case 0:
              _context2.p = 0;
              cfg = _this2.axiosConfig();
              pair = _this2.pairPayload();
              _context2.n = 1;
              return Promise.all([axios.post('/api/p2p/market', pair, cfg), axios.post('/api/p2p/orderbook', _objectSpread(_objectSpread({}, pair), {}, {
                depth: 12
              }), cfg)["catch"](function () {
                return {
                  data: {
                    res: 0,
                    data: {}
                  }
                };
              }), axios.post('/api/p2p/orders/active', _objectSpread(_objectSpread({}, pair), {}, {
                limit: 40
              }), cfg)["catch"](function () {
                return {
                  data: {
                    res: 0,
                    data: []
                  }
                };
              }), axios.post('/api/p2p/my-orders', pair, cfg)["catch"](function () {
                return {
                  data: {
                    res: 0,
                    data: []
                  }
                };
              }), axios.post('/api/p2p/trades', _objectSpread(_objectSpread({}, pair), {}, {
                limit: 30
              }), cfg)["catch"](function () {
                return {
                  data: {
                    res: 0,
                    data: []
                  }
                };
              })]);
            case 1:
              _yield$Promise$all = _context2.v;
              _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 5);
              marketRes = _yield$Promise$all2[0];
              bookRes = _yield$Promise$all2[1];
              sellersRes = _yield$Promise$all2[2];
              ordersRes = _yield$Promise$all2[3];
              tradesRes = _yield$Promise$all2[4];
              if (!(marketRes.data.res !== 0)) {
                _context2.n = 2;
                break;
              }
              _this2.loadError = _this2.$t('p2p.loadFailed');
              return _context2.a(2);
            case 2:
              _this2.loadError = '';
              md = marketRes.data.data || {};
              if (Array.isArray(md.markets) && md.markets.length) {
                _this2.markets = md.markets;
              }
              if (!(md.pair && md.pair !== _this2.selectedPair)) {
                _context2.n = 3;
                break;
              }
              return _context2.a(2);
            case 3:
              _this2.market = md;
              _this2.tradingEnabled = md.trading_enabled === true;
              _this2.disabledReason = md.disabled_reason || '';
              _this2.balances = md.balances || _this2.balances;
              _this2.asks = ((_bookRes$data$data = bookRes.data.data) === null || _bookRes$data$data === void 0 ? void 0 : _bookRes$data$data.asks) || [];
              _this2.bids = ((_bookRes$data$data2 = bookRes.data.data) === null || _bookRes$data$data2 === void 0 ? void 0 : _bookRes$data$data2.bids) || [];
              _this2.sellers = sellersRes.data.data || [];
              _this2.myOrders = ordersRes.data.data || [];
              _this2.trades = tradesRes.data.data || [];
              if (!_this2.orderPrice && md.last_price_usdt) {
                _this2.orderPrice = Object(formatP2PNumber["a" /* formatP2PNumber */])(md.last_price_usdt);
              }
              _context2.n = 5;
              break;
            case 4:
              _context2.p = 4;
              _t = _context2.v;
              console.error(_t);
              _this2.loadError = _this2.$t('p2p.loadFailed');
            case 5:
              return _context2.a(2);
          }
        }, _callee2, null, [[0, 4]]);
      }))();
    },
    fillPrice: function fillPrice(price) {
      this.orderPrice = Object(formatP2PNumber["a" /* formatP2PNumber */])(price);
    },
    openOrderDetail: function openOrderDetail(orderId) {
      var _this3 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3() {
        var res, _t2;
        return _regenerator().w(function (_context3) {
          while (1) switch (_context3.p = _context3.n) {
            case 0:
              _this3.detailOpen = true;
              _this3.detailLoading = true;
              _this3.detailOrder = null;
              _this3.detailParticipant = {};
              _this3.directAmount = '';
              _context3.p = 1;
              _context3.n = 2;
              return axios.post("/api/p2p/orders/".concat(orderId), {}, _this3.axiosConfig());
            case 2:
              res = _context3.v;
              if (!(res.data.res !== 0)) {
                _context3.n = 3;
                break;
              }
              alert(_this3.$apiMessage(res.data, 'p2p.orderUnavailable'));
              _this3.closeOrderDetail();
              return _context3.a(2);
            case 3:
              _this3.detailOrder = res.data.data.order;
              _this3.detailParticipant = res.data.data.participant || {};
              _context3.n = 5;
              break;
            case 4:
              _context3.p = 4;
              _t2 = _context3.v;
              console.error(_t2);
              alert(_this3.$t('p2p.orderUnavailable'));
              _this3.closeOrderDetail();
            case 5:
              _context3.p = 5;
              _this3.detailLoading = false;
              return _context3.f(5);
            case 6:
              return _context3.a(2);
          }
        }, _callee3, null, [[1, 4, 5, 6]]);
      }))();
    },
    closeOrderDetail: function closeOrderDetail() {
      if (this.directSubmitting) {
        return;
      }
      this.detailOpen = false;
      this.detailOrder = null;
      this.detailParticipant = {};
      this.directAmount = '';
    },
    fillDirectAll: function fillDirectAll() {
      if (this.detailOrder) {
        this.directAmount = this.snapAmountToLot(this.detailOrder.remaining_ne);
      }
    },
    submitDirectTrade: function submitDirectTrade() {
      var _this4 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4() {
        var directAction, orderId, res, _t3;
        return _regenerator().w(function (_context4) {
          while (1) switch (_context4.p = _context4.n) {
            case 0:
              if (!(!_this4.canDirectTrade || !_this4.directAmountValid || _this4.directSubmitting)) {
                _context4.n = 1;
                break;
              }
              return _context4.a(2);
            case 1:
              directAction = _this4.detailOrder.side === 'sell' ? _this4.$t('p2p.directBuy', {
                symbol: _this4.baseSymbol
              }) : _this4.$t('p2p.directSell', {
                symbol: _this4.baseSymbol
              });
              if (confirm(_this4.$t('p2p.directConfirm', {
                action: directAction
              }))) {
                _context4.n = 2;
                break;
              }
              return _context4.a(2);
            case 2:
              _this4.directSubmitting = true;
              orderId = _this4.detailOrder.id;
              _context4.p = 3;
              _context4.n = 4;
              return _this4.runWithPinAuth(function () {
                return axios.post("/api/p2p/orders/".concat(orderId, "/take"), {
                  amount_ne: String(_this4.directAmount),
                  idempotency_key: _this4.newP2pIdempotencyKey()
                }, _this4.axiosConfig());
              });
            case 4:
              res = _context4.v;
              if (!(res === false)) {
                _context4.n = 5;
                break;
              }
              return _context4.a(2);
            case 5:
              if (!(res.data.res !== 0)) {
                _context4.n = 6;
                break;
              }
              alert(_this4.$apiMessage(res.data, 'p2p.orderFailed'));
              return _context4.a(2);
            case 6:
              alert(_this4.$t('p2p.directSuccess'));
              _this4.directSubmitting = false;
              _this4.closeOrderDetail();
              _context4.n = 7;
              return _this4.refreshAll();
            case 7:
              _context4.n = 9;
              break;
            case 8:
              _context4.p = 8;
              _t3 = _context4.v;
              console.error(_t3);
              _this4.handleProtectedRequestError(_t3, 'p2p.orderError');
            case 9:
              _context4.p = 9;
              _this4.directSubmitting = false;
              return _context4.f(9);
            case 10:
              return _context4.a(2);
          }
        }, _callee4, null, [[3, 8, 9, 10]]);
      }))();
    },
    snapAmountToLot: function snapAmountToLot(value) {
      var lot = this.amountLotSize || 100;
      var n = parseFloat(value) || 0;
      if (n < lot) {
        return '';
      }
      var snapped = Math.floor(n / lot) * lot;
      return snapped > 0 ? String(snapped) : '';
    },
    applyPercent: function applyPercent(pct) {
      if (this.orderSide === 'buy') {
        var price = parseFloat(this.orderPrice) || 0;
        var avail = parseFloat(this.balances.usdt_available) || 0;
        if (price <= 0) {
          return;
        }
        var usdt = avail * (pct / 100);
        this.orderAmount = this.snapAmountToLot(usdt / price);
      } else {
        var _avail = parseFloat(this.baseAvailable) || 0;
        this.orderAmount = this.snapAmountToLot(_avail * (pct / 100));
      }
    },
    isPinAuthRequiredError: function isPinAuthRequiredError(err) {
      return Number(err && err.response && err.response.status) === 403 && err.response.data && err.response.data.code === 'pin_auth_required';
    },
    pinGateOptions: function pinGateOptions() {
      var force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      return {
        title: this.$t('pin.p2pTitle'),
        description: this.$t('pin.p2pDescription'),
        force: force
      };
    },
    newP2pIdempotencyKey: function newP2pIdempotencyKey() {
      if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') {
        return crypto.randomUUID();
      }
      return "p2p-".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 12));
    },
    runWithPinAuth: function runWithPinAuth(action) {
      var _arguments = arguments,
        _this5 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5() {
        var retried, pinOk, _t4;
        return _regenerator().w(function (_context5) {
          while (1) switch (_context5.p = _context5.n) {
            case 0:
              retried = _arguments.length > 1 && _arguments[1] !== undefined ? _arguments[1] : false;
              _context5.n = 1;
              return _this5.requireSecurityPin(_this5.pinGateOptions(retried));
            case 1:
              pinOk = _context5.v;
              if (pinOk) {
                _context5.n = 2;
                break;
              }
              return _context5.a(2, false);
            case 2:
              _context5.p = 2;
              _context5.n = 3;
              return action();
            case 3:
              return _context5.a(2, _context5.v);
            case 4:
              _context5.p = 4;
              _t4 = _context5.v;
              if (_t4 && _t4.response && _t4.response.status === 403) {
                console.warn('P2P PIN-protected request 403', _t4.response.data && _t4.response.data.code);
              }
              if (!(!retried && _this5.isPinAuthRequiredError(_t4))) {
                _context5.n = 5;
                break;
              }
              Object(pinAuthSession["a" /* clearPinAuthSession */])();
              return _context5.a(2, _this5.runWithPinAuth(action, true));
            case 5:
              throw _t4;
            case 6:
              return _context5.a(2);
          }
        }, _callee5, null, [[2, 4]]);
      }))();
    },
    handleProtectedRequestError: function handleProtectedRequestError(err, fallbackKey) {
      var data = err && err.response && err.response.data;
      if (data) {
        alert(this.$apiMessage(data, fallbackKey));
        return;
      }
      alert(this.$t(fallbackKey));
    },
    submitOrder: function submitOrder() {
      var _this6 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
        var price, amount, lot, scaled, lotScaled, payload, _res$data$data, res, msg, _t5;
        return _regenerator().w(function (_context6) {
          while (1) switch (_context6.p = _context6.n) {
            case 0:
              if (!(_this6.submitting || !_this6.tradingEnabled || _this6.orderAmountInvalid || !_this6.orderAmountReady)) {
                _context6.n = 1;
                break;
              }
              return _context6.a(2);
            case 1:
              price = parseFloat(_this6.orderPrice);
              amount = parseFloat(_this6.orderAmount);
              if (!(!(price > 0) || !(amount > 0))) {
                _context6.n = 2;
                break;
              }
              alert(_this6.$t('p2p.orderFailed'));
              return _context6.a(2);
            case 2:
              lot = _this6.amountLotSize || 100;
              scaled = Math.round(amount * 1e8);
              lotScaled = Math.round(lot * 1e8);
              if (!(scaled % lotScaled !== 0)) {
                _context6.n = 3;
                break;
              }
              alert(_this6.$t('p2p.lotSizeInvalid', {
                size: lot,
                symbol: _this6.baseSymbol
              }));
              return _context6.a(2);
            case 3:
              if (window.confirm(_this6.orderConfirmLabel)) {
                _context6.n = 4;
                break;
              }
              return _context6.a(2);
            case 4:
              _this6.submitting = true;
              payload = {
                side: _this6.orderSide,
                price_usdt: _this6.orderPrice,
                amount_ne: _this6.orderAmount,
                pair: _this6.selectedPair,
                idempotency_key: _this6.newP2pIdempotencyKey()
              };
              _context6.p = 5;
              _context6.n = 6;
              return _this6.runWithPinAuth(function () {
                return axios.post('/api/p2p/orders', payload, _this6.axiosConfig());
              });
            case 6:
              res = _context6.v;
              if (!(res === false)) {
                _context6.n = 7;
                break;
              }
              return _context6.a(2);
            case 7:
              if (!(res.data.res !== 0)) {
                _context6.n = 8;
                break;
              }
              alert(_this6.$apiMessage(res.data, 'p2p.orderFailed'));
              return _context6.a(2);
            case 8:
              msg = (_res$data$data = res.data.data) !== null && _res$data$data !== void 0 && _res$data$data.dry_run ? _this6.$t('p2p.dryRunSuccess') : _this6.$t('p2p.orderAccepted');
              alert(msg);
              _this6.orderAmount = '';
              _context6.n = 9;
              return _this6.refreshAll();
            case 9:
              _context6.n = 11;
              break;
            case 10:
              _context6.p = 10;
              _t5 = _context6.v;
              console.error(_t5);
              _this6.handleProtectedRequestError(_t5, 'p2p.orderError');
            case 11:
              _context6.p = 11;
              _this6.submitting = false;
              return _context6.f(11);
            case 12:
              return _context6.a(2);
          }
        }, _callee6, null, [[5, 10, 11, 12]]);
      }))();
    },
    cancelOrder: function cancelOrder(orderId) {
      var _this7 = this;
      return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {
        var res, _t6;
        return _regenerator().w(function (_context7) {
          while (1) switch (_context7.p = _context7.n) {
            case 0:
              if (!(_this7.cancelling || !confirm(_this7.$t('p2p.cancelConfirm')))) {
                _context7.n = 1;
                break;
              }
              return _context7.a(2);
            case 1:
              _this7.cancelling = true;
              _context7.p = 2;
              _context7.n = 3;
              return _this7.runWithPinAuth(function () {
                return axios.post("/api/p2p/orders/".concat(orderId, "/cancel"), {}, _this7.axiosConfig());
              });
            case 3:
              res = _context7.v;
              if (!(res === false)) {
                _context7.n = 4;
                break;
              }
              return _context7.a(2);
            case 4:
              if (!(res.data.res !== 0)) {
                _context7.n = 5;
                break;
              }
              alert(_this7.$apiMessage(res.data, 'p2p.cancelFailed'));
              return _context7.a(2);
            case 5:
              alert(_this7.$apiMessage(res.data, 'p2p.cancelled'));
              _context7.n = 6;
              return _this7.refreshAll();
            case 6:
              _context7.n = 8;
              break;
            case 7:
              _context7.p = 7;
              _t6 = _context7.v;
              console.error(_t6);
              _this7.handleProtectedRequestError(_t6, 'p2p.cancelFailed');
            case 8:
              _context7.p = 8;
              _this7.cancelling = false;
              return _context7.f(8);
            case 9:
              return _context7.a(2);
          }
        }, _callee7, null, [[2, 7, 8, 9]]);
      }))();
    },
    formatPrice: function formatPrice(v) {
      return Object(formatP2PNumber["a" /* formatP2PNumber */])(v);
    },
    formatAmount: function formatAmount(v) {
      return Object(formatP2PNumber["a" /* formatP2PNumber */])(v);
    },
    formatChange: function formatChange(v) {
      var n = parseFloat(v) || 0;
      var sign = n > 0 ? '+' : '';
      return "".concat(sign).concat(n.toFixed(2), "%");
    },
    formatDateTime: function formatDateTime(raw) {
      if (!raw) {
        return '';
      }
      var d = new Date(raw);
      if (Number.isNaN(d.getTime())) {
        return '';
      }
      var parts = new Intl.DateTimeFormat('en-CA', {
        timeZone: 'Asia/Seoul',
        year: 'numeric',
        month: '2-digit',
        day: '2-digit',
        hour: '2-digit',
        minute: '2-digit',
        hourCycle: 'h23'
      }).formatToParts(d).reduce(function (out, part) {
        out[part.type] = part.value;
        return out;
      }, {});
      return "".concat(parts.year, "-").concat(parts.month, "-").concat(parts.day, " ").concat(parts.hour, ":").concat(parts.minute);
    },
    sellerDisplay: function sellerDisplay(item) {
      return item && (item.participant_referral_code || item.participant_label || item.seller_referral_code || item.seller_label) || this.$t('p2p.codeUnavailable');
    },
    participantDisplay: function participantDisplay(order) {
      if (!order) {
        return '';
      }
      return order.participant_referral_code || order.participant_label || '';
    },
    tradeParties: function tradeParties(trade) {
      var seller = trade && (trade.seller_referral_code || trade.seller_label);
      var buyer = trade && (trade.buyer_referral_code || trade.buyer_label);
      var sellerText = seller || this.$t('p2p.codeUnavailable');
      var buyerText = buyer || this.$t('p2p.codeUnavailable');
      return "".concat(this.$t('p2p.seller'), ": ").concat(sellerText, " \xB7 ").concat(this.$t('p2p.buyer'), ": ").concat(buyerText);
    }
  }
});
// CONCATENATED MODULE: ./resources/js/views/pages/newallet/P2PExchangePage.vue?vue&type=script&lang=js
 /* harmony default export */ var newallet_P2PExchangePagevue_type_script_lang_js = (P2PExchangePagevue_type_script_lang_js);
// EXTERNAL MODULE: ./resources/js/views/pages/newallet/P2PExchangePage.vue?vue&type=style&index=0&id=07d181cf&prod&scoped=true&lang=css
var P2PExchangePagevue_type_style_index_0_id_07d181cf_prod_scoped_true_lang_css = __webpack_require__("idGu");

// EXTERNAL MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
var componentNormalizer = __webpack_require__("KHd+");

// CONCATENATED MODULE: ./resources/js/views/pages/newallet/P2PExchangePage.vue






/* normalize component */

var component = Object(componentNormalizer["a" /* default */])(
  newallet_P2PExchangePagevue_type_script_lang_js,
  render,
  staticRenderFns,
  false,
  null,
  "07d181cf",
  null

)

/* harmony default export */ var P2PExchangePage = __webpack_exports__["default"] = (component.exports);