Beautiful balance UI, number-only input validation, auto-formatting, and enhanced gameplay
Acest script nu ar trebui instalat direct. Aceasta este o bibliotecă pentru alte scripturi care este inclusă prin directiva meta a // @require https://update.sleazyfork.org/scripts/560772/1724035/Total%20profit.js
// ==UserScript==
// @name Total profit
// @namespace http://tampermonkey.net/
// @version 4.0
// @description Beautiful balance UI, number-only input validation, auto-formatting, and enhanced gameplay
// @author anonymous
// @match https://stake.ac/casino/games/mines*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Placeholder HTMLs and audio (to be filled by you)
const gemHTML = `<button class="tile gem svelte-12ha7jh" data-testid="mines-tile-5" data-revealed="true" style="--tile-shadow-inset: -0.15em; --shadow: 0.3em; --tile-shadow-lg: 0.44999999999999996em; --small-shadow: -0.15em; --duration: 300ms; --fetch-duration: 600ms;" disabled=""><div class="gem svelte-1qwk2y9 revealed" style="--mine: url(/_app/immutable/assets/gem-none.Bcv6X_BH.svg); --duration: 300ms;" bis_skin_checked="1"><div class="motion svelte-1qwk2y9" bis_skin_checked="1"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 308 280" width="308" height="280" preserveAspectRatio="xMidYMid meet" style="width: 100%; height: 100%; transform: translate3d(0px, 0px, 0px); content-visibility: visible;"><defs><clipPath id="__lottie_element_13"><rect width="308" height="280" x="0" y="0"></rect></clipPath></defs><g clip-path="url(#__lottie_element_13)"><g transform="matrix(4,0,0,4,0.579010009765625,0)" opacity="1" style="display: block;"><g opacity="1" transform="matrix(1,0,0,1,38.30699920654297,35)"><path fill="rgb(5,29,39)" fill-opacity="1" d=" M-0.2809999883174896,35 C-0.2809999883174896,35 -0.29600000381469727,35 -0.29600000381469727,35 C-1.0740000009536743,34.99599838256836 -1.815000057220459,34.6619987487793 -2.3340001106262207,34.082000732421875 C-2.3340001106262207,34.082000732421875 -37.606998443603516,-5.380000114440918 -37.606998443603516,-5.380000114440918 C-38.409000396728516,-6.2769999504089355 -38.53499984741211,-7.591000080108643 -37.91899871826172,-8.625 C-37.91899871826172,-8.625 -27.281999588012695,-26.45400047302246 -27.281999588012695,-26.45400047302246 C-26.988000869750977,-26.94700050354004 -26.547000885009766,-27.336000442504883 -26.020000457763672,-27.56599998474121 C-26.020000457763672,-27.56599998474121 -15.1899995803833,-32.29399871826172 -15.1899995803833,-32.29399871826172 C-14.991000175476074,-32.38100051879883 -14.781999588012695,-32.444000244140625 -14.567999839782715,-32.481998443603516 C-14.567999839782715,-32.481998443603516 -0.5709999799728394,-34.95800018310547 -0.5709999799728394,-34.95800018310547 C-0.2529999911785126,-35.013999938964844 0.0729999989271164,-35.013999938964844 0.38999998569488525,-34.95800018310547 C0.38999998569488525,-34.95800018310547 14.312999725341797,-32.481998443603516 14.312999725341797,-32.481998443603516 C14.526000022888184,-32.444000244140625 14.732999801635742,-32.38100051879883 14.930000305175781,-32.29499816894531 C14.930000305175781,-32.29499816894531 26.114999771118164,-27.423999786376953 26.114999771118164,-27.423999786376953 C26.1560001373291,-27.4060001373291 26.197999954223633,-27.386999130249023 26.23900032043457,-27.367000579833984 C26.23900032043457,-27.367000579833984 26.242000579833984,-27.364999771118164 26.242000579833984,-27.364999771118164 C26.242000579833984,-27.364999771118164 26.243999481201172,-27.36400032043457 26.243999481201172,-27.36400032043457 C26.243999481201172,-27.36400032043457 26.2450008392334,-27.36400032043457 26.246000289916992,-27.363000869750977 C26.246000289916992,-27.363000869750977 26.249000549316406,-27.36199951171875 26.249000549316406,-27.36199951171875 C26.249000549316406,-27.36199951171875 26.249000549316406,-27.361000061035156 26.25,-27.361000061035156 C26.492000579833984,-27.240999221801758 26.711999893188477,-27.086999893188477 26.9060001373291,-26.9060001373291 C26.9060001373291,-26.905000686645508 26.9060001373291,-26.905000686645508 26.9060001373291,-26.905000686645508 C26.906999588012695,-26.90399932861328 26.908000946044922,-26.902999877929688 26.909000396728516,-26.902000427246094 C27.059999465942383,-26.760000228881836 27.195999145507812,-26.60099983215332 27.312999725341797,-26.424999237060547 C27.31399917602539,-26.424999237060547 27.31399917602539,-26.423999786376953 27.31399917602539,-26.423999786376953 C27.31399917602539,-26.423999786376953 27.31399917602539,-26.42300033569336 27.31399917602539,-26.42300033569336 C27.344999313354492,-26.378000259399414 27.37299919128418,-26.332000732421875 27.402000427246094,-26.284000396728516 C27.402000427246094,-26.284000396728516 37.926998138427734,-8.402000427246094 37.926998138427734,-8.402000427246094 C38.53900146484375,-7.361000061035156 38.402000427246094,-6.041999816894531 37.58700180053711,-5.14900016784668 C37.58700180053711,-5.14900016784668 1.7519999742507935,34.104000091552734 1.7519999742507935,34.104000091552734 C1.2309999465942383,34.67499923706055 0.492000013589859,35 -0.2809999883174896,35z"></path></g><g opacity="1" transform="matrix(1,0,0,1,38.30699920654297,35)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M25.023000717163086,-24.89699935913086 C25.023000717163086,-24.89699935913086 13.831999778747559,-29.77199935913086 13.831999778747559,-29.77199935913086 C13.831999778747559,-29.77199935913086 -0.09099999815225601,-32.24700164794922 -0.09099999815225601,-32.24700164794922 C-0.09099999815225601,-32.24700164794922 -14.088000297546387,-29.77199935913086 -14.088000297546387,-29.77199935913086 C-14.088000297546387,-29.77199935913086 -24.917999267578125,-25.04400062561035 -24.917999267578125,-25.04400062561035 C-24.917999267578125,-25.04400062561035 -35.55400085449219,-7.215000152587891 -35.55400085449219,-7.215000152587891 C-35.55400085449219,-7.215000152587891 -0.2809999883174896,32.24700164794922 -0.2809999883174896,32.24700164794922 C-0.2809999883174896,32.24700164794922 35.55400085449219,-7.00600004196167 35.55400085449219,-7.00600004196167 C35.55400085449219,-7.00600004196167 25.023000717163086,-24.89699935913086 25.023000717163086,-24.89699935913086z"></path></g><g opacity="1" transform="matrix(1,0,0,1,30.392000198364258,28.7549991607666)"><path fill="rgb(6,227,3)" fill-opacity="1" d=" M-8.263999938964844,-10.008000373840332 C-8.263999938964844,-10.008000373840332 -6.172999858856201,10.008000373840332 -6.172999858856201,10.008000373840332 C-6.172999858856201,10.008000373840332 8.263999938964844,-6.982999801635742 8.263999938964844,-6.982999801635742 C8.263999938964844,-6.982999801635742 -8.263999938964844,-10.008000373840332 -8.263999938964844,-10.008000373840332z"></path></g><g opacity="1" transform="matrix(1,0,0,1,64.11799621582031,19.048999786376953)"><path fill="rgb(5,169,2)" fill-opacity="1" d=" M9.743000030517578,8.944999694824219 C9.743000030517578,8.944999694824219 -0.7879999876022339,-8.944999694824219 -0.7879999876022339,-8.944999694824219 C-0.7879999876022339,-8.944999694824219 -9.743000030517578,-0.041999999433755875 -9.743000030517578,-0.041999999433755875 C-9.743000030517578,-0.041999999433755875 9.743000030517578,8.944999694824219 9.743000030517578,8.944999694824219z"></path></g><g opacity="1" transform="matrix(1,0,0,1,62.303001403808594,28.743000030517578)"><path fill="rgb(3,189,2)" fill-opacity="1" d=" M-11.557999610900879,9.736000061035156 C-11.557999610900879,9.736000061035156 11.557999610900879,-0.7490000128746033 11.557999610900879,-0.7490000128746033 C11.557999610900879,-0.7490000128746033 -7.928999900817871,-9.736000061035156 -7.928999900817871,-9.736000061035156 C-7.928999900817871,-9.736000061035156 -11.557999610900879,9.736000061035156 -11.557999610900879,9.736000061035156z"></path></g><g opacity="1" transform="matrix(1,0,0,1,46.43199920654297,28.757999420166016)"><path fill="rgb(1,228,1)" fill-opacity="1" d=" M-7.941999912261963,-6.822000026702881 C-7.941999912261963,-6.822000026702881 4.245999813079834,9.75100040435791 4.245999813079834,9.75100040435791 C4.245999813079834,9.75100040435791 4.313000202178955,9.720999717712402 4.313000202178955,9.720999717712402 C4.313000202178955,9.720999717712402 7.941999912261963,-9.75100040435791 7.941999912261963,-9.75100040435791 C7.941999912261963,-9.75100040435791 -7.941999912261963,-6.822000026702881 -7.941999912261963,-6.822000026702881z"></path></g><g opacity="1" transform="matrix(1,0,0,1,37.44900131225586,30.350000381469727)"><path fill="rgb(0,212,3)" fill-opacity="1" d=" M-13.229999542236328,8.413000106811523 C-13.229999542236328,8.413000106811523 13.229999542236328,8.15999984741211 13.229999542236328,8.15999984741211 C13.229999542236328,8.15999984741211 1.0410000085830688,-8.413000106811523 1.0410000085830688,-8.413000106811523 C1.0410000085830688,-8.413000106811523 -13.229999542236328,8.413000106811523 -13.229999542236328,8.413000106811523z"></path></g><g opacity="1" transform="matrix(1,0,0,1,13.486000061035156,28.83799934387207)"><path fill="rgb(8,252,2)" fill-opacity="1" d=" M-10.732999801635742,-1.0520000457763672 C-10.732999801635742,-1.0520000457763672 10.732999801635742,9.925000190734863 10.732999801635742,9.925000190734863 C10.732999801635742,9.925000190734863 8.807000160217285,-9.925000190734863 8.807000160217285,-9.925000190734863 C8.807000160217285,-9.925000190734863 -10.732999801635742,-1.0520000457763672 -10.732999801635742,-1.0520000457763672z"></path></g><g opacity="1" transform="matrix(1,0,0,1,37.481998443603516,52.862998962402344)"><path fill="rgb(8,252,2)" fill-opacity="1" d=" M13.196999549865723,-14.354000091552734 C13.196999549865723,-14.354000091552734 -13.262999534606934,-14.10099983215332 -13.262999534606934,-14.10099983215332 C-13.262999534606934,-14.10099983215332 0.5450000166893005,14.383000373840332 0.5450000166893005,14.383000373840332 C0.5450000166893005,14.383000373840332 13.196000099182129,-14.02299976348877 13.196000099182129,-14.02299976348877 C13.196000099182129,-14.02299976348877 13.262999534606934,-14.383000373840332 13.262999534606934,-14.383000373840332 C13.262999534606934,-14.383000373840332 13.196999549865723,-14.354000091552734 13.196999549865723,-14.354000091552734z"></path></g><g opacity="1" transform="matrix(1,0,0,1,55.944000244140625,47.62099838256836)"><path fill="rgb(1,153,2)" fill-opacity="1" d=" M-5.198999881744385,-9.142000198364258 C-5.198999881744385,-9.142000198364258 -5.265999794006348,-8.781000137329102 -5.265999794006348,-8.781000137329102 C-5.265999794006348,-8.781000137329102 -17.91699981689453,19.625999450683594 -17.91699981689453,19.625999450683594 C-17.91699981689453,19.625999450683594 17.91699981689453,-19.625999450683594 17.91699981689453,-19.625999450683594 C17.91699981689453,-19.625999450683594 -5.198999881744385,-9.142000198364258 -5.198999881744385,-9.142000198364258z"></path></g><g opacity="1" transform="matrix(1,0,0,1,20.388999938964844,47.51599884033203)"><path fill="rgb(1,226,0)" fill-opacity="1" d=" M-17.636999130249023,-19.729999542236328 C-17.636999130249023,-19.729999542236328 17.636999130249023,19.729999542236328 17.636999130249023,19.729999542236328 C17.636999130249023,19.729999542236328 3.8289999961853027,-8.753000259399414 3.8289999961853027,-8.753000259399414 C3.8289999961853027,-8.753000259399414 -17.636999130249023,-19.729999542236328 -17.636999130249023,-19.729999542236328z"></path></g><g opacity="1" transform="matrix(1,0,0,1,38.35900115966797,12.345000267028809)"><path fill="rgb(8,252,2)" fill-opacity="1" d=" M13.779000282287598,-7.117000102996826 C13.779000282287598,-7.117000102996826 -0.14399999380111694,-9.592000007629395 -0.14399999380111694,-9.592000007629395 C-0.14399999380111694,-9.592000007629395 -14.140999794006348,-7.117000102996826 -14.140999794006348,-7.117000102996826 C-14.140999794006348,-7.117000102996826 -24.97100067138672,-2.3889999389648438 -24.97100067138672,-2.3889999389648438 C-24.97100067138672,-2.3889999389648438 -19.09000015258789,3.5269999504089355 -19.09000015258789,3.5269999504089355 C-19.09000015258789,3.5269999504089355 -16.06599998474121,6.567999839782715 -16.06599998474121,6.567999839782715 C-16.06599998474121,6.567999839782715 -8.567999839782715,7.9670000076293945 -8.567999839782715,7.9670000076293945 C-8.567999839782715,7.9670000076293945 0.13199999928474426,9.592000007629395 0.13199999928474426,9.592000007629395 C0.13199999928474426,9.592000007629395 16.013999938964844,6.660999774932861 16.013999938964844,6.660999774932861 C16.013999938964844,6.660999774932861 24.97100067138672,-2.242000102996826 24.97100067138672,-2.242000102996826 C24.97100067138672,-2.242000102996826 13.779000282287598,-7.117000102996826 13.779000282287598,-7.117000102996826z"></path></g><g opacity="1" transform="matrix(1,0,0,1,12.52299976348877,18.871000289916992)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M6.747000217437744,-2.999000072479248 C6.747000217437744,-2.999000072479248 0.8659999966621399,-8.914999961853027 0.8659999966621399,-8.914999961853027 C0.8659999966621399,-8.914999961853027 -9.770000457763672,8.914999961853027 -9.770000457763672,8.914999961853027 C-9.770000457763672,8.914999961853027 9.770000457763672,0.041999999433755875 9.770000457763672,0.041999999433755875 C9.770000457763672,0.041999999433755875 6.747000217437744,-2.999000072479248 6.747000217437744,-2.999000072479248z"></path></g><g opacity="1" transform="matrix(1,0,0,1,25.80299949645996,6.790999889373779)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M-11.90999984741211,4.038000106811523 C-11.90999984741211,4.038000106811523 -1.437000036239624,-1.3650000095367432 -1.437000036239624,-1.3650000095367432 C-1.437000036239624,-1.3650000095367432 12.413000106811523,-4.038000106811523 12.413000106811523,-4.038000106811523 C12.413000106811523,-4.038000106811523 -1.5829999446868896,-1.562999963760376 -1.5829999446868896,-1.562999963760376 C-1.5829999446868896,-1.562999963760376 -12.413000106811523,3.1649999618530273 -12.413000106811523,3.1649999618530273 C-12.413000106811523,3.1649999618530273 -11.90999984741211,4.038000106811523 -11.90999984741211,4.038000106811523z"></path></g><g opacity="1" transform="matrix(1,0,0,1,22.658000946044922,28.836999893188477)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M-0.36500000953674316,-9.925000190734863 C-0.36500000953674316,-9.925000190734863 1.5609999895095825,9.925000190734863 1.5609999895095825,9.925000190734863 C1.5609999895095825,9.925000190734863 -1.5609999895095825,-9.788999557495117 -1.5609999895095825,-9.788999557495117 C-1.5609999895095825,-9.788999557495117 -0.36500000953674316,-9.925000190734863 -0.36500000953674316,-9.925000190734863z"></path></g><g opacity="1" transform="matrix(1,0,0,1,30.391000747680664,20.697999954223633)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M-8.097999572753906,-1.7860000133514404 C-8.097999572753906,-1.7860000133514404 8.097999572753906,1.2380000352859497 8.097999572753906,1.2380000352859497 C8.097999572753906,1.2380000352859497 7.635000228881836,1.7860000133514404 7.635000228881836,1.7860000133514404 C7.635000228881836,1.7860000133514404 -8.097999572753906,-1.7860000133514404 -8.097999572753906,-1.7860000133514404z"></path></g><g opacity="1" transform="matrix(1,0,0,1,58.165000915527344,14.6899995803833)"><path fill="rgb(86,252,126)" fill-opacity="1" d=" M5.164999961853027,-4.586999893188477 C5.164999961853027,-4.586999893188477 -5.164999961853027,4.586999893188477 -5.164999961853027,4.586999893188477 C-5.164999961853027,4.586999893188477 -3.7899999618530273,4.315999984741211 -3.7899999618530273,4.315999984741211 C-3.7899999618530273,4.315999984741211 5.164999961853027,-4.586999893188477 5.164999961853027,-4.586999893188477z"></path></g></g><g style="display: none;"><g><path></path></g></g><g style="display: none;"><g><path></path></g></g><g style="display: none;"><g><path></path></g></g><g style="display: none;"><g><path></path></g></g><g style="display: none;"><g><path></path></g></g><g style="display: none;"><g><path></path></g></g></g></svg></div></div><!----> <div class="cover gem svelte-12ha7jh" bis_skin_checked="1"></div></button>`;
const bombHTML = `<button class="tile mine svelte-12ha7jh" data-testid="mines-tile-18" data-revealed="false" style="--tile-shadow-inset: -0.15em; --shadow: 0.3em; --tile-shadow-lg: 0.44999999999999996em; --small-shadow: -0.15em; --duration: 300ms; --fetch-duration: 600ms;"><!----><!----><!----> <div class="mine svelte-sx409p" style="background-image: url("/_app/immutable/assets/mine.BrdEJX0T.svg"); --duration: 300ms;" bis_skin_checked="1"></div><!----> <div class="cover mine svelte-12ha7jh" bis_skin_checked="1"></div></button>`;
const normalHTML = `<button class="tile idle svelte-12ha7jh" data-testid="mines-tile-0" data-revealed="false" style="--tile-shadow-inset: -0.15em; --shadow: 0.3em; --tile-shadow-lg: 0.44999999999999996em; --small-shadow: -0.15em; --duration: 300ms; --fetch-duration: 600ms;"><!----><!----> <div class="cover idle svelte-12ha7jh" bis_skin_checked="1"></div></button>`;
const base64Audio = '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';
// Result div HTML to be shown in the center of the grid
const resultDivHTML = `<div class="game-result-wrap win svelte-1g8uakg" style="--duration: 300ms; --modal-width: 150px; --modal-height: 132px; --win-modal-heading-color: var(--color-grey-200); z-index: 65 !important; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);" bis_skin_checked="1"><div class="game-result-content svelte-1g8uakg" bis_skin_checked="1"><span class="number-multiplier svelte-1g8uakg" style="--truncate-max-width: 118px;"><span tag="span" type="body" strong="true" size="md" class="ds-body-md-strong" data-ds-text="true">24.75×</span></span><div class="divider svelte-1g8uakg" bis_skin_checked="1"></div><span class="payout-result win svelte-1g8uakg"><div role="presentation" class="inline-flex items-center gap-1 max-w-full text-center svelte-1jb7pu8" bis_skin_checked="1"><span class="content svelte-1jb7pu8" style="max-width: 98px;"><span tag="span" type="body" class="text-neutral-subtle ds-body-md-strong text-center" size="md" strong="true" variant="neutral-subtle" data-ds-text="true" style="max-width: 98px;">$0.00</span></span><span tag="span" type="body" title="ltc" size="md" class="ds-body-md inline-flex" data-ds-text="true"><svg data-ds-icon="LTC" width="20" height="20" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" class="inline-block shrink-0"><path fill="#3C649B" d="M23 12c0 6.075-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1s11 4.925 11 11"></path><path fill="#fff" d="m8.167 14.21-.98.382.475-1.905.99-.398L10.085 6.5h3.524l-1.031 4.26.969-.393-.468 1.89-.983.393-.58 2.406h5.297L16.21 17.5H7.359z"></path></svg></span></div></span></div></div>`;
const WRAPPER_SELECTOR = '.input-wrap';
const INPUT_SELECTOR = 'input[data-testid="input-game-amount"]';
const FAKE_INPUT_SELECTOR = '#fake-bet-input';
const SELECT_SELECTOR = 'select[data-testid="mines-count"]';
const BALANCE_SPAN_SELECTOR = 'span.text-neutral-default.ds-body-md-strong';
const BET_BUTTON_SELECTOR = 'button[data-testid="bet-button"]';
const CONVERSION_SPAN_SELECTOR = 'div.crypto.svelte-1pm8uy8[data-testid="conversion-amount"]';
const INNER_CONVERSION_SPAN_SELECTOR = 'div.crypto.svelte-1pm8uy8[data-testid="conversion-amount"] span[data-ds-text="true"]';
const BUTTON_WRAP_SELECTOR = 'div.input-button-wrap.svelte-dka04o';
const RETRIES = 80;
const INTERVAL = 250;
const LTC_RATE = 106.28;
const STORAGE_KEY = 'stake_mines_balance';
let currentBalance = parseFloat(localStorage.getItem(STORAGE_KEY)) || 0;
let isBalanceUIVisible = true;
// Format balance with commas
function formatBalance(amount) {
return `$${amount.toLocaleString('en-US', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`;
}
// Format LTC conversion
function formatLTC(usdValue) {
const ltcValue = usdValue / LTC_RATE;
return `${ltcValue.toFixed(8)} LTC`;
}
// Save balance to localStorage
function saveBalance() {
localStorage.setItem(STORAGE_KEY, currentBalance.toString());
console.log(`Balance saved: ${currentBalance}`);
}
// Add beautiful CSS styles
function addStyles() {
const style = document.createElement('style');
style.textContent = `
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
#balance-ui {
font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
border-radius: 16px;
padding: 20px 24px;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
backdrop-filter: blur(10px);
min-width: 350px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
#balance-ui:hover {
transform: translateY(-2px);
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.15) inset;
}
#balance-ui-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
#balance-ui-title {
color: #ffffff;
font-size: 12px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1.2px;
opacity: 0.9;
}
#balance-ui-icon {
width: 24px;
height: 24px;
background: rgba(255, 255, 255, 0.2);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
}
#current-balance {
color: #ffffff;
font-size: 32px;
font-weight: 700;
margin: 12px 0;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
letter-spacing: -0.5px;
}
#balance-controls {
display: flex;
gap: 10px;
margin-top: 16px;
}
#balance-ui input {
flex: 1;
padding: 12px 16px;
border: 2px solid rgba(255, 255, 255, 0.2);
border-radius: 10px;
background: rgba(255, 255, 255, 0.1);
color: #ffffff;
font-size: 15px;
font-weight: 500;
font-family: 'Inter', sans-serif;
transition: all 0.2s ease;
outline: none;
}
#balance-ui input::placeholder {
color: rgba(255, 255, 255, 0.5);
}
#balance-ui input:focus {
background: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.4);
transform: translateY(-1px);
}
#set-balance-btn {
padding: 12px 24px;
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
color: white;
border: none;
border-radius: 10px;
font-weight: 600;
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
box-shadow: 0 4px 15px rgba(245, 87, 108, 0.3);
white-space: nowrap;
}
#set-balance-btn:hover {
transform: translateY(-2px);
box-shadow: 0 6px 20px rgba(245, 87, 108, 0.4);
}
#set-balance-btn:active {
transform: translateY(0);
}
#balance-ui-footer {
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid rgba(255, 255, 255, 0.15);
display: flex;
justify-content: space-between;
align-items: center;
}
#balance-ui-hint {
color: rgba(255, 255, 255, 0.7);
font-size: 11px;
font-weight: 500;
}
#balance-ui-drag-hint {
color: rgba(255, 255, 255, 0.5);
font-size: 10px;
display: flex;
align-items: center;
gap: 4px;
}
@keyframes gemBounce {
0% { transform: scale(1); }
25% { transform: scale(1.10); }
50% { transform: scale(1); }
75% { transform: scale(1.10); }
100% { transform: scale(1); }
}
.gem-bounce {
animation: gemBounce 1s ease;
}
/* Number input specific styles */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type="number"] {
-moz-appearance: textfield;
}
`;
document.head.appendChild(style);
}
// Create Beautiful Balance UI
function createBalanceUI() {
const balanceUI = document.createElement('div');
balanceUI.id = 'balance-ui';
balanceUI.style.position = 'absolute';
balanceUI.style.top = '20px';
balanceUI.style.left = '20px';
balanceUI.style.cursor = 'move';
balanceUI.style.zIndex = '1000000';
balanceUI.style.userSelect = 'none';
balanceUI.innerHTML = `
<div id="balance-ui-header">
<span id="balance-ui-title">�SET BALANCE</span>
<div id="balance-ui-icon">�SUDO</div>
</div>
<div id="current-balance">${formatBalance(currentBalance)}</div>
<div id="balance-controls">
<input type="number" id="balance-input" placeholder="Enter Balance" step="0.01" min="0">
<button id="set-balance-btn">SET</button>
</div>
<div id="balance-ui-footer">
<span id="balance-ui-hint">Press F2 to toggle</span>
<span id="balance-ui-drag-hint">⋮⋮ Drag to move</span>
</div>
`;
document.body.appendChild(balanceUI);
const balanceInput = document.getElementById('balance-input');
const setBalanceButton = document.getElementById('set-balance-btn');
// Only allow numbers and decimal in balance input
balanceInput.addEventListener('keypress', (e) => {
const char = String.fromCharCode(e.which);
if (!/[0-9.]/.test(char)) {
e.preventDefault();
return;
}
if (char === '.' && balanceInput.value.includes('.')) {
e.preventDefault();
}
});
// Auto-format on blur
balanceInput.addEventListener('blur', () => {
if (balanceInput.value && !isNaN(parseFloat(balanceInput.value))) {
balanceInput.value = parseFloat(balanceInput.value).toFixed(2);
}
});
setBalanceButton.addEventListener('click', () => {
const newBalance = parseFloat(balanceInput.value) || 0;
if (newBalance >= 0) {
currentBalance = newBalance;
updateBalanceUI();
saveBalance();
balanceInput.value = '';
} else {
alert('Please enter a valid non-negative balance.');
}
});
// Make draggable
let isDragging = false;
let currentX = 20;
let currentY = 20;
let initialX;
let initialY;
balanceUI.addEventListener('mousedown', (e) => {
if (e.target.tagName === 'INPUT' || e.target.tagName === 'BUTTON') return;
initialX = e.clientX - currentX;
initialY = e.clientY - currentY;
isDragging = true;
});
document.addEventListener('mousemove', (e) => {
if (isDragging) {
e.preventDefault();
currentX = e.clientX - initialX;
currentY = e.clientY - initialY;
balanceUI.style.left = `${currentX}px`;
balanceUI.style.top = `${currentY}px`;
}
});
document.addEventListener('mouseup', () => {
isDragging = false;
});
// Toggle with F2
document.addEventListener('keydown', (e) => {
if (e.key === 'F2') {
isBalanceUIVisible = !isBalanceUIVisible;
balanceUI.style.display = isBalanceUIVisible ? 'block' : 'none';
}
});
}
// Update balance UI
function updateBalanceUI() {
const balanceLabel = document.getElementById('current-balance');
const stakeBalanceSpan = document.querySelector(BALANCE_SPAN_SELECTOR);
if (balanceLabel) {
balanceLabel.textContent = formatBalance(currentBalance);
}
if (stakeBalanceSpan) {
stakeBalanceSpan.textContent = formatBalance(currentBalance);
}
// Update LTC button balance
const ltcButton = document.querySelector('button[data-testid="coin-toggle-currency-ltc"]');
if (ltcButton) {
const balanceSpan = ltcButton.querySelector('span.content.svelte-1jb7pu8 span[data-ds-text="true"]');
if (balanceSpan) {
balanceSpan.textContent = formatBalance(currentBalance);
console.log('LTC button balance updated:', balanceSpan.textContent);
}
}
saveBalance();
}
// Update LTC conversion (real-time)
function updateProfitConversion(payoutAmount) {
// Find the profit conversion element in the Total Profit section
const profitConversionSpan = document.querySelector('div.profit.svelte-gpd1jr div.crypto.svelte-1pm8uy8[data-testid="conversion-amount"] span[data-ds-text="true"]');
if (profitConversionSpan) {
// Convert payout amount to LTC format (assuming $100 = 1 LTC)
const ltcValue = payoutAmount / 100;
profitConversionSpan.textContent = ltcValue.toFixed(8) + ' LTC';
console.log(`Profit conversion updated: $${payoutAmount.toFixed(2)} = ${ltcValue.toFixed(8)} LTC`);
} else {
console.log('Profit conversion span not found');
}
}
function updateProfitLabel(multiplier) {
// Find the Total Profit label and update the multiplier
const profitLabel = document.querySelector('div.profit.svelte-gpd1jr span[slot="label"]');
if (profitLabel) {
profitLabel.textContent = `Total Profit (${multiplier}×)`;
console.log(`Profit label updated to: Total Profit (${multiplier}×)`);
} else {
console.log('Profit label not found');
}
}
function updateProfitInput(amount) {
// Find the profit input field and update it with the win amount
const profitInput = document.querySelector('div.profit.svelte-gpd1jr input[data-testid="profit-input"]');
if (profitInput) {
profitInput.value = amount.toFixed(2);
console.log(`Profit input updated to: $${amount.toFixed(2)}`);
} else {
console.log('Profit input not found');
}
}
function updateCurrencyConversion() {
const fakeInput = document.querySelector(FAKE_INPUT_SELECTOR);
let conversionSpan = document.querySelector(INNER_CONVERSION_SPAN_SELECTOR);
if (!conversionSpan) {
const wrapper = document.querySelector(WRAPPER_SELECTOR);
if (wrapper) {
const conversionDiv = document.createElement('div');
conversionDiv.className = 'crypto svelte-1pm8uy8';
conversionDiv.setAttribute('data-testid', 'conversion-amount');
conversionDiv.setAttribute('bis_skin_checked', '1');
conversionSpan = document.createElement('span');
conversionSpan.setAttribute('type', 'body');
conversionSpan.setAttribute('tag', 'span');
conversionSpan.setAttribute('size', 'sm');
conversionSpan.className = 'ds-body-sm';
conversionSpan.setAttribute('data-ds-text', 'true');
conversionSpan.textContent = formatLTC(0);
conversionDiv.appendChild(document.createComment(''));
conversionDiv.appendChild(conversionSpan);
conversionDiv.appendChild(document.createComment(''));
wrapper.insertAdjacentElement('afterend', conversionDiv);
}
}
if (fakeInput && conversionSpan) {
const usdValue = parseFloat(fakeInput.value) || 0;
conversionSpan.textContent = formatLTC(usdValue);
}
}
// Real-time conversion update (instant, no debounce)
function updateConversionInstant() {
const fakeInput = document.querySelector(FAKE_INPUT_SELECTOR);
const conversionSpan = document.querySelector(INNER_CONVERSION_SPAN_SELECTOR);
if (fakeInput && conversionSpan) {
// Get current value, even if incomplete (like "5" or "10.")
let inputValue = fakeInput.value;
// Parse the value - handle empty, partial input
let usdValue = 0;
if (inputValue && inputValue !== '' && inputValue !== '.') {
usdValue = parseFloat(inputValue);
if (isNaN(usdValue)) usdValue = 0;
}
// Update conversion immediately
conversionSpan.textContent = formatLTC(usdValue);
console.log(`Conversion updated: ${inputValue} = ${formatLTC(usdValue)}`);
} else {
if (!fakeInput) console.log('Fake input not found');
if (!conversionSpan) console.log('Conversion span not found');
}
}
// Debounce function
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
function waitForTarget(retries = RETRIES) {
const realInput = document.querySelector(INPUT_SELECTOR);
const wrapper = realInput ? realInput.closest(WRAPPER_SELECTOR) : document.querySelector(WRAPPER_SELECTOR);
if (!wrapper || !realInput) {
if (retries > 0) {
setTimeout(() => waitForTarget(retries - 1), INTERVAL);
}
return;
}
applyExactOverlayClone(wrapper, realInput);
createBalanceUI();
updateBalanceUI();
setTimeout(updateCurrencyConversion, 500);
}
function stripAttributes(node) {
if (!node || node.nodeType !== 1) return;
const blacklist = ['name', 'form', 'id', 'data-testid', 'data-bet-amount-active-currency', 'data-reactid', 'data-vue-ref', 'aria-controls', 'aria-describedby', 'aria-labelledby'];
for (let att of Array.from(node.attributes || [])) {
const n = att.name.toLowerCase();
try {
if (blacklist.includes(n) || (n.startsWith('data-') && /bind|model|on|handler|action|hook|event/i.test(n))) {
node.removeAttribute(att.name);
}
} catch (e) {}
}
if (/^(INPUT|SELECT|TEXTAREA)$/.test(node.tagName)) {
try { node.removeAttribute('name'); node.removeAttribute('form'); } catch (e) {}
}
}
function deepStrip(node) {
stripAttributes(node);
for (let c of Array.from(node.children || [])) deepStrip(c);
}
function isolateEvents(root) {
const events = ['keydown', 'keyup', 'keypress', 'input', 'change', 'paste', 'cut', 'focus', 'blur', 'mousedown', 'mouseup', 'click', 'contextmenu', 'touchstart', 'touchend', 'touchmove'];
for (const e of events) {
root.addEventListener(e, ev => {
try { ev.stopImmediatePropagation && ev.stopImmediatePropagation(); ev.stopPropagation && ev.stopPropagation(); } catch (err) {}
}, true);
}
root.addEventListener('keydown', ev => {
if (ev.ctrlKey || ev.metaKey || ev.altKey) {
try { ev.stopImmediatePropagation(); } catch (e) {}
}
}, true);
}
function prepareFakeInput(fakeInput, realInput) {
fakeInput.type = 'text';
fakeInput.setAttribute('inputmode', 'decimal');
fakeInput.setAttribute('pattern', '[0-9]*([.,][0-9]+)?');
fakeInput.autocomplete = 'off';
fakeInput.autocorrect = 'off';
fakeInput.autocapitalize = 'off';
fakeInput.spellcheck = false;
try { fakeInput.value = realInput.value || ''; } catch (e) {}
try { fakeInput.placeholder = realInput.placeholder || fakeInput.getAttribute('placeholder') || ''; } catch (e) {}
stripAttributes(fakeInput);
// Don't stop all events - be more selective
const stopEvent = (ev) => {
try {
ev.stopImmediatePropagation();
} catch (err) {}
};
['change', 'paste', 'cut', 'focus'].forEach(evt => {
fakeInput.addEventListener(evt, stopEvent, { capture: true });
});
// Only allow numbers and decimal point
fakeInput.addEventListener('keypress', (e) => {
const char = String.fromCharCode(e.which);
if (!/[0-9.]/.test(char)) {
e.preventDefault();
return;
}
if (char === '.' && fakeInput.value.includes('.')) {
e.preventDefault();
}
});
// Filter paste to only allow numbers
fakeInput.addEventListener('paste', (e) => {
e.preventDefault();
const pastedText = (e.clipboardData || window.clipboardData).getData('text');
const cleaned = pastedText.replace(/[^0-9.]/g, '');
const parts = cleaned.split('.');
const finalValue = parts.length > 1 ? parts[0] + '.' + parts.slice(1).join('') : cleaned;
fakeInput.value = finalValue;
// Force immediate update
requestAnimationFrame(() => updateConversionInstant());
});
// CRITICAL: Real-time conversion on every input change
// Using multiple approaches for maximum compatibility
// 1. Direct input event (most important)
fakeInput.addEventListener('input', (e) => {
console.log('📝 Input event fired, value:', fakeInput.value);
updateConversionInstant();
}, false);
// 2. Keyup for keyboard input
fakeInput.addEventListener('keyup', (e) => {
console.log('⌨️ Keyup event fired, value:', fakeInput.value);
updateConversionInstant();
}, false);
// 3. Keydown with RAF for instant feedback
fakeInput.addEventListener('keydown', (e) => {
requestAnimationFrame(() => {
console.log('⏬ Keydown RAF, value:', fakeInput.value);
updateConversionInstant();
});
}, false);
// 4. PropertyChange for older browsers
fakeInput.addEventListener('propertychange', (e) => {
if (e.propertyName === 'value') {
updateConversionInstant();
}
}, false);
// 5. MutationObserver for value changes
const observer = new MutationObserver(() => {
console.log('👁️ Mutation observed');
updateConversionInstant();
});
observer.observe(fakeInput, {
attributes: true,
attributeFilter: ['value'],
characterData: true,
subtree: true
});
// 6. Polling as last resort (every 100ms)
let lastValue = fakeInput.value;
setInterval(() => {
if (fakeInput.value !== lastValue) {
console.log('🔄 Polling detected change:', lastValue, '→', fakeInput.value);
lastValue = fakeInput.value;
updateConversionInstant();
}
}, 100);
// Auto-format to .00 on blur
fakeInput.addEventListener('blur', () => {
let val = parseFloat(fakeInput.value);
if (!isNaN(val)) {
fakeInput.value = val.toFixed(2);
updateConversionInstant();
}
});
// Format when clicking anywhere
document.addEventListener('click', (e) => {
if (!fakeInput.contains(e.target) && fakeInput.value) {
let val = parseFloat(fakeInput.value);
if (!isNaN(val)) {
fakeInput.value = val.toFixed(2);
updateConversionInstant();
}
}
});
console.log('✅ Fake input prepared with 6 conversion update methods');
}
// Setup Half and Double buttons - Aggressive enabling
function setupBetButtons() {
console.log('🚀 Starting aggressive button setup...');
// Super aggressive button finder
const findButtons = () => {
// Strategy 1: Class-based
const buttonWrap = document.querySelector('div.input-button-wrap.svelte-dka04o') ||
document.querySelector('div.input-button-wrap') ||
document.querySelector('.input-button-wrap');
if (buttonWrap) {
const buttons = buttonWrap.querySelectorAll('button');
if (buttons.length >= 2) {
console.log('✅ Found via class selector');
return { half: buttons[0], double: buttons[1] };
}
}
// Strategy 2: Text content
const allButtons = Array.from(document.querySelectorAll('button'));
const half = allButtons.find(b => b.textContent.trim() === '½' || b.textContent.trim() === '1/2');
const double = allButtons.find(b => b.textContent.trim() === '2×' || b.textContent.trim() === '2x');
if (half && double) {
console.log('✅ Found via text content');
return { half, double };
}
return null;
};
// Super aggressive enabler
const forceEnableButton = (btn) => {
// Remove disabled in every way possible
btn.disabled = false;
btn.removeAttribute('disabled');
btn.setAttribute('disabled', 'false');
// Override styles
btn.style.setProperty('opacity', '1', 'important');
btn.style.setProperty('pointer-events', 'auto', 'important');
btn.style.setProperty('cursor', 'pointer', 'important');
btn.style.setProperty('filter', 'none', 'important');
// Remove disabled classes
btn.classList.remove('disabled', 'Mui-disabled', 'is-disabled');
// Override inline styles that might disable it
if (btn.hasAttribute('style')) {
const style = btn.getAttribute('style');
const newStyle = style
.replace(/pointer-events\s*:\s*none/gi, 'pointer-events: auto')
.replace(/opacity\s*:\s*0\.\d+/gi, 'opacity: 1')
.replace(/cursor\s*:\s*not-allowed/gi, 'cursor: pointer');
btn.setAttribute('style', newStyle);
}
};
let attempts = 0;
const maxAttempts = 100;
const trySetup = setInterval(() => {
attempts++;
const buttons = findButtons();
if (buttons) {
clearInterval(trySetup);
const { half, double } = buttons;
console.log('🎯 Buttons found!');
console.log('Half:', half.textContent, 'Double:', double.textContent);
// Force enable immediately
forceEnableButton(half);
forceEnableButton(double);
console.log('✅ Buttons force-enabled!');
// Handler for half
const doHalf = (e) => {
console.log('➗ HALF CLICKED!');
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
const input = document.querySelector(FAKE_INPUT_SELECTOR);
if (input) {
const current = parseFloat(input.value) || 0;
const newVal = (current / 2).toFixed(2);
input.value = newVal;
// Fire all update mechanisms
updateConversionInstant();
input.dispatchEvent(new Event('input', { bubbles: true }));
input.dispatchEvent(new Event('change', { bubbles: true }));
console.log(`✅ ${current} → ${newVal}`);
}
return false;
};
// Handler for double
const doDouble = (e) => {
console.log('✖️ DOUBLE CLICKED!');
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
const input = document.querySelector(FAKE_INPUT_SELECTOR);
if (input) {
const current = parseFloat(input.value) || 0;
const newVal = (current * 2).toFixed(2);
input.value = newVal;
// Fire all update mechanisms
updateConversionInstant();
input.dispatchEvent(new Event('input', { bubbles: true }));
input.dispatchEvent(new Event('change', { bubbles: true }));
console.log(`✅ ${current} → ${newVal}`);
}
return false;
};
// Attach to ALL event types
const events = ['click', 'mousedown', 'mouseup', 'pointerdown', 'pointerup', 'touchstart', 'touchend'];
events.forEach(evt => {
half.addEventListener(evt, doHalf, true);
half.addEventListener(evt, doHalf, false);
double.addEventListener(evt, doDouble, true);
double.addEventListener(evt, doDouble, false);
});
// Visual feedback
[half, double].forEach(btn => {
btn.addEventListener('mousedown', () => {
btn.style.transform = 'scale(0.95)';
setTimeout(() => btn.style.transform = 'scale(1)', 100);
});
});
console.log('✅ Event handlers attached to both phases!');
// Keep re-enabling aggressively
setInterval(() => {
forceEnableButton(half);
forceEnableButton(double);
}, 200);
console.log('✅✅✅ BUTTONS FULLY CONFIGURED AND AUTO-ENABLING! ✅✅✅');
} else if (attempts >= maxAttempts) {
clearInterval(trySetup);
console.warn('⚠️ Could not find buttons after', maxAttempts, 'attempts');
} else if (attempts % 10 === 0) {
console.log(`🔍 Still searching... attempt ${attempts}/${maxAttempts}`);
}
}, 150);
}
function applyExactOverlayClone(wrapper, realInput) {
if (wrapper.dataset.tmExactOverlayApplied) return;
wrapper.dataset.tmExactOverlayApplied = '1';
const computed = window.getComputedStyle(wrapper);
if (computed.position === 'static' || !computed.position) {
wrapper.style.position = 'relative';
}
const originalChildren = Array.from(wrapper.children);
const clone = wrapper.cloneNode(true);
deepStrip(clone);
clone.style.position = 'absolute';
clone.style.top = '0';
clone.style.left = '0';
clone.style.width = '100%';
clone.style.height = '100%';
clone.style.boxSizing = 'border-box';
clone.style.zIndex = '999999';
clone.style.pointerEvents = 'auto';
wrapper.appendChild(clone);
for (const ch of originalChildren) {
if (ch === clone) continue;
try {
ch.style.visibility = 'hidden';
ch.style.pointerEvents = 'none';
} catch (e) {}
}
const fakeInput = clone.querySelector(INPUT_SELECTOR) || clone.querySelector('input');
if (fakeInput) {
prepareFakeInput(fakeInput, realInput);
fakeInput.id = 'fake-bet-input';
let conversionSpan = document.querySelector(INNER_CONVERSION_SPAN_SELECTOR);
if (!conversionSpan) {
const conversionDiv = document.createElement('div');
conversionDiv.className = 'crypto svelte-1pm8uy8';
conversionDiv.setAttribute('data-testid', 'conversion-amount');
conversionDiv.setAttribute('bis_skin_checked', '1');
conversionSpan = document.createElement('span');
conversionSpan.setAttribute('type', 'body');
conversionSpan.setAttribute('tag', 'span');
conversionSpan.setAttribute('size', 'sm');
conversionSpan.className = 'ds-body-sm';
conversionSpan.setAttribute('data-ds-text', 'true');
conversionSpan.textContent = formatLTC(0);
conversionDiv.appendChild(document.createComment(''));
conversionDiv.appendChild(conversionSpan);
conversionDiv.appendChild(document.createComment(''));
wrapper.insertAdjacentElement('afterend', conversionDiv);
}
updateCurrencyConversion();
}
const buttons = clone.querySelectorAll('button, [role="button"]');
buttons.forEach(btn => {
deepStrip(btn);
btn.addEventListener('click', ev => {
ev.preventDefault(); ev.stopPropagation && ev.stopPropagation(); ev.stopImmediatePropagation && ev.stopImmediatePropagation();
btn.classList.add('tm-press');
setTimeout(() => btn.classList.remove('tm-press'), 140);
}, true);
});
if (!document.querySelector('#tm-exact-press-style')) {
const s = document.createElement('style');
s.id = 'tm-exact-press-style';
s.textContent = `.tm-press{ transform: scale(0.98) !important; transition: transform 120ms ease !important; }`;
document.head.appendChild(s);
}
isolateEvents(clone);
try {
const mo = new MutationObserver(muts => {
for (const m of muts) {
if (m.attributeName === 'value' || m.attributeName === 'placeholder') {
try { if (fakeInput) fakeInput.value = realInput.value || fakeInput.value; } catch (e) {}
}
}
});
mo.observe(realInput, { attributes: true, attributeFilter: ['value', 'placeholder'] });
} catch (e) {}
const bodyObserver = new MutationObserver(() => {
if (!document.body.contains(wrapper)) {
bodyObserver.disconnect();
setTimeout(() => waitForTarget(), 300);
}
});
bodyObserver.observe(document.body, { childList: true, subtree: true });
const minesSelect = document.querySelector(SELECT_SELECTOR);
if (minesSelect && fakeInput) {
const syncDisabled = () => {
if (minesSelect.disabled) {
fakeInput.disabled = true;
fakeInput.style.opacity = '0.6';
fakeInput.style.pointerEvents = 'none';
} else {
fakeInput.disabled = false;
fakeInput.style.opacity = '1';
fakeInput.style.pointerEvents = 'auto';
}
updateCurrencyConversion();
};
syncDisabled();
const selectObserver = new MutationObserver(syncDisabled);
selectObserver.observe(minesSelect, { attributes: true, attributeFilter: ['disabled'] });
}
}
// Initialize
addStyles();
waitForTarget();
setupBetButtons(); // Setup half/double buttons
let isFirstClick = true;
const blockedRegex = /mine\.DwyaPDKk\.mp3|\/assets\/mine/;
const maxRetries = 4;
const retryDelay = 300;
function isBlocked(target) {
try {
let url = (typeof target === 'string') ? target : (target && target.url) ? target.url : '';
return blockedRegex.test(url);
} catch (e) {
return false;
}
}
async function retryBlock(callback, name) {
for (let i = 1; i <= maxRetries; i++) {
try {
callback();
} catch (e) {}
await new Promise(r => setTimeout(r, retryDelay));
}
}
const originalFetch = window.fetch;
window.fetch = async function(input, init) {
if (isBlocked(input)) {
return new Response(new ArrayBuffer(0), {
status: 200,
statusText: 'OK',
headers: { 'Content-Type': 'audio/mpeg' }
});
}
return originalFetch.apply(this, arguments);
};
const originalOpen = XMLHttpRequest.prototype.open;
const originalSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.open = function(method, url) {
this._ab_url_to_check = url ? String(url) : '';
return originalOpen.apply(this, arguments);
};
XMLHttpRequest.prototype.send = function(body) {
if (this._ab_url_to_check && blockedRegex.test(this._ab_url_to_check)) {
try { this.abort(); } catch (e) {}
return;
}
return originalSend.apply(this, arguments);
};
function scrubAudioElement(a) {
try {
if (!a) return false;
const src = a.src || a.getAttribute && a.getAttribute('src') || '';
if (src && blockedRegex.test(src)) {
a.pause();
a.removeAttribute('src');
a.src = '';
a.muted = true;
return true;
}
} catch (e) {}
return false;
}
document.querySelectorAll('audio').forEach(a => retryBlock(() => scrubAudioElement(a), a.src));
const mo = new MutationObserver(mutations => {
for (const m of mutations) {
if (m.addedNodes && m.addedNodes.length) {
m.addedNodes.forEach(node => {
if (!node) return;
if (node.tagName && node.tagName.toLowerCase() === 'audio') {
retryBlock(() => scrubAudioElement(node), node.src);
} else if (node.querySelectorAll) {
node.querySelectorAll('audio').forEach(a => retryBlock(() => scrubAudioElement(a), a.src));
}
});
}
}
});
mo.observe(document.documentElement || document.body, {
childList: true,
subtree: true
});
const audio = new Audio('data:audio/mpeg;base64,' + base64Audio);
// Tile click handler
document.addEventListener('click', (e) => {
const clickedTile = e.target.closest('button.tile');
if (!clickedTile) return;
const allTiles = document.querySelectorAll('button.tile');
if (isFirstClick) {
setTimeout(() => {
audio.play().catch(error => console.error('Audio playback failed:', error));
}, 700);
isFirstClick = false;
}
clickedTile.classList.add('gem-bounce');
const fakeInput = document.querySelector(FAKE_INPUT_SELECTOR);
if (!fakeInput) return;
const inputValue = parseFloat(fakeInput.value) || 0;
const payout = inputValue * 24.75;
const formattedPayout = formatBalance(payout);
setTimeout(() => {
clickedTile.outerHTML = gemHTML;
allTiles.forEach(tile => {
if (tile !== clickedTile) tile.outerHTML = bombHTML;
});
const gridContainer = document.querySelector('div.wrap.svelte-114gwsk[data-testid="game-mines"]');
if (gridContainer) {
const resultDiv = document.createElement('div');
resultDiv.innerHTML = resultDivHTML;
const newResultDiv = resultDiv.firstChild;
gridContainer.appendChild(newResultDiv);
const payoutSpan = newResultDiv.querySelector('span.text-neutral-subtle.ds-body-md-strong');
if (payoutSpan) {
payoutSpan.textContent = formattedPayout;
}
// Update Total Profit conversion with the exact payout amount
updateProfitConversion(payout);
updateProfitLabel('24.75');
updateProfitInput(payout);
currentBalance += payout;
updateBalanceUI();
}
setTimeout(() => {
const randomBtn = document.querySelector('button[data-testid="random-tile"]');
if (randomBtn) randomBtn.click();
}, 300);
}, 500);
});
// Bet button handler
document.addEventListener('click', (e) => {
const betButton = e.target.closest(BET_BUTTON_SELECTOR);
if (!betButton) return;
const fakeInput = document.querySelector(FAKE_INPUT_SELECTOR);
if (!fakeInput) return;
const betAmount = parseFloat(fakeInput.value) || 0;
if (betAmount <= 0) {
alert('Please enter a valid bet amount.');
return;
}
if (betAmount > currentBalance) {
alert('Insufficient balance for this bet.');
return;
}
// Deduct bet amount
currentBalance -= betAmount;
updateBalanceUI();
updateCurrencyConversion();
// Reset grid
const allTiles = document.querySelectorAll('button.tile');
const resultDiv = document.querySelector('div.game-result-wrap');
if (allTiles.length > 0) {
allTiles.forEach(tile => {
try {
tile.outerHTML = normalHTML;
} catch (e) {}
});
}
if (resultDiv) {
try {
resultDiv.remove();
} catch (e) {}
}
// Reset profit label back to 1.00×
updateProfitLabel('1.00');
// Reset profit conversion back to 0.00000000 LTC
updateProfitConversion(0);
// Reset profit input back to 0.00
updateProfitInput(0);
isFirstClick = true;
});
})();