use-frontbacked 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.mjs","../../src/theme.ts","../../src/utils/base64Images.ts","../../src/utils/c.ts","../../src/utils/CustomError.ts","../../src/utils/f.ts","../../src/components/widgets/DrawerPop/index.tsx","../../src/components/widgets/AppButton.tsx","../../src/components/widgets/InfoLabel.tsx","../../src/components/widgets/InputBox/utils.ts","../../src/components/widgets/InputBox/index.tsx","../../src/components/widgets/Link.tsx","../../src/components/Firebase/index.ts","../../src/components/Firebase/SignInView.tsx","../../src/components/Firebase/SignUpView.tsx","../../src/components/Firebase/AuthView.tsx","../../src/components/widgets/ModalPop/index.tsx","../../src/components/Firebase/AccessTokenDoor.tsx","../../src/components/PayFlow/StatusCoin.tsx","../../src/components/PayFlow/PaymentDetected.tsx","../../src/components/widgets/Loading.tsx","../../src/components/widgets/PleaseWaitForX.tsx","../../src/components/widgets/CopyView.tsx","../../src/components/PayFlow/CryptoDeposit/index.tsx","../../src/components/PayFlow/FiatDeposit/index.tsx","../../src/components/PayFlow/AmountEditor.tsx","../../src/components/PayFlow/index.tsx","../../src/components/PayFlow/WalletFactory.ts","../../src/components/PayFlow/hooks/useCoinListener.ts","../../src/components/PayFlow/hooks/useWalletListener.ts","../../src/components/WalletTracker/index.tsx","../../src/components/PayFlow/hooks/useReferralId.ts","../../src/components/PayFlow/hooks/useServerBalanceUpdate.ts","../../src/components/PayFlow/hooks/usePriceData.ts","../../src/components/PayFlow/hooks/useSdkConfig.ts","../../src/components/PayFlow/types.ts","../../src/components/DownloadType/index.tsx","../../src/utils/storeframer.ts","../../src/components/PaymentRequest/index.tsx","../../src/components/CreditTransfer/index.tsx","../../src/components/PayFlow/hooks/useTools/utils.ts","../../src/components/PayFlow/hooks/useTools/index.ts","../../src/components/SdkProvider/index.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var theme = {\r\n navbarShadow: {\r\n light: \"0px 5px 21px -5px #CDD1E1\",\r\n dark: \"0px 5px 21px -5px #0D1121\"\r\n },\r\n overlayBg: {\r\n light: \"rgba(0, 0, 0, 0.5)\",\r\n dark: \"rgba(35, 35, 55, 0.5)\"\r\n },\r\n selectCoinBg: {\r\n light: \"#f9f9f9\",\r\n dark: \"#292929\"\r\n },\r\n transferWarningBg: {\r\n light: \"#FFFBEB\",\r\n dark: \"#6F4B3B\"\r\n },\r\n cardBg: {\r\n light: \"rgb(255, 255, 255)\",\r\n dark: \"rgb(24, 26, 32)\"\r\n },\r\n cardBgShadow: {\r\n light: \"rgb(255, 255, 255)\",\r\n dark: \"rgb(24, 26, 32)\"\r\n },\r\n cardBgInverse: {\r\n light: \"rgb(24, 26, 32)\",\r\n dark: \"rgb(255, 255, 255)\"\r\n },\r\n cardBgHover: {\r\n light: \"rgb(245, 245, 245)\",\r\n dark: \"rgb(34, 36, 42)\"\r\n },\r\n dividerColor: {\r\n light: \"gray.200\",\r\n dark: \"gray.800\"\r\n },\r\n loadingColor: {\r\n light: \"#1A202C\",\r\n dark: \"#E2E8F0\"\r\n },\r\n error: {\r\n light: \"#800\",\r\n dark: \"#800\"\r\n },\r\n};\r\nexport default theme;\r\n","export var LIB_LOGO = \"data:image/png;base64,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\";\r\nexport var BNB_LOGO = \"data:image/png;base64,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\";\r\nexport var ETH_LOGO = \"data:image/png;base64,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\";\r\nexport var TOOL_FALLBACK_IMAGE = \"data:image/png;base64,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\";\r\n","import { LIB_LOGO, BNB_LOGO, ETH_LOGO, } from \"./base64Images\";\r\nimport WalletFactoryTestnet from '../abis/WalletFactoryTestnet.json';\r\nimport WalletFactoryBsc from '../abis/WalletFactoryBsc.json';\r\nimport WalletFactoryEth from '../abis/WalletFactoryEth.json';\r\nimport WalletFactoryGoerli from '../abis/WalletFactoryGoerli.json';\r\nexport var FIREBASE_CONFIG = {\r\n apiKey: \"AIzaSyBykIOPWfKmDrAC6jly4p1Hl_NsaRSntFo\",\r\n authDomain: \"my-project-223a2.firebaseapp.com\",\r\n projectId: \"my-project-223a2\",\r\n storageBucket: \"my-project-223a2.appspot.com\",\r\n messagingSenderId: \"121945247533\",\r\n appId: \"1:121945247533:web:408269d255291ea70b8da4\",\r\n measurementId: \"G-2L4CPV9S32\"\r\n};\r\nexport var PROMISE_ID = {\r\n signIn: \"signIn\",\r\n getAccessToken: \"getAccessToken\",\r\n deposit: \"deposit\",\r\n downloadType: \"downloadType\",\r\n requestPayment: \"requestPayment\",\r\n creditTransfer: \"creditTransfer\"\r\n};\r\nexport var IS_TEST = false;\r\n//export const SERVER_BASE_URL_TEST = \"https://server.frontbacked.com\"//\"http://localhost:3001\"\r\n//export const SERVER_BASE_URL_LIVE = \"https://server.frontbacked.com\"\r\nexport var PRECISION = 5;\r\nexport var SDK_RETRY_INTERVAL_MINS = 0.2;\r\nexport var PRICE_FETCH_INTERVAL_MINS = 10;\r\nexport var MIN_BLOCK_CHECK_INTERVAL_SECONDS = 5;\r\nexport var MIN_REFERAAL_WITHDRAWAL = 20;\r\nexport var CHAINS_RPC_LISTS = {\r\n bnb: [\r\n \"https://bsc-dataseed.binance.org\",\r\n \"https://bsc-dataseed1.binance.org\",\r\n \"https://bsc-dataseed1.bnbchain.org\",\r\n \"https://bsc-dataseed2.bnbchain.org\",\r\n \"https://bsc-dataseed3.bnbchain.org\",\r\n \"https://bsc-dataseed4.bnbchain.org\",\r\n \"https://bsc-dataseed1.defibit.io\",\r\n \"https://bsc-dataseed2.defibit.io\",\r\n \"https://bsc-dataseed3.defibit.io\",\r\n ],\r\n bnb_testnet: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ],\r\n ethereum: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ],\r\n ethereum_testnet: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ]\r\n};\r\nexport var COINS = {\r\n bnb: {\r\n coingecko_price_key: \"binancecoin\",\r\n disabled: IS_TEST,\r\n decimals: 18,\r\n requiredConfirmations: 20,\r\n priority: 1,\r\n key: \"bnb\",\r\n symbol: \"BNB\",\r\n name: \"BNB(Binance smart chain)\",\r\n depositWarning: \"Please make sure you send only BNB coin to the wallet address shown.\",\r\n secondsPerBlock: 3,\r\n logo: BNB_LOGO,\r\n abiData: WalletFactoryBsc\r\n },\r\n bnb_testnet: {\r\n coingecko_price_key: \"binancecoin\",\r\n disabled: !IS_TEST,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 1,\r\n key: \"bnb_testnet\",\r\n name: \"BNB(Binance smart chain)\",\r\n symbol: \"tBNB\",\r\n depositWarning: \"Please make sure you send only BNB coin to the wallet address shown.\",\r\n secondsPerBlock: 3,\r\n logo: BNB_LOGO,\r\n abiData: WalletFactoryTestnet\r\n },\r\n ethereum: {\r\n coingecko_price_key: \"ethereum\",\r\n disabled: true,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 2,\r\n key: \"ethereum\",\r\n symbol: \"ETH\",\r\n name: \"Ethereum(Ethereum block chain)\",\r\n depositWarning: \"Please make sure you send only Ethereum coin to the wallet address shown.\",\r\n secondsPerBlock: 12,\r\n logo: ETH_LOGO,\r\n abiData: WalletFactoryEth\r\n },\r\n ethereum_testnet: {\r\n coingecko_price_key: \"ethereum\",\r\n disabled: true,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 2,\r\n key: \"ethereum_testnet\",\r\n symbol: \"tETH\",\r\n name: \"Ethereum(Goerli network)\",\r\n depositWarning: \"Please make sure you send only Test Ethereum coin to the wallet address shown.\",\r\n secondsPerBlock: 12,\r\n logo: ETH_LOGO,\r\n abiData: WalletFactoryGoerli\r\n }\r\n};\r\nexport var SDK_NAME = \"APP\";\r\nexport var SDK_SITE = \"https://frontbacked.com\";\r\nexport var STORE_FRAME_ID = \"\".concat(SDK_NAME, \"_storeframe\");\r\nexport var STORAGE_KEYS = {\r\n ENABLED_LOG: \"\".concat(SDK_NAME, \"_ENABLED_LOG\"),\r\n SDK_CONFIG: \"\".concat(SDK_NAME, \"_SDK_CONFIG\"),\r\n DOC_RULES: \"\".concat(SDK_NAME, \"_DOC_RULES\"),\r\n LAST_DEPOSIT_BLOCK_NUMBER: \"\".concat(SDK_NAME, \"_LAST_DEPOSIT_BLOCK_NUMBER\"),\r\n LAST_LOGIN_MILLI: \"\".concat(SDK_NAME, \"_LAST_LOGIN_MILLI\"),\r\n LAST_USD_BALANCE: \"\".concat(SDK_NAME, \"_LAST_USD_BALANCE\"),\r\n USER: \"\".concat(SDK_NAME, \"_USER\")\r\n};\r\nexport var LOGO_PATH = LIB_LOGO;\r\nexport var MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS = 300;\r\nexport var REF_PCT = 20;\r\nexport var ERROR_X = \"An error occurred. Please try again later.\";\r\n","import { __extends } from \"tslib\";\r\nvar CustomError = /** @class */ (function (_super) {\r\n __extends(CustomError, _super);\r\n function CustomError(message, code) {\r\n var _newTarget = this.constructor;\r\n var _this = _super.call(this, message) || this;\r\n _this.name = 'CustomError';\r\n _this.code = code;\r\n // Ensure the correct prototype chain\r\n Object.setPrototypeOf(_this, _newTarget.prototype);\r\n return _this;\r\n }\r\n return CustomError;\r\n}(Error));\r\nexport default CustomError;\r\n","import Web3 from \"web3\";\r\nimport theme from \"../theme\";\r\nimport { COINS, ERROR_X, STORAGE_KEYS } from \"./c\";\r\nimport CustomError from \"./CustomError\";\r\nvar Decimal = require('decimal.js');\r\nexport function isEthAddress(address) {\r\n try {\r\n return Web3.utils.toChecksumAddress(address);\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\nexport function weiToEther(bigIntValue, decimalPlaces, precision) {\r\n var bigDecimalValue = new Decimal(bigIntValue.toString());\r\n return Number(bigDecimalValue.div(new Decimal(10).pow(decimalPlaces)).toNumber().toPrecision(precision));\r\n}\r\nexport function bigIntToBigDecimal(bigIntValue) {\r\n return new Decimal(bigIntValue.toString());\r\n}\r\nexport var nullOrEmpty = function (d) {\r\n return !d || d.length == 0;\r\n};\r\nexport var isVoid = function (value) {\r\n return value === undefined || value === null;\r\n};\r\nexport var isValidEmail = function (email) {\r\n return /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(email);\r\n};\r\nexport var isValidPhone = function (phone) {\r\n return /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(phone);\r\n};\r\nexport var USE_SOFT_BAKER_RESOLVE_PREFIX = \"USE_SOFT_BAKER_RESOLVE_\";\r\nexport var USE_SOFT_BAKER_REJECT_PREFIX = \"USE_SOFT_BAKER_REJECT_\";\r\nexport var promiseResolvePending = function (promiseId) {\r\n return window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)] != undefined;\r\n};\r\nexport var promiseRejectPending = function (promiseId) {\r\n return window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)] != undefined;\r\n};\r\nexport var savePromise = function (promiseId, resolve, reject, pollInterval) {\r\n if (pollInterval === void 0) { pollInterval = 200; }\r\n window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)] = resolve;\r\n window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)] = reject;\r\n};\r\nexport var resolvePromise = function (promiseId, data) {\r\n if (window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)]) {\r\n window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)](data);\r\n delete window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)];\r\n delete window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)];\r\n }\r\n};\r\nexport var rejectPromise = function (promiseId, error) {\r\n if (window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)]) {\r\n window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)](error);\r\n delete window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)];\r\n delete window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)];\r\n }\r\n};\r\nexport var updateLogSettings = function (enableLog) {\r\n if (enableLog) {\r\n localStorage.setItem(STORAGE_KEYS.ENABLED_LOG, \"true\");\r\n }\r\n else {\r\n localStorage.setItem(STORAGE_KEYS.ENABLED_LOG, \"false\");\r\n }\r\n};\r\nexport var consoleLog = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Check if the environment is not Windows\r\n if (typeof window === 'undefined') {\r\n console.log.apply(console, args);\r\n return;\r\n }\r\n // Check if logging has been disabled\r\n var isEnabled = localStorage.getItem(STORAGE_KEYS.ENABLED_LOG) === \"true\";\r\n // If not disabled and not in a Windows environment, call the normal console.log\r\n if (isEnabled) {\r\n console.log.apply(console, args);\r\n }\r\n};\r\nexport var whatsappLink = function (phoneNumber, message, isWeb) {\r\n if (message) {\r\n //message = `?text=${message.replaceAll(\"\\n\", \"%0A\")}`.replaceAll(\" \", \"%20\")/*\r\n try {\r\n message = \"\".concat(message.replace(/\\n/g, \"%0A\")).replace(/[ ]/g, \"%20\");\r\n }\r\n catch (e) { }\r\n }\r\n return isWeb ? \"https://web.whatsapp.com/send/?phone=\".concat(phoneNumber || \"\", \"&text=\").concat(message || \"\", \"&type=phone_number&app_absent=0\")\r\n :\r\n \"https://wa.me/\".concat(phoneNumber || \"\", \"?text=\").concat(message || \"\");\r\n};\r\nexport var getDefaultCoin = function () {\r\n var defaultCoin = \"bnb\";\r\n var lastPriority = -1;\r\n for (var _i = 0, _a = Object.keys(COINS); _i < _a.length; _i++) {\r\n var coin = _a[_i];\r\n if (!COINS[coin].disabled && (lastPriority < 0 || COINS[coin].priority < lastPriority)) {\r\n defaultCoin = coin;\r\n lastPriority = COINS[coin].priority;\r\n }\r\n }\r\n return defaultCoin;\r\n};\r\nexport var downloadSvgAsImage = function (svgString, format, fileName) {\r\n if (format === void 0) { format = 'png'; }\r\n if (fileName === void 0) { fileName = 'downloadedImage'; }\r\n return new Promise(function (resolve, reject) {\r\n var svgBlob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var svgUrl = URL.createObjectURL(svgBlob);\r\n var img = new Image();\r\n img.onload = function () {\r\n var canvas = document.createElement('canvas');\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n var context = canvas.getContext('2d');\r\n if (context) {\r\n context.drawImage(img, 0, 0);\r\n var dataUrl = canvas.toDataURL(\"image/\".concat(format));\r\n var imageBlob = dataURLToBlob(dataUrl);\r\n if (isiPhone()) {\r\n // Workaround for iPhone browsers\r\n var binaryData = [imageBlob];\r\n var iphoneBlob = new Blob(binaryData, { type: \"image/\".concat(format) });\r\n var iphoneUrl = URL.createObjectURL(iphoneBlob);\r\n var downloadLink = document.createElement('a');\r\n downloadLink.href = iphoneUrl;\r\n downloadLink.download = \"\".concat(fileName, \".\").concat(format);\r\n downloadLink.click();\r\n URL.revokeObjectURL(iphoneUrl);\r\n resolve(iphoneUrl);\r\n }\r\n else {\r\n // For other browsers\r\n var downloadLink = document.createElement('a');\r\n downloadLink.href = dataUrl;\r\n downloadLink.download = \"\".concat(fileName, \".\").concat(format);\r\n downloadLink.click();\r\n resolve(dataUrl);\r\n }\r\n }\r\n else {\r\n reject(new Error(\"Unsupported Browser. Please try to download from another browser.\"));\r\n }\r\n };\r\n img.src = svgUrl;\r\n });\r\n};\r\nfunction dataURLToBlob(dataURL) {\r\n var arr = dataURL.split(',');\r\n var mime = arr[0].match(/:(.*?);/)[1];\r\n var bstr = atob(arr[1]);\r\n var n = bstr.length;\r\n var u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], { type: mime });\r\n}\r\nfunction isiPhone() {\r\n return /iPhone/i.test(navigator.userAgent);\r\n}\r\nexport function extractNumberFromString(text) {\r\n if (!text)\r\n return null;\r\n text = \"\".concat(text);\r\n // Define a regular expression to match numbers with decimals and optional commas as thousands separators\r\n var numberRegex = /\\D+/g;\r\n var numParts = text.split(\".\");\r\n var mantissa = numParts[0].replace(numberRegex, '');\r\n var decimals = numParts.length > 1 ? numParts[1].replace(numberRegex, '') : null;\r\n if (mantissa && mantissa.length > 0) {\r\n var result = mantissa;\r\n if (decimals)\r\n result += \".\".concat(decimals);\r\n return Number(result);\r\n }\r\n return null;\r\n}\r\nexport var getColor = function (isDarkMode, colorName) {\r\n var color = theme[colorName];\r\n if (color) {\r\n return isDarkMode === true ? color.dark : color.light;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n};\r\nexport var decimalsText = function (d) {\r\n // Check if the input is a non-negative integer\r\n if (Number.isInteger(d) && d >= 0) {\r\n // Use string concatenation to create the string representation\r\n return '1' + '0'.repeat(d);\r\n }\r\n else {\r\n // Handle invalid input, you might want to throw an error or handle it differently\r\n throw new Error('Input must be a non-negative integer.');\r\n }\r\n};\r\nexport var getError = function (error, defaultMessage) {\r\n var _a, _b;\r\n var message = defaultMessage, code = \"none\";\r\n if (error.response) {\r\n // The request was made and the server responded with a status code\r\n // that falls out of the range of 2xx\r\n message = ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) || defaultMessage || ERROR_X;\r\n code = error.response.data.code || \"none\";\r\n }\r\n else if (error.request) {\r\n // The request was made but no response was received\r\n message = \"No response received from the server. Try again later\";\r\n }\r\n else if (error.message) {\r\n // Something happened in setting up the request that triggered an Error\r\n message = error.message;\r\n }\r\n return message ? new CustomError(message, code) : null;\r\n};\r\nexport var emptyNumber = function (n) {\r\n return isNaN(n) || n == 0;\r\n};\r\nexport var amountFormatDefault = function (v, minFD, maxFD, noZeroDecimals) {\r\n if (isNaN(v))\r\n return \"0.00\";\r\n var resolvedMaxFD = maxFD !== null && maxFD !== void 0 ? maxFD : 2;\r\n var resolvedMinFD = noZeroDecimals ? 0 : (minFD !== null && minFD !== void 0 ? minFD : 2);\r\n var factor = Math.pow(10, resolvedMaxFD);\r\n var roundedValue = Math.floor(v * factor) / factor;\r\n // Format first\r\n var formatted = roundedValue.toLocaleString(\"en\", {\r\n minimumFractionDigits: resolvedMinFD,\r\n maximumFractionDigits: resolvedMaxFD\r\n });\r\n // Remove trailing `.0`, `.00`, etc. if noZeroDecimals is true\r\n if (noZeroDecimals) {\r\n if (formatted.includes('.')) {\r\n // Remove only if all decimal digits are zero\r\n var _a = formatted.split('.'), intPart = _a[0], decimalPart = _a[1];\r\n if (/^0+$/.test(decimalPart)) {\r\n formatted = intPart;\r\n }\r\n }\r\n }\r\n return formatted;\r\n};\r\nexport var isBrowser = function () {\r\n return typeof window !== \"undefined\";\r\n};\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, HStack, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DrawerOverlay, Text } from \"@chakra-ui/react\";\r\nimport { FaTimes } from \"react-icons/fa\";\r\nimport { isVoid } from '../../../utils/f';\r\nvar DrawerPop = function (_a) {\r\n var bg = _a.bg, color = _a.color, children = _a.children, placement = _a.placement, onClose = _a.onClose, isOpen = _a.isOpen, isClosable = _a.isClosable, closeOnOverlayClick = _a.closeOnOverlayClick, title = _a.title, footer = _a.footer, hideModeSwitch = _a.hideModeSwitch, h = _a.h, height = _a.height, maxH = _a.maxH, maxHeight = _a.maxHeight, w = _a.w, width = _a.width, maxW = _a.maxW, maxWidth = _a.maxWidth, props = __rest(_a, [\"bg\", \"color\", \"children\", \"placement\", \"onClose\", \"isOpen\", \"isClosable\", \"closeOnOverlayClick\", \"title\", \"footer\", \"hideModeSwitch\", \"h\", \"height\", \"maxH\", \"maxHeight\", \"w\", \"width\", \"maxW\", \"maxWidth\"]);\r\n var _b = useState(), height2 = _b[0], setHeight = _b[1];\r\n var _c = useState(), width2 = _c[0], setWidth = _c[1];\r\n var _d = useState({}), borderTopLeftRadius = _d[0], setBorderTopLeftRadius = _d[1];\r\n var _e = useState({}), borderTopRightRadius = _e[0], setBorderTopRightRadius = _e[1];\r\n var _f = useState({}), borderBottomLeftRadius = _f[0], setBorderBottomLeftRadius = _f[1];\r\n var _g = useState({}), borderBottomRightRadius = _g[0], setBorderBottomRightRadius = _g[1];\r\n useEffect(function () {\r\n if (placement === \"left\") {\r\n setBorderTopLeftRadius(\"0px\");\r\n setBorderTopRightRadius(\"32px\");\r\n setBorderBottomLeftRadius(\"0px\");\r\n setBorderBottomRightRadius(\"32px\");\r\n setHeight(height || h);\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"right\") {\r\n setBorderTopLeftRadius(\"32px\");\r\n setBorderTopRightRadius(\"0px\");\r\n setBorderBottomLeftRadius(\"32px\");\r\n setBorderBottomRightRadius(\"0px\");\r\n setHeight(height || h);\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"top\") {\r\n setBorderTopLeftRadius(\"0px\");\r\n setBorderTopRightRadius(\"0px\");\r\n setBorderBottomLeftRadius(\"32px\");\r\n setBorderBottomRightRadius(\"32px\");\r\n setHeight(height || h || \"50vh\");\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"bottom\") {\r\n setBorderTopLeftRadius(\"32px\");\r\n setBorderTopRightRadius(\"32px\");\r\n setBorderBottomLeftRadius(\"0px\");\r\n setBorderBottomRightRadius(\"0px\");\r\n setHeight(height || h || \"60vh\");\r\n setWidth(width || w);\r\n }\r\n }, [placement, height, width]);\r\n // Prevent the default behavior of the browser's back button only when the drawer is open\r\n useEffect(function () {\r\n var handleBackButton = function (event) {\r\n event.preventDefault();\r\n if (isOpen && onClose) {\r\n onClose();\r\n }\r\n };\r\n window.addEventListener('popstate', handleBackButton);\r\n return function () {\r\n window.removeEventListener('popstate', handleBackButton);\r\n };\r\n }, []);\r\n return (React.createElement(Drawer, { placement: placement, onClose: onClose ? onClose : function () { }, isOpen: isOpen, closeOnOverlayClick: isVoid(closeOnOverlayClick) ? true : closeOnOverlayClick },\r\n React.createElement(DrawerOverlay, null),\r\n React.createElement(DrawerContent, __assign({ bg: bg, color: color, h: height2, w: width2, maxH: maxH || maxHeight || height2, maxW: maxW || maxWidth || width2, borderTopLeftRadius: borderTopLeftRadius, borderTopRightRadius: borderTopRightRadius, borderBottomLeftRadius: borderBottomLeftRadius, borderBottomRightRadius: borderBottomRightRadius }, props),\r\n React.createElement(DrawerHeader, { borderBottomWidth: '1px', w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"1.1rem\", md: \"1.3rem\" }, textTransform: \"capitalize\" }, title),\r\n React.createElement(HStack, null, onClose && (isClosable || isClosable === undefined) ?\r\n React.createElement(Box, { onClick: onClose, cursor: \"pointer\", display: \"block\" },\r\n React.createElement(FaTimes, { size: \"24px\" }))\r\n :\r\n null)),\r\n React.createElement(DrawerBody, __assign({}, props), children),\r\n footer ?\r\n React.createElement(DrawerFooter, null, footer)\r\n : null)));\r\n};\r\nexport default DrawerPop;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { Box, Button, HStack, Text } from \"@chakra-ui/react\";\r\nimport { ThreeDots } from \"react-loader-spinner\";\r\nvar AppButton = function (_a) {\r\n var as = _a.as, onClick = _a.onClick, children = _a.children, variant = _a.variant, bgColor = _a.bgColor, outlineColor = _a.outlineColor, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, loading = _a.loading, disabled = _a.disabled, props = __rest(_a, [\"as\", \"onClick\", \"children\", \"variant\", \"bgColor\", \"outlineColor\", \"leftIcon\", \"rightIcon\", \"loading\", \"disabled\"]);\r\n var bg = \"green.500\"; //bgColor || useColorModeValue('colorAccent.light', 'colorAccent.dark')\r\n var outline = \"green.500\"; //outlineColor || useColorModeValue(\"colorAccentDestination.light\", \"colorAccentDestination.dark\")\r\n return (React.createElement(Button, __assign({ as: as || \"button\", cursor: disabled ? \"not-allowed\" : loading ? \"progress\" : \"pointer\", disabled: disabled || loading, onClick: function (e) {\r\n if (onClick && !(disabled || loading))\r\n onClick(e);\r\n }, display: \"inline-flex\", justifyContent: \"center\", alignItems: \"center\", p: \"0px 24px\", h: \"48px\", letterSpacing: \"0.03em\", textAlign: \"center\", borderRadius: \"16px\", bg: variant == \"outline\" ? \"transparent\" : bg, border: variant == \"outline\" ? \"2px solid\" : \"none\", borderColor: variant == \"outline\" ? outline : \"transparent\", color: variant == \"outline\" ? outline : \"#fff\", boxShadow: (variant == \"ghost\" || variant == \"outline\") ? \"none\" : \"rgb(14 14 44 / 40%) 0px -1px 0px 0px inset\", opacity: disabled || loading ? \"0.65\" : variant == \"ghost\" ? \"0.8\" : \"1\", transition: \"background-color 0.2s ease 0s, opacity 0.2s ease 0s\", _hover: {\r\n opacity: \"0.65\",\r\n border: \"none !important\"\r\n }, _disabled: {\r\n opacity: \"0.65\",\r\n cursor: \"not-allowed\"\r\n } }, props),\r\n React.createElement(HStack, { justifyContent: \"center\", alignItems: \"center\" },\r\n leftIcon ? React.createElement(Box, { mr: \"7px\" }, leftIcon) : null,\r\n React.createElement(Text, { as: \"div\" }, children),\r\n loading ?\r\n React.createElement(Box, { as: ThreeDots, display: \"inline\", width: \"20%\", height: \"20%\", color: \"#fff\" })\r\n :\r\n rightIcon ? React.createElement(Box, { ml: \"7px\" }, rightIcon) : null)));\r\n};\r\nexport default AppButton;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { FaInfoCircle } from \"react-icons/fa\";\r\nimport { Box, HStack, Text } from \"@chakra-ui/react\";\r\nimport Swal from 'sweetalert2';\r\nvar InfoLabel = function (_a) {\r\n var children = _a.children, as = _a.as, info = _a.info, textTransform = _a.textTransform, props = __rest(_a, [\"children\", \"as\", \"info\", \"textTransform\"]);\r\n var onInfo = function (i) {\r\n Swal.fire({\r\n icon: \"info\",\r\n title: children || \"\",\r\n text: i,\r\n confirmButtonText: \"Ok\",\r\n showCancelButton: false\r\n });\r\n };\r\n return (React.createElement(HStack, __assign({ flexWrap: \"wrap\", justifyContent: \"flex-start\", alignItems: \"center\" }, props),\r\n React.createElement(Text, { mx: \"0px !important\", mb: \"0px !important\", as: as || \"div\", textTransform: textTransform || \"capitalize\" }, children),\r\n !info ? null :\r\n React.createElement(Box, { cursor: \"pointer\", marginInlineStart: \"0px !important\", marginInlineEnd: \"0px !important\", p: \"3px\", onClick: function () { return onInfo(info); } },\r\n React.createElement(FaInfoCircle, null))));\r\n};\r\nexport default InfoLabel;\r\n","export var arraysEqual = function (array1, array2) {\r\n // if the other array is a falsy value, return\r\n if (!array1 || !array2 || array1.length != array2.length)\r\n return false;\r\n // if the argument is the same array, we can be sure the contents are same as well\r\n if (array1 === array2)\r\n return true;\r\n for (var i = 0, l = array1.length; i < l; i++) {\r\n // Check if we have nested arrays\r\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\r\n // recurse into the nested arrays\r\n if (!arraysEqual(array1[i], array2[i]))\r\n return false;\r\n }\r\n else if (array1[i] != array2[i]) {\r\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n","import { __assign, __rest, __spreadArray } from \"tslib\";\r\nimport React, { useCallback, useMemo } from 'react';\r\nimport { HStack, FormControl, FormLabel, Input, FormErrorMessage, FormHelperText, Text, Select, InputGroup, InputLeftElement, InputRightElement, Box, Textarea, Checkbox, RadioGroup, Stack, Radio, Flex, VStack } from '@chakra-ui/react';\r\nimport { nullOrEmpty } from \"../../../utils/f\";\r\n//import 'react-phone-number-input/style.css'\r\nimport PhoneInput, { parsePhoneNumber } from 'react-phone-number-input';\r\nimport { useEffect, useState } from 'react';\r\nimport { FaEye, FaEyeSlash, FaMinus, FaPlus } from 'react-icons/fa';\r\nimport InfoLabel from '../InfoLabel';\r\n//import LocationPicker from '../LocationPicker';\r\nimport { arraysEqual } from './utils';\r\n//import SelectTree, { SelectTreeEvent, SelectTreeOptionWithChildren } from './inputs/SelectTree';\r\nvar countryCodes = require('country-codes-list');\r\nexport var TYPES = {\r\n text: \"text\",\r\n email: \"email\",\r\n number: \"number\",\r\n range: \"range\",\r\n date: \"date\",\r\n phone: \"phone\",\r\n password: \"password\",\r\n select: \"select\",\r\n select_tree: \"select_tree\",\r\n textarea: \"textarea\",\r\n checkbox: \"checkbox\",\r\n checklist: \"checklist\",\r\n radio: \"radio\",\r\n none: \"none\",\r\n location: \"location\",\r\n price: \"price\"\r\n};\r\nfunction extractNumberFromString(text) {\r\n if (!text)\r\n return null;\r\n text = \"\".concat(text);\r\n // Define a regular expression to match numbers with decimals and optional commas as thousands separators\r\n var numberRegex = /\\D+/g;\r\n var numParts = text.split(\".\");\r\n var mantissa = numParts[0].replace(numberRegex, '');\r\n var decimals = numParts.length > 1 ? numParts[1].replace(numberRegex, '') : null;\r\n if (mantissa && mantissa.length > 0) {\r\n var result = mantissa;\r\n if (decimals)\r\n result += \".\".concat(decimals);\r\n return Number(result);\r\n }\r\n return null;\r\n}\r\nvar InputBox = function (_a) {\r\n var id = _a.id, key = _a.key, title = _a.title, name = _a.name, type = _a.type, locale = _a.locale, value = _a.value, onChange = _a.onChange, onFocus = _a.onFocus, onCheckInfo = _a.onCheckInfo, onKeyDown = _a.onKeyDown, errorMessage = _a.errorMessage, helperText = _a.helperText, info = _a.info, placeholder = _a.placeholder, textTransform = _a.textTransform, options = _a.options, onOptionValue = _a.onOptionValue, onOptionName = _a.onOptionName, defaultCountry = _a.defaultCountry, phoneSelectBg = _a.phoneSelectBg, phoneSelectColor = _a.phoneSelectColor, _b = _a.numberDecimals, numberDecimals = _b === void 0 ? 2 : _b, hasNegOverflow = _a.hasNegOverflow, numberUnit = _a.numberUnit, rangeMinPlaceholder = _a.rangeMinPlaceholder, minTitle = _a.minTitle, rangeMaxPlaceholder = _a.rangeMaxPlaceholder, maxTitle = _a.maxTitle, disabled = _a.disabled, maxTextLimit = _a.maxTextLimit, direction = _a.direction, resize = _a.resize, disableCalendar = _a.disableCalendar, disableClock = _a.disableClock, dateFormat = _a.dateFormat, iconLeft = _a.iconLeft, iconRight = _a.iconRight, apiKey = _a.apiKey, mapToSearchRatio = _a.mapToSearchRatio, twoDigitCountryCode = _a.twoDigitCountryCode, inputRef = _a.inputRef, defaultLatlng = _a.defaultLatlng, geotype = _a.geotype, props = __rest(_a, [\"id\", \"key\", \"title\", \"name\", \"type\", \"locale\", \"value\", \"onChange\", \"onFocus\", \"onCheckInfo\", \"onKeyDown\", \"errorMessage\", \"helperText\", \"info\", \"placeholder\", \"textTransform\", \"options\", \"onOptionValue\", \"onOptionName\", \"defaultCountry\", \"phoneSelectBg\", \"phoneSelectColor\", \"numberDecimals\", \"hasNegOverflow\", \"numberUnit\", \"rangeMinPlaceholder\", \"minTitle\", \"rangeMaxPlaceholder\", \"maxTitle\", \"disabled\", \"maxTextLimit\", \"direction\", \"resize\", \"disableCalendar\", \"disableClock\", \"dateFormat\", \"iconLeft\", \"iconRight\", \"apiKey\", \"mapToSearchRatio\", \"twoDigitCountryCode\", \"inputRef\", \"defaultLatlng\", \"geotype\"]);\r\n var _c = useState(), showPassword = _c[0], setShowPassword = _c[1];\r\n var _d = useState([]), decimalsSet = _d[0], setDecimalsSet = _d[1];\r\n var parseNum = function (value) {\r\n var num = extractNumberFromString(value);\r\n if (num) {\r\n return num;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n useEffect(function () {\r\n if (type == TYPES.number && value && title && !decimalsSet.includes(title)) {\r\n setDecimalsSet(__spreadArray(__spreadArray([], decimalsSet, true), [title], false));\r\n var v = parseNum(value);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n }\r\n }, [value, name]);\r\n var changeNumber = function (e) {\r\n var value = e.target.value;\r\n console.log(\"changeNumber:\", value);\r\n var v = parseNum(value);\r\n console.log(\"changeNumber:2\", v);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n };\r\n var increaseNumber = function () {\r\n var numberSteps = (1 / Math.pow(10, numberDecimals || 0));\r\n var v = (parseNum(value) + numberSteps);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n };\r\n var decreaseNumber = function () {\r\n var numberSteps = (1 / Math.pow(10, numberDecimals || 0));\r\n var result = parseNum(value) - numberSteps;\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = result;\r\n if (!disabled && onChange)\r\n onChange(v);\r\n };\r\n var updateRangeValue = useCallback(function (min, max) {\r\n if (!isNaN(min)) {\r\n var result = parseFloat(\"\".concat(min));\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = { min: result, max: (value === null || value === void 0 ? void 0 : value.max) || 0 };\r\n if (!disabled && onChange)\r\n onChange(v);\r\n }\r\n else if (!isNaN(max)) {\r\n var result = parseFloat(\"\".concat(max));\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = { min: (value === null || value === void 0 ? void 0 : value.min) || 0, max: result };\r\n if (!disabled && onChange)\r\n onChange(v);\r\n }\r\n }, [hasNegOverflow, disabled]);\r\n var _e = useState({}), countryCodesMap = _e[0], setCountryCodesMap = _e[1];\r\n useEffect(function () {\r\n if (type == TYPES.phone) {\r\n var countruesToCurrency = countryCodes.customList('countryCode', '{currencyCode}');\r\n setCountryCodesMap(countruesToCurrency);\r\n }\r\n }, [type]);\r\n var _f = useState([]), checklist = _f[0], setChecklist = _f[1];\r\n useEffect(function () {\r\n if (Array.isArray(options) && checklist.length == 0) {\r\n setChecklist(options);\r\n }\r\n }, [options, value]);\r\n var _g = useState(false), searchActive = _g[0], setSearchActive = _g[1];\r\n var handleInputCheck = useCallback(function (getLatestValue, onValueIsLatest, checker, waitTime) {\r\n if (checker) {\r\n if (!searchActive) {\r\n setSearchActive(true);\r\n setTimeout(function () {\r\n var check = function () {\r\n var checkedValue = getLatestValue();\r\n checker(checkedValue)\r\n .then(function () {\r\n //If the input has changed after the check was done, check the new input\r\n if (!onValueIsLatest(checkedValue)) {\r\n check();\r\n }\r\n else {\r\n setSearchActive(false);\r\n }\r\n })\r\n .catch(function (e) {\r\n setSearchActive(false);\r\n });\r\n };\r\n check();\r\n }, waitTime || 0);\r\n }\r\n }\r\n }, [searchActive]);\r\n var memoizedOptions = useMemo(function () {\r\n // Compute and memoize the options array here\r\n return (options || []).map(function (v, i) {\r\n if (onOptionValue && onOptionName) {\r\n return React.createElement(\"option\", { key: i, value: onOptionValue(v, i) }, onOptionName(v, i));\r\n }\r\n else {\r\n return null;\r\n }\r\n });\r\n }, [options, onOptionValue, onOptionName]);\r\n return (React.createElement(FormControl, __assign({ isInvalid: !nullOrEmpty(errorMessage) && type != TYPES.location, opacity: disabled ? \"0.3\" : \"1\" }, props),\r\n !title || type == TYPES.checkbox ? null :\r\n nullOrEmpty(info) ?\r\n React.createElement(FormLabel, { textTransform: textTransform || \"capitalize\" }, title)\r\n :\r\n React.createElement(InfoLabel, { as: FormLabel, info: info, textTransform: textTransform || \"capitalize\" }, title),\r\n type == TYPES.date ?\r\n null\r\n :\r\n type == TYPES.select ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Select, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, value: value, placeholder: placeholder || \"\", onChange: function (e) {\r\n if (!disabled && onChange)\r\n onChange(e.target.value);\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }, memoizedOptions),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null)\r\n :\r\n type == TYPES.phone ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, as: PhoneInput, defaultCountry: defaultCountry || \"US\", background: \"transparent !important\", _focusVisible: {\r\n outline: \"none !important\",\r\n border: \"none !important\"\r\n }, placeholder: placeholder || \"\", value: value === null || value === void 0 ? void 0 : value.number, onKeyDown: onKeyDown, onChange: function (v) {\r\n var getNumberInfo = function () {\r\n var codes = parsePhoneNumber(\"\".concat(v));\r\n return {\r\n number: \"\".concat(v),\r\n countryCode: codes === null || codes === void 0 ? void 0 : codes.country,\r\n currencyCode: (codes === null || codes === void 0 ? void 0 : codes.country) ? countryCodesMap[(codes === null || codes === void 0 ? void 0 : codes.country) || \"\"] : null,\r\n dialingCode: codes === null || codes === void 0 ? void 0 : codes.countryCallingCode,\r\n };\r\n };\r\n var inflatedValue = getNumberInfo();\r\n if (!disabled && onChange) {\r\n onChange(inflatedValue);\r\n }\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(getNumberInfo()), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(getNumberInfo, function (checkedValue) {\r\n return checkedValue.number === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n var getNumberInfo = function () {\r\n var codes = parsePhoneNumber(\"\".concat(v));\r\n return {\r\n number: \"\".concat(v),\r\n countryCode: codes === null || codes === void 0 ? void 0 : codes.country,\r\n currencyCode: (codes === null || codes === void 0 ? void 0 : codes.country) ? countryCodesMap[(codes === null || codes === void 0 ? void 0 : codes.country) || \"\"] : null,\r\n dialingCode: codes === null || codes === void 0 ? void 0 : codes.countryCallingCode,\r\n };\r\n };\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(getNumberInfo, function (checkedValue) {\r\n return checkedValue.number === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }),\r\n React.createElement(\"style\", null, \"\\n .PhoneInputCountrySelect {\\n background: \".concat(phoneSelectBg || \"#000\", \" !important;\\n color: \").concat(phoneSelectColor || \"#fff\", \"\\n }\\n .PhoneInputInput {\\n background: transparent !important;\\n border-radius: 3px !important;\\n }\")),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null)\r\n :\r\n type == TYPES.password ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { cursor: \"pointer\", children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: showPassword ? \"text\" : \"password\", placeholder: placeholder || \"\", value: value, onKeyDown: onKeyDown, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v.target.value);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.5rem\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: function () {\r\n setShowPassword(!showPassword);\r\n } }, !showPassword ?\r\n React.createElement(FaEyeSlash, null)\r\n :\r\n React.createElement(FaEye, null))) }))\r\n :\r\n type == TYPES.number ?\r\n React.createElement(InputGroup, null,\r\n React.createElement(InputLeftElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Box, { cursor: \"pointer\", onClick: decreaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaMinus, null)),\r\n iconLeft) }),\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: \"text\", placeholder: placeholder || \"\", value: parseNum(\"\".concat(value)).toLocaleString(locale, {\r\n minimumFractionDigits: numberDecimals,\r\n maximumFractionDigits: numberDecimals\r\n }), onKeyDown: onKeyDown, onChange: function (v) {\r\n changeNumber(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n typeof numberUnit === \"string\" ?\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\" }, numberUnit)\r\n :\r\n numberUnit,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: increaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaPlus, null))) }))\r\n :\r\n type == TYPES.range ?\r\n React.createElement(HStack, { ref: inputRef, justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(InputBox, { id: id, key: key, onFocus: onFocus, title: minTitle, w: \"100%\", type: TYPES.number, placeholder: rangeMinPlaceholder, value: (value === null || value === void 0 ? void 0 : value.min) || 0, onChange: function (number) {\r\n updateRangeValue(number, \"\");\r\n }, numberUnit: numberUnit }),\r\n React.createElement(Text, { as: \"div\", alignSelf: \"flex-end\", pb: \"0.5rem\" }, \" ~ \"),\r\n React.createElement(InputBox, { id: id ? \"\".concat(id, \"_2\") : undefined, key: key ? \"\".concat(key, \"_2\") : undefined, onFocus: onFocus, title: maxTitle, w: \"100%\", type: TYPES.number, placeholder: rangeMinPlaceholder, value: (value === null || value === void 0 ? void 0 : value.max) || 0, onChange: function (number) {\r\n updateRangeValue(\"\", number);\r\n }, numberUnit: numberUnit }))\r\n :\r\n type == TYPES.textarea ?\r\n React.createElement(InputGroup, { w: \"100%\", h: \"100%\" },\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconRight }) : null,\r\n React.createElement(Textarea, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, w: \"100%\", h: \"100%\", placeholder: placeholder, isDisabled: disabled, isInvalid: (errorMessage && errorMessage.length > 0) ? true : false, value: value, resize: resize, onKeyDown: onKeyDown, onChange: function (v) {\r\n if (onChange && !disabled && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n onChange(v.target.value);\r\n }\r\n if (!disabled && onCheckInfo && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }),\r\n maxTextLimit ?\r\n React.createElement(InputRightElement, { width: \"auto\", height: \"100%\", alignItems: \"flex-end\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n React.createElement(Text, { as: \"div\", opacity: \"0.4\" },\r\n ((value || \"\").length).toLocaleString(locale || \"en\", { maximumFractionDigits: 0 }).replace(new RegExp(\"[,\\.]*\", \"g\"), \"\"),\r\n \"\\u00A0/\\u00A0\",\r\n maxTextLimit.toLocaleString(locale || \"en\", { maximumFractionDigits: 0 }).replace(new RegExp(\"[,\\.]*\", \"g\"), \"\"))) })\r\n :\r\n iconRight ? React.createElement(InputRightElement, { height: \"100%\", alignItems: \"flex-end\", children: iconRight }) : null)\r\n :\r\n type == TYPES.checkbox ?\r\n React.createElement(Checkbox, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, isChecked: value, onChange: function (e) {\r\n if (!disabled && onChange)\r\n onChange(e.target.checked);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(e.target.checked), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return e.target.checked; }, function (checkedValue) {\r\n return checkedValue === e.target.checked;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (e) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(e.target.checked), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return e.target.checked; }, function (checkedValue) {\r\n return checkedValue === e.target.checked;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }, title)\r\n :\r\n type == TYPES.checklist ?\r\n React.createElement(Flex, { w: \"100%\", flexDirection: \"row\", flexWrap: \"wrap\" }, checklist.map(function (check, index) { return (React.createElement(Checkbox, { id: id ? \"\".concat(id, \"_\").concat(index) : \"\".concat(index), key: key ? \"\".concat(key, \"_\").concat(index) : index, onFocus: onFocus, disabled: disabled, ref: inputRef, w: { base: \"100%\", sm: \"50%\", md: \"33.33%\" }, mb: \"0.5rem\", isChecked: check.selected, onChange: function (e) {\r\n var all = __spreadArray([], checklist, true);\r\n all[index].selected = e.target.checked;\r\n if (!disabled && onChange) {\r\n var onlySelected = [];\r\n for (var _i = 0, all_1 = all; _i < all_1.length; _i++) {\r\n var selectedService = all_1[_i];\r\n if (selectedService.selected) {\r\n onlySelected.push(selectedService);\r\n }\r\n }\r\n setChecklist(all);\r\n onChange(onlySelected);\r\n }\r\n else {\r\n setChecklist(all);\r\n }\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(all), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return all; }, function (checkedValue) {\r\n return arraysEqual(checkedValue, all);\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (e) {\r\n var all = __spreadArray([], checklist, true);\r\n all[index].selected = e.target.checked;\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(all), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return all; }, function (checkedValue) {\r\n return arraysEqual(checkedValue, all);\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }, onOptionName ? onOptionName(check, index) : \"\")); }))\r\n :\r\n type == TYPES.radio ?\r\n React.createElement(RadioGroup, { id: id, key: key, onFocus: onFocus, ref: inputRef, value: value, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return v; }, function (checkedValue) {\r\n return checkedValue === v;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return v; }, function (checkedValue) {\r\n return checkedValue === v;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } },\r\n React.createElement(Stack, { direction: direction || \"row\" }, (options || []).map(function (v, i) {\r\n if (onOptionValue && onOptionName) {\r\n return (React.createElement(Radio, { disabled: disabled, key: i, value: onOptionValue(v, i) }, onOptionName(v, i)));\r\n }\r\n else {\r\n return null;\r\n }\r\n })))\r\n : /*\r\n type == TYPES.location?\r\n <LocationPicker disabled={disabled} ref={inputRef} w=\"100%\" h=\"100%\"\r\n apiKey={apiKey || \"\"} defaultLatlng={defaultLatlng} geotype={geotype}\r\n mapToSearchRatio={mapToSearchRatio}\r\n twoDigitCountryCode={twoDigitCountryCode}\r\n searchPlaceholder={placeholder as string}\r\n value={value? {\r\n name: value.name,\r\n formatted_address: value.address,\r\n geometry: {\r\n location: {lat: () => value.position.lat, lng: () => value.position.lng},\r\n viewport: {}\r\n }\r\n } : null}\r\n onChange={(l) => {\r\n const v = {\r\n name: l.name,\r\n address: l.formatted_address,\r\n position: {\r\n lat: l.geometry.location.lat(),\r\n lng: l.geometry.location.lng()\r\n }\r\n }\r\n if(!disabled && onChange) {\r\n onChange(v)\r\n }\r\n if(!disabled && onCheckInfo) {\r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar,\r\n // or saving an article on a server as the user types\r\n if(waitTime > 0) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n \r\n }}\r\n onBlur={(l) => {\r\n if(!disabled && onCheckInfo) {\r\n const v = {\r\n name: l.name,\r\n address: l.formatted_address,\r\n position: {\r\n lat: l.geometry.location.lat(),\r\n lng: l.geometry.location.lng()\r\n }\r\n }\r\n \r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if(!waitTime) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n }}\r\n errorMessage={errorMessage}\r\n />\r\n :*/\r\n type == TYPES.price ?\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputGroup, null,\r\n React.createElement(InputLeftElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Box, { cursor: \"pointer\", onClick: decreaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaMinus, null)),\r\n iconLeft) }),\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: \"text\", placeholder: placeholder || \"\", value: value, onKeyDown: onKeyDown, onChange: function (v) {\r\n changeNumber(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n typeof numberUnit === \"string\" ?\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\" }, numberUnit)\r\n :\r\n numberUnit,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: increaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaPlus, null))) })))\r\n : /*\r\n type == TYPES.select_tree?\r\n <SelectTree disabled={disabled} options={options as SelectTreeOptionWithChildren[]}\r\n onChange={onChange}\r\n onBlur={(e: SelectTreeEvent) => {\r\n const { currentNode, selectedNodes } = e\r\n if(!disabled && onCheckInfo) {\r\n const v = \"currentNode\"\r\n \r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if(!waitTime) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n }}\r\n />\r\n :*/\r\n type == TYPES.none ?\r\n null\r\n :\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: type, placeholder: placeholder || \"\", value: value, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v.target.value);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null),\r\n nullOrEmpty(errorMessage) || type == TYPES.location ? null :\r\n React.createElement(FormErrorMessage, null, errorMessage),\r\n nullOrEmpty(helperText) || type == TYPES.location ? null :\r\n React.createElement(FormHelperText, null, helperText),\r\n React.createElement(\"style\", null, \"\\n .cursor-not-allowed-deep {\\n cursor: not-allowed !important;\\n }\\n .cursor-not-allowed-deep * {\\n cursor: not-allowed;\\n }\\n \")));\r\n};\r\nInputBox.TYPES = TYPES;\r\nexport default React.memo(InputBox);\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { Text } from \"@chakra-ui/react\";\r\nvar Link = function (_a) {\r\n var children = _a.children, disabled = _a.disabled, onClick = _a.onClick, props = __rest(_a, [\"children\", \"disabled\", \"onClick\"]);\r\n return (React.createElement(Text, __assign({ cursor: disabled ? \"not-allowed\" : \"pointer\", _hover: {\r\n opacity: \"0.3\"\r\n }, onClick: function (e) {\r\n if (onClick)\r\n onClick(e);\r\n } }, props), children));\r\n};\r\nexport default Link;\r\n","import { useEffect, useState } from 'react';\r\n// Import the functions you need from the SDKs you need\r\nimport { initializeApp } from \"firebase/app\";\r\n//Analytics for web\r\nimport { getAnalytics } from \"firebase/analytics\";\r\n//Authentication for Web\r\nimport { getAuth, onAuthStateChanged } from \"firebase/auth\";\r\n//Cloud Firestore for Web\r\nimport { getFirestore, doc, onSnapshot, collection } from \"firebase/firestore\"; // Updated import\r\nimport { getStorage, getDownloadURL, ref as storageRef, uploadBytes, } from \"firebase/storage\";\r\nimport { consoleLog } from '../../utils/f';\r\nvar useFirebase = function (config) {\r\n var _a = useState(), app = _a[0], setApp = _a[1];\r\n var _b = useState(), analytics = _b[0], setAnalytics = _b[1];\r\n var _c = useState(), auth = _c[0], setAuth = _c[1];\r\n var _d = useState(), db = _d[0], setDb = _d[1];\r\n var _e = useState(), user = _e[0], setUser = _e[1];\r\n var _f = useState(), adminInfo = _f[0], setAdminInfo = _f[1];\r\n var _g = useState(true), authLoading = _g[0], setAuthLoading = _g[1];\r\n var _h = useState(), storage = _h[0], setStorage = _h[1]; // Add storage state\r\n useEffect(function () {\r\n if (!(config === null || config === void 0 ? void 0 : config.firebaseConfig))\r\n return;\r\n // Initialize Firebase\r\n var theApp = initializeApp(config.firebaseConfig);\r\n var theDb = getFirestore(theApp);\r\n var theAuth = getAuth(theApp);\r\n var theAnalytics = getAnalytics(theApp);\r\n var theStorage = getStorage(theApp);\r\n setApp(theApp);\r\n setDb(theDb);\r\n setAuth(theAuth);\r\n setAnalytics(theAnalytics);\r\n setStorage(theStorage);\r\n setUser(null);\r\n var unsubscribe = onAuthStateChanged(theAuth, function (user) {\r\n setUser(user);\r\n setAuthLoading(false);\r\n });\r\n return function () {\r\n if (unsubscribe)\r\n unsubscribe();\r\n };\r\n }, [config === null || config === void 0 ? void 0 : config.firebaseConfig]);\r\n useEffect(function () {\r\n var unsubscribe;\r\n if (user && db) {\r\n consoleLog(\"Firebase.AdminInfo: will listen to admin doc\");\r\n // Listen to document changes at admins/{user.uid}\r\n unsubscribe = onSnapshot(doc(collection(db, \"admins\"), user.uid), function (docSnapshot) {\r\n try {\r\n if (docSnapshot.exists()) {\r\n var data = docSnapshot.data();\r\n setAdminInfo(data);\r\n consoleLog(\"Firebase.AdminInfo: admin \", data);\r\n }\r\n else {\r\n setAdminInfo(null); // Clear adminInfo if the document does not exist\r\n consoleLog(\"Firebase.AdminInfo: noAdmin \");\r\n }\r\n }\r\n catch (e) {\r\n consoleLog(\"Firebase.AdminInfo: Error listening to admin document:1 \", e);\r\n setAdminInfo(null); // Clear adminInfo on error\r\n }\r\n }, function (error) {\r\n consoleLog(\"Firebase.AdminInfo: Error listening to admin document:2 \", error);\r\n setAdminInfo(null); // Clear adminInfo on error\r\n });\r\n }\r\n else {\r\n setAdminInfo(null); // Clear adminInfo if user is not authenticated\r\n }\r\n return function () {\r\n if (unsubscribe)\r\n unsubscribe();\r\n };\r\n }, [user, db]);\r\n var uploadFile = function (file, pathToFile) {\r\n return new Promise(function (resolve, reject) {\r\n if (!storage) {\r\n reject(\"File storage not initialized yet.\");\r\n }\r\n else if (!file) {\r\n reject(\"Please provide the file to upload.\");\r\n }\r\n else if (!pathToFile) {\r\n reject(\"Please provide the location to upload the file to.\");\r\n }\r\n else {\r\n var fileRef = storageRef(storage, pathToFile);\r\n uploadBytes(fileRef, file)\r\n .then(function (snapshot) {\r\n getDownloadURL(snapshot.ref)\r\n .then(function (url) {\r\n resolve(url);\r\n })\r\n .catch(function (error) {\r\n reject(error);\r\n });\r\n })\r\n .catch(function (error) {\r\n reject(error);\r\n });\r\n }\r\n });\r\n };\r\n return {\r\n auth: auth,\r\n db: db,\r\n user: user,\r\n setUser: setUser,\r\n adminInfo: adminInfo,\r\n authLoading: authLoading,\r\n uploadFile: uploadFile,\r\n };\r\n};\r\nexport default useFirebase;\r\n","import { __rest } from \"tslib\";\r\nimport React, { useState } from \"react\";\r\nimport { Text, VStack } from \"@chakra-ui/react\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport Link from \"../widgets/Link\";\r\nimport { isValidEmail, nullOrEmpty } from \"../../utils/f\";\r\nimport Swal from 'sweetalert2';\r\nimport { sendPasswordResetEmail, signInWithEmailAndPassword } from \"firebase/auth\";\r\nimport useFirebase from \".\";\r\nvar SignInView = function (_a) {\r\n var onAuthDone = _a.onAuthDone, setUser = _a.setUser, config = _a.config, props = __rest(_a, [\"onAuthDone\", \"setUser\", \"config\"]);\r\n var auth = useFirebase(config).auth;\r\n var _b = useState(\"\"), email = _b[0], setEmail = _b[1];\r\n var _c = useState(), emailError = _c[0], setEmailError = _c[1];\r\n var _d = useState(\"\"), password = _d[0], setPassword = _d[1];\r\n var _e = useState(), passwordError = _e[0], setPasswordError = _e[1];\r\n var _f = useState(), requesting = _f[0], setRequesting = _f[1];\r\n var clearErrors = function () {\r\n setEmailError(\"\");\r\n setPasswordError(\"\");\r\n };\r\n var forgotPass = function (e) {\r\n var _a;\r\n e.preventDefault();\r\n clearErrors();\r\n if (nullOrEmpty(email)) {\r\n setEmailError('Please enter your email address, then click \"Forgot password\".');\r\n }\r\n else if (!isValidEmail(email)) {\r\n setEmailError(\"Please enter a valid email address.\");\r\n }\r\n else if (auth) {\r\n var pass_1 = password;\r\n setPassword(\"\");\r\n setRequesting(true);\r\n var codeSettings = {\r\n url: (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href\r\n };\r\n sendPasswordResetEmail(auth, email, codeSettings)\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"info\",\r\n text: isValidEmail(email) ?\r\n \"A password reset email has been sent to \".concat(email, \". Check your inbox or spam folder for the email sent.\")\r\n :\r\n \"A password reset code has been sent to \".concat(email, \". Check your messages for the code sent.\")\r\n });\r\n setRequesting(false);\r\n setPassword(pass_1);\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == 'auth/user-not-found') {\r\n msg = \"The account is invalid.\";\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n setPassword(pass_1);\r\n });\r\n }\r\n };\r\n var sendRequest = function (maxRetries, triedTimes) {\r\n if (!auth)\r\n return;\r\n signInWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) {\r\n setRequesting(false);\r\n if (userCredential) {\r\n setUser(userCredential.user);\r\n if (onAuthDone)\r\n onAuthDone(userCredential.user);\r\n }\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == \"auth/wrong-password\") {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == 'auth/user-not-found') {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == \"auth/network-request-failed\") {\r\n if (triedTimes + 1 < maxRetries) {\r\n setTimeout(function () {\r\n sendRequest(maxRetries, triedTimes + 1);\r\n }, 2000);\r\n return;\r\n }\r\n else {\r\n msg = \"Failed to reach the server. Make sure your internet connection is stable and try again.\";\r\n }\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n });\r\n };\r\n var handleSubmit = function (e) {\r\n try {\r\n e.preventDefault();\r\n }\r\n catch (e) { }\r\n if (requesting)\r\n return;\r\n clearErrors();\r\n var hasError = false;\r\n //Check email\r\n if (nullOrEmpty(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter your email address.\");\r\n }\r\n else if (!isValidEmail(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter a valid email address.\");\r\n }\r\n //Check password\r\n if (nullOrEmpty(password)) {\r\n hasError = true;\r\n setPasswordError(\"Please enter your password.\");\r\n }\r\n if (!hasError && auth) {\r\n setRequesting(true);\r\n sendRequest(3, 0);\r\n }\r\n };\r\n return (React.createElement(VStack, null,\r\n React.createElement(InputBox, { type: TYPES.email, title: \"Email\", placeholder: \"Enter your email address.\", mb: 2, value: email, onChange: function (e) { return setEmail(e); }, errorMessage: emailError }),\r\n React.createElement(InputBox, { type: TYPES.password, title: \"Password\", placeholder: \"Enter your password\", mb: 2, value: password, onChange: function (e) { setPassword(e); }, errorMessage: passwordError }),\r\n React.createElement(Text, { as: \"div\", alignSelf: \"flex-end\" },\r\n React.createElement(Link, { onClick: forgotPass, disabled: requesting, fontStyle: requesting && !password ? \"italic\" : \"normal\" }, requesting && nullOrEmpty(password) ? \"Please wait...\" : \"Forgot password?\")),\r\n React.createElement(AppButton, { w: \"100%\", alignSelf: \"flex-start\", id: \"recaptcha-container\", type: \"submit\", onClick: handleSubmit, disabled: requesting, fontStyle: requesting && password ? \"italic\" : \"normal\", mt: \"1rem !important\", mb: \"1.5rem !important\" }, requesting && !nullOrEmpty(password) ? \"Please wait...\" : \"Sign in\")));\r\n};\r\nexport default SignInView;\r\n","import { __awaiter, __generator, __rest } from \"tslib\";\r\nimport React, { useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport { isValidEmail, nullOrEmpty } from \"../../utils/f\";\r\nimport Swal from 'sweetalert2';\r\nimport { createUserWithEmailAndPassword, sendEmailVerification, signInWithEmailAndPassword, updateProfile } from \"firebase/auth\";\r\nimport useFirebase from \".\";\r\nvar SignUpView = function (_a) {\r\n var onAuthDone = _a.onAuthDone, setUser = _a.setUser, config = _a.config, props = __rest(_a, [\"onAuthDone\", \"setUser\", \"config\"]);\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user, db = _b.db;\r\n var _c = useState(\"\"), fullname = _c[0], setFullname = _c[1];\r\n var _d = useState(\"\"), email = _d[0], setEmail = _d[1];\r\n var _e = useState(\"\"), password = _e[0], setPassword = _e[1];\r\n var _f = useState(), password2 = _f[0], setPassword2 = _f[1];\r\n var _g = useState(\"\"), fullnameError = _g[0], setFullnameError = _g[1];\r\n var _h = useState(), emailError = _h[0], setEmailError = _h[1];\r\n var _j = useState(), passwordError = _j[0], setPasswordError = _j[1];\r\n var _k = useState(), passwordError2 = _k[0], setPasswordError2 = _k[1];\r\n var _l = useState(), requesting = _l[0], setRequesting = _l[1];\r\n var clearErrors = function () {\r\n setFullnameError(\"\");\r\n setEmailError(\"\");\r\n setPasswordError(\"\");\r\n setPasswordError2(\"\");\r\n };\r\n var sendRequest = function (maxRetries, triedTimes) {\r\n if (!auth)\r\n return;\r\n createUserWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) {\r\n if (userCredential) {\r\n updateProfile(userCredential.user, { displayName: fullname })\r\n .then(function () {\r\n sendVerification(userCredential.user);\r\n })\r\n .catch(function (error) {\r\n sendVerification(userCredential.user);\r\n });\r\n }\r\n else {\r\n throw new Error(\"No user credentials.\");\r\n }\r\n })\r\n .catch(function (e) { return __awaiter(void 0, void 0, void 0, function () {\r\n var msg, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!(e.code == \"auth/email-already-in-use\")) return [3 /*break*/, 1];\r\n msg = \"Email already in use. Please sign in.\";\r\n return [3 /*break*/, 10];\r\n case 1:\r\n if (!(e.code == \"auth/invalid-verification-code\")) return [3 /*break*/, 2];\r\n msg = \"The verification code is invalid.\";\r\n return [3 /*break*/, 10];\r\n case 2:\r\n if (!(e.code == \"auth/popup-closed-by-user\")) return [3 /*break*/, 3];\r\n msg = \"Authentication cancelled.\";\r\n return [3 /*break*/, 10];\r\n case 3:\r\n if (!(e.code == \"auth/network-request-failed\")) return [3 /*break*/, 9];\r\n if (!user) return [3 /*break*/, 8];\r\n _a.label = 4;\r\n case 4:\r\n _a.trys.push([4, 6, , 7]);\r\n return [4 /*yield*/, updateProfile(user, { displayName: fullname })];\r\n case 5:\r\n _a.sent();\r\n sendVerification(user);\r\n return [3 /*break*/, 7];\r\n case 6:\r\n e_1 = _a.sent();\r\n sendVerification(user);\r\n return [3 /*break*/, 7];\r\n case 7: return [2 /*return*/];\r\n case 8:\r\n if (triedTimes + 1 < maxRetries) {\r\n setTimeout(function () {\r\n //Try to sign in first. Maybe the sign up was successful\r\n signInWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) { return __awaiter(void 0, void 0, void 0, function () {\r\n var e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, updateProfile(userCredential.user, { displayName: fullname })];\r\n case 1:\r\n _a.sent();\r\n sendVerification(userCredential.user);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_2 = _a.sent();\r\n sendVerification(userCredential.user);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); })\r\n .catch(function (e) {\r\n sendRequest(maxRetries, triedTimes + 1);\r\n });\r\n }, 2000);\r\n return [2 /*return*/];\r\n }\r\n else {\r\n msg = \"Failed to reach the server. Make sure your internet connection is stable and try again.\";\r\n }\r\n return [3 /*break*/, 10];\r\n case 9:\r\n msg = e.message;\r\n _a.label = 10;\r\n case 10:\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n var handleSubmit = function (e) {\r\n try {\r\n e.preventDefault();\r\n }\r\n catch (e) { }\r\n if (requesting)\r\n return;\r\n clearErrors();\r\n var hasError = false;\r\n //Check fullname\r\n if (nullOrEmpty(fullname)) {\r\n hasError = true;\r\n setFullnameError(\"Please enter your fullname.\");\r\n }\r\n //Check email\r\n if (nullOrEmpty(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter your email address.\");\r\n }\r\n else if (!isValidEmail(email)) {\r\n hasError = true;\r\n setEmailError('Please enter a valid email address.');\r\n }\r\n //Check password and password confirmation\r\n if (nullOrEmpty(password)) {\r\n hasError = true;\r\n setPasswordError(\"Please enter your password.\");\r\n }\r\n else if (!/.{6,}/.test(password)) {\r\n hasError = true;\r\n setPasswordError(\"Your password cannot be less than 6 characters.\");\r\n }\r\n else if (nullOrEmpty(password2)) {\r\n hasError = true;\r\n setPasswordError2(\"Re-enter password\");\r\n }\r\n else if (password != password2) {\r\n hasError = true;\r\n setPasswordError2(\"Password does not match\");\r\n }\r\n if (!hasError && auth) {\r\n setRequesting(true);\r\n sendRequest(3, 0);\r\n }\r\n };\r\n var sendVerification = function (user) {\r\n sendEmailVerification(user, { url: location.href })\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Registration successful\",\r\n text: \"Your registration was successful. An email to verify your email address has been sent. Please check your email inbox or spam folder for the email sent.\"\r\n })\r\n .then(function () {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n })\r\n .catch(function (e) {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n });\r\n })\r\n .catch(function (e) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Registration successful\",\r\n text: \"Your registration was successful.\"\r\n })\r\n .then(function () {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n })\r\n .catch(function (e) {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n });\r\n });\r\n };\r\n return (React.createElement(VStack, null,\r\n React.createElement(InputBox, { type: TYPES.text, title: \"Fullname\", placeholder: \"Enter your fullname\", mb: \"1rem !important\", value: fullname, onChange: function (e) { return setFullname(e); }, errorMessage: fullnameError }),\r\n React.createElement(InputBox, { type: TYPES.email, title: \"Email\", placeholder: \"Enter your email\", mb: \"1rem !important\", value: email, onChange: function (e) { return setEmail(e); }, errorMessage: emailError }),\r\n React.createElement(InputBox, { type: \"password\", title: \"Password\", placeholder: \"Enter your password\", mb: \"1rem !important\", value: password, onChange: function (e) { setPassword(e); }, errorMessage: passwordError }),\r\n React.createElement(InputBox, { type: \"password\", title: \"Confirm password\", placeholder: \"Re-enter password\", mb: \"1rem !important\", value: password2, onChange: function (e) { setPassword2(e); }, errorMessage: passwordError2 }),\r\n React.createElement(AppButton, { w: \"100%\", alignSelf: \"flex-start\", type: \"submit\", onClick: handleSubmit, disabled: requesting, fontStyle: requesting ? \"italic\" : \"normal\", mt: \"1rem !important\", mb: \"1.5rem !important\" }, requesting && !nullOrEmpty(password) ? \"Please wait...\" : \"Sign up\")));\r\n};\r\nexport default SignUpView;\r\n","import React, { useState } from 'react';\r\nimport DrawerPop from '../widgets/DrawerPop';\r\nimport { Box, Image, Text, VStack } from \"@chakra-ui/react\";\r\nimport SignInView from \"./SignInView\";\r\nimport SignUpView from \"./SignUpView\";\r\nimport { LOGO_PATH } from '../../utils/c';\r\nimport Link from '../widgets/Link';\r\nvar AuthView = function (_a) {\r\n var show = _a.show, signInTitle = _a.signInTitle, signUpTitle = _a.signUpTitle, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, setUser = _a.setUser, config = _a.config;\r\n var _b = useState(true), showSignIn = _b[0], setShowSignIn = _b[1];\r\n var handleAuthLinkClick = function (e) {\r\n e.preventDefault();\r\n setShowSignIn(!showSignIn);\r\n };\r\n if (!show)\r\n return null;\r\n return (React.createElement(DrawerPop, { title: \"\".concat(config === null || config === void 0 ? void 0 : config.appName, \" Authentication\"), isOpen: true, onClose: function () {\r\n onError(new Error(\"\"));\r\n }, placement: \"bottom\", height: \"95vh\", bg: \"#012 !important\", color: \"#fff !important\" },\r\n React.createElement(Box, { minH: \"60vh\", w: \"100%\", maxW: \"700px\", p: { base: \"15px 15px\", md: \"50px 80px\" }, m: \"15px auto\" },\r\n showSignIn ?\r\n React.createElement(React.Fragment, null,\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: LOGO_PATH, h: \"48px\", w: \"auto\" }),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"0.1rem !important\", textAlign: \"center\" }, signInTitle),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"1.5rem !important\", textAlign: \"center\" },\r\n \"If you don't have an account yet, \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick, fontWeight: \"bold\" }, \"Sign up here.\"))),\r\n React.createElement(SignInView, { onAuthDone: onSuccess, setUser: setUser, config: config }))\r\n :\r\n React.createElement(React.Fragment, null,\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: LOGO_PATH, h: \"48px\", w: \"auto\" }),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"0.1rem !important\", textAlign: \"center\" }, signUpTitle),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"1.5rem !important\", textAlign: \"center\" },\r\n \"If you already have an account, \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick, fontWeight: \"bold\" }, \"Sign in here.\"))),\r\n React.createElement(SignUpView, { onAuthDone: onSuccess, setUser: setUser, config: config })),\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", fontSize: \"14px\" }, showSignIn ?\r\n React.createElement(React.Fragment, null,\r\n \"Don't have an account yet? \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick }, \"Sign up here.\"))\r\n :\r\n React.createElement(React.Fragment, null,\r\n \"Already have an account? \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick }, \"Log in here.\"))))));\r\n};\r\nexport default AuthView;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from \"react\";\r\nimport { Box, HStack, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Text, VStack } from \"@chakra-ui/react\";\r\nimport { FaTimes } from \"react-icons/fa\";\r\nvar ModalPop = function (_a) {\r\n var bg = _a.bg, color = _a.color, children = _a.children, placement = _a.placement, onClose = _a.onClose, isOpen = _a.isOpen, isClosable = _a.isClosable, title = _a.title, subtitle = _a.subtitle, footer = _a.footer, hideModeSwitch = _a.hideModeSwitch, noHeader = _a.noHeader, w = _a.w, width = _a.width, maxW = _a.maxW, maxWidth = _a.maxWidth, h = _a.h, height = _a.height, maxH = _a.maxH, maxHeight = _a.maxHeight, props = __rest(_a, [\"bg\", \"color\", \"children\", \"placement\", \"onClose\", \"isOpen\", \"isClosable\", \"title\", \"subtitle\", \"footer\", \"hideModeSwitch\", \"noHeader\", \"w\", \"width\", \"maxW\", \"maxWidth\", \"h\", \"height\", \"maxH\", \"maxHeight\"]);\r\n return (React.createElement(Modal, { onClose: onClose ? onClose : function () { }, isOpen: isOpen, isCentered: true },\r\n React.createElement(ModalOverlay, null),\r\n React.createElement(ModalContent, { bg: bg, color: color, minH: h || height || \"50vh\", maxH: maxH || maxHeight || \"100vh\", w: w || width || { base: \"95%\", md: \"650px\" }, maxW: maxW || maxWidth, borderRadius: \"16px !important\" },\r\n noHeader ? null :\r\n React.createElement(ModalHeader, { borderBottomWidth: '1px', w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"1.1rem\", md: \"1.3rem\" }, textTransform: \"capitalize\" }, title),\r\n subtitle ?\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"11px\" } }, subtitle)\r\n : null),\r\n React.createElement(HStack, null, onClose && (isClosable || isClosable === undefined) ?\r\n React.createElement(Box, { onClick: onClose, cursor: \"pointer\", display: \"block\" },\r\n React.createElement(FaTimes, { size: \"24px\" }))\r\n :\r\n null)),\r\n React.createElement(ModalBody, __assign({}, props), children),\r\n footer ?\r\n React.createElement(ModalFooter, null, footer)\r\n : null)));\r\n};\r\nexport default ModalPop;\r\n","import React, { useState } from 'react';\r\nimport { consoleLog, getColor } from '../../utils/f';\r\nimport { SDK_NAME, STORAGE_KEYS } from '../../utils/c';\r\nimport { signInWithEmailAndPassword } from 'firebase/auth';\r\nimport useFirebase from '.';\r\nimport ModalPop from '../widgets/ModalPop';\r\nimport { VStack } from '@chakra-ui/react';\r\nimport InputBox, { TYPES } from '../widgets/InputBox';\r\nimport AppButton from '../widgets/AppButton';\r\nimport { FaSignInAlt } from 'react-icons/fa';\r\nvar AccessTokenDoor = function (_a) {\r\n var show = _a.show, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user, setUser = _b.setUser;\r\n var _c = useState(), password = _c[0], setPassword = _c[1];\r\n var _d = useState(), e = _d[0], setE = _d[1];\r\n var _e = useState(false), authenticating = _e[0], setAuthenticating = _e[1];\r\n var handleSubmit = function () {\r\n setE(\"\");\r\n if (!password) {\r\n setE(\"Please enter your password\");\r\n }\r\n else if (auth && user && user.email && password && password.length > 0) {\r\n setAuthenticating(true);\r\n signInWithEmailAndPassword(auth, user.email, password)\r\n .then(function (auntentication) {\r\n var user = auntentication.user;\r\n if (user) {\r\n setUser(user);\r\n user.getIdToken()\r\n .then(function (token) {\r\n localStorage.setItem(STORAGE_KEYS.LAST_LOGIN_MILLI, \"\".concat(Date.now()));\r\n onSuccess(token, user);\r\n })\r\n .catch(function (e) {\r\n onError(e);\r\n });\r\n }\r\n else {\r\n setE(\"Failed to sign in. Please try again later.\");\r\n setAuthenticating(false);\r\n }\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == \"auth/wrong-password\") {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == 'auth/user-not-found') {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n setE(msg);\r\n setAuthenticating(false);\r\n });\r\n }\r\n else {\r\n consoleLog(\"AccessTokenDoor.handleSubmit => \", \"auth:\", auth, \" | user:\", user, \" | userEmail:\", user === null || user === void 0 ? void 0 : user.email, \" | password:\", password, \" | config\", config);\r\n }\r\n };\r\n if (!show)\r\n return null;\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Confirm Operation\", isOpen: true, onClose: function () {\r\n onError(new Error(\"Failed to confirm that it's you.\"));\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_pass_confirm\"), key: \"\".concat(SDK_NAME, \"_pass_confirm\"), name: \"pass_confirm\", title: \"Enter Password\", helperText: \"Enter your password to confirm that it's you.\", value: password, type: TYPES.password, mb: 4, onChange: function (password) {\r\n setPassword(password);\r\n }, errorMessage: e }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaSignInAlt, null), disabled: authenticating, fontStyle: authenticating ? \"italic\" : \"normal\" }, authenticating ? \"Please wait...\" : \"Confirm Operation\"))));\r\n};\r\nexport default AccessTokenDoor;\r\n","import React from \"react\";\r\nimport { Box } from \"@chakra-ui/react\";\r\nimport { FaCheck, FaClock, FaTimesCircle } from 'react-icons/fa';\r\nvar StatusCoin = function (_a) {\r\n var status = _a.status;\r\n var colors = {\r\n success: {\r\n bgGradient: \"linear(to-r, #3AAFA9, #0F7173)\",\r\n icon: React.createElement(FaCheck, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n timeout: {\r\n bgGradient: \"linear(to-r, #D64933, #A61D14)\",\r\n icon: React.createElement(FaClock, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n error: {\r\n bgGradient: \"linear(to-r, #D64933, #A61D14)\",\r\n icon: React.createElement(FaTimesCircle, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n };\r\n var color = colors[status || \"success\"];\r\n return (React.createElement(Box, { w: \"150px\", h: \"150px\", borderRadius: \"50%\", boxShadow: \"xl\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", bgGradient: color.bgGradient }, color.icon));\r\n};\r\nexport default StatusCoin;\r\n","import React from \"react\";\r\nimport { Flex, Text } from \"@chakra-ui/react\";\r\nimport StatusCoin from \"./StatusCoin\";\r\nvar PaymentDetected = function (_a) {\r\n var amount = _a.amount, symbol = _a.symbol;\r\n return (React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"center\", bg: \"green.500\", w: \"100%\", h: \"100%\", p: \"1rem\", textAlign: \"center\" },\r\n React.createElement(StatusCoin, { status: \"success\" }),\r\n React.createElement(Text, { as: \"div\", fontWeight: \"bold\", color: \"white\", mb: 2, textAlign: \"center\" },\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\", fontSize: \"1.5rem\" },\r\n amount,\r\n \" \",\r\n symbol),\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\", fontSize: \"1.1rem\" }, \" deposit made!\")),\r\n React.createElement(Text, { as: \"div\", fontSize: \"0.8rem\", color: \"white\" }, \"Your crypto payment was successful. The amount deposited will be available for your spending once confirmed.\")));\r\n};\r\nexport default PaymentDetected;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from \"react\";\r\nimport { Audio, BallTriangle, Bars, Blocks, Circles, CirclesWithBar, ColorRing, Comment, Discuss, Dna, Grid, FallingLines, FidgetSpinner, Hearts, InfinitySpin, LineWave, MagnifyingGlass, MutatingDots, Oval, ProgressBar, Puff, Radio, RevolvingDot, RotatingSquare, RotatingLines, Rings, TailSpin, ThreeDots, ThreeCircles, Triangle, RotatingTriangles, Watch, Vortex } from \"react-loader-spinner\";\r\nvar loadersMap = {\r\n Audio: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Audio, __assign({}, props));\r\n },\r\n BallTriangle: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(BallTriangle, __assign({}, props));\r\n },\r\n Bars: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Bars, __assign({}, props));\r\n },\r\n Blocks: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Blocks, __assign({}, props));\r\n },\r\n Circles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Circles, __assign({}, props));\r\n },\r\n CirclesWithBar: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(CirclesWithBar, __assign({}, props));\r\n },\r\n ColorRing: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ColorRing, __assign({}, props));\r\n },\r\n Comment: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Comment, __assign({}, props));\r\n },\r\n Discuss: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Discuss, __assign({}, props));\r\n },\r\n Dna: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Dna, __assign({}, props));\r\n },\r\n Grid: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Grid, __assign({}, props));\r\n },\r\n FallingLines: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(FallingLines, __assign({}, props));\r\n },\r\n FidgetSpinner: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(FidgetSpinner, __assign({}, props));\r\n },\r\n Hearts: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Hearts, __assign({}, props));\r\n },\r\n InfinitySpin: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(InfinitySpin, __assign({}, props));\r\n },\r\n LineWave: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(LineWave, __assign({}, props));\r\n },\r\n MagnifyingGlass: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(MagnifyingGlass, __assign({}, props));\r\n },\r\n MutatingDots: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(MutatingDots, __assign({}, props));\r\n },\r\n Oval: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Oval, __assign({}, props));\r\n },\r\n ProgressBar: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ProgressBar, __assign({}, props));\r\n },\r\n Puff: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Puff, __assign({}, props));\r\n },\r\n Radio: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Radio, __assign({}, props));\r\n },\r\n RevolvingDot: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RevolvingDot, __assign({}, props));\r\n },\r\n RotatingSquare: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingSquare, __assign({}, props));\r\n },\r\n RotatingLines: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingLines, __assign({}, props));\r\n },\r\n Rings: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Rings, __assign({}, props));\r\n },\r\n TailSpin: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(TailSpin, __assign({}, props));\r\n },\r\n ThreeDots: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ThreeDots, __assign({}, props));\r\n },\r\n ThreeCircles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ThreeCircles, __assign({}, props));\r\n },\r\n Triangle: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Triangle, __assign({}, props));\r\n },\r\n RotatingTriangles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingTriangles, __assign({}, props));\r\n },\r\n Watch: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Watch, __assign({}, props));\r\n },\r\n Vortex: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Vortex, __assign({}, props));\r\n }\r\n};\r\nvar Loading = function (_a) {\r\n var type = _a.type, props = __rest(_a, [\"type\"]);\r\n return type != undefined ? (loadersMap[type](__assign({}, props))) : null;\r\n};\r\nLoading.TYPES = {\r\n audio: \"Audio\",\r\n bars: \"Bars\",\r\n ballTrinagle: \"BallTriangle\",\r\n circles: 'Circles',\r\n grid: \"Grid\",\r\n hearts: \"Hearts\",\r\n oval: \"Oval\",\r\n puff: \"Puff\",\r\n rings: 'Rings',\r\n tailSpin: 'TailSpin',\r\n threeDots: \"ThreeDots\",\r\n RotatingLines: \"RotatingLines\",\r\n Dna: \"Dna\"\r\n};\r\nexport default Loading;\r\n","import { HStack } from '@chakra-ui/react';\r\nimport React from 'react';\r\nimport Loading from './Loading';\r\nvar PleaseWaitForX = function () {\r\n return (React.createElement(HStack, { display: \"flex\", w: \"100%\", h: \"120px\", justifyContent: \"center\", alignItems: \"center\", pos: \"relative\", p: \"2rem\" },\r\n React.createElement(Loading, { color: \"green.500\", type: Loading.TYPES.RotatingLines })));\r\n};\r\nexport default PleaseWaitForX;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, useToast, useClipboard, Text } from '@chakra-ui/react';\r\nimport { FaCopy } from \"react-icons/fa\";\r\nvar Types = {\r\n text: 0,\r\n address: 1,\r\n refCode: 2,\r\n link: 3,\r\n shillText: 4,\r\n refLink: 5,\r\n phone: 6\r\n};\r\nvar copyOk = function (type) {\r\n var key;\r\n switch (type) {\r\n case Types.address:\r\n key = \"Address copied\";\r\n break;\r\n case Types.refCode:\r\n key = \"Referral code copy copied\";\r\n break;\r\n case Types.refLink:\r\n key = \"Referral link copied\";\r\n break;\r\n case Types.shillText:\r\n key = \"Promotion text copied\";\r\n break;\r\n case Types.phone:\r\n key = \"Phone number copied copied\";\r\n break;\r\n default:\r\n key = \"Text copied\";\r\n }\r\n return key;\r\n};\r\nvar CopyView = function (_a) {\r\n var as = _a.as, textToCopy = _a.textToCopy, children = _a.children, type = _a.type, copyType = _a.copyType, maxChars = _a.maxChars, onCopyMessage = _a.onCopyMessage, props = __rest(_a, [\"as\", \"textToCopy\", \"children\", \"type\", \"copyType\", \"maxChars\", \"onCopyMessage\"]);\r\n type = copyType || type;\r\n var toast = useToast();\r\n var _b = useState('Hello world'), value = _b[0], setValue = _b[1];\r\n var _c = useClipboard(textToCopy || children || \"\"), hasCopied = _c.hasCopied, onCopy = _c.onCopy;\r\n var max = function (text, maxLength) {\r\n if (!maxLength || text.length <= maxLength)\r\n return text;\r\n var half = Math.round(maxLength / 2);\r\n return React.createElement(Text, { as: \"span\" },\r\n text.substring(0, half),\r\n \"\\u2026\",\r\n text.slice((maxLength - half) * -1));\r\n };\r\n useEffect(function () {\r\n if (hasCopied) {\r\n toast({\r\n description: onCopyMessage ? onCopyMessage : copyOk(type),\r\n duration: 3000,\r\n status: \"success\",\r\n isClosable: true\r\n });\r\n }\r\n }, [hasCopied]);\r\n return (React.createElement(Box, __assign({ as: as || \"span\", cursor: \"pointer\", onClick: onCopy }, props),\r\n max(children || \"\", maxChars || 0),\r\n \" \",\r\n !children || children.length == 0 ? null :\r\n React.createElement(Box, { as: \"span\" },\r\n React.createElement(Box, { as: FaCopy, display: \"inline-block\" }))));\r\n};\r\nCopyView.Types = Types;\r\nexport default CopyView;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, Flex, Text, Image, HStack, Select } from '@chakra-ui/react';\r\nimport { QRCode } from 'react-qrcode-logo';\r\nimport { FaCheckCircle, FaCopy, FaExclamationTriangle } from 'react-icons/fa';\r\nimport { COINS, LOGO_PATH } from '../../../utils/c';\r\nimport PleaseWaitForX from '../../widgets/PleaseWaitForX';\r\nimport { getColor } from '../../../utils/f';\r\nimport CopyView from '../../widgets/CopyView';\r\nvar CryptoDeposit = function (_a) {\r\n var amount = _a.amount, coin = _a.coin, setCoin = _a.setCoin, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, isDarkMode = _a.isDarkMode, wallet = _a.wallet, setWallet = _a.setWallet, walletListenerResult = _a.walletListenerResult, props = __rest(_a, [\"amount\", \"coin\", \"setCoin\", \"coinAmount\", \"coinSymbol\", \"isDarkMode\", \"wallet\", \"setWallet\", \"walletListenerResult\"]);\r\n var _b = useState(false), copySuccess = _b[0], setCopySuccess = _b[1];\r\n var handleCopy = function () {\r\n if (wallet) {\r\n navigator.clipboard.writeText(wallet);\r\n setCopySuccess(true);\r\n setTimeout(function () {\r\n setCopySuccess(false);\r\n }, 3000);\r\n }\r\n };\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n useEffect(function () {\r\n if (coin) {\r\n if (coin == COINS.bnb_testnet.key) {\r\n setWallet(walletBnbTest);\r\n }\r\n else if (coin == COINS.bnb.key) {\r\n setWallet(walletBnb);\r\n }\r\n else if (coin == COINS.ethereum.key) {\r\n setWallet(walletEth);\r\n }\r\n }\r\n }, [coin, walletListenerResult]);\r\n return (React.createElement(Box, __assign({ px: { base: \"8px\", md: \"32px\" }, minH: \"250px\" }, props),\r\n React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"center\" },\r\n React.createElement(Text, { as: \"div\", mb: 1, textAlign: \"center\", fontSize: \"12px !important\" }, \"Scan the QR code or copy the wallet address to deposit:\"),\r\n React.createElement(Box, { mb: 1 },\r\n React.createElement(Box, { pos: \"relative\", display: \"inline-block\", p: \"0px\", bg: \"#fff\", borderRadius: \"10px\" }, wallet ?\r\n React.createElement(QRCode, { value: wallet, size: 130, bgColor: \"#FFFFFF\", fgColor: \"#000000\", ecLevel: \"M\", logoImage: LOGO_PATH, logoWidth: 35, logoHeight: 35, removeQrCodeBehindLogo: true })\r\n :\r\n React.createElement(PleaseWaitForX, null))),\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"center\", mb: 1 },\r\n React.createElement(Text, { as: \"div\", p: \"0px\", fontSize: \"12px !important\", textAlign: \"center\" },\r\n \"To deposit \",\r\n React.createElement(\"b\", null,\r\n \"$\",\r\n amount.toFixed(2)),\r\n \", transfer \",\r\n React.createElement(CopyView, { as: \"span\", fontWeight: \"bold\", display: \"inline\", p: \"0px !important\", m: \"0px !important\", color: \"green\", borderBottom: \"1px dotted\", cursor: \"pointer\", textToCopy: \"\".concat(coinAmount), onCopyMessage: \"Amount copied.\" },\r\n coinAmount,\r\n \" \",\r\n coinSymbol),\r\n \" to the wallet address shown.\")),\r\n React.createElement(React.Fragment, null, wallet ?\r\n React.createElement(Box, { cursor: \"pointer\", mb: 2, pos: \"relative\", w: \"100%\", border: \"1px solid #e2e8f0\", borderRadius: \"0.5rem\", onClick: handleCopy },\r\n React.createElement(Text, { as: \"div\", w: \"90%\", m: \"0.5rem\", textOverflow: \"clip\", whiteSpace: \"nowrap\", overflowX: \"hidden\" }, wallet),\r\n React.createElement(HStack, { as: \"div\", w: \"auto\", h: \"100%\", bg: \"#D7F4E4\", color: \"#37C978\", p: \"0.5rem\", pos: \"absolute\", right: \"0\", top: \"0\", bottom: \"0\", justifyContent: \"center\", alignItems: \"center\", borderTopRightRadius: \"0.5rem\", borderBottomRightRadius: \"0.5rem\" },\r\n React.createElement(Text, { as: \"div\", mr: \"2px\" }, copySuccess ? \"Copied\" : \"Copy\"),\r\n React.createElement(Box, null, copySuccess ? React.createElement(FaCheckCircle, null) : React.createElement(FaCopy, null))))\r\n : null),\r\n React.createElement(Box, { pos: \"relative\", mb: 2, w: \"100%\" },\r\n React.createElement(Text, { as: \"label\", htmlFor: \"select-coin\", w: \"100%\", fontSize: \"10px\" }, \"Select a Coin(BNB)\"),\r\n React.createElement(Select, { bg: getColor(isDarkMode, \"selectCoinBg\"), id: \"select-coin\", cursor: \"pointer\", onChange: function (c) {\r\n setCoin(c.target.value);\r\n }, icon: React.createElement(Image, { src: COINS[coin].logo, width: \"24px\", height: \"24px\" }) }, Object.keys(COINS).map(function (c, index) {\r\n if (!COINS[c].disabled) {\r\n return (React.createElement(\"option\", { key: index, value: c }, COINS[c].name));\r\n }\r\n }))),\r\n React.createElement(HStack, { pos: \"relative\", w: \"100%\", px: \"5px\", mb: \"0.5rem\", border: \"1px solid #e2e8f0\", borderRadius: \"0.5rem\", bg: getColor(isDarkMode, \"transferWarningBg\") },\r\n React.createElement(Box, null,\r\n React.createElement(FaExclamationTriangle, { color: \"#dd6b20\", size: \"32px\" })),\r\n React.createElement(Text, { as: \"div\", w: \"100%\", fontSize: \"11px\", p: \"10px 5px\" }, COINS[coin].depositWarning)))));\r\n};\r\nexport default CryptoDeposit;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, Button, Flex, Text } from '@chakra-ui/react';\r\nimport { whatsappLink } from '../../../utils/f';\r\nimport PleaseWaitForX from '../../widgets/PleaseWaitForX';\r\nimport CopyView from '../../widgets/CopyView';\r\nvar WhatsappDeposit = function (_a) {\r\n var contactLink = _a.contactLink, vendors = _a.vendors, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, wallet = _a.wallet, usdAmount = _a.usdAmount, fiatSymbol = _a.fiatSymbol, fiatName = _a.fiatName, fiatLogo = _a.fiatLogo, minVendorCoinAmount = _a.minVendorCoinAmount, minVendorUSDAmount = _a.minVendorUSDAmount;\r\n var _b = useState(), vendorPhone = _b[0], setVendorPhone = _b[1];\r\n var _c = useState(0), coinAmountState = _c[0], setCoinAmount = _c[1];\r\n var _d = useState(0), usdAmountState = _d[0], setUsdAmount = _d[1];\r\n var _e = useState(\"\"), msg = _e[0], setMsg = _e[1];\r\n useEffect(function () {\r\n if (coinAmountState && coinSymbol && wallet) {\r\n setMsg(\"Hello. I want to buy \".concat(coinAmountState, \" \").concat(coinSymbol, \".\\n\\nSend the BNB to this Binance Smart Chain wallet address: \\n\\n\").concat(wallet));\r\n }\r\n }, [coinAmountState, coinSymbol, wallet]);\r\n var randVendor = function (cryproVendors) {\r\n var vendors = [];\r\n for (var _i = 0, cryproVendors_1 = cryproVendors; _i < cryproVendors_1.length; _i++) {\r\n var vendor = cryproVendors_1[_i];\r\n var freq = 0;\r\n while (freq < vendor.freq) {\r\n vendors.push(vendor);\r\n freq++;\r\n }\r\n }\r\n return vendors[Math.floor(Math.random() * vendors.length)];\r\n };\r\n useEffect(function () {\r\n if (vendors && vendors.length > 0)\r\n setVendorPhone(randVendor(vendors).number);\r\n }, [vendors]);\r\n /*\r\n useEffect(() => {\r\n if(usdAmount < minVendorUSDAmount) {\r\n setCoinAmount(minVendorCoinAmount)\r\n setUsdAmount(minVendorUSDAmount)\r\n\r\n } else {\r\n setCoinAmount(coinAmount)\r\n setUsdAmount(usdAmount)\r\n }\r\n }, [usdAmount, minVendorUSDAmount])*/\r\n useEffect(function () {\r\n setCoinAmount(coinAmount);\r\n setUsdAmount(usdAmount);\r\n }, [usdAmount]);\r\n return (React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"flex-start\", w: \"100%\", h: { base: \"auto\", md: \"100%\" }, px: \"1rem\", py: \"2rem\", overflowY: \"auto\" }, wallet && vendorPhone ?\r\n React.createElement(React.Fragment, null,\r\n React.createElement(Text, { as: \"div\", mt: \"1rem\", textAlign: \"center\", fontSize: \"1rem\", display: \"nones\" },\r\n \"Buy \",\r\n coinAmountState,\r\n \" \",\r\n coinSymbol,\r\n \" to deposit approximately \",\r\n React.createElement(Text, { as: \"span\", fontSize: \"1.5rem\", fontWeight: \"bold\" },\r\n \"$\",\r\n usdAmountState)),\r\n React.createElement(Text, { as: \"div\", mb: \"1rem\", textAlign: \"center\", fontSize: \"12px\", display: \"nones\" },\r\n \"Note that after buying \",\r\n coinSymbol,\r\n \", the amount credited to your wallet can be a little less or greater than \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n \"$\",\r\n usdAmountState),\r\n \" depending on the current price of \",\r\n coinSymbol,\r\n \" at the time of payment.\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(vendorPhone, msg) },\r\n fiatLogo,\r\n \"Pay In \",\r\n fiatName),\r\n React.createElement(Box, { display: \"none\" },\r\n React.createElement(Text, { as: \"div\", mb: \"1rem\", textAlign: \"center\", fontSize: \"1rem\" }, \"Click a Fund button below to automatically send a message to any of your crypto vendors on whatsapp to fund your wallet. Or click the \\\"Copy Message\\\" button to copy a message you can send to any of your crypto vendors on any platform to fund your wallet.\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(null, msg), target: \"_blank\" }, \"Whatsapp Fund\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(null, msg, true), target: \"_blank\" }, \"Whatsapp Web Fund\"),\r\n React.createElement(CopyView, { as: Button, fontWeight: \"bold\", m: \"0px !important\", mr: \"0.5\", textToCopy: msg, onCopyMessage: \"Wallet Funding Message Copied.\" }, \"Copy Message\")),\r\n contactLink ?\r\n React.createElement(Text, { as: \"div\", mt: 4, fontSize: \"12px\", textAlign: \"center\" },\r\n \"Do you want to apply as a frontbacked BNB vendor? \",\r\n React.createElement(\"a\", { href: contactLink }, \"Click here to contact us.\"))\r\n : null,\r\n usdAmount < minVendorUSDAmount ?\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", textAlign: \"center\", display: \"none\" },\r\n \"The minimum amount that can be deposited by coin purchase via Cash/Fiat is $\",\r\n minVendorUSDAmount) : null)\r\n :\r\n React.createElement(PleaseWaitForX, null)));\r\n};\r\nvar FiatDeposit = function (_a) {\r\n var vendors = _a.vendors, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, usdAmount = _a.usdAmount, fiatName = _a.fiatName, fiatSymbol = _a.fiatSymbol, fiatLogo = _a.fiatLogo, wallet = _a.wallet, minVendorCoinAmount = _a.minVendorCoinAmount, minVendorUSDAmount = _a.minVendorUSDAmount, props = __rest(_a, [\"vendors\", \"coinAmount\", \"coinSymbol\", \"usdAmount\", \"fiatName\", \"fiatSymbol\", \"fiatLogo\", \"wallet\", \"minVendorCoinAmount\", \"minVendorUSDAmount\"]);\r\n return (React.createElement(Box, __assign({ h: \"100%\" }, props),\r\n React.createElement(WhatsappDeposit, { vendors: vendors, minVendorCoinAmount: minVendorCoinAmount, minVendorUSDAmount: minVendorUSDAmount, coinAmount: coinAmount, coinSymbol: coinSymbol, usdAmount: usdAmount, fiatName: fiatName, fiatSymbol: fiatSymbol, fiatLogo: fiatLogo, wallet: wallet })));\r\n};\r\nexport default FiatDeposit;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport { VStack } from '@chakra-ui/react';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport InputBox, { TYPES } from '../widgets/InputBox';\r\nimport AppButton from '../widgets/AppButton';\r\nimport { FaChevronRight, FaCoins } from 'react-icons/fa';\r\nimport { SDK_NAME } from '../../utils/c';\r\nimport { consoleLog } from '../../utils/f';\r\nimport { Box } from '@chakra-ui/react';\r\nimport { Text } from '@chakra-ui/react';\r\nimport { HStack } from '@chakra-ui/react';\r\nvar BONUSES = [\r\n {\r\n min: 50, max: 99, bonusPct: 10, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#55af79\"\r\n },\r\n {\r\n min: 100, max: 199, bonusPct: 15, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#1E90FF\"\r\n },\r\n {\r\n min: 200, max: 499, bonusPct: 20, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#f858ae\"\r\n },\r\n {\r\n min: 500, max: 999, bonusPct: 30, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#FF7043\"\r\n },\r\n {\r\n min: 1000, max: Infinity, bonusPct: 40, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#c8c80b\"\r\n }\r\n];\r\nvar Bonus = function (_a) {\r\n var min = _a.min, max = _a.max, bonusPct = _a.bonusPct, icon = _a.icon, color = _a.color, props = __rest(_a, [\"min\", \"max\", \"bonusPct\", \"icon\", \"color\"]);\r\n if (max != Infinity) {\r\n return (React.createElement(HStack, __assign({ justifyContent: \"flex-start\", alignItems: \"center\", fontSize: \"0.8rem\", color: color }, props),\r\n icon,\r\n React.createElement(Text, { as: \"div\" },\r\n \"Deposit $\",\r\n min,\r\n \" to $\",\r\n max,\r\n \" and get +\",\r\n bonusPct,\r\n \"% extra credits.\")));\r\n }\r\n else {\r\n return (React.createElement(HStack, __assign({ justifyContent: \"flex-start\", alignItems: \"center\", fontSize: \"0.8rem\", color: color }, props),\r\n icon,\r\n React.createElement(Text, { as: \"div\" },\r\n \"Deposit $\",\r\n min,\r\n \" and above, and get +\",\r\n bonusPct,\r\n \"% extra credits.\")));\r\n }\r\n};\r\nvar AmountEditor = function (_a) {\r\n var amount = _a.amount, minAmount = _a.minAmount, onAmountValid = _a.onAmountValid, onSubmit = _a.onSubmit;\r\n var _b = useState(amount || 0), a = _b[0], setA = _b[1];\r\n var _c = useState(), e = _c[0], setE = _c[1];\r\n var _d = useState(\"The minimum deposit amount is $\".concat(minAmount, \". The higher your deposits, the higher the extra credits you get.\")), helperText = _d[0], setHelperText = _d[1];\r\n var getBonusText = function (amount, bonusPct) {\r\n var bonus = ((amount * bonusPct) / 100);\r\n return \"You will get $\".concat(bonus.toFixed(2), \" extra credits(+\").concat(bonusPct, \"%). Expected total credits you will receive is $\").concat((amount + bonus).toFixed(2), \".\");\r\n };\r\n useEffect(function () {\r\n if (a < minAmount) {\r\n setHelperText(\"The minimum deposit amount is $\".concat(minAmount, \". The higher your deposits, the higher the extra credits you get.\"));\r\n }\r\n else if (a < 50) {\r\n setHelperText(\"You will get $\".concat(a, \" credits. No extra credits on deposits less than $50.\"));\r\n }\r\n else if (a >= 50 && a < 100) {\r\n setHelperText(getBonusText(a, 10));\r\n }\r\n else if (a >= 100 && a < 200) {\r\n setHelperText(getBonusText(a, 15));\r\n }\r\n else if (a >= 200 && a < 500) {\r\n setHelperText(getBonusText(a, 20));\r\n }\r\n else if (a >= 500 && a < 1000) {\r\n setHelperText(getBonusText(a, 30));\r\n }\r\n else if (a >= 1000) {\r\n setHelperText(getBonusText(a, 40));\r\n }\r\n }, [a]);\r\n var validate = useCallback(function (amount, showError) {\r\n setE(\"\");\r\n if (!amount) {\r\n if (showError)\r\n setE(\"Enter an amount in dollar to deposit.\");\r\n return false;\r\n }\r\n if (amount < minAmount) {\r\n if (showError)\r\n setE(\"The amount to deposit cannot be less than $\".concat(minAmount));\r\n return false;\r\n }\r\n return true;\r\n }, []);\r\n var handleChange = useCallback(function (amt) {\r\n consoleLog(\"\".concat(SDK_NAME, \":/AmountEditor.handleChange.amount => amt: \"), amt, \" | amount: \", amount, \" a: \", a);\r\n setA(amt);\r\n if (validate(amt, true))\r\n onAmountValid(amt);\r\n }, []);\r\n var handleSubmit = useCallback(function () {\r\n if (validate(a, true))\r\n onSubmit();\r\n }, [a]);\r\n return (React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_depositAmount\"), key: \"\".concat(SDK_NAME, \"_depositAmount\"), name: \"depositAmount\", title: \"Deposit Amount\", helperText: helperText, value: a, type: TYPES.number, numberDecimals: 0, numberUnit: \"$\", mb: 4, onChange: handleChange, errorMessage: e }),\r\n React.createElement(Box, { fontWeight: \"700\", mb: 2 }, BONUSES.map(function (bonus, index) { return (React.createElement(Bonus, { key: index, min: bonus.min, max: bonus.max, bonusPct: bonus.bonusPct, icon: bonus.icon, color: bonus.color, mb: 1, cursor: \"pointer\", onClick: function () {\r\n handleChange(bonus.min);\r\n } })); })),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaChevronRight, null) }, \"Next\")));\r\n};\r\nexport default AmountEditor;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Box, Divider, Flex, HStack, Image, Tab, TabList, TabPanel, TabPanels, Tabs, VStack } from \"@chakra-ui/react\";\r\nimport { COINS, IS_TEST, LOGO_PATH, PRECISION, SDK_NAME } from '../../utils/c';\r\nimport PaymentDetected from './PaymentDetected';\r\nimport { FaPen, FaTimes } from 'react-icons/fa';\r\nimport useFirebase from '../Firebase';\r\nimport CryptoDeposit from './CryptoDeposit';\r\nimport FiatDeposit from './FiatDeposit';\r\nimport { getColor, getDefaultCoin } from '../../utils/f';\r\nimport PleaseWaitForX from '../widgets/PleaseWaitForX';\r\nimport AmountEditor from './AmountEditor';\r\nvar PayFlow = function (_a) {\r\n var show = _a.show, payAmount = _a.payAmount, walletListenerResult = _a.walletListenerResult, priceData = _a.priceData, vendors = _a.vendors, minDeposit = _a.minDeposit, minVendorDeposit = _a.minVendorDeposit, onSuccess = _a.onSuccess, onClose = _a.onClose, isDarkMode = _a.isDarkMode, contactLink = _a.contactLink, config = _a.config;\r\n var user = useFirebase(config).user;\r\n var _b = useState(payAmount || 0), amount = _b[0], setAmount = _b[1];\r\n var _c = useState(false), minDepositLoaded = _c[0], setMinDepositLoaded = _c[1];\r\n var _d = useState(getDefaultCoin()), coin = _d[0], setCoin = _d[1];\r\n var _e = useState(null), wallet = _e[0], setWallet = _e[1];\r\n var _f = useState(true), editAmount = _f[0], setEditAmount = _f[1];\r\n useEffect(function () {\r\n if (minDeposit > 0 && !minDepositLoaded) {\r\n setMinDepositLoaded(true);\r\n setAmount(!payAmount || payAmount < minDeposit ? minDeposit : payAmount);\r\n }\r\n }, [minDeposit]);\r\n useEffect(function () {\r\n //console.log(`${SDK_NAME}:/PayFlow.amount: `, amount)\r\n }, [amount]);\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n var _g = useState(), latestDeposit = _g[0], setLatestDeposit = _g[1];\r\n useEffect(function () {\r\n if (latestDepositBnbTest) {\r\n setLatestDeposit(latestDepositBnbTest);\r\n }\r\n else if (latestDepositBnb) {\r\n setLatestDeposit(latestDepositBnb);\r\n }\r\n else if (latestDepositEth) {\r\n setLatestDeposit(latestDepositEth);\r\n }\r\n }, [latestDepositBnbTest, latestDepositBnb, latestDepositEth]);\r\n if (!show)\r\n return null;\r\n return (React.createElement(Box, { position: \"fixed\", top: \"0\", left: \"0\", right: \"0\", bottom: \"0\", w: \"100%\", h: \"100%\", bg: getColor(isDarkMode, \"overlayBg\"), zIndex: \"1500\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(Flex, { flexDir: \"column\", pos: \"relative\", w: \"100%\", h: \"100%\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(Box, { w: \"100%\", maxW: { base: \"100%\", md: \"400px\" }, h: { base: \"100%\", md: \"auto\" }, m: \"0 auto\", bg: getColor(isDarkMode, \"cardBg\"), borderRadius: { base: \"0px\", md: \"8px\" }, pb: { base: \"0px\" }, boxShadow: { base: \"none\", md: \"0px 0px 10px \".concat(getColor(isDarkMode, \"cardBgShadow\")) }, pos: \"relative\", pt: { base: \"0.5rem\", md: \"0px\" }, overflowY: \"auto\", overflowX: \"hidden\" },\r\n React.createElement(HStack, { w: \"100%\", h: \"40px\", px: \"0.5rem\", justifyContent: \"flex-end\", alignItems: \"center\" },\r\n React.createElement(Box, { p: \"0.5rem\", cursor: \"pointer\", border: \"1px solid #e2e8f0\", _hover: { opacity: 0.7 }, borderRadius: \"50%\", onClick: function () {\r\n if (latestDeposit) {\r\n onSuccess(latestDeposit);\r\n }\r\n else {\r\n onClose();\r\n }\r\n } },\r\n React.createElement(FaTimes, { size: \"10px\" }))),\r\n React.createElement(Box, { display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(Box, { display: \"flex\", alignItems: \"center\" }, LOGO_PATH ?\r\n React.createElement(Image, { src: LOGO_PATH, alt: SDK_NAME, width: \"50px\", height: \"50px\" })\r\n : null),\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n user ?\r\n React.createElement(Box, { fontSize: \"11px\" }, user.email)\r\n : null,\r\n React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\" },\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"green\", mt: \"0px !important\" },\r\n \"$\",\r\n amount.toLocaleString(\"en\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })),\r\n editAmount ? null :\r\n React.createElement(Box, { p: \"0px\", ml: \"5px !important\", cursor: \"pointer\", onClick: function () {\r\n setEditAmount(true);\r\n } },\r\n React.createElement(FaPen, null))))),\r\n React.createElement(Divider, { mx: \"0px !important\", mb: 2 }),\r\n minDeposit == 0 || minVendorDeposit == 0 ?\r\n React.createElement(VStack, { w: \"100%\", h: \"68vh\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(PleaseWaitForX, null))\r\n :\r\n editAmount ?\r\n React.createElement(AmountEditor, { amount: amount, minAmount: minDeposit, onAmountValid: function (amount) {\r\n setAmount(amount);\r\n }, onSubmit: function () {\r\n setEditAmount(false);\r\n } })\r\n :\r\n React.createElement(Tabs, { isFitted: true },\r\n React.createElement(TabList, null,\r\n React.createElement(Tab, null, \"Bank Transfer\"),\r\n React.createElement(Tab, null, \"Crypto\")),\r\n latestDeposit ?\r\n React.createElement(PaymentDetected, { amount: latestDeposit.depositedAmountInCoin, symbol: COINS[latestDeposit.coin].symbol })\r\n :\r\n React.createElement(TabPanels, { p: \"0px !important\" },\r\n React.createElement(TabPanel, { p: \"0px !important\", w: \"100%\", h: \"68vh\" }, priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")] ?\r\n React.createElement(FiatDeposit, { contactLink: contactLink, isDarkMode: isDarkMode, vendors: vendors, minVendorCoinAmount: Number((minVendorDeposit / priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), minVendorUSDAmount: minVendorDeposit, coinAmount: Number((amount / priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), coinSymbol: COINS.bnb.symbol, wallet: IS_TEST ? walletBnbTest : walletBnb, usdAmount: amount, fiatSymbol: \"NGN\", fiatName: \"Naira\", fiatLogo: React.createElement(React.Fragment, null, \"\\u20A6\\u00A0\") })\r\n :\r\n React.createElement(PleaseWaitForX, null)),\r\n React.createElement(TabPanel, { p: \"0px !important\", w: \"100%\", h: \"68vh\" },\r\n React.createElement(CryptoDeposit, { isDarkMode: isDarkMode, amount: amount, coin: coin, setCoin: setCoin, coinSymbol: COINS[coin].symbol, coinAmount: Number((amount / priceData[\"\".concat(COINS[coin].coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), wallet: wallet, setWallet: setWallet, walletListenerResult: walletListenerResult }))))))));\r\n};\r\nexport default PayFlow;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport Web3 from \"web3\";\r\nimport { MIN_BLOCK_CHECK_INTERVAL_SECONDS } from \"../../utils/c\";\r\nvar WalletFactory = /** @class */ (function () {\r\n function WalletFactory(address, abi, rpcList, secondsPerBlock) {\r\n if (secondsPerBlock === void 0) { secondsPerBlock = 3; }\r\n var _this = this;\r\n this.rpcList = [];\r\n this.secondsPerBlock = 3;\r\n this.subscriptions = [];\r\n this.stop = false;\r\n this.lastRpcIndex = -1;\r\n this.getWeb3 = function () {\r\n if (_this.web3)\r\n return _this.web3; // Return the cached web3 if it exists\r\n // Increment the RPC index in a round-robin manner\r\n _this.lastRpcIndex = (_this.lastRpcIndex + 1) % _this.rpcList.length;\r\n var rpcUrl = _this.rpcList[_this.lastRpcIndex]; // Get the current RPC URL\r\n // Create a new web3 instance with the selected RPC URL\r\n _this.web3 = new Web3(rpcUrl);\r\n return _this.web3;\r\n };\r\n this.getContract = function () {\r\n var web3 = _this.getWeb3();\r\n return new web3.eth.Contract(_this.abi, _this.address);\r\n };\r\n this.address = address;\r\n this.abi = abi;\r\n this.rpcList = rpcList;\r\n this.secondsPerBlock = secondsPerBlock;\r\n }\r\n WalletFactory.prototype.startSubscriptions = function () {\r\n this.stop = false;\r\n };\r\n WalletFactory.prototype.stopSubscriptions = function () {\r\n this.stop = true; /*\r\n if(this.web3 && this.web3.provider && this.web3.provider.removeAllListeners) {\r\n //this.web3.provider.removeAllListeners('block')\r\n }\r\n for(const subscription of this.subscriptions) {\r\n try {\r\n subscription.unsubscribe()\r\n } catch(e) {}\r\n }\r\n this.subscriptions = []*/\r\n };\r\n WalletFactory.prototype.getSaltBalance = function (salt, blockNumber) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var paddedSalt = _this.getWeb3().utils.rightPad(_this.getWeb3().utils.asciiToHex(salt.toLowerCase()), 64);\r\n _this.getContract().methods\r\n .getSaltBalance(paddedSalt)\r\n .call({}, blockNumber || 'latest')\r\n .then(function (result) {\r\n var balanceObject = {\r\n salt: salt,\r\n paddedSalt: paddedSalt,\r\n wallet: result.wallet,\r\n isCreated: result.isCreated,\r\n balance: result.balance,\r\n blockNumber: blockNumber || \"latest\"\r\n };\r\n resolve(balanceObject);\r\n })\r\n .catch(function (error) {\r\n _this.web3 = null;\r\n reject(error);\r\n });\r\n });\r\n };\r\n WalletFactory.prototype.startBlockListener = function (callBack, lastBlock) {\r\n var _this = this;\r\n if (this.stop)\r\n return;\r\n var interval = Math.round((this.secondsPerBlock * 1000) / 2);\r\n if (interval < (MIN_BLOCK_CHECK_INTERVAL_SECONDS * 1000))\r\n interval = MIN_BLOCK_CHECK_INTERVAL_SECONDS * 1000;\r\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\r\n var currentBlock, _a, e_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _b.trys.push([0, 2, , 3]);\r\n _a = Number;\r\n return [4 /*yield*/, this.getCurrentBlockNumber()];\r\n case 1:\r\n currentBlock = _a.apply(void 0, [_b.sent()]);\r\n try {\r\n if (currentBlock > lastBlock)\r\n callBack(currentBlock);\r\n this.startBlockListener(callBack, currentBlock);\r\n }\r\n catch (e) {\r\n this.web3 = null;\r\n this.startBlockListener(callBack, currentBlock);\r\n }\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_1 = _b.sent();\r\n this.web3 = null;\r\n this.startBlockListener(callBack, lastBlock);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); }, interval);\r\n };\r\n WalletFactory.prototype.getCurrentBlockNumber = function () {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\r\n var blockNumber, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.getWeb3().eth.getBlockNumber()];\r\n case 1:\r\n blockNumber = _a.sent();\r\n resolve(blockNumber);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n error_1 = _a.sent();\r\n this.web3 = null;\r\n reject(error_1);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n return WalletFactory;\r\n}());\r\nexport default WalletFactory;\r\n","import { __assign, __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from 'react';\r\nimport { CHAINS_RPC_LISTS, COINS, PRECISION, PROMISE_ID, STORAGE_KEYS } from '../../../utils/c';\r\nimport WalletFactory from '../WalletFactory';\r\nimport { consoleLog, promiseResolvePending, weiToEther } from '../../../utils/f';\r\nimport useFirebase from '../../Firebase';\r\nvar useCoinListener = function (coin, decimals, requiredConfirmations, priceData, config, disableBlockchainPoll) {\r\n var TAG = \"useCoinListener\";\r\n var EMPTY_BALANCE_INFO = {\r\n hasError: false,\r\n confirmedDepositsBalance: BigInt(0),\r\n confirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDepositsBalance: BigInt(0),\r\n unconfirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDeposits: [],\r\n latestDeposit: null,\r\n salt: null,\r\n paddedSalt: null,\r\n wallet: null,\r\n walletCreated: false,\r\n confirmedDepositsBalanceInUsd: 0,\r\n unconfirmedDepositsBalanceInUsd: 0,\r\n };\r\n var user = useFirebase(config).user;\r\n var _a = useState(), currentUid = _a[0], setCurrentUid = _a[1];\r\n var _b = useState(), factory = _b[0], setFactory = _b[1];\r\n var _c = useState(EMPTY_BALANCE_INFO), confirmationBalanceInfo = _c[0], setConfirmationBalanceInfo = _c[1];\r\n var updateConfirmationsInfo = function (confirmationsInfo) {\r\n setConfirmationBalanceInfo(confirmationsInfo);\r\n //consoleLog(\"updateConfirmationsInfo: \", confirmationsInfo)\r\n };\r\n useEffect(function () {\r\n if (disableBlockchainPoll)\r\n return;\r\n if (coin && user && currentUid != user.uid && !COINS[coin].disabled) {\r\n setCurrentUid(user.uid);\r\n if (factory) {\r\n factory.stopSubscriptions();\r\n initCoin(user.uid, coin, factory);\r\n }\r\n else {\r\n // Clean up on component unmount\r\n var walletFactory_1 = new WalletFactory(COINS[coin].abiData.address, COINS[coin].abiData.abi, CHAINS_RPC_LISTS[coin], COINS[coin].secondsPerBlock);\r\n setFactory(walletFactory_1);\r\n initCoin(user.uid, coin, walletFactory_1);\r\n return function () {\r\n walletFactory_1.stopSubscriptions();\r\n };\r\n }\r\n }\r\n else if (!user) {\r\n updateConfirmationsInfo(EMPTY_BALANCE_INFO);\r\n if (factory)\r\n factory.stopSubscriptions();\r\n setCurrentUid(null);\r\n }\r\n }, [coin, user]);\r\n var initCoin = function (uid, coinKey, factory) {\r\n factory.getSaltBalance(uid)\r\n .then(function (_a) {\r\n var wallet = _a.wallet, isCreated = _a.isCreated, balance = _a.balance, salt = _a.salt, paddedSalt = _a.paddedSalt;\r\n return __awaiter(void 0, void 0, void 0, function () {\r\n var currentBlock, _b, confirmations, confirmationsInfo;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n setConfirmationBalanceInfo(__assign(__assign({}, confirmationBalanceInfo), { salt: salt, paddedSalt: paddedSalt, wallet: wallet, walletCreated: isCreated }));\r\n _b = Number;\r\n return [4 /*yield*/, factory.getCurrentBlockNumber()];\r\n case 1:\r\n currentBlock = _b.apply(void 0, [_c.sent()]);\r\n return [4 /*yield*/, getConfirmations(uid, currentBlock, requiredConfirmations, coinKey, factory)];\r\n case 2:\r\n confirmations = _c.sent();\r\n confirmationsInfo = getConfirmationsInfo(confirmations);\r\n updateConfirmationsInfo(confirmationsInfo);\r\n factory.startSubscriptions();\r\n factory.startBlockListener(function (blockNumber) { return __awaiter(void 0, void 0, void 0, function () {\r\n var confirmations_1, confirmationsInfo_1, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!user) return [3 /*break*/, 5];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, getConfirmations(user.uid, blockNumber, requiredConfirmations, coinKey, factory)];\r\n case 2:\r\n confirmations_1 = _a.sent();\r\n confirmationsInfo_1 = getConfirmationsInfo(confirmations_1);\r\n updateConfirmationsInfo(confirmationsInfo_1);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 6];\r\n case 5:\r\n updateConfirmationsInfo(EMPTY_BALANCE_INFO);\r\n _a.label = 6;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n }); }, currentBlock);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n })\r\n .catch(function (e) {\r\n //consoleLog(`${TAG}/e1/${coinKey} => ${e.message}`)\r\n setTimeout(function () {\r\n initCoin(uid, coinKey, factory);\r\n }, 5000);\r\n });\r\n };\r\n var getConfirmations = function (uid, currentBlock, confirmations, coin, factory) {\r\n return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {\r\n var promises, i, _a, e_2;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n promises = [];\r\n //Check the balance in each block, starting from the past blocks to the current block\r\n for (i = currentBlock - confirmations; i <= currentBlock; i++) {\r\n //consoleLog(\"i: \", i, confirmations - (currentBlock - i))\r\n promises.push(new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {\r\n var confirmation, saltBalanceConfirmation, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, factory.getSaltBalance(uid, i)];\r\n case 1:\r\n confirmation = _a.sent();\r\n saltBalanceConfirmation = __assign(__assign({}, confirmation), { coin: coin, requiredConfirmations: confirmations, remainingConfirmations: confirmations - (currentBlock - confirmation.blockNumber) });\r\n resolve(saltBalanceConfirmation);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_3 = _a.sent();\r\n //consoleLog(\"Error: \", e.message)\r\n resolve({});\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); }));\r\n }\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n _a = resolve;\r\n return [4 /*yield*/, Promise.all(promises)];\r\n case 2:\r\n _a.apply(void 0, [_b.sent()]);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_2 = _b.sent();\r\n reject(e_2);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n var getConfirmationsInfo = function (confirmations) {\r\n var emptyBalanceInfo = {\r\n hasError: false,\r\n confirmedDepositsBalance: BigInt(0),\r\n confirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDepositsBalance: BigInt(0),\r\n unconfirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDeposits: [],\r\n latestDeposit: null,\r\n salt: null,\r\n paddedSalt: null,\r\n wallet: null,\r\n walletCreated: false,\r\n confirmedDepositsBalanceInUsd: 0,\r\n unconfirmedDepositsBalanceInUsd: 0,\r\n };\r\n var balanceInfo = __assign({}, emptyBalanceInfo);\r\n var coinPrice = priceData[\"\".concat(COINS[coin].coingecko_price_key, \"_usd\")];\r\n var latestDeposit = null;\r\n for (var index = 0; index < confirmations.length; index++) {\r\n var confirmation = confirmations[index];\r\n if (Object.keys(confirmation).length == 0) {\r\n balanceInfo = emptyBalanceInfo;\r\n balanceInfo.hasError = true;\r\n break;\r\n }\r\n if (index > 0) {\r\n var prevConfirmation = confirmations[index - 1];\r\n if (confirmation.balance > prevConfirmation.balance) {\r\n var newDeposit = __assign(__assign({}, confirmation), { depositedAmount: (confirmation.balance - prevConfirmation.balance), depositedAmountInCoin: 0, depositedAmountInUsd: 0 });\r\n newDeposit.depositedAmountInCoin = weiToEther(newDeposit.depositedAmount, decimals, PRECISION);\r\n balanceInfo.unconfirmedDeposits.push(newDeposit);\r\n balanceInfo.unconfirmedDepositsBalance += newDeposit.depositedAmount;\r\n if (coinPrice) {\r\n newDeposit.depositedAmountInUsd = newDeposit.depositedAmountInCoin * coinPrice;\r\n //consoleLog(\"fetchPrice.coinPrice\", coinPrice, newDeposit.depositedAmountInUsd, newDeposit.depositedAmountInCoin)\r\n }\r\n if (index == confirmations.length - 1) {\r\n //balanceInfo.latestDeposit = newDeposit\r\n }\r\n latestDeposit = {\r\n blockNumber: confirmations[index].blockNumber,\r\n deposit: newDeposit\r\n };\r\n }\r\n if (index == confirmations.length - 1) {\r\n balanceInfo.confirmedDepositsBalance = (confirmation.balance - balanceInfo.unconfirmedDepositsBalance);\r\n balanceInfo.salt = confirmation.salt;\r\n balanceInfo.paddedSalt = confirmation.paddedSalt;\r\n balanceInfo.wallet = confirmation.wallet;\r\n balanceInfo.walletCreated = confirmation.isCreated;\r\n }\r\n }\r\n }\r\n //balanceInfo.latestDeposit = newDeposit\r\n if (latestDeposit) {\r\n // get the last deposit block number\r\n var lastDepositBlockNumberString = localStorage.getItem(\"\".concat(STORAGE_KEYS.LAST_DEPOSIT_BLOCK_NUMBER, \"_\").concat(coin, \"_\").concat((user === null || user === void 0 ? void 0 : user.uid) || \"\"));\r\n var lastDepositBlockNumber = 0;\r\n if (!lastDepositBlockNumberString) {\r\n lastDepositBlockNumberString = \"0\";\r\n }\r\n try {\r\n lastDepositBlockNumber = parseInt(lastDepositBlockNumberString);\r\n }\r\n catch (e) { }\r\n //If the latest deposit block number is greater than the last deposit block number,\r\n // set the latest deposit\r\n try {\r\n if (Number(latestDeposit.blockNumber) > lastDepositBlockNumber) {\r\n localStorage.setItem(\"\".concat(STORAGE_KEYS.LAST_DEPOSIT_BLOCK_NUMBER, \"_\").concat(coin, \"_\").concat((user === null || user === void 0 ? void 0 : user.uid) || \"\"), \"\".concat(latestDeposit.blockNumber));\r\n balanceInfo.latestDeposit = latestDeposit.deposit;\r\n }\r\n }\r\n catch (e) {\r\n consoleLog(\"getConfirmationsInfo.Number(latestDeposit.blockNumber.error\", e.message);\r\n }\r\n }\r\n balanceInfo.confirmedDepositsBalanceInCoin = weiToEther(balanceInfo.confirmedDepositsBalance, decimals, PRECISION);\r\n balanceInfo.unconfirmedDepositsBalanceInCoin = weiToEther(balanceInfo.unconfirmedDepositsBalance, decimals, PRECISION);\r\n if (coinPrice) {\r\n balanceInfo.confirmedDepositsBalanceInUsd = balanceInfo.confirmedDepositsBalanceInCoin * coinPrice;\r\n balanceInfo.unconfirmedDepositsBalanceInUsd = balanceInfo.unconfirmedDepositsBalanceInCoin * coinPrice;\r\n }\r\n if (balanceInfo.latestDeposit && promiseResolvePending(PROMISE_ID.deposit)) {\r\n //resolvePromise(PROMISE_ID.deposit, balanceInfo.latestDeposit)\r\n }\r\n return balanceInfo;\r\n };\r\n return [\r\n confirmationBalanceInfo.hasError,\r\n confirmationBalanceInfo.confirmedDepositsBalance,\r\n confirmationBalanceInfo.confirmedDepositsBalanceInCoin,\r\n confirmationBalanceInfo.unconfirmedDepositsBalance,\r\n confirmationBalanceInfo.unconfirmedDepositsBalanceInCoin,\r\n confirmationBalanceInfo.unconfirmedDeposits,\r\n confirmationBalanceInfo.latestDeposit,\r\n confirmationBalanceInfo.salt,\r\n confirmationBalanceInfo.paddedSalt,\r\n confirmationBalanceInfo.wallet,\r\n confirmationBalanceInfo.walletCreated,\r\n confirmationBalanceInfo.confirmedDepositsBalanceInUsd,\r\n confirmationBalanceInfo.unconfirmedDepositsBalanceInUsd,\r\n ];\r\n};\r\nexport default useCoinListener;\r\n","import { useEffect, useState } from 'react';\r\nimport useCoinListener from './useCoinListener';\r\nimport { COINS, IS_TEST } from '../../../utils/c';\r\nvar useWalletListener = function (serverTotalBalanceInUsd, priceData, config, disableBlockchainPoll) {\r\n var TAG = \"useDepositListener\";\r\n var _a = useCoinListener(COINS.bnb_testnet.key, COINS.bnb_testnet.decimals, COINS.bnb_testnet.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorBnbTest = _a[0], confirmedDepositsBalanceBnbTest = _a[1], confirmedDepositsBalanceInCoinBnbTest = _a[2], unconfirmedDepositsBalanceBnbTest = _a[3], unconfirmedDepositsBalanceInCoinBnbTest = _a[4], unconfirmedDepositsBnbTest = _a[5], latestDepositBnbTest = _a[6], saltBnbTest = _a[7], paddedSaltBnbTest = _a[8], walletBnbTest = _a[9], walletCreatedBnbTest = _a[10], confirmedDepositsBalanceInUsdBnbTest = _a[11], unconfirmedDepositsBalanceInUsdBnbTest = _a[12];\r\n var _b = useCoinListener(COINS.bnb.key, COINS.bnb.decimals, COINS.bnb.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorBnb = _b[0], confirmedDepositsBalanceBnb = _b[1], confirmedDepositsBalanceInCoinBnb = _b[2], unconfirmedDepositsBalanceBnb = _b[3], unconfirmedDepositsBalanceInCoinBnb = _b[4], unconfirmedDepositsBnb = _b[5], latestDepositBnb = _b[6], saltBnb = _b[7], paddedSaltBnb = _b[8], walletBnb = _b[9], walletCreatedBnb = _b[10], confirmedDepositsBalanceInUsdBnb = _b[11], unconfirmedDepositsBalanceInUsdBnb = _b[12];\r\n var _c = useCoinListener(COINS.ethereum.key, COINS.ethereum.decimals, COINS.ethereum.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorEth = _c[0], confirmedDepositsBalanceEth = _c[1], confirmedDepositsBalanceInCoinEth = _c[2], unconfirmedDepositsBalanceEth = _c[3], unconfirmedDepositsBalanceInCoinEth = _c[4], unconfirmedDepositsEth = _c[5], latestDepositEth = _c[6], saltEth = _c[7], paddedSaltEth = _c[8], walletEth = _c[9], walletCreatedEth = _c[10], confirmedDepositsBalanceInUsdEth = _c[11], unconfirmedDepositsBalanceInUsdEth = _c[12];\r\n var _d = useState(0), balancePendingInUsd = _d[0], setBalancePendingInUsd = _d[1];\r\n useEffect(function () {\r\n if (IS_TEST) {\r\n setBalancePendingInUsd(unconfirmedDepositsBalanceInUsdBnbTest);\r\n }\r\n else {\r\n setBalancePendingInUsd(unconfirmedDepositsBalanceInUsdBnb + unconfirmedDepositsBalanceInUsdEth);\r\n }\r\n }, [unconfirmedDepositsBalanceInUsdBnbTest, unconfirmedDepositsBalanceInUsdBnb, unconfirmedDepositsBalanceInUsdEth]);\r\n return {\r\n hasErrorBnbTest: hasErrorBnbTest,\r\n confirmedDepositsBalanceBnbTest: confirmedDepositsBalanceBnbTest,\r\n confirmedDepositsBalanceInCoinBnbTest: confirmedDepositsBalanceInCoinBnbTest,\r\n unconfirmedDepositsBalanceBnbTest: unconfirmedDepositsBalanceBnbTest,\r\n unconfirmedDepositsBalanceInCoinBnbTest: unconfirmedDepositsBalanceInCoinBnbTest,\r\n unconfirmedDepositsBnbTest: unconfirmedDepositsBnbTest,\r\n latestDepositBnbTest: latestDepositBnbTest,\r\n saltBnbTest: saltBnbTest,\r\n paddedSaltBnbTest: paddedSaltBnbTest,\r\n walletBnbTest: walletBnbTest,\r\n walletCreatedBnbTest: walletCreatedBnbTest,\r\n confirmedDepositsBalanceInUsdBnbTest: confirmedDepositsBalanceInUsdBnbTest,\r\n unconfirmedDepositsBalanceInUsdBnbTest: unconfirmedDepositsBalanceInUsdBnbTest,\r\n hasErrorBnb: hasErrorBnb,\r\n confirmedDepositsBalanceBnb: confirmedDepositsBalanceBnb,\r\n confirmedDepositsBalanceInCoinBnb: confirmedDepositsBalanceInCoinBnb,\r\n unconfirmedDepositsBalanceBnb: unconfirmedDepositsBalanceBnb,\r\n unconfirmedDepositsBalanceInCoinBnb: unconfirmedDepositsBalanceInCoinBnb,\r\n unconfirmedDepositsBnb: unconfirmedDepositsBnb,\r\n latestDepositBnb: latestDepositBnb,\r\n saltBnb: saltBnb,\r\n paddedSaltBnb: paddedSaltBnb,\r\n walletBnb: walletBnb,\r\n walletCreatedBnb: walletCreatedBnb,\r\n confirmedDepositsBalanceInUsdBnb: confirmedDepositsBalanceInUsdBnb,\r\n unconfirmedDepositsBalanceInUsdBnb: unconfirmedDepositsBalanceInUsdBnb,\r\n hasErrorEth: hasErrorEth,\r\n confirmedDepositsBalanceEth: confirmedDepositsBalanceEth,\r\n confirmedDepositsBalanceInCoinEth: confirmedDepositsBalanceInCoinEth,\r\n unconfirmedDepositsBalanceEth: unconfirmedDepositsBalanceEth,\r\n unconfirmedDepositsBalanceInCoinEth: unconfirmedDepositsBalanceInCoinEth,\r\n unconfirmedDepositsEth: unconfirmedDepositsEth,\r\n latestDepositEth: latestDepositEth,\r\n saltEth: saltEth,\r\n paddedSaltEth: paddedSaltEth,\r\n walletEth: walletEth,\r\n walletCreatedEth: walletCreatedEth,\r\n confirmedDepositsBalanceInUsdEth: confirmedDepositsBalanceInUsdEth,\r\n unconfirmedDepositsBalanceInUsdEth: unconfirmedDepositsBalanceInUsdEth,\r\n balanceInUsd: serverTotalBalanceInUsd,\r\n balancePendingInUsd: balancePendingInUsd,\r\n };\r\n};\r\nexport default useWalletListener;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Box, Divider, HStack, Text, VStack, Image, Button } from \"@chakra-ui/react\";\r\nimport ModalPop from '../widgets/ModalPop';\r\nimport useFirebase from '../Firebase';\r\nimport { COINS } from '../../utils/c';\r\nimport { getColor } from '../../utils/f';\r\nimport CopyView from '../widgets/CopyView';\r\nimport Swal from 'sweetalert2';\r\nvar UnconfirmedDeposit = function (_a) {\r\n var deposit = _a.deposit;\r\n return (React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\", mb: \"0.5rem\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"space-between\", alignItems: \"flex-start\" },\r\n React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: COINS[deposit.coin].logo, w: \"25px\", h: \"25px\" }),\r\n React.createElement(Text, { as: \"div\" }, COINS[deposit.coin].symbol)),\r\n React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"center\", gap: \"0rem !important\" },\r\n React.createElement(Text, { as: \"div\", lineHeight: \"50%\", mb: \"0px !important\" }, deposit.depositedAmountInCoin),\r\n deposit.depositedAmountInUsd > 0 ?\r\n React.createElement(Text, { as: \"div\", mb: \"0px !important\" },\r\n \"~ $\",\r\n (Math.floor(deposit.depositedAmountInUsd * 100) / 100).toFixed(2)) : null)),\r\n React.createElement(Text, { as: \"div\", fontStyle: \"italic\", fontSize: \"11px\" },\r\n deposit.remainingConfirmations,\r\n \" of \",\r\n deposit.requiredConfirmations,\r\n \" confirmations remaining.\"),\r\n React.createElement(Box, { w: \"90%\" },\r\n React.createElement(Divider, null))));\r\n};\r\nvar WalletTracker = function (_a) {\r\n var affPct = _a.affPct, walletListenerResult = _a.walletListenerResult, defaultDepositAmount = _a.defaultDepositAmount, balanceUpdating = _a.balanceUpdating, referralEarnings = _a.referralEarnings, onClose = _a.onClose, deposit = _a.deposit, sell = _a.sell, isDarkMode = _a.isDarkMode, requestPayment = _a.requestPayment, currentPaymentAddress = _a.currentPaymentAddress, config = _a.config;\r\n var user = useFirebase(config).user;\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n var _b = useState(0), totalUnconfirmedDeposits = _b[0], setTotalUnconfirmedDeposits = _b[1];\r\n useEffect(function () {\r\n setTotalUnconfirmedDeposits(unconfirmedDepositsBnbTest.length + unconfirmedDepositsBnb.length + unconfirmedDepositsEth.length);\r\n }, [unconfirmedDepositsBnbTest, unconfirmedDepositsBnb, unconfirmedDepositsEth]);\r\n if (defaultDepositAmount == 0)\r\n return null;\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), onClose: onClose, isOpen: true, title: \"Frontbacked Wallet\", subtitle: user === null || user === void 0 ? void 0 : user.email },\r\n React.createElement(Box, { w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-end\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Box, { fontSize: \"11px\" }, \"Deposits\"),\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"green.500\", mt: \"0px !important\" },\r\n \"$\",\r\n (Math.floor(balanceInUsd * 100) / 100).toFixed(2))),\r\n React.createElement(Box, { display: \"flex\", justifyContent: \"flex-start\", alignItems: \"flex-end\" },\r\n React.createElement(Button, { bg: \"red.500\", mr: \"0.5rem\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n sell(\"Sign In to transfer your credits.\", \"Sign Up to transfer your credits.\");\r\n } }, \"Transfer\"),\r\n React.createElement(Button, { bg: \"green.500\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n deposit(defaultDepositAmount, \"Sign In to fund your wallet.\", \"Sign Up to fund your wallet.\")\r\n .then(function () { })\r\n .catch(function (e) { });\r\n } }, \"Fund Wallet\"))),\r\n React.createElement(Box, { w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-end\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n user ?\r\n React.createElement(Box, { fontSize: \"11px\" }, \"Referral Earnings\")\r\n : null,\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"orange.500\", mt: \"0px !important\", fontStyle: referralEarnings < 0 ? 'italic' : \"normal\" }, referralEarnings < 0 ? \"Loading...\" : \"$\".concat((Math.floor(referralEarnings * 100) / 100).toFixed(2)))),\r\n React.createElement(Button, { bg: \"orange.500\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"orange.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"orange.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n requestPayment()\r\n .then(function () {\r\n Swal.fire({\r\n title: \"Payment Address Submitted\",\r\n icon: \"success\",\r\n text: \"Your payment address has been successfully submitted. Payments will be processed on the 7th, 17th, and 27th of each month, provided that your referral earnings have reached or exceeded the minimum payment threshold of $20 on the respective payout days.\"\r\n });\r\n })\r\n .catch(function (e) {\r\n if (e.message.length > 0) {\r\n Swal.fire({\r\n title: \"Payment Error\",\r\n icon: \"error\",\r\n text: e.message\r\n });\r\n }\r\n });\r\n } }, currentPaymentAddress ? \"Edit Payment Address\" : \"Request Payment\")),\r\n React.createElement(Divider, { mx: \"0px !important\", my: 2 }),\r\n totalUnconfirmedDeposits > 0 ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" }, balancePendingInUsd > 0 ?\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", textAlign: \"center\" },\r\n \"You have \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n \"$\",\r\n (Math.floor(balancePendingInUsd * 100) / 100).toFixed(2),\r\n \" worth of \",\r\n totalUnconfirmedDeposits,\r\n \" crypto \",\r\n totalUnconfirmedDeposits > 1 ? \"deposits\" : \"deposit\"),\r\n \" awaiting confirmations.\")\r\n :\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", textAlign: \"center\" },\r\n \"You have \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n totalUnconfirmedDeposits,\r\n \" \",\r\n totalUnconfirmedDeposits > 1 ? \"deposits\" : \"deposit\"),\r\n \" awaiting confirmations.\")),\r\n React.createElement(Box, { w: \"100%\", h: \"250px\", overflow: \"auto\", p: \"0.5rem\" },\r\n unconfirmedDepositsBnbTest.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); }),\r\n unconfirmedDepositsBnb.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); }),\r\n unconfirmedDepositsEth.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); })))\r\n :\r\n balanceUpdating ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", fontWeight: \"500\", textAlign: \"center\", fontStyle: \"italic\" }, \"Updating your balance with confirmed deposits...\")))\r\n :\r\n React.createElement(React.Fragment, null, affPct === null || affPct === undefined ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", fontWeight: \"500\", textAlign: \"center\", fontStyle: \"italic\" }, \"Checking affiliate info...\")))\r\n :\r\n affPct > 0 && config.refEnabled ?\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Text, { as: \"div\", m: \"0px !important\", fontSize: \"14px\" }, \"Your referral link is: \"),\r\n React.createElement(CopyView, { fontSize: \"11px\", fontWeight: \"500\", color: \"orange.500\", textDecoration: \"underline\", textAlign: \"center\", as: \"div\", m: \"0px !important\", mb: \"0.5rem\", textToCopy: \"https://\".concat(config.appDomain, \"/?ref=\").concat(user === null || user === void 0 ? void 0 : user.uid), onCopyMessage: \"Referral link copied.\" },\r\n \"https://\",\r\n config.appDomain,\r\n \"/?ref=\", user === null || user === void 0 ? void 0 :\r\n user.uid),\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", fontWeight: \"500\", textAlign: \"center\" },\r\n \"Click your unique referral link to conveniently copy it, and begin sharing it with your friends, fans, and audience. Earn a \",\r\n affPct || \"???\",\r\n \"% reward each time they make a deposit. They also enjoy a \",\r\n affPct || \"???\",\r\n \"% bonus added to their balance on each deposit for signing up with your referral link.\"),\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", fontWeight: \"500\", textAlign: \"center\" }, \"Your earnings will be paid on the 7th, 17th, and 27th of each month.\"))\r\n : null)));\r\n};\r\nexport default WalletTracker;\r\n","import { useEffect, useState } from \"react\";\r\n// Function to get the value of a query parameter from the URL\r\nvar getQueryParamValue = function (param) {\r\n var urlSearchParams = new URLSearchParams(window.location.search);\r\n return urlSearchParams.get(param);\r\n};\r\nvar useReferralId = function () {\r\n var _a = useState(), referralId = _a[0], setReferralId = _a[1];\r\n var getReferralId = function () { return localStorage.getItem('referral_id'); };\r\n useEffect(function () {\r\n // Get the referral_id from the URL query\r\n var refId = getQueryParamValue('ref');\r\n // Check if referral_id is present in the URL\r\n if (refId) {\r\n // Save referral_id to local storage\r\n localStorage.setItem('referral_id', refId);\r\n setReferralId(refId);\r\n }\r\n else {\r\n refId = getReferralId();\r\n if (refId) {\r\n setReferralId(refId);\r\n }\r\n }\r\n }, []); // Run the effect only once on mount\r\n return {\r\n referralId: referralId,\r\n getReferralId: getReferralId\r\n };\r\n};\r\nexport default useReferralId;\r\n","import { __assign, __spreadArray } from \"tslib\";\r\nimport { useState, useEffect } from \"react\";\r\nimport useFirebase from \"../../Firebase\";\r\nimport { doc, onSnapshot, collection } from \"firebase/firestore\";\r\nimport axios from \"axios\";\r\nimport { COINS, ERROR_X, IS_TEST, PRECISION, REF_PCT, STORAGE_KEYS } from \"../../../utils/c\";\r\nimport { consoleLog, getError, weiToEther } from \"../../../utils/f\";\r\nimport useReferralId from \"./useReferralId\";\r\nimport Swal from \"sweetalert2\";\r\nvar customWindow = typeof window !== 'undefined' ? window : null;\r\nvar UPDATE_RETRIES_WAIT = [\r\n 5000,\r\n 10000,\r\n 20000,\r\n 30000,\r\n 120000\r\n];\r\nvar DEFAULT_BALANCE_DOC = {\r\n usd_balance: 0,\r\n referral_earnings: 0,\r\n bnb_payment_address: null,\r\n bnb_testnet_payment_address: null,\r\n referred_by: null\r\n};\r\nvar useServerBalanceUpdate = function (config, priceData) {\r\n if (priceData === void 0) { priceData = {}; }\r\n var _a = useFirebase(config), user = _a.user, db = _a.db;\r\n var _b = useReferralId(), referralId = _b.referralId, getReferralId = _b.getReferralId;\r\n var _c = useState(false), balanceFirstLoadDone = _c[0], setBalanceFirstLoadDone = _c[1];\r\n var _d = useState(DEFAULT_BALANCE_DOC), balanceDoc = _d[0], setBalanceDoc = _d[1];\r\n var getCoinBalanceKey = function (coin) {\r\n return \"\".concat(coin, \"_balance\").toLowerCase();\r\n };\r\n var readServerCoinBalance = function (coin) {\r\n var balance = balanceDoc[getCoinBalanceKey(coin)];\r\n if (!balance)\r\n balance = \"0\";\r\n return BigInt(balance);\r\n };\r\n var _e = useState([]), updatingCoins = _e[0], setUpdatingCoins = _e[1];\r\n var _f = useState(false), balanceUpdating = _f[0], setBalanceUpdating = _f[1];\r\n var syncConfirmedBalance = function (coinsInfo, lastWaitRetryIndex) {\r\n if (lastWaitRetryIndex === void 0) { lastWaitRetryIndex = -1; }\r\n if (!balanceFirstLoadDone)\r\n return;\r\n var coins = [];\r\n var updating = [];\r\n for (var _i = 0, _a = Object.keys(coinsInfo); _i < _a.length; _i++) {\r\n var coin = _a[_i];\r\n if (coinsInfo[coin] > readServerCoinBalance(coin)) {\r\n coins.push(coin);\r\n updating.push(\"\".concat(coin, \":\").concat(coinsInfo[coin].toString()));\r\n }\r\n }\r\n if (coins.length > 0) {\r\n setBalanceUpdating(true);\r\n //Keep track of the coins being synced with the values being synced tp avoid multiple sync request\r\n setUpdatingCoins(updating);\r\n //Send sync request for the coins that needs syncing\r\n updateBalanceDoc(coins)\r\n .then(function () {\r\n //setBalanceUpdating(false) will be called inside the snapshot when the new balance has been fetched\r\n })\r\n .catch(function (e) {\r\n var _a, _b;\r\n setBalanceUpdating(false);\r\n //errorCoins contain the coins that failed during balance update\r\n var errorCoins = (_b = (_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errorCoins;\r\n if (errorCoins) {\r\n var coinsOnly = errorCoins.map(function (coinData) { return coinData.coin; });\r\n errorCoins = coinsOnly;\r\n }\r\n else {\r\n errorCoins = Object.keys(coinsInfo);\r\n }\r\n //Get the current track of coins being synced. Might have changed by another call of \"syncConfirmedBalance\" \r\n var updatingState = __spreadArray([], updatingCoins, true);\r\n //Loop through the coins being synced\r\n for (var _i = 0, errorCoins_1 = errorCoins; _i < errorCoins_1.length; _i++) {\r\n var coin = errorCoins_1[_i];\r\n //Get the coin/balance being synced\r\n var coinState = \"\".concat(coin, \":\").concat(coinsInfo[coin].toString());\r\n //If the state still exist\r\n if (updatingState.includes(coinState)) {\r\n //Remove it so it can be available for syncing again\r\n updatingState.splice(updatingState.indexOf(coinState), 1);\r\n }\r\n }\r\n setUpdatingCoins(updatingState);\r\n //This line keeps retrying the balance update because the error is more likely to be \r\n // max file write per second error or balance update disabled error due to payout ongoing\r\n var retryIndex = lastWaitRetryIndex + 1;\r\n if (retryIndex >= UPDATE_RETRIES_WAIT.length)\r\n retryIndex = 0;\r\n setTimeout(function () {\r\n syncConfirmedBalance(coinsInfo, retryIndex);\r\n }, UPDATE_RETRIES_WAIT[retryIndex]); //Retry after 10 seconds in case it's \r\n });\r\n }\r\n };\r\n var updateBalanceDoc = function (coins, userEmail) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_balance\"), {\r\n coins: coins,\r\n referralId: getReferralId(),\r\n userEmail: userEmail\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"updateBalanceDoc:result \", result);\r\n resolve(null);\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"updateBalanceDoc:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updatePaymentAddress = function (address, coinKey, user) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_payment_address\"), {\r\n address: address,\r\n coinKey: coinKey\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"updatePaymentAddress:result \", result);\r\n resolve();\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"updatePaymentAddress:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var transferCredit = function (recipientEmail, amount, user) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else if (amount > balanceDoc.usd_balance) {\r\n reject({ error: \"Insufficient balance. Fund your wallet and try again.\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/transfer_credit\"), {\r\n recipientEmail: recipientEmail,\r\n amount: amount\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"transferCredit:result \", result);\r\n resolve();\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"transferCredit:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updateBalanceWithEarnings = function (balanceInfo) {\r\n if (!user) {\r\n setBalanceDoc(DEFAULT_BALANCE_DOC);\r\n return;\r\n }\r\n var referralEarnings = 0;\r\n if (IS_TEST) {\r\n referralEarnings = weiToEther(BigInt(balanceInfo[\"bnb_testnet_referral_earnings\"] || \"0\"), COINS.bnb_testnet.decimals, PRECISION);\r\n referralEarnings *= priceData[\"\".concat(COINS.bnb_testnet.coingecko_price_key, \"_usd\")] || -1;\r\n var referralEarnings2 = weiToEther(BigInt(balanceInfo[\"ethereum_testnet_referral_earnings\"] || \"0\"), COINS.ethereum_testnet.decimals, PRECISION);\r\n referralEarnings2 *= priceData[\"\".concat(COINS.ethereum_testnet.coingecko_price_key, \"_usd\")] || -1;\r\n referralEarnings += referralEarnings2;\r\n }\r\n else {\r\n referralEarnings = weiToEther(BigInt(balanceInfo[\"bnb_referral_earnings\"] || \"0\"), COINS.bnb.decimals, PRECISION);\r\n referralEarnings *= priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")] || -1;\r\n var referralEarnings2 = weiToEther(BigInt(balanceInfo[\"ethereum_referral_earnings\"] || \"0\"), COINS.ethereum.decimals, PRECISION);\r\n referralEarnings2 *= priceData[\"\".concat(COINS.ethereum.coingecko_price_key, \"_usd\")] || -1;\r\n referralEarnings += referralEarnings2;\r\n }\r\n var prevUsdBalanceString = localStorage.getItem(\"\".concat(STORAGE_KEYS.LAST_USD_BALANCE, \"_\").concat(user.uid));\r\n var prevUsdBalance = 0;\r\n try {\r\n prevUsdBalance = Number(prevUsdBalanceString);\r\n }\r\n catch (e) { }\r\n localStorage.setItem(\"\".concat(STORAGE_KEYS.LAST_USD_BALANCE, \"_\").concat(user.uid), \"\".concat(balanceInfo.usd_balance));\r\n var balanceIncrease = balanceInfo.usd_balance - prevUsdBalance;\r\n setBalanceDoc(__assign(__assign({}, balanceInfo), { referral_earnings: referralEarnings }));\r\n consoleLog(\"updateBalanceWithEarnings:\", balanceIncrease, balanceInfo.referred_by);\r\n if (balanceIncrease > 0 && balanceInfo.referred_by && balanceInfo.referred_by.length > 0) {\r\n var discount = (balanceIncrease * REF_PCT) / 100;\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"Friend Reward\",\r\n text: \"Congratulations! You've just received a \".concat(REF_PCT, \"% deposit friend reward, totaling $\").concat(discount.toFixed(2), \", as a token of appreciation for signing up through your friend's referral link. Enjoy this reward on SoftBaker Tools and make the most of your experience!\")\r\n });\r\n }\r\n };\r\n useEffect(function () {\r\n updateBalanceWithEarnings(balanceDoc);\r\n }, [priceData]);\r\n useEffect(function () {\r\n if (!user || !db) {\r\n setBalanceFirstLoadDone(false);\r\n setBalanceDoc({\r\n usd_balance: 0,\r\n referral_earnings: 0,\r\n bnb_payment_address: null,\r\n bnb_testnet_payment_address: null,\r\n referred_by: null,\r\n });\r\n if (customWindow && customWindow.unsubscribeBalance) {\r\n try {\r\n customWindow.unsubscribeBalance();\r\n }\r\n catch (e) { }\r\n }\r\n return;\r\n }\r\n var unsubscribe = onSnapshot(doc(collection(db, \"wallets\"), user.uid), function (snapshot) {\r\n setBalanceFirstLoadDone(true);\r\n if (snapshot.exists()) {\r\n var balanceInfo = __assign({ usd_balance: 0, referral_earnings: 0, bnb_payment_address: null, bnb_testnet_payment_address: null, referred_by: null }, snapshot.data());\r\n updateBalanceWithEarnings(balanceInfo);\r\n setBalanceUpdating(false);\r\n }\r\n else {\r\n updateBalanceWithEarnings(DEFAULT_BALANCE_DOC);\r\n setBalanceUpdating(false);\r\n }\r\n }, function (error) {\r\n consoleLog(\"userServerBaanceUpdate: Error listening to user wallet:\", error);\r\n updateBalanceWithEarnings(DEFAULT_BALANCE_DOC);\r\n setBalanceUpdating(false);\r\n });\r\n if (customWindow) {\r\n customWindow.unsubscribeBalance = unsubscribe;\r\n }\r\n return function () { return unsubscribe(); };\r\n }, [user, db]);\r\n return {\r\n usdBalance: balanceDoc.usd_balance,\r\n referralEarnings: balanceDoc.referral_earnings,\r\n bnbPaymentAddress: balanceDoc.bnb_payment_address,\r\n bnbTestnetPaymentAddress: balanceDoc.bnb_testnet_payment_address,\r\n balanceUpdating: balanceUpdating,\r\n syncConfirmedBalance: syncConfirmedBalance,\r\n updatePaymentAddress: updatePaymentAddress,\r\n transferCredit: transferCredit\r\n };\r\n};\r\nexport default useServerBalanceUpdate;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { PRICE_FETCH_INTERVAL_MINS } from \"../../../utils/c\";\r\nimport { consoleLog } from \"../../../utils/f\";\r\nvar usePriceData = function () {\r\n var _a = useState({}), priceData = _a[0], setPriceData = _a[1];\r\n var _b = useState(false), priceFetchStarted = _b[0], setPriceFetchStarted = _b[1];\r\n useEffect(function () {\r\n if (!priceFetchStarted) {\r\n setPriceFetchStarted(true);\r\n fetchPrice();\r\n }\r\n }, []);\r\n var fetchPrice = function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var priceData_1, priceDataState, _i, _a, key, e_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _b.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, axios.get('https://api.coingecko.com/api/v3/simple/price?ids=binancecoin,ethereum&vs_currencies=usd')];\r\n case 1:\r\n priceData_1 = _b.sent();\r\n priceDataState = {};\r\n for (_i = 0, _a = Object.keys(priceData_1.data); _i < _a.length; _i++) {\r\n key = _a[_i];\r\n priceDataState[\"\".concat(key, \"_usd\")] = priceData_1.data[key].usd;\r\n }\r\n setPriceData(priceDataState);\r\n consoleLog(\"fetchPrice.data: \", priceDataState);\r\n setTimeout(function () {\r\n fetchPrice();\r\n }, PRICE_FETCH_INTERVAL_MINS * 60 * 1000);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_1 = _b.sent();\r\n consoleLog(\"fetchPrice.Error: \", e_1.message);\r\n setTimeout(function () {\r\n fetchPrice();\r\n }, 10000);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return priceData;\r\n};\r\nexport default usePriceData;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { consoleLog, isBrowser } from '../../../utils/f';\r\nvar MAX_RETRIES = 5;\r\nvar CACHE_KEY = \"sdk_config-metadata\";\r\n// let sdkConfigCache: SdkConfig | null = null;\r\n// let fetchPromise: Promise<SdkConfig | null> | null = null;\r\nvar defaultFactoryData = \"{\\n \\\"etag\\\": \\\"W/\\\"cfb2c25c60051f77c56bc81c008b2d80\\\"\\\",\\n \\\"lastModified\\\": \\\"Thu, 15 May 2025 01:41:21 GMT\\\",\\n \\\"cachedData\\\": {\\n \\\"aff_pct\\\": 10,\\n \\\"app_version_code\\\": 19,\\n \\\"contact_link\\\": \\\"https://t.me/frontbacked\\\",\\n \\\"group_link\\\": \\\"https://t.me/frontbacked\\\",\\n \\\"group_links\\\": [\\n \\\"https://t.me/frontbacked\\\"\\n ],\\n \\\"min_deposit\\\": 7,\\n \\\"min_vendor_deposit\\\": 7,\\n \\\"parent_site_home\\\": \\\"https://hackbaker.com\\\",\\n \\\"ttl_days\\\": 2,\\n \\\"vendors\\\": [\\n {\\n \\\"name\\\": \\\"JinmiEx\\\",\\n \\\"number\\\": \\\"+2348130729216\\\",\\n \\\"freq\\\": 1\\n }\\n ]\\n }\\n}\";\r\nvar useSdkConfig = function (appConfig) {\r\n var _a = useState(isBrowser() ? window.sdkConfigCache : null), sdkConfig = _a[0], setSdkConfig = _a[1];\r\n function parseVendors(vendorsAsTexts) {\r\n return vendorsAsTexts.map(function (text) {\r\n var _a = text.split(','), name = _a[0], number = _a[1], freq = _a[2];\r\n return {\r\n name: name,\r\n number: number,\r\n freq: parseInt(freq),\r\n };\r\n });\r\n }\r\n useEffect(function () {\r\n if (!(appConfig === null || appConfig === void 0 ? void 0 : appConfig.r2Domain))\r\n return;\r\n if (window.sdkConfigCache) {\r\n setSdkConfig(window.sdkConfigCache);\r\n return;\r\n }\r\n if (!window.fetchPromise) {\r\n window.fetchPromise = (function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var attempts, headers, cachedMetadata, _a, etag, lastModified, cachedData, response, config, err_1;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n attempts = 0;\r\n headers = {};\r\n cachedMetadata = localStorage.getItem(CACHE_KEY) || defaultFactoryData;\r\n if (cachedMetadata) {\r\n _a = JSON.parse(cachedMetadata), etag = _a.etag, lastModified = _a.lastModified, cachedData = _a.cachedData;\r\n if (cachedData) {\r\n window.sdkConfigCache = cachedData;\r\n setSdkConfig(cachedData);\r\n //return cachedData;\r\n }\r\n if (etag)\r\n headers[\"If-None-Match\"] = etag;\r\n if (lastModified)\r\n headers[\"If-Modified-Since\"] = lastModified;\r\n }\r\n consoleLog(\"useSdkConfig.headers: \", headers);\r\n _c.label = 1;\r\n case 1:\r\n if (!(attempts < MAX_RETRIES)) return [3 /*break*/, 6];\r\n _c.label = 2;\r\n case 2:\r\n _c.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, axios.get(\"https://\".concat(appConfig.r2Domain, \"/sdk_config.json\"), {\r\n headers: headers,\r\n validateStatus: function (status) { return status < 500; } // Accept 304 Not Modified\r\n })];\r\n case 3:\r\n response = _c.sent();\r\n if (response.status === 304) {\r\n consoleLog(\"useSdkConfig.notModied: \", response.status);\r\n return [2 /*return*/, window.sdkConfigCache];\r\n }\r\n config = response.data;\r\n config.vendors = parseVendors(response.data.vendors);\r\n window.sdkConfigCache = config;\r\n setSdkConfig(config);\r\n // Save cache metadata\r\n localStorage.setItem(CACHE_KEY, JSON.stringify({\r\n etag: response.headers[\"etag\"],\r\n lastModified: response.headers[\"last-modified\"],\r\n cachedData: config\r\n }));\r\n consoleLog(\"useSdkConfig.refreshed: \", response.data, \" at \".concat(response.headers[\"last-modified\"], \", with etag, \").concat(response.headers[\"etag\"]));\r\n return [2 /*return*/, config];\r\n case 4:\r\n err_1 = _c.sent();\r\n if (((_b = err_1.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {\r\n consoleLog(\"Error fetching SDK config: Resource not found (404): \", err_1);\r\n return [3 /*break*/, 6];\r\n }\r\n attempts++;\r\n if (attempts === MAX_RETRIES) {\r\n consoleLog(\"Error fetching SDK config: \", err_1);\r\n }\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6: return [2 /*return*/, null];\r\n }\r\n });\r\n }); })();\r\n }\r\n window.fetchPromise.then(function (config) {\r\n if (config)\r\n setSdkConfig(config);\r\n });\r\n }, [appConfig === null || appConfig === void 0 ? void 0 : appConfig.r2Domain]);\r\n return sdkConfig;\r\n};\r\nexport default useSdkConfig;\r\n","export var SUSCRIPTION_TYPES = {\r\n monthly: \"monthly\",\r\n quarterly: \"quarterly\",\r\n yearly: \"yearly\"\r\n};\r\n","import { __assign, __spreadArray } from \"tslib\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { SUSCRIPTION_TYPES } from \"../PayFlow/types\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport { Text, VStack } from \"@chakra-ui/react\";\r\nimport PleaseWaitForX from \"../widgets/PleaseWaitForX\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { amountFormatDefault, consoleLog, getColor } from \"../../utils/f\";\r\nimport { useFrontbacked } from \"../SdkProvider\";\r\nimport DrawerPop from \"../widgets/DrawerPop\";\r\nvar ADMIN_PERMISSIONS = {\r\n canCreateTools: \"can_create_tools\",\r\n canEditTools: \"can_edit_tools\"\r\n};\r\nvar defaultAdminInfoPermissions = {\r\n uid: null,\r\n isAdmin: false,\r\n isToolsEditor: false,\r\n canCreateTools: false,\r\n canEditTools: false\r\n};\r\nvar DownloadType = function (_a) {\r\n var title = _a.title, config = _a.config, removeFreemiumBeforeUpdate = _a.removeFreemiumBeforeUpdate, toolId = _a.toolId, onGetTool = _a.onGetTool, freeTitle = _a.freeTitle, freeMessage = _a.freeMessage, paidTitle = _a.paidTitle, paidMessage = _a.paidMessage, updateMessage = _a.updateMessage, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, renewSubscription = _a.renewSubscription, isFreemium = _a.isFreemium;\r\n var _b = useState(), downloadType = _b[0], setDownloadType = _b[1];\r\n var _c = useState(), downloadTypeError = _c[0], setDownloadTypeError = _c[1];\r\n var _d = useState(), docRules = _d[0], setDocRules = _d[1];\r\n var adminInfo = useFrontbacked().adminInfo;\r\n var _e = useState(true), autoProcessOn = _e[0], setAutoProcessOn = _e[1];\r\n var _f = useState(JSON.parse(JSON.stringify(defaultAdminInfoPermissions))), permission = _f[0], setPermission = _f[1];\r\n useEffect(function () {\r\n if (!(adminInfo === null || adminInfo === void 0 ? void 0 : adminInfo.permissions)) {\r\n setPermission({});\r\n }\r\n else {\r\n var perms = JSON.parse(JSON.stringify(defaultAdminInfoPermissions));\r\n perms.uid = adminInfo.uid;\r\n perms.isAdmin = true;\r\n perms.canCreateTools = adminInfo.permissions.includes(ADMIN_PERMISSIONS.canCreateTools);\r\n perms.canEditTools = adminInfo.permissions.includes(ADMIN_PERMISSIONS.canEditTools);\r\n perms.isToolsEditor = perms.canCreateTools || perms.canEditTools;\r\n setPermission(perms);\r\n }\r\n }, [adminInfo]);\r\n useEffect(function () {\r\n if (onGetTool && toolId) {\r\n var tool = onGetTool(toolId);\r\n consoleLog(\"DownloadType.setDocRules\", tool);\r\n setDocRules(!tool ? null : __assign(__assign({}, (docRules || {})), { allow_freemium: (tool === null || tool === void 0 ? void 0 : tool.allow_freemium) || true, create_price: (tool === null || tool === void 0 ? void 0 : tool.create_price) || 0, update_price: (tool === null || tool === void 0 ? void 0 : tool.update_price) || 0, create_price_is_monthly: (tool === null || tool === void 0 ? void 0 : tool.create_price_is_monthly) || false, yearly_price: tool === null || tool === void 0 ? void 0 : tool.yearly_price, quarterly_price: tool === null || tool === void 0 ? void 0 : tool.quarterly_price }));\r\n }\r\n }, [onGetTool, toolId]);\r\n var download = function () {\r\n setDownloadTypeError(\"\");\r\n if (permission.isToolsEditor && toolId == \"other_tools\") {\r\n onSuccess({\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"clean\") {\r\n var okResult = {\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n };\r\n if (docRules.create_price_is_monthly)\r\n okResult.subscription_type = SUSCRIPTION_TYPES.monthly;\r\n onSuccess(okResult);\r\n }\r\n else if (docRules && downloadType === \"clean_quarterly\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.quarterly_price || 0,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n subscription_type: SUSCRIPTION_TYPES.quarterly,\r\n cost: docRules.quarterly_price || 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"clean_yearly\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.yearly_price || 0,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n subscription_type: SUSCRIPTION_TYPES.yearly,\r\n cost: docRules.yearly_price || 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"free\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n }\r\n else if (docRules && updateMessage) {\r\n var updatePrice = docRules.create_price_is_monthly && renewSubscription ? docRules.create_price\r\n :\r\n docRules.allow_freemium && isFreemium ? 0 : docRules.update_price;\r\n consoleLog(\"DownloadType.updatePrice.1\", updatePrice, \"isMonth: \", docRules.create_price_is_monthly, \"isRenew\", renewSubscription);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: updatePrice,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: updatePrice\r\n });\r\n }\r\n else {\r\n setDownloadTypeError(\"Please select a type.\");\r\n }\r\n };\r\n useEffect(function () {\r\n consoleLog(\"parsedSvg:templatesUrl.docRules\", permission.isToolsEditor, toolId, docRules);\r\n setAutoProcessOn(true);\r\n if (docRules) {\r\n if (permission.isToolsEditor && toolId == \"other_tools\") {\r\n onSuccess({\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n } //If the type is to determine creation price and freemium is not allowed, \r\n // return result without presenting the freemium option and the item is not subscription modeled\r\n else if (updateMessage && removeFreemiumBeforeUpdate && docRules.create_price > 0 && !docRules.yearly_price && !docRules.quarterly_price) {\r\n consoleLog(\"DownloadType.setDocRules.2\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine creation price and freemium is not allowed, \r\n // return result without presenting the freemium option and the item is not subscription modeled\r\n else if (!updateMessage && !docRules.allow_freemium && !docRules.yearly_price && !docRules.quarterly_price) {\r\n consoleLog(\"DownloadType.setDocRules.3\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine the creation price and the create price is 0, \r\n // return result without presenting the update price's message\r\n else if (!updateMessage && docRules.create_price == 0) {\r\n consoleLog(\"DownloadType.setDocRules.4\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine the update price and the update price is > 0, \r\n // return result without presenting the update price's message\r\n else if (updateMessage && docRules.update_price >= 0 && !removeFreemiumBeforeUpdate && (!renewSubscription || (renewSubscription && !docRules.yearly_price && !docRules.quarterly_price))) {\r\n consoleLog(\"DownloadType.setDocRules.5\", docRules);\r\n var updatePrice = docRules.create_price_is_monthly && renewSubscription ? docRules.create_price\r\n :\r\n docRules.allow_freemium && isFreemium ? 0 : docRules.update_price;\r\n consoleLog(\"DownloadType.updatePrice.2\", updatePrice, \"isMonth: \", docRules.create_price_is_monthly, \"isRenew\", renewSubscription);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: updatePrice,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: updatePrice\r\n });\r\n }\r\n else {\r\n setAutoProcessOn(false);\r\n }\r\n }\r\n }, [docRules]);\r\n if ((permission.isToolsEditor && toolId == \"other_tools\") ||\r\n !toolId || !onGetTool ||\r\n !freeTitle ||\r\n !freeMessage ||\r\n !paidTitle ||\r\n !paidMessage)\r\n return null;\r\n return (React.createElement(DrawerPop, { placement: \"bottom\", bg: getColor(isDarkMode, \"cardBg\"), height: \"75vh\", isOpen: true, title: title, onClose: function () {\r\n onError(new Error(\"\"));\r\n }, footer: autoProcessOn || !docRules ? null :\r\n React.createElement(VStack, { w: \"100%\", mt: \"1rem\", justifyContent: \"flex-start\", alignItems: \"flex-start\" },\r\n downloadTypeError ?\r\n React.createElement(Text, { as: \"div\", color: \"rgb(246, 70, 93)\", mb: 2 }, downloadTypeError)\r\n : null,\r\n React.createElement(AppButton, { onClick: download }, \"Continue\")) }, \r\n //If docRuls has not been loaded\r\n //Or it's an update that needs freemium to be replaced with premium/paid and create price > 0\r\n //Or it's not an update(it's a create) but freemium is not allowed\r\n //Or it's not an update(it's a create) but create price is 0\r\n //Or it's an update but update price is 0\r\n //Or it's an update for subscription renewal\r\n /*!docRules ||*/ /*\r\n (updateMessage && removeFreemiumBeforeUpdate && docRules.create_price > 0) ||\r\n (!updateMessage && !docRules.allow_freemium) ||\r\n (!updateMessage && docRules.create_price == 0) ||\r\n (updateMessage && docRules.update_price == 0) ||\r\n (updateMessage && renewSubscription) ||\r\n (updateMessage && renewSubscription)*/\r\n //(!updateMessage && docRules.create_price == 0) || (updateMessage && !docRules.yearly_price && !docRules.quarterly_price)?\r\n autoProcessOn || !docRules ?\r\n React.createElement(PleaseWaitForX, null)\r\n :\r\n React.createElement(React.Fragment, null, updateMessage && !docRules.yearly_price && !docRules.quarterly_price ?\r\n React.createElement(Text, { mb: \"1rem\", as: \"div\" }, paidMessage.replace(\"{PRICE}\", \"$\".concat(docRules.update_price)))\r\n :\r\n React.createElement(React.Fragment, null,\r\n React.createElement(InputBox, { type: TYPES.radio, value: downloadType, direction: \"column\", errorMessage: downloadTypeError, options: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], (!updateMessage ?\r\n [\r\n {\r\n value: \"free\",\r\n title: freeTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true))),\r\n desc: freeMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)))\r\n }\r\n ]\r\n :\r\n []), true), [\r\n {\r\n value: \"clean\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)).concat(docRules.create_price_is_monthly ? \" for 1 month\" : \"\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)).concat(docRules.create_price_is_monthly ? \" for 1 month\" : \"\")) + (docRules.create_price_is_monthly ? \" It can be renewed after it expires in 1 month.\" : \"\")\r\n }\r\n ], false), (docRules.create_price_is_monthly && docRules.quarterly_price && docRules.quarterly_price > 0 ?\r\n [\r\n {\r\n value: \"clean_quarterly\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.quarterly_price, 2, 2, true), \" for 3 months\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.quarterly_price, 2, 2, true), \" for 3 months\")) + \" It can be renewed after it expires in 3 months.\"\r\n }\r\n ]\r\n :\r\n []), true), (docRules.create_price_is_monthly && docRules.yearly_price && docRules.yearly_price > 0 ?\r\n [\r\n {\r\n value: \"clean_yearly\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.yearly_price, 2, 2, true), \" for 1 year\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.yearly_price, 2, 2, true), \" for 1 year\")) + \" It can be renewed after it expires in 1 year.\"\r\n }\r\n ]\r\n :\r\n []), true), onOptionName: function (v) {\r\n return React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"flex-start\", mb: \"1rem\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"1.2rem\", fontWeight: \"bold\" }, v.title),\r\n React.createElement(Text, { as: \"div\" }, v.desc));\r\n }, onOptionValue: function (v) { return v.value; }, onChange: function (v) {\r\n setDownloadType(v);\r\n } })))));\r\n};\r\nexport default DownloadType;\r\n","import { IS_TEST, STORE_FRAME_ID } from \"./c\";\r\nimport { USE_SOFT_BAKER_REJECT_PREFIX, USE_SOFT_BAKER_RESOLVE_PREFIX, savePromise } from \"./f\";\r\nvar randTransactionKey = function () {\r\n return \"\".concat(Math.round(Math.random() * 10000000000000));\r\n};\r\nvar saveToStoreFrame = function (key, value, storageType) {\r\n return new Promise(function (resolve, reject) {\r\n var _a;\r\n // Get reference to the iframe\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (iframe) {\r\n var transactionKey = randTransactionKey();\r\n savePromise(transactionKey, resolve, reject);\r\n // Send a message to the iframe to save to cookies\r\n (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage({\r\n key: key,\r\n value: value,\r\n storageType: storageType,\r\n transactionKey: transactionKey\r\n }, IS_TEST ? \"test.com\" : \"live.com\");\r\n }\r\n else {\r\n reject(new Error(\"StoreFrame not found!\"));\r\n }\r\n });\r\n};\r\nvar getFromStoreFrame = function (key, storageType) {\r\n return new Promise(function (resolve, reject) {\r\n var _a;\r\n // Get reference to the iframe\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (iframe) {\r\n var transactionKey = randTransactionKey();\r\n savePromise(transactionKey, resolve, reject);\r\n // Send a message to the iframe to save to cookies\r\n (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage({\r\n key: key,\r\n storageType: storageType,\r\n transactionKey: transactionKey\r\n }, IS_TEST ? \"test.com\" : \"live.com\");\r\n }\r\n else {\r\n reject(new Error(\"StoreFrame not found!\"));\r\n }\r\n });\r\n};\r\nexport var saveToStoreFrameCookie = function (key, value) {\r\n return saveToStoreFrame(key, value, \"cookie\");\r\n};\r\nexport var saveToStoreFrameLocalStorage = function (key, value) {\r\n return saveToStoreFrame(key, value, \"localStorage\");\r\n};\r\nexport var saveToStoreFrameSessionStorage = function (key, value) {\r\n return saveToStoreFrame(key, value, \"sessionStorage\");\r\n};\r\nexport var getFromStoreFrameCookie = function (key) {\r\n return getFromStoreFrame(key, \"cookie\");\r\n};\r\nexport var getFromStoreFrameLocalStorage = function (key) {\r\n return getFromStoreFrame(key, \"localStorage\");\r\n};\r\nexport var getFromStoreFrameSessionStorage = function (key) {\r\n return getFromStoreFrame(key, \"sessionStorage\");\r\n};\r\nexport var attachStoreFrame = function () {\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (!iframe) {\r\n // Create an iframe element\r\n var newIframe = document.createElement('iframe');\r\n newIframe.id = STORE_FRAME_ID;\r\n var origin_1 = IS_TEST ? \"test.com\" : \"live.com\";\r\n newIframe.src = \"\".concat(origin_1, \"/storeframe\");\r\n newIframe.style.display = 'none !important';\r\n // Create a script element\r\n var script = document.createElement('script');\r\n script.textContent = \"\\n // Define resolvePromise and rejectPromise outside the event listener\\n const resolvePromise = (promiseId, data) => {\\n if (window[\\\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId]) {\\n window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId](data);\\n delete window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId];\\n delete window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId];\\n }\\n };\\n\\n const rejectPromise = (promiseId, error) => {\\n if (window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId]) {\\n window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId](error);\\n delete window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId];\\n delete window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId];\\n }\\n };\\n\\n // Listen for messages from the iframe\\n window.addEventListener('message', (event) => {\\n // Verify the origin of the message for security\\n if (event.origin !== '\").concat(origin_1, \"') {\\n return;\\n }\\n\\n const { transactionKey, key, value, errorMessage, storageType, type } = event.data;\\n if (type === \\\"write\\\" || type === \\\"remove\\\") {\\n resolvePromise(transactionKey, null);\\n } else if (type === \\\"read\\\") {\\n resolvePromise(transactionKey, value);\\n } else if (type === \\\"error\\\") {\\n rejectPromise(transactionKey, new Error(errorMessage));\\n }\\n });\\n \");\r\n // Append the iframe and script elements to the document body\r\n document.body.appendChild(newIframe);\r\n document.body.appendChild(script);\r\n }\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport { IS_TEST, MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS, PROMISE_ID, SDK_NAME, STORAGE_KEYS } from \"../../utils/c\";\r\nimport ModalPop from \"../widgets/ModalPop\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { FaTicketAlt } from \"react-icons/fa\";\r\nimport { consoleLog, getColor, isEthAddress, rejectPromise, resolvePromise } from \"../../utils/f\";\r\nimport useFirebase from \"../Firebase\";\r\nimport AccessTokenDoor from \"../Firebase/AccessTokenDoor\";\r\nvar PaymentRequest = function (_a) {\r\n var currentPaymentAddress = _a.currentPaymentAddress, updatePaymentAddress = _a.updatePaymentAddress, onClose = _a.onClose, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user;\r\n var _c = useState(), payAddr = _c[0], setPayAddr = _c[1];\r\n var _d = useState(), e = _d[0], setE = _d[1];\r\n var _e = useState(false), updatingAddr = _e[0], setUpdatingAddr = _e[1];\r\n var _f = useState(false), showAccessDoor = _f[0], setShowAccessDoor = _f[1];\r\n useEffect(function () {\r\n if (currentPaymentAddress)\r\n setPayAddr(currentPaymentAddress);\r\n }, [currentPaymentAddress]);\r\n var afterRecentAuth = function (addr, user) {\r\n updatePaymentAddress(addr, IS_TEST ? \"bnb_testnet\" : \"bnb\", user)\r\n .then(function () {\r\n onClose();\r\n resolvePromise(PROMISE_ID.requestPayment, null);\r\n })\r\n .catch(function (e) {\r\n if (e.code == \"expired_auth\") {\r\n setShowAccessDoor(true);\r\n consoleLog(\"afterRecentAuth:expired_auth \", e);\r\n }\r\n else {\r\n setE((e === null || e === void 0 ? void 0 : e.message) || \"An error occured. Please try again later.\");\r\n setUpdatingAddr(false);\r\n }\r\n });\r\n };\r\n var handleSubmit = function () {\r\n setE(\"\");\r\n if (!payAddr) {\r\n setE(\"Please enter your payment address\");\r\n }\r\n else if (payAddr.toLocaleLowerCase() == (currentPaymentAddress || \"\").toLocaleLowerCase()) {\r\n setE(\"The same wallet address entered. Note that once you submitted a payment wallet address, you don't need to resubmit the same wallet address to initiate payment.\");\r\n }\r\n else if (!isEthAddress(payAddr)) {\r\n setE(\"Your wallet address is invalid. Please check to make sure it's correct.\");\r\n }\r\n else {\r\n setUpdatingAddr(true);\r\n var recentLogin = localStorage.getItem(STORAGE_KEYS.LAST_LOGIN_MILLI) || 0;\r\n try {\r\n recentLogin = Number(recentLogin);\r\n }\r\n catch (e) {\r\n recentLogin = 0;\r\n }\r\n if ((Date.now() - recentLogin) / 1000 > MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS) {\r\n setShowAccessDoor(true);\r\n }\r\n else {\r\n afterRecentAuth(payAddr, user);\r\n }\r\n }\r\n };\r\n if (showAccessDoor) {\r\n return (React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: true, onSuccess: function (token, user) {\r\n consoleLog(\"PaymentRequest.AccessTokenDoor:token\", token, \" | user: \", user);\r\n afterRecentAuth(payAddr, user);\r\n setShowAccessDoor(false);\r\n }, onError: function (error) {\r\n setUpdatingAddr(false);\r\n setE((error === null || error === void 0 ? void 0 : error.message) || \"An error occured. Please try again later.\");\r\n setShowAccessDoor(false);\r\n } }));\r\n }\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Payment Address\", isOpen: true, onClose: function () {\r\n onClose();\r\n rejectPromise(PROMISE_ID.requestPayment, new Error(\"\"));\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_payaddr\"), key: \"\".concat(SDK_NAME, \"_payaddr\"), name: \"payAddr\", title: \"Payment Address\", helperText: \"Enter your BNB(Binance smart chain) wallet address to receive your payments.\", value: payAddr, type: TYPES.text, mb: 4, onChange: function (addr) {\r\n setPayAddr((addr || \"\").trim());\r\n }, errorMessage: e }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaTicketAlt, null), disabled: updatingAddr, fontStyle: updatingAddr ? \"italic\" : \"normal\" }, updatingAddr ? \"Please wait...\" : \"Submit Payment Address\"))));\r\n};\r\nexport default PaymentRequest;\r\n","import React, { useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport { MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS, SDK_NAME, STORAGE_KEYS } from \"../../utils/c\";\r\nimport ModalPop from \"../widgets/ModalPop\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { FaTicketAlt } from \"react-icons/fa\";\r\nimport { consoleLog, getColor, isValidEmail } from \"../../utils/f\";\r\nimport useFirebase from \"../Firebase\";\r\nimport AccessTokenDoor from \"../Firebase/AccessTokenDoor\";\r\nimport Swal from \"sweetalert2\";\r\nvar CreditTransfer = function (_a) {\r\n var usdBalance = _a.usdBalance, transferCredit = _a.transferCredit, onClose = _a.onClose, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user;\r\n var _c = useState(), recipientEmail = _c[0], setRecipientEmail = _c[1];\r\n var _d = useState(), amount = _d[0], setAmount = _d[1];\r\n var _e = useState(), recipientEmailError = _e[0], setRecipientEmailError = _e[1];\r\n var _f = useState(), amountError = _f[0], setAmountError = _f[1];\r\n var _g = useState(false), sendingCredit = _g[0], setSendingCredit = _g[1];\r\n var _h = useState(false), showAccessDoor = _h[0], setShowAccessDoor = _h[1];\r\n var showError = function (error) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"An error occurred\",\r\n text: error\r\n });\r\n };\r\n var afterRecentAuth = function (r, a, user) {\r\n transferCredit(r, a, user)\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Transfer successful\",\r\n text: \"$\".concat(a, \" was successfully transfered to \").concat(r)\r\n });\r\n onClose();\r\n //resolvePromise(PROMISE_ID.creditTransfer, null)\r\n })\r\n .catch(function (e) {\r\n if (e.code == \"expired_auth\") {\r\n setShowAccessDoor(true);\r\n consoleLog(\"afterRecentAuth:expired_auth \", e);\r\n }\r\n else {\r\n consoleLog(\"afterRecentAuth:!expired_auth \", e);\r\n showError((e === null || e === void 0 ? void 0 : e.message) || \"An error occured. Please try again later.\");\r\n setSendingCredit(false);\r\n }\r\n });\r\n };\r\n var handleSubmit = function () {\r\n setRecipientEmailError(\"\");\r\n setAmountError(\"\");\r\n var hasErrors = false;\r\n if (!recipientEmail) {\r\n setRecipientEmailError(\"Please enter the recipient email address.\");\r\n hasErrors = true;\r\n }\r\n else if (!isValidEmail(recipientEmail)) {\r\n setRecipientEmailError(\"Please enter a valid recipient email address.\");\r\n hasErrors = true;\r\n }\r\n if (!amount) {\r\n setAmountError(\"Please enter the amount of credits to send.\");\r\n hasErrors = true;\r\n }\r\n else if (amount < 1) {\r\n setAmountError(\"The minimum amount you can send is $1.\");\r\n hasErrors = true;\r\n }\r\n else if (amount > usdBalance) {\r\n setAmountError(\"Insufficient balance. Fund your wallet and try again.\");\r\n hasErrors = true;\r\n }\r\n if (!hasErrors) {\r\n setSendingCredit(true);\r\n var recentLogin = localStorage.getItem(STORAGE_KEYS.LAST_LOGIN_MILLI) || 0;\r\n try {\r\n recentLogin = Number(recentLogin);\r\n }\r\n catch (e) {\r\n recentLogin = 0;\r\n }\r\n if ((Date.now() - recentLogin) / 1000 > MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS) {\r\n setShowAccessDoor(true);\r\n }\r\n else {\r\n afterRecentAuth(recipientEmail, amount, user);\r\n }\r\n }\r\n };\r\n if (showAccessDoor) {\r\n return (React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: true, onSuccess: function (token, user) {\r\n consoleLog(\"CreditTransfer.AccessTokenDoor:token\", token, \" | user: \", user);\r\n afterRecentAuth(recipientEmail, amount, user);\r\n setShowAccessDoor(false);\r\n }, onError: function (error) {\r\n setSendingCredit(false);\r\n showError((error === null || error === void 0 ? void 0 : error.message) || \"An error occured. Please try again later.\");\r\n setShowAccessDoor(false);\r\n } }));\r\n }\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Transfer Credit\", isOpen: true, onClose: function () {\r\n onClose();\r\n //rejectPromise(PROMISE_ID.creditTransfer, new Error(\"\"))\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_addr\"), key: \"\".concat(SDK_NAME, \"_addr\"), name: \"addr\", title: \"Recipient Email Address\", helperText: \"Enter the email address of the user you want to transfer your credits to.\", value: recipientEmail, type: TYPES.text, mb: 4, onChange: function (email) {\r\n setRecipientEmail((email || \"\").trim());\r\n }, errorMessage: recipientEmailError }),\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_amount\"), key: \"\".concat(SDK_NAME, \"_amount\"), name: \"amount\", title: \"Transfer Amount\", helperText: \"Enter the amount to transfer. The minimum amount you can transfer is $1\", value: amount, type: TYPES.number, numberDecimals: 0, numberUnit: \"$\", mb: 4, onChange: function (a) {\r\n setAmount(a);\r\n }, errorMessage: amountError }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaTicketAlt, null), disabled: sendingCredit, fontStyle: sendingCredit ? \"italic\" : \"normal\" }, sendingCredit ? \"Please wait...\" : \"Send Credit\"))));\r\n};\r\nexport default CreditTransfer;\r\n","/**\r\n * Removes a specific query string parameter from a URL.\r\n * @param {string} url - The original URL.\r\n * @param {string} queryString - The query string parameter to remove.\r\n * @returns {string} - The updated URL without the specified query string parameter.\r\n */\r\nexport function removeQueryString(url, queryString) {\r\n try {\r\n // Create a URL object\r\n var urlObj = new URL(url);\r\n // Remove the specified query string parameter\r\n urlObj.searchParams.delete(queryString);\r\n // Return the updated URL as a string\r\n return urlObj.toString();\r\n }\r\n catch (error) {\r\n console.error('Invalid URL:', error, url);\r\n return url; // Return the original URL if there's an error\r\n }\r\n}\r\n/**\r\n * Converts an array of objects to a map using a specified attribute as the key.\r\n *\r\n * @param {Array<Object>} arr - The array of objects to be converted.\r\n * @param {string} attr - The attribute to use as the key for the mapping.\r\n * @returns {Object} - An object mapping each unique attribute value to its corresponding item.\r\n */\r\nexport function arrayToMap(attr, arr, keyParser) {\r\n return arr.reduce(function (map, item) {\r\n var key = item[attr];\r\n if (keyParser)\r\n key = keyParser(key);\r\n if (key !== undefined) {\r\n map[key] = item;\r\n }\r\n return map;\r\n }, {});\r\n}\r\nexport function removeUpdateQueryString(url) {\r\n return removeQueryString(url, 'updates');\r\n}\r\nexport var rmUpdates = function (url) {\r\n if (!url)\r\n return null;\r\n try {\r\n return removeUpdateQueryString(url);\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n};\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { arrayToMap, rmUpdates } from \"./utils\";\r\nimport { consoleLog, isBrowser } from \"../../../../utils/f\";\r\nvar MAX_RETRIES = 5;\r\nvar CACHE_KEY = \"tools-cache-metadata\";\r\n// let toolsCache: ToolsData | null = null;\r\n// let toolsFetchPromise: Promise<ToolsData | null> | null = null;\r\nvar defaultFactoryData = \"{\\n \\\"etag\\\": \\\"W/\\\"97cce03e8c6f6c8092dfac11069679e7\\\"\\\",\\n \\\"lastModified\\\": \\\"Fri, 23 May 2025 17:24:27 GMT\\\",\\n \\\"cachedData\\\": {\\n \\\"totalUpdates\\\": 1,\\n \\\"lastUpdatedOn\\\": \\\"Fri, 23 May 2025 17:24:18 GMT\\\",\\n \\\"tools\\\": [\\n {\\n \\\"id\\\": \\\"U8SL1BvlIb1nxj4JNCNX\\\",\\n \\\"siteUrl\\\": \\\"/bank\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"isActive\\\": true,\\n \\\"isHidden\\\": false,\\n \\\"update_price\\\": 0.1,\\n \\\"allow_freemium\\\": true,\\n \\\"create_price_is_monthly\\\": true,\\n \\\"rank\\\": 1,\\n \\\"icon\\\": \\\"Building\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-U8SL1BvlIb1nxj4JNCNX.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Online Banking Website\\\",\\n \\\"chat_supported\\\": true,\\n \\\"create_price\\\": 20000,\\n \\\"quarterly_price\\\": 50000,\\n \\\"yearly_price\\\": 150000,\\n \\\"create_price_discount\\\": 0,\\n \\\"description\\\": \\\"Create an online banking website for your content. No more building a custom online banking website from scratch every time you need to film a banking scene.\\\",\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"profilePhoto,string,0,300,true,true,false\\\",\\n \\\"email,string,0,64,true,true,false\\\",\\n \\\"phone,string,0,32,true,true,false\\\",\\n \\\"accountType,string,0,64,true,true,false\\\",\\n \\\"gender,string,0,64,true,true,false\\\",\\n \\\"maritalStatus,string,0,64,true,true,false\\\",\\n \\\"dob,string,0,16,true,true,false\\\",\\n \\\"password,string,6,16,true,true,false\\\",\\n \\\"pin,number,1000,9999,true,true,false\\\",\\n \\\"address,string,0,128,true,true,false\\\",\\n \\\"occupation,string,0,64,true,true,false\\\",\\n \\\"accountNumber_username,number,9000000000,9999999999,false,true,false\\\",\\n \\\"fullname,string,0,64,true,true,false\\\",\\n \\\"currencySymbol,string,0,64,true,true,false\\\",\\n \\\"disableAccount,boolean,0,8,true,true,false\\\",\\n \\\"accountBalance,number,0,999999999999999,true,false,false\\\",\\n \\\"autoRenewSubscription,boolean,0,8,true,true,false\\\",\\n \\\"credits,array:string:1:200,0,10,true,false,false\\\",\\n \\\"debits,array:string:1:200,0,10,true,false,false\\\",\\n \\\"totalCredits,number,0,999999999999999,true,false,false\\\",\\n \\\"totalDebits,number,0,999999999999999,true,false,false\\\",\\n \\\"disableAccountError,string,1,500,true,false,false\\\",\\n \\\"noTxGeneration,boolean,0,8,false,false,false\\\",\\n \\\"isHidden,boolean,1,8,true,false,false\\\",\\n \\\"isActive,boolean,1,8,true,false,false\\\",\\n \\\"txProcessingDuration,string,1,64,true,true,false\\\",\\n \\\"isInActive,boolean,0,8,true,false,false\\\"\\n ],\\n \\\"tool_version_code\\\": 7\\n },\\n {\\n \\\"id\\\": \\\"0QZLQQKVTRV3Q6SFAIEA\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"createdAt\\\": {\\n \\\"_seconds\\\": 1733770038,\\n \\\"_nanoseconds\\\": 796000000\\n },\\n \\\"is_static\\\": false,\\n \\\"isActive\\\": true,\\n \\\"is_freemium\\\": true,\\n \\\"icon\\\": \\\"ShippingFast\\\",\\n \\\"isHidden\\\": false,\\n \\\"editables\\\": \\\"Shipping_Status@small.select, error_message.textarea, expected_arrival_date.date\\\",\\n \\\"templates_url\\\": \\\"/templates/templates-awsuv5ba.json?updates=23\\\",\\n \\\"youtube\\\": null,\\n \\\"mobileVideoUrl\\\": null,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"allow_freemium\\\": true,\\n \\\"chat_supported\\\": true,\\n \\\"create_price\\\": 10000,\\n \\\"message\\\": \\\"ID_TITLE == Tracking ID\\nLINK == zendcargo.com\\nCONTENT == Track your shipment using the tracking ID above at the tracking website: {LINK}.\\\",\\n \\\"description\\\": \\\"Create a shipping invoice with a tracking website for your content. No more building a custom shipping site from scratch every time you need to film a shipping scene.\\\",\\n \\\"update_price\\\": 200,\\n \\\"updatedAt\\\": {\\n \\\"_seconds\\\": 1746816982,\\n \\\"_nanoseconds\\\": 404000000\\n },\\n \\\"rank\\\": 2,\\n \\\"name\\\": \\\"Shipping\\\",\\n \\\"parent\\\": \\\"\\\",\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"expectedArrivalDate,time,0,0,true,true,false\\\",\\n \\\"invoiceNumber,string,1,16,false,true,false\\\",\\n \\\"packageContent,string,1,64,false,true,false\\\",\\n \\\"packageDestinationAddress,string,1,64,false,true,false\\\",\\n \\\"packageDestinationEmail,string,1,256,false,true,false\\\",\\n \\\"packageDestinationPhone,string,1,16,false,true,false\\\",\\n \\\"packageRecipientName,string,1,128,false,true,false\\\",\\n \\\"packageWeight,string,1,32,false,true,false\\\",\\n \\\"senderEmail,string,1,256,false,true,false\\\",\\n \\\"senderName,string,1,128,false,true,false\\\",\\n \\\"shipmentDate,time,0,0,false,true,false\\\",\\n \\\"shipmentFee,string,0,32,false,true,false\\\",\\n \\\"shippingStatus,string,1,32,true,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"costCurrency,string,0,64,false,false,false\\\",\\n \\\"errorMessage,string,1,500,true,false,false\\\"\\n ],\\n \\\"tool_version_code\\\": 7,\\n \\\"freemiumDownloadMessage\\\": \\\"The shipping invoice will have watermark. The tracking website will also have a \\\"fake tracking\\\" message.\\\",\\n \\\"premiumDownloadMessage\\\": \\\"The shipping invoice will be clean with no watermark. The tracking website will also be clean with no \\\"fake tracking\\\" message.\\\",\\n \\\"templates\\\": [\\n {\\n \\\"id\\\": \\\"hwd7x6ou\\\",\\n \\\"name\\\": \\\"Shipping Invoice with Tracking Website\\\",\\n \\\"logo\\\": \\\"https://r2.frontbacked.com/templates/templates-awsuv5ba-hwd7x6ou-logo.jpeg\\\",\\n \\\"data_url\\\": \\\"https://r2.frontbacked.com/templates/templates-awsuv5ba-hwd7x6ou-data.json?updates=1\\\",\\n \\\"is_default\\\": true,\\n \\\"split_on_download\\\": false,\\n \\\"thumbnail\\\": \\\"https://r2.frontbacked.com/templates/tools-awsuv5ba-hwd7x6ou-thumbnail.jpg?updates=1&tct=1748021058263\\\"\\n }\\n ]\\n },\\n {\\n \\\"id\\\": \\\"5vCsgJJVsFYhV4dZYQdI\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"name\\\": \\\"Invoice\\\",\\n \\\"isActive\\\": true,\\n \\\"isHidden\\\": false,\\n \\\"allow_freemium\\\": true,\\n \\\"siteUrl\\\": \\\"/invoice\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-5vCsgJJVsFYhV4dZYQdI.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"description\\\": \\\"Create a payment invoice easily.\\\",\\n \\\"rank\\\": 3,\\n \\\"update_price\\\": 200,\\n \\\"create_price\\\": 5000,\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"companyName,string,2,64,false,true,false\\\",\\n \\\"companyAddress,string,2,64,false,true,false\\\",\\n \\\"customerName,string,2,64,false,true,false\\\",\\n \\\"customerAddress,string,2,64,false,true,false\\\",\\n \\\"invoiceNumber,string,2,64,false,true,false\\\",\\n \\\"date,time,0,0,false,true,false\\\",\\n \\\"currency,string,2,64,false,true,false\\\",\\n \\\"items,object_array:{description@string_1_90|quantity@number_1_1000000000000000|price@number_1_1000000000000000},1,6,false,true,false\\\",\\n \\\"paymentDetails,string,2,256,false,false,false\\\",\\n \\\"vat,number,0,99,false,true,false\\\",\\n \\\"logo,string,0,64,false,false,false\\\",\\n \\\"waterMarkWithLogo,boolean,0,64,false,true,false\\\",\\n \\\"grayScaleWaterMark,boolean,0,64,false,true,false\\\"\\n ],\\n \\\"tool_version_code\\\": 2\\n },\\n {\\n \\\"id\\\": \\\"tDYsSHDnF58hFCf3nUTk\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"icon\\\": \\\"Coins\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Face Swap Video Call\\\",\\n \\\"siteUrl\\\": \\\"/face-swap-video-call\\\",\\n \\\"isActive\\\": true,\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-tDYsSHDnF58hFCf3nUTk.jpg?v=2\\\",\\n \\\"rank\\\": 4,\\n \\\"isHidden\\\": false\\n },\\n {\\n \\\"id\\\": \\\"XFXW1s8LlhiJnZKPbdWX\\\",\\n \\\"siteUrl\\\": \\\"/invest\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"isActive\\\": false,\\n \\\"icon\\\": \\\"MoneyBillAlt\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-XFXW1s8LlhiJnZKPbdWX.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Investment Website\\\",\\n \\\"rank\\\": 5,\\n \\\"isHidden\\\": false\\n }\\n ]\\n }\\n}\";\r\nvar setR2Host = function (url, r2Domain) {\r\n if (!url)\r\n return url;\r\n if (url.startsWith('/')) {\r\n return \"https://\".concat(r2Domain).concat(url);\r\n }\r\n try {\r\n var parsedUrl = new URL(url);\r\n parsedUrl.host = r2Domain;\r\n parsedUrl.protocol = 'https:'; // force https\r\n return parsedUrl.toString();\r\n }\r\n catch (err) {\r\n console.error('Invalid URL:', url);\r\n return url; // fallback\r\n }\r\n};\r\nvar useTools = function (config) {\r\n var _a = useState(isBrowser() ? window.toolsCache : null), data = _a[0], setData = _a[1];\r\n var _b = useState(!isBrowser() || !window.toolsCache), loading = _b[0], setLoading = _b[1];\r\n var _c = useState(null), error = _c[0], setError = _c[1];\r\n var _d = useState(null), toolsById = _d[0], setToolsById = _d[1];\r\n var _e = useState(null), toolsByTemplatesUrl = _e[0], setToolsByTemplatesUrl = _e[1];\r\n useEffect(function () {\r\n if (!(config === null || config === void 0 ? void 0 : config.r2Domain))\r\n return;\r\n if (window.toolsCache) {\r\n setData(window.toolsCache);\r\n setLoading(false);\r\n consoleLog(\"useTools.returns as toolsCache already exist: \", window.toolsCache);\r\n return;\r\n }\r\n if (!window.toolsFetchPromise) {\r\n window.toolsFetchPromise = (function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var attempts, headers, cachedMetadata, _a, etag, lastModified, cachedData, response, err_1;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n attempts = 0;\r\n headers = {};\r\n cachedMetadata = localStorage.getItem(CACHE_KEY) || defaultFactoryData;\r\n if (cachedMetadata) {\r\n _a = JSON.parse(cachedMetadata), etag = _a.etag, lastModified = _a.lastModified, cachedData = _a.cachedData;\r\n if (cachedData) {\r\n window.toolsCache = cachedData;\r\n setData(cachedData);\r\n //setLoading(false);\r\n //return cachedData;\r\n }\r\n if (etag)\r\n headers[\"If-None-Match\"] = etag;\r\n if (lastModified)\r\n headers[\"If-Modified-Since\"] = lastModified;\r\n }\r\n consoleLog(\"useTools.headers: \", headers);\r\n _c.label = 1;\r\n case 1:\r\n if (!(attempts < MAX_RETRIES)) return [3 /*break*/, 6];\r\n _c.label = 2;\r\n case 2:\r\n _c.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, axios.get(\"https://\".concat(config.r2Domain, \"/templates/tools.json\"), {\r\n headers: headers,\r\n validateStatus: function (status) { return status < 500; }, // Accept 304 Not Modified\r\n })];\r\n case 3:\r\n response = _c.sent();\r\n if (response.status === 304) {\r\n setLoading(false);\r\n consoleLog(\"useTools.notModied: \", response.status);\r\n return [2 /*return*/, window.toolsCache];\r\n }\r\n window.toolsCache = response.data;\r\n setData(response.data);\r\n setError(null);\r\n // Save cache metadata\r\n localStorage.setItem(CACHE_KEY, JSON.stringify({\r\n etag: response.headers[\"etag\"],\r\n lastModified: response.headers[\"last-modified\"],\r\n cachedData: response.data,\r\n }));\r\n consoleLog(\"useTools.refreshed: \", response.data, \" at \".concat(response.headers[\"last-modified\"], \", with etag, \").concat(response.headers[\"etag\"]));\r\n return [2 /*return*/, response.data];\r\n case 4:\r\n err_1 = _c.sent();\r\n if (((_b = err_1.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {\r\n setError(\"Resource not found (404)\");\r\n return [3 /*break*/, 6];\r\n }\r\n attempts++;\r\n if (attempts === MAX_RETRIES) {\r\n setError(\"Failed to fetch data after multiple attempts\");\r\n }\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6:\r\n setLoading(false);\r\n return [2 /*return*/, null];\r\n }\r\n });\r\n }); })();\r\n }\r\n window.toolsFetchPromise.then(function (result) {\r\n if (result)\r\n setData(result);\r\n });\r\n }, [config === null || config === void 0 ? void 0 : config.r2Domain]);\r\n useEffect(function () {\r\n if ((data === null || data === void 0 ? void 0 : data.tools) && !loading && !error) {\r\n setToolsById(arrayToMap(\"id\", data.tools || []));\r\n setToolsByTemplatesUrl(arrayToMap(\"templates_url\", data.tools || [], function (url) { return rmUpdates(setR2Host(url, config.r2Domain)); }));\r\n }\r\n }, [data, loading, error]);\r\n var getTool = function (toolId) {\r\n if (!toolsById)\r\n return null;\r\n if (toolId === \"other_tools\") {\r\n return {\r\n id: toolId,\r\n name: \"Tool Editor\",\r\n description: \"Create tools for other users\",\r\n isActive: true,\r\n isHidden: true,\r\n siteLogoUrl: \"\",\r\n siteUrl: \"/tool-editor\",\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n desktopVideoUrl: \"\",\r\n mobileVideoUrl: \"\",\r\n };\r\n }\r\n return toolsById[toolId];\r\n };\r\n return {\r\n loading: loading,\r\n error: error,\r\n totalUpdates: data === null || data === void 0 ? void 0 : data.totalUpdates,\r\n lastUpdatedOn: data === null || data === void 0 ? void 0 : data.lastUpdatedOn,\r\n previouslyUpdatedOn: data === null || data === void 0 ? void 0 : data.previouslyUpdatedOn,\r\n tools: data === null || data === void 0 ? void 0 : data.tools,\r\n toolsById: toolsById,\r\n toolsByTemplatesUrl: toolsByTemplatesUrl,\r\n getTool: getTool,\r\n };\r\n};\r\nexport default useTools;\r\n","import { __assign } from \"tslib\";\r\nimport React, { useEffect, useState, createContext, useContext } from 'react';\r\n//import \"./SdkProvider.scss\";\r\nimport AuthView from '../Firebase/AuthView';\r\nimport useFirebase from '../Firebase';\r\nimport { consoleLog, downloadSvgAsImage, rejectPromise, resolvePromise, savePromise, updateLogSettings } from '../../utils/f';\r\nimport { COINS, PROMISE_ID, SDK_NAME, STORAGE_KEYS, IS_TEST } from '../../utils/c';\r\nimport AccessTokenDoor from '../Firebase/AccessTokenDoor';\r\nimport PayFlow from '../PayFlow';\r\nimport useWalletListener from '../PayFlow/hooks/useWalletListener';\r\nimport WalletTracker from '../WalletTracker';\r\nimport useServerBalanceUpdate from '../PayFlow/hooks/useServerBalanceUpdate';\r\nimport usePriceData from '../PayFlow/hooks/usePriceData';\r\nimport axios from 'axios';\r\nimport useSdkConfig from '../PayFlow/hooks/useSdkConfig';\r\nimport DownloadType from '../DownloadType';\r\nimport { saveToStoreFrameCookie, saveToStoreFrameLocalStorage, saveToStoreFrameSessionStorage, getFromStoreFrameCookie, getFromStoreFrameLocalStorage, getFromStoreFrameSessionStorage } from '../../utils/storeframer';\r\nimport PaymentRequest from '../PaymentRequest';\r\nimport Swal from 'sweetalert2';\r\nimport CreditTransfer from '../CreditTransfer';\r\nimport useTools from '../PayFlow/hooks/useTools';\r\nimport { rmUpdates } from '../PayFlow/hooks/useTools/utils';\r\nimport useReferralId from '../PayFlow/hooks/useReferralId';\r\nvar SoftBakerContext = createContext({});\r\nexport { rmUpdates };\r\nvar SdkProvider = function (_a) {\r\n var enableLog = _a.enableLog, children = _a.children, isDarkMode = _a.isDarkMode, disableBlockchainPoll = _a.disableBlockchainPoll, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, db = _b.db, user = _b.user, authLoading = _b.authLoading, setUser = _b.setUser, uploadFile = _b.uploadFile, adminInfo = _b.adminInfo;\r\n var _c = useState(), showAuth = _c[0], setShowAuth = _c[1];\r\n var _d = useState(), signInTitle = _d[0], setSignInTitle = _d[1];\r\n var _e = useState(), signUpTitle = _e[0], setSignUpTitle = _e[1];\r\n var _f = useState(), showAccessTokenDoor = _f[0], setShowAccessTokenDoor = _f[1];\r\n var _g = useState(0), walletTrackerDefaultDepositAmount = _g[0], setWalletTrackerDefaultDepositAmount = _g[1];\r\n var _h = useState(), dowloadTypeProps = _h[0], setDowloadTypeProps = _h[1];\r\n var _j = useState({ showPayFlow: false, payAmount: 0 }), payFlowInfo = _j[0], setPayFlowInfo = _j[1];\r\n var _k = useState(false), showPaymentRequest = _k[0], setShowPaymentRequest = _k[1];\r\n var _l = useState(false), showCreditTransfer = _l[0], setShowCreditTransfer = _l[1];\r\n var sdkConfig = useSdkConfig(config);\r\n var getTool = useTools(config).getTool;\r\n useEffect(function () {\r\n updateLogSettings(enableLog);\r\n }, [enableLog]);\r\n var priceData = usePriceData();\r\n var _m = useServerBalanceUpdate(config, priceData), usdBalance = _m.usdBalance, balanceUpdating = _m.balanceUpdating, syncConfirmedBalance = _m.syncConfirmedBalance, updatePaymentAddress = _m.updatePaymentAddress, transferCredit = _m.transferCredit, bnbPaymentAddress = _m.bnbPaymentAddress, bnbTestnetPaymentAddress = _m.bnbTestnetPaymentAddress, referralEarnings = _m.referralEarnings;\r\n var walletListenerResult = useWalletListener(usdBalance, priceData, config, disableBlockchainPoll);\r\n useEffect(function () {\r\n consoleLog(\"\".concat(SDK_NAME, \": sdkConfig/currentTool\"), sdkConfig);\r\n }, [sdkConfig]);\r\n var confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n useEffect(function () {\r\n var _a;\r\n if (user === null || user === void 0 ? void 0 : user.uid) {\r\n syncConfirmedBalance((_a = {},\r\n _a[COINS.bnb_testnet.key] = confirmedDepositsBalanceBnbTest,\r\n _a[COINS.bnb.key] = confirmedDepositsBalanceBnb,\r\n _a[COINS.ethereum_testnet.key] = confirmedDepositsBalanceEth,\r\n _a));\r\n }\r\n }, [confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceBnb, confirmedDepositsBalanceEth, usdBalance]);\r\n var signIn = function (signInTitle, signUpTitle) {\r\n return new Promise(function (resolve, reject) {\r\n savePromise(PROMISE_ID.signIn, resolve, reject);\r\n setSignInTitle(signInTitle);\r\n setSignUpTitle(signUpTitle);\r\n setShowAuth(true);\r\n });\r\n };\r\n var signOut = function () {\r\n if (auth)\r\n return auth.signOut();\r\n return new Promise(function (resolve, reject) {\r\n resolve(null);\r\n });\r\n };\r\n var getAccessToken = function (maxAgeMilli) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"signed-out\"));\r\n }\r\n else {\r\n var now = new Date();\r\n var lastLoginDate = new Date();\r\n lastLoginDate.setTime(user.metadata.lastLoginAt);\r\n var timeDiff = now.getTime() - lastLoginDate.getTime();\r\n if (!maxAgeMilli || timeDiff <= maxAgeMilli) {\r\n user.getIdToken()\r\n .then(function (token) {\r\n resolve(token);\r\n })\r\n .catch(function (e) {\r\n reject(e);\r\n });\r\n }\r\n else {\r\n savePromise(PROMISE_ID.getAccessToken, resolve, reject);\r\n setShowAccessTokenDoor(true);\r\n }\r\n }\r\n });\r\n };\r\n var createDoc = function (docId, doc, user, staticToolCollection, dynamicToolId) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"Sign In required\"));\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/create_doc\"), {\r\n collection: staticToolCollection,\r\n docId: docId,\r\n doc: doc,\r\n dynamicToolId: dynamicToolId\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n resolve(result.data);\r\n })\r\n .catch(function (error) {\r\n var _a;\r\n reject(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || { error: error === null || error === void 0 ? void 0 : error.message });\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updateDoc = function (docId, doc, staticToolCollection, dynamicToolId) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"Sign In required\"));\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_doc\"), {\r\n collection: staticToolCollection,\r\n docId: docId,\r\n doc: doc,\r\n dynamicToolId: dynamicToolId\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n resolve(result.data);\r\n })\r\n .catch(function (error) {\r\n var _a;\r\n reject(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || { error: error === null || error === void 0 ? void 0 : error.message });\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var deposit = function (amount, signInTitle, signUpTitle) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n signIn(signInTitle, signUpTitle)\r\n .then(function (user) {\r\n savePromise(PROMISE_ID.deposit, resolve, reject);\r\n setPayFlowInfo({ showPayFlow: true, payAmount: amount });\r\n })\r\n .catch(function (e) {\r\n reject(e);\r\n });\r\n }\r\n else {\r\n savePromise(PROMISE_ID.deposit, resolve, reject);\r\n setPayFlowInfo({ showPayFlow: true, payAmount: amount });\r\n }\r\n });\r\n };\r\n var sell = function (signInTitle, signUpTitle) {\r\n if (!user) {\r\n signIn(signInTitle, signUpTitle)\r\n .then(function (user) {\r\n setShowCreditTransfer(true);\r\n })\r\n .catch(function (e) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"An error occurred\",\r\n text: e.message\r\n });\r\n });\r\n }\r\n else {\r\n setShowCreditTransfer(true);\r\n }\r\n };\r\n var showWallet = function (amount) {\r\n setWalletTrackerDefaultDepositAmount(amount);\r\n };\r\n var getDownloadType = function (downloadTypeProps) {\r\n return new Promise(function (resolve, reject) {\r\n savePromise(PROMISE_ID.downloadType, resolve, reject);\r\n setDowloadTypeProps(downloadTypeProps);\r\n });\r\n };\r\n var requestPayment = function () {\r\n return new Promise(function (resolve, reject) {\r\n var error = null;\r\n if (referralEarnings < 0) {\r\n error = \"Please wait for your referral earnings to load.\";\r\n }\r\n else if (referralEarnings == 0) {\r\n error = \"You have no referral earnings yet. Share your referral link to start earning.\";\r\n }\r\n else if (referralEarnings < config.minRefWithdrawal) {\r\n error = \"You're yet to reach the payment threshold of $\".concat(config.minRefWithdrawal, \". Share your referral link to earn more.\");\r\n }\r\n if (error) {\r\n reject(new Error(error));\r\n }\r\n else {\r\n savePromise(PROMISE_ID.requestPayment, resolve, reject);\r\n setShowPaymentRequest(true);\r\n }\r\n });\r\n };\r\n var resources = {\r\n auth: auth,\r\n db: db,\r\n user: user,\r\n authLoading: authLoading,\r\n uploadFile: uploadFile,\r\n adminInfo: adminInfo,\r\n signIn: signIn,\r\n signOut: signOut,\r\n createDoc: createDoc,\r\n updateDoc: updateDoc,\r\n deposit: deposit,\r\n showWallet: showWallet,\r\n sdkConfig: sdkConfig,\r\n contact_link: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.contact_link,\r\n group_link: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.group_link,\r\n group_links: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.group_links,\r\n parent_site_home: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.parent_site_home,\r\n aff_pct: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.aff_pct,\r\n balanceInUsd: walletListenerResult.balanceInUsd,\r\n balancePendingInUsd: walletListenerResult.balancePendingInUsd,\r\n unconfirmedDepositsCount: walletListenerResult.unconfirmedDepositsBnbTest.length +\r\n walletListenerResult.unconfirmedDepositsBnb.length +\r\n walletListenerResult.unconfirmedDepositsEth.length,\r\n downloadSvgAsImage: downloadSvgAsImage,\r\n getDownloadType: getDownloadType,\r\n saveToStoreFrameCookie: saveToStoreFrameCookie,\r\n saveToStoreFrameLocalStorage: saveToStoreFrameLocalStorage,\r\n saveToStoreFrameSessionStorage: saveToStoreFrameSessionStorage,\r\n getFromStoreFrameCookie: getFromStoreFrameCookie,\r\n getFromStoreFrameLocalStorage: getFromStoreFrameLocalStorage,\r\n getFromStoreFrameSessionStorage: getFromStoreFrameSessionStorage\r\n };\r\n return (React.createElement(SoftBakerContext.Provider, { value: resources },\r\n children,\r\n !showAuth ? null :\r\n React.createElement(AuthView, { config: config, isDarkMode: isDarkMode, show: showAuth, setUser: setUser, signInTitle: signInTitle, signUpTitle: signUpTitle, onSuccess: function (user) {\r\n setShowAuth(false);\r\n localStorage.setItem(STORAGE_KEYS.LAST_LOGIN_MILLI, \"\".concat(Date.now()));\r\n resolvePromise(PROMISE_ID.signIn, user);\r\n }, onError: function (error) {\r\n setShowAuth(false);\r\n rejectPromise(PROMISE_ID.signIn, error);\r\n } }),\r\n !showAccessTokenDoor ? null :\r\n React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: showAccessTokenDoor, onSuccess: function (token) {\r\n setShowAccessTokenDoor(false);\r\n resolvePromise(PROMISE_ID.getAccessToken, token);\r\n }, onError: function (error) {\r\n setShowAccessTokenDoor(false);\r\n rejectPromise(PROMISE_ID.getAccessToken, error);\r\n } }),\r\n !payFlowInfo.showPayFlow ? null :\r\n React.createElement(PayFlow, { config: config, contactLink: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.contact_link, isDarkMode: isDarkMode, show: payFlowInfo.showPayFlow, payAmount: payFlowInfo.payAmount, walletListenerResult: walletListenerResult, vendors: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.vendors, minDeposit: (sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.min_deposit) || 0, minVendorDeposit: (sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.min_vendor_deposit) || 0, priceData: priceData, onSuccess: function (latestDeposit) {\r\n setPayFlowInfo({ showPayFlow: false, payAmount: 0 });\r\n resolvePromise(PROMISE_ID.deposit, latestDeposit);\r\n }, onClose: function () {\r\n setPayFlowInfo({ showPayFlow: false, payAmount: 0 });\r\n } }),\r\n payFlowInfo.showPayFlow || !walletTrackerDefaultDepositAmount ? null :\r\n React.createElement(WalletTracker, { config: config, isDarkMode: isDarkMode, walletListenerResult: walletListenerResult, affPct: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.aff_pct, referralEarnings: referralEarnings, requestPayment: requestPayment, deposit: deposit, sell: sell, balanceUpdating: balanceUpdating, defaultDepositAmount: walletTrackerDefaultDepositAmount, currentPaymentAddress: IS_TEST ? bnbTestnetPaymentAddress : bnbPaymentAddress, onClose: function () {\r\n setWalletTrackerDefaultDepositAmount(0);\r\n } }),\r\n !showCreditTransfer ? null :\r\n React.createElement(CreditTransfer, { config: config, isDarkMode: isDarkMode, usdBalance: usdBalance, transferCredit: transferCredit, onClose: function () {\r\n setShowCreditTransfer(false);\r\n } }),\r\n !showPaymentRequest ? null :\r\n React.createElement(PaymentRequest, { config: config, isDarkMode: isDarkMode, currentPaymentAddress: IS_TEST ? bnbTestnetPaymentAddress : bnbPaymentAddress, updatePaymentAddress: updatePaymentAddress, onClose: function () {\r\n setShowPaymentRequest(false);\r\n } }),\r\n React.createElement(DownloadType, __assign({ config: config, isDarkMode: isDarkMode }, (dowloadTypeProps ? dowloadTypeProps : {}), { onGetTool: function (id) {\r\n return getTool(id);\r\n }, onSuccess: function (result) {\r\n setDowloadTypeProps(null);\r\n consoleLog(\"parsedSvg:templatesUrl.<DownloadType\", result, \"dowloadTypeProps: \", dowloadTypeProps);\r\n resolvePromise(PROMISE_ID.downloadType, result);\r\n }, onError: function (error) {\r\n setDowloadTypeProps(null);\r\n consoleLog(\"parsedSvg:templatesUrl.<DownloadType.error\", error, \"dowloadTypeProps: \", dowloadTypeProps);\r\n setDowloadTypeProps(null);\r\n rejectPromise(PROMISE_ID.downloadType, error);\r\n } }))));\r\n};\r\nfunction useFrontbacked() {\r\n return useContext(SoftBakerContext);\r\n}\r\nexport { SdkProvider, useFrontbacked, useSdkConfig, useTools, useReferralId };\r\n"],"names":["theme","navbarShadow","light","dark","overlayBg","selectCoinBg","transferWarningBg","cardBg","cardBgShadow","cardBgInverse","cardBgHover","dividerColor","loadingColor","error","LIB_LOGO","BNB_LOGO","ETH_LOGO","PROMISE_ID","signIn","getAccessToken","deposit","downloadType","requestPayment","creditTransfer","IS_TEST","PRECISION","PRICE_FETCH_INTERVAL_MINS","MIN_BLOCK_CHECK_INTERVAL_SECONDS","CHAINS_RPC_LISTS","bnb","bnb_testnet","ethereum","ethereum_testnet","COINS","coingecko_price_key","disabled","decimals","requiredConfirmations","priority","key","symbol","name","depositWarning","secondsPerBlock","logo","abiData","WalletFactoryBsc","WalletFactoryTestnet","WalletFactoryEth","WalletFactoryGoerli","SDK_NAME","STORE_FRAME_ID","concat","STORAGE_KEYS","ENABLED_LOG","SDK_CONFIG","DOC_RULES","LAST_DEPOSIT_BLOCK_NUMBER","LAST_LOGIN_MILLI","LAST_USD_BALANCE","USER","LOGO_PATH","MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS","REF_PCT","ERROR_X","CustomError","_super","__extends","message","code","_newTarget","constructor","_this","call","Object","setPrototypeOf","prototype","Error","Decimal","require","isEthAddress","address","Web3","utils","toChecksumAddress","e","weiToEther","bigIntValue","decimalPlaces","precision","bigDecimalValue","toString","Number","div","pow","toNumber","toPrecision","nullOrEmpty","d","length","isVoid","value","undefined","isValidEmail","email","test","USE_SOFT_BAKER_RESOLVE_PREFIX","USE_SOFT_BAKER_REJECT_PREFIX","promiseResolvePending","promiseId","window","savePromise","resolve","reject","pollInterval","resolvePromise","data","rejectPromise","updateLogSettings","enableLog","localStorage","setItem","consoleLog","args","_i","arguments","console","log","apply","isEnabled","getItem","whatsappLink","phoneNumber","isWeb","replace","getDefaultCoin","defaultCoin","lastPriority","_a","keys","coin","downloadSvgAsImage","svgString","format","fileName","Promise","svgBlob","Blob","type","svgUrl","URL","createObjectURL","img","Image","onload","canvas","document","createElement","width","height","context","getContext","drawImage","dataUrl","toDataURL","imageBlob","dataURLToBlob","isiPhone","binaryData","iphoneBlob","iphoneUrl","downloadLink","href","download","click","revokeObjectURL","src","dataURL","arr","split","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","navigator","userAgent","getColor","isDarkMode","colorName","color","getError","defaultMessage","_b","response","request","amountFormatDefault","v","minFD","maxFD","noZeroDecimals","isNaN","resolvedMaxFD","resolvedMinFD","factor","Math","roundedValue","floor","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","includes","intPart","decimalPart","isBrowser","DrawerPop","bg","children","placement","onClose","isOpen","isClosable","closeOnOverlayClick","title","footer","hideModeSwitch","h","maxH","maxHeight","w","maxW","maxWidth","props","__rest","useState","height2","setHeight","_c","width2","setWidth","_d","borderTopLeftRadius","setBorderTopLeftRadius","_e","borderTopRightRadius","setBorderTopRightRadius","_f","borderBottomLeftRadius","setBorderBottomLeftRadius","_g","borderBottomRightRadius","setBorderBottomRightRadius","useEffect","handleBackButton","event","preventDefault","addEventListener","removeEventListener","React","Drawer","DrawerOverlay","DrawerContent","__assign","DrawerHeader","borderBottomWidth","display","justifyContent","alignItems","Text","as","fontSize","base","md","textTransform","HStack","Box","onClick","cursor","FaTimes","size","DrawerBody","DrawerFooter","AppButton","variant","bgColor","outlineColor","leftIcon","rightIcon","loading","outline","Button","p","letterSpacing","textAlign","borderRadius","border","borderColor","boxShadow","opacity","transition","_hover","_disabled","mr","ThreeDots","ml","InfoLabel","info","onInfo","i","Swal","fire","icon","text","confirmButtonText","showCancelButton","flexWrap","mx","mb","marginInlineStart","marginInlineEnd","FaInfoCircle","arraysEqual","array1","array2","l","Array","countryCodes","TYPES","number","range","date","phone","password","select","select_tree","textarea","checkbox","checklist","radio","none","location","price","extractNumberFromString","numberRegex","numParts","mantissa","result","InputBox","id","locale","onChange","onFocus","onCheckInfo","onKeyDown","errorMessage","helperText","placeholder","options","onOptionValue","onOptionName","defaultCountry","phoneSelectBg","phoneSelectColor","numberDecimals","hasNegOverflow","numberUnit","rangeMinPlaceholder","minTitle","rangeMaxPlaceholder","maxTitle","maxTextLimit","direction","resize","disableCalendar","disableClock","dateFormat","iconLeft","iconRight","apiKey","mapToSearchRatio","twoDigitCountryCode","inputRef","defaultLatlng","geotype","showPassword","setShowPassword","decimalsSet","setDecimalsSet","parseNum","num","__spreadArray","changeNumber","target","increaseNumber","numberSteps","decreaseNumber","updateRangeValue","useCallback","min","max","parseFloat","countryCodesMap","setCountryCodesMap","countruesToCurrency","customList","setChecklist","isArray","searchActive","setSearchActive","handleInputCheck","getLatestValue","onValueIsLatest","checker","waitTime","setTimeout","check","checkedValue","then","memoizedOptions","useMemo","map","FormControl","isInvalid","FormLabel","InputGroup","InputLeftElement","Select","ref","errorBorderColor","InputRightElement","Input","PhoneInput","background","_focusVisible","getNumberInfo","codes","parsePhoneNumber","countryCode","country","currencyCode","dialingCode","countryCallingCode","inflatedValue","onBlur","px","m","FaEyeSlash","FaEye","FaMinus","FaPlus","alignSelf","pb","Textarea","isDisabled","RegExp","Checkbox","isChecked","checked","Flex","flexDirection","index","sm","selected","all","onlySelected","all_1","selectedService","push","RadioGroup","Stack","Radio","VStack","FormErrorMessage","FormHelperText","memo","Link","useFirebase","config","app","setApp","analytics","setAnalytics","auth","setAuth","db","setDb","user","setUser","adminInfo","setAdminInfo","authLoading","setAuthLoading","_h","storage","setStorage","firebaseConfig","theApp","initializeApp","theDb","getFirestore","theAuth","getAuth","theAnalytics","getAnalytics","theStorage","getStorage","unsubscribe","onAuthStateChanged","onSnapshot","doc","collection","uid","docSnapshot","exists","uploadFile","file","pathToFile","fileRef","storageRef","uploadBytes","snapshot","getDownloadURL","url","SignInView","onAuthDone","setEmail","emailError","setEmailError","setPassword","passwordError","setPasswordError","requesting","setRequesting","clearErrors","forgotPass","pass_1","codeSettings","sendPasswordResetEmail","msg","sendRequest","maxRetries","triedTimes","signInWithEmailAndPassword","userCredential","handleSubmit","hasError","fontStyle","mt","SignUpView","fullname","setFullname","password2","setPassword2","fullnameError","setFullnameError","_j","_k","passwordError2","setPasswordError2","_l","createUserWithEmailAndPassword","updateProfile","displayName","sendVerification","__awaiter","__generator","label","trys","sent","e_1","e_2","sendEmailVerification","AuthView","show","signInTitle","signUpTitle","onSuccess","onError","showSignIn","setShowSignIn","handleAuthLinkClick","appName","minH","Fragment","textDecoration","fontWeight","ModalPop","subtitle","noHeader","Modal","isCentered","ModalOverlay","ModalContent","ModalHeader","ModalBody","ModalFooter","AccessTokenDoor","setE","authenticating","setAuthenticating","auntentication","getIdToken","token","Date","now","zIndex","FaSignInAlt","StatusCoin","status","colors","success","bgGradient","FaCheck","timeout","FaClock","FaTimesCircle","PaymentDetected","amount","loadersMap","Audio","BallTriangle","Bars","Blocks","Circles","CirclesWithBar","ColorRing","Comment","Discuss","Dna","Grid","FallingLines","FidgetSpinner","Hearts","InfinitySpin","LineWave","MagnifyingGlass","MutatingDots","Oval","ProgressBar","Puff","RevolvingDot","RotatingSquare","RotatingLines","Rings","TailSpin","ThreeCircles","Triangle","RotatingTriangles","Watch","Vortex","Loading","audio","bars","ballTrinagle","circles","grid","hearts","oval","puff","rings","tailSpin","threeDots","PleaseWaitForX","pos","Types","refCode","link","shillText","refLink","copyOk","CopyView","textToCopy","copyType","maxChars","onCopyMessage","toast","useToast","setValue","useClipboard","hasCopied","onCopy","maxLength","half","round","substring","slice","description","duration","FaCopy","CryptoDeposit","setCoin","coinAmount","coinSymbol","wallet","setWallet","walletListenerResult","copySuccess","setCopySuccess","handleCopy","clipboard","writeText","hasErrorBnbTest","confirmedDepositsBalanceBnbTest","confirmedDepositsBalanceInCoinBnbTest","unconfirmedDepositsBalanceBnbTest","unconfirmedDepositsBalanceInCoinBnbTest","unconfirmedDepositsBnbTest","latestDepositBnbTest","saltBnbTest","paddedSaltBnbTest","walletBnbTest","walletCreatedBnbTest","hasErrorBnb","confirmedDepositsBalanceBnb","confirmedDepositsBalanceInCoinBnb","unconfirmedDepositsBalanceBnb","unconfirmedDepositsBalanceInCoinBnb","unconfirmedDepositsBnb","latestDepositBnb","saltBnb","paddedSaltBnb","walletBnb","walletCreatedBnb","hasErrorEth","confirmedDepositsBalanceEth","confirmedDepositsBalanceInCoinEth","unconfirmedDepositsBalanceEth","unconfirmedDepositsBalanceInCoinEth","unconfirmedDepositsEth","latestDepositEth","saltEth","paddedSaltEth","walletEth","walletCreatedEth","balanceInUsd","balancePendingInUsd","QRCode","fgColor","ecLevel","logoImage","logoWidth","logoHeight","removeQrCodeBehindLogo","toFixed","borderBottom","textOverflow","whiteSpace","overflowX","right","top","bottom","FaCheckCircle","htmlFor","c","FaExclamationTriangle","WhatsappDeposit","contactLink","vendors","usdAmount","fiatSymbol","fiatName","fiatLogo","minVendorCoinAmount","minVendorUSDAmount","vendorPhone","setVendorPhone","coinAmountState","setCoinAmount","usdAmountState","setUsdAmount","setMsg","randVendor","cryproVendors","cryproVendors_1","vendor","freq","random","py","overflowY","lg","_active","FiatDeposit","BONUSES","bonusPct","FaCoins","Infinity","Bonus","AmountEditor","minAmount","onAmountValid","onSubmit","a","setA","setHelperText","getBonusText","bonus","validate","showError","handleChange","amt","FaChevronRight","PayFlow","payAmount","priceData","minDeposit","minVendorDeposit","setAmount","minDepositLoaded","setMinDepositLoaded","editAmount","setEditAmount","latestDeposit","setLatestDeposit","position","left","flexDir","pt","alt","FaPen","Divider","Tabs","isFitted","TabList","Tab","depositedAmountInCoin","TabPanels","TabPanel","WalletFactory","abi","rpcList","subscriptions","stop","lastRpcIndex","getWeb3","web3","rpcUrl","getContract","eth","Contract","startSubscriptions","stopSubscriptions","getSaltBalance","salt","blockNumber","paddedSalt","rightPad","asciiToHex","toLowerCase","methods","balanceObject","isCreated","balance","startBlockListener","callBack","lastBlock","interval","currentBlock","getCurrentBlockNumber","error_1","getBlockNumber","useCoinListener","disableBlockchainPoll","EMPTY_BALANCE_INFO","confirmedDepositsBalance","BigInt","confirmedDepositsBalanceInCoin","unconfirmedDepositsBalance","unconfirmedDepositsBalanceInCoin","unconfirmedDeposits","walletCreated","confirmedDepositsBalanceInUsd","unconfirmedDepositsBalanceInUsd","currentUid","setCurrentUid","factory","setFactory","confirmationBalanceInfo","setConfirmationBalanceInfo","updateConfirmationsInfo","confirmationsInfo","initCoin","walletFactory_1","coinKey","confirmations","getConfirmations","getConfirmationsInfo","confirmations_1","confirmationsInfo_1","promises","confirmation","saltBalanceConfirmation","remainingConfirmations","e_3","emptyBalanceInfo","balanceInfo","coinPrice","prevConfirmation","newDeposit","depositedAmount","depositedAmountInUsd","lastDepositBlockNumberString","lastDepositBlockNumber","parseInt","useWalletListener","serverTotalBalanceInUsd","confirmedDepositsBalanceInUsdBnbTest","unconfirmedDepositsBalanceInUsdBnbTest","confirmedDepositsBalanceInUsdBnb","unconfirmedDepositsBalanceInUsdBnb","confirmedDepositsBalanceInUsdEth","unconfirmedDepositsBalanceInUsdEth","setBalancePendingInUsd","UnconfirmedDeposit","gap","lineHeight","WalletTracker","affPct","defaultDepositAmount","balanceUpdating","referralEarnings","sell","currentPaymentAddress","totalUnconfirmedDeposits","setTotalUnconfirmedDeposits","my","overflow","refEnabled","appDomain","getQueryParamValue","param","urlSearchParams","URLSearchParams","search","get","useReferralId","referralId","setReferralId","getReferralId","refId","customWindow","UPDATE_RETRIES_WAIT","DEFAULT_BALANCE_DOC","usd_balance","referral_earnings","bnb_payment_address","bnb_testnet_payment_address","referred_by","useServerBalanceUpdate","balanceFirstLoadDone","setBalanceFirstLoadDone","balanceDoc","setBalanceDoc","getCoinBalanceKey","readServerCoinBalance","updatingCoins","setUpdatingCoins","setBalanceUpdating","syncConfirmedBalance","coinsInfo","lastWaitRetryIndex","coins","updating","updateBalanceDoc","errorCoins","coinsOnly","coinData","updatingState","errorCoins_1","coinState","splice","indexOf","retryIndex","userEmail","authToken","axios","post","serverBaseUrlLive","headers","Authorization","updatePaymentAddress","transferCredit","recipientEmail","updateBalanceWithEarnings","referralEarnings2","prevUsdBalanceString","prevUsdBalance","balanceIncrease","discount","unsubscribeBalance","usdBalance","bnbPaymentAddress","bnbTestnetPaymentAddress","usePriceData","setPriceData","priceFetchStarted","setPriceFetchStarted","fetchPrice","priceData_1","priceDataState","usd","MAX_RETRIES","CACHE_KEY","defaultFactoryData","useSdkConfig","appConfig","sdkConfigCache","sdkConfig","setSdkConfig","parseVendors","vendorsAsTexts","r2Domain","fetchPromise","attempts","cachedMetadata","etag","lastModified","cachedData","err_1","JSON","parse","validateStatus","stringify","SUSCRIPTION_TYPES","monthly","quarterly","yearly","ADMIN_PERMISSIONS","canCreateTools","canEditTools","defaultAdminInfoPermissions","isAdmin","isToolsEditor","DownloadType","removeFreemiumBeforeUpdate","toolId","onGetTool","freeTitle","freeMessage","paidTitle","paidMessage","updateMessage","renewSubscription","isFreemium","setDownloadType","downloadTypeError","setDownloadTypeError","docRules","setDocRules","useFrontbacked","autoProcessOn","setAutoProcessOn","permission","setPermission","permissions","perms","tool","allow_freemium","create_price","update_price","create_price_is_monthly","yearly_price","quarterly_price","is_create","is_freemium","cost","okResult","subscription_type","updatePrice","desc","randTransactionKey","saveToStoreFrame","storageType","iframe","getElementById","transactionKey","contentWindow","postMessage","getFromStoreFrame","saveToStoreFrameCookie","saveToStoreFrameLocalStorage","saveToStoreFrameSessionStorage","getFromStoreFrameCookie","getFromStoreFrameLocalStorage","getFromStoreFrameSessionStorage","PaymentRequest","payAddr","setPayAddr","updatingAddr","setUpdatingAddr","showAccessDoor","setShowAccessDoor","afterRecentAuth","addr","toLocaleLowerCase","recentLogin","trim","FaTicketAlt","CreditTransfer","setRecipientEmail","recipientEmailError","setRecipientEmailError","amountError","setAmountError","sendingCredit","setSendingCredit","r","hasErrors","removeQueryString","queryString","urlObj","searchParams","arrayToMap","attr","keyParser","reduce","item","removeUpdateQueryString","rmUpdates","setR2Host","startsWith","parsedUrl","host","protocol","err","useTools","toolsCache","setData","setLoading","setError","toolsById","setToolsById","toolsByTemplatesUrl","setToolsByTemplatesUrl","toolsFetchPromise","tools","getTool","isActive","isHidden","siteLogoUrl","siteUrl","desktopVideoUrl","mobileVideoUrl","totalUpdates","lastUpdatedOn","previouslyUpdatedOn","SoftBakerContext","createContext","SdkProvider","showAuth","setShowAuth","setSignInTitle","setSignUpTitle","showAccessTokenDoor","setShowAccessTokenDoor","walletTrackerDefaultDepositAmount","setWalletTrackerDefaultDepositAmount","dowloadTypeProps","setDowloadTypeProps","showPayFlow","payFlowInfo","setPayFlowInfo","showPaymentRequest","setShowPaymentRequest","showCreditTransfer","setShowCreditTransfer","_m","signOut","createDoc","docId","staticToolCollection","dynamicToolId","updateDoc","showWallet","getDownloadType","downloadTypeProps","minRefWithdrawal","resources","contact_link","group_link","group_links","parent_site_home","aff_pct","unconfirmedDepositsCount","Provider","min_deposit","min_vendor_deposit","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.mjs","../../src/theme.ts","../../src/utils/base64Images.ts","../../src/utils/c.ts","../../src/utils/CustomError.ts","../../src/utils/f.ts","../../src/components/widgets/DrawerPop/index.tsx","../../src/components/widgets/AppButton.tsx","../../src/components/widgets/InfoLabel.tsx","../../src/components/widgets/InputBox/utils.ts","../../src/components/widgets/InputBox/index.tsx","../../src/components/widgets/Link.tsx","../../src/components/Firebase/index.ts","../../src/components/Firebase/SignInView.tsx","../../src/components/Firebase/SignUpView.tsx","../../src/components/Firebase/AuthView.tsx","../../src/components/widgets/ModalPop/index.tsx","../../src/components/Firebase/AccessTokenDoor.tsx","../../src/components/PayFlow/StatusCoin.tsx","../../src/components/PayFlow/PaymentDetected.tsx","../../src/components/widgets/Loading.tsx","../../src/components/widgets/PleaseWaitForX.tsx","../../src/components/widgets/CopyView.tsx","../../src/components/PayFlow/CryptoDeposit/index.tsx","../../src/components/PayFlow/FiatDeposit/index.tsx","../../src/components/PayFlow/AmountEditor.tsx","../../src/components/PayFlow/index.tsx","../../src/components/PayFlow/WalletFactory.ts","../../src/components/PayFlow/hooks/useCoinListener.ts","../../src/components/PayFlow/hooks/useWalletListener.ts","../../src/components/WalletTracker/index.tsx","../../src/components/PayFlow/hooks/useReferralId.ts","../../src/components/PayFlow/hooks/useServerBalanceUpdate.ts","../../src/components/PayFlow/hooks/usePriceData.ts","../../src/components/PayFlow/hooks/useSdkConfig.ts","../../src/components/PayFlow/types.ts","../../src/components/DownloadType/index.tsx","../../src/utils/storeframer.ts","../../src/components/PaymentRequest/index.tsx","../../src/components/CreditTransfer/index.tsx","../../src/components/PayFlow/hooks/useTools/utils.ts","../../src/components/PayFlow/hooks/useTools/index.ts","../../src/components/FrontbackedProvider/index.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","export var theme = {\r\n navbarShadow: {\r\n light: \"0px 5px 21px -5px #CDD1E1\",\r\n dark: \"0px 5px 21px -5px #0D1121\"\r\n },\r\n overlayBg: {\r\n light: \"rgba(0, 0, 0, 0.5)\",\r\n dark: \"rgba(35, 35, 55, 0.5)\"\r\n },\r\n selectCoinBg: {\r\n light: \"#f9f9f9\",\r\n dark: \"#292929\"\r\n },\r\n transferWarningBg: {\r\n light: \"#FFFBEB\",\r\n dark: \"#6F4B3B\"\r\n },\r\n cardBg: {\r\n light: \"rgb(255, 255, 255)\",\r\n dark: \"rgb(24, 26, 32)\"\r\n },\r\n cardBgShadow: {\r\n light: \"rgb(255, 255, 255)\",\r\n dark: \"rgb(24, 26, 32)\"\r\n },\r\n cardBgInverse: {\r\n light: \"rgb(24, 26, 32)\",\r\n dark: \"rgb(255, 255, 255)\"\r\n },\r\n cardBgHover: {\r\n light: \"rgb(245, 245, 245)\",\r\n dark: \"rgb(34, 36, 42)\"\r\n },\r\n dividerColor: {\r\n light: \"gray.200\",\r\n dark: \"gray.800\"\r\n },\r\n loadingColor: {\r\n light: \"#1A202C\",\r\n dark: \"#E2E8F0\"\r\n },\r\n error: {\r\n light: \"#800\",\r\n dark: \"#800\"\r\n },\r\n};\r\nexport default theme;\r\n","export var LIB_LOGO = \"data:image/png;base64,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\";\r\nexport var BNB_LOGO = \"data:image/png;base64,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\";\r\nexport var ETH_LOGO = \"data:image/png;base64,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\";\r\nexport var TOOL_FALLBACK_IMAGE = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAABDCAYAAADHyrhzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAHahJREFUeNq0fHl8U+XW9U7Sq35yX/X6qq+iMk+d5zbTSXLOs89JaUoRQRAE9XIRUQGVMsg8t9DKIEMHQMaW0oJeryiUlg5Ay9gZKGOBtlAmEfkuVwQK+/vjnKRJm5aC3/tHf4WkSZ6ss9d61rP2TgDRAogWNaJFo/xbg2hRKT8aRAsIgkmt/I3b+5Xf6ia3OT/G4xGPsd+vbsNzuq6TmVSIZvk2ZnrUOlpbO0BLCxBFXiOKvCoo0EcVHh4EZpMe/Hx6qi0Wo0qSBLXTE7f2ptpyf2tAQXMgzPKblpgKjcEq1PqoUOAAQ3sCmkIBLXpArY8HolmFIt/0dVpdp/OLaUT5wSqdLsQjPCwQevXoDKPHjobZ8+aCyaSDydOmgNmkBy/PbmC1MhUir2ly9Vuqsqb3t7XKGhct8jIQWh8NGgIBg7sAWkXAcUsBmQVw5FTAkVMAuWBgwz4DtIpqFDiPFp7T7Tqg6R/rdCHqdwb2B2sEg9nz5gw5eaEucX9xac73P/30c9W5C1+vTE42j/pkJPTo1hHMZr1aBsVtmbd0JdxRx6MFasiPkZgGzeHAgjqD+NEEkMbOBTZohIkllcWwtMtrWNxPu1j69Ry2/NAPLKlsg7D+/FhknBrN4S0/p+s6VXYwNIgWNWNmldEQrnl/2BD4YftPppy9+8pPXaijwiPFtL+4lMqqTlFeYRGdv3yNDpSUfTf28zEvmTgt6PWhHpIk2F/Ao4160BZqKECgRtQHgBTcA6QvFrdjmdcn4IbqY2xDLbH154klVxDbdJHYymJi6deJbbtNOOzT0WgMBGTmtlBY5UwT5T+8h59vL4hbuCDk2KlqKj5aRQX7D1LB/oO058Ahyi/aT3sPHqbcfYVUXHmcqi9dufjRyBHtAoP8wMKbH4cabRdTiXmIWl8QOD8Q5m8VpMz/XGSrq4itOk5s1VFiiaUyGCuPENtQQyz9GuGAoaHo/4bynPxjURQQLSCKvMagDwOdLlSd8f0/Lx4oKae8QvnNy0AcoL0HD1PB/gMOcAoPHaajp6sr/zF2+jMdunuDJD62WHq4EdjGirCiRgz3BlHnB/ySnBnC97eJJZUTSy6XfyeVE0uplIHYWEdsyy+E730ciYGd7EC0RI2W1qFWhFNQefbqAnPmzf2g8uQZ+mlXjgOARiCcqqSwiAoOHKa9Z/+gc7nzjm34tEP7l70QzLxFrYDyJGLpohGizg8EUyDwi3MWixm3GqvADkRyBbEVxTIQG2ru48APzRjUGZCZ1MouonIj6qrW1gGIFggO8oOPR42E8uMnM3IK9tLP2bspd18R7TlwyKUi9h48TPmF+2nPwcP0Y+mvD4uz196hnW8Sbe1VN+3vhqd8tBYIM5s0VpG3v4DmsakhCh7IhYAU7AlS7M+D+X/+h3BlSRMglIrYcEGuiIEfGtCvPSi7Tlt2txZ9hiY8PAhGjx0NWbn5hXmF+2nn7jzauTuP9h060kQ3ihQgbjwsydt8h1Jfv9+wriPRjwFEP/tUjPtH+LN6swW4Rg1peiU8WjdUvAYFDsTgziBNWdENt/6HMLGMWEqFG2rUKtQYFYlBnZtS44koCogWNc8bQasLgY3p6XsOFJfRjpxc2pmTSzkFe2nvocNKRchAbC+5/rBi9+rfadOr92njm9SQHkwNaYFEOW8SbRLPTBGGvfKaKQgk5B95JdxudVovEEdNB9z6SyFLOapoRJkTNRSN2FT3EAd9aMagTo+iRlvXIQtoYIC3+pPRn8D+krLVWbvzaFdeAe3IyaUd2bspb99+2nNApsiPpTeoNC/1Dm186T5teJPupwfTg7RAerijIz1I97978+04us6vPDPZOujp/xY8gUeTWpIVvW1brlmrYYwDfnFeD7apvrEaHNQoJrauWt41Bo8Q0O/1J6QGr2Eir4oI8wOrIcyDyV5J9hmCwKnDQgMgLn6hpar6Av20K4d27s6jrNx8+ikrm3L3FdHPZb88KM1Lu0ObXr//cGMHakgPogdpgUQ7OtLDDL+7dX3m3z2jW0kUvYwu2RZUzrK+95wPC4UwptNEoPAIi63cxswqDPcEYVLyMrb5misQSWXE1pwktuYk4dBRUTI1zE9GDVHQSGHeoB86CLihQ1USp1U7fIYkCarAQG/VoEED4Oddu/MLD5dQVm4+7cjZTVm5ebR5Tw2V7lr1B216+T5t6EAN9orY2ZEebA78o9YWe7dal0QX+8TS2ch5dCdqKVHUytqZ0nt/0zEDaJleI7a8aPmKioIKdd6Ava3AVh07zdacaqSGspPgmpNkWlMxX+g3AESdb0vUULdWESgKagzoANLbQw3a7+s/Mg4fBdYwHwdNVIgWjdXKVN27dYBPPvvk5WOnz9Vn5xXQztx8St9bS0U7N96nTe0fyBoRpFCjEz3M8Ltba4u9e1abTBf7zKcLkbFUZ4ujGlss1dsWEPVJOTZeGvhMVxYIrPXTqQotOhVatIAJu1/CzVcfssQSWSyTlC01uZzY2rP0dny5l9XaGxgX3LLuuN29eA2KvBqDOwNG2toJmb/+R1pUeEbSBQFDMyCaNc5PprFYjGqzSQ8jRgx/6XBZ5fGdpVfowE9r7lNaBwcQDWmBRFkdiTL97tb2ma9UxHyqUYCos8VRTWQsXbTF0VXbQroVtahiofWDV9oLvsDQrBJb4rNF54HMBDhumYGtPUMsRXGYKRWNIpp+nWyfLeknhnkBinxbLHajVomCBoM6A/Yb9AbbWFPN0i4TW3fuMMYsA9T5AjKT60FNkpjKoA/TBAf7w9DR0589k73wLGV1IFrfke6nB9GDtACirE5EacH3LkUtuFutT24RiJrIWDofGUv3o5bRDVvC5QXWD17oygJBiwa7hrjyWRQAgzsDjpgUyTZfbaSIHYiUSsLEcjJ+d/W8LmYGWLs/BygylaIZbaDGm4B9+7/IUi9dYamXiK06RmzVsdMY3U8GA3loKmwekiSoLLxJ/UbPIFg11v/l21t7VNOPAfQwLYAouwvdSwtoyNVPaigOWko3+sVTjS2WahUgLjgBURsp33Y2ch7dj1pGt6IWHY+RBj6tQyOEMb1GcrXLgKZQNUZYgS0/xNjaswoQFTIQdgFNLCUh7RIJK/bvxoEfAgZ0AOQNGpRYC6dgOzW6APbp+wL79nQVS7ss+5T154ktKTiF/YcA8npAJtPEnbB5SKJZ9bKXADOHG5+9v92/nHK60L3UwAf5xokN//ScSdncF3RMmknXoxMcADiAsMU5/l1ni6Pztli6altI1Cfl+Czre6/7sFDg0eyq8IxToyEQ2PufBbL152SaOAORrFTK8kPEMn8jtup4Fg4YKoc5Fq1GoY2rjxAFDQZ3AXz73TfYpou1LPWSDERKJbGVJcS2/rYXJyYChnsCMrODJm73ZzNvUXmGMZg2OvgZSjecP2ycTD94z6S9lvGUbRxHWYYv6YQ0m65FJ9Al2wK6EBlLtbZYR5XU2eKoNjLWAVR95AKiqJWXZ1uHtntB8AQRLSpRDojk1wzrBcLnCSCk1V9yuE1nIJJK5dsSS4itO0ss/fp+fHswYFgv2Xi5o0ZU37+yTRcvO475yZWyFqXWE5v13XoM95YrQzmbtJg/SqJFFWrkPYQoLUzta2u/x2/+6SrTdNrFjaN8bgLlGGNop+FLOmGdTdei45vpRm2TiqmxxdLvUUvpgi32aKz1/f/TjQWBDo1qK/KAIq/BsF7ABo8AlnL0NPv2VBMgypzOJ7KGsNVVxNaczMJ3hgH6vQaIFhXjAjUocBoM7grYt/8r7NvTR1lqfSMQ9udJu0JsyqKPRM4HUDA1HtRaCWI9IiQLGEyC+k2DDiZIA57dZ5p0osQ4lXK58ZTHjafdxvG0Q/8lHZdm0S/RCY7KaAqEHaizkfOoIWoZ3YlaenaOdehrWjSAVjR5SFofQN7wNM7Zuk/WDOW4nlLRuL3agbBf3aRyEjZfIeuy4qw+H8cDC+8F1t7RgMHdgPV7pwNLvVTv0IiURiBwZSnx6Vcf6tfsfB5FHYgmXYuBcLNtSUSLRkIe3pD8YAp79/kz3Oxr+cbxVMBNoDxuPOUYY2iXYZwCyNdOYrrAoSHOAnsucj79aksgikq8MDZi4DNB4V2B6XyBLdlzgH13W6aBw3kq1HCuCPvVVYId3HydxJSqSumrb63R8Yd74aiZ7wgplTeaUUMBVPj2NAmpdVsxehBgmBegKDtkaAWIZvs3j2ZVoKiFr9ig9nXc/GN7jBNpNyeDkm0cR7sM46hKmuXQEHdbbm1kLNXa9SQqnoifUxzP9e3efeG2rSzzpixsztRwAKFoSKITEIn2KikmYfUxOfZbc5JY6iVia8/IFeFMjaRyElZVkrjtd5JGzuiFQZ1c/Aq0UhHN9m8JeVU46jWcyMHn2P/ZEtPUU+XGabSLG0cF3ETKMcbQDr1dQxIcdHE4UycgzkbF0R+WaXQX59KHS4opIPOKo/RZcgWhHZDkCsKUClfdcAHKrityFQkp7u5X/EpiKQlbb5H41ZqpUnA3QF6vQpFvHgi3Mbz1sCIPOjRovMQQmM3ee+kgN/l6uXEa7XZoSKOoXo9OaKwCBYiLtjiqjoqjP/gZ9MA0lT5cuIe6bq0nKbHMcfUxpZz45SVk+no/mRcdIJbkCo7Lltvk/CK/6bImVr5Cpsu228Tid+3CsJ7AuCBAUfBoIRB2G5G5TahEtKgZmlVdpECYzd5rX2KaWrXHOMGhIbuNMZRlGEfHnES1EYgFdIefQXct0+ij2HzqnFlLaK+IlErClAril5cQt7BQ+SkiU0KR/IZS7NxvAoTz1XdXEcnlxL67Tbh03140a2XHKTEPd4Hwk2aWHgzNKi8xFD7H/u3quPnn8ozjKZcbT/mKhmQpoiobswVUHRVHdy3T6bYwg4Z8XUSdM2uJJZUROlfEsmLiFhaSKb6ITIsOkim+kLj4IhISy+TqaEYNe5W4ASKxTN5+t/2b2OyMRDQGAWq9ASV027Npeupra4PHA9GiEtGi1qFBw4kcfMUGtT/Dza4vMU6lXdw42sNNdABy0jqbLr31Nd1VqDEiroA6bK0jdAZiVYUCxD4ZiK8PkilBrg7L0sOuQDgqolxxqk65R2IpCWvPEKYcI1x/gVjmb+dw3KIPMKQroN7PbUW4BMJP0OBxPMaKPISjXhMoamEqG/xivmlCVaVxOuVwMZTHTaDdxhjabhxHV4wT6XecRSPiCqhTs4popEYjEEXELSwi85JDzYFILCW2rvoey7hxh62uUtzoNWKrTxBLu0ziitLfzKnnt5s3nBwsDRn1FwzqBGgObxUIRyDcxgZPS27VQ0JexaNJ3V7yhZk45NlKbnp9kXGSTBfzRCoOGEVlAaNocEIhdd52qTkQy0oaK2KRHYhCMi+WgcBVRxuBSCojllr/u5Bc3gWHjPwfNm2DyFIqh+GIr0ZgSsUAnJWulQT+RfOYmWDp/zZIAZ0AmbmpWLoNpt0d1B7d4GklX/QWQ2EqvtuhmptzYbdpEpUFjqJjfiNp6Nwc6rb1YnNqLC9xQ40iN0AoYGTcvCUsP+iHogVEz78B9ukLaLMBhvYA7D8E0BgEqPcDURcAoj5Q7eZE23og/EQpdvPHqES0aAxoVBtFI3wqDXjuXODYg+UhY2lwbB712lb/2NSwAyGtLCXt+pPk/cPNY8Li/A4ibwAM7aHGCAmQC9YgF6xCkVeh3t8DeQOgKKiVg1trF1HtrqPm0dY/bsl7OD1GY0VepZNMmlBdd5ili1QPXnTojtf3VwmTSp+IGtLKUvLdUkN9k0/QzE/X9vDj/UEf3l1tlcSW1tGWdbptK0CbW36t9yAadyIJNVK4NzCdL3gnfL85ZNv1B5KLjyh3Q42WK8J3Sw2ZV1dSnjSPTnV7Z88YU8TzeskM4egmIGp7g9ttQg9/EghXXZGYB2q9AC36p9iSPYUs82ajxXZQo7gValQ0ApFYSn5bagmTyqjANJGOew+nHOMEumiKrZkhDXnDH8ObB0StC73msSZ3HmPGqrlJswOh82t++nT4CEUjEpyp0UQsE0vlisioJf26KtrNT6aT3sNphymGcgwxVG2dRxSdVDPbOvQZp4DoianR6uROq8Nk7oFQoYQa1HoDGgIA43dluZw+m1IjwU1FpDShRkYtseRyymLT6LjvR7STi6FsQwydss6hq9HxckAUGVsZa33/eSUg0ljldqbHE9C+xYOa5jHEspEa4Z5ya/CbosMs87cm1HBjsZ0rwhmIxFLyzagjllxOe7gJdNJ7OO3kYijHKANxXTkJn42caw+IaudYh74SjgYIY3oPpZX5uBOFqtZ8RlsrQvb44V6AWh/ARXl72DZ31GgKhBsfkShXhN+WGtKtraIsNlWhxnjKNsTQaescut43wSVbPR85n27IAdHpL6T+z/izcDCjqTWz+MgeLLTa+2y1IhRqcCFqTMhppIY7H9EWamyRT685/GQ67juCshQgnCvigpuA6JJtAT2MWlExXxr2wmuCL4iN3f8nmtxpq49Qu1LDC5ALAbZsfxnbesu1Ih5FDZfts4R8M2rIvKqS8rkJdMJ7OO0yjad800Sq7j3PpSIuNgmI7Gn8bdsS+s22qG6h9YMX2gu+YGne/W/TeAK08Y/dUyMhJ4dt/b8tUKNtFlu7/iT1Ta6iPGkuHff+O+WYJ1KuEgWciZhL16MTHPGhc9vhglOkWB05j6jPcrpmi68aJ73zlC8LAy3T20X1sSZ31I/IQTWu26ePQo3srOYV0XaLbT92+/xw88L0Ud/iia4DSgpMX1EBN7FJQDSTflFo4i5tt99WHTmPbtsWU0PUsopx0juvGJgROOQee3LnkRZbAULZPgOBfVNY3KwinuT0mfHr78Ki/Nf8+AAYw0U8d94473K+UhUF3ATapeQhcsgcTxeVRlWdu3amkrdejlxI1Cf50iTroL+2F3zbOkHk8aiDmovFxnBPmRrxu7Lk7bPkERb7UafPX28Jyw/6ibweDNoeGqNkgYnCwI5nuDkXSpWASE7d5Qo5YZ1NV6PjleZUbLN2pgzOfKqzxdFvtkV0zRZfOVl69+n/FrycJ4g0rbhVVRsttjegOfwpXJSX29xHPMpiN6cG23ztsrBkbwfk9YBhPdVWSQQtGjRBckD0X/mmCSeaBkQ79F9QlRIh2pvaNU2qxK4r1ZHziKJWUL1tQdUc69BXA5kWtEzvYW0ExO1OA62e+uxAOCz2f5SKUEYEVpW3YLFbpoaw5cZd4ZuijmgMBAzr5cgblIBI1V7yhRk45LkKbvovRcZJVMBNoFyHhnxJx61yo8o5ZHZsuU4VczZyHv0hTxDVjJX6Px3CtGBAo1qx7s7eQ9XSQa0JNeSzhsNiJzY2eB5psd1RI/PmdWH5IX/k9YDhnvLHJFoJiM5xc0/lGeWAOV+hjNy5m+kImR0VoVSFs8DW2mLpsm0BPeyzvPxzqX+7HiwYWjOY0ObTZ5KdGnIPQ0gsc+8jmpw+HePN6dcv45L89mjWOldEs93LHhAZRCN8hv3anTbNPn7EOIWylUZVtjGGduq/pCpplqIhC1y2XHfUuWFLoH/bFlfHWt9v/5LgDQzNKsn1cNfMZzz69Kl0rXD1MeKXHSHjgr0tW2xHRZQRy7hxly3f3wENAQoQ2GowYw+ZQ0QdzMAh/3XENPX6UeMMyla6//Zmt6NR1WQepPkE0Xx6ELWcrtgW1n4VMfCpzgYdhJt4TW/JRUDBvcV2d/p0nrpLkRs35kUHiYvbI2vE0sMuFtsJiHq24qAX8gbAcK+WKqJZMCMhrzKjSd1ZDITZ7L3XDpgmVx02TqE8h4aMp50Gpfvf92uqsTWvCHmqKJbqei+kU5ZFdMe4gW6EbayYFN33hbf6h4LezKvdB8Ki4IGGAECLXsWW7jvksmvYB0WcmjX27MHyzRHilxe7VoS9s5Vx4xouznsVTSGAYZ6tAaFpIZjWiGhRdRUDYSz2b3eCm3WqwCjrh73739i5+7qZ96jrM49q2JKH1dyye/UDp/9xZdSnd+/MGky0yVz+bn8t9AoVVKLT4H/j5I7AqTCoM+DMzevYP+82UiOpjNiaE8TSrpJgn5qxt/lSKglXHZUrxdHXUMRyy43f2YqD3dEUAhjaU9MCNdr0oRwLmtRBohbG4Nsv13DzLh0wfkXZXAzt4SbSLqX7b/ch9u5/bWQs1QhL6dKQSQ2/r+TvNGT4/PFwe+cGyn+D6F89aflo/f8YzTyYeb7JQU1iKgzsAPj+GF+WeVOugORyElaWEm6s+0VYfSyezdwUL26qvcTWn5fnt911w5McI4r1bNn+bjI1PO0a8UhqtOQSJeRVOjRoTKIJxuE7Lx4wTa46bpzhMGY5ig+RR6riHSbsjDaZfpv4PlHhi9Sw1ZMebvGje6n+RNk+VDAvVOgYgNDUZwDq/VXYfwiwdecWsXXV8lVPLCOWWndWTD7yN4yIAFHnDdKX8e2EJfvOsbVn3I8FJJURy7j5G1uU/yoaApw1wqON1Gjxo11W5MGEnLqLGAjjceCzhdykC6XGqZTHyfY91ziedhi+pBO9Z9AVcTmdDU+i057pdHXE50Q/dyLK8KN7af70IN2fHm73pR/mhoxhaHbWDeWgpvMF/HgasHXV2WzVcbkyVp8kce2xkWiLAAzooELeAOj/OuD0TaPkOc2y5tTIuHmLrTjsjRYtYFhPZx+hbmOc32qK3ThB5A9T2Luvn+Zm17hMEHHjaEfQFDr9zji6+dXf6eqIz+nW3LeIfuhJ9zb7U0O6AsaWQKKfui6f8F4IeIWj2tVnMBOIOj/Aud8XstR6uTK23CApZulg0f91QGZWYcCbGozqC5hcOZCtOek6UZNUTiz9Wj1bus9hsR+TGo+TYnvwaFaFiXr4FPs9f8o0+1iRcZI8QWScSD/6zHxw9WuugQ6+LFfEDz3p3qZAatgsA3EvNZAouzOdTwzO8zK+BRahcR3yZ9TCeqqEjycDn3kjAx2TdMcJV1UV4uj5IPq/BuKAYYBvDwUWv6OIbbjgqhGZN39n3+x7FQ3+zhrRGjX+VIpt1xCtaIDPsN+zpaZp9ZXG6bQ9eDLtt37e8DDdv4G+85KpsdnPAcTdTUFEP75O9zM9yTwuvbZb9Cx1b7MfuBzURLNWzfdmwM9J+wjTf5F3jJXFxFIvEb+0MFuatiZaWnOiD0vI/RdLKW8EQdaI68KKw35uLLb6ScSyjTGkRkJeZUCjxkcMgxlsyJtFpkk1+z0XUtmwDx7Qju4PaYusEXZq3EsNItr+Ot3a4nuXH7Oa2g3fS+a+H3aVzMGAcv9FOahJTCX6dwD8YOxT0rc1v4qJR+VtdMURYt+eJrb5mjz0sf5co3AqFpsttlvs/11quAtmlKF8VQfJH2LYwOf2esZX3ZgWTVTQme6lyiA4qKEAoftk3d1nhmVT6OhNFPLhCpsg9gZJCNe4+gyRB6t/F9DHfms15ROJK0qbDKRWOowXJlcS23LjD7bsgGKxez7SYv9ZarTWRmRoVvUSwmGM8d3n6ZuIYsrq1kA5PkT/8iVKDyDK7kR3MnoRP3o1PTMsm8I+WUP+X/xIumGzJ/bmfACVeLDxxUReYw31U4UP6wvGuPUDpC3/vixsOC/rx/pzMm3WXyCWdpn4zBv72fKDvRp9BPtTPqKNPZsWv2hARF6tEzhNHysPb1kR0iaHtd8ZF8oXxYeOoZ3dvzmyMmw3m5BZ/dfheyjks43k/8V2Cvj8Owr+aG2uKfofIFlCoFkgzCJEVURAd5VkCAX2j5jnpLhdE3HztZ/Z0r0n2Lbb5bjsYCb7aOIQ86SlIEZGPooaf6b32Rbb7gJehMgDh5zGS28Gs0WALgEM+tos8MXQIPDiBkHX/nEe7O33u4WNXBmlHTYnJnjUmjTvmIL1pugP/2I1B4LzQa1xARJToWBUoc/LENFvKIiDhgMO/ABw5mZAZpK/nUDnK89FPL7F/v9GjZa+iEASLSqTYrHDjLzGOwxVFsECEZwvWC0hwHpHQoTRB0z9/g6mt94HqyX4L8rHxFuZ3LGKKmYMVGNYL0DeCBjmCcgFy4Mg8uD5/wY12pJiP8F3dJjl25hZJVrCNYg8SJYQsJoCFb3gNS1NCDe5Erz85R3MpMLGDNG1qfQkPdo/820q7ivmceZJ3E0lqf7fAErGzsy47M8fAAAAAElFTkSuQmCC\";\r\n","import { LIB_LOGO, BNB_LOGO, ETH_LOGO, } from \"./base64Images\";\r\nimport WalletFactoryTestnet from '../abis/WalletFactoryTestnet.json';\r\nimport WalletFactoryBsc from '../abis/WalletFactoryBsc.json';\r\nimport WalletFactoryEth from '../abis/WalletFactoryEth.json';\r\nimport WalletFactoryGoerli from '../abis/WalletFactoryGoerli.json';\r\nexport var FIREBASE_CONFIG = {\r\n apiKey: \"AIzaSyBykIOPWfKmDrAC6jly4p1Hl_NsaRSntFo\",\r\n authDomain: \"my-project-223a2.firebaseapp.com\",\r\n projectId: \"my-project-223a2\",\r\n storageBucket: \"my-project-223a2.appspot.com\",\r\n messagingSenderId: \"121945247533\",\r\n appId: \"1:121945247533:web:408269d255291ea70b8da4\",\r\n measurementId: \"G-2L4CPV9S32\"\r\n};\r\nexport var PROMISE_ID = {\r\n signIn: \"signIn\",\r\n getAccessToken: \"getAccessToken\",\r\n deposit: \"deposit\",\r\n downloadType: \"downloadType\",\r\n requestPayment: \"requestPayment\",\r\n creditTransfer: \"creditTransfer\"\r\n};\r\nexport var IS_TEST = false;\r\n//export const SERVER_BASE_URL_TEST = \"https://server.frontbacked.com\"//\"http://localhost:3001\"\r\n//export const SERVER_BASE_URL_LIVE = \"https://server.frontbacked.com\"\r\nexport var PRECISION = 5;\r\nexport var SDK_RETRY_INTERVAL_MINS = 0.2;\r\nexport var PRICE_FETCH_INTERVAL_MINS = 10;\r\nexport var MIN_BLOCK_CHECK_INTERVAL_SECONDS = 5;\r\nexport var MIN_REFERAAL_WITHDRAWAL = 20;\r\nexport var CHAINS_RPC_LISTS = {\r\n bnb: [\r\n \"https://bsc-dataseed.binance.org\",\r\n \"https://bsc-dataseed1.binance.org\",\r\n \"https://bsc-dataseed1.bnbchain.org\",\r\n \"https://bsc-dataseed2.bnbchain.org\",\r\n \"https://bsc-dataseed3.bnbchain.org\",\r\n \"https://bsc-dataseed4.bnbchain.org\",\r\n \"https://bsc-dataseed1.defibit.io\",\r\n \"https://bsc-dataseed2.defibit.io\",\r\n \"https://bsc-dataseed3.defibit.io\",\r\n ],\r\n bnb_testnet: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ],\r\n ethereum: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ],\r\n ethereum_testnet: [\r\n \"https://bsc-dataseed.binance.org\",\r\n ]\r\n};\r\nexport var COINS = {\r\n bnb: {\r\n coingecko_price_key: \"binancecoin\",\r\n disabled: IS_TEST,\r\n decimals: 18,\r\n requiredConfirmations: 20,\r\n priority: 1,\r\n key: \"bnb\",\r\n symbol: \"BNB\",\r\n name: \"BNB(Binance smart chain)\",\r\n depositWarning: \"Please make sure you send only BNB coin to the wallet address shown.\",\r\n secondsPerBlock: 3,\r\n logo: BNB_LOGO,\r\n abiData: WalletFactoryBsc\r\n },\r\n bnb_testnet: {\r\n coingecko_price_key: \"binancecoin\",\r\n disabled: !IS_TEST,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 1,\r\n key: \"bnb_testnet\",\r\n name: \"BNB(Binance smart chain)\",\r\n symbol: \"tBNB\",\r\n depositWarning: \"Please make sure you send only BNB coin to the wallet address shown.\",\r\n secondsPerBlock: 3,\r\n logo: BNB_LOGO,\r\n abiData: WalletFactoryTestnet\r\n },\r\n ethereum: {\r\n coingecko_price_key: \"ethereum\",\r\n disabled: true,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 2,\r\n key: \"ethereum\",\r\n symbol: \"ETH\",\r\n name: \"Ethereum(Ethereum block chain)\",\r\n depositWarning: \"Please make sure you send only Ethereum coin to the wallet address shown.\",\r\n secondsPerBlock: 12,\r\n logo: ETH_LOGO,\r\n abiData: WalletFactoryEth\r\n },\r\n ethereum_testnet: {\r\n coingecko_price_key: \"ethereum\",\r\n disabled: true,\r\n decimals: 18,\r\n requiredConfirmations: 12,\r\n priority: 2,\r\n key: \"ethereum_testnet\",\r\n symbol: \"tETH\",\r\n name: \"Ethereum(Goerli network)\",\r\n depositWarning: \"Please make sure you send only Test Ethereum coin to the wallet address shown.\",\r\n secondsPerBlock: 12,\r\n logo: ETH_LOGO,\r\n abiData: WalletFactoryGoerli\r\n }\r\n};\r\nexport var SDK_NAME = \"APP\";\r\nexport var SDK_SITE = \"https://frontbacked.com\";\r\nexport var STORE_FRAME_ID = \"\".concat(SDK_NAME, \"_storeframe\");\r\nexport var STORAGE_KEYS = {\r\n ENABLED_LOG: \"\".concat(SDK_NAME, \"_ENABLED_LOG\"),\r\n SDK_CONFIG: \"\".concat(SDK_NAME, \"_SDK_CONFIG\"),\r\n DOC_RULES: \"\".concat(SDK_NAME, \"_DOC_RULES\"),\r\n LAST_DEPOSIT_BLOCK_NUMBER: \"\".concat(SDK_NAME, \"_LAST_DEPOSIT_BLOCK_NUMBER\"),\r\n LAST_LOGIN_MILLI: \"\".concat(SDK_NAME, \"_LAST_LOGIN_MILLI\"),\r\n LAST_USD_BALANCE: \"\".concat(SDK_NAME, \"_LAST_USD_BALANCE\"),\r\n USER: \"\".concat(SDK_NAME, \"_USER\")\r\n};\r\nexport var LOGO_PATH = LIB_LOGO;\r\nexport var MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS = 300;\r\nexport var REF_PCT = 20;\r\nexport var ERROR_X = \"An error occurred. Please try again later.\";\r\n","import { __extends } from \"tslib\";\r\nvar CustomError = /** @class */ (function (_super) {\r\n __extends(CustomError, _super);\r\n function CustomError(message, code) {\r\n var _newTarget = this.constructor;\r\n var _this = _super.call(this, message) || this;\r\n _this.name = 'CustomError';\r\n _this.code = code;\r\n // Ensure the correct prototype chain\r\n Object.setPrototypeOf(_this, _newTarget.prototype);\r\n return _this;\r\n }\r\n return CustomError;\r\n}(Error));\r\nexport default CustomError;\r\n","import Web3 from \"web3\";\r\nimport theme from \"../theme\";\r\nimport { COINS, ERROR_X, STORAGE_KEYS } from \"./c\";\r\nimport CustomError from \"./CustomError\";\r\nvar Decimal = require('decimal.js');\r\nexport function isEthAddress(address) {\r\n try {\r\n return Web3.utils.toChecksumAddress(address);\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\nexport function weiToEther(bigIntValue, decimalPlaces, precision) {\r\n var bigDecimalValue = new Decimal(bigIntValue.toString());\r\n return Number(bigDecimalValue.div(new Decimal(10).pow(decimalPlaces)).toNumber().toPrecision(precision));\r\n}\r\nexport function bigIntToBigDecimal(bigIntValue) {\r\n return new Decimal(bigIntValue.toString());\r\n}\r\nexport var nullOrEmpty = function (d) {\r\n return !d || d.length == 0;\r\n};\r\nexport var isVoid = function (value) {\r\n return value === undefined || value === null;\r\n};\r\nexport var isValidEmail = function (email) {\r\n return /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(email);\r\n};\r\nexport var isValidPhone = function (phone) {\r\n return /^[\\+]?[(]?[0-9]{3}[)]?[-\\s\\.]?[0-9]{3}[-\\s\\.]?[0-9]{4,6}$/.test(phone);\r\n};\r\nexport var USE_SOFT_BAKER_RESOLVE_PREFIX = \"USE_SOFT_BAKER_RESOLVE_\";\r\nexport var USE_SOFT_BAKER_REJECT_PREFIX = \"USE_SOFT_BAKER_REJECT_\";\r\nexport var promiseResolvePending = function (promiseId) {\r\n return window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)] != undefined;\r\n};\r\nexport var promiseRejectPending = function (promiseId) {\r\n return window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)] != undefined;\r\n};\r\nexport var savePromise = function (promiseId, resolve, reject, pollInterval) {\r\n if (pollInterval === void 0) { pollInterval = 200; }\r\n window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)] = resolve;\r\n window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)] = reject;\r\n};\r\nexport var resolvePromise = function (promiseId, data) {\r\n if (window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)]) {\r\n window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)](data);\r\n delete window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)];\r\n delete window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)];\r\n }\r\n};\r\nexport var rejectPromise = function (promiseId, error) {\r\n if (window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)]) {\r\n window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)](error);\r\n delete window[\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX).concat(promiseId)];\r\n delete window[\"\".concat(USE_SOFT_BAKER_REJECT_PREFIX).concat(promiseId)];\r\n }\r\n};\r\nexport var updateLogSettings = function (enableLog) {\r\n if (enableLog) {\r\n localStorage.setItem(STORAGE_KEYS.ENABLED_LOG, \"true\");\r\n }\r\n else {\r\n localStorage.setItem(STORAGE_KEYS.ENABLED_LOG, \"false\");\r\n }\r\n};\r\nexport var consoleLog = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n // Check if the environment is not Windows\r\n if (typeof window === 'undefined') {\r\n console.log.apply(console, args);\r\n return;\r\n }\r\n // Check if logging has been disabled\r\n var isEnabled = localStorage.getItem(STORAGE_KEYS.ENABLED_LOG) === \"true\";\r\n // If not disabled and not in a Windows environment, call the normal console.log\r\n if (isEnabled) {\r\n console.log.apply(console, args);\r\n }\r\n};\r\nexport var whatsappLink = function (phoneNumber, message, isWeb) {\r\n if (message) {\r\n //message = `?text=${message.replaceAll(\"\\n\", \"%0A\")}`.replaceAll(\" \", \"%20\")/*\r\n try {\r\n message = \"\".concat(message.replace(/\\n/g, \"%0A\")).replace(/[ ]/g, \"%20\");\r\n }\r\n catch (e) { }\r\n }\r\n return isWeb ? \"https://web.whatsapp.com/send/?phone=\".concat(phoneNumber || \"\", \"&text=\").concat(message || \"\", \"&type=phone_number&app_absent=0\")\r\n :\r\n \"https://wa.me/\".concat(phoneNumber || \"\", \"?text=\").concat(message || \"\");\r\n};\r\nexport var getDefaultCoin = function () {\r\n var defaultCoin = \"bnb\";\r\n var lastPriority = -1;\r\n for (var _i = 0, _a = Object.keys(COINS); _i < _a.length; _i++) {\r\n var coin = _a[_i];\r\n if (!COINS[coin].disabled && (lastPriority < 0 || COINS[coin].priority < lastPriority)) {\r\n defaultCoin = coin;\r\n lastPriority = COINS[coin].priority;\r\n }\r\n }\r\n return defaultCoin;\r\n};\r\nexport var downloadSvgAsImage = function (svgString, format, fileName) {\r\n if (format === void 0) { format = 'png'; }\r\n if (fileName === void 0) { fileName = 'downloadedImage'; }\r\n return new Promise(function (resolve, reject) {\r\n var svgBlob = new Blob([svgString], { type: 'image/svg+xml' });\r\n var svgUrl = URL.createObjectURL(svgBlob);\r\n var img = new Image();\r\n img.onload = function () {\r\n var canvas = document.createElement('canvas');\r\n canvas.width = img.width;\r\n canvas.height = img.height;\r\n var context = canvas.getContext('2d');\r\n if (context) {\r\n context.drawImage(img, 0, 0);\r\n var dataUrl = canvas.toDataURL(\"image/\".concat(format));\r\n var imageBlob = dataURLToBlob(dataUrl);\r\n if (isiPhone()) {\r\n // Workaround for iPhone browsers\r\n var binaryData = [imageBlob];\r\n var iphoneBlob = new Blob(binaryData, { type: \"image/\".concat(format) });\r\n var iphoneUrl = URL.createObjectURL(iphoneBlob);\r\n var downloadLink = document.createElement('a');\r\n downloadLink.href = iphoneUrl;\r\n downloadLink.download = \"\".concat(fileName, \".\").concat(format);\r\n downloadLink.click();\r\n URL.revokeObjectURL(iphoneUrl);\r\n resolve(iphoneUrl);\r\n }\r\n else {\r\n // For other browsers\r\n var downloadLink = document.createElement('a');\r\n downloadLink.href = dataUrl;\r\n downloadLink.download = \"\".concat(fileName, \".\").concat(format);\r\n downloadLink.click();\r\n resolve(dataUrl);\r\n }\r\n }\r\n else {\r\n reject(new Error(\"Unsupported Browser. Please try to download from another browser.\"));\r\n }\r\n };\r\n img.src = svgUrl;\r\n });\r\n};\r\nfunction dataURLToBlob(dataURL) {\r\n var arr = dataURL.split(',');\r\n var mime = arr[0].match(/:(.*?);/)[1];\r\n var bstr = atob(arr[1]);\r\n var n = bstr.length;\r\n var u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new Blob([u8arr], { type: mime });\r\n}\r\nfunction isiPhone() {\r\n return /iPhone/i.test(navigator.userAgent);\r\n}\r\nexport function extractNumberFromString(text) {\r\n if (!text)\r\n return null;\r\n text = \"\".concat(text);\r\n // Define a regular expression to match numbers with decimals and optional commas as thousands separators\r\n var numberRegex = /\\D+/g;\r\n var numParts = text.split(\".\");\r\n var mantissa = numParts[0].replace(numberRegex, '');\r\n var decimals = numParts.length > 1 ? numParts[1].replace(numberRegex, '') : null;\r\n if (mantissa && mantissa.length > 0) {\r\n var result = mantissa;\r\n if (decimals)\r\n result += \".\".concat(decimals);\r\n return Number(result);\r\n }\r\n return null;\r\n}\r\nexport var getColor = function (isDarkMode, colorName) {\r\n var color = theme[colorName];\r\n if (color) {\r\n return isDarkMode === true ? color.dark : color.light;\r\n }\r\n else {\r\n return \"\";\r\n }\r\n};\r\nexport var decimalsText = function (d) {\r\n // Check if the input is a non-negative integer\r\n if (Number.isInteger(d) && d >= 0) {\r\n // Use string concatenation to create the string representation\r\n return '1' + '0'.repeat(d);\r\n }\r\n else {\r\n // Handle invalid input, you might want to throw an error or handle it differently\r\n throw new Error('Input must be a non-negative integer.');\r\n }\r\n};\r\nexport var getError = function (error, defaultMessage) {\r\n var _a, _b;\r\n var message = defaultMessage, code = \"none\";\r\n if (error.response) {\r\n // The request was made and the server responded with a status code\r\n // that falls out of the range of 2xx\r\n message = ((_b = (_a = error.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.error) || defaultMessage || ERROR_X;\r\n code = error.response.data.code || \"none\";\r\n }\r\n else if (error.request) {\r\n // The request was made but no response was received\r\n message = \"No response received from the server. Try again later\";\r\n }\r\n else if (error.message) {\r\n // Something happened in setting up the request that triggered an Error\r\n message = error.message;\r\n }\r\n return message ? new CustomError(message, code) : null;\r\n};\r\nexport var emptyNumber = function (n) {\r\n return isNaN(n) || n == 0;\r\n};\r\nexport var amountFormatDefault = function (v, minFD, maxFD, noZeroDecimals) {\r\n if (isNaN(v))\r\n return \"0.00\";\r\n var resolvedMaxFD = maxFD !== null && maxFD !== void 0 ? maxFD : 2;\r\n var resolvedMinFD = noZeroDecimals ? 0 : (minFD !== null && minFD !== void 0 ? minFD : 2);\r\n var factor = Math.pow(10, resolvedMaxFD);\r\n var roundedValue = Math.floor(v * factor) / factor;\r\n // Format first\r\n var formatted = roundedValue.toLocaleString(\"en\", {\r\n minimumFractionDigits: resolvedMinFD,\r\n maximumFractionDigits: resolvedMaxFD\r\n });\r\n // Remove trailing `.0`, `.00`, etc. if noZeroDecimals is true\r\n if (noZeroDecimals) {\r\n if (formatted.includes('.')) {\r\n // Remove only if all decimal digits are zero\r\n var _a = formatted.split('.'), intPart = _a[0], decimalPart = _a[1];\r\n if (/^0+$/.test(decimalPart)) {\r\n formatted = intPart;\r\n }\r\n }\r\n }\r\n return formatted;\r\n};\r\nexport var isBrowser = function () {\r\n return typeof window !== \"undefined\";\r\n};\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, HStack, Drawer, DrawerBody, DrawerContent, DrawerFooter, DrawerHeader, DrawerOverlay, Text } from \"@chakra-ui/react\";\r\nimport { FaTimes } from \"react-icons/fa\";\r\nimport { isVoid } from '../../../utils/f';\r\nvar DrawerPop = function (_a) {\r\n var bg = _a.bg, color = _a.color, children = _a.children, placement = _a.placement, onClose = _a.onClose, isOpen = _a.isOpen, isClosable = _a.isClosable, closeOnOverlayClick = _a.closeOnOverlayClick, title = _a.title, footer = _a.footer, hideModeSwitch = _a.hideModeSwitch, h = _a.h, height = _a.height, maxH = _a.maxH, maxHeight = _a.maxHeight, w = _a.w, width = _a.width, maxW = _a.maxW, maxWidth = _a.maxWidth, props = __rest(_a, [\"bg\", \"color\", \"children\", \"placement\", \"onClose\", \"isOpen\", \"isClosable\", \"closeOnOverlayClick\", \"title\", \"footer\", \"hideModeSwitch\", \"h\", \"height\", \"maxH\", \"maxHeight\", \"w\", \"width\", \"maxW\", \"maxWidth\"]);\r\n var _b = useState(), height2 = _b[0], setHeight = _b[1];\r\n var _c = useState(), width2 = _c[0], setWidth = _c[1];\r\n var _d = useState({}), borderTopLeftRadius = _d[0], setBorderTopLeftRadius = _d[1];\r\n var _e = useState({}), borderTopRightRadius = _e[0], setBorderTopRightRadius = _e[1];\r\n var _f = useState({}), borderBottomLeftRadius = _f[0], setBorderBottomLeftRadius = _f[1];\r\n var _g = useState({}), borderBottomRightRadius = _g[0], setBorderBottomRightRadius = _g[1];\r\n useEffect(function () {\r\n if (placement === \"left\") {\r\n setBorderTopLeftRadius(\"0px\");\r\n setBorderTopRightRadius(\"32px\");\r\n setBorderBottomLeftRadius(\"0px\");\r\n setBorderBottomRightRadius(\"32px\");\r\n setHeight(height || h);\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"right\") {\r\n setBorderTopLeftRadius(\"32px\");\r\n setBorderTopRightRadius(\"0px\");\r\n setBorderBottomLeftRadius(\"32px\");\r\n setBorderBottomRightRadius(\"0px\");\r\n setHeight(height || h);\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"top\") {\r\n setBorderTopLeftRadius(\"0px\");\r\n setBorderTopRightRadius(\"0px\");\r\n setBorderBottomLeftRadius(\"32px\");\r\n setBorderBottomRightRadius(\"32px\");\r\n setHeight(height || h || \"50vh\");\r\n setWidth(width || w);\r\n }\r\n else if (placement === \"bottom\") {\r\n setBorderTopLeftRadius(\"32px\");\r\n setBorderTopRightRadius(\"32px\");\r\n setBorderBottomLeftRadius(\"0px\");\r\n setBorderBottomRightRadius(\"0px\");\r\n setHeight(height || h || \"60vh\");\r\n setWidth(width || w);\r\n }\r\n }, [placement, height, width]);\r\n // Prevent the default behavior of the browser's back button only when the drawer is open\r\n useEffect(function () {\r\n var handleBackButton = function (event) {\r\n event.preventDefault();\r\n if (isOpen && onClose) {\r\n onClose();\r\n }\r\n };\r\n window.addEventListener('popstate', handleBackButton);\r\n return function () {\r\n window.removeEventListener('popstate', handleBackButton);\r\n };\r\n }, []);\r\n return (React.createElement(Drawer, { placement: placement, onClose: onClose ? onClose : function () { }, isOpen: isOpen, closeOnOverlayClick: isVoid(closeOnOverlayClick) ? true : closeOnOverlayClick },\r\n React.createElement(DrawerOverlay, null),\r\n React.createElement(DrawerContent, __assign({ bg: bg, color: color, h: height2, w: width2, maxH: maxH || maxHeight || height2, maxW: maxW || maxWidth || width2, borderTopLeftRadius: borderTopLeftRadius, borderTopRightRadius: borderTopRightRadius, borderBottomLeftRadius: borderBottomLeftRadius, borderBottomRightRadius: borderBottomRightRadius }, props),\r\n React.createElement(DrawerHeader, { borderBottomWidth: '1px', w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"1.1rem\", md: \"1.3rem\" }, textTransform: \"capitalize\" }, title),\r\n React.createElement(HStack, null, onClose && (isClosable || isClosable === undefined) ?\r\n React.createElement(Box, { onClick: onClose, cursor: \"pointer\", display: \"block\" },\r\n React.createElement(FaTimes, { size: \"24px\" }))\r\n :\r\n null)),\r\n React.createElement(DrawerBody, __assign({}, props), children),\r\n footer ?\r\n React.createElement(DrawerFooter, null, footer)\r\n : null)));\r\n};\r\nexport default DrawerPop;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { Box, Button, HStack, Text } from \"@chakra-ui/react\";\r\nimport { ThreeDots } from \"react-loader-spinner\";\r\nvar AppButton = function (_a) {\r\n var as = _a.as, onClick = _a.onClick, children = _a.children, variant = _a.variant, bgColor = _a.bgColor, outlineColor = _a.outlineColor, leftIcon = _a.leftIcon, rightIcon = _a.rightIcon, loading = _a.loading, disabled = _a.disabled, props = __rest(_a, [\"as\", \"onClick\", \"children\", \"variant\", \"bgColor\", \"outlineColor\", \"leftIcon\", \"rightIcon\", \"loading\", \"disabled\"]);\r\n var bg = \"green.500\"; //bgColor || useColorModeValue('colorAccent.light', 'colorAccent.dark')\r\n var outline = \"green.500\"; //outlineColor || useColorModeValue(\"colorAccentDestination.light\", \"colorAccentDestination.dark\")\r\n return (React.createElement(Button, __assign({ as: as || \"button\", cursor: disabled ? \"not-allowed\" : loading ? \"progress\" : \"pointer\", disabled: disabled || loading, onClick: function (e) {\r\n if (onClick && !(disabled || loading))\r\n onClick(e);\r\n }, display: \"inline-flex\", justifyContent: \"center\", alignItems: \"center\", p: \"0px 24px\", h: \"48px\", letterSpacing: \"0.03em\", textAlign: \"center\", borderRadius: \"16px\", bg: variant == \"outline\" ? \"transparent\" : bg, border: variant == \"outline\" ? \"2px solid\" : \"none\", borderColor: variant == \"outline\" ? outline : \"transparent\", color: variant == \"outline\" ? outline : \"#fff\", boxShadow: (variant == \"ghost\" || variant == \"outline\") ? \"none\" : \"rgb(14 14 44 / 40%) 0px -1px 0px 0px inset\", opacity: disabled || loading ? \"0.65\" : variant == \"ghost\" ? \"0.8\" : \"1\", transition: \"background-color 0.2s ease 0s, opacity 0.2s ease 0s\", _hover: {\r\n opacity: \"0.65\",\r\n border: \"none !important\"\r\n }, _disabled: {\r\n opacity: \"0.65\",\r\n cursor: \"not-allowed\"\r\n } }, props),\r\n React.createElement(HStack, { justifyContent: \"center\", alignItems: \"center\" },\r\n leftIcon ? React.createElement(Box, { mr: \"7px\" }, leftIcon) : null,\r\n React.createElement(Text, { as: \"div\" }, children),\r\n loading ?\r\n React.createElement(Box, { as: ThreeDots, display: \"inline\", width: \"20%\", height: \"20%\", color: \"#fff\" })\r\n :\r\n rightIcon ? React.createElement(Box, { ml: \"7px\" }, rightIcon) : null)));\r\n};\r\nexport default AppButton;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { FaInfoCircle } from \"react-icons/fa\";\r\nimport { Box, HStack, Text } from \"@chakra-ui/react\";\r\nimport Swal from 'sweetalert2';\r\nvar InfoLabel = function (_a) {\r\n var children = _a.children, as = _a.as, info = _a.info, textTransform = _a.textTransform, props = __rest(_a, [\"children\", \"as\", \"info\", \"textTransform\"]);\r\n var onInfo = function (i) {\r\n Swal.fire({\r\n icon: \"info\",\r\n title: children || \"\",\r\n text: i,\r\n confirmButtonText: \"Ok\",\r\n showCancelButton: false\r\n });\r\n };\r\n return (React.createElement(HStack, __assign({ flexWrap: \"wrap\", justifyContent: \"flex-start\", alignItems: \"center\" }, props),\r\n React.createElement(Text, { mx: \"0px !important\", mb: \"0px !important\", as: as || \"div\", textTransform: textTransform || \"capitalize\" }, children),\r\n !info ? null :\r\n React.createElement(Box, { cursor: \"pointer\", marginInlineStart: \"0px !important\", marginInlineEnd: \"0px !important\", p: \"3px\", onClick: function () { return onInfo(info); } },\r\n React.createElement(FaInfoCircle, null))));\r\n};\r\nexport default InfoLabel;\r\n","export var arraysEqual = function (array1, array2) {\r\n // if the other array is a falsy value, return\r\n if (!array1 || !array2 || array1.length != array2.length)\r\n return false;\r\n // if the argument is the same array, we can be sure the contents are same as well\r\n if (array1 === array2)\r\n return true;\r\n for (var i = 0, l = array1.length; i < l; i++) {\r\n // Check if we have nested arrays\r\n if (array1[i] instanceof Array && array2[i] instanceof Array) {\r\n // recurse into the nested arrays\r\n if (!arraysEqual(array1[i], array2[i]))\r\n return false;\r\n }\r\n else if (array1[i] != array2[i]) {\r\n // Warning - two different object instances will never be equal: {x:20} != {x:20}\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n","import { __assign, __rest, __spreadArray } from \"tslib\";\r\nimport React, { useCallback, useMemo } from 'react';\r\nimport { HStack, FormControl, FormLabel, Input, FormErrorMessage, FormHelperText, Text, Select, InputGroup, InputLeftElement, InputRightElement, Box, Textarea, Checkbox, RadioGroup, Stack, Radio, Flex, VStack } from '@chakra-ui/react';\r\nimport { nullOrEmpty } from \"../../../utils/f\";\r\n//import 'react-phone-number-input/style.css'\r\nimport PhoneInput, { parsePhoneNumber } from 'react-phone-number-input';\r\nimport { useEffect, useState } from 'react';\r\nimport { FaEye, FaEyeSlash, FaMinus, FaPlus } from 'react-icons/fa';\r\nimport InfoLabel from '../InfoLabel';\r\n//import LocationPicker from '../LocationPicker';\r\nimport { arraysEqual } from './utils';\r\n//import SelectTree, { SelectTreeEvent, SelectTreeOptionWithChildren } from './inputs/SelectTree';\r\nvar countryCodes = require('country-codes-list');\r\nexport var TYPES = {\r\n text: \"text\",\r\n email: \"email\",\r\n number: \"number\",\r\n range: \"range\",\r\n date: \"date\",\r\n phone: \"phone\",\r\n password: \"password\",\r\n select: \"select\",\r\n select_tree: \"select_tree\",\r\n textarea: \"textarea\",\r\n checkbox: \"checkbox\",\r\n checklist: \"checklist\",\r\n radio: \"radio\",\r\n none: \"none\",\r\n location: \"location\",\r\n price: \"price\"\r\n};\r\nfunction extractNumberFromString(text) {\r\n if (!text)\r\n return null;\r\n text = \"\".concat(text);\r\n // Define a regular expression to match numbers with decimals and optional commas as thousands separators\r\n var numberRegex = /\\D+/g;\r\n var numParts = text.split(\".\");\r\n var mantissa = numParts[0].replace(numberRegex, '');\r\n var decimals = numParts.length > 1 ? numParts[1].replace(numberRegex, '') : null;\r\n if (mantissa && mantissa.length > 0) {\r\n var result = mantissa;\r\n if (decimals)\r\n result += \".\".concat(decimals);\r\n return Number(result);\r\n }\r\n return null;\r\n}\r\nvar InputBox = function (_a) {\r\n var id = _a.id, key = _a.key, title = _a.title, name = _a.name, type = _a.type, locale = _a.locale, value = _a.value, onChange = _a.onChange, onFocus = _a.onFocus, onCheckInfo = _a.onCheckInfo, onKeyDown = _a.onKeyDown, errorMessage = _a.errorMessage, helperText = _a.helperText, info = _a.info, placeholder = _a.placeholder, textTransform = _a.textTransform, options = _a.options, onOptionValue = _a.onOptionValue, onOptionName = _a.onOptionName, defaultCountry = _a.defaultCountry, phoneSelectBg = _a.phoneSelectBg, phoneSelectColor = _a.phoneSelectColor, _b = _a.numberDecimals, numberDecimals = _b === void 0 ? 2 : _b, hasNegOverflow = _a.hasNegOverflow, numberUnit = _a.numberUnit, rangeMinPlaceholder = _a.rangeMinPlaceholder, minTitle = _a.minTitle, rangeMaxPlaceholder = _a.rangeMaxPlaceholder, maxTitle = _a.maxTitle, disabled = _a.disabled, maxTextLimit = _a.maxTextLimit, direction = _a.direction, resize = _a.resize, disableCalendar = _a.disableCalendar, disableClock = _a.disableClock, dateFormat = _a.dateFormat, iconLeft = _a.iconLeft, iconRight = _a.iconRight, apiKey = _a.apiKey, mapToSearchRatio = _a.mapToSearchRatio, twoDigitCountryCode = _a.twoDigitCountryCode, inputRef = _a.inputRef, defaultLatlng = _a.defaultLatlng, geotype = _a.geotype, props = __rest(_a, [\"id\", \"key\", \"title\", \"name\", \"type\", \"locale\", \"value\", \"onChange\", \"onFocus\", \"onCheckInfo\", \"onKeyDown\", \"errorMessage\", \"helperText\", \"info\", \"placeholder\", \"textTransform\", \"options\", \"onOptionValue\", \"onOptionName\", \"defaultCountry\", \"phoneSelectBg\", \"phoneSelectColor\", \"numberDecimals\", \"hasNegOverflow\", \"numberUnit\", \"rangeMinPlaceholder\", \"minTitle\", \"rangeMaxPlaceholder\", \"maxTitle\", \"disabled\", \"maxTextLimit\", \"direction\", \"resize\", \"disableCalendar\", \"disableClock\", \"dateFormat\", \"iconLeft\", \"iconRight\", \"apiKey\", \"mapToSearchRatio\", \"twoDigitCountryCode\", \"inputRef\", \"defaultLatlng\", \"geotype\"]);\r\n var _c = useState(), showPassword = _c[0], setShowPassword = _c[1];\r\n var _d = useState([]), decimalsSet = _d[0], setDecimalsSet = _d[1];\r\n var parseNum = function (value) {\r\n var num = extractNumberFromString(value);\r\n if (num) {\r\n return num;\r\n }\r\n else {\r\n return 0;\r\n }\r\n };\r\n useEffect(function () {\r\n if (type == TYPES.number && value && title && !decimalsSet.includes(title)) {\r\n setDecimalsSet(__spreadArray(__spreadArray([], decimalsSet, true), [title], false));\r\n var v = parseNum(value);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n }\r\n }, [value, name]);\r\n var changeNumber = function (e) {\r\n var value = e.target.value;\r\n console.log(\"changeNumber:\", value);\r\n var v = parseNum(value);\r\n console.log(\"changeNumber:2\", v);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n };\r\n var increaseNumber = function () {\r\n var numberSteps = (1 / Math.pow(10, numberDecimals || 0));\r\n var v = (parseNum(value) + numberSteps);\r\n if (!disabled && onChange) {\r\n onChange(v);\r\n }\r\n };\r\n var decreaseNumber = function () {\r\n var numberSteps = (1 / Math.pow(10, numberDecimals || 0));\r\n var result = parseNum(value) - numberSteps;\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = result;\r\n if (!disabled && onChange)\r\n onChange(v);\r\n };\r\n var updateRangeValue = useCallback(function (min, max) {\r\n if (!isNaN(min)) {\r\n var result = parseFloat(\"\".concat(min));\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = { min: result, max: (value === null || value === void 0 ? void 0 : value.max) || 0 };\r\n if (!disabled && onChange)\r\n onChange(v);\r\n }\r\n else if (!isNaN(max)) {\r\n var result = parseFloat(\"\".concat(max));\r\n if (result < 0 && !hasNegOverflow)\r\n result = 0;\r\n var v = { min: (value === null || value === void 0 ? void 0 : value.min) || 0, max: result };\r\n if (!disabled && onChange)\r\n onChange(v);\r\n }\r\n }, [hasNegOverflow, disabled]);\r\n var _e = useState({}), countryCodesMap = _e[0], setCountryCodesMap = _e[1];\r\n useEffect(function () {\r\n if (type == TYPES.phone) {\r\n var countruesToCurrency = countryCodes.customList('countryCode', '{currencyCode}');\r\n setCountryCodesMap(countruesToCurrency);\r\n }\r\n }, [type]);\r\n var _f = useState([]), checklist = _f[0], setChecklist = _f[1];\r\n useEffect(function () {\r\n if (Array.isArray(options) && checklist.length == 0) {\r\n setChecklist(options);\r\n }\r\n }, [options, value]);\r\n var _g = useState(false), searchActive = _g[0], setSearchActive = _g[1];\r\n var handleInputCheck = useCallback(function (getLatestValue, onValueIsLatest, checker, waitTime) {\r\n if (checker) {\r\n if (!searchActive) {\r\n setSearchActive(true);\r\n setTimeout(function () {\r\n var check = function () {\r\n var checkedValue = getLatestValue();\r\n checker(checkedValue)\r\n .then(function () {\r\n //If the input has changed after the check was done, check the new input\r\n if (!onValueIsLatest(checkedValue)) {\r\n check();\r\n }\r\n else {\r\n setSearchActive(false);\r\n }\r\n })\r\n .catch(function (e) {\r\n setSearchActive(false);\r\n });\r\n };\r\n check();\r\n }, waitTime || 0);\r\n }\r\n }\r\n }, [searchActive]);\r\n var memoizedOptions = useMemo(function () {\r\n // Compute and memoize the options array here\r\n return (options || []).map(function (v, i) {\r\n if (onOptionValue && onOptionName) {\r\n return React.createElement(\"option\", { key: i, value: onOptionValue(v, i) }, onOptionName(v, i));\r\n }\r\n else {\r\n return null;\r\n }\r\n });\r\n }, [options, onOptionValue, onOptionName]);\r\n return (React.createElement(FormControl, __assign({ isInvalid: !nullOrEmpty(errorMessage) && type != TYPES.location, opacity: disabled ? \"0.3\" : \"1\" }, props),\r\n !title || type == TYPES.checkbox ? null :\r\n nullOrEmpty(info) ?\r\n React.createElement(FormLabel, { textTransform: textTransform || \"capitalize\" }, title)\r\n :\r\n React.createElement(InfoLabel, { as: FormLabel, info: info, textTransform: textTransform || \"capitalize\" }, title),\r\n type == TYPES.date ?\r\n null\r\n :\r\n type == TYPES.select ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Select, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, value: value, placeholder: placeholder || \"\", onChange: function (e) {\r\n if (!disabled && onChange)\r\n onChange(e.target.value);\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }, memoizedOptions),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null)\r\n :\r\n type == TYPES.phone ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, as: PhoneInput, defaultCountry: defaultCountry || \"US\", background: \"transparent !important\", _focusVisible: {\r\n outline: \"none !important\",\r\n border: \"none !important\"\r\n }, placeholder: placeholder || \"\", value: value === null || value === void 0 ? void 0 : value.number, onKeyDown: onKeyDown, onChange: function (v) {\r\n var getNumberInfo = function () {\r\n var codes = parsePhoneNumber(\"\".concat(v));\r\n return {\r\n number: \"\".concat(v),\r\n countryCode: codes === null || codes === void 0 ? void 0 : codes.country,\r\n currencyCode: (codes === null || codes === void 0 ? void 0 : codes.country) ? countryCodesMap[(codes === null || codes === void 0 ? void 0 : codes.country) || \"\"] : null,\r\n dialingCode: codes === null || codes === void 0 ? void 0 : codes.countryCallingCode,\r\n };\r\n };\r\n var inflatedValue = getNumberInfo();\r\n if (!disabled && onChange) {\r\n onChange(inflatedValue);\r\n }\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(getNumberInfo()), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(getNumberInfo, function (checkedValue) {\r\n return checkedValue.number === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n var getNumberInfo = function () {\r\n var codes = parsePhoneNumber(\"\".concat(v));\r\n return {\r\n number: \"\".concat(v),\r\n countryCode: codes === null || codes === void 0 ? void 0 : codes.country,\r\n currencyCode: (codes === null || codes === void 0 ? void 0 : codes.country) ? countryCodesMap[(codes === null || codes === void 0 ? void 0 : codes.country) || \"\"] : null,\r\n dialingCode: codes === null || codes === void 0 ? void 0 : codes.countryCallingCode,\r\n };\r\n };\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(getNumberInfo, function (checkedValue) {\r\n return checkedValue.number === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }),\r\n React.createElement(\"style\", null, \"\\n .PhoneInputCountrySelect {\\n background: \".concat(phoneSelectBg || \"#000\", \" !important;\\n color: \").concat(phoneSelectColor || \"#fff\", \"\\n }\\n .PhoneInputInput {\\n background: transparent !important;\\n border-radius: 3px !important;\\n }\")),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null)\r\n :\r\n type == TYPES.password ?\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { cursor: \"pointer\", children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: showPassword ? \"text\" : \"password\", placeholder: placeholder || \"\", value: value, onKeyDown: onKeyDown, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v.target.value);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.5rem\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: function () {\r\n setShowPassword(!showPassword);\r\n } }, !showPassword ?\r\n React.createElement(FaEyeSlash, null)\r\n :\r\n React.createElement(FaEye, null))) }))\r\n :\r\n type == TYPES.number ?\r\n React.createElement(InputGroup, null,\r\n React.createElement(InputLeftElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Box, { cursor: \"pointer\", onClick: decreaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaMinus, null)),\r\n iconLeft) }),\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: \"text\", placeholder: placeholder || \"\", value: parseNum(\"\".concat(value)).toLocaleString(locale, {\r\n minimumFractionDigits: numberDecimals,\r\n maximumFractionDigits: numberDecimals\r\n }), onKeyDown: onKeyDown, onChange: function (v) {\r\n changeNumber(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n typeof numberUnit === \"string\" ?\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\" }, numberUnit)\r\n :\r\n numberUnit,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: increaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaPlus, null))) }))\r\n :\r\n type == TYPES.range ?\r\n React.createElement(HStack, { ref: inputRef, justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(InputBox, { id: id, key: key, onFocus: onFocus, title: minTitle, w: \"100%\", type: TYPES.number, placeholder: rangeMinPlaceholder, value: (value === null || value === void 0 ? void 0 : value.min) || 0, onChange: function (number) {\r\n updateRangeValue(number, \"\");\r\n }, numberUnit: numberUnit }),\r\n React.createElement(Text, { as: \"div\", alignSelf: \"flex-end\", pb: \"0.5rem\" }, \" ~ \"),\r\n React.createElement(InputBox, { id: id ? \"\".concat(id, \"_2\") : undefined, key: key ? \"\".concat(key, \"_2\") : undefined, onFocus: onFocus, title: maxTitle, w: \"100%\", type: TYPES.number, placeholder: rangeMinPlaceholder, value: (value === null || value === void 0 ? void 0 : value.max) || 0, onChange: function (number) {\r\n updateRangeValue(\"\", number);\r\n }, numberUnit: numberUnit }))\r\n :\r\n type == TYPES.textarea ?\r\n React.createElement(InputGroup, { w: \"100%\", h: \"100%\" },\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconRight }) : null,\r\n React.createElement(Textarea, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, w: \"100%\", h: \"100%\", placeholder: placeholder, isDisabled: disabled, isInvalid: (errorMessage && errorMessage.length > 0) ? true : false, value: value, resize: resize, onKeyDown: onKeyDown, onChange: function (v) {\r\n if (onChange && !disabled && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n onChange(v.target.value);\r\n }\r\n if (!disabled && onCheckInfo && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo && (!maxTextLimit || isNaN(maxTextLimit) || v.target.value.length < maxTextLimit)) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }),\r\n maxTextLimit ?\r\n React.createElement(InputRightElement, { width: \"auto\", height: \"100%\", alignItems: \"flex-end\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n React.createElement(Text, { as: \"div\", opacity: \"0.4\" },\r\n ((value || \"\").length).toLocaleString(locale || \"en\", { maximumFractionDigits: 0 }).replace(new RegExp(\"[,\\.]*\", \"g\"), \"\"),\r\n \"\\u00A0/\\u00A0\",\r\n maxTextLimit.toLocaleString(locale || \"en\", { maximumFractionDigits: 0 }).replace(new RegExp(\"[,\\.]*\", \"g\"), \"\"))) })\r\n :\r\n iconRight ? React.createElement(InputRightElement, { height: \"100%\", alignItems: \"flex-end\", children: iconRight }) : null)\r\n :\r\n type == TYPES.checkbox ?\r\n React.createElement(Checkbox, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, isChecked: value, onChange: function (e) {\r\n if (!disabled && onChange)\r\n onChange(e.target.checked);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(e.target.checked), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return e.target.checked; }, function (checkedValue) {\r\n return checkedValue === e.target.checked;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (e) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(e.target.checked), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return e.target.checked; }, function (checkedValue) {\r\n return checkedValue === e.target.checked;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }, title)\r\n :\r\n type == TYPES.checklist ?\r\n React.createElement(Flex, { w: \"100%\", flexDirection: \"row\", flexWrap: \"wrap\" }, checklist.map(function (check, index) { return (React.createElement(Checkbox, { id: id ? \"\".concat(id, \"_\").concat(index) : \"\".concat(index), key: key ? \"\".concat(key, \"_\").concat(index) : index, onFocus: onFocus, disabled: disabled, ref: inputRef, w: { base: \"100%\", sm: \"50%\", md: \"33.33%\" }, mb: \"0.5rem\", isChecked: check.selected, onChange: function (e) {\r\n var all = __spreadArray([], checklist, true);\r\n all[index].selected = e.target.checked;\r\n if (!disabled && onChange) {\r\n var onlySelected = [];\r\n for (var _i = 0, all_1 = all; _i < all_1.length; _i++) {\r\n var selectedService = all_1[_i];\r\n if (selectedService.selected) {\r\n onlySelected.push(selectedService);\r\n }\r\n }\r\n setChecklist(all);\r\n onChange(onlySelected);\r\n }\r\n else {\r\n setChecklist(all);\r\n }\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(all), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return all; }, function (checkedValue) {\r\n return arraysEqual(checkedValue, all);\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (e) {\r\n var all = __spreadArray([], checklist, true);\r\n all[index].selected = e.target.checked;\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(all), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return all; }, function (checkedValue) {\r\n return arraysEqual(checkedValue, all);\r\n }, checker, waitTime);\r\n }\r\n }\r\n } }, onOptionName ? onOptionName(check, index) : \"\")); }))\r\n :\r\n type == TYPES.radio ?\r\n React.createElement(RadioGroup, { id: id, key: key, onFocus: onFocus, ref: inputRef, value: value, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return v; }, function (checkedValue) {\r\n return checkedValue === v;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return v; }, function (checkedValue) {\r\n return checkedValue === v;\r\n }, checker, waitTime);\r\n }\r\n }\r\n } },\r\n React.createElement(Stack, { direction: direction || \"row\" }, (options || []).map(function (v, i) {\r\n if (onOptionValue && onOptionName) {\r\n return (React.createElement(Radio, { disabled: disabled, key: i, value: onOptionValue(v, i) }, onOptionName(v, i)));\r\n }\r\n else {\r\n return null;\r\n }\r\n })))\r\n : /*\r\n type == TYPES.location?\r\n <LocationPicker disabled={disabled} ref={inputRef} w=\"100%\" h=\"100%\"\r\n apiKey={apiKey || \"\"} defaultLatlng={defaultLatlng} geotype={geotype}\r\n mapToSearchRatio={mapToSearchRatio}\r\n twoDigitCountryCode={twoDigitCountryCode}\r\n searchPlaceholder={placeholder as string}\r\n value={value? {\r\n name: value.name,\r\n formatted_address: value.address,\r\n geometry: {\r\n location: {lat: () => value.position.lat, lng: () => value.position.lng},\r\n viewport: {}\r\n }\r\n } : null}\r\n onChange={(l) => {\r\n const v = {\r\n name: l.name,\r\n address: l.formatted_address,\r\n position: {\r\n lat: l.geometry.location.lat(),\r\n lng: l.geometry.location.lng()\r\n }\r\n }\r\n if(!disabled && onChange) {\r\n onChange(v)\r\n }\r\n if(!disabled && onCheckInfo) {\r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar,\r\n // or saving an article on a server as the user types\r\n if(waitTime > 0) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n \r\n }}\r\n onBlur={(l) => {\r\n if(!disabled && onCheckInfo) {\r\n const v = {\r\n name: l.name,\r\n address: l.formatted_address,\r\n position: {\r\n lat: l.geometry.location.lat(),\r\n lng: l.geometry.location.lng()\r\n }\r\n }\r\n \r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if(!waitTime) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n }}\r\n errorMessage={errorMessage}\r\n />\r\n :*/\r\n type == TYPES.price ?\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputGroup, null,\r\n React.createElement(InputLeftElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Box, { cursor: \"pointer\", onClick: decreaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaMinus, null)),\r\n iconLeft) }),\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: \"text\", placeholder: placeholder || \"\", value: value, onKeyDown: onKeyDown, onChange: function (v) {\r\n changeNumber(v);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n React.createElement(InputRightElement, { width: \"auto\", px: \"0.2rem\", cursor: \"pointer\", children: React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\", p: \"0px !important\" },\r\n iconRight,\r\n typeof numberUnit === \"string\" ?\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", display: \"flex\", justifyContent: \"flex-start\", alignItems: \"center\" }, numberUnit)\r\n :\r\n numberUnit,\r\n React.createElement(Box, { cursor: \"pointer\", onClick: increaseNumber, border: { base: \"0px\", md: \"1px\" }, borderRadius: { base: \"0px\", md: \"3px\" }, p: { base: \"0px\", md: \"0.5rem\" } },\r\n React.createElement(FaPlus, null))) })))\r\n : /*\r\n type == TYPES.select_tree?\r\n <SelectTree disabled={disabled} options={options as SelectTreeOptionWithChildren[]}\r\n onChange={onChange}\r\n onBlur={(e: SelectTreeEvent) => {\r\n const { currentNode, selectedNodes } = e\r\n if(!disabled && onCheckInfo) {\r\n const v = \"currentNode\"\r\n \r\n const { checker, waitTime } = onCheckInfo(v)\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if(!waitTime) {\r\n handleInputCheck(() => v, (checkedValue) => {\r\n return JSON.stringify(checkedValue) === JSON.stringify(v)\r\n }, checker, waitTime)\r\n }\r\n }\r\n }}\r\n />\r\n :*/\r\n type == TYPES.none ?\r\n null\r\n :\r\n React.createElement(InputGroup, null,\r\n iconLeft ? React.createElement(InputLeftElement, { children: iconLeft }) : null,\r\n React.createElement(Input, { id: id, key: key, onFocus: onFocus, disabled: disabled, ref: inputRef, name: name, type: type, placeholder: placeholder || \"\", value: value, onChange: function (v) {\r\n if (!disabled && onChange)\r\n onChange(v.target.value);\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onChange\" if waitTime is greater than zero.\r\n // This is good in searching a text results as a user types in a search bar, \r\n // or saving an article on a server as the user types\r\n if (waitTime > 0) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, onBlur: function (v) {\r\n if (!disabled && onCheckInfo) {\r\n var _a = onCheckInfo(v.target.value), checker = _a.checker, waitTime = _a.waitTime;\r\n //only check input in \"onBlur\" if waitTime is not set or equal to zero.\r\n // This is good in validating an input as it looses focus when the user moves to another,\r\n // input field\r\n if (!waitTime) {\r\n handleInputCheck(function () { return \"\".concat(v.target.value); }, function (checkedValue) {\r\n return checkedValue === v.target.value;\r\n }, checker, waitTime);\r\n }\r\n }\r\n }, errorBorderColor: 'red.300', isInvalid: !nullOrEmpty(errorMessage) }),\r\n iconRight ? React.createElement(InputRightElement, { children: iconRight }) : null),\r\n nullOrEmpty(errorMessage) || type == TYPES.location ? null :\r\n React.createElement(FormErrorMessage, null, errorMessage),\r\n nullOrEmpty(helperText) || type == TYPES.location ? null :\r\n React.createElement(FormHelperText, null, helperText),\r\n React.createElement(\"style\", null, \"\\n .cursor-not-allowed-deep {\\n cursor: not-allowed !important;\\n }\\n .cursor-not-allowed-deep * {\\n cursor: not-allowed;\\n }\\n \")));\r\n};\r\nInputBox.TYPES = TYPES;\r\nexport default React.memo(InputBox);\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from 'react';\r\nimport { Text } from \"@chakra-ui/react\";\r\nvar Link = function (_a) {\r\n var children = _a.children, disabled = _a.disabled, onClick = _a.onClick, props = __rest(_a, [\"children\", \"disabled\", \"onClick\"]);\r\n return (React.createElement(Text, __assign({ cursor: disabled ? \"not-allowed\" : \"pointer\", _hover: {\r\n opacity: \"0.3\"\r\n }, onClick: function (e) {\r\n if (onClick)\r\n onClick(e);\r\n } }, props), children));\r\n};\r\nexport default Link;\r\n","import { useEffect, useState } from 'react';\r\n// Import the functions you need from the SDKs you need\r\nimport { initializeApp } from \"firebase/app\";\r\n//Analytics for web\r\nimport { getAnalytics } from \"firebase/analytics\";\r\n//Authentication for Web\r\nimport { getAuth, onAuthStateChanged } from \"firebase/auth\";\r\n//Cloud Firestore for Web\r\nimport { getFirestore, doc, onSnapshot, collection } from \"firebase/firestore\"; // Updated import\r\nimport { getStorage, getDownloadURL, ref as storageRef, uploadBytes, } from \"firebase/storage\";\r\nimport { consoleLog } from '../../utils/f';\r\nvar useFirebase = function (config) {\r\n var _a = useState(), app = _a[0], setApp = _a[1];\r\n var _b = useState(), analytics = _b[0], setAnalytics = _b[1];\r\n var _c = useState(), auth = _c[0], setAuth = _c[1];\r\n var _d = useState(), db = _d[0], setDb = _d[1];\r\n var _e = useState(), user = _e[0], setUser = _e[1];\r\n var _f = useState(), adminInfo = _f[0], setAdminInfo = _f[1];\r\n var _g = useState(true), authLoading = _g[0], setAuthLoading = _g[1];\r\n var _h = useState(), storage = _h[0], setStorage = _h[1]; // Add storage state\r\n useEffect(function () {\r\n if (!(config === null || config === void 0 ? void 0 : config.firebaseConfig))\r\n return;\r\n // Initialize Firebase\r\n var theApp = initializeApp(config.firebaseConfig);\r\n var theDb = getFirestore(theApp);\r\n var theAuth = getAuth(theApp);\r\n var theAnalytics = getAnalytics(theApp);\r\n var theStorage = getStorage(theApp);\r\n setApp(theApp);\r\n setDb(theDb);\r\n setAuth(theAuth);\r\n setAnalytics(theAnalytics);\r\n setStorage(theStorage);\r\n setUser(null);\r\n var unsubscribe = onAuthStateChanged(theAuth, function (user) {\r\n setUser(user);\r\n setAuthLoading(false);\r\n });\r\n return function () {\r\n if (unsubscribe)\r\n unsubscribe();\r\n };\r\n }, [config === null || config === void 0 ? void 0 : config.firebaseConfig]);\r\n useEffect(function () {\r\n var unsubscribe;\r\n if (user && db) {\r\n consoleLog(\"Firebase.AdminInfo: will listen to admin doc\");\r\n // Listen to document changes at admins/{user.uid}\r\n unsubscribe = onSnapshot(doc(collection(db, \"admins\"), user.uid), function (docSnapshot) {\r\n try {\r\n if (docSnapshot.exists()) {\r\n var data = docSnapshot.data();\r\n setAdminInfo(data);\r\n consoleLog(\"Firebase.AdminInfo: admin \", data);\r\n }\r\n else {\r\n setAdminInfo(null); // Clear adminInfo if the document does not exist\r\n consoleLog(\"Firebase.AdminInfo: noAdmin \");\r\n }\r\n }\r\n catch (e) {\r\n consoleLog(\"Firebase.AdminInfo: Error listening to admin document:1 \", e);\r\n setAdminInfo(null); // Clear adminInfo on error\r\n }\r\n }, function (error) {\r\n consoleLog(\"Firebase.AdminInfo: Error listening to admin document:2 \", error);\r\n setAdminInfo(null); // Clear adminInfo on error\r\n });\r\n }\r\n else {\r\n setAdminInfo(null); // Clear adminInfo if user is not authenticated\r\n }\r\n return function () {\r\n if (unsubscribe)\r\n unsubscribe();\r\n };\r\n }, [user, db]);\r\n var uploadFile = function (file, pathToFile) {\r\n return new Promise(function (resolve, reject) {\r\n if (!storage) {\r\n reject(\"File storage not initialized yet.\");\r\n }\r\n else if (!file) {\r\n reject(\"Please provide the file to upload.\");\r\n }\r\n else if (!pathToFile) {\r\n reject(\"Please provide the location to upload the file to.\");\r\n }\r\n else {\r\n var fileRef = storageRef(storage, pathToFile);\r\n uploadBytes(fileRef, file)\r\n .then(function (snapshot) {\r\n getDownloadURL(snapshot.ref)\r\n .then(function (url) {\r\n resolve(url);\r\n })\r\n .catch(function (error) {\r\n reject(error);\r\n });\r\n })\r\n .catch(function (error) {\r\n reject(error);\r\n });\r\n }\r\n });\r\n };\r\n return {\r\n auth: auth,\r\n db: db,\r\n user: user,\r\n setUser: setUser,\r\n adminInfo: adminInfo,\r\n authLoading: authLoading,\r\n uploadFile: uploadFile,\r\n };\r\n};\r\nexport default useFirebase;\r\n","import { __rest } from \"tslib\";\r\nimport React, { useState } from \"react\";\r\nimport { Text, VStack } from \"@chakra-ui/react\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport Link from \"../widgets/Link\";\r\nimport { isValidEmail, nullOrEmpty } from \"../../utils/f\";\r\nimport Swal from 'sweetalert2';\r\nimport { sendPasswordResetEmail, signInWithEmailAndPassword } from \"firebase/auth\";\r\nimport useFirebase from \".\";\r\nvar SignInView = function (_a) {\r\n var onAuthDone = _a.onAuthDone, setUser = _a.setUser, config = _a.config, props = __rest(_a, [\"onAuthDone\", \"setUser\", \"config\"]);\r\n var auth = useFirebase(config).auth;\r\n var _b = useState(\"\"), email = _b[0], setEmail = _b[1];\r\n var _c = useState(), emailError = _c[0], setEmailError = _c[1];\r\n var _d = useState(\"\"), password = _d[0], setPassword = _d[1];\r\n var _e = useState(), passwordError = _e[0], setPasswordError = _e[1];\r\n var _f = useState(), requesting = _f[0], setRequesting = _f[1];\r\n var clearErrors = function () {\r\n setEmailError(\"\");\r\n setPasswordError(\"\");\r\n };\r\n var forgotPass = function (e) {\r\n var _a;\r\n e.preventDefault();\r\n clearErrors();\r\n if (nullOrEmpty(email)) {\r\n setEmailError('Please enter your email address, then click \"Forgot password\".');\r\n }\r\n else if (!isValidEmail(email)) {\r\n setEmailError(\"Please enter a valid email address.\");\r\n }\r\n else if (auth) {\r\n var pass_1 = password;\r\n setPassword(\"\");\r\n setRequesting(true);\r\n var codeSettings = {\r\n url: (_a = window === null || window === void 0 ? void 0 : window.location) === null || _a === void 0 ? void 0 : _a.href\r\n };\r\n sendPasswordResetEmail(auth, email, codeSettings)\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"info\",\r\n text: isValidEmail(email) ?\r\n \"A password reset email has been sent to \".concat(email, \". Check your inbox or spam folder for the email sent.\")\r\n :\r\n \"A password reset code has been sent to \".concat(email, \". Check your messages for the code sent.\")\r\n });\r\n setRequesting(false);\r\n setPassword(pass_1);\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == 'auth/user-not-found') {\r\n msg = \"The account is invalid.\";\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n setPassword(pass_1);\r\n });\r\n }\r\n };\r\n var sendRequest = function (maxRetries, triedTimes) {\r\n if (!auth)\r\n return;\r\n signInWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) {\r\n setRequesting(false);\r\n if (userCredential) {\r\n setUser(userCredential.user);\r\n if (onAuthDone)\r\n onAuthDone(userCredential.user);\r\n }\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == \"auth/wrong-password\") {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == 'auth/user-not-found') {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == \"auth/network-request-failed\") {\r\n if (triedTimes + 1 < maxRetries) {\r\n setTimeout(function () {\r\n sendRequest(maxRetries, triedTimes + 1);\r\n }, 2000);\r\n return;\r\n }\r\n else {\r\n msg = \"Failed to reach the server. Make sure your internet connection is stable and try again.\";\r\n }\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n });\r\n };\r\n var handleSubmit = function (e) {\r\n try {\r\n e.preventDefault();\r\n }\r\n catch (e) { }\r\n if (requesting)\r\n return;\r\n clearErrors();\r\n var hasError = false;\r\n //Check email\r\n if (nullOrEmpty(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter your email address.\");\r\n }\r\n else if (!isValidEmail(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter a valid email address.\");\r\n }\r\n //Check password\r\n if (nullOrEmpty(password)) {\r\n hasError = true;\r\n setPasswordError(\"Please enter your password.\");\r\n }\r\n if (!hasError && auth) {\r\n setRequesting(true);\r\n sendRequest(3, 0);\r\n }\r\n };\r\n return (React.createElement(VStack, null,\r\n React.createElement(InputBox, { type: TYPES.email, title: \"Email\", placeholder: \"Enter your email address.\", mb: 2, value: email, onChange: function (e) { return setEmail(e); }, errorMessage: emailError }),\r\n React.createElement(InputBox, { type: TYPES.password, title: \"Password\", placeholder: \"Enter your password\", mb: 2, value: password, onChange: function (e) { setPassword(e); }, errorMessage: passwordError }),\r\n React.createElement(Text, { as: \"div\", alignSelf: \"flex-end\" },\r\n React.createElement(Link, { onClick: forgotPass, disabled: requesting, fontStyle: requesting && !password ? \"italic\" : \"normal\" }, requesting && nullOrEmpty(password) ? \"Please wait...\" : \"Forgot password?\")),\r\n React.createElement(AppButton, { w: \"100%\", alignSelf: \"flex-start\", id: \"recaptcha-container\", type: \"submit\", onClick: handleSubmit, disabled: requesting, fontStyle: requesting && password ? \"italic\" : \"normal\", mt: \"1rem !important\", mb: \"1.5rem !important\" }, requesting && !nullOrEmpty(password) ? \"Please wait...\" : \"Sign in\")));\r\n};\r\nexport default SignInView;\r\n","import { __awaiter, __generator, __rest } from \"tslib\";\r\nimport React, { useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport { isValidEmail, nullOrEmpty } from \"../../utils/f\";\r\nimport Swal from 'sweetalert2';\r\nimport { createUserWithEmailAndPassword, sendEmailVerification, signInWithEmailAndPassword, updateProfile } from \"firebase/auth\";\r\nimport useFirebase from \".\";\r\nvar SignUpView = function (_a) {\r\n var onAuthDone = _a.onAuthDone, setUser = _a.setUser, config = _a.config, props = __rest(_a, [\"onAuthDone\", \"setUser\", \"config\"]);\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user, db = _b.db;\r\n var _c = useState(\"\"), fullname = _c[0], setFullname = _c[1];\r\n var _d = useState(\"\"), email = _d[0], setEmail = _d[1];\r\n var _e = useState(\"\"), password = _e[0], setPassword = _e[1];\r\n var _f = useState(), password2 = _f[0], setPassword2 = _f[1];\r\n var _g = useState(\"\"), fullnameError = _g[0], setFullnameError = _g[1];\r\n var _h = useState(), emailError = _h[0], setEmailError = _h[1];\r\n var _j = useState(), passwordError = _j[0], setPasswordError = _j[1];\r\n var _k = useState(), passwordError2 = _k[0], setPasswordError2 = _k[1];\r\n var _l = useState(), requesting = _l[0], setRequesting = _l[1];\r\n var clearErrors = function () {\r\n setFullnameError(\"\");\r\n setEmailError(\"\");\r\n setPasswordError(\"\");\r\n setPasswordError2(\"\");\r\n };\r\n var sendRequest = function (maxRetries, triedTimes) {\r\n if (!auth)\r\n return;\r\n createUserWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) {\r\n if (userCredential) {\r\n updateProfile(userCredential.user, { displayName: fullname })\r\n .then(function () {\r\n sendVerification(userCredential.user);\r\n })\r\n .catch(function (error) {\r\n sendVerification(userCredential.user);\r\n });\r\n }\r\n else {\r\n throw new Error(\"No user credentials.\");\r\n }\r\n })\r\n .catch(function (e) { return __awaiter(void 0, void 0, void 0, function () {\r\n var msg, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!(e.code == \"auth/email-already-in-use\")) return [3 /*break*/, 1];\r\n msg = \"Email already in use. Please sign in.\";\r\n return [3 /*break*/, 10];\r\n case 1:\r\n if (!(e.code == \"auth/invalid-verification-code\")) return [3 /*break*/, 2];\r\n msg = \"The verification code is invalid.\";\r\n return [3 /*break*/, 10];\r\n case 2:\r\n if (!(e.code == \"auth/popup-closed-by-user\")) return [3 /*break*/, 3];\r\n msg = \"Authentication cancelled.\";\r\n return [3 /*break*/, 10];\r\n case 3:\r\n if (!(e.code == \"auth/network-request-failed\")) return [3 /*break*/, 9];\r\n if (!user) return [3 /*break*/, 8];\r\n _a.label = 4;\r\n case 4:\r\n _a.trys.push([4, 6, , 7]);\r\n return [4 /*yield*/, updateProfile(user, { displayName: fullname })];\r\n case 5:\r\n _a.sent();\r\n sendVerification(user);\r\n return [3 /*break*/, 7];\r\n case 6:\r\n e_1 = _a.sent();\r\n sendVerification(user);\r\n return [3 /*break*/, 7];\r\n case 7: return [2 /*return*/];\r\n case 8:\r\n if (triedTimes + 1 < maxRetries) {\r\n setTimeout(function () {\r\n //Try to sign in first. Maybe the sign up was successful\r\n signInWithEmailAndPassword(auth, email, password)\r\n .then(function (userCredential) { return __awaiter(void 0, void 0, void 0, function () {\r\n var e_2;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, updateProfile(userCredential.user, { displayName: fullname })];\r\n case 1:\r\n _a.sent();\r\n sendVerification(userCredential.user);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_2 = _a.sent();\r\n sendVerification(userCredential.user);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); })\r\n .catch(function (e) {\r\n sendRequest(maxRetries, triedTimes + 1);\r\n });\r\n }, 2000);\r\n return [2 /*return*/];\r\n }\r\n else {\r\n msg = \"Failed to reach the server. Make sure your internet connection is stable and try again.\";\r\n }\r\n return [3 /*break*/, 10];\r\n case 9:\r\n msg = e.message;\r\n _a.label = 10;\r\n case 10:\r\n Swal.fire({\r\n icon: \"error\",\r\n text: msg\r\n });\r\n setRequesting(false);\r\n return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n var handleSubmit = function (e) {\r\n try {\r\n e.preventDefault();\r\n }\r\n catch (e) { }\r\n if (requesting)\r\n return;\r\n clearErrors();\r\n var hasError = false;\r\n //Check fullname\r\n if (nullOrEmpty(fullname)) {\r\n hasError = true;\r\n setFullnameError(\"Please enter your fullname.\");\r\n }\r\n //Check email\r\n if (nullOrEmpty(email)) {\r\n hasError = true;\r\n setEmailError(\"Please enter your email address.\");\r\n }\r\n else if (!isValidEmail(email)) {\r\n hasError = true;\r\n setEmailError('Please enter a valid email address.');\r\n }\r\n //Check password and password confirmation\r\n if (nullOrEmpty(password)) {\r\n hasError = true;\r\n setPasswordError(\"Please enter your password.\");\r\n }\r\n else if (!/.{6,}/.test(password)) {\r\n hasError = true;\r\n setPasswordError(\"Your password cannot be less than 6 characters.\");\r\n }\r\n else if (nullOrEmpty(password2)) {\r\n hasError = true;\r\n setPasswordError2(\"Re-enter password\");\r\n }\r\n else if (password != password2) {\r\n hasError = true;\r\n setPasswordError2(\"Password does not match\");\r\n }\r\n if (!hasError && auth) {\r\n setRequesting(true);\r\n sendRequest(3, 0);\r\n }\r\n };\r\n var sendVerification = function (user) {\r\n sendEmailVerification(user, { url: location.href })\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Registration successful\",\r\n text: \"Your registration was successful. An email to verify your email address has been sent. Please check your email inbox or spam folder for the email sent.\"\r\n })\r\n .then(function () {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n })\r\n .catch(function (e) {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n });\r\n })\r\n .catch(function (e) {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Registration successful\",\r\n text: \"Your registration was successful.\"\r\n })\r\n .then(function () {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n })\r\n .catch(function (e) {\r\n setUser(user);\r\n setRequesting(false);\r\n if (onAuthDone)\r\n onAuthDone(user);\r\n });\r\n });\r\n };\r\n return (React.createElement(VStack, null,\r\n React.createElement(InputBox, { type: TYPES.text, title: \"Fullname\", placeholder: \"Enter your fullname\", mb: \"1rem !important\", value: fullname, onChange: function (e) { return setFullname(e); }, errorMessage: fullnameError }),\r\n React.createElement(InputBox, { type: TYPES.email, title: \"Email\", placeholder: \"Enter your email\", mb: \"1rem !important\", value: email, onChange: function (e) { return setEmail(e); }, errorMessage: emailError }),\r\n React.createElement(InputBox, { type: \"password\", title: \"Password\", placeholder: \"Enter your password\", mb: \"1rem !important\", value: password, onChange: function (e) { setPassword(e); }, errorMessage: passwordError }),\r\n React.createElement(InputBox, { type: \"password\", title: \"Confirm password\", placeholder: \"Re-enter password\", mb: \"1rem !important\", value: password2, onChange: function (e) { setPassword2(e); }, errorMessage: passwordError2 }),\r\n React.createElement(AppButton, { w: \"100%\", alignSelf: \"flex-start\", type: \"submit\", onClick: handleSubmit, disabled: requesting, fontStyle: requesting ? \"italic\" : \"normal\", mt: \"1rem !important\", mb: \"1.5rem !important\" }, requesting && !nullOrEmpty(password) ? \"Please wait...\" : \"Sign up\")));\r\n};\r\nexport default SignUpView;\r\n","import React, { useState } from 'react';\r\nimport DrawerPop from '../widgets/DrawerPop';\r\nimport { Box, Image, Text, VStack } from \"@chakra-ui/react\";\r\nimport SignInView from \"./SignInView\";\r\nimport SignUpView from \"./SignUpView\";\r\nimport { LOGO_PATH } from '../../utils/c';\r\nimport Link from '../widgets/Link';\r\nvar AuthView = function (_a) {\r\n var show = _a.show, signInTitle = _a.signInTitle, signUpTitle = _a.signUpTitle, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, setUser = _a.setUser, config = _a.config;\r\n var _b = useState(true), showSignIn = _b[0], setShowSignIn = _b[1];\r\n var handleAuthLinkClick = function (e) {\r\n e.preventDefault();\r\n setShowSignIn(!showSignIn);\r\n };\r\n if (!show)\r\n return null;\r\n return (React.createElement(DrawerPop, { title: \"\".concat(config === null || config === void 0 ? void 0 : config.appName, \" Authentication\"), isOpen: true, onClose: function () {\r\n onError(new Error(\"\"));\r\n }, placement: \"bottom\", height: \"95vh\", bg: \"#012 !important\", color: \"#fff !important\" },\r\n React.createElement(Box, { minH: \"60vh\", w: \"100%\", maxW: \"700px\", p: { base: \"15px 15px\", md: \"50px 80px\" }, m: \"15px auto\" },\r\n showSignIn ?\r\n React.createElement(React.Fragment, null,\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: LOGO_PATH, h: \"48px\", w: \"auto\" }),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"0.1rem !important\", textAlign: \"center\" }, signInTitle),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"1.5rem !important\", textAlign: \"center\" },\r\n \"If you don't have an account yet, \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick, fontWeight: \"bold\" }, \"Sign up here.\"))),\r\n React.createElement(SignInView, { onAuthDone: onSuccess, setUser: setUser, config: config }))\r\n :\r\n React.createElement(React.Fragment, null,\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: LOGO_PATH, h: \"48px\", w: \"auto\" }),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"0.1rem !important\", textAlign: \"center\" }, signUpTitle),\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", mb: \"1.5rem !important\", textAlign: \"center\" },\r\n \"If you already have an account, \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick, fontWeight: \"bold\" }, \"Sign in here.\"))),\r\n React.createElement(SignUpView, { onAuthDone: onSuccess, setUser: setUser, config: config })),\r\n React.createElement(Text, { as: \"div\", textAlign: \"center\", fontSize: \"14px\" }, showSignIn ?\r\n React.createElement(React.Fragment, null,\r\n \"Don't have an account yet? \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick }, \"Sign up here.\"))\r\n :\r\n React.createElement(React.Fragment, null,\r\n \"Already have an account? \",\r\n React.createElement(Link, { color: \"green.500\", textDecoration: \"underline\", onClick: handleAuthLinkClick }, \"Log in here.\"))))));\r\n};\r\nexport default AuthView;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from \"react\";\r\nimport { Box, HStack, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, ModalOverlay, Text, VStack } from \"@chakra-ui/react\";\r\nimport { FaTimes } from \"react-icons/fa\";\r\nvar ModalPop = function (_a) {\r\n var bg = _a.bg, color = _a.color, children = _a.children, placement = _a.placement, onClose = _a.onClose, isOpen = _a.isOpen, isClosable = _a.isClosable, title = _a.title, subtitle = _a.subtitle, footer = _a.footer, hideModeSwitch = _a.hideModeSwitch, noHeader = _a.noHeader, w = _a.w, width = _a.width, maxW = _a.maxW, maxWidth = _a.maxWidth, h = _a.h, height = _a.height, maxH = _a.maxH, maxHeight = _a.maxHeight, props = __rest(_a, [\"bg\", \"color\", \"children\", \"placement\", \"onClose\", \"isOpen\", \"isClosable\", \"title\", \"subtitle\", \"footer\", \"hideModeSwitch\", \"noHeader\", \"w\", \"width\", \"maxW\", \"maxWidth\", \"h\", \"height\", \"maxH\", \"maxHeight\"]);\r\n return (React.createElement(Modal, { onClose: onClose ? onClose : function () { }, isOpen: isOpen, isCentered: true },\r\n React.createElement(ModalOverlay, null),\r\n React.createElement(ModalContent, { bg: bg, color: color, minH: h || height || \"50vh\", maxH: maxH || maxHeight || \"100vh\", w: w || width || { base: \"95%\", md: \"650px\" }, maxW: maxW || maxWidth, borderRadius: \"16px !important\" },\r\n noHeader ? null :\r\n React.createElement(ModalHeader, { borderBottomWidth: '1px', w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" },\r\n React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"1.1rem\", md: \"1.3rem\" }, textTransform: \"capitalize\" }, title),\r\n subtitle ?\r\n React.createElement(Text, { as: \"div\", fontSize: { base: \"11px\" } }, subtitle)\r\n : null),\r\n React.createElement(HStack, null, onClose && (isClosable || isClosable === undefined) ?\r\n React.createElement(Box, { onClick: onClose, cursor: \"pointer\", display: \"block\" },\r\n React.createElement(FaTimes, { size: \"24px\" }))\r\n :\r\n null)),\r\n React.createElement(ModalBody, __assign({}, props), children),\r\n footer ?\r\n React.createElement(ModalFooter, null, footer)\r\n : null)));\r\n};\r\nexport default ModalPop;\r\n","import React, { useState } from 'react';\r\nimport { consoleLog, getColor } from '../../utils/f';\r\nimport { SDK_NAME, STORAGE_KEYS } from '../../utils/c';\r\nimport { signInWithEmailAndPassword } from 'firebase/auth';\r\nimport useFirebase from '.';\r\nimport ModalPop from '../widgets/ModalPop';\r\nimport { VStack } from '@chakra-ui/react';\r\nimport InputBox, { TYPES } from '../widgets/InputBox';\r\nimport AppButton from '../widgets/AppButton';\r\nimport { FaSignInAlt } from 'react-icons/fa';\r\nvar AccessTokenDoor = function (_a) {\r\n var show = _a.show, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user, setUser = _b.setUser;\r\n var _c = useState(), password = _c[0], setPassword = _c[1];\r\n var _d = useState(), e = _d[0], setE = _d[1];\r\n var _e = useState(false), authenticating = _e[0], setAuthenticating = _e[1];\r\n var handleSubmit = function () {\r\n setE(\"\");\r\n if (!password) {\r\n setE(\"Please enter your password\");\r\n }\r\n else if (auth && user && user.email && password && password.length > 0) {\r\n setAuthenticating(true);\r\n signInWithEmailAndPassword(auth, user.email, password)\r\n .then(function (auntentication) {\r\n var user = auntentication.user;\r\n if (user) {\r\n setUser(user);\r\n user.getIdToken()\r\n .then(function (token) {\r\n localStorage.setItem(STORAGE_KEYS.LAST_LOGIN_MILLI, \"\".concat(Date.now()));\r\n onSuccess(token, user);\r\n })\r\n .catch(function (e) {\r\n onError(e);\r\n });\r\n }\r\n else {\r\n setE(\"Failed to sign in. Please try again later.\");\r\n setAuthenticating(false);\r\n }\r\n })\r\n .catch(function (e) {\r\n var msg;\r\n if (e.code == \"auth/wrong-password\") {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else if (e.code == 'auth/user-not-found') {\r\n msg = \"Wrong email address or password. Check your email address and password, then try again.\";\r\n }\r\n else {\r\n msg = e.message;\r\n }\r\n setE(msg);\r\n setAuthenticating(false);\r\n });\r\n }\r\n else {\r\n consoleLog(\"AccessTokenDoor.handleSubmit => \", \"auth:\", auth, \" | user:\", user, \" | userEmail:\", user === null || user === void 0 ? void 0 : user.email, \" | password:\", password, \" | config\", config);\r\n }\r\n };\r\n if (!show)\r\n return null;\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Confirm Operation\", isOpen: true, onClose: function () {\r\n onError(new Error(\"Failed to confirm that it's you.\"));\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_pass_confirm\"), key: \"\".concat(SDK_NAME, \"_pass_confirm\"), name: \"pass_confirm\", title: \"Enter Password\", helperText: \"Enter your password to confirm that it's you.\", value: password, type: TYPES.password, mb: 4, onChange: function (password) {\r\n setPassword(password);\r\n }, errorMessage: e }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaSignInAlt, null), disabled: authenticating, fontStyle: authenticating ? \"italic\" : \"normal\" }, authenticating ? \"Please wait...\" : \"Confirm Operation\"))));\r\n};\r\nexport default AccessTokenDoor;\r\n","import React from \"react\";\r\nimport { Box } from \"@chakra-ui/react\";\r\nimport { FaCheck, FaClock, FaTimesCircle } from 'react-icons/fa';\r\nvar StatusCoin = function (_a) {\r\n var status = _a.status;\r\n var colors = {\r\n success: {\r\n bgGradient: \"linear(to-r, #3AAFA9, #0F7173)\",\r\n icon: React.createElement(FaCheck, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n timeout: {\r\n bgGradient: \"linear(to-r, #D64933, #A61D14)\",\r\n icon: React.createElement(FaClock, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n error: {\r\n bgGradient: \"linear(to-r, #D64933, #A61D14)\",\r\n icon: React.createElement(FaTimesCircle, { color: \"#efefef\", size: \"100px\" }),\r\n },\r\n };\r\n var color = colors[status || \"success\"];\r\n return (React.createElement(Box, { w: \"150px\", h: \"150px\", borderRadius: \"50%\", boxShadow: \"xl\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", bgGradient: color.bgGradient }, color.icon));\r\n};\r\nexport default StatusCoin;\r\n","import React from \"react\";\r\nimport { Flex, Text } from \"@chakra-ui/react\";\r\nimport StatusCoin from \"./StatusCoin\";\r\nvar PaymentDetected = function (_a) {\r\n var amount = _a.amount, symbol = _a.symbol;\r\n return (React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"center\", bg: \"green.500\", w: \"100%\", h: \"100%\", p: \"1rem\", textAlign: \"center\" },\r\n React.createElement(StatusCoin, { status: \"success\" }),\r\n React.createElement(Text, { as: \"div\", fontWeight: \"bold\", color: \"white\", mb: 2, textAlign: \"center\" },\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\", fontSize: \"1.5rem\" },\r\n amount,\r\n \" \",\r\n symbol),\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\", fontSize: \"1.1rem\" }, \" deposit made!\")),\r\n React.createElement(Text, { as: \"div\", fontSize: \"0.8rem\", color: \"white\" }, \"Your crypto payment was successful. The amount deposited will be available for your spending once confirmed.\")));\r\n};\r\nexport default PaymentDetected;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React from \"react\";\r\nimport { Audio, BallTriangle, Bars, Blocks, Circles, CirclesWithBar, ColorRing, Comment, Discuss, Dna, Grid, FallingLines, FidgetSpinner, Hearts, InfinitySpin, LineWave, MagnifyingGlass, MutatingDots, Oval, ProgressBar, Puff, Radio, RevolvingDot, RotatingSquare, RotatingLines, Rings, TailSpin, ThreeDots, ThreeCircles, Triangle, RotatingTriangles, Watch, Vortex } from \"react-loader-spinner\";\r\nvar loadersMap = {\r\n Audio: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Audio, __assign({}, props));\r\n },\r\n BallTriangle: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(BallTriangle, __assign({}, props));\r\n },\r\n Bars: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Bars, __assign({}, props));\r\n },\r\n Blocks: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Blocks, __assign({}, props));\r\n },\r\n Circles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Circles, __assign({}, props));\r\n },\r\n CirclesWithBar: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(CirclesWithBar, __assign({}, props));\r\n },\r\n ColorRing: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ColorRing, __assign({}, props));\r\n },\r\n Comment: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Comment, __assign({}, props));\r\n },\r\n Discuss: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Discuss, __assign({}, props));\r\n },\r\n Dna: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Dna, __assign({}, props));\r\n },\r\n Grid: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Grid, __assign({}, props));\r\n },\r\n FallingLines: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(FallingLines, __assign({}, props));\r\n },\r\n FidgetSpinner: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(FidgetSpinner, __assign({}, props));\r\n },\r\n Hearts: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Hearts, __assign({}, props));\r\n },\r\n InfinitySpin: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(InfinitySpin, __assign({}, props));\r\n },\r\n LineWave: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(LineWave, __assign({}, props));\r\n },\r\n MagnifyingGlass: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(MagnifyingGlass, __assign({}, props));\r\n },\r\n MutatingDots: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(MutatingDots, __assign({}, props));\r\n },\r\n Oval: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Oval, __assign({}, props));\r\n },\r\n ProgressBar: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ProgressBar, __assign({}, props));\r\n },\r\n Puff: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Puff, __assign({}, props));\r\n },\r\n Radio: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Radio, __assign({}, props));\r\n },\r\n RevolvingDot: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RevolvingDot, __assign({}, props));\r\n },\r\n RotatingSquare: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingSquare, __assign({}, props));\r\n },\r\n RotatingLines: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingLines, __assign({}, props));\r\n },\r\n Rings: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Rings, __assign({}, props));\r\n },\r\n TailSpin: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(TailSpin, __assign({}, props));\r\n },\r\n ThreeDots: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ThreeDots, __assign({}, props));\r\n },\r\n ThreeCircles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(ThreeCircles, __assign({}, props));\r\n },\r\n Triangle: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Triangle, __assign({}, props));\r\n },\r\n RotatingTriangles: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(RotatingTriangles, __assign({}, props));\r\n },\r\n Watch: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Watch, __assign({}, props));\r\n },\r\n Vortex: function (_a) {\r\n var props = __rest(_a, []);\r\n return React.createElement(Vortex, __assign({}, props));\r\n }\r\n};\r\nvar Loading = function (_a) {\r\n var type = _a.type, props = __rest(_a, [\"type\"]);\r\n return type != undefined ? (loadersMap[type](__assign({}, props))) : null;\r\n};\r\nLoading.TYPES = {\r\n audio: \"Audio\",\r\n bars: \"Bars\",\r\n ballTrinagle: \"BallTriangle\",\r\n circles: 'Circles',\r\n grid: \"Grid\",\r\n hearts: \"Hearts\",\r\n oval: \"Oval\",\r\n puff: \"Puff\",\r\n rings: 'Rings',\r\n tailSpin: 'TailSpin',\r\n threeDots: \"ThreeDots\",\r\n RotatingLines: \"RotatingLines\",\r\n Dna: \"Dna\"\r\n};\r\nexport default Loading;\r\n","import { HStack } from '@chakra-ui/react';\r\nimport React from 'react';\r\nimport Loading from './Loading';\r\nvar PleaseWaitForX = function () {\r\n return (React.createElement(HStack, { display: \"flex\", w: \"100%\", h: \"120px\", justifyContent: \"center\", alignItems: \"center\", pos: \"relative\", p: \"2rem\" },\r\n React.createElement(Loading, { color: \"green.500\", type: Loading.TYPES.RotatingLines })));\r\n};\r\nexport default PleaseWaitForX;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, useToast, useClipboard, Text } from '@chakra-ui/react';\r\nimport { FaCopy } from \"react-icons/fa\";\r\nvar Types = {\r\n text: 0,\r\n address: 1,\r\n refCode: 2,\r\n link: 3,\r\n shillText: 4,\r\n refLink: 5,\r\n phone: 6\r\n};\r\nvar copyOk = function (type) {\r\n var key;\r\n switch (type) {\r\n case Types.address:\r\n key = \"Address copied\";\r\n break;\r\n case Types.refCode:\r\n key = \"Referral code copy copied\";\r\n break;\r\n case Types.refLink:\r\n key = \"Referral link copied\";\r\n break;\r\n case Types.shillText:\r\n key = \"Promotion text copied\";\r\n break;\r\n case Types.phone:\r\n key = \"Phone number copied copied\";\r\n break;\r\n default:\r\n key = \"Text copied\";\r\n }\r\n return key;\r\n};\r\nvar CopyView = function (_a) {\r\n var as = _a.as, textToCopy = _a.textToCopy, children = _a.children, type = _a.type, copyType = _a.copyType, maxChars = _a.maxChars, onCopyMessage = _a.onCopyMessage, props = __rest(_a, [\"as\", \"textToCopy\", \"children\", \"type\", \"copyType\", \"maxChars\", \"onCopyMessage\"]);\r\n type = copyType || type;\r\n var toast = useToast();\r\n var _b = useState('Hello world'), value = _b[0], setValue = _b[1];\r\n var _c = useClipboard(textToCopy || children || \"\"), hasCopied = _c.hasCopied, onCopy = _c.onCopy;\r\n var max = function (text, maxLength) {\r\n if (!maxLength || text.length <= maxLength)\r\n return text;\r\n var half = Math.round(maxLength / 2);\r\n return React.createElement(Text, { as: \"span\" },\r\n text.substring(0, half),\r\n \"\\u2026\",\r\n text.slice((maxLength - half) * -1));\r\n };\r\n useEffect(function () {\r\n if (hasCopied) {\r\n toast({\r\n description: onCopyMessage ? onCopyMessage : copyOk(type),\r\n duration: 3000,\r\n status: \"success\",\r\n isClosable: true\r\n });\r\n }\r\n }, [hasCopied]);\r\n return (React.createElement(Box, __assign({ as: as || \"span\", cursor: \"pointer\", onClick: onCopy }, props),\r\n max(children || \"\", maxChars || 0),\r\n \" \",\r\n !children || children.length == 0 ? null :\r\n React.createElement(Box, { as: \"span\" },\r\n React.createElement(Box, { as: FaCopy, display: \"inline-block\" }))));\r\n};\r\nCopyView.Types = Types;\r\nexport default CopyView;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, Flex, Text, Image, HStack, Select } from '@chakra-ui/react';\r\nimport { QRCode } from 'react-qrcode-logo';\r\nimport { FaCheckCircle, FaCopy, FaExclamationTriangle } from 'react-icons/fa';\r\nimport { COINS, LOGO_PATH } from '../../../utils/c';\r\nimport PleaseWaitForX from '../../widgets/PleaseWaitForX';\r\nimport { getColor } from '../../../utils/f';\r\nimport CopyView from '../../widgets/CopyView';\r\nvar CryptoDeposit = function (_a) {\r\n var amount = _a.amount, coin = _a.coin, setCoin = _a.setCoin, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, isDarkMode = _a.isDarkMode, wallet = _a.wallet, setWallet = _a.setWallet, walletListenerResult = _a.walletListenerResult, props = __rest(_a, [\"amount\", \"coin\", \"setCoin\", \"coinAmount\", \"coinSymbol\", \"isDarkMode\", \"wallet\", \"setWallet\", \"walletListenerResult\"]);\r\n var _b = useState(false), copySuccess = _b[0], setCopySuccess = _b[1];\r\n var handleCopy = function () {\r\n if (wallet) {\r\n navigator.clipboard.writeText(wallet);\r\n setCopySuccess(true);\r\n setTimeout(function () {\r\n setCopySuccess(false);\r\n }, 3000);\r\n }\r\n };\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n useEffect(function () {\r\n if (coin) {\r\n if (coin == COINS.bnb_testnet.key) {\r\n setWallet(walletBnbTest);\r\n }\r\n else if (coin == COINS.bnb.key) {\r\n setWallet(walletBnb);\r\n }\r\n else if (coin == COINS.ethereum.key) {\r\n setWallet(walletEth);\r\n }\r\n }\r\n }, [coin, walletListenerResult]);\r\n return (React.createElement(Box, __assign({ px: { base: \"8px\", md: \"32px\" }, minH: \"250px\" }, props),\r\n React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"center\" },\r\n React.createElement(Text, { as: \"div\", mb: 1, textAlign: \"center\", fontSize: \"12px !important\" }, \"Scan the QR code or copy the wallet address to deposit:\"),\r\n React.createElement(Box, { mb: 1 },\r\n React.createElement(Box, { pos: \"relative\", display: \"inline-block\", p: \"0px\", bg: \"#fff\", borderRadius: \"10px\" }, wallet ?\r\n React.createElement(QRCode, { value: wallet, size: 130, bgColor: \"#FFFFFF\", fgColor: \"#000000\", ecLevel: \"M\", logoImage: LOGO_PATH, logoWidth: 35, logoHeight: 35, removeQrCodeBehindLogo: true })\r\n :\r\n React.createElement(PleaseWaitForX, null))),\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"center\", mb: 1 },\r\n React.createElement(Text, { as: \"div\", p: \"0px\", fontSize: \"12px !important\", textAlign: \"center\" },\r\n \"To deposit \",\r\n React.createElement(\"b\", null,\r\n \"$\",\r\n amount.toFixed(2)),\r\n \", transfer \",\r\n React.createElement(CopyView, { as: \"span\", fontWeight: \"bold\", display: \"inline\", p: \"0px !important\", m: \"0px !important\", color: \"green\", borderBottom: \"1px dotted\", cursor: \"pointer\", textToCopy: \"\".concat(coinAmount), onCopyMessage: \"Amount copied.\" },\r\n coinAmount,\r\n \" \",\r\n coinSymbol),\r\n \" to the wallet address shown.\")),\r\n React.createElement(React.Fragment, null, wallet ?\r\n React.createElement(Box, { cursor: \"pointer\", mb: 2, pos: \"relative\", w: \"100%\", border: \"1px solid #e2e8f0\", borderRadius: \"0.5rem\", onClick: handleCopy },\r\n React.createElement(Text, { as: \"div\", w: \"90%\", m: \"0.5rem\", textOverflow: \"clip\", whiteSpace: \"nowrap\", overflowX: \"hidden\" }, wallet),\r\n React.createElement(HStack, { as: \"div\", w: \"auto\", h: \"100%\", bg: \"#D7F4E4\", color: \"#37C978\", p: \"0.5rem\", pos: \"absolute\", right: \"0\", top: \"0\", bottom: \"0\", justifyContent: \"center\", alignItems: \"center\", borderTopRightRadius: \"0.5rem\", borderBottomRightRadius: \"0.5rem\" },\r\n React.createElement(Text, { as: \"div\", mr: \"2px\" }, copySuccess ? \"Copied\" : \"Copy\"),\r\n React.createElement(Box, null, copySuccess ? React.createElement(FaCheckCircle, null) : React.createElement(FaCopy, null))))\r\n : null),\r\n React.createElement(Box, { pos: \"relative\", mb: 2, w: \"100%\" },\r\n React.createElement(Text, { as: \"label\", htmlFor: \"select-coin\", w: \"100%\", fontSize: \"10px\" }, \"Select a Coin(BNB)\"),\r\n React.createElement(Select, { bg: getColor(isDarkMode, \"selectCoinBg\"), id: \"select-coin\", cursor: \"pointer\", onChange: function (c) {\r\n setCoin(c.target.value);\r\n }, icon: React.createElement(Image, { src: COINS[coin].logo, width: \"24px\", height: \"24px\" }) }, Object.keys(COINS).map(function (c, index) {\r\n if (!COINS[c].disabled) {\r\n return (React.createElement(\"option\", { key: index, value: c }, COINS[c].name));\r\n }\r\n }))),\r\n React.createElement(HStack, { pos: \"relative\", w: \"100%\", px: \"5px\", mb: \"0.5rem\", border: \"1px solid #e2e8f0\", borderRadius: \"0.5rem\", bg: getColor(isDarkMode, \"transferWarningBg\") },\r\n React.createElement(Box, null,\r\n React.createElement(FaExclamationTriangle, { color: \"#dd6b20\", size: \"32px\" })),\r\n React.createElement(Text, { as: \"div\", w: \"100%\", fontSize: \"11px\", p: \"10px 5px\" }, COINS[coin].depositWarning)))));\r\n};\r\nexport default CryptoDeposit;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Box, Button, Flex, Text } from '@chakra-ui/react';\r\nimport { whatsappLink } from '../../../utils/f';\r\nimport PleaseWaitForX from '../../widgets/PleaseWaitForX';\r\nimport CopyView from '../../widgets/CopyView';\r\nvar WhatsappDeposit = function (_a) {\r\n var contactLink = _a.contactLink, vendors = _a.vendors, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, wallet = _a.wallet, usdAmount = _a.usdAmount, fiatSymbol = _a.fiatSymbol, fiatName = _a.fiatName, fiatLogo = _a.fiatLogo, minVendorCoinAmount = _a.minVendorCoinAmount, minVendorUSDAmount = _a.minVendorUSDAmount;\r\n var _b = useState(), vendorPhone = _b[0], setVendorPhone = _b[1];\r\n var _c = useState(0), coinAmountState = _c[0], setCoinAmount = _c[1];\r\n var _d = useState(0), usdAmountState = _d[0], setUsdAmount = _d[1];\r\n var _e = useState(\"\"), msg = _e[0], setMsg = _e[1];\r\n useEffect(function () {\r\n if (coinAmountState && coinSymbol && wallet) {\r\n setMsg(\"Hello. I want to buy \".concat(coinAmountState, \" \").concat(coinSymbol, \".\\n\\nSend the BNB to this Binance Smart Chain wallet address: \\n\\n\").concat(wallet));\r\n }\r\n }, [coinAmountState, coinSymbol, wallet]);\r\n var randVendor = function (cryproVendors) {\r\n var vendors = [];\r\n for (var _i = 0, cryproVendors_1 = cryproVendors; _i < cryproVendors_1.length; _i++) {\r\n var vendor = cryproVendors_1[_i];\r\n var freq = 0;\r\n while (freq < vendor.freq) {\r\n vendors.push(vendor);\r\n freq++;\r\n }\r\n }\r\n return vendors[Math.floor(Math.random() * vendors.length)];\r\n };\r\n useEffect(function () {\r\n if (vendors && vendors.length > 0)\r\n setVendorPhone(randVendor(vendors).number);\r\n }, [vendors]);\r\n /*\r\n useEffect(() => {\r\n if(usdAmount < minVendorUSDAmount) {\r\n setCoinAmount(minVendorCoinAmount)\r\n setUsdAmount(minVendorUSDAmount)\r\n\r\n } else {\r\n setCoinAmount(coinAmount)\r\n setUsdAmount(usdAmount)\r\n }\r\n }, [usdAmount, minVendorUSDAmount])*/\r\n useEffect(function () {\r\n setCoinAmount(coinAmount);\r\n setUsdAmount(usdAmount);\r\n }, [usdAmount]);\r\n return (React.createElement(Flex, { direction: \"column\", alignItems: \"center\", justifyContent: \"flex-start\", w: \"100%\", h: { base: \"auto\", md: \"100%\" }, px: \"1rem\", py: \"2rem\", overflowY: \"auto\" }, wallet && vendorPhone ?\r\n React.createElement(React.Fragment, null,\r\n React.createElement(Text, { as: \"div\", mt: \"1rem\", textAlign: \"center\", fontSize: \"1rem\", display: \"nones\" },\r\n \"Buy \",\r\n coinAmountState,\r\n \" \",\r\n coinSymbol,\r\n \" to deposit approximately \",\r\n React.createElement(Text, { as: \"span\", fontSize: \"1.5rem\", fontWeight: \"bold\" },\r\n \"$\",\r\n usdAmountState)),\r\n React.createElement(Text, { as: \"div\", mb: \"1rem\", textAlign: \"center\", fontSize: \"12px\", display: \"nones\" },\r\n \"Note that after buying \",\r\n coinSymbol,\r\n \", the amount credited to your wallet can be a little less or greater than \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n \"$\",\r\n usdAmountState),\r\n \" depending on the current price of \",\r\n coinSymbol,\r\n \" at the time of payment.\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(vendorPhone, msg) },\r\n fiatLogo,\r\n \"Pay In \",\r\n fiatName),\r\n React.createElement(Box, { display: \"none\" },\r\n React.createElement(Text, { as: \"div\", mb: \"1rem\", textAlign: \"center\", fontSize: \"1rem\" }, \"Click a Fund button below to automatically send a message to any of your crypto vendors on whatsapp to fund your wallet. Or click the \\\"Copy Message\\\" button to copy a message you can send to any of your crypto vendors on any platform to fund your wallet.\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(null, msg), target: \"_blank\" }, \"Whatsapp Fund\"),\r\n React.createElement(Button, { bg: \"green.500\", color: \"#fff\", mb: \"0.5rem\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, as: \"a\", href: whatsappLink(null, msg, true), target: \"_blank\" }, \"Whatsapp Web Fund\"),\r\n React.createElement(CopyView, { as: Button, fontWeight: \"bold\", m: \"0px !important\", mr: \"0.5\", textToCopy: msg, onCopyMessage: \"Wallet Funding Message Copied.\" }, \"Copy Message\")),\r\n contactLink ?\r\n React.createElement(Text, { as: \"div\", mt: 4, fontSize: \"12px\", textAlign: \"center\" },\r\n \"Do you want to apply as a frontbacked BNB vendor? \",\r\n React.createElement(\"a\", { href: contactLink }, \"Click here to contact us.\"))\r\n : null,\r\n usdAmount < minVendorUSDAmount ?\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", textAlign: \"center\", display: \"none\" },\r\n \"The minimum amount that can be deposited by coin purchase via Cash/Fiat is $\",\r\n minVendorUSDAmount) : null)\r\n :\r\n React.createElement(PleaseWaitForX, null)));\r\n};\r\nvar FiatDeposit = function (_a) {\r\n var vendors = _a.vendors, coinAmount = _a.coinAmount, coinSymbol = _a.coinSymbol, usdAmount = _a.usdAmount, fiatName = _a.fiatName, fiatSymbol = _a.fiatSymbol, fiatLogo = _a.fiatLogo, wallet = _a.wallet, minVendorCoinAmount = _a.minVendorCoinAmount, minVendorUSDAmount = _a.minVendorUSDAmount, props = __rest(_a, [\"vendors\", \"coinAmount\", \"coinSymbol\", \"usdAmount\", \"fiatName\", \"fiatSymbol\", \"fiatLogo\", \"wallet\", \"minVendorCoinAmount\", \"minVendorUSDAmount\"]);\r\n return (React.createElement(Box, __assign({ h: \"100%\" }, props),\r\n React.createElement(WhatsappDeposit, { vendors: vendors, minVendorCoinAmount: minVendorCoinAmount, minVendorUSDAmount: minVendorUSDAmount, coinAmount: coinAmount, coinSymbol: coinSymbol, usdAmount: usdAmount, fiatName: fiatName, fiatSymbol: fiatSymbol, fiatLogo: fiatLogo, wallet: wallet })));\r\n};\r\nexport default FiatDeposit;\r\n","import { __assign, __rest } from \"tslib\";\r\nimport { VStack } from '@chakra-ui/react';\r\nimport React, { useCallback, useEffect, useState } from 'react';\r\nimport InputBox, { TYPES } from '../widgets/InputBox';\r\nimport AppButton from '../widgets/AppButton';\r\nimport { FaChevronRight, FaCoins } from 'react-icons/fa';\r\nimport { SDK_NAME } from '../../utils/c';\r\nimport { consoleLog } from '../../utils/f';\r\nimport { Box } from '@chakra-ui/react';\r\nimport { Text } from '@chakra-ui/react';\r\nimport { HStack } from '@chakra-ui/react';\r\nvar BONUSES = [\r\n {\r\n min: 50, max: 99, bonusPct: 10, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#55af79\"\r\n },\r\n {\r\n min: 100, max: 199, bonusPct: 15, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#1E90FF\"\r\n },\r\n {\r\n min: 200, max: 499, bonusPct: 20, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#f858ae\"\r\n },\r\n {\r\n min: 500, max: 999, bonusPct: 30, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#FF7043\"\r\n },\r\n {\r\n min: 1000, max: Infinity, bonusPct: 40, icon: React.createElement(FaCoins, { size: \"1rem\" }), color: \"#c8c80b\"\r\n }\r\n];\r\nvar Bonus = function (_a) {\r\n var min = _a.min, max = _a.max, bonusPct = _a.bonusPct, icon = _a.icon, color = _a.color, props = __rest(_a, [\"min\", \"max\", \"bonusPct\", \"icon\", \"color\"]);\r\n if (max != Infinity) {\r\n return (React.createElement(HStack, __assign({ justifyContent: \"flex-start\", alignItems: \"center\", fontSize: \"0.8rem\", color: color }, props),\r\n icon,\r\n React.createElement(Text, { as: \"div\" },\r\n \"Deposit $\",\r\n min,\r\n \" to $\",\r\n max,\r\n \" and get +\",\r\n bonusPct,\r\n \"% extra credits.\")));\r\n }\r\n else {\r\n return (React.createElement(HStack, __assign({ justifyContent: \"flex-start\", alignItems: \"center\", fontSize: \"0.8rem\", color: color }, props),\r\n icon,\r\n React.createElement(Text, { as: \"div\" },\r\n \"Deposit $\",\r\n min,\r\n \" and above, and get +\",\r\n bonusPct,\r\n \"% extra credits.\")));\r\n }\r\n};\r\nvar AmountEditor = function (_a) {\r\n var amount = _a.amount, minAmount = _a.minAmount, onAmountValid = _a.onAmountValid, onSubmit = _a.onSubmit;\r\n var _b = useState(amount || 0), a = _b[0], setA = _b[1];\r\n var _c = useState(), e = _c[0], setE = _c[1];\r\n var _d = useState(\"The minimum deposit amount is $\".concat(minAmount, \". The higher your deposits, the higher the extra credits you get.\")), helperText = _d[0], setHelperText = _d[1];\r\n var getBonusText = function (amount, bonusPct) {\r\n var bonus = ((amount * bonusPct) / 100);\r\n return \"You will get $\".concat(bonus.toFixed(2), \" extra credits(+\").concat(bonusPct, \"%). Expected total credits you will receive is $\").concat((amount + bonus).toFixed(2), \".\");\r\n };\r\n useEffect(function () {\r\n if (a < minAmount) {\r\n setHelperText(\"The minimum deposit amount is $\".concat(minAmount, \". The higher your deposits, the higher the extra credits you get.\"));\r\n }\r\n else if (a < 50) {\r\n setHelperText(\"You will get $\".concat(a, \" credits. No extra credits on deposits less than $50.\"));\r\n }\r\n else if (a >= 50 && a < 100) {\r\n setHelperText(getBonusText(a, 10));\r\n }\r\n else if (a >= 100 && a < 200) {\r\n setHelperText(getBonusText(a, 15));\r\n }\r\n else if (a >= 200 && a < 500) {\r\n setHelperText(getBonusText(a, 20));\r\n }\r\n else if (a >= 500 && a < 1000) {\r\n setHelperText(getBonusText(a, 30));\r\n }\r\n else if (a >= 1000) {\r\n setHelperText(getBonusText(a, 40));\r\n }\r\n }, [a]);\r\n var validate = useCallback(function (amount, showError) {\r\n setE(\"\");\r\n if (!amount) {\r\n if (showError)\r\n setE(\"Enter an amount in dollar to deposit.\");\r\n return false;\r\n }\r\n if (amount < minAmount) {\r\n if (showError)\r\n setE(\"The amount to deposit cannot be less than $\".concat(minAmount));\r\n return false;\r\n }\r\n return true;\r\n }, []);\r\n var handleChange = useCallback(function (amt) {\r\n consoleLog(\"\".concat(SDK_NAME, \":/AmountEditor.handleChange.amount => amt: \"), amt, \" | amount: \", amount, \" a: \", a);\r\n setA(amt);\r\n if (validate(amt, true))\r\n onAmountValid(amt);\r\n }, []);\r\n var handleSubmit = useCallback(function () {\r\n if (validate(a, true))\r\n onSubmit();\r\n }, [a]);\r\n return (React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_depositAmount\"), key: \"\".concat(SDK_NAME, \"_depositAmount\"), name: \"depositAmount\", title: \"Deposit Amount\", helperText: helperText, value: a, type: TYPES.number, numberDecimals: 0, numberUnit: \"$\", mb: 4, onChange: handleChange, errorMessage: e }),\r\n React.createElement(Box, { fontWeight: \"700\", mb: 2 }, BONUSES.map(function (bonus, index) { return (React.createElement(Bonus, { key: index, min: bonus.min, max: bonus.max, bonusPct: bonus.bonusPct, icon: bonus.icon, color: bonus.color, mb: 1, cursor: \"pointer\", onClick: function () {\r\n handleChange(bonus.min);\r\n } })); })),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaChevronRight, null) }, \"Next\")));\r\n};\r\nexport default AmountEditor;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Box, Divider, Flex, HStack, Image, Tab, TabList, TabPanel, TabPanels, Tabs, VStack } from \"@chakra-ui/react\";\r\nimport { COINS, IS_TEST, LOGO_PATH, PRECISION, SDK_NAME } from '../../utils/c';\r\nimport PaymentDetected from './PaymentDetected';\r\nimport { FaPen, FaTimes } from 'react-icons/fa';\r\nimport useFirebase from '../Firebase';\r\nimport CryptoDeposit from './CryptoDeposit';\r\nimport FiatDeposit from './FiatDeposit';\r\nimport { getColor, getDefaultCoin } from '../../utils/f';\r\nimport PleaseWaitForX from '../widgets/PleaseWaitForX';\r\nimport AmountEditor from './AmountEditor';\r\nvar PayFlow = function (_a) {\r\n var show = _a.show, payAmount = _a.payAmount, walletListenerResult = _a.walletListenerResult, priceData = _a.priceData, vendors = _a.vendors, minDeposit = _a.minDeposit, minVendorDeposit = _a.minVendorDeposit, onSuccess = _a.onSuccess, onClose = _a.onClose, isDarkMode = _a.isDarkMode, contactLink = _a.contactLink, config = _a.config;\r\n var user = useFirebase(config).user;\r\n var _b = useState(payAmount || 0), amount = _b[0], setAmount = _b[1];\r\n var _c = useState(false), minDepositLoaded = _c[0], setMinDepositLoaded = _c[1];\r\n var _d = useState(getDefaultCoin()), coin = _d[0], setCoin = _d[1];\r\n var _e = useState(null), wallet = _e[0], setWallet = _e[1];\r\n var _f = useState(true), editAmount = _f[0], setEditAmount = _f[1];\r\n useEffect(function () {\r\n if (minDeposit > 0 && !minDepositLoaded) {\r\n setMinDepositLoaded(true);\r\n setAmount(!payAmount || payAmount < minDeposit ? minDeposit : payAmount);\r\n }\r\n }, [minDeposit]);\r\n useEffect(function () {\r\n //console.log(`${SDK_NAME}:/PayFlow.amount: `, amount)\r\n }, [amount]);\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n var _g = useState(), latestDeposit = _g[0], setLatestDeposit = _g[1];\r\n useEffect(function () {\r\n if (latestDepositBnbTest) {\r\n setLatestDeposit(latestDepositBnbTest);\r\n }\r\n else if (latestDepositBnb) {\r\n setLatestDeposit(latestDepositBnb);\r\n }\r\n else if (latestDepositEth) {\r\n setLatestDeposit(latestDepositEth);\r\n }\r\n }, [latestDepositBnbTest, latestDepositBnb, latestDepositEth]);\r\n if (!show)\r\n return null;\r\n return (React.createElement(Box, { position: \"fixed\", top: \"0\", left: \"0\", right: \"0\", bottom: \"0\", w: \"100%\", h: \"100%\", bg: getColor(isDarkMode, \"overlayBg\"), zIndex: \"1500\", display: \"flex\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(Flex, { flexDir: \"column\", pos: \"relative\", w: \"100%\", h: \"100%\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(Box, { w: \"100%\", maxW: { base: \"100%\", md: \"400px\" }, h: { base: \"100%\", md: \"auto\" }, m: \"0 auto\", bg: getColor(isDarkMode, \"cardBg\"), borderRadius: { base: \"0px\", md: \"8px\" }, pb: { base: \"0px\" }, boxShadow: { base: \"none\", md: \"0px 0px 10px \".concat(getColor(isDarkMode, \"cardBgShadow\")) }, pos: \"relative\", pt: { base: \"0.5rem\", md: \"0px\" }, overflowY: \"auto\", overflowX: \"hidden\" },\r\n React.createElement(HStack, { w: \"100%\", h: \"40px\", px: \"0.5rem\", justifyContent: \"flex-end\", alignItems: \"center\" },\r\n React.createElement(Box, { p: \"0.5rem\", cursor: \"pointer\", border: \"1px solid #e2e8f0\", _hover: { opacity: 0.7 }, borderRadius: \"50%\", onClick: function () {\r\n if (latestDeposit) {\r\n onSuccess(latestDeposit);\r\n }\r\n else {\r\n onClose();\r\n }\r\n } },\r\n React.createElement(FaTimes, { size: \"10px\" }))),\r\n React.createElement(Box, { display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(Box, { display: \"flex\", alignItems: \"center\" }, LOGO_PATH ?\r\n React.createElement(Image, { src: LOGO_PATH, alt: SDK_NAME, width: \"50px\", height: \"50px\" })\r\n : null),\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n user ?\r\n React.createElement(Box, { fontSize: \"11px\" }, user.email)\r\n : null,\r\n React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\", m: \"0px !important\" },\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"green\", mt: \"0px !important\" },\r\n \"$\",\r\n amount.toLocaleString(\"en\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2\r\n })),\r\n editAmount ? null :\r\n React.createElement(Box, { p: \"0px\", ml: \"5px !important\", cursor: \"pointer\", onClick: function () {\r\n setEditAmount(true);\r\n } },\r\n React.createElement(FaPen, null))))),\r\n React.createElement(Divider, { mx: \"0px !important\", mb: 2 }),\r\n minDeposit == 0 || minVendorDeposit == 0 ?\r\n React.createElement(VStack, { w: \"100%\", h: \"68vh\", justifyContent: \"center\", alignItems: \"center\" },\r\n React.createElement(PleaseWaitForX, null))\r\n :\r\n editAmount ?\r\n React.createElement(AmountEditor, { amount: amount, minAmount: minDeposit, onAmountValid: function (amount) {\r\n setAmount(amount);\r\n }, onSubmit: function () {\r\n setEditAmount(false);\r\n } })\r\n :\r\n React.createElement(Tabs, { isFitted: true },\r\n React.createElement(TabList, null,\r\n React.createElement(Tab, null, \"Bank Transfer\"),\r\n React.createElement(Tab, null, \"Crypto\")),\r\n latestDeposit ?\r\n React.createElement(PaymentDetected, { amount: latestDeposit.depositedAmountInCoin, symbol: COINS[latestDeposit.coin].symbol })\r\n :\r\n React.createElement(TabPanels, { p: \"0px !important\" },\r\n React.createElement(TabPanel, { p: \"0px !important\", w: \"100%\", h: \"68vh\" }, priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")] ?\r\n React.createElement(FiatDeposit, { contactLink: contactLink, isDarkMode: isDarkMode, vendors: vendors, minVendorCoinAmount: Number((minVendorDeposit / priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), minVendorUSDAmount: minVendorDeposit, coinAmount: Number((amount / priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), coinSymbol: COINS.bnb.symbol, wallet: IS_TEST ? walletBnbTest : walletBnb, usdAmount: amount, fiatSymbol: \"NGN\", fiatName: \"Naira\", fiatLogo: React.createElement(React.Fragment, null, \"\\u20A6\\u00A0\") })\r\n :\r\n React.createElement(PleaseWaitForX, null)),\r\n React.createElement(TabPanel, { p: \"0px !important\", w: \"100%\", h: \"68vh\" },\r\n React.createElement(CryptoDeposit, { isDarkMode: isDarkMode, amount: amount, coin: coin, setCoin: setCoin, coinSymbol: COINS[coin].symbol, coinAmount: Number((amount / priceData[\"\".concat(COINS[coin].coingecko_price_key, \"_usd\")]).toPrecision(PRECISION)), wallet: wallet, setWallet: setWallet, walletListenerResult: walletListenerResult }))))))));\r\n};\r\nexport default PayFlow;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport Web3 from \"web3\";\r\nimport { MIN_BLOCK_CHECK_INTERVAL_SECONDS } from \"../../utils/c\";\r\nvar WalletFactory = /** @class */ (function () {\r\n function WalletFactory(address, abi, rpcList, secondsPerBlock) {\r\n if (secondsPerBlock === void 0) { secondsPerBlock = 3; }\r\n var _this = this;\r\n this.rpcList = [];\r\n this.secondsPerBlock = 3;\r\n this.subscriptions = [];\r\n this.stop = false;\r\n this.lastRpcIndex = -1;\r\n this.getWeb3 = function () {\r\n if (_this.web3)\r\n return _this.web3; // Return the cached web3 if it exists\r\n // Increment the RPC index in a round-robin manner\r\n _this.lastRpcIndex = (_this.lastRpcIndex + 1) % _this.rpcList.length;\r\n var rpcUrl = _this.rpcList[_this.lastRpcIndex]; // Get the current RPC URL\r\n // Create a new web3 instance with the selected RPC URL\r\n _this.web3 = new Web3(rpcUrl);\r\n return _this.web3;\r\n };\r\n this.getContract = function () {\r\n var web3 = _this.getWeb3();\r\n return new web3.eth.Contract(_this.abi, _this.address);\r\n };\r\n this.address = address;\r\n this.abi = abi;\r\n this.rpcList = rpcList;\r\n this.secondsPerBlock = secondsPerBlock;\r\n }\r\n WalletFactory.prototype.startSubscriptions = function () {\r\n this.stop = false;\r\n };\r\n WalletFactory.prototype.stopSubscriptions = function () {\r\n this.stop = true; /*\r\n if(this.web3 && this.web3.provider && this.web3.provider.removeAllListeners) {\r\n //this.web3.provider.removeAllListeners('block')\r\n }\r\n for(const subscription of this.subscriptions) {\r\n try {\r\n subscription.unsubscribe()\r\n } catch(e) {}\r\n }\r\n this.subscriptions = []*/\r\n };\r\n WalletFactory.prototype.getSaltBalance = function (salt, blockNumber) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var paddedSalt = _this.getWeb3().utils.rightPad(_this.getWeb3().utils.asciiToHex(salt.toLowerCase()), 64);\r\n _this.getContract().methods\r\n .getSaltBalance(paddedSalt)\r\n .call({}, blockNumber || 'latest')\r\n .then(function (result) {\r\n var balanceObject = {\r\n salt: salt,\r\n paddedSalt: paddedSalt,\r\n wallet: result.wallet,\r\n isCreated: result.isCreated,\r\n balance: result.balance,\r\n blockNumber: blockNumber || \"latest\"\r\n };\r\n resolve(balanceObject);\r\n })\r\n .catch(function (error) {\r\n _this.web3 = null;\r\n reject(error);\r\n });\r\n });\r\n };\r\n WalletFactory.prototype.startBlockListener = function (callBack, lastBlock) {\r\n var _this = this;\r\n if (this.stop)\r\n return;\r\n var interval = Math.round((this.secondsPerBlock * 1000) / 2);\r\n if (interval < (MIN_BLOCK_CHECK_INTERVAL_SECONDS * 1000))\r\n interval = MIN_BLOCK_CHECK_INTERVAL_SECONDS * 1000;\r\n setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\r\n var currentBlock, _a, e_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _b.trys.push([0, 2, , 3]);\r\n _a = Number;\r\n return [4 /*yield*/, this.getCurrentBlockNumber()];\r\n case 1:\r\n currentBlock = _a.apply(void 0, [_b.sent()]);\r\n try {\r\n if (currentBlock > lastBlock)\r\n callBack(currentBlock);\r\n this.startBlockListener(callBack, currentBlock);\r\n }\r\n catch (e) {\r\n this.web3 = null;\r\n this.startBlockListener(callBack, currentBlock);\r\n }\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_1 = _b.sent();\r\n this.web3 = null;\r\n this.startBlockListener(callBack, lastBlock);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); }, interval);\r\n };\r\n WalletFactory.prototype.getCurrentBlockNumber = function () {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\r\n var blockNumber, error_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, this.getWeb3().eth.getBlockNumber()];\r\n case 1:\r\n blockNumber = _a.sent();\r\n resolve(blockNumber);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n error_1 = _a.sent();\r\n this.web3 = null;\r\n reject(error_1);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n return WalletFactory;\r\n}());\r\nexport default WalletFactory;\r\n","import { __assign, __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from 'react';\r\nimport { CHAINS_RPC_LISTS, COINS, PRECISION, PROMISE_ID, STORAGE_KEYS } from '../../../utils/c';\r\nimport WalletFactory from '../WalletFactory';\r\nimport { consoleLog, promiseResolvePending, weiToEther } from '../../../utils/f';\r\nimport useFirebase from '../../Firebase';\r\nvar useCoinListener = function (coin, decimals, requiredConfirmations, priceData, config, disableBlockchainPoll) {\r\n var TAG = \"useCoinListener\";\r\n var EMPTY_BALANCE_INFO = {\r\n hasError: false,\r\n confirmedDepositsBalance: BigInt(0),\r\n confirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDepositsBalance: BigInt(0),\r\n unconfirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDeposits: [],\r\n latestDeposit: null,\r\n salt: null,\r\n paddedSalt: null,\r\n wallet: null,\r\n walletCreated: false,\r\n confirmedDepositsBalanceInUsd: 0,\r\n unconfirmedDepositsBalanceInUsd: 0,\r\n };\r\n var user = useFirebase(config).user;\r\n var _a = useState(), currentUid = _a[0], setCurrentUid = _a[1];\r\n var _b = useState(), factory = _b[0], setFactory = _b[1];\r\n var _c = useState(EMPTY_BALANCE_INFO), confirmationBalanceInfo = _c[0], setConfirmationBalanceInfo = _c[1];\r\n var updateConfirmationsInfo = function (confirmationsInfo) {\r\n setConfirmationBalanceInfo(confirmationsInfo);\r\n //consoleLog(\"updateConfirmationsInfo: \", confirmationsInfo)\r\n };\r\n useEffect(function () {\r\n if (disableBlockchainPoll)\r\n return;\r\n if (coin && user && currentUid != user.uid && !COINS[coin].disabled) {\r\n setCurrentUid(user.uid);\r\n if (factory) {\r\n factory.stopSubscriptions();\r\n initCoin(user.uid, coin, factory);\r\n }\r\n else {\r\n // Clean up on component unmount\r\n var walletFactory_1 = new WalletFactory(COINS[coin].abiData.address, COINS[coin].abiData.abi, CHAINS_RPC_LISTS[coin], COINS[coin].secondsPerBlock);\r\n setFactory(walletFactory_1);\r\n initCoin(user.uid, coin, walletFactory_1);\r\n return function () {\r\n walletFactory_1.stopSubscriptions();\r\n };\r\n }\r\n }\r\n else if (!user) {\r\n updateConfirmationsInfo(EMPTY_BALANCE_INFO);\r\n if (factory)\r\n factory.stopSubscriptions();\r\n setCurrentUid(null);\r\n }\r\n }, [coin, user]);\r\n var initCoin = function (uid, coinKey, factory) {\r\n factory.getSaltBalance(uid)\r\n .then(function (_a) {\r\n var wallet = _a.wallet, isCreated = _a.isCreated, balance = _a.balance, salt = _a.salt, paddedSalt = _a.paddedSalt;\r\n return __awaiter(void 0, void 0, void 0, function () {\r\n var currentBlock, _b, confirmations, confirmationsInfo;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n setConfirmationBalanceInfo(__assign(__assign({}, confirmationBalanceInfo), { salt: salt, paddedSalt: paddedSalt, wallet: wallet, walletCreated: isCreated }));\r\n _b = Number;\r\n return [4 /*yield*/, factory.getCurrentBlockNumber()];\r\n case 1:\r\n currentBlock = _b.apply(void 0, [_c.sent()]);\r\n return [4 /*yield*/, getConfirmations(uid, currentBlock, requiredConfirmations, coinKey, factory)];\r\n case 2:\r\n confirmations = _c.sent();\r\n confirmationsInfo = getConfirmationsInfo(confirmations);\r\n updateConfirmationsInfo(confirmationsInfo);\r\n factory.startSubscriptions();\r\n factory.startBlockListener(function (blockNumber) { return __awaiter(void 0, void 0, void 0, function () {\r\n var confirmations_1, confirmationsInfo_1, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!user) return [3 /*break*/, 5];\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, getConfirmations(user.uid, blockNumber, requiredConfirmations, coinKey, factory)];\r\n case 2:\r\n confirmations_1 = _a.sent();\r\n confirmationsInfo_1 = getConfirmationsInfo(confirmations_1);\r\n updateConfirmationsInfo(confirmationsInfo_1);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 4: return [3 /*break*/, 6];\r\n case 5:\r\n updateConfirmationsInfo(EMPTY_BALANCE_INFO);\r\n _a.label = 6;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n }); }, currentBlock);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n })\r\n .catch(function (e) {\r\n //consoleLog(`${TAG}/e1/${coinKey} => ${e.message}`)\r\n setTimeout(function () {\r\n initCoin(uid, coinKey, factory);\r\n }, 5000);\r\n });\r\n };\r\n var getConfirmations = function (uid, currentBlock, confirmations, coin, factory) {\r\n return new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {\r\n var promises, i, _a, e_2;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n promises = [];\r\n //Check the balance in each block, starting from the past blocks to the current block\r\n for (i = currentBlock - confirmations; i <= currentBlock; i++) {\r\n //consoleLog(\"i: \", i, confirmations - (currentBlock - i))\r\n promises.push(new Promise(function (resolve, reject) { return __awaiter(void 0, void 0, void 0, function () {\r\n var confirmation, saltBalanceConfirmation, e_3;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, factory.getSaltBalance(uid, i)];\r\n case 1:\r\n confirmation = _a.sent();\r\n saltBalanceConfirmation = __assign(__assign({}, confirmation), { coin: coin, requiredConfirmations: confirmations, remainingConfirmations: confirmations - (currentBlock - confirmation.blockNumber) });\r\n resolve(saltBalanceConfirmation);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_3 = _a.sent();\r\n //consoleLog(\"Error: \", e.message)\r\n resolve({});\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); }));\r\n }\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n _a = resolve;\r\n return [4 /*yield*/, Promise.all(promises)];\r\n case 2:\r\n _a.apply(void 0, [_b.sent()]);\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_2 = _b.sent();\r\n reject(e_2);\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); });\r\n };\r\n var getConfirmationsInfo = function (confirmations) {\r\n var emptyBalanceInfo = {\r\n hasError: false,\r\n confirmedDepositsBalance: BigInt(0),\r\n confirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDepositsBalance: BigInt(0),\r\n unconfirmedDepositsBalanceInCoin: 0,\r\n unconfirmedDeposits: [],\r\n latestDeposit: null,\r\n salt: null,\r\n paddedSalt: null,\r\n wallet: null,\r\n walletCreated: false,\r\n confirmedDepositsBalanceInUsd: 0,\r\n unconfirmedDepositsBalanceInUsd: 0,\r\n };\r\n var balanceInfo = __assign({}, emptyBalanceInfo);\r\n var coinPrice = priceData[\"\".concat(COINS[coin].coingecko_price_key, \"_usd\")];\r\n var latestDeposit = null;\r\n for (var index = 0; index < confirmations.length; index++) {\r\n var confirmation = confirmations[index];\r\n if (Object.keys(confirmation).length == 0) {\r\n balanceInfo = emptyBalanceInfo;\r\n balanceInfo.hasError = true;\r\n break;\r\n }\r\n if (index > 0) {\r\n var prevConfirmation = confirmations[index - 1];\r\n if (confirmation.balance > prevConfirmation.balance) {\r\n var newDeposit = __assign(__assign({}, confirmation), { depositedAmount: (confirmation.balance - prevConfirmation.balance), depositedAmountInCoin: 0, depositedAmountInUsd: 0 });\r\n newDeposit.depositedAmountInCoin = weiToEther(newDeposit.depositedAmount, decimals, PRECISION);\r\n balanceInfo.unconfirmedDeposits.push(newDeposit);\r\n balanceInfo.unconfirmedDepositsBalance += newDeposit.depositedAmount;\r\n if (coinPrice) {\r\n newDeposit.depositedAmountInUsd = newDeposit.depositedAmountInCoin * coinPrice;\r\n //consoleLog(\"fetchPrice.coinPrice\", coinPrice, newDeposit.depositedAmountInUsd, newDeposit.depositedAmountInCoin)\r\n }\r\n if (index == confirmations.length - 1) {\r\n //balanceInfo.latestDeposit = newDeposit\r\n }\r\n latestDeposit = {\r\n blockNumber: confirmations[index].blockNumber,\r\n deposit: newDeposit\r\n };\r\n }\r\n if (index == confirmations.length - 1) {\r\n balanceInfo.confirmedDepositsBalance = (confirmation.balance - balanceInfo.unconfirmedDepositsBalance);\r\n balanceInfo.salt = confirmation.salt;\r\n balanceInfo.paddedSalt = confirmation.paddedSalt;\r\n balanceInfo.wallet = confirmation.wallet;\r\n balanceInfo.walletCreated = confirmation.isCreated;\r\n }\r\n }\r\n }\r\n //balanceInfo.latestDeposit = newDeposit\r\n if (latestDeposit) {\r\n // get the last deposit block number\r\n var lastDepositBlockNumberString = localStorage.getItem(\"\".concat(STORAGE_KEYS.LAST_DEPOSIT_BLOCK_NUMBER, \"_\").concat(coin, \"_\").concat((user === null || user === void 0 ? void 0 : user.uid) || \"\"));\r\n var lastDepositBlockNumber = 0;\r\n if (!lastDepositBlockNumberString) {\r\n lastDepositBlockNumberString = \"0\";\r\n }\r\n try {\r\n lastDepositBlockNumber = parseInt(lastDepositBlockNumberString);\r\n }\r\n catch (e) { }\r\n //If the latest deposit block number is greater than the last deposit block number,\r\n // set the latest deposit\r\n try {\r\n if (Number(latestDeposit.blockNumber) > lastDepositBlockNumber) {\r\n localStorage.setItem(\"\".concat(STORAGE_KEYS.LAST_DEPOSIT_BLOCK_NUMBER, \"_\").concat(coin, \"_\").concat((user === null || user === void 0 ? void 0 : user.uid) || \"\"), \"\".concat(latestDeposit.blockNumber));\r\n balanceInfo.latestDeposit = latestDeposit.deposit;\r\n }\r\n }\r\n catch (e) {\r\n consoleLog(\"getConfirmationsInfo.Number(latestDeposit.blockNumber.error\", e.message);\r\n }\r\n }\r\n balanceInfo.confirmedDepositsBalanceInCoin = weiToEther(balanceInfo.confirmedDepositsBalance, decimals, PRECISION);\r\n balanceInfo.unconfirmedDepositsBalanceInCoin = weiToEther(balanceInfo.unconfirmedDepositsBalance, decimals, PRECISION);\r\n if (coinPrice) {\r\n balanceInfo.confirmedDepositsBalanceInUsd = balanceInfo.confirmedDepositsBalanceInCoin * coinPrice;\r\n balanceInfo.unconfirmedDepositsBalanceInUsd = balanceInfo.unconfirmedDepositsBalanceInCoin * coinPrice;\r\n }\r\n if (balanceInfo.latestDeposit && promiseResolvePending(PROMISE_ID.deposit)) {\r\n //resolvePromise(PROMISE_ID.deposit, balanceInfo.latestDeposit)\r\n }\r\n return balanceInfo;\r\n };\r\n return [\r\n confirmationBalanceInfo.hasError,\r\n confirmationBalanceInfo.confirmedDepositsBalance,\r\n confirmationBalanceInfo.confirmedDepositsBalanceInCoin,\r\n confirmationBalanceInfo.unconfirmedDepositsBalance,\r\n confirmationBalanceInfo.unconfirmedDepositsBalanceInCoin,\r\n confirmationBalanceInfo.unconfirmedDeposits,\r\n confirmationBalanceInfo.latestDeposit,\r\n confirmationBalanceInfo.salt,\r\n confirmationBalanceInfo.paddedSalt,\r\n confirmationBalanceInfo.wallet,\r\n confirmationBalanceInfo.walletCreated,\r\n confirmationBalanceInfo.confirmedDepositsBalanceInUsd,\r\n confirmationBalanceInfo.unconfirmedDepositsBalanceInUsd,\r\n ];\r\n};\r\nexport default useCoinListener;\r\n","import { useEffect, useState } from 'react';\r\nimport useCoinListener from './useCoinListener';\r\nimport { COINS, IS_TEST } from '../../../utils/c';\r\nvar useWalletListener = function (serverTotalBalanceInUsd, priceData, config, disableBlockchainPoll) {\r\n var TAG = \"useDepositListener\";\r\n var _a = useCoinListener(COINS.bnb_testnet.key, COINS.bnb_testnet.decimals, COINS.bnb_testnet.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorBnbTest = _a[0], confirmedDepositsBalanceBnbTest = _a[1], confirmedDepositsBalanceInCoinBnbTest = _a[2], unconfirmedDepositsBalanceBnbTest = _a[3], unconfirmedDepositsBalanceInCoinBnbTest = _a[4], unconfirmedDepositsBnbTest = _a[5], latestDepositBnbTest = _a[6], saltBnbTest = _a[7], paddedSaltBnbTest = _a[8], walletBnbTest = _a[9], walletCreatedBnbTest = _a[10], confirmedDepositsBalanceInUsdBnbTest = _a[11], unconfirmedDepositsBalanceInUsdBnbTest = _a[12];\r\n var _b = useCoinListener(COINS.bnb.key, COINS.bnb.decimals, COINS.bnb.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorBnb = _b[0], confirmedDepositsBalanceBnb = _b[1], confirmedDepositsBalanceInCoinBnb = _b[2], unconfirmedDepositsBalanceBnb = _b[3], unconfirmedDepositsBalanceInCoinBnb = _b[4], unconfirmedDepositsBnb = _b[5], latestDepositBnb = _b[6], saltBnb = _b[7], paddedSaltBnb = _b[8], walletBnb = _b[9], walletCreatedBnb = _b[10], confirmedDepositsBalanceInUsdBnb = _b[11], unconfirmedDepositsBalanceInUsdBnb = _b[12];\r\n var _c = useCoinListener(COINS.ethereum.key, COINS.ethereum.decimals, COINS.ethereum.requiredConfirmations, priceData, config, disableBlockchainPoll), hasErrorEth = _c[0], confirmedDepositsBalanceEth = _c[1], confirmedDepositsBalanceInCoinEth = _c[2], unconfirmedDepositsBalanceEth = _c[3], unconfirmedDepositsBalanceInCoinEth = _c[4], unconfirmedDepositsEth = _c[5], latestDepositEth = _c[6], saltEth = _c[7], paddedSaltEth = _c[8], walletEth = _c[9], walletCreatedEth = _c[10], confirmedDepositsBalanceInUsdEth = _c[11], unconfirmedDepositsBalanceInUsdEth = _c[12];\r\n var _d = useState(0), balancePendingInUsd = _d[0], setBalancePendingInUsd = _d[1];\r\n useEffect(function () {\r\n if (IS_TEST) {\r\n setBalancePendingInUsd(unconfirmedDepositsBalanceInUsdBnbTest);\r\n }\r\n else {\r\n setBalancePendingInUsd(unconfirmedDepositsBalanceInUsdBnb + unconfirmedDepositsBalanceInUsdEth);\r\n }\r\n }, [unconfirmedDepositsBalanceInUsdBnbTest, unconfirmedDepositsBalanceInUsdBnb, unconfirmedDepositsBalanceInUsdEth]);\r\n return {\r\n hasErrorBnbTest: hasErrorBnbTest,\r\n confirmedDepositsBalanceBnbTest: confirmedDepositsBalanceBnbTest,\r\n confirmedDepositsBalanceInCoinBnbTest: confirmedDepositsBalanceInCoinBnbTest,\r\n unconfirmedDepositsBalanceBnbTest: unconfirmedDepositsBalanceBnbTest,\r\n unconfirmedDepositsBalanceInCoinBnbTest: unconfirmedDepositsBalanceInCoinBnbTest,\r\n unconfirmedDepositsBnbTest: unconfirmedDepositsBnbTest,\r\n latestDepositBnbTest: latestDepositBnbTest,\r\n saltBnbTest: saltBnbTest,\r\n paddedSaltBnbTest: paddedSaltBnbTest,\r\n walletBnbTest: walletBnbTest,\r\n walletCreatedBnbTest: walletCreatedBnbTest,\r\n confirmedDepositsBalanceInUsdBnbTest: confirmedDepositsBalanceInUsdBnbTest,\r\n unconfirmedDepositsBalanceInUsdBnbTest: unconfirmedDepositsBalanceInUsdBnbTest,\r\n hasErrorBnb: hasErrorBnb,\r\n confirmedDepositsBalanceBnb: confirmedDepositsBalanceBnb,\r\n confirmedDepositsBalanceInCoinBnb: confirmedDepositsBalanceInCoinBnb,\r\n unconfirmedDepositsBalanceBnb: unconfirmedDepositsBalanceBnb,\r\n unconfirmedDepositsBalanceInCoinBnb: unconfirmedDepositsBalanceInCoinBnb,\r\n unconfirmedDepositsBnb: unconfirmedDepositsBnb,\r\n latestDepositBnb: latestDepositBnb,\r\n saltBnb: saltBnb,\r\n paddedSaltBnb: paddedSaltBnb,\r\n walletBnb: walletBnb,\r\n walletCreatedBnb: walletCreatedBnb,\r\n confirmedDepositsBalanceInUsdBnb: confirmedDepositsBalanceInUsdBnb,\r\n unconfirmedDepositsBalanceInUsdBnb: unconfirmedDepositsBalanceInUsdBnb,\r\n hasErrorEth: hasErrorEth,\r\n confirmedDepositsBalanceEth: confirmedDepositsBalanceEth,\r\n confirmedDepositsBalanceInCoinEth: confirmedDepositsBalanceInCoinEth,\r\n unconfirmedDepositsBalanceEth: unconfirmedDepositsBalanceEth,\r\n unconfirmedDepositsBalanceInCoinEth: unconfirmedDepositsBalanceInCoinEth,\r\n unconfirmedDepositsEth: unconfirmedDepositsEth,\r\n latestDepositEth: latestDepositEth,\r\n saltEth: saltEth,\r\n paddedSaltEth: paddedSaltEth,\r\n walletEth: walletEth,\r\n walletCreatedEth: walletCreatedEth,\r\n confirmedDepositsBalanceInUsdEth: confirmedDepositsBalanceInUsdEth,\r\n unconfirmedDepositsBalanceInUsdEth: unconfirmedDepositsBalanceInUsdEth,\r\n balanceInUsd: serverTotalBalanceInUsd,\r\n balancePendingInUsd: balancePendingInUsd,\r\n };\r\n};\r\nexport default useWalletListener;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { Box, Divider, HStack, Text, VStack, Image, Button } from \"@chakra-ui/react\";\r\nimport ModalPop from '../widgets/ModalPop';\r\nimport useFirebase from '../Firebase';\r\nimport { COINS } from '../../utils/c';\r\nimport { getColor } from '../../utils/f';\r\nimport CopyView from '../widgets/CopyView';\r\nimport Swal from 'sweetalert2';\r\nvar UnconfirmedDeposit = function (_a) {\r\n var deposit = _a.deposit;\r\n return (React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\", mb: \"0.5rem\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"space-between\", alignItems: \"flex-start\" },\r\n React.createElement(HStack, { justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Image, { src: COINS[deposit.coin].logo, w: \"25px\", h: \"25px\" }),\r\n React.createElement(Text, { as: \"div\" }, COINS[deposit.coin].symbol)),\r\n React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"center\", gap: \"0rem !important\" },\r\n React.createElement(Text, { as: \"div\", lineHeight: \"50%\", mb: \"0px !important\" }, deposit.depositedAmountInCoin),\r\n deposit.depositedAmountInUsd > 0 ?\r\n React.createElement(Text, { as: \"div\", mb: \"0px !important\" },\r\n \"~ $\",\r\n (Math.floor(deposit.depositedAmountInUsd * 100) / 100).toFixed(2)) : null)),\r\n React.createElement(Text, { as: \"div\", fontStyle: \"italic\", fontSize: \"11px\" },\r\n deposit.remainingConfirmations,\r\n \" of \",\r\n deposit.requiredConfirmations,\r\n \" confirmations remaining.\"),\r\n React.createElement(Box, { w: \"90%\" },\r\n React.createElement(Divider, null))));\r\n};\r\nvar WalletTracker = function (_a) {\r\n var affPct = _a.affPct, walletListenerResult = _a.walletListenerResult, defaultDepositAmount = _a.defaultDepositAmount, balanceUpdating = _a.balanceUpdating, referralEarnings = _a.referralEarnings, onClose = _a.onClose, deposit = _a.deposit, sell = _a.sell, isDarkMode = _a.isDarkMode, requestPayment = _a.requestPayment, currentPaymentAddress = _a.currentPaymentAddress, config = _a.config;\r\n var user = useFirebase(config).user;\r\n var hasErrorBnbTest = walletListenerResult.hasErrorBnbTest, confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBalanceBnbTest = walletListenerResult.unconfirmedDepositsBalanceBnbTest, unconfirmedDepositsBalanceInCoinBnbTest = walletListenerResult.unconfirmedDepositsBalanceInCoinBnbTest, unconfirmedDepositsBnbTest = walletListenerResult.unconfirmedDepositsBnbTest, latestDepositBnbTest = walletListenerResult.latestDepositBnbTest, saltBnbTest = walletListenerResult.saltBnbTest, paddedSaltBnbTest = walletListenerResult.paddedSaltBnbTest, walletBnbTest = walletListenerResult.walletBnbTest, walletCreatedBnbTest = walletListenerResult.walletCreatedBnbTest, hasErrorBnb = walletListenerResult.hasErrorBnb, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBalanceBnb = walletListenerResult.unconfirmedDepositsBalanceBnb, unconfirmedDepositsBalanceInCoinBnb = walletListenerResult.unconfirmedDepositsBalanceInCoinBnb, unconfirmedDepositsBnb = walletListenerResult.unconfirmedDepositsBnb, latestDepositBnb = walletListenerResult.latestDepositBnb, saltBnb = walletListenerResult.saltBnb, paddedSaltBnb = walletListenerResult.paddedSaltBnb, walletBnb = walletListenerResult.walletBnb, walletCreatedBnb = walletListenerResult.walletCreatedBnb, hasErrorEth = walletListenerResult.hasErrorEth, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, unconfirmedDepositsBalanceEth = walletListenerResult.unconfirmedDepositsBalanceEth, unconfirmedDepositsBalanceInCoinEth = walletListenerResult.unconfirmedDepositsBalanceInCoinEth, unconfirmedDepositsEth = walletListenerResult.unconfirmedDepositsEth, latestDepositEth = walletListenerResult.latestDepositEth, saltEth = walletListenerResult.saltEth, paddedSaltEth = walletListenerResult.paddedSaltEth, walletEth = walletListenerResult.walletEth, walletCreatedEth = walletListenerResult.walletCreatedEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n var _b = useState(0), totalUnconfirmedDeposits = _b[0], setTotalUnconfirmedDeposits = _b[1];\r\n useEffect(function () {\r\n setTotalUnconfirmedDeposits(unconfirmedDepositsBnbTest.length + unconfirmedDepositsBnb.length + unconfirmedDepositsEth.length);\r\n }, [unconfirmedDepositsBnbTest, unconfirmedDepositsBnb, unconfirmedDepositsEth]);\r\n if (defaultDepositAmount == 0)\r\n return null;\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), onClose: onClose, isOpen: true, title: \"Frontbacked Wallet\", subtitle: user === null || user === void 0 ? void 0 : user.email },\r\n React.createElement(Box, { w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-end\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Box, { fontSize: \"11px\" }, \"Deposits\"),\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"green.500\", mt: \"0px !important\" },\r\n \"$\",\r\n (Math.floor(balanceInUsd * 100) / 100).toFixed(2))),\r\n React.createElement(Box, { display: \"flex\", justifyContent: \"flex-start\", alignItems: \"flex-end\" },\r\n React.createElement(Button, { bg: \"red.500\", mr: \"0.5rem\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n sell(\"Sign In to transfer your credits.\", \"Sign Up to transfer your credits.\");\r\n } }, \"Transfer\"),\r\n React.createElement(Button, { bg: \"green.500\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"green.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n deposit(defaultDepositAmount, \"Sign In to fund your wallet.\", \"Sign Up to fund your wallet.\")\r\n .then(function () { })\r\n .catch(function (e) { });\r\n } }, \"Fund Wallet\"))),\r\n React.createElement(Box, { w: \"100%\", display: \"flex\", justifyContent: \"space-between\", alignItems: \"flex-end\", pt: \"8px\", px: { base: \"8px\", md: \"32px\" }, borderBottom: \"\" },\r\n React.createElement(VStack, { justifyContent: \"center\", alignItems: \"flex-start\" },\r\n user ?\r\n React.createElement(Box, { fontSize: \"11px\" }, \"Referral Earnings\")\r\n : null,\r\n React.createElement(Box, { fontSize: \"1rem\", fontWeight: \"bold\", color: \"orange.500\", mt: \"0px !important\", fontStyle: referralEarnings < 0 ? 'italic' : \"normal\" }, referralEarnings < 0 ? \"Loading...\" : \"$\".concat((Math.floor(referralEarnings * 100) / 100).toFixed(2)))),\r\n React.createElement(Button, { bg: \"orange.500\", size: \"sm\", color: \"#fff\", _hover: {\r\n bg: \"orange.500 !important\",\r\n color: \"#fff !important\",\r\n opacity: { base: \"1\", lg: \"0.7\" }\r\n }, _active: {\r\n bg: \"orange.500 !important\",\r\n color: \"#fff !important\"\r\n }, onClick: function () {\r\n requestPayment()\r\n .then(function () {\r\n Swal.fire({\r\n title: \"Payment Address Submitted\",\r\n icon: \"success\",\r\n text: \"Your payment address has been successfully submitted. Payments will be processed on the 7th, 17th, and 27th of each month, provided that your referral earnings have reached or exceeded the minimum payment threshold of $20 on the respective payout days.\"\r\n });\r\n })\r\n .catch(function (e) {\r\n if (e.message.length > 0) {\r\n Swal.fire({\r\n title: \"Payment Error\",\r\n icon: \"error\",\r\n text: e.message\r\n });\r\n }\r\n });\r\n } }, currentPaymentAddress ? \"Edit Payment Address\" : \"Request Payment\")),\r\n React.createElement(Divider, { mx: \"0px !important\", my: 2 }),\r\n totalUnconfirmedDeposits > 0 ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" }, balancePendingInUsd > 0 ?\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", textAlign: \"center\" },\r\n \"You have \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n \"$\",\r\n (Math.floor(balancePendingInUsd * 100) / 100).toFixed(2),\r\n \" worth of \",\r\n totalUnconfirmedDeposits,\r\n \" crypto \",\r\n totalUnconfirmedDeposits > 1 ? \"deposits\" : \"deposit\"),\r\n \" awaiting confirmations.\")\r\n :\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", textAlign: \"center\" },\r\n \"You have \",\r\n React.createElement(Text, { as: \"span\", fontWeight: \"bold\" },\r\n totalUnconfirmedDeposits,\r\n \" \",\r\n totalUnconfirmedDeposits > 1 ? \"deposits\" : \"deposit\"),\r\n \" awaiting confirmations.\")),\r\n React.createElement(Box, { w: \"100%\", h: \"250px\", overflow: \"auto\", p: \"0.5rem\" },\r\n unconfirmedDepositsBnbTest.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); }),\r\n unconfirmedDepositsBnb.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); }),\r\n unconfirmedDepositsEth.map(function (deposit, index) { return (React.createElement(UnconfirmedDeposit, { deposit: deposit, key: index })); })))\r\n :\r\n balanceUpdating ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", fontWeight: \"500\", textAlign: \"center\", fontStyle: \"italic\" }, \"Updating your balance with confirmed deposits...\")))\r\n :\r\n React.createElement(React.Fragment, null, affPct === null || affPct === undefined ?\r\n React.createElement(VStack, { w: \"100%\" },\r\n React.createElement(HStack, { w: \"100%\", justifyContent: \"center\", alignItems: \"flex-start\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"14px\", fontWeight: \"500\", textAlign: \"center\", fontStyle: \"italic\" }, \"Checking affiliate info...\")))\r\n :\r\n affPct > 0 && config.refEnabled ?\r\n React.createElement(VStack, { w: \"100%\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(Text, { as: \"div\", m: \"0px !important\", fontSize: \"14px\" }, \"Your referral link is: \"),\r\n React.createElement(CopyView, { fontSize: \"11px\", fontWeight: \"500\", color: \"orange.500\", textDecoration: \"underline\", textAlign: \"center\", as: \"div\", m: \"0px !important\", mb: \"0.5rem\", textToCopy: \"https://\".concat(config.appDomain, \"/?ref=\").concat(user === null || user === void 0 ? void 0 : user.uid), onCopyMessage: \"Referral link copied.\" },\r\n \"https://\",\r\n config.appDomain,\r\n \"/?ref=\", user === null || user === void 0 ? void 0 :\r\n user.uid),\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", fontWeight: \"500\", textAlign: \"center\" },\r\n \"Click your unique referral link to conveniently copy it, and begin sharing it with your friends, fans, and audience. Earn a \",\r\n affPct || \"???\",\r\n \"% reward each time they make a deposit. They also enjoy a \",\r\n affPct || \"???\",\r\n \"% bonus added to their balance on each deposit for signing up with your referral link.\"),\r\n React.createElement(Text, { as: \"div\", fontSize: \"12px\", fontWeight: \"500\", textAlign: \"center\" }, \"Your earnings will be paid on the 7th, 17th, and 27th of each month.\"))\r\n : null)));\r\n};\r\nexport default WalletTracker;\r\n","import { useEffect, useState } from \"react\";\r\n// Function to get the value of a query parameter from the URL\r\nvar getQueryParamValue = function (param) {\r\n var urlSearchParams = new URLSearchParams(window.location.search);\r\n return urlSearchParams.get(param);\r\n};\r\nvar useReferralId = function () {\r\n var _a = useState(), referralId = _a[0], setReferralId = _a[1];\r\n var getReferralId = function () { return localStorage.getItem('referral_id'); };\r\n useEffect(function () {\r\n // Get the referral_id from the URL query\r\n var refId = getQueryParamValue('ref');\r\n // Check if referral_id is present in the URL\r\n if (refId) {\r\n // Save referral_id to local storage\r\n localStorage.setItem('referral_id', refId);\r\n setReferralId(refId);\r\n }\r\n else {\r\n refId = getReferralId();\r\n if (refId) {\r\n setReferralId(refId);\r\n }\r\n }\r\n }, []); // Run the effect only once on mount\r\n return {\r\n referralId: referralId,\r\n getReferralId: getReferralId\r\n };\r\n};\r\nexport default useReferralId;\r\n","import { __assign, __spreadArray } from \"tslib\";\r\nimport { useState, useEffect } from \"react\";\r\nimport useFirebase from \"../../Firebase\";\r\nimport { doc, onSnapshot, collection } from \"firebase/firestore\";\r\nimport axios from \"axios\";\r\nimport { COINS, ERROR_X, IS_TEST, PRECISION, REF_PCT, STORAGE_KEYS } from \"../../../utils/c\";\r\nimport { consoleLog, getError, weiToEther } from \"../../../utils/f\";\r\nimport useReferralId from \"./useReferralId\";\r\nimport Swal from \"sweetalert2\";\r\nvar customWindow = typeof window !== 'undefined' ? window : null;\r\nvar UPDATE_RETRIES_WAIT = [\r\n 5000,\r\n 10000,\r\n 20000,\r\n 30000,\r\n 120000\r\n];\r\nvar DEFAULT_BALANCE_DOC = {\r\n usd_balance: 0,\r\n referral_earnings: 0,\r\n bnb_payment_address: null,\r\n bnb_testnet_payment_address: null,\r\n referred_by: null\r\n};\r\nvar useServerBalanceUpdate = function (config, priceData) {\r\n if (priceData === void 0) { priceData = {}; }\r\n var _a = useFirebase(config), user = _a.user, db = _a.db;\r\n var _b = useReferralId(), referralId = _b.referralId, getReferralId = _b.getReferralId;\r\n var _c = useState(false), balanceFirstLoadDone = _c[0], setBalanceFirstLoadDone = _c[1];\r\n var _d = useState(DEFAULT_BALANCE_DOC), balanceDoc = _d[0], setBalanceDoc = _d[1];\r\n var getCoinBalanceKey = function (coin) {\r\n return \"\".concat(coin, \"_balance\").toLowerCase();\r\n };\r\n var readServerCoinBalance = function (coin) {\r\n var balance = balanceDoc[getCoinBalanceKey(coin)];\r\n if (!balance)\r\n balance = \"0\";\r\n return BigInt(balance);\r\n };\r\n var _e = useState([]), updatingCoins = _e[0], setUpdatingCoins = _e[1];\r\n var _f = useState(false), balanceUpdating = _f[0], setBalanceUpdating = _f[1];\r\n var syncConfirmedBalance = function (coinsInfo, lastWaitRetryIndex) {\r\n if (lastWaitRetryIndex === void 0) { lastWaitRetryIndex = -1; }\r\n if (!balanceFirstLoadDone)\r\n return;\r\n var coins = [];\r\n var updating = [];\r\n for (var _i = 0, _a = Object.keys(coinsInfo); _i < _a.length; _i++) {\r\n var coin = _a[_i];\r\n if (coinsInfo[coin] > readServerCoinBalance(coin)) {\r\n coins.push(coin);\r\n updating.push(\"\".concat(coin, \":\").concat(coinsInfo[coin].toString()));\r\n }\r\n }\r\n if (coins.length > 0) {\r\n setBalanceUpdating(true);\r\n //Keep track of the coins being synced with the values being synced tp avoid multiple sync request\r\n setUpdatingCoins(updating);\r\n //Send sync request for the coins that needs syncing\r\n updateBalanceDoc(coins)\r\n .then(function () {\r\n //setBalanceUpdating(false) will be called inside the snapshot when the new balance has been fetched\r\n })\r\n .catch(function (e) {\r\n var _a, _b;\r\n setBalanceUpdating(false);\r\n //errorCoins contain the coins that failed during balance update\r\n var errorCoins = (_b = (_a = e === null || e === void 0 ? void 0 : e.response) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.errorCoins;\r\n if (errorCoins) {\r\n var coinsOnly = errorCoins.map(function (coinData) { return coinData.coin; });\r\n errorCoins = coinsOnly;\r\n }\r\n else {\r\n errorCoins = Object.keys(coinsInfo);\r\n }\r\n //Get the current track of coins being synced. Might have changed by another call of \"syncConfirmedBalance\" \r\n var updatingState = __spreadArray([], updatingCoins, true);\r\n //Loop through the coins being synced\r\n for (var _i = 0, errorCoins_1 = errorCoins; _i < errorCoins_1.length; _i++) {\r\n var coin = errorCoins_1[_i];\r\n //Get the coin/balance being synced\r\n var coinState = \"\".concat(coin, \":\").concat(coinsInfo[coin].toString());\r\n //If the state still exist\r\n if (updatingState.includes(coinState)) {\r\n //Remove it so it can be available for syncing again\r\n updatingState.splice(updatingState.indexOf(coinState), 1);\r\n }\r\n }\r\n setUpdatingCoins(updatingState);\r\n //This line keeps retrying the balance update because the error is more likely to be \r\n // max file write per second error or balance update disabled error due to payout ongoing\r\n var retryIndex = lastWaitRetryIndex + 1;\r\n if (retryIndex >= UPDATE_RETRIES_WAIT.length)\r\n retryIndex = 0;\r\n setTimeout(function () {\r\n syncConfirmedBalance(coinsInfo, retryIndex);\r\n }, UPDATE_RETRIES_WAIT[retryIndex]); //Retry after 10 seconds in case it's \r\n });\r\n }\r\n };\r\n var updateBalanceDoc = function (coins, userEmail) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_balance\"), {\r\n coins: coins,\r\n referralId: getReferralId(),\r\n userEmail: userEmail\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"updateBalanceDoc:result \", result);\r\n resolve(null);\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"updateBalanceDoc:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updatePaymentAddress = function (address, coinKey, user) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_payment_address\"), {\r\n address: address,\r\n coinKey: coinKey\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"updatePaymentAddress:result \", result);\r\n resolve();\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"updatePaymentAddress:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var transferCredit = function (recipientEmail, amount, user) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject({ error: \"No User\" });\r\n }\r\n else if (amount > balanceDoc.usd_balance) {\r\n reject({ error: \"Insufficient balance. Fund your wallet and try again.\" });\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/transfer_credit\"), {\r\n recipientEmail: recipientEmail,\r\n amount: amount\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n consoleLog(\"transferCredit:result \", result);\r\n resolve();\r\n })\r\n .catch(function (error) {\r\n consoleLog(\"transferCredit:error \", error);\r\n reject(getError(error, ERROR_X));\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updateBalanceWithEarnings = function (balanceInfo) {\r\n if (!user) {\r\n setBalanceDoc(DEFAULT_BALANCE_DOC);\r\n return;\r\n }\r\n var referralEarnings = 0;\r\n if (IS_TEST) {\r\n referralEarnings = weiToEther(BigInt(balanceInfo[\"bnb_testnet_referral_earnings\"] || \"0\"), COINS.bnb_testnet.decimals, PRECISION);\r\n referralEarnings *= priceData[\"\".concat(COINS.bnb_testnet.coingecko_price_key, \"_usd\")] || -1;\r\n var referralEarnings2 = weiToEther(BigInt(balanceInfo[\"ethereum_testnet_referral_earnings\"] || \"0\"), COINS.ethereum_testnet.decimals, PRECISION);\r\n referralEarnings2 *= priceData[\"\".concat(COINS.ethereum_testnet.coingecko_price_key, \"_usd\")] || -1;\r\n referralEarnings += referralEarnings2;\r\n }\r\n else {\r\n referralEarnings = weiToEther(BigInt(balanceInfo[\"bnb_referral_earnings\"] || \"0\"), COINS.bnb.decimals, PRECISION);\r\n referralEarnings *= priceData[\"\".concat(COINS.bnb.coingecko_price_key, \"_usd\")] || -1;\r\n var referralEarnings2 = weiToEther(BigInt(balanceInfo[\"ethereum_referral_earnings\"] || \"0\"), COINS.ethereum.decimals, PRECISION);\r\n referralEarnings2 *= priceData[\"\".concat(COINS.ethereum.coingecko_price_key, \"_usd\")] || -1;\r\n referralEarnings += referralEarnings2;\r\n }\r\n var prevUsdBalanceString = localStorage.getItem(\"\".concat(STORAGE_KEYS.LAST_USD_BALANCE, \"_\").concat(user.uid));\r\n var prevUsdBalance = 0;\r\n try {\r\n prevUsdBalance = Number(prevUsdBalanceString);\r\n }\r\n catch (e) { }\r\n localStorage.setItem(\"\".concat(STORAGE_KEYS.LAST_USD_BALANCE, \"_\").concat(user.uid), \"\".concat(balanceInfo.usd_balance));\r\n var balanceIncrease = balanceInfo.usd_balance - prevUsdBalance;\r\n setBalanceDoc(__assign(__assign({}, balanceInfo), { referral_earnings: referralEarnings }));\r\n consoleLog(\"updateBalanceWithEarnings:\", balanceIncrease, balanceInfo.referred_by);\r\n if (balanceIncrease > 0 && balanceInfo.referred_by && balanceInfo.referred_by.length > 0) {\r\n var discount = (balanceIncrease * REF_PCT) / 100;\r\n Swal.fire({\r\n icon: \"info\",\r\n title: \"Friend Reward\",\r\n text: \"Congratulations! You've just received a \".concat(REF_PCT, \"% deposit friend reward, totaling $\").concat(discount.toFixed(2), \", as a token of appreciation for signing up through your friend's referral link. Enjoy this reward on SoftBaker Tools and make the most of your experience!\")\r\n });\r\n }\r\n };\r\n useEffect(function () {\r\n updateBalanceWithEarnings(balanceDoc);\r\n }, [priceData]);\r\n useEffect(function () {\r\n if (!user || !db) {\r\n setBalanceFirstLoadDone(false);\r\n setBalanceDoc({\r\n usd_balance: 0,\r\n referral_earnings: 0,\r\n bnb_payment_address: null,\r\n bnb_testnet_payment_address: null,\r\n referred_by: null,\r\n });\r\n if (customWindow && customWindow.unsubscribeBalance) {\r\n try {\r\n customWindow.unsubscribeBalance();\r\n }\r\n catch (e) { }\r\n }\r\n return;\r\n }\r\n var unsubscribe = onSnapshot(doc(collection(db, \"wallets\"), user.uid), function (snapshot) {\r\n setBalanceFirstLoadDone(true);\r\n if (snapshot.exists()) {\r\n var balanceInfo = __assign({ usd_balance: 0, referral_earnings: 0, bnb_payment_address: null, bnb_testnet_payment_address: null, referred_by: null }, snapshot.data());\r\n updateBalanceWithEarnings(balanceInfo);\r\n setBalanceUpdating(false);\r\n }\r\n else {\r\n updateBalanceWithEarnings(DEFAULT_BALANCE_DOC);\r\n setBalanceUpdating(false);\r\n }\r\n }, function (error) {\r\n consoleLog(\"userServerBaanceUpdate: Error listening to user wallet:\", error);\r\n updateBalanceWithEarnings(DEFAULT_BALANCE_DOC);\r\n setBalanceUpdating(false);\r\n });\r\n if (customWindow) {\r\n customWindow.unsubscribeBalance = unsubscribe;\r\n }\r\n return function () { return unsubscribe(); };\r\n }, [user, db]);\r\n return {\r\n usdBalance: balanceDoc.usd_balance,\r\n referralEarnings: balanceDoc.referral_earnings,\r\n bnbPaymentAddress: balanceDoc.bnb_payment_address,\r\n bnbTestnetPaymentAddress: balanceDoc.bnb_testnet_payment_address,\r\n balanceUpdating: balanceUpdating,\r\n syncConfirmedBalance: syncConfirmedBalance,\r\n updatePaymentAddress: updatePaymentAddress,\r\n transferCredit: transferCredit\r\n };\r\n};\r\nexport default useServerBalanceUpdate;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { PRICE_FETCH_INTERVAL_MINS } from \"../../../utils/c\";\r\nimport { consoleLog } from \"../../../utils/f\";\r\nvar usePriceData = function () {\r\n var _a = useState({}), priceData = _a[0], setPriceData = _a[1];\r\n var _b = useState(false), priceFetchStarted = _b[0], setPriceFetchStarted = _b[1];\r\n useEffect(function () {\r\n if (!priceFetchStarted) {\r\n setPriceFetchStarted(true);\r\n fetchPrice();\r\n }\r\n }, []);\r\n var fetchPrice = function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var priceData_1, priceDataState, _i, _a, key, e_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n _b.trys.push([0, 2, , 3]);\r\n return [4 /*yield*/, axios.get('https://api.coingecko.com/api/v3/simple/price?ids=binancecoin,ethereum&vs_currencies=usd')];\r\n case 1:\r\n priceData_1 = _b.sent();\r\n priceDataState = {};\r\n for (_i = 0, _a = Object.keys(priceData_1.data); _i < _a.length; _i++) {\r\n key = _a[_i];\r\n priceDataState[\"\".concat(key, \"_usd\")] = priceData_1.data[key].usd;\r\n }\r\n setPriceData(priceDataState);\r\n consoleLog(\"fetchPrice.data: \", priceDataState);\r\n setTimeout(function () {\r\n fetchPrice();\r\n }, PRICE_FETCH_INTERVAL_MINS * 60 * 1000);\r\n return [3 /*break*/, 3];\r\n case 2:\r\n e_1 = _b.sent();\r\n consoleLog(\"fetchPrice.Error: \", e_1.message);\r\n setTimeout(function () {\r\n fetchPrice();\r\n }, 10000);\r\n return [3 /*break*/, 3];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return priceData;\r\n};\r\nexport default usePriceData;\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from 'react';\r\nimport axios from 'axios';\r\nimport { consoleLog, isBrowser } from '../../../utils/f';\r\nvar MAX_RETRIES = 5;\r\nvar CACHE_KEY = \"sdk_config-metadata\";\r\n// let sdkConfigCache: SdkConfig | null = null;\r\n// let fetchPromise: Promise<SdkConfig | null> | null = null;\r\nvar defaultFactoryData = \"{\\n \\\"etag\\\": \\\"W/\\\"cfb2c25c60051f77c56bc81c008b2d80\\\"\\\",\\n \\\"lastModified\\\": \\\"Thu, 15 May 2025 01:41:21 GMT\\\",\\n \\\"cachedData\\\": {\\n \\\"aff_pct\\\": 10,\\n \\\"app_version_code\\\": 19,\\n \\\"contact_link\\\": \\\"https://t.me/frontbacked\\\",\\n \\\"group_link\\\": \\\"https://t.me/frontbacked\\\",\\n \\\"group_links\\\": [\\n \\\"https://t.me/frontbacked\\\"\\n ],\\n \\\"min_deposit\\\": 7,\\n \\\"min_vendor_deposit\\\": 7,\\n \\\"parent_site_home\\\": \\\"https://hackbaker.com\\\",\\n \\\"ttl_days\\\": 2,\\n \\\"vendors\\\": [\\n {\\n \\\"name\\\": \\\"JinmiEx\\\",\\n \\\"number\\\": \\\"+2348130729216\\\",\\n \\\"freq\\\": 1\\n }\\n ]\\n }\\n}\";\r\nvar useSdkConfig = function (appConfig) {\r\n var _a = useState(isBrowser() ? window.sdkConfigCache : null), sdkConfig = _a[0], setSdkConfig = _a[1];\r\n function parseVendors(vendorsAsTexts) {\r\n return vendorsAsTexts.map(function (text) {\r\n var _a = text.split(','), name = _a[0], number = _a[1], freq = _a[2];\r\n return {\r\n name: name,\r\n number: number,\r\n freq: parseInt(freq),\r\n };\r\n });\r\n }\r\n useEffect(function () {\r\n if (!(appConfig === null || appConfig === void 0 ? void 0 : appConfig.r2Domain))\r\n return;\r\n if (window.sdkConfigCache) {\r\n setSdkConfig(window.sdkConfigCache);\r\n return;\r\n }\r\n if (!window.fetchPromise) {\r\n window.fetchPromise = (function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var attempts, headers, cachedMetadata, _a, etag, lastModified, cachedData, response, config, err_1;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n attempts = 0;\r\n headers = {};\r\n cachedMetadata = localStorage.getItem(CACHE_KEY) || defaultFactoryData;\r\n if (cachedMetadata) {\r\n _a = JSON.parse(cachedMetadata), etag = _a.etag, lastModified = _a.lastModified, cachedData = _a.cachedData;\r\n if (cachedData) {\r\n window.sdkConfigCache = cachedData;\r\n setSdkConfig(cachedData);\r\n //return cachedData;\r\n }\r\n if (etag)\r\n headers[\"If-None-Match\"] = etag;\r\n if (lastModified)\r\n headers[\"If-Modified-Since\"] = lastModified;\r\n }\r\n consoleLog(\"useSdkConfig.headers: \", headers);\r\n _c.label = 1;\r\n case 1:\r\n if (!(attempts < MAX_RETRIES)) return [3 /*break*/, 6];\r\n _c.label = 2;\r\n case 2:\r\n _c.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, axios.get(\"https://\".concat(appConfig.r2Domain, \"/sdk_config.json\"), {\r\n headers: headers,\r\n validateStatus: function (status) { return status < 500; } // Accept 304 Not Modified\r\n })];\r\n case 3:\r\n response = _c.sent();\r\n if (response.status === 304) {\r\n consoleLog(\"useSdkConfig.notModied: \", response.status);\r\n return [2 /*return*/, window.sdkConfigCache];\r\n }\r\n config = response.data;\r\n config.vendors = parseVendors(response.data.vendors);\r\n window.sdkConfigCache = config;\r\n setSdkConfig(config);\r\n // Save cache metadata\r\n localStorage.setItem(CACHE_KEY, JSON.stringify({\r\n etag: response.headers[\"etag\"],\r\n lastModified: response.headers[\"last-modified\"],\r\n cachedData: config\r\n }));\r\n consoleLog(\"useSdkConfig.refreshed: \", response.data, \" at \".concat(response.headers[\"last-modified\"], \", with etag, \").concat(response.headers[\"etag\"]));\r\n return [2 /*return*/, config];\r\n case 4:\r\n err_1 = _c.sent();\r\n if (((_b = err_1.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {\r\n consoleLog(\"Error fetching SDK config: Resource not found (404): \", err_1);\r\n return [3 /*break*/, 6];\r\n }\r\n attempts++;\r\n if (attempts === MAX_RETRIES) {\r\n consoleLog(\"Error fetching SDK config: \", err_1);\r\n }\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6: return [2 /*return*/, null];\r\n }\r\n });\r\n }); })();\r\n }\r\n window.fetchPromise.then(function (config) {\r\n if (config)\r\n setSdkConfig(config);\r\n });\r\n }, [appConfig === null || appConfig === void 0 ? void 0 : appConfig.r2Domain]);\r\n return sdkConfig;\r\n};\r\nexport default useSdkConfig;\r\n","export var SUSCRIPTION_TYPES = {\r\n monthly: \"monthly\",\r\n quarterly: \"quarterly\",\r\n yearly: \"yearly\"\r\n};\r\n","import { __assign, __spreadArray } from \"tslib\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { SUSCRIPTION_TYPES } from \"../PayFlow/types\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport { Text, VStack } from \"@chakra-ui/react\";\r\nimport PleaseWaitForX from \"../widgets/PleaseWaitForX\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { amountFormatDefault, consoleLog, getColor } from \"../../utils/f\";\r\nimport { useFrontbacked } from \"../FrontbackedProvider\";\r\nimport DrawerPop from \"../widgets/DrawerPop\";\r\nvar ADMIN_PERMISSIONS = {\r\n canCreateTools: \"can_create_tools\",\r\n canEditTools: \"can_edit_tools\"\r\n};\r\nvar defaultAdminInfoPermissions = {\r\n uid: null,\r\n isAdmin: false,\r\n isToolsEditor: false,\r\n canCreateTools: false,\r\n canEditTools: false\r\n};\r\nvar DownloadType = function (_a) {\r\n var title = _a.title, config = _a.config, removeFreemiumBeforeUpdate = _a.removeFreemiumBeforeUpdate, toolId = _a.toolId, onGetTool = _a.onGetTool, freeTitle = _a.freeTitle, freeMessage = _a.freeMessage, paidTitle = _a.paidTitle, paidMessage = _a.paidMessage, updateMessage = _a.updateMessage, onSuccess = _a.onSuccess, onError = _a.onError, isDarkMode = _a.isDarkMode, renewSubscription = _a.renewSubscription, isFreemium = _a.isFreemium;\r\n var _b = useState(), downloadType = _b[0], setDownloadType = _b[1];\r\n var _c = useState(), downloadTypeError = _c[0], setDownloadTypeError = _c[1];\r\n var _d = useState(), docRules = _d[0], setDocRules = _d[1];\r\n var adminInfo = useFrontbacked().adminInfo;\r\n var _e = useState(true), autoProcessOn = _e[0], setAutoProcessOn = _e[1];\r\n var _f = useState(JSON.parse(JSON.stringify(defaultAdminInfoPermissions))), permission = _f[0], setPermission = _f[1];\r\n useEffect(function () {\r\n if (!(adminInfo === null || adminInfo === void 0 ? void 0 : adminInfo.permissions)) {\r\n setPermission({});\r\n }\r\n else {\r\n var perms = JSON.parse(JSON.stringify(defaultAdminInfoPermissions));\r\n perms.uid = adminInfo.uid;\r\n perms.isAdmin = true;\r\n perms.canCreateTools = adminInfo.permissions.includes(ADMIN_PERMISSIONS.canCreateTools);\r\n perms.canEditTools = adminInfo.permissions.includes(ADMIN_PERMISSIONS.canEditTools);\r\n perms.isToolsEditor = perms.canCreateTools || perms.canEditTools;\r\n setPermission(perms);\r\n }\r\n }, [adminInfo]);\r\n useEffect(function () {\r\n if (onGetTool && toolId) {\r\n var tool = onGetTool(toolId);\r\n consoleLog(\"DownloadType.setDocRules\", tool);\r\n setDocRules(!tool ? null : __assign(__assign({}, (docRules || {})), { allow_freemium: (tool === null || tool === void 0 ? void 0 : tool.allow_freemium) || true, create_price: (tool === null || tool === void 0 ? void 0 : tool.create_price) || 0, update_price: (tool === null || tool === void 0 ? void 0 : tool.update_price) || 0, create_price_is_monthly: (tool === null || tool === void 0 ? void 0 : tool.create_price_is_monthly) || false, yearly_price: tool === null || tool === void 0 ? void 0 : tool.yearly_price, quarterly_price: tool === null || tool === void 0 ? void 0 : tool.quarterly_price }));\r\n }\r\n }, [onGetTool, toolId]);\r\n var download = function () {\r\n setDownloadTypeError(\"\");\r\n if (permission.isToolsEditor && toolId == \"other_tools\") {\r\n onSuccess({\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"clean\") {\r\n var okResult = {\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n };\r\n if (docRules.create_price_is_monthly)\r\n okResult.subscription_type = SUSCRIPTION_TYPES.monthly;\r\n onSuccess(okResult);\r\n }\r\n else if (docRules && downloadType === \"clean_quarterly\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.quarterly_price || 0,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n subscription_type: SUSCRIPTION_TYPES.quarterly,\r\n cost: docRules.quarterly_price || 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"clean_yearly\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.yearly_price || 0,\r\n update_price: docRules.update_price,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: false,\r\n subscription_type: SUSCRIPTION_TYPES.yearly,\r\n cost: docRules.yearly_price || 0\r\n });\r\n }\r\n else if (docRules && downloadType === \"free\") {\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n }\r\n else if (docRules && updateMessage) {\r\n var updatePrice = docRules.create_price_is_monthly && renewSubscription ? docRules.create_price\r\n :\r\n docRules.allow_freemium && isFreemium ? 0 : docRules.update_price;\r\n consoleLog(\"DownloadType.updatePrice.1\", updatePrice, \"isMonth: \", docRules.create_price_is_monthly, \"isRenew\", renewSubscription);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: updatePrice,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: updatePrice\r\n });\r\n }\r\n else {\r\n setDownloadTypeError(\"Please select a type.\");\r\n }\r\n };\r\n useEffect(function () {\r\n consoleLog(\"parsedSvg:templatesUrl.docRules\", permission.isToolsEditor, toolId, docRules);\r\n setAutoProcessOn(true);\r\n if (docRules) {\r\n if (permission.isToolsEditor && toolId == \"other_tools\") {\r\n onSuccess({\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n is_create: updateMessage ? false : true,\r\n is_freemium: true,\r\n cost: 0\r\n });\r\n } //If the type is to determine creation price and freemium is not allowed, \r\n // return result without presenting the freemium option and the item is not subscription modeled\r\n else if (updateMessage && removeFreemiumBeforeUpdate && docRules.create_price > 0 && !docRules.yearly_price && !docRules.quarterly_price) {\r\n consoleLog(\"DownloadType.setDocRules.2\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine creation price and freemium is not allowed, \r\n // return result without presenting the freemium option and the item is not subscription modeled\r\n else if (!updateMessage && !docRules.allow_freemium && !docRules.yearly_price && !docRules.quarterly_price) {\r\n consoleLog(\"DownloadType.setDocRules.3\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine the creation price and the create price is 0, \r\n // return result without presenting the update price's message\r\n else if (!updateMessage && docRules.create_price == 0) {\r\n consoleLog(\"DownloadType.setDocRules.4\", docRules);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: docRules.update_price,\r\n is_create: true,\r\n is_freemium: false,\r\n cost: docRules.create_price\r\n });\r\n }\r\n //If the type is to determine the update price and the update price is > 0, \r\n // return result without presenting the update price's message\r\n else if (updateMessage && docRules.update_price >= 0 && !removeFreemiumBeforeUpdate && (!renewSubscription || (renewSubscription && !docRules.yearly_price && !docRules.quarterly_price))) {\r\n consoleLog(\"DownloadType.setDocRules.5\", docRules);\r\n var updatePrice = docRules.create_price_is_monthly && renewSubscription ? docRules.create_price\r\n :\r\n docRules.allow_freemium && isFreemium ? 0 : docRules.update_price;\r\n consoleLog(\"DownloadType.updatePrice.2\", updatePrice, \"isMonth: \", docRules.create_price_is_monthly, \"isRenew\", renewSubscription);\r\n onSuccess({\r\n allow_freemium: docRules.allow_freemium,\r\n create_price: docRules.create_price,\r\n update_price: updatePrice,\r\n is_create: false,\r\n is_freemium: false,\r\n cost: updatePrice\r\n });\r\n }\r\n else {\r\n setAutoProcessOn(false);\r\n }\r\n }\r\n }, [docRules]);\r\n if ((permission.isToolsEditor && toolId == \"other_tools\") ||\r\n !toolId || !onGetTool ||\r\n !freeTitle ||\r\n !freeMessage ||\r\n !paidTitle ||\r\n !paidMessage)\r\n return null;\r\n return (React.createElement(DrawerPop, { placement: \"bottom\", bg: getColor(isDarkMode, \"cardBg\"), height: \"75vh\", isOpen: true, title: title, onClose: function () {\r\n onError(new Error(\"\"));\r\n }, footer: autoProcessOn || !docRules ? null :\r\n React.createElement(VStack, { w: \"100%\", mt: \"1rem\", justifyContent: \"flex-start\", alignItems: \"flex-start\" },\r\n downloadTypeError ?\r\n React.createElement(Text, { as: \"div\", color: \"rgb(246, 70, 93)\", mb: 2 }, downloadTypeError)\r\n : null,\r\n React.createElement(AppButton, { onClick: download }, \"Continue\")) }, \r\n //If docRuls has not been loaded\r\n //Or it's an update that needs freemium to be replaced with premium/paid and create price > 0\r\n //Or it's not an update(it's a create) but freemium is not allowed\r\n //Or it's not an update(it's a create) but create price is 0\r\n //Or it's an update but update price is 0\r\n //Or it's an update for subscription renewal\r\n /*!docRules ||*/ /*\r\n (updateMessage && removeFreemiumBeforeUpdate && docRules.create_price > 0) ||\r\n (!updateMessage && !docRules.allow_freemium) ||\r\n (!updateMessage && docRules.create_price == 0) ||\r\n (updateMessage && docRules.update_price == 0) ||\r\n (updateMessage && renewSubscription) ||\r\n (updateMessage && renewSubscription)*/\r\n //(!updateMessage && docRules.create_price == 0) || (updateMessage && !docRules.yearly_price && !docRules.quarterly_price)?\r\n autoProcessOn || !docRules ?\r\n React.createElement(PleaseWaitForX, null)\r\n :\r\n React.createElement(React.Fragment, null, updateMessage && !docRules.yearly_price && !docRules.quarterly_price ?\r\n React.createElement(Text, { mb: \"1rem\", as: \"div\" }, paidMessage.replace(\"{PRICE}\", \"$\".concat(docRules.update_price)))\r\n :\r\n React.createElement(React.Fragment, null,\r\n React.createElement(InputBox, { type: TYPES.radio, value: downloadType, direction: \"column\", errorMessage: downloadTypeError, options: __spreadArray(__spreadArray(__spreadArray(__spreadArray([], (!updateMessage ?\r\n [\r\n {\r\n value: \"free\",\r\n title: freeTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true))),\r\n desc: freeMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)))\r\n }\r\n ]\r\n :\r\n []), true), [\r\n {\r\n value: \"clean\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)).concat(docRules.create_price_is_monthly ? \" for 1 month\" : \"\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.create_price, 2, 2, true)).concat(docRules.create_price_is_monthly ? \" for 1 month\" : \"\")) + (docRules.create_price_is_monthly ? \" It can be renewed after it expires in 1 month.\" : \"\")\r\n }\r\n ], false), (docRules.create_price_is_monthly && docRules.quarterly_price && docRules.quarterly_price > 0 ?\r\n [\r\n {\r\n value: \"clean_quarterly\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.quarterly_price, 2, 2, true), \" for 3 months\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.quarterly_price, 2, 2, true), \" for 3 months\")) + \" It can be renewed after it expires in 3 months.\"\r\n }\r\n ]\r\n :\r\n []), true), (docRules.create_price_is_monthly && docRules.yearly_price && docRules.yearly_price > 0 ?\r\n [\r\n {\r\n value: \"clean_yearly\",\r\n title: paidTitle.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.yearly_price, 2, 2, true), \" for 1 year\")),\r\n desc: paidMessage.replace(\"{PRICE}\", \"\".concat(amountFormatDefault(docRules.yearly_price, 2, 2, true), \" for 1 year\")) + \" It can be renewed after it expires in 1 year.\"\r\n }\r\n ]\r\n :\r\n []), true), onOptionName: function (v) {\r\n return React.createElement(VStack, { justifyContent: \"flex-start\", alignItems: \"flex-start\", mb: \"1rem\" },\r\n React.createElement(Text, { as: \"div\", fontSize: \"1.2rem\", fontWeight: \"bold\" }, v.title),\r\n React.createElement(Text, { as: \"div\" }, v.desc));\r\n }, onOptionValue: function (v) { return v.value; }, onChange: function (v) {\r\n setDownloadType(v);\r\n } })))));\r\n};\r\nexport default DownloadType;\r\n","import { IS_TEST, STORE_FRAME_ID } from \"./c\";\r\nimport { USE_SOFT_BAKER_REJECT_PREFIX, USE_SOFT_BAKER_RESOLVE_PREFIX, savePromise } from \"./f\";\r\nvar randTransactionKey = function () {\r\n return \"\".concat(Math.round(Math.random() * 10000000000000));\r\n};\r\nvar saveToStoreFrame = function (key, value, storageType) {\r\n return new Promise(function (resolve, reject) {\r\n var _a;\r\n // Get reference to the iframe\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (iframe) {\r\n var transactionKey = randTransactionKey();\r\n savePromise(transactionKey, resolve, reject);\r\n // Send a message to the iframe to save to cookies\r\n (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage({\r\n key: key,\r\n value: value,\r\n storageType: storageType,\r\n transactionKey: transactionKey\r\n }, IS_TEST ? \"test.com\" : \"live.com\");\r\n }\r\n else {\r\n reject(new Error(\"StoreFrame not found!\"));\r\n }\r\n });\r\n};\r\nvar getFromStoreFrame = function (key, storageType) {\r\n return new Promise(function (resolve, reject) {\r\n var _a;\r\n // Get reference to the iframe\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (iframe) {\r\n var transactionKey = randTransactionKey();\r\n savePromise(transactionKey, resolve, reject);\r\n // Send a message to the iframe to save to cookies\r\n (_a = iframe.contentWindow) === null || _a === void 0 ? void 0 : _a.postMessage({\r\n key: key,\r\n storageType: storageType,\r\n transactionKey: transactionKey\r\n }, IS_TEST ? \"test.com\" : \"live.com\");\r\n }\r\n else {\r\n reject(new Error(\"StoreFrame not found!\"));\r\n }\r\n });\r\n};\r\nexport var saveToStoreFrameCookie = function (key, value) {\r\n return saveToStoreFrame(key, value, \"cookie\");\r\n};\r\nexport var saveToStoreFrameLocalStorage = function (key, value) {\r\n return saveToStoreFrame(key, value, \"localStorage\");\r\n};\r\nexport var saveToStoreFrameSessionStorage = function (key, value) {\r\n return saveToStoreFrame(key, value, \"sessionStorage\");\r\n};\r\nexport var getFromStoreFrameCookie = function (key) {\r\n return getFromStoreFrame(key, \"cookie\");\r\n};\r\nexport var getFromStoreFrameLocalStorage = function (key) {\r\n return getFromStoreFrame(key, \"localStorage\");\r\n};\r\nexport var getFromStoreFrameSessionStorage = function (key) {\r\n return getFromStoreFrame(key, \"sessionStorage\");\r\n};\r\nexport var attachStoreFrame = function () {\r\n var iframe = document.getElementById(STORE_FRAME_ID);\r\n if (!iframe) {\r\n // Create an iframe element\r\n var newIframe = document.createElement('iframe');\r\n newIframe.id = STORE_FRAME_ID;\r\n var origin_1 = IS_TEST ? \"test.com\" : \"live.com\";\r\n newIframe.src = \"\".concat(origin_1, \"/storeframe\");\r\n newIframe.style.display = 'none !important';\r\n // Create a script element\r\n var script = document.createElement('script');\r\n script.textContent = \"\\n // Define resolvePromise and rejectPromise outside the event listener\\n const resolvePromise = (promiseId, data) => {\\n if (window[\\\"\".concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId]) {\\n window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId](data);\\n delete window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId];\\n delete window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId];\\n }\\n };\\n\\n const rejectPromise = (promiseId, error) => {\\n if (window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId]) {\\n window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId](error);\\n delete window[\\\"\").concat(USE_SOFT_BAKER_RESOLVE_PREFIX, \"\\\" + promiseId];\\n delete window[\\\"\").concat(USE_SOFT_BAKER_REJECT_PREFIX, \"\\\" + promiseId];\\n }\\n };\\n\\n // Listen for messages from the iframe\\n window.addEventListener('message', (event) => {\\n // Verify the origin of the message for security\\n if (event.origin !== '\").concat(origin_1, \"') {\\n return;\\n }\\n\\n const { transactionKey, key, value, errorMessage, storageType, type } = event.data;\\n if (type === \\\"write\\\" || type === \\\"remove\\\") {\\n resolvePromise(transactionKey, null);\\n } else if (type === \\\"read\\\") {\\n resolvePromise(transactionKey, value);\\n } else if (type === \\\"error\\\") {\\n rejectPromise(transactionKey, new Error(errorMessage));\\n }\\n });\\n \");\r\n // Append the iframe and script elements to the document body\r\n document.body.appendChild(newIframe);\r\n document.body.appendChild(script);\r\n }\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport { IS_TEST, MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS, PROMISE_ID, SDK_NAME, STORAGE_KEYS } from \"../../utils/c\";\r\nimport ModalPop from \"../widgets/ModalPop\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { FaTicketAlt } from \"react-icons/fa\";\r\nimport { consoleLog, getColor, isEthAddress, rejectPromise, resolvePromise } from \"../../utils/f\";\r\nimport useFirebase from \"../Firebase\";\r\nimport AccessTokenDoor from \"../Firebase/AccessTokenDoor\";\r\nvar PaymentRequest = function (_a) {\r\n var currentPaymentAddress = _a.currentPaymentAddress, updatePaymentAddress = _a.updatePaymentAddress, onClose = _a.onClose, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user;\r\n var _c = useState(), payAddr = _c[0], setPayAddr = _c[1];\r\n var _d = useState(), e = _d[0], setE = _d[1];\r\n var _e = useState(false), updatingAddr = _e[0], setUpdatingAddr = _e[1];\r\n var _f = useState(false), showAccessDoor = _f[0], setShowAccessDoor = _f[1];\r\n useEffect(function () {\r\n if (currentPaymentAddress)\r\n setPayAddr(currentPaymentAddress);\r\n }, [currentPaymentAddress]);\r\n var afterRecentAuth = function (addr, user) {\r\n updatePaymentAddress(addr, IS_TEST ? \"bnb_testnet\" : \"bnb\", user)\r\n .then(function () {\r\n onClose();\r\n resolvePromise(PROMISE_ID.requestPayment, null);\r\n })\r\n .catch(function (e) {\r\n if (e.code == \"expired_auth\") {\r\n setShowAccessDoor(true);\r\n consoleLog(\"afterRecentAuth:expired_auth \", e);\r\n }\r\n else {\r\n setE((e === null || e === void 0 ? void 0 : e.message) || \"An error occured. Please try again later.\");\r\n setUpdatingAddr(false);\r\n }\r\n });\r\n };\r\n var handleSubmit = function () {\r\n setE(\"\");\r\n if (!payAddr) {\r\n setE(\"Please enter your payment address\");\r\n }\r\n else if (payAddr.toLocaleLowerCase() == (currentPaymentAddress || \"\").toLocaleLowerCase()) {\r\n setE(\"The same wallet address entered. Note that once you submitted a payment wallet address, you don't need to resubmit the same wallet address to initiate payment.\");\r\n }\r\n else if (!isEthAddress(payAddr)) {\r\n setE(\"Your wallet address is invalid. Please check to make sure it's correct.\");\r\n }\r\n else {\r\n setUpdatingAddr(true);\r\n var recentLogin = localStorage.getItem(STORAGE_KEYS.LAST_LOGIN_MILLI) || 0;\r\n try {\r\n recentLogin = Number(recentLogin);\r\n }\r\n catch (e) {\r\n recentLogin = 0;\r\n }\r\n if ((Date.now() - recentLogin) / 1000 > MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS) {\r\n setShowAccessDoor(true);\r\n }\r\n else {\r\n afterRecentAuth(payAddr, user);\r\n }\r\n }\r\n };\r\n if (showAccessDoor) {\r\n return (React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: true, onSuccess: function (token, user) {\r\n consoleLog(\"PaymentRequest.AccessTokenDoor:token\", token, \" | user: \", user);\r\n afterRecentAuth(payAddr, user);\r\n setShowAccessDoor(false);\r\n }, onError: function (error) {\r\n setUpdatingAddr(false);\r\n setE((error === null || error === void 0 ? void 0 : error.message) || \"An error occured. Please try again later.\");\r\n setShowAccessDoor(false);\r\n } }));\r\n }\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Payment Address\", isOpen: true, onClose: function () {\r\n onClose();\r\n rejectPromise(PROMISE_ID.requestPayment, new Error(\"\"));\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_payaddr\"), key: \"\".concat(SDK_NAME, \"_payaddr\"), name: \"payAddr\", title: \"Payment Address\", helperText: \"Enter your BNB(Binance smart chain) wallet address to receive your payments.\", value: payAddr, type: TYPES.text, mb: 4, onChange: function (addr) {\r\n setPayAddr((addr || \"\").trim());\r\n }, errorMessage: e }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaTicketAlt, null), disabled: updatingAddr, fontStyle: updatingAddr ? \"italic\" : \"normal\" }, updatingAddr ? \"Please wait...\" : \"Submit Payment Address\"))));\r\n};\r\nexport default PaymentRequest;\r\n","import React, { useState } from \"react\";\r\nimport { VStack } from \"@chakra-ui/react\";\r\nimport { MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS, SDK_NAME, STORAGE_KEYS } from \"../../utils/c\";\r\nimport ModalPop from \"../widgets/ModalPop\";\r\nimport InputBox, { TYPES } from \"../widgets/InputBox\";\r\nimport AppButton from \"../widgets/AppButton\";\r\nimport { FaTicketAlt } from \"react-icons/fa\";\r\nimport { consoleLog, getColor, isValidEmail } from \"../../utils/f\";\r\nimport useFirebase from \"../Firebase\";\r\nimport AccessTokenDoor from \"../Firebase/AccessTokenDoor\";\r\nimport Swal from \"sweetalert2\";\r\nvar CreditTransfer = function (_a) {\r\n var usdBalance = _a.usdBalance, transferCredit = _a.transferCredit, onClose = _a.onClose, isDarkMode = _a.isDarkMode, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, user = _b.user;\r\n var _c = useState(), recipientEmail = _c[0], setRecipientEmail = _c[1];\r\n var _d = useState(), amount = _d[0], setAmount = _d[1];\r\n var _e = useState(), recipientEmailError = _e[0], setRecipientEmailError = _e[1];\r\n var _f = useState(), amountError = _f[0], setAmountError = _f[1];\r\n var _g = useState(false), sendingCredit = _g[0], setSendingCredit = _g[1];\r\n var _h = useState(false), showAccessDoor = _h[0], setShowAccessDoor = _h[1];\r\n var showError = function (error) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"An error occurred\",\r\n text: error\r\n });\r\n };\r\n var afterRecentAuth = function (r, a, user) {\r\n transferCredit(r, a, user)\r\n .then(function () {\r\n Swal.fire({\r\n icon: \"success\",\r\n title: \"Transfer successful\",\r\n text: \"$\".concat(a, \" was successfully transfered to \").concat(r)\r\n });\r\n onClose();\r\n //resolvePromise(PROMISE_ID.creditTransfer, null)\r\n })\r\n .catch(function (e) {\r\n if (e.code == \"expired_auth\") {\r\n setShowAccessDoor(true);\r\n consoleLog(\"afterRecentAuth:expired_auth \", e);\r\n }\r\n else {\r\n consoleLog(\"afterRecentAuth:!expired_auth \", e);\r\n showError((e === null || e === void 0 ? void 0 : e.message) || \"An error occured. Please try again later.\");\r\n setSendingCredit(false);\r\n }\r\n });\r\n };\r\n var handleSubmit = function () {\r\n setRecipientEmailError(\"\");\r\n setAmountError(\"\");\r\n var hasErrors = false;\r\n if (!recipientEmail) {\r\n setRecipientEmailError(\"Please enter the recipient email address.\");\r\n hasErrors = true;\r\n }\r\n else if (!isValidEmail(recipientEmail)) {\r\n setRecipientEmailError(\"Please enter a valid recipient email address.\");\r\n hasErrors = true;\r\n }\r\n if (!amount) {\r\n setAmountError(\"Please enter the amount of credits to send.\");\r\n hasErrors = true;\r\n }\r\n else if (amount < 1) {\r\n setAmountError(\"The minimum amount you can send is $1.\");\r\n hasErrors = true;\r\n }\r\n else if (amount > usdBalance) {\r\n setAmountError(\"Insufficient balance. Fund your wallet and try again.\");\r\n hasErrors = true;\r\n }\r\n if (!hasErrors) {\r\n setSendingCredit(true);\r\n var recentLogin = localStorage.getItem(STORAGE_KEYS.LAST_LOGIN_MILLI) || 0;\r\n try {\r\n recentLogin = Number(recentLogin);\r\n }\r\n catch (e) {\r\n recentLogin = 0;\r\n }\r\n if ((Date.now() - recentLogin) / 1000 > MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS) {\r\n setShowAccessDoor(true);\r\n }\r\n else {\r\n afterRecentAuth(recipientEmail, amount, user);\r\n }\r\n }\r\n };\r\n if (showAccessDoor) {\r\n return (React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: true, onSuccess: function (token, user) {\r\n consoleLog(\"CreditTransfer.AccessTokenDoor:token\", token, \" | user: \", user);\r\n afterRecentAuth(recipientEmail, amount, user);\r\n setShowAccessDoor(false);\r\n }, onError: function (error) {\r\n setSendingCredit(false);\r\n showError((error === null || error === void 0 ? void 0 : error.message) || \"An error occured. Please try again later.\");\r\n setShowAccessDoor(false);\r\n } }));\r\n }\r\n return (React.createElement(ModalPop, { bg: getColor(isDarkMode, \"cardBg\"), title: \"Transfer Credit\", isOpen: true, onClose: function () {\r\n onClose();\r\n //rejectPromise(PROMISE_ID.creditTransfer, new Error(\"\"))\r\n } },\r\n React.createElement(VStack, { p: \"1rem !important\", w: \"100%\", h: \"68vh\", justifyContent: \"flex-start\", alignItems: \"center\" },\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_addr\"), key: \"\".concat(SDK_NAME, \"_addr\"), name: \"addr\", title: \"Recipient Email Address\", helperText: \"Enter the email address of the user you want to transfer your credits to.\", value: recipientEmail, type: TYPES.text, mb: 4, onChange: function (email) {\r\n setRecipientEmail((email || \"\").trim());\r\n }, errorMessage: recipientEmailError }),\r\n React.createElement(InputBox, { zIndex: \"10\", id: \"\".concat(SDK_NAME, \"_amount\"), key: \"\".concat(SDK_NAME, \"_amount\"), name: \"amount\", title: \"Transfer Amount\", helperText: \"Enter the amount to transfer. The minimum amount you can transfer is $1\", value: amount, type: TYPES.number, numberDecimals: 0, numberUnit: \"$\", mb: 4, onChange: function (a) {\r\n setAmount(a);\r\n }, errorMessage: amountError }),\r\n React.createElement(AppButton, { alignSelf: \"flex-start\", onClick: handleSubmit, rightIcon: React.createElement(FaTicketAlt, null), disabled: sendingCredit, fontStyle: sendingCredit ? \"italic\" : \"normal\" }, sendingCredit ? \"Please wait...\" : \"Send Credit\"))));\r\n};\r\nexport default CreditTransfer;\r\n","/**\r\n * Removes a specific query string parameter from a URL.\r\n * @param {string} url - The original URL.\r\n * @param {string} queryString - The query string parameter to remove.\r\n * @returns {string} - The updated URL without the specified query string parameter.\r\n */\r\nexport function removeQueryString(url, queryString) {\r\n try {\r\n // Create a URL object\r\n var urlObj = new URL(url);\r\n // Remove the specified query string parameter\r\n urlObj.searchParams.delete(queryString);\r\n // Return the updated URL as a string\r\n return urlObj.toString();\r\n }\r\n catch (error) {\r\n console.error('Invalid URL:', error, url);\r\n return url; // Return the original URL if there's an error\r\n }\r\n}\r\n/**\r\n * Converts an array of objects to a map using a specified attribute as the key.\r\n *\r\n * @param {Array<Object>} arr - The array of objects to be converted.\r\n * @param {string} attr - The attribute to use as the key for the mapping.\r\n * @returns {Object} - An object mapping each unique attribute value to its corresponding item.\r\n */\r\nexport function arrayToMap(attr, arr, keyParser) {\r\n return arr.reduce(function (map, item) {\r\n var key = item[attr];\r\n if (keyParser)\r\n key = keyParser(key);\r\n if (key !== undefined) {\r\n map[key] = item;\r\n }\r\n return map;\r\n }, {});\r\n}\r\nexport function removeUpdateQueryString(url) {\r\n return removeQueryString(url, 'updates');\r\n}\r\nexport var rmUpdates = function (url) {\r\n if (!url)\r\n return null;\r\n try {\r\n return removeUpdateQueryString(url);\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n};\r\n","import { __awaiter, __generator } from \"tslib\";\r\nimport { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { arrayToMap, rmUpdates } from \"./utils\";\r\nimport { consoleLog, isBrowser } from \"../../../../utils/f\";\r\nvar MAX_RETRIES = 5;\r\nvar CACHE_KEY = \"tools-cache-metadata\";\r\n// let toolsCache: ToolsData | null = null;\r\n// let toolsFetchPromise: Promise<ToolsData | null> | null = null;\r\nvar defaultFactoryData = \"{\\n \\\"etag\\\": \\\"W/\\\"97cce03e8c6f6c8092dfac11069679e7\\\"\\\",\\n \\\"lastModified\\\": \\\"Fri, 23 May 2025 17:24:27 GMT\\\",\\n \\\"cachedData\\\": {\\n \\\"totalUpdates\\\": 1,\\n \\\"lastUpdatedOn\\\": \\\"Fri, 23 May 2025 17:24:18 GMT\\\",\\n \\\"tools\\\": [\\n {\\n \\\"id\\\": \\\"U8SL1BvlIb1nxj4JNCNX\\\",\\n \\\"siteUrl\\\": \\\"/bank\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"isActive\\\": true,\\n \\\"isHidden\\\": false,\\n \\\"update_price\\\": 0.1,\\n \\\"allow_freemium\\\": true,\\n \\\"create_price_is_monthly\\\": true,\\n \\\"rank\\\": 1,\\n \\\"icon\\\": \\\"Building\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-U8SL1BvlIb1nxj4JNCNX.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Online Banking Website\\\",\\n \\\"chat_supported\\\": true,\\n \\\"create_price\\\": 20000,\\n \\\"quarterly_price\\\": 50000,\\n \\\"yearly_price\\\": 150000,\\n \\\"create_price_discount\\\": 0,\\n \\\"description\\\": \\\"Create an online banking website for your content. No more building a custom online banking website from scratch every time you need to film a banking scene.\\\",\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"profilePhoto,string,0,300,true,true,false\\\",\\n \\\"email,string,0,64,true,true,false\\\",\\n \\\"phone,string,0,32,true,true,false\\\",\\n \\\"accountType,string,0,64,true,true,false\\\",\\n \\\"gender,string,0,64,true,true,false\\\",\\n \\\"maritalStatus,string,0,64,true,true,false\\\",\\n \\\"dob,string,0,16,true,true,false\\\",\\n \\\"password,string,6,16,true,true,false\\\",\\n \\\"pin,number,1000,9999,true,true,false\\\",\\n \\\"address,string,0,128,true,true,false\\\",\\n \\\"occupation,string,0,64,true,true,false\\\",\\n \\\"accountNumber_username,number,9000000000,9999999999,false,true,false\\\",\\n \\\"fullname,string,0,64,true,true,false\\\",\\n \\\"currencySymbol,string,0,64,true,true,false\\\",\\n \\\"disableAccount,boolean,0,8,true,true,false\\\",\\n \\\"accountBalance,number,0,999999999999999,true,false,false\\\",\\n \\\"autoRenewSubscription,boolean,0,8,true,true,false\\\",\\n \\\"credits,array:string:1:200,0,10,true,false,false\\\",\\n \\\"debits,array:string:1:200,0,10,true,false,false\\\",\\n \\\"totalCredits,number,0,999999999999999,true,false,false\\\",\\n \\\"totalDebits,number,0,999999999999999,true,false,false\\\",\\n \\\"disableAccountError,string,1,500,true,false,false\\\",\\n \\\"noTxGeneration,boolean,0,8,false,false,false\\\",\\n \\\"isHidden,boolean,1,8,true,false,false\\\",\\n \\\"isActive,boolean,1,8,true,false,false\\\",\\n \\\"txProcessingDuration,string,1,64,true,true,false\\\",\\n \\\"isInActive,boolean,0,8,true,false,false\\\"\\n ],\\n \\\"tool_version_code\\\": 7\\n },\\n {\\n \\\"id\\\": \\\"0QZLQQKVTRV3Q6SFAIEA\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"createdAt\\\": {\\n \\\"_seconds\\\": 1733770038,\\n \\\"_nanoseconds\\\": 796000000\\n },\\n \\\"is_static\\\": false,\\n \\\"isActive\\\": true,\\n \\\"is_freemium\\\": true,\\n \\\"icon\\\": \\\"ShippingFast\\\",\\n \\\"isHidden\\\": false,\\n \\\"editables\\\": \\\"Shipping_Status@small.select, error_message.textarea, expected_arrival_date.date\\\",\\n \\\"templates_url\\\": \\\"/templates/templates-awsuv5ba.json?updates=23\\\",\\n \\\"youtube\\\": null,\\n \\\"mobileVideoUrl\\\": null,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"allow_freemium\\\": true,\\n \\\"chat_supported\\\": true,\\n \\\"create_price\\\": 10000,\\n \\\"message\\\": \\\"ID_TITLE == Tracking ID\\nLINK == zendcargo.com\\nCONTENT == Track your shipment using the tracking ID above at the tracking website: {LINK}.\\\",\\n \\\"description\\\": \\\"Create a shipping invoice with a tracking website for your content. No more building a custom shipping site from scratch every time you need to film a shipping scene.\\\",\\n \\\"update_price\\\": 200,\\n \\\"updatedAt\\\": {\\n \\\"_seconds\\\": 1746816982,\\n \\\"_nanoseconds\\\": 404000000\\n },\\n \\\"rank\\\": 2,\\n \\\"name\\\": \\\"Shipping\\\",\\n \\\"parent\\\": \\\"\\\",\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"expectedArrivalDate,time,0,0,true,true,false\\\",\\n \\\"invoiceNumber,string,1,16,false,true,false\\\",\\n \\\"packageContent,string,1,64,false,true,false\\\",\\n \\\"packageDestinationAddress,string,1,64,false,true,false\\\",\\n \\\"packageDestinationEmail,string,1,256,false,true,false\\\",\\n \\\"packageDestinationPhone,string,1,16,false,true,false\\\",\\n \\\"packageRecipientName,string,1,128,false,true,false\\\",\\n \\\"packageWeight,string,1,32,false,true,false\\\",\\n \\\"senderEmail,string,1,256,false,true,false\\\",\\n \\\"senderName,string,1,128,false,true,false\\\",\\n \\\"shipmentDate,time,0,0,false,true,false\\\",\\n \\\"shipmentFee,string,0,32,false,true,false\\\",\\n \\\"shippingStatus,string,1,32,true,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"costCurrency,string,0,64,false,false,false\\\",\\n \\\"errorMessage,string,1,500,true,false,false\\\"\\n ],\\n \\\"tool_version_code\\\": 7,\\n \\\"freemiumDownloadMessage\\\": \\\"The shipping invoice will have watermark. The tracking website will also have a \\\"fake tracking\\\" message.\\\",\\n \\\"premiumDownloadMessage\\\": \\\"The shipping invoice will be clean with no watermark. The tracking website will also be clean with no \\\"fake tracking\\\" message.\\\",\\n \\\"templates\\\": [\\n {\\n \\\"id\\\": \\\"hwd7x6ou\\\",\\n \\\"name\\\": \\\"Shipping Invoice with Tracking Website\\\",\\n \\\"logo\\\": \\\"https://r2.frontbacked.com/templates/templates-awsuv5ba-hwd7x6ou-logo.jpeg\\\",\\n \\\"data_url\\\": \\\"https://r2.frontbacked.com/templates/templates-awsuv5ba-hwd7x6ou-data.json?updates=1\\\",\\n \\\"is_default\\\": true,\\n \\\"split_on_download\\\": false,\\n \\\"thumbnail\\\": \\\"https://r2.frontbacked.com/templates/tools-awsuv5ba-hwd7x6ou-thumbnail.jpg?updates=1&tct=1748021058263\\\"\\n }\\n ]\\n },\\n {\\n \\\"id\\\": \\\"5vCsgJJVsFYhV4dZYQdI\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"name\\\": \\\"Invoice\\\",\\n \\\"isActive\\\": true,\\n \\\"isHidden\\\": false,\\n \\\"allow_freemium\\\": true,\\n \\\"siteUrl\\\": \\\"/invoice\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-5vCsgJJVsFYhV4dZYQdI.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"description\\\": \\\"Create a payment invoice easily.\\\",\\n \\\"rank\\\": 3,\\n \\\"update_price\\\": 200,\\n \\\"create_price\\\": 5000,\\n \\\"x\\\": [\\n \\\"authorId,uid,0,0,false,true,false\\\",\\n \\\"createdAt,current_time,0,0,false,true,false\\\",\\n \\\"updatedAt,current_time,0,0,true,true,true\\\",\\n \\\"companyName,string,2,64,false,true,false\\\",\\n \\\"companyAddress,string,2,64,false,true,false\\\",\\n \\\"customerName,string,2,64,false,true,false\\\",\\n \\\"customerAddress,string,2,64,false,true,false\\\",\\n \\\"invoiceNumber,string,2,64,false,true,false\\\",\\n \\\"date,time,0,0,false,true,false\\\",\\n \\\"currency,string,2,64,false,true,false\\\",\\n \\\"items,object_array:{description@string_1_90|quantity@number_1_1000000000000000|price@number_1_1000000000000000},1,6,false,true,false\\\",\\n \\\"paymentDetails,string,2,256,false,false,false\\\",\\n \\\"vat,number,0,99,false,true,false\\\",\\n \\\"logo,string,0,64,false,false,false\\\",\\n \\\"waterMarkWithLogo,boolean,0,64,false,true,false\\\",\\n \\\"grayScaleWaterMark,boolean,0,64,false,true,false\\\"\\n ],\\n \\\"tool_version_code\\\": 2\\n },\\n {\\n \\\"id\\\": \\\"tDYsSHDnF58hFCf3nUTk\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"icon\\\": \\\"Coins\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Face Swap Video Call\\\",\\n \\\"siteUrl\\\": \\\"/face-swap-video-call\\\",\\n \\\"isActive\\\": true,\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-tDYsSHDnF58hFCf3nUTk.jpg?v=2\\\",\\n \\\"rank\\\": 4,\\n \\\"isHidden\\\": false\\n },\\n {\\n \\\"id\\\": \\\"XFXW1s8LlhiJnZKPbdWX\\\",\\n \\\"siteUrl\\\": \\\"/invest\\\",\\n \\\"mobileVideoUrl\\\": null,\\n \\\"is_static\\\": true,\\n \\\"desktopVideoUrl\\\": null,\\n \\\"isActive\\\": false,\\n \\\"icon\\\": \\\"MoneyBillAlt\\\",\\n \\\"siteLogoUrl\\\": \\\"/templates/tool-XFXW1s8LlhiJnZKPbdWX.jpg\\\",\\n \\\"authorId\\\": \\\"f6dcBr3nBJQNLeRwN1ZeHYTZqGC2\\\",\\n \\\"youtube\\\": null,\\n \\\"name\\\": \\\"Investment Website\\\",\\n \\\"rank\\\": 5,\\n \\\"isHidden\\\": false\\n }\\n ]\\n }\\n}\";\r\nvar setR2Host = function (url, r2Domain) {\r\n if (!url)\r\n return url;\r\n if (url.startsWith('/')) {\r\n return \"https://\".concat(r2Domain).concat(url);\r\n }\r\n try {\r\n var parsedUrl = new URL(url);\r\n parsedUrl.host = r2Domain;\r\n parsedUrl.protocol = 'https:'; // force https\r\n return parsedUrl.toString();\r\n }\r\n catch (err) {\r\n console.error('Invalid URL:', url);\r\n return url; // fallback\r\n }\r\n};\r\nvar useTools = function (config) {\r\n var _a = useState(isBrowser() ? window.toolsCache : null), data = _a[0], setData = _a[1];\r\n var _b = useState(!isBrowser() || !window.toolsCache), loading = _b[0], setLoading = _b[1];\r\n var _c = useState(null), error = _c[0], setError = _c[1];\r\n var _d = useState(null), toolsById = _d[0], setToolsById = _d[1];\r\n var _e = useState(null), toolsByTemplatesUrl = _e[0], setToolsByTemplatesUrl = _e[1];\r\n useEffect(function () {\r\n if (!(config === null || config === void 0 ? void 0 : config.r2Domain))\r\n return;\r\n if (window.toolsCache) {\r\n setData(window.toolsCache);\r\n setLoading(false);\r\n consoleLog(\"useTools.returns as toolsCache already exist: \", window.toolsCache);\r\n return;\r\n }\r\n if (!window.toolsFetchPromise) {\r\n window.toolsFetchPromise = (function () { return __awaiter(void 0, void 0, void 0, function () {\r\n var attempts, headers, cachedMetadata, _a, etag, lastModified, cachedData, response, err_1;\r\n var _b;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n attempts = 0;\r\n headers = {};\r\n cachedMetadata = localStorage.getItem(CACHE_KEY) || defaultFactoryData;\r\n if (cachedMetadata) {\r\n _a = JSON.parse(cachedMetadata), etag = _a.etag, lastModified = _a.lastModified, cachedData = _a.cachedData;\r\n if (cachedData) {\r\n window.toolsCache = cachedData;\r\n setData(cachedData);\r\n //setLoading(false);\r\n //return cachedData;\r\n }\r\n if (etag)\r\n headers[\"If-None-Match\"] = etag;\r\n if (lastModified)\r\n headers[\"If-Modified-Since\"] = lastModified;\r\n }\r\n consoleLog(\"useTools.headers: \", headers);\r\n _c.label = 1;\r\n case 1:\r\n if (!(attempts < MAX_RETRIES)) return [3 /*break*/, 6];\r\n _c.label = 2;\r\n case 2:\r\n _c.trys.push([2, 4, , 5]);\r\n return [4 /*yield*/, axios.get(\"https://\".concat(config.r2Domain, \"/templates/tools.json\"), {\r\n headers: headers,\r\n validateStatus: function (status) { return status < 500; }, // Accept 304 Not Modified\r\n })];\r\n case 3:\r\n response = _c.sent();\r\n if (response.status === 304) {\r\n setLoading(false);\r\n consoleLog(\"useTools.notModied: \", response.status);\r\n return [2 /*return*/, window.toolsCache];\r\n }\r\n window.toolsCache = response.data;\r\n setData(response.data);\r\n setError(null);\r\n // Save cache metadata\r\n localStorage.setItem(CACHE_KEY, JSON.stringify({\r\n etag: response.headers[\"etag\"],\r\n lastModified: response.headers[\"last-modified\"],\r\n cachedData: response.data,\r\n }));\r\n consoleLog(\"useTools.refreshed: \", response.data, \" at \".concat(response.headers[\"last-modified\"], \", with etag, \").concat(response.headers[\"etag\"]));\r\n return [2 /*return*/, response.data];\r\n case 4:\r\n err_1 = _c.sent();\r\n if (((_b = err_1.response) === null || _b === void 0 ? void 0 : _b.status) === 404) {\r\n setError(\"Resource not found (404)\");\r\n return [3 /*break*/, 6];\r\n }\r\n attempts++;\r\n if (attempts === MAX_RETRIES) {\r\n setError(\"Failed to fetch data after multiple attempts\");\r\n }\r\n return [3 /*break*/, 5];\r\n case 5: return [3 /*break*/, 1];\r\n case 6:\r\n setLoading(false);\r\n return [2 /*return*/, null];\r\n }\r\n });\r\n }); })();\r\n }\r\n window.toolsFetchPromise.then(function (result) {\r\n if (result)\r\n setData(result);\r\n });\r\n }, [config === null || config === void 0 ? void 0 : config.r2Domain]);\r\n useEffect(function () {\r\n if ((data === null || data === void 0 ? void 0 : data.tools) && !loading && !error) {\r\n setToolsById(arrayToMap(\"id\", data.tools || []));\r\n setToolsByTemplatesUrl(arrayToMap(\"templates_url\", data.tools || [], function (url) { return rmUpdates(setR2Host(url, config.r2Domain)); }));\r\n }\r\n }, [data, loading, error]);\r\n var getTool = function (toolId) {\r\n if (!toolsById)\r\n return null;\r\n if (toolId === \"other_tools\") {\r\n return {\r\n id: toolId,\r\n name: \"Tool Editor\",\r\n description: \"Create tools for other users\",\r\n isActive: true,\r\n isHidden: true,\r\n siteLogoUrl: \"\",\r\n siteUrl: \"/tool-editor\",\r\n allow_freemium: true,\r\n create_price: 0,\r\n update_price: 0,\r\n desktopVideoUrl: \"\",\r\n mobileVideoUrl: \"\",\r\n };\r\n }\r\n return toolsById[toolId];\r\n };\r\n return {\r\n loading: loading,\r\n error: error,\r\n totalUpdates: data === null || data === void 0 ? void 0 : data.totalUpdates,\r\n lastUpdatedOn: data === null || data === void 0 ? void 0 : data.lastUpdatedOn,\r\n previouslyUpdatedOn: data === null || data === void 0 ? void 0 : data.previouslyUpdatedOn,\r\n tools: data === null || data === void 0 ? void 0 : data.tools,\r\n toolsById: toolsById,\r\n toolsByTemplatesUrl: toolsByTemplatesUrl,\r\n getTool: getTool,\r\n };\r\n};\r\nexport default useTools;\r\n","import { __assign } from \"tslib\";\r\nimport React, { useEffect, useState, createContext, useContext } from 'react';\r\n//import \"./FrontbackedProvider.scss\";\r\nimport AuthView from '../Firebase/AuthView';\r\nimport useFirebase from '../Firebase';\r\nimport { consoleLog, downloadSvgAsImage, rejectPromise, resolvePromise, savePromise, updateLogSettings } from '../../utils/f';\r\nimport { COINS, PROMISE_ID, SDK_NAME, STORAGE_KEYS, IS_TEST } from '../../utils/c';\r\nimport AccessTokenDoor from '../Firebase/AccessTokenDoor';\r\nimport PayFlow from '../PayFlow';\r\nimport useWalletListener from '../PayFlow/hooks/useWalletListener';\r\nimport WalletTracker from '../WalletTracker';\r\nimport useServerBalanceUpdate from '../PayFlow/hooks/useServerBalanceUpdate';\r\nimport usePriceData from '../PayFlow/hooks/usePriceData';\r\nimport axios from 'axios';\r\nimport useSdkConfig from '../PayFlow/hooks/useSdkConfig';\r\nimport DownloadType from '../DownloadType';\r\nimport { saveToStoreFrameCookie, saveToStoreFrameLocalStorage, saveToStoreFrameSessionStorage, getFromStoreFrameCookie, getFromStoreFrameLocalStorage, getFromStoreFrameSessionStorage } from '../../utils/storeframer';\r\nimport PaymentRequest from '../PaymentRequest';\r\nimport Swal from 'sweetalert2';\r\nimport CreditTransfer from '../CreditTransfer';\r\nimport useTools from '../PayFlow/hooks/useTools';\r\nimport { rmUpdates } from '../PayFlow/hooks/useTools/utils';\r\nimport useReferralId from '../PayFlow/hooks/useReferralId';\r\nvar SoftBakerContext = createContext({});\r\nexport { rmUpdates };\r\nvar FrontbackedProvider = function (_a) {\r\n var enableLog = _a.enableLog, children = _a.children, isDarkMode = _a.isDarkMode, disableBlockchainPoll = _a.disableBlockchainPoll, config = _a.config;\r\n var _b = useFirebase(config), auth = _b.auth, db = _b.db, user = _b.user, authLoading = _b.authLoading, setUser = _b.setUser, uploadFile = _b.uploadFile, adminInfo = _b.adminInfo;\r\n var _c = useState(), showAuth = _c[0], setShowAuth = _c[1];\r\n var _d = useState(), signInTitle = _d[0], setSignInTitle = _d[1];\r\n var _e = useState(), signUpTitle = _e[0], setSignUpTitle = _e[1];\r\n var _f = useState(), showAccessTokenDoor = _f[0], setShowAccessTokenDoor = _f[1];\r\n var _g = useState(0), walletTrackerDefaultDepositAmount = _g[0], setWalletTrackerDefaultDepositAmount = _g[1];\r\n var _h = useState(), dowloadTypeProps = _h[0], setDowloadTypeProps = _h[1];\r\n var _j = useState({ showPayFlow: false, payAmount: 0 }), payFlowInfo = _j[0], setPayFlowInfo = _j[1];\r\n var _k = useState(false), showPaymentRequest = _k[0], setShowPaymentRequest = _k[1];\r\n var _l = useState(false), showCreditTransfer = _l[0], setShowCreditTransfer = _l[1];\r\n var sdkConfig = useSdkConfig(config);\r\n var getTool = useTools(config).getTool;\r\n useEffect(function () {\r\n updateLogSettings(enableLog);\r\n }, [enableLog]);\r\n var priceData = usePriceData();\r\n var _m = useServerBalanceUpdate(config, priceData), usdBalance = _m.usdBalance, balanceUpdating = _m.balanceUpdating, syncConfirmedBalance = _m.syncConfirmedBalance, updatePaymentAddress = _m.updatePaymentAddress, transferCredit = _m.transferCredit, bnbPaymentAddress = _m.bnbPaymentAddress, bnbTestnetPaymentAddress = _m.bnbTestnetPaymentAddress, referralEarnings = _m.referralEarnings;\r\n var walletListenerResult = useWalletListener(usdBalance, priceData, config, disableBlockchainPoll);\r\n useEffect(function () {\r\n consoleLog(\"\".concat(SDK_NAME, \": sdkConfig/currentTool\"), sdkConfig);\r\n }, [sdkConfig]);\r\n var confirmedDepositsBalanceBnbTest = walletListenerResult.confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceInCoinBnbTest = walletListenerResult.confirmedDepositsBalanceInCoinBnbTest, confirmedDepositsBalanceBnb = walletListenerResult.confirmedDepositsBalanceBnb, confirmedDepositsBalanceInCoinBnb = walletListenerResult.confirmedDepositsBalanceInCoinBnb, confirmedDepositsBalanceEth = walletListenerResult.confirmedDepositsBalanceEth, confirmedDepositsBalanceInCoinEth = walletListenerResult.confirmedDepositsBalanceInCoinEth, balanceInUsd = walletListenerResult.balanceInUsd, balancePendingInUsd = walletListenerResult.balancePendingInUsd;\r\n useEffect(function () {\r\n var _a;\r\n if (user === null || user === void 0 ? void 0 : user.uid) {\r\n syncConfirmedBalance((_a = {},\r\n _a[COINS.bnb_testnet.key] = confirmedDepositsBalanceBnbTest,\r\n _a[COINS.bnb.key] = confirmedDepositsBalanceBnb,\r\n _a[COINS.ethereum_testnet.key] = confirmedDepositsBalanceEth,\r\n _a));\r\n }\r\n }, [confirmedDepositsBalanceBnbTest, confirmedDepositsBalanceBnb, confirmedDepositsBalanceEth, usdBalance]);\r\n var signIn = function (signInTitle, signUpTitle) {\r\n return new Promise(function (resolve, reject) {\r\n savePromise(PROMISE_ID.signIn, resolve, reject);\r\n setSignInTitle(signInTitle);\r\n setSignUpTitle(signUpTitle);\r\n setShowAuth(true);\r\n });\r\n };\r\n var signOut = function () {\r\n if (auth)\r\n return auth.signOut();\r\n return new Promise(function (resolve, reject) {\r\n resolve(null);\r\n });\r\n };\r\n var getAccessToken = function (maxAgeMilli) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"signed-out\"));\r\n }\r\n else {\r\n var now = new Date();\r\n var lastLoginDate = new Date();\r\n lastLoginDate.setTime(user.metadata.lastLoginAt);\r\n var timeDiff = now.getTime() - lastLoginDate.getTime();\r\n if (!maxAgeMilli || timeDiff <= maxAgeMilli) {\r\n user.getIdToken()\r\n .then(function (token) {\r\n resolve(token);\r\n })\r\n .catch(function (e) {\r\n reject(e);\r\n });\r\n }\r\n else {\r\n savePromise(PROMISE_ID.getAccessToken, resolve, reject);\r\n setShowAccessTokenDoor(true);\r\n }\r\n }\r\n });\r\n };\r\n var createDoc = function (docId, doc, user, staticToolCollection, dynamicToolId) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"Sign In required\"));\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/create_doc\"), {\r\n collection: staticToolCollection,\r\n docId: docId,\r\n doc: doc,\r\n dynamicToolId: dynamicToolId\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n resolve(result.data);\r\n })\r\n .catch(function (error) {\r\n var _a;\r\n reject(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || { error: error === null || error === void 0 ? void 0 : error.message });\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var updateDoc = function (docId, doc, staticToolCollection, dynamicToolId) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n reject(new Error(\"Sign In required\"));\r\n }\r\n else {\r\n user.getIdToken().then(function (authToken) {\r\n axios.post(\"\".concat(IS_TEST ? config === null || config === void 0 ? void 0 : config.serverBaseUrlTest : config === null || config === void 0 ? void 0 : config.serverBaseUrlLive, \"/update_doc\"), {\r\n collection: staticToolCollection,\r\n docId: docId,\r\n doc: doc,\r\n dynamicToolId: dynamicToolId\r\n }, {\r\n headers: {\r\n Authorization: authToken,\r\n },\r\n })\r\n .then(function (result) {\r\n resolve(result.data);\r\n })\r\n .catch(function (error) {\r\n var _a;\r\n reject(((_a = error === null || error === void 0 ? void 0 : error.response) === null || _a === void 0 ? void 0 : _a.data) || { error: error === null || error === void 0 ? void 0 : error.message });\r\n });\r\n });\r\n }\r\n });\r\n };\r\n var deposit = function (amount, signInTitle, signUpTitle) {\r\n return new Promise(function (resolve, reject) {\r\n if (!user) {\r\n signIn(signInTitle, signUpTitle)\r\n .then(function (user) {\r\n savePromise(PROMISE_ID.deposit, resolve, reject);\r\n setPayFlowInfo({ showPayFlow: true, payAmount: amount });\r\n })\r\n .catch(function (e) {\r\n reject(e);\r\n });\r\n }\r\n else {\r\n savePromise(PROMISE_ID.deposit, resolve, reject);\r\n setPayFlowInfo({ showPayFlow: true, payAmount: amount });\r\n }\r\n });\r\n };\r\n var sell = function (signInTitle, signUpTitle) {\r\n if (!user) {\r\n signIn(signInTitle, signUpTitle)\r\n .then(function (user) {\r\n setShowCreditTransfer(true);\r\n })\r\n .catch(function (e) {\r\n Swal.fire({\r\n icon: \"error\",\r\n title: \"An error occurred\",\r\n text: e.message\r\n });\r\n });\r\n }\r\n else {\r\n setShowCreditTransfer(true);\r\n }\r\n };\r\n var showWallet = function (amount) {\r\n setWalletTrackerDefaultDepositAmount(amount);\r\n };\r\n var getDownloadType = function (downloadTypeProps) {\r\n return new Promise(function (resolve, reject) {\r\n savePromise(PROMISE_ID.downloadType, resolve, reject);\r\n setDowloadTypeProps(downloadTypeProps);\r\n });\r\n };\r\n var requestPayment = function () {\r\n return new Promise(function (resolve, reject) {\r\n var error = null;\r\n if (referralEarnings < 0) {\r\n error = \"Please wait for your referral earnings to load.\";\r\n }\r\n else if (referralEarnings == 0) {\r\n error = \"You have no referral earnings yet. Share your referral link to start earning.\";\r\n }\r\n else if (referralEarnings < config.minRefWithdrawal) {\r\n error = \"You're yet to reach the payment threshold of $\".concat(config.minRefWithdrawal, \". Share your referral link to earn more.\");\r\n }\r\n if (error) {\r\n reject(new Error(error));\r\n }\r\n else {\r\n savePromise(PROMISE_ID.requestPayment, resolve, reject);\r\n setShowPaymentRequest(true);\r\n }\r\n });\r\n };\r\n var resources = {\r\n auth: auth,\r\n db: db,\r\n user: user,\r\n authLoading: authLoading,\r\n uploadFile: uploadFile,\r\n adminInfo: adminInfo,\r\n signIn: signIn,\r\n signOut: signOut,\r\n createDoc: createDoc,\r\n updateDoc: updateDoc,\r\n deposit: deposit,\r\n showWallet: showWallet,\r\n sdkConfig: sdkConfig,\r\n contact_link: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.contact_link,\r\n group_link: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.group_link,\r\n group_links: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.group_links,\r\n parent_site_home: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.parent_site_home,\r\n aff_pct: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.aff_pct,\r\n balanceInUsd: walletListenerResult.balanceInUsd,\r\n balancePendingInUsd: walletListenerResult.balancePendingInUsd,\r\n unconfirmedDepositsCount: walletListenerResult.unconfirmedDepositsBnbTest.length +\r\n walletListenerResult.unconfirmedDepositsBnb.length +\r\n walletListenerResult.unconfirmedDepositsEth.length,\r\n downloadSvgAsImage: downloadSvgAsImage,\r\n getDownloadType: getDownloadType,\r\n saveToStoreFrameCookie: saveToStoreFrameCookie,\r\n saveToStoreFrameLocalStorage: saveToStoreFrameLocalStorage,\r\n saveToStoreFrameSessionStorage: saveToStoreFrameSessionStorage,\r\n getFromStoreFrameCookie: getFromStoreFrameCookie,\r\n getFromStoreFrameLocalStorage: getFromStoreFrameLocalStorage,\r\n getFromStoreFrameSessionStorage: getFromStoreFrameSessionStorage\r\n };\r\n return (React.createElement(SoftBakerContext.Provider, { value: resources },\r\n children,\r\n !showAuth ? null :\r\n React.createElement(AuthView, { config: config, isDarkMode: isDarkMode, show: showAuth, setUser: setUser, signInTitle: signInTitle, signUpTitle: signUpTitle, onSuccess: function (user) {\r\n setShowAuth(false);\r\n localStorage.setItem(STORAGE_KEYS.LAST_LOGIN_MILLI, \"\".concat(Date.now()));\r\n resolvePromise(PROMISE_ID.signIn, user);\r\n }, onError: function (error) {\r\n setShowAuth(false);\r\n rejectPromise(PROMISE_ID.signIn, error);\r\n } }),\r\n !showAccessTokenDoor ? null :\r\n React.createElement(AccessTokenDoor, { config: config, isDarkMode: isDarkMode, show: showAccessTokenDoor, onSuccess: function (token) {\r\n setShowAccessTokenDoor(false);\r\n resolvePromise(PROMISE_ID.getAccessToken, token);\r\n }, onError: function (error) {\r\n setShowAccessTokenDoor(false);\r\n rejectPromise(PROMISE_ID.getAccessToken, error);\r\n } }),\r\n !payFlowInfo.showPayFlow ? null :\r\n React.createElement(PayFlow, { config: config, contactLink: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.contact_link, isDarkMode: isDarkMode, show: payFlowInfo.showPayFlow, payAmount: payFlowInfo.payAmount, walletListenerResult: walletListenerResult, vendors: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.vendors, minDeposit: (sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.min_deposit) || 0, minVendorDeposit: (sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.min_vendor_deposit) || 0, priceData: priceData, onSuccess: function (latestDeposit) {\r\n setPayFlowInfo({ showPayFlow: false, payAmount: 0 });\r\n resolvePromise(PROMISE_ID.deposit, latestDeposit);\r\n }, onClose: function () {\r\n setPayFlowInfo({ showPayFlow: false, payAmount: 0 });\r\n } }),\r\n payFlowInfo.showPayFlow || !walletTrackerDefaultDepositAmount ? null :\r\n React.createElement(WalletTracker, { config: config, isDarkMode: isDarkMode, walletListenerResult: walletListenerResult, affPct: sdkConfig === null || sdkConfig === void 0 ? void 0 : sdkConfig.aff_pct, referralEarnings: referralEarnings, requestPayment: requestPayment, deposit: deposit, sell: sell, balanceUpdating: balanceUpdating, defaultDepositAmount: walletTrackerDefaultDepositAmount, currentPaymentAddress: IS_TEST ? bnbTestnetPaymentAddress : bnbPaymentAddress, onClose: function () {\r\n setWalletTrackerDefaultDepositAmount(0);\r\n } }),\r\n !showCreditTransfer ? null :\r\n React.createElement(CreditTransfer, { config: config, isDarkMode: isDarkMode, usdBalance: usdBalance, transferCredit: transferCredit, onClose: function () {\r\n setShowCreditTransfer(false);\r\n } }),\r\n !showPaymentRequest ? null :\r\n React.createElement(PaymentRequest, { config: config, isDarkMode: isDarkMode, currentPaymentAddress: IS_TEST ? bnbTestnetPaymentAddress : bnbPaymentAddress, updatePaymentAddress: updatePaymentAddress, onClose: function () {\r\n setShowPaymentRequest(false);\r\n } }),\r\n React.createElement(DownloadType, __assign({ config: config, isDarkMode: isDarkMode }, (dowloadTypeProps ? dowloadTypeProps : {}), { onGetTool: function (id) {\r\n return getTool(id);\r\n }, onSuccess: function (result) {\r\n setDowloadTypeProps(null);\r\n consoleLog(\"parsedSvg:templatesUrl.<DownloadType\", result, \"dowloadTypeProps: \", dowloadTypeProps);\r\n resolvePromise(PROMISE_ID.downloadType, result);\r\n }, onError: function (error) {\r\n setDowloadTypeProps(null);\r\n consoleLog(\"parsedSvg:templatesUrl.<DownloadType.error\", error, \"dowloadTypeProps: \", dowloadTypeProps);\r\n setDowloadTypeProps(null);\r\n rejectPromise(PROMISE_ID.downloadType, error);\r\n } }))));\r\n};\r\nfunction useFrontbacked() {\r\n return useContext(SoftBakerContext);\r\n}\r\nexport { FrontbackedProvider, useFrontbacked, useSdkConfig, useTools, useReferralId };\r\n"],"names":["theme","navbarShadow","light","dark","overlayBg","selectCoinBg","transferWarningBg","cardBg","cardBgShadow","cardBgInverse","cardBgHover","dividerColor","loadingColor","error","LIB_LOGO","BNB_LOGO","ETH_LOGO","PROMISE_ID","signIn","getAccessToken","deposit","downloadType","requestPayment","creditTransfer","IS_TEST","PRECISION","PRICE_FETCH_INTERVAL_MINS","MIN_BLOCK_CHECK_INTERVAL_SECONDS","CHAINS_RPC_LISTS","bnb","bnb_testnet","ethereum","ethereum_testnet","COINS","coingecko_price_key","disabled","decimals","requiredConfirmations","priority","key","symbol","name","depositWarning","secondsPerBlock","logo","abiData","WalletFactoryBsc","WalletFactoryTestnet","WalletFactoryEth","WalletFactoryGoerli","SDK_NAME","STORE_FRAME_ID","concat","STORAGE_KEYS","ENABLED_LOG","SDK_CONFIG","DOC_RULES","LAST_DEPOSIT_BLOCK_NUMBER","LAST_LOGIN_MILLI","LAST_USD_BALANCE","USER","LOGO_PATH","MAX_RISKY_OPERATION_LOGIN_AGE_IN_SECONDS","REF_PCT","ERROR_X","CustomError","_super","__extends","message","code","_newTarget","constructor","_this","call","Object","setPrototypeOf","prototype","Error","Decimal","require","isEthAddress","address","Web3","utils","toChecksumAddress","e","weiToEther","bigIntValue","decimalPlaces","precision","bigDecimalValue","toString","Number","div","pow","toNumber","toPrecision","nullOrEmpty","d","length","isVoid","value","undefined","isValidEmail","email","test","USE_SOFT_BAKER_RESOLVE_PREFIX","USE_SOFT_BAKER_REJECT_PREFIX","promiseResolvePending","promiseId","window","savePromise","resolve","reject","pollInterval","resolvePromise","data","rejectPromise","updateLogSettings","enableLog","localStorage","setItem","consoleLog","args","_i","arguments","console","log","apply","isEnabled","getItem","whatsappLink","phoneNumber","isWeb","replace","getDefaultCoin","defaultCoin","lastPriority","_a","keys","coin","downloadSvgAsImage","svgString","format","fileName","Promise","svgBlob","Blob","type","svgUrl","URL","createObjectURL","img","Image","onload","canvas","document","createElement","width","height","context","getContext","drawImage","dataUrl","toDataURL","imageBlob","dataURLToBlob","isiPhone","binaryData","iphoneBlob","iphoneUrl","downloadLink","href","download","click","revokeObjectURL","src","dataURL","arr","split","mime","match","bstr","atob","n","u8arr","Uint8Array","charCodeAt","navigator","userAgent","getColor","isDarkMode","colorName","color","getError","defaultMessage","_b","response","request","amountFormatDefault","v","minFD","maxFD","noZeroDecimals","isNaN","resolvedMaxFD","resolvedMinFD","factor","Math","roundedValue","floor","formatted","toLocaleString","minimumFractionDigits","maximumFractionDigits","includes","intPart","decimalPart","isBrowser","DrawerPop","bg","children","placement","onClose","isOpen","isClosable","closeOnOverlayClick","title","footer","hideModeSwitch","h","maxH","maxHeight","w","maxW","maxWidth","props","__rest","useState","height2","setHeight","_c","width2","setWidth","_d","borderTopLeftRadius","setBorderTopLeftRadius","_e","borderTopRightRadius","setBorderTopRightRadius","_f","borderBottomLeftRadius","setBorderBottomLeftRadius","_g","borderBottomRightRadius","setBorderBottomRightRadius","useEffect","handleBackButton","event","preventDefault","addEventListener","removeEventListener","React","Drawer","DrawerOverlay","DrawerContent","__assign","DrawerHeader","borderBottomWidth","display","justifyContent","alignItems","Text","as","fontSize","base","md","textTransform","HStack","Box","onClick","cursor","FaTimes","size","DrawerBody","DrawerFooter","AppButton","variant","bgColor","outlineColor","leftIcon","rightIcon","loading","outline","Button","p","letterSpacing","textAlign","borderRadius","border","borderColor","boxShadow","opacity","transition","_hover","_disabled","mr","ThreeDots","ml","InfoLabel","info","onInfo","i","Swal","fire","icon","text","confirmButtonText","showCancelButton","flexWrap","mx","mb","marginInlineStart","marginInlineEnd","FaInfoCircle","arraysEqual","array1","array2","l","Array","countryCodes","TYPES","number","range","date","phone","password","select","select_tree","textarea","checkbox","checklist","radio","none","location","price","extractNumberFromString","numberRegex","numParts","mantissa","result","InputBox","id","locale","onChange","onFocus","onCheckInfo","onKeyDown","errorMessage","helperText","placeholder","options","onOptionValue","onOptionName","defaultCountry","phoneSelectBg","phoneSelectColor","numberDecimals","hasNegOverflow","numberUnit","rangeMinPlaceholder","minTitle","rangeMaxPlaceholder","maxTitle","maxTextLimit","direction","resize","disableCalendar","disableClock","dateFormat","iconLeft","iconRight","apiKey","mapToSearchRatio","twoDigitCountryCode","inputRef","defaultLatlng","geotype","showPassword","setShowPassword","decimalsSet","setDecimalsSet","parseNum","num","__spreadArray","changeNumber","target","increaseNumber","numberSteps","decreaseNumber","updateRangeValue","useCallback","min","max","parseFloat","countryCodesMap","setCountryCodesMap","countruesToCurrency","customList","setChecklist","isArray","searchActive","setSearchActive","handleInputCheck","getLatestValue","onValueIsLatest","checker","waitTime","setTimeout","check","checkedValue","then","memoizedOptions","useMemo","map","FormControl","isInvalid","FormLabel","InputGroup","InputLeftElement","Select","ref","errorBorderColor","InputRightElement","Input","PhoneInput","background","_focusVisible","getNumberInfo","codes","parsePhoneNumber","countryCode","country","currencyCode","dialingCode","countryCallingCode","inflatedValue","onBlur","px","m","FaEyeSlash","FaEye","FaMinus","FaPlus","alignSelf","pb","Textarea","isDisabled","RegExp","Checkbox","isChecked","checked","Flex","flexDirection","index","sm","selected","all","onlySelected","all_1","selectedService","push","RadioGroup","Stack","Radio","VStack","FormErrorMessage","FormHelperText","memo","Link","useFirebase","config","app","setApp","analytics","setAnalytics","auth","setAuth","db","setDb","user","setUser","adminInfo","setAdminInfo","authLoading","setAuthLoading","_h","storage","setStorage","firebaseConfig","theApp","initializeApp","theDb","getFirestore","theAuth","getAuth","theAnalytics","getAnalytics","theStorage","getStorage","unsubscribe","onAuthStateChanged","onSnapshot","doc","collection","uid","docSnapshot","exists","uploadFile","file","pathToFile","fileRef","storageRef","uploadBytes","snapshot","getDownloadURL","url","SignInView","onAuthDone","setEmail","emailError","setEmailError","setPassword","passwordError","setPasswordError","requesting","setRequesting","clearErrors","forgotPass","pass_1","codeSettings","sendPasswordResetEmail","msg","sendRequest","maxRetries","triedTimes","signInWithEmailAndPassword","userCredential","handleSubmit","hasError","fontStyle","mt","SignUpView","fullname","setFullname","password2","setPassword2","fullnameError","setFullnameError","_j","_k","passwordError2","setPasswordError2","_l","createUserWithEmailAndPassword","updateProfile","displayName","sendVerification","__awaiter","__generator","label","trys","sent","e_1","e_2","sendEmailVerification","AuthView","show","signInTitle","signUpTitle","onSuccess","onError","showSignIn","setShowSignIn","handleAuthLinkClick","appName","minH","Fragment","textDecoration","fontWeight","ModalPop","subtitle","noHeader","Modal","isCentered","ModalOverlay","ModalContent","ModalHeader","ModalBody","ModalFooter","AccessTokenDoor","setE","authenticating","setAuthenticating","auntentication","getIdToken","token","Date","now","zIndex","FaSignInAlt","StatusCoin","status","colors","success","bgGradient","FaCheck","timeout","FaClock","FaTimesCircle","PaymentDetected","amount","loadersMap","Audio","BallTriangle","Bars","Blocks","Circles","CirclesWithBar","ColorRing","Comment","Discuss","Dna","Grid","FallingLines","FidgetSpinner","Hearts","InfinitySpin","LineWave","MagnifyingGlass","MutatingDots","Oval","ProgressBar","Puff","RevolvingDot","RotatingSquare","RotatingLines","Rings","TailSpin","ThreeCircles","Triangle","RotatingTriangles","Watch","Vortex","Loading","audio","bars","ballTrinagle","circles","grid","hearts","oval","puff","rings","tailSpin","threeDots","PleaseWaitForX","pos","Types","refCode","link","shillText","refLink","copyOk","CopyView","textToCopy","copyType","maxChars","onCopyMessage","toast","useToast","setValue","useClipboard","hasCopied","onCopy","maxLength","half","round","substring","slice","description","duration","FaCopy","CryptoDeposit","setCoin","coinAmount","coinSymbol","wallet","setWallet","walletListenerResult","copySuccess","setCopySuccess","handleCopy","clipboard","writeText","hasErrorBnbTest","confirmedDepositsBalanceBnbTest","confirmedDepositsBalanceInCoinBnbTest","unconfirmedDepositsBalanceBnbTest","unconfirmedDepositsBalanceInCoinBnbTest","unconfirmedDepositsBnbTest","latestDepositBnbTest","saltBnbTest","paddedSaltBnbTest","walletBnbTest","walletCreatedBnbTest","hasErrorBnb","confirmedDepositsBalanceBnb","confirmedDepositsBalanceInCoinBnb","unconfirmedDepositsBalanceBnb","unconfirmedDepositsBalanceInCoinBnb","unconfirmedDepositsBnb","latestDepositBnb","saltBnb","paddedSaltBnb","walletBnb","walletCreatedBnb","hasErrorEth","confirmedDepositsBalanceEth","confirmedDepositsBalanceInCoinEth","unconfirmedDepositsBalanceEth","unconfirmedDepositsBalanceInCoinEth","unconfirmedDepositsEth","latestDepositEth","saltEth","paddedSaltEth","walletEth","walletCreatedEth","balanceInUsd","balancePendingInUsd","QRCode","fgColor","ecLevel","logoImage","logoWidth","logoHeight","removeQrCodeBehindLogo","toFixed","borderBottom","textOverflow","whiteSpace","overflowX","right","top","bottom","FaCheckCircle","htmlFor","c","FaExclamationTriangle","WhatsappDeposit","contactLink","vendors","usdAmount","fiatSymbol","fiatName","fiatLogo","minVendorCoinAmount","minVendorUSDAmount","vendorPhone","setVendorPhone","coinAmountState","setCoinAmount","usdAmountState","setUsdAmount","setMsg","randVendor","cryproVendors","cryproVendors_1","vendor","freq","random","py","overflowY","lg","_active","FiatDeposit","BONUSES","bonusPct","FaCoins","Infinity","Bonus","AmountEditor","minAmount","onAmountValid","onSubmit","a","setA","setHelperText","getBonusText","bonus","validate","showError","handleChange","amt","FaChevronRight","PayFlow","payAmount","priceData","minDeposit","minVendorDeposit","setAmount","minDepositLoaded","setMinDepositLoaded","editAmount","setEditAmount","latestDeposit","setLatestDeposit","position","left","flexDir","pt","alt","FaPen","Divider","Tabs","isFitted","TabList","Tab","depositedAmountInCoin","TabPanels","TabPanel","WalletFactory","abi","rpcList","subscriptions","stop","lastRpcIndex","getWeb3","web3","rpcUrl","getContract","eth","Contract","startSubscriptions","stopSubscriptions","getSaltBalance","salt","blockNumber","paddedSalt","rightPad","asciiToHex","toLowerCase","methods","balanceObject","isCreated","balance","startBlockListener","callBack","lastBlock","interval","currentBlock","getCurrentBlockNumber","error_1","getBlockNumber","useCoinListener","disableBlockchainPoll","EMPTY_BALANCE_INFO","confirmedDepositsBalance","BigInt","confirmedDepositsBalanceInCoin","unconfirmedDepositsBalance","unconfirmedDepositsBalanceInCoin","unconfirmedDeposits","walletCreated","confirmedDepositsBalanceInUsd","unconfirmedDepositsBalanceInUsd","currentUid","setCurrentUid","factory","setFactory","confirmationBalanceInfo","setConfirmationBalanceInfo","updateConfirmationsInfo","confirmationsInfo","initCoin","walletFactory_1","coinKey","confirmations","getConfirmations","getConfirmationsInfo","confirmations_1","confirmationsInfo_1","promises","confirmation","saltBalanceConfirmation","remainingConfirmations","e_3","emptyBalanceInfo","balanceInfo","coinPrice","prevConfirmation","newDeposit","depositedAmount","depositedAmountInUsd","lastDepositBlockNumberString","lastDepositBlockNumber","parseInt","useWalletListener","serverTotalBalanceInUsd","confirmedDepositsBalanceInUsdBnbTest","unconfirmedDepositsBalanceInUsdBnbTest","confirmedDepositsBalanceInUsdBnb","unconfirmedDepositsBalanceInUsdBnb","confirmedDepositsBalanceInUsdEth","unconfirmedDepositsBalanceInUsdEth","setBalancePendingInUsd","UnconfirmedDeposit","gap","lineHeight","WalletTracker","affPct","defaultDepositAmount","balanceUpdating","referralEarnings","sell","currentPaymentAddress","totalUnconfirmedDeposits","setTotalUnconfirmedDeposits","my","overflow","refEnabled","appDomain","getQueryParamValue","param","urlSearchParams","URLSearchParams","search","get","useReferralId","referralId","setReferralId","getReferralId","refId","customWindow","UPDATE_RETRIES_WAIT","DEFAULT_BALANCE_DOC","usd_balance","referral_earnings","bnb_payment_address","bnb_testnet_payment_address","referred_by","useServerBalanceUpdate","balanceFirstLoadDone","setBalanceFirstLoadDone","balanceDoc","setBalanceDoc","getCoinBalanceKey","readServerCoinBalance","updatingCoins","setUpdatingCoins","setBalanceUpdating","syncConfirmedBalance","coinsInfo","lastWaitRetryIndex","coins","updating","updateBalanceDoc","errorCoins","coinsOnly","coinData","updatingState","errorCoins_1","coinState","splice","indexOf","retryIndex","userEmail","authToken","axios","post","serverBaseUrlLive","headers","Authorization","updatePaymentAddress","transferCredit","recipientEmail","updateBalanceWithEarnings","referralEarnings2","prevUsdBalanceString","prevUsdBalance","balanceIncrease","discount","unsubscribeBalance","usdBalance","bnbPaymentAddress","bnbTestnetPaymentAddress","usePriceData","setPriceData","priceFetchStarted","setPriceFetchStarted","fetchPrice","priceData_1","priceDataState","usd","MAX_RETRIES","CACHE_KEY","defaultFactoryData","useSdkConfig","appConfig","sdkConfigCache","sdkConfig","setSdkConfig","parseVendors","vendorsAsTexts","r2Domain","fetchPromise","attempts","cachedMetadata","etag","lastModified","cachedData","err_1","JSON","parse","validateStatus","stringify","SUSCRIPTION_TYPES","monthly","quarterly","yearly","ADMIN_PERMISSIONS","canCreateTools","canEditTools","defaultAdminInfoPermissions","isAdmin","isToolsEditor","DownloadType","removeFreemiumBeforeUpdate","toolId","onGetTool","freeTitle","freeMessage","paidTitle","paidMessage","updateMessage","renewSubscription","isFreemium","setDownloadType","downloadTypeError","setDownloadTypeError","docRules","setDocRules","useFrontbacked","autoProcessOn","setAutoProcessOn","permission","setPermission","permissions","perms","tool","allow_freemium","create_price","update_price","create_price_is_monthly","yearly_price","quarterly_price","is_create","is_freemium","cost","okResult","subscription_type","updatePrice","desc","randTransactionKey","saveToStoreFrame","storageType","iframe","getElementById","transactionKey","contentWindow","postMessage","getFromStoreFrame","saveToStoreFrameCookie","saveToStoreFrameLocalStorage","saveToStoreFrameSessionStorage","getFromStoreFrameCookie","getFromStoreFrameLocalStorage","getFromStoreFrameSessionStorage","PaymentRequest","payAddr","setPayAddr","updatingAddr","setUpdatingAddr","showAccessDoor","setShowAccessDoor","afterRecentAuth","addr","toLocaleLowerCase","recentLogin","trim","FaTicketAlt","CreditTransfer","setRecipientEmail","recipientEmailError","setRecipientEmailError","amountError","setAmountError","sendingCredit","setSendingCredit","r","hasErrors","removeQueryString","queryString","urlObj","searchParams","arrayToMap","attr","keyParser","reduce","item","removeUpdateQueryString","rmUpdates","setR2Host","startsWith","parsedUrl","host","protocol","err","useTools","toolsCache","setData","setLoading","setError","toolsById","setToolsById","toolsByTemplatesUrl","setToolsByTemplatesUrl","toolsFetchPromise","tools","getTool","isActive","isHidden","siteLogoUrl","siteUrl","desktopVideoUrl","mobileVideoUrl","totalUpdates","lastUpdatedOn","previouslyUpdatedOn","SoftBakerContext","createContext","FrontbackedProvider","showAuth","setShowAuth","setSignInTitle","setSignUpTitle","showAccessTokenDoor","setShowAccessTokenDoor","walletTrackerDefaultDepositAmount","setWalletTrackerDefaultDepositAmount","dowloadTypeProps","setDowloadTypeProps","showPayFlow","payFlowInfo","setPayFlowInfo","showPaymentRequest","setShowPaymentRequest","showCreditTransfer","setShowCreditTransfer","_m","signOut","createDoc","docId","staticToolCollection","dynamicToolId","updateDoc","showWallet","getDownloadType","downloadTypeProps","minRefWithdrawal","resources","contact_link","group_link","group_links","parent_site_home","aff_pct","unconfirmedDepositsCount","Provider","min_deposit","min_vendor_deposit","useContext"],"mappings":"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"}